aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore4
-rw-r--r--.travis.yml23
-rw-r--r--.tx/config2
-rw-r--r--CHANGELOG.md811
-rw-r--r--README.md692
-rwxr-xr-xVagrantfile20
-rw-r--r--app.psgi9
-rwxr-xr-xbin/cpanm48
-rwxr-xr-xbin/fixmystreet.com/fixture179
-rwxr-xr-xbin/install-as-user6
-rwxr-xr-xbin/make_css17
-rwxr-xr-xbin/one-off-update-duplicates20
-rwxr-xr-xbin/oxfordshire/send-rdi-emails72
-rw-r--r--bin/site-specific-install.sh4
-rwxr-xr-xbin/switch-site35
-rwxr-xr-xbin/update-all-reports81
-rwxr-xr-xbin/update-schema73
-rwxr-xr-xbin/zurich/overdue-alert4
m---------commonlib0
-rw-r--r--conf/.gitignore2
-rw-r--r--conf/crontab-example6
-rw-r--r--conf/general.yml-example11
-rw-r--r--conf/httpd.conf-example4
-rw-r--r--conf/nginx.conf.example2
-rw-r--r--conf/packages2
-rw-r--r--conf/packages.generic2
-rw-r--r--cpanfile21
-rw-r--r--cpanfile.snapshot860
-rw-r--r--data/zurich/openlayers.zurich.cfg3
-rw-r--r--db/downgrade_0051---0050.sql36
-rw-r--r--db/downgrade_0052---0051.sql5
-rw-r--r--db/downgrade_0053---0052.sql5
-rw-r--r--db/downgrade_0054---0053.sql39
-rw-r--r--db/downgrade_0055---0054.sql6
-rw-r--r--db/fixture.sql (renamed from db/alert_types.sql)52
-rw-r--r--db/migrate_from_osgb36_to_wgs84.pl201
-rwxr-xr-xdb/rerun_dbic_loader.pl11
-rw-r--r--db/schema.sql79
-rw-r--r--db/schema_0051-inactive-contact-state.sql45
-rw-r--r--db/schema_0052-translation-table.sql13
-rw-r--r--db/schema_0053-add-report-extra-fields-table.sql11
-rw-r--r--db/schema_0054-add-state-table.sql51
-rw-r--r--db/schema_0055-add-default-to-reponsepriority.sql5
-rw-r--r--locale/FixMyStreet.po1344
-rw-r--r--locale/ar.UTF-8/LC_MESSAGES/FixMyStreet.po2166
-rw-r--r--locale/bg_BG.UTF-8/LC_MESSAGES/FixMyStreet.po1894
-rw-r--r--locale/ca_ES.UTF-8/LC_MESSAGES/FixMyStreet.po5060
-rw-r--r--locale/cs_CZ.UTF-8/LC_MESSAGES/FixMyStreet.po1926
-rw-r--r--locale/cy.UTF-8/LC_MESSAGES/FixMyStreet.po1857
-rw-r--r--locale/da_DK.UTF-8/LC_MESSAGES/FixMyStreet.po1915
-rw-r--r--locale/de_CH.UTF-8/LC_MESSAGES/FixMyStreet.po1918
-rw-r--r--locale/de_DE.UTF-8/LC_MESSAGES/FixMyStreet.po1948
-rw-r--r--locale/el_GR.UTF-8/LC_MESSAGES/FixMyStreet.po1959
-rw-r--r--locale/es.UTF-8/LC_MESSAGES/FixMyStreet.po1962
-rw-r--r--locale/es_DO.UTF-8/LC_MESSAGES/FixMyStreet.po1960
-rw-r--r--locale/fr_FR.UTF-8/LC_MESSAGES/FixMyStreet.po1979
-rw-r--r--locale/he_IL.UTF-8/LC_MESSAGES/FixMyStreet.po1690
-rw-r--r--locale/hr.UTF-8/LC_MESSAGES/FixMyStreet.po1845
-rw-r--r--locale/id_ID.UTF-8/LC_MESSAGES/FixMyStreet.po5237
-rw-r--r--locale/it.UTF-8/LC_MESSAGES/FixMyStreet.po1845
-rw-r--r--locale/lt_LT.UTF-8/LC_MESSAGES/FixMyStreet.po1818
-rw-r--r--locale/ms.UTF-8/LC_MESSAGES/FixMyStreet.po1872
-rw-r--r--locale/my_MM.UTF-8/LC_MESSAGES/FixMyStreet.po1850
-rw-r--r--locale/nb_NO.UTF-8/LC_MESSAGES/FixMyStreet.po2072
-rw-r--r--locale/nl_NL.UTF-8/LC_MESSAGES/FixMyStreet.po1884
-rw-r--r--locale/nn_NO.UTF-8/LC_MESSAGES/FixMyStreet.po1837
-rw-r--r--locale/pt.UTF-8/LC_MESSAGES/FixMyStreet.po1883
-rw-r--r--locale/ro_RO.UTF-8/LC_MESSAGES/FixMyStreet.po1755
-rw-r--r--locale/ru.UTF-8/LC_MESSAGES/FixMyStreet.po1985
-rw-r--r--locale/sq.UTF-8/LC_MESSAGES/FixMyStreet.po1965
-rw-r--r--locale/sr.UTF-8/LC_MESSAGES/FixMyStreet.po5211
-rw-r--r--locale/sv_SE.UTF-8/LC_MESSAGES/FixMyStreet.po2062
-rw-r--r--locale/tr_TR.UTF-8/LC_MESSAGES/FixMyStreet.po1896
-rw-r--r--locale/uk_UA.UTF-8/LC_MESSAGES/FixMyStreet.po2072
-rw-r--r--locale/zh.UTF-8/LC_MESSAGES/FixMyStreet.po1944
-rw-r--r--perllib/Catalyst/Plugin/Compress/Gzip.pm82
-rw-r--r--perllib/Catalyst/TraitFor/Model/DBIC/Schema/QueryLog/AdoptPlack.pm128
-rw-r--r--perllib/FixMyStreet.pm34
-rw-r--r--perllib/FixMyStreet/App.pm25
-rwxr-xr-xperllib/FixMyStreet/App/Controller/About.pm14
-rw-r--r--perllib/FixMyStreet/App/Controller/Admin.pm269
-rw-r--r--perllib/FixMyStreet/App/Controller/Admin/DefectTypes.pm8
-rw-r--r--perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm199
-rw-r--r--perllib/FixMyStreet/App/Controller/Admin/ReportExtraFields.pm55
-rw-r--r--perllib/FixMyStreet/App/Controller/Admin/ResponsePriorities.pm7
-rw-r--r--perllib/FixMyStreet/App/Controller/Admin/States.pm96
-rw-r--r--perllib/FixMyStreet/App/Controller/Around.pm129
-rw-r--r--perllib/FixMyStreet/App/Controller/Auth.pm22
-rw-r--r--perllib/FixMyStreet/App/Controller/Contact.pm28
-rw-r--r--perllib/FixMyStreet/App/Controller/Dashboard.pm22
-rw-r--r--perllib/FixMyStreet/App/Controller/JSON.pm7
-rw-r--r--perllib/FixMyStreet/App/Controller/Location.pm2
-rw-r--r--perllib/FixMyStreet/App/Controller/Moderate.pm29
-rw-r--r--perllib/FixMyStreet/App/Controller/My.pm51
-rw-r--r--perllib/FixMyStreet/App/Controller/Open311.pm9
-rw-r--r--perllib/FixMyStreet/App/Controller/Report.pm164
-rw-r--r--perllib/FixMyStreet/App/Controller/Report/New.pm85
-rw-r--r--perllib/FixMyStreet/App/Controller/Report/Update.pm43
-rw-r--r--perllib/FixMyStreet/App/Controller/Reports.pm96
-rw-r--r--perllib/FixMyStreet/App/Controller/Root.pm38
-rwxr-xr-xperllib/FixMyStreet/App/Controller/Rss.pm26
-rw-r--r--perllib/FixMyStreet/App/Model/DB.pm21
-rw-r--r--perllib/FixMyStreet/App/View/Web.pm7
-rw-r--r--perllib/FixMyStreet/Cobrand.pm4
-rw-r--r--perllib/FixMyStreet/Cobrand/Angus.pm8
-rw-r--r--perllib/FixMyStreet/Cobrand/Borsetshire.pm32
-rw-r--r--perllib/FixMyStreet/Cobrand/Bristol.pm4
-rw-r--r--perllib/FixMyStreet/Cobrand/Bromley.pm2
-rw-r--r--perllib/FixMyStreet/Cobrand/Default.pm117
-rw-r--r--perllib/FixMyStreet/Cobrand/EastHerts.pm4
-rw-r--r--perllib/FixMyStreet/Cobrand/FiksGataMi.pm4
-rw-r--r--perllib/FixMyStreet/Cobrand/FixMyStreet.pm2
-rw-r--r--perllib/FixMyStreet/Cobrand/FixaMinGata.pm4
-rw-r--r--perllib/FixMyStreet/Cobrand/Greenwich.pm2
-rw-r--r--perllib/FixMyStreet/Cobrand/Hart.pm2
-rw-r--r--perllib/FixMyStreet/Cobrand/Oxfordshire.pm33
-rw-r--r--perllib/FixMyStreet/Cobrand/Stevenage.pm2
-rw-r--r--perllib/FixMyStreet/Cobrand/UK.pm50
-rw-r--r--perllib/FixMyStreet/Cobrand/UKCouncils.pm32
-rw-r--r--perllib/FixMyStreet/Cobrand/Warwickshire.pm2
-rw-r--r--perllib/FixMyStreet/Cobrand/WestBerkshire.pm2
-rw-r--r--perllib/FixMyStreet/Cobrand/Whitelabel.pm13
-rw-r--r--perllib/FixMyStreet/Cobrand/Zurich.pm11
-rw-r--r--perllib/FixMyStreet/DB.pm17
-rw-r--r--perllib/FixMyStreet/DB/Factories.pm173
-rw-r--r--perllib/FixMyStreet/DB/Result/Body.pm34
-rw-r--r--perllib/FixMyStreet/DB/Result/Comment.pm113
-rw-r--r--perllib/FixMyStreet/DB/Result/Contact.pm36
-rw-r--r--perllib/FixMyStreet/DB/Result/ContactsHistory.pm10
-rw-r--r--perllib/FixMyStreet/DB/Result/Problem.pm201
-rw-r--r--perllib/FixMyStreet/DB/Result/ReportExtraFields.pm45
-rw-r--r--perllib/FixMyStreet/DB/Result/ResponsePriority.pm6
-rw-r--r--perllib/FixMyStreet/DB/Result/State.pm48
-rw-r--r--perllib/FixMyStreet/DB/Result/Translation.pm44
-rw-r--r--perllib/FixMyStreet/DB/Result/User.pm43
-rw-r--r--perllib/FixMyStreet/DB/ResultSet/Body.pm11
-rw-r--r--perllib/FixMyStreet/DB/ResultSet/Contact.pm15
-rw-r--r--perllib/FixMyStreet/DB/ResultSet/DefectType.pm32
-rw-r--r--perllib/FixMyStreet/DB/ResultSet/ReportExtraFields.pm25
-rw-r--r--perllib/FixMyStreet/DB/ResultSet/ResponsePriority.pm24
-rw-r--r--perllib/FixMyStreet/DB/ResultSet/ResponseTemplate.pm27
-rw-r--r--perllib/FixMyStreet/DB/ResultSet/State.pm84
-rw-r--r--perllib/FixMyStreet/DB/ResultSet/UserPlannedReport.pm12
-rw-r--r--perllib/FixMyStreet/DB/Schema.pm32
-rw-r--r--perllib/FixMyStreet/Email/Sender.pm5
-rw-r--r--perllib/FixMyStreet/Integrations/ExorRDI.pm243
-rw-r--r--perllib/FixMyStreet/Roles/ContactExtra.pm48
-rw-r--r--perllib/FixMyStreet/Roles/Extra.pm16
-rw-r--r--perllib/FixMyStreet/Roles/Translatable.pm116
-rw-r--r--perllib/FixMyStreet/Script/Alerts.pm15
-rw-r--r--perllib/FixMyStreet/Script/Questionnaires.pm3
-rw-r--r--perllib/FixMyStreet/Script/Reports.pm2
-rwxr-xr-xperllib/FixMyStreet/Script/UpdateAllReports.pm274
-rw-r--r--perllib/FixMyStreet/SendReport/Angus.pm1
-rw-r--r--perllib/FixMyStreet/SendReport/EastHants.pm6
-rw-r--r--perllib/FixMyStreet/SendReport/Email.pm7
-rw-r--r--perllib/FixMyStreet/SendReport/Open311.pm3
-rw-r--r--perllib/FixMyStreet/Test.pm32
-rw-r--r--perllib/FixMyStreet/TestAppProve.pm24
-rw-r--r--perllib/FixMyStreet/TestMech.pm53
-rw-r--r--perllib/Open311.pm27
-rw-r--r--perllib/Open311/GetServiceRequestUpdates.pm7
-rw-r--r--perllib/Open311/PopulateServiceList.pm15
-rw-r--r--perllib/Plack/Middleware/Debug/FixMyStreet/Template.pm33
-rwxr-xr-xscript/bootstrap7
-rwxr-xr-xscript/console6
-rwxr-xr-xscript/server7
-rwxr-xr-xscript/setup7
-rwxr-xr-xscript/test6
-rwxr-xr-xscript/update9
-rw-r--r--t/Mock/Bing.pm37
-rw-r--r--t/Mock/MapIt.pm17
-rw-r--r--t/Mock/MapItZurich.pm4
-rw-r--r--t/app/controller/about.t31
-rw-r--r--t/app/controller/admin.t80
-rw-r--r--t/app/controller/admin_defecttypes.t193
-rw-r--r--t/app/controller/admin_permissions.t17
-rw-r--r--t/app/controller/admin_reportextrafields.t316
-rw-r--r--t/app/controller/admin_states.t24
-rw-r--r--t/app/controller/admin_translations.t191
-rw-r--r--t/app/controller/alert.t9
-rw-r--r--t/app/controller/alert_new.t88
-rw-r--r--t/app/controller/around.t4
-rw-r--r--t/app/controller/auth.t100
-rw-r--r--t/app/controller/auth_social.t4
-rw-r--r--t/app/controller/contact.t41
-rw-r--r--t/app/controller/council.t7
-rw-r--r--t/app/controller/dashboard.t64
-rw-r--r--t/app/controller/index.t8
-rw-r--r--t/app/controller/json.t7
-rw-r--r--t/app/controller/moderate.t27
-rw-r--r--t/app/controller/my.t59
-rw-r--r--t/app/controller/my_planned.t42
-rw-r--r--t/app/controller/open311.t5
-rw-r--r--t/app/controller/page_not_found.t11
-rw-r--r--t/app/controller/photo.t7
-rw-r--r--t/app/controller/questionnaire.t13
-rw-r--r--t/app/controller/report_as_other.t35
-rw-r--r--t/app/controller/report_display.t27
-rw-r--r--t/app/controller/report_import.t8
-rw-r--r--t/app/controller/report_inspect.t164
-rw-r--r--t/app/controller/report_interest_count.t8
-rw-r--r--t/app/controller/report_new.t87
-rw-r--r--t/app/controller/report_new_mobile.t2
-rw-r--r--t/app/controller/report_new_open311.t8
-rw-r--r--t/app/controller/report_updates.t188
-rw-r--r--t/app/controller/reports.t184
-rw-r--r--t/app/controller/root.t76
-rw-r--r--t/app/controller/rss.t6
-rw-r--r--t/app/controller/templates/about/homepage.html3
-rw-r--r--t/app/controller/token.t5
-rw-r--r--t/app/helpers/send_email.t10
-rw-r--r--t/app/load_general_config.t13
-rw-r--r--t/app/model/alert_type.t8
-rw-r--r--t/app/model/comment.t9
-rw-r--r--t/app/model/db.t5
-rw-r--r--t/app/model/defecttype.t80
-rw-r--r--t/app/model/extra.t56
-rw-r--r--t/app/model/moderation.t6
-rw-r--r--t/app/model/photoset.t11
-rw-r--r--t/app/model/problem.t30
-rw-r--r--t/app/model/questionnaire.t7
-rw-r--r--t/app/model/rabx_column.t5
-rw-r--r--t/app/model/responsepriority.t103
-rw-r--r--t/app/model/state.t83
-rw-r--r--t/app/model/token.t5
-rw-r--r--t/app/model/user.t35
-rw-r--r--t/app/model/user_planned_report.t15
-rw-r--r--t/app/script/archive_old_enquiries.t16
-rw-r--r--t/app/sendreport/angus.t7
-rw-r--r--t/app/sendreport/email.t12
-rw-r--r--t/app/sendreport/inspection_required.t24
-rw-r--r--t/app/sendreport/open311.t17
-rw-r--r--t/app/uri_for.t5
-rw-r--r--t/app/view/web.t2
-rw-r--r--t/cobrand/bristol.t44
-rw-r--r--t/cobrand/bromley.t13
-rw-r--r--t/cobrand/closest.t41
-rw-r--r--t/cobrand/councils.t4
-rw-r--r--t/cobrand/fixamingata.t9
-rw-r--r--t/cobrand/form_extras.t5
-rw-r--r--t/cobrand/get_body_sender.t10
-rw-r--r--t/cobrand/hart.t4
-rw-r--r--t/cobrand/loading.t4
-rw-r--r--t/cobrand/oxfordshire.t191
-rw-r--r--t/cobrand/restriction.t2
-rw-r--r--t/cobrand/two_tier.t10
-rw-r--r--t/cobrand/zurich.t32
-rw-r--r--t/email.t5
-rw-r--r--t/email/sender.t36
-rw-r--r--t/map/tilma/original.t10
-rw-r--r--t/open311.t12
-rw-r--r--t/open311/getservicerequestupdates.t176
-rw-r--r--t/open311/getupdates.t10
-rw-r--r--t/open311/populate-service-list.t46
-rw-r--r--t/roles/translatable.t77
-rw-r--r--t/sendreport/open311.t7
-rw-r--r--templates/email/default/_email_sidebar.html17
-rw-r--r--templates/email/default/other-updated.html2
-rw-r--r--templates/email/default/other-updated.txt2
-rw-r--r--templates/email/default/problem-confirm-not-sending.html2
-rw-r--r--templates/email/default/problem-confirm.html4
-rw-r--r--templates/email/default/problem-confirm.txt1
-rw-r--r--templates/email/default/questionnaire.html2
-rw-r--r--templates/email/default/submit-example.txt2
-rw-r--r--templates/email/fixamingata/_email_bottom.html17
-rw-r--r--templates/email/fixamingata/_email_color_overrides.html15
-rw-r--r--templates/email/fixamingata/_email_comment_list.html14
-rw-r--r--templates/email/fixamingata/_email_report_list.html19
-rw-r--r--templates/email/fixamingata/alert-confirm.html21
-rw-r--r--templates/email/fixamingata/alert-confirm.txt6
-rw-r--r--templates/email/fixamingata/alert-problem-area.html19
-rw-r--r--templates/email/fixamingata/alert-problem-council.html19
-rw-r--r--templates/email/fixamingata/alert-problem-nearby.html19
-rw-r--r--templates/email/fixamingata/alert-problem-nearby.txt2
-rw-r--r--templates/email/fixamingata/alert-problem-ward.html19
-rw-r--r--templates/email/fixamingata/alert-problem.html19
-rw-r--r--templates/email/fixamingata/alert-update.html25
-rw-r--r--templates/email/fixamingata/change_email.html21
-rw-r--r--templates/email/fixamingata/change_email.txt10
-rw-r--r--templates/email/fixamingata/confirm_report_sent.txt23
-rw-r--r--templates/email/fixamingata/contact.html38
-rw-r--r--templates/email/fixamingata/login.html21
-rw-r--r--templates/email/fixamingata/login.txt3
-rw-r--r--templates/email/fixamingata/other-reported.html30
-rw-r--r--templates/email/fixamingata/other-reported.txt26
-rw-r--r--templates/email/fixamingata/other-updated.html26
-rw-r--r--templates/email/fixamingata/other-updated.txt15
-rw-r--r--templates/email/fixamingata/problem-confirm-not-sending.html30
-rw-r--r--templates/email/fixamingata/problem-confirm-not-sending.txt22
-rw-r--r--templates/email/fixamingata/problem-confirm.html29
-rw-r--r--templates/email/fixamingata/problem-confirm.txt1
-rw-r--r--templates/email/fixamingata/problem-moderated.html32
-rw-r--r--templates/email/fixamingata/problem-moderated.txt33
-rw-r--r--templates/email/fixamingata/questionnaire.html30
-rw-r--r--templates/email/fixamingata/reply-autoresponse2
-rw-r--r--templates/email/fixamingata/submit.html57
-rw-r--r--templates/email/fixamingata/update-confirm-donotsend.txt2
-rw-r--r--templates/email/fixamingata/update-confirm.html29
-rw-r--r--templates/email/fixamingata/update-confirm.txt2
-rw-r--r--templates/email/fixmystreet.com/_submit_footer.html2
-rw-r--r--templates/email/fixmystreet.com/submit.txt2
-rw-r--r--templates/email/fixmystreet.com/update-confirm-donotsend.txt2
-rw-r--r--templates/email/oxfordshire/_problem-confirm_extra.html14
-rw-r--r--templates/email/oxfordshire/_problem-confirm_extra.txt12
-rw-r--r--templates/email/oxfordshire/archive.html6
-rw-r--r--templates/email/oxfordshire/archive.txt4
-rw-r--r--templates/email/oxfordshire/rdi.txt8
-rw-r--r--templates/web/angus/footer.html4
-rw-r--r--templates/web/angus/maps/fms.html2
-rw-r--r--templates/web/angus/post_header_extra.html4
-rwxr-xr-xtemplates/web/base/about/faq-en-gb.html1
-rw-r--r--templates/web/base/admin/_translations.html19
-rw-r--r--templates/web/base/admin/body-form.html2
-rw-r--r--templates/web/base/admin/body.html31
-rw-r--r--templates/web/base/admin/category_edit.html31
-rw-r--r--templates/web/base/admin/config_page.html3
-rw-r--r--templates/web/base/admin/contact-form.html41
-rw-r--r--templates/web/base/admin/council_contacts.txt4
-rw-r--r--templates/web/base/admin/defecttypes/list.html2
-rw-r--r--templates/web/base/admin/extra-metadata-form.html81
-rw-r--r--templates/web/base/admin/list_updates.html2
-rw-r--r--templates/web/base/admin/problem_row.html8
-rw-r--r--templates/web/base/admin/report-category.html8
-rw-r--r--templates/web/base/admin/report_blocks.html27
-rw-r--r--templates/web/base/admin/reportextrafields/edit.html68
-rw-r--r--templates/web/base/admin/reportextrafields/index.html26
-rw-r--r--templates/web/base/admin/responsepriorities/edit.html12
-rw-r--r--templates/web/base/admin/responsepriorities/list.html4
-rw-r--r--templates/web/base/admin/state_groups_select.html2
-rw-r--r--templates/web/base/admin/states/index.html118
-rw-r--r--templates/web/base/admin/stats.html2
-rw-r--r--templates/web/base/admin/stats_by_state.html2
-rw-r--r--templates/web/base/alert/_list.html125
-rw-r--r--templates/web/base/alert/index.html2
-rw-r--r--templates/web/base/around/postcode_form.html2
-rwxr-xr-xtemplates/web/base/around/tabbed_lists.html2
-rw-r--r--templates/web/base/auth/general.html2
-rw-r--r--templates/web/base/auth/sign_out.html2
-rw-r--r--templates/web/base/auth/token.html10
-rw-r--r--templates/web/base/common_footer_tags.html2
-rw-r--r--templates/web/base/common_header_tags.html10
-rw-r--r--templates/web/base/common_scripts.html8
-rw-r--r--templates/web/base/contact/blurb.html6
-rw-r--r--templates/web/base/contact/index.html8
-rw-r--r--templates/web/base/contact/submit.html2
-rw-r--r--templates/web/base/dashboard/index.html13
-rw-r--r--templates/web/base/email_sent.html2
-rw-r--r--templates/web/base/footer.html2
-rw-r--r--templates/web/base/front/footer-marketing.html27
-rw-r--r--templates/web/base/front/javascript.html4
-rw-r--r--templates/web/base/front/recent.html2
-rw-r--r--templates/web/base/front/stats.html2
-rw-r--r--templates/web/base/js/translation_strings.html5
-rw-r--r--templates/web/base/main_nav.html6
-rw-r--r--templates/web/base/main_nav_items.html2
-rw-r--r--templates/web/base/maps/bing.html2
-rw-r--r--templates/web/base/maps/fms.html2
-rw-r--r--templates/web/base/maps/google-ol.html2
-rw-r--r--templates/web/base/maps/mapquest-attribution.html2
-rw-r--r--templates/web/base/maps/openlayers.html7
-rw-r--r--templates/web/base/maps/osm-streetview.html2
-rw-r--r--templates/web/base/maps/osm-toner-lite.html2
-rw-r--r--templates/web/base/maps/osm.html2
-rw-r--r--templates/web/base/my/anonymize.html26
-rw-r--r--templates/web/base/my/my.html2
-rw-r--r--templates/web/base/open311/index.html4
-rw-r--r--templates/web/base/pagination.html2
-rw-r--r--templates/web/base/questionnaire/completed.html2
-rw-r--r--templates/web/base/questionnaire/index.html4
-rw-r--r--templates/web/base/report/_inspect.html66
-rw-r--r--templates/web/base/report/_item.html16
-rw-r--r--templates/web/base/report/_main.html4
-rw-r--r--templates/web/base/report/_report_meta_info.html3
-rw-r--r--templates/web/base/report/_state_select_field.html11
-rw-r--r--templates/web/base/report/banner.html6
-rw-r--r--templates/web/base/report/display_tools.html2
-rw-r--r--templates/web/base/report/duplicate-no-updates.html2
-rw-r--r--templates/web/base/report/inspect/state_groups_select.html21
-rw-r--r--templates/web/base/report/new/category.html8
-rw-r--r--templates/web/base/report/new/category_extras.html9
-rw-r--r--templates/web/base/report/new/category_extras_fields.html2
-rw-r--r--templates/web/base/report/new/category_wrapper.html4
-rw-r--r--templates/web/base/report/new/form_report.html2
-rw-r--r--templates/web/base/report/new/form_user_loggedin.html16
-rw-r--r--templates/web/base/report/photo-js.html4
-rw-r--r--templates/web/base/report/update-form.html2
-rw-r--r--templates/web/base/report/update.html11
-rw-r--r--templates/web/base/report/update/form_name.html6
-rw-r--r--templates/web/base/report/update/form_update.html16
-rw-r--r--templates/web/base/reports/_list-filters.html25
-rwxr-xr-xtemplates/web/base/reports/body.html21
-rwxr-xr-xtemplates/web/base/reports/index.html147
-rw-r--r--templates/web/base/status/stats.html6
-rw-r--r--templates/web/base/tokens/confirm_alert.html2
-rw-r--r--templates/web/base/tokens/confirm_problem.html1
-rw-r--r--templates/web/base/tokens/confirm_update.html6
-rw-r--r--templates/web/borsetshire/around/postcode_form.html26
-rw-r--r--templates/web/borsetshire/auth/_general_top.html28
-rw-r--r--templates/web/borsetshire/footer_extra_js.html5
-rw-r--r--templates/web/borsetshire/header_site.html20
-rw-r--r--templates/web/bristol/footer.html4
-rw-r--r--templates/web/bristol/footer_extra_js.html2
-rw-r--r--templates/web/bristol/header_logo.html2
-rw-r--r--templates/web/bristol/maps/bristol.html2
-rw-r--r--templates/web/bromley/footer.html4
-rw-r--r--templates/web/bromley/front/footer-marketing.html2
-rw-r--r--templates/web/bromley/maps/bromley.html2
-rw-r--r--templates/web/bromley/report/new/after_photo.html8
-rw-r--r--templates/web/bromley/report/update-form.html29
-rw-r--r--templates/web/eastherts/footer.html51
-rw-r--r--templates/web/eastherts/header_extra.html2
-rw-r--r--templates/web/eastherts/header_logo.html25
-rw-r--r--templates/web/eastherts/header_site.html114
-rw-r--r--templates/web/fiksgatami/footer.html2
-rw-r--r--templates/web/fiksgatami/nn/footer.html2
-rwxr-xr-xtemplates/web/fixamingata/about/faq-sv.html2
-rw-r--r--templates/web/fixamingata/footer.html12
-rw-r--r--templates/web/fixamingata/front/tips.html2
-rw-r--r--templates/web/fixamingata/header_opengraph_image.html2
-rw-r--r--templates/web/fixamingata/report/new/after_title.html8
-rw-r--r--templates/web/fixamingata/report/new/inline-tips.html1
-rw-r--r--templates/web/fixamingata/report/new/notes.html8
-rw-r--r--templates/web/fixamingata/report/new/sidebar.html5
-rw-r--r--templates/web/fixmystreet-uk-councils/footer_extra_js.html2
-rw-r--r--templates/web/fixmystreet.com/about/council.html280
-rwxr-xr-xtemplates/web/fixmystreet.com/about/faq-en-gb.html6
-rw-r--r--templates/web/fixmystreet.com/about/professional.html720
-rw-r--r--templates/web/fixmystreet.com/contact/blurb.html18
-rw-r--r--templates/web/fixmystreet.com/contact/who.html2
-rw-r--r--templates/web/fixmystreet.com/footer_extra.html8
-rw-r--r--templates/web/fixmystreet.com/footer_extra_js.html4
-rw-r--r--templates/web/fixmystreet.com/front/footer-marketing.html24
-rw-r--r--templates/web/fixmystreet.com/front/javascript.html4
-rw-r--r--templates/web/fixmystreet.com/next_steps.html24
-rw-r--r--templates/web/fixmystreet.com/questionnaire/completed-open.html2
-rw-r--r--templates/web/fixmystreet.com/report/_report_meta_info.html5
-rw-r--r--templates/web/fixmystreet.com/report/banner.html2
-rw-r--r--templates/web/fixmystreet.com/report/new/unresponsive_body.html2
-rw-r--r--templates/web/fixmystreet.com/report/updates-sidebar-notes.html2
-rwxr-xr-xtemplates/web/fixmystreet.com/reports/_extras.html31
-rw-r--r--templates/web/fixmystreet.com/static/unresponsive.html2
-rw-r--r--templates/web/greenwich/footer.html4
-rw-r--r--templates/web/greenwich/front/footer-marketing.html2
-rw-r--r--templates/web/greenwich/header_logo.html2
-rw-r--r--templates/web/hart/footer.html118
-rw-r--r--templates/web/oxfordshire/_email_sent_extra.html1
-rw-r--r--templates/web/oxfordshire/_response_time.html14
-rw-r--r--templates/web/oxfordshire/footer.html9
-rw-r--r--templates/web/oxfordshire/footer_extra_js.html3
-rwxr-xr-xtemplates/web/oxfordshire/front/_list-entry.html5
-rw-r--r--templates/web/oxfordshire/header.html8
-rw-r--r--templates/web/oxfordshire/report/_council_sent_info.html15
-rw-r--r--templates/web/oxfordshire/report/_inspect_extra_info.html8
-rw-r--r--templates/web/oxfordshire/report/inspect/state_groups_select.html21
-rw-r--r--templates/web/oxfordshire/tokens/_extras_confirm.html1
-rw-r--r--templates/web/stevenage/footer.html12
-rw-r--r--templates/web/warwickshire/header.html41
-rw-r--r--templates/web/whitelabel/footer_extra.html0
-rw-r--r--templates/web/whitelabel/front/footer-marketing.html0
-rw-r--r--templates/web/whitelabel/next_steps.html0
-rw-r--r--templates/web/zurich/admin/body.html2
-rw-r--r--templates/web/zurich/admin/contact-form.html10
-rw-r--r--templates/web/zurich/admin/index.html2
-rw-r--r--templates/web/zurich/admin/problem_row.html2
-rw-r--r--templates/web/zurich/admin/report_edit-sdm.html2
-rw-r--r--templates/web/zurich/admin/report_edit.html6
-rw-r--r--templates/web/zurich/footer.html4
-rw-r--r--templates/web/zurich/header.html2
-rw-r--r--templates/web/zurich/maps/zurich.html2
-rw-r--r--templates/web/zurich/report/_main.html2
-rwxr-xr-xtemplates/web/zurich/reports/index.html18
-rwxr-xr-xvendor/bin/carton17305
-rw-r--r--web/cobrands/angus/_colours.scss4
-rw-r--r--web/cobrands/angus/base.scss21
-rw-r--r--web/cobrands/angus/layout.scss79
-rw-r--r--web/cobrands/borsetshire/_colours.scss39
-rw-r--r--web/cobrands/borsetshire/_council-header.scss74
-rw-r--r--web/cobrands/borsetshire/base.scss24
-rw-r--r--web/cobrands/borsetshire/google_maps_style.js1
-rw-r--r--web/cobrands/borsetshire/images/site-logo-mobile.pngbin0 -> 2408 bytes
-rw-r--r--web/cobrands/borsetshire/images/site-logo-mobile.svg1
-rw-r--r--web/cobrands/borsetshire/images/site-logo-mobile@2x.pngbin0 -> 4795 bytes
-rw-r--r--web/cobrands/borsetshire/images/site-logo.pngbin0 -> 3650 bytes
-rw-r--r--web/cobrands/borsetshire/images/site-logo.svg1
-rw-r--r--web/cobrands/borsetshire/images/site-logo@2x.pngbin0 -> 7489 bytes
-rw-r--r--web/cobrands/borsetshire/images/street.jpgbin0 -> 89795 bytes
-rw-r--r--web/cobrands/borsetshire/js.js26
-rw-r--r--web/cobrands/borsetshire/layout.scss48
-rw-r--r--web/cobrands/bristol/_colours.scss4
-rw-r--r--web/cobrands/bristol/base.scss8
-rw-r--r--web/cobrands/bristol/layout.scss64
-rw-r--r--web/cobrands/bromley/_colours.scss5
-rw-r--r--web/cobrands/bromley/base.scss49
-rw-r--r--web/cobrands/bromley/layout.scss50
-rw-r--r--web/cobrands/eastherts/_colours.scss22
-rw-r--r--web/cobrands/eastherts/base.scss104
-rw-r--r--web/cobrands/eastherts/layout.scss353
-rw-r--r--web/cobrands/fiksgatami/base.scss7
-rw-r--r--web/cobrands/fiksgatami/layout.scss33
-rw-r--r--web/cobrands/fixamingata/_colours.scss2
-rw-r--r--web/cobrands/fixamingata/base.scss7
-rw-r--r--web/cobrands/fixamingata/images/email-logo.gifbin0 -> 5087 bytes
-rw-r--r--web/cobrands/fixamingata/images/email-logo.svg85
-rw-r--r--web/cobrands/fixamingata/layout.scss30
-rw-r--r--web/cobrands/fixmystreet.com/_colours.scss4
-rw-r--r--web/cobrands/fixmystreet.com/base.scss22
-rw-r--r--web/cobrands/fixmystreet.com/fmsforcouncils.scss585
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/angus-logo.pngbin4730 -> 2177 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/authority.svg1
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/automated-instruction.svg1
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/barnet-logo.pngbin3863 -> 2246 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/boolean-no.svg1
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/boolean-yes.svg1
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/brand.svg1
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/bringyourown.svg17
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/bristol-logo.pngbin4655 -> 3070 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/bromley-logo.pngbin4200 -> 2640 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/control.svg12
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/customise.svg16
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/dashboard.svg1
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/device-mockup.pngbin250149 -> 267724 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/duplication.svg12
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/end-to-end.svg1
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/excellence.svg13
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/expand.svg17
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/fms-fc-logo.svg13
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/greenwich-logo.pngbin4396 -> 2892 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/hart-logo.pngbin4039 -> 2460 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/inspection.svg1
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/integrated.svg1
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/intelligent-routing.svg1
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/map-centric.svg1
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/minus.svg14
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/mobile-app.svg1
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/open-standards.svg1
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/oxfordshire-logo.pngbin4749 -> 3194 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/plus.svg15
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/process.svg17
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/reduce.svg12
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/responsive-web.svg1
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/screenshot-of-themes.jpgbin0 -> 48091 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/stevenage-logo.pngbin4651 -> 3058 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/syncronised.svg1
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/warwickshire-logo.pngbin7670 -> 5303 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/window-mockup.jpgbin121782 -> 87063 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/fms-for-councils/zurich-logo.pngbin6901 -> 2587 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/next-step-donate.pngbin0 -> 1034 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/tile-y-border.jpgbin1031 -> 0 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/tile-y.jpgbin35144 -> 44538 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/tile-y@2x.jpgbin0 -> 80215 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/tile.jpgbin21980 -> 16038 bytes
-rw-r--r--web/cobrands/fixmystreet.com/images/tile@2x.jpgbin0 -> 68278 bytes
-rw-r--r--web/cobrands/fixmystreet.com/js.js53
-rw-r--r--web/cobrands/fixmystreet.com/layout.scss155
-rw-r--r--web/cobrands/fixmystreet.com/posters/activist-pack.zipbin7982543 -> 8297420 bytes
-rw-r--r--web/cobrands/fixmystreet.com/posters/community-group-pack.zipbin9200902 -> 9381825 bytes
-rw-r--r--web/cobrands/fixmystreet.com/posters/schools-clubs-pack.zipbin5868903 -> 5761015 bytes
-rw-r--r--web/cobrands/fixmystreet.com/vendor/jquery.cookie.min.js (renamed from web/js/jquery.cookie.min.js)0
-rw-r--r--web/cobrands/fixmystreet/admin.js81
-rw-r--r--web/cobrands/fixmystreet/fixmystreet.js81
-rw-r--r--web/cobrands/fixmystreet/images/map-marker.pngbin0 -> 786 bytes
-rwxr-xr-xweb/cobrands/fixmystreet/images/map-marker.svg6
-rw-r--r--web/cobrands/fixmystreet/images/map-marker@2x.pngbin0 -> 925 bytes
-rw-r--r--web/cobrands/fixmystreet/map.js2
-rw-r--r--web/cobrands/fixmystreet/offline.js7
-rw-r--r--web/cobrands/fixmystreet/staff.js268
-rw-r--r--web/cobrands/greenwich/_colours.scss4
-rw-r--r--web/cobrands/greenwich/base.scss12
-rw-r--r--web/cobrands/greenwich/favicon.pngbin1298 -> 758 bytes
-rw-r--r--web/cobrands/greenwich/layout.scss42
-rw-r--r--web/cobrands/hart/_colours.scss7
-rw-r--r--web/cobrands/hart/base.scss23
-rw-r--r--web/cobrands/hart/chat.pngbin0 -> 5678 bytes
-rwxr-xr-xweb/cobrands/hart/facebook-logo.pngbin51475 -> 3259 bytes
-rw-r--r--web/cobrands/hart/hart.scss403
-rw-r--r--web/cobrands/hart/instagram-logo.pngbin0 -> 3716 bytes
-rw-r--r--web/cobrands/hart/layout.scss111
-rwxr-xr-xweb/cobrands/hart/twitter-logo.pngbin51429 -> 3973 bytes
-rw-r--r--web/cobrands/hart/youtube-logo.pngbin0 -> 3562 bytes
-rw-r--r--web/cobrands/oxfordshire/_colours.scss5
-rw-r--r--web/cobrands/oxfordshire/_oxon.scss27
-rw-r--r--web/cobrands/oxfordshire/base.scss27
-rw-r--r--web/cobrands/oxfordshire/images/pin-green-big.pngbin0 -> 10557 bytes
-rw-r--r--web/cobrands/oxfordshire/images/pin-green-mini.pngbin0 -> 1307 bytes
-rw-r--r--web/cobrands/oxfordshire/images/pin-green-small.pngbin0 -> 2137 bytes
-rw-r--r--web/cobrands/oxfordshire/images/pin-green.pngbin0 -> 5233 bytes
-rw-r--r--web/cobrands/oxfordshire/images/pin-grey-big.pngbin0 -> 13399 bytes
-rw-r--r--web/cobrands/oxfordshire/images/pin-grey-mini.pngbin0 -> 1514 bytes
-rw-r--r--web/cobrands/oxfordshire/images/pin-grey-small.pngbin0 -> 2498 bytes
-rw-r--r--web/cobrands/oxfordshire/images/pin-grey.pngbin0 -> 6230 bytes
-rw-r--r--web/cobrands/oxfordshire/images/pin-orange-big.pngbin0 -> 10646 bytes
-rw-r--r--web/cobrands/oxfordshire/images/pin-orange-mini.pngbin0 -> 1353 bytes
-rw-r--r--web/cobrands/oxfordshire/images/pin-orange-small.pngbin0 -> 2563 bytes
-rw-r--r--web/cobrands/oxfordshire/images/pin-orange.pngbin0 -> 5747 bytes
-rw-r--r--web/cobrands/oxfordshire/images/pin-shadow-big.pngbin0 -> 641 bytes
-rw-r--r--web/cobrands/oxfordshire/images/pin-shadow-small.pngbin0 -> 288 bytes
-rw-r--r--web/cobrands/oxfordshire/images/pin-shadow.pngbin0 -> 478 bytes
-rw-r--r--web/cobrands/oxfordshire/images/pin-spot.pngbin0 -> 3901 bytes
-rw-r--r--web/cobrands/oxfordshire/images/pin-yellow-big.pngbin0 -> 6032 bytes
-rw-r--r--web/cobrands/oxfordshire/images/pin-yellow-mini.pngbin0 -> 988 bytes
-rw-r--r--web/cobrands/oxfordshire/images/pin-yellow-small.pngbin0 -> 1719 bytes
-rw-r--r--web/cobrands/oxfordshire/images/pin-yellow.pngbin0 -> 3508 bytes
-rw-r--r--web/cobrands/oxfordshire/images/tab-green.pngbin819 -> 610 bytes
-rw-r--r--web/cobrands/oxfordshire/js.js7
-rw-r--r--web/cobrands/oxfordshire/layout.scss50
-rw-r--r--web/cobrands/sass/_admin.scss38
-rw-r--r--web/cobrands/sass/_autocomplete.scss139
-rw-r--r--web/cobrands/sass/_base.scss258
-rw-r--r--web/cobrands/sass/_dashboard.scss213
-rw-r--r--web/cobrands/sass/_layout.scss421
-rw-r--r--web/cobrands/sass/_mixins.scss34
-rw-r--r--web/cobrands/sass/_report_list_pins.scss16
-rw-r--r--web/cobrands/stevenage/_colours.scss4
-rw-r--r--web/cobrands/stevenage/base.scss19
-rw-r--r--web/cobrands/stevenage/layout.scss90
-rw-r--r--web/cobrands/warwickshire/_colours.scss2
-rw-r--r--web/cobrands/warwickshire/base.scss19
-rw-r--r--web/cobrands/warwickshire/layout.scss83
-rw-r--r--web/cobrands/warwickshire/vendor/gamma/bootstrap-responsive.css (renamed from web/cobrands/warwickshire/gamma/bootstrap-responsive.css)0
-rw-r--r--web/cobrands/warwickshire/vendor/gamma/bootstrap.min.js (renamed from web/cobrands/warwickshire/gamma/bootstrap.min.js)0
-rw-r--r--web/cobrands/warwickshire/vendor/gamma/images/favicon.ico (renamed from web/cobrands/warwickshire/gamma/images/favicon.ico)bin1406 -> 1406 bytes
-rw-r--r--web/cobrands/warwickshire/vendor/gamma/images/icon-flickr.png (renamed from web/cobrands/warwickshire/gamma/images/icon-flickr.png)bin554 -> 554 bytes
-rw-r--r--web/cobrands/warwickshire/vendor/gamma/images/icon-twitter.png (renamed from web/cobrands/warwickshire/gamma/images/icon-twitter.png)bin528 -> 528 bytes
-rw-r--r--web/cobrands/warwickshire/vendor/gamma/images/icon-youtube.png (renamed from web/cobrands/warwickshire/gamma/images/icon-youtube.png)bin685 -> 685 bytes
-rw-r--r--web/cobrands/warwickshire/vendor/gamma/jquery-1.9.0.min.js (renamed from web/cobrands/warwickshire/gamma/jquery-1.9.0.min.js)0
-rw-r--r--web/cobrands/warwickshire/vendor/gamma/main.js (renamed from web/cobrands/warwickshire/gamma/main.js)0
-rw-r--r--web/cobrands/warwickshire/vendor/gamma/modernizr-2.6.2-respond-1.1.0.min.js (renamed from web/cobrands/warwickshire/gamma/modernizr-2.6.2-respond-1.1.0.min.js)0
-rw-r--r--web/cobrands/warwickshire/vendor/gamma/style.css (renamed from web/cobrands/warwickshire/gamma/style.css)0
-rw-r--r--web/cobrands/whitelabel/_colours.scss30
-rw-r--r--web/cobrands/whitelabel/base.scss4
-rw-r--r--web/cobrands/whitelabel/layout.scss14
-rw-r--r--web/cobrands/zurich/_colours.scss3
-rw-r--r--web/cobrands/zurich/_zurich.scss8
-rw-r--r--web/cobrands/zurich/base.scss9
-rw-r--r--web/cobrands/zurich/layout.scss132
-rw-r--r--web/down.default.html102
-rw-r--r--web/i/pin-green-big.pngbin4305 -> 10726 bytes
-rw-r--r--web/i/pin-green-mini.pngbin577 -> 1260 bytes
-rw-r--r--web/i/pin-green-small.pngbin1141 -> 2177 bytes
-rw-r--r--web/i/pin-green.pngbin2191 -> 5297 bytes
-rw-r--r--web/i/pin-grey-big.pngbin5063 -> 13681 bytes
-rw-r--r--web/i/pin-grey-mini.pngbin611 -> 1490 bytes
-rw-r--r--web/i/pin-grey-small.pngbin875 -> 2493 bytes
-rw-r--r--web/i/pin-grey.pngbin3254 -> 6604 bytes
-rw-r--r--web/i/pin-orange-big.pngbin0 -> 8601 bytes
-rw-r--r--web/i/pin-orange-mini.pngbin0 -> 1179 bytes
-rw-r--r--web/i/pin-orange-small.pngbin0 -> 1899 bytes
-rw-r--r--web/i/pin-orange.pngbin0 -> 4410 bytes
-rw-r--r--web/i/pin-red-big.pngbin5002 -> 13205 bytes
-rw-r--r--web/i/pin-red-mini.pngbin633 -> 1436 bytes
-rw-r--r--web/i/pin-red-small.pngbin1148 -> 2476 bytes
-rw-r--r--web/i/pin-red.pngbin2494 -> 6305 bytes
-rw-r--r--web/i/pin-shadow-big.pngbin1202 -> 802 bytes
-rw-r--r--web/i/pin-shadow-small.pngbin521 -> 344 bytes
-rw-r--r--web/i/pin-shadow.pngbin720 -> 560 bytes
-rw-r--r--web/i/pin-spot.pngbin2399 -> 5791 bytes
-rw-r--r--web/i/pin-yellow-big.pngbin2867 -> 5513 bytes
-rw-r--r--web/i/pin-yellow-mini.pngbin509 -> 965 bytes
-rw-r--r--web/i/pin-yellow-small.pngbin877 -> 1576 bytes
-rw-r--r--web/i/pin-yellow.pngbin1522 -> 3224 bytes
-rw-r--r--web/js/OpenLayers.2.11.zurich.js1364
-rw-r--r--web/js/dashboard.js142
-rw-r--r--web/js/dropzone.js.patch70
-rw-r--r--web/js/dropzone.min.js61
-rw-r--r--web/js/jquery.multi-select.js6
-rw-r--r--web/js/jquery.placeholder.min.js2
-rw-r--r--web/js/map-OpenLayers.js153
-rw-r--r--web/js/map-google.js35
-rw-r--r--web/js/map-wmts-bristol.js9
-rw-r--r--web/js/map-wmts-zurich.js9
-rw-r--r--web/js/select2/LICENSE18
-rw-r--r--web/js/select2/bower.json8
-rwxr-xr-xweb/js/select2/release.sh73
-rw-r--r--web/js/select2/select2-bootstrap.css87
-rw-r--r--web/js/select2/select2-spinner.gifbin1849 -> 0 bytes
-rw-r--r--web/js/select2/select2.css615
-rw-r--r--web/js/select2/select2.jquery.json36
-rw-r--r--web/js/select2/select2.js3255
-rw-r--r--web/js/select2/select2.min.js22
-rw-r--r--web/js/select2/select2.pngbin613 -> 0 bytes
-rw-r--r--web/js/select2/select2_locale_ar.js17
-rw-r--r--web/js/select2/select2_locale_bg.js17
-rw-r--r--web/js/select2/select2_locale_ca.js17
-rw-r--r--web/js/select2/select2_locale_cs.js49
-rw-r--r--web/js/select2/select2_locale_da.js17
-rw-r--r--web/js/select2/select2_locale_de.js15
-rw-r--r--web/js/select2/select2_locale_el.js17
-rw-r--r--web/js/select2/select2_locale_en.js.template17
-rw-r--r--web/js/select2/select2_locale_es.js15
-rw-r--r--web/js/select2/select2_locale_et.js17
-rw-r--r--web/js/select2/select2_locale_eu.js43
-rw-r--r--web/js/select2/select2_locale_fa.js17
-rw-r--r--web/js/select2/select2_locale_fi.js28
-rw-r--r--web/js/select2/select2_locale_fr.js15
-rw-r--r--web/js/select2/select2_locale_gl.js43
-rw-r--r--web/js/select2/select2_locale_he.js17
-rw-r--r--web/js/select2/select2_locale_hr.js42
-rw-r--r--web/js/select2/select2_locale_hu.js15
-rw-r--r--web/js/select2/select2_locale_id.js17
-rw-r--r--web/js/select2/select2_locale_is.js16
-rw-r--r--web/js/select2/select2_locale_it.js15
-rw-r--r--web/js/select2/select2_locale_ja.js15
-rw-r--r--web/js/select2/select2_locale_ko.js17
-rw-r--r--web/js/select2/select2_locale_lt.js29
-rw-r--r--web/js/select2/select2_locale_lv.js16
-rw-r--r--web/js/select2/select2_locale_mk.js17
-rw-r--r--web/js/select2/select2_locale_ms.js17
-rw-r--r--web/js/select2/select2_locale_nl.js15
-rw-r--r--web/js/select2/select2_locale_no.js18
-rw-r--r--web/js/select2/select2_locale_pl.js37
-rw-r--r--web/js/select2/select2_locale_pt-BR.js15
-rw-r--r--web/js/select2/select2_locale_pt-PT.js15
-rw-r--r--web/js/select2/select2_locale_ro.js15
-rw-r--r--web/js/select2/select2_locale_ru.js15
-rw-r--r--web/js/select2/select2_locale_sk.js48
-rw-r--r--web/js/select2/select2_locale_sv.js17
-rw-r--r--web/js/select2/select2_locale_th.js17
-rw-r--r--web/js/select2/select2_locale_tr.js17
-rw-r--r--web/js/select2/select2_locale_ua.js17
-rw-r--r--web/js/select2/select2_locale_vi.js18
-rw-r--r--web/js/select2/select2_locale_zh-CN.js14
-rwxr-xr-xweb/js/select2/select2_locale_zh-TW.js14
-rw-r--r--web/js/select2/select2x2.pngbin845 -> 0 bytes
-rw-r--r--web/vendor/OpenLayers.Projection.OrdnanceSurvey.js (renamed from web/js/OpenLayers.Projection.OrdnanceSurvey.js)0
-rw-r--r--web/vendor/OpenLayers/OpenLayers.angus.js (renamed from web/js/OpenLayers/OpenLayers.angus.js)0
-rw-r--r--web/vendor/OpenLayers/OpenLayers.bristol.js (renamed from web/js/OpenLayers/OpenLayers.bristol.js)0
-rw-r--r--web/vendor/OpenLayers/OpenLayers.fixmystreet.js (renamed from web/js/OpenLayers/OpenLayers.fixmystreet.js)0
-rw-r--r--web/vendor/OpenLayers/OpenLayers.google.js (renamed from web/js/OpenLayers/OpenLayers.google.js)0
-rw-r--r--web/vendor/OpenLayers/OpenLayers.zurich.js620
-rw-r--r--web/vendor/OpenLayers/img/blank.gif (renamed from web/js/OpenLayers/img/blank.gif)bin42 -> 42 bytes
-rwxr-xr-xweb/vendor/OpenLayers/img/cloud-popup-relative.png (renamed from web/js/OpenLayers/img/cloud-popup-relative.png)bin4067 -> 4067 bytes
-rw-r--r--web/vendor/OpenLayers/img/drag-rectangle-off.png (renamed from web/js/OpenLayers/img/drag-rectangle-off.png)bin1024 -> 1024 bytes
-rw-r--r--web/vendor/OpenLayers/img/drag-rectangle-on.png (renamed from web/js/OpenLayers/img/drag-rectangle-on.png)bin1041 -> 1041 bytes
-rw-r--r--web/vendor/OpenLayers/img/east-mini.png (renamed from web/js/OpenLayers/img/east-mini.png)bin342 -> 342 bytes
-rw-r--r--web/vendor/OpenLayers/img/layer-switcher-maximize.png (renamed from web/js/OpenLayers/img/layer-switcher-maximize.png)bin405 -> 405 bytes
-rw-r--r--web/vendor/OpenLayers/img/layer-switcher-minimize.png (renamed from web/js/OpenLayers/img/layer-switcher-minimize.png)bin220 -> 220 bytes
-rw-r--r--web/vendor/OpenLayers/img/marker-blue.png (renamed from web/js/OpenLayers/img/marker-blue.png)bin758 -> 758 bytes
-rw-r--r--web/vendor/OpenLayers/img/marker-gold.png (renamed from web/js/OpenLayers/img/marker-gold.png)bin703 -> 703 bytes
-rw-r--r--web/vendor/OpenLayers/img/marker-green.png (renamed from web/js/OpenLayers/img/marker-green.png)bin753 -> 753 bytes
-rw-r--r--web/vendor/OpenLayers/img/marker.png (renamed from web/js/OpenLayers/img/marker.png)bin601 -> 601 bytes
-rw-r--r--web/vendor/OpenLayers/img/measuring-stick-off.png (renamed from web/js/OpenLayers/img/measuring-stick-off.png)bin3028 -> 3028 bytes
-rw-r--r--web/vendor/OpenLayers/img/measuring-stick-on.png (renamed from web/js/OpenLayers/img/measuring-stick-on.png)bin3725 -> 3725 bytes
-rw-r--r--web/vendor/OpenLayers/img/north-mini.png (renamed from web/js/OpenLayers/img/north-mini.png)bin378 -> 378 bytes
-rw-r--r--web/vendor/OpenLayers/img/panning-hand-off.png (renamed from web/js/OpenLayers/img/panning-hand-off.png)bin3511 -> 3511 bytes
-rw-r--r--web/vendor/OpenLayers/img/panning-hand-on.png (renamed from web/js/OpenLayers/img/panning-hand-on.png)bin3565 -> 3565 bytes
-rw-r--r--web/vendor/OpenLayers/img/slider.png (renamed from web/js/OpenLayers/img/slider.png)bin247 -> 247 bytes
-rw-r--r--web/vendor/OpenLayers/img/south-mini.png (renamed from web/js/OpenLayers/img/south-mini.png)bin373 -> 373 bytes
-rw-r--r--web/vendor/OpenLayers/img/west-mini.png (renamed from web/js/OpenLayers/img/west-mini.png)bin360 -> 360 bytes
-rw-r--r--web/vendor/OpenLayers/img/zoom-minus-mini.png (renamed from web/js/OpenLayers/img/zoom-minus-mini.png)bin291 -> 291 bytes
-rw-r--r--web/vendor/OpenLayers/img/zoom-plus-mini.png (renamed from web/js/OpenLayers/img/zoom-plus-mini.png)bin386 -> 386 bytes
-rw-r--r--web/vendor/OpenLayers/img/zoom-world-mini.png (renamed from web/js/OpenLayers/img/zoom-world-mini.png)bin882 -> 882 bytes
-rw-r--r--web/vendor/OpenLayers/img/zoombar.png (renamed from web/js/OpenLayers/img/zoombar.png)bin350 -> 350 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/google.css (renamed from web/js/OpenLayers/theme/default/google.css)0
-rw-r--r--web/vendor/OpenLayers/theme/default/google.tidy.css (renamed from web/js/OpenLayers/theme/default/google.tidy.css)0
-rw-r--r--web/vendor/OpenLayers/theme/default/img/add_point_off.png (renamed from web/js/OpenLayers/theme/default/img/add_point_off.png)bin1614 -> 1614 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/img/add_point_on.png (renamed from web/js/OpenLayers/theme/default/img/add_point_on.png)bin1464 -> 1464 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/img/blank.gif (renamed from web/js/OpenLayers/theme/default/img/blank.gif)bin42 -> 42 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/img/close.gif (renamed from web/js/OpenLayers/theme/default/img/close.gif)bin1078 -> 1078 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/img/drag-rectangle-off.png (renamed from web/js/OpenLayers/theme/default/img/drag-rectangle-off.png)bin1024 -> 1024 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/img/drag-rectangle-on.png (renamed from web/js/OpenLayers/theme/default/img/drag-rectangle-on.png)bin1041 -> 1041 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/img/draw_line_off.png (renamed from web/js/OpenLayers/theme/default/img/draw_line_off.png)bin1565 -> 1565 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/img/draw_line_on.png (renamed from web/js/OpenLayers/theme/default/img/draw_line_on.png)bin1396 -> 1396 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/img/draw_point_off.png (renamed from web/js/OpenLayers/theme/default/img/draw_point_off.png)bin1610 -> 1610 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/img/draw_point_on.png (renamed from web/js/OpenLayers/theme/default/img/draw_point_on.png)bin1458 -> 1458 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/img/draw_polygon_off.png (renamed from web/js/OpenLayers/theme/default/img/draw_polygon_off.png)bin1544 -> 1544 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/img/draw_polygon_on.png (renamed from web/js/OpenLayers/theme/default/img/draw_polygon_on.png)bin1405 -> 1405 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/img/editing_tool_bar.png (renamed from web/js/OpenLayers/theme/default/img/editing_tool_bar.png)bin2222 -> 2222 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/img/move_feature_off.png (renamed from web/js/OpenLayers/theme/default/img/move_feature_off.png)bin1541 -> 1541 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/img/move_feature_on.png (renamed from web/js/OpenLayers/theme/default/img/move_feature_on.png)bin1377 -> 1377 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/img/navigation_history.png (renamed from web/js/OpenLayers/theme/default/img/navigation_history.png)bin6628 -> 6628 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/img/overview_replacement.gif (renamed from web/js/OpenLayers/theme/default/img/overview_replacement.gif)bin79 -> 79 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/img/pan-panel-NOALPHA.png (renamed from web/js/OpenLayers/theme/default/img/pan-panel-NOALPHA.png)bin564 -> 564 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/img/pan-panel.png (renamed from web/js/OpenLayers/theme/default/img/pan-panel.png)bin814 -> 814 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/img/pan_off.png (renamed from web/js/OpenLayers/theme/default/img/pan_off.png)bin1696 -> 1696 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/img/pan_on.png (renamed from web/js/OpenLayers/theme/default/img/pan_on.png)bin1566 -> 1566 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/img/panning-hand-off.png (renamed from web/js/OpenLayers/theme/default/img/panning-hand-off.png)bin3511 -> 3511 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/img/panning-hand-on.png (renamed from web/js/OpenLayers/theme/default/img/panning-hand-on.png)bin3565 -> 3565 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/img/remove_point_off.png (renamed from web/js/OpenLayers/theme/default/img/remove_point_off.png)bin1612 -> 1612 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/img/remove_point_on.png (renamed from web/js/OpenLayers/theme/default/img/remove_point_on.png)bin1461 -> 1461 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/img/ruler.png (renamed from web/js/OpenLayers/theme/default/img/ruler.png)bin1211 -> 1211 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/img/save_features_off.png (renamed from web/js/OpenLayers/theme/default/img/save_features_off.png)bin354 -> 354 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/img/save_features_on.png (renamed from web/js/OpenLayers/theme/default/img/save_features_on.png)bin361 -> 361 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/img/view_next_off.png (renamed from web/js/OpenLayers/theme/default/img/view_next_off.png)bin1499 -> 1499 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/img/view_next_on.png (renamed from web/js/OpenLayers/theme/default/img/view_next_on.png)bin1686 -> 1686 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/img/view_previous_off.png (renamed from web/js/OpenLayers/theme/default/img/view_previous_off.png)bin1476 -> 1476 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/img/view_previous_on.png (renamed from web/js/OpenLayers/theme/default/img/view_previous_on.png)bin1592 -> 1592 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/img/zoom-panel-NOALPHA.png (renamed from web/js/OpenLayers/theme/default/img/zoom-panel-NOALPHA.png)bin1173 -> 1173 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/img/zoom-panel.png (renamed from web/js/OpenLayers/theme/default/img/zoom-panel.png)bin1285 -> 1285 bytes
-rw-r--r--web/vendor/OpenLayers/theme/default/style.css (renamed from web/js/OpenLayers/theme/default/style.css)0
-rw-r--r--web/vendor/OpenLayers/theme/default/style.mobile.css (renamed from web/js/OpenLayers/theme/default/style.mobile.css)0
-rw-r--r--web/vendor/OpenLayers/theme/default/style.mobile.tidy.css (renamed from web/js/OpenLayers/theme/default/style.mobile.tidy.css)0
-rw-r--r--web/vendor/OpenLayers/theme/default/style.tidy.css (renamed from web/js/OpenLayers/theme/default/style.tidy.css)0
-rw-r--r--web/vendor/accessible-autocomplete.min.js2
-rw-r--r--web/vendor/chart.min.js79
-rw-r--r--web/vendor/dropzone.min.js1
-rw-r--r--web/vendor/fancybox/blank.gif (renamed from web/js/fancybox/blank.gif)bin43 -> 43 bytes
-rw-r--r--web/vendor/fancybox/fancy_close.png (renamed from web/js/fancybox/fancy_close.png)bin1517 -> 1517 bytes
-rw-r--r--web/vendor/fancybox/fancy_loading.png (renamed from web/js/fancybox/fancy_loading.png)bin10195 -> 10195 bytes
-rw-r--r--web/vendor/fancybox/fancy_nav_left.png (renamed from web/js/fancybox/fancy_nav_left.png)bin1446 -> 1446 bytes
-rw-r--r--web/vendor/fancybox/fancy_nav_right.png (renamed from web/js/fancybox/fancy_nav_right.png)bin1454 -> 1454 bytes
-rw-r--r--web/vendor/fancybox/fancy_shadow_e.png (renamed from web/js/fancybox/fancy_shadow_e.png)bin107 -> 107 bytes
-rw-r--r--web/vendor/fancybox/fancy_shadow_n.png (renamed from web/js/fancybox/fancy_shadow_n.png)bin106 -> 106 bytes
-rw-r--r--web/vendor/fancybox/fancy_shadow_ne.png (renamed from web/js/fancybox/fancy_shadow_ne.png)bin347 -> 347 bytes
-rw-r--r--web/vendor/fancybox/fancy_shadow_nw.png (renamed from web/js/fancybox/fancy_shadow_nw.png)bin324 -> 324 bytes
-rw-r--r--web/vendor/fancybox/fancy_shadow_s.png (renamed from web/js/fancybox/fancy_shadow_s.png)bin111 -> 111 bytes
-rw-r--r--web/vendor/fancybox/fancy_shadow_se.png (renamed from web/js/fancybox/fancy_shadow_se.png)bin352 -> 352 bytes
-rw-r--r--web/vendor/fancybox/fancy_shadow_sw.png (renamed from web/js/fancybox/fancy_shadow_sw.png)bin340 -> 340 bytes
-rw-r--r--web/vendor/fancybox/fancy_shadow_w.png (renamed from web/js/fancybox/fancy_shadow_w.png)bin103 -> 103 bytes
-rw-r--r--web/vendor/fancybox/fancy_title_left.png (renamed from web/js/fancybox/fancy_title_left.png)bin503 -> 503 bytes
-rw-r--r--web/vendor/fancybox/fancy_title_main.png (renamed from web/js/fancybox/fancy_title_main.png)bin96 -> 96 bytes
-rw-r--r--web/vendor/fancybox/fancy_title_over.png (renamed from web/js/fancybox/fancy_title_over.png)bin70 -> 70 bytes
-rw-r--r--web/vendor/fancybox/fancy_title_right.png (renamed from web/js/fancybox/fancy_title_right.png)bin506 -> 506 bytes
-rw-r--r--web/vendor/fancybox/fancybox-x.png (renamed from web/js/fancybox/fancybox-x.png)bin203 -> 203 bytes
-rw-r--r--web/vendor/fancybox/fancybox-y.png (renamed from web/js/fancybox/fancybox-y.png)bin176 -> 176 bytes
-rw-r--r--web/vendor/fancybox/fancybox.png (renamed from web/js/fancybox/fancybox.png)bin15287 -> 15287 bytes
-rw-r--r--web/vendor/fancybox/jquery.easing-1.3.pack.js (renamed from web/js/fancybox/jquery.easing-1.3.pack.js)0
-rw-r--r--web/vendor/fancybox/jquery.fancybox-1.3.4.css (renamed from web/js/fancybox/jquery.fancybox-1.3.4.css)0
-rw-r--r--web/vendor/fancybox/jquery.fancybox-1.3.4.js (renamed from web/js/fancybox/jquery.fancybox-1.3.4.js)0
-rw-r--r--web/vendor/fancybox/jquery.fancybox-1.3.4.pack.js (renamed from web/js/fancybox/jquery.fancybox-1.3.4.pack.js)0
-rw-r--r--web/vendor/fancybox/jquery.mousewheel-3.0.4.pack.js (renamed from web/js/fancybox/jquery.mousewheel-3.0.4.pack.js)0
-rw-r--r--web/vendor/geo.min.js (renamed from web/js/geo.min.js)0
-rw-r--r--web/vendor/history.polyfill.min.js (renamed from web/js/history.polyfill.min.js)0
-rw-r--r--web/vendor/html5shiv.js (renamed from web/js/html5shiv.js)0
-rwxr-xr-xweb/vendor/jquery-ui/css/smoothness/images/animated-overlay.gif (renamed from web/js/jquery-ui/css/smoothness/images/animated-overlay.gif)bin1738 -> 1738 bytes
-rwxr-xr-xweb/vendor/jquery-ui/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png (renamed from web/js/jquery-ui/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png)bin212 -> 212 bytes
-rwxr-xr-xweb/vendor/jquery-ui/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png (renamed from web/js/jquery-ui/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png)bin208 -> 208 bytes
-rwxr-xr-xweb/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png (renamed from web/js/jquery-ui/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png)bin335 -> 335 bytes
-rwxr-xr-xweb/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png (renamed from web/js/jquery-ui/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png)bin207 -> 207 bytes
-rwxr-xr-xweb/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png (renamed from web/js/jquery-ui/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png)bin262 -> 262 bytes
-rwxr-xr-xweb/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png (renamed from web/js/jquery-ui/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png)bin262 -> 262 bytes
-rwxr-xr-xweb/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png (renamed from web/js/jquery-ui/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png)bin332 -> 332 bytes
-rwxr-xr-xweb/vendor/jquery-ui/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png (renamed from web/js/jquery-ui/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png)bin280 -> 280 bytes
-rwxr-xr-xweb/vendor/jquery-ui/css/smoothness/images/ui-icons_222222_256x240.png (renamed from web/js/jquery-ui/css/smoothness/images/ui-icons_222222_256x240.png)bin6922 -> 6922 bytes
-rwxr-xr-xweb/vendor/jquery-ui/css/smoothness/images/ui-icons_2e83ff_256x240.png (renamed from web/js/jquery-ui/css/smoothness/images/ui-icons_2e83ff_256x240.png)bin4549 -> 4549 bytes
-rwxr-xr-xweb/vendor/jquery-ui/css/smoothness/images/ui-icons_454545_256x240.png (renamed from web/js/jquery-ui/css/smoothness/images/ui-icons_454545_256x240.png)bin6992 -> 6992 bytes
-rwxr-xr-xweb/vendor/jquery-ui/css/smoothness/images/ui-icons_888888_256x240.png (renamed from web/js/jquery-ui/css/smoothness/images/ui-icons_888888_256x240.png)bin6999 -> 6999 bytes
-rwxr-xr-xweb/vendor/jquery-ui/css/smoothness/images/ui-icons_cd0a0a_256x240.png (renamed from web/js/jquery-ui/css/smoothness/images/ui-icons_cd0a0a_256x240.png)bin4549 -> 4549 bytes
-rwxr-xr-xweb/vendor/jquery-ui/css/smoothness/jquery-ui-1.10.3.custom.min.css (renamed from web/js/jquery-ui/css/smoothness/jquery-ui-1.10.3.custom.min.css)0
-rwxr-xr-xweb/vendor/jquery-ui/js/jquery-ui-1.10.3.custom.min.js (renamed from web/js/jquery-ui/js/jquery-ui-1.10.3.custom.min.js)0
-rw-r--r--web/vendor/jquery.validate.js (renamed from web/js/jquery.validate.js)0
-rw-r--r--web/vendor/jquery.validate.min.js (renamed from web/js/jquery.validate.min.js)0
-rw-r--r--web/vendor/modernizr.custom.js (renamed from web/js/modernizr.custom.js)0
-rw-r--r--web/vendor/yepnope.js (renamed from web/js/yepnope.js)0
844 files changed, 66982 insertions, 48357 deletions
diff --git a/.gitignore b/.gitignore
index fc1d063c6..2c2171260 100644
--- a/.gitignore
+++ b/.gitignore
@@ -47,3 +47,7 @@ gh_fixmycommunity
*[Ff]ix[Mm]indelo*
*[Dd]ans[Mm]on[Qq]wat*
*[Cc]uido[Mm]i[Cc]iudad*
+
+# Commercial
+/fixmystreet-commercial
+*[Gg]round[Cc]ontrol*
diff --git a/.travis.yml b/.travis.yml
index 8ff5732e3..13bbee380 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -14,8 +14,11 @@ language: perl
perl:
- "5.14" # wheezy, precise
- "5.18" # trusty
- - "5.20" # jessie, vivid, wily
- - "5.22" # stretch, xenial
+ - "5.20" # jessie
+ - "5.22" # xenial
+ - "5.24" # stretch, zesty
+# Params::Classify breaks in 5.26, and Lingua::EN::Tagger needs upgrading
+# - "5.26"
env:
global:
@@ -23,12 +26,22 @@ env:
- secure: "llgWNfR/8pH0HjYpg+xhVxuqTaLC0GGUugfuINiUap7JxzjCZ2rlryxCXA4BCM8GUHa9wlYKhrKCSx+DM3EHRE0cLei7LNxAK1JSXLj3NihFQhqnq64tjDwGCSA4l7mlqErA7DK4Dpmh+hBp5f680akITAInM92CbwQZxLDYaCU="
- secure: "qW+WCgAF68itADxcbcq+nCnKx3vf3GX73HMfjfbkFFUsYmIR+ZaJ9yQMnGJwxIpCHTWLAeqyx4KO8N8T3GmNdKYzIMZemOzp4ED29YC31QOQeq1CwNp2hD5sq/o47d2BzXWwMYNvNXfxz1K6r2c6EMPUtu8X3B8ExZq1RzSFdXs="
-before_install:
- - sudo locale-gen cy_GB.UTF-8 en_GB.UTF-8 nb_NO.UTF-8 de_CH.UTF-8 sv_SE.UTF-8
+sudo: false
+
+addons:
+ apt:
+ packages:
+ - gettext
+ - language-pack-de
+ - language-pack-nb
+
install:
- .travis/install
+ - 'if [ "$TRAVIS_PERL_VERSION" = "5.24" ]; then cpanm --quiet --notest https://github.com/mysociety/codecov-perl/tarball/cover-uncoverables; fi'
before_script:
- commonlib/bin/gettext-makemo FixMyStreet
-script: "bin/run-tests t"
+ - 'if [ "$TRAVIS_PERL_VERSION" = "5.24" ]; then export HARNESS_PERL_SWITCHES="-MDevel::Cover=+ignore,local/lib/perl5,commonlib,perllib/Catalyst,perllib/DBIx,perllib/Email,perllib/Template,^t"; fi'
+script: "script/test --jobs 3 t"
after_success:
- .travis/after_script
+ - 'if [ "$TRAVIS_PERL_VERSION" = "5.24" ]; then cover --report codecov; fi'
diff --git a/.tx/config b/.tx/config
index ee63ffc4c..f3e1f0d23 100644
--- a/.tx/config
+++ b/.tx/config
@@ -2,7 +2,7 @@
host = https://www.transifex.com
type = PO
-[fixmystreet.v2-0]
+[fixmystreet.v2-2]
file_filter = locale/<lang>.UTF-8/LC_MESSAGES/FixMyStreet.po
source_file = locale/FixMyStreet.po
source_lang = en_GB
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 000000000..176f52460
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,811 @@
+## Releases
+
+* Unreleased
+
+* v2.2 (13th September 2017)
+ - New features:
+ - Body and category names can now be translated in the admin. #1244
+ - Report states can be edited and translated in the admin. #1826
+ - Extra fields can be added to the report form site-wide. #1743
+ - Staff users can now create reports as an anonymous user. #1796
+ - Staff users can filter reports by all states. #1790
+ - `LOGIN_REQUIRED` config key to limit site access to logged-in users.
+ - `SIGNUPS_DISABLED` config key to prevent new user registrations.
+ - Front end improvements:
+ - Always show pagination figures even if only one page. #1787
+ - Report pages list more updates to a report. #1806
+ - Clearer wording and more prominent email input on alert page. #1829
+ - Cobrands can implement `hide_areas_on_reports` to hide outline on map.
+ - Templates to allow extra messages through problem confirmation. #1837
+ - Admin improvements:
+ - Highlight current shortlisted user in list tooltip. #1788
+ - Extra fields on contacts can be edited. #1743
+ - Clearer highlight for selected duplicate on inspect form. #1798
+ - Include MapIt API key on admin config page. #1778
+ - Redirect to same map view after inspection. #1820
+ - A default response priority can now be set. #1838
+ - Dashboard CSV export includes Northing, Easting and Ward.
+ It also now orders fields by report confirmed time. #1832 #1835
+ - Bugfixes:
+ - Set up action scheduled field when report loaded. #1789
+ - Fix display of thumbnail images on page reload. #1815
+ - Fix sidebar hover behaviour being lost. #1808
+ - Stop errors from JS validator due to form in form.
+ - Stop update form toggle causing report submission.
+ - Update map size if an extra column has appeared.
+ - Improve performance of various pages. #1799
+ - Duplicate list not loading when phone number present. #1803
+ - Don't list multiple fixed states all as Fixed in dropdown. #1824
+ - Disable email field for logged in people. #1840
+ - Development improvements:
+ - Debug toolbar added. #1823
+ - `switch-site` script to automate switching config.yml files. #1741
+ - `make_css --watch` can run custom script after each compilation.
+ - Upgrade comonlib to get nicer MapIt error message.
+
+* v2.1.1 (3rd August 2017)
+ - Email improvements:
+ - Clicking on the map in an email links to the report #1596
+ - Admin improvements:
+ - Resend report if changing category changes send_method. #1772
+ - Do not replace deleted text with [...] when moderating. #1774
+ - Show reporter's phone number on inspector form. #1773
+ - Redirect to /around after inspecting a report.
+ - Bugfixes:
+ - Cache template paths in About.pm with lang_code. #1765
+ - Resize pin image before compositing onto static map.
+ - Development improvements:
+ - Use standard JavaScript translation for show/hide pins. #1752
+ - Allow update-schema to run on empty database. #1755
+ - Update MapIt URL to https in example webserver configs.
+ - Option to redirect to custom URL from Contact form.
+
+* v2.1 (8th July 2017)
+ - New features:
+ - Allow users to hide their name on reports/updates. #658
+ - New /reports page. #1630 #1726 #1753
+ - Front end improvements:
+ - Resize photos client-side before uploading. #1734
+ - CSS header/content/navigation refactoring/simplification. #1719 #1718
+ - Consolidate state dropdowns, make sure existing state is included. #1707
+ - Simplify `footer-marketing.html` for most cobrands. #1709
+ - Change the contact form Post button label to Send. #1750
+ - Add an optional phone field to the contact form. #1750
+ - Double resolution pin icons in core. #1713
+ - Admin improvements:
+ - Don't resend if category change subsets body. #1725
+ - Fix styling of 'remove from site' button. #1700
+ - Add inactive state to categories. #1757
+ - Inspect form:
+ - Make more visually distinct, better on medium screens. #1700 #1701
+ - Populate defect types dropdown on category change. #1698
+ - Update templates when category/state changed. #1729
+ - Fix bug when switching state to duplicate and back. #1729
+ - Don't preselect inspector template on page load. #1747
+ - Allow inspectors to shortlist all reports in view. #1652
+ - Subscribe inspectors to updates when state changes. #1694
+ - Streamline new reports for inspectors. #1636
+ - Bugfixes:
+ - Make three strings translatable. #1744 #1735
+ - Reinstate geolocation on alert page. #1726
+ - Fix clickable spaces on inspect form/ward page. #1724
+ - Make sure segmented control input not offscreen. #1749
+ - Remove superfluous quote in HTML script element. #1705
+ - Add missing closing </dl> to base FAQ.
+ - Development improvements:
+ - Allow static home page template override. #1745
+ - Add Debian stretch/perl 5.24 support. #1746
+ - Add scripts to rule them all. #1740
+ - Update submodule on any Vagrant provisioning. #1702
+ - Fix imbalanced paragraph tags in glossary. #1737
+ - Spot badly configured SMTP type. #1758.
+ - Add MAPIT_API_KEY support
+ - Hooks:
+ - Add hook for post-title field content in report form. #1735
+ - Add hook so cobrands can change pin hover title. #1713
+ - Allow cobrands to define pin colour for new reports. #1713
+ - Testing:
+ - Run each test file in a transaction. #1721
+ - Test script should run 't' when other args given. #1721
+ - Auto-add strict/warnings/Test::More with TestMech. #1554
+ - Fix test that would not run offline. #1712
+ - Fix timing edge case test failure.
+ - Backwards incompatible changes:
+ - The `nav-wrapper-2` class has been removed. If you have a
+ custom footer template, replace that class with 'container'. #1718
+ - The `/reports` page now uses different generated data. If you
+ have a custom `reports/index.html` template, you may need to
+ call `update-all-reports` with the `--table` argument.
+ - Internal things:
+ - Move third party libraries into vendor directories. #1704
+ - Stop using sudo on Travis, improve locale support. #1712
+ - Add CodeCov coverage testing. #1759
+ - UK:
+ - Add fixture script. #1720
+ - Add Borsetshire demo cobrand. #1717
+ - Remove requirement for fixed body IDs. #1721
+ - Show all pins on two-tier councils only. #1733
+ - Stop nearest request with scientific notation. #1695
+
+* v2.0.4 (13th April 2017)
+ - Front end improvements:
+ - On /reports maps, only include reports in view. #1689
+ - Admin improvements:
+ - Allow comma-separated contact emails in the admin. #1683
+ - Bugfixes:
+ - Upgrade Facebook 3rd party library to fix Facebook login. #1681
+ - Don't error when devolved body, blank send methods. #1374
+ - Fix issue with categories with regex characters. #1688
+
+* v2.0.3 (31st March 2017)
+ - Front end improvements:
+ - Add ability to make map full screen on mobile report pages. #1655
+ - Move staff-only JavaScript to separate file. #1666
+ - Show loading indicator when loading pins. #1669
+ - Allow users to reopen closed reports. #1607
+ - Admin improvements:
+ - Redirect to category-filtered /reports on login if present. #1622
+ - Follow redirect to /admin after login if allowed. #1622
+ - Include /admin link on top-level nav for admin users.
+ - Add shortlist filters. #1629
+ - Add submit buttons to admin index search forms. #1551
+ - Store user object when deleting report. #1661
+ - Use name at time of moderation, include superusers. #1660
+ - Add customisable defect types. #1674
+ - Bugfixes:
+ - Fix crash on reports with empty `bodies_str`. #1635
+ - Only output appcache/manifest for shortlist users. #1653
+ - Fix placeholder typo in French translation.
+ - Make sure report Ajax call is not cached by IE11. #1638
+ - Check cobrand users list when admin merging users. #1662
+ - Make sure emails are lowercased in admin. #1662
+ - Specify options in 'all' status filter. #1664
+ - Be clearer if no states selected is not all states. #1664
+ - Set up correct environment in cobrand PO script. #1616
+ - Allow superuser to leave update when inspecting. #1640
+ - Remove duplicate <> around envelope senders. #1663
+ - Fix invisible segmented controls in old Webkit. #1670
+ - Remove superfluous lists from Open311 JSON output. #1672
+ - Upgrade to using Email::Sender. #1639
+ - Fix bug if test run c. 55 hours before BST starts.
+ - Use lat/lon on inspection form if no local coordinates. #1676
+ - Improve translatability of various pages.
+ - Development improvements:
+ - Send open reports regardless of current state. #1334
+ - Clarify ‘inspected’ behaviour. #1614
+ - Reduce disk stats. #1647
+ - Refactor main navigation into reusable blocks.
+ - Add Problem->time_ago for pretty-printed duration.
+ - Add `external_id` field to ResponsePriority.
+ - Forward on all bounces as bounces.
+ - Use sender in From if From and To domains match. #1651
+ - Refactor SendReport::Open311 to use cobrand hooks. #792
+ - Do upload_dir check on start up, not each report. #1668
+ - Make sure all tests can run offline. #1675
+ - Add ability to override Google Maps road style. #1676
+
+* v2.0.2 (3rd February 2017)
+ - Front end changes:
+ - Add an offline fallback page with appcache. #1588
+ - Improve print layout for report list pages. #1548
+ - Rename ‘unable to fix’ as ‘no further action’.
+ - Bugfixes:
+ - Mark two missing strings for translation. #1604
+ - Make sure email is lowercase when signing in. #1623
+ - Make sure language included in calls to base_url_for_report. #1617
+ - Small CSS homepage fixes.
+ - Admin:
+ - Fix filtering on shortlist page. #1620
+ - Fix 'save with public update' toggle. #1615
+ - Admin improvements:
+ - Add offline report inspection for inspectors. #1588 #1602 #1608
+ - Admin with appropriate permission can see body user who left
+ contribute_as_body report or update. #1601 #1603
+ - Include ‘Add user’ link on admin user search results page. #1606
+ - Redirect to new user after user creation/edit. #1606
+ - Redirect to shortlist after inspection if user has permission. #1612
+ - Allow response templates to be associated with a state, and default
+ to that template if report state changed to match. #1587
+ - Disable show name checkbox when reporting as someone else. #1597
+ - Show response priorities in report list items. #1582
+ - Shortlist add/remove icons in report lists and report page. #1582
+ - Reordering shortlist buttons in report lists. #1582
+ - Default inspect form to save with public update.
+ - Drop unneeded Cancel button on inspect form.
+ - Use ‘*’ on admin page to signify superuser.
+ - Development improvements:
+ - Update has_body_permission_to to allow superusers. #1600
+ - Move staging flags to their own config variable. #1600
+ - Only warn of Open311 failure after a couple, in case it's transient.
+ - Only load user body permissions once per request.
+ - Return 400/500 for some client/server errors.
+ - Fix bad cross-year test.
+
+* v2.0.1 (16th December 2016)
+ - Bugfixes:
+ - Fix issue in dragging map in Chrome 55. openlayers/ol2#1510
+ - Don't double-decode strftime output, to fix date/time display.
+ - Filter category should always carry through to form.
+ - Don't fix height of admin multiple selects. #1589
+ - Admin improvements:
+ - Add duplicate management to inspector view. #1581
+ - Open inspect Navigate link in new tab. #1583
+ - Scroll to report inspect form if present. #1583
+ - Update problem lastupdate column on inspect save. #1584
+ - Update priorities in inspect form on category change. #1590
+ - Development improvements:
+ - Pass test if NXDOMAINs are intercepted.
+ - Better path for showing config git version. #1586
+
+* v2.0 (15th November 2016)
+ - Front end improvements:
+ - Add HTML emails. #1281 #1103
+ - Stop map being underneath content sidebar/header. #1350 #361
+ - Use Ajax/HTML5 history to pull in reports and improve map views.
+ #1351 #1450 #1457 #1173
+ - Allow multiple states and categories to be filtered. #1547
+ - Add sort order options to list pages. #308
+ - Invert area highlight on body pages. #1564
+ - Allow users to change their own email. #360 #1440
+ - Improve change password form/success page. #1503
+ - Allow scroll wheel to zoom map. #1326
+ - Rename "Your reports" in main navigation to "Your account".
+ - Centre map on pin location when creating a report.
+ - Zoom into map after second click on marker.
+ - Maintain single newlines in text output. #306
+ - JavaScript performance improvements. #1490 #1491
+ - Allow searching for reports with ref: prefix in postcode field. #1495
+ - Improve report form, with public, private, category sections. #1528
+ - Only show relevant bodies after category selection.
+ - Add update form name validation. #1493 #503 #1526
+ - Add CORS header to RSS output. #1540
+ - Switch MapQuest to HTTPS. #1505
+ - Better 403/404 pages.
+ - Admin improvements:
+ - Greatly improve report edit page, including map. #1347
+ - Improve category edit form, and display extra data. #1557 #1524
+ - Hide confirmed column on body page if all categories confirmed. #1565
+ - Show any waiting reports on admin index page. #1382
+ - Allow user's phone number to be edited, and a report's category. #400
+ - Resend report if changing category changes body. #1560.
+ - Leave a public update if an admin changes a report's category. #1544
+ - New user system:
+ - /admin requires a user with the `is_superuser` flag. #1463
+ - `createsuperuser` command for creating superusers.
+ - Feature to create report as body/other user. #1473
+ - Add user permissions system. #1486
+ - Allow user to have an area assigned in admin. #1488
+ - Allow user to have categories assigned in admin. #1563
+ - Add inspector report detail view. #1470
+ - Add user shortlists. #1482
+ - Add response templates and priorities. #1500 #1517
+ - Add user reputation and trusted users. #1533
+ - Bugfixes:
+ - Front end:
+ - Fix photo preview display after submission. #1511
+ - Update list of TLDs for email checking. #1504
+ - Fix form validation issue with multiple IDs. #1513
+ - Don't show deleted bodies on /reports. #1545
+ - Stop using collapse filter in category template.
+ - Use default link zoom for all map types.
+ - Don't reload /reports or /my pages when filter updated.
+ - Don't show alert email box if signed in.
+ - Do not send alerts for hidden reports. #1461
+ - Admin:
+ - Fix contact editing of Open311 categories. #1535
+ - Show 'Remove from site' button based on report. #1508
+ - Improve moderation display and email. #855
+ - Fix invalid SQL being generated by moderation lookup. #1489
+ - Show user edit errors (e.g. blank name/email). #1510
+ - Disallow empty name when creating/editing bodies.
+ - Fix a crash on /admin/timeline.
+ - Development improvements:
+ - CSS:
+ - make_css: Add output style option.
+ - make_css: Follow symlinks.
+ - Remove some unused CSS, and simplify full-width. #1423
+ - Add generic .form-control and .btn classes.
+ - Open311:
+ - Tidy up/harden some handling. #1428
+ - Add config for request limit, default 1000. #1313
+ - Automatically spot co-ord/ID attributes. #1499
+ - Make sure passed coordinate is decimal.
+ - JavaScript:
+ - Use static validation_rules.js file. #1451
+ - Remove need to customise OpenLayers built script. #1448
+ - Refactor and tidy all the JavaScript. #913
+ - Prefer using an auto.min.js file if present/newer. #1491
+ - Testing:
+ - Speed up tests by stubbing out calls to Gaze.
+ - Tests can run multiple times simultaneously. #1477
+ - run-tests with no arguments runs all tests.
+ - Don’t cache geocoder results when STAGING_SITE is 1. #1447
+ - Make UPLOAD_DIR/GEO_CACHE relative to project root. #1474
+ - Change add_links from a function to a filter. #1487
+ - Optionally skip some cobrand restrictions. #1529
+ - Allow contact form recipient override and extra fields.
+ - Add server-side MapIt proxy.
+ - Vagrant installation improvements:
+ - Improve error handling.
+ - Don't add a symlink if it is to the same place.
+ - Backwards incompatible changes:
+ - Drop support for IE6. #1356
+ - UK
+ - Better handling of two-tier reports. #1381
+ - Allow limited admin access to body users on their own cobrands.
+ - Add Content-Security-Policy header.
+
+The Open311 adapter code has been moved to its own repository at
+<https://github.com/mysociety/open311-adapter>.
+
+* v1.8.4 (6th July 2016)
+ - Security:
+ - Fix XSS vulnerability in OpenGraph header and hide/all pins links.
+ - Front end improvements:
+ - Wrap emails better for differing screen sizes. #1393
+ - Fix annoying jump when "Get updates" drawer opened. #1425
+ - Improve auth flow taken when return key used. #1433
+ - Add and improve more CSRF tokens. #1433
+ - Remove default box-shadow. #1419
+ - Fix missing margin before reporting form email input. #1418
+ - Bugfixes:
+ - Redirect correctly if filter used without JavaScript. #1422
+ - Remove race condition when starting new report. #1434
+ - Fix a couple of display bugs in IE7. #1356
+ - Correctly orient preview images. #1378
+
+* v1.8.3 (3rd June 2016)
+ - Admin improvements
+ - Add search boxes to admin index page, and move stats. #1295
+ - Allow change of email in admin to existing entry. #1207
+ - Speed up photo removal. #1400
+ - Improve in-place moderation UI. #1388
+ - Front end improvements:
+ - Improve printing of report page in Firefox. #1394
+ - Fallback if request to Gaze fails. #1286
+ - Bugfixes:
+ - Fix non-working Google Maps layer. #1215
+ - Fix map tap sensitivity on some devices. #911 and openlayers/ol2#1418
+ - Fix lack of removal of cached update photos. #1405
+ - Handle reports/updates by logged in abuse entries.
+ - Fix size of grey chevrons.
+ - Development improvements:
+ - Massive speed increase to CSS compilation. #1414
+ - Use only one templating system for emails. #1410
+ - Move summary string function to template. #694
+ - Consolidate CSS clearfix handling. #1414
+ - Disable auto-CRLF conversion on git checkout.
+ - Support for Debian Jessie/Ubuntu Xenial.
+ - UK only
+ - Add standard mySociety footer. #1385
+
+* v1.8.2 (3rd May 2016)
+ - Security:
+ - Fix vulnerability in image upload that allowed external
+ command execution.
+ - New features
+ - Twitter social login. #1377
+ - PNG image upload support. #1302 #1361
+ - Front end improvements:
+ - Switch list item heading from h4 to h3. #1348
+ - Preserve category when clicking elsewhere on map.
+ - Optimize store logo PNGs.
+ - Admin improvements
+ - Default new category creation to confirmed. #1266
+ - Use better link to reports on admin body page.
+ - Bugfixes:
+ - Show right body user form value for fixed reports. #1369
+ - Cope with a '/' in body name slug. #574
+ - Ignore empty entries in the image upload IDs.
+ - Use transparent border in tips/change_location. #1380
+ - Development improvements:
+ - Allow cobrands to control front page number colours.
+ - Refactor email handling to use Email::MIME alone. #1366
+ - Improve testing on Mac OS X.
+ - Prevent dev sites auto-creating session.
+ - Display used send method in debug line.
+ - Remove unused cobrands. #1383
+ - Finally combine remaining base/fixmystreet templates.
+ - Don't warn on bad photo hashes.
+ - Skip fetched updates if they're out of date range. #1390
+ - Store Open311 error in report on failure. #1391
+
+* v1.8.1 (23rd March 2016)
+ - Front end improvements:
+ - Remember user's last anonymous state. #150
+ - Remove auto-scrolling of sidebar on pin hover. #1344
+ - Better multiple image display for reports/updates. #1325
+ - Improve accessibility of pretty radio buttons and photo inputs.
+ - Bugfixes:
+ - Make sure preview image doesn't hide error. #1361
+ - Don't double-decode geocoded addresses. #1359
+ - Ensure top of reporting form is shown. #787
+ - Other updates for Perl 5.20/5.22. #1358
+ - Development improvements:
+ - Add cobrand-specific custom reporting fields. #1352
+
+* v1.8 (2nd March 2016)
+ - New features:
+ - Facebook login. #1146
+ - Multiple photo upload support, with new UI. #190 #825 #1300
+ - Front end improvements:
+ - Pad internal update links so they are in view. #1308
+ - Move alert page "recent photos" out of sidebar. #1168
+ - Clearer relationship between map pins/list items. #1094
+ - Consistent styling for updates on /report and /my pages. #1312
+ - Stop a top banner overlapping header contents/improve CSS. #1306
+ - Improve design of some error pages.
+ - Performance improvements:
+ - Reduce memory usage. #1285
+ - Bugfixes:
+ - Default the Google map view to hybrid. #1293
+ - Prevent SVG chevron being stretched in Firefox. #1256
+ - Better display/internationalisation of numbers. #1297
+ - Fix cobrand restriction of My/Nearby. #1289
+ - If app user logged in, perform alert signup. #1321
+ - Spot media_url in Open311 GetServiceRequestUpdate. #1315
+ - Improve disabled input behaviour (no hover, ensure faded).
+ - Fix co-ordinate swapping bug in Google geocoder.
+ - Exclude update alerts from summary alert counts.
+ - Skip sending if any body marks it for skipping.
+ - Upgrade Net::SMTP::SSL to fix email sending issue.
+ - Development improvements:
+ - Add generic static route handler. #1235
+ - Store reports summary data by cobrand. #1290
+ - Better handling replies to bounce addresses. #85
+ - Combine more base/fixmystreet templates.
+ - Add OpenStreetMap URL to report email.
+ - Admin improvements:
+ - Don't allow blank email/name to be submitted. #1294
+ - Handle multiple photo rotation/removal in admin. #1300
+ - Fix typo in admin body form checked status.
+ - UK only
+ - Make sure front page error is visible. #1336
+ - Don't show app next step if used app. #1305
+ - House Rules. #890 #1311
+
+* v1.7.2 (6th July 2016)
+ - Security:
+ - Fix XSS vulnerability in OpenGraph header and hide/all pins links.
+
+* v1.7.1 (3rd May 2016)
+ - Security:
+ - Fix vulnerability in image upload that allowed external
+ command execution.
+
+* v1.7 (23rd October 2015)
+ - Front end improvements:
+ - Add right-to-left design option. #1209
+ - Add state/category filters to list pages. #1141
+ - Include last update time in around/my page lists. #1245
+ - Show report details more nicely on a questionnaire page. #1104
+ - Improve email confirmation page (now matches success pages). #577
+ - Update URL hash when mobile menu navigation clicked. #1211
+ - Add public status page showing stats and version. #1251
+ - Accessibility improvements to map pages. #1217
+ - New default OpenGraph image. #1184
+ - Turkish translation.
+ - Performance improvements:
+ - A number of database speed improvements. #1017
+ - Bugfixes:
+ - Translate report states in admin index. #1179
+ - Improve translation string on alert page. #348
+ - Fix location bug fetching category extras.
+ - Workaround DMARC problems. #1070
+ - Fix padding of alert form box. #1211
+ - Pin Google Maps API version to keep it working. #1215
+ - Upgrade Google geocoder to version 3. #1194
+ - Fix script running when CDPATH is set. #1250
+ - Fix retina image size on front page. #838
+ - Process update left as part of questionnaire, to catch empty ones. #1234
+ - Make sure explicit sign in button clicks are honoured. #1091
+ - Adjust email confirmation text when report not being sent. #1210
+ - Fix footer links in admin if behind a proxy. #1206
+ - Use base URL in a cobrand alert for a report without a body. #1198
+ - Fix potential graph script failure in perl 5.16+. #1262
+ - Development improvements:
+ - Error logging should now work consistently. #404
+ - CSS
+ - Streamline navigation menu CSS. #1191
+ - Streamline list item CSS. #1141
+ - make_css now follows symlinks. #1181
+ - Use a sass variable for hamburger menu. #1186
+ - Write progress of make_css_watch to terminal title. #1211
+ - Templates:
+ - Remove final hardcoded "FixMyStreet" from templates. #1205
+ - Combine a number of base/fixmystreet templates. #1245
+ - Installation:
+ - Make sure submodules are checked out by Vagrant. #1197
+ - Remove Module::Pluggable warning in newer perls. #1254
+ - Bundle carton to ease installation step. #1208
+ - Translation:
+ - Improve ease of running gettext-extract. #1202
+ - Add standard app.psgi file.
+ - Add link to volunteer tickets in README. #1259
+ - Use Modernizr to decide whether to show mobile map. #1192
+ - Prevent potential session cookie recursion. #1077
+ - Allow underscore in cobrand name/data. #1236
+ - Add a development URL to see check email pages. #1211
+
+* v1.6.3 (6th July 2016)
+ - Security:
+ - Fix XSS vulnerability in OpenGraph header and hide/all pins links.
+
+* v1.6.2 (3rd May 2016)
+ - Security:
+ - Fix vulnerability in image upload that allowed external
+ command execution.
+
+* v1.6.1 (31st July 2015)
+ - Bugfixes:
+ - Fix bug introduced in last release when setting multiple areas
+ for a body in the admin. #1158
+ - Don't have default "name >= 5 characters"/"must have space" checks,
+ as Latin-centric #805
+ - New features:
+ - Danish translation.
+ - Front end improvements:
+ - Fix “All Reports†table headers on scroll. #50
+ - Add time tooltips to All Reports table headings. #983
+ - Fix sidebar running over the footer on alerts page. #1168
+ - Admin improvements:
+ - Add mark as sent button. #601
+ - Add link to comment user ID from body form if present. #580
+ - Add MapIt links from body page/ report co-ordinates. #638
+ - Show any category extra data. #517 #920
+ - Mark users who have moderate permission. #990
+ - Allow editing of body external URL.
+ - List a report’s bodies more nicely.
+ - UK specific improvements:
+ - Explain gone Northern Ireland councils. #1151
+ - Better messaging for councils refusing messages. #968
+
+* v1.5.5 / v1.6 (10th July 2015)
+ - Security:
+ - Fix vulnerability in login email sending that could allow an account
+ to be hijacked by a third party.
+ - Time out email authentication tokens.
+ - Update dependency to fix issue with Unicode characters in passwords.
+ - New features:
+ - Chinese translation.
+ - Front end improvements:
+ - Add “Report†button in default mobile header. #931
+ - Use ‘hamburger’ menu icon in mobile header. #931
+ - Resize map pins based on zoom level. #1041
+ - Improve report meta information display. #1080
+ - Display message on body page when reports list is empty.
+ - Bugfixes:
+ - Fix issue with shrunken update photos. #424
+ - Fix typo in footer role="contentinfo".
+ - Default Google maps to satellite view. #1133
+ - Update Bing Maps parameter ID.
+ - Development improvements:
+ - Add ability for map pages to filter by category/state. #1134
+ (this is currently on a couple of cobrands, to add to base soon)
+ - Allow cobrands to specify ordering on all reports page.
+ - Use mocked Nominatim in tests to cope with bad connections.
+ - Add Extra role to ease use of the {extra} database field. #1018
+ - UK specific improvements:
+ - Add dog poop poster. #1028
+
+* v1.5.4 (25th February 2015)
+ - New features:
+ - Stamen toner-lite and Bing Maps tiles.
+ - Czech and part-done Lithuanian translations.
+ - Front end improvements:
+ - Nicer confirmation pages, with next steps template example. #972
+ - Always show report/update confirmation page, even if logged in. #1003
+ - Expire cached geolocations after a week. #684
+ - Bugfixes:
+ - Make sure all co-ordinates are stringified/truncated. #1009
+ - Correct "Open Street Map" to "OpenStreetMap". #1021
+ - Only create timezone objects once, at startup.
+ - Development improvements:
+ - Remove need to specify en-gb in LANGUAGES. #1015
+ - Mac installation improvements. #1014
+ - Make use of jhead and Math::BigInt::GMP optional. #1016
+ - Link from admin config page to MapIt. #1022
+ - Test URLs for confirmation pages.
+ - New configuration variable for setting up behind a secure proxy.
+ - UK specific improvements:
+ - Output easting/northing on one line. #997
+ - Output Irish easting/northing in Northern Ireland. #822
+
+* v1.5.3 (21st January 2015)
+ - New features:
+ - Satellite map toggle option on Google Maps view. #1002
+ - Greek translation.
+ - Bugfixes:
+ - Fix cron-based email to use configured SMTP settings. #988
+ - Update UNIX_USER variable on installation setup of crontab. #974
+ - Improve make_css finding of bundled compass when in symlink. #978
+ - Remove hard-coded site name from submit email template.
+ - Allow forked repository pull requests to run on Travis.
+ - Fix title of Privacy page, and other minor text fixes.
+ - CSS: add some bottom content padding and fix a tiny map links issue.
+ - Development improvements:
+ - Replace site_title cobrand function with site-name web template. #979
+ - Remove need for 'cron-wrapper' to run scripts. #852
+ - Rename 'test-wrapper' to 'run-tests'. #999
+ - Add client_max_body_size nginx config option. #995
+ - Tidy up bin directory and #! lines.
+ - Admin improvements:
+ - Add staging email warning on admin body pages if needed. #982
+ - Add admin navigation link to Configuration page. #1005
+ - Better URL for body category editing.
+
+* v1.5.2 (17th December 2014)
+ - Hide unneeded heading on default footer.
+ - Suppress 'Argument "" isn't numeric' warning on admin report edit page.
+ - [UK] Don't show topic form field when reporting abuse.
+ - Use token in moderation response URL to prevent hidden report leak.
+
+* v1.5.1 (12th December 2014)
+ - Bugfixes
+ - Use correct cobrand signature in SendReport emails. #960
+ - Fix double encoding of non-ASCII signature in emails. #961
+ - Use area-based alerts by default, as they function correctly. #959
+ - Set DefaultLocale appropriately when language set, for date display.
+ - Open311
+ - Better error if Open311 server returns a nil service list.
+ - Cope better with Open311 server not liking a blank jurisdiction_id.
+ - Installation/developer improvements:
+ - Add a script to use a test database for running tests. #786
+ - Make base FAQ more generic, move out UK-specific parts. #753 #935
+ - Provide guidance at top of example config file.
+ - Don't install open311-endpoint feature by default.
+
+* v1.5 (19th November 2014)
+ - Installation/developer improvements:
+ - Support for Ubuntu Trusty Tahr 14.04 LTS. #921
+ - Install bundler for more stable gem installation. #923
+ - Rewritten graph generation programs in Perl. #924
+ - Front end report moderation code. #809
+ - Admin improvements:
+ - Pagination of admin search results. #909
+ - Validation of category details. #556
+ - Removed overhang in body categories table. #738
+ - Add encouraging message about support. #929
+ - Tweak summary output on bodies page. #516
+ - Move diligency table to bottom of page. #739
+ - Front end:
+ - Map page sidebar now flush with edges of window. #381
+ - Simplify z-index usage, with other tidying. #673
+ - Filtering of All Reports by category in URL. #254
+ - More template generalisation, moving UK-specific stuff away. #344
+ - Bugfixes:
+ - Fixed JavaScript-disabled submission in Chrome/Firefox. #932
+ - Show logged in message as success, not error. #357
+ - Remove opacity from map controls on mobile.
+ - Escape category in RSS feeds.
+ - Internationalisation:
+ - Add Albanian, Bulgarian, Hebrew, and Ukranian .po files.
+
+* v1.4.2 (14th July 2014)
+ - Maintenance release to deal with failing package installation. #832
+ - User additions/improvements:
+ - New links from `/reports` to open/fixed reports. #798
+ - Better detection of signing in on `/auth` form. #816
+ - Installation/developer improvements:
+ - Allow SMTP username/password to be specified. #406
+ - Correct GitHub link in `Vagrantfile`.
+ - Error correctly if `cron-wrapper` fails to run.
+ - Rename `default` web templates directory to `base`.
+ - Move UK-specific text to separate templates. #344
+ - Upgrade bundled `cpanm`. #807
+
+* v1.4.1 (23rd May 2014)
+ - Don't run some cron scripts by default, and rejig timings, to alleviate
+ memory problems on EC2 micro instances. #640
+
+* v1.4 (16th May 2014)
+ - User improvements:
+ - Adds some guidance on an empty `/my` page. #671
+ - Auto-selects the category when reporting if there is only one. #690
+ - Stops indenting emails a few spaces. #715
+ - Email template updates. #700
+ - Installation/developer improvements:
+ - Makes it easier to change the pin icons. #721
+ - Sends reports on staging sites to the reporter. #653
+ - Adds a no-op send method to suspend report sending. #507
+ - Improves the example Apache config. #733
+ - Includes a nicer crontab example. #621
+ - New developer scripts:
+ - `make_css_watch`. #680
+ - `geocode`. #758
+ - Adds `external_url` field to Bodies. #710
+ - Reinstates Open311 original update fetching code. #710 #755
+ - Pins sass/compass versions. #585
+ - Adds new `MAPIT_GENERATION` variable. #784
+ - Bugfixes:
+ - Fixes MapQuest and OSM attribution. #710 #687
+ - Remove cached photos when deleted from admin.
+ - Tiny bugfixes processing Open311 updates. #677
+ - Correctly sets language in email alert loop. #542
+ - Cron emails use `EMAIL_DOMAIN` in Message-ID. #678
+ - Minor fixes for Debian wheezy.
+ - Graph display of fixed states.
+ - Slight CSS simplification. #609
+ - Internal things:
+ - Improves the robustness of Carton installation. #675
+ - Doubles the speed of running tests on Travis.
+
+* v1.3 (12th November 2013)
+ - Changes cobrand behaviour so if only one is specified, always use it. #598
+ - Allows multiple email addresses to be given for a contact.
+ - Bugfixes to pan icon placement, and bottom navbar in Chrome. #597
+ - Admin improvements
+ - Search by external ID. #389
+ - Date picker in stats. #514
+ - Mark external links. #579
+ - Fix for bug when changing report state from 'unconfirmed'. #527
+ - Improve lists of report updates.
+ - Add marking of bodies as deleted.
+ - Show version number of code on config page.
+ - Test suite runs regardless of config file contents. #596
+
+* v1.2.6 (11th October 2013)
+ - Upgrades OpenLayers to 2.13.1, for e.g. animated zooming.
+ - Adds facility for using Google Maps via OpenLayers. #587
+ - Swaps installation order of Perl modules/database, more robust. #573
+ - Renames default FakeMapIt "Default Area" to "Everywhere". #566
+ - Adds a "current configuration" admin page. #561
+
+* v1.2.5 (13th September 2013)
+ - Adds various useful hints and notices to the admin interface. #184
+ - Improves the install script, including an example `Vagrantfile`
+ - It is now easier for tests to override particular configuration
+ variables should they need to.
+
+* v1.2.4 (5th September 2013)
+ - A fix for the long-standing issue where multiline strings were not being
+ translated (reported at https://github.com/abw/Template2/pull/29 )
+ - Better translation strings for "marked as" updates, fixes #391
+ - Less noise when running the tests
+
+* v1.2.3 (2nd September 2013)
+ - Maintenance release to deal with failing installation
+ - Improves reuse of `make_css` and shared CSS
+ - Removes hardcoded UK URLs on a couple of admin error emails
+ - Marks a couple of strings missing translation
+ - Updates mapquest URLs
+
+* v1.2.2 (26th July 2013)
+ - Maintenance release to deal with failing installation
+ - Improves the Google Maps plugin somewhat, though still needs work
+
+* v1.2.1 (5th June 2013)
+ - Maintenance release to deal with failing carton installation
+ - Test and module fixes for installation on Debian wheezy
+ - Module fixes for running on Travis
+ - The install script adds gem environment variables to the user's .bashrc
+ so that `make_css` can be run directly after installation
+ - `make_css` automatically spots which cobrands use compass
+ - Adds some missing states to the admin report edit page
+
+* v1.2 (3rd May 2013)
+ - Adds `MAPIT_ID_WHITELIST` to allow easier use of global MapIt
+ - Adds postfix to the install script/ AMI so emailing works out of the box
+ - Adds an extra zoom level to the OSM maps
+ - Adds the Catalyst gzip plugin so HTML pages are gzipped
+ - Fixes an issue with the All Reports summary statistics not including some
+ open states, such as 'in progress'
+
+* v1.1.2 (15th March 2013)
+ - Includes the `cpanfile` now required by carton, the Perl package
+ management program we use.
+
+* v1.1.1 (22nd February 2013)
+ - Hotfix to fix missed iPhone width bug
+
+* v1.1 (22nd February 2013)
+ - Adds bodies, so that the organisations that reports are sent to can cover
+ multiple MapIt administrative areas, or multiple bodies can cover one
+ area, and other related scenarios
+ - Admin display improvements
+ - Internationalisation improvements, especially with text in JavaScript
+ - Various minor updates and fixes (e.g. a `--debug` option on `send-reports`,
+ and coping if MapIt has its debug switched on)
+
+* v1.0 (24th October 2012)
+ - Official launch of the FixMyStreet platform
diff --git a/README.md b/README.md
index b0958157b..662a09e09 100644
--- a/README.md
+++ b/README.md
@@ -14,7 +14,7 @@ RSS alerts of problems in their area.
It was created in 2007 by [mySociety](https://www.mysociety.org/) for reporting
problems to UK councils and has been copied around the world. The FixMyStreet
-Platform is now at version 2.0.4.
+Platform is now at version 2.2; see CHANGELOG.md for a version history.
## Installation
@@ -22,6 +22,11 @@ We've been working hard to make the FixMyStreet Platform easy to install and
re-use in other countries - please see our site at <http://fixmystreet.org/>
for help and documentation in installing the FixMyStreet Platform.
+For development, if you have Vagrant installed, you can clone the repo and run
+'vagrant up'. We use [Scripts to Rule Them All](https://githubengineering.com/scripts-to-rule-them-all/)
+so `script/update` will update your checkout, `script/server` will run a dev
+server, and `script/test` will run the tests.
+
## Contribution Guidelines
Whilst many contributions come as part of people setting up their own
@@ -43,691 +48,6 @@ We've extracted all of the mobile apps from this repository into the
Thanks to [Browserstack](https://www.browserstack.com/) who let us use their
web-based cross-browser testing tools for this project.
-## Releases
-
-* v2.0.4 (13th April 2017)
- - Front end improvements:
- - On /reports maps, only include reports in view. #1689
- - Admin improvements:
- - Allow comma-separated contact emails in the admin. #1683
- - Bugfixes:
- - Upgrade Facebook 3rd party library to fix Facebook login. #1681
- - Don't error when devolved body, blank send methods. #1374
- - Fix issue with categories with regex characters. #1688
-
-* v2.0.3 (31st March 2017)
- - Front end improvements:
- - Add ability to make map full screen on mobile report pages. #1655
- - Move staff-only JavaScript to separate file. #1666
- - Show loading indicator when loading pins. #1669
- - Allow users to reopen closed reports. #1607
- - Admin improvements:
- - Redirect to category-filtered /reports on login if present. #1622
- - Follow redirect to /admin after login if allowed. #1622
- - Include /admin link on top-level nav for admin users.
- - Add shortlist filters. #1629
- - Add submit buttons to admin index search forms. #1551
- - Store user object when deleting report. #1661
- - Use name at time of moderation, include superusers. #1660
- - Add customisable defect types. #1674
- - Bugfixes:
- - Fix crash on reports with empty `bodies_str`. #1635
- - Only output appcache/manifest for shortlist users. #1653
- - Fix placeholder typo in French translation.
- - Make sure report Ajax call is not cached by IE11. #1638
- - Check cobrand users list when admin merging users. #1662
- - Make sure emails are lowercased in admin. #1662
- - Specify options in 'all' status filter. #1664
- - Be clearer if no states selected is not all states. #1664
- - Set up correct environment in cobrand PO script. #1616
- - Allow superuser to leave update when inspecting. #1640
- - Remove duplicate <> around envelope senders. #1663
- - Fix invisible segmented controls in old Webkit. #1670
- - Remove superfluous lists from Open311 JSON output. #1672
- - Upgrade to using Email::Sender. #1639
- - Fix bug if test run c. 55 hours before BST starts.
- - Use lat/lon on inspection form if no local coordinates. #1676
- - Improve translatability of various pages.
- - Development improvements:
- - Send open reports regardless of current state. #1334
- - Clarify ‘inspected’ behaviour. #1614
- - Reduce disk stats. #1647
- - Refactor main navigation into reusable blocks.
- - Add Problem->time_ago for pretty-printed duration.
- - Add `external_id` field to ResponsePriority.
- - Forward on all bounces as bounces.
- - Use sender in From if From and To domains match. #1651
- - Refactor SendReport::Open311 to use cobrand hooks. #792
- - Do upload_dir check on start up, not each report. #1668
- - Make sure all tests can run offline. #1675
- - Add ability to override Google Maps road style. #1676
-
-* v2.0.2 (3rd February 2017)
- - Front end changes:
- - Add an offline fallback page with appcache. #1588
- - Improve print layout for report list pages. #1548
- - Rename ‘unable to fix’ as ‘no further action’.
- - Bugfixes:
- - Mark two missing strings for translation. #1604
- - Make sure email is lowercase when signing in. #1623
- - Make sure language included in calls to base_url_for_report. #1617
- - Small CSS homepage fixes.
- - Admin:
- - Fix filtering on shortlist page. #1620
- - Fix 'save with public update' toggle. #1615
- - Admin improvements:
- - Add offline report inspection for inspectors. #1588 #1602 #1608
- - Admin with appropriate permission can see body user who left
- contribute_as_body report or update. #1601 #1603
- - Include ‘Add user’ link on admin user search results page. #1606
- - Redirect to new user after user creation/edit. #1606
- - Redirect to shortlist after inspection if user has permission. #1612
- - Allow response templates to be associated with a state, and default
- to that template if report state changed to match. #1587
- - Disable show name checkbox when reporting as someone else. #1597
- - Show response priorities in report list items. #1582
- - Shortlist add/remove icons in report lists and report page. #1582
- - Reordering shortlist buttons in report lists. #1582
- - Default inspect form to save with public update.
- - Drop unneeded Cancel button on inspect form.
- - Use ‘*’ on admin page to signify superuser.
- - Development improvements:
- - Update has_body_permission_to to allow superusers. #1600
- - Move staging flags to their own config variable. #1600
- - Only warn of Open311 failure after a couple, in case it's transient.
- - Only load user body permissions once per request.
- - Return 400/500 for some client/server errors.
- - Fix bad cross-year test.
-
-* v2.0.1 (16th December 2016)
- - Bugfixes:
- - Fix issue in dragging map in Chrome 55. openlayers/ol2#1510
- - Don't double-decode strftime output, to fix date/time display.
- - Filter category should always carry through to form.
- - Don't fix height of admin multiple selects. #1589
- - Admin improvements:
- - Add duplicate management to inspector view. #1581
- - Open inspect Navigate link in new tab. #1583
- - Scroll to report inspect form if present. #1583
- - Update problem lastupdate column on inspect save. #1584
- - Update priorities in inspect form on category change. #1590
- - Development improvements:
- - Pass test if NXDOMAINs are intercepted.
- - Better path for showing config git version. #1586
-
-* v2.0 (15th November 2016)
- - Front end improvements:
- - Add HTML emails. #1281 #1103
- - Stop map being underneath content sidebar/header. #1350 #361
- - Use Ajax/HTML5 history to pull in reports and improve map views.
- #1351 #1450 #1457 #1173
- - Allow multiple states and categories to be filtered. #1547
- - Add sort order options to list pages. #308
- - Invert area highlight on body pages. #1564
- - Allow users to change their own email. #360 #1440
- - Improve change password form/success page. #1503
- - Allow scroll wheel to zoom map. #1326
- - Rename "Your reports" in main navigation to "Your account".
- - Centre map on pin location when creating a report.
- - Zoom into map after second click on marker.
- - Maintain single newlines in text output. #306
- - JavaScript performance improvements. #1490 #1491
- - Allow searching for reports with ref: prefix in postcode field. #1495
- - Improve report form, with public, private, category sections. #1528
- - Only show relevant bodies after category selection.
- - Add update form name validation. #1493 #503 #1526
- - Add CORS header to RSS output. #1540
- - Switch MapQuest to HTTPS. #1505
- - Better 403/404 pages.
- - Admin improvements:
- - Greatly improve report edit page, including map. #1347
- - Improve category edit form, and display extra data. #1557 #1524
- - Hide confirmed column on body page if all categories confirmed. #1565
- - Show any waiting reports on admin index page. #1382
- - Allow user's phone number to be edited, and a report's category. #400
- - Resend report if changing category changes body. #1560.
- - Leave a public update if an admin changes a report's category. #1544
- - New user system:
- - /admin requires a user with the `is_superuser` flag. #1463
- - `createsuperuser` command for creating superusers.
- - Feature to create report as body/other user. #1473
- - Add user permissions system. #1486
- - Allow user to have an area assigned in admin. #1488
- - Allow user to have categories assigned in admin. #1563
- - Add inspector report detail view. #1470
- - Add user shortlists. #1482
- - Add response templates and priorities. #1500 #1517
- - Add user reputation and trusted users. #1533
- - Bugfixes:
- - Front end:
- - Fix photo preview display after submission. #1511
- - Update list of TLDs for email checking. #1504
- - Fix form validation issue with multiple IDs. #1513
- - Don't show deleted bodies on /reports. #1545
- - Stop using collapse filter in category template.
- - Use default link zoom for all map types.
- - Don't reload /reports or /my pages when filter updated.
- - Don't show alert email box if signed in.
- - Do not send alerts for hidden reports. #1461
- - Admin:
- - Fix contact editing of Open311 categories. #1535
- - Show 'Remove from site' button based on report. #1508
- - Improve moderation display and email. #855
- - Fix invalid SQL being generated by moderation lookup. #1489
- - Show user edit errors (e.g. blank name/email). #1510
- - Disallow empty name when creating/editing bodies.
- - Fix a crash on /admin/timeline.
- - Development improvements:
- - CSS:
- - make_css: Add output style option.
- - make_css: Follow symlinks.
- - Remove some unused CSS, and simplify full-width. #1423
- - Add generic .form-control and .btn classes.
- - Open311:
- - Tidy up/harden some handling. #1428
- - Add config for request limit, default 1000. #1313
- - Automatically spot co-ord/ID attributes. #1499
- - Make sure passed coordinate is decimal.
- - JavaScript:
- - Use static validation_rules.js file. #1451
- - Remove need to customise OpenLayers built script. #1448
- - Refactor and tidy all the JavaScript. #913
- - Prefer using an auto.min.js file if present/newer. #1491
- - Testing:
- - Speed up tests by stubbing out calls to Gaze.
- - Tests can run multiple times simultaneously. #1477
- - run-tests with no arguments runs all tests.
- - Don’t cache geocoder results when STAGING_SITE is 1. #1447
- - Make UPLOAD_DIR/GEO_CACHE relative to project root. #1474
- - Change add_links from a function to a filter. #1487
- - Optionally skip some cobrand restrictions. #1529
- - Allow contact form recipient override and extra fields.
- - Add server-side MapIt proxy.
- - Vagrant installation improvements:
- - Improve error handling.
- - Don't add a symlink if it is to the same place.
- - Backwards incompatible changes:
- - Drop support for IE6. #1356
- - UK
- - Better handling of two-tier reports. #1381
- - Allow limited admin access to body users on their own cobrands.
- - Add Content-Security-Policy header.
-
-The Open311 adapter code has been moved to its own repository at
-<https://github.com/mysociety/open311-adapter>.
-
-* v1.8.4 (6th July 2016)
- - Security:
- - Fix XSS vulnerability in OpenGraph header and hide/all pins links.
- - Front end improvements:
- - Wrap emails better for differing screen sizes. #1393
- - Fix annoying jump when "Get updates" drawer opened. #1425
- - Improve auth flow taken when return key used. #1433
- - Add and improve more CSRF tokens. #1433
- - Remove default box-shadow. #1419
- - Fix missing margin before reporting form email input. #1418
- - Bugfixes:
- - Redirect correctly if filter used without JavaScript. #1422
- - Remove race condition when starting new report. #1434
- - Fix a couple of display bugs in IE7. #1356
- - Correctly orient preview images. #1378
-
-* v1.8.3 (3rd June 2016)
- - Admin improvements
- - Add search boxes to admin index page, and move stats. #1295
- - Allow change of email in admin to existing entry. #1207
- - Speed up photo removal. #1400
- - Improve in-place moderation UI. #1388
- - Front end improvements:
- - Improve printing of report page in Firefox. #1394
- - Fallback if request to Gaze fails. #1286
- - Bugfixes:
- - Fix non-working Google Maps layer. #1215
- - Fix map tap sensitivity on some devices. #911 and openlayers/ol2#1418
- - Fix lack of removal of cached update photos. #1405
- - Handle reports/updates by logged in abuse entries.
- - Fix size of grey chevrons.
- - Development improvements:
- - Massive speed increase to CSS compilation. #1414
- - Use only one templating system for emails. #1410
- - Move summary string function to template. #694
- - Consolidate CSS clearfix handling. #1414
- - Disable auto-CRLF conversion on git checkout.
- - Support for Debian Jessie/Ubuntu Xenial.
- - UK only
- - Add standard mySociety footer. #1385
-
-* v1.8.2 (3rd May 2016)
- - Security:
- - Fix vulnerability in image upload that allowed external
- command execution.
- - New features
- - Twitter social login. #1377
- - PNG image upload support. #1302 #1361
- - Front end improvements:
- - Switch list item heading from h4 to h3. #1348
- - Preserve category when clicking elsewhere on map.
- - Optimize store logo PNGs.
- - Admin improvements
- - Default new category creation to confirmed. #1266
- - Use better link to reports on admin body page.
- - Bugfixes:
- - Show right body user form value for fixed reports. #1369
- - Cope with a '/' in body name slug. #574
- - Ignore empty entries in the image upload IDs.
- - Use transparent border in tips/change_location. #1380
- - Development improvements:
- - Allow cobrands to control front page number colours.
- - Refactor email handling to use Email::MIME alone. #1366
- - Improve testing on Mac OS X.
- - Prevent dev sites auto-creating session.
- - Display used send method in debug line.
- - Remove unused cobrands. #1383
- - Finally combine remaining base/fixmystreet templates.
- - Don't warn on bad photo hashes.
- - Skip fetched updates if they're out of date range. #1390
- - Store Open311 error in report on failure. #1391
-
-* v1.8.1 (23rd March 2016)
- - Front end improvements:
- - Remember user's last anonymous state. #150
- - Remove auto-scrolling of sidebar on pin hover. #1344
- - Better multiple image display for reports/updates. #1325
- - Improve accessibility of pretty radio buttons and photo inputs.
- - Bugfixes:
- - Make sure preview image doesn't hide error. #1361
- - Don't double-decode geocoded addresses. #1359
- - Ensure top of reporting form is shown. #787
- - Other updates for Perl 5.20/5.22. #1358
- - Development improvements:
- - Add cobrand-specific custom reporting fields. #1352
-
-* v1.8 (2nd March 2016)
- - New features:
- - Facebook login. #1146
- - Multiple photo upload support, with new UI. #190 #825 #1300
- - Front end improvements:
- - Pad internal update links so they are in view. #1308
- - Move alert page "recent photos" out of sidebar. #1168
- - Clearer relationship between map pins/list items. #1094
- - Consistent styling for updates on /report and /my pages. #1312
- - Stop a top banner overlapping header contents/improve CSS. #1306
- - Improve design of some error pages.
- - Performance improvements:
- - Reduce memory usage. #1285
- - Bugfixes:
- - Default the Google map view to hybrid. #1293
- - Prevent SVG chevron being stretched in Firefox. #1256
- - Better display/internationalisation of numbers. #1297
- - Fix cobrand restriction of My/Nearby. #1289
- - If app user logged in, perform alert signup. #1321
- - Spot media_url in Open311 GetServiceRequestUpdate. #1315
- - Improve disabled input behaviour (no hover, ensure faded).
- - Fix co-ordinate swapping bug in Google geocoder.
- - Exclude update alerts from summary alert counts.
- - Skip sending if any body marks it for skipping.
- - Upgrade Net::SMTP::SSL to fix email sending issue.
- - Development improvements:
- - Add generic static route handler. #1235
- - Store reports summary data by cobrand. #1290
- - Better handling replies to bounce addresses. #85
- - Combine more base/fixmystreet templates.
- - Add OpenStreetMap URL to report email.
- - Admin improvements:
- - Don't allow blank email/name to be submitted. #1294
- - Handle multiple photo rotation/removal in admin. #1300
- - Fix typo in admin body form checked status.
- - UK only
- - Make sure front page error is visible. #1336
- - Don't show app next step if used app. #1305
- - House Rules. #890 #1311
-
-* v1.7.2 (6th July 2016)
- - Security:
- - Fix XSS vulnerability in OpenGraph header and hide/all pins links.
-
-* v1.7.1 (3rd May 2016)
- - Security:
- - Fix vulnerability in image upload that allowed external
- command execution.
-
-* v1.7 (23rd October 2015)
- - Front end improvements:
- - Add right-to-left design option. #1209
- - Add state/category filters to list pages. #1141
- - Include last update time in around/my page lists. #1245
- - Show report details more nicely on a questionnaire page. #1104
- - Improve email confirmation page (now matches success pages). #577
- - Update URL hash when mobile menu navigation clicked. #1211
- - Add public status page showing stats and version. #1251
- - Accessibility improvements to map pages. #1217
- - New default OpenGraph image. #1184
- - Turkish translation.
- - Performance improvements:
- - A number of database speed improvements. #1017
- - Bugfixes:
- - Translate report states in admin index. #1179
- - Improve translation string on alert page. #348
- - Fix location bug fetching category extras.
- - Workaround DMARC problems. #1070
- - Fix padding of alert form box. #1211
- - Pin Google Maps API version to keep it working. #1215
- - Upgrade Google geocoder to version 3. #1194
- - Fix script running when CDPATH is set. #1250
- - Fix retina image size on front page. #838
- - Process update left as part of questionnaire, to catch empty ones. #1234
- - Make sure explicit sign in button clicks are honoured. #1091
- - Adjust email confirmation text when report not being sent. #1210
- - Fix footer links in admin if behind a proxy. #1206
- - Use base URL in a cobrand alert for a report without a body. #1198
- - Fix potential graph script failure in perl 5.16+. #1262
- - Development improvements:
- - Error logging should now work consistently. #404
- - CSS
- - Streamline navigation menu CSS. #1191
- - Streamline list item CSS. #1141
- - make_css now follows symlinks. #1181
- - Use a sass variable for hamburger menu. #1186
- - Write progress of make_css_watch to terminal title. #1211
- - Templates:
- - Remove final hardcoded "FixMyStreet" from templates. #1205
- - Combine a number of base/fixmystreet templates. #1245
- - Installation:
- - Make sure submodules are checked out by Vagrant. #1197
- - Remove Module::Pluggable warning in newer perls. #1254
- - Bundle carton to ease installation step. #1208
- - Translation:
- - Improve ease of running gettext-extract. #1202
- - Add standard app.psgi file.
- - Add link to volunteer tickets in README. #1259
- - Use Modernizr to decide whether to show mobile map. #1192
- - Prevent potential session cookie recursion. #1077
- - Allow underscore in cobrand name/data. #1236
- - Add a development URL to see check email pages. #1211
-
-* v1.6.3 (6th July 2016)
- - Security:
- - Fix XSS vulnerability in OpenGraph header and hide/all pins links.
-
-* v1.6.2 (3rd May 2016)
- - Security:
- - Fix vulnerability in image upload that allowed external
- command execution.
-
-* v1.6.1 (31st July 2015)
- - Bugfixes:
- - Fix bug introduced in last release when setting multiple areas
- for a body in the admin. #1158
- - Don't have default "name >= 5 characters"/"must have space" checks,
- as Latin-centric #805
- - New features:
- - Danish translation.
- - Front end improvements:
- - Fix “All Reports†table headers on scroll. #50
- - Add time tooltips to All Reports table headings. #983
- - Fix sidebar running over the footer on alerts page. #1168
- - Admin improvements:
- - Add mark as sent button. #601
- - Add link to comment user ID from body form if present. #580
- - Add MapIt links from body page/ report co-ordinates. #638
- - Show any category extra data. #517 #920
- - Mark users who have moderate permission. #990
- - Allow editing of body external URL.
- - List a report’s bodies more nicely.
- - UK specific improvements:
- - Explain gone Northern Ireland councils. #1151
- - Better messaging for councils refusing messages. #968
-
-* v1.5.5 / v1.6 (10th July 2015)
- - Security:
- - Fix vulnerability in login email sending that could allow an account
- to be hijacked by a third party.
- - Time out email authentication tokens.
- - Update dependency to fix issue with Unicode characters in passwords.
- - New features:
- - Chinese translation.
- - Front end improvements:
- - Add “Report†button in default mobile header. #931
- - Use ‘hamburger’ menu icon in mobile header. #931
- - Resize map pins based on zoom level. #1041
- - Improve report meta information display. #1080
- - Display message on body page when reports list is empty.
- - Bugfixes:
- - Fix issue with shrunken update photos. #424
- - Fix typo in footer role="contentinfo".
- - Default Google maps to satellite view. #1133
- - Update Bing Maps parameter ID.
- - Development improvements:
- - Add ability for map pages to filter by category/state. #1134
- (this is currently on a couple of cobrands, to add to base soon)
- - Allow cobrands to specify ordering on all reports page.
- - Use mocked Nominatim in tests to cope with bad connections.
- - Add Extra role to ease use of the {extra} database field. #1018
- - UK specific improvements:
- - Add dog poop poster. #1028
-
-* v1.5.4 (25th February 2015)
- - New features:
- - Stamen toner-lite and Bing Maps tiles.
- - Czech and part-done Lithuanian translations.
- - Front end improvements:
- - Nicer confirmation pages, with next steps template example. #972
- - Always show report/update confirmation page, even if logged in. #1003
- - Expire cached geolocations after a week. #684
- - Bugfixes:
- - Make sure all co-ordinates are stringified/truncated. #1009
- - Correct "Open Street Map" to "OpenStreetMap". #1021
- - Only create timezone objects once, at startup.
- - Development improvements:
- - Remove need to specify en-gb in LANGUAGES. #1015
- - Mac installation improvements. #1014
- - Make use of jhead and Math::BigInt::GMP optional. #1016
- - Link from admin config page to MapIt. #1022
- - Test URLs for confirmation pages.
- - New configuration variable for setting up behind a secure proxy.
- - UK specific improvements:
- - Output easting/northing on one line. #997
- - Output Irish easting/northing in Northern Ireland. #822
-
-* v1.5.3 (21st January 2015)
- - New features:
- - Satellite map toggle option on Google Maps view. #1002
- - Greek translation.
- - Bugfixes:
- - Fix cron-based email to use configured SMTP settings. #988
- - Update UNIX_USER variable on installation setup of crontab. #974
- - Improve make_css finding of bundled compass when in symlink. #978
- - Remove hard-coded site name from submit email template.
- - Allow forked repository pull requests to run on Travis.
- - Fix title of Privacy page, and other minor text fixes.
- - CSS: add some bottom content padding and fix a tiny map links issue.
- - Development improvements:
- - Replace site_title cobrand function with site-name web template. #979
- - Remove need for 'cron-wrapper' to run scripts. #852
- - Rename 'test-wrapper' to 'run-tests'. #999
- - Add client_max_body_size nginx config option. #995
- - Tidy up bin directory and #! lines.
- - Admin improvements:
- - Add staging email warning on admin body pages if needed. #982
- - Add admin navigation link to Configuration page. #1005
- - Better URL for body category editing.
-
-* v1.5.2 (17th December 2014)
- - Hide unneeded heading on default footer.
- - Suppress 'Argument "" isn't numeric' warning on admin report edit page.
- - [UK] Don't show topic form field when reporting abuse.
- - Use token in moderation response URL to prevent hidden report leak.
-
-* v1.5.1 (12th December 2014)
- - Bugfixes
- - Use correct cobrand signature in SendReport emails. #960
- - Fix double encoding of non-ASCII signature in emails. #961
- - Use area-based alerts by default, as they function correctly. #959
- - Set DefaultLocale appropriately when language set, for date display.
- - Open311
- - Better error if Open311 server returns a nil service list.
- - Cope better with Open311 server not liking a blank jurisdiction_id.
- - Installation/developer improvements:
- - Add a script to use a test database for running tests. #786
- - Make base FAQ more generic, move out UK-specific parts. #753 #935
- - Provide guidance at top of example config file.
- - Don't install open311-endpoint feature by default.
-
-* v1.5 (19th November 2014)
- - Installation/developer improvements:
- - Support for Ubuntu Trusty Tahr 14.04 LTS. #921
- - Install bundler for more stable gem installation. #923
- - Rewritten graph generation programs in Perl. #924
- - Front end report moderation code. #809
- - Admin improvements:
- - Pagination of admin search results. #909
- - Validation of category details. #556
- - Removed overhang in body categories table. #738
- - Add encouraging message about support. #929
- - Tweak summary output on bodies page. #516
- - Move diligency table to bottom of page. #739
- - Front end:
- - Map page sidebar now flush with edges of window. #381
- - Simplify z-index usage, with other tidying. #673
- - Filtering of All Reports by category in URL. #254
- - More template generalisation, moving UK-specific stuff away. #344
- - Bugfixes:
- - Fixed JavaScript-disabled submission in Chrome/Firefox. #932
- - Show logged in message as success, not error. #357
- - Remove opacity from map controls on mobile.
- - Escape category in RSS feeds.
- - Internationalisation:
- - Add Albanian, Bulgarian, Hebrew, and Ukranian .po files.
-
-* v1.4.2 (14th July 2014)
- - Maintenance release to deal with failing package installation. #832
- - User additions/improvements:
- - New links from `/reports` to open/fixed reports. #798
- - Better detection of signing in on `/auth` form. #816
- - Installation/developer improvements:
- - Allow SMTP username/password to be specified. #406
- - Correct GitHub link in `Vagrantfile`.
- - Error correctly if `cron-wrapper` fails to run.
- - Rename `default` web templates directory to `base`.
- - Move UK-specific text to separate templates. #344
- - Upgrade bundled `cpanm`. #807
-
-* v1.4.1 (23rd May 2014)
- - Don't run some cron scripts by default, and rejig timings, to alleviate
- memory problems on EC2 micro instances. #640
-
-* v1.4 (16th May 2014)
- - User improvements:
- - Adds some guidance on an empty `/my` page. #671
- - Auto-selects the category when reporting if there is only one. #690
- - Stops indenting emails a few spaces. #715
- - Email template updates. #700
- - Installation/developer improvements:
- - Makes it easier to change the pin icons. #721
- - Sends reports on staging sites to the reporter. #653
- - Adds a no-op send method to suspend report sending. #507
- - Improves the example Apache config. #733
- - Includes a nicer crontab example. #621
- - New developer scripts:
- - `make_css_watch`. #680
- - `geocode`. #758
- - Adds `external_url` field to Bodies. #710
- - Reinstates Open311 original update fetching code. #710 #755
- - Pins sass/compass versions. #585
- - Adds new `MAPIT_GENERATION` variable. #784
- - Bugfixes:
- - Fixes MapQuest and OSM attribution. #710 #687
- - Remove cached photos when deleted from admin.
- - Tiny bugfixes processing Open311 updates. #677
- - Correctly sets language in email alert loop. #542
- - Cron emails use `EMAIL_DOMAIN` in Message-ID. #678
- - Minor fixes for Debian wheezy.
- - Graph display of fixed states.
- - Slight CSS simplification. #609
- - Internal things:
- - Improves the robustness of Carton installation. #675
- - Doubles the speed of running tests on Travis.
-
-* v1.3 (12th November 2013)
- - Changes cobrand behaviour so if only one is specified, always use it. #598
- - Allows multiple email addresses to be given for a contact.
- - Bugfixes to pan icon placement, and bottom navbar in Chrome. #597
- - Admin improvements
- - Search by external ID. #389
- - Date picker in stats. #514
- - Mark external links. #579
- - Fix for bug when changing report state from 'unconfirmed'. #527
- - Improve lists of report updates.
- - Add marking of bodies as deleted.
- - Show version number of code on config page.
- - Test suite runs regardless of config file contents. #596
-
-* v1.2.6 (11th October 2013)
- - Upgrades OpenLayers to 2.13.1, for e.g. animated zooming.
- - Adds facility for using Google Maps via OpenLayers. #587
- - Swaps installation order of Perl modules/database, more robust. #573
- - Renames default FakeMapIt "Default Area" to "Everywhere". #566
- - Adds a "current configuration" admin page. #561
-
-* v1.2.5 (13th September 2013)
- - Adds various useful hints and notices to the admin interface. #184
- - Improves the install script, including an example `Vagrantfile`
- - It is now easier for tests to override particular configuration
- variables should they need to.
-
-* v1.2.4 (5th September 2013)
- - A fix for the long-standing issue where multiline strings were not being
- translated (reported at https://github.com/abw/Template2/pull/29 )
- - Better translation strings for "marked as" updates, fixes #391
- - Less noise when running the tests
-
-* v1.2.3 (2nd September 2013)
- - Maintenance release to deal with failing installation
- - Improves reuse of `make_css` and shared CSS
- - Removes hardcoded UK URLs on a couple of admin error emails
- - Marks a couple of strings missing translation
- - Updates mapquest URLs
-
-* v1.2.2 (26th July 2013)
- - Maintenance release to deal with failing installation
- - Improves the Google Maps plugin somewhat, though still needs work
-
-* v1.2.1 (5th June 2013)
- - Maintenance release to deal with failing carton installation
- - Test and module fixes for installation on Debian wheezy
- - Module fixes for running on Travis
- - The install script adds gem environment variables to the user's .bashrc
- so that `make_css` can be run directly after installation
- - `make_css` automatically spots which cobrands use compass
- - Adds some missing states to the admin report edit page
-
-* v1.2 (3rd May 2013)
- - Adds `MAPIT_ID_WHITELIST` to allow easier use of global MapIt
- - Adds postfix to the install script/ AMI so emailing works out of the box
- - Adds an extra zoom level to the OSM maps
- - Adds the Catalyst gzip plugin so HTML pages are gzipped
- - Fixes an issue with the All Reports summary statistics not including some
- open states, such as 'in progress'
-
-* v1.1.2 (15th March 2013)
- - Includes the `cpanfile` now required by carton, the Perl package
- management program we use.
-
-* v1.1.1 (22nd February 2013)
- - Hotfix to fix missed iPhone width bug
-
-* v1.1 (22nd February 2013)
- - Adds bodies, so that the organisations that reports are sent to can cover
- multiple MapIt administrative areas, or multiple bodies can cover one
- area, and other related scenarios
- - Admin display improvements
- - Internationalisation improvements, especially with text in JavaScript
- - Various minor updates and fixes (e.g. a `--debug` option on `send-reports`,
- and coping if MapIt has its debug switched on)
-
-* v1.0 (24th October 2012)
- - Official launch of the FixMyStreet platform
-
## Examples
* <https://www.fixmystreet.com/>
diff --git a/Vagrantfile b/Vagrantfile
index 505883aa0..536974693 100755
--- a/Vagrantfile
+++ b/Vagrantfile
@@ -30,16 +30,14 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# To prevent "dpkg-preconfigure: unable to re-open stdin: No such file or directory" warnings
export DEBIAN_FRONTEND=noninteractive
# Make sure git submodules are checked out!
- if [ ! -e fixmystreet/commonlib/.git ]; then
- echo "Checking out submodules"
- apt-get -qq install -y git >/dev/null
- cd fixmystreet
- git submodule --quiet update --init --recursive
- cd commonlib
- git config core.worktree "../../../commonlib"
- echo "gitdir: ../.git/modules/commonlib" > .git
- cd ../..
- fi
+ echo "Checking submodules exist/up to date"
+ apt-get -qq install -y git >/dev/null
+ cd fixmystreet
+ git submodule --quiet update --init --recursive --rebase
+ cd commonlib
+ git config core.worktree "../../../commonlib"
+ echo "gitdir: ../.git/modules/commonlib" > .git
+ cd ../..
# Fetch and run install script
wget -O install-site.sh --no-verbose https://github.com/mysociety/commonlib/raw/master/bin/install-site.sh
sh install-site.sh --dev fixmystreet vagrant 127.0.0.1.xip.io
@@ -56,7 +54,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
echo "****************"
echo "You can now ssh into your vagrant box: vagrant ssh"
echo "The website code is found in: ~/fixmystreet"
- echo "You can run the dev server with: script/fixmystreet_app_server.pl [-d] [-r] [--fork]"
+ echo "You can run the dev server with: script/server"
echo "Access the admin with username: superuser@example.org and password: password"
else
echo "Unfortunately, something appears to have gone wrong with the installation."
diff --git a/app.psgi b/app.psgi
index fcc672647..5f7128d00 100644
--- a/app.psgi
+++ b/app.psgi
@@ -2,7 +2,14 @@ use strict;
use warnings;
use FixMyStreet::App;
+use Plack::Builder;
+use Catalyst::Utils;
my $app = FixMyStreet::App->apply_default_middlewares(FixMyStreet::App->psgi_app);
-$app;
+builder {
+ enable 'Debug', panels => [ qw(Parameters Response DBIC::QueryLog CatalystLog Timer Memory FixMyStreet::Template LWP) ]
+ if Catalyst::Utils::env_value( 'FixMyStreet::App', 'DEBUG' );
+
+ $app;
+};
diff --git a/bin/cpanm b/bin/cpanm
index 9676fae7e..7f81ee80f 100755
--- a/bin/cpanm
+++ b/bin/cpanm
@@ -21,7 +21,7 @@ BEGIN {
my %fatpacked;
$fatpacked{"App/cpanminus.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'APP_CPANMINUS';
- package App::cpanminus;our$VERSION="1.7039";1;
+ package App::cpanminus;our$VERSION="1.7043";1;
APP_CPANMINUS
$fatpacked{"App/cpanminus/Dependency.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'APP_CPANMINUS_DEPENDENCY';
@@ -29,7 +29,7 @@ $fatpacked{"App/cpanminus/Dependency.pm"} = '#line '.(1+__LINE__).' "'.__FILE__.
APP_CPANMINUS_DEPENDENCY
$fatpacked{"App/cpanminus/script.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'APP_CPANMINUS_SCRIPT';
- package App::cpanminus::script;use strict;use Config;use Cwd ();use App::cpanminus;use App::cpanminus::Dependency;use File::Basename ();use File::Find ();use File::Path ();use File::Spec ();use File::Copy ();use File::Temp ();use Getopt::Long ();use Symbol ();use String::ShellQuote ();use version ();use constant WIN32=>$^O eq 'MSWin32';use constant BAD_TAR=>($^O eq 'solaris' || $^O eq 'hpux');use constant CAN_SYMLINK=>eval {symlink("","");1};our$VERSION=$App::cpanminus::VERSION;if ($INC{"App/FatPacker/Trace.pm"}){require version::vpp}my$quote=WIN32 ? q/"/ : q/'/;sub agent {my$self=shift;my$agent="cpanminus/$VERSION";$agent .= " perl/$]" if$self->{report_perl_version};$agent}sub determine_home {my$class=shift;my$homedir=$ENV{HOME}|| eval {require File::HomeDir;File::HomeDir->my_home}|| join('',@ENV{qw(HOMEDRIVE HOMEPATH)});if (WIN32){require Win32;$homedir=Win32::GetShortPathName($homedir)}return "$homedir/.cpanm"}sub new {my$class=shift;bless {home=>$class->determine_home,cmd=>'install',seen=>{},notest=>undef,test_only=>undef,installdeps=>undef,force=>undef,sudo=>undef,make=>undef,verbose=>undef,quiet=>undef,interactive=>undef,log=>undef,mirrors=>[],mirror_only=>undef,mirror_index=>undef,cpanmetadb=>"http://cpanmetadb.plackperl.org/v1.0/",perl=>$^X,argv=>[],local_lib=>undef,self_contained=>undef,exclude_vendor=>undef,prompt_timeout=>0,prompt=>undef,configure_timeout=>60,build_timeout=>3600,test_timeout=>1800,try_lwp=>1,try_wget=>1,try_curl=>1,uninstall_shadows=>($] < 5.012),skip_installed=>1,skip_satisfied=>0,auto_cleanup=>7,pod2man=>1,installed_dists=>0,install_types=>['requires'],with_develop=>0,showdeps=>0,scandeps=>0,scandeps_tree=>[],format=>'tree',save_dists=>undef,skip_configure=>0,verify=>0,report_perl_version=>!$class->maybe_ci,build_args=>{},features=>{},pure_perl=>0,cpanfile_path=>'cpanfile',@_,},$class}sub env {my($self,$key)=@_;$ENV{"PERL_CPANM_" .$key}}sub maybe_ci {my$class=shift;grep$ENV{$_},qw(TRAVIS CI AUTOMATED_TESTING AUTHOR_TESTING)}sub install_type_handlers {my$self=shift;my@handlers;for my$type (qw(recommends suggests)){push@handlers,"with-$type"=>sub {my%uniq;$self->{install_types}=[grep!$uniq{$_}++,@{$self->{install_types}},$type ]};push@handlers,"without-$type"=>sub {$self->{install_types}=[grep $_ ne $type,@{$self->{install_types}}]}}@handlers}sub build_args_handlers {my$self=shift;my@handlers;for my$phase (qw(configure build test install)){push@handlers,"$phase-args=s"=>\($self->{build_args}{$phase})}@handlers}sub parse_options {my$self=shift;local@ARGV=@{$self->{argv}};push@ARGV,grep length,split /\s+/,$self->env('OPT');push@ARGV,@_;Getopt::Long::Configure("bundling");Getopt::Long::GetOptions('f|force'=>sub {$self->{skip_installed}=0;$self->{force}=1},'n|notest!'=>\$self->{notest},'test-only'=>sub {$self->{notest}=0;$self->{skip_installed}=0;$self->{test_only}=1},'S|sudo!'=>\$self->{sudo},'v|verbose'=>\$self->{verbose},'verify!'=>\$self->{verify},'q|quiet!'=>\$self->{quiet},'h|help'=>sub {$self->{action}='show_help'},'V|version'=>sub {$self->{action}='show_version'},'perl=s'=>sub {$self->diag("--perl is deprecated since it's known to be fragile in figuring out dependencies. Run `$_[1] -S cpanm` instead.\n",1);$self->{perl}=$_[1]},'l|local-lib=s'=>sub {$self->{local_lib}=$self->maybe_abs($_[1])},'L|local-lib-contained=s'=>sub {$self->{local_lib}=$self->maybe_abs($_[1]);$self->{self_contained}=1;$self->{pod2man}=undef},'self-contained!'=>\$self->{self_contained},'exclude-vendor!'=>\$self->{exclude_vendor},'mirror=s@'=>$self->{mirrors},'mirror-only!'=>\$self->{mirror_only},'mirror-index=s'=>sub {$self->{mirror_index}=$self->maybe_abs($_[1])},'M|from=s'=>sub {$self->{mirrors}=[$_[1]];$self->{mirror_only}=1},'cpanmetadb=s'=>\$self->{cpanmetadb},'cascade-search!'=>\$self->{cascade_search},'prompt!'=>\$self->{prompt},'installdeps'=>\$self->{installdeps},'skip-installed!'=>\$self->{skip_installed},'skip-satisfied!'=>\$self->{skip_satisfied},'reinstall'=>sub {$self->{skip_installed}=0},'interactive!'=>\$self->{interactive},'i|install'=>sub {$self->{cmd}='install'},'info'=>sub {$self->{cmd}='info'},'look'=>sub {$self->{cmd}='look';$self->{skip_installed}=0},'U|uninstall'=>sub {$self->{cmd}='uninstall'},'self-upgrade'=>sub {$self->{action}='self_upgrade'},'uninst-shadows!'=>\$self->{uninstall_shadows},'lwp!'=>\$self->{try_lwp},'wget!'=>\$self->{try_wget},'curl!'=>\$self->{try_curl},'auto-cleanup=s'=>\$self->{auto_cleanup},'man-pages!'=>\$self->{pod2man},'scandeps'=>\$self->{scandeps},'showdeps'=>sub {$self->{showdeps}=1;$self->{skip_installed}=0},'format=s'=>\$self->{format},'save-dists=s'=>sub {$self->{save_dists}=$self->maybe_abs($_[1])},'skip-configure!'=>\$self->{skip_configure},'dev!'=>\$self->{dev_release},'metacpan!'=>\$self->{metacpan},'report-perl-version!'=>\$self->{report_perl_version},'configure-timeout=i'=>\$self->{configure_timeout},'build-timeout=i'=>\$self->{build_timeout},'test-timeout=i'=>\$self->{test_timeout},'with-develop'=>\$self->{with_develop},'without-develop'=>sub {$self->{with_develop}=0},'with-feature=s'=>sub {$self->{features}{$_[1]}=1},'without-feature=s'=>sub {$self->{features}{$_[1]}=0},'with-all-features'=>sub {$self->{features}{__all}=1},'pp|pureperl!'=>\$self->{pure_perl},"cpanfile=s"=>\$self->{cpanfile_path},$self->install_type_handlers,$self->build_args_handlers,);if (!@ARGV && $0 ne '-' &&!-t STDIN){push@ARGV,$self->load_argv_from_fh(\*STDIN);$self->{load_from_stdin}=1}$self->{argv}=\@ARGV}sub check_upgrade {my$self=shift;my$install_base=$ENV{PERL_LOCAL_LIB_ROOT}? $self->local_lib_target($ENV{PERL_LOCAL_LIB_ROOT}): $Config{installsitebin};if ($0 eq '-'){return}elsif ($0 !~ /^$install_base/){if ($0 =~ m!perlbrew/bin!){die <<DIE}else {die <<DIE}}}sub check_libs {my$self=shift;return if$self->{_checked}++;$self->bootstrap_local_lib}sub setup_verify {my$self=shift;my$has_modules=eval {require Module::Signature;require Digest::SHA;1};$self->{cpansign}=$self->which('cpansign');unless ($has_modules && $self->{cpansign}){warn "WARNING: Module::Signature and Digest::SHA is required for distribution verifications.\n";$self->{verify}=0}}sub parse_module_args {my($self,$module)=@_;$module =~ s/^([A-Za-z0-9_:]+)@([v\d\._]+)$/$1~== $2/;if ($module =~ /\~[v\d\._,\!<>= ]+$/){return split /\~/,$module,2}else {return$module,undef}}sub doit {my$self=shift;my$code;eval {$code=($self->_doit==0)};if (my$e=$@){warn$e;$code=1}return$code}sub _doit {my$self=shift;$self->setup_home;$self->init_tools;$self->setup_verify if$self->{verify};if (my$action=$self->{action}){$self->$action()and return 1}return$self->show_help(1)unless @{$self->{argv}}or $self->{load_from_stdin};$self->configure_mirrors;my$cwd=Cwd::cwd;my@fail;for my$module (@{$self->{argv}}){if ($module =~ s/\.pm$//i){my ($volume,$dirs,$file)=File::Spec->splitpath($module);$module=join '::',grep {$_}File::Spec->splitdir($dirs),$file}($module,my$version)=$self->parse_module_args($module);$self->chdir($cwd);if ($self->{cmd}eq 'uninstall'){$self->uninstall_module($module)or push@fail,$module}else {$self->install_module($module,0,$version)or push@fail,$module}}if ($self->{base}&& $self->{auto_cleanup}){$self->cleanup_workdirs}if ($self->{installed_dists}){my$dists=$self->{installed_dists}> 1 ? "distributions" : "distribution";$self->diag("$self->{installed_dists} $dists installed\n",1)}if ($self->{scandeps}){$self->dump_scandeps()}$self->chdir($cwd);return!@fail}sub setup_home {my$self=shift;$self->{home}=$self->env('HOME')if$self->env('HOME');unless (_writable($self->{home})){die "Can't write to cpanm home '$self->{home}': You should fix it with chown/chmod first.\n"}$self->{base}="$self->{home}/work/" .time .".$$";File::Path::mkpath([$self->{base}],0,0777);$self->{log}=File::Spec->catfile($self->{base},"build.log");my$final_log="$self->{home}/build.log";{open my$out,">$self->{log}" or die "$self->{log}: $!"}if (CAN_SYMLINK){my$build_link="$self->{home}/latest-build";unlink$build_link;symlink$self->{base},$build_link;unlink$final_log;symlink$self->{log},$final_log}else {my$log=$self->{log};my$home=$self->{home};$self->{at_exit}=sub {my$self=shift;my$temp_log="$home/build.log." .time .".$$";File::Copy::copy($log,$temp_log)&& unlink($final_log);rename($temp_log,$final_log)}}$self->chat("cpanm (App::cpanminus) $VERSION on perl $] built for $Config{archname}\n" ."Work directory is $self->{base}\n")}sub package_index_for {my ($self,$mirror)=@_;return$self->source_for($mirror)."/02packages.details.txt"}sub generate_mirror_index {my ($self,$mirror)=@_;my$file=$self->package_index_for($mirror);my$gz_file=$file .'.gz';my$index_mtime=(stat$gz_file)[9];unless (-e $file && (stat$file)[9]>= $index_mtime){$self->chat("Uncompressing index file...\n");if (eval {require Compress::Zlib}){my$gz=Compress::Zlib::gzopen($gz_file,"rb")or do {$self->diag_fail("$Compress::Zlib::gzerrno opening compressed index");return};open my$fh,'>',$file or do {$self->diag_fail("$! opening uncompressed index for write");return};my$buffer;while (my$status=$gz->gzread($buffer)){if ($status < 0){$self->diag_fail($gz->gzerror ." reading compressed index");return}print$fh $buffer}}else {if (system("gunzip -c $gz_file > $file")){$self->diag_fail("Cannot uncompress -- please install gunzip or Compress::Zlib");return}}utime$index_mtime,$index_mtime,$file}return 1}sub search_mirror_index {my ($self,$mirror,$module,$version)=@_;$self->search_mirror_index_file($self->package_index_for($mirror),$module,$version)}sub search_mirror_index_file {my($self,$file,$module,$version)=@_;open my$fh,'<',$file or return;my$found;while (<$fh>){if (m!^\Q$module\E\s+([\w\.]+)\s+(\S*)!m){$found=$self->cpan_module($module,$2,$1);last}}return$found unless$self->{cascade_search};if ($found){if ($self->satisfy_version($module,$found->{module_version},$version)){return$found}else {$self->chat("Found $module $found->{module_version} which doesn't satisfy $version.\n")}}return}sub with_version_range {my($self,$version)=@_;defined($version)&& $version =~ /(?:<|!=|==)/}sub encode_json {my($self,$data)=@_;require JSON::PP;my$json=JSON::PP::encode_json($data);$json =~ s/([^a-zA-Z0-9_\-.])/uc sprintf("%%%02x",ord($1))/eg;$json}sub version_to_query {my($self,$module,$version)=@_;require CPAN::Meta::Requirements;my$requirements=CPAN::Meta::Requirements->new;$requirements->add_string_requirement($module,$version || '0');my$req=$requirements->requirements_for_module($module);if ($req =~ s/^==\s*//){return {term=>{'module.version'=>$req },}}elsif ($req !~ /\s/){return {range=>{'module.version_numified'=>{'gte'=>$self->numify_ver_metacpan($req)}},}}else {my%ops=qw(< lt <= lte > gt >= gte);my(%range,@exclusion);my@requirements=split /,\s*/,$req;for my$r (@requirements){if ($r =~ s/^([<>]=?)\s*//){$range{$ops{$1}}=$self->numify_ver_metacpan($r)}elsif ($r =~ s/\!=\s*//){push@exclusion,$self->numify_ver_metacpan($r)}}my@filters=({range=>{'module.version_numified'=>\%range }},);if (@exclusion){push@filters,{not=>{or=>[map {+{term=>{'module.version_numified'=>$self->numify_ver_metacpan($_)}}}@exclusion ]},}}return@filters}}sub numify_ver_metacpan {my($self,$ver)=@_;$ver =~ s/_//g;version->new($ver)->numify}sub numify_ver {my($self,$ver)=@_;eval version->new($ver)->numify}sub maturity_filter {my($self,$module,$version)=@_;if ($version =~ /==/){return}elsif ($self->{dev_release}){return +{not=>{term=>{status=>'backpan' }}}}else {return ({not=>{term=>{status=>'backpan' }}},{term=>{maturity=>'released' }},)}}sub by_version {my%s=qw(latest 3 cpan 2 backpan 1);$b->{_score}<=> $a->{_score}|| $s{$b->{fields}{status}}<=> $s{$a->{fields}{status}}}sub by_first_come {$a->{fields}{date}cmp $b->{fields}{date}}sub by_date {$b->{fields}{date}cmp $a->{fields}{date}}sub find_best_match {my($self,$match,$version)=@_;return unless$match && @{$match->{hits}{hits}|| []};my@hits=$self->{dev_release}? sort {by_version || by_date}@{$match->{hits}{hits}}: sort {by_version || by_first_come}@{$match->{hits}{hits}};$hits[0]->{fields}}sub search_metacpan {my($self,$module,$version)=@_;require JSON::PP;$self->chat("Searching $module ($version) on metacpan ...\n");my$metacpan_uri='http://api.metacpan.org/v0';my@filter=$self->maturity_filter($module,$version);my$query={filtered=>{(@filter ? (filter=>{and=>\@filter }): ()),query=>{nested=>{score_mode=>'max',path=>'module',query=>{custom_score=>{metacpan_script=>"score_version_numified",query=>{constant_score=>{filter=>{and=>[{term=>{'module.authorized'=>JSON::PP::true()}},{term=>{'module.indexed'=>JSON::PP::true()}},{term=>{'module.name'=>$module }},$self->version_to_query($module,$version),]}}},}},}},}};my$module_uri="$metacpan_uri/file/_search?source=";$module_uri .= $self->encode_json({query=>$query,fields=>['date','release','author','module','status' ],});my($release,$author,$module_version);my$module_json=$self->get($module_uri);my$module_meta=eval {JSON::PP::decode_json($module_json)};my$match=$self->find_best_match($module_meta);if ($match){$release=$match->{release};$author=$match->{author};my$module_matched=(grep {$_->{name}eq $module}@{$match->{module}})[0];$module_version=$module_matched->{version}}unless ($release){$self->chat("! Could not find a release matching $module ($version) on MetaCPAN.\n");return}my$dist_uri="$metacpan_uri/release/_search?source=";$dist_uri .= $self->encode_json({filter=>{and=>[{term=>{'release.name'=>$release }},{term=>{'release.author'=>$author }},]},fields=>['download_url','stat','status' ],});my$dist_json=$self->get($dist_uri);my$dist_meta=eval {JSON::PP::decode_json($dist_json)};if ($dist_meta){$dist_meta=$dist_meta->{hits}{hits}[0]{fields}}if ($dist_meta && $dist_meta->{download_url}){(my$distfile=$dist_meta->{download_url})=~ s!.+/authors/id/!!;local$self->{mirrors}=$self->{mirrors};if ($dist_meta->{status}eq 'backpan'){$self->{mirrors}=['http://backpan.perl.org' ]}elsif ($dist_meta->{stat}{mtime}> time()-24*60*60){$self->{mirrors}=['http://cpan.metacpan.org' ]}return$self->cpan_module($module,$distfile,$module_version)}$self->diag_fail("Finding $module on metacpan failed.");return}sub search_database {my($self,$module,$version)=@_;my$found;if ($self->{dev_release}or $self->{metacpan}){$found=$self->search_metacpan($module,$version)and return$found;$found=$self->search_cpanmetadb($module,$version)and return$found}else {$found=$self->search_cpanmetadb($module,$version)and return$found;$found=$self->search_metacpan($module,$version)and return$found}}sub search_cpanmetadb {my($self,$module,$version)=@_;$self->chat("Searching $module ($version) on cpanmetadb ...\n");if ($self->with_version_range($version)){return$self->search_cpanmetadb_history($module,$version)}else {return$self->search_cpanmetadb_package($module,$version)}}sub search_cpanmetadb_package {my($self,$module,$version)=@_;require CPAN::Meta::YAML;(my$uri=$self->{cpanmetadb})=~ s{/?$}{/package/$module};my$yaml=$self->get($uri);my$meta=eval {CPAN::Meta::YAML::Load($yaml)};if ($meta && $meta->{distfile}){return$self->cpan_module($module,$meta->{distfile},$meta->{version})}$self->diag_fail("Finding $module on cpanmetadb failed.");return}sub search_cpanmetadb_history {my($self,$module,$version)=@_;(my$uri=$self->{cpanmetadb})=~ s{/?$}{/history/$module};my$content=$self->get($uri)or return;my@found;for my$line (split /\r?\n/,$content){if ($line =~ /^$module\s+(\S+)\s+(\S+)$/){push@found,{version=>$1,version_obj=>version::->parse($1),distfile=>$2,}}}return unless@found;$found[-1]->{latest}=1;my$match;for my$try (sort {$b->{version_obj}cmp $a->{version_obj}}@found){if ($self->satisfy_version($module,$try->{version_obj},$version)){local$self->{mirrors}=$self->{mirrors};unshift @{$self->{mirrors}},'http://backpan.perl.org' unless$try->{latest};return$self->cpan_module($module,$try->{distfile},$try->{version})}}$self->diag_fail("Finding $module ($version) on cpanmetadb failed.");return}sub search_module {my($self,$module,$version)=@_;if ($self->{mirror_index}){$self->mask_output(chat=>"Searching $module on mirror index $self->{mirror_index} ...\n");my$pkg=$self->search_mirror_index_file($self->{mirror_index},$module,$version);return$pkg if$pkg;unless ($self->{cascade_search}){$self->mask_output(diag_fail=>"Finding $module ($version) on mirror index $self->{mirror_index} failed.");return}}unless ($self->{mirror_only}){my$found=$self->search_database($module,$version);return$found if$found}MIRROR: for my$mirror (@{$self->{mirrors}}){$self->mask_output(chat=>"Searching $module on mirror $mirror ...\n");my$name='02packages.details.txt.gz';my$uri="$mirror/modules/$name";my$gz_file=$self->package_index_for($mirror).'.gz';unless ($self->{pkgs}{$uri}){$self->mask_output(chat=>"Downloading index file $uri ...\n");$self->mirror($uri,$gz_file);$self->generate_mirror_index($mirror)or next MIRROR;$self->{pkgs}{$uri}="!!retrieved!!"}my$pkg=$self->search_mirror_index($mirror,$module,$version);return$pkg if$pkg;$self->mask_output(diag_fail=>"Finding $module ($version) on mirror $mirror failed.")}return}sub source_for {my($self,$mirror)=@_;$mirror =~ s/[^\w\.\-]+/%/g;my$dir="$self->{home}/sources/$mirror";File::Path::mkpath([$dir ],0,0777);return$dir}sub load_argv_from_fh {my($self,$fh)=@_;my@argv;while(defined(my$line=<$fh>)){chomp$line;$line =~ s/#.+$//;$line =~ s/^\s+//;$line =~ s/\s+$//;push@argv,split ' ',$line if$line}return@argv}sub show_version {my$self=shift;print "cpanm (App::cpanminus) version $VERSION ($0)\n";print "perl version $] ($^X)\n\n";print " \%Config:\n";for my$key (qw(archname installsitelib installsitebin installman1dir installman3dir sitearchexp sitelibexp vendorarch vendorlibexp archlibexp privlibexp)){print " $key=$Config{$key}\n" if$Config{$key}}print " \%ENV:\n";for my$key (grep /^PERL/,sort keys%ENV){print " $key=$ENV{$key}\n"}print " \@INC:\n";for my$inc (@INC){print " $inc\n" unless ref($inc)eq 'CODE'}return 1}sub show_help {my$self=shift;if ($_[0]){print <<USAGE;return}print <<HELP;return 1}sub _writable {my$dir=shift;my@dir=File::Spec->splitdir($dir);while (@dir){$dir=File::Spec->catdir(@dir);if (-e $dir){return -w _}pop@dir}return}sub maybe_abs {my($self,$lib)=@_;if ($lib eq '_' or $lib =~ /^~/ or File::Spec->file_name_is_absolute($lib)){return$lib}else {return File::Spec->canonpath(File::Spec->catdir(Cwd::cwd(),$lib))}}sub local_lib_target {my($self,$root)=@_;(grep {$_ ne ''}split /\Q$Config{path_sep}/,$root)[0]}sub bootstrap_local_lib {my$self=shift;if ($self->{local_lib}){return$self->setup_local_lib($self->{local_lib})}if ($ENV{PERL_LOCAL_LIB_ROOT}&& $ENV{PERL_MM_OPT}){return$self->setup_local_lib($self->local_lib_target($ENV{PERL_LOCAL_LIB_ROOT}),1)}return if$self->{sudo}or (_writable($Config{installsitelib})and _writable($Config{installsitebin}));if ($ENV{PERL_MM_OPT}and ($ENV{MODULEBUILDRC}or $ENV{PERL_MB_OPT})){return}$self->setup_local_lib;$self->diag(<<DIAG,1);sleep 2}sub upgrade_toolchain {my($self,$config_deps)=@_;my%deps=map {$_->module=>$_}@$config_deps;my$reqs=CPAN::Meta::Requirements->from_string_hash({'Module::Build'=>'0.38','ExtUtils::MakeMaker'=>'6.58','ExtUtils::Install'=>'1.46',});if ($deps{"ExtUtils::MakeMaker"}){$deps{"ExtUtils::MakeMaker"}->merge_with($reqs)}elsif ($deps{"Module::Build"}){$deps{"Module::Build"}->merge_with($reqs);$deps{"ExtUtils::Install"}||= App::cpanminus::Dependency->new("ExtUtils::Install",0,'configure');$deps{"ExtUtils::Install"}->merge_with($reqs)}@$config_deps=values%deps}sub _core_only_inc {my($self,$base)=@_;require local::lib;(local::lib->resolve_path(local::lib->install_base_arch_path($base)),local::lib->resolve_path(local::lib->install_base_perl_path($base)),(!$self->{exclude_vendor}? grep {$_}@Config{qw(vendorarch vendorlibexp)}: ()),@Config{qw(archlibexp privlibexp)},)}sub _diff {my($self,$old,$new)=@_;my@diff;my%old=map {$_=>1}@$old;for my$n (@$new){push@diff,$n unless exists$old{$n}}@diff}sub _setup_local_lib_env {my($self,$base)=@_;$self->diag(<<WARN,1)if$base =~ /\s/;local$SIG{__WARN__}=sub {};local::lib->setup_env_hash_for($base,0)}sub setup_local_lib {my($self,$base,$no_env)=@_;$base=undef if$base eq '_';require local::lib;{local $0='cpanm';$base ||= "~/perl5";$base=local::lib->resolve_path($base);if ($self->{self_contained}){my@inc=$self->_core_only_inc($base);$self->{search_inc}=[@inc ]}else {$self->{search_inc}=[local::lib->install_base_arch_path($base),local::lib->install_base_perl_path($base),@INC,]}$self->_setup_local_lib_env($base)unless$no_env;$self->{local_lib}=$base}}sub prompt_bool {my($self,$mess,$def)=@_;my$val=$self->prompt($mess,$def);return lc$val eq 'y'}sub prompt {my($self,$mess,$def)=@_;my$isa_tty=-t STDIN && (-t STDOUT ||!(-f STDOUT || -c STDOUT));my$dispdef=defined$def ? "[$def] " : " ";$def=defined$def ? $def : "";if (!$self->{prompt}|| (!$isa_tty && eof STDIN)){return$def}local $|=1;local $\;my$ans;eval {local$SIG{ALRM}=sub {undef$ans;die "alarm\n"};print STDOUT "$mess $dispdef";alarm$self->{prompt_timeout}if$self->{prompt_timeout};$ans=<STDIN>;alarm 0};if (defined$ans){chomp$ans}else {print STDOUT "\n"}return (!defined$ans || $ans eq '')? $def : $ans}sub diag_ok {my($self,$msg)=@_;chomp$msg;$msg ||= "OK";if ($self->{in_progress}){$self->_diag("$msg\n");$self->{in_progress}=0}$self->log("-> $msg\n")}sub diag_fail {my($self,$msg,$always)=@_;chomp$msg;if ($self->{in_progress}){$self->_diag("FAIL\n");$self->{in_progress}=0}if ($msg){$self->_diag("! $msg\n",$always,1);$self->log("-> FAIL $msg\n")}}sub diag_progress {my($self,$msg)=@_;chomp$msg;$self->{in_progress}=1;$self->_diag("$msg ... ");$self->log("$msg\n")}sub _diag {my($self,$msg,$always,$error)=@_;my$fh=$error ? *STDERR : *STDOUT;print {$fh}$msg if$always or $self->{verbose}or!$self->{quiet}}sub diag {my($self,$msg,$always)=@_;$self->_diag($msg,$always);$self->log($msg)}sub chat {my$self=shift;print STDERR @_ if$self->{verbose};$self->log(@_)}sub mask_output {my$self=shift;my$method=shift;$self->$method($self->mask_uri_passwords(@_))}sub log {my$self=shift;open my$out,">>$self->{log}";print$out @_}sub run {my($self,$cmd)=@_;if (WIN32){$cmd=$self->shell_quote(@$cmd)if ref$cmd eq 'ARRAY';unless ($self->{verbose}){$cmd .= " >> " .$self->shell_quote($self->{log})." 2>&1"}!system$cmd}else {my$pid=fork;if ($pid){waitpid$pid,0;return!$?}else {$self->run_exec($cmd)}}}sub run_exec {my($self,$cmd)=@_;if (ref$cmd eq 'ARRAY'){unless ($self->{verbose}){open my$logfh,">>",$self->{log};open STDERR,'>&',$logfh;open STDOUT,'>&',$logfh;close$logfh}exec @$cmd}else {unless ($self->{verbose}){$cmd .= " >> " .$self->shell_quote($self->{log})." 2>&1"}exec$cmd}}sub run_timeout {my($self,$cmd,$timeout)=@_;return$self->run($cmd)if WIN32 || $self->{verbose}||!$timeout;my$pid=fork;if ($pid){eval {local$SIG{ALRM}=sub {die "alarm\n"};alarm$timeout;waitpid$pid,0;alarm 0};if ($@ && $@ eq "alarm\n"){$self->diag_fail("Timed out (> ${timeout}s). Use --verbose to retry.");local$SIG{TERM}='IGNORE';kill TERM=>0;waitpid$pid,0;return}return!$?}elsif ($pid==0){$self->run_exec($cmd)}else {$self->chat("! fork failed: falling back to system()\n");$self->run($cmd)}}sub append_args {my($self,$cmd,$phase)=@_;if (my$args=$self->{build_args}{$phase}){$cmd=join ' ',$self->shell_quote(@$cmd),$args}$cmd}sub configure {my($self,$cmd,$depth)=@_;local$ENV{PERL5_CPAN_IS_RUNNING}=local$ENV{PERL5_CPANPLUS_IS_RUNNING}=$$;local$ENV{PERL5_CPANM_IS_RUNNING}=$$;my$use_default=!$self->{interactive};local$ENV{PERL_MM_USE_DEFAULT}=$use_default;local$ENV{PERL_MM_OPT}=$ENV{PERL_MM_OPT};local$ENV{PERL_MB_OPT}=$ENV{PERL_MB_OPT};unless ($self->{pod2man}){$ENV{PERL_MM_OPT}.= " INSTALLMAN1DIR=none INSTALLMAN3DIR=none";$ENV{PERL_MB_OPT}.= " --config installman1dir= --config installsiteman1dir= --config installman3dir= --config installsiteman3dir="}if ($self->{pure_perl}){$ENV{PERL_MM_OPT}.= " PUREPERL_ONLY=1";$ENV{PERL_MB_OPT}.= " --pureperl-only"}$cmd=$self->append_args($cmd,'configure')if$depth==0;local$self->{verbose}=$self->{verbose}|| $self->{interactive};$self->run_timeout($cmd,$self->{configure_timeout})}sub build {my($self,$cmd,$distname,$depth)=@_;local$ENV{PERL_MM_USE_DEFAULT}=!$self->{interactive};$cmd=$self->append_args($cmd,'build')if$depth==0;return 1 if$self->run_timeout($cmd,$self->{build_timeout});while (1){my$ans=lc$self->prompt("Building $distname failed.\nYou can s)kip, r)etry, e)xamine build log, or l)ook ?","s");return if$ans eq 's';return$self->build($cmd,$distname,$depth)if$ans eq 'r';$self->show_build_log if$ans eq 'e';$self->look if$ans eq 'l'}}sub test {my($self,$cmd,$distname,$depth)=@_;return 1 if$self->{notest};local$ENV{PERL_MM_USE_DEFAULT}=!$self->{interactive};local$ENV{NONINTERACTIVE_TESTING}=!$self->{interactive};$cmd=$self->append_args($cmd,'test')if$depth==0;return 1 if$self->run_timeout($cmd,$self->{test_timeout});if ($self->{force}){$self->diag_fail("Testing $distname failed but installing it anyway.");return 1}else {$self->diag_fail;while (1){my$ans=lc$self->prompt("Testing $distname failed.\nYou can s)kip, r)etry, f)orce install, e)xamine build log, or l)ook ?","s");return if$ans eq 's';return$self->test($cmd,$distname,$depth)if$ans eq 'r';return 1 if$ans eq 'f';$self->show_build_log if$ans eq 'e';$self->look if$ans eq 'l'}}}sub install {my($self,$cmd,$uninst_opts,$depth)=@_;if ($depth==0 && $self->{test_only}){return 1}if ($self->{sudo}){unshift @$cmd,"sudo"}if ($self->{uninstall_shadows}&&!$ENV{PERL_MM_OPT}){push @$cmd,@$uninst_opts}$cmd=$self->append_args($cmd,'install')if$depth==0;$self->run($cmd)}sub look {my$self=shift;my$shell=$ENV{SHELL};$shell ||= $ENV{COMSPEC}if WIN32;if ($shell){my$cwd=Cwd::cwd;$self->diag("Entering $cwd with $shell\n");system$shell}else {$self->diag_fail("You don't seem to have a SHELL :/")}}sub show_build_log {my$self=shift;my@pagers=($ENV{PAGER},(WIN32 ? (): ('less')),'more');my$pager;while (@pagers){$pager=shift@pagers;next unless$pager;$pager=$self->which($pager);next unless$pager;last}if ($pager){system("$pager < $self->{log}")}else {$self->diag_fail("You don't seem to have a PAGER :/")}}sub chdir {my$self=shift;Cwd::chdir(File::Spec->canonpath($_[0]))or die "$_[0]: $!"}sub configure_mirrors {my$self=shift;unless (@{$self->{mirrors}}){$self->{mirrors}=['http://www.cpan.org' ]}for (@{$self->{mirrors}}){s!^/!file:///!;s!/$!!}}sub self_upgrade {my$self=shift;$self->check_upgrade;$self->{argv}=['App::cpanminus' ];return}sub install_module {my($self,$module,$depth,$version)=@_;$self->check_libs;if ($self->{seen}{$module}++){$self->chat("Already tried $module. Skipping.\n");return 1}if ($self->{skip_satisfied}){my($ok,$local)=$self->check_module($module,$version || 0);if ($ok){$self->diag("You have $module ($local)\n",1);return 1}}my$dist=$self->resolve_name($module,$version);unless ($dist){my$what=$module .($version ? " ($version)" : "");$self->diag_fail("Couldn't find module or a distribution $what",1);return}if ($dist->{distvname}&& $self->{seen}{$dist->{distvname}}++){$self->chat("Already tried $dist->{distvname}. Skipping.\n");return 1}if ($self->{cmd}eq 'info'){print$self->format_dist($dist),"\n";return 1}$dist->{depth}=$depth;if ($dist->{module}){unless ($self->satisfy_version($dist->{module},$dist->{module_version},$version)){$self->diag("Found $dist->{module} $dist->{module_version} which doesn't satisfy $version.\n",1);return}my$cmp=$version ? "==" : "";my$requirement=$dist->{module_version}? "$cmp$dist->{module_version}" : 0;my($ok,$local)=$self->check_module($dist->{module},$requirement);if ($self->{skip_installed}&& $ok){$self->diag("$dist->{module} is up to date. ($local)\n",1);return 1}}if ($dist->{dist}eq 'perl'){$self->diag("skipping $dist->{pathname}\n");return 1}$self->diag("--> Working on $module\n");$dist->{dir}||= $self->fetch_module($dist);unless ($dist->{dir}){$self->diag_fail("Failed to fetch distribution $dist->{distvname}",1);return}$self->chat("Entering $dist->{dir}\n");$self->chdir($self->{base});$self->chdir($dist->{dir});if ($self->{cmd}eq 'look'){$self->look;return 1}return$self->build_stuff($module,$dist,$depth)}sub uninstall_search_path {my$self=shift;$self->{local_lib}? (local::lib->install_base_arch_path($self->{local_lib}),local::lib->install_base_perl_path($self->{local_lib})): @Config{qw(installsitearch installsitelib)}}sub uninstall_module {my ($self,$module)=@_;$self->check_libs;my@inc=$self->uninstall_search_path;my($metadata,$packlist)=$self->packlists_containing($module,\@inc);unless ($packlist){$self->diag_fail(<<DIAG,1);return}my@uninst_files=$self->uninstall_target($metadata,$packlist);$self->ask_permission($module,\@uninst_files)or return;$self->uninstall_files(@uninst_files,$packlist);$self->diag("Successfully uninstalled $module\n",1);return 1}sub packlists_containing {my($self,$module,$inc)=@_;require Module::Metadata;my$metadata=Module::Metadata->new_from_module($module,inc=>$inc)or return;my$packlist;my$wanted=sub {return unless $_ eq '.packlist' && -f $_;for my$file ($self->unpack_packlist($File::Find::name)){$packlist ||= $File::Find::name if$file eq $metadata->filename}};{require File::pushd;my$pushd=File::pushd::pushd();my@search=grep -d $_,map File::Spec->catdir($_,'auto'),@$inc;File::Find::find($wanted,@search)}return$metadata,$packlist}sub uninstall_target {my($self,$metadata,$packlist)=@_;if ($self->has_shadow_install($metadata)or $self->{local_lib}){grep$self->should_unlink($_),$self->unpack_packlist($packlist)}else {$self->unpack_packlist($packlist)}}sub has_shadow_install {my($self,$metadata)=@_;my@shadow=grep defined,map Module::Metadata->new_from_module($metadata->name,inc=>[$_]),@INC;@shadow >= 2}sub should_unlink {my($self,$file)=@_;if ($self->{local_lib}){$file =~ /^\Q$self->{local_lib}\E/}else {!(grep$file =~ /^\Q$_\E/,@Config{qw(installbin installscript installman1dir installman3dir)})}}sub ask_permission {my ($self,$module,$files)=@_;$self->diag("$module contains the following files:\n\n");for my$file (@$files){$self->diag(" $file\n")}$self->diag("\n");return 'force uninstall' if$self->{force};local$self->{prompt}=1;return$self->prompt_bool("Are you sure you want to uninstall $module?",'y')}sub unpack_packlist {my ($self,$packlist)=@_;open my$fh,'<',$packlist or die "$packlist: $!";map {chomp;$_}<$fh>}sub uninstall_files {my ($self,@files)=@_;$self->diag("\n");for my$file (@files){$self->diag("Unlink: $file\n");unlink$file or $self->diag_fail("$!: $file")}$self->diag("\n");return 1}sub format_dist {my($self,$dist)=@_;return "$dist->{cpanid}/$dist->{filename}"}sub trim {local $_=shift;tr/\n/ /d;s/^\s*|\s*$//g;$_}sub fetch_module {my($self,$dist)=@_;$self->chdir($self->{base});for my$uri (@{$dist->{uris}}){$self->mask_output(diag_progress=>"Fetching $uri");my$filename=$dist->{filename}|| $uri;my$name=File::Basename::basename($filename);my$cancelled;my$fetch=sub {my$file;eval {local$SIG{INT}=sub {$cancelled=1;die "SIGINT\n"};$self->mirror($uri,$name);$file=$name if -e $name};$self->diag("ERROR: " .trim("$@")."\n",1)if $@ && $@ ne "SIGINT\n";return$file};my($try,$file);while ($try++ < 3){$file=$fetch->();last if$cancelled or $file;$self->mask_output(diag_fail=>"Download $uri failed. Retrying ... ")}if ($cancelled){$self->diag_fail("Download cancelled.");return}unless ($file){$self->mask_output(diag_fail=>"Failed to download $uri");next}$self->diag_ok;$dist->{local_path}=File::Spec->rel2abs($name);my$dir=$self->unpack($file,$uri,$dist);next unless$dir;if (my$save=$self->{save_dists}){my$path=$dist->{pathname}? "$save/authors/id/$dist->{pathname}" : "$save/vendor/$file";$self->chat("Copying $name to $path\n");File::Path::mkpath([File::Basename::dirname($path)],0,0777);File::Copy::copy($file,$path)or warn $!}return$dist,$dir}}sub unpack {my($self,$file,$uri,$dist)=@_;if ($self->{verify}){$self->verify_archive($file,$uri,$dist)or return}$self->chat("Unpacking $file\n");my$dir=$file =~ /\.zip/i ? $self->unzip($file): $self->untar($file);unless ($dir){$self->diag_fail("Failed to unpack $file: no directory")}return$dir}sub verify_checksums_signature {my($self,$chk_file)=@_;require Module::Signature;$self->chat("Verifying the signature of CHECKSUMS\n");my$rv=eval {local$SIG{__WARN__}=sub {};my$v=Module::Signature::_verify($chk_file);$v==Module::Signature::SIGNATURE_OK()};if ($rv){$self->chat("Verified OK!\n")}else {$self->diag_fail("Verifying CHECKSUMS signature failed: $rv\n");return}return 1}sub verify_archive {my($self,$file,$uri,$dist)=@_;unless ($dist->{cpanid}){$self->chat("Archive '$file' does not seem to be from PAUSE. Skip verification.\n");return 1}(my$mirror=$uri)=~ s!/authors/id.*$!!;(my$chksum_uri=$uri)=~ s!/[^/]*$!/CHECKSUMS!;my$chk_file=$self->source_for($mirror)."/$dist->{cpanid}.CHECKSUMS";$self->mask_output(diag_progress=>"Fetching $chksum_uri");$self->mirror($chksum_uri,$chk_file);unless (-e $chk_file){$self->diag_fail("Fetching $chksum_uri failed.\n");return}$self->diag_ok;$self->verify_checksums_signature($chk_file)or return;$self->verify_checksum($file,$chk_file)}sub verify_checksum {my($self,$file,$chk_file)=@_;$self->chat("Verifying the SHA1 for $file\n");open my$fh,"<$chk_file" or die "$chk_file: $!";my$data=join '',<$fh>;$data =~ s/\015?\012/\n/g;require Safe;my$chksum=Safe->new->reval($data);if (!ref$chksum or ref$chksum ne 'HASH'){$self->diag_fail("! Checksum file downloaded from $chk_file is broken.\n");return}if (my$sha=$chksum->{$file}{sha256}){my$hex=$self->sha1_for($file);if ($hex eq $sha){$self->chat("Checksum for $file: Verified!\n")}else {$self->diag_fail("Checksum mismatch for $file\n");return}}else {$self->chat("Checksum for $file not found in CHECKSUMS.\n");return}}sub sha1_for {my($self,$file)=@_;require Digest::SHA;open my$fh,"<",$file or die "$file: $!";my$dg=Digest::SHA->new(256);my($data);while (read($fh,$data,4096)){$dg->add($data)}return$dg->hexdigest}sub verify_signature {my($self,$dist)=@_;$self->diag_progress("Verifying the SIGNATURE file");my$out=`$self->{cpansign} -v --skip 2>&1`;$self->log($out);if ($out =~ /Signature verified OK/){$self->diag_ok("Verified OK");return 1}else {$self->diag_fail("SIGNATURE verificaion for $dist->{filename} failed\n");return}}sub resolve_name {my($self,$module,$version)=@_;if ($module =~ /(?:^git:|\.git(?:@.+)?$)/){return$self->git_uri($module)}if ($module =~ /^(ftp|https?|file):/){if ($module =~ m!authors/id/(.*)!){return$self->cpan_dist($1,$module)}else {return {uris=>[$module ]}}}if ($module =~ m!^[\./]! && -d $module){return {source=>'local',dir=>Cwd::abs_path($module),}}if (-f $module){return {source=>'local',uris=>["file://" .Cwd::abs_path($module)],}}if ($module =~ s!^cpan:///distfile/!!){return$self->cpan_dist($module)}if ($module =~ m!^(?:[A-Z]/[A-Z]{2}/)?([A-Z]{2}[\-A-Z0-9]*/.*)$!){return$self->cpan_dist($1)}return$self->search_module($module,$version)}sub cpan_module {my($self,$module,$dist,$version)=@_;my$dist=$self->cpan_dist($dist);$dist->{module}=$module;$dist->{module_version}=$version if$version && $version ne 'undef';return$dist}sub cpan_dist {my($self,$dist,$url)=@_;$dist =~ s!^([A-Z]{2})!substr($1,0,1)."/".substr($1,0,2)."/".$1!e;require CPAN::DistnameInfo;my$d=CPAN::DistnameInfo->new($dist);if ($url){$url=[$url ]unless ref$url eq 'ARRAY'}else {my$id=$d->cpanid;my$fn=substr($id,0,1)."/" .substr($id,0,2)."/" .$id ."/" .$d->filename;my@mirrors=@{$self->{mirrors}};my@urls=map "$_/authors/id/$fn",@mirrors;$url=\@urls,}return {$d->properties,source=>'cpan',uris=>$url,}}sub git_uri {my ($self,$uri)=@_;($uri,my$commitish)=split /(?<=\.git)@/i,$uri,2;my$dir=File::Temp::tempdir(CLEANUP=>1);$self->mask_output(diag_progress=>"Cloning $uri");$self->run(['git','clone',$uri,$dir ]);unless (-e "$dir/.git"){$self->diag_fail("Failed cloning git repository $uri",1);return}if ($commitish){require File::pushd;my$dir=File::pushd::pushd($dir);unless ($self->run(['git','checkout',$commitish ])){$self->diag_fail("Failed to checkout '$commitish' in git repository $uri\n");return}}$self->diag_ok;return {source=>'local',dir=>$dir,}}sub setup_module_build_patch {my$self=shift;open my$out,">$self->{base}/ModuleBuildSkipMan.pm" or die $!;print$out <<EOF}sub core_version_for {my($self,$module)=@_;require Module::CoreList;unless (exists$Module::CoreList::version{$]+0}){die sprintf("Module::CoreList %s (loaded from %s) doesn't seem to have entries for perl $]. " ."You're strongly recommended to upgrade Module::CoreList from CPAN.\n",$Module::CoreList::VERSION,$INC{"Module/CoreList.pm"})}unless (exists$Module::CoreList::version{$]+0}{$module}){return -1}return$Module::CoreList::version{$]+0}{$module}}sub search_inc {my$self=shift;$self->{search_inc}||= do {if (defined$::Bin){[grep!/^\Q$::Bin\E\/..\/(?:fat)?lib$/,@INC]}else {[@INC]}}}sub check_module {my($self,$mod,$want_ver)=@_;require Module::Metadata;my$meta=Module::Metadata->new_from_module($mod,inc=>$self->search_inc)or return 0,undef;my$version=$meta->version;if ($self->{self_contained}&& $self->loaded_from_perl_lib($meta)){$version=$self->core_version_for($mod);return 0,undef if$version && $version==-1}$self->{local_versions}{$mod}=$version;if ($self->is_deprecated($meta)){return 0,$version}elsif ($self->satisfy_version($mod,$version,$want_ver)){return 1,($version || 'undef')}else {return 0,$version}}sub satisfy_version {my($self,$mod,$version,$want_ver)=@_;$want_ver='0' unless defined($want_ver)&& length($want_ver);require CPAN::Meta::Requirements;my$requirements=CPAN::Meta::Requirements->new;$requirements->add_string_requirement($mod,$want_ver);$requirements->accepts_module($mod,$version)}sub unsatisfy_how {my($self,$ver,$want_ver)=@_;if ($want_ver =~ /^[v0-9\.\_]+$/){return "$ver < $want_ver"}else {return "$ver doesn't satisfy $want_ver"}}sub is_deprecated {my($self,$meta)=@_;my$deprecated=eval {require Module::CoreList;Module::CoreList::is_deprecated($meta->{module})};return$deprecated && $self->loaded_from_perl_lib($meta)}sub loaded_from_perl_lib {my($self,$meta)=@_;require Config;my@dirs=qw(archlibexp privlibexp);if ($self->{self_contained}&&!$self->{exclude_vendor}&& $Config{vendorarch}){unshift@dirs,qw(vendorarch vendorlibexp)}for my$dir (@dirs){my$confdir=$Config{$dir};if ($confdir eq substr($meta->filename,0,length($confdir))){return 1}}return}sub should_install {my($self,$mod,$ver)=@_;$self->chat("Checking if you have $mod $ver ... ");my($ok,$local)=$self->check_module($mod,$ver);if ($ok){$self->chat("Yes ($local)\n")}elsif ($local){$self->chat("No (" .$self->unsatisfy_how($local,$ver).")\n")}else {$self->chat("No\n")}return$mod unless$ok;return}sub check_perl_version {my($self,$version)=@_;require CPAN::Meta::Requirements;my$req=CPAN::Meta::Requirements->from_string_hash({perl=>$version });$req->accepts_module(perl=>$])}sub install_deps {my($self,$dir,$depth,@deps)=@_;my(@install,%seen,@fail);for my$dep (@deps){next if$seen{$dep->module};if ($dep->module eq 'perl'){if ($dep->is_requirement &&!$self->check_perl_version($dep->version)){$self->diag("Needs perl @{[$dep->version]}, you have $]\n");push@fail,'perl'}}elsif ($self->should_install($dep->module,$dep->version)){push@install,$dep;$seen{$dep->module}=1}}if (@install){$self->diag("==> Found dependencies: " .join(", ",map $_->module,@install)."\n")}for my$dep (@install){$self->install_module($dep->module,$depth + 1,$dep->version)}$self->chdir($self->{base});$self->chdir($dir)if$dir;if ($self->{scandeps}){return 1}my@not_ok=$self->unsatisfied_deps(@deps);if (@not_ok){return 0,\@not_ok}else {return 1}}sub unsatisfied_deps {my($self,@deps)=@_;require CPAN::Meta::Check;require CPAN::Meta::Requirements;my$reqs=CPAN::Meta::Requirements->new;for my$dep (grep $_->is_requirement,@deps){$reqs->add_string_requirement($dep->module=>$dep->requires_version || '0')}my$ret=CPAN::Meta::Check::check_requirements($reqs,'requires',$self->{search_inc});grep defined,values %$ret}sub install_deps_bailout {my($self,$target,$dir,$depth,@deps)=@_;my($ok,$fail)=$self->install_deps($dir,$depth,@deps);if (!$ok){$self->diag_fail("Installing the dependencies failed: " .join(", ",@$fail),1);unless ($self->prompt_bool("Do you want to continue building $target anyway?","n")){$self->diag_fail("Bailing out the installation for $target.",1);return}}return 1}sub build_stuff {my($self,$stuff,$dist,$depth)=@_;if ($self->{verify}&& -e 'SIGNATURE'){$self->verify_signature($dist)or return}require CPAN::Meta;my($meta_file)=grep -f,qw(META.json META.yml);if ($meta_file){$self->chat("Checking configure dependencies from $meta_file\n");$dist->{cpanmeta}=eval {CPAN::Meta->load_file($meta_file)}}elsif ($dist->{dist}&& $dist->{version}){$self->chat("META.yml/json not found. Creating skeleton for it.\n");$dist->{cpanmeta}=CPAN::Meta->new({name=>$dist->{dist},version=>$dist->{version}})}$dist->{meta}=$dist->{cpanmeta}? $dist->{cpanmeta}->as_struct : {};my@config_deps;if ($dist->{cpanmeta}){push@config_deps,App::cpanminus::Dependency->from_prereqs($dist->{cpanmeta}->effective_prereqs,['configure'],$self->{install_types},)}if (-e 'Build.PL' &&!$self->should_use_mm($dist->{dist})&&!@config_deps){push@config_deps,App::cpanminus::Dependency->from_versions({'Module::Build'=>'0.38' },'configure',)}$self->upgrade_toolchain(\@config_deps);my$target=$dist->{meta}{name}? "$dist->{meta}{name}-$dist->{meta}{version}" : $dist->{dir};{local$self->{notest}=1;$self->install_deps_bailout($target,$dist->{dir},$depth,@config_deps)or return}$self->diag_progress("Configuring $target");my$configure_state=$self->configure_this($dist,$depth);$self->diag_ok($configure_state->{configured_ok}? "OK" : "N/A");if ($dist->{cpanmeta}&& $dist->{source}eq 'cpan'){$dist->{provides}=$dist->{cpanmeta}{provides}|| $self->extract_packages($dist->{cpanmeta},".")}my$root_target=(($self->{installdeps}or $self->{showdeps})and $depth==0);$dist->{want_phases}=$self->{notest}&&!$root_target ? [qw(build runtime)]: [qw(build test runtime)];push @{$dist->{want_phases}},'develop' if$self->{with_develop}&& $depth==0;my@deps=$self->find_prereqs($dist);my$module_name=$self->find_module_name($configure_state)|| $dist->{meta}{name};$module_name =~ s/-/::/g;if ($self->{showdeps}){for my$dep (@config_deps,@deps){print$dep->module,($dep->version ? ("~".$dep->version): ""),"\n"}return 1}my$distname=$dist->{meta}{name}? "$dist->{meta}{name}-$dist->{meta}{version}" : $stuff;my$walkup;if ($self->{scandeps}){$walkup=$self->scandeps_append_child($dist)}$self->install_deps_bailout($distname,$dist->{dir},$depth,@deps)or return;if ($self->{scandeps}){unless ($configure_state->{configured_ok}){my$diag=<<DIAG;if (@config_deps){my@tree=@{$self->{scandeps_tree}};$diag .= "!\n" .join("",map "! * $_->[0]{module}\n",@tree[0..$#tree-1])if@tree}$self->diag("!\n$diag!\n",1)}$walkup->();return 1}if ($self->{installdeps}&& $depth==0){if ($configure_state->{configured_ok}){$self->diag("<== Installed dependencies for $stuff. Finishing.\n");return 1}else {$self->diag("! Configuring $distname failed. See $self->{log} for details.\n",1);return}}my$installed;if ($configure_state->{use_module_build}&& -e 'Build' && -f _){$self->diag_progress("Building " .($self->{notest}? "" : "and testing ").$distname);$self->build([$self->{perl},"./Build" ],$distname,$depth)&& $self->test([$self->{perl},"./Build","test" ],$distname,$depth)&& $self->install([$self->{perl},"./Build","install" ],["--uninst",1 ],$depth)&& $installed++}elsif ($self->{make}&& -e 'Makefile'){$self->diag_progress("Building " .($self->{notest}? "" : "and testing ").$distname);$self->build([$self->{make}],$distname,$depth)&& $self->test([$self->{make},"test" ],$distname,$depth)&& $self->install([$self->{make},"install" ],["UNINST=1" ],$depth)&& $installed++}else {my$why;my$configure_failed=$configure_state->{configured}&&!$configure_state->{configured_ok};if ($configure_failed){$why="Configure failed for $distname."}elsif ($self->{make}){$why="The distribution doesn't have a proper Makefile.PL/Build.PL"}else {$why="Can't configure the distribution. You probably need to have 'make'."}$self->diag_fail("$why See $self->{log} for details.",1);return}if ($installed && $self->{test_only}){$self->diag_ok;$self->diag("Successfully tested $distname\n",1)}elsif ($installed){my$local=$self->{local_versions}{$dist->{module}|| ''};my$version=$dist->{module_version}|| $dist->{meta}{version}|| $dist->{version};my$reinstall=$local && ($local eq $version);my$action=$local &&!$reinstall ? $self->numify_ver($version)< $self->numify_ver($local)? "downgraded" : "upgraded" : undef;my$how=$reinstall ? "reinstalled $distname" : $local ? "installed $distname ($action from $local)" : "installed $distname" ;my$msg="Successfully $how";$self->diag_ok;$self->diag("$msg\n",1);$self->{installed_dists}++;$self->save_meta($stuff,$dist,$module_name,\@config_deps,\@deps);return 1}else {my$what=$self->{test_only}? "Testing" : "Installing";$self->diag_fail("$what $stuff failed. See $self->{log} for details. Retry with --force to force install it.",1);return}}sub perl_requirements {my($self,@requires)=@_;my@perl;for my$requires (grep defined,@requires){if (exists$requires->{perl}){push@perl,App::cpanminus::Dependency->new(perl=>$requires->{perl})}}return@perl}sub should_use_mm {my($self,$dist)=@_;my%should_use_mm=map {$_=>1}qw(version ExtUtils-ParseXS ExtUtils-Install ExtUtils-Manifest);$should_use_mm{$dist}}sub configure_this {my($self,$dist,$depth)=@_;if (-e $self->{cpanfile_path}&& $self->{installdeps}&& $depth==0){require Module::CPANfile;$dist->{cpanfile}=eval {Module::CPANfile->load($self->{cpanfile_path})};$self->diag_fail($@,1)if $@;return {configured=>1,configured_ok=>!!$dist->{cpanfile},use_module_build=>0,}}if ($self->{skip_configure}){my$eumm=-e 'Makefile';my$mb=-e 'Build' && -f _;return {configured=>1,configured_ok=>$eumm || $mb,use_module_build=>$mb,}}my$state={};my$try_eumm=sub {if (-e 'Makefile.PL'){$self->chat("Running Makefile.PL\n");if ($self->configure([$self->{perl},"Makefile.PL" ],$depth)){$state->{configured_ok}=-e 'Makefile'}$state->{configured}++}};my$try_mb=sub {if (-e 'Build.PL'){$self->chat("Running Build.PL\n");if ($self->configure([$self->{perl},"Build.PL" ],$depth)){$state->{configured_ok}=-e 'Build' && -f _}$state->{use_module_build}++;$state->{configured}++}};my@try;if ($dist->{dist}&& $self->should_use_mm($dist->{dist})){@try=($try_eumm,$try_mb)}else {@try=($try_mb,$try_eumm)}for my$try (@try){$try->();last if$state->{configured_ok}}unless ($state->{configured_ok}){while (1){my$ans=lc$self->prompt("Configuring $dist->{dist} failed.\nYou can s)kip, r)etry, e)xamine build log, or l)ook ?","s");last if$ans eq 's';return$self->configure_this($dist,$depth)if$ans eq 'r';$self->show_build_log if$ans eq 'e';$self->look if$ans eq 'l'}}return$state}sub find_module_name {my($self,$state)=@_;return unless$state->{configured_ok};if ($state->{use_module_build}&& -e "_build/build_params"){my$params=do {open my$in,"_build/build_params";$self->safe_eval(join "",<$in>)};return eval {$params->[2]{module_name}}|| undef}elsif (-e "Makefile"){open my$mf,"Makefile";while (<$mf>){if (/^\#\s+NAME\s+=>\s+(.*)/){return$self->safe_eval($1)}}}return}sub list_files {my$self=shift;if (-e 'MANIFEST'){require ExtUtils::Manifest;my$manifest=eval {ExtUtils::Manifest::manifind()}|| {};return sort {lc$a cmp lc$b}keys %$manifest}else {require File::Find;my@files;my$finder=sub {my$name=$File::Find::name;$name =~ s!\.[/\\]!!;push@files,$name};File::Find::find($finder,".");return sort {lc$a cmp lc$b}@files}}sub extract_packages {my($self,$meta,$dir)=@_;my$try=sub {my$file=shift;return 0 if$file =~ m!^(?:x?t|inc|local|perl5|fatlib|_build)/!;return 1 unless$meta->{no_index};return 0 if grep {$file =~ m!^$_/!}@{$meta->{no_index}{directory}|| []};return 0 if grep {$file eq $_}@{$meta->{no_index}{file}|| []};return 1};require Parse::PMFile;my@files=grep {/\.pm(?:\.PL)?$/ && $try->($_)}$self->list_files;my$provides={};for my$file (@files){my$parser=Parse::PMFile->new($meta,{UNSAFE=>1,ALLOW_DEV_VERSION=>1 });my$packages=$parser->parse($file);while (my($package,$meta)=each %$packages){$provides->{$package}||= {file=>$meta->{infile},($meta->{version}eq 'undef')? (): (version=>$meta->{version}),}}}return$provides}sub save_meta {my($self,$module,$dist,$module_name,$config_deps,$build_deps)=@_;return unless$dist->{distvname}&& $dist->{source}eq 'cpan';my$base=($ENV{PERL_MM_OPT}|| '')=~ /INSTALL_BASE=/ ? ($self->install_base($ENV{PERL_MM_OPT})."/lib/perl5"): $Config{sitelibexp};my$provides=$dist->{provides};File::Path::mkpath("blib/meta",0,0777);my$local={name=>$module_name,target=>$module,version=>exists$provides->{$module_name}? ($provides->{$module_name}{version}|| $dist->{version}): $dist->{version},dist=>$dist->{distvname},pathname=>$dist->{pathname},provides=>$provides,};require JSON::PP;open my$fh,">","blib/meta/install.json" or die $!;print$fh JSON::PP::encode_json($local);if (-e "MYMETA.json"){File::Copy::copy("MYMETA.json","blib/meta/MYMETA.json")}my@cmd=(($self->{sudo}? 'sudo' : ()),$^X,'-MExtUtils::Install=install','-e',qq[install({ 'blib/meta' => '$base/$Config{archname}/.meta/$dist->{distvname}' })],);$self->run(\@cmd)}sub _merge_hashref {my($self,@hashrefs)=@_;my%hash;for my$h (@hashrefs){%hash=(%hash,%$h)}return \%hash}sub install_base {my($self,$mm_opt)=@_;$mm_opt =~ /INSTALL_BASE=(\S+)/ and return $1;die "Your PERL_MM_OPT doesn't contain INSTALL_BASE"}sub safe_eval {my($self,$code)=@_;eval$code}sub configure_features {my($self,$dist,@features)=@_;map $_->identifier,grep {$self->effective_feature($dist,$_)}@features}sub effective_feature {my($self,$dist,$feature)=@_;if ($dist->{depth}==0){my$value=$self->{features}{$feature->identifier};return$value if defined$value;return 1 if$self->{features}{__all}}if ($self->{interactive}){require CPAN::Meta::Requirements;$self->diag("[@{[ $feature->description ]}]\n",1);my$req=CPAN::Meta::Requirements->new;for my$phase (@{$dist->{want_phases}}){for my$type (@{$self->{install_types}}){$req->add_requirements($feature->prereqs->requirements_for($phase,$type))}}my$reqs=$req->as_string_hash;my@missing;for my$module (keys %$reqs){if ($self->should_install($module,$req->{$module})){push@missing,$module}}if (@missing){my$howmany=@missing;$self->diag("==> Found missing dependencies: " .join(", ",@missing)."\n",1);local$self->{prompt}=1;return$self->prompt_bool("Install the $howmany optional module(s)?","y")}}return}sub find_prereqs {my($self,$dist)=@_;my@deps=$self->extract_meta_prereqs($dist);if ($dist->{module}=~ /^Bundle::/i){push@deps,$self->bundle_deps($dist)}if ($self->{cpanfile_requirements}&&!$dist->{cpanfile}){for my$dep (@deps){$dep->merge_with($self->{cpanfile_requirements})}}return@deps}sub extract_meta_prereqs {my($self,$dist)=@_;if ($dist->{cpanfile}){my@features=$self->configure_features($dist,$dist->{cpanfile}->features);my$prereqs=$dist->{cpanfile}->prereqs_with(@features);$self->{cpanfile_requirements}=$prereqs->merged_requirements($dist->{want_phases},['requires']);return App::cpanminus::Dependency->from_prereqs($prereqs,$dist->{want_phases},$self->{install_types})}require CPAN::Meta;my@deps;my($meta_file)=grep -f,qw(MYMETA.json MYMETA.yml);if ($meta_file){$self->chat("Checking dependencies from $meta_file ...\n");my$mymeta=eval {CPAN::Meta->load_file($meta_file,{lazy_validation=>1 })};if ($mymeta){$dist->{meta}{name}=$mymeta->name;$dist->{meta}{version}=$mymeta->version;return$self->extract_prereqs($mymeta,$dist)}}if (-e '_build/prereqs'){$self->chat("Checking dependencies from _build/prereqs ...\n");my$prereqs=do {open my$in,"_build/prereqs";$self->safe_eval(join "",<$in>)};my$meta=CPAN::Meta->new({name=>$dist->{meta}{name},version=>$dist->{meta}{version},%$prereqs },{lazy_validation=>1 },);@deps=$self->extract_prereqs($meta,$dist)}elsif (-e 'Makefile'){$self->chat("Finding PREREQ from Makefile ...\n");open my$mf,"Makefile";while (<$mf>){if (/^\#\s+PREREQ_PM => \{\s*(.*?)\s*\}/){my@all;my@pairs=split ', ',$1;for (@pairs){my ($pkg,$v)=split '=>',$_;push@all,[$pkg,$v ]}my$list=join ", ",map {"'$_->[0]' => $_->[1]"}@all;my$prereq=$self->safe_eval("no strict; +{ $list }");push@deps,App::cpanminus::Dependency->from_versions($prereq)if$prereq;last}}}return@deps}sub bundle_deps {my($self,$dist)=@_;my@files;File::Find::find({wanted=>sub {push@files,File::Spec->rel2abs($_)if /\.pm/i},no_chdir=>1,},'.');my@deps;for my$file (@files){open my$pod,"<",$file or next;my$in_contents;while (<$pod>){if (/^=head\d\s+CONTENTS/){$in_contents=1}elsif (/^=/){$in_contents=0}elsif ($in_contents){/^(\S+)\s*(\S+)?/ and push@deps,App::cpanminus::Dependency->new($1,$self->maybe_version($2))}}}return@deps}sub maybe_version {my($self,$string)=@_;return$string && $string =~ /^\.?\d/ ? $string : undef}sub extract_prereqs {my($self,$meta,$dist)=@_;my@features=$self->configure_features($dist,$meta->features);my$prereqs=$self->soften_makemaker_prereqs($meta->effective_prereqs(\@features)->clone);return App::cpanminus::Dependency->from_prereqs($prereqs,$dist->{want_phases},$self->{install_types})}sub soften_makemaker_prereqs {my($self,$prereqs)=@_;return$prereqs unless -e "inc/Module/Install.pm";for my$phase (qw(build test runtime)){my$reqs=$prereqs->requirements_for($phase,'requires');if ($reqs->requirements_for_module('ExtUtils::MakeMaker')){$reqs->clear_requirement('ExtUtils::MakeMaker');$reqs->add_minimum('ExtUtils::MakeMaker'=>0)}}$prereqs}sub cleanup_workdirs {my$self=shift;my$expire=time - 24 * 60 * 60 * $self->{auto_cleanup};my@targets;opendir my$dh,"$self->{home}/work";while (my$e=readdir$dh){next if$e !~ /^(\d+)\.\d+$/;my$time=$1;if ($time < $expire){push@targets,"$self->{home}/work/$e"}}if (@targets){if (@targets >= 64){$self->diag("Expiring " .scalar(@targets)." work directories. This might take a while...\n")}else {$self->chat("Expiring " .scalar(@targets)." work directories.\n")}File::Path::rmtree(\@targets,0,0)}}sub scandeps_append_child {my($self,$dist)=@_;my$new_node=[$dist,[]];my$curr_node=$self->{scandeps_current}|| [undef,$self->{scandeps_tree}];push @{$curr_node->[1]},$new_node;$self->{scandeps_current}=$new_node;return sub {$self->{scandeps_current}=$curr_node}}sub dump_scandeps {my$self=shift;if ($self->{format}eq 'tree'){$self->walk_down(sub {my($dist,$depth)=@_;if ($depth==0){print "$dist->{distvname}\n"}else {print " " x ($depth - 1);print "\\_ $dist->{distvname}\n"}},1)}elsif ($self->{format}=~ /^dists?$/){$self->walk_down(sub {my($dist,$depth)=@_;print$self->format_dist($dist),"\n"},0)}elsif ($self->{format}eq 'json'){require JSON::PP;print JSON::PP::encode_json($self->{scandeps_tree})}elsif ($self->{format}eq 'yaml'){require YAML;print YAML::Dump($self->{scandeps_tree})}else {$self->diag("Unknown format: $self->{format}\n")}}sub walk_down {my($self,$cb,$pre)=@_;$self->_do_walk_down($self->{scandeps_tree},$cb,0,$pre)}sub _do_walk_down {my($self,$children,$cb,$depth,$pre)=@_;for my$node (@$children){$cb->($node->[0],$depth)if$pre;$self->_do_walk_down($node->[1],$cb,$depth + 1,$pre);$cb->($node->[0],$depth)unless$pre}}sub DESTROY {my$self=shift;$self->{at_exit}->($self)if$self->{at_exit}}sub shell_quote {my($self,@stuff)=@_;if (WIN32){join ' ',map {/^${quote}.+${quote}$/ ? $_ : ($quote .$_ .$quote)}@stuff}else {String::ShellQuote::shell_quote_best_effort(@stuff)}}sub which {my($self,$name)=@_;if (File::Spec->file_name_is_absolute($name)){if (-x $name &&!-d _){return$name}}my$exe_ext=$Config{_exe};for my$dir (File::Spec->path){my$fullpath=File::Spec->catfile($dir,$name);if ((-x $fullpath || -x ($fullpath .= $exe_ext))&&!-d _){if ($fullpath =~ /\s/){$fullpath=$self->shell_quote($fullpath)}return$fullpath}}return}sub get {my($self,$uri)=@_;if ($uri =~ /^file:/){$self->file_get($uri)}else {$self->{_backends}{get}->(@_)}}sub mirror {my($self,$uri,$local)=@_;if ($uri =~ /^file:/){$self->file_mirror($uri,$local)}else {$self->{_backends}{mirror}->(@_)}}sub untar {$_[0]->{_backends}{untar}->(@_)};sub unzip {$_[0]->{_backends}{unzip}->(@_)};sub uri_to_file {my($self,$uri)=@_;if ($uri =~ s!file:/+!!){$uri="/$uri" unless$uri =~ m![a-zA-Z]:!}return$uri}sub file_get {my($self,$uri)=@_;my$file=$self->uri_to_file($uri);open my$fh,"<$file" or return;join '',<$fh>}sub file_mirror {my($self,$uri,$path)=@_;my$file=$self->uri_to_file($uri);File::Copy::copy($file,$path)}sub has_working_lwp {my($self,$mirrors)=@_;my$https=grep /^https:/,@$mirrors;eval {require LWP::UserAgent;LWP::UserAgent->VERSION(5.802);require LWP::Protocol::https if$https;1}}sub init_tools {my$self=shift;return if$self->{initialized}++;if ($self->{make}=$self->which($Config{make})){$self->chat("You have make $self->{make}\n")}if ($self->{try_lwp}&& $self->has_working_lwp($self->{mirrors})){$self->chat("You have LWP $LWP::VERSION\n");my$ua=sub {LWP::UserAgent->new(parse_head=>0,env_proxy=>1,agent=>$self->agent,timeout=>30,@_,)};$self->{_backends}{get}=sub {my$self=shift;my$res=$ua->()->request(HTTP::Request->new(GET=>$_[0]));return unless$res->is_success;return$res->decoded_content};$self->{_backends}{mirror}=sub {my$self=shift;my$res=$ua->()->mirror(@_);die$res->content if$res->code==501;$res->code}}elsif ($self->{try_wget}and my$wget=$self->which('wget')){$self->chat("You have $wget\n");my@common=('--user-agent',$self->agent,'--retry-connrefused',($self->{verbose}? (): ('-q')),);$self->{_backends}{get}=sub {my($self,$uri)=@_;$self->safeexec(my$fh,$wget,$uri,@common,'-O','-')or die "wget $uri: $!";local $/;<$fh>};$self->{_backends}{mirror}=sub {my($self,$uri,$path)=@_;$self->safeexec(my$fh,$wget,$uri,@common,'-O',$path)or die "wget $uri: $!";local $/;<$fh>}}elsif ($self->{try_curl}and my$curl=$self->which('curl')){$self->chat("You have $curl\n");my@common=('--location','--user-agent',$self->agent,($self->{verbose}? (): '-s'),);$self->{_backends}{get}=sub {my($self,$uri)=@_;$self->safeexec(my$fh,$curl,@common,$uri)or die "curl $uri: $!";local $/;<$fh>};$self->{_backends}{mirror}=sub {my($self,$uri,$path)=@_;$self->safeexec(my$fh,$curl,@common,$uri,'-#','-o',$path)or die "curl $uri: $!";local $/;<$fh>}}else {require HTTP::Tiny;$self->chat("Falling back to HTTP::Tiny $HTTP::Tiny::VERSION\n");my%common=(agent=>$self->agent,);$self->{_backends}{get}=sub {my$self=shift;my$res=HTTP::Tiny->new(%common)->get($_[0]);return unless$res->{success};return$res->{content}};$self->{_backends}{mirror}=sub {my$self=shift;my$res=HTTP::Tiny->new(%common)->mirror(@_);return$res->{status}}}my$tar=$self->which('tar');my$tar_ver;my$maybe_bad_tar=sub {WIN32 || BAD_TAR || (($tar_ver=`$tar --version 2>/dev/null`)=~ /GNU.*1\.13/i)};if ($tar &&!$maybe_bad_tar->()){chomp$tar_ver;$self->chat("You have $tar: $tar_ver\n");$self->{_backends}{untar}=sub {my($self,$tarfile)=@_;my$xf=($self->{verbose}? 'v' : '')."xf";my$ar=$tarfile =~ /bz2$/ ? 'j' : 'z';my($root,@others)=`$tar ${ar}tf $tarfile` or return undef;FILE: {chomp$root;$root =~ s!^\./!!;$root =~ s{^(.+?)/.*$}{$1};if (!length($root)){$root=shift(@others);redo FILE if$root}}system "$tar $ar$xf $tarfile";return$root if -d $root;$self->diag_fail("Bad archive: $tarfile");return undef}}elsif ($tar and my$gzip=$self->which('gzip')and my$bzip2=$self->which('bzip2')){$self->chat("You have $tar, $gzip and $bzip2\n");$self->{_backends}{untar}=sub {my($self,$tarfile)=@_;my$x="x" .($self->{verbose}? 'v' : '')."f -";my$ar=$tarfile =~ /bz2$/ ? $bzip2 : $gzip;my($root,@others)=`$ar -dc $tarfile | $tar tf -` or return undef;FILE: {chomp$root;$root =~ s!^\./!!;$root =~ s{^(.+?)/.*$}{$1};if (!length($root)){$root=shift(@others);redo FILE if$root}}system "$ar -dc $tarfile | $tar $x";return$root if -d $root;$self->diag_fail("Bad archive: $tarfile");return undef}}elsif (eval {require Archive::Tar}){$self->chat("Falling back to Archive::Tar $Archive::Tar::VERSION\n");$self->{_backends}{untar}=sub {my$self=shift;my$t=Archive::Tar->new($_[0]);my($root,@others)=$t->list_files;FILE: {$root =~ s!^\./!!;$root =~ s{^(.+?)/.*$}{$1};if (!length($root)){$root=shift(@others);redo FILE if$root}}$t->extract;return -d $root ? $root : undef}}else {$self->{_backends}{untar}=sub {die "Failed to extract $_[1] - You need to have tar or Archive::Tar installed.\n"}}if (my$unzip=$self->which('unzip')){$self->chat("You have $unzip\n");$self->{_backends}{unzip}=sub {my($self,$zipfile)=@_;my$opt=$self->{verbose}? '' : '-q';my(undef,$root,@others)=`$unzip -t $zipfile` or return undef;chomp$root;$root =~ s{^\s+testing:\s+([^/]+)/.*?\s+OK$}{$1};system "$unzip $opt $zipfile";return$root if -d $root;$self->diag_fail("Bad archive: [$root] $zipfile");return undef}}else {$self->{_backends}{unzip}=sub {eval {require Archive::Zip}or die "Failed to extract $_[1] - You need to have unzip or Archive::Zip installed.\n";my($self,$file)=@_;my$zip=Archive::Zip->new();my$status;$status=$zip->read($file);$self->diag_fail("Read of file[$file] failed")if$status!=Archive::Zip::AZ_OK();my@members=$zip->members();for my$member (@members){my$af=$member->fileName();next if ($af =~ m!^(/|\.\./)!);$status=$member->extractToFileNamed($af);$self->diag_fail("Extracting of file[$af] from zipfile[$file failed")if$status!=Archive::Zip::AZ_OK()}my ($root)=$zip->membersMatching(qr<^[^/]+/$>);$root &&= $root->fileName;return -d $root ? $root : undef}}}sub safeexec {my$self=shift;my$rdr=$_[0]||= Symbol::gensym();if (WIN32){my$cmd=$self->shell_quote(@_[1..$#_]);return open($rdr,"$cmd |")}if (my$pid=open($rdr,'-|')){return$pid}elsif (defined$pid){exec(@_[1 .. $#_ ]);exit 1}else {return}}sub mask_uri_passwords {my($self,@strings)=@_;s{ (https?://) ([^:/]+) : [^@/]+ @ }{$1$2:********@}gx for@strings;return@strings}1;
+ package App::cpanminus::script;use strict;use Config;use Cwd ();use App::cpanminus;use App::cpanminus::Dependency;use File::Basename ();use File::Find ();use File::Path ();use File::Spec ();use File::Copy ();use File::Temp ();use Getopt::Long ();use Symbol ();use String::ShellQuote ();use version ();use constant WIN32=>$^O eq 'MSWin32';use constant BAD_TAR=>($^O eq 'solaris' || $^O eq 'hpux');use constant CAN_SYMLINK=>eval {symlink("","");1};our$VERSION=$App::cpanminus::VERSION;if ($INC{"App/FatPacker/Trace.pm"}){require version::vpp}my$quote=WIN32 ? q/"/ : q/'/;sub agent {my$self=shift;my$agent="cpanminus/$VERSION";$agent .= " perl/$]" if$self->{report_perl_version};$agent}sub determine_home {my$class=shift;my$homedir=$ENV{HOME}|| eval {require File::HomeDir;File::HomeDir->my_home}|| join('',@ENV{qw(HOMEDRIVE HOMEPATH)});if (WIN32){require Win32;$homedir=Win32::GetShortPathName($homedir)}return "$homedir/.cpanm"}sub new {my$class=shift;bless {home=>$class->determine_home,cmd=>'install',seen=>{},notest=>undef,test_only=>undef,installdeps=>undef,force=>undef,sudo=>undef,make=>undef,verbose=>undef,quiet=>undef,interactive=>undef,log=>undef,mirrors=>[],mirror_only=>undef,mirror_index=>undef,cpanmetadb=>"http://cpanmetadb.plackperl.org/v1.0/",perl=>$^X,argv=>[],local_lib=>undef,self_contained=>undef,exclude_vendor=>undef,prompt_timeout=>0,prompt=>undef,configure_timeout=>60,build_timeout=>3600,test_timeout=>1800,try_lwp=>1,try_wget=>1,try_curl=>1,uninstall_shadows=>($] < 5.012),skip_installed=>1,skip_satisfied=>0,auto_cleanup=>7,pod2man=>1,installed_dists=>0,install_types=>['requires'],with_develop=>0,with_configure=>0,showdeps=>0,scandeps=>0,scandeps_tree=>[],format=>'tree',save_dists=>undef,skip_configure=>0,verify=>0,report_perl_version=>!$class->maybe_ci,build_args=>{},features=>{},pure_perl=>0,cpanfile_path=>'cpanfile',@_,},$class}sub env {my($self,$key)=@_;$ENV{"PERL_CPANM_" .$key}}sub maybe_ci {my$class=shift;grep$ENV{$_},qw(TRAVIS CI AUTOMATED_TESTING AUTHOR_TESTING)}sub install_type_handlers {my$self=shift;my@handlers;for my$type (qw(recommends suggests)){push@handlers,"with-$type"=>sub {my%uniq;$self->{install_types}=[grep!$uniq{$_}++,@{$self->{install_types}},$type ]};push@handlers,"without-$type"=>sub {$self->{install_types}=[grep $_ ne $type,@{$self->{install_types}}]}}@handlers}sub build_args_handlers {my$self=shift;my@handlers;for my$phase (qw(configure build test install)){push@handlers,"$phase-args=s"=>\($self->{build_args}{$phase})}@handlers}sub parse_options {my$self=shift;local@ARGV=@{$self->{argv}};push@ARGV,grep length,split /\s+/,$self->env('OPT');push@ARGV,@_;Getopt::Long::Configure("bundling");Getopt::Long::GetOptions('f|force'=>sub {$self->{skip_installed}=0;$self->{force}=1},'n|notest!'=>\$self->{notest},'test-only'=>sub {$self->{notest}=0;$self->{skip_installed}=0;$self->{test_only}=1},'S|sudo!'=>\$self->{sudo},'v|verbose'=>\$self->{verbose},'verify!'=>\$self->{verify},'q|quiet!'=>\$self->{quiet},'h|help'=>sub {$self->{action}='show_help'},'V|version'=>sub {$self->{action}='show_version'},'perl=s'=>sub {$self->diag("--perl is deprecated since it's known to be fragile in figuring out dependencies. Run `$_[1] -S cpanm` instead.\n",1);$self->{perl}=$_[1]},'l|local-lib=s'=>sub {$self->{local_lib}=$self->maybe_abs($_[1])},'L|local-lib-contained=s'=>sub {$self->{local_lib}=$self->maybe_abs($_[1]);$self->{self_contained}=1;$self->{pod2man}=undef},'self-contained!'=>\$self->{self_contained},'exclude-vendor!'=>\$self->{exclude_vendor},'mirror=s@'=>$self->{mirrors},'mirror-only!'=>\$self->{mirror_only},'mirror-index=s'=>sub {$self->{mirror_index}=$self->maybe_abs($_[1])},'M|from=s'=>sub {$self->{mirrors}=[$_[1]];$self->{mirror_only}=1},'cpanmetadb=s'=>\$self->{cpanmetadb},'cascade-search!'=>\$self->{cascade_search},'prompt!'=>\$self->{prompt},'installdeps'=>\$self->{installdeps},'skip-installed!'=>\$self->{skip_installed},'skip-satisfied!'=>\$self->{skip_satisfied},'reinstall'=>sub {$self->{skip_installed}=0},'interactive!'=>\$self->{interactive},'i|install'=>sub {$self->{cmd}='install'},'info'=>sub {$self->{cmd}='info'},'look'=>sub {$self->{cmd}='look';$self->{skip_installed}=0},'U|uninstall'=>sub {$self->{cmd}='uninstall'},'self-upgrade'=>sub {$self->{action}='self_upgrade'},'uninst-shadows!'=>\$self->{uninstall_shadows},'lwp!'=>\$self->{try_lwp},'wget!'=>\$self->{try_wget},'curl!'=>\$self->{try_curl},'auto-cleanup=s'=>\$self->{auto_cleanup},'man-pages!'=>\$self->{pod2man},'scandeps'=>\$self->{scandeps},'showdeps'=>sub {$self->{showdeps}=1;$self->{skip_installed}=0},'format=s'=>\$self->{format},'save-dists=s'=>sub {$self->{save_dists}=$self->maybe_abs($_[1])},'skip-configure!'=>\$self->{skip_configure},'dev!'=>\$self->{dev_release},'metacpan!'=>\$self->{metacpan},'report-perl-version!'=>\$self->{report_perl_version},'configure-timeout=i'=>\$self->{configure_timeout},'build-timeout=i'=>\$self->{build_timeout},'test-timeout=i'=>\$self->{test_timeout},'with-develop'=>\$self->{with_develop},'without-develop'=>sub {$self->{with_develop}=0},'with-configure'=>\$self->{with_configure},'without-configure'=>sub {$self->{with_configure}=0},'with-feature=s'=>sub {$self->{features}{$_[1]}=1},'without-feature=s'=>sub {$self->{features}{$_[1]}=0},'with-all-features'=>sub {$self->{features}{__all}=1},'pp|pureperl!'=>\$self->{pure_perl},"cpanfile=s"=>\$self->{cpanfile_path},$self->install_type_handlers,$self->build_args_handlers,);if (!@ARGV && $0 ne '-' &&!-t STDIN){push@ARGV,$self->load_argv_from_fh(\*STDIN);$self->{load_from_stdin}=1}$self->{argv}=\@ARGV}sub check_upgrade {my$self=shift;my$install_base=$ENV{PERL_LOCAL_LIB_ROOT}? $self->local_lib_target($ENV{PERL_LOCAL_LIB_ROOT}): $Config{installsitebin};if ($0 eq '-'){return}elsif ($0 !~ /^$install_base/){if ($0 =~ m!perlbrew/bin!){die <<DIE}else {die <<DIE}}}sub check_libs {my$self=shift;return if$self->{_checked}++;$self->bootstrap_local_lib}sub setup_verify {my$self=shift;my$has_modules=eval {require Module::Signature;require Digest::SHA;1};$self->{cpansign}=$self->which('cpansign');unless ($has_modules && $self->{cpansign}){warn "WARNING: Module::Signature and Digest::SHA is required for distribution verifications.\n";$self->{verify}=0}}sub parse_module_args {my($self,$module)=@_;$module =~ s/^([A-Za-z0-9_:]+)@([v\d\._]+)$/$1~== $2/;if ($module =~ /\~[v\d\._,\!<>= ]+$/){return split /\~/,$module,2}else {return$module,undef}}sub doit {my$self=shift;my$code;eval {$code=($self->_doit==0)};if (my$e=$@){warn$e;$code=1}return$code}sub _doit {my$self=shift;$self->setup_home;$self->init_tools;$self->setup_verify if$self->{verify};if (my$action=$self->{action}){$self->$action()and return 1}return$self->show_help(1)unless @{$self->{argv}}or $self->{load_from_stdin};$self->configure_mirrors;my$cwd=Cwd::cwd;my@fail;for my$module (@{$self->{argv}}){if ($module =~ s/\.pm$//i){my ($volume,$dirs,$file)=File::Spec->splitpath($module);$module=join '::',grep {$_}File::Spec->splitdir($dirs),$file}($module,my$version)=$self->parse_module_args($module);$self->chdir($cwd);if ($self->{cmd}eq 'uninstall'){$self->uninstall_module($module)or push@fail,$module}else {$self->install_module($module,0,$version)or push@fail,$module}}if ($self->{base}&& $self->{auto_cleanup}){$self->cleanup_workdirs}if ($self->{installed_dists}){my$dists=$self->{installed_dists}> 1 ? "distributions" : "distribution";$self->diag("$self->{installed_dists} $dists installed\n",1)}if ($self->{scandeps}){$self->dump_scandeps()}$self->chdir($cwd);return!@fail}sub setup_home {my$self=shift;$self->{home}=$self->env('HOME')if$self->env('HOME');unless (_writable($self->{home})){die "Can't write to cpanm home '$self->{home}': You should fix it with chown/chmod first.\n"}$self->{base}="$self->{home}/work/" .time .".$$";File::Path::mkpath([$self->{base}],0,0777);$self->{log}=File::Spec->catfile($self->{base},"build.log");my$final_log="$self->{home}/build.log";{open my$out,">$self->{log}" or die "$self->{log}: $!"}if (CAN_SYMLINK){my$build_link="$self->{home}/latest-build";unlink$build_link;symlink$self->{base},$build_link;unlink$final_log;symlink$self->{log},$final_log}else {my$log=$self->{log};my$home=$self->{home};$self->{at_exit}=sub {my$self=shift;my$temp_log="$home/build.log." .time .".$$";File::Copy::copy($log,$temp_log)&& unlink($final_log);rename($temp_log,$final_log)}}$self->chat("cpanm (App::cpanminus) $VERSION on perl $] built for $Config{archname}\n" ."Work directory is $self->{base}\n")}sub package_index_for {my ($self,$mirror)=@_;return$self->source_for($mirror)."/02packages.details.txt"}sub generate_mirror_index {my ($self,$mirror)=@_;my$file=$self->package_index_for($mirror);my$gz_file=$file .'.gz';my$index_mtime=(stat$gz_file)[9];unless (-e $file && (stat$file)[9]>= $index_mtime){$self->chat("Uncompressing index file...\n");if (eval {require Compress::Zlib}){my$gz=Compress::Zlib::gzopen($gz_file,"rb")or do {$self->diag_fail("$Compress::Zlib::gzerrno opening compressed index");return};open my$fh,'>',$file or do {$self->diag_fail("$! opening uncompressed index for write");return};my$buffer;while (my$status=$gz->gzread($buffer)){if ($status < 0){$self->diag_fail($gz->gzerror ." reading compressed index");return}print$fh $buffer}}else {if (system("gunzip -c $gz_file > $file")){$self->diag_fail("Cannot uncompress -- please install gunzip or Compress::Zlib");return}}utime$index_mtime,$index_mtime,$file}return 1}sub search_mirror_index {my ($self,$mirror,$module,$version)=@_;$self->search_mirror_index_file($self->package_index_for($mirror),$module,$version)}sub search_mirror_index_file {my($self,$file,$module,$version)=@_;open my$fh,'<',$file or return;my$found;while (<$fh>){if (m!^\Q$module\E\s+([\w\.]+)\s+(\S*)!m){$found=$self->cpan_module($module,$2,$1);last}}return$found unless$self->{cascade_search};if ($found){if ($self->satisfy_version($module,$found->{module_version},$version)){return$found}else {$self->chat("Found $module $found->{module_version} which doesn't satisfy $version.\n")}}return}sub with_version_range {my($self,$version)=@_;defined($version)&& $version =~ /(?:<|!=|==)/}sub encode_json {my($self,$data)=@_;require JSON::PP;my$json=JSON::PP::encode_json($data);$json =~ s/([^a-zA-Z0-9_\-.])/uc sprintf("%%%02x",ord($1))/eg;$json}sub version_to_query {my($self,$module,$version)=@_;require CPAN::Meta::Requirements;my$requirements=CPAN::Meta::Requirements->new;$requirements->add_string_requirement($module,$version || '0');my$req=$requirements->requirements_for_module($module);if ($req =~ s/^==\s*//){return {term=>{'module.version'=>$req },}}elsif ($req !~ /\s/){return {range=>{'module.version_numified'=>{'gte'=>$self->numify_ver_metacpan($req)}},}}else {my%ops=qw(< lt <= lte > gt >= gte);my(%range,@exclusion);my@requirements=split /,\s*/,$req;for my$r (@requirements){if ($r =~ s/^([<>]=?)\s*//){$range{$ops{$1}}=$self->numify_ver_metacpan($r)}elsif ($r =~ s/\!=\s*//){push@exclusion,$self->numify_ver_metacpan($r)}}my@filters=({range=>{'module.version_numified'=>\%range }},);if (@exclusion){push@filters,{not=>{or=>[map {+{term=>{'module.version_numified'=>$self->numify_ver_metacpan($_)}}}@exclusion ]},}}return@filters}}sub numify_ver_metacpan {my($self,$ver)=@_;$ver =~ s/_//g;version->new($ver)->numify}sub numify_ver {my($self,$ver)=@_;eval version->new($ver)->numify}sub maturity_filter {my($self,$module,$version)=@_;if ($version =~ /==/){return}elsif ($self->{dev_release}){return +{not=>{term=>{status=>'backpan' }}}}else {return ({not=>{term=>{status=>'backpan' }}},{term=>{maturity=>'released' }},)}}sub by_version {my%s=qw(latest 3 cpan 2 backpan 1);$b->{_score}<=> $a->{_score}|| $s{$b->{fields}{status}}<=> $s{$a->{fields}{status}}}sub by_first_come {$a->{fields}{date}cmp $b->{fields}{date}}sub by_date {$b->{fields}{date}cmp $a->{fields}{date}}sub find_best_match {my($self,$match,$version)=@_;return unless$match && @{$match->{hits}{hits}|| []};my@hits=$self->{dev_release}? sort {by_version || by_date}@{$match->{hits}{hits}}: sort {by_version || by_first_come}@{$match->{hits}{hits}};$hits[0]->{fields}}sub search_metacpan {my($self,$module,$version)=@_;require JSON::PP;$self->chat("Searching $module ($version) on metacpan ...\n");my$metacpan_uri='http://api.metacpan.org/v0';my@filter=$self->maturity_filter($module,$version);my$query={filtered=>{(@filter ? (filter=>{and=>\@filter }): ()),query=>{nested=>{score_mode=>'max',path=>'module',query=>{custom_score=>{metacpan_script=>"score_version_numified",query=>{constant_score=>{filter=>{and=>[{term=>{'module.authorized'=>JSON::PP::true()}},{term=>{'module.indexed'=>JSON::PP::true()}},{term=>{'module.name'=>$module }},$self->version_to_query($module,$version),]}}},}},}},}};my$module_uri="$metacpan_uri/file/_search?source=";$module_uri .= $self->encode_json({query=>$query,fields=>['date','release','author','module','status' ],});my($release,$author,$module_version);my$module_json=$self->get($module_uri);my$module_meta=eval {JSON::PP::decode_json($module_json)};my$match=$self->find_best_match($module_meta);if ($match){$release=$match->{release};$author=$match->{author};my$module_matched=(grep {$_->{name}eq $module}@{$match->{module}})[0];$module_version=$module_matched->{version}}unless ($release){$self->chat("! Could not find a release matching $module ($version) on MetaCPAN.\n");return}my$dist_uri="$metacpan_uri/release/_search?source=";$dist_uri .= $self->encode_json({filter=>{and=>[{term=>{'release.name'=>$release }},{term=>{'release.author'=>$author }},]},fields=>['download_url','stat','status' ],});my$dist_json=$self->get($dist_uri);my$dist_meta=eval {JSON::PP::decode_json($dist_json)};if ($dist_meta){$dist_meta=$dist_meta->{hits}{hits}[0]{fields}}if ($dist_meta && $dist_meta->{download_url}){(my$distfile=$dist_meta->{download_url})=~ s!.+/authors/id/!!;local$self->{mirrors}=$self->{mirrors};if ($dist_meta->{status}eq 'backpan'){$self->{mirrors}=['http://backpan.perl.org' ]}elsif ($dist_meta->{stat}{mtime}> time()-24*60*60){$self->{mirrors}=['http://cpan.metacpan.org' ]}return$self->cpan_module($module,$distfile,$module_version)}$self->diag_fail("Finding $module on metacpan failed.");return}sub search_database {my($self,$module,$version)=@_;my$found;if ($self->{dev_release}or $self->{metacpan}){$found=$self->search_metacpan($module,$version)and return$found;$found=$self->search_cpanmetadb($module,$version)and return$found}else {$found=$self->search_cpanmetadb($module,$version)and return$found;$found=$self->search_metacpan($module,$version)and return$found}}sub search_cpanmetadb {my($self,$module,$version)=@_;$self->chat("Searching $module ($version) on cpanmetadb ...\n");if ($self->with_version_range($version)){return$self->search_cpanmetadb_history($module,$version)}else {return$self->search_cpanmetadb_package($module,$version)}}sub search_cpanmetadb_package {my($self,$module,$version)=@_;require CPAN::Meta::YAML;(my$uri=$self->{cpanmetadb})=~ s{/?$}{/package/$module};my$yaml=$self->get($uri);my$meta=eval {CPAN::Meta::YAML::Load($yaml)};if ($meta && $meta->{distfile}){return$self->cpan_module($module,$meta->{distfile},$meta->{version})}$self->diag_fail("Finding $module on cpanmetadb failed.");return}sub search_cpanmetadb_history {my($self,$module,$version)=@_;(my$uri=$self->{cpanmetadb})=~ s{/?$}{/history/$module};my$content=$self->get($uri)or return;my@found;for my$line (split /\r?\n/,$content){if ($line =~ /^$module\s+(\S+)\s+(\S+)$/){push@found,{version=>$1,version_obj=>version::->parse($1),distfile=>$2,}}}return unless@found;$found[-1]->{latest}=1;my$match;for my$try (sort {$b->{version_obj}cmp $a->{version_obj}}@found){if ($self->satisfy_version($module,$try->{version_obj},$version)){local$self->{mirrors}=$self->{mirrors};unshift @{$self->{mirrors}},'http://backpan.perl.org' unless$try->{latest};return$self->cpan_module($module,$try->{distfile},$try->{version})}}$self->diag_fail("Finding $module ($version) on cpanmetadb failed.");return}sub search_module {my($self,$module,$version)=@_;if ($self->{mirror_index}){$self->mask_output(chat=>"Searching $module on mirror index $self->{mirror_index} ...\n");my$pkg=$self->search_mirror_index_file($self->{mirror_index},$module,$version);return$pkg if$pkg;unless ($self->{cascade_search}){$self->mask_output(diag_fail=>"Finding $module ($version) on mirror index $self->{mirror_index} failed.");return}}unless ($self->{mirror_only}){my$found=$self->search_database($module,$version);return$found if$found}MIRROR: for my$mirror (@{$self->{mirrors}}){$self->mask_output(chat=>"Searching $module on mirror $mirror ...\n");my$name='02packages.details.txt.gz';my$uri="$mirror/modules/$name";my$gz_file=$self->package_index_for($mirror).'.gz';unless ($self->{pkgs}{$uri}){$self->mask_output(chat=>"Downloading index file $uri ...\n");$self->mirror($uri,$gz_file);$self->generate_mirror_index($mirror)or next MIRROR;$self->{pkgs}{$uri}="!!retrieved!!"}my$pkg=$self->search_mirror_index($mirror,$module,$version);return$pkg if$pkg;$self->mask_output(diag_fail=>"Finding $module ($version) on mirror $mirror failed.")}return}sub source_for {my($self,$mirror)=@_;$mirror =~ s/[^\w\.\-]+/%/g;my$dir="$self->{home}/sources/$mirror";File::Path::mkpath([$dir ],0,0777);return$dir}sub load_argv_from_fh {my($self,$fh)=@_;my@argv;while(defined(my$line=<$fh>)){chomp$line;$line =~ s/#.+$//;$line =~ s/^\s+//;$line =~ s/\s+$//;push@argv,split ' ',$line if$line}return@argv}sub show_version {my$self=shift;print "cpanm (App::cpanminus) version $VERSION ($0)\n";print "perl version $] ($^X)\n\n";print " \%Config:\n";for my$key (qw(archname installsitelib installsitebin installman1dir installman3dir sitearchexp sitelibexp vendorarch vendorlibexp archlibexp privlibexp)){print " $key=$Config{$key}\n" if$Config{$key}}print " \%ENV:\n";for my$key (grep /^PERL/,sort keys%ENV){print " $key=$ENV{$key}\n"}print " \@INC:\n";for my$inc (@INC){print " $inc\n" unless ref($inc)eq 'CODE'}return 1}sub show_help {my$self=shift;if ($_[0]){print <<USAGE;return}print <<HELP;return 1}sub _writable {my$dir=shift;my@dir=File::Spec->splitdir($dir);while (@dir){$dir=File::Spec->catdir(@dir);if (-e $dir){return -w _}pop@dir}return}sub maybe_abs {my($self,$lib)=@_;if ($lib eq '_' or $lib =~ /^~/ or File::Spec->file_name_is_absolute($lib)){return$lib}else {return File::Spec->canonpath(File::Spec->catdir(Cwd::cwd(),$lib))}}sub local_lib_target {my($self,$root)=@_;(grep {$_ ne ''}split /\Q$Config{path_sep}/,$root)[0]}sub bootstrap_local_lib {my$self=shift;if ($self->{local_lib}){return$self->setup_local_lib($self->{local_lib})}if ($ENV{PERL_LOCAL_LIB_ROOT}&& $ENV{PERL_MM_OPT}){return$self->setup_local_lib($self->local_lib_target($ENV{PERL_LOCAL_LIB_ROOT}),1)}return if$self->{sudo}or (_writable($Config{installsitelib})and _writable($Config{installsitebin}));if ($ENV{PERL_MM_OPT}and ($ENV{MODULEBUILDRC}or $ENV{PERL_MB_OPT})){return}$self->setup_local_lib;$self->diag(<<DIAG,1);sleep 2}sub upgrade_toolchain {my($self,$config_deps)=@_;my%deps=map {$_->module=>$_}@$config_deps;my$reqs=CPAN::Meta::Requirements->from_string_hash({'Module::Build'=>'0.38','ExtUtils::MakeMaker'=>'6.58','ExtUtils::Install'=>'1.46',});if ($deps{"ExtUtils::MakeMaker"}){$deps{"ExtUtils::MakeMaker"}->merge_with($reqs)}elsif ($deps{"Module::Build"}){$deps{"Module::Build"}->merge_with($reqs);$deps{"ExtUtils::Install"}||= App::cpanminus::Dependency->new("ExtUtils::Install",0,'configure');$deps{"ExtUtils::Install"}->merge_with($reqs)}@$config_deps=values%deps}sub _core_only_inc {my($self,$base)=@_;require local::lib;(local::lib->resolve_path(local::lib->install_base_arch_path($base)),local::lib->resolve_path(local::lib->install_base_perl_path($base)),(!$self->{exclude_vendor}? grep {$_}@Config{qw(vendorarch vendorlibexp)}: ()),@Config{qw(archlibexp privlibexp)},)}sub _diff {my($self,$old,$new)=@_;my@diff;my%old=map {$_=>1}@$old;for my$n (@$new){push@diff,$n unless exists$old{$n}}@diff}sub _setup_local_lib_env {my($self,$base)=@_;$self->diag(<<WARN,1)if$base =~ /\s/;local$SIG{__WARN__}=sub {};local::lib->setup_env_hash_for($base,0)}sub setup_local_lib {my($self,$base,$no_env)=@_;$base=undef if$base eq '_';require local::lib;{local $0='cpanm';$base ||= "~/perl5";$base=local::lib->resolve_path($base);if ($self->{self_contained}){my@inc=$self->_core_only_inc($base);$self->{search_inc}=[@inc ]}else {$self->{search_inc}=[local::lib->install_base_arch_path($base),local::lib->install_base_perl_path($base),@INC,]}$self->_setup_local_lib_env($base)unless$no_env;$self->{local_lib}=$base}}sub prompt_bool {my($self,$mess,$def)=@_;my$val=$self->prompt($mess,$def);return lc$val eq 'y'}sub prompt {my($self,$mess,$def)=@_;my$isa_tty=-t STDIN && (-t STDOUT ||!(-f STDOUT || -c STDOUT));my$dispdef=defined$def ? "[$def] " : " ";$def=defined$def ? $def : "";if (!$self->{prompt}|| (!$isa_tty && eof STDIN)){return$def}local $|=1;local $\;my$ans;eval {local$SIG{ALRM}=sub {undef$ans;die "alarm\n"};print STDOUT "$mess $dispdef";alarm$self->{prompt_timeout}if$self->{prompt_timeout};$ans=<STDIN>;alarm 0};if (defined$ans){chomp$ans}else {print STDOUT "\n"}return (!defined$ans || $ans eq '')? $def : $ans}sub diag_ok {my($self,$msg)=@_;chomp$msg;$msg ||= "OK";if ($self->{in_progress}){$self->_diag("$msg\n");$self->{in_progress}=0}$self->log("-> $msg\n")}sub diag_fail {my($self,$msg,$always)=@_;chomp$msg;if ($self->{in_progress}){$self->_diag("FAIL\n");$self->{in_progress}=0}if ($msg){$self->_diag("! $msg\n",$always,1);$self->log("-> FAIL $msg\n")}}sub diag_progress {my($self,$msg)=@_;chomp$msg;$self->{in_progress}=1;$self->_diag("$msg ... ");$self->log("$msg\n")}sub _diag {my($self,$msg,$always,$error)=@_;my$fh=$error ? *STDERR : *STDOUT;print {$fh}$msg if$always or $self->{verbose}or!$self->{quiet}}sub diag {my($self,$msg,$always)=@_;$self->_diag($msg,$always);$self->log($msg)}sub chat {my$self=shift;print STDERR @_ if$self->{verbose};$self->log(@_)}sub mask_output {my$self=shift;my$method=shift;$self->$method($self->mask_uri_passwords(@_))}sub log {my$self=shift;open my$out,">>$self->{log}";print$out @_}sub run {my($self,$cmd)=@_;if (WIN32){$cmd=$self->shell_quote(@$cmd)if ref$cmd eq 'ARRAY';unless ($self->{verbose}){$cmd .= " >> " .$self->shell_quote($self->{log})." 2>&1"}!system$cmd}else {my$pid=fork;if ($pid){waitpid$pid,0;return!$?}else {$self->run_exec($cmd)}}}sub run_exec {my($self,$cmd)=@_;if (ref$cmd eq 'ARRAY'){unless ($self->{verbose}){open my$logfh,">>",$self->{log};open STDERR,'>&',$logfh;open STDOUT,'>&',$logfh;close$logfh}exec @$cmd}else {unless ($self->{verbose}){$cmd .= " >> " .$self->shell_quote($self->{log})." 2>&1"}exec$cmd}}sub run_timeout {my($self,$cmd,$timeout)=@_;return$self->run($cmd)if WIN32 || $self->{verbose}||!$timeout;my$pid=fork;if ($pid){eval {local$SIG{ALRM}=sub {die "alarm\n"};alarm$timeout;waitpid$pid,0;alarm 0};if ($@ && $@ eq "alarm\n"){$self->diag_fail("Timed out (> ${timeout}s). Use --verbose to retry.");local$SIG{TERM}='IGNORE';kill TERM=>0;waitpid$pid,0;return}return!$?}elsif ($pid==0){$self->run_exec($cmd)}else {$self->chat("! fork failed: falling back to system()\n");$self->run($cmd)}}sub append_args {my($self,$cmd,$phase)=@_;if (my$args=$self->{build_args}{$phase}){$cmd=join ' ',$self->shell_quote(@$cmd),$args}$cmd}sub configure {my($self,$cmd,$depth)=@_;local$ENV{PERL5_CPAN_IS_RUNNING}=local$ENV{PERL5_CPANPLUS_IS_RUNNING}=$$;local$ENV{PERL5_CPANM_IS_RUNNING}=$$;my$use_default=!$self->{interactive};local$ENV{PERL_MM_USE_DEFAULT}=$use_default;local$ENV{PERL_MM_OPT}=$ENV{PERL_MM_OPT};local$ENV{PERL_MB_OPT}=$ENV{PERL_MB_OPT};unless ($self->{pod2man}){$ENV{PERL_MM_OPT}.= " INSTALLMAN1DIR=none INSTALLMAN3DIR=none";$ENV{PERL_MB_OPT}.= " --config installman1dir= --config installsiteman1dir= --config installman3dir= --config installsiteman3dir="}if ($self->{pure_perl}){$ENV{PERL_MM_OPT}.= " PUREPERL_ONLY=1";$ENV{PERL_MB_OPT}.= " --pureperl-only"}local$ENV{PERL_USE_UNSAFE_INC}=1 unless exists$ENV{PERL_USE_UNSAFE_INC};$cmd=$self->append_args($cmd,'configure')if$depth==0;local$self->{verbose}=$self->{verbose}|| $self->{interactive};$self->run_timeout($cmd,$self->{configure_timeout})}sub build {my($self,$cmd,$distname,$depth)=@_;local$ENV{PERL_MM_USE_DEFAULT}=!$self->{interactive};local$ENV{PERL_USE_UNSAFE_INC}=1 unless exists$ENV{PERL_USE_UNSAFE_INC};$cmd=$self->append_args($cmd,'build')if$depth==0;return 1 if$self->run_timeout($cmd,$self->{build_timeout});while (1){my$ans=lc$self->prompt("Building $distname failed.\nYou can s)kip, r)etry, e)xamine build log, or l)ook ?","s");return if$ans eq 's';return$self->build($cmd,$distname,$depth)if$ans eq 'r';$self->show_build_log if$ans eq 'e';$self->look if$ans eq 'l'}}sub test {my($self,$cmd,$distname,$depth)=@_;return 1 if$self->{notest};local$ENV{PERL_MM_USE_DEFAULT}=!$self->{interactive};local$ENV{NONINTERACTIVE_TESTING}=!$self->{interactive};$cmd=$self->append_args($cmd,'test')if$depth==0;local$ENV{PERL_USE_UNSAFE_INC}=1 unless exists$ENV{PERL_USE_UNSAFE_INC};return 1 if$self->run_timeout($cmd,$self->{test_timeout});if ($self->{force}){$self->diag_fail("Testing $distname failed but installing it anyway.");return 1}else {$self->diag_fail;while (1){my$ans=lc$self->prompt("Testing $distname failed.\nYou can s)kip, r)etry, f)orce install, e)xamine build log, or l)ook ?","s");return if$ans eq 's';return$self->test($cmd,$distname,$depth)if$ans eq 'r';return 1 if$ans eq 'f';$self->show_build_log if$ans eq 'e';$self->look if$ans eq 'l'}}}sub install {my($self,$cmd,$uninst_opts,$depth)=@_;if ($depth==0 && $self->{test_only}){return 1}local$ENV{PERL_USE_UNSAFE_INC}=1 unless exists$ENV{PERL_USE_UNSAFE_INC};if ($self->{sudo}){unshift @$cmd,"sudo"}if ($self->{uninstall_shadows}&&!$ENV{PERL_MM_OPT}){push @$cmd,@$uninst_opts}$cmd=$self->append_args($cmd,'install')if$depth==0;$self->run($cmd)}sub look {my$self=shift;my$shell=$ENV{SHELL};$shell ||= $ENV{COMSPEC}if WIN32;if ($shell){my$cwd=Cwd::cwd;$self->diag("Entering $cwd with $shell\n");system$shell}else {$self->diag_fail("You don't seem to have a SHELL :/")}}sub show_build_log {my$self=shift;my@pagers=($ENV{PAGER},(WIN32 ? (): ('less')),'more');my$pager;while (@pagers){$pager=shift@pagers;next unless$pager;$pager=$self->which($pager);next unless$pager;last}if ($pager){system("$pager < $self->{log}")}else {$self->diag_fail("You don't seem to have a PAGER :/")}}sub chdir {my$self=shift;Cwd::chdir(File::Spec->canonpath($_[0]))or die "$_[0]: $!"}sub configure_mirrors {my$self=shift;unless (@{$self->{mirrors}}){$self->{mirrors}=['http://www.cpan.org' ]}for (@{$self->{mirrors}}){s!^/!file:///!;s!/$!!}}sub self_upgrade {my$self=shift;$self->check_upgrade;$self->{argv}=['App::cpanminus' ];return}sub install_module {my($self,$module,$depth,$version)=@_;$self->check_libs;if ($self->{seen}{$module}++){$self->chat("Already tried $module. Skipping.\n");return 1}if ($self->{skip_satisfied}){my($ok,$local)=$self->check_module($module,$version || 0);if ($ok){$self->diag("You have $module ($local)\n",1);return 1}}my$dist=$self->resolve_name($module,$version);unless ($dist){my$what=$module .($version ? " ($version)" : "");$self->diag_fail("Couldn't find module or a distribution $what",1);return}if ($dist->{distvname}&& $self->{seen}{$dist->{distvname}}++){$self->chat("Already tried $dist->{distvname}. Skipping.\n");return 1}if ($self->{cmd}eq 'info'){print$self->format_dist($dist),"\n";return 1}$dist->{depth}=$depth;if ($dist->{module}){unless ($self->satisfy_version($dist->{module},$dist->{module_version},$version)){$self->diag("Found $dist->{module} $dist->{module_version} which doesn't satisfy $version.\n",1);return}my$cmp=$version ? "==" : "";my$requirement=$dist->{module_version}? "$cmp$dist->{module_version}" : 0;my($ok,$local)=$self->check_module($dist->{module},$requirement);if ($self->{skip_installed}&& $ok){$self->diag("$dist->{module} is up to date. ($local)\n",1);return 1}}if ($dist->{dist}eq 'perl'){$self->diag("skipping $dist->{pathname}\n");return 1}$self->diag("--> Working on $module\n");$dist->{dir}||= $self->fetch_module($dist);unless ($dist->{dir}){$self->diag_fail("Failed to fetch distribution $dist->{distvname}",1);return}$self->chat("Entering $dist->{dir}\n");$self->chdir($self->{base});$self->chdir($dist->{dir});if ($self->{cmd}eq 'look'){$self->look;return 1}return$self->build_stuff($module,$dist,$depth)}sub uninstall_search_path {my$self=shift;$self->{local_lib}? (local::lib->install_base_arch_path($self->{local_lib}),local::lib->install_base_perl_path($self->{local_lib})): @Config{qw(installsitearch installsitelib)}}sub uninstall_module {my ($self,$module)=@_;$self->check_libs;my@inc=$self->uninstall_search_path;my($metadata,$packlist)=$self->packlists_containing($module,\@inc);unless ($packlist){$self->diag_fail(<<DIAG,1);return}my@uninst_files=$self->uninstall_target($metadata,$packlist);$self->ask_permission($module,\@uninst_files)or return;$self->uninstall_files(@uninst_files,$packlist);$self->diag("Successfully uninstalled $module\n",1);return 1}sub packlists_containing {my($self,$module,$inc)=@_;require Module::Metadata;my$metadata=Module::Metadata->new_from_module($module,inc=>$inc)or return;my$packlist;my$wanted=sub {return unless $_ eq '.packlist' && -f $_;for my$file ($self->unpack_packlist($File::Find::name)){$packlist ||= $File::Find::name if$file eq $metadata->filename}};{require File::pushd;my$pushd=File::pushd::pushd();my@search=grep -d $_,map File::Spec->catdir($_,'auto'),@$inc;File::Find::find($wanted,@search)}return$metadata,$packlist}sub uninstall_target {my($self,$metadata,$packlist)=@_;if ($self->has_shadow_install($metadata)or $self->{local_lib}){grep$self->should_unlink($_),$self->unpack_packlist($packlist)}else {$self->unpack_packlist($packlist)}}sub has_shadow_install {my($self,$metadata)=@_;my@shadow=grep defined,map Module::Metadata->new_from_module($metadata->name,inc=>[$_]),@INC;@shadow >= 2}sub should_unlink {my($self,$file)=@_;if ($self->{local_lib}){$file =~ /^\Q$self->{local_lib}\E/}else {!(grep$file =~ /^\Q$_\E/,@Config{qw(installbin installscript installman1dir installman3dir)})}}sub ask_permission {my ($self,$module,$files)=@_;$self->diag("$module contains the following files:\n\n");for my$file (@$files){$self->diag(" $file\n")}$self->diag("\n");return 'force uninstall' if$self->{force};local$self->{prompt}=1;return$self->prompt_bool("Are you sure you want to uninstall $module?",'y')}sub unpack_packlist {my ($self,$packlist)=@_;open my$fh,'<',$packlist or die "$packlist: $!";map {chomp;$_}<$fh>}sub uninstall_files {my ($self,@files)=@_;$self->diag("\n");for my$file (@files){$self->diag("Unlink: $file\n");unlink$file or $self->diag_fail("$!: $file")}$self->diag("\n");return 1}sub format_dist {my($self,$dist)=@_;return "$dist->{cpanid}/$dist->{filename}"}sub trim {local $_=shift;tr/\n/ /d;s/^\s*|\s*$//g;$_}sub fetch_module {my($self,$dist)=@_;$self->chdir($self->{base});for my$uri (@{$dist->{uris}}){$self->mask_output(diag_progress=>"Fetching $uri");my$filename=$dist->{filename}|| $uri;my$name=File::Basename::basename($filename);my$cancelled;my$fetch=sub {my$file;eval {local$SIG{INT}=sub {$cancelled=1;die "SIGINT\n"};$self->mirror($uri,$name);$file=$name if -e $name};$self->diag("ERROR: " .trim("$@")."\n",1)if $@ && $@ ne "SIGINT\n";return$file};my($try,$file);while ($try++ < 3){$file=$fetch->();last if$cancelled or $file;$self->mask_output(diag_fail=>"Download $uri failed. Retrying ... ")}if ($cancelled){$self->diag_fail("Download cancelled.");return}unless ($file){$self->mask_output(diag_fail=>"Failed to download $uri");next}$self->diag_ok;$dist->{local_path}=File::Spec->rel2abs($name);my$dir=$self->unpack($file,$uri,$dist);next unless$dir;if (my$save=$self->{save_dists}){my$path=$dist->{pathname}? "$save/authors/id/$dist->{pathname}" : "$save/vendor/$file";$self->chat("Copying $name to $path\n");File::Path::mkpath([File::Basename::dirname($path)],0,0777);File::Copy::copy($file,$path)or warn $!}return$dist,$dir}}sub unpack {my($self,$file,$uri,$dist)=@_;if ($self->{verify}){$self->verify_archive($file,$uri,$dist)or return}$self->chat("Unpacking $file\n");my$dir=$file =~ /\.zip/i ? $self->unzip($file): $self->untar($file);unless ($dir){$self->diag_fail("Failed to unpack $file: no directory")}return$dir}sub verify_checksums_signature {my($self,$chk_file)=@_;require Module::Signature;$self->chat("Verifying the signature of CHECKSUMS\n");my$rv=eval {local$SIG{__WARN__}=sub {};my$v=Module::Signature::_verify($chk_file);$v==Module::Signature::SIGNATURE_OK()};if ($rv){$self->chat("Verified OK!\n")}else {$self->diag_fail("Verifying CHECKSUMS signature failed: $rv\n");return}return 1}sub verify_archive {my($self,$file,$uri,$dist)=@_;unless ($dist->{cpanid}){$self->chat("Archive '$file' does not seem to be from PAUSE. Skip verification.\n");return 1}(my$mirror=$uri)=~ s!/authors/id.*$!!;(my$chksum_uri=$uri)=~ s!/[^/]*$!/CHECKSUMS!;my$chk_file=$self->source_for($mirror)."/$dist->{cpanid}.CHECKSUMS";$self->mask_output(diag_progress=>"Fetching $chksum_uri");$self->mirror($chksum_uri,$chk_file);unless (-e $chk_file){$self->diag_fail("Fetching $chksum_uri failed.\n");return}$self->diag_ok;$self->verify_checksums_signature($chk_file)or return;$self->verify_checksum($file,$chk_file)}sub verify_checksum {my($self,$file,$chk_file)=@_;$self->chat("Verifying the SHA1 for $file\n");open my$fh,"<$chk_file" or die "$chk_file: $!";my$data=join '',<$fh>;$data =~ s/\015?\012/\n/g;require Safe;my$chksum=Safe->new->reval($data);if (!ref$chksum or ref$chksum ne 'HASH'){$self->diag_fail("! Checksum file downloaded from $chk_file is broken.\n");return}if (my$sha=$chksum->{$file}{sha256}){my$hex=$self->sha1_for($file);if ($hex eq $sha){$self->chat("Checksum for $file: Verified!\n")}else {$self->diag_fail("Checksum mismatch for $file\n");return}}else {$self->chat("Checksum for $file not found in CHECKSUMS.\n");return}}sub sha1_for {my($self,$file)=@_;require Digest::SHA;open my$fh,"<",$file or die "$file: $!";my$dg=Digest::SHA->new(256);my($data);while (read($fh,$data,4096)){$dg->add($data)}return$dg->hexdigest}sub verify_signature {my($self,$dist)=@_;$self->diag_progress("Verifying the SIGNATURE file");my$out=`$self->{cpansign} -v --skip 2>&1`;$self->log($out);if ($out =~ /Signature verified OK/){$self->diag_ok("Verified OK");return 1}else {$self->diag_fail("SIGNATURE verificaion for $dist->{filename} failed\n");return}}sub resolve_name {my($self,$module,$version)=@_;if ($module =~ /(?:^git:|\.git(?:@.+)?$)/){return$self->git_uri($module)}if ($module =~ /^(ftp|https?|file):/){if ($module =~ m!authors/id/(.*)!){return$self->cpan_dist($1,$module)}else {return {uris=>[$module ]}}}if ($module =~ m!^[\./]! && -d $module){return {source=>'local',dir=>Cwd::abs_path($module),}}if (-f $module){return {source=>'local',uris=>["file://" .Cwd::abs_path($module)],}}if ($module =~ s!^cpan:///distfile/!!){return$self->cpan_dist($module)}if ($module =~ m!^(?:[A-Z]/[A-Z]{2}/)?([A-Z]{2}[\-A-Z0-9]*/.*)$!){return$self->cpan_dist($1)}return$self->search_module($module,$version)}sub cpan_module {my($self,$module,$dist,$version)=@_;my$dist=$self->cpan_dist($dist);$dist->{module}=$module;$dist->{module_version}=$version if$version && $version ne 'undef';return$dist}sub cpan_dist {my($self,$dist,$url)=@_;$dist =~ s!^([A-Z]{2})!substr($1,0,1)."/".substr($1,0,2)."/".$1!e;require CPAN::DistnameInfo;my$d=CPAN::DistnameInfo->new($dist);if ($url){$url=[$url ]unless ref$url eq 'ARRAY'}else {my$id=$d->cpanid;my$fn=substr($id,0,1)."/" .substr($id,0,2)."/" .$id ."/" .$d->filename;my@mirrors=@{$self->{mirrors}};my@urls=map "$_/authors/id/$fn",@mirrors;$url=\@urls,}return {$d->properties,source=>'cpan',uris=>$url,}}sub git_uri {my ($self,$uri)=@_;($uri,my$commitish)=split /(?<=\.git)@/i,$uri,2;my$dir=File::Temp::tempdir(CLEANUP=>1);$self->mask_output(diag_progress=>"Cloning $uri");$self->run(['git','clone',$uri,$dir ]);unless (-e "$dir/.git"){$self->diag_fail("Failed cloning git repository $uri",1);return}if ($commitish){require File::pushd;my$dir=File::pushd::pushd($dir);unless ($self->run(['git','checkout',$commitish ])){$self->diag_fail("Failed to checkout '$commitish' in git repository $uri\n");return}}$self->diag_ok;return {source=>'local',dir=>$dir,}}sub setup_module_build_patch {my$self=shift;open my$out,">$self->{base}/ModuleBuildSkipMan.pm" or die $!;print$out <<EOF}sub core_version_for {my($self,$module)=@_;require Module::CoreList;unless (exists$Module::CoreList::version{$]+0}){die sprintf("Module::CoreList %s (loaded from %s) doesn't seem to have entries for perl $]. " ."You're strongly recommended to upgrade Module::CoreList from CPAN.\n",$Module::CoreList::VERSION,$INC{"Module/CoreList.pm"})}unless (exists$Module::CoreList::version{$]+0}{$module}){return -1}return$Module::CoreList::version{$]+0}{$module}}sub search_inc {my$self=shift;$self->{search_inc}||= do {if (defined$::Bin){[grep!/^\Q$::Bin\E\/..\/(?:fat)?lib$/,@INC]}else {[@INC]}}}sub check_module {my($self,$mod,$want_ver)=@_;require Module::Metadata;my$meta=Module::Metadata->new_from_module($mod,inc=>$self->search_inc)or return 0,undef;my$version=$meta->version;if ($self->{self_contained}&& $self->loaded_from_perl_lib($meta)){$version=$self->core_version_for($mod);return 0,undef if$version && $version==-1}$self->{local_versions}{$mod}=$version;if ($self->is_deprecated($meta)){return 0,$version}elsif ($self->satisfy_version($mod,$version,$want_ver)){return 1,($version || 'undef')}else {return 0,$version}}sub satisfy_version {my($self,$mod,$version,$want_ver)=@_;$want_ver='0' unless defined($want_ver)&& length($want_ver);require CPAN::Meta::Requirements;my$requirements=CPAN::Meta::Requirements->new;$requirements->add_string_requirement($mod,$want_ver);$requirements->accepts_module($mod,$version)}sub unsatisfy_how {my($self,$ver,$want_ver)=@_;if ($want_ver =~ /^[v0-9\.\_]+$/){return "$ver < $want_ver"}else {return "$ver doesn't satisfy $want_ver"}}sub is_deprecated {my($self,$meta)=@_;my$deprecated=eval {require Module::CoreList;Module::CoreList::is_deprecated($meta->{module})};return$deprecated && $self->loaded_from_perl_lib($meta)}sub loaded_from_perl_lib {my($self,$meta)=@_;require Config;my@dirs=qw(archlibexp privlibexp);if ($self->{self_contained}&&!$self->{exclude_vendor}&& $Config{vendorarch}){unshift@dirs,qw(vendorarch vendorlibexp)}for my$dir (@dirs){my$confdir=$Config{$dir};if ($confdir eq substr($meta->filename,0,length($confdir))){return 1}}return}sub should_install {my($self,$mod,$ver)=@_;$self->chat("Checking if you have $mod $ver ... ");my($ok,$local)=$self->check_module($mod,$ver);if ($ok){$self->chat("Yes ($local)\n")}elsif ($local){$self->chat("No (" .$self->unsatisfy_how($local,$ver).")\n")}else {$self->chat("No\n")}return$mod unless$ok;return}sub check_perl_version {my($self,$version)=@_;require CPAN::Meta::Requirements;my$req=CPAN::Meta::Requirements->from_string_hash({perl=>$version });$req->accepts_module(perl=>$])}sub install_deps {my($self,$dir,$depth,@deps)=@_;my(@install,%seen,@fail);for my$dep (@deps){next if$seen{$dep->module};if ($dep->module eq 'perl'){if ($dep->is_requirement &&!$self->check_perl_version($dep->version)){$self->diag("Needs perl @{[$dep->version]}, you have $]\n");push@fail,'perl'}}elsif ($self->should_install($dep->module,$dep->version)){push@install,$dep;$seen{$dep->module}=1}}if (@install){$self->diag("==> Found dependencies: " .join(", ",map $_->module,@install)."\n")}for my$dep (@install){$self->install_module($dep->module,$depth + 1,$dep->version)}$self->chdir($self->{base});$self->chdir($dir)if$dir;if ($self->{scandeps}){return 1}my@not_ok=$self->unsatisfied_deps(@deps);if (@not_ok){return 0,\@not_ok}else {return 1}}sub unsatisfied_deps {my($self,@deps)=@_;require CPAN::Meta::Check;require CPAN::Meta::Requirements;my$reqs=CPAN::Meta::Requirements->new;for my$dep (grep $_->is_requirement,@deps){$reqs->add_string_requirement($dep->module=>$dep->requires_version || '0')}my$ret=CPAN::Meta::Check::check_requirements($reqs,'requires',$self->{search_inc});grep defined,values %$ret}sub install_deps_bailout {my($self,$target,$dir,$depth,@deps)=@_;my($ok,$fail)=$self->install_deps($dir,$depth,@deps);if (!$ok){$self->diag_fail("Installing the dependencies failed: " .join(", ",@$fail),1);unless ($self->prompt_bool("Do you want to continue building $target anyway?","n")){$self->diag_fail("Bailing out the installation for $target.",1);return}}return 1}sub build_stuff {my($self,$stuff,$dist,$depth)=@_;if ($self->{verify}&& -e 'SIGNATURE'){$self->verify_signature($dist)or return}require CPAN::Meta;my($meta_file)=grep -f,qw(META.json META.yml);if ($meta_file){$self->chat("Checking configure dependencies from $meta_file\n");$dist->{cpanmeta}=eval {CPAN::Meta->load_file($meta_file)}}elsif ($dist->{dist}&& $dist->{version}){$self->chat("META.yml/json not found. Creating skeleton for it.\n");$dist->{cpanmeta}=CPAN::Meta->new({name=>$dist->{dist},version=>$dist->{version}})}$dist->{meta}=$dist->{cpanmeta}? $dist->{cpanmeta}->as_struct : {};my@config_deps;if ($dist->{cpanmeta}){push@config_deps,App::cpanminus::Dependency->from_prereqs($dist->{cpanmeta}->effective_prereqs,['configure'],$self->{install_types},)}if (-e 'Build.PL' &&!$self->should_use_mm($dist->{dist})&&!@config_deps){push@config_deps,App::cpanminus::Dependency->from_versions({'Module::Build'=>'0.38' },'configure',)}$self->merge_with_cpanfile($dist,\@config_deps);$self->upgrade_toolchain(\@config_deps);my$target=$dist->{meta}{name}? "$dist->{meta}{name}-$dist->{meta}{version}" : $dist->{dir};{$self->install_deps_bailout($target,$dist->{dir},$depth,@config_deps)or return}$self->diag_progress("Configuring $target");my$configure_state=$self->configure_this($dist,$depth);$self->diag_ok($configure_state->{configured_ok}? "OK" : "N/A");if ($dist->{cpanmeta}&& $dist->{source}eq 'cpan'){$dist->{provides}=$dist->{cpanmeta}{provides}|| $self->extract_packages($dist->{cpanmeta},".")}my$root_target=(($self->{installdeps}or $self->{showdeps})and $depth==0);$dist->{want_phases}=$self->{notest}&&!$root_target ? [qw(build runtime)]: [qw(build test runtime)];push @{$dist->{want_phases}},'develop' if$self->{with_develop}&& $depth==0;push @{$dist->{want_phases}},'configure' if$self->{with_configure}&& $depth==0;my@deps=$self->find_prereqs($dist);my$module_name=$self->find_module_name($configure_state)|| $dist->{meta}{name};$module_name =~ s/-/::/g;if ($self->{showdeps}){for my$dep (@config_deps,@deps){print$dep->module,($dep->version ? ("~".$dep->version): ""),"\n"}return 1}my$distname=$dist->{meta}{name}? "$dist->{meta}{name}-$dist->{meta}{version}" : $stuff;my$walkup;if ($self->{scandeps}){$walkup=$self->scandeps_append_child($dist)}$self->install_deps_bailout($distname,$dist->{dir},$depth,@deps)or return;if ($self->{scandeps}){unless ($configure_state->{configured_ok}){my$diag=<<DIAG;if (@config_deps){my@tree=@{$self->{scandeps_tree}};$diag .= "!\n" .join("",map "! * $_->[0]{module}\n",@tree[0..$#tree-1])if@tree}$self->diag("!\n$diag!\n",1)}$walkup->();return 1}if ($self->{installdeps}&& $depth==0){if ($configure_state->{configured_ok}){$self->diag("<== Installed dependencies for $stuff. Finishing.\n");return 1}else {$self->diag("! Configuring $distname failed. See $self->{log} for details.\n",1);return}}my$installed;if ($configure_state->{use_module_build}&& -e 'Build' && -f _){$self->diag_progress("Building " .($self->{notest}? "" : "and testing ").$distname);$self->build([$self->{perl},"./Build" ],$distname,$depth)&& $self->test([$self->{perl},"./Build","test" ],$distname,$depth)&& $self->install([$self->{perl},"./Build","install" ],["--uninst",1 ],$depth)&& $installed++}elsif ($self->{make}&& -e 'Makefile'){$self->diag_progress("Building " .($self->{notest}? "" : "and testing ").$distname);$self->build([$self->{make}],$distname,$depth)&& $self->test([$self->{make},"test" ],$distname,$depth)&& $self->install([$self->{make},"install" ],["UNINST=1" ],$depth)&& $installed++}else {my$why;my$configure_failed=$configure_state->{configured}&&!$configure_state->{configured_ok};if ($configure_failed){$why="Configure failed for $distname."}elsif ($self->{make}){$why="The distribution doesn't have a proper Makefile.PL/Build.PL"}else {$why="Can't configure the distribution. You probably need to have 'make'."}$self->diag_fail("$why See $self->{log} for details.",1);return}if ($installed && $self->{test_only}){$self->diag_ok;$self->diag("Successfully tested $distname\n",1)}elsif ($installed){my$local=$self->{local_versions}{$dist->{module}|| ''};my$version=$dist->{module_version}|| $dist->{meta}{version}|| $dist->{version};my$reinstall=$local && ($local eq $version);my$action=$local &&!$reinstall ? $self->numify_ver($version)< $self->numify_ver($local)? "downgraded" : "upgraded" : undef;my$how=$reinstall ? "reinstalled $distname" : $local ? "installed $distname ($action from $local)" : "installed $distname" ;my$msg="Successfully $how";$self->diag_ok;$self->diag("$msg\n",1);$self->{installed_dists}++;$self->save_meta($stuff,$dist,$module_name,\@config_deps,\@deps);return 1}else {my$what=$self->{test_only}? "Testing" : "Installing";$self->diag_fail("$what $stuff failed. See $self->{log} for details. Retry with --force to force install it.",1);return}}sub perl_requirements {my($self,@requires)=@_;my@perl;for my$requires (grep defined,@requires){if (exists$requires->{perl}){push@perl,App::cpanminus::Dependency->new(perl=>$requires->{perl})}}return@perl}sub should_use_mm {my($self,$dist)=@_;my%should_use_mm=map {$_=>1}qw(version ExtUtils-ParseXS ExtUtils-Install ExtUtils-Manifest);$should_use_mm{$dist}}sub configure_this {my($self,$dist,$depth)=@_;if (-e $self->{cpanfile_path}&& $self->{installdeps}&& $depth==0){require Module::CPANfile;$dist->{cpanfile}=eval {Module::CPANfile->load($self->{cpanfile_path})};$self->diag_fail($@,1)if $@;return {configured=>1,configured_ok=>!!$dist->{cpanfile},use_module_build=>0,}}if ($self->{skip_configure}){my$eumm=-e 'Makefile';my$mb=-e 'Build' && -f _;return {configured=>1,configured_ok=>$eumm || $mb,use_module_build=>$mb,}}my$state={};my$try_eumm=sub {if (-e 'Makefile.PL'){$self->chat("Running Makefile.PL\n");if ($self->configure([$self->{perl},"Makefile.PL" ],$depth)){$state->{configured_ok}=-e 'Makefile'}$state->{configured}++}};my$try_mb=sub {if (-e 'Build.PL'){$self->chat("Running Build.PL\n");if ($self->configure([$self->{perl},"Build.PL" ],$depth)){$state->{configured_ok}=-e 'Build' && -f _}$state->{use_module_build}++;$state->{configured}++}};my@try;if ($dist->{dist}&& $self->should_use_mm($dist->{dist})){@try=($try_eumm,$try_mb)}else {@try=($try_mb,$try_eumm)}for my$try (@try){$try->();last if$state->{configured_ok}}unless ($state->{configured_ok}){while (1){my$ans=lc$self->prompt("Configuring $dist->{dist} failed.\nYou can s)kip, r)etry, e)xamine build log, or l)ook ?","s");last if$ans eq 's';return$self->configure_this($dist,$depth)if$ans eq 'r';$self->show_build_log if$ans eq 'e';$self->look if$ans eq 'l'}}return$state}sub find_module_name {my($self,$state)=@_;return unless$state->{configured_ok};if ($state->{use_module_build}&& -e "_build/build_params"){my$params=do {open my$in,"_build/build_params";$self->safe_eval(join "",<$in>)};return eval {$params->[2]{module_name}}|| undef}elsif (-e "Makefile"){open my$mf,"Makefile";while (<$mf>){if (/^\#\s+NAME\s+=>\s+(.*)/){return$self->safe_eval($1)}}}return}sub list_files {my$self=shift;if (-e 'MANIFEST'){require ExtUtils::Manifest;my$manifest=eval {ExtUtils::Manifest::manifind()}|| {};return sort {lc$a cmp lc$b}keys %$manifest}else {require File::Find;my@files;my$finder=sub {my$name=$File::Find::name;$name =~ s!\.[/\\]!!;push@files,$name};File::Find::find($finder,".");return sort {lc$a cmp lc$b}@files}}sub extract_packages {my($self,$meta,$dir)=@_;my$try=sub {my$file=shift;return 0 if$file =~ m!^(?:x?t|inc|local|perl5|fatlib|_build)/!;return 1 unless$meta->{no_index};return 0 if grep {$file =~ m!^$_/!}@{$meta->{no_index}{directory}|| []};return 0 if grep {$file eq $_}@{$meta->{no_index}{file}|| []};return 1};require Parse::PMFile;my@files=grep {/\.pm(?:\.PL)?$/ && $try->($_)}$self->list_files;my$provides={};for my$file (@files){my$parser=Parse::PMFile->new($meta,{UNSAFE=>1,ALLOW_DEV_VERSION=>1 });my$packages=$parser->parse($file);while (my($package,$meta)=each %$packages){$provides->{$package}||= {file=>$meta->{infile},($meta->{version}eq 'undef')? (): (version=>$meta->{version}),}}}return$provides}sub save_meta {my($self,$module,$dist,$module_name,$config_deps,$build_deps)=@_;return unless$dist->{distvname}&& $dist->{source}eq 'cpan';my$base=($ENV{PERL_MM_OPT}|| '')=~ /INSTALL_BASE=/ ? ($self->install_base($ENV{PERL_MM_OPT})."/lib/perl5"): $Config{sitelibexp};my$provides=$dist->{provides};File::Path::mkpath("blib/meta",0,0777);my$local={name=>$module_name,target=>$module,version=>exists$provides->{$module_name}? ($provides->{$module_name}{version}|| $dist->{version}): $dist->{version},dist=>$dist->{distvname},pathname=>$dist->{pathname},provides=>$provides,};require JSON::PP;open my$fh,">","blib/meta/install.json" or die $!;print$fh JSON::PP::encode_json($local);if (-e "MYMETA.json"){File::Copy::copy("MYMETA.json","blib/meta/MYMETA.json")}my@cmd=(($self->{sudo}? 'sudo' : ()),$^X,'-MExtUtils::Install=install','-e',qq[install({ 'blib/meta' => '$base/$Config{archname}/.meta/$dist->{distvname}' })],);$self->run(\@cmd)}sub _merge_hashref {my($self,@hashrefs)=@_;my%hash;for my$h (@hashrefs){%hash=(%hash,%$h)}return \%hash}sub install_base {my($self,$mm_opt)=@_;$mm_opt =~ /INSTALL_BASE=(\S+)/ and return $1;die "Your PERL_MM_OPT doesn't contain INSTALL_BASE"}sub safe_eval {my($self,$code)=@_;eval$code}sub configure_features {my($self,$dist,@features)=@_;map $_->identifier,grep {$self->effective_feature($dist,$_)}@features}sub effective_feature {my($self,$dist,$feature)=@_;if ($dist->{depth}==0){my$value=$self->{features}{$feature->identifier};return$value if defined$value;return 1 if$self->{features}{__all}}if ($self->{interactive}){require CPAN::Meta::Requirements;$self->diag("[@{[ $feature->description ]}]\n",1);my$req=CPAN::Meta::Requirements->new;for my$phase (@{$dist->{want_phases}}){for my$type (@{$self->{install_types}}){$req->add_requirements($feature->prereqs->requirements_for($phase,$type))}}my$reqs=$req->as_string_hash;my@missing;for my$module (keys %$reqs){if ($self->should_install($module,$req->{$module})){push@missing,$module}}if (@missing){my$howmany=@missing;$self->diag("==> Found missing dependencies: " .join(", ",@missing)."\n",1);local$self->{prompt}=1;return$self->prompt_bool("Install the $howmany optional module(s)?","y")}}return}sub find_prereqs {my($self,$dist)=@_;my@deps=$self->extract_meta_prereqs($dist);if ($dist->{module}=~ /^Bundle::/i){push@deps,$self->bundle_deps($dist)}$self->merge_with_cpanfile($dist,\@deps);return@deps}sub merge_with_cpanfile {my($self,$dist,$deps)=@_;if ($self->{cpanfile_requirements}&&!$dist->{cpanfile}){for my$dep (@$deps){$dep->merge_with($self->{cpanfile_requirements})}}}sub extract_meta_prereqs {my($self,$dist)=@_;if ($dist->{cpanfile}){my@features=$self->configure_features($dist,$dist->{cpanfile}->features);my$prereqs=$dist->{cpanfile}->prereqs_with(@features);$self->{cpanfile_requirements}=$prereqs->merged_requirements($dist->{want_phases},['requires']);return App::cpanminus::Dependency->from_prereqs($prereqs,$dist->{want_phases},$self->{install_types})}require CPAN::Meta;my@deps;my($meta_file)=grep -f,qw(MYMETA.json MYMETA.yml);if ($meta_file){$self->chat("Checking dependencies from $meta_file ...\n");my$mymeta=eval {CPAN::Meta->load_file($meta_file,{lazy_validation=>1 })};if ($mymeta){$dist->{meta}{name}=$mymeta->name;$dist->{meta}{version}=$mymeta->version;return$self->extract_prereqs($mymeta,$dist)}}if (-e '_build/prereqs'){$self->chat("Checking dependencies from _build/prereqs ...\n");my$prereqs=do {open my$in,"_build/prereqs";$self->safe_eval(join "",<$in>)};my$meta=CPAN::Meta->new({name=>$dist->{meta}{name},version=>$dist->{meta}{version},%$prereqs },{lazy_validation=>1 },);@deps=$self->extract_prereqs($meta,$dist)}elsif (-e 'Makefile'){$self->chat("Finding PREREQ from Makefile ...\n");open my$mf,"Makefile";while (<$mf>){if (/^\#\s+PREREQ_PM => \{\s*(.*?)\s*\}/){my@all;my@pairs=split ', ',$1;for (@pairs){my ($pkg,$v)=split '=>',$_;push@all,[$pkg,$v ]}my$list=join ", ",map {"'$_->[0]' => $_->[1]"}@all;my$prereq=$self->safe_eval("no strict; +{ $list }");push@deps,App::cpanminus::Dependency->from_versions($prereq)if$prereq;last}}}return@deps}sub bundle_deps {my($self,$dist)=@_;my$match;if ($dist->{module}){$match=sub {my$meta=Module::Metadata->new_from_file($_[0]);$meta && ($meta->name eq $dist->{module})}}else {$match=sub {1}}my@files;File::Find::find({wanted=>sub {push@files,File::Spec->rel2abs($_)if /\.pm$/i && $match->($_)},no_chdir=>1,},'.');my@deps;for my$file (@files){open my$pod,"<",$file or next;my$in_contents;while (<$pod>){if (/^=head\d\s+CONTENTS/){$in_contents=1}elsif (/^=/){$in_contents=0}elsif ($in_contents){/^(\S+)\s*(\S+)?/ and push@deps,App::cpanminus::Dependency->new($1,$self->maybe_version($2))}}}return@deps}sub maybe_version {my($self,$string)=@_;return$string && $string =~ /^\.?\d/ ? $string : undef}sub extract_prereqs {my($self,$meta,$dist)=@_;my@features=$self->configure_features($dist,$meta->features);my$prereqs=$self->soften_makemaker_prereqs($meta->effective_prereqs(\@features)->clone);return App::cpanminus::Dependency->from_prereqs($prereqs,$dist->{want_phases},$self->{install_types})}sub soften_makemaker_prereqs {my($self,$prereqs)=@_;return$prereqs unless -e "inc/Module/Install.pm";for my$phase (qw(build test runtime)){my$reqs=$prereqs->requirements_for($phase,'requires');if ($reqs->requirements_for_module('ExtUtils::MakeMaker')){$reqs->clear_requirement('ExtUtils::MakeMaker');$reqs->add_minimum('ExtUtils::MakeMaker'=>0)}}$prereqs}sub cleanup_workdirs {my$self=shift;my$expire=time - 24 * 60 * 60 * $self->{auto_cleanup};my@targets;opendir my$dh,"$self->{home}/work";while (my$e=readdir$dh){next if$e !~ /^(\d+)\.\d+$/;my$time=$1;if ($time < $expire){push@targets,"$self->{home}/work/$e"}}if (@targets){if (@targets >= 64){$self->diag("Expiring " .scalar(@targets)." work directories. This might take a while...\n")}else {$self->chat("Expiring " .scalar(@targets)." work directories.\n")}File::Path::rmtree(\@targets,0,0)}}sub scandeps_append_child {my($self,$dist)=@_;my$new_node=[$dist,[]];my$curr_node=$self->{scandeps_current}|| [undef,$self->{scandeps_tree}];push @{$curr_node->[1]},$new_node;$self->{scandeps_current}=$new_node;return sub {$self->{scandeps_current}=$curr_node}}sub dump_scandeps {my$self=shift;if ($self->{format}eq 'tree'){$self->walk_down(sub {my($dist,$depth)=@_;if ($depth==0){print "$dist->{distvname}\n"}else {print " " x ($depth - 1);print "\\_ $dist->{distvname}\n"}},1)}elsif ($self->{format}=~ /^dists?$/){$self->walk_down(sub {my($dist,$depth)=@_;print$self->format_dist($dist),"\n"},0)}elsif ($self->{format}eq 'json'){require JSON::PP;print JSON::PP::encode_json($self->{scandeps_tree})}elsif ($self->{format}eq 'yaml'){require YAML;print YAML::Dump($self->{scandeps_tree})}else {$self->diag("Unknown format: $self->{format}\n")}}sub walk_down {my($self,$cb,$pre)=@_;$self->_do_walk_down($self->{scandeps_tree},$cb,0,$pre)}sub _do_walk_down {my($self,$children,$cb,$depth,$pre)=@_;for my$node (@$children){$cb->($node->[0],$depth)if$pre;$self->_do_walk_down($node->[1],$cb,$depth + 1,$pre);$cb->($node->[0],$depth)unless$pre}}sub DESTROY {my$self=shift;$self->{at_exit}->($self)if$self->{at_exit}}sub shell_quote {my($self,@stuff)=@_;if (WIN32){join ' ',map {/^${quote}.+${quote}$/ ? $_ : ($quote .$_ .$quote)}@stuff}else {String::ShellQuote::shell_quote_best_effort(@stuff)}}sub which {my($self,$name)=@_;if (File::Spec->file_name_is_absolute($name)){if (-x $name &&!-d _){return$name}}my$exe_ext=$Config{_exe};for my$dir (File::Spec->path){my$fullpath=File::Spec->catfile($dir,$name);if ((-x $fullpath || -x ($fullpath .= $exe_ext))&&!-d _){if ($fullpath =~ /\s/){$fullpath=$self->shell_quote($fullpath)}return$fullpath}}return}sub get {my($self,$uri)=@_;if ($uri =~ /^file:/){$self->file_get($uri)}else {$self->{_backends}{get}->(@_)}}sub mirror {my($self,$uri,$local)=@_;if ($uri =~ /^file:/){$self->file_mirror($uri,$local)}else {$self->{_backends}{mirror}->(@_)}}sub untar {$_[0]->{_backends}{untar}->(@_)};sub unzip {$_[0]->{_backends}{unzip}->(@_)};sub uri_to_file {my($self,$uri)=@_;if ($uri =~ s!file:/+!!){$uri="/$uri" unless$uri =~ m![a-zA-Z]:!}return$uri}sub file_get {my($self,$uri)=@_;my$file=$self->uri_to_file($uri);open my$fh,"<$file" or return;join '',<$fh>}sub file_mirror {my($self,$uri,$path)=@_;my$file=$self->uri_to_file($uri);my$source_mtime=(stat$file)[9];return 1 if -e $path && (stat$path)[9]>= $source_mtime;File::Copy::copy($file,$path);utime$source_mtime,$source_mtime,$path}sub has_working_lwp {my($self,$mirrors)=@_;my$https=grep /^https:/,@$mirrors;eval {require LWP::UserAgent;LWP::UserAgent->VERSION(5.802);require LWP::Protocol::https if$https;1}}sub init_tools {my$self=shift;return if$self->{initialized}++;if ($self->{make}=$self->which($Config{make})){$self->chat("You have make $self->{make}\n")}if ($self->{try_lwp}&& $self->has_working_lwp($self->{mirrors})){$self->chat("You have LWP $LWP::VERSION\n");my$ua=sub {LWP::UserAgent->new(parse_head=>0,env_proxy=>1,agent=>$self->agent,timeout=>30,@_,)};$self->{_backends}{get}=sub {my$self=shift;my$res=$ua->()->request(HTTP::Request->new(GET=>$_[0]));return unless$res->is_success;return$res->decoded_content};$self->{_backends}{mirror}=sub {my$self=shift;my$res=$ua->()->mirror(@_);die$res->content if$res->code==501;$res->code}}elsif ($self->{try_wget}and my$wget=$self->which('wget')){$self->chat("You have $wget\n");my@common=('--user-agent',$self->agent,'--retry-connrefused',($self->{verbose}? (): ('-q')),);$self->{_backends}{get}=sub {my($self,$uri)=@_;$self->safeexec(my$fh,$wget,$uri,@common,'-O','-')or die "wget $uri: $!";local $/;<$fh>};$self->{_backends}{mirror}=sub {my($self,$uri,$path)=@_;$self->safeexec(my$fh,$wget,$uri,@common,'-O',$path)or die "wget $uri: $!";local $/;<$fh>}}elsif ($self->{try_curl}and my$curl=$self->which('curl')){$self->chat("You have $curl\n");my@common=('--location','--user-agent',$self->agent,($self->{verbose}? (): '-s'),);$self->{_backends}{get}=sub {my($self,$uri)=@_;$self->safeexec(my$fh,$curl,@common,$uri)or die "curl $uri: $!";local $/;<$fh>};$self->{_backends}{mirror}=sub {my($self,$uri,$path)=@_;$self->safeexec(my$fh,$curl,@common,$uri,'-#','-o',$path)or die "curl $uri: $!";local $/;<$fh>}}else {require HTTP::Tiny;$self->chat("Falling back to HTTP::Tiny $HTTP::Tiny::VERSION\n");my%common=(agent=>$self->agent,);$self->{_backends}{get}=sub {my$self=shift;my$res=HTTP::Tiny->new(%common)->get($_[0]);return unless$res->{success};return$res->{content}};$self->{_backends}{mirror}=sub {my$self=shift;my$res=HTTP::Tiny->new(%common)->mirror(@_);return$res->{status}}}my$tar=$self->which('tar');my$tar_ver;my$maybe_bad_tar=sub {WIN32 || BAD_TAR || (($tar_ver=`$tar --version 2>/dev/null`)=~ /GNU.*1\.13/i)};if ($tar &&!$maybe_bad_tar->()){chomp$tar_ver;$self->chat("You have $tar: $tar_ver\n");$self->{_backends}{untar}=sub {my($self,$tarfile)=@_;my$xf=($self->{verbose}? 'v' : '')."xf";my$ar=$tarfile =~ /bz2$/ ? 'j' : 'z';my($root,@others)=`$tar ${ar}tf $tarfile` or return undef;FILE: {chomp$root;$root =~ s!^\./!!;$root =~ s{^(.+?)/.*$}{$1};if (!length($root)){$root=shift(@others);redo FILE if$root}}system "$tar $ar$xf $tarfile";return$root if -d $root;$self->diag_fail("Bad archive: $tarfile");return undef}}elsif ($tar and my$gzip=$self->which('gzip')and my$bzip2=$self->which('bzip2')){$self->chat("You have $tar, $gzip and $bzip2\n");$self->{_backends}{untar}=sub {my($self,$tarfile)=@_;my$x="x" .($self->{verbose}? 'v' : '')."f -";my$ar=$tarfile =~ /bz2$/ ? $bzip2 : $gzip;my($root,@others)=`$ar -dc $tarfile | $tar tf -` or return undef;FILE: {chomp$root;$root =~ s!^\./!!;$root =~ s{^(.+?)/.*$}{$1};if (!length($root)){$root=shift(@others);redo FILE if$root}}system "$ar -dc $tarfile | $tar $x";return$root if -d $root;$self->diag_fail("Bad archive: $tarfile");return undef}}elsif (eval {require Archive::Tar}){$self->chat("Falling back to Archive::Tar $Archive::Tar::VERSION\n");$self->{_backends}{untar}=sub {my$self=shift;my$t=Archive::Tar->new($_[0]);my($root,@others)=$t->list_files;FILE: {$root =~ s!^\./!!;$root =~ s{^(.+?)/.*$}{$1};if (!length($root)){$root=shift(@others);redo FILE if$root}}$t->extract;return -d $root ? $root : undef}}else {$self->{_backends}{untar}=sub {die "Failed to extract $_[1] - You need to have tar or Archive::Tar installed.\n"}}if (my$unzip=$self->which('unzip')){$self->chat("You have $unzip\n");$self->{_backends}{unzip}=sub {my($self,$zipfile)=@_;my$opt=$self->{verbose}? '' : '-q';my(undef,$root,@others)=`$unzip -t $zipfile` or return undef;chomp$root;$root =~ s{^\s+testing:\s+([^/]+)/.*?\s+OK$}{$1};system "$unzip $opt $zipfile";return$root if -d $root;$self->diag_fail("Bad archive: [$root] $zipfile");return undef}}else {$self->{_backends}{unzip}=sub {eval {require Archive::Zip}or die "Failed to extract $_[1] - You need to have unzip or Archive::Zip installed.\n";my($self,$file)=@_;my$zip=Archive::Zip->new();my$status;$status=$zip->read($file);$self->diag_fail("Read of file[$file] failed")if$status!=Archive::Zip::AZ_OK();my@members=$zip->members();for my$member (@members){my$af=$member->fileName();next if ($af =~ m!^(/|\.\./)!);$status=$member->extractToFileNamed($af);$self->diag_fail("Extracting of file[$af] from zipfile[$file failed")if$status!=Archive::Zip::AZ_OK()}my ($root)=$zip->membersMatching(qr<^[^/]+/$>);$root &&= $root->fileName;return -d $root ? $root : undef}}}sub safeexec {my$self=shift;my$rdr=$_[0]||= Symbol::gensym();if (WIN32){my$cmd=$self->shell_quote(@_[1..$#_]);return open($rdr,"$cmd |")}if (my$pid=open($rdr,'-|')){return$pid}elsif (defined$pid){exec(@_[1 .. $#_ ]);exit 1}else {return}}sub mask_uri_passwords {my($self,@strings)=@_;s{ (https?://) ([^:/]+) : [^@/]+ @ }{$1$2:********@}gx for@strings;return@strings}1;
It appears your cpanm executable was installed via `perlbrew install-cpanm`.
cpanm --self-upgrade won't upgrade the version of cpanm you're running.
@@ -104,7 +104,7 @@ $fatpacked{"App/cpanminus/script.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\
! Can't write to $Config{installsitelib} and $Config{installsitebin}: Installing modules to $ENV{HOME}/perl5
! To turn off this warning, you have to do one of the following:
! - run me as a root or with --sudo option (to install to $Config{installsitelib} and $Config{installsitebin})
- ! - Configure local::lib your existing local::lib in this shell to set PERL_MM_OPT etc.
+ ! - Configure local::lib in your existing shell to set PERL_MM_OPT etc.
! - Install local::lib by running the following commands
!
! cpanm --local-lib=~/perl5 local::lib && eval \$(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)
@@ -465,15 +465,17 @@ no strict 'refs';
if ($] < 5.008) {
*{"${class}::INC"} = sub {
- if (my $fat = $_[0]{$_[1]}) {
- return sub {
- return 0 unless length $fat;
- $fat =~ s/^([^\n]*\n?)//;
- $_ = $1;
- return 1;
- };
- }
- return;
+ if (my $fat = $_[0]{$_[1]}) {
+ my $pos = 0;
+ my $last = length $fat;
+ return (sub {
+ return 0 if $pos == $last;
+ my $next = (1 + index $fat, "\n", $pos) || $last;
+ $_ .= substr $fat, $pos, $next - $pos;
+ $pos = $next;
+ return 1;
+ });
+ }
};
}
@@ -816,6 +818,11 @@ Defaults to false for both.
B<EXPERIMENTAL>: Installs develop phase dependencies in META files or
C<cpanfile> when used with C<--installdeps>. Defaults to false.
+=item --with-configure
+
+B<EXPERIMENTAL>: Installs configure phase dependencies in C<cpanfile>
+when used with C<--installdeps>. Defaults to false.
+
=item --with-feature, --without-feature, --with-all-features
B<EXPERIMENTAL>: Specifies the feature to enable, if a module supports
@@ -1036,6 +1043,23 @@ Normally with C<--lwp>, C<--wget> and C<--curl> options set to true
=back
+=head1 ENVIRONMENT VARIABLES
+
+=over 4
+
+=item PERL_CPANM_HOME
+
+The directory cpanm should use to store downloads and build and test
+modules. Defaults to the C<.cpanm> directory in your user's home
+directory.
+
+=item PERL_CPANM_OPT
+
+If set, adds a set of default options to every cpanm command. These
+options come first, and so are overridden by command-line options.
+
+=back
+
=head1 SEE ALSO
L<App::cpanminus>
diff --git a/bin/fixmystreet.com/fixture b/bin/fixmystreet.com/fixture
index 93982af8a..2636ec1cc 100755
--- a/bin/fixmystreet.com/fixture
+++ b/bin/fixmystreet.com/fixture
@@ -1,11 +1,12 @@
#!/usr/bin/env perl
#
-# This script will create a test body and its categories, covering the area of
-# Westminster, and a user associated with that body, which should help testing
+# This script will create a test body and its categories, covering the area
+# provided, and users associated with that body, which should help testing
# of report interactions.
use strict;
use warnings;
+use v5.14;
BEGIN {
use File::Basename qw(dirname);
@@ -14,26 +15,160 @@ BEGIN {
require "$d/../../setenv.pl";
}
-use FixMyStreet::DB;
-
-my $body = FixMyStreet::DB->resultset("Body")->find_or_create({ name => 'Test City Council' });
-$body->body_areas->find_or_create({ area_id => 2504 });
-foreach ("Potholes", "Street lighting", "Graffiti") {
- (my $email = lc $_) =~ s/ /-/g;
- $body->contacts->find_or_create({
- category => $_,
- email => $email . '@example.net',
- confirmed => 't',
- deleted => 'f',
- whenedited => \'current_timestamp',
- editor => 'fixture',
- note => 'Created by fixture'
- });
+use FixMyStreet;
+use FixMyStreet::Cobrand;
+use FixMyStreet::DB::Factories;
+use DateTime::Format::Pg;
+use Getopt::Long::Descriptive;
+
+my ($opt, $usage) = describe_options(
+ '%c %o',
+ [ 'area-id=i', "MapIt area ID to create body for", { required => 1 } ],
+ [ 'name:s', "Name of body to use (defaults to MapIt area name)" ],
+ [ 'empty', "Empty all tables of the database first" ],
+ [ 'commit', "Actually commit changes to the database" ],
+ [ 'coords=s', "Co-ordinates to use instead of example postcode" ],
+ [ 'help', "print usage message and exit", { shortcircuit => 1 } ],
+);
+print($usage->text), exit if $opt->help;
+
+my $db = FixMyStreet::DB->schema->storage;
+$db->txn_begin;
+END {
+ if ($db) {
+ $opt->commit ? $db->txn_commit : $db->txn_rollback;
+ }
+}
+if (!$opt->commit) {
+ say "NOT COMMITTING TO DATABASE";
+}
+
+if ($opt->empty) {
+ $db->dbh->do(q{
+DO
+$func$
+BEGIN
+ EXECUTE
+ (SELECT 'TRUNCATE TABLE ' || string_agg(quote_ident(tablename), ', ') || ' RESTART IDENTITY CASCADE '
+ FROM pg_tables WHERE schemaname='public');
+END
+$func$;
+}) or die $!;
+ $db->dbh->do( scalar FixMyStreet->path_to('db/fixture.sql')->slurp ) or die $!;
+ $db->dbh->do( scalar FixMyStreet->path_to('db/generate_secret.sql')->slurp ) or die $!;
+ say "Emptied database";
}
-FixMyStreet::DB->resultset("User")->find_or_create({
- email => 'council@example.net',
- name => 'Test City Council User',
- from_body => $body,
- password => 'password',
+# Body + categories
+my $categories = ['Potholes', 'Street lighting', 'Graffiti', 'Other'];
+my $body = FixMyStreet::DB::Factory::Body->find_or_create({
+ area_id => $opt->area_id,
+ categories => $categories,
+ $opt->name ? (name => $opt->name) : (),
});
+say "Created body " . $body->name . " for MapIt area ID " . $opt->area_id . ', categories ' . join(', ', @$categories);
+
+FixMyStreet::DB::Factory::ResponseTemplate->create({ body => $body, title => 'Generic' });
+FixMyStreet::DB::Factory::ResponseTemplate->create({ body => $body, title => 'Fixed', state => 'fixed - council' });
+FixMyStreet::DB::Factory::ResponseTemplate->create({ body => $body, title => 'Monitoring', state => 'unable to fix' });
+my $template = FixMyStreet::DB::Factory::ResponseTemplate->create({ body => $body, title => 'Not us', state => 'not responsible' });
+$template->add_to_contacts($body->contacts->first);
+my $priority = FixMyStreet::DB::Factory::ResponsePriority->create_batch(3, { body => $body });
+$priority->[0]->add_to_contacts($body->contacts->first);
+
+# Users
+say "Created users, all with password 'password':";
+my %users;
+my $perms_inspector = ['report_inspect', 'planned_reports'];
+my $perms_cs = [
+ 'contribute_as_body', 'contribute_as_another_user',
+ 'moderate', 'view_body_contribute_details',
+];
+foreach (
+ { name => 'Inspector Gadget', email => 'inspector@example.org', body => $body, permissions => $perms_inspector },
+ { name => 'Harriet Helpful', email => 'cs@example.org', body => $body, permissions => $perms_cs },
+ { name => 'Super User', email => 'super@example.org', body => $body, permissions => [
+ @$perms_cs, @$perms_inspector, 'report_edit',
+ 'category_edit', 'template_edit', 'responsepriority_edit',
+ 'user_assign_body', 'user_manage_permissions', 'user_edit',
+ ] },
+ { name => 'Wizard of Oz', email => 'admin@example.org', is_superuser => 't' },
+ { name => "Norma User", email => 'user@example.org' },
+) {
+ $users{$_->{email}} = FixMyStreet::DB::Factory::User->find_or_create($_);
+ my $perms = $_->{permissions} ? " (" . join(', ', @{$_->{permissions} || []}) . ")" : "";
+ my $su = $_->{is_superuser} ? " (superuser)" : "";
+ say "* $_->{email}$perms$su";
+}
+
+# Problems
+
+my %titles = (
+ 'Potholes' => ['Deep pothole', 'Small pothole', 'Pothole in cycle lane', 'Pothole on busy pavement', 'Large pothole', 'Sinking manhole'],
+ 'Street lighting' => ['Faulty light', 'Street light not working', 'Lights out in tunnel', 'Light not coming on', 'Light not going off'],
+ 'Graffiti' => ['Graffiti', 'Graffiti', 'Offensive graffiti', 'Graffiti on the bridge', 'Remove graffiti'],
+ 'Other' => ['Loose drain cover', 'Flytipping on country lane', 'Vehicle blocking footpath', 'Hedge encroaching pavement', 'Full litter bins'],
+);
+
+my ($location, $lat, $lon);
+if ($opt->coords) {
+ $location = $opt->coords;
+ ($lat, $lon) = split ',', $location;
+} else {
+ my $postcode = mySociety::MaPit::call('area/example_postcode', $opt->area_id);
+ $postcode = mySociety::MaPit::call('postcode', $postcode);
+ ($location, $lat, $lon) = map { $postcode->{$_} } qw/postcode wgs84_lat wgs84_lon/;
+}
+
+my $cobrand = 'default';
+foreach (FixMyStreet::Cobrand->available_cobrand_classes) {
+ my $sub = $_->{class} && $_->{class}->can('council_area_id');
+ if ($sub && &$sub == $opt->area_id) {
+ $cobrand = $_->{class}->moniker;
+ last;
+ }
+}
+
+my $user = $users{'user@example.org'};
+my $num = 20;
+say "Created $num problems around '$location' in cobrand '$cobrand'";
+my $inaccurate_km = 0.01;
+my $confirmed = DateTime->today->subtract(days => 1)->add(hours => 8);
+my $problems = [];
+for (1..$num) {
+ $confirmed->add(seconds => rand(7000));
+ my $category = $categories->[int(rand(@$categories))];
+ my $titles = $titles{$category};
+ push @$problems, FixMyStreet::DB::Factory::Problem->create({
+ body => $body,
+ areas => ',' . $opt->area_id . ',',
+ user => $user,
+ postcode => $location,
+ latitude => $lat + rand(2 * $inaccurate_km) - $inaccurate_km,
+ longitude => $lon + rand(3 * $inaccurate_km) - 1.5 * $inaccurate_km,
+ category => $category,
+ cobrand => $cobrand,
+ title => $titles->[int(rand(@$titles))],
+ detail => 'The details of the report would be here, provided by the user, including exact location and how long it has been here.',
+ confirmed => DateTime::Format::Pg->format_datetime($confirmed),
+ });
+}
+
+for (1..3) {
+ my $p = $problems->[int(rand(@$problems))];
+ $users{'inspector@example.org'}->add_to_planned_reports($p);
+}
+
+# Comment
+
+my $updates = [];
+for (1..$num) {
+ $confirmed->add(seconds => rand(1000));
+ push @$updates, FixMyStreet::DB::Factory::Comment->create({
+ problem => $problems->[int(rand(@$problems))],
+ user => $user,
+ text => 'This is an update on this problem, perhaps providing further relevant information or letting everyone know it is being worked on or fixed.',
+ confirmed => DateTime::Format::Pg->format_datetime($confirmed),
+ });
+}
+say "Created $num updates on problems " . join(', ', map { $_->problem_id } @$updates);
diff --git a/bin/install-as-user b/bin/install-as-user
index 2730fe404..e42401758 100755
--- a/bin/install-as-user
+++ b/bin/install-as-user
@@ -98,12 +98,8 @@ if ! psql -l | egrep "^ *$DB_NAME *\|" > /dev/null
then
createdb --owner "$UNIX_USER" "$DB_NAME"
echo 'CREATE LANGUAGE plpgsql;' | psql -U "$UNIX_USER" "$DB_NAME" || true
- psql -U "$UNIX_USER" "$DB_NAME" < "$REPOSITORY"/db/schema.sql
- psql -U "$UNIX_USER" "$DB_NAME" < "$REPOSITORY"/db/alert_types.sql
- psql -U "$UNIX_USER" "$DB_NAME" < "$REPOSITORY"/db/generate_secret.sql
-else
- bin/update-schema --commit
fi
+bin/update-schema --commit
echo $DONE_MSG
# Generate po and mo files (these invocations taken from Kagee's script):
diff --git a/bin/make_css b/bin/make_css
index d663597cd..b99459cda 100755
--- a/bin/make_css
+++ b/bin/make_css
@@ -14,12 +14,12 @@ BEGIN {
use CSS::Sass;
use File::ChangeNotify;
use File::Find::Rule;
-use File::Slurp;
use Getopt::Long;
use MIME::Base64;
use MIME::Types;
use Path::Tiny;
use Pod::Usage;
+use Try::Tiny;
# Store ARGV in case we need to restart later.
my @ARGVorig = @ARGV;
@@ -35,6 +35,8 @@ GetOptions(
'style|t=s' => sub { die "Unknown style\n" unless $_[1] =~ /nested|expanded|compact|compressed/; $style = $_[1]; },
'verbose' => \my $verbose,
'watch' => \my $watch,
+ 'script=s'=> \my $watch_script,
+ 'script-param=s'=> \my $watch_script_param,
'help|?' => \my $help,
) or pod2usage(2);
pod2usage(1) if $help;
@@ -93,6 +95,7 @@ while ( my @events = $watcher->wait_for_events() ) {
}
}
}
+ system($watch_script, $watch_script_param) if $watch_script;
}
# Given a SCSS file, compile it and generate a .map file,
@@ -122,9 +125,15 @@ sub compile {
# Write a file, only if it has changed.
sub write_if_different {
my ($fn, $data) = @_;
- my $current = File::Slurp::read_file($fn, { binmode => ':utf8', err_mode => 'quiet' });
+ $fn = path($fn);
+ my $current = try {
+ $fn->slurp_utf8;
+ } catch {
+ return if $_->{err} eq 'No such file or directory';
+ die $_;
+ };
if (!$current || $current ne $data) {
- File::Slurp::write_file($fn, { binmode => ':utf8' }, $data);
+ $fn->spew_utf8($data);
return 1;
}
return 0;
@@ -150,6 +159,8 @@ make_css [options] [dirs ...]
Options:
--verbose display more information
--watch wait for file updates and compile automatically
+ --script script to run after recompilation in watch mode
+ --script-param param to pass to --script when executing
--style, -t CSS output style (one of nested, expanded, compact, compressed)
--help this help message
diff --git a/bin/one-off-update-duplicates b/bin/one-off-update-duplicates
new file mode 100755
index 000000000..7bbf0251f
--- /dev/null
+++ b/bin/one-off-update-duplicates
@@ -0,0 +1,20 @@
+#!/usr/bin/env perl
+
+use strict;
+use warnings;
+
+BEGIN {
+ use File::Basename qw(dirname);
+ use File::Spec;
+ my $d = dirname(File::Spec->rel2abs($0));
+ require "$d/../setenv.pl";
+}
+
+use FixMyStreet::DB;
+
+my $rs = FixMyStreet::DB->resultset("Problem")->search({ extra => => { like => "%duplicate_of%" } });
+while (my $row = $rs->next) {
+ my $duplicate_of = $row->get_extra_metadata('duplicate_of');
+ next unless $duplicate_of;
+ $row->set_duplicate_of($duplicate_of);
+}
diff --git a/bin/oxfordshire/send-rdi-emails b/bin/oxfordshire/send-rdi-emails
new file mode 100755
index 000000000..ab58ff525
--- /dev/null
+++ b/bin/oxfordshire/send-rdi-emails
@@ -0,0 +1,72 @@
+#!/usr/bin/env perl
+
+use strict;
+use warnings;
+use v5.14;
+
+BEGIN {
+ use File::Basename qw(dirname);
+ use File::Spec;
+ my $d = dirname(File::Spec->rel2abs($0));
+ require "$d/../../setenv.pl";
+}
+
+use DateTime;
+use Try::Tiny;
+use FixMyStreet;
+use FixMyStreet::Cobrand;
+use FixMyStreet::Email;
+use FixMyStreet::Integrations::ExorRDI;
+
+my $end_date = DateTime->now( time_zone => FixMyStreet->time_zone || FixMyStreet->local_time_zone )
+ ->truncate(to => 'hour')->set_hour(16);
+my $start_date = $end_date->clone->subtract(days => 1);
+my $inspection_date = $end_date; # All inspections are considered to have happened on the same date.
+
+my $cobrand = FixMyStreet::Cobrand->get_class_for_moniker('oxfordshire')->new;
+$cobrand->set_lang_and_domain('en-gb', 1);
+my @inspectors = $cobrand->users->search({
+ 'user_body_permissions.permission_type' => 'report_inspect'
+}, {
+ join => 'user_body_permissions',
+ distinct => 1,
+})->all;
+
+foreach my $inspector (@inspectors) {
+ my $params = {
+ start_date => $start_date,
+ end_date => $end_date,
+ inspection_date => $inspection_date,
+ user => $inspector,
+ mark_as_processed => 1,
+ };
+ my $rdi = FixMyStreet::Integrations::ExorRDI->new($params);
+ try {
+ my $hdrs = {
+ To => join('', 'fms', '_', 'admin', '@', $cobrand->admin_user_domain),
+ _attachments_ => [ {
+ body => $rdi->construct,
+ attributes => {
+ filename => $rdi->filename,
+ charset => 'utf-8',
+ content_type => 'text/csv',
+ name => $rdi->filename,
+ }
+ } ],
+ };
+
+ my $result = FixMyStreet::Email::send_cron(
+ FixMyStreet::DB->schema,
+ "rdi.txt", $params, $hdrs,
+ undef, 0, $cobrand,
+ );
+ if ($result) {
+ say "Failed to send inspection for " . $inspector->id;
+ }
+ } catch {
+ die $_ unless $_ =~ /FixMyStreet::Integrations::ExorRDI::Error/;
+ # Nothing to report, continue
+ }
+}
+
+1;
diff --git a/bin/site-specific-install.sh b/bin/site-specific-install.sh
index d780b7f94..5c8f38b80 100644
--- a/bin/site-specific-install.sh
+++ b/bin/site-specific-install.sh
@@ -1,7 +1,7 @@
#!/bin/sh
# Set this to the version we want to check out
-VERSION=${VERSION_OVERRIDE:-v2.0.4}
+VERSION=${VERSION_OVERRIDE:-v2.2}
PARENT_SCRIPT_URL=https://github.com/mysociety/commonlib/blob/master/bin/install-site.sh
@@ -67,5 +67,5 @@ if [ ! "$DEVELOPMENT_INSTALL" = true ]; then
echo Installation complete - you should now be able to view the site at:
echo http://$HOST/
echo Or you can run the tests by switching to the "'$UNIX_USER'" user and
- echo running: $REPOSITORY/bin/run-tests t
+ echo running: $REPOSITORY/script/test
fi
diff --git a/bin/switch-site b/bin/switch-site
new file mode 100755
index 000000000..c4ca53ca9
--- /dev/null
+++ b/bin/switch-site
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+# Symlinks a file like conf/general-foobar.yml to conf/general.yml,
+# to make switching between cobrands simpler while debugging.
+
+# Takes a single argument which should be a site name from one of
+# your config files, like "oxfordshire" from conf/general-oxforshire.yml
+
+# Run from the fixmystreet directory, like so:
+# $ bin/switch-site oxfordshire
+
+if [ -z "$1" ]
+then
+ current_target=$(readlink conf/general.yml)
+ if [ -z $current_target ]
+ then
+ echo 'Supply a config name, from the following list:'
+ else
+ echo 'Currently using settings from:'
+ echo " $current_target"
+ echo 'To change, supply a config name from the following list:'
+ fi
+ ls conf/general-*.yml | sed 's/.*general-\(.*\)\.yml/ \1/'
+ exit 1
+fi
+
+if [ -e "conf/general-$1.yml" ]
+then
+ # -f flag replaces the target file if it already exists.
+ # Remember that 1st argument is a file path relative to
+ # the file specified in the second argument.
+ ln -sf general-$1.yml conf/general.yml
+else
+ echo "File conf/general-$1.yml does not exist."
+fi
diff --git a/bin/update-all-reports b/bin/update-all-reports
index 6691ff4f0..4c0e96d31 100755
--- a/bin/update-all-reports
+++ b/bin/update-all-reports
@@ -8,7 +8,6 @@
use strict;
use warnings;
-require 5.8.0;
BEGIN {
use File::Basename qw(dirname);
@@ -17,75 +16,19 @@ BEGIN {
require "$d/../setenv.pl";
}
-use FixMyStreet;
-use FixMyStreet::DB;
+use FixMyStreet::Script::UpdateAllReports;
+use Getopt::Long::Descriptive;
-use File::Path ();
-use File::Slurp;
-use JSON::MaybeXS;
-use List::MoreUtils qw(zip);
-
-my $fourweeks = 4*7*24*60*60;
-
-# Age problems from when they're confirmed, except on Zurich
-# where they appear as soon as they're created.
-my $age_column = 'confirmed';
-if ( FixMyStreet->config('BASE_URL') =~ /zurich|zueri/ ) {
- $age_column = 'created';
-}
-
-my $problems = FixMyStreet::DB->resultset('Problem')->search(
- {
- state => [ FixMyStreet::DB::Result::Problem->visible_states() ],
- },
- {
- columns => [
- 'id', 'bodies_str', 'state', 'areas', 'cobrand',
- { duration => { extract => "epoch from current_timestamp-lastupdate" } },
- { age => { extract => "epoch from current_timestamp-$age_column" } },
- ]
- }
+my ($opt, $usage) = describe_options(
+ '%c %o',
+ [ 'table', "Output JSON for old table-style page." ],
+ [ 'areas', "Include area IDs in output JSON." ],
+ [ 'help', "print usage message and exit", { shortcircuit => 1 } ],
);
-$problems = $problems->cursor; # Raw DB cursor for speed
+print($usage->text), exit if $opt->help;
-my ( %fixed, %open );
-my @cols = ( 'id', 'bodies_str', 'state', 'areas', 'cobrand', 'duration', 'age' );
-while ( my @problem = $problems->next ) {
- my %problem = zip @cols, @problem;
- my @bodies;
- my $cobrand = $problem{cobrand};
-
- if ( !$problem{bodies_str} ) {
- # Problem was not sent to any bodies, add to all areas
- @bodies = grep { $_ } split( /,/, $problem{areas} );
- $problem{bodies} = 0;
- } else {
- # Add to bodies it was sent to
- @bodies = split( /,/, $problem{bodies_str} );
- $problem{bodies} = scalar @bodies;
- }
- foreach my $body ( @bodies ) {
- my $duration_str = ( $problem{duration} > 2 * $fourweeks ) ? 'old' : 'new';
- my $type = ( $problem{duration} > 2 * $fourweeks )
- ? 'unknown'
- : ($problem{age} > $fourweeks ? 'older' : 'new');
- if (FixMyStreet::DB::Result::Problem->fixed_states()->{$problem{state}} || FixMyStreet::DB::Result::Problem->closed_states()->{$problem{state}}) {
- # Fixed problems are either old or new
- $fixed{$body}{$duration_str}++;
- $fixed{$cobrand}{$body}{$duration_str}++;
- } else {
- # Open problems are either unknown, older, or new
- $open{$body}{$type}++;
- $open{$cobrand}{$body}{$type}++;
- }
- }
+if ($opt->table) {
+ FixMyStreet::Script::UpdateAllReports::generate($opt->areas);
+} else {
+ FixMyStreet::Script::UpdateAllReports::generate_dashboard();
}
-
-my $body = encode_json( {
- fixed => \%fixed,
- open => \%open,
-} );
-
-File::Path::mkpath( FixMyStreet->path_to( '../data/' )->stringify );
-File::Slurp::write_file( FixMyStreet->path_to( '../data/all-reports.json' )->stringify, \$body );
-
diff --git a/bin/update-schema b/bin/update-schema
index 171b87576..3f86bdacb 100755
--- a/bin/update-schema
+++ b/bin/update-schema
@@ -40,19 +40,13 @@ BEGIN {
}
use FixMyStreet;
-use mySociety::DBHandle qw(dbh);
+use FixMyStreet::Cobrand;
+use FixMyStreet::DB;
use mySociety::MaPit;
use Getopt::Long;
use Pod::Usage;
-my %args = (
- Name => FixMyStreet->config('FMS_DB_NAME'),
- User => FixMyStreet->config('FMS_DB_USER'),
- Password => FixMyStreet->config('FMS_DB_PASS'),
-);
-$args{Host} = FixMyStreet->config('FMS_DB_HOST', undef) if FixMyStreet->config('FMS_DB_HOST');
-$args{Port} = FixMyStreet->config('FMS_DB_PORT', undef) if FixMyStreet->config('FMS_DB_PORT');
-mySociety::DBHandle::configure( %args );
+my $db = FixMyStreet::DB->schema->storage;
my ($commit, $version, $downgrade, $help);
@@ -108,13 +102,20 @@ sub get_statements {
sub run_statements {
foreach my $st (@_) {
print ".";
- dbh()->do($st);
+ $db->dbh->do($st);
}
- dbh()->do('COMMIT');
print "\n";
}
-if ($upgrade) {
+if ($upgrade && $current_version eq 'EMPTY') {
+ print "* Database empty, loading in whole schema\n";
+ $nothing = 0;
+ if ($commit) {
+ run_statements(get_statements("$bin_dir/../db/schema.sql"));
+ run_statements(get_statements("$bin_dir/../db/generate_secret.sql"));
+ run_statements(get_statements("$bin_dir/../db/fixture.sql"));
+ }
+} elsif ($upgrade) {
if ($version) {
die "Not currently implemented";
}
@@ -136,14 +137,30 @@ if ($upgrade) {
if ( $commit && $current_version lt '0028' ) {
$nothing = 0;
print "Bodies created, fetching names from mapit\n";
- my $area_ids = dbh()->selectcol_arrayref('SELECT area_id FROM body_areas');
+ my $area_ids = $db->dbh->selectcol_arrayref('SELECT area_id FROM body_areas');
if ( @$area_ids ) {
my $areas = mySociety::MaPit::call('areas', $area_ids);
+ $db->txn_begin;
foreach (values %$areas) {
- dbh()->do('UPDATE body SET name=? WHERE id=?', {}, $_->{name}, $_->{id});
+ $db->dbh->do('UPDATE body SET name=? WHERE id=?', {}, $_->{name}, $_->{id});
}
- dbh()->do('COMMIT');
+ $db->txn_commit;
+ }
+ }
+
+ if ( $commit && $current_version lt '0054' ) {
+ $nothing = 0;
+ print "States created, importing names\n";
+ my @avail = FixMyStreet::Cobrand->available_cobrand_classes;
+ # Pick first available cobrand and language for database name import
+ my $cobrand = $avail[0] ? FixMyStreet::Cobrand::class($avail[0]) : 'FixMyStreet::Cobrand::Default';
+ my $lang = $cobrand->new->set_lang_and_domain(undef, 1, FixMyStreet->path_to('locale')->stringify);
+ my $names = $db->dbh->selectcol_arrayref('SELECT name FROM state');
+ $db->txn_begin;
+ foreach (@$names) {
+ $db->dbh->do('UPDATE state SET name=? WHERE name=?', {}, _($_), $_);
}
+ $db->txn_commit;
}
}
@@ -194,6 +211,12 @@ else {
# By querying the database schema, we can see where we're currently at
# (assuming schema change files are never half-applied, which should be the case)
sub get_db_version {
+ return 'EMPTY' if ! table_exists('problem');
+ return '0055' if column_exists('response_priorities', 'is_default');
+ return '0054' if table_exists('state');
+ return '0053' if table_exists('report_extra_fields');
+ return '0052' if table_exists('translation');
+ return '0051' if column_exists('contacts', 'state');
return '0050' if table_exists('defect_types');
return '0049' if column_exists('response_priorities', 'external_id');
return '0048' if column_exists('response_templates', 'state');
@@ -244,42 +267,48 @@ sub get_db_version {
return '0006' if 0;
return '0005-add_council_user_flag' if column_exists('users', 'from_council');
return '0005-add_abuse_flags_to_users_and_reports' if column_exists('problem', 'flagged');
- return '0000';
+ return '0004' if column_exists('comment', 'user_id');
+ return '0003' if column_exists('alert', 'user_id');
+ return '0002' if column_exists('problem', 'user_id');
+ return '0001' if table_exists('sessions');
+ return '0000' if table_exists('problem');
+ die "Database schema issue!";
}
# Returns true if a table exists
sub table_exists {
my $table = shift;
- return dbh()->selectrow_array('select count(*) from pg_tables where tablename = ?', {}, $table);
+ return $db->dbh->selectrow_array('select count(*) from pg_tables where tablename = ?', {}, $table);
}
# Returns true if a column of table exists
sub column_exists {
my ( $table, $column ) = @_;
- return dbh()->selectrow_array('select count(*) from pg_class, pg_attribute WHERE pg_class.relname=? AND pg_attribute.attname=? AND pg_class.oid=pg_attribute.attrelid AND pg_attribute.attnum > 0', {}, $table, $column);
+ return $db->dbh->selectrow_array('select count(*) from pg_class, pg_attribute WHERE pg_class.relname=? AND pg_attribute.attname=? AND pg_class.oid=pg_attribute.attrelid AND pg_attribute.attnum > 0', {}, $table, $column);
}
# Returns true if a column of a row in a table contains some text
sub column_like {
my ( $table, $where, $column, $contents ) = @_;
- return dbh()->selectrow_array("select count(*) from $table WHERE $where AND $column LIKE ?", {}, "%$contents%");
+ return $db->dbh->selectrow_array("select count(*) from $table WHERE $where AND $column LIKE ?", {}, "%$contents%");
}
# Returns true if a check constraint on a table exists
sub constraint_exists {
my ( $constraint ) = @_;
- return dbh()->selectrow_array('select count(*) from pg_constraint where conname = ?', {}, $constraint);
+ return $db->dbh->selectrow_array('select count(*) from pg_constraint where conname = ?', {}, $constraint);
}
# Returns true if a check constraint contains a certain string
sub constraint_contains {
my ( $constraint, $check ) = @_;
- my ($consrc) = dbh()->selectrow_array('select consrc from pg_constraint where conname = ?', {}, $constraint);
+ my ($consrc) = $db->dbh->selectrow_array('select consrc from pg_constraint where conname = ?', {}, $constraint);
+ return unless $consrc;
return $consrc =~ /$check/;
}
# Returns true if a function exists
sub function_exists {
my $fn = shift;
- return dbh()->selectrow_array('select count(*) from pg_proc where proname = ?', {}, $fn);
+ return $db->dbh->selectrow_array('select count(*) from pg_proc where proname = ?', {}, $fn);
}
diff --git a/bin/zurich/overdue-alert b/bin/zurich/overdue-alert
index 90e31df1c..f4fd0f4b7 100755
--- a/bin/zurich/overdue-alert
+++ b/bin/zurich/overdue-alert
@@ -38,7 +38,7 @@ loop_through( 'alert-overdue.txt', 0, 6, ['confirmed', 'planned'] );
sub loop_through {
my ( $template, $include_parent, $days, $states ) = @_;
- my $dtf = FixMyStreet::DB->storage->datetime_parser;
+ my $dtf = FixMyStreet::DB->schema->storage->datetime_parser;
my $date_threshold = $dtf->format_datetime(FixMyStreet::Cobrand::Zurich::sub_days( $now, $days ));
my $reports = FixMyStreet::DB->resultset("Problem")->search( {
@@ -78,7 +78,7 @@ sub send_alert {
}
FixMyStreet::Email::send_cron(
- FixMyStreet::DB->storage->schema,
+ FixMyStreet::DB->schema,
$template,
$h,
{
diff --git a/commonlib b/commonlib
-Subproject cb9fd0029879d301f331e08c28aa287e504b2a2
+Subproject b9fdb8ee6614adbe858891afd09da1c6079a66c
diff --git a/conf/.gitignore b/conf/.gitignore
index 86ecc7e03..25c6cc743 100644
--- a/conf/.gitignore
+++ b/conf/.gitignore
@@ -1,6 +1,6 @@
/general.yml
/general.yml.deployed
-/general.test-autogenerated*.yml
+/general-*.yml
/httpd.conf
/httpd.conf.deployed
/crontab
diff --git a/conf/crontab-example b/conf/crontab-example
index 68197d7b1..037dd147e 100644
--- a/conf/crontab-example
+++ b/conf/crontab-example
@@ -18,9 +18,11 @@ PATH=/usr/local/bin:/usr/bin:/bin
2 * * * * "$FMS/commonlib/bin/run-with-lockfile.sh" -n "$LOCK_DIR/send-alerts.lock" "$FMS/bin/send-alerts" || echo "stalled?"
22,52 * * * * "$FMS/commonlib/bin/run-with-lockfile.sh" -n "$LOCK_DIR/send-questionnaires.lock" "$FMS/bin/send-questionnaires" || echo "stalled?"
-# If you utilise Open311 and the updates extension, you will need to run these scripts
+# If you utilise Open311 and the updates extension, you will need to run these scripts.
+# We currently run fetch-comments-24hs once a night to catch anything missed.
#*/5 * * * * "$FMS/commonlib/bin/run-with-lockfile.sh" -n "$LOCK_DIR/send-comments.lock" "$FMS/bin/send-comments" || echo "stalled?"
-#*/5 * * * * "$FMS/commonlib/bin/run-with-lockfile.sh" -n "$LOCK_DIR/fetch-comments.lock" "$FMS/bin/fetch-comments" || echo "stalled?"
+#5,10,15,20,25,30,35,40,45,50,55 * * * * "$FMS/commonlib/bin/run-with-lockfile.sh" -n "$LOCK_DIR/fetch-comments.lock" "$FMS/bin/fetch-comments" || echo "stalled?"
+#0 1 * * * "$FMS/commonlib/bin/run-with-lockfile.sh" -n "$LOCK_DIR/fetch-comments.lock" "$FMS/bin/fetch-comments-24hs" || echo "stalled?"
47 0-7,9-23 * * * "$FMS/commonlib/bin/run-with-lockfile.sh" -n "$LOCK_DIR/open311-populate-service-list.lock" "$FMS/bin/open311-populate-service-list" || echo "stalled?"
47 8 * * * "$FMS/commonlib/bin/run-with-lockfile.sh" -n "$LOCK_DIR/open311-populate-service-list.lock" "$FMS/bin/open311-populate-service-list --warn" || echo "stalled?"
diff --git a/conf/general.yml-example b/conf/general.yml-example
index 794b0780b..345a6426d 100644
--- a/conf/general.yml-example
+++ b/conf/general.yml-example
@@ -90,6 +90,10 @@ GEO_CACHE: '../cache/'
MAPIT_URL: ''
MAPIT_TYPES: [ 'ZZZ' ]
+# If the MapIt you're using in MAPIT_URL requires an API key
+# (as https://mapit.mysociety.org/ does, for example), specify it here.
+# MAPIT_API_KEY: ''
+
# If you are using global MapIt, you might want to restrict FixMyStreet usage
# to only one or more areas, rather than all O04, for example. Provide MapIt
# IDs here in a list that FixMyStreet should recognise, along with the MapIt
@@ -200,3 +204,10 @@ TESTING_COUNCILS: ''
# if you're using Message Manager, include the URL here (see https://github.com/mysociety/message-manager/)
MESSAGE_MANAGER_URL: ''
+
+# If you want to hide all pages from non-logged-in users, set this to 1.
+LOGIN_REQUIRED: 0
+
+# If you want to stop new users from registering, set this to 1.
+# NB: This also disables all Facebook/Twitter logins.
+SIGNUPS_DISABLED: 0
diff --git a/conf/httpd.conf-example b/conf/httpd.conf-example
index d86517333..55be895e8 100644
--- a/conf/httpd.conf-example
+++ b/conf/httpd.conf-example
@@ -22,8 +22,8 @@ RewriteRule ^/alerts/?$ /alert [R=permanent,L]
# Proxy mapit so that our js code can make calls on the originating server. Use
# a RewriteRule rather than ProxyPass so that Apache's processing order is more
# predictable. ProxyPassReverse is not affected by this.
-RewriteRule /mapit/(.*) http://mapit.mysociety.org/$1 [P,L]
-ProxyPassReverse /mapit/ http://mapit.mysociety.org/
+RewriteRule /mapit/(.*) https://mapit.mysociety.org/$1 [P,L]
+ProxyPassReverse /mapit/ https://mapit.mysociety.org/
# serve static files directly
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f
diff --git a/conf/nginx.conf.example b/conf/nginx.conf.example
index e166fc532..cc246d0db 100644
--- a/conf/nginx.conf.example
+++ b/conf/nginx.conf.example
@@ -47,7 +47,7 @@ server {
rewrite ^/alerts/?$ /alert permanent;
location /mapit {
- proxy_pass http://mapit.mysociety.org/;
+ proxy_pass https://mapit.mysociety.org/;
proxy_set_header X-Real-IP $remote_addr;
}
diff --git a/conf/packages b/conf/packages
index 75794ee87..b199ec7f2 100644
--- a/conf/packages
+++ b/conf/packages
@@ -16,3 +16,5 @@ postgresql-server-dev-all
gnuplot
ttf-bitstream-vera
libexpat1-dev
+libssl-dev
+zlib1g-dev
diff --git a/conf/packages.generic b/conf/packages.generic
index a0cd9fa16..c566c363b 100644
--- a/conf/packages.generic
+++ b/conf/packages.generic
@@ -12,3 +12,5 @@ postgresql-server-dev-all
gnuplot
ttf-bitstream-vera
libexpat1-dev
+libssl-dev
+zlib1g-dev
diff --git a/cpanfile b/cpanfile
index 569136f84..7827dc67c 100644
--- a/cpanfile
+++ b/cpanfile
@@ -11,6 +11,7 @@ requires 'ExtUtils::MakeMaker', '6.72'; # [1]
requires 'Guard', '1.023';
requires 'PadWalker', '2.2';
requires 'aliased', '0.34';
+requires 'Net::SSLeay', '1.81';
# Catalyst itself, and modules/plugins used
requires 'Catalyst', '5.80031';
@@ -42,6 +43,7 @@ requires 'DBD::Pg', '2.9.2';
requires 'DBI';
requires 'DBIx::Class::EncodedColumn', '0.00013';
requires 'DBIx::Class::EncodedColumn::Crypt::Eksblowfish::Bcrypt';
+requires 'DBIx::Class::Factory';
requires 'DBIx::Class::FilterColumn';
requires 'DBIx::Class::InflateColumn::DateTime';
requires 'DBIx::Class::ResultSet';
@@ -52,7 +54,7 @@ requires 'Email::MIME';
requires 'Email::Sender';
requires 'Email::Valid';
requires 'Error';
-requires 'FCGI';
+requires 'FCGI'; # Required by e.g. Plack::Handler::FCGI
requires 'File::Find';
requires 'File::Path';
requires 'File::Slurp';
@@ -68,6 +70,7 @@ requires 'Locale::gettext';
requires 'LWP::Simple';
requires 'LWP::UserAgent';
requires 'Math::Trig';
+requires 'MIME::Parser'; # HandleMail
requires 'Module::Pluggable';
requires 'Moose';
requires 'MooX::Types::MooseLike';
@@ -76,7 +79,7 @@ requires 'Net::DNS::Resolver';
requires 'Net::Domain::TLD', '1.75';
requires 'Net::Facebook::Oauth2', '0.10';
requires 'Net::OAuth';
-requires 'Net::Twitter::Lite::WithAPIv1_1';
+requires 'Net::Twitter::Lite::WithAPIv1_1', '0.12008';
requires 'Path::Class';
requires 'POSIX';
requires 'Readonly';
@@ -95,12 +98,12 @@ requires 'YAML';
feature 'uk', 'FixMyStreet.com specific requirements' => sub {
# East Hampshire & Angus
- requires 'SOAP::Lite';
+ requires 'SOAP::Lite', '1.20';
};
feature 'zurich', 'Zueri wie neu specific requirements' => sub {
# Geocoder
- requires 'SOAP::Lite';
+ requires 'SOAP::Lite', '1.20';
};
# Moderation by from_body user
@@ -109,9 +112,17 @@ requires 'Algorithm::Diff';
# Modules used by CSS & watcher
requires 'CSS::Sass';
requires 'File::ChangeNotify';
-requires 'Path::Tiny';
+requires 'Path::Tiny', '0.104';
requires 'File::Find::Rule';
+# Modules used for development
+requires 'Plack::Middleware::Debug';
+requires 'Plack::Middleware::Debug::DBIC::QueryLog';
+requires 'Plack::Middleware::Debug::LWP';
+requires 'Plack::Middleware::Debug::Template';
+recommends 'Linux::Inotify2' if $^O eq 'linux';
+recommends 'Mac::FSEvents' if $^O eq 'darwin';
+
# Modules used by the test suite
requires 'Test::PostgreSQL';
requires 'CGI::Simple';
diff --git a/cpanfile.snapshot b/cpanfile.snapshot
index 4c3098bdb..238e54c1c 100644
--- a/cpanfile.snapshot
+++ b/cpanfile.snapshot
@@ -63,6 +63,18 @@ DISTRIBUTIONS
Sub::Exporter::Progressive 0.001006
Test::More 0.88
Variable::Magic 0.48
+ B-Hooks-OP-Check-0.21
+ pathname: E/ET/ETHER/B-Hooks-OP-Check-0.21.tar.gz
+ provides:
+ B::Hooks::OP::Check 0.21
+ requirements:
+ DynaLoader 0
+ ExtUtils::Depends 0.302
+ ExtUtils::MakeMaker 0
+ parent 0
+ perl 5.008001
+ strict 0
+ warnings 0
CGI-4.28
pathname: L/LE/LEEJO/CGI-4.28.tar.gz
provides:
@@ -832,26 +844,6 @@ DISTRIBUTIONS
Class::Singleton 1.4
requirements:
ExtUtils::MakeMaker 0
- Class-Std-0.011
- pathname: D/DC/DCONWAY/Class-Std-0.011.tar.gz
- provides:
- Class::Std 0.011
- Class::Std::SCR 0.011
- requirements:
- Data::Dumper 0
- Scalar::Util 0
- Test::More 0
- Class-Std-Fast-v0.0.8
- pathname: A/AC/ACID/Class-Std-Fast-v0.0.8.tar.gz
- provides:
- Class::Std::Fast 0.000008
- Class::Std::Fast::Storable 0.000008
- requirements:
- Class::Std v0.0.8
- Data::Dumper 0
- Scalar::Util 0
- Test::More 0
- version 0
Class-Unload-0.07
pathname: I/IL/ILMARI/Class-Unload-0.07.tar.gz
provides:
@@ -877,18 +869,6 @@ DISTRIBUTIONS
requirements:
ExtUtils::MakeMaker 0
Test::More 0
- Compress-Raw-Bzip2-2.060
- pathname: P/PM/PMQS/Compress-Raw-Bzip2-2.060.tar.gz
- provides:
- Compress::Raw::Bzip2 2.060
- requirements:
- ExtUtils::MakeMaker 0
- Compress-Raw-Zlib-2.060
- pathname: P/PM/PMQS/Compress-Raw-Zlib-2.060.tar.gz
- provides:
- Compress::Raw::Zlib 2.060
- requirements:
- ExtUtils::MakeMaker 0
Config-Any-0.23
pathname: B/BR/BRICAS/Config-Any-0.23.tar.gz
provides:
@@ -957,22 +937,6 @@ DISTRIBUTIONS
perl 5.006
strict 0
warnings 0
- Crypt-SSLeay-0.64
- pathname: N/NA/NANIS/Crypt-SSLeay-0.64.tar.gz
- provides:
- Crypt::SSLeay 0.64
- Crypt::SSLeay::CTX undef
- Crypt::SSLeay::Conn undef
- Crypt::SSLeay::Err undef
- Crypt::SSLeay::MainContext undef
- Crypt::SSLeay::X509 undef
- Net::SSL 2.85
- requirements:
- ExtUtils::MakeMaker 0
- LWP::Protocol::https 6.02
- MIME::Base64 0
- Test::More 0.88
- Try::Tiny 0.09
DBD-Pg-2.19.3
pathname: T/TU/TURNSTEP/DBD-Pg-2.19.3.tar.gz
provides:
@@ -1236,6 +1200,19 @@ DISTRIBUTIONS
File::Temp 0
Sub::Name 0.04
Test::More 0
+ DBIx-Class-Factory-0.04
+ pathname: P/PU/PUSHTAEV/DBIx-Class-Factory-0.04.tar.gz
+ provides:
+ DBIx::Class::Factory 0.04
+ DBIx::Class::Factory::Fields undef
+ requirements:
+ DBIx::Class 0
+ ExtUtils::MakeMaker 6.36
+ SQL::Translator 0
+ Test::Deep 0
+ Test::More 0
+ strict 0
+ warnings 0
DBIx-Class-IntrospectableM2M-0.001001
pathname: G/GR/GRODITI/DBIx-Class-IntrospectableM2M-0.001001.tar.gz
provides:
@@ -1244,6 +1221,20 @@ DISTRIBUTIONS
DBIx::Class 0
ExtUtils::MakeMaker 6.72
Test::More 0
+ DBIx-Class-QueryLog-1.005001
+ pathname: F/FR/FREW/DBIx-Class-QueryLog-1.005001.tar.gz
+ provides:
+ DBIx::Class::QueryLog 1.005001
+ DBIx::Class::QueryLog::Analyzer 1.005001
+ DBIx::Class::QueryLog::NotifyOnMax 1.005001
+ DBIx::Class::QueryLog::Query 1.005001
+ DBIx::Class::QueryLog::Transaction 1.005001
+ requirements:
+ DBIx::Class 0.07000
+ ExtUtils::MakeMaker 0
+ Moo 2
+ Time::HiRes 0
+ Types::Standard 0
DBIx-Class-Schema-Loader-0.07035
pathname: G/GE/GENEHACK/DBIx-Class-Schema-Loader-0.07035.tar.gz
provides:
@@ -1339,13 +1330,6 @@ DISTRIBUTIONS
Symbol 0
Test 0
perl 5.006
- Data-Dumper-2.145
- pathname: S/SM/SMUELLER/Data-Dumper-2.145.tar.gz
- provides:
- Data::Dumper 2.145
- requirements:
- ExtUtils::MakeMaker 0
- Test::More 0.98
Data-Dumper-Concise-2.020
pathname: F/FR/FREW/Data-Dumper-Concise-2.020.tar.gz
provides:
@@ -2726,8 +2710,8 @@ DISTRIBUTIONS
provides:
Error 0.17019
Error::Simple 0.17019
- Error::WarnDie undef
- Error::subs undef
+ Error::WarnDie 0
+ Error::subs 0
requirements:
Module::Build 0.39
Scalar::Util 0
@@ -2753,33 +2737,6 @@ DISTRIBUTIONS
requirements:
ExtUtils::MakeMaker 6.17
perl 5.006001
- ExtUtils-CBuilder-0.280205
- pathname: D/DA/DAGOLDEN/ExtUtils-CBuilder-0.280205.tar.gz
- provides:
- ExtUtils::CBuilder 0.280205
- ExtUtils::CBuilder::Base 0.280205
- ExtUtils::CBuilder::Platform::Unix 0.280205
- ExtUtils::CBuilder::Platform::VMS 0.280205
- ExtUtils::CBuilder::Platform::Windows 0.280205
- ExtUtils::CBuilder::Platform::Windows::BCC 0.280205
- ExtUtils::CBuilder::Platform::Windows::GCC 0.280205
- ExtUtils::CBuilder::Platform::Windows::MSVC 0.280205
- ExtUtils::CBuilder::Platform::aix 0.280205
- ExtUtils::CBuilder::Platform::cygwin 0.280205
- ExtUtils::CBuilder::Platform::darwin 0.280205
- ExtUtils::CBuilder::Platform::dec_osf 0.280205
- ExtUtils::CBuilder::Platform::os2 0.280205
- requirements:
- Cwd 0
- ExtUtils::MakeMaker 6.30
- File::Basename 0
- File::Spec 3.13
- File::Temp 0
- IO::File 0
- IPC::Cmd 0
- Perl::OSType 0
- Test::More 0.47
- Text::ParseWords 0
ExtUtils-Config-0.008
pathname: L/LE/LEONT/ExtUtils-Config-0.008.tar.gz
provides:
@@ -2797,6 +2754,16 @@ DISTRIBUTIONS
Capture::Tiny 0
ExtUtils::MakeMaker 0
File::Basename 0
+ ExtUtils-Depends-0.405
+ pathname: X/XA/XAOC/ExtUtils-Depends-0.405.tar.gz
+ provides:
+ ExtUtils::Depends 0.405
+ requirements:
+ Data::Dumper 0
+ ExtUtils::MakeMaker 0
+ File::Spec 0
+ IO::File 0
+ perl 5.006
ExtUtils-Helpers-0.022
pathname: L/LE/LEONT/ExtUtils-Helpers-0.022.tar.gz
provides:
@@ -2865,30 +2832,6 @@ DISTRIBUTIONS
File::Spec 0.8
Pod::Man 0
perl 5.006
- ExtUtils-ParseXS-3.21
- pathname: S/SM/SMUELLER/ExtUtils-ParseXS-3.21.tar.gz
- provides:
- ExtUtils::ParseXS 3.21
- ExtUtils::ParseXS::Constants 3.21
- ExtUtils::ParseXS::CountLines 3.21
- ExtUtils::ParseXS::Eval 3.21
- ExtUtils::ParseXS::Utilities 3.21
- ExtUtils::Typemaps 3.21
- ExtUtils::Typemaps::Cmd 3.21
- ExtUtils::Typemaps::InputMap 3.21
- ExtUtils::Typemaps::OutputMap 3.21
- ExtUtils::Typemaps::Type 3.21
- requirements:
- Carp 0
- Cwd 0
- DynaLoader 0
- Exporter 0
- ExtUtils::CBuilder 0
- ExtUtils::MakeMaker 6.46
- File::Basename 0
- File::Spec 0
- Symbol 0
- Test::More 0.47
FCGI-0.74
pathname: F/FL/FLORA/FCGI-0.74.tar.gz
provides:
@@ -3267,45 +3210,6 @@ DISTRIBUTIONS
Filter::Util::Call 0
Test::More 0
perl 5.006002
- IO-Compress-2.060
- pathname: P/PM/PMQS/IO-Compress-2.060.tar.gz
- provides:
- Compress::Zlib 2.060
- File::GlobMapper 1.000
- IO::Compress undef
- IO::Compress::Adapter::Bzip2 2.060
- IO::Compress::Adapter::Deflate 2.060
- IO::Compress::Adapter::Identity 2.060
- IO::Compress::Base 2.060
- IO::Compress::Base::Common 2.060
- IO::Compress::Bzip2 2.060
- IO::Compress::Deflate 2.060
- IO::Compress::Gzip 2.060
- IO::Compress::Gzip::Constants 2.060
- IO::Compress::RawDeflate 2.060
- IO::Compress::Zip 2.060
- IO::Compress::Zip::Constants 2.060
- IO::Compress::Zlib::Constants 2.060
- IO::Compress::Zlib::Extra 2.060
- IO::Uncompress::Adapter::Bunzip2 2.060
- IO::Uncompress::Adapter::Identity 2.060
- IO::Uncompress::Adapter::Inflate 2.060
- IO::Uncompress::AnyInflate 2.060
- IO::Uncompress::AnyUncompress 2.060
- IO::Uncompress::Base 2.060
- IO::Uncompress::Bunzip2 2.060
- IO::Uncompress::Gunzip 2.060
- IO::Uncompress::Inflate 2.060
- IO::Uncompress::RawInflate 2.060
- IO::Uncompress::Unzip 2.060
- U64 2.060
- Zlib::OldDeflate 2.060
- Zlib::OldInflate 2.060
- requirements:
- Compress::Raw::Bzip2 2.060
- Compress::Raw::Zlib 2.060
- ExtUtils::MakeMaker 0
- Scalar::Util 0
IO-HTML-1.00
pathname: C/CJ/CJM/IO-HTML-1.00.tar.gz
provides:
@@ -3318,6 +3222,13 @@ DISTRIBUTIONS
File::Temp 0
Scalar::Util 0
Test::More 0.88
+ IO-SessionData-1.03
+ pathname: P/PH/PHRED/IO-SessionData-1.03.tar.gz
+ provides:
+ IO::SessionData 1.03
+ IO::SessionSet undef
+ requirements:
+ ExtUtils::MakeMaker 0
IO-Socket-SSL-2.047
pathname: S/SU/SULLR/IO-Socket-SSL-2.047.tar.gz
provides:
@@ -3365,6 +3276,16 @@ DISTRIBUTIONS
File::Spec 0.8
Module::Build 0.4
Test::More 0.80
+ Import-Into-1.002005
+ pathname: H/HA/HAARG/Import-Into-1.002005.tar.gz
+ provides:
+ Import::Into 1.002005
+ requirements:
+ ExtUtils::MakeMaker 0
+ Module::Runtime 0
+ perl 5.006
+ strict 0
+ warnings 0
JSON-2.59
pathname: M/MA/MAKAMAKA/JSON-2.59.tar.gz
provides:
@@ -3429,6 +3350,26 @@ DISTRIBUTIONS
Mozilla::CA 20110101
Net::HTTPS 6
perl 5.008001
+ LWPx-Profile-0.2
+ pathname: C/CR/CREIN/LWPx-Profile-0.2.tar.gz
+ provides:
+ LWPx::Profile 0.2
+ requirements:
+ ExtUtils::MakeMaker 0
+ LWP::UserAgent 0
+ Time::HiRes 0
+ strict 0
+ warnings 0
+ Lexical-SealRequireHints-0.010
+ pathname: Z/ZE/ZEFRAM/Lexical-SealRequireHints-0.010.tar.gz
+ provides:
+ Lexical::SealRequireHints 0.010
+ requirements:
+ Module::Build 0
+ Test::More 0.41
+ perl 5.006
+ strict 0
+ warnings 0
Lingua-EN-FindNumber-1.2
pathname: T/TM/TMTM/Lingua-EN-FindNumber-1.2.tar.gz
provides:
@@ -3576,20 +3517,6 @@ DISTRIBUTIONS
IPC::Cmd 0
XSLoader 0
base 0
- MIME-Lite-3.030
- pathname: R/RJ/RJBS/MIME-Lite-3.030.tar.gz
- provides:
- MIME::Lite 3.030
- MIME::Lite::IO_Handle 3.030
- MIME::Lite::IO_Scalar 3.030
- MIME::Lite::IO_ScalarArray 3.030
- MIME::Lite::SMTP 3.030
- MailTool undef
- requirements:
- Email::Date::Format 1.000
- ExtUtils::MakeMaker 0
- File::Basename 0
- File::Spec 0
MIME-Types-1.38
pathname: M/MA/MARKOV/MIME-Types-1.38.tar.gz
provides:
@@ -3858,20 +3785,6 @@ DISTRIBUTIONS
Test::More 0.86
YAML::Tiny 1.38
perl 5.005
- Module-Metadata-1.000014
- pathname: B/BO/BOBTFISH/Module-Metadata-1.000014.tar.gz
- provides:
- Module::Metadata 1.000014
- requirements:
- Carp 0
- ExtUtils::MakeMaker 0
- File::Find 0
- File::Spec 0
- IO::File 0
- strict 0
- vars 0
- version 0.87
- warnings 0
Module-Pluggable-4.7
pathname: S/SI/SIMONW/Module-Pluggable-4.7.tar.gz
provides:
@@ -4383,10 +4296,14 @@ DISTRIBUTIONS
ExtUtils::MakeMaker 0
JSON::MaybeXS 0
LWP::UserAgent 0
+ Plack::Loader 0
+ Plack::Request 0
Test::Exception 0
Test::MockModule 0
Test::MockObject 0
Test::More 0.88
+ Test::Requires 0
+ Test::TCP 0
URI 0
URI::Escape 0
Net-HTTP-6.06
@@ -4442,10 +4359,10 @@ DISTRIBUTIONS
Test::More 0.66
Test::Warn 0.21
URI::Escape 3.28
- Net-SSLeay-1.52
- pathname: M/MI/MIKEM/Net-SSLeay-1.52.tar.gz
+ Net-SSLeay-1.81
+ pathname: M/MI/MIKEM/Net-SSLeay-1.81.tar.gz
provides:
- Net::SSLeay 1.52
+ Net::SSLeay 1.81
Net::SSLeay::Handle 0.61
requirements:
ExtUtils::MakeMaker 6.36
@@ -4484,30 +4401,30 @@ DISTRIBUTIONS
IO::Socket 0
POSIX 0
Socket 0
- Net-Twitter-Lite-0.12006
- pathname: M/MM/MMIMS/Net-Twitter-Lite-0.12006.tar.gz
+ Net-Twitter-Lite-0.12008
+ pathname: M/MM/MMIMS/Net-Twitter-Lite-0.12008.tar.gz
provides:
- Net::Twitter::Lite 0.12006
- Net::Twitter::Lite::API::V1 0.12006
- Net::Twitter::Lite::API::V1_1 0.12006
- Net::Twitter::Lite::Error 0.12006
- Net::Twitter::Lite::WithAPIv1_1 0.12006
- Net::Twitter::Lite::WrapResult 0.12006
+ Net::Twitter::Lite 0.12008
+ Net::Twitter::Lite::API::V1 0.12008
+ Net::Twitter::Lite::API::V1_1 0.12008
+ Net::Twitter::Lite::Error 0.12008
+ Net::Twitter::Lite::WithAPIv1_1 0.12008
+ Net::Twitter::Lite::WrapResult 0.12008
requirements:
Carp 0
- Crypt::SSLeay 0.5
Encode 0
HTTP::Request::Common 0
JSON 2.02
+ LWP::Protocol::https 0
LWP::UserAgent 2.032
- Module::Build 0.3601
- Net::HTTP >= 0, != 6.04, != 6.05
+ Module::Build::Tiny 0.034
+ Net::HTTP 0
Net::Netrc 0
URI 1.40
URI::Escape 0
overload 0
parent 0
- perl 5.005
+ perl 5.006
strict 0
warnings 0
Number-Compare-0.03
@@ -4604,6 +4521,16 @@ DISTRIBUTIONS
constant 0
strict 0
warnings 0
+ Package-Variant-1.003002
+ pathname: M/MS/MSTROUT/Package-Variant-1.003002.tar.gz
+ provides:
+ Package::Variant 1.003002
+ requirements:
+ Carp 0
+ Import::Into 1.000000
+ Module::Runtime 0.013
+ perl 5.006
+ strictures 2.000000
PadWalker-2.2
pathname: R/RO/ROBIN/PadWalker-2.2.tar.gz
provides:
@@ -4680,6 +4607,31 @@ DISTRIBUTIONS
JSON::PP 2.27200
Test::More 0.47
strict 0
+ Parse-RecDescent-1.967015
+ pathname: J/JT/JTBRAUN/Parse-RecDescent-1.967015.tar.gz
+ provides:
+ Parse::RecDescent 1.967015
+ Parse::RecDescent::Action 1.967015
+ Parse::RecDescent::ColCounter 1.967015
+ Parse::RecDescent::Directive 1.967015
+ Parse::RecDescent::Error 1.967015
+ Parse::RecDescent::Expectation 1.967015
+ Parse::RecDescent::InterpLit 1.967015
+ Parse::RecDescent::LineCounter 1.967015
+ Parse::RecDescent::Literal 1.967015
+ Parse::RecDescent::OffsetCounter 1.967015
+ Parse::RecDescent::Operator 1.967015
+ Parse::RecDescent::Production 1.967015
+ Parse::RecDescent::Repetition 1.967015
+ Parse::RecDescent::Result 1.967015
+ Parse::RecDescent::Rule 1.967015
+ Parse::RecDescent::Subrule 1.967015
+ Parse::RecDescent::Token 1.967015
+ Parse::RecDescent::UncondReject 1.967015
+ requirements:
+ ExtUtils::MakeMaker 6.5702
+ Test::More 0
+ Text::Balanced 1.95
Path-Class-0.31
pathname: K/KW/KWILLIAMS/Path-Class-0.31.tar.gz
provides:
@@ -4706,28 +4658,30 @@ DISTRIBUTIONS
overload 0
strict 0
warnings 0
- Path-Tiny-0.028
- pathname: D/DA/DAGOLDEN/Path-Tiny-0.028.tar.gz
+ Path-Tiny-0.104
+ pathname: D/DA/DAGOLDEN/Path-Tiny-0.104.tar.gz
provides:
- Path::Tiny 0.028
+ Path::Tiny 0.104
+ Path::Tiny::Error 0.104
requirements:
Carp 0
Cwd 0
Digest 1.03
Digest::SHA 5.45
Exporter 5.57
- ExtUtils::MakeMaker 6.30
+ ExtUtils::MakeMaker 6.17
Fcntl 0
File::Copy 0
+ File::Glob 0
File::Path 2.07
- File::Spec 3.40
- File::Temp 0.18
+ File::Spec 0.86
+ File::Temp 0.19
File::stat 0
- autodie::exception 2.14
constant 0
+ if 0
overload 0
+ perl 5.008001
strict 0
- threads 0
warnings 0
PathTools-3.40
pathname: S/SM/SMUELLER/PathTools-3.40.tar.gz
@@ -4748,21 +4702,6 @@ DISTRIBUTIONS
File::Basename 0
Scalar::Util 0
Test 0
- Perl-OSType-1.003
- pathname: D/DA/DAGOLDEN/Perl-OSType-1.003.tar.gz
- provides:
- Perl::OSType 1.003
- requirements:
- Exporter 0
- ExtUtils::MakeMaker 6.30
- File::Find 0
- File::Spec::Functions 0
- File::Temp 0
- List::Util 0
- Test::More 0.88
- constant 0
- strict 0
- warnings 0
Plack-1.0018
pathname: M/MI/MIYAGAWA/Plack-1.0018.tar.gz
provides:
@@ -4860,6 +4799,93 @@ DISTRIBUTIONS
URI 1.59
parent 0
perl 5.008001
+ Plack-Middleware-DBIC-QueryLog-0.05
+ pathname: J/JJ/JJNAPIORK/Plack-Middleware-DBIC-QueryLog-0.05.tar.gz
+ provides:
+ Plack::Middleware::DBIC::QueryLog 0.05
+ requirements:
+ DBIx::Class::QueryLog v1.3.0
+ Data::Dump 0
+ ExtUtils::MakeMaker 6.42
+ HTTP::Request::Common 0
+ Moo 0.009004
+ Plack 0.9957
+ Plack::Middleware::Debug 0
+ Scalar::Util 0
+ Test::Fatal 0
+ Test::More 0
+ perl 5.008008
+ Plack-Middleware-Debug-0.16
+ pathname: M/MI/MIYAGAWA/Plack-Middleware-Debug-0.16.tar.gz
+ provides:
+ Plack::Middleware::Debug 0.16
+ Plack::Middleware::Debug::Base 0.16
+ Plack::Middleware::Debug::CatalystLog 0.16
+ Plack::Middleware::Debug::DBITrace 0.16
+ Plack::Middleware::Debug::Environment 0.16
+ Plack::Middleware::Debug::Memory 0.16
+ Plack::Middleware::Debug::ModuleVersions 0.16
+ Plack::Middleware::Debug::Panel undef
+ Plack::Middleware::Debug::Parameters undef
+ Plack::Middleware::Debug::PerlConfig 0.16
+ Plack::Middleware::Debug::Response 0.16
+ Plack::Middleware::Debug::Session undef
+ Plack::Middleware::Debug::Timer 0.16
+ Plack::Middleware::Debug::TrackObjects undef
+ requirements:
+ Class::Method::Modifiers 1.05
+ Data::Dump 0
+ Encode 2.23
+ File::ShareDir 1.00
+ Module::Build::Tiny 0.026
+ Plack 0
+ Text::MicroTemplate 0.15
+ parent 0
+ perl 5.008001
+ Plack-Middleware-Debug-DBIC-QueryLog-0.09
+ pathname: J/JJ/JJNAPIORK/Plack-Middleware-Debug-DBIC-QueryLog-0.09.tar.gz
+ provides:
+ Plack::Middleware::Debug::DBIC::QueryLog 0.09
+ requirements:
+ DBIx::Class::QueryLog 0
+ DBIx::Class::QueryLog::Analyzer 0
+ Data::Dump 0
+ ExtUtils::MakeMaker 7.1002
+ HTTP::Request::Common 0
+ Moo 0.009005
+ Plack 0
+ Plack::Builder 0
+ Plack::Middleware::DBIC::QueryLog 0.05
+ Plack::Middleware::Debug 0
+ Plack::Test 0
+ SQL::Abstract 1.70
+ Scalar::Util 0
+ Test::Fatal 0
+ Test::More 0.96
+ perl 5.008008
+ Plack-Middleware-Debug-LWP-0.3
+ pathname: C/CR/CREIN/Plack-Middleware-Debug-LWP-0.3.tar.gz
+ provides:
+ Plack::Middleware::Debug::LWP 0.3
+ requirements:
+ ExtUtils::MakeMaker 0
+ LWPx::Profile 0
+ Plack::Middleware::Debug::Base 0
+ parent 0
+ strict 0
+ warnings 0
+ Plack-Middleware-Debug-Template-1.00
+ pathname: M/MY/MYSOCIETY/Plack-Middleware-Debug-Template-1.00.tar.gz
+ provides:
+ Plack::Middleware::Debug::Template 1.00
+ requirements:
+ Class::Method::Modifiers 0
+ ExtUtils::MakeMaker 0
+ Plack::Middleware::Debug 0
+ Test::More 0
+ Text::MicroTemplate 0
+ Time::HiRes 0
+ perl 5.006
Plack-Middleware-ReverseProxy-0.15
pathname: M/MI/MIYAGAWA/Plack-Middleware-ReverseProxy-0.15.tar.gz
provides:
@@ -4936,13 +4962,6 @@ DISTRIBUTIONS
perl 5.00473
strict 0
vars 0
- Return-Value-1.666002
- pathname: R/RJ/RJBS/Return-Value-1.666002.tar.gz
- provides:
- Return::Value 1.666002
- requirements:
- ExtUtils::MakeMaker 0
- Test::More 0.47
Role-Tiny-2.000005
pathname: H/HA/HAARG/Role-Tiny-2.000005.tar.gz
provides:
@@ -4951,31 +4970,29 @@ DISTRIBUTIONS
requirements:
Exporter 5.57
perl 5.006
- SOAP-Lite-0.715
- pathname: M/MK/MKUTTER/SOAP-Lite-0.715.tar.gz
+ SOAP-Lite-1.20
+ pathname: P/PH/PHRED/SOAP-Lite-1.20.tar.gz
provides:
- Apache::SOAP 0.715
- Apache::XMLRPC::Lite 0.715
- LWP::Protocol 0.715
+ Apache::SOAP 1.17
My::Chat undef
My::Examples undef
My::Parameters undef
My::PersistentIterator undef
My::PingPong undef
My::SessionIterator undef
- SOAP 0.715
+ SOAP 1.20
SOAP::Apache undef
- SOAP::Client 0.715
- SOAP::Cloneable 0.715
- SOAP::Constants 0.715
- SOAP::Custom::XML::Data 0.715
- SOAP::Custom::XML::Deserializer 0.715
- SOAP::Data 0.715
- SOAP::Deserializer 0.715
- SOAP::Fault 0.715
- SOAP::Header 0.715
- SOAP::Lite 0.715
- SOAP::Lite::COM 0.715
+ SOAP::Client 1.20
+ SOAP::Cloneable 1.20
+ SOAP::Constants 1.17
+ SOAP::Custom::XML::Data 1.20
+ SOAP::Custom::XML::Deserializer 1.20
+ SOAP::Data 1.20
+ SOAP::Deserializer 1.20
+ SOAP::Fault 1.20
+ SOAP::Header 1.20
+ SOAP::Lite 1.20
+ SOAP::Lite::COM 1.20
SOAP::Lite::Deserializer::XMLSchema1999 undef
SOAP::Lite::Deserializer::XMLSchema2001 undef
SOAP::Lite::Deserializer::XMLSchemaSOAP1_1 undef
@@ -4984,93 +5001,65 @@ DISTRIBUTIONS
SOAP::Lite::Packager::DIME undef
SOAP::Lite::Packager::MIME undef
SOAP::Lite::Utils undef
- SOAP::Packager 0.715
- SOAP::Packager::DIME 0.715
- SOAP::Packager::MIME 0.715
- SOAP::Parser 0.715
- SOAP::SOM 0.715
- SOAP::Schema 0.715
- SOAP::Schema::Deserializer 0.715
- SOAP::Schema::WSDL 0.715
- SOAP::Serializer 0.715
- SOAP::Server 0.715
- SOAP::Server::Object 0.715
- SOAP::Server::Parameters 0.715
- SOAP::Test 0.715
- SOAP::Test::Server 0.715
- SOAP::Trace 0.715
- SOAP::Transport 0.715
- SOAP::Transport::HTTP 0.715
- SOAP::Transport::HTTP::Apache 0.715
- SOAP::Transport::HTTP::CGI 0.715
- SOAP::Transport::HTTP::Client 0.715
- SOAP::Transport::HTTP::Daemon 0.715
+ SOAP::Packager 1.17
+ SOAP::Packager::DIME 1.17
+ SOAP::Packager::MIME 1.17
+ SOAP::Parser 1.20
+ SOAP::SOM 1.20
+ SOAP::Schema 1.20
+ SOAP::Schema::Deserializer 1.20
+ SOAP::Schema::WSDL 1.20
+ SOAP::Serializer 1.20
+ SOAP::Server 1.20
+ SOAP::Server::Object 1.20
+ SOAP::Server::Parameters 1.20
+ SOAP::Test 1.17
+ SOAP::Test::Server 1.17
+ SOAP::Trace 1.20
+ SOAP::Transport 1.20
+ SOAP::Transport::HTTP 1.17
+ SOAP::Transport::HTTP::Apache 1.17
+ SOAP::Transport::HTTP::CGI 1.17
+ SOAP::Transport::HTTP::Client 1.17
+ SOAP::Transport::HTTP::Daemon 1.17
SOAP::Transport::HTTP::Daemon::ForkAfterProcessing undef
SOAP::Transport::HTTP::Daemon::ForkOnAccept undef
- SOAP::Transport::HTTP::FCGI 0.715
- SOAP::Transport::HTTP::Server 0.715
- SOAP::Transport::IO 0.715
- SOAP::Transport::IO::Server 0.715
- SOAP::Transport::LOCAL 0.715
- SOAP::Transport::LOCAL::Client 0.715
+ SOAP::Transport::HTTP::FCGI 1.17
+ SOAP::Transport::HTTP::Server 1.17
+ SOAP::Transport::IO 1.17
+ SOAP::Transport::IO::Server 1.17
+ SOAP::Transport::LOCAL 1.17
+ SOAP::Transport::LOCAL::Client 1.17
SOAP::Transport::LOOPBACK undef
SOAP::Transport::LOOPBACK::Client undef
- SOAP::Transport::MAILTO 0.715
- SOAP::Transport::MAILTO::Client 0.715
- SOAP::Transport::POP3 0.715
- SOAP::Transport::POP3::Server 0.715
- SOAP::Utils 0.715
- SOAP::XMLSchema1999::Serializer 0.715
- SOAP::XMLSchema2001::Serializer 0.715
- SOAP::XMLSchema::Serializer 0.715
- SOAP::XMLSchemaApacheSOAP::Deserializer 0.715
- UDDI::Constants 0.715
- UDDI::Data 0.715
- UDDI::Deserializer 0.715
- UDDI::Lite 0.715
- UDDI::SOM 0.715
- UDDI::Serializer 0.715
- XML::Parser::Lite 0.715
- XMLRPC 0.715
- XMLRPC::Constants 0.715
- XMLRPC::Data 0.715
- XMLRPC::Deserializer 0.715
- XMLRPC::Lite 0.715
- XMLRPC::SOM 0.715
- XMLRPC::Serializer 0.715
- XMLRPC::Server 0.715
- XMLRPC::Server::Parameters 0.715
- XMLRPC::Test 0.715
- XMLRPC::Test::Server 0.715
- XMLRPC::Transport::HTTP 0.715
- XMLRPC::Transport::HTTP::Apache 0.715
- XMLRPC::Transport::HTTP::CGI 0.715
- XMLRPC::Transport::HTTP::Daemon 0.715
- XMLRPC::Transport::POP3 0.715
- XMLRPC::Transport::POP3::Server 0.715
- XMLRPC::Transport::TCP 0.715
- XMLRPC::Transport::TCP::Server 0.715
+ SOAP::Transport::MAILTO 1.17
+ SOAP::Transport::MAILTO::Client 1.17
+ SOAP::Transport::POP3 1.17
+ SOAP::Transport::POP3::Server 1.17
+ SOAP::Transport::TCP 1.17
+ SOAP::Transport::TCP::Client 1.17
+ SOAP::Transport::TCP::Server 1.17
+ SOAP::Utils 1.20
+ SOAP::XMLSchema1999::Serializer 1.20
+ SOAP::XMLSchema2001::Serializer 1.20
+ SOAP::XMLSchema::Serializer 1.20
+ SOAP::XMLSchemaApacheSOAP::Deserializer 1.20
+ URI::tcp 1.17
requirements:
Class::Inspector 0
Compress::Zlib 0
- Crypt::SSLeay 0
ExtUtils::MakeMaker 0
- FCGI 0
- HTTP::Daemon 0
- IO::File 0
+ IO::SessionData 1.03
IO::Socket::SSL 0
+ LWP::Protocol::https 0
LWP::UserAgent 0
MIME::Base64 0
- MIME::Lite 0
- MIME::Parser 0
- Net::POP3 0
Scalar::Util 0
Task::Weaken 0
- Test::More 0
URI 0
XML::Parser 2.23
constant 0
- perl 5.006
+ perl 5.006000
SQL-Abstract-1.73
pathname: F/FR/FREW/SQL-Abstract-1.73.tar.gz
provides:
@@ -5089,6 +5078,111 @@ DISTRIBUTIONS
Test::More 0.92
Test::Warn 0
perl 5.006002
+ SQL-Translator-0.11021
+ pathname: I/IL/ILMARI/SQL-Translator-0.11021.tar.gz
+ provides:
+ Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar undef
+ SQL::Translator 0.11021
+ SQL::Translator::Diff undef
+ SQL::Translator::Filter::DefaultExtra 1.59
+ SQL::Translator::Filter::Globals 1.59
+ SQL::Translator::Filter::Names 1.59
+ SQL::Translator::Generator::DDL::MySQL undef
+ SQL::Translator::Generator::DDL::PostgreSQL undef
+ SQL::Translator::Generator::DDL::SQLServer undef
+ SQL::Translator::Generator::DDL::SQLite undef
+ SQL::Translator::Generator::Role::DDL undef
+ SQL::Translator::Generator::Role::Quote undef
+ SQL::Translator::Parser 1.60
+ SQL::Translator::Parser::Access 1.59
+ SQL::Translator::Parser::DB2 undef
+ SQL::Translator::Parser::DB2::Grammar undef
+ SQL::Translator::Parser::DBI 1.59
+ SQL::Translator::Parser::DBI::DB2 undef
+ SQL::Translator::Parser::DBI::MySQL 1.59
+ SQL::Translator::Parser::DBI::Oracle 1.59
+ SQL::Translator::Parser::DBI::PostgreSQL 1.59
+ SQL::Translator::Parser::DBI::SQLServer 1.59
+ SQL::Translator::Parser::DBI::SQLite 1.59
+ SQL::Translator::Parser::DBI::Sybase 1.59
+ SQL::Translator::Parser::Excel 1.59
+ SQL::Translator::Parser::JSON 1.00
+ SQL::Translator::Parser::MySQL 1.59
+ SQL::Translator::Parser::Oracle 1.59
+ SQL::Translator::Parser::PostgreSQL 1.59
+ SQL::Translator::Parser::SQLServer 1.59
+ SQL::Translator::Parser::SQLite 1.59
+ SQL::Translator::Parser::Storable 1.59
+ SQL::Translator::Parser::Sybase 1.59
+ SQL::Translator::Parser::XML 1.59
+ SQL::Translator::Parser::XML::SQLFairy 1.59
+ SQL::Translator::Parser::YAML 1.59
+ SQL::Translator::Parser::xSV 1.59
+ SQL::Translator::Producer 1.59
+ SQL::Translator::Producer::ClassDBI 1.59
+ SQL::Translator::Producer::DB2 1.59
+ SQL::Translator::Producer::DiaUml 1.59
+ SQL::Translator::Producer::Diagram 1.59
+ SQL::Translator::Producer::Dumper 1.59
+ SQL::Translator::Producer::GraphViz 1.59
+ SQL::Translator::Producer::HTML 1.59
+ SQL::Translator::Producer::JSON 1.00
+ SQL::Translator::Producer::Latex 1.59
+ SQL::Translator::Producer::MySQL 1.59
+ SQL::Translator::Producer::Oracle 1.59
+ SQL::Translator::Producer::POD 1.59
+ SQL::Translator::Producer::PostgreSQL 1.59
+ SQL::Translator::Producer::SQLServer 1.59
+ SQL::Translator::Producer::SQLite 1.59
+ SQL::Translator::Producer::Storable 1.59
+ SQL::Translator::Producer::Sybase 1.59
+ SQL::Translator::Producer::TT::Base 1.59
+ SQL::Translator::Producer::TT::Table 1.59
+ SQL::Translator::Producer::TTSchema 1.59
+ SQL::Translator::Producer::XML 1.59
+ SQL::Translator::Producer::XML::SQLFairy 1.59
+ SQL::Translator::Producer::YAML 1.59
+ SQL::Translator::Role::BuildArgs undef
+ SQL::Translator::Role::Debug undef
+ SQL::Translator::Role::Error undef
+ SQL::Translator::Role::ListAttr undef
+ SQL::Translator::Schema 1.59
+ SQL::Translator::Schema::Constants 1.59
+ SQL::Translator::Schema::Constraint 1.59
+ SQL::Translator::Schema::Field 1.59
+ SQL::Translator::Schema::Index 1.59
+ SQL::Translator::Schema::Object 1.59
+ SQL::Translator::Schema::Procedure 1.59
+ SQL::Translator::Schema::Role::Compare undef
+ SQL::Translator::Schema::Role::Extra undef
+ SQL::Translator::Schema::Table 1.59
+ SQL::Translator::Schema::Trigger 1.59
+ SQL::Translator::Schema::View 1.59
+ SQL::Translator::Types undef
+ SQL::Translator::Utils 1.59
+ SQL::Translator::Utils::Error 1.59
+ Test::SQL::Translator 1.59
+ requirements:
+ Carp::Clan 0
+ DBI 1.54
+ Digest::SHA 0
+ ExtUtils::MakeMaker 6.59
+ File::ShareDir 1.0
+ JSON 2.0
+ List::MoreUtils 0.09
+ Moo 1.000003
+ Package::Variant 1.001001
+ Parse::RecDescent 1.967009
+ Scalar::Util 0
+ Sub::Quote 0
+ Test::Differences 0
+ Test::Exception 0.31
+ Test::More 0.88
+ Text::ParseWords 0
+ Try::Tiny 0.04
+ XML::Writer 0.500
+ YAML 0.66
+ perl 5.008001
SUPER-1.20141117
pathname: C/CH/CHROMATIC/SUPER-1.20141117.tar.gz
provides:
@@ -5409,12 +5503,6 @@ DISTRIBUTIONS
File::Spec 0.8
File::Temp 0.12
Scalar::Util 0
- TermReadKey-2.32
- pathname: J/JS/JSTOWE/TermReadKey-2.32.tar.gz
- provides:
- Term::ReadKey 2.32
- requirements:
- ExtUtils::MakeMaker 0
Test-Base-0.60
pathname: I/IN/INGY/Test-Base-0.60.tar.gz
provides:
@@ -5701,21 +5789,6 @@ DISTRIBUTIONS
Test::Requires 0
Time::HiRes 0
perl 5.008
- Test-Simple-0.98
- pathname: M/MS/MSCHWERN/Test-Simple-0.98.tar.gz
- provides:
- Test::Builder 0.98
- Test::Builder::IO::Scalar 2.110
- Test::Builder::Module 0.98
- Test::Builder::Tester 1.22
- Test::Builder::Tester::Color 1.22
- Test::Builder::Tester::Tie 1.22
- Test::More 0.98
- Test::Simple 0.98
- requirements:
- ExtUtils::MakeMaker 0
- Test::Harness 2.03
- perl 5.006
Test-TCP-1.21
pathname: T/TO/TOKUHIROM/Test-TCP-1.21.tar.gz
provides:
@@ -5884,6 +5957,17 @@ DISTRIBUTIONS
requirements:
Module::Build 0.36
Test::More 0
+ Text-MicroTemplate-0.24
+ pathname: K/KA/KAZUHO/Text-MicroTemplate-0.24.tar.gz
+ provides:
+ Text::MicroTemplate 0.24
+ Text::MicroTemplate::EncodedString 0.24
+ Text::MicroTemplate::File undef
+ requirements:
+ ExtUtils::MakeMaker 6.59
+ File::Temp 0
+ Test::More 0
+ perl 5.00800
Text-SimpleTable-2.03
pathname: M/MR/MRAMBERG/Text-SimpleTable-2.03.tar.gz
provides:
@@ -6032,6 +6116,48 @@ DISTRIBUTIONS
constant 0
strict 0
warnings 0
+ Type-Tiny-1.002001
+ pathname: T/TO/TOBYINK/Type-Tiny-1.002001.tar.gz
+ provides:
+ Devel::TypeTiny::Perl56Compat 1.002001
+ Devel::TypeTiny::Perl58Compat 1.002001
+ Error::TypeTiny 1.002001
+ Error::TypeTiny::Assertion 1.002001
+ Error::TypeTiny::Compilation 1.002001
+ Error::TypeTiny::WrongNumberOfParameters 1.002001
+ Eval::TypeTiny 1.002001
+ Reply::Plugin::TypeTiny 1.002001
+ Test::TypeTiny 1.002001
+ Type::Coercion 1.002001
+ Type::Coercion::FromMoose 1.002001
+ Type::Coercion::Union 1.002001
+ Type::Library 1.002001
+ Type::Params 1.002001
+ Type::Parser 1.002001
+ Type::Registry 1.002001
+ Type::Tiny 1.002001
+ Type::Tiny::Class 1.002001
+ Type::Tiny::Duck 1.002001
+ Type::Tiny::Enum 1.002001
+ Type::Tiny::Intersection 1.002001
+ Type::Tiny::Role 1.002001
+ Type::Tiny::Union 1.002001
+ Type::Utils 1.002001
+ Types::Common::Numeric 1.002001
+ Types::Common::String 1.002001
+ Types::Standard 1.002001
+ Types::Standard::ArrayRef 1.002001
+ Types::Standard::CycleTuple 1.002001
+ Types::Standard::Dict 1.002001
+ Types::Standard::HashRef 1.002001
+ Types::Standard::Map 1.002001
+ Types::Standard::ScalarRef 1.002001
+ Types::Standard::Tuple 1.002001
+ Types::TypeTiny 1.002001
+ requirements:
+ Exporter::Tiny 0.026
+ ExtUtils::MakeMaker 6.17
+ perl 5.006001
UNIVERSAL-can-1.20140328
pathname: C/CH/CHROMATIC/UNIVERSAL-can-1.20140328.tar.gz
provides:
@@ -6344,6 +6470,14 @@ DISTRIBUTIONS
XML::NamespaceSupport 1.04
XML::SAX 0.15
XML::SAX::Expat 0
+ XML-Writer-0.625
+ pathname: J/JO/JOSEPHW/XML-Writer-0.625.tar.gz
+ provides:
+ XML::Writer 0.625
+ XML::Writer::_PrintChecker 0.625
+ XML::Writer::_String 0.625
+ requirements:
+ ExtUtils::MakeMaker 0
XML-XPathEngine-0.13
pathname: M/MI/MIROD/XML-XPathEngine-0.13.tar.gz
provides:
@@ -6435,6 +6569,18 @@ DISTRIBUTIONS
constant 0
if 0
overload 0
+ bareword-filehandles-0.005
+ pathname: I/IL/ILMARI/bareword-filehandles-0.005.tar.gz
+ provides:
+ bareword::filehandles 0.005
+ requirements:
+ B::Hooks::OP::Check 0
+ ExtUtils::Depends 0
+ ExtUtils::MakeMaker 0
+ Lexical::SealRequireHints 0
+ Test::More 0.88
+ XSLoader 0
+ perl 5.008001
strict 0
warnings 0
gettext-1.05
@@ -6443,6 +6589,24 @@ DISTRIBUTIONS
Locale::gettext 1.05
requirements:
ExtUtils::MakeMaker 0
+ indirect-0.37
+ pathname: V/VP/VPIT/indirect-0.37.tar.gz
+ provides:
+ indirect 0.37
+ requirements:
+ Carp 0
+ Config 0
+ ExtUtils::MakeMaker 0
+ File::Spec 0
+ IO::Handle 0
+ IO::Select 0
+ IPC::Open3 0
+ POSIX 0
+ Socket 0
+ Test::More 0
+ XSLoader 0
+ lib 0
+ perl 5.008001
libnet-3.10
pathname: S/SH/SHAY/libnet-3.10.tar.gz
provides:
@@ -6552,6 +6716,21 @@ DISTRIBUTIONS
ExtUtils::MakeMaker 6.59
Module::Build 0.36
perl 5.008001
+ multidimensional-0.013
+ pathname: I/IL/ILMARI/multidimensional-0.013.tar.gz
+ provides:
+ multidimensional 0.013
+ requirements:
+ B::Hooks::OP::Check 0.19
+ CPAN::Meta 2.112580
+ ExtUtils::Depends 0
+ ExtUtils::MakeMaker 0
+ Lexical::SealRequireHints 0.005
+ Test::More 0.88
+ XSLoader 0
+ perl 5.008
+ strict 0
+ warnings 0
namespace-autoclean-0.13
pathname: B/BO/BOBTFISH/namespace-autoclean-0.13.tar.gz
provides:
@@ -6576,23 +6755,16 @@ DISTRIBUTIONS
ExtUtils::CBuilder 0.27
Package::Stash 0.23
Test::More 0.88
- strictures-1.004004
- pathname: E/ET/ETHER/strictures-1.004004.tar.gz
- provides:
- strictures 1.004004
- requirements:
- ExtUtils::MakeMaker 0
- version-0.9902
- pathname: J/JP/JPEACOCK/version-0.9902.tar.gz
+ strictures-2.000003
+ pathname: H/HA/HAARG/strictures-2.000003.tar.gz
provides:
- charstar 0.9902
- version 0.9902
- version::vpp 0.9902
- version::vxs 0.9902
+ strictures 2.000003
+ strictures::extra undef
requirements:
- ExtUtils::MakeMaker 0
- File::Temp 0.13
- Test::More 0.45
+ bareword::filehandles 0
+ indirect 0
+ multidimensional 0
+ perl 5.006
warnings-illegalproto-0.001001
pathname: F/FR/FREW/warnings-illegalproto-0.001001.tar.gz
provides:
diff --git a/data/zurich/openlayers.zurich.cfg b/data/zurich/openlayers.zurich.cfg
index 7046384f2..38eac3d11 100644
--- a/data/zurich/openlayers.zurich.cfg
+++ b/data/zurich/openlayers.zurich.cfg
@@ -32,6 +32,9 @@ OpenLayers/Layer/SphericalMercator.js # For 4326
OpenLayers/Layer/Vector.js
OpenLayers/Layer/XYZ.js
OpenLayers/Popup/FramedCloud.js
+# Needed by Protocol/HTTP (for Strategy/BBOX bbox)
+# This loads in needed Filters too.
+OpenLayers/Format/QueryStringFilter.js
# Zurich things
OpenLayers/Format/WMTSCapabilities/v1_0_0.js
diff --git a/db/downgrade_0051---0050.sql b/db/downgrade_0051---0050.sql
new file mode 100644
index 000000000..424420e29
--- /dev/null
+++ b/db/downgrade_0051---0050.sql
@@ -0,0 +1,36 @@
+BEGIN;
+
+ALTER TABLE contacts ADD confirmed boolean;
+ALTER TABLE contacts ADD deleted boolean;
+
+UPDATE contacts SET confirmed='t', deleted='t' WHERE state = 'deleted';
+UPDATE contacts SET confirmed='f', deleted='t' WHERE state = 'inactive';
+UPDATE contacts SET confirmed='t', deleted='f' WHERE state = 'confirmed';
+UPDATE contacts SET confirmed='f', deleted='f' WHERE state = 'unconfirmed';
+
+ALTER TABLE contacts ALTER COLUMN confirmed SET NOT NULL;
+ALTER TABLE contacts ALTER COLUMN deleted SET NOT NULL;
+ALTER TABLE contacts DROP COLUMN state;
+
+ALTER TABLE contacts_history ADD confirmed boolean;
+ALTER TABLE contacts_history ADD deleted boolean;
+
+UPDATE contacts_history SET confirmed='t', deleted='t' WHERE state = 'deleted';
+UPDATE contacts_history SET confirmed='f', deleted='t' WHERE state = 'inactive';
+UPDATE contacts_history SET confirmed='t', deleted='f' WHERE state = 'confirmed';
+UPDATE contacts_history SET confirmed='f', deleted='f' WHERE state = 'unconfirmed';
+
+ALTER TABLE contacts_history ALTER COLUMN confirmed SET NOT NULL;
+ALTER TABLE contacts_history ALTER COLUMN deleted SET NOT NULL;
+ALTER TABLE contacts_history DROP COLUMN state;
+
+CREATE OR REPLACE FUNCTION contacts_updated()
+ returns trigger as '
+ begin
+ insert into contacts_history (contact_id, body_id, category, email, editor, whenedited, note, confirmed, deleted) values (new.id, new.body_id, new.category, new.email, new.editor, new.whenedited, new.note, new.confirmed, new.deleted);
+ return new;
+ end;
+' language 'plpgsql';
+
+COMMIT;
+
diff --git a/db/downgrade_0052---0051.sql b/db/downgrade_0052---0051.sql
new file mode 100644
index 000000000..715b4549f
--- /dev/null
+++ b/db/downgrade_0052---0051.sql
@@ -0,0 +1,5 @@
+BEGIN;
+
+DROP TABLE translation;
+
+COMMIT;
diff --git a/db/downgrade_0053---0052.sql b/db/downgrade_0053---0052.sql
new file mode 100644
index 000000000..fdad6d0b8
--- /dev/null
+++ b/db/downgrade_0053---0052.sql
@@ -0,0 +1,5 @@
+BEGIN;
+
+DROP TABLE report_extra_fields;
+
+COMMIT;
diff --git a/db/downgrade_0054---0053.sql b/db/downgrade_0054---0053.sql
new file mode 100644
index 000000000..6fcc41c33
--- /dev/null
+++ b/db/downgrade_0054---0053.sql
@@ -0,0 +1,39 @@
+BEGIN;
+
+DROP TABLE state;
+
+ALTER TABLE problem ADD CONSTRAINT problem_state_check CHECK (
+ state = 'unconfirmed'
+ or state = 'hidden'
+ or state = 'partial'
+ or state = 'confirmed'
+ or state = 'investigating'
+ or state = 'planned'
+ or state = 'in progress'
+ or state = 'action scheduled'
+ or state = 'fixed'
+ or state = 'fixed - council'
+ or state = 'fixed - user'
+ or state = 'closed'
+ or state = 'unable to fix'
+ or state = 'not responsible'
+ or state = 'duplicate'
+ or state = 'internal referral'
+);
+ALTER TABLE comment ADD CONSTRAINT comment_problem_state_check CHECK (
+ problem_state = 'confirmed'
+ or problem_state = 'investigating'
+ or problem_state = 'planned'
+ or problem_state = 'in progress'
+ or problem_state = 'action scheduled'
+ or problem_state = 'fixed'
+ or problem_state = 'fixed - council'
+ or problem_state = 'fixed - user'
+ or problem_state = 'closed'
+ or problem_state = 'unable to fix'
+ or problem_state = 'not responsible'
+ or problem_state = 'duplicate'
+ or problem_state = 'internal referral'
+);
+
+COMMIT;
diff --git a/db/downgrade_0055---0054.sql b/db/downgrade_0055---0054.sql
new file mode 100644
index 000000000..a38d74ded
--- /dev/null
+++ b/db/downgrade_0055---0054.sql
@@ -0,0 +1,6 @@
+BEGIN;
+
+ALTER TABLE response_priorities DROP COLUMN is_default;
+
+COMMIT;
+
diff --git a/db/alert_types.sql b/db/fixture.sql
index 471fd905f..840906223 100644
--- a/db/alert_types.sql
+++ b/db/fixture.sql
@@ -1,3 +1,13 @@
+INSERT INTO state (label, type, name) VALUES ('investigating', 'open', 'Investigating');
+INSERT INTO state (label, type, name) VALUES ('in progress', 'open', 'In progress');
+INSERT INTO state (label, type, name) VALUES ('planned', 'open', 'Planned');
+INSERT INTO state (label, type, name) VALUES ('action scheduled', 'open', 'Action scheduled');
+INSERT INTO state (label, type, name) VALUES ('unable to fix', 'closed', 'No further action');
+INSERT INTO state (label, type, name) VALUES ('not responsible', 'closed', 'Not responsible');
+INSERT INTO state (label, type, name) VALUES ('duplicate', 'closed', 'Duplicate');
+INSERT INTO state (label, type, name) VALUES ('internal referral', 'closed', 'Internal referral');
+INSERT INTO state (label, type, name) VALUES ('fixed', 'fixed', 'Fixed');
+
-- New updates on a particular problem report
insert into alert_type
(ref, head_sql_query, head_table,
@@ -18,11 +28,8 @@ insert into alert_type
values ('new_problems', '', '',
'New problems on FixMyStreet', '/', 'The latest problems reported by users',
'problem',
- 'problem.non_public = ''f'' and problem.state in
- (''confirmed'', ''investigating'', ''planned'', ''in progress'',
- ''fixed'', ''fixed - council'', ''fixed - user'', ''closed''
- ''action scheduled'', ''not responsible'', ''duplicate'', ''unable to fix'',
- ''internal referral'' )',
+ 'problem.non_public = ''f'' and problem.state NOT IN
+ (''unconfirmed'', ''hidden'', ''partial'')',
'created desc',
'{{title}}, {{confirmed}}', '/report/{{id}}', '{{detail}}', 'alert-problem');
@@ -46,11 +53,8 @@ insert into alert_type
values ('local_problems', '', '',
'New local problems on FixMyStreet', '/', 'The latest local problems reported by users',
'problem_find_nearby(?, ?, ?) as nearby,problem',
- 'nearby.problem_id = problem.id and problem.non_public = ''f'' and problem.state in
- (''confirmed'', ''investigating'', ''planned'', ''in progress'',
- ''fixed'', ''fixed - council'', ''fixed - user'', ''closed'',
- ''action scheduled'', ''not responsible'', ''duplicate'', ''unable to fix'',
- ''internal referral'')',
+ 'nearby.problem_id = problem.id and problem.non_public = ''f'' and problem.state NOT IN
+ (''unconfirmed'', ''hidden'', ''partial'')',
'created desc',
'{{title}}, {{confirmed}}', '/report/{{id}}', '{{detail}}', 'alert-problem-nearby');
@@ -74,11 +78,8 @@ insert into alert_type
values ('postcode_local_problems', '', '',
'New problems near {{POSTCODE}} on FixMyStreet', '/', 'The latest local problems reported by users',
'problem_find_nearby(?, ?, ?) as nearby,problem',
- 'nearby.problem_id = problem.id and problem.non_public = ''f'' and problem.state in
- (''confirmed'', ''investigating'', ''planned'', ''in progress'',
- ''fixed'', ''fixed - council'', ''fixed - user'', ''closed'',
- ''action scheduled'', ''not responsible'', ''duplicate'', ''unable to fix'',
- ''internal referral'')',
+ 'nearby.problem_id = problem.id and problem.non_public = ''f'' and problem.state NOT IN
+ (''unconfirmed'', ''hidden'', ''partial'')',
'created desc',
'{{title}}, {{confirmed}}', '/report/{{id}}', '{{detail}}', 'alert-problem-nearby');
@@ -102,11 +103,8 @@ insert into alert_type
values ('council_problems', '', '',
'New problems to {{COUNCIL}} on FixMyStreet', '/reports', 'The latest problems for {{COUNCIL}} reported by users',
'problem',
- 'problem.non_public = ''f'' and problem.state in
- (''confirmed'', ''investigating'', ''planned'', ''in progress'',
- ''fixed'', ''fixed - council'', ''fixed - user'', ''closed'',
- ''action scheduled'', ''not responsible'', ''duplicate'', ''unable to fix'',
- ''internal referral'' ) AND
+ 'problem.non_public = ''f'' and problem.state NOT IN
+ (''unconfirmed'', ''hidden'', ''partial'') AND
regexp_split_to_array(bodies_str, '','') && ARRAY[?]',
'created desc',
'{{title}}, {{confirmed}}', '/report/{{id}}', '{{detail}}', 'alert-problem-council'
@@ -122,11 +120,8 @@ values ('ward_problems', '', '',
'New problems for {{COUNCIL}} within {{WARD}} ward on FixMyStreet', '/reports',
'The latest problems for {{COUNCIL}} within {{WARD}} ward reported by users',
'problem',
- 'problem.non_public = ''f'' and problem.state in
- (''confirmed'', ''investigating'', ''planned'', ''in progress'',
- ''fixed'', ''fixed - council'', ''fixed - user'', ''closed'',
- ''action scheduled'', ''not responsible'', ''duplicate'', ''unable to fix'',
- ''internal referral'' ) AND
+ 'problem.non_public = ''f'' and problem.state NOT IN
+ (''unconfirmed'', ''hidden'', ''partial'') AND
(regexp_split_to_array(bodies_str, '','') && ARRAY[?] or bodies_str is null) and
areas like ''%,''||?||'',%''',
'created desc',
@@ -142,11 +137,8 @@ insert into alert_type
values ('area_problems', '', '',
'New problems within {{NAME}}''s boundary on FixMyStreet', '/reports',
'The latest problems within {{NAME}}''s boundary reported by users', 'problem',
- 'problem.non_public = ''f'' and problem.state in
- (''confirmed'', ''investigating'', ''planned'', ''in progress'',
- ''fixed'', ''fixed - council'', ''fixed - user'', ''closed'',
- ''action scheduled'', ''not responsible'', ''duplicate'', ''unable to fix'',
- ''internal referral'' ) AND
+ 'problem.non_public = ''f'' and problem.state NOT IN
+ (''unconfirmed'', ''hidden'', ''partial'') AND
areas like ''%,''||?||'',%''',
'created desc',
'{{title}}, {{confirmed}}', '/report/{{id}}', '{{detail}}', 'alert-problem-area'
diff --git a/db/migrate_from_osgb36_to_wgs84.pl b/db/migrate_from_osgb36_to_wgs84.pl
deleted file mode 100644
index 676ffea9b..000000000
--- a/db/migrate_from_osgb36_to_wgs84.pl
+++ /dev/null
@@ -1,201 +0,0 @@
-#!/usr/bin/env perl
-
-use strict;
-use warnings;
-
-=head1 DESCRIPTION
-
-This script will take a FMS database with eastings and northings in and migrate
-it to latitude and longitude. It touches the following tables and functions:
-
-=cut
-
-use FindBin;
-use lib "$FindBin::Bin/../perllib";
-use lib "$FindBin::Bin/../commonlib/perllib";
-
-use mySociety::Config;
-use mySociety::DBHandle qw(dbh);
-use Utils;
-
-BEGIN {
- mySociety::Config::set_file("$FindBin::Bin/../conf/general");
- mySociety::DBHandle::configure(
- Name => mySociety::Config::get('FMS_DB_NAME'),
- User => mySociety::Config::get('FMS_DB_USER'),
- Password => mySociety::Config::get('FMS_DB_PASS'),
- Host => mySociety::Config::get( 'FMS_DB_HOST', undef ),
- Port => mySociety::Config::get( 'FMS_DB_PORT', undef )
- );
-}
-
-my $UPDATE_BATCH_SIZE = 500;
-
-migrate_problem_table();
-migrate_problem_find_nearby_function();
-migrate_alert_table();
-
-=head2 problem table
-
-Add columns 'latitude' and 'longitude'.
-Update all entries coverting from e,n to lon,lat.
-Make the lat, lon columns not null.
-Drop the 'problem_state_easting_northing_idx' index.
-Create new index 'problem_state_latitude_longitude_idx'.
-Drop the 'easting' and 'northing' columns.
-
-=cut
-
-sub migrate_problem_table {
-
- my $dbh = dbh();
-
- # add columns
- print "add latitude, longitude columns\n";
- $dbh->do("ALTER TABLE problem ADD $_ double precision")
- for qw(latitude longitude);
- $dbh->commit;
-
- # create a query for rows that need converting
- my $rows_to_convert_query = $dbh->prepare( #
- "SELECT id, easting, northing FROM problem"
- . " WHERE latitude is NULL limit $UPDATE_BATCH_SIZE"
- );
-
- # update query
- my $update_lat_lon_query = $dbh->prepare( #
- "UPDATE problem SET latitude = ?, longitude = ? WHERE id = ?"
- );
-
- # loop through the entries in batches updating rows that need it. Do this in
- # Perl rather than SQL for conveniance.
- while (1) {
- $rows_to_convert_query->execute;
- last unless $rows_to_convert_query->rows;
- while ( my $r = $rows_to_convert_query->fetchrow_hashref ) {
- my ( $latitude, $longitude ) =
- Utils::convert_en_to_latlon( $r->{easting}, $r->{northing} );
- print "update problem $r->{id}: ( $latitude, $longitude )\n";
- $update_lat_lon_query->execute( $latitude, $longitude, $r->{id} );
- }
- $dbh->commit; # every batch of updates
- }
-
- print "make latitude, longitude columns not null\n";
- $dbh->do("ALTER TABLE problem ALTER COLUMN $_ SET NOT NULL")
- for qw(latitude longitude);
- $dbh->commit;
-
- # drop old index, create new one
- print "drop and create indexes\n";
- $dbh->do("DROP INDEX problem_state_easting_northing_idx");
- $dbh->do( "CREATE INDEX problem_state_latitude_longitude_idx "
- . "ON problem(state, latitude, longitude)" );
- $dbh->commit;
-
- # drop columns
- print "drop easting, northing columns\n";
- $dbh->do("ALTER TABLE problem DROP $_") for qw(easting northing);
- $dbh->commit;
-
-}
-
-=head2 problem_find_nearby function
-
-Convert to use lat and long.
-Also swap parameter order so that it is lat,lon rather than lon,lat to be consistent with pledgebank etc
-
-=cut
-
-sub migrate_problem_find_nearby_function {
- my $dbh = dbh();
-
- print "drop the existing problem_find_nearby function\n";
- $dbh->do(
-"DROP FUNCTION problem_find_nearby ( double precision, double precision, double precision)"
- );
-
- print "create the new one\n";
- $dbh->do(<<'SQL_END');
- create function problem_find_nearby(double precision, double precision, double precision)
- returns setof problem_nearby_match as
- '
- -- trunc due to inaccuracies in floating point arithmetic
- select problem.id,
- R_e() * acos(trunc(
- (sin(radians($1)) * sin(radians(latitude))
- + cos(radians($1)) * cos(radians(latitude))
- * cos(radians($2 - longitude)))::numeric, 14)
- ) as distance
- from problem
- where
- longitude is not null and latitude is not null
- and radians(latitude) > radians($1) - ($3 / R_e())
- and radians(latitude) < radians($1) + ($3 / R_e())
- and (abs(radians($1)) + ($3 / R_e()) > pi() / 2 -- case where search pt is near pole
- or angle_between(radians(longitude), radians($2))
- < $3 / (R_e() * cos(radians($1 + $3 / R_e()))))
- -- ugly -- unable to use attribute name "distance" here, sadly
- and R_e() * acos(trunc(
- (sin(radians($1)) * sin(radians(latitude))
- + cos(radians($1)) * cos(radians(latitude))
- * cos(radians($2 - longitude)))::numeric, 14)
- ) < $3
- order by distance desc
-' language sql
-SQL_END
-
- $dbh->commit;
-}
-
-=head2 alert table
-
-NOTE: only for alert_types 'local_problems' or 'local_problems_state'
-
-parameter: convert easting to longitude
-parameter2: convert nothing to latitude
-
-create a new column 'is_migrated' to use during migration in case of crash.
-
-=cut
-
-sub migrate_alert_table {
- my $dbh = dbh();
-
- print "Adding 'is_migrated' column\n";
- $dbh->do("ALTER TABLE alert ADD COLUMN is_migrated bool DEFAULT false");
- $dbh->commit;
-
- # create a query for rows that need converting
- my $rows_to_convert_query = $dbh->prepare( #
- "SELECT id, parameter, parameter2 FROM alert"
- . " WHERE alert_type IN ('local_problems','local_problems_state')"
- . " AND is_migrated = false"
- . " LIMIT $UPDATE_BATCH_SIZE"
- );
-
- # update query
- my $update_lat_lon_query = $dbh->prepare( #
- "UPDATE alert SET parameter2 = ?, parameter = ?, is_migrated = true"
- . " WHERE id = ?"
- );
-
- # loop through the entries in batches updating rows that need it. Do this in
- # Perl rather than SQL for conveniance.
- while (1) {
- $rows_to_convert_query->execute;
- last unless $rows_to_convert_query->rows;
- while ( my $r = $rows_to_convert_query->fetchrow_hashref ) {
- my ( $latitude, $longitude ) =
- Utils::convert_en_to_latlon( $r->{parameter}, $r->{parameter2} );
- print "update alert $r->{id}: ( $latitude, $longitude )\n";
- $update_lat_lon_query->execute( $latitude, $longitude, $r->{id} );
- }
- $dbh->commit; # every batch of updates
- }
-
- print "drop 'is_migrated' column\n";
- $dbh->do("ALTER TABLE alert DROP COLUMN is_migrated");
- $dbh->commit;
-}
-
diff --git a/db/rerun_dbic_loader.pl b/db/rerun_dbic_loader.pl
index 958b28241..cf6e89ab2 100755
--- a/db/rerun_dbic_loader.pl
+++ b/db/rerun_dbic_loader.pl
@@ -3,6 +3,13 @@
use strict;
use warnings;
+BEGIN {
+ use File::Basename qw(dirname);
+ use File::Spec;
+ my $d = dirname(File::Spec->rel2abs($0));
+ require "$d/../setenv.pl";
+}
+
# This script inspects the current state of the database and then amends the
# FixMyStreet::DB::Result::* files to suit. After running the changes should be
# inspected before the code is commited.
@@ -20,13 +27,15 @@ my @tables_to_ignore = (
my $exclude = '^(?:' . join( '|', @tables_to_ignore ) . ')$';
make_schema_at(
- 'FixMyStreet::DB',
+ 'FixMyStreet::DB::Schema',
{
debug => 0, # switch on to be chatty
dump_directory => './perllib', # edit files in place
exclude => qr{$exclude}, # ignore some tables
generate_pod => 0, # no need for pod
overwrite_modifications => 1, # don't worry that the md5 is wrong
+ result_namespace => '+FixMyStreet::DB::Result',
+ resultset_namespace => '+FixMyStreet::DB::ResultSet',
# add in some extra components
components => [ 'FilterColumn', 'InflateColumn::DateTime', 'EncodedColumn' ],
diff --git a/db/schema.sql b/db/schema.sql
index 18c1533d9..f428ff59d 100644
--- a/db/schema.sql
+++ b/db/schema.sql
@@ -69,8 +69,12 @@ create table contacts (
body_id integer not null references body(id),
category text not null default 'Other',
email text not null,
- confirmed boolean not null,
- deleted boolean not null,
+ state text not null check (
+ state = 'unconfirmed'
+ or state = 'confirmed'
+ or state = 'inactive'
+ or state = 'deleted'
+ ),
-- last editor
editor text not null,
@@ -102,8 +106,12 @@ create table contacts_history (
body_id integer not null,
category text not null default 'Other',
email text not null,
- confirmed boolean not null,
- deleted boolean not null,
+ state text not null check (
+ state = 'unconfirmed'
+ or state = 'confirmed'
+ or state = 'inactive'
+ or state = 'deleted'
+ ),
-- editor
editor text not null,
@@ -118,7 +126,7 @@ create table contacts_history (
create function contacts_updated()
returns trigger as '
begin
- insert into contacts_history (contact_id, body_id, category, email, editor, whenedited, note, confirmed, deleted) values (new.id, new.body_id, new.category, new.email, new.editor, new.whenedited, new.note, new.confirmed, new.deleted);
+ insert into contacts_history (contact_id, body_id, category, email, editor, whenedited, note, state) values (new.id, new.body_id, new.category, new.email, new.editor, new.whenedited, new.note, new.state);
return new;
end;
' language 'plpgsql';
@@ -136,6 +144,7 @@ CREATE TABLE response_priorities (
name text not null,
description text,
external_id text,
+ is_default boolean not null default 'f',
unique(body_id, name)
);
@@ -169,24 +178,7 @@ create table problem (
-- Metadata
created timestamp not null default current_timestamp,
confirmed timestamp,
- state text not null check (
- state = 'unconfirmed'
- or state = 'confirmed'
- or state = 'investigating'
- or state = 'planned'
- or state = 'in progress'
- or state = 'action scheduled'
- or state = 'closed'
- or state = 'fixed'
- or state = 'fixed - council'
- or state = 'fixed - user'
- or state = 'hidden'
- or state = 'partial'
- or state = 'unable to fix'
- or state = 'not responsible'
- or state = 'duplicate'
- or state = 'internal referral'
- ),
+ state text not null,
lang text not null default 'en-gb',
service text not null default '',
cobrand text not null default '' check (cobrand ~* '^[a-z0-9_]*$'),
@@ -319,21 +311,7 @@ create table comment (
cobrand_data text not null default '' check (cobrand_data ~* '^[a-z0-9_]*$'), -- Extra data used in cobranded versions of the site
mark_fixed boolean not null,
mark_open boolean not null default 'f',
- problem_state text check (
- problem_state = 'confirmed'
- or problem_state = 'investigating'
- or problem_state = 'planned'
- or problem_state = 'in progress'
- or problem_state = 'action scheduled'
- or problem_state = 'closed'
- or problem_state = 'fixed'
- or problem_state = 'fixed - council'
- or problem_state = 'fixed - user'
- or problem_state = 'unable to fix'
- or problem_state = 'not responsible'
- or problem_state = 'duplicate'
- or problem_state = 'internal referral'
- ),
+ problem_state text,
-- other fields? one to indicate whether this was written by the council
-- and should be highlighted in the display?
external_id text,
@@ -520,3 +498,28 @@ CREATE TABLE contact_defect_types (
ALTER TABLE problem
ADD COLUMN defect_type_id int REFERENCES defect_types(id);
+
+CREATE TABLE translation (
+ id serial not null primary key,
+ tbl text not null,
+ object_id integer not null,
+ col text not null,
+ lang text not null,
+ msgstr text not null,
+ unique(tbl, object_id, col, lang)
+);
+
+CREATE TABLE report_extra_fields (
+ id serial not null primary key,
+ name text not null,
+ cobrand text,
+ language text,
+ extra text
+);
+
+CREATE TABLE state (
+ id serial not null primary key,
+ label text not null unique,
+ type text not null check (type = 'open' OR type = 'closed' OR type = 'fixed'),
+ name text not null unique
+);
diff --git a/db/schema_0051-inactive-contact-state.sql b/db/schema_0051-inactive-contact-state.sql
new file mode 100644
index 000000000..f29455f18
--- /dev/null
+++ b/db/schema_0051-inactive-contact-state.sql
@@ -0,0 +1,45 @@
+BEGIN;
+
+ALTER TABLE contacts ADD state text;
+
+ALTER TABLE contacts ADD CONSTRAINT contacts_state_check CHECK (
+ state = 'unconfirmed'
+ or state = 'confirmed'
+ or state = 'inactive'
+ or state = 'deleted'
+);
+
+UPDATE contacts SET state = 'deleted' WHERE deleted;
+UPDATE contacts SET state = 'confirmed' WHERE confirmed AND NOT deleted;
+UPDATE contacts SET state = 'unconfirmed' WHERE NOT confirmed AND NOT deleted;
+
+ALTER TABLE contacts ALTER COLUMN state SET NOT NULL;
+ALTER TABLE contacts DROP COLUMN confirmed;
+ALTER TABLE contacts DROP COLUMN deleted;
+
+ALTER TABLE contacts_history ADD state text;
+
+ALTER TABLE contacts_history ADD CONSTRAINT contacts_history_state_check CHECK (
+ state = 'unconfirmed'
+ or state = 'confirmed'
+ or state = 'inactive'
+ or state = 'deleted'
+);
+
+UPDATE contacts_history SET state = 'deleted' WHERE deleted;
+UPDATE contacts_history SET state = 'confirmed' WHERE confirmed AND NOT deleted;
+UPDATE contacts_history SET state = 'unconfirmed' WHERE NOT confirmed AND NOT deleted;
+
+ALTER TABLE contacts_history ALTER COLUMN state SET NOT NULL;
+ALTER TABLE contacts_history DROP COLUMN confirmed;
+ALTER TABLE contacts_history DROP COLUMN deleted;
+
+CREATE OR REPLACE FUNCTION contacts_updated()
+ returns trigger as '
+ begin
+ insert into contacts_history (contact_id, body_id, category, email, editor, whenedited, note, state) values (new.id, new.body_id, new.category, new.email, new.editor, new.whenedited, new.note, new.state);
+ return new;
+ end;
+' language 'plpgsql';
+
+COMMIT;
diff --git a/db/schema_0052-translation-table.sql b/db/schema_0052-translation-table.sql
new file mode 100644
index 000000000..95df499cc
--- /dev/null
+++ b/db/schema_0052-translation-table.sql
@@ -0,0 +1,13 @@
+BEGIN;
+
+CREATE TABLE translation (
+ id serial not null primary key,
+ tbl text not null,
+ object_id integer not null,
+ col text not null,
+ lang text not null,
+ msgstr text not null,
+ unique(tbl, object_id, col, lang)
+);
+
+COMMIT;
diff --git a/db/schema_0053-add-report-extra-fields-table.sql b/db/schema_0053-add-report-extra-fields-table.sql
new file mode 100644
index 000000000..be92abd47
--- /dev/null
+++ b/db/schema_0053-add-report-extra-fields-table.sql
@@ -0,0 +1,11 @@
+BEGIN;
+
+CREATE TABLE report_extra_fields (
+ id serial not null primary key,
+ name text not null,
+ cobrand text,
+ language text,
+ extra text
+);
+
+COMMIT;
diff --git a/db/schema_0054-add-state-table.sql b/db/schema_0054-add-state-table.sql
new file mode 100644
index 000000000..c4be36015
--- /dev/null
+++ b/db/schema_0054-add-state-table.sql
@@ -0,0 +1,51 @@
+BEGIN;
+
+CREATE TABLE state (
+ id serial not null primary key,
+ label text not null unique,
+ type text not null check (type = 'open' OR type = 'closed' OR type = 'fixed'),
+ name text not null unique
+);
+
+INSERT INTO state (label, type, name) VALUES ('investigating', 'open', 'Investigating');
+INSERT INTO state (label, type, name) VALUES ('in progress', 'open', 'In progress');
+INSERT INTO state (label, type, name) VALUES ('planned', 'open', 'Planned');
+INSERT INTO state (label, type, name) VALUES ('action scheduled', 'open', 'Action scheduled');
+INSERT INTO state (label, type, name) VALUES ('unable to fix', 'closed', 'No further action');
+INSERT INTO state (label, type, name) VALUES ('not responsible', 'closed', 'Not responsible');
+INSERT INTO state (label, type, name) VALUES ('duplicate', 'closed', 'Duplicate');
+INSERT INTO state (label, type, name) VALUES ('internal referral', 'closed', 'Internal referral');
+INSERT INTO state (label, type, name) VALUES ('fixed', 'fixed', 'Fixed');
+
+ALTER TABLE problem DROP CONSTRAINT problem_state_check;
+ALTER TABLE comment DROP CONSTRAINT comment_problem_state_check;
+
+UPDATE alert_type SET item_where = 'nearby.problem_id = problem.id
+ and problem.non_public = ''f''
+ and problem.state NOT IN (''hidden'', ''unconfirmed'', ''partial'')'
+ WHERE ref = 'postcode_local_problems';
+UPDATE alert_type set item_where = 'problem.non_public = ''f''
+ and problem.state NOT IN (''hidden'', ''unconfirmed'', ''partial'')'
+ WHERE ref = 'new_problems';
+UPDATE alert_type set item_where = 'problem.non_public = ''f''
+ and problem.state in (''fixed'', ''fixed - user'', ''fixed - council'')'
+ WHERE ref = 'new_fixed_problems';
+UPDATE alert_type set item_where = 'nearby.problem_id = problem.id
+ and problem.non_public = ''f''
+ and problem.state NOT IN (''hidden'', ''unconfirmed'', ''partial'')'
+ WHERE ref = 'local_problems';
+UPDATE alert_type set item_where = 'problem.non_public = ''f''
+ AND problem.state NOT IN (''hidden'', ''unconfirmed'', ''partial'')
+ AND regexp_split_to_array(bodies_str, '','') && ARRAY[?]'
+ WHERE ref = 'council_problems';
+UPDATE alert_type set item_where = 'problem.non_public = ''f''
+ AND problem.state NOT IN (''hidden'', ''unconfirmed'', ''partial'')
+ AND (regexp_split_to_array(bodies_str, '','') && ARRAY[?] or bodies_str is null) and
+ areas like ''%,''||?||'',%'''
+ WHERE ref = 'ward_problems';
+UPDATE alert_type set item_where = 'problem.non_public = ''f''
+ AND problem.state NOT IN (''hidden'', ''unconfirmed'', ''partial'')
+ AND areas like ''%,''||?||'',%'''
+ WHERE ref = 'area_problems';
+
+COMMIT;
diff --git a/db/schema_0055-add-default-to-reponsepriority.sql b/db/schema_0055-add-default-to-reponsepriority.sql
new file mode 100644
index 000000000..0f8b72e13
--- /dev/null
+++ b/db/schema_0055-add-default-to-reponsepriority.sql
@@ -0,0 +1,5 @@
+BEGIN;
+
+ALTER TABLE response_priorities ADD is_default boolean not null default 'f';
+
+COMMIT;
diff --git a/locale/FixMyStreet.po b/locale/FixMyStreet.po
index f04c38bf7..83483a1c3 100644
--- a/locale/FixMyStreet.po
+++ b/locale/FixMyStreet.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
-"POT-Creation-Date: 2017-03-30 17:33+0100\n"
+"POT-Creation-Date: 2017-09-13 15:40+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <team@fixmystreet.com>\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:695 perllib/FixMyStreet/Script/Reports.pm:197
+#: perllib/FixMyStreet/DB/Result/Problem.pm:632 perllib/FixMyStreet/Script/Reports.pm:197
msgid " and "
msgstr ""
@@ -82,25 +82,6 @@ msgstr ""
msgid "%s ref:&nbsp;%s"
msgstr ""
-#. ("%s is the site name")
-#: templates/web/base/alert/_list.html:74
-msgid ""
-"%s sends different categories of problem\n"
-"to the appropriate council, so problems within the boundary of a particular council\n"
-"might not match the problems sent to that council. For example, a graffiti report\n"
-"will be sent to the district council, so will appear in both of the district\n"
-"council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
-"for the county council."
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:257 perllib/FixMyStreet/Cobrand/UK.pm:269
-msgid "%s ward, %s"
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
-msgid "%s, within %s ward"
-msgstr ""
-
#: perllib/FixMyStreet/Map/OSM.pm:38
msgid "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"
msgstr ""
@@ -109,7 +90,7 @@ msgstr ""
msgid "(Defect &amp; location of defect)"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43 templates/web/base/admin/users.html:32
+#: templates/web/base/admin/report_blocks.html:18 templates/web/base/admin/users.html:32
msgid "(Email in abuse table)"
msgstr ""
@@ -121,28 +102,35 @@ msgstr ""
msgid "(No phone number)"
msgstr ""
-#: templates/web/base/alert/_list.html:25
-msgid "(a default distance which covers roughly 200,000 people)"
-msgstr ""
-
-#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
-#: templates/web/base/alert/_list.html:30
-msgid "(alternatively the RSS feed can be customised, within %s)"
+#: templates/web/base/admin/states/index.html:95
+msgid "(a-z and space only)"
msgstr ""
#: templates/web/zurich/report/_item.html:19
msgid "(closed)"
msgstr ""
+#: templates/web/base/alert/_list.html:30
+msgid "(covers roughly 200,000 people)"
+msgstr ""
+
#: templates/web/zurich/report/_item.html:17
msgid "(fixed)"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "(ignored if type is \"String\")"
+msgstr ""
+
#: templates/web/base/around/intro.html:2
msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
msgstr ""
-#: templates/web/base/report/_item.html:68
+#: templates/web/base/reports/index.html:69
+msgid "(no longer exists)"
+msgstr ""
+
+#: templates/web/base/report/_item.html:70
msgid "(not sent to council)"
msgstr ""
@@ -150,16 +138,17 @@ msgstr ""
msgid "(optional)"
msgstr ""
-#: templates/web/base/report/_item.html:67
+#: templates/web/base/report/_item.html:69
msgid "(sent to both)"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:239 perllib/FixMyStreet/App/Controller/Report/New.pm:658 perllib/FixMyStreet/DB/Result/Problem.pm:454
-msgid "-- Pick a category --"
+#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
+#: templates/web/base/alert/_list.html:36
+msgid "(we also have RSS feeds for problems within %s)"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:460
-msgid "-- Pick a property type --"
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:245 perllib/FixMyStreet/App/Controller/Report/New.pm:674 perllib/FixMyStreet/DB/Result/Problem.pm:381
+msgid "-- Pick a category --"
msgstr ""
#: templates/web/base/admin/response_templates_select.html:3
@@ -170,15 +159,15 @@ msgstr ""
msgid "10 inch pothole on Example St, near post box"
msgstr ""
-#: templates/web/base/dashboard/index.html:152
+#: templates/web/base/dashboard/index.html:153
msgid "14-30 days old"
msgstr ""
-#: templates/web/base/dashboard/index.html:151
+#: templates/web/base/dashboard/index.html:152
msgid "7-14 days old"
msgstr ""
-#: templates/web/base/admin/body-form.html:48 templates/web/base/admin/body-form.html:49
+#: templates/web/base/admin/body-form.html:50 templates/web/base/admin/body-form.html:51
msgid ""
"<code>MAPIT_URL</code> is set (<code>%s</code>) but no <code>MAPIT_TYPES</code>.<br>\n"
" This is probably why \"area covered\" is empty (below).<br>\n"
@@ -189,13 +178,12 @@ msgstr ""
msgid "<h2>Reports, Statistics and Actions for</h2> <h1>%s</h1>"
msgstr ""
-#. ('The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories')
#. ("The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories")
-#: templates/web/base/reports/_list-filters.html:37
-msgid "<label for=\"statuses\">Show</label> %s <label for=\"filter_categories\">about</label> %s"
+#: templates/web/base/reports/_list-filters.html:48
+msgid "<label for=\"statuses\">Show</label> %s reports <label for=\"filter_categories\">about</label> %s"
msgstr ""
-#: templates/web/base/js/translation_strings.html:71
+#: templates/web/base/js/translation_strings.html:74
msgid "<span>%s</span> saved."
msgstr ""
@@ -211,26 +199,22 @@ msgstr ""
msgid "<strong>No</strong> Let me confirm my update by email"
msgstr ""
-#: templates/web/base/auth/general.html:104 templates/web/zurich/auth/general.html:51
+#: templates/web/base/auth/general.html:106 templates/web/zurich/auth/general.html:51
msgid "<strong>No</strong> let me sign in by email"
msgstr ""
-#: templates/web/base/report/_inspect.html:160
+#: templates/web/base/report/_inspect.html:170
msgid "<strong>Note:</strong> This report has been sent onwards for action. Any changes made won't be passed on."
msgstr ""
-#: templates/web/base/report/_inspect.html:162
+#: templates/web/base/report/_inspect.html:172
msgid "<strong>Note:</strong> This report hasn't yet been sent onwards for action. Any changes made may not be passed on."
msgstr ""
-#: templates/web/base/auth/general.html:80 templates/web/base/report/new/form_user_loggedout_password.html:3 templates/web/base/report/update/form_user_loggedout_password.html:2
+#: templates/web/base/auth/general.html:82 templates/web/base/report/new/form_user_loggedout_password.html:3 templates/web/base/report/update/form_user_loggedout_password.html:2
msgid "<strong>Yes</strong> I have a password"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1 templates/web/base/admin/report_blocks.html:10 templates/web/base/report/inspect/state_groups_select.html:1 templates/web/base/report/inspect/state_groups_select.html:6 templates/web/base/report/update/form_update.html:41 templates/web/base/report/update/form_update.html:42
-msgid "Action Scheduled"
-msgstr ""
-
#: templates/web/base/admin/body-form.html:3 templates/web/base/admin/body-form.html:4
msgid ""
"Add a <strong>body</strong> for each administrative body, such as a council or department\n"
@@ -242,15 +226,31 @@ msgstr ""
msgid "Add a contact using the form below."
msgstr ""
-#: templates/web/base/admin/bodies.html:78 templates/web/base/admin/body-form.html:138 templates/web/zurich/admin/body-form.html:52
+#: templates/web/base/admin/bodies.html:78 templates/web/base/admin/body-form.html:140 templates/web/zurich/admin/body-form.html:52
msgid "Add body"
msgstr ""
+#: templates/web/base/admin/reportextrafields/index.html:24
+msgid "Add extra fields"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:79
+msgid "Add field"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:85
+msgid "Add fixed state"
+msgstr ""
+
#: templates/web/base/admin/body.html:126 templates/web/zurich/admin/body.html:31
msgid "Add new category"
msgstr ""
-#: templates/web/base/report/_item.html:10 templates/web/base/report/_item.html:14 templates/web/base/report/_main.html:136 templates/web/base/report/_main.html:19 templates/web/base/report/_main.html:30
+#: templates/web/base/admin/extra-metadata-form.html:72
+msgid "Add option"
+msgstr ""
+
+#: templates/web/base/report/_item.html:10 templates/web/base/report/_item.html:16 templates/web/base/report/_main.html:140 templates/web/base/report/_main.html:19 templates/web/base/report/_main.html:30
msgid "Add to shortlist"
msgstr ""
@@ -258,15 +258,15 @@ msgstr ""
msgid "Add user"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:730
+#: perllib/FixMyStreet/Cobrand/Default.pm:735
msgid "Add/edit problem categories"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:732
+#: perllib/FixMyStreet/Cobrand/Default.pm:737
msgid "Add/edit response priorities"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:731
+#: perllib/FixMyStreet/Cobrand/Default.pm:736
msgid "Add/edit response templates"
msgstr ""
@@ -274,7 +274,7 @@ msgstr ""
msgid "Added %s"
msgstr ""
-#: templates/web/base/report/_main.html:145
+#: templates/web/base/report/_main.html:149
msgid "Adding this report to your shortlist will remove it from %s’s shortlist."
msgstr ""
@@ -294,15 +294,15 @@ msgstr ""
msgid "Alert %d disabled (created %s)"
msgstr ""
-#: templates/web/base/report/update/form_name.html:38
+#: templates/web/base/report/update/form_name.html:42
msgid "Alert me to future updates"
msgstr ""
-#: templates/web/base/dashboard/index.html:138 templates/web/base/dashboard/index.html:21 templates/web/base/dashboard/index.html:30
+#: templates/web/base/dashboard/index.html:138 templates/web/base/dashboard/index.html:21 templates/web/base/dashboard/index.html:30 templates/web/base/reports/_list-filters.html:3
msgid "All"
msgstr ""
-#: templates/web/base/reports/index.html:6 templates/web/zurich/reports/index.html:13
+#: templates/web/zurich/reports/index.html:13
msgid "All Reports"
msgstr ""
@@ -310,11 +310,19 @@ msgstr ""
msgid "All Reports as CSV"
msgstr ""
-#: templates/web/base/admin/category-multiselect.html:5 templates/web/base/admin/responsepriorities/list.html:19
+#: templates/web/base/admin/category-multiselect.html:5 templates/web/base/admin/responsepriorities/list.html:20
msgid "All categories"
msgstr ""
-#: templates/web/base/main_nav_items.html:0 templates/web/base/main_nav_items.html:27 templates/web/base/reports/_list-filters.html:3 templates/web/zurich/admin/index-dm.html:12 templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:21 templates/web/zurich/nav_over_content.html:6
+#: templates/web/base/admin/reportextrafields/edit.html:26
+msgid "All cobrands"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:47
+msgid "All languages"
+msgstr ""
+
+#: templates/web/base/main_nav_items.html:0 templates/web/base/main_nav_items.html:27 templates/web/zurich/admin/index-dm.html:12 templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:20 templates/web/zurich/nav_over_content.html:6
msgid "All reports"
msgstr ""
@@ -322,6 +330,14 @@ msgstr ""
msgid "All reports between %s and %s"
msgstr ""
+#: templates/web/base/reports/index.html:23
+msgid "All time"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:20
+msgid "Alternatively, we can hide your name on <strong>all of your reports and updates</strong> across the site:"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:47
msgid "An update marked this problem as fixed."
msgstr ""
@@ -330,27 +346,27 @@ msgstr ""
msgid "Anonymous"
msgstr ""
-#: templates/web/base/admin/report_edit.html:134 templates/web/base/admin/update_edit.html:23
-msgid "Anonymous:"
+#: templates/web/base/report/new/form_user_loggedin.html:21 templates/web/base/report/update/form_name.html:17
+msgid "Anonymous user"
msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:20 templates/web/base/report/update/form_name.html:13
-msgid "Another user"
+#: templates/web/base/admin/report_edit.html:122 templates/web/base/admin/update_edit.html:23
+msgid "Anonymous:"
msgstr ""
-#: templates/web/base/front/footer-marketing.html:16
-msgid "Are you a developer?"
+#: templates/web/base/report/new/form_user_loggedin.html:24 templates/web/base/report/update/form_name.html:14
+msgid "Another user"
msgstr ""
-#: templates/web/base/js/translation_strings.html:56
+#: templates/web/base/js/translation_strings.html:59
msgid "Are you sure you want to cancel this upload?"
msgstr ""
-#: templates/web/base/admin/report_edit.html:84 templates/web/base/js/translation_strings.html:66 templates/web/base/report/display_tools.html:6
+#: templates/web/base/admin/report_edit.html:84 templates/web/base/js/translation_strings.html:69 templates/web/base/report/display_tools.html:6
msgid "Are you sure?"
msgstr ""
-#: templates/web/base/admin/body-form.html:75 templates/web/base/admin/body.html:20 templates/web/zurich/admin/body-form.html:24
+#: templates/web/base/admin/body-form.html:77 templates/web/base/admin/body.html:20 templates/web/zurich/admin/body-form.html:24
msgid "Area covered"
msgstr ""
@@ -378,11 +394,11 @@ msgstr ""
msgid "Assign to subdivision:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:727
+#: perllib/FixMyStreet/Cobrand/Default.pm:732
msgid "Assign users to areas"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:214
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:219
msgid "Assigned to %s"
msgstr ""
@@ -402,10 +418,14 @@ msgstr ""
msgid "Auto-response:"
msgstr ""
-#: templates/web/base/admin/report_edit.html:127 templates/web/base/report/_inspect.html:47
+#: templates/web/base/admin/report-category.html:8
msgid "Available categories"
msgstr ""
+#: templates/web/base/reports/index.html:84
+msgid "Average time between a problem being reported and being fixed, last 100 reports."
+msgstr ""
+
#: templates/web/base/dashboard/index.html:109
msgid "Average time to council marking fixed (days)"
msgstr ""
@@ -418,7 +438,7 @@ msgstr ""
msgid "Avoid personal information and vehicle number plates"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:417 templates/web/zurich/report/_item.html:9
+#: perllib/FixMyStreet/DB/Result/Problem.pm:344 templates/web/zurich/report/_item.html:9
msgid "Awaiting moderation"
msgstr ""
@@ -430,11 +450,11 @@ msgstr ""
msgid "Back to all reports"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
msgid "Ban email address"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:650 perllib/FixMyStreet/Cobrand/Default.pm:729 perllib/FixMyStreet/Cobrand/Zurich.pm:391 templates/web/base/admin/bodies.html:1 templates/web/base/admin/report_edit.html:55 templates/web/zurich/header.html:56
+#: perllib/FixMyStreet/Cobrand/Default.pm:650 perllib/FixMyStreet/Cobrand/Default.pm:734 perllib/FixMyStreet/Cobrand/Zurich.pm:396 templates/web/base/admin/bodies.html:1 templates/web/base/admin/report_edit.html:55 templates/web/zurich/header.html:56
msgid "Bodies"
msgstr ""
@@ -450,7 +470,11 @@ msgstr ""
msgid "By Date"
msgstr ""
-#: templates/web/base/auth/token.html:21 templates/web/base/email_sent.html:18
+#: templates/web/base/admin/extra-metadata-form.html:36
+msgid "Can be used to display extra text to the user alongside the field. The default template does not show this (<code>meta.datatype_description</code>), you must add it in <code>category_extras_fields.html</code>"
+msgstr ""
+
+#: templates/web/base/auth/token.html:27 templates/web/base/email_sent.html:20
msgid "Can&rsquo;t find our email? Check your spam folder&nbsp;&ndash; that&rsquo;s the solution 99% of the time."
msgstr ""
@@ -466,11 +490,11 @@ msgstr ""
msgid "Categories:"
msgstr ""
-#: templates/web/base/admin/body.html:72 templates/web/base/admin/contact-form.html:19 templates/web/base/admin/stats_fix_rate.html:4 templates/web/base/report/_inspect.html:38 templates/web/base/report/_item.html:90 templates/web/base/report/new/category.html:6 templates/web/base/report/new/category_wrapper.html:3 templates/web/zurich/admin/body.html:14 templates/web/zurich/admin/index-dm.html:23 templates/web/zurich/admin/index-sdm.html:21 templates/web/zurich/admin/reports.html:13 templates/web/zurich/admin/stats.html:50
+#: templates/web/base/admin/body.html:72 templates/web/base/admin/contact-form.html:19 templates/web/base/admin/stats_fix_rate.html:4 templates/web/base/report/_inspect.html:48 templates/web/base/report/_item.html:92 templates/web/base/report/new/category.html:6 templates/web/base/report/new/category_wrapper.html:3 templates/web/zurich/admin/body.html:14 templates/web/zurich/admin/index-dm.html:23 templates/web/zurich/admin/index-sdm.html:21 templates/web/zurich/admin/reports.html:13 templates/web/zurich/admin/stats.html:50
msgid "Category"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:852
+#: perllib/FixMyStreet/App/Controller/Admin.pm:956
msgid "Category changed from ‘%s’ to ‘%s’"
msgstr ""
@@ -498,23 +522,11 @@ msgstr ""
msgid "Change password"
msgstr ""
-#: templates/web/base/admin/contact-form.html:41
-msgid ""
-"Check <strong>confirmed</strong> to indicate that this contact has been confirmed as correct.\n"
-" If you are not sure of the origin or validity of the contact, leave this unchecked."
-msgstr ""
-
-#: templates/web/base/admin/contact-form.html:52
-msgid ""
-"Check <strong>deleted</strong> to remove the category from use. \n"
-" It will not appear as an available category in the drop-down menu on the report-a-problem page."
-msgstr ""
-
-#: templates/web/base/admin/contact-form.html:79
+#: templates/web/base/admin/contact-form.html:80
msgid "Check <strong>inspection required</strong> if reports in this category <strong>must be inspected</strong> before being sent."
msgstr ""
-#: templates/web/base/admin/contact-form.html:63
+#: templates/web/base/admin/contact-form.html:64
msgid ""
"Check <strong>private</strong> if reports in this category should <strong>never be displayed on the website</strong>.\n"
" <br>\n"
@@ -531,11 +543,11 @@ msgid ""
" to the body too. These will appear in the drop-down menu on the report-a-problem page."
msgstr ""
-#: templates/web/base/report/_inspect.html:93
+#: templates/web/base/report/_inspect.html:103
msgid "Choose another"
msgstr ""
-#: templates/web/base/js/translation_strings.html:65
+#: templates/web/base/js/translation_strings.html:68
msgid "Clear offline data"
msgstr ""
@@ -559,31 +571,27 @@ msgstr ""
msgid "Click the link in our confirmation email to publish your update."
msgstr ""
-#: templates/web/base/auth/token.html:18
+#: templates/web/base/auth/token.html:23
msgid "Click the link in our confirmation email to sign in."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:189 perllib/FixMyStreet/Cobrand/Zurich.pm:960 templates/web/base/admin/report_blocks.html:1 templates/web/base/admin/report_blocks.html:17 templates/web/base/admin/report_blocks.html:27 templates/web/base/dashboard/index.html:139 templates/web/base/dashboard/index.html:141 templates/web/base/report/_item.html:43 templates/web/base/report/banner.html:15 templates/web/base/report/inspect/state_groups_select.html:1 templates/web/base/report/inspect/state_groups_select.html:18 templates/web/zurich/admin/header.html:1 templates/web/zurich/admin/header.html:10 templates/web/zurich/admin/header.html:16 templates/web/zurich/admin/stats.html:31
-msgid "Closed"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Problem.pm:889
-msgid "Closed by council"
+#: templates/web/base/auth/token.html:20
+msgid "Click the link in that email to sign in."
msgstr ""
-#: templates/web/base/reports/_list-filters.html:13
-msgid "Closed reports"
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:134 perllib/FixMyStreet/Cobrand/Zurich.pm:194 perllib/FixMyStreet/Cobrand/Zurich.pm:965 perllib/FixMyStreet/DB/ResultSet/State.pm:11 templates/web/base/admin/states/index.html:103 templates/web/base/admin/states/index.html:27 templates/web/base/admin/states/index.html:33 templates/web/zurich/admin/header.html:1 templates/web/zurich/admin/header.html:10 templates/web/zurich/admin/header.html:16 templates/web/zurich/admin/stats.html:31
+msgid "Closed"
msgstr ""
-#: templates/web/base/admin/problem_row.html:38
-msgid "Closed:"
+#: perllib/FixMyStreet/DB/Result/Problem.pm:826
+msgid "Closed by council"
msgstr ""
#: templates/web/base/admin/report_edit.html:37
msgid "Co-ordinates:"
msgstr ""
-#: templates/web/base/admin/list_updates.html:10
+#: templates/web/base/admin/list_updates.html:10 templates/web/base/admin/reportextrafields/edit.html:24 templates/web/base/admin/reportextrafields/index.html:7
msgid "Cobrand"
msgstr ""
@@ -595,6 +603,10 @@ msgstr ""
msgid "Cobrand:"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:14
+msgid "Code"
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:50
msgid "Collapse map"
msgstr ""
@@ -619,7 +631,7 @@ msgstr ""
msgid "Confirmation"
msgstr ""
-#: templates/web/base/admin/body.html:85 templates/web/base/admin/category_edit.html:54 templates/web/base/admin/contact-form.html:47 templates/web/zurich/admin/stats.html:40
+#: templates/web/base/admin/contact-form.html:56 templates/web/zurich/admin/contact-form.html:12 templates/web/zurich/admin/stats.html:40
msgid "Confirmed"
msgstr ""
@@ -648,7 +660,7 @@ msgstr ""
msgid "Coordinates:"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1668 perllib/FixMyStreet/App/Controller/Admin.pm:1696
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1773 perllib/FixMyStreet/App/Controller/Admin.pm:1801
msgid "Could not find user"
msgstr ""
@@ -696,23 +708,31 @@ msgstr ""
msgid "Count"
msgstr ""
+#: templates/web/base/admin/states/index.html:114
+msgid "Create"
+msgstr ""
+
#: templates/web/base/email_sent.html:1
msgid "Create a report"
msgstr ""
-#: templates/web/base/admin/contact-form.html:137 templates/web/zurich/admin/body.html:62
+#: templates/web/base/admin/contact-form.html:138 templates/web/zurich/admin/body.html:62
msgid "Create category"
msgstr ""
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/responsepriorities/edit.html:58
msgid "Create priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:714
+#: perllib/FixMyStreet/Cobrand/Default.pm:718
+msgid "Create reports/updates as anonymous user"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:719
msgid "Create reports/updates as the council"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:713
+#: perllib/FixMyStreet/Cobrand/Default.pm:717
msgid "Create reports/updates on a user's behalf"
msgstr ""
@@ -736,11 +756,11 @@ msgstr ""
msgid "Currently no bodies have been created."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:825 templates/web/zurich/admin/report_edit-sdm.html:105
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:830 templates/web/zurich/admin/report_edit-sdm.html:105
msgid "Customer not contactable"
msgstr ""
-#: templates/web/base/dashboard/index.html:5 templates/web/base/dashboard/index.html:7
+#: templates/web/base/dashboard/index.html:5 templates/web/base/dashboard/index.html:7 templates/web/base/reports/index.html:15 templates/web/base/reports/index.html:18
msgid "Dashboard"
msgstr ""
@@ -748,23 +768,31 @@ msgstr ""
msgid "Dealt with by subdivision within 5 working days"
msgstr ""
-#: templates/web/base/report/_inspect.html:73
+#: templates/web/base/admin/responsepriorities/list.html:9
+msgid "Default"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:39
+msgid "Default priority"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:72
msgid "Defect type"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:973 templates/web/base/admin/template_edit.html:50 templates/web/zurich/admin/template_edit.html:33
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1078 templates/web/base/admin/template_edit.html:50 templates/web/zurich/admin/template_edit.html:33
msgid "Delete template"
msgstr ""
-#: templates/web/base/admin/bodies.html:31 templates/web/base/admin/body.html:87 templates/web/base/admin/category_edit.html:55 templates/web/base/admin/contact-form.html:58 templates/web/zurich/admin/contact-form.html:12
+#: templates/web/base/admin/bodies.html:31 templates/web/base/admin/contact-form.html:58 templates/web/zurich/admin/contact-form.html:13
msgid "Deleted"
msgstr ""
-#: templates/web/base/report/_main.html:110 templates/web/base/report/update.html:59
+#: templates/web/base/report/_main.html:114 templates/web/base/report/update.html:68
msgid "Describe why you are moderating this"
msgstr ""
-#: templates/web/base/admin/responsepriorities/list.html:7 templates/web/zurich/admin/index-dm.html:22 templates/web/zurich/admin/index-sdm.html:20 templates/web/zurich/admin/reports.html:12
+#: templates/web/base/admin/extra-metadata-form.html:32 templates/web/base/admin/responsepriorities/list.html:7 templates/web/zurich/admin/index-dm.html:22 templates/web/zurich/admin/index-sdm.html:20 templates/web/zurich/admin/reports.html:12
msgid "Description"
msgstr ""
@@ -780,7 +808,7 @@ msgstr ""
msgid "Details:"
msgstr ""
-#: templates/web/base/admin/body.html:93
+#: templates/web/base/admin/body.html:92
msgid "Devolved"
msgstr ""
@@ -792,7 +820,7 @@ msgstr ""
msgid "Diligency prize league table"
msgstr ""
-#: templates/web/base/report/_main.html:114 templates/web/base/report/update.html:61
+#: templates/web/base/report/_main.html:118 templates/web/base/report/update.html:70
msgid "Discard changes"
msgstr ""
@@ -801,35 +829,35 @@ msgid "Do not send email alerts on fetched comments to problem creator"
msgstr ""
#. ("%s is the site name")
-#: templates/web/base/auth/general.html:58 templates/web/base/report/new/form_user_loggedout.html:25 templates/web/base/report/new/oauth_email_form.html:18 templates/web/base/report/update-form.html:30 templates/web/base/report/update/form_user_loggedout.html:27
+#: templates/web/base/auth/general.html:60 templates/web/base/report/new/form_user_loggedout.html:25 templates/web/base/report/new/oauth_email_form.html:18 templates/web/base/report/update-form.html:30 templates/web/base/report/update/form_user_loggedout.html:27
msgid "Do you have a %s password?"
msgstr ""
+#: templates/web/base/report/_inspect.html:87
+msgid "Do you want to automatically raise a defect?"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:57
msgid "Don&rsquo;t know"
msgstr ""
-#: templates/web/base/contact/index.html:108
+#: templates/web/base/contact/index.html:112
msgid "Don't like forms?"
msgstr ""
-#: templates/web/base/report/_item.html:25
+#: templates/web/base/report/_item.html:27
msgid "Down one"
msgstr ""
-#: templates/web/base/js/translation_strings.html:55
+#: templates/web/base/js/translation_strings.html:58
msgid "Drag and drop photos here or <u>click to upload</u>"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1 templates/web/base/admin/report_blocks.html:16 templates/web/base/report/inspect/state_groups_select.html:1 templates/web/base/report/inspect/state_groups_select.html:10 templates/web/base/report/update/form_update.html:41 templates/web/base/report/update/form_update.html:43
-msgid "Duplicate"
-msgstr ""
-
-#: templates/web/base/report/_inspect.html:88
+#: templates/web/base/report/_inspect.html:98
msgid "Duplicate of"
msgstr ""
-#: templates/web/base/report/_inspect.html:98
+#: templates/web/base/report/_inspect.html:108
msgid "Duplicates"
msgstr ""
@@ -841,35 +869,35 @@ msgid ""
" "
msgstr ""
-#: templates/web/base/report/_inspect.html:16 templates/web/base/report/_item.html:81
+#: templates/web/base/report/_inspect.html:26 templates/web/base/report/_item.html:83
msgid "Easting/Northing:"
msgstr ""
-#: templates/web/base/admin/list_updates.html:42 templates/web/base/admin/problem_row.html:41 templates/web/base/admin/responsepriorities/list.html:26 templates/web/base/admin/templates.html:22 templates/web/base/admin/users.html:34 templates/web/zurich/admin/problem_row.html:48
+#: templates/web/base/admin/list_updates.html:42 templates/web/base/admin/problem_row.html:41 templates/web/base/admin/responsepriorities/list.html:28 templates/web/base/admin/templates.html:22 templates/web/base/admin/users.html:34 templates/web/zurich/admin/problem_row.html:48
msgid "Edit"
msgstr ""
-#: templates/web/base/admin/body.html:140 templates/web/base/admin/index.html:39 templates/web/zurich/admin/body.html:69
+#: templates/web/base/admin/body.html:141 templates/web/base/admin/index.html:39 templates/web/zurich/admin/body.html:69
msgid "Edit body details"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:724
+#: perllib/FixMyStreet/Cobrand/Default.pm:729
msgid "Edit other users' details"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:725
+#: perllib/FixMyStreet/Cobrand/Default.pm:730
msgid "Edit other users' permissions"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:708
+#: perllib/FixMyStreet/Cobrand/Default.pm:712
msgid "Edit report category"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:709
+#: perllib/FixMyStreet/Cobrand/Default.pm:713
msgid "Edit report priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:707
+#: perllib/FixMyStreet/Cobrand/Default.pm:711
msgid "Edit reports"
msgstr ""
@@ -885,19 +913,19 @@ msgstr ""
msgid "Editing user %d"
msgstr ""
-#: templates/web/base/admin/category_edit.html:56
+#: templates/web/base/admin/category_edit.html:30
msgid "Editor"
msgstr ""
-#: templates/web/base/admin/bodies.html:27 templates/web/base/admin/category_edit.html:53 templates/web/base/admin/flagged.html:38 templates/web/base/admin/users.html:17 templates/web/base/auth/general.html:49 templates/web/zurich/admin/body-form.html:9 templates/web/zurich/admin/body.html:15 templates/web/zurich/auth/general.html:24 templates/web/zurich/auth/general.html:54
+#: templates/web/base/admin/bodies.html:27 templates/web/base/admin/category_edit.html:28 templates/web/base/admin/flagged.html:38 templates/web/base/admin/users.html:17 templates/web/base/auth/general.html:51 templates/web/zurich/admin/body-form.html:9 templates/web/zurich/admin/body.html:15 templates/web/zurich/auth/general.html:24 templates/web/zurich/auth/general.html:54
msgid "Email"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1644
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1749
msgid "Email added to abuse list"
msgstr ""
-#: templates/web/base/admin/contact-form.html:36 templates/web/base/report/new/form_user_loggedin.html:28 templates/web/base/report/update/form_name.html:19
+#: templates/web/base/admin/contact-form.html:38 templates/web/base/alert/_list.html:74 templates/web/base/report/new/form_user_loggedin.html:32 templates/web/base/report/update/form_name.html:23
msgid "Email address"
msgstr ""
@@ -909,11 +937,11 @@ msgstr ""
msgid "Email alert deleted"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1641
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1746
msgid "Email already in abuse list"
msgstr ""
-#: templates/web/base/admin/report_edit.html:141 templates/web/base/admin/update_edit.html:35 templates/web/base/admin/user-form.html:19 templates/web/zurich/admin/body.html:48 templates/web/zurich/admin/contact-form.html:6
+#: templates/web/base/admin/report_edit.html:129 templates/web/base/admin/update_edit.html:35 templates/web/base/admin/user-form.html:19 templates/web/zurich/admin/body.html:48 templates/web/zurich/admin/contact-form.html:6
msgid "Email:"
msgstr ""
@@ -929,7 +957,7 @@ msgid ""
" <a href='https://www.mysociety.org/2013/02/20/open311-extended/' class='admin-offsite-link'>this article</a>."
msgstr ""
-#: templates/web/base/admin/body-form.html:120 templates/web/base/admin/body-form.html:121
+#: templates/web/base/admin/body-form.html:122 templates/web/base/admin/body-form.html:123
msgid ""
"Enable this <strong>can be devolved</strong> setting if one or more contacts have a \n"
" different endpoint (and send method) from the body's. For example, if reports for some categories of\n"
@@ -944,11 +972,11 @@ msgstr ""
msgid "Endpoint"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:76
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:81
msgid "Enter a Z&uuml;rich street name"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:15
+#: perllib/FixMyStreet/Cobrand/UK.pm:16
msgid "Enter a nearby UK postcode, or street name and area"
msgstr ""
@@ -956,11 +984,11 @@ msgstr ""
msgid "Enter a nearby postcode, or street name and area"
msgstr ""
-#: templates/web/base/around/postcode_form.html:5 templates/web/base/around/postcode_form.html:6
+#: perllib/FixMyStreet/Cobrand/DansMonQwat.pm:14 templates/web/base/around/postcode_form.html:5 templates/web/base/around/postcode_form.html:6
msgid "Enter a nearby street name and area"
msgstr ""
-#: templates/web/base/auth/general.html:116 templates/web/base/report/new/form_user_loggedout_by_email.html:35 templates/web/base/report/update/form_user_loggedout_by_email.html:13 templates/web/zurich/auth/general.html:65
+#: templates/web/base/auth/general.html:118 templates/web/base/report/new/form_user_loggedout_by_email.html:35 templates/web/base/report/update/form_user_loggedout_by_email.html:13 templates/web/zurich/auth/general.html:65
msgid "Enter a password"
msgstr ""
@@ -972,7 +1000,7 @@ msgstr ""
msgid "Error"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:20 templates/web/base/reports/_list-filters.html:28
+#: templates/web/base/reports/_list-filters.html:31 templates/web/base/reports/_list-filters.html:39
msgid "Everything"
msgstr ""
@@ -984,7 +1012,7 @@ msgstr ""
msgid "Examples:"
msgstr ""
-#: templates/web/base/admin/report_edit.html:122 templates/web/base/report/_inspect.html:42
+#: templates/web/base/admin/report-category.html:3
msgid "Existing category"
msgstr ""
@@ -992,15 +1020,15 @@ msgstr ""
msgid "Expand map"
msgstr ""
-#: templates/web/base/report/new/form_report.html:52
+#: templates/web/base/report/new/form_report.html:54
msgid "Explain what’s wrong"
msgstr ""
-#: templates/web/base/dashboard/index.html:146
+#: templates/web/base/dashboard/index.html:147
msgid "Export as CSV"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:174 perllib/FixMyStreet/Cobrand/Zurich.pm:913 templates/web/zurich/admin/header.html:1 templates/web/zurich/admin/header.html:12
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:179 perllib/FixMyStreet/Cobrand/Zurich.pm:918 templates/web/zurich/admin/header.html:1 templates/web/zurich/admin/header.html:12
msgid "Extern"
msgstr ""
@@ -1008,7 +1036,7 @@ msgstr ""
msgid "External ID"
msgstr ""
-#: templates/web/base/admin/body-form.html:87
+#: templates/web/base/admin/body-form.html:89
msgid "External URL"
msgstr ""
@@ -1020,11 +1048,15 @@ msgstr ""
msgid "External team"
msgstr ""
-#: templates/web/base/admin/category_edit.html:25 templates/web/base/admin/report_edit.html:94
+#: perllib/FixMyStreet/Cobrand/Default.pm:673 templates/web/base/admin/reportextrafields/edit.html:1 templates/web/base/admin/reportextrafields/index.html:1
+msgid "Extra Fields"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:141 templates/web/base/admin/report_edit.html:94
msgid "Extra data:"
msgstr ""
-#: templates/web/base/report/_inspect.html:134 templates/web/base/report/_item.html:106
+#: templates/web/base/report/_inspect.html:144 templates/web/base/report/_item.html:108
msgid "Extra details"
msgstr ""
@@ -1032,6 +1064,10 @@ msgstr ""
msgid "Failed to send message"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:58 templates/web/base/admin/reportextrafields/index.html:9
+msgid "Fields"
+msgstr ""
+
#: templates/web/zurich/admin/index-dm.html:33 templates/web/zurich/admin/index-sdm.html:30
msgid "Filter report list"
msgstr ""
@@ -1044,35 +1080,27 @@ msgstr ""
msgid "Fix this by choosing an <strong>area covered</strong> in the <em>Edit body details</em> form below."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1 templates/web/base/admin/report_blocks.html:11 templates/web/base/admin/report_blocks.html:26 templates/web/base/admin/stats_fix_rate.html:4 templates/web/base/dashboard/index.html:139 templates/web/base/dashboard/index.html:141 templates/web/base/report/_item.html:41 templates/web/base/report/banner.html:12 templates/web/base/report/inspect/state_groups_select.html:1 templates/web/base/report/inspect/state_groups_select.html:17 templates/web/base/report/update/form_update.html:41 templates/web/base/report/update/form_update.html:45
+#: perllib/FixMyStreet/App/Controller/Admin/States.pm:35 perllib/FixMyStreet/Cobrand/Oxfordshire.pm:133 templates/web/base/admin/states/index.html:29 templates/web/base/admin/stats_fix_rate.html:4
msgid "Fixed"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1 templates/web/base/admin/report_blocks.html:13 templates/web/base/report/inspect/state_groups_select.html:1 templates/web/base/report/inspect/state_groups_select.html:7
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:62
msgid "Fixed - Council"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1 templates/web/base/admin/report_blocks.html:12
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:63
msgid "Fixed - User"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:14
-msgid "Fixed reports"
-msgstr ""
-
-#: templates/web/base/admin/problem_row.html:37
-msgid "Fixed:"
-msgstr ""
-
-#: templates/web/base/admin/body-form.html:95 templates/web/base/admin/responsepriorities/edit.html:41 templates/web/zurich/admin/body-form.html:36
+#: templates/web/base/admin/body-form.html:97 templates/web/base/admin/responsepriorities/edit.html:53 templates/web/zurich/admin/body-form.html:36
msgid "Flag as deleted"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/report_blocks.html:23
msgid "Flag user"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:645 templates/web/base/admin/users.html:20
+#: perllib/FixMyStreet/Cobrand/Default.pm:644 templates/web/base/admin/users.html:20
msgid "Flagged"
msgstr ""
@@ -1088,7 +1116,7 @@ msgstr ""
msgid "Flagged users are not restricted in any way. This is just a list of users that have been marked for attention."
msgstr ""
-#: templates/web/base/admin/report_edit.html:147 templates/web/base/admin/user-form.html:100
+#: templates/web/base/admin/report_edit.html:135 templates/web/base/admin/user-form.html:100
msgid "Flagged:"
msgstr ""
@@ -1100,19 +1128,23 @@ msgstr ""
msgid "For best results include a close-up and a wide shot"
msgstr ""
-#: templates/web/base/admin/body-form.html:71
+#: templates/web/base/admin/extra-metadata-form.html:52
+msgid "For each option, <strong>Key</strong> is the value which is stored in the database for that option and <strong>Name</strong> is the value displayed to the user."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:73
msgid "For more information, see <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
msgstr ""
-#: templates/web/base/auth/general.html:95 templates/web/base/report/new/form_user_loggedout_password.html:20 templates/web/base/report/update/form_user_loggedout_password.html:19
+#: templates/web/base/auth/general.html:97 templates/web/base/report/new/form_user_loggedout_password.html:20 templates/web/base/report/update/form_user_loggedout_password.html:19
msgid "Forgotten your password?"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:743
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:748
msgid "Forwarded to external body"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:744
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:749
msgid "Forwarded wish to external body"
msgstr ""
@@ -1120,6 +1152,10 @@ msgstr ""
msgid "Frequently Asked Questions"
msgstr ""
+#: templates/web/base/admin/stats.html:102
+msgid "Get Count"
+msgstr ""
+
#: templates/web/base/around/_updates.html:3 templates/web/base/report/display_tools.html:14
msgid "Get updates"
msgstr ""
@@ -1132,15 +1168,19 @@ msgstr ""
msgid "Get updates of problems in this %s"
msgstr ""
-#: templates/web/base/alert/_list.html:83
+#: templates/web/base/alert/_list.html:85
msgid "Give me an RSS feed"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:6
+msgid "Give this collection of fields a name. It is not shown publicly, just here in the admin."
+msgstr ""
+
#: templates/web/base/questionnaire/completed.html:14
msgid "Glad to hear it’s been fixed!"
msgstr ""
-#: templates/web/base/admin/index.html:28 templates/web/base/admin/index.html:34 templates/web/base/admin/index.html:49 templates/web/base/alert/index.html:34 templates/web/base/around/postcode_form.html:13 templates/web/base/reports/_list-filters.html:38 templates/web/base/reports/_list-filters.html:53 templates/web/zurich/admin/stats.html:26
+#: templates/web/base/admin/index.html:28 templates/web/base/admin/index.html:34 templates/web/base/admin/index.html:49 templates/web/base/alert/index.html:34 templates/web/base/around/postcode_form.html:13 templates/web/base/reports/_list-filters.html:49 templates/web/base/reports/_list-filters.html:64 templates/web/base/reports/index.html:75 templates/web/zurich/admin/stats.html:26
msgid "Go"
msgstr ""
@@ -1148,7 +1188,7 @@ msgstr ""
msgid "Going to send questionnaire?"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:726
+#: perllib/FixMyStreet/Cobrand/Default.pm:731
msgid "Grant access to the admin"
msgstr ""
@@ -1156,10 +1196,6 @@ msgstr ""
msgid "Graph of problem creation by status over time"
msgstr ""
-#: templates/web/base/reports/index.html:15
-msgid "Greyed-out lines are councils that no longer exist."
-msgstr ""
-
#: templates/web/base/questionnaire/index.html:48
msgid "Has this problem been fixed?"
msgstr ""
@@ -1168,7 +1204,7 @@ msgstr ""
msgid "Have you ever reported a problem to a council before, or is this your first time?"
msgstr ""
-#: templates/web/base/main_nav_items.html:40 templates/web/zurich/about/faq-de-ch.html:1 templates/web/zurich/footer.html:23 templates/web/zurich/nav_over_content.html:8
+#: templates/web/base/main_nav_items.html:40 templates/web/zurich/about/faq-de-ch.html:1 templates/web/zurich/footer.html:22 templates/web/zurich/nav_over_content.html:8
msgid "Help"
msgstr ""
@@ -1176,27 +1212,39 @@ msgstr ""
msgid "Help <strong>%s</strong> resolve your problem quicker, by providing some extra detail. This extra information will not be published online."
msgstr ""
-#: templates/web/base/alert/_list.html:9
-msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
-msgstr ""
-
-#: templates/web/zurich/footer.html:12
+#: templates/web/zurich/footer.html:11
msgid "Hi %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:906 templates/web/base/admin/report_blocks.html:1 templates/web/base/admin/report_blocks.html:19 templates/web/base/admin/report_blocks.html:28 templates/web/base/admin/update_edit.html:30 templates/web/base/report/inspect/state_groups_select.html:1 templates/web/base/report/inspect/state_groups_select.html:12 templates/web/base/report/inspect/state_groups_select.html:19 templates/web/zurich/admin/header.html:1 templates/web/zurich/admin/header.html:11 templates/web/zurich/admin/stats.html:32 templates/web/zurich/admin/update_edit.html:18
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:911 perllib/FixMyStreet/DB/ResultSet/State.pm:60 templates/web/base/admin/update_edit.html:30 templates/web/zurich/admin/header.html:1 templates/web/zurich/admin/header.html:11 templates/web/zurich/admin/stats.html:32 templates/web/zurich/admin/update_edit.html:18
msgid "Hidden"
msgstr ""
-#: templates/web/base/report/_main.html:105
+#: templates/web/base/report/_main.html:109
msgid "Hide entire report"
msgstr ""
+#: templates/web/base/my/anonymize.html:1 templates/web/base/my/anonymize.html:2
+msgid "Hide my name"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:21
+msgid "Hide my name everywhere"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:10
+msgid "Hide my name in this update"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:16
+msgid "Hide my name on this report"
+msgstr ""
+
#: templates/web/base/around/display_location.html:67
msgid "Hide old"
msgstr ""
-#: templates/web/base/around/display_location.html:62
+#: templates/web/base/around/display_location.html:62 templates/web/base/js/translation_strings.html:55
msgid "Hide pins"
msgstr ""
@@ -1204,7 +1252,15 @@ msgstr ""
msgid "Hide update completely?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:49
+#: templates/web/base/report/_report_meta_info.html:3 templates/web/base/report/update.html:55
+msgid "Hide your name?"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:38
+msgid "Hint"
+msgstr ""
+
+#: templates/web/base/admin/category_edit.html:24
msgid "History"
msgstr ""
@@ -1220,11 +1276,11 @@ msgstr ""
msgid "How to send successful reports"
msgstr ""
-#: templates/web/base/tokens/confirm_problem.html:36 templates/web/base/tokens/confirm_problem.html:40
+#: templates/web/base/tokens/confirm_problem.html:36 templates/web/base/tokens/confirm_problem.html:41
msgid "I just reported a problem on @fixmystreet"
msgstr ""
-#: templates/web/base/tokens/confirm_update.html:19 templates/web/base/tokens/confirm_update.html:23
+#: templates/web/base/tokens/confirm_update.html:20 templates/web/base/tokens/confirm_update.html:25
msgid "I just updated a problem on @fixmystreet"
msgstr ""
@@ -1236,16 +1292,24 @@ msgstr ""
msgid "ID"
msgstr ""
-#: templates/web/base/admin/body-form.html:30 templates/web/base/admin/body-form.html:31
+#: templates/web/base/admin/body-form.html:32 templates/web/base/admin/body-form.html:33
msgid ""
"Identify a <strong>parent</strong> if this body is itself part of another body.\n"
" For basic installations, you don't need to join bodies in this way."
msgstr ""
+#: templates/web/base/auth/token.html:19
+msgid "If there's a user associated with the address you entered, we've sent a confirmation email."
+msgstr ""
+
#: templates/web/base/admin/responsepriorities/edit.html:23
msgid "If this priority is passed to an external service (e.g. Exor/Confirm) enter the priority code to use with that service here."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:24
+msgid "If ticked the user won’t see an input field, just the ‘Description’ text."
+msgstr ""
+
#: templates/web/base/admin/contact-form.html:14
msgid ""
"If two or more bodies serve the same location, FixMyStreet combines identical categories into a single entry in\n"
@@ -1256,7 +1320,7 @@ msgstr ""
msgid "If you get some more information about the status of your problem, please come back to the site and leave an update."
msgstr ""
-#: templates/web/base/admin/responsepriorities/edit.html:33
+#: templates/web/base/admin/responsepriorities/edit.html:45
msgid "If you only want this priority to be an option for specific categories, pick them here. By default they will show for all categories."
msgstr ""
@@ -1278,7 +1342,7 @@ msgid ""
"(please note it will not be sent to the council)."
msgstr ""
-#: templates/web/base/admin/contact-form.html:30
+#: templates/web/base/admin/contact-form.html:32
msgid "If you're using <strong>a send method that is not email</strong>, enter the service ID (Open311) or equivalent identifier here."
msgstr ""
@@ -1302,7 +1366,7 @@ msgid ""
" when they are shown on the site. Enter the ID (number) of that user."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:133
+#: perllib/FixMyStreet/App/Controller/Contact.pm:134
msgid "Illegal ID"
msgstr ""
@@ -1310,10 +1374,6 @@ msgstr ""
msgid "Illegal feed selection"
msgstr ""
-#: templates/web/base/dashboard/index.html:139 templates/web/base/dashboard/index.html:141 templates/web/base/report/update/form_update.html:41 templates/web/base/report/update/form_update.html:43
-msgid "In Progress"
-msgstr ""
-
#: templates/web/base/admin/flagged.html:39
msgid "In abuse table?"
msgstr ""
@@ -1322,10 +1382,14 @@ msgstr ""
msgid "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:192 perllib/FixMyStreet/Cobrand/Zurich.pm:954 templates/web/base/admin/report_blocks.html:1 templates/web/base/admin/report_blocks.html:9 templates/web/base/report/banner.html:18 templates/web/base/report/inspect/state_groups_select.html:1 templates/web/base/report/inspect/state_groups_select.html:5 templates/web/zurich/admin/header.html:1 templates/web/zurich/admin/header.html:8
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:197 perllib/FixMyStreet/Cobrand/Zurich.pm:959 templates/web/zurich/admin/header.html:1 templates/web/zurich/admin/header.html:8
msgid "In progress"
msgstr ""
+#: templates/web/base/admin/contact-form.html:57
+msgid "Inactive"
+msgstr ""
+
#: templates/web/base/tokens/confirm_alert.html:11
msgid "Inbox zero, here we come!"
msgstr ""
@@ -1342,11 +1406,15 @@ msgstr ""
msgid "Incorrect has_photo value \"%s\""
msgstr ""
-#: templates/web/base/admin/contact-form.html:84
+#: templates/web/base/report/_inspect.html:5
+msgid "Inspect report"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:85
msgid "Inspection required"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:711
+#: perllib/FixMyStreet/Cobrand/Default.pm:715
msgid "Instruct contractors to fix problems"
msgstr ""
@@ -1354,10 +1422,6 @@ msgstr ""
msgid "Internal notes"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1 templates/web/base/admin/report_blocks.html:18 templates/web/base/report/inspect/state_groups_select.html:1 templates/web/base/report/inspect/state_groups_select.html:11
-msgid "Internal referral"
-msgstr ""
-
#: templates/web/base/offline/appcache.html:3
msgid "Internet glitch"
msgstr ""
@@ -1366,7 +1430,7 @@ msgstr ""
msgid "Invalid agency_responsible value %s"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1502
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1607
msgid "Invalid end date"
msgstr ""
@@ -1374,19 +1438,15 @@ msgstr ""
msgid "Invalid format %s specified."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report.pm:398
+#: perllib/FixMyStreet/App/Controller/Report.pm:409
msgid "Invalid location. New location must be covered by the same council."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1498
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1603
msgid "Invalid start date"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1 templates/web/base/admin/report_blocks.html:7 templates/web/base/dashboard/index.html:139 templates/web/base/dashboard/index.html:140 templates/web/base/report/inspect/state_groups_select.html:1 templates/web/base/report/inspect/state_groups_select.html:4 templates/web/base/report/update/form_update.html:41 templates/web/base/report/update/form_update.html:42
-msgid "Investigating"
-msgstr ""
-
-#: templates/web/base/contact/blurb.html:8
+#: templates/web/base/contact/blurb.html:2
msgid "It's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there."
msgstr ""
@@ -1394,23 +1454,39 @@ msgstr ""
msgid "It’s on its way to the council right now."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:177
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:182
msgid "Jurisdiction Unknown"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:918 templates/web/zurich/admin/header.html:1 templates/web/zurich/admin/header.html:15
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:923 templates/web/zurich/admin/header.html:1 templates/web/zurich/admin/header.html:15
msgid "Jurisdiction unknown"
msgstr ""
-#: templates/web/base/auth/general.html:91 templates/web/base/report/new/form_user_loggedout_password.html:16 templates/web/base/report/update/form_user_loggedout_password.html:15 templates/web/zurich/auth/general.html:40
+#: templates/web/base/auth/general.html:93 templates/web/base/report/new/form_user_loggedout_password.html:16 templates/web/base/report/update/form_user_loggedout_password.html:15 templates/web/zurich/auth/general.html:40
msgid "Keep me signed in on this computer"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:61
+msgid "Key"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:9 templates/web/base/admin/states/index.html:95
+msgid "Label"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:6 templates/web/base/admin/reportextrafields/edit.html:45
+msgid "Language"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/index.html:8
+msgid "Languages"
+msgstr ""
+
#: templates/web/base/dashboard/index.html:50
msgid "Last 4 weeks"
msgstr ""
-#: templates/web/base/dashboard/index.html:49
+#: templates/web/base/dashboard/index.html:49 templates/web/base/reports/index.html:38
msgid "Last 7 days"
msgstr ""
@@ -1418,6 +1494,10 @@ msgstr ""
msgid "Last editor"
msgstr ""
+#: templates/web/base/questionnaire/index.html:25
+msgid "Last update"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:89
msgid "Last update:"
msgstr ""
@@ -1426,22 +1506,26 @@ msgstr ""
msgid "Last&nbsp;update:"
msgstr ""
-#: templates/web/base/report/_inspect.html:20 templates/web/base/report/_item.html:86
+#: templates/web/base/report/_inspect.html:30 templates/web/base/report/_item.html:88
msgid "Latitude/Longitude:"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:50
+#: templates/web/base/reports/_list-filters.html:61
msgid "Least recently updated"
msgstr ""
-#: templates/web/base/admin/body-form.html:127
+#: templates/web/base/admin/body-form.html:129
msgid "Leave this blank if all reports to this body should be sent using the same send method (e.g., \"%s\")."
msgstr ""
-#: templates/web/base/dashboard/index.html:150
+#: templates/web/base/dashboard/index.html:151
msgid "Less than 7 days old"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:47
+msgid "List"
+msgstr ""
+
#: templates/web/base/admin/body.html:31
msgid "List all reported problems"
msgstr ""
@@ -1466,19 +1550,19 @@ msgstr ""
msgid "Locate the problem on a map of the area"
msgstr ""
-#: templates/web/base/auth/general.html:22 templates/web/base/report/new/form_user_loggedout.html:6 templates/web/base/report/update/form_user_loggedout.html:7
+#: templates/web/base/auth/general.html:24 templates/web/base/report/new/form_user_loggedout.html:6 templates/web/base/report/update/form_user_loggedout.html:7
msgid "Log in with Facebook"
msgstr ""
-#: templates/web/base/auth/general.html:30 templates/web/base/report/new/form_user_loggedout.html:14 templates/web/base/report/update/form_user_loggedout.html:15
+#: templates/web/base/auth/general.html:32 templates/web/base/report/new/form_user_loggedout.html:14 templates/web/base/report/update/form_user_loggedout.html:15
msgid "Log in with Twitter"
msgstr ""
-#: templates/web/base/js/translation_strings.html:59
+#: templates/web/base/js/translation_strings.html:62
msgid "Log in with email"
msgstr ""
-#: templates/web/base/dashboard/index.html:145 templates/web/base/dashboard/index.html:38
+#: templates/web/base/dashboard/index.html:146 templates/web/base/dashboard/index.html:38
msgid "Look up"
msgstr ""
@@ -1486,11 +1570,11 @@ msgstr ""
msgid "MAP"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:712
+#: perllib/FixMyStreet/Cobrand/Default.pm:716
msgid "Manage shortlist"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:45
+#: templates/web/base/reports/_list-filters.html:56
msgid "Manual order"
msgstr ""
@@ -1506,19 +1590,11 @@ msgstr ""
msgid "Mark users whose behaviour you want to keep a check on as <strong>flagged</strong>."
msgstr ""
-#: templates/web/base/reports/index.html:27
-msgid "Marked fixed/closed in the past eight weeks"
-msgstr ""
-
-#: templates/web/base/reports/index.html:28
-msgid "Marked fixed/closed more than eight weeks ago"
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/Default.pm:710
+#: perllib/FixMyStreet/Cobrand/Default.pm:714
msgid "Markup problem details"
msgstr ""
-#: templates/web/base/contact/index.html:96
+#: templates/web/base/contact/index.html:100
msgid "Message"
msgstr ""
@@ -1538,15 +1614,15 @@ msgstr ""
msgid "Missing jurisdiction_id"
msgstr ""
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:706
+#: perllib/FixMyStreet/Cobrand/Default.pm:710
msgid "Moderate report details"
msgstr ""
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate this report"
msgstr ""
@@ -1554,7 +1630,7 @@ msgstr ""
msgid "Moderate this update"
msgstr ""
-#: templates/web/base/report/_main.html:69 templates/web/base/report/update.html:49
+#: templates/web/base/report/_main.html:73 templates/web/base/report/update.html:58
msgid "Moderated by %s at %s"
msgstr ""
@@ -1562,7 +1638,7 @@ msgstr ""
msgid "Moderated by division within one working day"
msgstr ""
-#: templates/web/base/report/_main.html:109 templates/web/base/report/update.html:57
+#: templates/web/base/report/_main.html:113 templates/web/base/report/update.html:66
msgid "Moderation reason:"
msgstr ""
@@ -1570,15 +1646,15 @@ msgstr ""
msgid "Month"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:51
+#: templates/web/base/reports/_list-filters.html:62
msgid "Most commented"
msgstr ""
-#: templates/web/base/admin/bodies.html:25 templates/web/base/admin/body-form.html:24 templates/web/base/admin/flagged.html:16 templates/web/base/admin/flagged.html:37 templates/web/base/admin/index.html:62 templates/web/base/admin/list_updates.html:7 templates/web/base/admin/reports.html:14 templates/web/base/admin/responsepriorities/list.html:6 templates/web/base/admin/users.html:16 templates/web/base/auth/general.html:106 templates/web/base/report/new/form_user_loggedin.html:40 templates/web/base/report/new/form_user_loggedout_by_email.html:7 templates/web/base/report/update/form_name.html:23 templates/web/base/reports/index.html:23 templates/web/zurich/admin/body-form.html:4 templates/web/zurich/auth/general.html:60 templates/web/zurich/report/new/fill_in_details_form.html:59
+#: templates/web/base/admin/bodies.html:25 templates/web/base/admin/body-form.html:24 templates/web/base/admin/extra-metadata-form.html:65 templates/web/base/admin/flagged.html:16 templates/web/base/admin/flagged.html:37 templates/web/base/admin/index.html:62 templates/web/base/admin/list_updates.html:7 templates/web/base/admin/reportextrafields/edit.html:11 templates/web/base/admin/reportextrafields/index.html:6 templates/web/base/admin/reports.html:14 templates/web/base/admin/responsepriorities/list.html:6 templates/web/base/admin/states/index.html:108 templates/web/base/admin/states/index.html:11 templates/web/base/admin/users.html:16 templates/web/base/auth/general.html:108 templates/web/base/report/new/form_user_loggedin.html:42 templates/web/base/report/new/form_user_loggedout_by_email.html:7 templates/web/base/report/update/form_name.html:27 templates/web/zurich/admin/body-form.html:4 templates/web/zurich/auth/general.html:60 templates/web/zurich/report/new/fill_in_details_form.html:59
msgid "Name"
msgstr ""
-#: templates/web/base/admin/report_edit.html:139 templates/web/base/admin/responsepriorities/edit.html:13 templates/web/base/admin/update_edit.html:34 templates/web/base/admin/user-form.html:16 templates/web/zurich/admin/stats.html:41
+#: templates/web/base/admin/report_edit.html:127 templates/web/base/admin/responsepriorities/edit.html:13 templates/web/base/admin/update_edit.html:34 templates/web/base/admin/user-form.html:16 templates/web/zurich/admin/stats.html:41
msgid "Name:"
msgstr ""
@@ -1586,7 +1662,7 @@ msgstr ""
msgid "Name: %s"
msgstr ""
-#: templates/web/base/report/_inspect.html:28
+#: templates/web/base/report/_inspect.html:38
msgid "Navigate to this problem"
msgstr ""
@@ -1594,33 +1670,37 @@ msgstr ""
msgid "Nearest named road to the pin placed on the map (automatically generated using OpenStreetMap): %s%s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:129
+#: perllib/FixMyStreet/Cobrand/UK.pm:134
msgid "Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:527 perllib/FixMyStreet/Cobrand/Default.pm:567
+#: perllib/FixMyStreet/Cobrand/Default.pm:538 perllib/FixMyStreet/Cobrand/Default.pm:566
msgid "Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"
msgstr ""
-#: perllib/FixMyStreet/Script/Alerts.pm:319
+#: perllib/FixMyStreet/Script/Alerts.pm:316
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s\n"
"\n"
msgstr ""
-#: templates/web/base/auth/token.html:17 templates/web/base/email_sent.html:5
+#: templates/web/base/auth/token.html:18
+msgid "Nearly done!"
+msgstr ""
+
+#: templates/web/base/auth/token.html:22 templates/web/base/email_sent.html:5
msgid "Nearly done! Now check your email&hellip;"
msgstr ""
-#: templates/web/base/reports/index.html:24
-msgid "New <br>problems"
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:131
+msgid "New"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:259
+#: perllib/FixMyStreet/App/Controller/Admin.pm:262
msgid "New body added"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:405
+#: perllib/FixMyStreet/App/Controller/Admin.pm:386
msgid "New category contact added"
msgstr ""
@@ -1644,7 +1724,7 @@ msgstr ""
msgid "New password:"
msgstr ""
-#: templates/web/base/admin/responsepriorities/edit.html:4 templates/web/base/admin/responsepriorities/list.html:32
+#: templates/web/base/admin/responsepriorities/edit.html:4 templates/web/base/admin/responsepriorities/list.html:34
msgid "New priority"
msgstr ""
@@ -1672,7 +1752,7 @@ msgstr ""
msgid "New reports"
msgstr ""
-#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/questionnaire.html:24 templates/web/base/admin/states/index.html:91
msgid "New state"
msgstr ""
@@ -1680,7 +1760,7 @@ msgstr ""
msgid "New template"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:47
+#: templates/web/base/reports/_list-filters.html:58
msgid "Newest"
msgstr ""
@@ -1688,7 +1768,7 @@ msgstr ""
msgid "Next"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:1203 templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88 templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94 templates/web/base/admin/category_edit.html:4 templates/web/base/admin/list_updates.html:32 templates/web/base/admin/list_updates.html:34 templates/web/base/admin/list_updates.html:35 templates/web/base/admin/problem_row.html:20 templates/web/base/admin/report_edit.html:137 templates/web/base/admin/report_edit.html:95 templates/web/base/admin/update_edit.html:26 templates/web/base/questionnaire/creator_fixed.html:16 templates/web/base/questionnaire/index.html:106 templates/web/base/questionnaire/index.html:55
+#: perllib/FixMyStreet/Cobrand/Default.pm:1237 templates/web/base/admin/category_edit.html:4 templates/web/base/admin/list_updates.html:32 templates/web/base/admin/list_updates.html:34 templates/web/base/admin/list_updates.html:35 templates/web/base/admin/problem_row.html:20 templates/web/base/admin/report_edit.html:125 templates/web/base/admin/report_edit.html:95 templates/web/base/admin/update_edit.html:26 templates/web/base/questionnaire/creator_fixed.html:16 templates/web/base/questionnaire/index.html:106 templates/web/base/questionnaire/index.html:55 templates/web/base/report/_inspect.html:92
msgid "No"
msgstr ""
@@ -1704,7 +1784,7 @@ msgstr ""
msgid "No council"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:445
+#: perllib/FixMyStreet/DB/Result/Problem.pm:372
msgid "No council selected"
msgstr ""
@@ -1720,19 +1800,15 @@ msgstr ""
msgid "No flagged users found."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1 templates/web/base/admin/report_blocks.html:14 templates/web/base/report/inspect/state_groups_select.html:1 templates/web/base/report/inspect/state_groups_select.html:8 templates/web/base/report/update/form_update.html:41 templates/web/base/report/update/form_update.html:44
-msgid "No further action"
-msgstr ""
-
#: templates/web/zurich/admin/report_edit-sdm.html:125 templates/web/zurich/admin/report_edit.html:259
msgid "No further updates"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:84
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:68
msgid "No inspections by that inspector in the selected date range."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:86
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:70
msgid "No inspections in the selected date range."
msgstr ""
@@ -1740,7 +1816,7 @@ msgstr ""
msgid "No result returned"
msgstr ""
-#: templates/web/base/admin/body-form.html:66 templates/web/base/admin/body-form.html:67
+#: templates/web/base/admin/body-form.html:68 templates/web/base/admin/body-form.html:69
msgid ""
"No specific areas are currently available, because the <code>MAPIT_URL</code> in\n"
" your config file is not pointing to a live MapIt service."
@@ -1768,11 +1844,7 @@ msgid ""
" activity across their body), the ability to hide reports or set special report statuses."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1 templates/web/base/admin/report_blocks.html:15 templates/web/base/report/inspect/state_groups_select.html:1 templates/web/base/report/inspect/state_groups_select.html:9 templates/web/base/report/update/form_update.html:41 templates/web/base/report/update/form_update.html:44
-msgid "Not Responsible"
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:181 perllib/FixMyStreet/Cobrand/Zurich.pm:928 templates/web/zurich/admin/header.html:1 templates/web/zurich/admin/header.html:13
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:186 perllib/FixMyStreet/Cobrand/Zurich.pm:933 templates/web/zurich/admin/header.html:1 templates/web/zurich/admin/header.html:13
msgid "Not contactable"
msgstr ""
@@ -1788,7 +1860,7 @@ msgstr ""
msgid "Not reported to council"
msgstr ""
-#: templates/web/base/admin/body.html:75 templates/web/base/admin/category_edit.html:57 templates/web/zurich/admin/body.html:17
+#: templates/web/base/admin/body.html:75 templates/web/base/admin/category_edit.html:31 templates/web/zurich/admin/body.html:17
msgid "Note"
msgstr ""
@@ -1796,7 +1868,7 @@ msgstr ""
msgid "Note that when including unconfirmed reports we use the date the report was created which may not be in the same month the report was confirmed so the numbers may jump about a little"
msgstr ""
-#: templates/web/zurich/admin/body.html:55 templates/web/zurich/admin/contact-form.html:17
+#: templates/web/zurich/admin/body.html:55 templates/web/zurich/admin/contact-form.html:19
msgid "Note:"
msgstr ""
@@ -1808,6 +1880,10 @@ msgstr ""
msgid "Notes from SDM to DM"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:26
+msgid "Notice"
+msgstr ""
+
#: templates/web/base/report/new/oauth_email_form.html:17
msgid "Now to submit your report&hellip;"
msgstr ""
@@ -1816,50 +1892,34 @@ msgstr ""
msgid "Now to submit your update&hellip;"
msgstr ""
+#: templates/web/base/reports/index.html:98
+msgid "Number of problems reported in each category, in the last 7 days."
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:43
msgid "OK"
msgstr ""
-#: templates/web/base/js/translation_strings.html:67
+#: templates/web/base/js/translation_strings.html:70
msgid "Offline data cleared"
msgstr ""
-#: templates/web/base/js/translation_strings.html:64
+#: templates/web/base/js/translation_strings.html:67
msgid "Offline update data saved"
msgstr ""
-#: templates/web/base/reports/index.html:26
-msgid "Old / unknown <br>problems"
-msgstr ""
-
#: templates/web/base/admin/questionnaire.html:24
msgid "Old state"
msgstr ""
-#: templates/web/base/reports/index.html:28
-msgid "Older <br>fixed"
-msgstr ""
-
-#: templates/web/base/reports/index.html:25
-msgid "Older <br>problems"
-msgstr ""
-
-#: templates/web/base/reports/_list-filters.html:48
+#: templates/web/base/reports/_list-filters.html:59
msgid "Oldest"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:169 perllib/FixMyStreet/Cobrand/Zurich.pm:900 templates/web/base/admin/report_blocks.html:1 templates/web/base/admin/report_blocks.html:25 templates/web/base/admin/report_blocks.html:6 templates/web/base/admin/update_edit.html:30 templates/web/base/dashboard/index.html:139 templates/web/base/report/inspect/state_groups_select.html:1 templates/web/base/report/inspect/state_groups_select.html:16 templates/web/base/report/inspect/state_groups_select.html:3 templates/web/base/report/update/form_update.html:41 templates/web/zurich/admin/header.html:1 templates/web/zurich/admin/header.html:7 templates/web/zurich/admin/update_edit.html:18
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:174 perllib/FixMyStreet/Cobrand/Zurich.pm:905 perllib/FixMyStreet/DB/ResultSet/State.pm:10 templates/web/base/admin/states/index.html:102 templates/web/base/admin/states/index.html:25 templates/web/base/admin/states/index.html:32 templates/web/base/admin/update_edit.html:30 templates/web/zurich/admin/header.html:1 templates/web/zurich/admin/header.html:7 templates/web/zurich/admin/update_edit.html:18
msgid "Open"
msgstr ""
-#: templates/web/base/reports/index.html:25
-msgid "Open for more than four weeks, with an update within the past eight weeks"
-msgstr ""
-
-#: templates/web/base/reports/index.html:26
-msgid "Open, but not had any update in eight weeks"
-msgstr ""
-
#: templates/web/base/admin/open311-form-fields.html:47
msgid "Open311 API Key"
msgstr ""
@@ -1880,18 +1940,30 @@ msgstr ""
msgid "Open311 specification"
msgstr ""
-#: templates/web/base/alert/_list.html:61
-msgid "Or problems reported to:"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "Options"
+msgstr ""
+
+#: templates/web/base/alert/_list.html:84
+msgid "Or subscribe by RSS"
msgstr ""
-#: templates/web/base/alert/_list.html:37
-msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
+#: templates/web/base/admin/extra-metadata-form.html:8
+msgid "Order"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:1061 perllib/FixMyStreet/App/Controller/Report/New.pm:658 perllib/FixMyStreet/App/Controller/Report/New.pm:659 perllib/FixMyStreet/DB/Result/Problem.pm:642 perllib/FixMyStreet/DB/Result/Problem.pm:649 perllib/FixMyStreet/DB/Result/Problem.pm:664 perllib/FixMyStreet/DB/Result/Problem.pm:673 perllib/FixMyStreet/Script/Reports.pm:183 perllib/FixMyStreet/Script/Reports.pm:198
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1107 perllib/FixMyStreet/App/Controller/Report/New.pm:675 perllib/FixMyStreet/App/Controller/Report/New.pm:676 perllib/FixMyStreet/DB/Result/Problem.pm:579 perllib/FixMyStreet/DB/Result/Problem.pm:586 perllib/FixMyStreet/DB/Result/Problem.pm:601 perllib/FixMyStreet/DB/Result/Problem.pm:610 perllib/FixMyStreet/Script/Reports.pm:183 perllib/FixMyStreet/Script/Reports.pm:198
msgid "Other"
msgstr ""
+#: templates/web/base/reports/index.html:107
+msgid "Other categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:92
+msgid "Overall average"
+msgstr ""
+
#: templates/web/base/admin/list_updates.html:8
msgid "Owner"
msgstr ""
@@ -1900,19 +1972,19 @@ msgstr ""
msgid "Page Not Found"
msgstr ""
-#: templates/web/base/admin/body-form.html:37 templates/web/zurich/admin/body-form.html:14
+#: templates/web/base/admin/body-form.html:39 templates/web/zurich/admin/body-form.html:14
msgid "Parent"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1 templates/web/base/admin/report_blocks.html:20
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:61
msgid "Partial"
msgstr ""
-#: templates/web/base/auth/general.html:109 templates/web/base/report/new/form_user_loggedout_by_email.html:28 templates/web/base/report/update/form_user_loggedout_by_email.html:6 templates/web/zurich/auth/general.html:32 templates/web/zurich/auth/general.html:63
+#: templates/web/base/auth/general.html:111 templates/web/base/report/new/form_user_loggedout_by_email.html:28 templates/web/base/report/update/form_user_loggedout_by_email.html:6 templates/web/zurich/auth/general.html:32 templates/web/zurich/auth/general.html:63
msgid "Password (optional)"
msgstr ""
-#: templates/web/base/auth/general.html:82
+#: templates/web/base/auth/general.html:84
msgid "Password:"
msgstr ""
@@ -1924,19 +1996,23 @@ msgstr ""
msgid "Permissions:"
msgstr ""
+#: templates/web/base/report/_inspect.html:19
+msgid "Phone Reporter:"
+msgstr ""
+
#: templates/web/zurich/report/new/fill_in_details_form.html:65
msgid "Phone number"
msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:57 templates/web/base/report/new/form_user_loggedout_by_email.html:25
+#: templates/web/base/report/new/form_user_loggedin.html:59 templates/web/base/report/new/form_user_loggedout_by_email.html:25
msgid "Phone number (optional)"
msgstr ""
-#: perllib/FixMyStreet/Script/Reports.pm:87 templates/web/base/admin/report_edit.html:146 templates/web/base/admin/user-form.html:21 templates/web/zurich/admin/stats.html:39
+#: perllib/FixMyStreet/Script/Reports.pm:87 templates/web/base/admin/report_edit.html:134 templates/web/base/admin/user-form.html:21 templates/web/zurich/admin/stats.html:39
msgid "Phone:"
msgstr ""
-#: templates/web/base/questionnaire/index.html:78 templates/web/base/questionnaire/index.html:93 templates/web/base/questionnaire/index.html:95 templates/web/base/report/new/form_report.html:28 templates/web/base/report/new/form_report.html:43 templates/web/base/report/new/form_report.html:45 templates/web/base/report/update/form_update.html:22 templates/web/base/report/update/form_update.html:24 templates/web/base/report/update/form_update.html:7 templates/web/zurich/admin/index-dm.html:29 templates/web/zurich/admin/index-sdm.html:24 templates/web/zurich/admin/reports.html:16 templates/web/zurich/admin/stats.html:37 templates/web/zurich/report/new/fill_in_details_form.html:20 templates/web/zurich/report/new/fill_in_details_form.html:36 templates/web/zurich/report/new/fill_in_details_form.html:38
+#: templates/web/base/questionnaire/index.html:78 templates/web/base/questionnaire/index.html:93 templates/web/base/questionnaire/index.html:95 templates/web/base/report/new/form_report.html:30 templates/web/base/report/new/form_report.html:45 templates/web/base/report/new/form_report.html:47 templates/web/base/report/update/form_update.html:22 templates/web/base/report/update/form_update.html:24 templates/web/base/report/update/form_update.html:7 templates/web/zurich/admin/index-dm.html:29 templates/web/zurich/admin/index-sdm.html:24 templates/web/zurich/admin/reports.html:16 templates/web/zurich/admin/stats.html:37 templates/web/zurich/report/new/fill_in_details_form.html:20 templates/web/zurich/report/new/fill_in_details_form.html:36 templates/web/zurich/report/new/fill_in_details_form.html:38
msgid "Photo"
msgstr ""
@@ -1944,11 +2020,11 @@ msgstr ""
msgid "Photo is required."
msgstr ""
-#: templates/web/zurich/admin/contact-form.html:14
+#: templates/web/zurich/admin/contact-form.html:16
msgid "Photo required"
msgstr ""
-#: templates/web/base/questionnaire/index.html:78 templates/web/base/report/new/form_report.html:28 templates/web/base/report/update/form_update.html:7 templates/web/zurich/report/new/fill_in_details_form.html:20
+#: templates/web/base/questionnaire/index.html:78 templates/web/base/report/new/form_report.html:30 templates/web/base/report/update/form_update.html:7 templates/web/zurich/report/new/fill_in_details_form.html:20
msgid "Photos"
msgstr ""
@@ -1956,11 +2032,15 @@ msgstr ""
msgid "Photos of recent nearby reports"
msgstr ""
+#: templates/web/base/reports/index.html:63 templates/web/base/reports/index.html:66
+msgid "Pick your council"
+msgstr ""
+
#: templates/web/base/around/display_location.html:76 templates/web/base/js/translation_strings.html:30
msgid "Place pin on map"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:940 perllib/FixMyStreet/Cobrand/Zurich.pm:946 templates/web/base/admin/report_blocks.html:1 templates/web/base/admin/report_blocks.html:8 templates/web/base/dashboard/index.html:139 templates/web/base/dashboard/index.html:140 templates/web/zurich/admin/header.html:1 templates/web/zurich/admin/header.html:9 templates/web/zurich/admin/index-dm.html:9
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:945 perllib/FixMyStreet/Cobrand/Zurich.pm:951 templates/web/zurich/admin/header.html:1 templates/web/zurich/admin/header.html:9 templates/web/zurich/admin/index-dm.html:9
msgid "Planned"
msgstr ""
@@ -1972,23 +2052,19 @@ msgstr ""
msgid "Please check the passwords and try again"
msgstr ""
-#: templates/web/base/auth/change_email.html:15 templates/web/base/auth/change_email.html:18 templates/web/base/auth/general.html:37 templates/web/base/auth/general.html:43 templates/web/zurich/auth/general.html:3 templates/web/zurich/auth/general.html:9
+#: templates/web/base/auth/change_email.html:15 templates/web/base/auth/change_email.html:18 templates/web/base/auth/general.html:39 templates/web/base/auth/general.html:45 templates/web/zurich/auth/general.html:3 templates/web/zurich/auth/general.html:9
msgid "Please check your email address is correct"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:350 perllib/FixMyStreet/App/Controller/Report/New.pm:844 perllib/FixMyStreet/App/Controller/Report/New.pm:867 perllib/FixMyStreet/DB/Result/Problem.pm:456 templates/web/base/js/translation_strings.html:9
+#: perllib/FixMyStreet/App/Controller/Admin.pm:329 perllib/FixMyStreet/App/Controller/Report/New.pm:873 perllib/FixMyStreet/App/Controller/Report/New.pm:896 perllib/FixMyStreet/DB/Result/Problem.pm:383 templates/web/base/js/translation_strings.html:9
msgid "Please choose a category"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:462
-msgid "Please choose a property type"
-msgstr ""
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:396 templates/web/base/admin/bodies.html:4 templates/web/base/admin/body.html:11
+#: perllib/FixMyStreet/App/Controller/Admin.pm:377 templates/web/base/admin/bodies.html:4 templates/web/base/admin/body.html:11
msgid "Please correct the errors below"
msgstr ""
-#: templates/web/base/contact/blurb.html:12
+#: templates/web/base/contact/blurb.html:6
msgid ""
"Please do <strong>not</strong> report problems through this form; messages go to\n"
"the team behind this site, not a council. To report a problem,\n"
@@ -1999,15 +2075,15 @@ msgstr ""
msgid "Please do not be abusive&nbsp;&mdash; abusing your council devalues the service for all users."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:351 perllib/FixMyStreet/DB/Result/Comment.pm:127 templates/web/base/js/translation_strings.html:2
+#: perllib/FixMyStreet/App/Controller/Admin.pm:330 perllib/FixMyStreet/DB/Result/Comment.pm:128 templates/web/base/js/translation_strings.html:2
msgid "Please enter a message"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1200 perllib/FixMyStreet/App/Controller/Admin.pm:1364
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1305 perllib/FixMyStreet/App/Controller/Admin.pm:1469
msgid "Please enter a name"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:478
+#: perllib/FixMyStreet/App/Controller/Admin.pm:497
msgid "Please enter a name for this body"
msgstr ""
@@ -2015,23 +2091,23 @@ msgstr ""
msgid "Please enter a password"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:114 perllib/FixMyStreet/DB/Result/Problem.pm:439 templates/web/base/js/translation_strings.html:3
+#: perllib/FixMyStreet/App/Controller/Contact.pm:115 perllib/FixMyStreet/DB/Result/Problem.pm:366 templates/web/base/js/translation_strings.html:3
msgid "Please enter a subject"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1197 perllib/FixMyStreet/App/Controller/Admin.pm:1361 perllib/FixMyStreet/App/Controller/Admin.pm:363 perllib/FixMyStreet/DB/Result/User.pm:164 templates/web/base/js/translation_strings.html:12 templates/web/base/js/translation_strings.html:16
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1302 perllib/FixMyStreet/App/Controller/Admin.pm:1466 perllib/FixMyStreet/App/Controller/Admin.pm:343 perllib/FixMyStreet/DB/Result/User.pm:164 templates/web/base/js/translation_strings.html:12 templates/web/base/js/translation_strings.html:16
msgid "Please enter a valid email"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Alert.pm:350 perllib/FixMyStreet/App/Controller/Contact.pm:124
+#: perllib/FixMyStreet/App/Controller/Alert.pm:350 perllib/FixMyStreet/App/Controller/Contact.pm:125
msgid "Please enter a valid email address"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:442 templates/web/base/js/translation_strings.html:4
+#: perllib/FixMyStreet/DB/Result/Problem.pm:369 templates/web/base/js/translation_strings.html:4
msgid "Please enter some details"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:113 perllib/FixMyStreet/DB/Result/User.pm:161 templates/web/base/auth/change_email.html:15 templates/web/base/auth/change_email.html:17 templates/web/base/auth/general.html:37 templates/web/base/auth/general.html:42 templates/web/base/js/translation_strings.html:11 templates/web/base/js/translation_strings.html:15 templates/web/zurich/auth/general.html:3 templates/web/zurich/auth/general.html:8
+#: perllib/FixMyStreet/App/Controller/Contact.pm:114 perllib/FixMyStreet/DB/Result/User.pm:161 templates/web/base/auth/change_email.html:15 templates/web/base/auth/change_email.html:17 templates/web/base/auth/general.html:39 templates/web/base/auth/general.html:44 templates/web/base/js/translation_strings.html:11 templates/web/base/js/translation_strings.html:15 templates/web/zurich/auth/general.html:3 templates/web/zurich/auth/general.html:8
msgid "Please enter your email"
msgstr ""
@@ -2043,11 +2119,11 @@ msgstr ""
msgid "Please enter your first name"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:320 templates/web/base/js/translation_strings.html:7
+#: perllib/FixMyStreet/Cobrand/UK.pm:326 templates/web/base/js/translation_strings.html:7
msgid "Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:112 perllib/FixMyStreet/DB/Result/Comment.pm:124 perllib/FixMyStreet/DB/Result/Problem.pm:450 perllib/FixMyStreet/DB/Result/User.pm:157 templates/web/base/js/translation_strings.html:6
+#: perllib/FixMyStreet/App/Controller/Contact.pm:113 perllib/FixMyStreet/DB/Result/Comment.pm:125 perllib/FixMyStreet/DB/Result/Problem.pm:377 perllib/FixMyStreet/DB/Result/User.pm:157 templates/web/base/js/translation_strings.html:6
msgid "Please enter your name"
msgstr ""
@@ -2103,7 +2179,7 @@ msgstr ""
msgid "Please note:"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report.pm:358
+#: perllib/FixMyStreet/App/Controller/Report.pm:353
msgid "Please provide a public update for this report."
msgstr ""
@@ -2135,11 +2211,11 @@ msgstr ""
msgid "Please state whether or not the problem has been fixed"
msgstr ""
-#: perllib/FixMyStreet/App/Model/PhotoSet.pm:122 perllib/FixMyStreet/App/Model/PhotoSet.pm:156 perllib/FixMyStreet/App/Model/PhotoSet.pm:158 templates/web/base/js/translation_strings.html:57
+#: perllib/FixMyStreet/App/Model/PhotoSet.pm:122 perllib/FixMyStreet/App/Model/PhotoSet.pm:156 perllib/FixMyStreet/App/Model/PhotoSet.pm:158 templates/web/base/js/translation_strings.html:60
msgid "Please upload an image only"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/App/Controller/Contact.pm:116
msgid "Please write a message"
msgstr ""
@@ -2147,27 +2223,27 @@ msgstr ""
msgid "Please write your update here"
msgstr ""
-#: templates/web/base/contact/index.html:103 templates/web/base/report/update-form.html:25 templates/web/base/report/update/form_user_loggedout_by_email.html:14 templates/web/base/report/update/form_user_loggedout_password.html:10
+#: templates/web/base/report/update-form.html:25 templates/web/base/report/update/form_user_loggedout_by_email.html:14 templates/web/base/report/update/form_user_loggedout_password.html:10
msgid "Post"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:242
+#: perllib/FixMyStreet/DB/Result/Comment.pm:231
msgid "Posted anonymously at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:257
+#: perllib/FixMyStreet/DB/Result/Comment.pm:255
msgid "Posted by %s at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:252
+#: perllib/FixMyStreet/DB/Result/Comment.pm:243
msgid "Posted by <strong>%s</strong> (%s) at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:254
+#: perllib/FixMyStreet/DB/Result/Comment.pm:245
msgid "Posted by <strong>%s</strong> at %s"
msgstr ""
-#: templates/web/base/front/footer-marketing.html:12
+#: templates/web/base/front/footer-marketing.html:6
msgid "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
msgstr ""
@@ -2179,7 +2255,7 @@ msgstr ""
msgid "Priorities"
msgstr ""
-#: templates/web/base/report/_inspect.html:113 templates/web/base/report/_item.html:98
+#: templates/web/base/report/_inspect.html:123 templates/web/base/report/_item.html:100
msgid "Priority"
msgstr ""
@@ -2191,7 +2267,7 @@ msgstr ""
msgid "Privacy and cookies"
msgstr ""
-#: templates/web/base/admin/body.html:91 templates/web/base/admin/contact-form.html:74 templates/web/base/admin/report_edit.html:149
+#: templates/web/base/admin/body.html:88 templates/web/base/admin/contact-form.html:75 templates/web/base/admin/report_edit.html:137
msgid "Private"
msgstr ""
@@ -2219,7 +2295,7 @@ msgstr ""
msgid "Problem breakdown by state"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1167
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1272
msgid "Problem marked as open."
msgstr ""
@@ -2227,10 +2303,14 @@ msgstr ""
msgid "Problem state change based on survey results"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:705 templates/web/base/admin/flagged.html:10
+#: perllib/FixMyStreet/Cobrand/Default.pm:709 templates/web/base/admin/flagged.html:10
msgid "Problems"
msgstr ""
+#: templates/web/base/alert/_list.html:22
+msgid "Problems in an area"
+msgstr ""
+
#: templates/web/base/report/display_tools.html:22
msgid "Problems nearby"
msgstr ""
@@ -2243,27 +2323,27 @@ msgstr ""
msgid "Problems recently reported fixed on FixMyStreet"
msgstr ""
-#: templates/web/base/alert/_list.html:22
-msgid "Problems within %.1fkm of this location"
+#: templates/web/base/alert/_list.html:29
+msgid "Problems within %.1fkm of %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:833 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:137 perllib/FixMyStreet/Cobrand/UK.pm:209
+#: perllib/FixMyStreet/Cobrand/Default.pm:838 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:137 perllib/FixMyStreet/Cobrand/UK.pm:215 perllib/FixMyStreet/Cobrand/UK.pm:257 perllib/FixMyStreet/Cobrand/UK.pm:269
msgid "Problems within %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:223
+#: perllib/FixMyStreet/Cobrand/UK.pm:229
msgid "Problems within %s ward"
msgstr ""
+#: perllib/FixMyStreet/Cobrand/UK.pm:263 perllib/FixMyStreet/Cobrand/UK.pm:275
+msgid "Problems within %s ward, %s"
+msgstr ""
+
#. ("First %s is the body name, second %s the site name")
#: templates/web/base/reports/body.html:0 templates/web/base/reports/body.html:25
msgid "Problems within %s, %s"
msgstr ""
-#: templates/web/base/alert/_list.html:43
-msgid "Problems within the boundary of:"
-msgstr ""
-
#: templates/web/base/admin/report_edit.html:74
msgid "Property address:"
msgstr ""
@@ -2272,11 +2352,11 @@ msgstr ""
msgid "Provide an update"
msgstr ""
-#: templates/web/base/report/update/form_name.html:9
+#: templates/web/base/report/update/form_name.html:10
msgid "Provide update as"
msgstr ""
-#: templates/web/base/auth/general.html:112
+#: templates/web/base/auth/general.html:114
msgid "Providing a name and password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
msgstr ""
@@ -2292,7 +2372,7 @@ msgstr ""
msgid "Public response:"
msgstr ""
-#: templates/web/base/report/_inspect.html:152
+#: templates/web/base/report/_inspect.html:162
msgid "Public update:"
msgstr ""
@@ -2316,35 +2396,35 @@ msgstr ""
msgid "Questionnaire filled in by problem reporter"
msgstr ""
-#: templates/web/base/alert/_list.html:23 templates/web/base/alert/updates.html:9 templates/web/base/around/display_location.html:1 templates/web/base/around/display_location.html:3 templates/web/base/report/display_tools.html:42
+#: templates/web/base/alert/_list.html:26 templates/web/base/alert/updates.html:9 templates/web/base/around/display_location.html:1 templates/web/base/around/display_location.html:3 templates/web/base/report/display_tools.html:42
msgid "RSS feed"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:252 perllib/FixMyStreet/Cobrand/UK.pm:264
+#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
msgid "RSS feed for %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
+#: perllib/FixMyStreet/Cobrand/UK.pm:264 perllib/FixMyStreet/Cobrand/UK.pm:276
msgid "RSS feed for %s ward, %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:153 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:179 perllib/FixMyStreet/Cobrand/UK.pm:278 perllib/FixMyStreet/Cobrand/UK.pm:290
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:153 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:179 perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
msgid "RSS feed of %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
msgid "RSS feed of %s, within %s ward"
msgstr ""
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
msgid "RSS feed of nearby problems"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:834 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:136 perllib/FixMyStreet/Cobrand/UK.pm:216
+#: perllib/FixMyStreet/Cobrand/Default.pm:839 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:136 perllib/FixMyStreet/Cobrand/UK.pm:222
msgid "RSS feed of problems within %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:222
+#: perllib/FixMyStreet/Cobrand/UK.pm:228
msgid "RSS feed of problems within %s ward"
msgstr ""
@@ -2360,7 +2440,7 @@ msgstr ""
msgid "Receive email when updates are left on this problem."
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:801
+#: perllib/FixMyStreet/DB/Result/Problem.pm:738
msgid "Received by %s moments later"
msgstr ""
@@ -2369,15 +2449,11 @@ msgstr ""
msgid "Recent local problems, %s"
msgstr ""
-#: templates/web/base/reports/index.html:27
-msgid "Recently <br>fixed"
-msgstr ""
-
#: templates/web/base/front/recent.html:11
msgid "Recently reported problems"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:60
msgid "Recently updated"
msgstr ""
@@ -2385,11 +2461,19 @@ msgstr ""
msgid "Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. If your problem is not appropriate for submission via this site remember that you can contact your council directly using their own website."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/extra-metadata-form.html:68
+msgid "Remove"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:4
+msgid "Remove field"
+msgstr ""
+
+#: templates/web/base/admin/report_blocks.html:23
msgid "Remove flag"
msgstr ""
-#: templates/web/base/report/_item.html:12 templates/web/base/report/_item.html:9 templates/web/base/report/_main.html:134 templates/web/base/report/_main.html:18 templates/web/base/report/_main.html:26
+#: templates/web/base/report/_item.html:12 templates/web/base/report/_item.html:9 templates/web/base/report/_main.html:138 templates/web/base/report/_main.html:18 templates/web/base/report/_main.html:26
msgid "Remove from shortlist"
msgstr ""
@@ -2397,7 +2481,7 @@ msgstr ""
msgid "Remove from site"
msgstr ""
-#: templates/web/base/admin/report_edit.html:166 templates/web/base/admin/update_edit.html:69 templates/web/zurich/admin/update_edit.html:35
+#: templates/web/base/admin/report_edit.html:154 templates/web/base/admin/update_edit.html:69 templates/web/zurich/admin/update_edit.html:35
msgid "Remove photo (can't be undone!)"
msgstr ""
@@ -2409,11 +2493,11 @@ msgstr ""
msgid "Report"
msgstr ""
-#: templates/web/base/report/_inspect.html:10 templates/web/base/report/_item.html:76
+#: templates/web/base/report/_inspect.html:14 templates/web/base/report/_item.html:78
msgid "Report ID:"
msgstr ""
-#: templates/web/base/header_logo.html:2 templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:19 templates/web/zurich/nav_over_content.html:4
+#: templates/web/base/header_logo.html:2 templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:18 templates/web/zurich/nav_over_content.html:4
msgid "Report a problem"
msgstr ""
@@ -2421,7 +2505,7 @@ msgstr ""
msgid "Report abuse"
msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:16
+#: templates/web/base/report/new/form_user_loggedin.html:17
msgid "Report as"
msgstr ""
@@ -2441,7 +2525,7 @@ msgstr ""
msgid "Report, view, or discuss local problems"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:653 templates/web/base/contact/index.html:55
+#: perllib/FixMyStreet/DB/Result/Problem.pm:590 templates/web/base/contact/index.html:55
msgid "Reported anonymously at %s"
msgstr ""
@@ -2449,7 +2533,7 @@ msgstr ""
msgid "Reported before"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:677 templates/web/base/contact/index.html:57
+#: perllib/FixMyStreet/DB/Result/Problem.pm:614 templates/web/base/contact/index.html:57
msgid "Reported by %s at %s"
msgstr ""
@@ -2461,34 +2545,30 @@ msgstr ""
msgid "Reported in the %s category"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:650
+#: perllib/FixMyStreet/DB/Result/Problem.pm:587
msgid "Reported in the %s category anonymously at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:611
msgid "Reported in the %s category by %s at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:647
+#: perllib/FixMyStreet/DB/Result/Problem.pm:584
msgid "Reported via %s anonymously at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:671
+#: perllib/FixMyStreet/DB/Result/Problem.pm:608
msgid "Reported via %s by %s at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:644
+#: perllib/FixMyStreet/DB/Result/Problem.pm:581
msgid "Reported via %s in the %s category anonymously at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:666
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
msgid "Reported via %s in the %s category by %s at %s"
msgstr ""
-#: templates/web/base/reports/index.html:24
-msgid "Reported within the last four weeks"
-msgstr ""
-
#: templates/web/zurich/admin/report_edit-sdm.html:38 templates/web/zurich/admin/report_edit.html:57
msgid "Reported:"
msgstr ""
@@ -2497,11 +2577,11 @@ msgstr ""
msgid "Reporting a problem"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:655 perllib/FixMyStreet/Cobrand/Zurich.pm:383 templates/web/base/dashboard/index.html:134 templates/web/zurich/header.html:52
+#: perllib/FixMyStreet/Cobrand/Default.pm:655 perllib/FixMyStreet/Cobrand/Zurich.pm:388 templates/web/base/dashboard/index.html:134 templates/web/zurich/header.html:52
msgid "Reports"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:329 perllib/FixMyStreet/Cobrand/UK.pm:333
+#: perllib/FixMyStreet/Cobrand/UK.pm:333 perllib/FixMyStreet/Cobrand/UK.pm:335
msgid "Reports are limited to %s characters in length. Please shorten your report"
msgstr ""
@@ -2509,30 +2589,50 @@ msgstr ""
msgid "Reports awaiting approval"
msgstr ""
+#: templates/web/base/alert/_list.html:54
+msgid "Reports by destination"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:107
msgid "Reports made by trusted users will be sent to the responsible body without being inspected first."
msgstr ""
+#: templates/web/base/alert/_list.html:15
+msgid "Reports near %s are sent to different councils, depending on the type of problem."
+msgstr ""
+
#: templates/web/zurich/admin/index-sdm.html:10
msgid "Reports published"
msgstr ""
-#: templates/web/base/js/translation_strings.html:68
+#: templates/web/base/js/translation_strings.html:71
msgid "Reports saved offline."
msgstr ""
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+msgid "Reports sent to %s"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:290 perllib/FixMyStreet/Cobrand/UK.pm:302
+msgid "Reports sent to %s, within %s ward"
+msgstr ""
+
#: templates/web/base/admin/index.html:56
msgid "Reports waiting to be sent"
msgstr ""
-#: templates/web/base/admin/contact-form.html:89
+#: templates/web/base/admin/contact-form.html:90
msgid "Reports will automatically be sent without needing to be inspected if the user's <strong>reputation</strong> is at or above this value. Set to <strong>0</strong> if all reports must be inspected regardless."
msgstr ""
-#: templates/web/base/admin/contact-form.html:94
+#: templates/web/base/admin/contact-form.html:95
msgid "Reputation threshold"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:20
+msgid "Required"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:84
msgid "Resend report"
msgstr ""
@@ -2565,7 +2665,7 @@ msgstr ""
msgid "Revert to original"
msgstr ""
-#: templates/web/base/report/_main.html:95
+#: templates/web/base/report/_main.html:99
msgid "Revert to original text"
msgstr ""
@@ -2585,11 +2685,11 @@ msgstr ""
msgid "Road operator for this named road (from OpenStreetMap): %s"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743 perllib/FixMyStreet/App/Controller/Admin.pm:1747 templates/web/base/admin/report_edit.html:163 templates/web/base/admin/update_edit.html:66 templates/web/zurich/admin/report_edit.html:118
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848 perllib/FixMyStreet/App/Controller/Admin.pm:1852 templates/web/base/admin/report_edit.html:151 templates/web/base/admin/update_edit.html:66 templates/web/zurich/admin/report_edit.html:118
msgid "Rotate Left"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743 templates/web/base/admin/report_edit.html:164 templates/web/base/admin/update_edit.html:67 templates/web/zurich/admin/report_edit.html:119
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848 templates/web/base/admin/report_edit.html:152 templates/web/base/admin/update_edit.html:67 templates/web/zurich/admin/report_edit.html:119
msgid "Rotate Right"
msgstr ""
@@ -2601,24 +2701,31 @@ msgstr ""
msgid "Satellite"
msgstr ""
-#: templates/web/base/report/_inspect.html:168
+#: templates/web/base/report/_inspect.html:182
msgid "Save + close as duplicate"
msgstr ""
-#: templates/web/base/admin/contact-form.html:137 templates/web/base/admin/responsepriorities/edit.html:46 templates/web/base/admin/template_edit.html:46 templates/web/base/report/_inspect.html:168 templates/web/base/report/_main.html:113 templates/web/base/report/update.html:60 templates/web/zurich/admin/body.html:62 templates/web/zurich/admin/contact-form.html:20 templates/web/zurich/admin/template_edit.html:29
+#: templates/web/base/admin/contact-form.html:138 templates/web/base/admin/reportextrafields/edit.html:64 templates/web/base/admin/responsepriorities/edit.html:58 templates/web/base/admin/template_edit.html:46 templates/web/base/report/_inspect.html:182 templates/web/base/report/_main.html:117 templates/web/base/report/update.html:69 templates/web/zurich/admin/body.html:62 templates/web/zurich/admin/contact-form.html:22 templates/web/zurich/admin/template_edit.html:29
msgid "Save changes"
msgstr ""
-#: templates/web/base/report/_inspect.html:148
+#: templates/web/base/admin/reportextrafields/edit.html:64
+msgid "Save new fields"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:158
msgid "Save with a public update"
msgstr ""
-#. ('This is followed by a progress count, e.g. 3/5')
#. ("This is followed by a progress count, e.g. 3/5")
-#: templates/web/base/js/translation_strings.html:69
+#: templates/web/base/js/translation_strings.html:72
msgid "Saving reports offline"
msgstr ""
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:132
+msgid "Scheduled"
+msgstr ""
+
#: templates/web/base/admin/index.html:26 templates/web/base/admin/reports.html:1 templates/web/zurich/admin/reports.html:1
msgid "Search Reports"
msgstr ""
@@ -2647,39 +2754,39 @@ msgstr ""
msgid "See our privacy policy"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:715
+#: perllib/FixMyStreet/Cobrand/Default.pm:720
msgid "See user detail for reports created as the council"
msgstr ""
-#: templates/web/base/admin/body-form.html:39 templates/web/zurich/admin/body-form.html:16
+#: templates/web/base/admin/body-form.html:41 templates/web/zurich/admin/body-form.html:16
msgid "Select a body"
msgstr ""
-#: templates/web/base/reports/index.html:12
-msgid "Select a particular council to see the reports sent there."
-msgstr ""
-
-#: templates/web/base/admin/body-form.html:77 templates/web/zurich/admin/body-form.html:26
+#: templates/web/base/admin/body-form.html:79 templates/web/zurich/admin/body-form.html:26
msgid "Select an area"
msgstr ""
-#: templates/web/base/alert/_list.html:11
-msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
+#: templates/web/base/admin/responsepriorities/edit.html:33
+msgid "Select if this is the default priority"
msgstr ""
#: templates/web/base/admin/category-checkboxes.html:6
msgid "Select:"
msgstr ""
+#: templates/web/base/contact/index.html:107
+msgid "Send"
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:109
msgid "Send extended Open311 statuses with service request updates"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:826
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:831
msgid "Sent report back"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:804
+#: perllib/FixMyStreet/DB/Result/Problem.pm:741
msgid "Sent to %s %s later"
msgstr ""
@@ -2691,7 +2798,7 @@ msgstr ""
msgid "Service:"
msgstr ""
-#: templates/web/base/report/_inspect.html:31
+#: templates/web/base/report/_inspect.html:41
msgid "Set to my current location"
msgstr ""
@@ -2699,15 +2806,19 @@ msgstr ""
msgid "Share"
msgstr ""
-#: templates/web/base/main_nav_items.html:10 templates/web/base/report/_main.html:136 templates/web/base/report/_main.html:21 templates/web/base/report/_main.html:29
+#: templates/web/base/main_nav_items.html:10 templates/web/base/report/_main.html:140 templates/web/base/report/_main.html:21 templates/web/base/report/_main.html:29
msgid "Shortlist"
msgstr ""
-#: templates/web/base/report/_main.html:134 templates/web/base/report/_main.html:20 templates/web/base/report/_main.html:25 templates/web/base/reports/_list-filters.html:9
+#: templates/web/base/reports/body.html:32
+msgid "Shortlist all visible"
+msgstr ""
+
+#: templates/web/base/report/_main.html:138 templates/web/base/report/_main.html:20 templates/web/base/report/_main.html:25 templates/web/base/reports/_list-filters.html:9
msgid "Shortlisted"
msgstr ""
-#: templates/web/base/report/_main.html:144
+#: templates/web/base/report/_item.html:15 templates/web/base/report/_main.html:148
msgid "Shortlisted by %s"
msgstr ""
@@ -2715,7 +2826,11 @@ msgstr ""
msgid "Show Photo?"
msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:54 templates/web/base/report/new/form_user_loggedout_by_email.html:22 templates/web/base/report/update/form_name.html:33
+#: templates/web/base/questionnaire/index.html:26
+msgid "Show all updates"
+msgstr ""
+
+#: templates/web/base/report/new/form_user_loggedin.html:56 templates/web/base/report/new/form_user_loggedout_by_email.html:22 templates/web/base/report/update/form_name.html:37
msgid "Show my name publicly"
msgstr ""
@@ -2727,11 +2842,11 @@ msgstr ""
msgid "Show old"
msgstr ""
-#: templates/web/base/report/_main.html:79
+#: templates/web/base/report/_main.html:83
msgid "Show photo"
msgstr ""
-#: templates/web/base/around/display_location.html:60
+#: templates/web/base/around/display_location.html:60 templates/web/base/js/translation_strings.html:54
msgid "Show pins"
msgstr ""
@@ -2739,11 +2854,15 @@ msgstr ""
msgid "Show reporter&rsquo;s name"
msgstr ""
-#: templates/web/base/auth/general.html:117 templates/web/base/auth/general.html:3 templates/web/base/auth/general.html:86 templates/web/base/main_nav_items.html:6 templates/web/zurich/auth/general.html:18 templates/web/zurich/auth/general.html:35
+#: templates/web/base/reports/index.html:62
+msgid "Show reports in your area"
+msgstr ""
+
+#: templates/web/base/auth/general.html:119 templates/web/base/auth/general.html:3 templates/web/base/auth/general.html:88 templates/web/base/main_nav_items.html:6 templates/web/zurich/auth/general.html:18 templates/web/zurich/auth/general.html:35
msgid "Sign in"
msgstr ""
-#: templates/web/base/auth/general.html:96
+#: templates/web/base/auth/general.html:98
msgid "Sign in by email instead, providing a new password. When you click the link in your email, your password will be updated."
msgstr ""
@@ -2786,11 +2905,11 @@ msgstr ""
msgid "Sorry, there has been an error confirming your problem."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:230 perllib/FixMyStreet/Geocode.pm:37 perllib/FixMyStreet/Geocode/Bing.pm:38 perllib/FixMyStreet/Geocode/FixaMinGata.pm:56 perllib/FixMyStreet/Geocode/OSM.pm:48
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:235 perllib/FixMyStreet/Geocode.pm:37 perllib/FixMyStreet/Geocode/Bing.pm:38 perllib/FixMyStreet/Geocode/FixaMinGata.pm:56 perllib/FixMyStreet/Geocode/OSM.pm:48
msgid "Sorry, we could not find that location."
msgstr ""
-#: templates/web/base/auth/general.html:9 templates/web/base/report/display.html:29 templates/web/base/report/new/fill_in_details_form.html:15
+#: templates/web/base/auth/general.html:11 templates/web/base/report/display.html:29 templates/web/base/report/new/fill_in_details_form.html:15
msgid "Sorry, we could not log you in. Please fill in the form below."
msgstr ""
@@ -2808,11 +2927,11 @@ msgid ""
"page wasn’t found or there was a server error. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Root.pm:107
+#: perllib/FixMyStreet/App/Controller/Root.pm:124
msgid "Sorry, you don't have permission to do that."
msgstr ""
-#: templates/web/base/reports/_list-filters.html:42
+#: templates/web/base/reports/_list-filters.html:53
msgid "Sort by"
msgstr ""
@@ -2828,15 +2947,23 @@ msgstr ""
msgid "Start Date:"
msgstr ""
-#: templates/web/base/admin/body.html:73 templates/web/base/admin/flagged.html:18 templates/web/base/admin/index.html:64 templates/web/base/admin/list_updates.html:11 templates/web/base/admin/reports.html:16 templates/web/base/admin/template_edit.html:40 templates/web/base/report/_inspect.html:83 templates/web/base/report/_item.html:94 templates/web/base/report/update/form_update.html:39
+#: templates/web/base/admin/body.html:73 templates/web/base/admin/category_edit.html:29 templates/web/base/admin/contact-form.html:53 templates/web/base/admin/flagged.html:18 templates/web/base/admin/index.html:64 templates/web/base/admin/list_updates.html:11 templates/web/base/admin/reports.html:16 templates/web/base/admin/template_edit.html:40 templates/web/base/report/_inspect.html:82 templates/web/base/report/_item.html:96 templates/web/base/report/update/form_update.html:39 templates/web/zurich/admin/contact-form.html:10
msgid "State"
msgstr ""
+#: templates/web/base/report/update.html:48
+msgid "State changed to:"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:116 templates/web/base/admin/update_edit.html:28 templates/web/zurich/admin/report_edit-sdm.html:75 templates/web/zurich/admin/report_edit.html:103 templates/web/zurich/admin/report_edit.html:151 templates/web/zurich/admin/update_edit.html:17
msgid "State:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:640 perllib/FixMyStreet/Cobrand/Zurich.pm:386 templates/web/base/admin/index.html:71 templates/web/base/admin/stats.html:1 templates/web/base/admin/stats_by_state.html:1 templates/web/zurich/admin/stats.html:1 templates/web/zurich/header.html:65
+#: perllib/FixMyStreet/Cobrand/Default.pm:645 templates/web/base/admin/states/index.html:1
+msgid "States"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:639 perllib/FixMyStreet/Cobrand/Zurich.pm:391 templates/web/base/admin/index.html:71 templates/web/base/admin/stats.html:1 templates/web/base/admin/stats_by_state.html:1 templates/web/zurich/admin/stats.html:1 templates/web/zurich/header.html:65
msgid "Stats"
msgstr ""
@@ -2852,6 +2979,10 @@ msgstr ""
msgid "Street View"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:46
+msgid "String"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:192
msgid "Subcategory: %s"
msgstr ""
@@ -2860,7 +2991,7 @@ msgstr ""
msgid "Subdivision/Body"
msgstr ""
-#: templates/web/base/contact/index.html:88
+#: templates/web/base/contact/index.html:92
msgid "Subject"
msgstr ""
@@ -2868,11 +2999,11 @@ msgstr ""
msgid "Subject:"
msgstr ""
-#: templates/web/base/questionnaire/creator_fixed.html:19 templates/web/base/report/new/form_user_loggedin.html:61 templates/web/base/report/new/form_user_loggedout_by_email.html:36 templates/web/base/report/new/form_user_loggedout_password.html:11 templates/web/zurich/report/new/fill_in_details_form.html:73
+#: templates/web/base/questionnaire/creator_fixed.html:19 templates/web/base/report/new/form_user_loggedin.html:63 templates/web/base/report/new/form_user_loggedout_by_email.html:36 templates/web/base/report/new/form_user_loggedout_password.html:11 templates/web/zurich/report/new/fill_in_details_form.html:73
msgid "Submit"
msgstr ""
-#: templates/web/base/admin/report_edit.html:174 templates/web/base/admin/report_edit.html:24 templates/web/base/admin/update_edit.html:77 templates/web/base/admin/user-form.html:170 templates/web/zurich/admin/report_edit-sdm.html:124 templates/web/zurich/admin/report_edit.html:264 templates/web/zurich/admin/update_edit.html:38
+#: templates/web/base/admin/report_edit.html:162 templates/web/base/admin/report_edit.html:24 templates/web/base/admin/update_edit.html:77 templates/web/base/admin/user-form.html:170 templates/web/zurich/admin/report_edit-sdm.html:124 templates/web/zurich/admin/report_edit.html:264 templates/web/zurich/admin/update_edit.html:38
msgid "Submit changes"
msgstr ""
@@ -2880,31 +3011,31 @@ msgstr ""
msgid "Submit questionnaire"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:164 perllib/FixMyStreet/Cobrand/Zurich.pm:893 templates/web/zurich/admin/header.html:1 templates/web/zurich/admin/header.html:6 templates/web/zurich/admin/index-dm.html:23 templates/web/zurich/admin/index-dm.html:6 templates/web/zurich/admin/index-sdm.html:21 templates/web/zurich/admin/reports.html:13
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:169 perllib/FixMyStreet/Cobrand/Zurich.pm:898 templates/web/zurich/admin/header.html:1 templates/web/zurich/admin/header.html:6 templates/web/zurich/admin/index-dm.html:23 templates/web/zurich/admin/index-dm.html:6 templates/web/zurich/admin/index-sdm.html:21 templates/web/zurich/admin/reports.html:13
msgid "Submitted"
msgstr ""
-#: templates/web/base/alert/updates.html:23 templates/web/base/report/display_tools.html:51
+#: templates/web/base/alert/_list.html:77 templates/web/base/alert/_list.html:80 templates/web/base/alert/updates.html:23 templates/web/base/report/display_tools.html:51
msgid "Subscribe"
msgstr ""
-#: templates/web/base/alert/_list.html:93
-msgid "Subscribe me to an email alert"
+#: templates/web/base/alert/_list.html:72
+msgid "Subscribe by email"
msgstr ""
#: templates/web/base/report/new/form_report.html:19
msgid "Summarise the problem"
msgstr ""
-#: templates/web/base/admin/contact-form.html:129
+#: templates/web/base/admin/contact-form.html:130
msgid "Summarise your changes"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:638 perllib/FixMyStreet/Cobrand/Zurich.pm:382 templates/web/base/admin/bodies.html:29 templates/web/base/admin/index.html:1 templates/web/base/status/index.html:1 templates/web/base/status/index.html:3 templates/web/zurich/admin/index-dm.html:1 templates/web/zurich/admin/index-sdm.html:1 templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:13 templates/web/zurich/header.html:49
+#: perllib/FixMyStreet/Cobrand/Default.pm:637 perllib/FixMyStreet/Cobrand/Zurich.pm:387 templates/web/base/admin/bodies.html:29 templates/web/base/admin/index.html:1 templates/web/base/status/index.html:1 templates/web/base/status/index.html:3 templates/web/zurich/admin/index-dm.html:1 templates/web/zurich/admin/index-sdm.html:1 templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:12 templates/web/zurich/header.html:49
msgid "Summary"
msgstr ""
-#: templates/web/base/reports/index.html:4 templates/web/zurich/reports/index.html:0 templates/web/zurich/reports/index.html:4
+#: templates/web/zurich/reports/index.html:0 templates/web/zurich/reports/index.html:4
msgid "Summary reports"
msgstr ""
@@ -2924,7 +3055,7 @@ msgstr ""
msgid "Template &laquo;%s&raquo;"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:661 perllib/FixMyStreet/Cobrand/Zurich.pm:393 templates/web/zurich/header.html:69
+#: perllib/FixMyStreet/Cobrand/Default.pm:661 perllib/FixMyStreet/Cobrand/Zurich.pm:398 templates/web/zurich/header.html:69
msgid "Templates"
msgstr ""
@@ -2948,7 +3079,7 @@ msgstr ""
msgid "Thank you for trying to confirm your update or problem. We seem to have an error ourselves though, so <a href=\"%s\">please let us know what went on</a> and we'll look into it."
msgstr ""
-#: templates/web/base/tokens/confirm_update.html:15
+#: templates/web/base/tokens/confirm_update.html:16
msgid "Thank you for updating this issue!"
msgstr ""
@@ -2976,7 +3107,7 @@ msgstr ""
msgid "That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Location.pm:129
+#: perllib/FixMyStreet/App/Controller/Location.pm:127
msgid "That location does not appear to be in the UK; please try again."
msgstr ""
@@ -2984,23 +3115,23 @@ msgstr ""
msgid "That postcode was not recognised, sorry."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:762
+#: perllib/FixMyStreet/App/Controller/Admin.pm:850
msgid "That problem has been marked as sent."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:755
+#: perllib/FixMyStreet/App/Controller/Admin.pm:843
msgid "That problem will now be resent."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report.pm:137
+#: perllib/FixMyStreet/App/Controller/Report.pm:134
msgid "That report cannot be viewed on %s."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report.pm:131
+#: perllib/FixMyStreet/App/Controller/Report.pm:128
msgid "That report has been removed from FixMyStreet."
msgstr ""
-#: templates/web/base/admin/contact-form.html:25
+#: templates/web/base/admin/contact-form.html:27
msgid ""
"The <strong>email address</strong> is the destination to which reports about this category will be sent. \n"
" Other categories for this body may have the same email address."
@@ -3018,7 +3149,7 @@ msgid ""
" than one. If the body is running its own endpoint, you can usually leave this blank."
msgstr ""
-#: templates/web/base/admin/body-form.html:100 templates/web/base/admin/body-form.html:101 templates/web/base/admin/contact-form.html:103 templates/web/base/admin/contact-form.html:104
+#: templates/web/base/admin/body-form.html:102 templates/web/base/admin/body-form.html:103 templates/web/base/admin/contact-form.html:104 templates/web/base/admin/contact-form.html:105
msgid ""
"The <strong>send method</strong> determines how problem reports will be sent to the body.\n"
" If you leave this blank, <strong>send method defaults to email</strong>."
@@ -3034,6 +3165,10 @@ msgid ""
" and may be displayed publically."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:12
+msgid "The code used to store this field value in the database. e.g. <code>address</code> would be available as <code>problem.extra.address</code> in the templates."
+msgstr ""
+
#: templates/web/base/report/new/fill_in_details_text.html:1 templates/web/base/report/new/fill_in_details_text.html:3
msgid "The council won&rsquo;t be able to help unless you leave as much detail as you can. Please describe the exact location of the problem (e.g. on a wall), what it is, how long it has been there, a description (and a photo of the problem if you have one), etc."
msgstr ""
@@ -3042,10 +3177,14 @@ msgstr ""
msgid "The diligency prize league table shows editors' activity (who's been editing the most records)."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:61 perllib/FixMyStreet/App/Controller/Reports.pm:82
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:63 perllib/FixMyStreet/App/Controller/Reports.pm:103
msgid "The error was: %s"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:30
+msgid "The field name as shown to the user on the report form."
+msgstr ""
+
#: templates/web/base/open311/index.html:78
msgid "The following Open311 v2 attributes are returned for each request: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
msgstr ""
@@ -3082,10 +3221,14 @@ msgstr ""
msgid "The link might have expired, or maybe you didn&rsquo;t quite copy and paste it correctly."
msgstr ""
-#: templates/web/base/admin/body-form.html:64
+#: templates/web/base/admin/body-form.html:66
msgid "The list of available areas is being provided by the MapIt service at %s."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:6
+msgid "The ordering of this field on the report page. Fields are shown in ascending order according to this value."
+msgstr ""
+
#: templates/web/base/auth/change_password.html:22 templates/web/base/auth/change_password.html:26
msgid "The passwords do not match"
msgstr ""
@@ -3094,8 +3237,8 @@ msgstr ""
msgid "The requested URL '%s' was not found on this server"
msgstr ""
-#: templates/web/base/alert/_list.html:17
-msgid "The simplest alert is our geographic one:"
+#: templates/web/base/admin/extra-metadata-form.html:42
+msgid "The type of input field to show to the user. <strong>Text</strong> is a simple text field, <strong>List</strong> is a drop-down selection."
msgstr ""
#: perllib/FixMyStreet/Script/Reports.pm:96
@@ -3112,15 +3255,15 @@ msgstr ""
msgid "There are no reports to show."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Reports.pm:79
+#: perllib/FixMyStreet/App/Controller/Reports.pm:100
msgid "There was a problem showing the All Reports page. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:137 perllib/FixMyStreet/App/Controller/Dashboard.pm:60
+#: perllib/FixMyStreet/App/Controller/Contact.pm:138 perllib/FixMyStreet/App/Controller/Dashboard.pm:62
msgid "There was a problem showing this page. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:758 perllib/FixMyStreet/App/Controller/Report/Update.pm:152 templates/web/base/auth/general.html:53 templates/web/zurich/auth/general.html:28
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:785 perllib/FixMyStreet/App/Controller/Report/Update.pm:152 templates/web/base/auth/general.html:55 templates/web/zurich/auth/general.html:28
msgid "There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the &lsquo;sign in by email&rsquo; section of the form."
msgstr ""
@@ -3132,7 +3275,7 @@ msgstr ""
msgid "There was a problem with your update. Please try again."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:141
+#: perllib/FixMyStreet/App/Controller/Contact.pm:142
msgid "There were problems with your report. Please see below."
msgstr ""
@@ -3180,7 +3323,7 @@ msgstr ""
msgid "This body has no contacts. This means that currently problems reported to this body <strong>will not be sent</strong>."
msgstr ""
-#: templates/web/base/admin/body-form.html:58 templates/web/base/admin/body-form.html:59
+#: templates/web/base/admin/body-form.html:60 templates/web/base/admin/body-form.html:61
msgid ""
"This body will only be sent reports for problems that are located in the <strong>area covered</strong>.\n"
" A body will not receive any reports unless it covers at least one area."
@@ -3194,7 +3337,7 @@ msgstr ""
msgid "This email has been sent to several councils covering the location of the problem, as the category selected is provided for all of them; please ignore it if you're not the correct council to deal with the issue."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:881 perllib/FixMyStreet/App/Controller/Report/New.pm:925 perllib/FixMyStreet/App/Controller/Report/New.pm:971 perllib/FixMyStreet/Cobrand/UK.pm:45
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1017 perllib/FixMyStreet/App/Controller/Report/New.pm:910 perllib/FixMyStreet/App/Controller/Report/New.pm:954 perllib/FixMyStreet/App/Controller/Report/New.pm:971 perllib/FixMyStreet/Cobrand/UK.pm:45
msgid "This information is required"
msgstr ""
@@ -3202,23 +3345,19 @@ msgstr ""
msgid "This is a developer site; things might break at any time, and the database will be periodically deleted."
msgstr ""
-#: templates/web/base/reports/index.html:10
-msgid "This is a summary of all reports on this site."
-msgstr ""
-
-#: templates/web/base/report/new/form_report.html:56
+#: templates/web/base/report/new/form_report.html:58
msgid "This pothole has been here for two months and…"
msgstr ""
-#: templates/web/base/report/update/form_update.html:63
+#: templates/web/base/report/update/form_update.html:55
msgid "This problem has been fixed"
msgstr ""
-#: templates/web/base/report/update/form_update.html:56
+#: templates/web/base/report/update/form_update.html:48
msgid "This problem has not been fixed"
msgstr ""
-#: templates/web/base/report/update/form_update.html:54
+#: templates/web/base/report/update/form_update.html:46
msgid "This problem is still ongoing"
msgstr ""
@@ -3226,19 +3365,19 @@ msgstr ""
msgid "This report is a duplicate. Please leave updates on the original report:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:161 perllib/FixMyStreet/Cobrand/Zurich.pm:162 templates/web/zurich/report/_main.html:14
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:166 perllib/FixMyStreet/Cobrand/Zurich.pm:167 templates/web/zurich/report/_main.html:14
msgid "This report is awaiting moderation."
msgstr ""
-#: perllib/FixMyStreet/Script/Alerts.pm:101
+#: perllib/FixMyStreet/Script/Alerts.pm:98
msgid "This report is currently marked as closed."
msgstr ""
-#: perllib/FixMyStreet/Script/Alerts.pm:99
+#: perllib/FixMyStreet/Script/Alerts.pm:96
msgid "This report is currently marked as fixed."
msgstr ""
-#: perllib/FixMyStreet/Script/Alerts.pm:103
+#: perllib/FixMyStreet/Script/Alerts.pm:100
msgid "This report is currently marked as open."
msgstr ""
@@ -3254,7 +3393,7 @@ msgstr ""
msgid "Time spent (in minutes):"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:639 templates/web/base/admin/timeline.html:1
+#: perllib/FixMyStreet/Cobrand/Default.pm:638 templates/web/base/admin/timeline.html:1
msgid "Timeline"
msgstr ""
@@ -3278,10 +3417,26 @@ msgstr ""
msgid "To find out what local alerts we have for you, please enter your postcode or street name and area"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:19
+msgid "To limit this collection of fields to a single cobrand, select it here."
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:40
+msgid "To limit this collection of fields to a single language, select it here."
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:95
msgid "To view a map of the precise location of this issue"
msgstr ""
+#: templates/web/base/reports/index.html:97
+msgid "Top 5 most used categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:83
+msgid "Top 5 responsive councils"
+msgstr ""
+
#: templates/web/base/admin/questionnaire.html:24 templates/web/base/admin/stats.html:24 templates/web/base/admin/stats.html:43 templates/web/base/admin/stats_fix_rate.html:4 templates/web/zurich/admin/stats.html:30
msgid "Total"
msgstr ""
@@ -3302,15 +3457,23 @@ msgstr ""
msgid "Total reports received"
msgstr ""
-#: templates/web/base/report/_inspect.html:124 templates/web/base/report/_item.html:102
+#: templates/web/base/report/_inspect.html:134 templates/web/base/report/_item.html:104
msgid "Traffic management required?"
msgstr ""
+#: templates/web/base/admin/_translations.html:7
+msgid "Translation"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:2
+msgid "Translations"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:111
msgid "Trusted by bodies:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:721
+#: perllib/FixMyStreet/Cobrand/Default.pm:726
msgid "Trusted to make reports that don't need to be inspected"
msgstr ""
@@ -3326,11 +3489,15 @@ msgstr ""
msgid "Try emailing us directly:"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1 templates/web/base/admin/report_blocks.html:21 templates/web/base/admin/update_edit.html:30 templates/web/zurich/admin/report_edit-sdm.html:66 templates/web/zurich/admin/report_edit.html:94 templates/web/zurich/admin/update_edit.html:18
+#: templates/web/base/admin/extra-metadata-form.html:44 templates/web/base/admin/states/index.html:10 templates/web/base/admin/states/index.html:100
+msgid "Type"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:59 templates/web/base/admin/contact-form.html:55 templates/web/base/admin/update_edit.html:30 templates/web/zurich/admin/report_edit-sdm.html:66 templates/web/zurich/admin/report_edit.html:94 templates/web/zurich/admin/update_edit.html:18
msgid "Unconfirmed"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:12 templates/web/base/reports/_list-filters.html:5
+#: templates/web/base/reports/_list-filters.html:5
msgid "Unfixed reports"
msgstr ""
@@ -3342,11 +3509,11 @@ msgstr ""
msgid "Unknown alert type"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Photo.pm:109 perllib/FixMyStreet/App/Controller/Root.pm:124 templates/web/base/js/translation_strings.html:38
+#: perllib/FixMyStreet/App/Controller/Photo.pm:109 perllib/FixMyStreet/App/Controller/Root.pm:141 templates/web/base/js/translation_strings.html:38
msgid "Unknown error"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report.pm:115 perllib/FixMyStreet/App/Controller/Report.pm:121 perllib/FixMyStreet/App/Controller/Report.pm:124
+#: perllib/FixMyStreet/App/Controller/Report.pm:112 perllib/FixMyStreet/App/Controller/Report.pm:118 perllib/FixMyStreet/App/Controller/Report.pm:121
msgid "Unknown problem ID"
msgstr ""
@@ -3354,11 +3521,11 @@ msgstr ""
msgid "Unshortlisted"
msgstr ""
-#: templates/web/base/report/_item.html:24
+#: templates/web/base/report/_item.html:26
msgid "Up one"
msgstr ""
-#: templates/web/base/report/update/form_update.html:29
+#: templates/web/base/admin/states/index.html:76 templates/web/base/report/update/form_update.html:29
msgid "Update"
msgstr ""
@@ -3374,7 +3541,7 @@ msgstr ""
msgid "Update below added by %s at %s"
msgstr ""
-#: templates/web/base/admin/body-form.html:138 templates/web/zurich/admin/body-form.html:52
+#: templates/web/base/admin/body-form.html:140 templates/web/zurich/admin/body-form.html:52
msgid "Update body"
msgstr ""
@@ -3406,7 +3573,15 @@ msgstr ""
msgid "Updated"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1157 perllib/FixMyStreet/App/Controller/Admin.pm:1221 perllib/FixMyStreet/App/Controller/Admin.pm:1384 perllib/FixMyStreet/App/Controller/Admin.pm:822 perllib/FixMyStreet/Cobrand/Zurich.pm:762 perllib/FixMyStreet/Cobrand/Zurich.pm:787 perllib/FixMyStreet/Cobrand/Zurich.pm:857
+#: perllib/FixMyStreet/DB/Result/Comment.pm:249
+msgid "Updated by <strong>%s</strong> (%s) at %s"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:251
+msgid "Updated by <strong>%s</strong> at %s"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1262 perllib/FixMyStreet/App/Controller/Admin.pm:1326 perllib/FixMyStreet/App/Controller/Admin.pm:1489 perllib/FixMyStreet/App/Controller/Admin.pm:910 perllib/FixMyStreet/Cobrand/Zurich.pm:767 perllib/FixMyStreet/Cobrand/Zurich.pm:792 perllib/FixMyStreet/Cobrand/Zurich.pm:862
msgid "Updated!"
msgstr ""
@@ -3414,7 +3589,7 @@ msgstr ""
msgid "Updates"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:133
+#: perllib/FixMyStreet/DB/Result/Comment.pm:134
msgid "Updates are limited to %s characters in length. Please shorten your update"
msgstr ""
@@ -3427,11 +3602,21 @@ msgstr ""
msgid "Updates to this problem, %s"
msgstr ""
+#: templates/web/base/admin/contact-form.html:43 templates/web/base/admin/contact-form.html:44
+msgid ""
+"Use <strong>confirmed</strong> to indicate that this contact has been\n"
+"confirmed as correct. If you are not sure of the origin or validity of the\n"
+"contact, use <strong>unconfirmed</strong>. <strong>inactive</strong> will\n"
+"remove the category from use when reporting problems, but keep it available in\n"
+"map filters, and <strong>deleted</strong> will remove the category from there\n"
+"as well."
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:65
msgid "Use Open311 update-sending extension"
msgstr ""
-#: templates/web/base/admin/contact-form.html:124
+#: templates/web/base/admin/contact-form.html:125
msgid "Use this field to record details that are only displayed in the admin. Input is not shown publicly, and is not sent to the body."
msgstr ""
@@ -3443,11 +3628,11 @@ msgstr ""
msgid "User ID to attribute fetched comments to"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1700
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1805
msgid "User flag removed"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1672
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1777
msgid "User flagged"
msgstr ""
@@ -3459,7 +3644,7 @@ msgstr ""
msgid "User search finds matches in users' names and email addresses."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:669 perllib/FixMyStreet/Cobrand/Default.pm:723 perllib/FixMyStreet/Cobrand/Zurich.pm:398 templates/web/base/admin/flagged.html:29 templates/web/zurich/header.html:61
+#: perllib/FixMyStreet/Cobrand/Default.pm:669 perllib/FixMyStreet/Cobrand/Default.pm:728 perllib/FixMyStreet/Cobrand/Zurich.pm:403 templates/web/base/admin/flagged.html:29 templates/web/zurich/header.html:61
msgid "Users"
msgstr ""
@@ -3467,7 +3652,7 @@ msgstr ""
msgid "Users can perform the following actions within their assigned body or area."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:400 perllib/FixMyStreet/App/Controller/Admin.pm:430 perllib/FixMyStreet/App/Controller/Admin.pm:448
+#: perllib/FixMyStreet/App/Controller/Admin.pm:381 perllib/FixMyStreet/App/Controller/Admin.pm:417 perllib/FixMyStreet/App/Controller/Admin.pm:439
msgid "Values updated"
msgstr ""
@@ -3508,7 +3693,7 @@ msgstr ""
msgid "We found more than one match for that problem reference:"
msgstr ""
-#: templates/web/base/auth/general.html:6 templates/web/base/report/display.html:35 templates/web/base/report/new/oauth_email_form.html:5
+#: templates/web/base/auth/general.html:8 templates/web/base/report/display.html:35 templates/web/base/report/new/oauth_email_form.html:5
msgid "We need your email address, please give it below."
msgstr ""
@@ -3540,7 +3725,7 @@ msgstr ""
msgid "What was your experience of getting the problem fixed?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:52 templates/web/zurich/admin/body.html:18
+#: templates/web/base/admin/category_edit.html:27 templates/web/zurich/admin/body.html:18
msgid "When edited"
msgstr ""
@@ -3548,11 +3733,19 @@ msgstr ""
msgid "When sent"
msgstr ""
-#: templates/web/base/report/_inspect.html:89
+#: templates/web/base/admin/extra-metadata-form.html:18
+msgid "Whether the user is required to provide a value for this field."
+msgstr ""
+
+#: templates/web/base/alert/_list.html:9
+msgid "Which problems do you want alerts about?"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:99
msgid "Which report is it a duplicate of?"
msgstr ""
-#: templates/web/base/js/translation_strings.html:54
+#: templates/web/base/js/translation_strings.html:57
msgid "Whoa there Testino! Three photos are enough."
msgstr ""
@@ -3560,7 +3753,7 @@ msgstr ""
msgid "Why stop there? <a href=\"/alert\">Set up more alerts</a> for free."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:185 perllib/FixMyStreet/Cobrand/Zurich.pm:923 templates/web/zurich/admin/header.html:1 templates/web/zurich/admin/header.html:14
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:190 perllib/FixMyStreet/Cobrand/Zurich.pm:928 templates/web/zurich/admin/header.html:1 templates/web/zurich/admin/header.html:14
msgid "Wish"
msgstr ""
@@ -3568,7 +3761,7 @@ msgstr ""
msgid "With request searches, it is also possible to search for agency_responsible to limit the requests to those sent to a single administration. The search term is the administration ID provided by <a href=\"%s\">MaPit</a>."
msgstr ""
-#: templates/web/base/front/footer-marketing.html:17
+#: templates/web/base/front/footer-marketing.html:3
msgid "Would you like to contribute to FixMyStreet? Our code is open source and <a href=\"http://fixmystreet.org\">available at fixmystreet.org</a>."
msgstr ""
@@ -3593,7 +3786,7 @@ msgstr ""
msgid "Year"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:1202 templates/web/base/admin/bodies.html:70 templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88 templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94 templates/web/base/admin/category_edit.html:5 templates/web/base/admin/flagged.html:47 templates/web/base/admin/list_updates.html:32 templates/web/base/admin/list_updates.html:34 templates/web/base/admin/list_updates.html:35 templates/web/base/admin/problem_row.html:20 templates/web/base/admin/report_edit.html:136 templates/web/base/admin/report_edit.html:95 templates/web/base/admin/update_edit.html:25 templates/web/base/admin/users.html:32 templates/web/base/questionnaire/creator_fixed.html:14 templates/web/base/questionnaire/index.html:104 templates/web/base/questionnaire/index.html:53
+#: perllib/FixMyStreet/Cobrand/Default.pm:1236 templates/web/base/admin/bodies.html:70 templates/web/base/admin/category_edit.html:5 templates/web/base/admin/flagged.html:47 templates/web/base/admin/list_updates.html:32 templates/web/base/admin/list_updates.html:34 templates/web/base/admin/list_updates.html:35 templates/web/base/admin/problem_row.html:20 templates/web/base/admin/report_edit.html:124 templates/web/base/admin/report_edit.html:95 templates/web/base/admin/update_edit.html:25 templates/web/base/admin/users.html:32 templates/web/base/questionnaire/creator_fixed.html:14 templates/web/base/questionnaire/index.html:104 templates/web/base/questionnaire/index.html:53 templates/web/base/report/_inspect.html:90
msgid "Yes"
msgstr ""
@@ -3605,7 +3798,7 @@ msgstr ""
msgid "You are complaining that this problem report was unnecessarily moderated:"
msgstr ""
-#: templates/web/base/js/translation_strings.html:70
+#: templates/web/base/js/translation_strings.html:73
msgid "You are offline"
msgstr ""
@@ -3625,7 +3818,11 @@ msgstr ""
msgid "You can add an abusive user's email to the abuse list, which automatically hides (and never sends) reports they create."
msgstr ""
-#: templates/web/base/contact/index.html:111
+#: templates/web/base/alert/_list.html:18
+msgid "You can choose to subscribe to all problems reported in an area, or reports based on their destination."
+msgstr ""
+
+#: templates/web/base/contact/index.html:115
msgid "You can contact technical support on <a href='mailto:%s'>%s</a>"
msgstr ""
@@ -3640,7 +3837,7 @@ msgstr ""
msgid "You can help us by finding a contact email address for local problems for %s and emailing it to us at <a href='mailto:%s'>%s</a>."
msgstr ""
-#: templates/web/base/admin/body-form.html:91
+#: templates/web/base/admin/body-form.html:93
msgid "You can mark a body as deleted if you do not want it to be active on the site."
msgstr ""
@@ -3648,7 +3845,7 @@ msgstr ""
msgid "You declined; please fill in the box above"
msgstr ""
-#: templates/web/base/js/translation_strings.html:72
+#: templates/web/base/js/translation_strings.html:75
msgid "You have <a id=\"oFN\" href=\"\"><span>%s</span> saved to submit</a>."
msgstr ""
@@ -3656,7 +3853,7 @@ msgstr ""
msgid "You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"
msgstr ""
-#: templates/web/base/report/new/form_report.html:37 templates/web/zurich/report/new/fill_in_details_form.html:30
+#: templates/web/base/report/new/form_report.html:39 templates/web/zurich/report/new/fill_in_details_form.html:30
msgid "You have already attached photos to this report. Note that you can attach a maximum of 3 to this report (if you try to upload more, the oldest will be removed)."
msgstr ""
@@ -3707,11 +3904,11 @@ msgstr ""
msgid "Your account"
msgstr ""
-#: templates/web/base/alert/_list.html:90 templates/web/base/alert/updates.html:19 templates/web/base/alert/updates.html:22 templates/web/base/contact/index.html:81 templates/web/base/report/display_tools.html:46 templates/web/base/report/display_tools.html:49 templates/web/base/report/new/form_user_loggedout_email.html:1 templates/web/base/report/update/form_user_loggedout_email.html:1 templates/web/zurich/report/new/fill_in_details_form.html:53
+#: templates/web/base/alert/updates.html:19 templates/web/base/alert/updates.html:22 templates/web/base/contact/index.html:80 templates/web/base/report/display_tools.html:46 templates/web/base/report/display_tools.html:49 templates/web/base/report/new/form_user_loggedout_email.html:1 templates/web/base/report/update/form_user_loggedout_email.html:1 templates/web/zurich/report/new/fill_in_details_form.html:53
msgid "Your email"
msgstr ""
-#: templates/web/base/auth/change_email.html:9 templates/web/base/auth/general.html:55 templates/web/base/report/update/form_user_loggedout_email.html:5 templates/web/zurich/auth/general.html:30 templates/web/zurich/auth/general.html:58
+#: templates/web/base/auth/change_email.html:9 templates/web/base/auth/general.html:57 templates/web/base/report/update/form_user_loggedout_email.html:5 templates/web/zurich/auth/general.html:30 templates/web/zurich/auth/general.html:58
msgid "Your email address"
msgstr ""
@@ -3719,15 +3916,27 @@ msgstr ""
msgid "Your information will only be used in accordance with our <a href=\"/privacy\">privacy policy</a>"
msgstr ""
-#: templates/web/base/auth/general.html:107 templates/web/base/contact/index.html:74 templates/web/base/report/new/form_user_loggedout_by_email.html:17 templates/web/base/report/update/form_name.html:29 templates/web/zurich/auth/general.html:61 templates/web/zurich/report/new/fill_in_details_form.html:63
+#: templates/web/base/auth/general.html:109 templates/web/base/contact/index.html:74 templates/web/base/report/new/form_user_loggedout_by_email.html:17 templates/web/base/report/update/form_name.html:33 templates/web/zurich/auth/general.html:61 templates/web/zurich/report/new/fill_in_details_form.html:63
msgid "Your name"
msgstr ""
-#: templates/web/base/js/translation_strings.html:62
+#: templates/web/base/my/anonymize.html:13
+msgid "Your name has already been sent to %s, but we can hide it on this page:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:264
+msgid "Your name has been hidden from all your reports and updates."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:260
+msgid "Your name has been hidden."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:65
msgid "Your offline reports"
msgstr ""
-#: templates/web/base/auth/general.html:85 templates/web/base/report/new/form_user_loggedout_password.html:10 templates/web/base/report/update/form_user_loggedout_password.html:9 templates/web/zurich/auth/general.html:34
+#: templates/web/base/auth/general.html:87 templates/web/base/report/new/form_user_loggedout_password.html:10 templates/web/base/report/update/form_user_loggedout_password.html:9 templates/web/zurich/auth/general.html:34
msgid "Your password"
msgstr ""
@@ -3735,7 +3944,7 @@ msgstr ""
msgid "Your password has been changed"
msgstr ""
-#: templates/web/base/report/new/form_user_loggedout_by_email.html:26 templates/web/zurich/report/new/fill_in_details_form.html:69
+#: templates/web/base/contact/index.html:87 templates/web/base/report/new/form_user_loggedout_by_email.html:26 templates/web/zurich/report/new/fill_in_details_form.html:69
msgid "Your phone number"
msgstr ""
@@ -3751,7 +3960,7 @@ msgstr ""
msgid "Your shortlist"
msgstr ""
-#: templates/web/base/js/translation_strings.html:63
+#: templates/web/base/js/translation_strings.html:66
msgid "Your update has been saved offline for submission when back online."
msgstr ""
@@ -3759,7 +3968,7 @@ msgstr ""
msgid "Your updates"
msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:18 templates/web/base/report/update/form_name.html:11
+#: templates/web/base/report/new/form_user_loggedin.html:19 templates/web/base/report/update/form_name.html:12
msgid "Yourself"
msgstr ""
@@ -3767,12 +3976,12 @@ msgstr ""
msgid "all"
msgstr ""
-#: templates/web/base/admin/timeline.html:4
-msgid "by %s"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:259
+msgid "and a defect raised"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:290
-msgid "closed as a duplicate report"
+#: templates/web/base/admin/timeline.html:4
+msgid "by %s"
msgstr ""
#: templates/web/base/reports/body.html:6 templates/web/base/reports/body.html:7
@@ -3795,7 +4004,7 @@ msgstr ""
msgid "from %s different users"
msgstr ""
-#: templates/web/base/report/_item.html:61 templates/web/zurich/report/_item.html:14
+#: templates/web/base/report/_item.html:63 templates/web/zurich/report/_item.html:14
msgid "last updated %s"
msgstr ""
@@ -3803,43 +4012,7 @@ msgstr ""
msgid "less than a minute"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:280
-msgid "marked as action scheduled"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:292
-msgid "marked as an internal referral"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:282
-msgid "marked as closed"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:263 perllib/FixMyStreet/DB/Result/Comment.pm:284
-msgid "marked as fixed"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:278
-msgid "marked as in progress"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:274
-msgid "marked as investigating"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:286
-msgid "marked as no further action"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:288
-msgid "marked as not the council's responsibility"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:276
-msgid "marked as planned"
-msgstr ""
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:122 templates/web/base/admin/questionnaire.html:15 templates/web/base/admin/questionnaire.html:16
+#: perllib/FixMyStreet/App/Controller/Admin.pm:119 templates/web/base/admin/questionnaire.html:15 templates/web/base/admin/questionnaire.html:16
msgid "n/a"
msgstr ""
@@ -3847,12 +4020,8 @@ msgstr ""
msgid "none"
msgstr ""
-#: templates/web/base/admin/category_edit.html:35
-msgid "optional"
-msgstr ""
-
-#: templates/web/base/alert/_list.html:86
-msgid "or"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:278
+msgid "not the council's responsibility"
msgstr ""
#: templates/web/base/js/translation_strings.html:27
@@ -3867,15 +4036,7 @@ msgstr ""
msgid "other areas:"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:265 perllib/FixMyStreet/DB/Result/Comment.pm:271
-msgid "reopened"
-msgstr ""
-
-#: templates/web/base/admin/category_edit.html:35
-msgid "required"
-msgstr ""
-
-#: templates/web/zurich/footer.html:13
+#: templates/web/zurich/footer.html:12
msgid "sign out"
msgstr ""
@@ -3883,10 +4044,14 @@ msgstr ""
msgid "the local council"
msgstr ""
-#: templates/web/base/report/_report_meta_info.html:2 templates/web/zurich/report/_main.html:5
+#: templates/web/base/report/_report_meta_info.html:5 templates/web/zurich/report/_main.html:5
msgid "there is no pin shown as the user did not use the map"
msgstr ""
+#: templates/web/base/alert/_list.html:1
+msgid "this location"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:184
msgid "this type of local problem"
msgstr ""
@@ -3895,11 +4060,11 @@ msgstr ""
msgid "today"
msgstr ""
-#: templates/web/base/js/translation_strings.html:73
+#: templates/web/base/js/translation_strings.html:76
msgid "update"
msgstr ""
-#: templates/web/base/js/translation_strings.html:74
+#: templates/web/base/js/translation_strings.html:77
msgid "updates"
msgstr ""
@@ -3975,6 +4140,41 @@ msgid_plural "%d years"
msgstr[0] ""
msgstr[1] ""
+#: templates/web/base/reports/index.html:92
+#, perl-format
+msgid "%s day"
+msgid_plural "%s days"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:55
+#, perl-format
+msgid "%s problem marked as fixed"
+msgid_plural "%s problems marked as fixed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:43
+#, perl-format
+msgid "%s problem reported"
+msgid_plural "%s problems reported"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:107
+#, perl-format
+msgid "%s report"
+msgid_plural "%s reports"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:49
+#, perl-format
+msgid "%s update on problems"
+msgid_plural "%s updates on problems"
+msgstr[0] ""
+msgstr[1] ""
+
#: templates/web/base/front/stats.html:19
#, perl-format
msgid "<big>%s</big> fixed in past month"
@@ -4003,7 +4203,7 @@ msgid_plural "<big>%s</big> updates on reports"
msgstr[0] ""
msgstr[1] ""
-#: templates/web/base/report/_item.html:49
+#: templates/web/base/report/_item.html:51
#, perl-format
msgid "Reported %d day ago"
msgid_plural "Reported %d days ago"
@@ -4024,7 +4224,7 @@ msgid_plural "We do not yet have details for the councils that cover this locati
msgstr[0] ""
msgstr[1] ""
-#: templates/web/base/report/_item.html:59
+#: templates/web/base/report/_item.html:61
#, perl-format
msgid "last updated %d day ago"
msgid_plural "last updated %d days ago"
diff --git a/locale/ar.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/ar.UTF-8/LC_MESSAGES/FixMyStreet.po
index c00934152..70eda654c 100644
--- a/locale/ar.UTF-8/LC_MESSAGES/FixMyStreet.po
+++ b/locale/ar.UTF-8/LC_MESSAGES/FixMyStreet.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
-"POT-Creation-Date: 2017-03-30 17:33+0100\n"
+"POT-Creation-Date: 2017-09-13 15:40+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: Khaled Saleem Baleesh <Kbaleesh@gmail.com>, 2016\n"
+"Last-Translator: mySociety <transifex@mysociety.org>, 2017\n"
"Language-Team: Arabic (https://www.transifex.com/mysociety/teams/12067/ar/)\n"
"Language: ar\n"
"MIME-Version: 1.0\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:695
+#: perllib/FixMyStreet/DB/Result/Problem.pm:632
#: perllib/FixMyStreet/Script/Reports.pm:197
msgid " and "
msgstr "Ùˆ"
@@ -97,31 +97,6 @@ msgstr "%s الأسئلة المرسلة &ndash; %s المجابة (%s%%)"
msgid "%s ref:&nbsp;%s"
msgstr "مرجع:&nbsp;%s"
-#. ("%s is the site name")
-#: templates/web/base/alert/_list.html:74
-msgid ""
-"%s sends different categories of problem\n"
-"to the appropriate council, so problems within the boundary of a particular council\n"
-"might not match the problems sent to that council. For example, a graffiti report\n"
-"will be sent to the district council, so will appear in both of the district\n"
-"council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
-"for the county council."
-msgstr ""
-"يرسل %s ÙØ¦Ø§Øª Ù…Ø®ØªÙ„ÙØ© من المشكلة\n"
-"إلى المجلس المناسب، ÙØ§Ù„مشكلات الواقعة ضمن حدود مجلس معين\n"
-"قد لا تطابق المشكلات المرسلة إلى ذلك المجلس. على سبيل المثال، تقرير الرسم على\n"
-"الجدران، جراÙيتي، Ø³ÙŠÙØ±Ø³Ù„ إلى المجلس المحلي\n"
-"لذلك سيظهر ÙÙŠ كلا تنبيهي المجلس المحلي، ولكن سيظهر Ùقط ÙÙŠ تنبيه \"ضمن الحدود\"\n"
-"للمجلس البلدي."
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:257 perllib/FixMyStreet/Cobrand/UK.pm:269
-msgid "%s ward, %s"
-msgstr "دائرة %s، %s"
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
-msgid "%s, within %s ward"
-msgstr "%s، ضمن دائرة %s"
-
#: perllib/FixMyStreet/Map/OSM.pm:38
msgid "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"
msgstr "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> المساهمون"
@@ -130,7 +105,7 @@ msgstr "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap<
msgid "(Defect &amp; location of defect)"
msgstr "(الخلل وموقع الخلل)"
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
#: templates/web/base/admin/users.html:32
msgid "(Email in abuse table)"
msgstr "(البريد ÙÙŠ لائحة المسيئين)"
@@ -145,28 +120,36 @@ msgstr "(بلا اسم)"
msgid "(No phone number)"
msgstr "(بلا رقم هاتÙ)"
-#: templates/web/base/alert/_list.html:25
-msgid "(a default distance which covers roughly 200,000 people)"
-msgstr "(Ø§Ù„Ù…Ø³Ø§ÙØ© Ø§Ù„Ø¥ÙØªØ±Ø§Ø¶ÙŠØ© التي تغطي مايقارب 200ØŒ000 نسمة)"
-
-#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
-#: templates/web/base/alert/_list.html:30
-msgid "(alternatively the RSS feed can be customised, within %s)"
-msgstr "(يمكن بدلاً من ذلك تخصيص موجز RSS، ضمن %s)"
+#: templates/web/base/admin/states/index.html:95
+msgid "(a-z and space only)"
+msgstr ""
#: templates/web/zurich/report/_item.html:19
msgid "(closed)"
msgstr "(مغلق)"
+#: templates/web/base/alert/_list.html:30
+#, fuzzy
+msgid "(covers roughly 200,000 people)"
+msgstr "(Ø§Ù„Ù…Ø³Ø§ÙØ© Ø§Ù„Ø¥ÙØªØ±Ø§Ø¶ÙŠØ© التي تغطي مايقارب 200ØŒ000 نسمة)"
+
#: templates/web/zurich/report/_item.html:17
msgid "(fixed)"
msgstr "(تم الإصلاح)"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "(ignored if type is \"String\")"
+msgstr ""
+
#: templates/web/base/around/intro.html:2
msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
msgstr "( مثل الكتابة على الجدران ØŒ رمي Ø§Ù„Ù†ÙØ§ÙŠØ§Øª ÙÙŠ الاماكن الغير مخصصة ØŒ بلاطات Ø§Ø±ØµÙØ© مكسورة او انارة الشوارع)"
-#: templates/web/base/report/_item.html:68
+#: templates/web/base/reports/index.html:69
+msgid "(no longer exists)"
+msgstr ""
+
+#: templates/web/base/report/_item.html:70
msgid "(not sent to council)"
msgstr "(لم ترسل الى الجهة المسئولة)"
@@ -174,38 +157,40 @@ msgstr "(لم ترسل الى الجهة المسئولة)"
msgid "(optional)"
msgstr "(إختياري)"
-#: templates/web/base/report/_item.html:67
+#: templates/web/base/report/_item.html:69
msgid "(sent to both)"
msgstr "(أرسل لكليهما)"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:239
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/DB/Result/Problem.pm:454
+#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
+#: templates/web/base/alert/_list.html:36
+#, fuzzy
+msgid "(we also have RSS feeds for problems within %s)"
+msgstr "موجز RSS للمشكلات الموجودة ضمن حدود %s"
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:245
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:381
msgid "-- Pick a category --"
msgstr "--إختر تصنيÙ--"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:460
-msgid "-- Pick a property type --"
-msgstr "-- إختر نوع العقار--"
-
#: templates/web/base/admin/response_templates_select.html:3
msgid "--Choose a template--"
msgstr "-اختر قالب---"
#: templates/web/base/report/new/form_report.html:23
msgid "10 inch pothole on Example St, near post box"
-msgstr ""
+msgstr "Ø­ÙØ±Ø© بعمق 10 انشات على شارع مثال قرب صندوق البريد"
-#: templates/web/base/dashboard/index.html:152
+#: templates/web/base/dashboard/index.html:153
msgid "14-30 days old"
msgstr ""
-#: templates/web/base/dashboard/index.html:151
+#: templates/web/base/dashboard/index.html:152
msgid "7-14 days old"
msgstr ""
-#: templates/web/base/admin/body-form.html:48
-#: templates/web/base/admin/body-form.html:49
+#: templates/web/base/admin/body-form.html:50
+#: templates/web/base/admin/body-form.html:51
msgid ""
"<code>MAPIT_URL</code> is set (<code>%s</code>) but no <code>MAPIT_TYPES</code>.<br>\n"
" This is probably why \"area covered\" is empty (below).<br>\n"
@@ -219,13 +204,13 @@ msgstr ""
msgid "<h2>Reports, Statistics and Actions for</h2> <h1>%s</h1>"
msgstr ""
-#. ('The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories')
#. ("The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories")
-#: templates/web/base/reports/_list-filters.html:37
-msgid "<label for=\"statuses\">Show</label> %s <label for=\"filter_categories\">about</label> %s"
+#: templates/web/base/reports/_list-filters.html:48
+#, fuzzy
+msgid "<label for=\"statuses\">Show</label> %s reports <label for=\"filter_categories\">about</label> %s"
msgstr "<label for=\"statuses\">إظهار</label> %s <label for=\"filter_categories\">عن</label> %s"
-#: templates/web/base/js/translation_strings.html:71
+#: templates/web/base/js/translation_strings.html:74
msgid "<span>%s</span> saved."
msgstr ""
@@ -242,34 +227,25 @@ msgstr "<strong>لا</strong> دعني أؤكّد بلاغي بالبريد"
msgid "<strong>No</strong> Let me confirm my update by email"
msgstr "<strong>لا</strong> دعني أؤكّد تحديثي بالبريد"
-#: templates/web/base/auth/general.html:104
+#: templates/web/base/auth/general.html:106
#: templates/web/zurich/auth/general.html:51
msgid "<strong>No</strong> let me sign in by email"
msgstr "<strong>لا</strong> دعني أسجّل دخولي بالبريد"
-#: templates/web/base/report/_inspect.html:160
+#: templates/web/base/report/_inspect.html:170
msgid "<strong>Note:</strong> This report has been sent onwards for action. Any changes made won't be passed on."
-msgstr ""
+msgstr "<strong>ملاحظة:</strong> تم ارسال هذا التقرير للتطبيق. لن يتم ارسال اي تغييرات اخرى عليه."
-#: templates/web/base/report/_inspect.html:162
+#: templates/web/base/report/_inspect.html:172
msgid "<strong>Note:</strong> This report hasn't yet been sent onwards for action. Any changes made may not be passed on."
-msgstr ""
+msgstr "<strong>ملاحظة:</strong> لم يتم ارسال هذا التقرير للتطبيق بعد. لن يتم ارسال اي تغييرات اخرى عليه."
-#: templates/web/base/auth/general.html:80
+#: templates/web/base/auth/general.html:82
#: templates/web/base/report/new/form_user_loggedout_password.html:3
#: templates/web/base/report/update/form_user_loggedout_password.html:2
msgid "<strong>Yes</strong> I have a password"
msgstr "<strong>نعم</strong> لدي كلمة المرور"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:10
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:6
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Action Scheduled"
-msgstr "نشاط تم جدولته"
-
#: templates/web/base/admin/body-form.html:3
#: templates/web/base/admin/body-form.html:4
msgid ""
@@ -286,23 +262,40 @@ msgid "Add a contact using the form below."
msgstr "أض٠عنوان اتصال عبر النموذج التالي."
#: templates/web/base/admin/bodies.html:78
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Add body"
msgstr "Ø¥Ø¶Ø§ÙØ© هيئة"
+#: templates/web/base/admin/reportextrafields/index.html:24
+msgid "Add extra fields"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:79
+msgid "Add field"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:85
+msgid "Add fixed state"
+msgstr ""
+
#: templates/web/base/admin/body.html:126
#: templates/web/zurich/admin/body.html:31
msgid "Add new category"
msgstr "Ø£Ø¶Ù ØªØµÙ†ÙŠÙØ§Ù‹"
+#: templates/web/base/admin/extra-metadata-form.html:72
+#, fuzzy
+msgid "Add option"
+msgstr "إختياري"
+
#: templates/web/base/report/_item.html:10
-#: templates/web/base/report/_item.html:14
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_item.html:16
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:19
#: templates/web/base/report/_main.html:30
msgid "Add to shortlist"
-msgstr ""
+msgstr "اض٠للقائمة القصيرة"
#: templates/web/base/admin/user_edit.html:4
#: templates/web/base/admin/users.html:48
@@ -310,15 +303,15 @@ msgstr ""
msgid "Add user"
msgstr "Ø¥Ø¶Ø§ÙØ© مستخدم"
-#: perllib/FixMyStreet/Cobrand/Default.pm:730
+#: perllib/FixMyStreet/Cobrand/Default.pm:735
msgid "Add/edit problem categories"
-msgstr ""
+msgstr "اض٠/ عدل اصنا٠المشاكل"
-#: perllib/FixMyStreet/Cobrand/Default.pm:732
+#: perllib/FixMyStreet/Cobrand/Default.pm:737
msgid "Add/edit response priorities"
msgstr "اضÙ/عدل أولويات الاستجابة"
-#: perllib/FixMyStreet/Cobrand/Default.pm:731
+#: perllib/FixMyStreet/Cobrand/Default.pm:736
msgid "Add/edit response templates"
msgstr "اضÙ/عدل قوالب الاستجابة"
@@ -326,9 +319,9 @@ msgstr "اضÙ/عدل قوالب الاستجابة"
msgid "Added %s"
msgstr "Ø£ÙØ¶ÙŠÙ %s"
-#: templates/web/base/report/_main.html:145
+#: templates/web/base/report/_main.html:149
msgid "Adding this report to your shortlist will remove it from %s’s shortlist."
-msgstr ""
+msgstr "Ø§Ø¶Ø§ÙØ© التقرير للقائمة القصيرة خاصتك سيحذÙÙ‡ من %s’s القائمة القصيرة."
#: templates/web/base/main_nav_items.html:47
msgid "Admin"
@@ -346,18 +339,17 @@ msgstr "تحذير %d أنشيء لـ %s، نوع %s، معاملات %s \\ %s"
msgid "Alert %d disabled (created %s)"
msgstr "التحذير %d ألغي ØªÙØ¹ÙŠÙ„Ù‡ (أنشيء %s)"
-#: templates/web/base/report/update/form_name.html:38
+#: templates/web/base/report/update/form_name.html:42
msgid "Alert me to future updates"
msgstr "نبهني بأحدث المستجدات"
#: templates/web/base/dashboard/index.html:138
#: templates/web/base/dashboard/index.html:21
#: templates/web/base/dashboard/index.html:30
-#, fuzzy
+#: templates/web/base/reports/_list-filters.html:3
msgid "All"
-msgstr "الكل"
+msgstr ""
-#: templates/web/base/reports/index.html:6
#: templates/web/zurich/reports/index.html:13
msgid "All Reports"
msgstr "كل التقارير"
@@ -367,15 +359,23 @@ msgid "All Reports as CSV"
msgstr "جميع التقارير بتنسيق CSV"
#: templates/web/base/admin/category-multiselect.html:5
-#: templates/web/base/admin/responsepriorities/list.html:19
+#: templates/web/base/admin/responsepriorities/list.html:20
msgid "All categories"
msgstr "كل Ø§Ù„ØªØµÙ†ÙŠÙØ§Øª"
+#: templates/web/base/admin/reportextrafields/edit.html:26
+#, fuzzy
+msgid "All cobrands"
+msgstr "علامة تجارية مشتركة"
+
+#: templates/web/base/admin/reportextrafields/edit.html:47
+msgid "All languages"
+msgstr ""
+
#: templates/web/base/main_nav_items.html:0
#: templates/web/base/main_nav_items.html:27
-#: templates/web/base/reports/_list-filters.html:3
#: templates/web/zurich/admin/index-dm.html:12
-#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:21
+#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:20
#: templates/web/zurich/nav_over_content.html:6
msgid "All reports"
msgstr "كل التقارير"
@@ -385,6 +385,14 @@ msgstr "كل التقارير"
msgid "All reports between %s and %s"
msgstr "كل البلاغات بين %s و %s"
+#: templates/web/base/reports/index.html:23
+msgid "All time"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:20
+msgid "Alternatively, we can hide your name on <strong>all of your reports and updates</strong> across the site:"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:47
msgid "An update marked this problem as fixed."
msgstr "تحديث أشار إلى أن هذه المشكلة تم حلها."
@@ -394,31 +402,33 @@ msgstr "تحديث أشار إلى أن هذه المشكلة تم حلها."
msgid "Anonymous"
msgstr "مجهول"
-#: templates/web/base/admin/report_edit.html:134
+#: templates/web/base/report/new/form_user_loggedin.html:21
+#: templates/web/base/report/update/form_name.html:17
+#, fuzzy
+msgid "Anonymous user"
+msgstr "مجهول"
+
+#: templates/web/base/admin/report_edit.html:122
#: templates/web/base/admin/update_edit.html:23
msgid "Anonymous:"
msgstr "مجهول:"
-#: templates/web/base/report/new/form_user_loggedin.html:20
-#: templates/web/base/report/update/form_name.html:13
+#: templates/web/base/report/new/form_user_loggedin.html:24
+#: templates/web/base/report/update/form_name.html:14
msgid "Another user"
msgstr "مستخدم اخر"
-#: templates/web/base/front/footer-marketing.html:16
-msgid "Are you a developer?"
-msgstr "هل انت مطور ؟"
-
-#: templates/web/base/js/translation_strings.html:56
+#: templates/web/base/js/translation_strings.html:59
msgid "Are you sure you want to cancel this upload?"
msgstr "هل أنت متأكد أنك تريد إلغاء Ø§Ù„Ø±ÙØ¹ØŸ"
#: templates/web/base/admin/report_edit.html:84
-#: templates/web/base/js/translation_strings.html:66
+#: templates/web/base/js/translation_strings.html:69
#: templates/web/base/report/display_tools.html:6
msgid "Are you sure?"
msgstr "هل أنت متأكد؟"
-#: templates/web/base/admin/body-form.html:75
+#: templates/web/base/admin/body-form.html:77
#: templates/web/base/admin/body.html:20
#: templates/web/zurich/admin/body-form.html:24
msgid "Area covered"
@@ -426,7 +436,7 @@ msgstr "المنطقة المغطاة"
#: templates/web/base/admin/user-form.html:64
msgid "Area:"
-msgstr ""
+msgstr "المنطقة:"
#: templates/web/base/admin/bodies.html:19
#: templates/web/base/admin/body.html:64
@@ -450,11 +460,11 @@ msgstr "تعيين إلى هيئة خارجية:"
msgid "Assign to subdivision:"
msgstr "تعيين إلى قسم ÙØ±Ø¹ÙŠ:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:727
+#: perllib/FixMyStreet/Cobrand/Default.pm:732
msgid "Assign users to areas"
-msgstr ""
+msgstr "تعيين المستخدمين للمناطق"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:214
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:219
msgid "Assigned to %s"
msgstr "عين إلى %s"
@@ -469,17 +479,20 @@ msgstr "حاليا مايعمل هو البحث ورؤية البلاغات ÙÙ‚
#: templates/web/base/admin/user-form.html:78
#: templates/web/base/admin/user-form.html:79
msgid "Authorised staff users can be associated with the categories in which they operate."
-msgstr ""
+msgstr "مستخدمين "
#: templates/web/base/admin/template_edit.html:22
msgid "Auto-response:"
msgstr "الإستجابة الآلية:"
-#: templates/web/base/admin/report_edit.html:127
-#: templates/web/base/report/_inspect.html:47
+#: templates/web/base/admin/report-category.html:8
msgid "Available categories"
msgstr "Ø§Ù„ØªØµÙ†ÙŠÙØ§Øª المتاحة"
+#: templates/web/base/reports/index.html:84
+msgid "Average time between a problem being reported and being fixed, last 100 reports."
+msgstr ""
+
#: templates/web/base/dashboard/index.html:109
msgid "Average time to council marking fixed (days)"
msgstr ""
@@ -492,7 +505,7 @@ msgstr ""
msgid "Avoid personal information and vehicle number plates"
msgstr "ØªÙØ§Ø¯Ù‰ المعلومات الشخصية ولوحات السيارات"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:417
+#: perllib/FixMyStreet/DB/Result/Problem.pm:344
#: templates/web/zurich/report/_item.html:9
msgid "Awaiting moderation"
msgstr "ÙÙŠ إنتظار المشرÙين"
@@ -505,13 +518,13 @@ msgstr "الخلÙ"
msgid "Back to all reports"
msgstr "عد إلى كل التقارير"
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
msgid "Ban email address"
msgstr "حظر البريد الإلكتروني"
#: perllib/FixMyStreet/Cobrand/Default.pm:650
-#: perllib/FixMyStreet/Cobrand/Default.pm:729
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
+#: perllib/FixMyStreet/Cobrand/Default.pm:734
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:396
#: templates/web/base/admin/bodies.html:1
#: templates/web/base/admin/report_edit.html:55
#: templates/web/zurich/header.html:56
@@ -533,7 +546,11 @@ msgstr "الهيئة:"
msgid "By Date"
msgstr "بالتاريخ"
-#: templates/web/base/auth/token.html:21 templates/web/base/email_sent.html:18
+#: templates/web/base/admin/extra-metadata-form.html:36
+msgid "Can be used to display extra text to the user alongside the field. The default template does not show this (<code>meta.datatype_description</code>), you must add it in <code>category_extras_fields.html</code>"
+msgstr ""
+
+#: templates/web/base/auth/token.html:27 templates/web/base/email_sent.html:20
msgid "Can&rsquo;t find our email? Check your spam folder&nbsp;&ndash; that&rsquo;s the solution 99% of the time."
msgstr "لا تستطيع العثور على رسالة البريد الإلكتروني؟ الرجاء الاطلاع على مجلد البريد العشوائي، Ùهذا هو الحل بنسبة 99%."
@@ -554,8 +571,8 @@ msgstr "ØªØµÙ†ÙŠÙØ§Øª:"
#: templates/web/base/admin/body.html:72
#: templates/web/base/admin/contact-form.html:19
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/report/_inspect.html:38
-#: templates/web/base/report/_item.html:90
+#: templates/web/base/report/_inspect.html:48
+#: templates/web/base/report/_item.html:92
#: templates/web/base/report/new/category.html:6
#: templates/web/base/report/new/category_wrapper.html:3
#: templates/web/zurich/admin/body.html:14
@@ -566,7 +583,7 @@ msgstr "ØªØµÙ†ÙŠÙØ§Øª:"
msgid "Category"
msgstr "تصنيÙ"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:852
+#: perllib/FixMyStreet/App/Controller/Admin.pm:956
msgid "Category changed from ‘%s’ to ‘%s’"
msgstr "تصني٠تغير من ‘%s’ إلى ‘%s’"
@@ -606,27 +623,11 @@ msgstr "تغيير عنوان البريد الإلكتروني"
msgid "Change password"
msgstr "تغيير كلمة المرور"
-#: templates/web/base/admin/contact-form.html:41
-msgid ""
-"Check <strong>confirmed</strong> to indicate that this contact has been confirmed as correct.\n"
-" If you are not sure of the origin or validity of the contact, leave this unchecked."
-msgstr ""
-"حدد <strong>تم تأكيده</strong> للإشارة أن عنوان الإتصال هذا قد تم تأكيده.\n"
-"إذا لم تكن متأكدأ من مصدر أو صلاحية عنوان الإتصال, اترك هذ الخيار بل تحديد."
-
-#: templates/web/base/admin/contact-form.html:52
-msgid ""
-"Check <strong>deleted</strong> to remove the category from use. \n"
-" It will not appear as an available category in the drop-down menu on the report-a-problem page."
-msgstr ""
-"حدد <strong>محذوÙ</strong> لحذ٠هذا التصنيÙ.\n"
-"هذ التصني٠لن يكون Ù…ØªÙˆÙØ±Ø§ ÙÙŠ القائمة المنسدلة ÙÙŠ ØµÙØ­Ø© إبلاغ-عن-مشكلة."
-
-#: templates/web/base/admin/contact-form.html:79
+#: templates/web/base/admin/contact-form.html:80
msgid "Check <strong>inspection required</strong> if reports in this category <strong>must be inspected</strong> before being sent."
-msgstr ""
+msgstr "تÙقد <strong>مطلوب Ø§Ù„ÙØ­Øµ</strong> اذا كانت التقارير ÙÙŠ Ø§Ù„ÙØ¦Ø© <strong>تستوجب Ø§Ù„ÙØ­Øµ</strong> قبل الارسال"
-#: templates/web/base/admin/contact-form.html:63
+#: templates/web/base/admin/contact-form.html:64
msgid ""
"Check <strong>private</strong> if reports in this category should <strong>never be displayed on the website</strong>.\n"
" <br>\n"
@@ -650,11 +651,11 @@ msgstr ""
"اختر اسم <strong>تصنيÙ</strong> يكون منطقيا لعامة الناس (مثل، \"أخدود\"ØŒ \"إنارة الطريق\") ومساعد.\n"
"للجهات المسئولة أيضا. هذه سو٠تظهر ÙÙŠ القائمة المنسدلة من ØµÙØ­Ø© إبلاغ-عن-مشكلة."
-#: templates/web/base/report/_inspect.html:93
+#: templates/web/base/report/_inspect.html:103
msgid "Choose another"
msgstr ""
-#: templates/web/base/js/translation_strings.html:65
+#: templates/web/base/js/translation_strings.html:68
msgid "Clear offline data"
msgstr ""
@@ -679,21 +680,22 @@ msgstr "انقر Ùوق الارتباط المرÙÙ‚ ÙÙŠ رسالة البري
msgid "Click the link in our confirmation email to publish your update."
msgstr "انقر Ùوق الارتباط المرÙÙ‚ ÙÙŠ رسالة البريد الإلكتروني للتوكيد من أجل نشر التحديث."
-#: templates/web/base/auth/token.html:18
+#: templates/web/base/auth/token.html:23
msgid "Click the link in our confirmation email to sign in."
msgstr "انقر Ùوق الارتباط المرÙÙ‚ ÙÙŠ رسالة البريد الإلكتروني للتوكيد من أجل تسجيل الدخول."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:189
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:960
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:17
-#: templates/web/base/admin/report_blocks.html:27
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:43
-#: templates/web/base/report/banner.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:18
+#: templates/web/base/auth/token.html:20
+#, fuzzy
+msgid "Click the link in that email to sign in."
+msgstr "انقر Ùوق الارتباط المرÙÙ‚ ÙÙŠ رسالة البريد الإلكتروني للتوكيد من أجل تسجيل الدخول."
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:134
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:194
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:965
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:11
+#: templates/web/base/admin/states/index.html:103
+#: templates/web/base/admin/states/index.html:27
+#: templates/web/base/admin/states/index.html:33
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:10
#: templates/web/zurich/admin/header.html:16
@@ -701,23 +703,17 @@ msgstr "انقر Ùوق الارتباط المرÙÙ‚ ÙÙŠ رسالة البري
msgid "Closed"
msgstr "مغلق"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:889
+#: perllib/FixMyStreet/DB/Result/Problem.pm:826
msgid "Closed by council"
msgstr "مغلق من الجهة المسئولة"
-#: templates/web/base/reports/_list-filters.html:13
-msgid "Closed reports"
-msgstr "التقارير المغلقة"
-
-#: templates/web/base/admin/problem_row.html:38
-msgid "Closed:"
-msgstr "مغلق:"
-
#: templates/web/base/admin/report_edit.html:37
msgid "Co-ordinates:"
msgstr "إحداثيات"
#: templates/web/base/admin/list_updates.html:10
+#: templates/web/base/admin/reportextrafields/edit.html:24
+#: templates/web/base/admin/reportextrafields/index.html:7
msgid "Cobrand"
msgstr "علامة تجارية مشتركة"
@@ -731,10 +727,13 @@ msgstr "بيانات العلامة التجارية المشتركة:"
msgid "Cobrand:"
msgstr "علامة تجارية مشتركة:"
+#: templates/web/base/admin/extra-metadata-form.html:14
+msgid "Code"
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:50
-#, fuzzy
msgid "Collapse map"
-msgstr "تم استخدام الخريطة"
+msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:646
#: templates/web/base/admin/config_page.html:1
@@ -752,7 +751,7 @@ msgstr "أكد الحساب"
#: templates/web/base/report/new/form_user_loggedout_password.html:21
#: templates/web/base/report/update/form_user_loggedout_password.html:20
msgid "Confirm by email instead, providing a new password at that point. When you confirm, your password will be updated."
-msgstr ""
+msgstr "الرجاء الدخول عبر البريد الإلكتروني بدلا عن ذلك، كما يرجى تقديم كلمة مرور جديدة عند هذه النقطة. بعد التأكيد، سيتم تحديث كلمة المرور."
#: templates/web/base/questionnaire/creator_fixed.html:1
#: templates/web/base/tokens/confirm_problem.html:1
@@ -762,9 +761,8 @@ msgstr ""
msgid "Confirmation"
msgstr "تأكيد"
-#: templates/web/base/admin/body.html:85
-#: templates/web/base/admin/category_edit.html:54
-#: templates/web/base/admin/contact-form.html:47
+#: templates/web/base/admin/contact-form.html:56
+#: templates/web/zurich/admin/contact-form.html:12
#: templates/web/zurich/admin/stats.html:40
msgid "Confirmed"
msgstr "مؤكد"
@@ -799,8 +797,8 @@ msgstr "اتصل Ø¨ÙØ±ÙŠÙ‚ العمل"
msgid "Coordinates:"
msgstr "الإحداثيات:"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1668
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1696
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1773
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1801
msgid "Could not find user"
msgstr "لم يتمكن من إيجاد المستخدم"
@@ -820,33 +818,28 @@ msgstr "جهات اتصال المجلس لـ %s"
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:83
-#, fuzzy
msgid "Council has marked as closed"
-msgstr "عليه علامة مغلق"
+msgstr ""
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:57
-#, fuzzy
msgid "Council has marked as fixed"
-msgstr "عليه علامة تم الإصلاح"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:80
-#, fuzzy
msgid "Council has marked as in progress"
-msgstr "عليه علامة قيد التقدم"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:82
-#, fuzzy
msgid "Council has marked as investigating"
-msgstr "عليه علامة جار٠التحقق"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:81
-#, fuzzy
msgid "Council has marked as planned"
-msgstr "عليه علامة مخطط"
+msgstr ""
#: templates/web/base/report/_council_sent_info.html:6
msgid "Council ref:&nbsp;%s"
@@ -863,26 +856,36 @@ msgstr "المجلس:"
msgid "Count"
msgstr "العدد"
+#: templates/web/base/admin/states/index.html:114
+#, fuzzy
+msgid "Create"
+msgstr "تم الإنشاء"
+
#: templates/web/base/email_sent.html:1
msgid "Create a report"
msgstr "انشئ بلاغ"
-#: templates/web/base/admin/contact-form.html:137
+#: templates/web/base/admin/contact-form.html:138
#: templates/web/zurich/admin/body.html:62
msgid "Create category"
msgstr "انشء تصنيÙ"
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/responsepriorities/edit.html:58
msgid "Create priority"
msgstr "انشء أولوية"
-#: perllib/FixMyStreet/Cobrand/Default.pm:714
+#: perllib/FixMyStreet/Cobrand/Default.pm:718
+#, fuzzy
+msgid "Create reports/updates as anonymous user"
+msgstr "انشاء التبليغات/تحديثات بالنيابة عن مستخدم"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:719
msgid "Create reports/updates as the council"
-msgstr ""
+msgstr "انشاء التبليغات/تحديثات كالمجلس"
-#: perllib/FixMyStreet/Cobrand/Default.pm:713
+#: perllib/FixMyStreet/Cobrand/Default.pm:717
msgid "Create reports/updates on a user's behalf"
-msgstr ""
+msgstr "انشاء التبليغات/تحديثات بالنيابة عن مستخدم"
#: templates/web/base/admin/template_edit.html:46
#: templates/web/zurich/admin/template_edit.html:29
@@ -910,13 +913,15 @@ msgstr "الوضع الحالي"
msgid "Currently no bodies have been created."
msgstr "حاليا لايوجد جهات مسئولة تم إنشائها."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:825
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:830
#: templates/web/zurich/admin/report_edit-sdm.html:105
msgid "Customer not contactable"
msgstr "لا يمكن الاتصال بالعميل"
#: templates/web/base/dashboard/index.html:5
#: templates/web/base/dashboard/index.html:7
+#: templates/web/base/reports/index.html:15
+#: templates/web/base/reports/index.html:18
msgid "Dashboard"
msgstr "ØµÙØ­Ø© المستخدم"
@@ -924,29 +929,37 @@ msgstr "ØµÙØ­Ø© المستخدم"
msgid "Dealt with by subdivision within 5 working days"
msgstr "تم التعامل بواسطة القسم Ø§Ù„ÙØ±Ø¹ÙŠ ÙÙŠ غضون 5 أيام عمل"
-#: templates/web/base/report/_inspect.html:73
+#: templates/web/base/admin/responsepriorities/list.html:9
+msgid "Default"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:39
+#, fuzzy
+msgid "Default priority"
+msgstr "انشء أولوية"
+
+#: templates/web/base/report/_inspect.html:72
msgid "Defect type"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:973
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1078
#: templates/web/base/admin/template_edit.html:50
#: templates/web/zurich/admin/template_edit.html:33
msgid "Delete template"
msgstr "حذ٠القالب"
#: templates/web/base/admin/bodies.html:31
-#: templates/web/base/admin/body.html:87
-#: templates/web/base/admin/category_edit.html:55
#: templates/web/base/admin/contact-form.html:58
-#: templates/web/zurich/admin/contact-form.html:12
+#: templates/web/zurich/admin/contact-form.html:13
msgid "Deleted"
msgstr "محذوÙ"
-#: templates/web/base/report/_main.html:110
-#: templates/web/base/report/update.html:59
+#: templates/web/base/report/_main.html:114
+#: templates/web/base/report/update.html:68
msgid "Describe why you are moderating this"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:32
#: templates/web/base/admin/responsepriorities/list.html:7
#: templates/web/zurich/admin/index-dm.html:22
#: templates/web/zurich/admin/index-sdm.html:20
@@ -970,7 +983,7 @@ msgstr "Ø§Ù„ØªÙØ§ØµÙŠÙ„"
msgid "Details:"
msgstr "Ø§Ù„ØªÙØ§ØµÙŠÙ„:"
-#: templates/web/base/admin/body.html:93
+#: templates/web/base/admin/body.html:92
msgid "Devolved"
msgstr "تم التحويل"
@@ -983,18 +996,17 @@ msgstr "لم يتم استخدام الخريطة"
msgid "Diligency prize league table"
msgstr "جدول رابطة جائزة العناية بالدقة"
-#: templates/web/base/report/_main.html:114
-#: templates/web/base/report/update.html:61
-#, fuzzy
+#: templates/web/base/report/_main.html:118
+#: templates/web/base/report/update.html:70
msgid "Discard changes"
-msgstr "Ø­ÙØ¸ التغييرات"
+msgstr ""
#: templates/web/base/admin/open311-form-fields.html:95
msgid "Do not send email alerts on fetched comments to problem creator"
-msgstr ""
+msgstr "لا ترسل اشعارات البريد الالكتروني حول التعليقات المأخوذة لصانع المشكلة"
#. ("%s is the site name")
-#: templates/web/base/auth/general.html:58
+#: templates/web/base/auth/general.html:60
#: templates/web/base/report/new/form_user_loggedout.html:25
#: templates/web/base/report/new/oauth_email_form.html:18
#: templates/web/base/report/update-form.html:30
@@ -1002,40 +1014,33 @@ msgstr ""
msgid "Do you have a %s password?"
msgstr "هل لديك كلمة مرور %s؟"
+#: templates/web/base/report/_inspect.html:87
+msgid "Do you want to automatically raise a defect?"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:57
msgid "Don&rsquo;t know"
msgstr "لا أعلم"
-#: templates/web/base/contact/index.html:108
+#: templates/web/base/contact/index.html:112
msgid "Don't like forms?"
msgstr "هل تحب النماذج؟"
-#: templates/web/base/report/_item.html:25
+#: templates/web/base/report/_item.html:27
msgid "Down one"
msgstr ""
-#: templates/web/base/js/translation_strings.html:55
+#: templates/web/base/js/translation_strings.html:58
msgid "Drag and drop photos here or <u>click to upload</u>"
msgstr "اسحب الصور واسقطها هنا أو <u>انقر Ù„Ù„Ø±ÙØ¹</u>"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:10
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "Duplicate"
-msgstr "مكرر"
-
-#: templates/web/base/report/_inspect.html:88
-#, fuzzy
+#: templates/web/base/report/_inspect.html:98
msgid "Duplicate of"
-msgstr "مكرر"
+msgstr ""
-#: templates/web/base/report/_inspect.html:98
-#, fuzzy
+#: templates/web/base/report/_inspect.html:108
msgid "Duplicates"
-msgstr "مكرر"
+msgstr ""
#: templates/web/base/admin/body.html:116
msgid ""
@@ -1048,43 +1053,43 @@ msgstr ""
"يمكن Ù„Ù„ØªØµÙ†ÙŠÙØ§Øª Ø§Ù„Ù…Ø®ØªÙ„ÙØ© أن <strong>تمتلك Ù†ÙØ³ عنوان الاتصال</strong> (عنوان بريد إلكتروني).\n"
"هذا يعني أنه يمكنك Ø¥Ø¶Ø§ÙØ© ما تشاء من Ø§Ù„ØªØµÙ†ÙŠÙØ§Øª حتى ولو كنت تملك عنوان اتصال واحد للجهة المسئولة."
-#: templates/web/base/report/_inspect.html:16
-#: templates/web/base/report/_item.html:81
+#: templates/web/base/report/_inspect.html:26
+#: templates/web/base/report/_item.html:83
msgid "Easting/Northing:"
-msgstr ""
+msgstr "باتجاه الشرق /باتجاه الشمال:"
#: templates/web/base/admin/list_updates.html:42
#: templates/web/base/admin/problem_row.html:41
-#: templates/web/base/admin/responsepriorities/list.html:26
+#: templates/web/base/admin/responsepriorities/list.html:28
#: templates/web/base/admin/templates.html:22
#: templates/web/base/admin/users.html:34
#: templates/web/zurich/admin/problem_row.html:48
msgid "Edit"
msgstr "تعديل"
-#: templates/web/base/admin/body.html:140
+#: templates/web/base/admin/body.html:141
#: templates/web/base/admin/index.html:39
#: templates/web/zurich/admin/body.html:69
msgid "Edit body details"
msgstr "تعديل ØªÙØ§ØµÙŠÙ„ الجهة المسئولة"
-#: perllib/FixMyStreet/Cobrand/Default.pm:724
+#: perllib/FixMyStreet/Cobrand/Default.pm:729
msgid "Edit other users' details"
msgstr "عدل ØªÙØ§ØµÙŠÙ„ المستخدمين الآخرين"
-#: perllib/FixMyStreet/Cobrand/Default.pm:725
+#: perllib/FixMyStreet/Cobrand/Default.pm:730
msgid "Edit other users' permissions"
msgstr "عدل صلاحيات المستخدمين الآخرين"
-#: perllib/FixMyStreet/Cobrand/Default.pm:708
+#: perllib/FixMyStreet/Cobrand/Default.pm:712
msgid "Edit report category"
msgstr "عدل تصني٠التقرير"
-#: perllib/FixMyStreet/Cobrand/Default.pm:709
+#: perllib/FixMyStreet/Cobrand/Default.pm:713
msgid "Edit report priority"
msgstr "عدل أولوية التقرير"
-#: perllib/FixMyStreet/Cobrand/Default.pm:707
+#: perllib/FixMyStreet/Cobrand/Default.pm:711
msgid "Edit reports"
msgstr "عدل التقارير"
@@ -1107,15 +1112,15 @@ msgstr "تعديل التحديث %d"
msgid "Editing user %d"
msgstr "تعديل المستخدم %d"
-#: templates/web/base/admin/category_edit.html:56
+#: templates/web/base/admin/category_edit.html:30
msgid "Editor"
msgstr "المحرر"
#: templates/web/base/admin/bodies.html:27
-#: templates/web/base/admin/category_edit.html:53
+#: templates/web/base/admin/category_edit.html:28
#: templates/web/base/admin/flagged.html:38
#: templates/web/base/admin/users.html:17
-#: templates/web/base/auth/general.html:49
+#: templates/web/base/auth/general.html:51
#: templates/web/zurich/admin/body-form.html:9
#: templates/web/zurich/admin/body.html:15
#: templates/web/zurich/auth/general.html:24
@@ -1123,13 +1128,14 @@ msgstr "المحرر"
msgid "Email"
msgstr "البريد الإلكتروني"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1644
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1749
msgid "Email added to abuse list"
msgstr "البريد أضي٠إلى لائحة المسيئين"
-#: templates/web/base/admin/contact-form.html:36
-#: templates/web/base/report/new/form_user_loggedin.html:28
-#: templates/web/base/report/update/form_name.html:19
+#: templates/web/base/admin/contact-form.html:38
+#: templates/web/base/alert/_list.html:74
+#: templates/web/base/report/new/form_user_loggedin.html:32
+#: templates/web/base/report/update/form_name.html:23
msgid "Email address"
msgstr "البريد الإلكتروني"
@@ -1141,11 +1147,11 @@ msgstr "تم إنشاء الإخطار بالبريد"
msgid "Email alert deleted"
msgstr "تم حذ٠الإخطار بالبريد"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1641
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1746
msgid "Email already in abuse list"
msgstr "البريد موجودا سابقا ÙÙŠ لائحة المسيئين"
-#: templates/web/base/admin/report_edit.html:141
+#: templates/web/base/admin/report_edit.html:129
#: templates/web/base/admin/update_edit.html:35
#: templates/web/base/admin/user-form.html:19
#: templates/web/zurich/admin/body.html:48
@@ -1170,8 +1176,8 @@ msgstr ""
"لمزيد من المعلومات، راجع\n"
"<a href='https://www.mysociety.org/2013/02/20/open311-extended/' class='admin-offsite-link'>هذه المقالة</a>."
-#: templates/web/base/admin/body-form.html:120
-#: templates/web/base/admin/body-form.html:121
+#: templates/web/base/admin/body-form.html:122
+#: templates/web/base/admin/body-form.html:123
msgid ""
"Enable this <strong>can be devolved</strong> setting if one or more contacts have a \n"
" different endpoint (and send method) from the body's. For example, if reports for some categories of\n"
@@ -1189,11 +1195,11 @@ msgstr "تاريخ الإنتهاء:"
msgid "Endpoint"
msgstr "نقطة النهاية"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:76
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:81
msgid "Enter a Z&uuml;rich street name"
msgstr "أدخل اسم شارع ÙÙŠ زيورخ"
-#: perllib/FixMyStreet/Cobrand/UK.pm:15
+#: perllib/FixMyStreet/Cobrand/UK.pm:16
msgid "Enter a nearby UK postcode, or street name and area"
msgstr "أدخل أقرب صندوق بريد بريطاني، أو اسم الشارع والحي"
@@ -1202,12 +1208,13 @@ msgstr "أدخل أقرب صندوق بريد بريطاني، أو اسم الØ
msgid "Enter a nearby postcode, or street name and area"
msgstr "أدخل أقرب صندوق بريد، أو اسم الشارع والحي"
+#: perllib/FixMyStreet/Cobrand/DansMonQwat.pm:14
#: templates/web/base/around/postcode_form.html:5
#: templates/web/base/around/postcode_form.html:6
msgid "Enter a nearby street name and area"
msgstr "أدخل أقرب اسم شارع وحي"
-#: templates/web/base/auth/general.html:116
+#: templates/web/base/auth/general.html:118
#: templates/web/base/report/new/form_user_loggedout_by_email.html:35
#: templates/web/base/report/update/form_user_loggedout_by_email.html:13
#: templates/web/zurich/auth/general.html:65
@@ -1227,8 +1234,8 @@ msgstr "أدخل ØªÙØ§ØµÙŠÙ„ البلاغ"
msgid "Error"
msgstr "خطأ"
-#: templates/web/base/reports/_list-filters.html:20
-#: templates/web/base/reports/_list-filters.html:28
+#: templates/web/base/reports/_list-filters.html:31
+#: templates/web/base/reports/_list-filters.html:39
msgid "Everything"
msgstr "الكل"
@@ -1241,8 +1248,7 @@ msgstr "مثال لصندوق البريد %s"
msgid "Examples:"
msgstr "أمثلة:"
-#: templates/web/base/admin/report_edit.html:122
-#: templates/web/base/report/_inspect.html:42
+#: templates/web/base/admin/report-category.html:3
msgid "Existing category"
msgstr "تصني٠موجود"
@@ -1250,17 +1256,16 @@ msgstr "تصني٠موجود"
msgid "Expand map"
msgstr ""
-#: templates/web/base/report/new/form_report.html:52
+#: templates/web/base/report/new/form_report.html:54
msgid "Explain what’s wrong"
msgstr "وضح ما هي المشكلة"
-#: templates/web/base/dashboard/index.html:146
-#, fuzzy
+#: templates/web/base/dashboard/index.html:147
msgid "Export as CSV"
-msgstr "جميع التقارير بتنسيق CSV"
+msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:913
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:179
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:12
msgid "Extern"
@@ -1271,25 +1276,32 @@ msgstr "خارجي"
msgid "External ID"
msgstr "معر٠خارجي"
-#: templates/web/base/admin/body-form.html:87
+#: templates/web/base/admin/body-form.html:89
msgid "External URL"
msgstr "رابط خارجي"
#: templates/web/base/admin/report_edit.html:99
msgid "External body"
-msgstr ""
+msgstr "هيئة خارجية"
#: templates/web/base/admin/report_edit.html:101
msgid "External team"
msgstr "ÙØ±ÙŠÙ‚ خارجي"
-#: templates/web/base/admin/category_edit.html:25
+#: perllib/FixMyStreet/Cobrand/Default.pm:673
+#: templates/web/base/admin/reportextrafields/edit.html:1
+#: templates/web/base/admin/reportextrafields/index.html:1
+#, fuzzy
+msgid "Extra Fields"
+msgstr "ØªÙØ§ØµÙŠÙ„ إضاÙية"
+
+#: templates/web/base/admin/contact-form.html:141
#: templates/web/base/admin/report_edit.html:94
msgid "Extra data:"
msgstr "بيانات إضاÙية:"
-#: templates/web/base/report/_inspect.html:134
-#: templates/web/base/report/_item.html:106
+#: templates/web/base/report/_inspect.html:144
+#: templates/web/base/report/_item.html:108
msgid "Extra details"
msgstr "ØªÙØ§ØµÙŠÙ„ إضاÙية"
@@ -1297,6 +1309,11 @@ msgstr "ØªÙØ§ØµÙŠÙ„ إضاÙية"
msgid "Failed to send message"
msgstr "ÙØ´Ù„ ÙÙŠ إرسال الرسالة"
+#: templates/web/base/admin/reportextrafields/edit.html:58
+#: templates/web/base/admin/reportextrafields/index.html:9
+msgid "Fields"
+msgstr ""
+
#: templates/web/zurich/admin/index-dm.html:33
#: templates/web/zurich/admin/index-sdm.html:30
msgid "Filter report list"
@@ -1310,52 +1327,32 @@ msgstr "أول مرة"
msgid "Fix this by choosing an <strong>area covered</strong> in the <em>Edit body details</em> form below."
msgstr "يمكن إصلاح ذلك عن طريق اختيار <strong>منطقة التغطية</strong> ÙÙŠ نموذج <em>تحرير ØªÙØ§ØµÙŠÙ„ الهيئة</em> بالأسÙÙ„."
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:11
-#: templates/web/base/admin/report_blocks.html:26
+#: perllib/FixMyStreet/App/Controller/Admin/States.pm:35
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:133
+#: templates/web/base/admin/states/index.html:29
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:41
-#: templates/web/base/report/banner.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:17
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:45
msgid "Fixed"
msgstr "تم الإصلاح"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:13
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:7
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:62
msgid "Fixed - Council"
msgstr "تم الإصلاح - المجلس"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:12
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:63
msgid "Fixed - User"
msgstr "تم الإصلاح - المستخدم"
-#: templates/web/base/reports/_list-filters.html:14
-msgid "Fixed reports"
-msgstr "التقارير التي تم إصلاحها"
-
-#: templates/web/base/admin/problem_row.html:37
-msgid "Fixed:"
-msgstr "تم الإصلاح:"
-
-#: templates/web/base/admin/body-form.html:95
-#: templates/web/base/admin/responsepriorities/edit.html:41
+#: templates/web/base/admin/body-form.html:97
+#: templates/web/base/admin/responsepriorities/edit.html:53
#: templates/web/zurich/admin/body-form.html:36
msgid "Flag as deleted"
msgstr "مشار كمحذوÙ"
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/report_blocks.html:23
msgid "Flag user"
msgstr "مستخدم مشار إليه"
-#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: perllib/FixMyStreet/Cobrand/Default.pm:644
#: templates/web/base/admin/users.html:20
msgid "Flagged"
msgstr "مشار إليهم"
@@ -1372,7 +1369,7 @@ msgstr "المستخدمين المشار إليهم مدرجين بقائمة Ù
msgid "Flagged users are not restricted in any way. This is just a list of users that have been marked for attention."
msgstr "المستخدمين المشار إليهم غير محظورين بأي طريقة، هذه Ùقط لائحة بالمستخدمين المحددين للإنتباه لهم"
-#: templates/web/base/admin/report_edit.html:147
+#: templates/web/base/admin/report_edit.html:135
#: templates/web/base/admin/user-form.html:100
msgid "Flagged:"
msgstr "مشار إليه:"
@@ -1385,21 +1382,25 @@ msgstr "اتبع ارتباط الدائرة لعرض التقارير الواÙ
msgid "For best results include a close-up and a wide shot"
msgstr "لنتائج Ø£ÙØ¶Ù„ أرÙÙ‚ لقطة مقربة ولقطة شاملة"
-#: templates/web/base/admin/body-form.html:71
+#: templates/web/base/admin/extra-metadata-form.html:52
+msgid "For each option, <strong>Key</strong> is the value which is stored in the database for that option and <strong>Name</strong> is the value displayed to the user."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:73
msgid "For more information, see <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
msgstr "للمزيد من المعلومات، راجع <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>كي٠أصلح شارعي يستخدم الخريطة</a>."
-#: templates/web/base/auth/general.html:95
+#: templates/web/base/auth/general.html:97
#: templates/web/base/report/new/form_user_loggedout_password.html:20
#: templates/web/base/report/update/form_user_loggedout_password.html:19
msgid "Forgotten your password?"
msgstr "هل نسيت كلمة المرور؟"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:743
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:748
msgid "Forwarded to external body"
msgstr "تمت إعادة التوجيه إلى هيئة خارجية"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:744
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:749
msgid "Forwarded wish to external body"
msgstr "تمت إعادة توجيه الطلب إلى هيئة خارجية"
@@ -1409,6 +1410,10 @@ msgstr "تمت إعادة توجيه الطلب إلى هيئة خارجية"
msgid "Frequently Asked Questions"
msgstr "الأسئلة الشائعة"
+#: templates/web/base/admin/stats.html:102
+msgid "Get Count"
+msgstr ""
+
#: templates/web/base/around/_updates.html:3
#: templates/web/base/report/display_tools.html:14
msgid "Get updates"
@@ -1424,10 +1429,14 @@ msgstr "احصل على التحديثات لـ %s من المشاكل"
msgid "Get updates of problems in this %s"
msgstr "احصل على التحديثات للمشاكل ÙÙŠ هذه %s"
-#: templates/web/base/alert/_list.html:83
+#: templates/web/base/alert/_list.html:85
msgid "Give me an RSS feed"
msgstr "أرسل لي موجز RSS"
+#: templates/web/base/admin/reportextrafields/edit.html:6
+msgid "Give this collection of fields a name. It is not shown publicly, just here in the admin."
+msgstr ""
+
#: templates/web/base/questionnaire/completed.html:14
msgid "Glad to hear it’s been fixed!"
msgstr "سعيد لسماع أنها أصلحت!"
@@ -1437,8 +1446,9 @@ msgstr "سعيد لسماع أنها أصلحت!"
#: templates/web/base/admin/index.html:49
#: templates/web/base/alert/index.html:34
#: templates/web/base/around/postcode_form.html:13
-#: templates/web/base/reports/_list-filters.html:38
-#: templates/web/base/reports/_list-filters.html:53
+#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:64
+#: templates/web/base/reports/index.html:75
#: templates/web/zurich/admin/stats.html:26
msgid "Go"
msgstr "اذهب"
@@ -1447,7 +1457,7 @@ msgstr "اذهب"
msgid "Going to send questionnaire?"
msgstr "هل تريد أن ترسل سؤال؟"
-#: perllib/FixMyStreet/Cobrand/Default.pm:726
+#: perllib/FixMyStreet/Cobrand/Default.pm:731
msgid "Grant access to the admin"
msgstr "إعطاء تصريح للأدمن"
@@ -1455,10 +1465,6 @@ msgstr "إعطاء تصريح للأدمن"
msgid "Graph of problem creation by status over time"
msgstr "الرسم البياني للإبلاغ عن المشكلات حسب الحالة مع مرور الوقت"
-#: templates/web/base/reports/index.html:15
-msgid "Greyed-out lines are councils that no longer exist."
-msgstr "الخطوط التي باللون الرمادي Ø§Ù„ÙØ§ØªØ­ تمثل مجالس لم تعد موجودة"
-
#: templates/web/base/questionnaire/index.html:48
msgid "Has this problem been fixed?"
msgstr "هل أصلحت هذه المشكلة؟"
@@ -1469,7 +1475,7 @@ msgstr "هل أبلغت عن مشكلة لأحد المجالس من قبل، أ
#: templates/web/base/main_nav_items.html:40
#: templates/web/zurich/about/faq-de-ch.html:1
-#: templates/web/zurich/footer.html:23
+#: templates/web/zurich/footer.html:22
#: templates/web/zurich/nav_over_content.html:8
msgid "Help"
msgstr "المساعدة"
@@ -1477,24 +1483,15 @@ msgstr "المساعدة"
#: templates/web/base/report/new/category_extras.html:13
#: templates/web/base/report/new/category_extras.html:14
msgid "Help <strong>%s</strong> resolve your problem quicker, by providing some extra detail. This extra information will not be published online."
-msgstr ""
+msgstr "ساعد <strong>%s</strong> على حل مشكلتك اسرع من خلال توÙير ØªÙØ§ØµÙŠÙ„ اضاÙية.لن تنشر هذه المعلومات الاضاÙية عند الاتصال بالانترنت."
-#: templates/web/base/alert/_list.html:9
-msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
-msgstr "هذه أنواع التحذيرات للمشاكل المحلية &lsquo;%s&rsquo;."
-
-#: templates/web/zurich/footer.html:12
+#: templates/web/zurich/footer.html:11
msgid "Hi %s"
msgstr "مرحبا %s"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:906
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:19
-#: templates/web/base/admin/report_blocks.html:28
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:911
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:60
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:19
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:11
#: templates/web/zurich/admin/stats.html:32
@@ -1502,16 +1499,33 @@ msgstr "مرحبا %s"
msgid "Hidden"
msgstr "مخÙÙŠ"
-#: templates/web/base/report/_main.html:105
-#, fuzzy
+#: templates/web/base/report/_main.html:109
msgid "Hide entire report"
-msgstr "إعادة إرسال التقرير"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:1
+#: templates/web/base/my/anonymize.html:2
+msgid "Hide my name"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:21
+msgid "Hide my name everywhere"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:10
+msgid "Hide my name in this update"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:16
+msgid "Hide my name on this report"
+msgstr ""
#: templates/web/base/around/display_location.html:67
msgid "Hide old"
msgstr "أخÙÙŠ القديم"
#: templates/web/base/around/display_location.html:62
+#: templates/web/base/js/translation_strings.html:55
msgid "Hide pins"
msgstr "أخÙÙŠ المثبتة"
@@ -1519,7 +1533,16 @@ msgstr "أخÙÙŠ المثبتة"
msgid "Hide update completely?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:49
+#: templates/web/base/report/_report_meta_info.html:3
+#: templates/web/base/report/update.html:55
+msgid "Hide your name?"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:38
+msgid "Hint"
+msgstr ""
+
+#: templates/web/base/admin/category_edit.html:24
msgid "History"
msgstr "السجل"
@@ -1536,12 +1559,12 @@ msgid "How to send successful reports"
msgstr "كي٠ترسل بلاغات ناجحة"
#: templates/web/base/tokens/confirm_problem.html:36
-#: templates/web/base/tokens/confirm_problem.html:40
+#: templates/web/base/tokens/confirm_problem.html:41
msgid "I just reported a problem on @fixmystreet"
msgstr "لقد أبلغت الآن عن مشكلة على @fixmystreet"
-#: templates/web/base/tokens/confirm_update.html:19
-#: templates/web/base/tokens/confirm_update.html:23
+#: templates/web/base/tokens/confirm_update.html:20
+#: templates/web/base/tokens/confirm_update.html:25
msgid "I just updated a problem on @fixmystreet"
msgstr "لقد حدثت الآن مشكلة على @fixmystreet"
@@ -1561,8 +1584,8 @@ msgstr "نعتذر لك لم نستطع تحديد مشكلتك ÙÙŠ قاعدة
msgid "ID"
msgstr "المعرÙ"
-#: templates/web/base/admin/body-form.html:30
-#: templates/web/base/admin/body-form.html:31
+#: templates/web/base/admin/body-form.html:32
+#: templates/web/base/admin/body-form.html:33
msgid ""
"Identify a <strong>parent</strong> if this body is itself part of another body.\n"
" For basic installations, you don't need to join bodies in this way."
@@ -1570,10 +1593,18 @@ msgstr ""
"الرجاء تحديد <strong>عنصر رئيسي</strong> إذا كانت هذه الهيئة Ù†ÙØ³Ù‡Ø§ جزءًا من هيئة أخرى.\n"
" Ùيما يتعلق بالأنظمة الأساسية المثبتة، ÙØ¥Ù†Ùƒ لا تحتاج إلى ضم الهيئات بهذه الطريقة."
+#: templates/web/base/auth/token.html:19
+msgid "If there's a user associated with the address you entered, we've sent a confirmation email."
+msgstr ""
+
#: templates/web/base/admin/responsepriorities/edit.html:23
msgid "If this priority is passed to an external service (e.g. Exor/Confirm) enter the priority code to use with that service here."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:24
+msgid "If ticked the user won’t see an input field, just the ‘Description’ text."
+msgstr ""
+
#: templates/web/base/admin/contact-form.html:14
msgid ""
"If two or more bodies serve the same location, FixMyStreet combines identical categories into a single entry in\n"
@@ -1586,18 +1617,18 @@ msgstr ""
msgid "If you get some more information about the status of your problem, please come back to the site and leave an update."
msgstr "إذا حصلت على معلومات أكثر عن حالة مشكلتك, الرجاء العودة للموقع ووضع تحديث لذلك."
-#: templates/web/base/admin/responsepriorities/edit.html:33
+#: templates/web/base/admin/responsepriorities/edit.html:45
msgid "If you only want this priority to be an option for specific categories, pick them here. By default they will show for all categories."
-msgstr ""
+msgstr "اذا كنت تريد ان تكون هذه الاولوية خيارا Ù„ÙØ¦Ø© معينة، قم باختيارها هنا. سو٠تظهر لكل Ø§Ù„ÙØ¦Ø§Øª Ø§ÙØªØ±Ø§Ø¶ÙŠØ§."
#: templates/web/base/admin/template_edit.html:29
msgid "If you only want this template to be an option for specific categories, pick them here. By default they will show for all categories."
-msgstr ""
+msgstr "اذا كنت تريد ان تكون هذا النموذج خيارا Ù„ÙØ¦Ø© معينة، قم باختيارها هنا. سو٠تظهر لكل Ø§Ù„ÙØ¦Ø§Øª Ø§ÙØªØ±Ø§Ø¶ÙŠØ§."
#: templates/web/base/report/new/top_message_none.html:10
#: templates/web/base/report/new/top_message_none.html:9
msgid "If you submit a problem here the problem will <strong>not</strong> be reported to the council."
-msgstr ""
+msgstr "ÙÙŠ حالة تقديم مشكلة هنا، <strong>لن</strong> يتم الإبلاغ عن المشكلة للمجلس."
#: templates/web/base/admin/template_edit.html:36
msgid "If you want to use this template to prefill the update field when changing a report&rsquo;s state, select the state here."
@@ -1611,7 +1642,7 @@ msgstr ""
"إذا كنت ترغب ÙÙŠ ترك تحديث عام عن المشكلة، ÙØ§Ù„رجاء إدخاله هنا\n"
"(الرجاء ملاحظة أنه لن ÙŠÙØ±Ø³Ù„ إلى المجلس)."
-#: templates/web/base/admin/contact-form.html:30
+#: templates/web/base/admin/contact-form.html:32
msgid "If you're using <strong>a send method that is not email</strong>, enter the service ID (Open311) or equivalent identifier here."
msgstr "إذا كنت تستخدم <strong>أسلوب إرسال غير البريد الإلكتروني</strong>ØŒ ÙØ£Ø¯Ø®Ù„ معر٠الخدمة (Open311) أو المعر٠المقابل له هنا."
@@ -1646,7 +1677,7 @@ msgstr ""
" <strong>مستخدم</strong> FixMyStreet الذي سيوص٠بأنه منشئ هذه التحديثات\n"
" عندما تظهر على الموقع. أدخل معر٠(رقم) هذا المستخدم."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:133
+#: perllib/FixMyStreet/App/Controller/Contact.pm:134
msgid "Illegal ID"
msgstr "معر٠غير صالح"
@@ -1654,13 +1685,6 @@ msgstr "معر٠غير صالح"
msgid "Illegal feed selection"
msgstr "اختيار موجز غير صالح"
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "In Progress"
-msgstr "قيد التقدم"
-
#: templates/web/base/admin/flagged.html:39
msgid "In abuse table?"
msgstr "ÙÙŠ جدول المسيئين؟"
@@ -1669,18 +1693,17 @@ msgstr "ÙÙŠ جدول المسيئين؟"
msgid "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
msgstr "Ø¥Ø¶Ø§ÙØ© إلى ذلك، يتم إرجاع السمات التالية التي ليست جزءًا من Ù…ÙˆØ§ØµÙØ© Open311 v2: agency_sent_datetime Ùˆtitle (يرجع أيضًا كجزء من الوصÙ) Ùˆinterface_used Ùˆcomment_count Ùˆrequestor_name (يوجد إذا كان مقدم الطلب سمح بعرض الاسم على هذا الموقع)."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:192
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:954
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:9
-#: templates/web/base/report/banner.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:5
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:197
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:959
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:8
msgid "In progress"
msgstr "قيد التقدم"
+#: templates/web/base/admin/contact-form.html:57
+msgid "Inactive"
+msgstr ""
+
#: templates/web/base/tokens/confirm_alert.html:11
msgid "Inbox zero, here we come!"
msgstr "علبة الواردة ÙØ§Ø±ØºØ©ØŒ ها قد وصلنا!"
@@ -1697,11 +1720,15 @@ msgstr "تضمين التقارير غير المؤكدة"
msgid "Incorrect has_photo value \"%s\""
msgstr "قيمة has_photo غير صحيحة \"%s\""
-#: templates/web/base/admin/contact-form.html:84
+#: templates/web/base/report/_inspect.html:5
+msgid "Inspect report"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:85
msgid "Inspection required"
msgstr "يتطلب المعاينة"
-#: perllib/FixMyStreet/Cobrand/Default.pm:711
+#: perllib/FixMyStreet/Cobrand/Default.pm:715
msgid "Instruct contractors to fix problems"
msgstr "وجه المقاولون لإصلاح المشاكل"
@@ -1709,13 +1736,6 @@ msgstr "وجه المقاولون لإصلاح المشاكل"
msgid "Internal notes"
msgstr "ملاحظات داخلية"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:11
-msgid "Internal referral"
-msgstr "إحالة داخلية"
-
#: templates/web/base/offline/appcache.html:3
msgid "Internet glitch"
msgstr ""
@@ -1724,7 +1744,7 @@ msgstr ""
msgid "Invalid agency_responsible value %s"
msgstr "قيمة agency_responsible غير صالحة %s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1502
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1607
msgid "Invalid end date"
msgstr "تاريخ نهاية غير صالح"
@@ -1732,26 +1752,15 @@ msgstr "تاريخ نهاية غير صالح"
msgid "Invalid format %s specified."
msgstr "التنسيق المحدد %s غير صالح."
-#: perllib/FixMyStreet/App/Controller/Report.pm:398
+#: perllib/FixMyStreet/App/Controller/Report.pm:409
msgid "Invalid location. New location must be covered by the same council."
-msgstr ""
+msgstr "موقع غير صحيح. على الموقع الجديد ان يكون تحت Ù†ÙØ³ المجلس."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1498
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1603
msgid "Invalid start date"
msgstr "تاريخ البداية غير صالح"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:7
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:4
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Investigating"
-msgstr "جار٠التحقق"
-
-#: templates/web/base/contact/blurb.html:8
+#: templates/web/base/contact/blurb.html:2
msgid "It's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there."
msgstr "أسرع طريقة عادةً هي <a href=\"%s\">الاطلاع على الأسئلة المتداولة</a> والبحث عما إذا كانت الإجابة موجودة هناك أم لا."
@@ -1759,37 +1768,59 @@ msgstr "أسرع طريقة عادةً هي <a href=\"%s\">الاطلاع على
msgid "It’s on its way to the council right now."
msgstr "إنه ÙÙŠ الطريق إلى المجلس حاليًا."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:177
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:182
msgid "Jurisdiction Unknown"
msgstr "الصلاحية القضائية غير Ù…Ø¹Ø±ÙˆÙØ©"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:15
msgid "Jurisdiction unknown"
msgstr "الصلاحية القضائية غير Ù…Ø¹Ø±ÙˆÙØ©"
-#: templates/web/base/auth/general.html:91
+#: templates/web/base/auth/general.html:93
#: templates/web/base/report/new/form_user_loggedout_password.html:16
#: templates/web/base/report/update/form_user_loggedout_password.html:15
#: templates/web/zurich/auth/general.html:40
msgid "Keep me signed in on this computer"
msgstr "Ø§Ø­ØªÙØ¸ بتسجيل الدخول على هذا الكمبيوتر"
+#: templates/web/base/admin/extra-metadata-form.html:61
+msgid "Key"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:9
+#: templates/web/base/admin/states/index.html:95
+msgid "Label"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:6
+#: templates/web/base/admin/reportextrafields/edit.html:45
+msgid "Language"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/index.html:8
+msgid "Languages"
+msgstr ""
+
#: templates/web/base/dashboard/index.html:50
msgid "Last 4 weeks"
msgstr ""
#: templates/web/base/dashboard/index.html:49
-#, fuzzy
+#: templates/web/base/reports/index.html:38
msgid "Last 7 days"
-msgstr "آخر تحديث"
+msgstr ""
#: templates/web/base/admin/body.html:74
#: templates/web/zurich/admin/body.html:16
msgid "Last editor"
msgstr "آخر محرر"
+#: templates/web/base/questionnaire/index.html:25
+msgid "Last update"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:89
msgid "Last update:"
msgstr "آخر تحديث"
@@ -1798,23 +1829,27 @@ msgstr "آخر تحديث"
msgid "Last&nbsp;update:"
msgstr "آخر تحديث:"
-#: templates/web/base/report/_inspect.html:20
-#: templates/web/base/report/_item.html:86
+#: templates/web/base/report/_inspect.html:30
+#: templates/web/base/report/_item.html:88
msgid "Latitude/Longitude:"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:50
+#: templates/web/base/reports/_list-filters.html:61
msgid "Least recently updated"
-msgstr ""
+msgstr "الاقل تحديثا مؤخرا"
-#: templates/web/base/admin/body-form.html:127
+#: templates/web/base/admin/body-form.html:129
msgid "Leave this blank if all reports to this body should be sent using the same send method (e.g., \"%s\")."
msgstr "اترك هذا خاليًا إذا كان سيتم إرسال جميع التقارير إلى هذه الهيئة باستخدام Ù†ÙØ³ أسلوب الإرسال (على سبيل المثال \"%s\")."
-#: templates/web/base/dashboard/index.html:150
+#: templates/web/base/dashboard/index.html:151
msgid "Less than 7 days old"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:47
+msgid "List"
+msgstr ""
+
#: templates/web/base/admin/body.html:31
msgid "List all reported problems"
msgstr "عرض جميع المشكلات المبلّغ عنها"
@@ -1845,23 +1880,23 @@ msgstr "التنبيهات المحلية"
msgid "Locate the problem on a map of the area"
msgstr "تحديد موقع المشكلة على خريطة المنطقة"
-#: templates/web/base/auth/general.html:22
+#: templates/web/base/auth/general.html:24
#: templates/web/base/report/new/form_user_loggedout.html:6
#: templates/web/base/report/update/form_user_loggedout.html:7
msgid "Log in with Facebook"
msgstr ""
-#: templates/web/base/auth/general.html:30
+#: templates/web/base/auth/general.html:32
#: templates/web/base/report/new/form_user_loggedout.html:14
#: templates/web/base/report/update/form_user_loggedout.html:15
msgid "Log in with Twitter"
msgstr ""
-#: templates/web/base/js/translation_strings.html:59
+#: templates/web/base/js/translation_strings.html:62
msgid "Log in with email"
msgstr ""
-#: templates/web/base/dashboard/index.html:145
+#: templates/web/base/dashboard/index.html:146
#: templates/web/base/dashboard/index.html:38
msgid "Look up"
msgstr ""
@@ -1870,11 +1905,11 @@ msgstr ""
msgid "MAP"
msgstr "الخريطة"
-#: perllib/FixMyStreet/Cobrand/Default.pm:712
+#: perllib/FixMyStreet/Cobrand/Default.pm:716
msgid "Manage shortlist"
-msgstr ""
+msgstr "ادارة القائمة القصيرة"
-#: templates/web/base/reports/_list-filters.html:45
+#: templates/web/base/reports/_list-filters.html:56
msgid "Manual order"
msgstr ""
@@ -1890,19 +1925,11 @@ msgstr "اشر كمرسلة"
msgid "Mark users whose behaviour you want to keep a check on as <strong>flagged</strong>."
msgstr "تحديد المستخدمين الذين تريد وضع علامة على سلوكهم بأنه <strong>مشار إليه</strong>."
-#: templates/web/base/reports/index.html:27
-msgid "Marked fixed/closed in the past eight weeks"
-msgstr "تحديد ما تم إصلاحه/إغلاقه خلال الأسابيع الثمانية الماضية"
-
-#: templates/web/base/reports/index.html:28
-msgid "Marked fixed/closed more than eight weeks ago"
-msgstr "تحديد ما تم إصلاحه/إغلاقه منذ أكثر من ثمانية أسابيع"
-
-#: perllib/FixMyStreet/Cobrand/Default.pm:710
+#: perllib/FixMyStreet/Cobrand/Default.pm:714
msgid "Markup problem details"
-msgstr ""
+msgstr "حدد ØªÙØ§ØµÙŠÙ„ المشكلة."
-#: templates/web/base/contact/index.html:96
+#: templates/web/base/contact/index.html:100
msgid "Message"
msgstr "الرسالة"
@@ -1916,74 +1943,75 @@ msgstr "رسالة إلى الهيئة الخارجية:"
#: templates/web/base/admin/report_edit.html:71
msgid "Missing bodies:"
-msgstr ""
+msgstr "هيئات Ù…Ùقودة:"
#: perllib/FixMyStreet/App/Controller/Open311.pm:437
msgid "Missing jurisdiction_id"
msgstr " jurisdiction_id غير موجود"
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate"
-msgstr ""
+msgstr "إشراÙ"
-#: perllib/FixMyStreet/Cobrand/Default.pm:706
+#: perllib/FixMyStreet/Cobrand/Default.pm:710
msgid "Moderate report details"
-msgstr ""
+msgstr "قم بالاشرا٠على ØªÙØ§ØµÙŠÙ„ التبليغ"
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate this report"
-msgstr ""
+msgstr "قم بالاشرا٠على التبليغ"
#: templates/web/base/report/update.html:12
-#, fuzzy
msgid "Moderate this update"
-msgstr "تم الإبلاغ عنها بواسطة %s ÙÙŠ %s"
+msgstr ""
-#: templates/web/base/report/_main.html:69
-#: templates/web/base/report/update.html:49
-#, fuzzy
+#: templates/web/base/report/_main.html:73
+#: templates/web/base/report/update.html:58
msgid "Moderated by %s at %s"
-msgstr "تم الإبلاغ عنها بواسطة %s ÙÙŠ %s"
+msgstr ""
#: templates/web/zurich/admin/stats.html:34
msgid "Moderated by division within one working day"
msgstr "تمت المعالجة بواسطة القسم خلال يوم عمل واحد"
-#: templates/web/base/report/_main.html:109
-#: templates/web/base/report/update.html:57
-#, fuzzy
+#: templates/web/base/report/_main.html:113
+#: templates/web/base/report/update.html:66
msgid "Moderation reason:"
-msgstr "مناطق أخرى:"
+msgstr ""
#: templates/web/base/admin/stats.html:11
msgid "Month"
msgstr "الشهر"
-#: templates/web/base/reports/_list-filters.html:51
+#: templates/web/base/reports/_list-filters.html:62
msgid "Most commented"
msgstr "الأكثر تعليقا"
#: templates/web/base/admin/bodies.html:25
#: templates/web/base/admin/body-form.html:24
+#: templates/web/base/admin/extra-metadata-form.html:65
#: templates/web/base/admin/flagged.html:16
#: templates/web/base/admin/flagged.html:37
#: templates/web/base/admin/index.html:62
#: templates/web/base/admin/list_updates.html:7
+#: templates/web/base/admin/reportextrafields/edit.html:11
+#: templates/web/base/admin/reportextrafields/index.html:6
#: templates/web/base/admin/reports.html:14
#: templates/web/base/admin/responsepriorities/list.html:6
+#: templates/web/base/admin/states/index.html:108
+#: templates/web/base/admin/states/index.html:11
#: templates/web/base/admin/users.html:16
-#: templates/web/base/auth/general.html:106
-#: templates/web/base/report/new/form_user_loggedin.html:40
+#: templates/web/base/auth/general.html:108
+#: templates/web/base/report/new/form_user_loggedin.html:42
#: templates/web/base/report/new/form_user_loggedout_by_email.html:7
-#: templates/web/base/report/update/form_name.html:23
-#: templates/web/base/reports/index.html:23
+#: templates/web/base/report/update/form_name.html:27
#: templates/web/zurich/admin/body-form.html:4
#: templates/web/zurich/auth/general.html:60
#: templates/web/zurich/report/new/fill_in_details_form.html:59
msgid "Name"
msgstr "الاسم"
-#: templates/web/base/admin/report_edit.html:139
+#: templates/web/base/admin/report_edit.html:127
#: templates/web/base/admin/responsepriorities/edit.html:13
#: templates/web/base/admin/update_edit.html:34
#: templates/web/base/admin/user-form.html:16
@@ -1995,43 +2023,48 @@ msgstr "الاسم:"
msgid "Name: %s"
msgstr "الاسم: %s"
-#: templates/web/base/report/_inspect.html:28
+#: templates/web/base/report/_inspect.html:38
msgid "Navigate to this problem"
-msgstr ""
+msgstr "انتقل الى هذه المشكلة"
#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:160
#: perllib/FixMyStreet/Geocode/OSM.pm:145
msgid "Nearest named road to the pin placed on the map (automatically generated using OpenStreetMap): %s%s"
msgstr "أقرب طريق مسمى للدبوس الموضوع على الخريطة (يتم إنشاؤه تلقائيًا باستخدام OpenStreetMap): %s%s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:129
+#: perllib/FixMyStreet/Cobrand/UK.pm:134
msgid "Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"
msgstr "أقرب رمز بريدي للدبوس الموضوع على الخريطة (يتم إنشاؤه تلقائيًا): %s (على بعد %s متر)"
-#: perllib/FixMyStreet/Cobrand/Default.pm:527
-#: perllib/FixMyStreet/Cobrand/Default.pm:567
+#: perllib/FixMyStreet/Cobrand/Default.pm:538
+#: perllib/FixMyStreet/Cobrand/Default.pm:566
msgid "Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"
msgstr "أقرب شارع مسمى للدبوس الموضوع على الخريطة (يتم إنشاؤه تلقائيًا باستخدام خرائط Bing): %s"
-#: perllib/FixMyStreet/Script/Alerts.pm:319
+#: perllib/FixMyStreet/Script/Alerts.pm:316
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s\n"
"\n"
msgstr "أقرب شارع مسمى للدبوس الموضوع على الخريطة (يتم إنشاؤه تلقائيًا باستخدام خرائط Bing): %s\n"
-#: templates/web/base/auth/token.html:17 templates/web/base/email_sent.html:5
+#: templates/web/base/auth/token.html:18
+msgid "Nearly done!"
+msgstr ""
+
+#: templates/web/base/auth/token.html:22 templates/web/base/email_sent.html:5
msgid "Nearly done! Now check your email&hellip;"
msgstr "أوشكنا على الانتهاء! راجع البريد الإلكتروني الآن&hellip;"
-#: templates/web/base/reports/index.html:24
-msgid "New <br>problems"
-msgstr "المشكلات <br>الجديدة"
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:131
+#, fuzzy
+msgid "New"
+msgstr "الأحدث"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:259
+#: perllib/FixMyStreet/App/Controller/Admin.pm:262
msgid "New body added"
msgstr "تمت Ø¥Ø¶Ø§ÙØ© هيئة جديدة"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:405
+#: perllib/FixMyStreet/App/Controller/Admin.pm:386
msgid "New category contact added"
msgstr "تمت Ø¥Ø¶Ø§ÙØ© جهة اتصال جديدة Ù„Ù„ÙØ¦Ø©"
@@ -2057,7 +2090,7 @@ msgid "New password:"
msgstr "كلمة مرور جديدة:"
#: templates/web/base/admin/responsepriorities/edit.html:4
-#: templates/web/base/admin/responsepriorities/list.html:32
+#: templates/web/base/admin/responsepriorities/list.html:34
msgid "New priority"
msgstr "أولوية جديدة"
@@ -2086,6 +2119,7 @@ msgid "New reports"
msgstr "تقارير جديدة"
#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/states/index.html:91
msgid "New state"
msgstr "حالة جديدة"
@@ -2095,7 +2129,7 @@ msgstr "حالة جديدة"
msgid "New template"
msgstr "قالب جديد"
-#: templates/web/base/reports/_list-filters.html:47
+#: templates/web/base/reports/_list-filters.html:58
msgid "Newest"
msgstr "الأحدث"
@@ -2103,20 +2137,19 @@ msgstr "الأحدث"
msgid "Next"
msgstr "التالي"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1203
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
+#: perllib/FixMyStreet/Cobrand/Default.pm:1237
#: templates/web/base/admin/category_edit.html:4
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:137
+#: templates/web/base/admin/report_edit.html:125
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:26
#: templates/web/base/questionnaire/creator_fixed.html:16
#: templates/web/base/questionnaire/index.html:106
#: templates/web/base/questionnaire/index.html:55
+#: templates/web/base/report/_inspect.html:92
msgid "No"
msgstr "لا"
@@ -2132,7 +2165,7 @@ msgstr "لا هيئة"
msgid "No council"
msgstr "لا مجلس"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:445
+#: perllib/FixMyStreet/DB/Result/Problem.pm:372
msgid "No council selected"
msgstr "لم يتم تحديد مجلس"
@@ -2148,25 +2181,16 @@ msgstr "لم يتم العثور على مشكلات مشار إليها."
msgid "No flagged users found."
msgstr "لم يتم العثور على مستخدمين مشار إليهم."
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:14
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:8
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "No further action"
-msgstr "يتعذر الإصلاح"
-
#: templates/web/zurich/admin/report_edit-sdm.html:125
#: templates/web/zurich/admin/report_edit.html:259
msgid "No further updates"
msgstr "لا توجد تحديثات إضاÙية"
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:84
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:68
msgid "No inspections by that inspector in the selected date range."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:86
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:70
msgid "No inspections in the selected date range."
msgstr ""
@@ -2174,8 +2198,8 @@ msgstr ""
msgid "No result returned"
msgstr "لم يتم إرجاع أي نتائج"
-#: templates/web/base/admin/body-form.html:66
-#: templates/web/base/admin/body-form.html:67
+#: templates/web/base/admin/body-form.html:68
+#: templates/web/base/admin/body-form.html:69
msgid ""
"No specific areas are currently available, because the <code>MAPIT_URL</code> in\n"
" your config file is not pointing to a live MapIt service."
@@ -2200,6 +2224,9 @@ msgid ""
"Normal (public) users should not be associated with any <strong>area</strong>.<br>\n"
" Authorised staff users can be associated with the area in which they operate."
msgstr ""
+"لا يجوز إقران المستخدمين العاديين (العموميين) بأي <strong>منطقة</strong>.<br>\n"
+" يمكن إقران المستخدمين الموظÙين المعتمدين بالمنطقةالتي يعملون Ùيها.<br>\n"
+" "
#: templates/web/base/admin/user-form.html:28
#: templates/web/base/admin/user-form.html:29
@@ -2214,17 +2241,8 @@ msgstr ""
" تبعًا للتنÙيذ، يمكن أن يكون لدى المستخدمين الموظÙين حق الوصول إلى لوحة المعلومات (ملخص\n"
" الأنشطة عبر الهيئة التي يمثلونها)ØŒ أو القدرة على Ø¥Ø®ÙØ§Ø¡ التقارير أو تعيين حالات خاصة للتقارير."
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:9
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "Not Responsible"
-msgstr "غير مسؤول"
-
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:181
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:186
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:933
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:13
msgid "Not contactable"
@@ -2243,7 +2261,7 @@ msgid "Not reported to council"
msgstr "لم يتم إبلاغ المجلس"
#: templates/web/base/admin/body.html:75
-#: templates/web/base/admin/category_edit.html:57
+#: templates/web/base/admin/category_edit.html:31
#: templates/web/zurich/admin/body.html:17
msgid "Note"
msgstr "ملاحظة"
@@ -2253,7 +2271,7 @@ msgid "Note that when including unconfirmed reports we use the date the report w
msgstr "لاحظ أنه عند تضمين التقارير غير المؤكدة ÙØ¥Ù†Ù†Ø§ نستخدم تاريخ إنشاء التقرير والذي قد لا يكون ÙÙŠ Ù†ÙØ³ شهر تأكيد التقرير، لذلك قد تتغير الأرقام قليلاً."
#: templates/web/zurich/admin/body.html:55
-#: templates/web/zurich/admin/contact-form.html:17
+#: templates/web/zurich/admin/contact-form.html:19
msgid "Note:"
msgstr "ملاحظة:"
@@ -2265,6 +2283,10 @@ msgstr "ملاحظة: <strong>%s</strong>"
msgid "Notes from SDM to DM"
msgstr "ملاحظات من رئيس المنطقة Ø§Ù„ÙØ±Ø¹ÙŠØ© لرئيس المنطقة:"
+#: templates/web/base/admin/extra-metadata-form.html:26
+msgid "Notice"
+msgstr ""
+
#: templates/web/base/report/new/oauth_email_form.html:17
msgid "Now to submit your report&hellip;"
msgstr "الآن حان وقت تقديم التقرير&hellip;"
@@ -2275,66 +2297,46 @@ msgstr "الآن حان وقت تقديم التقرير&hellip;"
msgid "Now to submit your update&hellip;"
msgstr "الآن حان وقت تقديم التحديث&hellip;"
+#: templates/web/base/reports/index.html:98
+msgid "Number of problems reported in each category, in the last 7 days."
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:43
msgid "OK"
msgstr "مواÙÙ‚"
-#: templates/web/base/js/translation_strings.html:67
+#: templates/web/base/js/translation_strings.html:70
msgid "Offline data cleared"
msgstr ""
-#: templates/web/base/js/translation_strings.html:64
+#: templates/web/base/js/translation_strings.html:67
msgid "Offline update data saved"
msgstr ""
-#: templates/web/base/reports/index.html:26
-msgid "Old / unknown <br>problems"
-msgstr "المشكلات القديمة/غير <br>Ø§Ù„Ù…Ø¹Ø±ÙˆÙØ©"
-
#: templates/web/base/admin/questionnaire.html:24
msgid "Old state"
msgstr "حالة قديمة"
-#: templates/web/base/reports/index.html:28
-msgid "Older <br>fixed"
-msgstr "المشكلات القديمة التي تم <br>إصلاحها"
-
-#: templates/web/base/reports/index.html:25
-msgid "Older <br>problems"
-msgstr "المشكلات <br>القديمة"
-
-#: templates/web/base/reports/_list-filters.html:48
+#: templates/web/base/reports/_list-filters.html:59
msgid "Oldest"
msgstr "الأقدم"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:900
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:25
-#: templates/web/base/admin/report_blocks.html:6
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:905
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:10
+#: templates/web/base/admin/states/index.html:102
+#: templates/web/base/admin/states/index.html:25
+#: templates/web/base/admin/states/index.html:32
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:3
-#: templates/web/base/report/update/form_update.html:41
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:7
#: templates/web/zurich/admin/update_edit.html:18
msgid "Open"
msgstr "Ù…ÙØªÙˆØ­"
-#: templates/web/base/reports/index.html:25
-msgid "Open for more than four weeks, with an update within the past eight weeks"
-msgstr "Ù…ÙØªÙˆØ­ لأكثر من أربعة أسابيع، مع وجود تحديث خلال الأسابيع الثمانية الماضية"
-
-#: templates/web/base/reports/index.html:26
-msgid "Open, but not had any update in eight weeks"
-msgstr "Ù…ÙØªÙˆØ­ØŒ ولكن لا يوجد أي تحديث خلال ثمانية أسابيع"
-
#: templates/web/base/admin/open311-form-fields.html:47
msgid "Open311 API Key"
-msgstr ""
+msgstr "API Open311 Ù…ÙØªØ§Ø­ "
#: templates/web/base/open311/index.html:62
msgid "Open311 API for the mySociety FixMyStreet server"
@@ -2342,7 +2344,7 @@ msgstr "واجهة Open311 API لخادم mySociety FixMyStreet"
#: templates/web/base/admin/open311-form-fields.html:34
msgid "Open311 Jurisdiction"
-msgstr ""
+msgstr "صلاحيات Open311"
#: templates/web/base/open311/index.html:72
msgid "Open311 initiative web page"
@@ -2352,26 +2354,39 @@ msgstr "ØµÙØ­Ø© ويب مبادرة Open311"
msgid "Open311 specification"
msgstr "Ù…ÙˆØ§ØµÙØ© Open311"
-#: templates/web/base/alert/_list.html:61
-msgid "Or problems reported to:"
-msgstr "أو المشكلات المبلغ عنها إلى:"
-
-#: templates/web/base/alert/_list.html:37
-msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
-msgstr "أو يمكنك الاشتراك للحصول على تنبيه تبعًا للإدارة أو المجلس الذي تتبعه:"
-
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:1061
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:659
-#: perllib/FixMyStreet/DB/Result/Problem.pm:642
-#: perllib/FixMyStreet/DB/Result/Problem.pm:649
-#: perllib/FixMyStreet/DB/Result/Problem.pm:664
-#: perllib/FixMyStreet/DB/Result/Problem.pm:673
+#: templates/web/base/admin/extra-metadata-form.html:53
+#, fuzzy
+msgid "Options"
+msgstr "إختياري"
+
+#: templates/web/base/alert/_list.html:84
+msgid "Or subscribe by RSS"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:8
+msgid "Order"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1107
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:675
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:676
+#: perllib/FixMyStreet/DB/Result/Problem.pm:579
+#: perllib/FixMyStreet/DB/Result/Problem.pm:586
+#: perllib/FixMyStreet/DB/Result/Problem.pm:601
+#: perllib/FixMyStreet/DB/Result/Problem.pm:610
#: perllib/FixMyStreet/Script/Reports.pm:183
#: perllib/FixMyStreet/Script/Reports.pm:198
msgid "Other"
msgstr "أخرى"
+#: templates/web/base/reports/index.html:107
+msgid "Other categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:92
+msgid "Overall average"
+msgstr ""
+
#: templates/web/base/admin/list_updates.html:8
msgid "Owner"
msgstr "المالك"
@@ -2381,17 +2396,16 @@ msgstr "المالك"
msgid "Page Not Found"
msgstr "لم يتم العثور على Ø§Ù„ØµÙØ­Ø©"
-#: templates/web/base/admin/body-form.html:37
+#: templates/web/base/admin/body-form.html:39
#: templates/web/zurich/admin/body-form.html:14
msgid "Parent"
msgstr "العنصر الرئيسي"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:20
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:61
msgid "Partial"
msgstr "جزئي"
-#: templates/web/base/auth/general.html:109
+#: templates/web/base/auth/general.html:111
#: templates/web/base/report/new/form_user_loggedout_by_email.html:28
#: templates/web/base/report/update/form_user_loggedout_by_email.html:6
#: templates/web/zurich/auth/general.html:32
@@ -2399,7 +2413,7 @@ msgstr "جزئي"
msgid "Password (optional)"
msgstr "كلمة المرور (اختياري)"
-#: templates/web/base/auth/general.html:82
+#: templates/web/base/auth/general.html:84
msgid "Password:"
msgstr "كلمة المرور:"
@@ -2411,17 +2425,22 @@ msgstr "الارتباط الثابت"
msgid "Permissions:"
msgstr "الصلاحيات:"
+#: templates/web/base/report/_inspect.html:19
+#, fuzzy
+msgid "Phone Reporter:"
+msgstr "تم الإبلاغ:"
+
#: templates/web/zurich/report/new/fill_in_details_form.html:65
msgid "Phone number"
msgstr "رقم الهاتÙ"
-#: templates/web/base/report/new/form_user_loggedin.html:57
+#: templates/web/base/report/new/form_user_loggedin.html:59
#: templates/web/base/report/new/form_user_loggedout_by_email.html:25
msgid "Phone number (optional)"
msgstr "رقم الهات٠(اختياري)"
#: perllib/FixMyStreet/Script/Reports.pm:87
-#: templates/web/base/admin/report_edit.html:146
+#: templates/web/base/admin/report_edit.html:134
#: templates/web/base/admin/user-form.html:21
#: templates/web/zurich/admin/stats.html:39
msgid "Phone:"
@@ -2430,9 +2449,9 @@ msgstr "الهاتÙ:"
#: templates/web/base/questionnaire/index.html:78
#: templates/web/base/questionnaire/index.html:93
#: templates/web/base/questionnaire/index.html:95
-#: templates/web/base/report/new/form_report.html:28
-#: templates/web/base/report/new/form_report.html:43
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/new/form_report.html:45
+#: templates/web/base/report/new/form_report.html:47
#: templates/web/base/report/update/form_update.html:22
#: templates/web/base/report/update/form_update.html:24
#: templates/web/base/report/update/form_update.html:7
@@ -2450,12 +2469,12 @@ msgstr "الصورة"
msgid "Photo is required."
msgstr "الصورة مطلوبة."
-#: templates/web/zurich/admin/contact-form.html:14
+#: templates/web/zurich/admin/contact-form.html:16
msgid "Photo required"
msgstr "الصورة مطلوبة"
#: templates/web/base/questionnaire/index.html:78
-#: templates/web/base/report/new/form_report.html:28
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/update/form_update.html:7
#: templates/web/zurich/report/new/fill_in_details_form.html:20
msgid "Photos"
@@ -2465,17 +2484,18 @@ msgstr "الصور"
msgid "Photos of recent nearby reports"
msgstr "صور التقارير القريبة الحديثة"
+#: templates/web/base/reports/index.html:63
+#: templates/web/base/reports/index.html:66
+msgid "Pick your council"
+msgstr ""
+
#: templates/web/base/around/display_location.html:76
#: templates/web/base/js/translation_strings.html:30
msgid "Place pin on map"
msgstr "وضع دبوس على الخريطة"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:940
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:946
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:8
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:945
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:951
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:9
#: templates/web/zurich/admin/index-dm.html:9
@@ -2493,31 +2513,27 @@ msgstr "الرجاء التحقق من كلمات المرور وإعادة ال
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:18
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:43
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:45
#: templates/web/zurich/auth/general.html:3
#: templates/web/zurich/auth/general.html:9
msgid "Please check your email address is correct"
msgstr "الرجاء التحقق من أن عنوان البريد الإلكتروني صحيح"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:350
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:844
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:867
-#: perllib/FixMyStreet/DB/Result/Problem.pm:456
+#: perllib/FixMyStreet/App/Controller/Admin.pm:329
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:873
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:896
+#: perllib/FixMyStreet/DB/Result/Problem.pm:383
#: templates/web/base/js/translation_strings.html:9
msgid "Please choose a category"
msgstr "الرجاء اختيار ÙØ¦Ø©"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:462
-msgid "Please choose a property type"
-msgstr "الرجاء اختيار نوع العقار"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:396
+#: perllib/FixMyStreet/App/Controller/Admin.pm:377
#: templates/web/base/admin/bodies.html:4 templates/web/base/admin/body.html:11
msgid "Please correct the errors below"
msgstr "الرجاء تصحيح الأخطاء التالية"
-#: templates/web/base/contact/blurb.html:12
+#: templates/web/base/contact/blurb.html:6
msgid ""
"Please do <strong>not</strong> report problems through this form; messages go to\n"
"the team behind this site, not a council. To report a problem,\n"
@@ -2531,20 +2547,20 @@ msgstr ""
msgid "Please do not be abusive&nbsp;&mdash; abusing your council devalues the service for all users."
msgstr "الرجاء عدم إساءة الاستعمال؛ ÙØ¥Ø³Ø§Ø¡Ø© استعمال المجلس يتسبب ÙÙŠ تقليل قيمة الخدمة المقدمة لكل المستخدمين."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:351
-#: perllib/FixMyStreet/DB/Result/Comment.pm:127
+#: perllib/FixMyStreet/App/Controller/Admin.pm:330
+#: perllib/FixMyStreet/DB/Result/Comment.pm:128
#: templates/web/base/js/translation_strings.html:2
msgid "Please enter a message"
msgstr "الرجاء إدخال رسالة"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1200
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1364
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1305
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1469
msgid "Please enter a name"
msgstr "الرجاء إدخال اسمك"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:478
+#: perllib/FixMyStreet/App/Controller/Admin.pm:497
msgid "Please enter a name for this body"
-msgstr ""
+msgstr "الرجاء ادخال اسم لهذه الهيئة."
#: templates/web/base/auth/change_password.html:22
#: templates/web/base/auth/change_password.html:25
@@ -2552,15 +2568,15 @@ msgstr ""
msgid "Please enter a password"
msgstr "الرجاء إدخال كلمة مرور"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:114
-#: perllib/FixMyStreet/DB/Result/Problem.pm:439
+#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/DB/Result/Problem.pm:366
#: templates/web/base/js/translation_strings.html:3
msgid "Please enter a subject"
msgstr "الرجاء إدخال موضوع"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1197
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1361
-#: perllib/FixMyStreet/App/Controller/Admin.pm:363
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1302
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1466
+#: perllib/FixMyStreet/App/Controller/Admin.pm:343
#: perllib/FixMyStreet/DB/Result/User.pm:164
#: templates/web/base/js/translation_strings.html:12
#: templates/web/base/js/translation_strings.html:16
@@ -2568,21 +2584,21 @@ msgid "Please enter a valid email"
msgstr "الرجاء إدخال بريد إلكتروني صالح"
#: perllib/FixMyStreet/App/Controller/Alert.pm:350
-#: perllib/FixMyStreet/App/Controller/Contact.pm:124
+#: perllib/FixMyStreet/App/Controller/Contact.pm:125
msgid "Please enter a valid email address"
msgstr "الرجاء إدخال عنوان بريد إلكتروني صالح"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:442
+#: perllib/FixMyStreet/DB/Result/Problem.pm:369
#: templates/web/base/js/translation_strings.html:4
msgid "Please enter some details"
msgstr "الرجاء إدخال بعض Ø§Ù„ØªÙØ§ØµÙŠÙ„"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/App/Controller/Contact.pm:114
#: perllib/FixMyStreet/DB/Result/User.pm:161
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:17
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:42
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:44
#: templates/web/base/js/translation_strings.html:11
#: templates/web/base/js/translation_strings.html:15
#: templates/web/zurich/auth/general.html:3
@@ -2599,14 +2615,14 @@ msgstr "الرجاء إدخال عنوان بريدك الإلكتروني"
msgid "Please enter your first name"
msgstr "الرجاء إدخال الاسم الأول"
-#: perllib/FixMyStreet/Cobrand/UK.pm:320
+#: perllib/FixMyStreet/Cobrand/UK.pm:326
#: templates/web/base/js/translation_strings.html:7
msgid "Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below"
msgstr "الرجاء إدخال الاسم الكامل؛ ÙØ§Ù„مجالس تحتاج هذه المعلومة - إذا كنت لا ترغب ÙÙŠ إظهار اسمك على الموقع، ÙØ£Ù„غ٠تحديد هذا المربع الموجود بالأسÙÙ„"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:112
-#: perllib/FixMyStreet/DB/Result/Comment.pm:124
-#: perllib/FixMyStreet/DB/Result/Problem.pm:450
+#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/DB/Result/Comment.pm:125
+#: perllib/FixMyStreet/DB/Result/Problem.pm:377
#: perllib/FixMyStreet/DB/Result/User.pm:157
#: templates/web/base/js/translation_strings.html:6
msgid "Please enter your name"
@@ -2669,9 +2685,9 @@ msgstr "يرجى ملاحظة أن تحديثك <strong>لم يتم نشره بØ
msgid "Please note:"
msgstr "الرجاء ملاحظة:"
-#: perllib/FixMyStreet/App/Controller/Report.pm:358
+#: perllib/FixMyStreet/App/Controller/Report.pm:353
msgid "Please provide a public update for this report."
-msgstr ""
+msgstr "الرجاء تقديم تحديث عام لهذا التقرير."
#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:242
msgid "Please provide some explanation as to why you're reopening this report"
@@ -2705,11 +2721,11 @@ msgstr "الرجاء تحديد ما إذا كانت المشكلة قد تم ح
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:122
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:156
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:158
-#: templates/web/base/js/translation_strings.html:57
+#: templates/web/base/js/translation_strings.html:60
msgid "Please upload an image only"
msgstr "الرجاء تحميل صورة Ùقط"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/App/Controller/Contact.pm:116
msgid "Please write a message"
msgstr "الرجاء كتابة رسالة"
@@ -2717,30 +2733,29 @@ msgstr "الرجاء كتابة رسالة"
msgid "Please write your update here"
msgstr "الرجاء كتابة التحديث هنا"
-#: templates/web/base/contact/index.html:103
#: templates/web/base/report/update-form.html:25
#: templates/web/base/report/update/form_user_loggedout_by_email.html:14
#: templates/web/base/report/update/form_user_loggedout_password.html:10
msgid "Post"
msgstr "نشر"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:242
+#: perllib/FixMyStreet/DB/Result/Comment.pm:231
msgid "Posted anonymously at %s"
msgstr "نشر بدون تحديد الهوية ÙÙŠ %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:257
+#: perllib/FixMyStreet/DB/Result/Comment.pm:255
msgid "Posted by %s at %s"
msgstr "تم النشر بواسطة %s ÙÙŠ %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:252
+#: perllib/FixMyStreet/DB/Result/Comment.pm:243
msgid "Posted by <strong>%s</strong> (%s) at %s"
msgstr "تم النشر بواسطة <strong>%s</strong> (%s) ÙÙŠ %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:254
+#: perllib/FixMyStreet/DB/Result/Comment.pm:245
msgid "Posted by <strong>%s</strong> at %s"
msgstr "تم النشر بواسطة <strong>%s</strong> ÙÙŠ %s"
-#: templates/web/base/front/footer-marketing.html:12
+#: templates/web/base/front/footer-marketing.html:6
msgid "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
msgstr "مشغّل بواسطة <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">نظام FixMyStreet الأساسي</a>"
@@ -2752,8 +2767,8 @@ msgstr "السابق"
msgid "Priorities"
msgstr "أولويات"
-#: templates/web/base/report/_inspect.html:113
-#: templates/web/base/report/_item.html:98
+#: templates/web/base/report/_inspect.html:123
+#: templates/web/base/report/_item.html:100
msgid "Priority"
msgstr "أولوية"
@@ -2767,16 +2782,15 @@ msgstr "الخصوصية"
msgid "Privacy and cookies"
msgstr "الخصوصية ÙˆÙ…Ù„ÙØ§Øª تعري٠الارتباط"
-#: templates/web/base/admin/body.html:91
-#: templates/web/base/admin/contact-form.html:74
-#: templates/web/base/admin/report_edit.html:149
+#: templates/web/base/admin/body.html:88
+#: templates/web/base/admin/contact-form.html:75
+#: templates/web/base/admin/report_edit.html:137
msgid "Private"
msgstr "خاص"
#: templates/web/base/report/new/form_user.html:1
-#, fuzzy
msgid "Private details"
-msgstr "ØªÙØ§ØµÙŠÙ„ إضاÙية"
+msgstr ""
#: templates/web/base/maps/pin.html:13
msgid "Problem"
@@ -2800,7 +2814,7 @@ msgstr "تم إرسال المشكلة %s إلى المجلس %s"
msgid "Problem breakdown by state"
msgstr "تصني٠المشكلة حسب الحالة"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1167
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1272
msgid "Problem marked as open."
msgstr "تم وضع علامة \"Ù…ÙØªÙˆØ­\" على المشكلة."
@@ -2808,11 +2822,16 @@ msgstr "تم وضع علامة \"Ù…ÙØªÙˆØ­\" على المشكلة."
msgid "Problem state change based on survey results"
msgstr "يتم تغيير حالة المشكلة حسب نتائج الاستطلاع"
-#: perllib/FixMyStreet/Cobrand/Default.pm:705
+#: perllib/FixMyStreet/Cobrand/Default.pm:709
#: templates/web/base/admin/flagged.html:10
msgid "Problems"
msgstr "المشكلات"
+#: templates/web/base/alert/_list.html:22
+#, fuzzy
+msgid "Problems in an area"
+msgstr "المشكلات ضمن حدود دائرة %s"
+
#: templates/web/base/report/display_tools.html:22
msgid "Problems nearby"
msgstr "المشكلات القريبة"
@@ -2825,30 +2844,33 @@ msgstr "المشكلات على الخريطة"
msgid "Problems recently reported fixed on FixMyStreet"
msgstr "المشكلات المبلّغ عنها مؤخرًا على FixMyStreet"
-#: templates/web/base/alert/_list.html:22
-msgid "Problems within %.1fkm of this location"
+#: templates/web/base/alert/_list.html:29
+#, fuzzy
+msgid "Problems within %.1fkm of %s"
msgstr "المشكلات الموجودة ضمن %.1f كم من هذا الموقع"
-#: perllib/FixMyStreet/Cobrand/Default.pm:833
+#: perllib/FixMyStreet/Cobrand/Default.pm:838
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:137
-#: perllib/FixMyStreet/Cobrand/UK.pm:209
+#: perllib/FixMyStreet/Cobrand/UK.pm:215 perllib/FixMyStreet/Cobrand/UK.pm:257
+#: perllib/FixMyStreet/Cobrand/UK.pm:269
msgid "Problems within %s"
msgstr "المشكلات ضمن حدود %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:223
+#: perllib/FixMyStreet/Cobrand/UK.pm:229
msgid "Problems within %s ward"
msgstr "المشكلات ضمن حدود دائرة %s"
+#: perllib/FixMyStreet/Cobrand/UK.pm:263 perllib/FixMyStreet/Cobrand/UK.pm:275
+#, fuzzy
+msgid "Problems within %s ward, %s"
+msgstr "المشكلات ضمن حدود دائرة %s"
+
#. ("First %s is the body name, second %s the site name")
#: templates/web/base/reports/body.html:0
#: templates/web/base/reports/body.html:25
msgid "Problems within %s, %s"
msgstr "المشكلات ضمن حدود %s، %s"
-#: templates/web/base/alert/_list.html:43
-msgid "Problems within the boundary of:"
-msgstr "المشكلات ضمن حدود:"
-
#: templates/web/base/admin/report_edit.html:74
msgid "Property address:"
msgstr "عنوان الملكية:"
@@ -2858,11 +2880,11 @@ msgstr "عنوان الملكية:"
msgid "Provide an update"
msgstr "قدّم تحديثًا"
-#: templates/web/base/report/update/form_name.html:9
+#: templates/web/base/report/update/form_name.html:10
msgid "Provide update as"
-msgstr ""
+msgstr "قدم التحديث كـ"
-#: templates/web/base/auth/general.html:112
+#: templates/web/base/auth/general.html:114
msgid "Providing a name and password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
msgstr "تقديم الاسم وكلمة المرور اختياري، ولكن ÙØ¹Ù„ ذلك يتيح لك الإبلاغ عن المشكلات ÙˆØ¥Ø¶Ø§ÙØ© التحديثات وإدارة التقارير بسهولة أكبر."
@@ -2872,18 +2894,17 @@ msgid "Providing a password is optional, but doing so will allow you to more eas
msgstr "تقديم كلمة المرور اختياري، ولكن ÙØ¹Ù„ ذلك يتيح لك الإبلاغ عن المشكلات ÙˆØ¥Ø¶Ø§ÙØ© التحديثات وإدارة التقارير بسهولة أكبر."
#: templates/web/base/report/new/form_report.html:10
-#, fuzzy
msgid "Public details"
-msgstr "الاستجابة العامة:"
+msgstr ""
#: templates/web/zurich/admin/report_edit.html:241
#: templates/web/zurich/admin/report_edit.html:268
msgid "Public response:"
msgstr "الاستجابة العامة:"
-#: templates/web/base/report/_inspect.html:152
+#: templates/web/base/report/_inspect.html:162
msgid "Public update:"
-msgstr ""
+msgstr "التحديث العام:"
#: templates/web/zurich/admin/report_edit.html:123
#: templates/web/zurich/admin/stats.html:38
@@ -2909,7 +2930,7 @@ msgstr "تم إرسال الاستبيان %d للمشكلة %d"
msgid "Questionnaire filled in by problem reporter"
msgstr "تمت تعبئة الاستبيان بواسطة المبلّغ عن المشكلة"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
#: templates/web/base/alert/updates.html:9
#: templates/web/base/around/display_location.html:1
#: templates/web/base/around/display_location.html:3
@@ -2917,11 +2938,11 @@ msgstr "تمت تعبئة الاستبيان بواسطة المبلّغ عن ا
msgid "RSS feed"
msgstr "موجز RSS"
-#: perllib/FixMyStreet/Cobrand/UK.pm:252 perllib/FixMyStreet/Cobrand/UK.pm:264
+#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
msgid "RSS feed for %s"
msgstr "موجز RSS لـ %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
+#: perllib/FixMyStreet/Cobrand/UK.pm:264 perllib/FixMyStreet/Cobrand/UK.pm:276
msgid "RSS feed for %s ward, %s"
msgstr "موجز RSS لدائرة %s، %s"
@@ -2929,25 +2950,25 @@ msgstr "موجز RSS لدائرة %s، %s"
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:179
-#: perllib/FixMyStreet/Cobrand/UK.pm:278 perllib/FixMyStreet/Cobrand/UK.pm:290
+#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
msgid "RSS feed of %s"
msgstr "موجز RSS لـ %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
msgid "RSS feed of %s, within %s ward"
msgstr "موجز RSS لـ %s، ضمن حدود دائرة %s"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
msgid "RSS feed of nearby problems"
msgstr "موجز RSS للمشكلات القريبة"
-#: perllib/FixMyStreet/Cobrand/Default.pm:834
+#: perllib/FixMyStreet/Cobrand/Default.pm:839
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:136
-#: perllib/FixMyStreet/Cobrand/UK.pm:216
+#: perllib/FixMyStreet/Cobrand/UK.pm:222
msgid "RSS feed of problems within %s"
msgstr "موجز RSS للمشكلات الموجودة ضمن حدود %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:222
+#: perllib/FixMyStreet/Cobrand/UK.pm:228
msgid "RSS feed of problems within %s ward"
msgstr "موجز RSS للمشكلات الموجودة ضمن حدود دائرة %s"
@@ -2966,7 +2987,7 @@ msgstr "موجز RSS للتحديثات على هذه المشكلة"
msgid "Receive email when updates are left on this problem."
msgstr "استلام بريد إلكتروني عند ترك تحديثات لهذه المشكلة."
-#: perllib/FixMyStreet/DB/Result/Problem.pm:801
+#: perllib/FixMyStreet/DB/Result/Problem.pm:738
msgid "Received by %s moments later"
msgstr "استلمت من %s قبل لحظات"
@@ -2976,15 +2997,11 @@ msgstr "استلمت من %s قبل لحظات"
msgid "Recent local problems, %s"
msgstr "المشكلات المحلية الحديثة، %s"
-#: templates/web/base/reports/index.html:27
-msgid "Recently <br>fixed"
-msgstr "المشكلات التي تم <br>حلها مؤخرًا"
-
#: templates/web/base/front/recent.html:11
msgid "Recently reported problems"
msgstr "المشاكل المبلغة حديثا"
-#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:60
msgid "Recently updated"
msgstr "المحدثة مؤخرا"
@@ -2992,23 +3009,33 @@ msgstr "المحدثة مؤخرا"
msgid "Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. If your problem is not appropriate for submission via this site remember that you can contact your council directly using their own website."
msgstr "تذكر أن FixMyStreet مخصص ÙÙŠ الأساس للإبلاغ عن المشكلات Ø§Ù„ÙØ¹Ù„ية التي يمكن حلها. إذا كانت مشكلتك غير مناسبة للتقديم عبر هذا الموقع ÙØªØ°ÙƒØ± أنه يمكنك التواصل مع المجلس مباشرةً باستخدام موقع الويب الخاص به."
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/extra-metadata-form.html:68
+#, fuzzy
+msgid "Remove"
+msgstr "إزالة الإشارة"
+
+#: templates/web/base/admin/extra-metadata-form.html:4
+#, fuzzy
+msgid "Remove field"
+msgstr "إزالة الإشارة"
+
+#: templates/web/base/admin/report_blocks.html:23
msgid "Remove flag"
msgstr "إزالة الإشارة"
#: templates/web/base/report/_item.html:12
#: templates/web/base/report/_item.html:9
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:18
#: templates/web/base/report/_main.html:26
msgid "Remove from shortlist"
-msgstr ""
+msgstr "حذ٠من القائمة القصيرة"
#: templates/web/base/report/display_tools.html:6
msgid "Remove from site"
msgstr "احذ٠من الموقع"
-#: templates/web/base/admin/report_edit.html:166
+#: templates/web/base/admin/report_edit.html:154
#: templates/web/base/admin/update_edit.html:69
#: templates/web/zurich/admin/update_edit.html:35
msgid "Remove photo (can't be undone!)"
@@ -3022,13 +3049,13 @@ msgstr "رد على المستخدم:"
msgid "Report"
msgstr "إبلاغ"
-#: templates/web/base/report/_inspect.html:10
-#: templates/web/base/report/_item.html:76
+#: templates/web/base/report/_inspect.html:14
+#: templates/web/base/report/_item.html:78
msgid "Report ID:"
msgstr "معر٠البلاغ:"
#: templates/web/base/header_logo.html:2
-#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:19
+#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:18
#: templates/web/zurich/nav_over_content.html:4
msgid "Report a problem"
msgstr "الإبلاغ عن مشكلة"
@@ -3038,7 +3065,7 @@ msgstr "الإبلاغ عن مشكلة"
msgid "Report abuse"
msgstr "الإبلاغ عن إساءة"
-#: templates/web/base/report/new/form_user_loggedin.html:16
+#: templates/web/base/report/new/form_user_loggedin.html:17
msgid "Report as"
msgstr "بلغ كـ"
@@ -3047,9 +3074,8 @@ msgid "Report on %s"
msgstr "الإبلاغ على %s"
#: templates/web/base/dashboard/index.html:137
-#, fuzzy
msgid "Report state:"
-msgstr "بلغ كـ"
+msgstr ""
#: templates/web/base/report/new/fill_in_details_form.html:1
#: templates/web/base/report/new/login_success_form.html:1
@@ -3062,7 +3088,7 @@ msgstr "الإبلاغ عن المشكلة"
msgid "Report, view, or discuss local problems"
msgstr "الإبلاغ عن المشكلات المحلية أو عرضها أو مناقشتها"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:653
+#: perllib/FixMyStreet/DB/Result/Problem.pm:590
#: templates/web/base/contact/index.html:55
msgid "Reported anonymously at %s"
msgstr "تم الإبلاغ عنها بدون تحديد الهوية ÙÙŠ %s"
@@ -3072,7 +3098,7 @@ msgstr "تم الإبلاغ عنها بدون تحديد الهوية ÙÙŠ %s"
msgid "Reported before"
msgstr "تم الإبلاغ عنها من قبل"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:677
+#: perllib/FixMyStreet/DB/Result/Problem.pm:614
#: templates/web/base/contact/index.html:57
msgid "Reported by %s at %s"
msgstr "تم الإبلاغ عنها بواسطة %s ÙÙŠ %s"
@@ -3086,34 +3112,30 @@ msgstr "تم الإبلاغ عنها بواسطة:"
msgid "Reported in the %s category"
msgstr "تم الإبلاغ عنها ÙÙŠ Ø§Ù„ÙØ¦Ø© %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:650
+#: perllib/FixMyStreet/DB/Result/Problem.pm:587
msgid "Reported in the %s category anonymously at %s"
msgstr "تم الإبلاغ عنها ÙÙŠ Ø§Ù„ÙØ¦Ø© %s بدون تحديد الهوية ÙÙŠ %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:611
msgid "Reported in the %s category by %s at %s"
msgstr "تم البلاغ ÙÙŠ التصني٠%s بواسطة %s ÙÙŠ %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:647
+#: perllib/FixMyStreet/DB/Result/Problem.pm:584
msgid "Reported via %s anonymously at %s"
msgstr "تم الإبلاغ عنها بواسطة %s بدون تحديد الهوية ÙÙŠ %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:671
+#: perllib/FixMyStreet/DB/Result/Problem.pm:608
msgid "Reported via %s by %s at %s"
msgstr "تم الإبلاغ عنها عبر %s بواسطة %s ÙÙŠ %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:644
+#: perllib/FixMyStreet/DB/Result/Problem.pm:581
msgid "Reported via %s in the %s category anonymously at %s"
msgstr "تم الإبلاغ عنها عبر %s ÙÙŠ Ø§Ù„ÙØ¦Ø© %s بدون تحديد الهوية ÙÙŠ %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:666
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
msgid "Reported via %s in the %s category by %s at %s"
msgstr "تم الإبلاغ عنها عبر %s ÙÙŠ Ø§Ù„ÙØ¦Ø© %s بواسطة %s ÙÙŠ %s"
-#: templates/web/base/reports/index.html:24
-msgid "Reported within the last four weeks"
-msgstr "تم الإبلاغ عنها خلال الأسابيع الأربعة الماضية"
-
#: templates/web/zurich/admin/report_edit-sdm.html:38
#: templates/web/zurich/admin/report_edit.html:57
msgid "Reported:"
@@ -3129,13 +3151,13 @@ msgid "Reporting a problem"
msgstr "الإبلاغ عن مشكلة"
#: perllib/FixMyStreet/Cobrand/Default.pm:655
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:383
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:388
#: templates/web/base/dashboard/index.html:134
#: templates/web/zurich/header.html:52
msgid "Reports"
msgstr "التقارير"
-#: perllib/FixMyStreet/Cobrand/UK.pm:329 perllib/FixMyStreet/Cobrand/UK.pm:333
+#: perllib/FixMyStreet/Cobrand/UK.pm:333 perllib/FixMyStreet/Cobrand/UK.pm:335
msgid "Reports are limited to %s characters in length. Please shorten your report"
msgstr "يقتصر طول التقارير على %s من الأحرÙ. الرجاء تقصير التقرير"
@@ -3143,30 +3165,53 @@ msgstr "يقتصر طول التقارير على %s من الأحرÙ. الرج
msgid "Reports awaiting approval"
msgstr "التقارير ÙÙŠ انتظار الاعتماد"
+#: templates/web/base/alert/_list.html:54
+#, fuzzy
+msgid "Reports by destination"
+msgstr "تم الإبلاغ عنها بواسطة %s ÙÙŠ %s"
+
#: templates/web/base/admin/user-form.html:107
msgid "Reports made by trusted users will be sent to the responsible body without being inspected first."
+msgstr "التبليغات من المستخدمين الموثوقين سو٠ترسل الى الهيئة المسؤولة من دون ÙØ­ØµÙ‡Ø§ اولا."
+
+#: templates/web/base/alert/_list.html:15
+msgid "Reports near %s are sent to different councils, depending on the type of problem."
msgstr ""
#: templates/web/zurich/admin/index-sdm.html:10
msgid "Reports published"
msgstr "تم نشر التقارير"
-#: templates/web/base/js/translation_strings.html:68
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:71
msgid "Reports saved offline."
-msgstr "الإبلاغ عن مشكلة"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#, fuzzy
+msgid "Reports sent to %s"
+msgstr "الإبلاغ على %s"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:290 perllib/FixMyStreet/Cobrand/UK.pm:302
+#, fuzzy
+msgid "Reports sent to %s, within %s ward"
+msgstr "موجز RSS لـ %s، ضمن حدود دائرة %s"
#: templates/web/base/admin/index.html:56
msgid "Reports waiting to be sent"
msgstr "التقارير ÙÙŠ انتظار الإرسال"
-#: templates/web/base/admin/contact-form.html:89
+#: templates/web/base/admin/contact-form.html:90
msgid "Reports will automatically be sent without needing to be inspected if the user's <strong>reputation</strong> is at or above this value. Set to <strong>0</strong> if all reports must be inspected regardless."
-msgstr ""
+msgstr "سو٠يتم ارسال التبليغات اوتوماتيكيا دون الحاجة Ù„ÙØ­ØµÙ‡Ø§ اذا كانت قيمة <strong>سمعة</strong> المستخدم تساوي او اكبر من هذه القيمة. حدد الى <strong>0</strong> اذا كان يجب ÙØ­Øµ كل التبلغات بغض النظر."
-#: templates/web/base/admin/contact-form.html:94
+#: templates/web/base/admin/contact-form.html:95
msgid "Reputation threshold"
-msgstr ""
+msgstr "عتبة السمعة"
+
+#: templates/web/base/admin/extra-metadata-form.html:20
+#, fuzzy
+msgid "Required"
+msgstr "مطلوب"
#: templates/web/base/admin/report_edit.html:84
msgid "Resend report"
@@ -3174,7 +3219,7 @@ msgstr "إعادة إرسال التقرير"
#: templates/web/base/admin/responsepriorities/index.html:1
msgid "Response Priorities"
-msgstr ""
+msgstr "أولويات الاستجابة "
#: templates/web/base/admin/responsepriorities/list.html:1
msgid "Response Priorities for %s"
@@ -3203,7 +3248,7 @@ msgstr "قوالب الاستجابة لـ %s"
msgid "Revert to original"
msgstr ""
-#: templates/web/base/report/_main.html:95
+#: templates/web/base/report/_main.html:99
msgid "Revert to original text"
msgstr ""
@@ -3226,16 +3271,16 @@ msgstr "مشغل الطرق لهذا الطريق المسمى (يتم اشتقØ
msgid "Road operator for this named road (from OpenStreetMap): %s"
msgstr "مشغل الطرق لهذا الطريق المسمى (من OpenStreetMap): %s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1747
-#: templates/web/base/admin/report_edit.html:163
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1852
+#: templates/web/base/admin/report_edit.html:151
#: templates/web/base/admin/update_edit.html:66
#: templates/web/zurich/admin/report_edit.html:118
msgid "Rotate Left"
msgstr "تدوير لليسار"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: templates/web/base/admin/report_edit.html:164
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: templates/web/base/admin/report_edit.html:152
#: templates/web/base/admin/update_edit.html:67
#: templates/web/zurich/admin/report_edit.html:119
msgid "Rotate Right"
@@ -3250,33 +3295,41 @@ msgstr "سيؤدي تدوير هذه الصورة إلى تجاهل التغيي
msgid "Satellite"
msgstr "القمر الصناعي"
-#: templates/web/base/report/_inspect.html:168
-#, fuzzy
+#: templates/web/base/report/_inspect.html:182
msgid "Save + close as duplicate"
-msgstr "عليه علامة تقرير مكرر"
+msgstr ""
-#: templates/web/base/admin/contact-form.html:137
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/contact-form.html:138
+#: templates/web/base/admin/reportextrafields/edit.html:64
+#: templates/web/base/admin/responsepriorities/edit.html:58
#: templates/web/base/admin/template_edit.html:46
-#: templates/web/base/report/_inspect.html:168
-#: templates/web/base/report/_main.html:113
-#: templates/web/base/report/update.html:60
+#: templates/web/base/report/_inspect.html:182
+#: templates/web/base/report/_main.html:117
+#: templates/web/base/report/update.html:69
#: templates/web/zurich/admin/body.html:62
-#: templates/web/zurich/admin/contact-form.html:20
+#: templates/web/zurich/admin/contact-form.html:22
#: templates/web/zurich/admin/template_edit.html:29
msgid "Save changes"
msgstr "Ø­ÙØ¸ التغييرات"
-#: templates/web/base/report/_inspect.html:148
-msgid "Save with a public update"
+#: templates/web/base/admin/reportextrafields/edit.html:64
+msgid "Save new fields"
msgstr ""
-#. ('This is followed by a progress count, e.g. 3/5')
+#: templates/web/base/report/_inspect.html:158
+msgid "Save with a public update"
+msgstr "Ø§Ø­ÙØ¸ مع التحديث العام"
+
#. ("This is followed by a progress count, e.g. 3/5")
-#: templates/web/base/js/translation_strings.html:69
+#: templates/web/base/js/translation_strings.html:72
msgid "Saving reports offline"
msgstr ""
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:132
+#, fuzzy
+msgid "Scheduled"
+msgstr "نشاط تم جدولته"
+
#: templates/web/base/admin/index.html:26
#: templates/web/base/admin/reports.html:1
#: templates/web/zurich/admin/reports.html:1
@@ -3310,41 +3363,41 @@ msgstr "لم يعثر البحث عن أي مستخدمين."
msgid "See our privacy policy"
msgstr "انظر سياسة الخصوصية"
-#: perllib/FixMyStreet/Cobrand/Default.pm:715
+#: perllib/FixMyStreet/Cobrand/Default.pm:720
msgid "See user detail for reports created as the council"
msgstr ""
-#: templates/web/base/admin/body-form.html:39
+#: templates/web/base/admin/body-form.html:41
#: templates/web/zurich/admin/body-form.html:16
msgid "Select a body"
msgstr "تحديد هيئة"
-#: templates/web/base/reports/index.html:12
-msgid "Select a particular council to see the reports sent there."
-msgstr "حدد مجلسًا معينًا للاطلاع على التقارير المرسلة هناك."
-
-#: templates/web/base/admin/body-form.html:77
+#: templates/web/base/admin/body-form.html:79
#: templates/web/zurich/admin/body-form.html:26
msgid "Select an area"
msgstr "تحديد منطقة"
-#: templates/web/base/alert/_list.html:11
-msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
-msgstr "حدد نوع التنبيه الذي تريده وانقر Ùوق الزر للحصول على موجز RSS أو أدخل عنوان البريد الإلكتروني للاشتراك ÙÙŠ خدمة التنبيه عبر البريد الإلكتروني."
+#: templates/web/base/admin/responsepriorities/edit.html:33
+msgid "Select if this is the default priority"
+msgstr ""
#: templates/web/base/admin/category-checkboxes.html:6
msgid "Select:"
msgstr "تحديد:"
+#: templates/web/base/contact/index.html:107
+msgid "Send"
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:109
msgid "Send extended Open311 statuses with service request updates"
-msgstr ""
+msgstr "أرسل حالات Open311 مطولة مع تحديثات طلب الخدمة"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:826
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:831
msgid "Sent report back"
msgstr "تمت إعادة إرسال التقرير"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:804
+#: perllib/FixMyStreet/DB/Result/Problem.pm:741
msgid "Sent to %s %s later"
msgstr "تم الإرسال إلى %s %s لاحقًا"
@@ -3357,7 +3410,7 @@ msgstr "تم الإرسال:"
msgid "Service:"
msgstr "الخدمة:"
-#: templates/web/base/report/_inspect.html:31
+#: templates/web/base/report/_inspect.html:41
msgid "Set to my current location"
msgstr "اضبط إلى موقعي الحالي"
@@ -3366,49 +3419,56 @@ msgid "Share"
msgstr "مشاركة"
#: templates/web/base/main_nav_items.html:10
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:21
#: templates/web/base/report/_main.html:29
msgid "Shortlist"
+msgstr "قائمة قصيرة"
+
+#: templates/web/base/reports/body.html:32
+msgid "Shortlist all visible"
msgstr ""
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:20
#: templates/web/base/report/_main.html:25
#: templates/web/base/reports/_list-filters.html:9
msgid "Shortlisted"
-msgstr ""
+msgstr "تم Ø§Ù„Ø§Ø¶Ø§ÙØ© الى القائمة القصيرة"
-#: templates/web/base/report/_main.html:144
+#: templates/web/base/report/_item.html:15
+#: templates/web/base/report/_main.html:148
msgid "Shortlisted by %s"
-msgstr ""
+msgstr "تم Ø§Ù„Ø§Ø¶Ø§ÙØ© الى القائمة القصيرة ÙÙŠ %s"
#: templates/web/base/report/update.html:20
-#, fuzzy
msgid "Show Photo?"
-msgstr "إظهار القديم"
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:26
+msgid "Show all updates"
+msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:54
+#: templates/web/base/report/new/form_user_loggedin.html:56
#: templates/web/base/report/new/form_user_loggedout_by_email.html:22
-#: templates/web/base/report/update/form_name.html:33
+#: templates/web/base/report/update/form_name.html:37
msgid "Show my name publicly"
msgstr "إظهار اسمي للعامة"
#: templates/web/base/report/update.html:17
-#, fuzzy
msgid "Show name publicly?"
-msgstr "إظهار اسمي للعامة"
+msgstr ""
#: templates/web/base/around/display_location.html:69
msgid "Show old"
msgstr "إظهار القديم"
-#: templates/web/base/report/_main.html:79
-#, fuzzy
+#: templates/web/base/report/_main.html:83
msgid "Show photo"
-msgstr "إظهار القديم"
+msgstr ""
#: templates/web/base/around/display_location.html:60
+#: templates/web/base/js/translation_strings.html:54
msgid "Show pins"
msgstr "إظهار الدبابيس"
@@ -3416,18 +3476,22 @@ msgstr "إظهار الدبابيس"
msgid "Show reporter&rsquo;s name"
msgstr ""
-#: templates/web/base/auth/general.html:117
+#: templates/web/base/reports/index.html:62
+msgid "Show reports in your area"
+msgstr ""
+
+#: templates/web/base/auth/general.html:119
#: templates/web/base/auth/general.html:3
-#: templates/web/base/auth/general.html:86
+#: templates/web/base/auth/general.html:88
#: templates/web/base/main_nav_items.html:6
#: templates/web/zurich/auth/general.html:18
#: templates/web/zurich/auth/general.html:35
msgid "Sign in"
msgstr "تسجيل الدخول"
-#: templates/web/base/auth/general.html:96
+#: templates/web/base/auth/general.html:98
msgid "Sign in by email instead, providing a new password. When you click the link in your email, your password will be updated."
-msgstr ""
+msgstr "الرجاء الدخولعبر البريد الإلكتروني بدلا عن ذلك، كما يرجى تقديم كلمة مرور جديدة عند هذه النقطة. بعد التأكيد، سيتم تحديث كلمة المرور."
#: templates/web/base/auth/general.html:1
#: templates/web/zurich/auth/general.html:1
@@ -3473,14 +3537,14 @@ msgstr "عذرًا، لم يكن هذا الارتباط صالحًا"
msgid "Sorry, there has been an error confirming your problem."
msgstr "عذرًا، حدث خطأ أثناء تأكيد المشكلة."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:230
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:235
#: perllib/FixMyStreet/Geocode.pm:37 perllib/FixMyStreet/Geocode/Bing.pm:38
#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:56
#: perllib/FixMyStreet/Geocode/OSM.pm:48
msgid "Sorry, we could not find that location."
msgstr "عذرًا، لم نستطع العثور على هذا الموقع."
-#: templates/web/base/auth/general.html:9
+#: templates/web/base/auth/general.html:11
#: templates/web/base/report/display.html:29
#: templates/web/base/report/new/fill_in_details_form.html:15
msgid "Sorry, we could not log you in. Please fill in the form below."
@@ -3502,11 +3566,11 @@ msgid ""
"page wasn’t found or there was a server error. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Root.pm:107
+#: perllib/FixMyStreet/App/Controller/Root.pm:124
msgid "Sorry, you don't have permission to do that."
msgstr "Ù„Ù„Ø£Ø³ÙØŒ ليس لديك صلاحية Ù„ÙØ¹Ù„ ذلك."
-#: templates/web/base/reports/_list-filters.html:42
+#: templates/web/base/reports/_list-filters.html:53
msgid "Sort by"
msgstr "رتب بواسطة"
@@ -3523,17 +3587,25 @@ msgid "Start Date:"
msgstr "تاريخ البداية:"
#: templates/web/base/admin/body.html:73
+#: templates/web/base/admin/category_edit.html:29
+#: templates/web/base/admin/contact-form.html:53
#: templates/web/base/admin/flagged.html:18
#: templates/web/base/admin/index.html:64
#: templates/web/base/admin/list_updates.html:11
#: templates/web/base/admin/reports.html:16
#: templates/web/base/admin/template_edit.html:40
-#: templates/web/base/report/_inspect.html:83
-#: templates/web/base/report/_item.html:94
+#: templates/web/base/report/_inspect.html:82
+#: templates/web/base/report/_item.html:96
#: templates/web/base/report/update/form_update.html:39
+#: templates/web/zurich/admin/contact-form.html:10
msgid "State"
msgstr "الحالة"
+#: templates/web/base/report/update.html:48
+#, fuzzy
+msgid "State changed to:"
+msgstr "Ø­ÙØ¸ التغييرات"
+
#: templates/web/base/admin/report_edit.html:116
#: templates/web/base/admin/update_edit.html:28
#: templates/web/zurich/admin/report_edit-sdm.html:75
@@ -3543,8 +3615,14 @@ msgstr "الحالة"
msgid "State:"
msgstr "الحالة:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:640
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:386
+#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: templates/web/base/admin/states/index.html:1
+#, fuzzy
+msgid "States"
+msgstr "الحالة"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
#: templates/web/base/admin/index.html:71 templates/web/base/admin/stats.html:1
#: templates/web/base/admin/stats_by_state.html:1
#: templates/web/zurich/admin/stats.html:1 templates/web/zurich/header.html:65
@@ -3566,6 +3644,10 @@ msgstr "لا تزال Ù…ÙØªÙˆØ­Ø©ØŒ عبر الاستبيان، %s"
msgid "Street View"
msgstr "عرض الشارع"
+#: templates/web/base/admin/extra-metadata-form.html:46
+msgid "String"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:192
msgid "Subcategory: %s"
msgstr "Ø§Ù„ÙØ¦Ø© Ø§Ù„ÙØ±Ø¹ÙŠØ©: %s"
@@ -3574,7 +3656,7 @@ msgstr "Ø§Ù„ÙØ¦Ø© Ø§Ù„ÙØ±Ø¹ÙŠØ©: %s"
msgid "Subdivision/Body"
msgstr "القسم Ø§Ù„ÙØ±Ø¹ÙŠ/الهيئة"
-#: templates/web/base/contact/index.html:88
+#: templates/web/base/contact/index.html:92
msgid "Subject"
msgstr "الموضوع"
@@ -3584,14 +3666,14 @@ msgid "Subject:"
msgstr "الموضوع:"
#: templates/web/base/questionnaire/creator_fixed.html:19
-#: templates/web/base/report/new/form_user_loggedin.html:61
+#: templates/web/base/report/new/form_user_loggedin.html:63
#: templates/web/base/report/new/form_user_loggedout_by_email.html:36
#: templates/web/base/report/new/form_user_loggedout_password.html:11
#: templates/web/zurich/report/new/fill_in_details_form.html:73
msgid "Submit"
msgstr "تقديم"
-#: templates/web/base/admin/report_edit.html:174
+#: templates/web/base/admin/report_edit.html:162
#: templates/web/base/admin/report_edit.html:24
#: templates/web/base/admin/update_edit.html:77
#: templates/web/base/admin/user-form.html:170
@@ -3605,8 +3687,8 @@ msgstr "تقديم التغييرات"
msgid "Submit questionnaire"
msgstr "تقديم الاستبيان"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:164
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:893
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:898
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:6
#: templates/web/zurich/admin/index-dm.html:23
@@ -3616,36 +3698,38 @@ msgstr "تقديم الاستبيان"
msgid "Submitted"
msgstr "تم Ø§Ø¶Ø§ÙØªÙ‡Ø§"
+#: templates/web/base/alert/_list.html:77
+#: templates/web/base/alert/_list.html:80
#: templates/web/base/alert/updates.html:23
#: templates/web/base/report/display_tools.html:51
msgid "Subscribe"
msgstr "اشتراك"
-#: templates/web/base/alert/_list.html:93
-msgid "Subscribe me to an email alert"
+#: templates/web/base/alert/_list.html:72
+#, fuzzy
+msgid "Subscribe by email"
msgstr "اشتراك ÙÙŠ تنبيه البريد الإلكتروني"
#: templates/web/base/report/new/form_report.html:19
msgid "Summarise the problem"
msgstr "لخص المشكلة"
-#: templates/web/base/admin/contact-form.html:129
+#: templates/web/base/admin/contact-form.html:130
msgid "Summarise your changes"
msgstr "لخص تغييراتك"
-#: perllib/FixMyStreet/Cobrand/Default.pm:638
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:382
+#: perllib/FixMyStreet/Cobrand/Default.pm:637
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:387
#: templates/web/base/admin/bodies.html:29
#: templates/web/base/admin/index.html:1 templates/web/base/status/index.html:1
#: templates/web/base/status/index.html:3
#: templates/web/zurich/admin/index-dm.html:1
#: templates/web/zurich/admin/index-sdm.html:1
-#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:13
+#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:12
#: templates/web/zurich/header.html:49
msgid "Summary"
msgstr "ملخص"
-#: templates/web/base/reports/index.html:4
#: templates/web/zurich/reports/index.html:0
#: templates/web/zurich/reports/index.html:4
msgid "Summary reports"
@@ -3653,11 +3737,11 @@ msgstr "ملخص التقارير"
#: templates/web/base/admin/user-form.html:133
msgid "Superuser:"
-msgstr ""
+msgstr "مستخدم خارق"
#: templates/web/base/admin/user-form.html:130
msgid "Superusers have permission to perform <strong>all actions</strong> within the admin."
-msgstr ""
+msgstr "المستخدم الخارق له ترخيص لتنÙيذ strong>كل اعمال</strong> التي يمكن للأدمن عملها."
#: templates/web/base/admin/questionnaire.html:1
#: templates/web/base/admin/stats.html:56
@@ -3669,7 +3753,7 @@ msgid "Template &laquo;%s&raquo;"
msgstr "القالب &laquo;%s&raquo;"
#: perllib/FixMyStreet/Cobrand/Default.pm:661
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:393
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
#: templates/web/zurich/header.html:69
msgid "Templates"
msgstr "القوالب"
@@ -3698,7 +3782,7 @@ msgstr "شكرًا لك للإبلاغ عن هذه المشكلة!"
msgid "Thank you for trying to confirm your update or problem. We seem to have an error ourselves though, so <a href=\"%s\">please let us know what went on</a> and we'll look into it."
msgstr "شكرًا لك لمحاولة تأكيد التحديث أو المشكلة. مع ذلك يبدو أننا نواجه خطأ، لذا <a href=\"%s\">الرجاء إبلاغنا بما حدث</a> وسنتحقق من الأمر."
-#: templates/web/base/tokens/confirm_update.html:15
+#: templates/web/base/tokens/confirm_update.html:16
msgid "Thank you for updating this issue!"
msgstr "شكرًا لك على تحديث هذه المشكلة!"
@@ -3726,7 +3810,7 @@ msgstr "يبدو أنه لم يتم تحميل هذه الصورة بصورة س
msgid "That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again."
msgstr "لا يبدو أن هذا الموقع ضمن صلاحيات المجلس؛ ربما يكون موقعًا بحريًا أو خارج حدود Ø§Ù„Ù…Ø­Ø§ÙØ¸Ø©. الرجاء إعادة Ø§Ù„Ù…Ø­Ø§ÙØ¸Ø©."
-#: perllib/FixMyStreet/App/Controller/Location.pm:129
+#: perllib/FixMyStreet/App/Controller/Location.pm:127
msgid "That location does not appear to be in the UK; please try again."
msgstr "لا يبدو أن هذا الموقع يقع ÙÙŠ المملكة المتحدة؛ الرجاء إعادة المحاولة."
@@ -3736,23 +3820,23 @@ msgstr "لا يبدو أن هذا الموقع يقع ÙÙŠ المملكة الم
msgid "That postcode was not recognised, sorry."
msgstr "لم يتم التعر٠على هذا الرمز البريدي، عذرًا."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:762
+#: perllib/FixMyStreet/App/Controller/Admin.pm:850
msgid "That problem has been marked as sent."
msgstr "تم وضع علامة على هذه المشكلة بأنها Ø£ÙØ±Ø³Ù„ت."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:755
+#: perllib/FixMyStreet/App/Controller/Admin.pm:843
msgid "That problem will now be resent."
msgstr "ستتم إعادة إرسال هذه المشكلة الآن."
-#: perllib/FixMyStreet/App/Controller/Report.pm:137
+#: perllib/FixMyStreet/App/Controller/Report.pm:134
msgid "That report cannot be viewed on %s."
msgstr "لا يمكن عرض هذا التقرير على %s."
-#: perllib/FixMyStreet/App/Controller/Report.pm:131
+#: perllib/FixMyStreet/App/Controller/Report.pm:128
msgid "That report has been removed from FixMyStreet."
msgstr "تمت إزالة هذا التقرير من FixMyStreet."
-#: templates/web/base/admin/contact-form.html:25
+#: templates/web/base/admin/contact-form.html:27
msgid ""
"The <strong>email address</strong> is the destination to which reports about this category will be sent. \n"
" Other categories for this body may have the same email address."
@@ -3778,10 +3862,10 @@ msgstr ""
"<strong>الصلاحية القضائية</strong> مطلوب تحديدها Ùقط إذا كانت نقطة النهاية تخدم أكثر من\n"
" واحدة. إذا كانت الهيئة تدير نقطة النهاية الخاصة بها، Ùيمكن ترك هذا الحقل خاليًا."
-#: templates/web/base/admin/body-form.html:100
-#: templates/web/base/admin/body-form.html:101
-#: templates/web/base/admin/contact-form.html:103
+#: templates/web/base/admin/body-form.html:102
+#: templates/web/base/admin/body-form.html:103
#: templates/web/base/admin/contact-form.html:104
+#: templates/web/base/admin/contact-form.html:105
msgid ""
"The <strong>send method</strong> determines how problem reports will be sent to the body.\n"
" If you leave this blank, <strong>send method defaults to email</strong>."
@@ -3802,6 +3886,10 @@ msgstr ""
"<strong>اسم</strong> الهيئة يحدد اسم الهيئة (على سبيل المثال، <em>المجلس المحلي لمقاطعة بروستشاير</em>)\n"
" وقد ÙŠÙØ¹Ø±Ø¶ للعامة."
+#: templates/web/base/admin/extra-metadata-form.html:12
+msgid "The code used to store this field value in the database. e.g. <code>address</code> would be available as <code>problem.extra.address</code> in the templates."
+msgstr ""
+
#: templates/web/base/report/new/fill_in_details_text.html:1
#: templates/web/base/report/new/fill_in_details_text.html:3
msgid "The council won&rsquo;t be able to help unless you leave as much detail as you can. Please describe the exact location of the problem (e.g. on a wall), what it is, how long it has been there, a description (and a photo of the problem if you have one), etc."
@@ -3812,11 +3900,15 @@ msgstr "لن يتمكن المجلس من تقديم المساعدة ما لم
msgid "The diligency prize league table shows editors' activity (who's been editing the most records)."
msgstr "يعرض جدول رابطة جائزة العناية بالدقة نشاط المحررين (الأشخاص الذين يحررون معظم السجلات)."
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:61
-#: perllib/FixMyStreet/App/Controller/Reports.pm:82
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:63
+#: perllib/FixMyStreet/App/Controller/Reports.pm:103
msgid "The error was: %s"
msgstr "الخطأ هو: %s"
+#: templates/web/base/admin/extra-metadata-form.html:30
+msgid "The field name as shown to the user on the report form."
+msgstr ""
+
#: templates/web/base/open311/index.html:78
msgid "The following Open311 v2 attributes are returned for each request: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
msgstr "يتم إرجاع سمات Open311 v2 التالية لكل طلب: service_request_id وdescription وlat وlong وmedia_url وstatus وrequested_datetime وupdated_datetime وservice_code وservice_name."
@@ -3855,10 +3947,14 @@ msgstr "المشكلات الأخيرة المبلغ عنها ضمن حدود {{
msgid "The link might have expired, or maybe you didn&rsquo;t quite copy and paste it correctly."
msgstr "من المحتمل أن الارتباط انتهت صلاحيته، أو ربما لم يتم نسخه ولصقه بصورة سليمة."
-#: templates/web/base/admin/body-form.html:64
+#: templates/web/base/admin/body-form.html:66
msgid "The list of available areas is being provided by the MapIt service at %s."
msgstr "يتم توÙير قائمة المناطق المتاحة بواسطة خدمة MapIt ÙÙŠ %s."
+#: templates/web/base/admin/extra-metadata-form.html:6
+msgid "The ordering of this field on the report page. Fields are shown in ascending order according to this value."
+msgstr ""
+
#: templates/web/base/auth/change_password.html:22
#: templates/web/base/auth/change_password.html:26
msgid "The passwords do not match"
@@ -3868,9 +3964,9 @@ msgstr "كلمتا المرور غير متطابقتين"
msgid "The requested URL '%s' was not found on this server"
msgstr "لم يتم العثور على عنوان URL '%s' على هذا الخادم"
-#: templates/web/base/alert/_list.html:17
-msgid "The simplest alert is our geographic one:"
-msgstr "أبسط تنبيه هو التنبيه الجغراÙÙŠ:"
+#: templates/web/base/admin/extra-metadata-form.html:42
+msgid "The type of input field to show to the user. <strong>Text</strong> is a simple text field, <strong>List</strong> is a drop-down selection."
+msgstr ""
#: perllib/FixMyStreet/Script/Reports.pm:96
msgid "The user could not locate the problem on a map, but to see the area around the location they entered"
@@ -3891,18 +3987,18 @@ msgstr ""
msgid "There are no reports to show."
msgstr "لا توجد تقارير لعرضها."
-#: perllib/FixMyStreet/App/Controller/Reports.pm:79
+#: perllib/FixMyStreet/App/Controller/Reports.pm:100
msgid "There was a problem showing the All Reports page. Please try again later."
msgstr "حدثت مشكلة أثناء عرض ØµÙØ­Ø© \"كل التقارير\". الرجاء إعادة المحاولة لاحقًا."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:137
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:60
+#: perllib/FixMyStreet/App/Controller/Contact.pm:138
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:62
msgid "There was a problem showing this page. Please try again later."
msgstr "حدثت مشكلة أثناء عرض هذه Ø§Ù„ØµÙØ­Ø©. الرجاء إعادة المحاولة لاحقًا."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:758
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:785
#: perllib/FixMyStreet/App/Controller/Report/Update.pm:152
-#: templates/web/base/auth/general.html:53
+#: templates/web/base/auth/general.html:55
#: templates/web/zurich/auth/general.html:28
msgid "There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the &lsquo;sign in by email&rsquo; section of the form."
msgstr "حدثت مشكلة ÙÙŠ ØªÙˆÙ„ÙŠÙØ© البريد الإلكتروني/كلمة المرور. إذا كنت لا تستطيع تذكر كلمة المرور، أو كنت لا تمتلك كلمة مرور، ÙØ§Ù„رجاء تعبئة قسم &lsquo;تسجيل الدخول بواسطة البريد الإلكتروني&rsquo; ÙÙŠ النموذج."
@@ -3915,7 +4011,7 @@ msgstr "حدثت مشكلة ÙÙŠ ØªÙˆÙ„ÙŠÙØ© البريد الإلكتروني/
msgid "There was a problem with your update. Please try again."
msgstr "حدثت مشكلة مع تحديثك. الرجاء المحاولة مرة آخرى."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:141
+#: perllib/FixMyStreet/App/Controller/Contact.pm:142
msgid "There were problems with your report. Please see below."
msgstr "حدثت مشكلات ÙÙŠ التقرير. الرجاء الاطلاع على ما يلي."
@@ -3941,21 +4037,21 @@ msgstr ""
#: templates/web/base/report/new/councils_text.html:3
#: templates/web/base/report/new/councils_text.html:4
msgid "These will be published online for others to see, in accordance with our <a href=\"%s\">privacy policy</a>."
-msgstr ""
+msgstr "سو٠يتم نشر هذه Ùˆ سيكون بمقدور الجميع رؤيتها ÙˆÙقا لـ <a href=\"%s\">سياسة الخصوصية</a>."
#: templates/web/base/report/new/councils_text_all.html:4
#: templates/web/base/report/new/councils_text_all.html:6
msgid "These will be sent to <strong>%s</strong> and also published online for others to see, in accordance with our <a href=\"%s\">privacy policy</a>."
-msgstr ""
+msgstr " سو٠يتم ارسال هذه الى <strong>%s</strong>Ùˆ سو٠يتم نشرها Ùˆ سيكون بمقدور الجميع رؤيتها ÙˆÙقا لـ <a href=\"%s\">سياسة الخصوصية</a>."
#: templates/web/base/report/new/councils_text_private.html:5
#: templates/web/base/report/new/form_user.html:4
msgid "These will be sent to the council, but will never be shown online."
-msgstr ""
+msgstr "سو٠يتم ارسال هذه الى المجلس و لكن لن يتم اظهارها عند الاتصال بالانترنت ابدا"
#: templates/web/base/report/new/councils_text_private.html:3
msgid "These will never be shown online."
-msgstr ""
+msgstr "لن يتم اظهار هذه عند الاتصال بالانترنت ابدا"
#: templates/web/base/open311/index.html:69
msgid "This API implementation is work in progress and not yet stabilized. It will change without warnings in the future."
@@ -3975,8 +4071,8 @@ msgstr ""
msgid "This body has no contacts. This means that currently problems reported to this body <strong>will not be sent</strong>."
msgstr "لا توجد جهات اتصال لهذه الهيئة. هذا يعني أن المشكلات المبلغ عنها حاليًا إلى هذه الهيئة <strong>لن ØªÙØ±Ø³Ù„</strong>."
-#: templates/web/base/admin/body-form.html:58
-#: templates/web/base/admin/body-form.html:59
+#: templates/web/base/admin/body-form.html:60
+#: templates/web/base/admin/body-form.html:61
msgid ""
"This body will only be sent reports for problems that are located in the <strong>area covered</strong>.\n"
" A body will not receive any reports unless it covers at least one area."
@@ -3992,8 +4088,9 @@ msgstr "Ø£ÙØ±Ø³Ù„ت رسالة البريد الإلكتروني إلى كلا
msgid "This email has been sent to several councils covering the location of the problem, as the category selected is provided for all of them; please ignore it if you're not the correct council to deal with the issue."
msgstr "Ø£ÙØ±Ø³Ù„ت رسالة البريد الإلكتروني إلى عدة مجالس تغطي موقع المشكلة، وبما أن Ø§Ù„ÙØ¦Ø© المحددة مدخلة لجميع المجالس، ÙØ§Ù„رجاء تجاهل المشكلة إذا لم تكن المجلس المختص بالتعامل معها."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:881
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:925
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1017
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:910
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:954
#: perllib/FixMyStreet/App/Controller/Report/New.pm:971
#: perllib/FixMyStreet/Cobrand/UK.pm:45
msgid "This information is required"
@@ -4003,46 +4100,41 @@ msgstr "هذه المعلومات مطلوبة"
msgid "This is a developer site; things might break at any time, and the database will be periodically deleted."
msgstr "هذا موقع مطور، وقد تتعطل الأمور ÙÙŠ أي وقت، ÙˆØ³ØªÙØ­Ø°Ù قاعدة البيانات بصورة دورية."
-#: templates/web/base/reports/index.html:10
-msgid "This is a summary of all reports on this site."
-msgstr "هذا ملخص لكل التقارير الموجودة على هذا الموقع."
-
-#: templates/web/base/report/new/form_report.html:56
+#: templates/web/base/report/new/form_report.html:58
msgid "This pothole has been here for two months and…"
-msgstr ""
+msgstr "مضى شهرين على وجود هذه Ø§Ù„Ø­ÙØ±Ø© Ùˆ...."
-#: templates/web/base/report/update/form_update.html:63
+#: templates/web/base/report/update/form_update.html:55
msgid "This problem has been fixed"
msgstr "تم إصلاح هذه المشكلة"
-#: templates/web/base/report/update/form_update.html:56
+#: templates/web/base/report/update/form_update.html:48
msgid "This problem has not been fixed"
msgstr "لم يتم إصلاح هذه المشكلة"
-#: templates/web/base/report/update/form_update.html:54
-#, fuzzy
+#: templates/web/base/report/update/form_update.html:46
msgid "This problem is still ongoing"
-msgstr "لم يتم إصلاح هذه المشكلة"
+msgstr ""
#: templates/web/base/report/duplicate-no-updates.html:3
msgid "This report is a duplicate. Please leave updates on the original report:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:161
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:162
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:166
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:167
#: templates/web/zurich/report/_main.html:14
msgid "This report is awaiting moderation."
msgstr "هذا التقرير ÙÙŠ انتظار اعتماد الإشراÙ."
-#: perllib/FixMyStreet/Script/Alerts.pm:101
+#: perllib/FixMyStreet/Script/Alerts.pm:98
msgid "This report is currently marked as closed."
msgstr "هذا التقرير عليه علامة \"مغلق\" حاليًا."
-#: perllib/FixMyStreet/Script/Alerts.pm:99
+#: perllib/FixMyStreet/Script/Alerts.pm:96
msgid "This report is currently marked as fixed."
msgstr "هذا التقرير عليه علامة \"تم الإصلاح\" حاليًا."
-#: perllib/FixMyStreet/Script/Alerts.pm:103
+#: perllib/FixMyStreet/Script/Alerts.pm:100
msgid "This report is currently marked as open."
msgstr "هذا التقرير عليه علامة \"Ù…ÙØªÙˆØ­\" حاليًا."
@@ -4061,7 +4153,7 @@ msgstr "تحتوي ØµÙØ­Ø© الويب هذه على صورة للمشكلة، Ø
msgid "Time spent (in minutes):"
msgstr "الوقت المستغرق (بالدقائق):"
-#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Default.pm:638
#: templates/web/base/admin/timeline.html:1
msgid "Timeline"
msgstr "المخطط الزمني"
@@ -4090,10 +4182,26 @@ msgstr "لاكتشا٠التنبيهات المحلية التي لدينا Ù„Ù
msgid "To find out what local alerts we have for you, please enter your postcode or street name and area"
msgstr "لاكتشا٠التنبيهات المحلية التي لدينا لك، الرجاء إدخال الرمز البريدي أو اسم الشارع أو المنطقة"
+#: templates/web/base/admin/reportextrafields/edit.html:19
+msgid "To limit this collection of fields to a single cobrand, select it here."
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:40
+msgid "To limit this collection of fields to a single language, select it here."
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:95
msgid "To view a map of the precise location of this issue"
msgstr "لعرض خريطة موضح عليها الموقع الدقيق لهذه المشكلة"
+#: templates/web/base/reports/index.html:97
+msgid "Top 5 most used categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:83
+msgid "Top 5 responsive councils"
+msgstr ""
+
#: templates/web/base/admin/questionnaire.html:24
#: templates/web/base/admin/stats.html:24
#: templates/web/base/admin/stats.html:43
@@ -4107,9 +4215,8 @@ msgid "Total marked"
msgstr ""
#: templates/web/base/dashboard/index.html:71
-#, fuzzy
msgid "Total marked as fixed"
-msgstr "عليه علامة تم الإصلاح"
+msgstr ""
#: templates/web/base/dashboard/index.html:125
msgid "Total not marked"
@@ -4120,22 +4227,30 @@ msgstr ""
msgid "Total reports received"
msgstr ""
-#: templates/web/base/report/_inspect.html:124
-#: templates/web/base/report/_item.html:102
+#: templates/web/base/report/_inspect.html:134
+#: templates/web/base/report/_item.html:104
msgid "Traffic management required?"
msgstr "هل يتطلب إدارة المرور؟"
+#: templates/web/base/admin/_translations.html:7
+msgid "Translation"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:2
+msgid "Translations"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:111
msgid "Trusted by bodies:"
-msgstr ""
+msgstr "موثوق من الهيئات:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:721
+#: perllib/FixMyStreet/Cobrand/Default.pm:726
msgid "Trusted to make reports that don't need to be inspected"
-msgstr ""
+msgstr "موثوق به لأنشاء تبليغات بدون الحاجة الى تدقيقها"
#: templates/web/base/admin/user-form.html:119
msgid "Trusted:"
-msgstr ""
+msgstr "موثوق:"
#: templates/web/base/js/translation_strings.html:29
msgid "Try again"
@@ -4145,8 +4260,14 @@ msgstr "أعد المحاولة"
msgid "Try emailing us directly:"
msgstr "جرّب إرسال البريد الإلكتروني إلينا مباشرةً:"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:21
+#: templates/web/base/admin/extra-metadata-form.html:44
+#: templates/web/base/admin/states/index.html:10
+#: templates/web/base/admin/states/index.html:100
+msgid "Type"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:59
+#: templates/web/base/admin/contact-form.html:55
#: templates/web/base/admin/update_edit.html:30
#: templates/web/zurich/admin/report_edit-sdm.html:66
#: templates/web/zurich/admin/report_edit.html:94
@@ -4154,7 +4275,6 @@ msgstr "جرّب إرسال البريد الإلكتروني إلينا مباØ
msgid "Unconfirmed"
msgstr "غير مؤكد"
-#: templates/web/base/reports/_list-filters.html:12
#: templates/web/base/reports/_list-filters.html:5
msgid "Unfixed reports"
msgstr "التقارير التي لم يتم إصلاحها"
@@ -4168,14 +4288,14 @@ msgid "Unknown alert type"
msgstr "نوع تنبيه غير معروÙ"
#: perllib/FixMyStreet/App/Controller/Photo.pm:109
-#: perllib/FixMyStreet/App/Controller/Root.pm:124
+#: perllib/FixMyStreet/App/Controller/Root.pm:141
#: templates/web/base/js/translation_strings.html:38
msgid "Unknown error"
msgstr "خطأ غير معروÙ"
-#: perllib/FixMyStreet/App/Controller/Report.pm:115
+#: perllib/FixMyStreet/App/Controller/Report.pm:112
+#: perllib/FixMyStreet/App/Controller/Report.pm:118
#: perllib/FixMyStreet/App/Controller/Report.pm:121
-#: perllib/FixMyStreet/App/Controller/Report.pm:124
msgid "Unknown problem ID"
msgstr "معر٠المشكلة غير معروÙ"
@@ -4183,10 +4303,11 @@ msgstr "معر٠المشكلة غير معروÙ"
msgid "Unshortlisted"
msgstr ""
-#: templates/web/base/report/_item.html:24
+#: templates/web/base/report/_item.html:26
msgid "Up one"
msgstr ""
+#: templates/web/base/admin/states/index.html:76
#: templates/web/base/report/update/form_update.html:29
msgid "Update"
msgstr "تحديث"
@@ -4203,7 +4324,7 @@ msgstr "تمت Ø¥Ø¶Ø§ÙØ© التحديث التالي بدون تحديد اله
msgid "Update below added by %s at %s"
msgstr "تمت Ø¥Ø¶Ø§ÙØ© التحديث التالي بواسطة %s ÙÙŠ %s"
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Update body"
msgstr "نص التحديث"
@@ -4239,13 +4360,23 @@ msgstr "حالات التحديث"
msgid "Updated"
msgstr "تم التحديث"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1157
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1221
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1384
-#: perllib/FixMyStreet/App/Controller/Admin.pm:822
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:762
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:787
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:857
+#: perllib/FixMyStreet/DB/Result/Comment.pm:249
+#, fuzzy
+msgid "Updated by <strong>%s</strong> (%s) at %s"
+msgstr "تم النشر بواسطة <strong>%s</strong> (%s) ÙÙŠ %s"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:251
+#, fuzzy
+msgid "Updated by <strong>%s</strong> at %s"
+msgstr "تم النشر بواسطة <strong>%s</strong> ÙÙŠ %s"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1262
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1326
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1489
+#: perllib/FixMyStreet/App/Controller/Admin.pm:910
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:767
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:792
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:862
msgid "Updated!"
msgstr "تم التحديث!"
@@ -4255,7 +4386,7 @@ msgstr "تم التحديث!"
msgid "Updates"
msgstr "التحديثات"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:133
+#: perllib/FixMyStreet/DB/Result/Comment.pm:134
msgid "Updates are limited to %s characters in length. Please shorten your update"
msgstr "يقتصر طول التحديثات على %s من الأحرÙ. الرجاء تقصير نص التحديث"
@@ -4269,13 +4400,24 @@ msgstr "التحديثات على {{title}}"
msgid "Updates to this problem, %s"
msgstr "التحديثات على هذه المشكلة، %s"
+#: templates/web/base/admin/contact-form.html:43
+#: templates/web/base/admin/contact-form.html:44
+msgid ""
+"Use <strong>confirmed</strong> to indicate that this contact has been\n"
+"confirmed as correct. If you are not sure of the origin or validity of the\n"
+"contact, use <strong>unconfirmed</strong>. <strong>inactive</strong> will\n"
+"remove the category from use when reporting problems, but keep it available in\n"
+"map filters, and <strong>deleted</strong> will remove the category from there\n"
+"as well."
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:65
msgid "Use Open311 update-sending extension"
-msgstr ""
+msgstr "استخدم ملحق Open311 لأرسال الاحداثيات"
-#: templates/web/base/admin/contact-form.html:124
+#: templates/web/base/admin/contact-form.html:125
msgid "Use this field to record details that are only displayed in the admin. Input is not shown publicly, and is not sent to the body."
-msgstr ""
+msgstr "استخدم هذا الحقب لتسجيل Ø§Ù„ØªÙØ§ØµÙŠÙ„ التي لا ØªÙØ¹Ø±Ø¶ إلا ÙÙŠ الإدارة. لا ØªÙØ¹Ø±Ø¶ المدخلات بصورة عامة، ولا ØªÙØ±Ø³Ù„ إلى الهيئة."
#: templates/web/zurich/admin/report_edit-sdm.html:50
#: templates/web/zurich/admin/report_edit.html:69
@@ -4284,40 +4426,39 @@ msgstr "تم استخدام الخريطة"
#: templates/web/base/admin/open311-form-fields.html:78
msgid "User ID to attribute fetched comments to"
-msgstr ""
+msgstr "التعليق المأخوذ ينتمي الى مستخدم معرÙ"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1700
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1805
msgid "User flag removed"
msgstr "تمت إزالة إشارة المستخدم"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1672
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1777
msgid "User flagged"
msgstr "تم وضع إشارة للمستخدم"
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:58
-#, fuzzy
msgid "User has marked as fixed"
-msgstr "عليه علامة تم الإصلاح"
+msgstr ""
#: templates/web/base/admin/users.html:5
msgid "User search finds matches in users' names and email addresses."
msgstr "عثر البحث الذي Ù†ÙØ°Ù‡ المستخدم على مطابقات ÙÙŠ أسماء المستخدمين وعناوين البريد الإلكتروني."
#: perllib/FixMyStreet/Cobrand/Default.pm:669
-#: perllib/FixMyStreet/Cobrand/Default.pm:723
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
+#: perllib/FixMyStreet/Cobrand/Default.pm:728
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:403
#: templates/web/base/admin/flagged.html:29 templates/web/zurich/header.html:61
msgid "Users"
msgstr "المستخدمون"
#: templates/web/base/admin/user-form.html:141
msgid "Users can perform the following actions within their assigned body or area."
-msgstr ""
+msgstr "يمكن للمستخدمين تنÙيذ الاوامر التاليه ÙÙŠ مناطقهم او هيئاتهم المعينة."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:400
-#: perllib/FixMyStreet/App/Controller/Admin.pm:430
-#: perllib/FixMyStreet/App/Controller/Admin.pm:448
+#: perllib/FixMyStreet/App/Controller/Admin.pm:381
+#: perllib/FixMyStreet/App/Controller/Admin.pm:417
+#: perllib/FixMyStreet/App/Controller/Admin.pm:439
msgid "Values updated"
msgstr "تم تحديث القيم"
@@ -4362,9 +4503,9 @@ msgstr "عثرنا على أكثر من مطابقة لهذا الموقع. نح
#: templates/web/base/around/lookup_by_ref.html:5
msgid "We found more than one match for that problem reference:"
-msgstr ""
+msgstr "وجدنا اكثر من تطايق لمؤشرات المشكلة:"
-#: templates/web/base/auth/general.html:6
+#: templates/web/base/auth/general.html:8
#: templates/web/base/report/display.html:35
#: templates/web/base/report/new/oauth_email_form.html:5
msgid "We need your email address, please give it below."
@@ -4399,7 +4540,7 @@ msgstr "سنعود إليك بأسرع ما يمكن."
msgid "What was your experience of getting the problem fixed?"
msgstr "ما انطباعك عن إصلاح المشكلة؟"
-#: templates/web/base/admin/category_edit.html:52
+#: templates/web/base/admin/category_edit.html:27
#: templates/web/zurich/admin/body.html:18
msgid "When edited"
msgstr "عند التحرير"
@@ -4408,20 +4549,28 @@ msgstr "عند التحرير"
msgid "When sent"
msgstr "عند الإرسال"
-#: templates/web/base/report/_inspect.html:89
+#: templates/web/base/admin/extra-metadata-form.html:18
+msgid "Whether the user is required to provide a value for this field."
+msgstr ""
+
+#: templates/web/base/alert/_list.html:9
+msgid "Which problems do you want alerts about?"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:99
msgid "Which report is it a duplicate of?"
msgstr ""
-#: templates/web/base/js/translation_strings.html:54
+#: templates/web/base/js/translation_strings.html:57
msgid "Whoa there Testino! Three photos are enough."
-msgstr ""
+msgstr "ثلاث صور تكÙÙŠ."
#: templates/web/base/tokens/confirm_alert.html:7
msgid "Why stop there? <a href=\"/alert\">Set up more alerts</a> for free."
msgstr "لماذا تتوق٠هنا؟ يمكنك <a href=\"/alert\">إعداد مزيد من التنبيهات</a> مجانًا."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:185
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:190
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:14
msgid "Wish"
@@ -4431,7 +4580,7 @@ msgstr "الرغبة"
msgid "With request searches, it is also possible to search for agency_responsible to limit the requests to those sent to a single administration. The search term is the administration ID provided by <a href=\"%s\">MaPit</a>."
msgstr "مع عمليات البحث عن الطلبات، يمكن أيضًا البحث عن agency_responsible لقصر الطلبات على تلك المرسلة إلى إدارة واحدة. مصطلح البحث هو معر٠الإدارة المقدم بواسطة <a href=\"%s\">MaPit</a>."
-#: templates/web/base/front/footer-marketing.html:17
+#: templates/web/base/front/footer-marketing.html:3
msgid "Would you like to contribute to FixMyStreet? Our code is open source and <a href=\"http://fixmystreet.org\">available at fixmystreet.org</a>."
msgstr "هل تريد المساهمة ÙÙŠ FixMyStreetØŸ التعليمات البرمجية الخاصة بنا Ù…ÙØªÙˆØ­Ø© المصدر <a href=\"http://fixmystreet.org\">ومتاحة على fixmystreet.org</a>."
@@ -4456,23 +4605,22 @@ msgstr ""
msgid "Year"
msgstr "السنة"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1202
+#: perllib/FixMyStreet/Cobrand/Default.pm:1236
#: templates/web/base/admin/bodies.html:70
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
#: templates/web/base/admin/category_edit.html:5
#: templates/web/base/admin/flagged.html:47
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:136
+#: templates/web/base/admin/report_edit.html:124
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:25
#: templates/web/base/admin/users.html:32
#: templates/web/base/questionnaire/creator_fixed.html:14
#: templates/web/base/questionnaire/index.html:104
#: templates/web/base/questionnaire/index.html:53
+#: templates/web/base/report/_inspect.html:90
msgid "Yes"
msgstr "نعم"
@@ -4485,7 +4633,7 @@ msgstr "نعم لدي كلمة المرور"
msgid "You are complaining that this problem report was unnecessarily moderated:"
msgstr "أنت تشتكي من أن تقرير هذه المشكلة تم تعديله بواسطة الإشرا٠دون ضرورة لذلك:"
-#: templates/web/base/js/translation_strings.html:70
+#: templates/web/base/js/translation_strings.html:73
msgid "You are offline"
msgstr ""
@@ -4506,7 +4654,11 @@ msgstr "يمكنك <a href=\"%s%s\">عرض المشكلة على هذا المو
msgid "You can add an abusive user's email to the abuse list, which automatically hides (and never sends) reports they create."
msgstr "يمكنك Ø¥Ø¶Ø§ÙØ© البريد الإلكتروني الخاصة بالمستخدم المسيء إلى قائمة المسيئين، وهي تخÙÙŠ تلقائيًا (ولا ترسل مطلقًا) التقارير التي يقومون بإنشائها."
-#: templates/web/base/contact/index.html:111
+#: templates/web/base/alert/_list.html:18
+msgid "You can choose to subscribe to all problems reported in an area, or reports based on their destination."
+msgstr ""
+
+#: templates/web/base/contact/index.html:115
msgid "You can contact technical support on <a href='mailto:%s'>%s</a>"
msgstr "يمكنك التواصل مع الدعم الÙني عبر <a href='mailto:%s'>%s</a>"
@@ -4527,7 +4679,7 @@ msgstr ""
msgid "You can help us by finding a contact email address for local problems for %s and emailing it to us at <a href='mailto:%s'>%s</a>."
msgstr "يمكنك مساعدتنا ÙÙŠ العثور على عنوان بريد إلكتروني لجهة اتصال للمشكلات المحلية المتعلقة بـ %s وإرساله إلينا عبر البريد الإلكتروني على <a href='mailto:%s'>%s</a>."
-#: templates/web/base/admin/body-form.html:91
+#: templates/web/base/admin/body-form.html:93
msgid "You can mark a body as deleted if you do not want it to be active on the site."
msgstr "يمكنك وضع علامة الحذ٠على هيئة إذا كنت لا تريدها نشطة على الموقع."
@@ -4535,7 +4687,7 @@ msgstr "يمكنك وضع علامة الحذ٠على هيئة إذا كنت ل
msgid "You declined; please fill in the box above"
msgstr "لقد Ø±ÙØ¶ØªØ› الرجاء تعبئة المربع بالأعلى"
-#: templates/web/base/js/translation_strings.html:72
+#: templates/web/base/js/translation_strings.html:75
msgid "You have <a id=\"oFN\" href=\"\"><span>%s</span> saved to submit</a>."
msgstr ""
@@ -4543,7 +4695,7 @@ msgstr ""
msgid "You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"
msgstr "لقد أجبت عن هذا الاستبيان Ø¨Ø§Ù„ÙØ¹Ù„. إذا كان لديك سؤال، ÙØ§Ù„رجاء <a href='%s'>التواصل معنا</a>ØŒ أو <a href='%s'>عرض المشكلة</a>.\n"
-#: templates/web/base/report/new/form_report.html:37
+#: templates/web/base/report/new/form_report.html:39
#: templates/web/zurich/report/new/fill_in_details_form.html:30
msgid "You have already attached photos to this report. Note that you can attach a maximum of 3 to this report (if you try to upload more, the oldest will be removed)."
msgstr "لقد أرÙقت صورًا بهذا التقرير من قبل. لاحظ أنه يمكنك Ø¥Ø±ÙØ§Ù‚ 3 صور كحد أقصى بهذا التقرير (إذا حاولت تحميل المزيد من الصور، ÙØ³ÙŠØªÙ… حذ٠الصور القديمة)."
@@ -4579,7 +4731,7 @@ msgstr "لم تقم بإنشاء أي تقارير حتى الآن. <a href=\"%s
#: templates/web/base/my/planned.html:21
msgid "You haven&rsquo;t shortlisted any reports yet."
-msgstr ""
+msgstr "لم تقم Ø¨Ø§Ø¶Ø§ÙØ© أي تقارير الى القائمة القصيرة حتى الآن. "
#: templates/web/base/admin/index.html:19
msgid "You need to <a href=\"%s\">add some bodies</a> (such as councils or departments) before any reports can be sent."
@@ -4604,10 +4756,9 @@ msgstr "التقارير"
msgid "Your account"
msgstr "حسابك"
-#: templates/web/base/alert/_list.html:90
#: templates/web/base/alert/updates.html:19
#: templates/web/base/alert/updates.html:22
-#: templates/web/base/contact/index.html:81
+#: templates/web/base/contact/index.html:80
#: templates/web/base/report/display_tools.html:46
#: templates/web/base/report/display_tools.html:49
#: templates/web/base/report/new/form_user_loggedout_email.html:1
@@ -4617,7 +4768,7 @@ msgid "Your email"
msgstr "البريد الإلكتروني"
#: templates/web/base/auth/change_email.html:9
-#: templates/web/base/auth/general.html:55
+#: templates/web/base/auth/general.html:57
#: templates/web/base/report/update/form_user_loggedout_email.html:5
#: templates/web/zurich/auth/general.html:30
#: templates/web/zurich/auth/general.html:58
@@ -4628,21 +4779,32 @@ msgstr "عنوان البريد الإلكتروني"
msgid "Your information will only be used in accordance with our <a href=\"/privacy\">privacy policy</a>"
msgstr "لن يتم استخدام معلوماتك إلا ÙˆÙقًا <a href=\"/privacy\">لسياسة الخصوصية</a> الخاصة بنا"
-#: templates/web/base/auth/general.html:107
+#: templates/web/base/auth/general.html:109
#: templates/web/base/contact/index.html:74
#: templates/web/base/report/new/form_user_loggedout_by_email.html:17
-#: templates/web/base/report/update/form_name.html:29
+#: templates/web/base/report/update/form_name.html:33
#: templates/web/zurich/auth/general.html:61
#: templates/web/zurich/report/new/fill_in_details_form.html:63
msgid "Your name"
msgstr "الاسم"
-#: templates/web/base/js/translation_strings.html:62
-#, fuzzy
+#: templates/web/base/my/anonymize.html:13
+msgid "Your name has already been sent to %s, but we can hide it on this page:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:264
+msgid "Your name has been hidden from all your reports and updates."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:260
+msgid "Your name has been hidden."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:65
msgid "Your offline reports"
-msgstr "التقارير"
+msgstr ""
-#: templates/web/base/auth/general.html:85
+#: templates/web/base/auth/general.html:87
#: templates/web/base/report/new/form_user_loggedout_password.html:10
#: templates/web/base/report/update/form_user_loggedout_password.html:9
#: templates/web/zurich/auth/general.html:34
@@ -4653,6 +4815,7 @@ msgstr "كلمة المرور"
msgid "Your password has been changed"
msgstr "تم تغيير كلمة المرور"
+#: templates/web/base/contact/index.html:87
#: templates/web/base/report/new/form_user_loggedout_by_email.html:26
#: templates/web/zurich/report/new/fill_in_details_form.html:69
msgid "Your phone number"
@@ -4669,9 +4832,9 @@ msgstr "التقارير"
#: templates/web/base/my/planned.html:0 templates/web/base/my/planned.html:18
#: templates/web/base/my/planned.html:5
msgid "Your shortlist"
-msgstr ""
+msgstr "قائمتك القصيرة"
-#: templates/web/base/js/translation_strings.html:63
+#: templates/web/base/js/translation_strings.html:66
msgid "Your update has been saved offline for submission when back online."
msgstr ""
@@ -4679,24 +4842,24 @@ msgstr ""
msgid "Your updates"
msgstr "التحديثات"
-#: templates/web/base/report/new/form_user_loggedin.html:18
-#: templates/web/base/report/update/form_name.html:11
+#: templates/web/base/report/new/form_user_loggedin.html:19
+#: templates/web/base/report/update/form_name.html:12
msgid "Yourself"
-msgstr ""
+msgstr "Ù†ÙØ³Ùƒ"
#: templates/web/base/admin/category-checkboxes.html:7
#: templates/web/base/admin/user-form.html:151
msgid "all"
msgstr "الكل"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:259
+msgid "and a defect raised"
+msgstr ""
+
#: templates/web/base/admin/timeline.html:4
msgid "by %s"
msgstr "بواسطة %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:290
-msgid "closed as a duplicate report"
-msgstr "عليه علامة تقرير مكرر"
-
#: templates/web/base/reports/body.html:6
#: templates/web/base/reports/body.html:7
msgid "council"
@@ -4721,7 +4884,7 @@ msgstr "تحرير المستخدم"
msgid "from %s different users"
msgstr "من %s من المستخدمين المختلÙين"
-#: templates/web/base/report/_item.html:61
+#: templates/web/base/report/_item.html:63
#: templates/web/zurich/report/_item.html:14
msgid "last updated %s"
msgstr "آخر تحديث %s"
@@ -4730,44 +4893,7 @@ msgstr "آخر تحديث %s"
msgid "less than a minute"
msgstr "أقل من دقيقة واحدة"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:280
-msgid "marked as action scheduled"
-msgstr "عليه علامة إجراء مجدول"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:292
-msgid "marked as an internal referral"
-msgstr "عليه علامة إحالة داخلية"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:282
-msgid "marked as closed"
-msgstr "عليه علامة مغلق"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:263
-#: perllib/FixMyStreet/DB/Result/Comment.pm:284
-msgid "marked as fixed"
-msgstr "عليه علامة تم الإصلاح"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:278
-msgid "marked as in progress"
-msgstr "عليه علامة قيد التقدم"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:274
-msgid "marked as investigating"
-msgstr "عليه علامة جار٠التحقق"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:286
-msgid "marked as no further action"
-msgstr "عليه علامة يتعذر الإصلاح"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:288
-msgid "marked as not the council's responsibility"
-msgstr "عليه علامة ليست مسؤولية المجلس"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:276
-msgid "marked as planned"
-msgstr "عليه علامة مخطط"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:122
+#: perllib/FixMyStreet/App/Controller/Admin.pm:119
#: templates/web/base/admin/questionnaire.html:15
#: templates/web/base/admin/questionnaire.html:16
msgid "n/a"
@@ -4776,15 +4902,12 @@ msgstr "غير متاح"
#: templates/web/base/admin/category-checkboxes.html:8
#: templates/web/base/admin/user-form.html:152
msgid "none"
-msgstr ""
-
-#: templates/web/base/admin/category_edit.html:35
-msgid "optional"
-msgstr "إختياري"
+msgstr "بلا"
-#: templates/web/base/alert/_list.html:86
-msgid "or"
-msgstr "أو"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:278
+#, fuzzy
+msgid "not the council's responsibility"
+msgstr "عليه علامة ليست مسؤولية المجلس"
#: templates/web/base/js/translation_strings.html:27
msgid "or locate me automatically"
@@ -4809,16 +4932,7 @@ msgstr "Ø§Ù„Ù…ÙØ¯Ø®Ù„ ÙÙŠ الأصل: &ldquo;%s&rdquo;"
msgid "other areas:"
msgstr "مناطق أخرى:"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:265
-#: perllib/FixMyStreet/DB/Result/Comment.pm:271
-msgid "reopened"
-msgstr "تمت إعادة Ø§Ù„ÙØªØ­"
-
-#: templates/web/base/admin/category_edit.html:35
-msgid "required"
-msgstr "مطلوب"
-
-#: templates/web/zurich/footer.html:13
+#: templates/web/zurich/footer.html:12
msgid "sign out"
msgstr "تسجيل الخروج"
@@ -4826,11 +4940,16 @@ msgstr "تسجيل الخروج"
msgid "the local council"
msgstr "المجلس المحلي"
-#: templates/web/base/report/_report_meta_info.html:2
+#: templates/web/base/report/_report_meta_info.html:5
#: templates/web/zurich/report/_main.html:5
msgid "there is no pin shown as the user did not use the map"
msgstr "لا يوجد دبوس مما يعني أن المستخدم لم يستخدم الخريطة"
+#: templates/web/base/alert/_list.html:1
+#, fuzzy
+msgid "this location"
+msgstr "عرض موقع"
+
#: perllib/FixMyStreet/Script/Reports.pm:184
msgid "this type of local problem"
msgstr "هذا النوع من المشكلة المحلية"
@@ -4839,15 +4958,13 @@ msgstr "هذا النوع من المشكلة المحلية"
msgid "today"
msgstr "اليوم"
-#: templates/web/base/js/translation_strings.html:73
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:76
msgid "update"
-msgstr "تحديث"
+msgstr ""
-#: templates/web/base/js/translation_strings.html:74
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:77
msgid "updates"
-msgstr "التحديثات"
+msgstr ""
#: templates/web/base/admin/report_edit.html:52
msgid "used map"
@@ -4867,15 +4984,15 @@ msgid "ward"
msgstr "الإدارة"
#: templates/web/base/admin/bodies.html:56
-#, fuzzy, perl-format
+#, perl-format
msgid "%d address"
msgid_plural "%d addresses"
-msgstr[0] "البريد الإلكتروني"
-msgstr[1] "البريد الإلكتروني"
-msgstr[2] "البريد الإلكتروني"
-msgstr[3] "البريد الإلكتروني"
-msgstr[4] "البريد الإلكتروني"
-msgstr[5] "البريد الإلكتروني"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
#: perllib/Utils.pm:250
#, perl-format
@@ -4911,15 +5028,15 @@ msgstr[4] "%d من الدقائق"
msgstr[5] "%d من الدقائق"
#: perllib/Utils.pm:246
-#, fuzzy, perl-format
+#, perl-format
msgid "%d month"
msgid_plural "%d months"
-msgstr[0] "%d دقيقة"
-msgstr[1] "%d دقيقة"
-msgstr[2] "%d من الدقائق"
-msgstr[3] "%d من الدقائق"
-msgstr[4] "%d من الدقائق"
-msgstr[5] "%d من الدقائق"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
#: templates/web/base/report/_support.html:6
#, perl-format
@@ -4954,6 +5071,61 @@ msgstr[3] ""
msgstr[4] ""
msgstr[5] ""
+#: templates/web/base/reports/index.html:92
+#, perl-format
+msgid "%s day"
+msgid_plural "%s days"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
+
+#: templates/web/base/reports/index.html:55
+#, perl-format
+msgid "%s problem marked as fixed"
+msgid_plural "%s problems marked as fixed"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
+
+#: templates/web/base/reports/index.html:43
+#, perl-format
+msgid "%s problem reported"
+msgid_plural "%s problems reported"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
+
+#: templates/web/base/reports/index.html:107
+#, perl-format
+msgid "%s report"
+msgid_plural "%s reports"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
+
+#: templates/web/base/reports/index.html:49
+#, perl-format
+msgid "%s update on problems"
+msgid_plural "%s updates on problems"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
+
#: templates/web/base/front/stats.html:19
#, perl-format
msgid "<big>%s</big> fixed in past month"
@@ -4998,16 +5170,16 @@ msgstr[3] "<big>%s</big> من التحديثات على التقارير"
msgstr[4] "<big>%s</big> من التحديثات على التقارير"
msgstr[5] "<big>%s</big> من التحديثات على التقارير"
-#: templates/web/base/report/_item.html:49
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:51
+#, perl-format
msgid "Reported %d day ago"
msgid_plural "Reported %d days ago"
-msgstr[0] "تم الإبلاغ عنها بواسطة %s ÙÙŠ %s"
-msgstr[1] "تم الإبلاغ عنها بواسطة %s ÙÙŠ %s"
-msgstr[2] "تم الإبلاغ عنها بواسطة %s ÙÙŠ %s"
-msgstr[3] "تم الإبلاغ عنها بواسطة %s ÙÙŠ %s"
-msgstr[4] "تم الإبلاغ عنها بواسطة %s ÙÙŠ %s"
-msgstr[5] "تم الإبلاغ عنها بواسطة %s ÙÙŠ %s"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
#: templates/web/base/report/new/top_message_some.html:3
#, perl-format
@@ -5031,51 +5203,135 @@ msgstr[3] "لا توجد لدينا ØªÙØ§ØµÙŠÙ„ عن المجالس التي ت
msgstr[4] "لا توجد لدينا ØªÙØ§ØµÙŠÙ„ عن المجالس التي تغطي هذا الموقع حتى الآن."
msgstr[5] "لا توجد لدينا ØªÙØ§ØµÙŠÙ„ عن المجالس التي تغطي هذا الموقع حتى الآن."
-#: templates/web/base/report/_item.html:59
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:61
+#, perl-format
msgid "last updated %d day ago"
msgid_plural "last updated %d days ago"
-msgstr[0] "آخر تحديث %s"
-msgstr[1] "آخر تحديث %s"
-msgstr[2] "آخر تحديث %s"
-msgstr[3] "آخر تحديث %s"
-msgstr[4] "آخر تحديث %s"
-msgstr[5] "آخر تحديث %s"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
#: templates/email/oxfordshire/archive.txt:9
-#, fuzzy, perl-format
+#, perl-format
msgid "report"
msgid_plural "reports"
-msgstr[0] "إبلاغ"
-msgstr[1] "إبلاغ"
-msgstr[2] "إبلاغ"
-msgstr[3] "إبلاغ"
-msgstr[4] "إبلاغ"
-msgstr[5] "إبلاغ"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
-#, fuzzy
-#~ msgid "All inspectors"
-#~ msgstr "كل Ø§Ù„ØªØµÙ†ÙŠÙØ§Øª"
+#~ msgid ""
+#~ "%s sends different categories of problem\n"
+#~ "to the appropriate council, so problems within the boundary of a particular council\n"
+#~ "might not match the problems sent to that council. For example, a graffiti report\n"
+#~ "will be sent to the district council, so will appear in both of the district\n"
+#~ "council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
+#~ "for the county council."
+#~ msgstr ""
+#~ "يرسل %s ÙØ¦Ø§Øª Ù…Ø®ØªÙ„ÙØ© من المشكلة\n"
+#~ "إلى المجلس المناسب، ÙØ§Ù„مشكلات الواقعة ضمن حدود مجلس معين\n"
+#~ "قد لا تطابق المشكلات المرسلة إلى ذلك المجلس. على سبيل المثال، تقرير الرسم على\n"
+#~ "الجدران، جراÙيتي، Ø³ÙŠÙØ±Ø³Ù„ إلى المجلس المحلي\n"
+#~ "لذلك سيظهر ÙÙŠ كلا تنبيهي المجلس المحلي، ولكن سيظهر Ùقط ÙÙŠ تنبيه \"ضمن الحدود\"\n"
+#~ "للمجلس البلدي."
-#, fuzzy
-#~ msgid "External ID:"
-#~ msgstr "معر٠خارجي"
+#~ msgid "%s ward, %s"
+#~ msgstr "دائرة %s، %s"
-#, fuzzy
-#~ msgid "Inspector:"
-#~ msgstr "يتطلب المعاينة"
+#~ msgid "%s, within %s ward"
+#~ msgstr "%s، ضمن دائرة %s"
-#, fuzzy
-#~ msgid "Report category:"
-#~ msgstr "عدل تصني٠التقرير"
+#~ msgid "(alternatively the RSS feed can be customised, within %s)"
+#~ msgstr "(يمكن بدلاً من ذلك تخصيص موجز RSS، ضمن %s)"
-#, fuzzy
-#~ msgid "Reported %d days ago"
-#~ msgstr "تم الإبلاغ عنها بواسطة %s ÙÙŠ %s"
+#~ msgid "-- Pick a property type --"
+#~ msgstr "-- إختر نوع العقار--"
-#, fuzzy
-#~ msgid "last updated %d days ago"
-#~ msgstr "آخر تحديث %s"
+#~ msgid "Closed reports"
+#~ msgstr "التقارير المغلقة"
+
+#~ msgid "Closed:"
+#~ msgstr "مغلق:"
+
+#~ msgid "Duplicate"
+#~ msgstr "مكرر"
+
+#~ msgid "Fixed reports"
+#~ msgstr "التقارير التي تم إصلاحها"
+
+#~ msgid "Fixed:"
+#~ msgstr "تم الإصلاح:"
+
+#~ msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
+#~ msgstr "هذه أنواع التحذيرات للمشاكل المحلية &lsquo;%s&rsquo;."
+
+#~ msgid "In Progress"
+#~ msgstr "قيد التقدم"
+
+#~ msgid "Internal referral"
+#~ msgstr "إحالة داخلية"
+
+#~ msgid "Investigating"
+#~ msgstr "جار٠التحقق"
+
+#~ msgid "No further action"
+#~ msgstr "يتعذر الإصلاح"
+
+#~ msgid "Not Responsible"
+#~ msgstr "غير مسؤول"
+
+#~ msgid "Or problems reported to:"
+#~ msgstr "أو المشكلات المبلغ عنها إلى:"
+
+#~ msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
+#~ msgstr "أو يمكنك الاشتراك للحصول على تنبيه تبعًا للإدارة أو المجلس الذي تتبعه:"
+
+#~ msgid "Please choose a property type"
+#~ msgstr "الرجاء اختيار نوع العقار"
+
+#~ msgid "Problems within the boundary of:"
+#~ msgstr "المشكلات ضمن حدود:"
+
+#~ msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
+#~ msgstr "حدد نوع التنبيه الذي تريده وانقر Ùوق الزر للحصول على موجز RSS أو أدخل عنوان البريد الإلكتروني للاشتراك ÙÙŠ خدمة التنبيه عبر البريد الإلكتروني."
+
+#~ msgid "The simplest alert is our geographic one:"
+#~ msgstr "أبسط تنبيه هو التنبيه الجغراÙÙŠ:"
+
+#~ msgid "closed as a duplicate report"
+#~ msgstr "عليه علامة تقرير مكرر"
+
+#~ msgid "marked as action scheduled"
+#~ msgstr "عليه علامة إجراء مجدول"
+
+#~ msgid "marked as an internal referral"
+#~ msgstr "عليه علامة إحالة داخلية"
+
+#~ msgid "marked as closed"
+#~ msgstr "عليه علامة مغلق"
+
+#~ msgid "marked as fixed"
+#~ msgstr "عليه علامة تم الإصلاح"
+
+#~ msgid "marked as in progress"
+#~ msgstr "عليه علامة قيد التقدم"
+
+#~ msgid "marked as investigating"
+#~ msgstr "عليه علامة جار٠التحقق"
+
+#~ msgid "marked as no further action"
+#~ msgstr "عليه علامة يتعذر الإصلاح"
+
+#~ msgid "marked as planned"
+#~ msgstr "عليه علامة مخطط"
+
+#~ msgid "or"
+#~ msgstr "أو"
-#~ msgid "Cancel"
-#~ msgstr "إلغاء"
+#~ msgid "reopened"
+#~ msgstr "تمت إعادة Ø§Ù„ÙØªØ­"
diff --git a/locale/bg_BG.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/bg_BG.UTF-8/LC_MESSAGES/FixMyStreet.po
index b5c81d77f..58de2b98e 100644
--- a/locale/bg_BG.UTF-8/LC_MESSAGES/FixMyStreet.po
+++ b/locale/bg_BG.UTF-8/LC_MESSAGES/FixMyStreet.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
-"POT-Creation-Date: 2017-03-30 17:33+0100\n"
+"POT-Creation-Date: 2017-09-13 15:40+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: mySociety <transifex@mysociety.org>, 2016\n"
+"Last-Translator: mySociety <transifex@mysociety.org>, 2017\n"
"Language-Team: Bulgarian (Bulgaria) (https://www.transifex.com/mysociety/teams/12067/bg_BG/)\n"
"Language: bg_BG\n"
"MIME-Version: 1.0\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:695
+#: perllib/FixMyStreet/DB/Result/Problem.pm:632
#: perllib/FixMyStreet/Script/Reports.pm:197
msgid " and "
msgstr "и"
@@ -91,25 +91,6 @@ msgstr "%s изпратени анкети &ndash; %s отговорени (%s%%
msgid "%s ref:&nbsp;%s"
msgstr "%s номер:&nbsp;%s"
-#. ("%s is the site name")
-#: templates/web/base/alert/_list.html:74
-msgid ""
-"%s sends different categories of problem\n"
-"to the appropriate council, so problems within the boundary of a particular council\n"
-"might not match the problems sent to that council. For example, a graffiti report\n"
-"will be sent to the district council, so will appear in both of the district\n"
-"council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
-"for the county council."
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:257 perllib/FixMyStreet/Cobrand/UK.pm:269
-msgid "%s ward, %s"
-msgstr "%s квартал, %s"
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
-msgid "%s, within %s ward"
-msgstr "%s, в %s квартал"
-
#: perllib/FixMyStreet/Map/OSM.pm:38
msgid "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"
msgstr ""
@@ -118,7 +99,7 @@ msgstr ""
msgid "(Defect &amp; location of defect)"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
#: templates/web/base/admin/users.html:32
msgid "(Email in abuse table)"
msgstr "(Имейлът е маркиран като подаващ обидни Ñигнали)"
@@ -133,28 +114,36 @@ msgstr ""
msgid "(No phone number)"
msgstr ""
-#: templates/web/base/alert/_list.html:25
-msgid "(a default distance which covers roughly 200,000 people)"
-msgstr "(разÑтоÑние, което покрива грубо 7 500 жители)"
-
-#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
-#: templates/web/base/alert/_list.html:30
-msgid "(alternatively the RSS feed can be customised, within %s)"
+#: templates/web/base/admin/states/index.html:95
+msgid "(a-z and space only)"
msgstr ""
#: templates/web/zurich/report/_item.html:19
msgid "(closed)"
msgstr "(затворен)"
+#: templates/web/base/alert/_list.html:30
+#, fuzzy
+msgid "(covers roughly 200,000 people)"
+msgstr "(разÑтоÑние, което покрива грубо 7 500 жители)"
+
#: templates/web/zurich/report/_item.html:17
msgid "(fixed)"
msgstr "(поправен)"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "(ignored if type is \"String\")"
+msgstr ""
+
#: templates/web/base/around/intro.html:2
msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
msgstr "(като графити, дупки по улицата, Ñчупено улично оÑветление)"
-#: templates/web/base/report/_item.html:68
+#: templates/web/base/reports/index.html:69
+msgid "(no longer exists)"
+msgstr ""
+
+#: templates/web/base/report/_item.html:70
msgid "(not sent to council)"
msgstr "(не е изпратен към общината)"
@@ -162,20 +151,22 @@ msgstr "(не е изпратен към общината)"
msgid "(optional)"
msgstr "(незадължително)"
-#: templates/web/base/report/_item.html:67
+#: templates/web/base/report/_item.html:69
msgid "(sent to both)"
msgstr "(изпратен към двата района)"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:239
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/DB/Result/Problem.pm:454
+#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
+#: templates/web/base/alert/_list.html:36
+#, fuzzy
+msgid "(we also have RSS feeds for problems within %s)"
+msgstr "RSS абонамент за проблеми в %s"
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:245
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:381
msgid "-- Pick a category --"
msgstr "-- Изберете ÐºÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ --"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:460
-msgid "-- Pick a property type --"
-msgstr "-- Изберете подходÑщ тип --"
-
#: templates/web/base/admin/response_templates_select.html:3
msgid "--Choose a template--"
msgstr ""
@@ -184,16 +175,16 @@ msgstr ""
msgid "10 inch pothole on Example St, near post box"
msgstr ""
-#: templates/web/base/dashboard/index.html:152
+#: templates/web/base/dashboard/index.html:153
msgid "14-30 days old"
msgstr ""
-#: templates/web/base/dashboard/index.html:151
+#: templates/web/base/dashboard/index.html:152
msgid "7-14 days old"
msgstr ""
-#: templates/web/base/admin/body-form.html:48
-#: templates/web/base/admin/body-form.html:49
+#: templates/web/base/admin/body-form.html:50
+#: templates/web/base/admin/body-form.html:51
msgid ""
"<code>MAPIT_URL</code> is set (<code>%s</code>) but no <code>MAPIT_TYPES</code>.<br>\n"
" This is probably why \"area covered\" is empty (below).<br>\n"
@@ -204,13 +195,12 @@ msgstr ""
msgid "<h2>Reports, Statistics and Actions for</h2> <h1>%s</h1>"
msgstr ""
-#. ('The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories')
#. ("The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories")
-#: templates/web/base/reports/_list-filters.html:37
-msgid "<label for=\"statuses\">Show</label> %s <label for=\"filter_categories\">about</label> %s"
+#: templates/web/base/reports/_list-filters.html:48
+msgid "<label for=\"statuses\">Show</label> %s reports <label for=\"filter_categories\">about</label> %s"
msgstr ""
-#: templates/web/base/js/translation_strings.html:71
+#: templates/web/base/js/translation_strings.html:74
msgid "<span>%s</span> saved."
msgstr ""
@@ -227,34 +217,25 @@ msgstr "<strong>Ðе</strong> Ðека Ð¿Ð¾Ñ‚Ð²ÑŠÑ€Ð´Ñ Ñигнала чрез
msgid "<strong>No</strong> Let me confirm my update by email"
msgstr "<strong>Ðе</strong> Ðека Ð¿Ð¾Ñ‚Ð²ÑŠÑ€Ð´Ñ Ð°ÐºÑ‚ÑƒÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñта чрез имейл"
-#: templates/web/base/auth/general.html:104
+#: templates/web/base/auth/general.html:106
#: templates/web/zurich/auth/general.html:51
msgid "<strong>No</strong> let me sign in by email"
msgstr "<strong>Ðе</strong> Ðека да влÑза в ÑиÑтемата чрез имейл"
-#: templates/web/base/report/_inspect.html:160
+#: templates/web/base/report/_inspect.html:170
msgid "<strong>Note:</strong> This report has been sent onwards for action. Any changes made won't be passed on."
msgstr ""
-#: templates/web/base/report/_inspect.html:162
+#: templates/web/base/report/_inspect.html:172
msgid "<strong>Note:</strong> This report hasn't yet been sent onwards for action. Any changes made may not be passed on."
msgstr ""
-#: templates/web/base/auth/general.html:80
+#: templates/web/base/auth/general.html:82
#: templates/web/base/report/new/form_user_loggedout_password.html:3
#: templates/web/base/report/update/form_user_loggedout_password.html:2
msgid "<strong>Yes</strong> I have a password"
msgstr "<strong>Да</strong> Имам парола"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:10
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:6
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Action Scheduled"
-msgstr "Сигналът Ñе обработва"
-
#: templates/web/base/admin/body-form.html:3
#: templates/web/base/admin/body-form.html:4
msgid ""
@@ -271,19 +252,36 @@ msgid "Add a contact using the form below."
msgstr "Добавете контакт като използвате формата по-долу."
#: templates/web/base/admin/bodies.html:78
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Add body"
msgstr "Добавете район"
+#: templates/web/base/admin/reportextrafields/index.html:24
+msgid "Add extra fields"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:79
+msgid "Add field"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:85
+msgid "Add fixed state"
+msgstr ""
+
#: templates/web/base/admin/body.html:126
#: templates/web/zurich/admin/body.html:31
msgid "Add new category"
msgstr "ДобавÑне на нова категориÑ"
+#: templates/web/base/admin/extra-metadata-form.html:72
+#, fuzzy
+msgid "Add option"
+msgstr "(незадължително)"
+
#: templates/web/base/report/_item.html:10
-#: templates/web/base/report/_item.html:14
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_item.html:16
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:19
#: templates/web/base/report/_main.html:30
msgid "Add to shortlist"
@@ -295,15 +293,15 @@ msgstr ""
msgid "Add user"
msgstr "Добавете потребител"
-#: perllib/FixMyStreet/Cobrand/Default.pm:730
+#: perllib/FixMyStreet/Cobrand/Default.pm:735
msgid "Add/edit problem categories"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:732
+#: perllib/FixMyStreet/Cobrand/Default.pm:737
msgid "Add/edit response priorities"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:731
+#: perllib/FixMyStreet/Cobrand/Default.pm:736
msgid "Add/edit response templates"
msgstr ""
@@ -311,7 +309,7 @@ msgstr ""
msgid "Added %s"
msgstr "Добавено %s"
-#: templates/web/base/report/_main.html:145
+#: templates/web/base/report/_main.html:149
msgid "Adding this report to your shortlist will remove it from %s’s shortlist."
msgstr ""
@@ -331,17 +329,17 @@ msgstr "Създадено извеÑтие %d за %s, тип %s, Ñ Ð¿Ð°Ñ€Ð°Ð¼
msgid "Alert %d disabled (created %s)"
msgstr "ИзвеÑтието %d е изключено (Ñъздадено на %s)"
-#: templates/web/base/report/update/form_name.html:38
+#: templates/web/base/report/update/form_name.html:42
msgid "Alert me to future updates"
msgstr "ИзвеÑÑ‚Ñвай ме за бъдещи актуализиации"
#: templates/web/base/dashboard/index.html:138
#: templates/web/base/dashboard/index.html:21
#: templates/web/base/dashboard/index.html:30
+#: templates/web/base/reports/_list-filters.html:3
msgid "All"
msgstr ""
-#: templates/web/base/reports/index.html:6
#: templates/web/zurich/reports/index.html:13
msgid "All Reports"
msgstr "Вички Ñигнали"
@@ -351,15 +349,23 @@ msgid "All Reports as CSV"
msgstr ""
#: templates/web/base/admin/category-multiselect.html:5
-#: templates/web/base/admin/responsepriorities/list.html:19
+#: templates/web/base/admin/responsepriorities/list.html:20
msgid "All categories"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:26
+#, fuzzy
+msgid "All cobrands"
+msgstr "МеÑтна имплементциÑ"
+
+#: templates/web/base/admin/reportextrafields/edit.html:47
+msgid "All languages"
+msgstr ""
+
#: templates/web/base/main_nav_items.html:0
#: templates/web/base/main_nav_items.html:27
-#: templates/web/base/reports/_list-filters.html:3
#: templates/web/zurich/admin/index-dm.html:12
-#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:21
+#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:20
#: templates/web/zurich/nav_over_content.html:6
msgid "All reports"
msgstr "Ð’Ñички Ñигнали"
@@ -369,6 +375,14 @@ msgstr "Ð’Ñички Ñигнали"
msgid "All reports between %s and %s"
msgstr "Ð’Ñички Ñигнали между%s и %s "
+#: templates/web/base/reports/index.html:23
+msgid "All time"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:20
+msgid "Alternatively, we can hide your name on <strong>all of your reports and updates</strong> across the site:"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:47
msgid "An update marked this problem as fixed."
msgstr "Този Ñигнал е маркиран като поправен."
@@ -378,31 +392,33 @@ msgstr "Този Ñигнал е маркиран като поправен."
msgid "Anonymous"
msgstr "Ðнонимен"
-#: templates/web/base/admin/report_edit.html:134
+#: templates/web/base/report/new/form_user_loggedin.html:21
+#: templates/web/base/report/update/form_name.html:17
+#, fuzzy
+msgid "Anonymous user"
+msgstr "Ðнонимен"
+
+#: templates/web/base/admin/report_edit.html:122
#: templates/web/base/admin/update_edit.html:23
msgid "Anonymous:"
msgstr "Ðнонимен:"
-#: templates/web/base/report/new/form_user_loggedin.html:20
-#: templates/web/base/report/update/form_name.html:13
+#: templates/web/base/report/new/form_user_loggedin.html:24
+#: templates/web/base/report/update/form_name.html:14
msgid "Another user"
msgstr ""
-#: templates/web/base/front/footer-marketing.html:16
-msgid "Are you a developer?"
-msgstr "Ðко Ñте програмиÑÑ‚?"
-
-#: templates/web/base/js/translation_strings.html:56
+#: templates/web/base/js/translation_strings.html:59
msgid "Are you sure you want to cancel this upload?"
msgstr ""
#: templates/web/base/admin/report_edit.html:84
-#: templates/web/base/js/translation_strings.html:66
+#: templates/web/base/js/translation_strings.html:69
#: templates/web/base/report/display_tools.html:6
msgid "Are you sure?"
msgstr ""
-#: templates/web/base/admin/body-form.html:75
+#: templates/web/base/admin/body-form.html:77
#: templates/web/base/admin/body.html:20
#: templates/web/zurich/admin/body-form.html:24
msgid "Area covered"
@@ -434,11 +450,11 @@ msgstr "ПрехвърлÑне към външна община:"
msgid "Assign to subdivision:"
msgstr "ПрехвърлÑне към подразделение:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:727
+#: perllib/FixMyStreet/Cobrand/Default.pm:732
msgid "Assign users to areas"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:214
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:219
msgid "Assigned to %s"
msgstr "Прехвърлен на %s"
@@ -459,11 +475,14 @@ msgstr ""
msgid "Auto-response:"
msgstr ""
-#: templates/web/base/admin/report_edit.html:127
-#: templates/web/base/report/_inspect.html:47
+#: templates/web/base/admin/report-category.html:8
msgid "Available categories"
msgstr ""
+#: templates/web/base/reports/index.html:84
+msgid "Average time between a problem being reported and being fixed, last 100 reports."
+msgstr ""
+
#: templates/web/base/dashboard/index.html:109
msgid "Average time to council marking fixed (days)"
msgstr ""
@@ -476,7 +495,7 @@ msgstr ""
msgid "Avoid personal information and vehicle number plates"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:417
+#: perllib/FixMyStreet/DB/Result/Problem.pm:344
#: templates/web/zurich/report/_item.html:9
msgid "Awaiting moderation"
msgstr "Очакващ преглед"
@@ -489,13 +508,13 @@ msgstr "Ðазад"
msgid "Back to all reports"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
msgid "Ban email address"
msgstr "Забрана на имейл адреÑа"
#: perllib/FixMyStreet/Cobrand/Default.pm:650
-#: perllib/FixMyStreet/Cobrand/Default.pm:729
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
+#: perllib/FixMyStreet/Cobrand/Default.pm:734
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:396
#: templates/web/base/admin/bodies.html:1
#: templates/web/base/admin/report_edit.html:55
#: templates/web/zurich/header.html:56
@@ -517,7 +536,11 @@ msgstr "Район:"
msgid "By Date"
msgstr "По дата"
-#: templates/web/base/auth/token.html:21 templates/web/base/email_sent.html:18
+#: templates/web/base/admin/extra-metadata-form.html:36
+msgid "Can be used to display extra text to the user alongside the field. The default template does not show this (<code>meta.datatype_description</code>), you must add it in <code>category_extras_fields.html</code>"
+msgstr ""
+
+#: templates/web/base/auth/token.html:27 templates/web/base/email_sent.html:20
msgid "Can&rsquo;t find our email? Check your spam folder&nbsp;&ndash; that&rsquo;s the solution 99% of the time."
msgstr ""
@@ -538,8 +561,8 @@ msgstr ""
#: templates/web/base/admin/body.html:72
#: templates/web/base/admin/contact-form.html:19
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/report/_inspect.html:38
-#: templates/web/base/report/_item.html:90
+#: templates/web/base/report/_inspect.html:48
+#: templates/web/base/report/_item.html:92
#: templates/web/base/report/new/category.html:6
#: templates/web/base/report/new/category_wrapper.html:3
#: templates/web/zurich/admin/body.html:14
@@ -550,7 +573,7 @@ msgstr ""
msgid "Category"
msgstr "КатегориÑ"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:852
+#: perllib/FixMyStreet/App/Controller/Admin.pm:956
msgid "Category changed from ‘%s’ to ‘%s’"
msgstr ""
@@ -590,27 +613,11 @@ msgstr ""
msgid "Change password"
msgstr "ПромÑна на парола"
-#: templates/web/base/admin/contact-form.html:41
-msgid ""
-"Check <strong>confirmed</strong> to indicate that this contact has been confirmed as correct.\n"
-" If you are not sure of the origin or validity of the contact, leave this unchecked."
-msgstr ""
-"Изберете <strong>потвърден</strong> за да отбележите, че този контакт е бил потвърден и коректен. \n"
-"Ðко не Ñте Ñигурни за първоизточника или валидноÑтта на контакта, оÑтавете полето немаркирано."
-
-#: templates/web/base/admin/contact-form.html:52
-msgid ""
-"Check <strong>deleted</strong> to remove the category from use. \n"
-" It will not appear as an available category in the drop-down menu on the report-a-problem page."
-msgstr ""
-"Маркирайте <strong>изтриване</strong>, за да премахнете категориÑта.\n"
-"Ð’ този Ñлучай Ñ‚Ñ Ð½Ñма да бъде доÑтъпна в ÑпиÑъка Ñ ÐºÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ð¸ на Ñтраницата за подаване на нов Ñигнал."
-
-#: templates/web/base/admin/contact-form.html:79
+#: templates/web/base/admin/contact-form.html:80
msgid "Check <strong>inspection required</strong> if reports in this category <strong>must be inspected</strong> before being sent."
msgstr ""
-#: templates/web/base/admin/contact-form.html:63
+#: templates/web/base/admin/contact-form.html:64
msgid ""
"Check <strong>private</strong> if reports in this category should <strong>never be displayed on the website</strong>.\n"
" <br>\n"
@@ -632,11 +639,11 @@ msgid ""
" to the body too. These will appear in the drop-down menu on the report-a-problem page."
msgstr "Изберете име на <strong>категориÑта</strong>, което е ÑмиÑлено едновременно, както за гражданите, така и за общината. Категориите Ñе поÑвÑват като ÑпиÑък за избор при подаване на Ñигнал. "
-#: templates/web/base/report/_inspect.html:93
+#: templates/web/base/report/_inspect.html:103
msgid "Choose another"
msgstr ""
-#: templates/web/base/js/translation_strings.html:65
+#: templates/web/base/js/translation_strings.html:68
msgid "Clear offline data"
msgstr ""
@@ -661,21 +668,21 @@ msgstr ""
msgid "Click the link in our confirmation email to publish your update."
msgstr ""
-#: templates/web/base/auth/token.html:18
+#: templates/web/base/auth/token.html:23
msgid "Click the link in our confirmation email to sign in."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:189
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:960
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:17
-#: templates/web/base/admin/report_blocks.html:27
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:43
-#: templates/web/base/report/banner.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:18
+#: templates/web/base/auth/token.html:20
+msgid "Click the link in that email to sign in."
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:134
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:194
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:965
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:11
+#: templates/web/base/admin/states/index.html:103
+#: templates/web/base/admin/states/index.html:27
+#: templates/web/base/admin/states/index.html:33
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:10
#: templates/web/zurich/admin/header.html:16
@@ -683,23 +690,17 @@ msgstr ""
msgid "Closed"
msgstr "Затворен"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:889
+#: perllib/FixMyStreet/DB/Result/Problem.pm:826
msgid "Closed by council"
msgstr "Затворен от общината"
-#: templates/web/base/reports/_list-filters.html:13
-msgid "Closed reports"
-msgstr ""
-
-#: templates/web/base/admin/problem_row.html:38
-msgid "Closed:"
-msgstr "Затворени:"
-
#: templates/web/base/admin/report_edit.html:37
msgid "Co-ordinates:"
msgstr "Координати:"
#: templates/web/base/admin/list_updates.html:10
+#: templates/web/base/admin/reportextrafields/edit.html:24
+#: templates/web/base/admin/reportextrafields/index.html:7
msgid "Cobrand"
msgstr "МеÑтна имплементциÑ"
@@ -713,10 +714,13 @@ msgstr "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° меÑтната имплементциÑ:"
msgid "Cobrand:"
msgstr "МеÑтна имплементциÑ"
+#: templates/web/base/admin/extra-metadata-form.html:14
+msgid "Code"
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:50
-#, fuzzy
msgid "Collapse map"
-msgstr "използвана е била картата"
+msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:646
#: templates/web/base/admin/config_page.html:1
@@ -744,9 +748,8 @@ msgstr ""
msgid "Confirmation"
msgstr "Потвърждение"
-#: templates/web/base/admin/body.html:85
-#: templates/web/base/admin/category_edit.html:54
-#: templates/web/base/admin/contact-form.html:47
+#: templates/web/base/admin/contact-form.html:56
+#: templates/web/zurich/admin/contact-form.html:12
#: templates/web/zurich/admin/stats.html:40
msgid "Confirmed"
msgstr "Потвърдено"
@@ -781,8 +784,8 @@ msgstr "Връзка Ñ Ñ‚Ð¸Ð¼Ð°"
msgid "Coordinates:"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1668
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1696
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1773
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1801
msgid "Could not find user"
msgstr "ПотребителÑÑ‚ не е намерен"
@@ -802,33 +805,28 @@ msgstr "Контакти на общината за %s "
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:83
-#, fuzzy
msgid "Council has marked as closed"
-msgstr "маркиран като \"затворен\""
+msgstr ""
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:57
-#, fuzzy
msgid "Council has marked as fixed"
-msgstr "маркиран като \"поправен\""
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:80
-#, fuzzy
msgid "Council has marked as in progress"
-msgstr "маркиран като \"в Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð½Ð° обработка\""
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:82
-#, fuzzy
msgid "Council has marked as investigating"
-msgstr "маркиран като \"проучва Ñе\""
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:81
-#, fuzzy
msgid "Council has marked as planned"
-msgstr "маркиран като \"планиран\""
+msgstr ""
#: templates/web/base/report/_council_sent_info.html:6
msgid "Council ref:&nbsp;%s"
@@ -845,24 +843,33 @@ msgstr "Община:"
msgid "Count"
msgstr "Брой"
+#: templates/web/base/admin/states/index.html:114
+#, fuzzy
+msgid "Create"
+msgstr "Създаден"
+
#: templates/web/base/email_sent.html:1
msgid "Create a report"
msgstr "Подай Ñигнал"
-#: templates/web/base/admin/contact-form.html:137
+#: templates/web/base/admin/contact-form.html:138
#: templates/web/zurich/admin/body.html:62
msgid "Create category"
msgstr "Създай категориÑ"
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/responsepriorities/edit.html:58
msgid "Create priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:714
+#: perllib/FixMyStreet/Cobrand/Default.pm:718
+msgid "Create reports/updates as anonymous user"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:719
msgid "Create reports/updates as the council"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:713
+#: perllib/FixMyStreet/Cobrand/Default.pm:717
msgid "Create reports/updates on a user's behalf"
msgstr ""
@@ -892,13 +899,15 @@ msgstr "Текущо ÑÑŠÑтоÑние"
msgid "Currently no bodies have been created."
msgstr "Ð’ момента нÑма Ñъздадени Райони."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:825
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:830
#: templates/web/zurich/admin/report_edit-sdm.html:105
msgid "Customer not contactable"
msgstr ""
#: templates/web/base/dashboard/index.html:5
#: templates/web/base/dashboard/index.html:7
+#: templates/web/base/reports/index.html:15
+#: templates/web/base/reports/index.html:18
msgid "Dashboard"
msgstr "Табло"
@@ -906,29 +915,36 @@ msgstr "Табло"
msgid "Dealt with by subdivision within 5 working days"
msgstr ""
-#: templates/web/base/report/_inspect.html:73
+#: templates/web/base/admin/responsepriorities/list.html:9
+msgid "Default"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:39
+msgid "Default priority"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:72
msgid "Defect type"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:973
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1078
#: templates/web/base/admin/template_edit.html:50
#: templates/web/zurich/admin/template_edit.html:33
msgid "Delete template"
msgstr ""
#: templates/web/base/admin/bodies.html:31
-#: templates/web/base/admin/body.html:87
-#: templates/web/base/admin/category_edit.html:55
#: templates/web/base/admin/contact-form.html:58
-#: templates/web/zurich/admin/contact-form.html:12
+#: templates/web/zurich/admin/contact-form.html:13
msgid "Deleted"
msgstr "Изтрит"
-#: templates/web/base/report/_main.html:110
-#: templates/web/base/report/update.html:59
+#: templates/web/base/report/_main.html:114
+#: templates/web/base/report/update.html:68
msgid "Describe why you are moderating this"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:32
#: templates/web/base/admin/responsepriorities/list.html:7
#: templates/web/zurich/admin/index-dm.html:22
#: templates/web/zurich/admin/index-sdm.html:20
@@ -952,7 +968,7 @@ msgstr "ИнформациÑ"
msgid "Details:"
msgstr "ИнформациÑ:"
-#: templates/web/base/admin/body.html:93
+#: templates/web/base/admin/body.html:92
msgid "Devolved"
msgstr "Прехвърлен"
@@ -965,18 +981,17 @@ msgstr ""
msgid "Diligency prize league table"
msgstr "Таблица Ñ Ñ€Ð°Ð¹Ð¾Ð½Ð¸Ñ‚Ðµ в СофиÑ"
-#: templates/web/base/report/_main.html:114
-#: templates/web/base/report/update.html:61
-#, fuzzy
+#: templates/web/base/report/_main.html:118
+#: templates/web/base/report/update.html:70
msgid "Discard changes"
-msgstr "Запази промените"
+msgstr ""
#: templates/web/base/admin/open311-form-fields.html:95
msgid "Do not send email alerts on fetched comments to problem creator"
msgstr ""
#. ("%s is the site name")
-#: templates/web/base/auth/general.html:58
+#: templates/web/base/auth/general.html:60
#: templates/web/base/report/new/form_user_loggedout.html:25
#: templates/web/base/report/new/oauth_email_form.html:18
#: templates/web/base/report/update-form.html:30
@@ -984,40 +999,33 @@ msgstr ""
msgid "Do you have a %s password?"
msgstr ""
+#: templates/web/base/report/_inspect.html:87
+msgid "Do you want to automatically raise a defect?"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:57
msgid "Don&rsquo;t know"
msgstr "Ðе знам"
-#: templates/web/base/contact/index.html:108
+#: templates/web/base/contact/index.html:112
msgid "Don't like forms?"
msgstr "Ðе обичате форми?"
-#: templates/web/base/report/_item.html:25
+#: templates/web/base/report/_item.html:27
msgid "Down one"
msgstr ""
-#: templates/web/base/js/translation_strings.html:55
+#: templates/web/base/js/translation_strings.html:58
msgid "Drag and drop photos here or <u>click to upload</u>"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:10
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "Duplicate"
-msgstr "Вече ÑъщеÑтвува"
-
-#: templates/web/base/report/_inspect.html:88
-#, fuzzy
+#: templates/web/base/report/_inspect.html:98
msgid "Duplicate of"
-msgstr "Вече ÑъщеÑтвува"
+msgstr ""
-#: templates/web/base/report/_inspect.html:98
-#, fuzzy
+#: templates/web/base/report/_inspect.html:108
msgid "Duplicates"
-msgstr "Вече ÑъщеÑтвува"
+msgstr ""
#: templates/web/base/admin/body.html:116
msgid ""
@@ -1031,43 +1039,43 @@ msgstr ""
"(имейл адреÑ). Това означава, че можете да добавÑте различни категории, \n"
"дори и да имате Ñамо един контакт."
-#: templates/web/base/report/_inspect.html:16
-#: templates/web/base/report/_item.html:81
+#: templates/web/base/report/_inspect.html:26
+#: templates/web/base/report/_item.html:83
msgid "Easting/Northing:"
msgstr ""
#: templates/web/base/admin/list_updates.html:42
#: templates/web/base/admin/problem_row.html:41
-#: templates/web/base/admin/responsepriorities/list.html:26
+#: templates/web/base/admin/responsepriorities/list.html:28
#: templates/web/base/admin/templates.html:22
#: templates/web/base/admin/users.html:34
#: templates/web/zurich/admin/problem_row.html:48
msgid "Edit"
msgstr "Редактиране"
-#: templates/web/base/admin/body.html:140
+#: templates/web/base/admin/body.html:141
#: templates/web/base/admin/index.html:39
#: templates/web/zurich/admin/body.html:69
msgid "Edit body details"
msgstr "Редактиране на информациÑта за района"
-#: perllib/FixMyStreet/Cobrand/Default.pm:724
+#: perllib/FixMyStreet/Cobrand/Default.pm:729
msgid "Edit other users' details"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:725
+#: perllib/FixMyStreet/Cobrand/Default.pm:730
msgid "Edit other users' permissions"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:708
+#: perllib/FixMyStreet/Cobrand/Default.pm:712
msgid "Edit report category"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:709
+#: perllib/FixMyStreet/Cobrand/Default.pm:713
msgid "Edit report priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:707
+#: perllib/FixMyStreet/Cobrand/Default.pm:711
msgid "Edit reports"
msgstr ""
@@ -1090,15 +1098,15 @@ msgstr "Редактиране на актуализациÑта %d"
msgid "Editing user %d"
msgstr "Редактиране на Ð¿Ð¾Ñ‚Ñ€ÐµÐ±Ð¸Ñ‚ÐµÐ»Ñ %d"
-#: templates/web/base/admin/category_edit.html:56
+#: templates/web/base/admin/category_edit.html:30
msgid "Editor"
msgstr "Редактирано от"
#: templates/web/base/admin/bodies.html:27
-#: templates/web/base/admin/category_edit.html:53
+#: templates/web/base/admin/category_edit.html:28
#: templates/web/base/admin/flagged.html:38
#: templates/web/base/admin/users.html:17
-#: templates/web/base/auth/general.html:49
+#: templates/web/base/auth/general.html:51
#: templates/web/zurich/admin/body-form.html:9
#: templates/web/zurich/admin/body.html:15
#: templates/web/zurich/auth/general.html:24
@@ -1106,13 +1114,14 @@ msgstr "Редактирано от"
msgid "Email"
msgstr "Имейл"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1644
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1749
msgid "Email added to abuse list"
msgstr "Имейлът е добавен в ÑпиÑъка ÑÑŠÑ Ð·Ð»Ð¾ÑƒÐ¿Ð¾Ñ‚Ñ€ÐµÐ±Ð¸"
-#: templates/web/base/admin/contact-form.html:36
-#: templates/web/base/report/new/form_user_loggedin.html:28
-#: templates/web/base/report/update/form_name.html:19
+#: templates/web/base/admin/contact-form.html:38
+#: templates/web/base/alert/_list.html:74
+#: templates/web/base/report/new/form_user_loggedin.html:32
+#: templates/web/base/report/update/form_name.html:23
msgid "Email address"
msgstr ""
@@ -1124,11 +1133,11 @@ msgstr ""
msgid "Email alert deleted"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1641
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1746
msgid "Email already in abuse list"
msgstr "Имейлът е в ÑпиÑъка ÑÑŠÑ Ð·Ð»Ð¾ÑƒÐ¿Ð¾Ñ‚Ñ€ÐµÐ±Ð¸"
-#: templates/web/base/admin/report_edit.html:141
+#: templates/web/base/admin/report_edit.html:129
#: templates/web/base/admin/update_edit.html:35
#: templates/web/base/admin/user-form.html:19
#: templates/web/zurich/admin/body.html:48
@@ -1149,8 +1158,8 @@ msgid ""
" <a href='https://www.mysociety.org/2013/02/20/open311-extended/' class='admin-offsite-link'>this article</a>."
msgstr ""
-#: templates/web/base/admin/body-form.html:120
-#: templates/web/base/admin/body-form.html:121
+#: templates/web/base/admin/body-form.html:122
+#: templates/web/base/admin/body-form.html:123
msgid ""
"Enable this <strong>can be devolved</strong> setting if one or more contacts have a \n"
" different endpoint (and send method) from the body's. For example, if reports for some categories of\n"
@@ -1165,11 +1174,11 @@ msgstr "Крайна дата:"
msgid "Endpoint"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:76
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:81
msgid "Enter a Z&uuml;rich street name"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:15
+#: perllib/FixMyStreet/Cobrand/UK.pm:16
msgid "Enter a nearby UK postcode, or street name and area"
msgstr ""
@@ -1178,12 +1187,13 @@ msgstr ""
msgid "Enter a nearby postcode, or street name and area"
msgstr "Въведете пощенÑки код или име на улица в близоÑÑ‚ до ваÑ"
+#: perllib/FixMyStreet/Cobrand/DansMonQwat.pm:14
#: templates/web/base/around/postcode_form.html:5
#: templates/web/base/around/postcode_form.html:6
msgid "Enter a nearby street name and area"
msgstr "Въведете име на улица в близоÑÑ‚ до ваÑ"
-#: templates/web/base/auth/general.html:116
+#: templates/web/base/auth/general.html:118
#: templates/web/base/report/new/form_user_loggedout_by_email.html:35
#: templates/web/base/report/update/form_user_loggedout_by_email.html:13
#: templates/web/zurich/auth/general.html:65
@@ -1203,8 +1213,8 @@ msgstr "Въведете Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° проблема"
msgid "Error"
msgstr "Грешка"
-#: templates/web/base/reports/_list-filters.html:20
-#: templates/web/base/reports/_list-filters.html:28
+#: templates/web/base/reports/_list-filters.html:31
+#: templates/web/base/reports/_list-filters.html:39
msgid "Everything"
msgstr ""
@@ -1217,8 +1227,7 @@ msgstr "Примерен пощенÑки Ð°Ð´Ñ€ÐµÑ %s"
msgid "Examples:"
msgstr "Примери:"
-#: templates/web/base/admin/report_edit.html:122
-#: templates/web/base/report/_inspect.html:42
+#: templates/web/base/admin/report-category.html:3
msgid "Existing category"
msgstr ""
@@ -1226,16 +1235,16 @@ msgstr ""
msgid "Expand map"
msgstr ""
-#: templates/web/base/report/new/form_report.html:52
+#: templates/web/base/report/new/form_report.html:54
msgid "Explain what’s wrong"
msgstr ""
-#: templates/web/base/dashboard/index.html:146
+#: templates/web/base/dashboard/index.html:147
msgid "Export as CSV"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:913
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:179
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:12
msgid "Extern"
@@ -1246,7 +1255,7 @@ msgstr ""
msgid "External ID"
msgstr ""
-#: templates/web/base/admin/body-form.html:87
+#: templates/web/base/admin/body-form.html:89
msgid "External URL"
msgstr ""
@@ -1258,13 +1267,20 @@ msgstr ""
msgid "External team"
msgstr ""
-#: templates/web/base/admin/category_edit.html:25
+#: perllib/FixMyStreet/Cobrand/Default.pm:673
+#: templates/web/base/admin/reportextrafields/edit.html:1
+#: templates/web/base/admin/reportextrafields/index.html:1
+#, fuzzy
+msgid "Extra Fields"
+msgstr "Допълнителни данни:"
+
+#: templates/web/base/admin/contact-form.html:141
#: templates/web/base/admin/report_edit.html:94
msgid "Extra data:"
msgstr "Допълнителни данни:"
-#: templates/web/base/report/_inspect.html:134
-#: templates/web/base/report/_item.html:106
+#: templates/web/base/report/_inspect.html:144
+#: templates/web/base/report/_item.html:108
msgid "Extra details"
msgstr ""
@@ -1272,6 +1288,11 @@ msgstr ""
msgid "Failed to send message"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:58
+#: templates/web/base/admin/reportextrafields/index.html:9
+msgid "Fields"
+msgstr ""
+
#: templates/web/zurich/admin/index-dm.html:33
#: templates/web/zurich/admin/index-sdm.html:30
msgid "Filter report list"
@@ -1285,52 +1306,32 @@ msgstr "За първи път"
msgid "Fix this by choosing an <strong>area covered</strong> in the <em>Edit body details</em> form below."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:11
-#: templates/web/base/admin/report_blocks.html:26
+#: perllib/FixMyStreet/App/Controller/Admin/States.pm:35
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:133
+#: templates/web/base/admin/states/index.html:29
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:41
-#: templates/web/base/report/banner.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:17
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:45
msgid "Fixed"
msgstr "Поправено"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:13
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:7
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:62
msgid "Fixed - Council"
msgstr "Поправени - община"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:12
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:63
msgid "Fixed - User"
msgstr "Поправени - потребител"
-#: templates/web/base/reports/_list-filters.html:14
-msgid "Fixed reports"
-msgstr ""
-
-#: templates/web/base/admin/problem_row.html:37
-msgid "Fixed:"
-msgstr "Поправени:"
-
-#: templates/web/base/admin/body-form.html:95
-#: templates/web/base/admin/responsepriorities/edit.html:41
+#: templates/web/base/admin/body-form.html:97
+#: templates/web/base/admin/responsepriorities/edit.html:53
#: templates/web/zurich/admin/body-form.html:36
msgid "Flag as deleted"
msgstr "Означен като \"изтрит\""
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/report_blocks.html:23
msgid "Flag user"
msgstr "Означаване на потребител"
-#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: perllib/FixMyStreet/Cobrand/Default.pm:644
#: templates/web/base/admin/users.html:20
msgid "Flagged"
msgstr "Означен"
@@ -1347,7 +1348,7 @@ msgstr "Означените потребители Ñа изброени на Ñ
msgid "Flagged users are not restricted in any way. This is just a list of users that have been marked for attention."
msgstr "Означените потребители нÑмат реÑтрикции. Това е ÑпиÑък Ñ Ð¿Ð¾Ñ‚Ñ€ÐµÐ±Ð¸Ñ‚ÐµÐ»Ð¸, които Ñа поÑтавени под наблюдение."
-#: templates/web/base/admin/report_edit.html:147
+#: templates/web/base/admin/report_edit.html:135
#: templates/web/base/admin/user-form.html:100
msgid "Flagged:"
msgstr "Означен:"
@@ -1360,21 +1361,25 @@ msgstr "ПоÑледвайте линка за района, за да видиÑ
msgid "For best results include a close-up and a wide shot"
msgstr ""
-#: templates/web/base/admin/body-form.html:71
+#: templates/web/base/admin/extra-metadata-form.html:52
+msgid "For each option, <strong>Key</strong> is the value which is stored in the database for that option and <strong>Name</strong> is the value displayed to the user."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:73
msgid "For more information, see <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
msgstr "За повече информацич вижте <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>Как ÐŸÐ¾Ð¿Ñ€Ð°Ð²Ð¸Ð¡Ð¾Ñ„Ð¸Ñ Ð¸Ð·Ð¿Ð¾Ð»Ð·Ð²Ð° MapIt</a>."
-#: templates/web/base/auth/general.html:95
+#: templates/web/base/auth/general.html:97
#: templates/web/base/report/new/form_user_loggedout_password.html:20
#: templates/web/base/report/update/form_user_loggedout_password.html:19
msgid "Forgotten your password?"
msgstr "Забравена парола?"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:743
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:748
msgid "Forwarded to external body"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:744
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:749
msgid "Forwarded wish to external body"
msgstr ""
@@ -1384,6 +1389,10 @@ msgstr ""
msgid "Frequently Asked Questions"
msgstr "ЧеÑто задавани въпроÑи"
+#: templates/web/base/admin/stats.html:102
+msgid "Get Count"
+msgstr ""
+
#: templates/web/base/around/_updates.html:3
#: templates/web/base/report/display_tools.html:14
msgid "Get updates"
@@ -1399,10 +1408,14 @@ msgstr "ИзтеглÑне на актуализациите на %s ÑигнаÐ
msgid "Get updates of problems in this %s"
msgstr "ИзтеглÑне на актуализациите за Ñигналите в %s"
-#: templates/web/base/alert/_list.html:83
+#: templates/web/base/alert/_list.html:85
msgid "Give me an RSS feed"
msgstr "ИзтеглÑне на RSS емиÑии"
+#: templates/web/base/admin/reportextrafields/edit.html:6
+msgid "Give this collection of fields a name. It is not shown publicly, just here in the admin."
+msgstr ""
+
#: templates/web/base/questionnaire/completed.html:14
msgid "Glad to hear it’s been fixed!"
msgstr ""
@@ -1412,8 +1425,9 @@ msgstr ""
#: templates/web/base/admin/index.html:49
#: templates/web/base/alert/index.html:34
#: templates/web/base/around/postcode_form.html:13
-#: templates/web/base/reports/_list-filters.html:38
-#: templates/web/base/reports/_list-filters.html:53
+#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:64
+#: templates/web/base/reports/index.html:75
#: templates/web/zurich/admin/stats.html:26
msgid "Go"
msgstr "ТърÑи"
@@ -1422,7 +1436,7 @@ msgstr "ТърÑи"
msgid "Going to send questionnaire?"
msgstr "Ще изпратите ли анкетата?"
-#: perllib/FixMyStreet/Cobrand/Default.pm:726
+#: perllib/FixMyStreet/Cobrand/Default.pm:731
msgid "Grant access to the admin"
msgstr ""
@@ -1430,10 +1444,6 @@ msgstr ""
msgid "Graph of problem creation by status over time"
msgstr "Графика на Ñъздадените Ñигнали по ÑÑ‚Ð°Ñ‚ÑƒÑ Ð²ÑŠÐ² времето"
-#: templates/web/base/reports/index.html:15
-msgid "Greyed-out lines are councils that no longer exist."
-msgstr "Редовете в тъмноÑиво показват общини, към които в момента не може да Ñе изпращат директно Ñигнали."
-
#: templates/web/base/questionnaire/index.html:48
msgid "Has this problem been fixed?"
msgstr "Този проблем поправен ли е?"
@@ -1446,7 +1456,7 @@ msgstr ""
#: templates/web/base/main_nav_items.html:40
#: templates/web/zurich/about/faq-de-ch.html:1
-#: templates/web/zurich/footer.html:23
+#: templates/web/zurich/footer.html:22
#: templates/web/zurich/nav_over_content.html:8
msgid "Help"
msgstr "Помощ"
@@ -1456,22 +1466,13 @@ msgstr "Помощ"
msgid "Help <strong>%s</strong> resolve your problem quicker, by providing some extra detail. This extra information will not be published online."
msgstr ""
-#: templates/web/base/alert/_list.html:9
-msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
-msgstr "Това Ñа типовете извеÑÑ‚Ð¸Ñ Ð·Ð° нови Ñигнали за &lsquo;%s&rsquo;."
-
-#: templates/web/zurich/footer.html:12
+#: templates/web/zurich/footer.html:11
msgid "Hi %s"
msgstr "Здравей %s"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:906
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:19
-#: templates/web/base/admin/report_blocks.html:28
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:911
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:60
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:19
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:11
#: templates/web/zurich/admin/stats.html:32
@@ -1479,16 +1480,33 @@ msgstr "Здравей %s"
msgid "Hidden"
msgstr "Скрити"
-#: templates/web/base/report/_main.html:105
-#, fuzzy
+#: templates/web/base/report/_main.html:109
msgid "Hide entire report"
-msgstr "Препращане на Ñигнал"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:1
+#: templates/web/base/my/anonymize.html:2
+msgid "Hide my name"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:21
+msgid "Hide my name everywhere"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:10
+msgid "Hide my name in this update"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:16
+msgid "Hide my name on this report"
+msgstr ""
#: templates/web/base/around/display_location.html:67
msgid "Hide old"
msgstr "Скрий Ñтарите"
#: templates/web/base/around/display_location.html:62
+#: templates/web/base/js/translation_strings.html:55
msgid "Hide pins"
msgstr "Скрий кабърчетата"
@@ -1496,7 +1514,16 @@ msgstr "Скрий кабърчетата"
msgid "Hide update completely?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:49
+#: templates/web/base/report/_report_meta_info.html:3
+#: templates/web/base/report/update.html:55
+msgid "Hide your name?"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:38
+msgid "Hint"
+msgstr ""
+
+#: templates/web/base/admin/category_edit.html:24
msgid "History"
msgstr "ИÑториÑ"
@@ -1513,12 +1540,12 @@ msgid "How to send successful reports"
msgstr "Как да подавате Ñигнали уÑпешно"
#: templates/web/base/tokens/confirm_problem.html:36
-#: templates/web/base/tokens/confirm_problem.html:40
+#: templates/web/base/tokens/confirm_problem.html:41
msgid "I just reported a problem on @fixmystreet"
msgstr ""
-#: templates/web/base/tokens/confirm_update.html:19
-#: templates/web/base/tokens/confirm_update.html:23
+#: templates/web/base/tokens/confirm_update.html:20
+#: templates/web/base/tokens/confirm_update.html:25
msgid "I just updated a problem on @fixmystreet"
msgstr ""
@@ -1538,17 +1565,25 @@ msgstr "ВашиÑÑ‚ Ñигнал не беше намерен.\n"
msgid "ID"
msgstr "â„–"
-#: templates/web/base/admin/body-form.html:30
-#: templates/web/base/admin/body-form.html:31
+#: templates/web/base/admin/body-form.html:32
+#: templates/web/base/admin/body-form.html:33
msgid ""
"Identify a <strong>parent</strong> if this body is itself part of another body.\n"
" For basic installations, you don't need to join bodies in this way."
msgstr ""
+#: templates/web/base/auth/token.html:19
+msgid "If there's a user associated with the address you entered, we've sent a confirmation email."
+msgstr ""
+
#: templates/web/base/admin/responsepriorities/edit.html:23
msgid "If this priority is passed to an external service (e.g. Exor/Confirm) enter the priority code to use with that service here."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:24
+msgid "If ticked the user won’t see an input field, just the ‘Description’ text."
+msgstr ""
+
#: templates/web/base/admin/contact-form.html:14
msgid ""
"If two or more bodies serve the same location, FixMyStreet combines identical categories into a single entry in\n"
@@ -1559,7 +1594,7 @@ msgstr ""
msgid "If you get some more information about the status of your problem, please come back to the site and leave an update."
msgstr ""
-#: templates/web/base/admin/responsepriorities/edit.html:33
+#: templates/web/base/admin/responsepriorities/edit.html:45
msgid "If you only want this priority to be an option for specific categories, pick them here. By default they will show for all categories."
msgstr ""
@@ -1582,7 +1617,7 @@ msgid ""
"(please note it will not be sent to the council)."
msgstr ""
-#: templates/web/base/admin/contact-form.html:30
+#: templates/web/base/admin/contact-form.html:32
msgid "If you're using <strong>a send method that is not email</strong>, enter the service ID (Open311) or equivalent identifier here."
msgstr ""
@@ -1609,7 +1644,7 @@ msgid ""
" when they are shown on the site. Enter the ID (number) of that user."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:133
+#: perllib/FixMyStreet/App/Controller/Contact.pm:134
msgid "Illegal ID"
msgstr "ÐеÑъщеÑтвуващ номер"
@@ -1617,13 +1652,6 @@ msgstr "ÐеÑъщеÑтвуващ номер"
msgid "Illegal feed selection"
msgstr ""
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "In Progress"
-msgstr "Ð’ Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð½Ð° обработка"
-
#: templates/web/base/admin/flagged.html:39
msgid "In abuse table?"
msgstr ""
@@ -1632,18 +1660,17 @@ msgstr ""
msgid "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:192
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:954
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:9
-#: templates/web/base/report/banner.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:5
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:197
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:959
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:8
msgid "In progress"
msgstr "Ð’ Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð½Ð° обработка"
+#: templates/web/base/admin/contact-form.html:57
+msgid "Inactive"
+msgstr ""
+
#: templates/web/base/tokens/confirm_alert.html:11
msgid "Inbox zero, here we come!"
msgstr ""
@@ -1660,11 +1687,15 @@ msgstr "Включи непотвърдените Ñигнали"
msgid "Incorrect has_photo value \"%s\""
msgstr ""
-#: templates/web/base/admin/contact-form.html:84
+#: templates/web/base/report/_inspect.html:5
+msgid "Inspect report"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:85
msgid "Inspection required"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:711
+#: perllib/FixMyStreet/Cobrand/Default.pm:715
msgid "Instruct contractors to fix problems"
msgstr ""
@@ -1672,13 +1703,6 @@ msgstr ""
msgid "Internal notes"
msgstr "Вътрешни бележки"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:11
-msgid "Internal referral"
-msgstr "Вътрешен номер"
-
#: templates/web/base/offline/appcache.html:3
msgid "Internet glitch"
msgstr ""
@@ -1687,7 +1711,7 @@ msgstr ""
msgid "Invalid agency_responsible value %s"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1502
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1607
msgid "Invalid end date"
msgstr "ÐевÑрна дата"
@@ -1695,26 +1719,15 @@ msgstr "ÐевÑрна дата"
msgid "Invalid format %s specified."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report.pm:398
+#: perllib/FixMyStreet/App/Controller/Report.pm:409
msgid "Invalid location. New location must be covered by the same council."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1498
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1603
msgid "Invalid start date"
msgstr "ÐевÑрна дата"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:7
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:4
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Investigating"
-msgstr "Сигналът Ñе разглежда"
-
-#: templates/web/base/contact/blurb.html:8
+#: templates/web/base/contact/blurb.html:2
msgid "It's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there."
msgstr "ÐœÐ¾Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐµÑ‚Ðµ <a href=\"%s\">Ñтраницата Ñ Ñ‡ÐµÑто задавани въпроÑи</a> и вижте дали нÑма да намерите отговор там."
@@ -1722,37 +1735,59 @@ msgstr "ÐœÐ¾Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐµÑ‚Ðµ <a href=\"%s\">Ñтраницата Ñ Ñ‡ÐµÑ
msgid "It’s on its way to the council right now."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:177
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:182
msgid "Jurisdiction Unknown"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:15
msgid "Jurisdiction unknown"
msgstr ""
-#: templates/web/base/auth/general.html:91
+#: templates/web/base/auth/general.html:93
#: templates/web/base/report/new/form_user_loggedout_password.html:16
#: templates/web/base/report/update/form_user_loggedout_password.html:15
#: templates/web/zurich/auth/general.html:40
msgid "Keep me signed in on this computer"
msgstr "Запомни ме"
+#: templates/web/base/admin/extra-metadata-form.html:61
+msgid "Key"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:9
+#: templates/web/base/admin/states/index.html:95
+msgid "Label"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:6
+#: templates/web/base/admin/reportextrafields/edit.html:45
+msgid "Language"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/index.html:8
+msgid "Languages"
+msgstr ""
+
#: templates/web/base/dashboard/index.html:50
msgid "Last 4 weeks"
msgstr ""
#: templates/web/base/dashboard/index.html:49
-#, fuzzy
+#: templates/web/base/reports/index.html:38
msgid "Last 7 days"
-msgstr "ПоÑледно обновено:"
+msgstr ""
#: templates/web/base/admin/body.html:74
#: templates/web/zurich/admin/body.html:16
msgid "Last editor"
msgstr "ПоÑледно редактирано от"
+#: templates/web/base/questionnaire/index.html:25
+msgid "Last update"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:89
msgid "Last update:"
msgstr "ПоÑледно обновено:"
@@ -1761,23 +1796,27 @@ msgstr "ПоÑледно обновено:"
msgid "Last&nbsp;update:"
msgstr "ПоÑледно обновено:"
-#: templates/web/base/report/_inspect.html:20
-#: templates/web/base/report/_item.html:86
+#: templates/web/base/report/_inspect.html:30
+#: templates/web/base/report/_item.html:88
msgid "Latitude/Longitude:"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:50
+#: templates/web/base/reports/_list-filters.html:61
msgid "Least recently updated"
msgstr ""
-#: templates/web/base/admin/body-form.html:127
+#: templates/web/base/admin/body-form.html:129
msgid "Leave this blank if all reports to this body should be sent using the same send method (e.g., \"%s\")."
msgstr ""
-#: templates/web/base/dashboard/index.html:150
+#: templates/web/base/dashboard/index.html:151
msgid "Less than 7 days old"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:47
+msgid "List"
+msgstr ""
+
#: templates/web/base/admin/body.html:31
msgid "List all reported problems"
msgstr "Показване на вÑички Ñигнали"
@@ -1808,23 +1847,23 @@ msgstr "ИзвеÑтиÑ"
msgid "Locate the problem on a map of the area"
msgstr "Локализирайте проблема на картата"
-#: templates/web/base/auth/general.html:22
+#: templates/web/base/auth/general.html:24
#: templates/web/base/report/new/form_user_loggedout.html:6
#: templates/web/base/report/update/form_user_loggedout.html:7
msgid "Log in with Facebook"
msgstr ""
-#: templates/web/base/auth/general.html:30
+#: templates/web/base/auth/general.html:32
#: templates/web/base/report/new/form_user_loggedout.html:14
#: templates/web/base/report/update/form_user_loggedout.html:15
msgid "Log in with Twitter"
msgstr ""
-#: templates/web/base/js/translation_strings.html:59
+#: templates/web/base/js/translation_strings.html:62
msgid "Log in with email"
msgstr ""
-#: templates/web/base/dashboard/index.html:145
+#: templates/web/base/dashboard/index.html:146
#: templates/web/base/dashboard/index.html:38
msgid "Look up"
msgstr ""
@@ -1833,11 +1872,11 @@ msgstr ""
msgid "MAP"
msgstr "Карта"
-#: perllib/FixMyStreet/Cobrand/Default.pm:712
+#: perllib/FixMyStreet/Cobrand/Default.pm:716
msgid "Manage shortlist"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:45
+#: templates/web/base/reports/_list-filters.html:56
msgid "Manual order"
msgstr ""
@@ -1853,19 +1892,11 @@ msgstr ""
msgid "Mark users whose behaviour you want to keep a check on as <strong>flagged</strong>."
msgstr "Маркирайте потребители, които бихте иÑкали да държите под око."
-#: templates/web/base/reports/index.html:27
-msgid "Marked fixed/closed in the past eight weeks"
-msgstr ""
-
-#: templates/web/base/reports/index.html:28
-msgid "Marked fixed/closed more than eight weeks ago"
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/Default.pm:710
+#: perllib/FixMyStreet/Cobrand/Default.pm:714
msgid "Markup problem details"
msgstr ""
-#: templates/web/base/contact/index.html:96
+#: templates/web/base/contact/index.html:100
msgid "Message"
msgstr "Съобщение"
@@ -1885,68 +1916,69 @@ msgstr ""
msgid "Missing jurisdiction_id"
msgstr "ЛипÑващо jurisdiction_id"
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:706
+#: perllib/FixMyStreet/Cobrand/Default.pm:710
msgid "Moderate report details"
msgstr ""
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate this report"
msgstr ""
#: templates/web/base/report/update.html:12
-#, fuzzy
msgid "Moderate this update"
-msgstr "Публикувано от %s в %s"
+msgstr ""
-#: templates/web/base/report/_main.html:69
-#: templates/web/base/report/update.html:49
-#, fuzzy
+#: templates/web/base/report/_main.html:73
+#: templates/web/base/report/update.html:58
msgid "Moderated by %s at %s"
-msgstr "Публикувано от %s в %s"
+msgstr ""
#: templates/web/zurich/admin/stats.html:34
msgid "Moderated by division within one working day"
msgstr ""
-#: templates/web/base/report/_main.html:109
-#: templates/web/base/report/update.html:57
-#, fuzzy
+#: templates/web/base/report/_main.html:113
+#: templates/web/base/report/update.html:66
msgid "Moderation reason:"
-msgstr "други територии:"
+msgstr ""
#: templates/web/base/admin/stats.html:11
msgid "Month"
msgstr "МеÑец"
-#: templates/web/base/reports/_list-filters.html:51
+#: templates/web/base/reports/_list-filters.html:62
msgid "Most commented"
msgstr ""
#: templates/web/base/admin/bodies.html:25
#: templates/web/base/admin/body-form.html:24
+#: templates/web/base/admin/extra-metadata-form.html:65
#: templates/web/base/admin/flagged.html:16
#: templates/web/base/admin/flagged.html:37
#: templates/web/base/admin/index.html:62
#: templates/web/base/admin/list_updates.html:7
+#: templates/web/base/admin/reportextrafields/edit.html:11
+#: templates/web/base/admin/reportextrafields/index.html:6
#: templates/web/base/admin/reports.html:14
#: templates/web/base/admin/responsepriorities/list.html:6
+#: templates/web/base/admin/states/index.html:108
+#: templates/web/base/admin/states/index.html:11
#: templates/web/base/admin/users.html:16
-#: templates/web/base/auth/general.html:106
-#: templates/web/base/report/new/form_user_loggedin.html:40
+#: templates/web/base/auth/general.html:108
+#: templates/web/base/report/new/form_user_loggedin.html:42
#: templates/web/base/report/new/form_user_loggedout_by_email.html:7
-#: templates/web/base/report/update/form_name.html:23
-#: templates/web/base/reports/index.html:23
+#: templates/web/base/report/update/form_name.html:27
#: templates/web/zurich/admin/body-form.html:4
#: templates/web/zurich/auth/general.html:60
#: templates/web/zurich/report/new/fill_in_details_form.html:59
msgid "Name"
msgstr "Име"
-#: templates/web/base/admin/report_edit.html:139
+#: templates/web/base/admin/report_edit.html:127
#: templates/web/base/admin/responsepriorities/edit.html:13
#: templates/web/base/admin/update_edit.html:34
#: templates/web/base/admin/user-form.html:16
@@ -1958,7 +1990,7 @@ msgstr "Име:"
msgid "Name: %s"
msgstr "Име: %s"
-#: templates/web/base/report/_inspect.html:28
+#: templates/web/base/report/_inspect.html:38
msgid "Navigate to this problem"
msgstr ""
@@ -1967,34 +1999,38 @@ msgstr ""
msgid "Nearest named road to the pin placed on the map (automatically generated using OpenStreetMap): %s%s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:129
+#: perllib/FixMyStreet/Cobrand/UK.pm:134
msgid "Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:527
-#: perllib/FixMyStreet/Cobrand/Default.pm:567
+#: perllib/FixMyStreet/Cobrand/Default.pm:538
+#: perllib/FixMyStreet/Cobrand/Default.pm:566
msgid "Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"
msgstr ""
-#: perllib/FixMyStreet/Script/Alerts.pm:319
+#: perllib/FixMyStreet/Script/Alerts.pm:316
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s\n"
"\n"
msgstr ""
-#: templates/web/base/auth/token.html:17 templates/web/base/email_sent.html:5
+#: templates/web/base/auth/token.html:18
+msgid "Nearly done!"
+msgstr ""
+
+#: templates/web/base/auth/token.html:22 templates/web/base/email_sent.html:5
msgid "Nearly done! Now check your email&hellip;"
msgstr ""
-#: templates/web/base/reports/index.html:24
-msgid "New <br>problems"
-msgstr "Ðови <br>Ñигнали"
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:131
+msgid "New"
+msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:259
+#: perllib/FixMyStreet/App/Controller/Admin.pm:262
msgid "New body added"
msgstr "Районът е добавен"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:405
+#: perllib/FixMyStreet/App/Controller/Admin.pm:386
msgid "New category contact added"
msgstr "КатегориÑта е добавена"
@@ -2020,7 +2056,7 @@ msgid "New password:"
msgstr ""
#: templates/web/base/admin/responsepriorities/edit.html:4
-#: templates/web/base/admin/responsepriorities/list.html:32
+#: templates/web/base/admin/responsepriorities/list.html:34
msgid "New priority"
msgstr ""
@@ -2049,6 +2085,7 @@ msgid "New reports"
msgstr "Ðови Ñигнали"
#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/states/index.html:91
msgid "New state"
msgstr "Ðово ÑÑŠÑтоÑние"
@@ -2058,7 +2095,7 @@ msgstr "Ðово ÑÑŠÑтоÑние"
msgid "New template"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:47
+#: templates/web/base/reports/_list-filters.html:58
msgid "Newest"
msgstr ""
@@ -2066,20 +2103,19 @@ msgstr ""
msgid "Next"
msgstr "Слеващ"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1203
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
+#: perllib/FixMyStreet/Cobrand/Default.pm:1237
#: templates/web/base/admin/category_edit.html:4
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:137
+#: templates/web/base/admin/report_edit.html:125
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:26
#: templates/web/base/questionnaire/creator_fixed.html:16
#: templates/web/base/questionnaire/index.html:106
#: templates/web/base/questionnaire/index.html:55
+#: templates/web/base/report/_inspect.html:92
msgid "No"
msgstr "Ðе"
@@ -2095,7 +2131,7 @@ msgstr "ÐеÑъщеÑтвуващ район"
msgid "No council"
msgstr "ÐеÑъщеÑтвуваща община"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:445
+#: perllib/FixMyStreet/DB/Result/Problem.pm:372
msgid "No council selected"
msgstr "Ðе е избрана община"
@@ -2111,25 +2147,16 @@ msgstr ""
msgid "No flagged users found."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:14
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:8
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "No further action"
-msgstr ""
-
#: templates/web/zurich/admin/report_edit-sdm.html:125
#: templates/web/zurich/admin/report_edit.html:259
msgid "No further updates"
msgstr "ÐÑма повече актуализации"
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:84
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:68
msgid "No inspections by that inspector in the selected date range."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:86
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:70
msgid "No inspections in the selected date range."
msgstr ""
@@ -2137,8 +2164,8 @@ msgstr ""
msgid "No result returned"
msgstr "ÐÑма намерени резултати"
-#: templates/web/base/admin/body-form.html:66
-#: templates/web/base/admin/body-form.html:67
+#: templates/web/base/admin/body-form.html:68
+#: templates/web/base/admin/body-form.html:69
msgid ""
"No specific areas are currently available, because the <code>MAPIT_URL</code> in\n"
" your config file is not pointing to a live MapIt service."
@@ -2171,17 +2198,8 @@ msgid ""
" activity across their body), the ability to hide reports or set special report statuses."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:9
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "Not Responsible"
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:181
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:186
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:933
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:13
msgid "Not contactable"
@@ -2200,7 +2218,7 @@ msgid "Not reported to council"
msgstr "Съгналът не е подаден към общината"
#: templates/web/base/admin/body.html:75
-#: templates/web/base/admin/category_edit.html:57
+#: templates/web/base/admin/category_edit.html:31
#: templates/web/zurich/admin/body.html:17
msgid "Note"
msgstr "Бележка"
@@ -2210,7 +2228,7 @@ msgid "Note that when including unconfirmed reports we use the date the report w
msgstr ""
#: templates/web/zurich/admin/body.html:55
-#: templates/web/zurich/admin/contact-form.html:17
+#: templates/web/zurich/admin/contact-form.html:19
msgid "Note:"
msgstr "Бележка:"
@@ -2222,6 +2240,10 @@ msgstr "Бележка: <strong>%s</strong>"
msgid "Notes from SDM to DM"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:26
+msgid "Notice"
+msgstr ""
+
#: templates/web/base/report/new/oauth_email_form.html:17
msgid "Now to submit your report&hellip;"
msgstr "Сега да изпратим Ð’Ð°ÑˆÐ¸Ñ Ñигнал&hellip;"
@@ -2232,63 +2254,43 @@ msgstr "Сега да изпратим Ð’Ð°ÑˆÐ¸Ñ Ñигнал&hellip;"
msgid "Now to submit your update&hellip;"
msgstr "Изпратете актуализациÑта&hellip;"
+#: templates/web/base/reports/index.html:98
+msgid "Number of problems reported in each category, in the last 7 days."
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:43
msgid "OK"
msgstr "ОК"
-#: templates/web/base/js/translation_strings.html:67
+#: templates/web/base/js/translation_strings.html:70
msgid "Offline data cleared"
msgstr ""
-#: templates/web/base/js/translation_strings.html:64
+#: templates/web/base/js/translation_strings.html:67
msgid "Offline update data saved"
msgstr ""
-#: templates/web/base/reports/index.html:26
-msgid "Old / unknown <br>problems"
-msgstr "Стари/Ðеидентифицирани <br>Ñигнали"
-
#: templates/web/base/admin/questionnaire.html:24
msgid "Old state"
msgstr "Стар ÑтатуÑ"
-#: templates/web/base/reports/index.html:28
-msgid "Older <br>fixed"
-msgstr "Поправени преди<br>извеÑтно време"
-
-#: templates/web/base/reports/index.html:25
-msgid "Older <br>problems"
-msgstr "Стари <br>Ñигнали"
-
-#: templates/web/base/reports/_list-filters.html:48
+#: templates/web/base/reports/_list-filters.html:59
msgid "Oldest"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:900
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:25
-#: templates/web/base/admin/report_blocks.html:6
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:905
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:10
+#: templates/web/base/admin/states/index.html:102
+#: templates/web/base/admin/states/index.html:25
+#: templates/web/base/admin/states/index.html:32
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:3
-#: templates/web/base/report/update/form_update.html:41
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:7
#: templates/web/zurich/admin/update_edit.html:18
msgid "Open"
msgstr "Отворен"
-#: templates/web/base/reports/index.html:25
-msgid "Open for more than four weeks, with an update within the past eight weeks"
-msgstr ""
-
-#: templates/web/base/reports/index.html:26
-msgid "Open, but not had any update in eight weeks"
-msgstr ""
-
#: templates/web/base/admin/open311-form-fields.html:47
msgid "Open311 API Key"
msgstr ""
@@ -2309,26 +2311,38 @@ msgstr ""
msgid "Open311 specification"
msgstr ""
-#: templates/web/base/alert/_list.html:61
-msgid "Or problems reported to:"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "Options"
+msgstr ""
+
+#: templates/web/base/alert/_list.html:84
+msgid "Or subscribe by RSS"
msgstr ""
-#: templates/web/base/alert/_list.html:37
-msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
-msgstr "Или можете да Ñе абонирате за вÑички извеÑÑ‚Ð¸Ñ Ð½Ð° териториÑта на Ð¡Ð¾Ñ„Ð¸Ñ Ð¸Ð»Ð¸ Ñамо за района, в който Ñе намирате."
+#: templates/web/base/admin/extra-metadata-form.html:8
+msgid "Order"
+msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:1061
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:659
-#: perllib/FixMyStreet/DB/Result/Problem.pm:642
-#: perllib/FixMyStreet/DB/Result/Problem.pm:649
-#: perllib/FixMyStreet/DB/Result/Problem.pm:664
-#: perllib/FixMyStreet/DB/Result/Problem.pm:673
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1107
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:675
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:676
+#: perllib/FixMyStreet/DB/Result/Problem.pm:579
+#: perllib/FixMyStreet/DB/Result/Problem.pm:586
+#: perllib/FixMyStreet/DB/Result/Problem.pm:601
+#: perllib/FixMyStreet/DB/Result/Problem.pm:610
#: perllib/FixMyStreet/Script/Reports.pm:183
#: perllib/FixMyStreet/Script/Reports.pm:198
msgid "Other"
msgstr "Други"
+#: templates/web/base/reports/index.html:107
+msgid "Other categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:92
+msgid "Overall average"
+msgstr ""
+
#: templates/web/base/admin/list_updates.html:8
msgid "Owner"
msgstr "СобÑтвеник"
@@ -2338,17 +2352,16 @@ msgstr "СобÑтвеник"
msgid "Page Not Found"
msgstr "Страницата не е намерена"
-#: templates/web/base/admin/body-form.html:37
+#: templates/web/base/admin/body-form.html:39
#: templates/web/zurich/admin/body-form.html:14
msgid "Parent"
msgstr "Община"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:20
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:61
msgid "Partial"
msgstr "ЧаÑтичен"
-#: templates/web/base/auth/general.html:109
+#: templates/web/base/auth/general.html:111
#: templates/web/base/report/new/form_user_loggedout_by_email.html:28
#: templates/web/base/report/update/form_user_loggedout_by_email.html:6
#: templates/web/zurich/auth/general.html:32
@@ -2356,7 +2369,7 @@ msgstr "ЧаÑтичен"
msgid "Password (optional)"
msgstr "Парола (незадължително)"
-#: templates/web/base/auth/general.html:82
+#: templates/web/base/auth/general.html:84
msgid "Password:"
msgstr "Парола:"
@@ -2368,17 +2381,21 @@ msgstr "Връзка"
msgid "Permissions:"
msgstr ""
+#: templates/web/base/report/_inspect.html:19
+msgid "Phone Reporter:"
+msgstr ""
+
#: templates/web/zurich/report/new/fill_in_details_form.html:65
msgid "Phone number"
msgstr "Телефонен номер"
-#: templates/web/base/report/new/form_user_loggedin.html:57
+#: templates/web/base/report/new/form_user_loggedin.html:59
#: templates/web/base/report/new/form_user_loggedout_by_email.html:25
msgid "Phone number (optional)"
msgstr "Телефонен номер (незадължително)"
#: perllib/FixMyStreet/Script/Reports.pm:87
-#: templates/web/base/admin/report_edit.html:146
+#: templates/web/base/admin/report_edit.html:134
#: templates/web/base/admin/user-form.html:21
#: templates/web/zurich/admin/stats.html:39
msgid "Phone:"
@@ -2387,9 +2404,9 @@ msgstr "Телефон:"
#: templates/web/base/questionnaire/index.html:78
#: templates/web/base/questionnaire/index.html:93
#: templates/web/base/questionnaire/index.html:95
-#: templates/web/base/report/new/form_report.html:28
-#: templates/web/base/report/new/form_report.html:43
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/new/form_report.html:45
+#: templates/web/base/report/new/form_report.html:47
#: templates/web/base/report/update/form_update.html:22
#: templates/web/base/report/update/form_update.html:24
#: templates/web/base/report/update/form_update.html:7
@@ -2407,12 +2424,12 @@ msgstr "Снимка"
msgid "Photo is required."
msgstr ""
-#: templates/web/zurich/admin/contact-form.html:14
+#: templates/web/zurich/admin/contact-form.html:16
msgid "Photo required"
msgstr ""
#: templates/web/base/questionnaire/index.html:78
-#: templates/web/base/report/new/form_report.html:28
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/update/form_update.html:7
#: templates/web/zurich/report/new/fill_in_details_form.html:20
msgid "Photos"
@@ -2422,17 +2439,18 @@ msgstr ""
msgid "Photos of recent nearby reports"
msgstr "Снимки на Ñкоро подадени Ñигнали"
+#: templates/web/base/reports/index.html:63
+#: templates/web/base/reports/index.html:66
+msgid "Pick your council"
+msgstr ""
+
#: templates/web/base/around/display_location.html:76
#: templates/web/base/js/translation_strings.html:30
msgid "Place pin on map"
msgstr "ПоÑтавете кабърче върху картата"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:940
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:946
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:8
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:945
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:951
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:9
#: templates/web/zurich/admin/index-dm.html:9
@@ -2450,31 +2468,27 @@ msgstr "ÐœÐ¾Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐµÑ‚Ðµ паролите и пробвайте отÐ
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:18
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:43
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:45
#: templates/web/zurich/auth/general.html:3
#: templates/web/zurich/auth/general.html:9
msgid "Please check your email address is correct"
msgstr "ÐœÐ¾Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐµÑ‚Ðµ дали Ñте въвели коректен имейл адреÑ"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:350
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:844
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:867
-#: perllib/FixMyStreet/DB/Result/Problem.pm:456
+#: perllib/FixMyStreet/App/Controller/Admin.pm:329
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:873
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:896
+#: perllib/FixMyStreet/DB/Result/Problem.pm:383
#: templates/web/base/js/translation_strings.html:9
msgid "Please choose a category"
msgstr "ÐœÐ¾Ð»Ñ Ð¸Ð·Ð±ÐµÑ€ÐµÑ‚Ðµ категориÑ"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:462
-msgid "Please choose a property type"
-msgstr ""
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:396
+#: perllib/FixMyStreet/App/Controller/Admin.pm:377
#: templates/web/base/admin/bodies.html:4 templates/web/base/admin/body.html:11
msgid "Please correct the errors below"
msgstr ""
-#: templates/web/base/contact/blurb.html:12
+#: templates/web/base/contact/blurb.html:6
msgid ""
"Please do <strong>not</strong> report problems through this form; messages go to\n"
"the team behind this site, not a council. To report a problem,\n"
@@ -2485,18 +2499,18 @@ msgstr ""
msgid "Please do not be abusive&nbsp;&mdash; abusing your council devalues the service for all users."
msgstr "ÐœÐ¾Ð»Ñ Ð½Ðµ обиждайте никого - обиждайки Общината, Вие обезценÑвате уÑлугата за вÑички потребители."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:351
-#: perllib/FixMyStreet/DB/Result/Comment.pm:127
+#: perllib/FixMyStreet/App/Controller/Admin.pm:330
+#: perllib/FixMyStreet/DB/Result/Comment.pm:128
#: templates/web/base/js/translation_strings.html:2
msgid "Please enter a message"
msgstr "ÐœÐ¾Ð»Ñ Ð²ÑŠÐ²ÐµÐ´ÐµÑ‚Ðµ Ñъобщение"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1200
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1364
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1305
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1469
msgid "Please enter a name"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:478
+#: perllib/FixMyStreet/App/Controller/Admin.pm:497
msgid "Please enter a name for this body"
msgstr ""
@@ -2506,15 +2520,15 @@ msgstr ""
msgid "Please enter a password"
msgstr "ÐœÐ¾Ð»Ñ Ð²ÑŠÐ²ÐµÐ´ÐµÑ‚Ðµ парола"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:114
-#: perllib/FixMyStreet/DB/Result/Problem.pm:439
+#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/DB/Result/Problem.pm:366
#: templates/web/base/js/translation_strings.html:3
msgid "Please enter a subject"
msgstr "ÐœÐ¾Ð»Ñ Ð²ÑŠÐ²ÐµÐ´ÐµÑ‚Ðµ тема"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1197
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1361
-#: perllib/FixMyStreet/App/Controller/Admin.pm:363
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1302
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1466
+#: perllib/FixMyStreet/App/Controller/Admin.pm:343
#: perllib/FixMyStreet/DB/Result/User.pm:164
#: templates/web/base/js/translation_strings.html:12
#: templates/web/base/js/translation_strings.html:16
@@ -2522,21 +2536,21 @@ msgid "Please enter a valid email"
msgstr "ÐœÐ¾Ð»Ñ Ð²ÑŠÐ²ÐµÐ´ÐµÑ‚Ðµ валиден имейл"
#: perllib/FixMyStreet/App/Controller/Alert.pm:350
-#: perllib/FixMyStreet/App/Controller/Contact.pm:124
+#: perllib/FixMyStreet/App/Controller/Contact.pm:125
msgid "Please enter a valid email address"
msgstr "ÐœÐ¾Ð»Ñ Ð²ÑŠÐ²ÐµÐ´ÐµÑ‚Ðµ валиден имейл адреÑ"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:442
+#: perllib/FixMyStreet/DB/Result/Problem.pm:369
#: templates/web/base/js/translation_strings.html:4
msgid "Please enter some details"
msgstr "ÐœÐ¾Ð»Ñ Ð²ÑŠÐ²ÐµÐ´ÐµÑ‚Ðµ информациÑ"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/App/Controller/Contact.pm:114
#: perllib/FixMyStreet/DB/Result/User.pm:161
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:17
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:42
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:44
#: templates/web/base/js/translation_strings.html:11
#: templates/web/base/js/translation_strings.html:15
#: templates/web/zurich/auth/general.html:3
@@ -2553,14 +2567,14 @@ msgstr "ÐœÐ¾Ð»Ñ Ð²ÑŠÐ²ÐµÐ´ÐµÑ‚Ðµ имейл адреÑ"
msgid "Please enter your first name"
msgstr "ÐœÐ¾Ð»Ñ Ð²ÑŠÐ²ÐµÐ´ÐµÑ‚Ðµ име"
-#: perllib/FixMyStreet/Cobrand/UK.pm:320
+#: perllib/FixMyStreet/Cobrand/UK.pm:326
#: templates/web/base/js/translation_strings.html:7
msgid "Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below"
msgstr "ÐœÐ¾Ð»Ñ Ð²ÑŠÐ²ÐµÐ´ÐµÑ‚Ðµ цÑлото Ñи име, общината Ñе нуждае от тази Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ - ако не желаете името Ви да Ñе поÑвÑва на Ñайта, Ð¼Ð¾Ð»Ñ Ð¼Ð°Ñ…Ð½ÐµÑ‚Ðµ отметката по-долу"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:112
-#: perllib/FixMyStreet/DB/Result/Comment.pm:124
-#: perllib/FixMyStreet/DB/Result/Problem.pm:450
+#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/DB/Result/Comment.pm:125
+#: perllib/FixMyStreet/DB/Result/Problem.pm:377
#: perllib/FixMyStreet/DB/Result/User.pm:157
#: templates/web/base/js/translation_strings.html:6
msgid "Please enter your name"
@@ -2623,7 +2637,7 @@ msgstr ""
msgid "Please note:"
msgstr "Забележка:"
-#: perllib/FixMyStreet/App/Controller/Report.pm:358
+#: perllib/FixMyStreet/App/Controller/Report.pm:353
msgid "Please provide a public update for this report."
msgstr ""
@@ -2659,11 +2673,11 @@ msgstr "ÐœÐ¾Ð»Ñ Ð¿Ð¾Ñочете дали проблемът е бил разр
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:122
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:156
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:158
-#: templates/web/base/js/translation_strings.html:57
+#: templates/web/base/js/translation_strings.html:60
msgid "Please upload an image only"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/App/Controller/Contact.pm:116
msgid "Please write a message"
msgstr "ÐœÐ¾Ð»Ñ Ð²ÑŠÐ²ÐµÐ´ÐµÑ‚Ðµ Ñъобщение"
@@ -2671,30 +2685,29 @@ msgstr "ÐœÐ¾Ð»Ñ Ð²ÑŠÐ²ÐµÐ´ÐµÑ‚Ðµ Ñъобщение"
msgid "Please write your update here"
msgstr "ÐœÐ¾Ð»Ñ Ð²ÑŠÐ²ÐµÐ´ÐµÑ‚Ðµ новото Ñъобщение тук"
-#: templates/web/base/contact/index.html:103
#: templates/web/base/report/update-form.html:25
#: templates/web/base/report/update/form_user_loggedout_by_email.html:14
#: templates/web/base/report/update/form_user_loggedout_password.html:10
msgid "Post"
msgstr "Публикувай"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:242
+#: perllib/FixMyStreet/DB/Result/Comment.pm:231
msgid "Posted anonymously at %s"
msgstr "Публикувано от анонимен потребител в %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:257
+#: perllib/FixMyStreet/DB/Result/Comment.pm:255
msgid "Posted by %s at %s"
msgstr "Публикувано от %s в %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:252
+#: perllib/FixMyStreet/DB/Result/Comment.pm:243
msgid "Posted by <strong>%s</strong> (%s) at %s"
msgstr "Публикувано от <strong>%s</strong> (%s) в %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:254
+#: perllib/FixMyStreet/DB/Result/Comment.pm:245
msgid "Posted by <strong>%s</strong> at %s"
msgstr "Публикувано от <strong>%s</strong> в %s"
-#: templates/web/base/front/footer-marketing.html:12
+#: templates/web/base/front/footer-marketing.html:6
msgid "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
msgstr ""
@@ -2706,8 +2719,8 @@ msgstr "Предишно"
msgid "Priorities"
msgstr ""
-#: templates/web/base/report/_inspect.html:113
-#: templates/web/base/report/_item.html:98
+#: templates/web/base/report/_inspect.html:123
+#: templates/web/base/report/_item.html:100
msgid "Priority"
msgstr ""
@@ -2721,16 +2734,15 @@ msgstr ""
msgid "Privacy and cookies"
msgstr ""
-#: templates/web/base/admin/body.html:91
-#: templates/web/base/admin/contact-form.html:74
-#: templates/web/base/admin/report_edit.html:149
+#: templates/web/base/admin/body.html:88
+#: templates/web/base/admin/contact-form.html:75
+#: templates/web/base/admin/report_edit.html:137
msgid "Private"
msgstr "Лично"
#: templates/web/base/report/new/form_user.html:1
-#, fuzzy
msgid "Private details"
-msgstr "Лично"
+msgstr ""
#: templates/web/base/maps/pin.html:13
msgid "Problem"
@@ -2754,7 +2766,7 @@ msgstr "Сигналът %s е подаден към общината %s "
msgid "Problem breakdown by state"
msgstr "РазделÑне на Ñигналите по ÑтатуÑи"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1167
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1272
msgid "Problem marked as open."
msgstr "Сигналът е маркиран като отворен."
@@ -2762,11 +2774,16 @@ msgstr "Сигналът е маркиран като отворен."
msgid "Problem state change based on survey results"
msgstr "СтатуÑÑŠÑ‚ на Ñигнала е променен на оÑновата на резултат от анкета"
-#: perllib/FixMyStreet/Cobrand/Default.pm:705
+#: perllib/FixMyStreet/Cobrand/Default.pm:709
#: templates/web/base/admin/flagged.html:10
msgid "Problems"
msgstr "Сигнали"
+#: templates/web/base/alert/_list.html:22
+#, fuzzy
+msgid "Problems in an area"
+msgstr "Сигнали в квартал %s"
+
#: templates/web/base/report/display_tools.html:22
msgid "Problems nearby"
msgstr "Други Ñигнали наоколо"
@@ -2779,30 +2796,33 @@ msgstr "Сигнали отбелÑзани върху картата"
msgid "Problems recently reported fixed on FixMyStreet"
msgstr "Проблеми Ñигнализирани Ñкоро в Ñайта"
-#: templates/web/base/alert/_list.html:22
-msgid "Problems within %.1fkm of this location"
+#: templates/web/base/alert/_list.html:29
+#, fuzzy
+msgid "Problems within %.1fkm of %s"
msgstr "Сигнали в Ñ€Ð°Ð´Ð¸ÑƒÑ Ð¾Ñ‚ %.1fкм от това меÑтоположение"
-#: perllib/FixMyStreet/Cobrand/Default.pm:833
+#: perllib/FixMyStreet/Cobrand/Default.pm:838
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:137
-#: perllib/FixMyStreet/Cobrand/UK.pm:209
+#: perllib/FixMyStreet/Cobrand/UK.pm:215 perllib/FixMyStreet/Cobrand/UK.pm:257
+#: perllib/FixMyStreet/Cobrand/UK.pm:269
msgid "Problems within %s"
msgstr "Сигнали в %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:223
+#: perllib/FixMyStreet/Cobrand/UK.pm:229
msgid "Problems within %s ward"
msgstr "Сигнали в квартал %s"
+#: perllib/FixMyStreet/Cobrand/UK.pm:263 perllib/FixMyStreet/Cobrand/UK.pm:275
+#, fuzzy
+msgid "Problems within %s ward, %s"
+msgstr "Сигнали в квартал %s"
+
#. ("First %s is the body name, second %s the site name")
#: templates/web/base/reports/body.html:0
#: templates/web/base/reports/body.html:25
msgid "Problems within %s, %s"
msgstr ""
-#: templates/web/base/alert/_list.html:43
-msgid "Problems within the boundary of:"
-msgstr "Сигнали в границите на:"
-
#: templates/web/base/admin/report_edit.html:74
msgid "Property address:"
msgstr "ÐÐ´Ñ€ÐµÑ Ð½Ð° имота:"
@@ -2812,11 +2832,11 @@ msgstr "ÐÐ´Ñ€ÐµÑ Ð½Ð° имота:"
msgid "Provide an update"
msgstr "Въведете Ð¸Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° актуализиране"
-#: templates/web/base/report/update/form_name.html:9
+#: templates/web/base/report/update/form_name.html:10
msgid "Provide update as"
msgstr ""
-#: templates/web/base/auth/general.html:112
+#: templates/web/base/auth/general.html:114
msgid "Providing a name and password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
msgstr "Използването на потребителÑко име е опционално, но това ще ви позволи по-леÑно да подавате Ñигнали и да публикувате Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¸ актуализации."
@@ -2826,16 +2846,15 @@ msgid "Providing a password is optional, but doing so will allow you to more eas
msgstr "Използването на парола е по избор, но това ще ви позволи по-леÑно да подавате Ñигнали и да публикувате и променÑте актуализации."
#: templates/web/base/report/new/form_report.html:10
-#, fuzzy
msgid "Public details"
-msgstr "Публичен отговор:"
+msgstr ""
#: templates/web/zurich/admin/report_edit.html:241
#: templates/web/zurich/admin/report_edit.html:268
msgid "Public response:"
msgstr "Публичен отговор:"
-#: templates/web/base/report/_inspect.html:152
+#: templates/web/base/report/_inspect.html:162
msgid "Public update:"
msgstr ""
@@ -2863,7 +2882,7 @@ msgstr "Ðнкетата %d за проблем %d е изпратена"
msgid "Questionnaire filled in by problem reporter"
msgstr "Ðнкетата е попълнена от потребителÑ, подал Ñигнала"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
#: templates/web/base/alert/updates.html:9
#: templates/web/base/around/display_location.html:1
#: templates/web/base/around/display_location.html:3
@@ -2871,11 +2890,11 @@ msgstr "Ðнкетата е попълнена от потребителÑ, по
msgid "RSS feed"
msgstr "RSS абонамент"
-#: perllib/FixMyStreet/Cobrand/UK.pm:252 perllib/FixMyStreet/Cobrand/UK.pm:264
+#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
msgid "RSS feed for %s"
msgstr "RSS абонамент за %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
+#: perllib/FixMyStreet/Cobrand/UK.pm:264 perllib/FixMyStreet/Cobrand/UK.pm:276
msgid "RSS feed for %s ward, %s"
msgstr "RSS абонамент за квартал %s, %s"
@@ -2883,25 +2902,25 @@ msgstr "RSS абонамент за квартал %s, %s"
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:179
-#: perllib/FixMyStreet/Cobrand/UK.pm:278 perllib/FixMyStreet/Cobrand/UK.pm:290
+#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
msgid "RSS feed of %s"
msgstr "RSS абонамент за %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
msgid "RSS feed of %s, within %s ward"
msgstr "RSS абонамент за %s, в квартал %s"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
msgid "RSS feed of nearby problems"
msgstr "RSS абонамент за поÑледни проблеми наоколо"
-#: perllib/FixMyStreet/Cobrand/Default.pm:834
+#: perllib/FixMyStreet/Cobrand/Default.pm:839
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:136
-#: perllib/FixMyStreet/Cobrand/UK.pm:216
+#: perllib/FixMyStreet/Cobrand/UK.pm:222
msgid "RSS feed of problems within %s"
msgstr "RSS абонамент за проблеми в %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:222
+#: perllib/FixMyStreet/Cobrand/UK.pm:228
msgid "RSS feed of problems within %s ward"
msgstr "RSS абонамент за проблеми в квартал %s"
@@ -2920,7 +2939,7 @@ msgstr "RSS абонамент за актуализации по този прÐ
msgid "Receive email when updates are left on this problem."
msgstr "Получаване на имейл при Ð°ÐºÑ‚ÑƒÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð½Ð° проблема."
-#: perllib/FixMyStreet/DB/Result/Problem.pm:801
+#: perllib/FixMyStreet/DB/Result/Problem.pm:738
msgid "Received by %s moments later"
msgstr ""
@@ -2930,15 +2949,11 @@ msgstr ""
msgid "Recent local problems, %s"
msgstr ""
-#: templates/web/base/reports/index.html:27
-msgid "Recently <br>fixed"
-msgstr "ÐаÑкоро <br>поправени"
-
#: templates/web/base/front/recent.html:11
msgid "Recently reported problems"
msgstr "ÐаÑкоро добавени Ñигнали"
-#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:60
msgid "Recently updated"
msgstr ""
@@ -2946,13 +2961,23 @@ msgstr ""
msgid "Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. If your problem is not appropriate for submission via this site remember that you can contact your council directly using their own website."
msgstr "Помнете, че \"ПоправиСофиÑ\" Ñлужи за подаване на Ñигнали за физичеÑки проблеми, които могат да бъдат поправени. Ðко ВашиÑÑ‚ проблем не Ñпада към Ð½Ð¸ÐºÐ¾Ñ Ð¾Ñ‚ категориите, поÑочени в Ñайта, Ð¼Ð¾Ð»Ñ Ð¾Ð±ÑŠÑ€Ð½ÐµÑ‚Ðµ Ñе директно към Общината."
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/extra-metadata-form.html:68
+#, fuzzy
+msgid "Remove"
+msgstr "Премахване на означението"
+
+#: templates/web/base/admin/extra-metadata-form.html:4
+#, fuzzy
+msgid "Remove field"
+msgstr "Премахване на означението"
+
+#: templates/web/base/admin/report_blocks.html:23
msgid "Remove flag"
msgstr "Премахване на означението"
#: templates/web/base/report/_item.html:12
#: templates/web/base/report/_item.html:9
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:18
#: templates/web/base/report/_main.html:26
msgid "Remove from shortlist"
@@ -2962,7 +2987,7 @@ msgstr ""
msgid "Remove from site"
msgstr ""
-#: templates/web/base/admin/report_edit.html:166
+#: templates/web/base/admin/report_edit.html:154
#: templates/web/base/admin/update_edit.html:69
#: templates/web/zurich/admin/update_edit.html:35
msgid "Remove photo (can't be undone!)"
@@ -2976,13 +3001,13 @@ msgstr ""
msgid "Report"
msgstr ""
-#: templates/web/base/report/_inspect.html:10
-#: templates/web/base/report/_item.html:76
+#: templates/web/base/report/_inspect.html:14
+#: templates/web/base/report/_item.html:78
msgid "Report ID:"
msgstr ""
#: templates/web/base/header_logo.html:2
-#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:19
+#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:18
#: templates/web/zurich/nav_over_content.html:4
msgid "Report a problem"
msgstr "Подайте Ñигнал"
@@ -2992,7 +3017,7 @@ msgstr "Подайте Ñигнал"
msgid "Report abuse"
msgstr "Сигнализирай за неподходÑщо Ñъдържание"
-#: templates/web/base/report/new/form_user_loggedin.html:16
+#: templates/web/base/report/new/form_user_loggedin.html:17
msgid "Report as"
msgstr ""
@@ -3001,9 +3026,8 @@ msgid "Report on %s"
msgstr "Сигнал за %s "
#: templates/web/base/dashboard/index.html:137
-#, fuzzy
msgid "Report state:"
-msgstr "Сигнализирай за неподходÑщо Ñъдържание"
+msgstr ""
#: templates/web/base/report/new/fill_in_details_form.html:1
#: templates/web/base/report/new/login_success_form.html:1
@@ -3016,7 +3040,7 @@ msgstr ""
msgid "Report, view, or discuss local problems"
msgstr "Сигнализирай, разгледай или коментирай проблеми"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:653
+#: perllib/FixMyStreet/DB/Result/Problem.pm:590
#: templates/web/base/contact/index.html:55
msgid "Reported anonymously at %s"
msgstr ""
@@ -3026,7 +3050,7 @@ msgstr ""
msgid "Reported before"
msgstr "Подавал Ñъм и преди"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:677
+#: perllib/FixMyStreet/DB/Result/Problem.pm:614
#: templates/web/base/contact/index.html:57
msgid "Reported by %s at %s"
msgstr ""
@@ -3040,34 +3064,30 @@ msgstr ""
msgid "Reported in the %s category"
msgstr "Сигналът е подаден в ÐºÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ %s "
-#: perllib/FixMyStreet/DB/Result/Problem.pm:650
+#: perllib/FixMyStreet/DB/Result/Problem.pm:587
msgid "Reported in the %s category anonymously at %s"
msgstr "Сигналът е подаден анонимно в ÐºÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ %s в %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:611
msgid "Reported in the %s category by %s at %s"
msgstr "Сигналът е подаден в ÐºÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ %s от %s в %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:647
+#: perllib/FixMyStreet/DB/Result/Problem.pm:584
msgid "Reported via %s anonymously at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:671
+#: perllib/FixMyStreet/DB/Result/Problem.pm:608
msgid "Reported via %s by %s at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:644
+#: perllib/FixMyStreet/DB/Result/Problem.pm:581
msgid "Reported via %s in the %s category anonymously at %s"
msgstr "Сигналът е подаден анонимно чрез %s в ÐºÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ %s в %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:666
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
msgid "Reported via %s in the %s category by %s at %s"
msgstr "Сигналът е подаден чрез %s в ÐºÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ %s от %s в %s"
-#: templates/web/base/reports/index.html:24
-msgid "Reported within the last four weeks"
-msgstr ""
-
#: templates/web/zurich/admin/report_edit-sdm.html:38
#: templates/web/zurich/admin/report_edit.html:57
msgid "Reported:"
@@ -3083,13 +3103,13 @@ msgid "Reporting a problem"
msgstr "Сигнализиране за проблем"
#: perllib/FixMyStreet/Cobrand/Default.pm:655
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:383
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:388
#: templates/web/base/dashboard/index.html:134
#: templates/web/zurich/header.html:52
msgid "Reports"
msgstr "Сигнали"
-#: perllib/FixMyStreet/Cobrand/UK.pm:329 perllib/FixMyStreet/Cobrand/UK.pm:333
+#: perllib/FixMyStreet/Cobrand/UK.pm:333 perllib/FixMyStreet/Cobrand/UK.pm:335
msgid "Reports are limited to %s characters in length. Please shorten your report"
msgstr ""
@@ -3097,31 +3117,52 @@ msgstr ""
msgid "Reports awaiting approval"
msgstr "Сигнали чакащи одобрение"
+#: templates/web/base/alert/_list.html:54
+msgid "Reports by destination"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:107
msgid "Reports made by trusted users will be sent to the responsible body without being inspected first."
msgstr ""
+#: templates/web/base/alert/_list.html:15
+msgid "Reports near %s are sent to different councils, depending on the type of problem."
+msgstr ""
+
#: templates/web/zurich/admin/index-sdm.html:10
msgid "Reports published"
msgstr "Публикувани Ñигнали"
-#: templates/web/base/js/translation_strings.html:68
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:71
msgid "Reports saved offline."
-msgstr "Подайте Ñигнал"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#, fuzzy
+msgid "Reports sent to %s"
+msgstr "Сигнал за %s "
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:290 perllib/FixMyStreet/Cobrand/UK.pm:302
+#, fuzzy
+msgid "Reports sent to %s, within %s ward"
+msgstr "RSS абонамент за %s, в квартал %s"
#: templates/web/base/admin/index.html:56
msgid "Reports waiting to be sent"
msgstr ""
-#: templates/web/base/admin/contact-form.html:89
+#: templates/web/base/admin/contact-form.html:90
msgid "Reports will automatically be sent without needing to be inspected if the user's <strong>reputation</strong> is at or above this value. Set to <strong>0</strong> if all reports must be inspected regardless."
msgstr ""
-#: templates/web/base/admin/contact-form.html:94
+#: templates/web/base/admin/contact-form.html:95
msgid "Reputation threshold"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:20
+msgid "Required"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:84
msgid "Resend report"
msgstr "Препращане на Ñигнал"
@@ -3157,7 +3198,7 @@ msgstr ""
msgid "Revert to original"
msgstr ""
-#: templates/web/base/report/_main.html:95
+#: templates/web/base/report/_main.html:99
msgid "Revert to original text"
msgstr ""
@@ -3180,16 +3221,16 @@ msgstr ""
msgid "Road operator for this named road (from OpenStreetMap): %s"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1747
-#: templates/web/base/admin/report_edit.html:163
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1852
+#: templates/web/base/admin/report_edit.html:151
#: templates/web/base/admin/update_edit.html:66
#: templates/web/zurich/admin/report_edit.html:118
msgid "Rotate Left"
msgstr "Завъртане налÑво"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: templates/web/base/admin/report_edit.html:164
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: templates/web/base/admin/report_edit.html:152
#: templates/web/base/admin/update_edit.html:67
#: templates/web/zurich/admin/report_edit.html:119
msgid "Rotate Right"
@@ -3204,33 +3245,41 @@ msgstr ""
msgid "Satellite"
msgstr ""
-#: templates/web/base/report/_inspect.html:168
-#, fuzzy
+#: templates/web/base/report/_inspect.html:182
msgid "Save + close as duplicate"
-msgstr "маркиран като \"повторен\""
+msgstr ""
-#: templates/web/base/admin/contact-form.html:137
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/contact-form.html:138
+#: templates/web/base/admin/reportextrafields/edit.html:64
+#: templates/web/base/admin/responsepriorities/edit.html:58
#: templates/web/base/admin/template_edit.html:46
-#: templates/web/base/report/_inspect.html:168
-#: templates/web/base/report/_main.html:113
-#: templates/web/base/report/update.html:60
+#: templates/web/base/report/_inspect.html:182
+#: templates/web/base/report/_main.html:117
+#: templates/web/base/report/update.html:69
#: templates/web/zurich/admin/body.html:62
-#: templates/web/zurich/admin/contact-form.html:20
+#: templates/web/zurich/admin/contact-form.html:22
#: templates/web/zurich/admin/template_edit.html:29
msgid "Save changes"
msgstr "Запази промените"
-#: templates/web/base/report/_inspect.html:148
+#: templates/web/base/admin/reportextrafields/edit.html:64
+msgid "Save new fields"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:158
msgid "Save with a public update"
msgstr ""
-#. ('This is followed by a progress count, e.g. 3/5')
#. ("This is followed by a progress count, e.g. 3/5")
-#: templates/web/base/js/translation_strings.html:69
+#: templates/web/base/js/translation_strings.html:72
msgid "Saving reports offline"
msgstr ""
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:132
+#, fuzzy
+msgid "Scheduled"
+msgstr "Сигналът Ñе обработва"
+
#: templates/web/base/admin/index.html:26
#: templates/web/base/admin/reports.html:1
#: templates/web/zurich/admin/reports.html:1
@@ -3264,41 +3313,41 @@ msgstr "Ðе Ñа намерени потребители."
msgid "See our privacy policy"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:715
+#: perllib/FixMyStreet/Cobrand/Default.pm:720
msgid "See user detail for reports created as the council"
msgstr ""
-#: templates/web/base/admin/body-form.html:39
+#: templates/web/base/admin/body-form.html:41
#: templates/web/zurich/admin/body-form.html:16
msgid "Select a body"
msgstr "Изберете район"
-#: templates/web/base/reports/index.html:12
-msgid "Select a particular council to see the reports sent there."
-msgstr "Изберете Ñъответната община, за да разгледате Ñигналите подадени към неÑ."
-
-#: templates/web/base/admin/body-form.html:77
+#: templates/web/base/admin/body-form.html:79
#: templates/web/zurich/admin/body-form.html:26
msgid "Select an area"
msgstr "Изберете териториÑ"
-#: templates/web/base/alert/_list.html:11
-msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
+#: templates/web/base/admin/responsepriorities/edit.html:33
+msgid "Select if this is the default priority"
msgstr ""
#: templates/web/base/admin/category-checkboxes.html:6
msgid "Select:"
msgstr ""
+#: templates/web/base/contact/index.html:107
+msgid "Send"
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:109
msgid "Send extended Open311 statuses with service request updates"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:826
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:831
msgid "Sent report back"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:804
+#: perllib/FixMyStreet/DB/Result/Problem.pm:741
msgid "Sent to %s %s later"
msgstr "Сигналът е подаден към %s преди %s"
@@ -3311,7 +3360,7 @@ msgstr "Изпратени:"
msgid "Service:"
msgstr "УÑлуга:"
-#: templates/web/base/report/_inspect.html:31
+#: templates/web/base/report/_inspect.html:41
msgid "Set to my current location"
msgstr ""
@@ -3320,49 +3369,56 @@ msgid "Share"
msgstr "Сподели"
#: templates/web/base/main_nav_items.html:10
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:21
#: templates/web/base/report/_main.html:29
msgid "Shortlist"
msgstr ""
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/reports/body.html:32
+msgid "Shortlist all visible"
+msgstr ""
+
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:20
#: templates/web/base/report/_main.html:25
#: templates/web/base/reports/_list-filters.html:9
msgid "Shortlisted"
msgstr ""
-#: templates/web/base/report/_main.html:144
+#: templates/web/base/report/_item.html:15
+#: templates/web/base/report/_main.html:148
msgid "Shortlisted by %s"
msgstr ""
#: templates/web/base/report/update.html:20
-#, fuzzy
msgid "Show Photo?"
-msgstr "Показване на Ñтарите"
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:26
+msgid "Show all updates"
+msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:54
+#: templates/web/base/report/new/form_user_loggedin.html:56
#: templates/web/base/report/new/form_user_loggedout_by_email.html:22
-#: templates/web/base/report/update/form_name.html:33
+#: templates/web/base/report/update/form_name.html:37
msgid "Show my name publicly"
msgstr "Показвай името ми публично"
#: templates/web/base/report/update.html:17
-#, fuzzy
msgid "Show name publicly?"
-msgstr "Показвай името ми публично"
+msgstr ""
#: templates/web/base/around/display_location.html:69
msgid "Show old"
msgstr "Показване на Ñтарите"
-#: templates/web/base/report/_main.html:79
-#, fuzzy
+#: templates/web/base/report/_main.html:83
msgid "Show photo"
-msgstr "Показване на Ñтарите"
+msgstr ""
#: templates/web/base/around/display_location.html:60
+#: templates/web/base/js/translation_strings.html:54
msgid "Show pins"
msgstr "Покажи кабърчетата"
@@ -3370,16 +3426,20 @@ msgstr "Покажи кабърчетата"
msgid "Show reporter&rsquo;s name"
msgstr ""
-#: templates/web/base/auth/general.html:117
+#: templates/web/base/reports/index.html:62
+msgid "Show reports in your area"
+msgstr ""
+
+#: templates/web/base/auth/general.html:119
#: templates/web/base/auth/general.html:3
-#: templates/web/base/auth/general.html:86
+#: templates/web/base/auth/general.html:88
#: templates/web/base/main_nav_items.html:6
#: templates/web/zurich/auth/general.html:18
#: templates/web/zurich/auth/general.html:35
msgid "Sign in"
msgstr "Вход"
-#: templates/web/base/auth/general.html:96
+#: templates/web/base/auth/general.html:98
msgid "Sign in by email instead, providing a new password. When you click the link in your email, your password will be updated."
msgstr ""
@@ -3425,14 +3485,14 @@ msgstr ""
msgid "Sorry, there has been an error confirming your problem."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:230
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:235
#: perllib/FixMyStreet/Geocode.pm:37 perllib/FixMyStreet/Geocode/Bing.pm:38
#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:56
#: perllib/FixMyStreet/Geocode/OSM.pm:48
msgid "Sorry, we could not find that location."
msgstr ""
-#: templates/web/base/auth/general.html:9
+#: templates/web/base/auth/general.html:11
#: templates/web/base/report/display.html:29
#: templates/web/base/report/new/fill_in_details_form.html:15
msgid "Sorry, we could not log you in. Please fill in the form below."
@@ -3454,11 +3514,11 @@ msgid ""
"page wasn’t found or there was a server error. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Root.pm:107
+#: perllib/FixMyStreet/App/Controller/Root.pm:124
msgid "Sorry, you don't have permission to do that."
msgstr ""
-#: templates/web/base/reports/_list-filters.html:42
+#: templates/web/base/reports/_list-filters.html:53
msgid "Sort by"
msgstr ""
@@ -3475,17 +3535,25 @@ msgid "Start Date:"
msgstr "Ðачална дата:"
#: templates/web/base/admin/body.html:73
+#: templates/web/base/admin/category_edit.html:29
+#: templates/web/base/admin/contact-form.html:53
#: templates/web/base/admin/flagged.html:18
#: templates/web/base/admin/index.html:64
#: templates/web/base/admin/list_updates.html:11
#: templates/web/base/admin/reports.html:16
#: templates/web/base/admin/template_edit.html:40
-#: templates/web/base/report/_inspect.html:83
-#: templates/web/base/report/_item.html:94
+#: templates/web/base/report/_inspect.html:82
+#: templates/web/base/report/_item.html:96
#: templates/web/base/report/update/form_update.html:39
+#: templates/web/zurich/admin/contact-form.html:10
msgid "State"
msgstr ""
+#: templates/web/base/report/update.html:48
+#, fuzzy
+msgid "State changed to:"
+msgstr "Запази промените"
+
#: templates/web/base/admin/report_edit.html:116
#: templates/web/base/admin/update_edit.html:28
#: templates/web/zurich/admin/report_edit-sdm.html:75
@@ -3495,8 +3563,14 @@ msgstr ""
msgid "State:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:640
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:386
+#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: templates/web/base/admin/states/index.html:1
+#, fuzzy
+msgid "States"
+msgstr "СтатуÑ"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
#: templates/web/base/admin/index.html:71 templates/web/base/admin/stats.html:1
#: templates/web/base/admin/stats_by_state.html:1
#: templates/web/zurich/admin/stats.html:1 templates/web/zurich/header.html:65
@@ -3518,6 +3592,10 @@ msgstr "Ð’Ñе още отворен, от анкета, %s "
msgid "Street View"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:46
+msgid "String"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:192
msgid "Subcategory: %s"
msgstr ""
@@ -3526,7 +3604,7 @@ msgstr ""
msgid "Subdivision/Body"
msgstr ""
-#: templates/web/base/contact/index.html:88
+#: templates/web/base/contact/index.html:92
msgid "Subject"
msgstr "Тема"
@@ -3536,14 +3614,14 @@ msgid "Subject:"
msgstr "Тема:"
#: templates/web/base/questionnaire/creator_fixed.html:19
-#: templates/web/base/report/new/form_user_loggedin.html:61
+#: templates/web/base/report/new/form_user_loggedin.html:63
#: templates/web/base/report/new/form_user_loggedout_by_email.html:36
#: templates/web/base/report/new/form_user_loggedout_password.html:11
#: templates/web/zurich/report/new/fill_in_details_form.html:73
msgid "Submit"
msgstr "Изпращане"
-#: templates/web/base/admin/report_edit.html:174
+#: templates/web/base/admin/report_edit.html:162
#: templates/web/base/admin/report_edit.html:24
#: templates/web/base/admin/update_edit.html:77
#: templates/web/base/admin/user-form.html:170
@@ -3557,8 +3635,8 @@ msgstr "Изпращане на промените"
msgid "Submit questionnaire"
msgstr "Изпращане на анкетата"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:164
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:893
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:898
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:6
#: templates/web/zurich/admin/index-dm.html:23
@@ -3568,36 +3646,38 @@ msgstr "Изпращане на анкетата"
msgid "Submitted"
msgstr "Сигналът е потвърден"
+#: templates/web/base/alert/_list.html:77
+#: templates/web/base/alert/_list.html:80
#: templates/web/base/alert/updates.html:23
#: templates/web/base/report/display_tools.html:51
msgid "Subscribe"
msgstr "Ðбониране"
-#: templates/web/base/alert/_list.html:93
-msgid "Subscribe me to an email alert"
+#: templates/web/base/alert/_list.html:72
+#, fuzzy
+msgid "Subscribe by email"
msgstr "Ðбониране за извеÑÑ‚Ñване по имейл"
#: templates/web/base/report/new/form_report.html:19
msgid "Summarise the problem"
msgstr ""
-#: templates/web/base/admin/contact-form.html:129
+#: templates/web/base/admin/contact-form.html:130
msgid "Summarise your changes"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:638
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:382
+#: perllib/FixMyStreet/Cobrand/Default.pm:637
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:387
#: templates/web/base/admin/bodies.html:29
#: templates/web/base/admin/index.html:1 templates/web/base/status/index.html:1
#: templates/web/base/status/index.html:3
#: templates/web/zurich/admin/index-dm.html:1
#: templates/web/zurich/admin/index-sdm.html:1
-#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:13
+#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:12
#: templates/web/zurich/header.html:49
msgid "Summary"
msgstr "Обобщение"
-#: templates/web/base/reports/index.html:4
#: templates/web/zurich/reports/index.html:0
#: templates/web/zurich/reports/index.html:4
msgid "Summary reports"
@@ -3621,7 +3701,7 @@ msgid "Template &laquo;%s&raquo;"
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:661
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:393
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
#: templates/web/zurich/header.html:69
msgid "Templates"
msgstr ""
@@ -3650,7 +3730,7 @@ msgstr ""
msgid "Thank you for trying to confirm your update or problem. We seem to have an error ourselves though, so <a href=\"%s\">please let us know what went on</a> and we'll look into it."
msgstr ""
-#: templates/web/base/tokens/confirm_update.html:15
+#: templates/web/base/tokens/confirm_update.html:16
msgid "Thank you for updating this issue!"
msgstr ""
@@ -3678,7 +3758,7 @@ msgstr "Прикачването на изображение е неуÑпешн
msgid "That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again."
msgstr "Ð’ момента за това меÑтоположение не може да Ñе подаде Ñигнал; може би вÑе още нÑмаме потвърждение от общината. ÐœÐ¾Ð»Ñ Ð¾Ð¿Ð¸Ñ‚Ð°Ð¹Ñ‚Ðµ отново по-къÑно."
-#: perllib/FixMyStreet/App/Controller/Location.pm:129
+#: perllib/FixMyStreet/App/Controller/Location.pm:127
msgid "That location does not appear to be in the UK; please try again."
msgstr ""
@@ -3688,23 +3768,23 @@ msgstr ""
msgid "That postcode was not recognised, sorry."
msgstr "ÐœÐ¾Ð»Ñ Ð´Ð° ни извините, този пощенÑки код не беше разпознат."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:762
+#: perllib/FixMyStreet/App/Controller/Admin.pm:850
msgid "That problem has been marked as sent."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:755
+#: perllib/FixMyStreet/App/Controller/Admin.pm:843
msgid "That problem will now be resent."
msgstr "Сигналът ще бъде препратен."
-#: perllib/FixMyStreet/App/Controller/Report.pm:137
+#: perllib/FixMyStreet/App/Controller/Report.pm:134
msgid "That report cannot be viewed on %s."
msgstr "Сигналът не може да бъде разгледан %s."
-#: perllib/FixMyStreet/App/Controller/Report.pm:131
+#: perllib/FixMyStreet/App/Controller/Report.pm:128
msgid "That report has been removed from FixMyStreet."
msgstr "Този Ñигнал е бил изтрит от ПоправиСофиÑ."
-#: templates/web/base/admin/contact-form.html:25
+#: templates/web/base/admin/contact-form.html:27
msgid ""
"The <strong>email address</strong> is the destination to which reports about this category will be sent. \n"
" Other categories for this body may have the same email address."
@@ -3724,10 +3804,10 @@ msgid ""
" than one. If the body is running its own endpoint, you can usually leave this blank."
msgstr ""
-#: templates/web/base/admin/body-form.html:100
-#: templates/web/base/admin/body-form.html:101
-#: templates/web/base/admin/contact-form.html:103
+#: templates/web/base/admin/body-form.html:102
+#: templates/web/base/admin/body-form.html:103
#: templates/web/base/admin/contact-form.html:104
+#: templates/web/base/admin/contact-form.html:105
msgid ""
"The <strong>send method</strong> determines how problem reports will be sent to the body.\n"
" If you leave this blank, <strong>send method defaults to email</strong>."
@@ -3744,6 +3824,10 @@ msgid ""
" and may be displayed publically."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:12
+msgid "The code used to store this field value in the database. e.g. <code>address</code> would be available as <code>problem.extra.address</code> in the templates."
+msgstr ""
+
#: templates/web/base/report/new/fill_in_details_text.html:1
#: templates/web/base/report/new/fill_in_details_text.html:3
msgid "The council won&rsquo;t be able to help unless you leave as much detail as you can. Please describe the exact location of the problem (e.g. on a wall), what it is, how long it has been there, a description (and a photo of the problem if you have one), etc."
@@ -3754,11 +3838,15 @@ msgstr "Бихте могли да помогнете на Общината да
msgid "The diligency prize league table shows editors' activity (who's been editing the most records)."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:61
-#: perllib/FixMyStreet/App/Controller/Reports.pm:82
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:63
+#: perllib/FixMyStreet/App/Controller/Reports.pm:103
msgid "The error was: %s"
msgstr "Грешката беше: %s"
+#: templates/web/base/admin/extra-metadata-form.html:30
+msgid "The field name as shown to the user on the report form."
+msgstr ""
+
#: templates/web/base/open311/index.html:78
msgid "The following Open311 v2 attributes are returned for each request: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
msgstr ""
@@ -3797,10 +3885,14 @@ msgstr ""
msgid "The link might have expired, or maybe you didn&rsquo;t quite copy and paste it correctly."
msgstr ""
-#: templates/web/base/admin/body-form.html:64
+#: templates/web/base/admin/body-form.html:66
msgid "The list of available areas is being provided by the MapIt service at %s."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:6
+msgid "The ordering of this field on the report page. Fields are shown in ascending order according to this value."
+msgstr ""
+
#: templates/web/base/auth/change_password.html:22
#: templates/web/base/auth/change_password.html:26
msgid "The passwords do not match"
@@ -3810,9 +3902,9 @@ msgstr "Паролите не Ñъвпадат"
msgid "The requested URL '%s' was not found on this server"
msgstr "ТърÑениÑÑ‚ Ð°Ð´Ñ€ÐµÑ '%s' не беше намерен на този Ñървър"
-#: templates/web/base/alert/_list.html:17
-msgid "The simplest alert is our geographic one:"
-msgstr "Можете да получавате извеÑÑ‚Ð¸Ñ Ð½Ð° базата на предварително дефинирано разÑтоÑние"
+#: templates/web/base/admin/extra-metadata-form.html:42
+msgid "The type of input field to show to the user. <strong>Text</strong> is a simple text field, <strong>List</strong> is a drop-down selection."
+msgstr ""
#: perllib/FixMyStreet/Script/Reports.pm:96
msgid "The user could not locate the problem on a map, but to see the area around the location they entered"
@@ -3833,18 +3925,18 @@ msgstr ""
msgid "There are no reports to show."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Reports.pm:79
+#: perllib/FixMyStreet/App/Controller/Reports.pm:100
msgid "There was a problem showing the All Reports page. Please try again later."
msgstr "Възникна проблем при визуализирането на Ñтраницата Ñ Ð²Ñички Ñигнали. ÐœÐ¾Ð»Ñ Ð¾Ð¿Ð¸Ñ‚Ð°Ð¹Ñ‚Ðµ по-къÑно."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:137
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:60
+#: perllib/FixMyStreet/App/Controller/Contact.pm:138
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:62
msgid "There was a problem showing this page. Please try again later."
msgstr "Възникна проблем при визуализирането на Ñтраницата. ÐœÐ¾Ð»Ñ Ð¿Ñ€Ð¾Ð±Ð²Ð°Ð¹Ñ‚Ðµ по-къÑно."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:758
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:785
#: perllib/FixMyStreet/App/Controller/Report/Update.pm:152
-#: templates/web/base/auth/general.html:53
+#: templates/web/base/auth/general.html:55
#: templates/web/zurich/auth/general.html:28
msgid "There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the &lsquo;sign in by email&rsquo; section of the form."
msgstr "Възникна проблем Ñ ÐºÐ¾Ð¼Ð±Ð¸Ð½Ð°Ñ†Ð¸Ñта имейл/парола. Ðко не можете да Ñи Ñпомните паролата или нÑмате такава, Ð¼Ð¾Ð»Ñ Ð¿Ð¾Ð¿ÑŠÐ»Ð½ÐµÑ‚Ðµ ÑекциÑта &lsquo;влизане чрез имейл&rsquo;."
@@ -3857,7 +3949,7 @@ msgstr "Възникна проблем Ñ ÐºÐ¾Ð¼Ð±Ð¸Ð½Ð°Ñ†Ð¸Ñта имейл/Ð
msgid "There was a problem with your update. Please try again."
msgstr "Възникна проблем Ñ Ð²Ð°ÑˆÐ°Ñ‚Ð° актуализациÑ. ÐœÐ¾Ð»Ñ Ð¾Ð¿Ð¸Ñ‚Ð°Ð¹Ñ‚Ðµ отново."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:141
+#: perllib/FixMyStreet/App/Controller/Contact.pm:142
msgid "There were problems with your report. Please see below."
msgstr "Възникна проблем Ñ Ð²Ð°ÑˆÐ°Ñ Ñигнал. ÐœÐ¾Ð»Ñ Ð¾Ð¿Ð¸Ñ‚Ð°Ð¹Ñ‚Ðµ отново."
@@ -3909,8 +4001,8 @@ msgstr ""
msgid "This body has no contacts. This means that currently problems reported to this body <strong>will not be sent</strong>."
msgstr ""
-#: templates/web/base/admin/body-form.html:58
-#: templates/web/base/admin/body-form.html:59
+#: templates/web/base/admin/body-form.html:60
+#: templates/web/base/admin/body-form.html:61
msgid ""
"This body will only be sent reports for problems that are located in the <strong>area covered</strong>.\n"
" A body will not receive any reports unless it covers at least one area."
@@ -3924,8 +4016,9 @@ msgstr "Този имейл е изпратен към двете общини Ð
msgid "This email has been sent to several councils covering the location of the problem, as the category selected is provided for all of them; please ignore it if you're not the correct council to deal with the issue."
msgstr "Този имейл е изпратен до нÑколко общини покриващи адреÑа на Ñигнала, тъй като категориÑта на Ñигнала Ñъвпада Ñ Ð²Ñички Ñ‚ÑÑ…. ÐœÐ¾Ð»Ñ Ð½Ðµ го взимайте под внимание ако не Ñте правилната община задължена за този тип проблеми."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:881
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:925
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1017
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:910
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:954
#: perllib/FixMyStreet/App/Controller/Report/New.pm:971
#: perllib/FixMyStreet/Cobrand/UK.pm:45
msgid "This information is required"
@@ -3935,46 +4028,41 @@ msgstr "Тази Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ðµ необходима"
msgid "This is a developer site; things might break at any time, and the database will be periodically deleted."
msgstr ""
-#: templates/web/base/reports/index.html:10
-msgid "This is a summary of all reports on this site."
-msgstr "Това е обобщение на вÑички Ñигнали в Ñайта."
-
-#: templates/web/base/report/new/form_report.html:56
+#: templates/web/base/report/new/form_report.html:58
msgid "This pothole has been here for two months and…"
msgstr ""
-#: templates/web/base/report/update/form_update.html:63
+#: templates/web/base/report/update/form_update.html:55
msgid "This problem has been fixed"
msgstr "Този проблем е решен."
-#: templates/web/base/report/update/form_update.html:56
+#: templates/web/base/report/update/form_update.html:48
msgid "This problem has not been fixed"
msgstr "Този проблем не е решен."
-#: templates/web/base/report/update/form_update.html:54
-#, fuzzy
+#: templates/web/base/report/update/form_update.html:46
msgid "This problem is still ongoing"
-msgstr "Този проблем не е решен."
+msgstr ""
#: templates/web/base/report/duplicate-no-updates.html:3
msgid "This report is a duplicate. Please leave updates on the original report:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:161
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:162
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:166
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:167
#: templates/web/zurich/report/_main.html:14
msgid "This report is awaiting moderation."
msgstr ""
-#: perllib/FixMyStreet/Script/Alerts.pm:101
+#: perllib/FixMyStreet/Script/Alerts.pm:98
msgid "This report is currently marked as closed."
msgstr "Този Ñигнал е означен ÑÑŠÑ ÑÑ‚Ð°Ñ‚ÑƒÑ Ð·Ð°Ñ‚Ð²Ð¾Ñ€ÐµÐ½."
-#: perllib/FixMyStreet/Script/Alerts.pm:99
+#: perllib/FixMyStreet/Script/Alerts.pm:96
msgid "This report is currently marked as fixed."
msgstr "Този Ñигнал е означен ÑÑŠÑ ÑÑ‚Ð°Ñ‚ÑƒÑ Ð¿Ð¾Ð¿Ñ€Ð°Ð²ÐµÐ½."
-#: perllib/FixMyStreet/Script/Alerts.pm:103
+#: perllib/FixMyStreet/Script/Alerts.pm:100
msgid "This report is currently marked as open."
msgstr "Този Ñигнал е означен ÑÑŠÑ ÑÑ‚Ð°Ñ‚ÑƒÑ Ð¾Ñ‚Ð²Ð¾Ñ€ÐµÐ½."
@@ -3993,7 +4081,7 @@ msgstr "Тази Ñтраница Ñъдържа и Ñнимка, изпрате
msgid "Time spent (in minutes):"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Default.pm:638
#: templates/web/base/admin/timeline.html:1
msgid "Timeline"
msgstr "Времева линиÑ"
@@ -4022,10 +4110,26 @@ msgstr ""
msgid "To find out what local alerts we have for you, please enter your postcode or street name and area"
msgstr "За да получите нови извеÑтиÑ, Ð¼Ð¾Ð»Ñ Ð²ÑŠÐ²ÐµÐ´ÐµÑ‚Ðµ пощенÑки код или име на улица."
+#: templates/web/base/admin/reportextrafields/edit.html:19
+msgid "To limit this collection of fields to a single cobrand, select it here."
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:40
+msgid "To limit this collection of fields to a single language, select it here."
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:95
msgid "To view a map of the precise location of this issue"
msgstr "За да видите точното меÑтоположение на проблема върху картата"
+#: templates/web/base/reports/index.html:97
+msgid "Top 5 most used categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:83
+msgid "Top 5 responsive councils"
+msgstr ""
+
#: templates/web/base/admin/questionnaire.html:24
#: templates/web/base/admin/stats.html:24
#: templates/web/base/admin/stats.html:43
@@ -4039,9 +4143,8 @@ msgid "Total marked"
msgstr ""
#: templates/web/base/dashboard/index.html:71
-#, fuzzy
msgid "Total marked as fixed"
-msgstr "маркиран като \"поправен\""
+msgstr ""
#: templates/web/base/dashboard/index.html:125
msgid "Total not marked"
@@ -4052,16 +4155,24 @@ msgstr ""
msgid "Total reports received"
msgstr ""
-#: templates/web/base/report/_inspect.html:124
-#: templates/web/base/report/_item.html:102
+#: templates/web/base/report/_inspect.html:134
+#: templates/web/base/report/_item.html:104
msgid "Traffic management required?"
msgstr ""
+#: templates/web/base/admin/_translations.html:7
+msgid "Translation"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:2
+msgid "Translations"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:111
msgid "Trusted by bodies:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:721
+#: perllib/FixMyStreet/Cobrand/Default.pm:726
msgid "Trusted to make reports that don't need to be inspected"
msgstr ""
@@ -4077,8 +4188,14 @@ msgstr "Опитайте отново"
msgid "Try emailing us directly:"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:21
+#: templates/web/base/admin/extra-metadata-form.html:44
+#: templates/web/base/admin/states/index.html:10
+#: templates/web/base/admin/states/index.html:100
+msgid "Type"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:59
+#: templates/web/base/admin/contact-form.html:55
#: templates/web/base/admin/update_edit.html:30
#: templates/web/zurich/admin/report_edit-sdm.html:66
#: templates/web/zurich/admin/report_edit.html:94
@@ -4086,7 +4203,6 @@ msgstr ""
msgid "Unconfirmed"
msgstr "Ðепотвърден"
-#: templates/web/base/reports/_list-filters.html:12
#: templates/web/base/reports/_list-filters.html:5
msgid "Unfixed reports"
msgstr ""
@@ -4100,14 +4216,14 @@ msgid "Unknown alert type"
msgstr ""
#: perllib/FixMyStreet/App/Controller/Photo.pm:109
-#: perllib/FixMyStreet/App/Controller/Root.pm:124
+#: perllib/FixMyStreet/App/Controller/Root.pm:141
#: templates/web/base/js/translation_strings.html:38
msgid "Unknown error"
msgstr "Ðепозната грешка"
-#: perllib/FixMyStreet/App/Controller/Report.pm:115
+#: perllib/FixMyStreet/App/Controller/Report.pm:112
+#: perllib/FixMyStreet/App/Controller/Report.pm:118
#: perllib/FixMyStreet/App/Controller/Report.pm:121
-#: perllib/FixMyStreet/App/Controller/Report.pm:124
msgid "Unknown problem ID"
msgstr ""
@@ -4115,10 +4231,11 @@ msgstr ""
msgid "Unshortlisted"
msgstr ""
-#: templates/web/base/report/_item.html:24
+#: templates/web/base/report/_item.html:26
msgid "Up one"
msgstr ""
+#: templates/web/base/admin/states/index.html:76
#: templates/web/base/report/update/form_update.html:29
msgid "Update"
msgstr "ÐктуализациÑ"
@@ -4135,7 +4252,7 @@ msgstr "Ðктуализирано анонимно на %s"
msgid "Update below added by %s at %s"
msgstr "Ðктуализирано от %s на %s"
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Update body"
msgstr ""
@@ -4171,13 +4288,23 @@ msgstr "ÐÐºÑ‚ÑƒÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð½Ð° ÑтатуÑите"
msgid "Updated"
msgstr "Ðктуализирано!"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1157
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1221
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1384
-#: perllib/FixMyStreet/App/Controller/Admin.pm:822
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:762
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:787
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:857
+#: perllib/FixMyStreet/DB/Result/Comment.pm:249
+#, fuzzy
+msgid "Updated by <strong>%s</strong> (%s) at %s"
+msgstr "Публикувано от <strong>%s</strong> (%s) в %s"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:251
+#, fuzzy
+msgid "Updated by <strong>%s</strong> at %s"
+msgstr "Публикувано от <strong>%s</strong> в %s"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1262
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1326
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1489
+#: perllib/FixMyStreet/App/Controller/Admin.pm:910
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:767
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:792
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:862
msgid "Updated!"
msgstr "Ðктуализирано!"
@@ -4187,7 +4314,7 @@ msgstr "Ðктуализирано!"
msgid "Updates"
msgstr "Ðктуализации"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:133
+#: perllib/FixMyStreet/DB/Result/Comment.pm:134
msgid "Updates are limited to %s characters in length. Please shorten your update"
msgstr ""
@@ -4201,11 +4328,22 @@ msgstr "Ðктуализиране на {{title}}"
msgid "Updates to this problem, %s"
msgstr ""
+#: templates/web/base/admin/contact-form.html:43
+#: templates/web/base/admin/contact-form.html:44
+msgid ""
+"Use <strong>confirmed</strong> to indicate that this contact has been\n"
+"confirmed as correct. If you are not sure of the origin or validity of the\n"
+"contact, use <strong>unconfirmed</strong>. <strong>inactive</strong> will\n"
+"remove the category from use when reporting problems, but keep it available in\n"
+"map filters, and <strong>deleted</strong> will remove the category from there\n"
+"as well."
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:65
msgid "Use Open311 update-sending extension"
msgstr ""
-#: templates/web/base/admin/contact-form.html:124
+#: templates/web/base/admin/contact-form.html:125
msgid "Use this field to record details that are only displayed in the admin. Input is not shown publicly, and is not sent to the body."
msgstr ""
@@ -4218,27 +4356,26 @@ msgstr ""
msgid "User ID to attribute fetched comments to"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1700
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1805
msgid "User flag removed"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1672
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1777
msgid "User flagged"
msgstr ""
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:58
-#, fuzzy
msgid "User has marked as fixed"
-msgstr "маркиран като \"поправен\""
+msgstr ""
#: templates/web/base/admin/users.html:5
msgid "User search finds matches in users' names and email addresses."
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:669
-#: perllib/FixMyStreet/Cobrand/Default.pm:723
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
+#: perllib/FixMyStreet/Cobrand/Default.pm:728
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:403
#: templates/web/base/admin/flagged.html:29 templates/web/zurich/header.html:61
msgid "Users"
msgstr "Потребители"
@@ -4247,9 +4384,9 @@ msgstr "Потребители"
msgid "Users can perform the following actions within their assigned body or area."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:400
-#: perllib/FixMyStreet/App/Controller/Admin.pm:430
-#: perllib/FixMyStreet/App/Controller/Admin.pm:448
+#: perllib/FixMyStreet/App/Controller/Admin.pm:381
+#: perllib/FixMyStreet/App/Controller/Admin.pm:417
+#: perllib/FixMyStreet/App/Controller/Admin.pm:439
msgid "Values updated"
msgstr "Ðктуализиране на ÑтойноÑтите"
@@ -4296,7 +4433,7 @@ msgstr "Ðамерихме повече от едно Ñъвпадение за
msgid "We found more than one match for that problem reference:"
msgstr ""
-#: templates/web/base/auth/general.html:6
+#: templates/web/base/auth/general.html:8
#: templates/web/base/report/display.html:35
#: templates/web/base/report/new/oauth_email_form.html:5
msgid "We need your email address, please give it below."
@@ -4331,7 +4468,7 @@ msgstr ""
msgid "What was your experience of getting the problem fixed?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:52
+#: templates/web/base/admin/category_edit.html:27
#: templates/web/zurich/admin/body.html:18
msgid "When edited"
msgstr "Редактирано на:"
@@ -4340,11 +4477,19 @@ msgstr "Редактирано на:"
msgid "When sent"
msgstr "Изпратен"
-#: templates/web/base/report/_inspect.html:89
+#: templates/web/base/admin/extra-metadata-form.html:18
+msgid "Whether the user is required to provide a value for this field."
+msgstr ""
+
+#: templates/web/base/alert/_list.html:9
+msgid "Which problems do you want alerts about?"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:99
msgid "Which report is it a duplicate of?"
msgstr ""
-#: templates/web/base/js/translation_strings.html:54
+#: templates/web/base/js/translation_strings.html:57
msgid "Whoa there Testino! Three photos are enough."
msgstr ""
@@ -4352,8 +4497,8 @@ msgstr ""
msgid "Why stop there? <a href=\"/alert\">Set up more alerts</a> for free."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:185
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:190
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:14
msgid "Wish"
@@ -4363,7 +4508,7 @@ msgstr ""
msgid "With request searches, it is also possible to search for agency_responsible to limit the requests to those sent to a single administration. The search term is the administration ID provided by <a href=\"%s\">MaPit</a>."
msgstr ""
-#: templates/web/base/front/footer-marketing.html:17
+#: templates/web/base/front/footer-marketing.html:3
msgid "Would you like to contribute to FixMyStreet? Our code is open source and <a href=\"http://fixmystreet.org\">available at fixmystreet.org</a>."
msgstr ""
@@ -4388,23 +4533,22 @@ msgstr ""
msgid "Year"
msgstr "Година"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1202
+#: perllib/FixMyStreet/Cobrand/Default.pm:1236
#: templates/web/base/admin/bodies.html:70
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
#: templates/web/base/admin/category_edit.html:5
#: templates/web/base/admin/flagged.html:47
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:136
+#: templates/web/base/admin/report_edit.html:124
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:25
#: templates/web/base/admin/users.html:32
#: templates/web/base/questionnaire/creator_fixed.html:14
#: templates/web/base/questionnaire/index.html:104
#: templates/web/base/questionnaire/index.html:53
+#: templates/web/base/report/_inspect.html:90
msgid "Yes"
msgstr "Да"
@@ -4417,7 +4561,7 @@ msgstr "Да, имам парола"
msgid "You are complaining that this problem report was unnecessarily moderated:"
msgstr ""
-#: templates/web/base/js/translation_strings.html:70
+#: templates/web/base/js/translation_strings.html:73
msgid "You are offline"
msgstr ""
@@ -4438,7 +4582,11 @@ msgstr "Можете да <a href=\"%s%s\">разгледате Ñигнала Ð
msgid "You can add an abusive user's email to the abuse list, which automatically hides (and never sends) reports they create."
msgstr ""
-#: templates/web/base/contact/index.html:111
+#: templates/web/base/alert/_list.html:18
+msgid "You can choose to subscribe to all problems reported in an area, or reports based on their destination."
+msgstr ""
+
+#: templates/web/base/contact/index.html:115
msgid "You can contact technical support on <a href='mailto:%s'>%s</a>"
msgstr "За техничеÑка поддръжка Ð¼Ð¾Ð»Ñ Ð¿Ð¸ÑˆÐµÑ‚Ðµ ни на <a href='mailto:%s'>%s</a>"
@@ -4456,7 +4604,7 @@ msgstr ""
msgid "You can help us by finding a contact email address for local problems for %s and emailing it to us at <a href='mailto:%s'>%s</a>."
msgstr "Можете да ни помогнете да намерим имейл адреÑа на който да бъдат Ñигнализирани проблемите в %s, като ни го изпратите на Ð°Ð´Ñ€ÐµÑ <a href='mailto:%s'>%s</a>."
-#: templates/web/base/admin/body-form.html:91
+#: templates/web/base/admin/body-form.html:93
msgid "You can mark a body as deleted if you do not want it to be active on the site."
msgstr "Можете да маркирате района или общината за изтриване, ако не желаете да бъде активна за този Ñайт."
@@ -4464,7 +4612,7 @@ msgstr "Можете да маркирате района или общинатÐ
msgid "You declined; please fill in the box above"
msgstr "Вие отказахте; Ð¼Ð¾Ð»Ñ Ð¿Ð¾Ð¿ÑŠÐ»Ð½ÐµÑ‚Ðµ полето по-долу."
-#: templates/web/base/js/translation_strings.html:72
+#: templates/web/base/js/translation_strings.html:75
msgid "You have <a id=\"oFN\" href=\"\"><span>%s</span> saved to submit</a>."
msgstr ""
@@ -4472,7 +4620,7 @@ msgstr ""
msgid "You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"
msgstr "Вече Ñте попълнили тази анкета. Ðко имате въпроÑ, Ð¼Ð¾Ð»Ñ <a href='%s'>Ñвържете Ñе Ñ Ð½Ð°Ñ</a>, или <a href='%s'>прегледайте Ñигнала</a>.\n"
-#: templates/web/base/report/new/form_report.html:37
+#: templates/web/base/report/new/form_report.html:39
#: templates/web/zurich/report/new/fill_in_details_form.html:30
msgid "You have already attached photos to this report. Note that you can attach a maximum of 3 to this report (if you try to upload more, the oldest will be removed)."
msgstr ""
@@ -4533,10 +4681,9 @@ msgstr "Вашите Сигнали"
msgid "Your account"
msgstr ""
-#: templates/web/base/alert/_list.html:90
#: templates/web/base/alert/updates.html:19
#: templates/web/base/alert/updates.html:22
-#: templates/web/base/contact/index.html:81
+#: templates/web/base/contact/index.html:80
#: templates/web/base/report/display_tools.html:46
#: templates/web/base/report/display_tools.html:49
#: templates/web/base/report/new/form_user_loggedout_email.html:1
@@ -4546,7 +4693,7 @@ msgid "Your email"
msgstr "Имейл"
#: templates/web/base/auth/change_email.html:9
-#: templates/web/base/auth/general.html:55
+#: templates/web/base/auth/general.html:57
#: templates/web/base/report/update/form_user_loggedout_email.html:5
#: templates/web/zurich/auth/general.html:30
#: templates/web/zurich/auth/general.html:58
@@ -4557,21 +4704,32 @@ msgstr "Имейл адреÑ"
msgid "Your information will only be used in accordance with our <a href=\"/privacy\">privacy policy</a>"
msgstr "Вашата Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ñ‰Ðµ бъде използва Ñамо ÑпрÑмо нашата <a href=\"/privacy\">Политика за поверителноÑÑ‚</a>"
-#: templates/web/base/auth/general.html:107
+#: templates/web/base/auth/general.html:109
#: templates/web/base/contact/index.html:74
#: templates/web/base/report/new/form_user_loggedout_by_email.html:17
-#: templates/web/base/report/update/form_name.html:29
+#: templates/web/base/report/update/form_name.html:33
#: templates/web/zurich/auth/general.html:61
#: templates/web/zurich/report/new/fill_in_details_form.html:63
msgid "Your name"
msgstr "Име"
-#: templates/web/base/js/translation_strings.html:62
-#, fuzzy
+#: templates/web/base/my/anonymize.html:13
+msgid "Your name has already been sent to %s, but we can hide it on this page:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:264
+msgid "Your name has been hidden from all your reports and updates."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:260
+msgid "Your name has been hidden."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:65
msgid "Your offline reports"
-msgstr "Вашите Ñигнали"
+msgstr ""
-#: templates/web/base/auth/general.html:85
+#: templates/web/base/auth/general.html:87
#: templates/web/base/report/new/form_user_loggedout_password.html:10
#: templates/web/base/report/update/form_user_loggedout_password.html:9
#: templates/web/zurich/auth/general.html:34
@@ -4582,6 +4740,7 @@ msgstr "Парола"
msgid "Your password has been changed"
msgstr "Паролата Ви беше променена уÑпешно"
+#: templates/web/base/contact/index.html:87
#: templates/web/base/report/new/form_user_loggedout_by_email.html:26
#: templates/web/zurich/report/new/fill_in_details_form.html:69
msgid "Your phone number"
@@ -4600,7 +4759,7 @@ msgstr "Вашите Ñигнали"
msgid "Your shortlist"
msgstr ""
-#: templates/web/base/js/translation_strings.html:63
+#: templates/web/base/js/translation_strings.html:66
msgid "Your update has been saved offline for submission when back online."
msgstr ""
@@ -4608,8 +4767,8 @@ msgstr ""
msgid "Your updates"
msgstr "Ðктуализации"
-#: templates/web/base/report/new/form_user_loggedin.html:18
-#: templates/web/base/report/update/form_name.html:11
+#: templates/web/base/report/new/form_user_loggedin.html:19
+#: templates/web/base/report/update/form_name.html:12
msgid "Yourself"
msgstr ""
@@ -4618,14 +4777,14 @@ msgstr ""
msgid "all"
msgstr ""
+#: perllib/FixMyStreet/DB/Result/Comment.pm:259
+msgid "and a defect raised"
+msgstr ""
+
#: templates/web/base/admin/timeline.html:4
msgid "by %s"
msgstr "от %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:290
-msgid "closed as a duplicate report"
-msgstr "маркиран като \"повторен\""
-
#: templates/web/base/reports/body.html:6
#: templates/web/base/reports/body.html:7
msgid "council"
@@ -4650,7 +4809,7 @@ msgstr "Ñ€ÐµÐ´Ð°ÐºÑ†Ð¸Ñ Ð½Ð° потребителÑ"
msgid "from %s different users"
msgstr "от %s различни потребители"
-#: templates/web/base/report/_item.html:61
+#: templates/web/base/report/_item.html:63
#: templates/web/zurich/report/_item.html:14
msgid "last updated %s"
msgstr "ПоÑледно обновено %s"
@@ -4659,44 +4818,7 @@ msgstr "ПоÑледно обновено %s"
msgid "less than a minute"
msgstr "преди по-малко от минута"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:280
-msgid "marked as action scheduled"
-msgstr "маркиран като \"започнато е дейÑтвие\""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:292
-msgid "marked as an internal referral"
-msgstr "маркиран като \"вътрешна референциÑ\""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:282
-msgid "marked as closed"
-msgstr "маркиран като \"затворен\""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:263
-#: perllib/FixMyStreet/DB/Result/Comment.pm:284
-msgid "marked as fixed"
-msgstr "маркиран като \"поправен\""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:278
-msgid "marked as in progress"
-msgstr "маркиран като \"в Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð½Ð° обработка\""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:274
-msgid "marked as investigating"
-msgstr "маркиран като \"проучва Ñе\""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:286
-msgid "marked as no further action"
-msgstr "марикарн като \"непоправим\""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:288
-msgid "marked as not the council's responsibility"
-msgstr "маркиран като \"незадължение на Общината\""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:276
-msgid "marked as planned"
-msgstr "маркиран като \"планиран\""
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:122
+#: perllib/FixMyStreet/App/Controller/Admin.pm:119
#: templates/web/base/admin/questionnaire.html:15
#: templates/web/base/admin/questionnaire.html:16
msgid "n/a"
@@ -4707,13 +4829,10 @@ msgstr "нÑма информациÑ"
msgid "none"
msgstr ""
-#: templates/web/base/admin/category_edit.html:35
-msgid "optional"
-msgstr ""
-
-#: templates/web/base/alert/_list.html:86
-msgid "or"
-msgstr "или"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:278
+#, fuzzy
+msgid "not the council's responsibility"
+msgstr "маркиран като \"незадължение на Общината\""
#: templates/web/base/js/translation_strings.html:27
msgid "or locate me automatically"
@@ -4738,16 +4857,7 @@ msgstr "първоначално въведен: &ldquo;%s&rdquo;"
msgid "other areas:"
msgstr "други територии:"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:265
-#: perllib/FixMyStreet/DB/Result/Comment.pm:271
-msgid "reopened"
-msgstr "отново отворен"
-
-#: templates/web/base/admin/category_edit.html:35
-msgid "required"
-msgstr ""
-
-#: templates/web/zurich/footer.html:13
+#: templates/web/zurich/footer.html:12
msgid "sign out"
msgstr "излизане"
@@ -4755,11 +4865,16 @@ msgstr "излизане"
msgid "the local council"
msgstr "меÑтната община"
-#: templates/web/base/report/_report_meta_info.html:2
+#: templates/web/base/report/_report_meta_info.html:5
#: templates/web/zurich/report/_main.html:5
msgid "there is no pin shown as the user did not use the map"
msgstr "мÑÑтото не е било отбелÑзано на картата от потребителÑ"
+#: templates/web/base/alert/_list.html:1
+#, fuzzy
+msgid "this location"
+msgstr "Преглед на меÑтоположение"
+
#: perllib/FixMyStreet/Script/Reports.pm:184
msgid "this type of local problem"
msgstr "този тип Ñигнали"
@@ -4768,15 +4883,13 @@ msgstr "този тип Ñигнали"
msgid "today"
msgstr "днеÑ"
-#: templates/web/base/js/translation_strings.html:73
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:76
msgid "update"
-msgstr "ÐктуализациÑ"
+msgstr ""
-#: templates/web/base/js/translation_strings.html:74
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:77
msgid "updates"
-msgstr "Ðктуализации"
+msgstr ""
#: templates/web/base/admin/report_edit.html:52
msgid "used map"
@@ -4824,11 +4937,11 @@ msgstr[0] "%d минута"
msgstr[1] "%d минути"
#: perllib/Utils.pm:246
-#, fuzzy, perl-format
+#, perl-format
msgid "%d month"
msgid_plural "%d months"
-msgstr[0] "%d минута"
-msgstr[1] "%d минути"
+msgstr[0] ""
+msgstr[1] ""
#: templates/web/base/report/_support.html:6
#, perl-format
@@ -4851,6 +4964,41 @@ msgid_plural "%d years"
msgstr[0] ""
msgstr[1] ""
+#: templates/web/base/reports/index.html:92
+#, perl-format
+msgid "%s day"
+msgid_plural "%s days"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:55
+#, perl-format
+msgid "%s problem marked as fixed"
+msgid_plural "%s problems marked as fixed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:43
+#, perl-format
+msgid "%s problem reported"
+msgid_plural "%s problems reported"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:107
+#, perl-format
+msgid "%s report"
+msgid_plural "%s reports"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:49
+#, perl-format
+msgid "%s update on problems"
+msgid_plural "%s updates on problems"
+msgstr[0] ""
+msgstr[1] ""
+
#: templates/web/base/front/stats.html:19
#, perl-format
msgid "<big>%s</big> fixed in past month"
@@ -4879,12 +5027,12 @@ msgid_plural "<big>%s</big> updates on reports"
msgstr[0] "<big>%s</big>актуализиран Ñигнал"
msgstr[1] "<big>%s</big>актуализирани Ñигнала"
-#: templates/web/base/report/_item.html:49
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:51
+#, perl-format
msgid "Reported %d day ago"
msgid_plural "Reported %d days ago"
-msgstr[0] "Сигналът е подаден в ÐºÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ %s "
-msgstr[1] "Сигналът е подаден в ÐºÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ %s "
+msgstr[0] ""
+msgstr[1] ""
#: templates/web/base/report/new/top_message_some.html:3
#, perl-format
@@ -4900,32 +5048,88 @@ msgid_plural "We do not yet have details for the councils that cover this locati
msgstr[0] "Ð’Ñе още нÑмаме Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° общината, коÑто ÑтопаниÑва тази териториÑ."
msgstr[1] "Ð’Ñе още нÑмаме Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° общините, които ÑтопаниÑват тази териториÑ."
-#: templates/web/base/report/_item.html:59
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:61
+#, perl-format
msgid "last updated %d day ago"
msgid_plural "last updated %d days ago"
-msgstr[0] "ПоÑледно обновено %s"
-msgstr[1] "ПоÑледно обновено %s"
+msgstr[0] ""
+msgstr[1] ""
#: templates/email/oxfordshire/archive.txt:9
-#, fuzzy, perl-format
+#, perl-format
msgid "report"
msgid_plural "reports"
-msgstr[0] "Сигнали"
-msgstr[1] "Сигнали"
+msgstr[0] ""
+msgstr[1] ""
-#, fuzzy
-#~ msgid "All inspectors"
-#~ msgstr "Вички Ñигнали"
+#~ msgid "%s ward, %s"
+#~ msgstr "%s квартал, %s"
-#, fuzzy
-#~ msgid "Report category:"
-#~ msgstr "Създай категориÑ"
+#~ msgid "%s, within %s ward"
+#~ msgstr "%s, в %s квартал"
-#, fuzzy
-#~ msgid "Reported %d days ago"
-#~ msgstr "Сигналът е подаден в ÐºÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ %s "
+#~ msgid "-- Pick a property type --"
+#~ msgstr "-- Изберете подходÑщ тип --"
-#, fuzzy
-#~ msgid "last updated %d days ago"
-#~ msgstr "ПоÑледно обновено %s"
+#~ msgid "Closed:"
+#~ msgstr "Затворени:"
+
+#~ msgid "Duplicate"
+#~ msgstr "Вече ÑъщеÑтвува"
+
+#~ msgid "Fixed:"
+#~ msgstr "Поправени:"
+
+#~ msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
+#~ msgstr "Това Ñа типовете извеÑÑ‚Ð¸Ñ Ð·Ð° нови Ñигнали за &lsquo;%s&rsquo;."
+
+#~ msgid "In Progress"
+#~ msgstr "Ð’ Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð½Ð° обработка"
+
+#~ msgid "Internal referral"
+#~ msgstr "Вътрешен номер"
+
+#~ msgid "Investigating"
+#~ msgstr "Сигналът Ñе разглежда"
+
+#~ msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
+#~ msgstr "Или можете да Ñе абонирате за вÑички извеÑÑ‚Ð¸Ñ Ð½Ð° териториÑта на Ð¡Ð¾Ñ„Ð¸Ñ Ð¸Ð»Ð¸ Ñамо за района, в който Ñе намирате."
+
+#~ msgid "Problems within the boundary of:"
+#~ msgstr "Сигнали в границите на:"
+
+#~ msgid "The simplest alert is our geographic one:"
+#~ msgstr "Можете да получавате извеÑÑ‚Ð¸Ñ Ð½Ð° базата на предварително дефинирано разÑтоÑние"
+
+#~ msgid "closed as a duplicate report"
+#~ msgstr "маркиран като \"повторен\""
+
+#~ msgid "marked as action scheduled"
+#~ msgstr "маркиран като \"започнато е дейÑтвие\""
+
+#~ msgid "marked as an internal referral"
+#~ msgstr "маркиран като \"вътрешна референциÑ\""
+
+#~ msgid "marked as closed"
+#~ msgstr "маркиран като \"затворен\""
+
+#~ msgid "marked as fixed"
+#~ msgstr "маркиран като \"поправен\""
+
+#~ msgid "marked as in progress"
+#~ msgstr "маркиран като \"в Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð½Ð° обработка\""
+
+#~ msgid "marked as investigating"
+#~ msgstr "маркиран като \"проучва Ñе\""
+
+#~ msgid "marked as no further action"
+#~ msgstr "марикарн като \"непоправим\""
+
+#~ msgid "marked as planned"
+#~ msgstr "маркиран като \"планиран\""
+
+#~ msgid "or"
+#~ msgstr "или"
+
+#~ msgid "reopened"
+#~ msgstr "отново отворен"
diff --git a/locale/ca_ES.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/ca_ES.UTF-8/LC_MESSAGES/FixMyStreet.po
new file mode 100644
index 000000000..2ab7b05f2
--- /dev/null
+++ b/locale/ca_ES.UTF-8/LC_MESSAGES/FixMyStreet.po
@@ -0,0 +1,5060 @@
+# FixMyStreet original .po file, autogenerated by gettext-extract.
+# Copyright (C) 2011 UK Citizens Online Democracy
+# This file is distributed under the same license as the main FixMyStreet code.
+# Matthew Somerville <matthew@mysociety.org>, 2011-06-03.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: 1.0\n"
+"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
+"POT-Creation-Date: 2017-09-13 15:40+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Josep Lluís - LliureTIC <joseplluis@lliuretic.cat>, 2017\n"
+"Language-Team: Catalan (Spain) (https://www.transifex.com/mysociety/teams/12067/ca_ES/)\n"
+"Language: ca_ES\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:632
+#: perllib/FixMyStreet/Script/Reports.pm:197
+msgid " and "
+msgstr "i"
+
+#: templates/web/base/report/new/category_extras.html:13
+#: templates/web/base/report/new/councils_text_all.html:4
+#: templates/web/base/report/new/top_message_none.html:12
+#: templates/web/base/report/new/top_message_none.html:15
+#: templates/web/base/report/new/top_message_some.html:12
+#: templates/web/base/report/new/top_message_some.html:9
+msgid " or "
+msgstr "o"
+
+#: templates/web/base/admin/edit-league.html:12
+msgid "%d edits by %s"
+msgstr "%d modificacions per %s"
+
+#: templates/web/base/pagination.html:7
+msgid "%d to %d of %d"
+msgstr "%d a %d de %d"
+
+#: templates/web/base/reports/body.html:0
+#: templates/web/base/reports/body.html:24
+msgid "%s - Summary reports"
+msgstr "%s - Resum d'informes"
+
+#. ("%s here is the site name")
+#: templates/web/base/admin/navigation.html:3
+msgid "%s admin:"
+msgstr "%s admin:"
+
+#: templates/web/base/status/stats.html:26
+msgid "%s bodies"
+msgstr "%s cossos"
+
+#: templates/web/base/status/stats.html:24
+msgid "%s confirmed alerts, %s unconfirmed"
+msgstr "%s alertes confirmades, %s no confirmades"
+
+#: templates/web/base/status/stats.html:27
+#: templates/web/zurich/admin/index.html:6
+msgid "%s council contacts &ndash; %s confirmed, %s unconfirmed"
+msgstr ""
+
+#. ("%s is the site name")
+#: templates/web/base/alert/index.html:7
+msgid ""
+"%s has a variety of RSS feeds and email alerts for local\n"
+"problems, including alerts for all problems within a particular ward, or all\n"
+"problems within a certain distance of a particular location."
+msgstr ""
+
+#. ("%s is the site name")
+#: templates/web/base/alert/index.html:11
+msgid ""
+"%s has a variety of RSS feeds and email alerts for local problems, including\n"
+"alerts for all problems within a particular ward or council, or all problems\n"
+"within a certain distance of a particular location."
+msgstr ""
+
+#: templates/web/base/status/stats.html:23
+msgid "%s live updates"
+msgstr ""
+
+#: templates/web/base/status/stats.html:25
+msgid "%s questionnaires sent &ndash; %s answered (%s%%)"
+msgstr ""
+
+#: templates/web/base/report/_council_sent_info.html:8
+msgid "%s ref:&nbsp;%s"
+msgstr "%s ref:&nbsp;%s"
+
+#: perllib/FixMyStreet/Map/OSM.pm:38
+msgid "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"
+msgstr ""
+
+#: templates/web/zurich/report/new/fill_in_details_form.html:21
+msgid "(Defect &amp; location of defect)"
+msgstr ""
+
+#: templates/web/base/admin/report_blocks.html:18
+#: templates/web/base/admin/users.html:32
+msgid "(Email in abuse table)"
+msgstr "(Email en taula d'abús)"
+
+#: templates/web/zurich/admin/report_edit-sdm.html:62
+#: templates/web/zurich/admin/report_edit.html:90
+msgid "(No name)"
+msgstr "(sense nom)"
+
+#: templates/web/zurich/admin/report_edit-sdm.html:69
+#: templates/web/zurich/admin/report_edit.html:97
+msgid "(No phone number)"
+msgstr "(sense número de telèfon)"
+
+#: templates/web/base/admin/states/index.html:95
+msgid "(a-z and space only)"
+msgstr ""
+
+#: templates/web/zurich/report/_item.html:19
+msgid "(closed)"
+msgstr "(tancat)"
+
+#: templates/web/base/alert/_list.html:30
+msgid "(covers roughly 200,000 people)"
+msgstr ""
+
+#: templates/web/zurich/report/_item.html:17
+msgid "(fixed)"
+msgstr "(corregit)"
+
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "(ignored if type is \"String\")"
+msgstr ""
+
+#: templates/web/base/around/intro.html:2
+msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
+msgstr ""
+
+#: templates/web/base/reports/index.html:69
+msgid "(no longer exists)"
+msgstr ""
+
+#: templates/web/base/report/_item.html:70
+msgid "(not sent to council)"
+msgstr ""
+
+#: templates/web/zurich/report/new/fill_in_details_form.html:59
+msgid "(optional)"
+msgstr "(opcional)"
+
+#: templates/web/base/report/_item.html:69
+msgid "(sent to both)"
+msgstr "(enviat als dos)"
+
+#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
+#: templates/web/base/alert/_list.html:36
+msgid "(we also have RSS feeds for problems within %s)"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:245
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:381
+msgid "-- Pick a category --"
+msgstr "-- Tria una categoria --"
+
+#: templates/web/base/admin/response_templates_select.html:3
+msgid "--Choose a template--"
+msgstr "--Escull una plantilla--"
+
+#: templates/web/base/report/new/form_report.html:23
+msgid "10 inch pothole on Example St, near post box"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:153
+msgid "14-30 days old"
+msgstr "Fa 14-30 dies"
+
+#: templates/web/base/dashboard/index.html:152
+msgid "7-14 days old"
+msgstr "Fa 7-14 dies"
+
+#: templates/web/base/admin/body-form.html:50
+#: templates/web/base/admin/body-form.html:51
+msgid ""
+"<code>MAPIT_URL</code> is set (<code>%s</code>) but no <code>MAPIT_TYPES</code>.<br>\n"
+" This is probably why \"area covered\" is empty (below).<br>\n"
+" Maybe add some <code>MAPIT_TYPES</code> to your config file?"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:15
+msgid "<h2>Reports, Statistics and Actions for</h2> <h1>%s</h1>"
+msgstr ""
+
+#. ("The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories")
+#: templates/web/base/reports/_list-filters.html:48
+msgid "<label for=\"statuses\">Show</label> %s reports <label for=\"filter_categories\">about</label> %s"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:74
+msgid "<span>%s</span> saved."
+msgstr "<span>%s</span> desat."
+
+#: templates/web/base/status/stats.html:18
+#: templates/web/zurich/admin/index.html:4
+msgid "<strong>%s</strong> live problems"
+msgstr "<strong>%s</strong> problemes actuals"
+
+#: templates/web/base/report/new/form_user_loggedout_by_email.html:2
+msgid "<strong>No</strong> Let me confirm my report by email"
+msgstr ""
+
+#: templates/web/base/report/update/form_user_loggedout_by_email.html:2
+msgid "<strong>No</strong> Let me confirm my update by email"
+msgstr ""
+
+#: templates/web/base/auth/general.html:106
+#: templates/web/zurich/auth/general.html:51
+msgid "<strong>No</strong> let me sign in by email"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:170
+msgid "<strong>Note:</strong> This report has been sent onwards for action. Any changes made won't be passed on."
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:172
+msgid "<strong>Note:</strong> This report hasn't yet been sent onwards for action. Any changes made may not be passed on."
+msgstr ""
+
+#: templates/web/base/auth/general.html:82
+#: templates/web/base/report/new/form_user_loggedout_password.html:3
+#: templates/web/base/report/update/form_user_loggedout_password.html:2
+msgid "<strong>Yes</strong> I have a password"
+msgstr "<strong>Sí </strong> Tinc contrasenya"
+
+#: templates/web/base/admin/body-form.html:3
+#: templates/web/base/admin/body-form.html:4
+msgid ""
+"Add a <strong>body</strong> for each administrative body, such as a council or department\n"
+" to which problem reports can be sent. You can add one or more contacts (for different\n"
+" categories of problem) to each body."
+msgstr ""
+
+#: templates/web/base/admin/body.html:60
+msgid "Add a contact using the form below."
+msgstr "Afegeix un contacte utilitzant el formulari següent."
+
+#: templates/web/base/admin/bodies.html:78
+#: templates/web/base/admin/body-form.html:140
+#: templates/web/zurich/admin/body-form.html:52
+msgid "Add body"
+msgstr "Afegeix el cos"
+
+#: templates/web/base/admin/reportextrafields/index.html:24
+msgid "Add extra fields"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:79
+msgid "Add field"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:85
+msgid "Add fixed state"
+msgstr ""
+
+#: templates/web/base/admin/body.html:126
+#: templates/web/zurich/admin/body.html:31
+msgid "Add new category"
+msgstr "Afegeix una nova categoria"
+
+#: templates/web/base/admin/extra-metadata-form.html:72
+#, fuzzy
+msgid "Add option"
+msgstr "opcional"
+
+#: templates/web/base/report/_item.html:10
+#: templates/web/base/report/_item.html:16
+#: templates/web/base/report/_main.html:140
+#: templates/web/base/report/_main.html:19
+#: templates/web/base/report/_main.html:30
+msgid "Add to shortlist"
+msgstr ""
+
+#: templates/web/base/admin/user_edit.html:4
+#: templates/web/base/admin/users.html:48
+#: templates/web/base/admin/users.html:51
+msgid "Add user"
+msgstr "Afegeix un usuari"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:735
+msgid "Add/edit problem categories"
+msgstr "Afegeix/edita categories de problemes"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:737
+msgid "Add/edit response priorities"
+msgstr "Afegeix/edita prioritats de resposta"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:736
+msgid "Add/edit response templates"
+msgstr "Afegeix/edita plantilles de resposta"
+
+#: templates/web/base/my/my.html:67
+msgid "Added %s"
+msgstr "Afegit %s"
+
+#: templates/web/base/report/_main.html:149
+msgid "Adding this report to your shortlist will remove it from %s’s shortlist."
+msgstr ""
+
+#: templates/web/base/main_nav_items.html:47
+msgid "Admin"
+msgstr "Admin"
+
+#: templates/web/base/auth/change_password.html:39
+msgid "Again:"
+msgstr ""
+
+#: templates/web/base/admin/timeline.html:35
+msgid "Alert %d created for %s, type %s, parameters %s / %s"
+msgstr ""
+
+#: templates/web/base/admin/timeline.html:37
+msgid "Alert %d disabled (created %s)"
+msgstr ""
+
+#: templates/web/base/report/update/form_name.html:42
+msgid "Alert me to future updates"
+msgstr "Avisa'm de futures actualitzacions"
+
+#: templates/web/base/dashboard/index.html:138
+#: templates/web/base/dashboard/index.html:21
+#: templates/web/base/dashboard/index.html:30
+#: templates/web/base/reports/_list-filters.html:3
+msgid "All"
+msgstr "Tot"
+
+#: templates/web/zurich/reports/index.html:13
+msgid "All Reports"
+msgstr "Tots els informes"
+
+#: templates/web/zurich/admin/stats.html:5
+msgid "All Reports as CSV"
+msgstr "Tots els informes en CSV"
+
+#: templates/web/base/admin/category-multiselect.html:5
+#: templates/web/base/admin/responsepriorities/list.html:20
+msgid "All categories"
+msgstr "Totes les categories"
+
+#: templates/web/base/admin/reportextrafields/edit.html:26
+#, fuzzy
+msgid "All cobrands"
+msgstr "Totes les categories"
+
+#: templates/web/base/admin/reportextrafields/edit.html:47
+msgid "All languages"
+msgstr ""
+
+#: templates/web/base/main_nav_items.html:0
+#: templates/web/base/main_nav_items.html:27
+#: templates/web/zurich/admin/index-dm.html:12
+#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:20
+#: templates/web/zurich/nav_over_content.html:6
+msgid "All reports"
+msgstr "Tots els informes"
+
+#: templates/web/base/admin/stats.html:5
+#: templates/web/zurich/admin/stats.html:8
+msgid "All reports between %s and %s"
+msgstr "Tots els informes entre %s i %s"
+
+#: templates/web/base/reports/index.html:23
+msgid "All time"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:20
+msgid "Alternatively, we can hide your name on <strong>all of your reports and updates</strong> across the site:"
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:47
+msgid "An update marked this problem as fixed."
+msgstr "Una actualització ha marcat aquest problema com a solucionat."
+
+#: templates/web/base/admin/list_updates.html:32
+#: templates/web/base/admin/problem_row.html:20
+msgid "Anonymous"
+msgstr "Anònim"
+
+#: templates/web/base/report/new/form_user_loggedin.html:21
+#: templates/web/base/report/update/form_name.html:17
+#, fuzzy
+msgid "Anonymous user"
+msgstr "Anònim"
+
+#: templates/web/base/admin/report_edit.html:122
+#: templates/web/base/admin/update_edit.html:23
+msgid "Anonymous:"
+msgstr "Anònim"
+
+#: templates/web/base/report/new/form_user_loggedin.html:24
+#: templates/web/base/report/update/form_name.html:14
+msgid "Another user"
+msgstr "Un altre usuari"
+
+#: templates/web/base/js/translation_strings.html:59
+msgid "Are you sure you want to cancel this upload?"
+msgstr "Estàs segur de voler cancel·lar aquesta càrrega?"
+
+#: templates/web/base/admin/report_edit.html:84
+#: templates/web/base/js/translation_strings.html:69
+#: templates/web/base/report/display_tools.html:6
+msgid "Are you sure?"
+msgstr "Estàs segur?"
+
+#: templates/web/base/admin/body-form.html:77
+#: templates/web/base/admin/body.html:20
+#: templates/web/zurich/admin/body-form.html:24
+msgid "Area covered"
+msgstr "Àrea coberta"
+
+#: templates/web/base/admin/user-form.html:64
+msgid "Area:"
+msgstr "Àrea:"
+
+#: templates/web/base/admin/bodies.html:19
+#: templates/web/base/admin/body.html:64
+msgid "As this is a staging site and %s is false, reports made on this site will be sent to the problem reporter, not the contact given for the report’s category."
+msgstr ""
+
+#: templates/web/zurich/admin/report_edit.html:209
+msgid "Assign to competent body:"
+msgstr "Assigna a un cos competent:"
+
+#: templates/web/zurich/admin/report_edit.html:169
+#: templates/web/zurich/admin/stats.html:36
+msgid "Assign to different category:"
+msgstr "Assigna a una categoria diferent:"
+
+#: templates/web/zurich/admin/report_edit.html:207
+msgid "Assign to external body:"
+msgstr "Assigna a un cos extern:"
+
+#: templates/web/zurich/admin/report_edit.html:186
+msgid "Assign to subdivision:"
+msgstr "Assigna a subdivisió:"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:732
+msgid "Assign users to areas"
+msgstr "Assigna usuaris a àreas"
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:219
+msgid "Assigned to %s"
+msgstr "Assignat a %s"
+
+#: templates/web/base/open311/index.html:76
+msgid "At most %d requests are returned in each query. The returned requests are ordered by requested_datetime, so to get all requests, do several searches with rolling start_date and end_date."
+msgstr ""
+
+#: templates/web/base/open311/index.html:68
+msgid "At the moment only searching for and looking at reports work."
+msgstr ""
+
+#: templates/web/base/admin/user-form.html:78
+#: templates/web/base/admin/user-form.html:79
+msgid "Authorised staff users can be associated with the categories in which they operate."
+msgstr ""
+
+#: templates/web/base/admin/template_edit.html:22
+msgid "Auto-response:"
+msgstr "Resposta automática:"
+
+#: templates/web/base/admin/report-category.html:8
+msgid "Available categories"
+msgstr "Categories disponibles"
+
+#: templates/web/base/reports/index.html:84
+msgid "Average time between a problem being reported and being fixed, last 100 reports."
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:109
+msgid "Average time to council marking fixed (days)"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:117
+msgid "Average time to first council state change (days)"
+msgstr ""
+
+#: templates/web/base/report/new/after_photo.html:6
+msgid "Avoid personal information and vehicle number plates"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:344
+#: templates/web/zurich/report/_item.html:9
+msgid "Awaiting moderation"
+msgstr "Esperant moderació"
+
+#: templates/web/base/js/translation_strings.html:31
+msgid "Back"
+msgstr "Torna"
+
+#: templates/web/base/report/_main.html:6
+msgid "Back to all reports"
+msgstr "Torna a tots els informes"
+
+#: templates/web/base/admin/report_blocks.html:18
+msgid "Ban email address"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:650
+#: perllib/FixMyStreet/Cobrand/Default.pm:734
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:396
+#: templates/web/base/admin/bodies.html:1
+#: templates/web/base/admin/report_edit.html:55
+#: templates/web/zurich/header.html:56
+msgid "Bodies"
+msgstr "Cossos"
+
+#: templates/web/base/admin/flagged.html:17
+#: templates/web/base/admin/index.html:63
+#: templates/web/base/admin/reports.html:15
+#: templates/web/base/admin/users.html:18
+msgid "Body"
+msgstr "Cos"
+
+#: templates/web/base/admin/user-form.html:36
+msgid "Body:"
+msgstr "Cos:"
+
+#: templates/web/base/admin/stats.html:87
+msgid "By Date"
+msgstr "Per data"
+
+#: templates/web/base/admin/extra-metadata-form.html:36
+msgid "Can be used to display extra text to the user alongside the field. The default template does not show this (<code>meta.datatype_description</code>), you must add it in <code>category_extras_fields.html</code>"
+msgstr ""
+
+#: templates/web/base/auth/token.html:27 templates/web/base/email_sent.html:20
+msgid "Can&rsquo;t find our email? Check your spam folder&nbsp;&ndash; that&rsquo;s the solution 99% of the time."
+msgstr ""
+
+#: templates/web/base/around/_report_banner.html:5
+msgid "Can't see the map? <em>Skip this step</em>"
+msgstr "No pots veure el mapa? <em>Salta aquest pas</em>"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:650
+#: templates/web/base/admin/responsepriorities/list.html:8
+msgid "Categories"
+msgstr "Categories"
+
+#: templates/web/base/admin/category-checkboxes.html:2
+#: templates/web/base/admin/category-multiselect.html:2
+msgid "Categories:"
+msgstr "Categories:"
+
+#: templates/web/base/admin/body.html:72
+#: templates/web/base/admin/contact-form.html:19
+#: templates/web/base/admin/stats_fix_rate.html:4
+#: templates/web/base/report/_inspect.html:48
+#: templates/web/base/report/_item.html:92
+#: templates/web/base/report/new/category.html:6
+#: templates/web/base/report/new/category_wrapper.html:3
+#: templates/web/zurich/admin/body.html:14
+#: templates/web/zurich/admin/index-dm.html:23
+#: templates/web/zurich/admin/index-sdm.html:21
+#: templates/web/zurich/admin/reports.html:13
+#: templates/web/zurich/admin/stats.html:50
+msgid "Category"
+msgstr "Categoria"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:956
+msgid "Category changed from ‘%s’ to ‘%s’"
+msgstr "Categoria canviada de ‘%s’ a ‘%s’"
+
+#: templates/web/base/admin/stats.html:58
+#: templates/web/base/admin/stats_fix_rate.html:1
+msgid "Category fix rate for problems > 4 weeks old"
+msgstr ""
+
+#: templates/web/base/admin/report_edit.html:119
+#: templates/web/base/dashboard/index.html:29
+#: templates/web/zurich/admin/body.html:43
+#: templates/web/zurich/admin/contact-form.html:2
+#: templates/web/zurich/admin/report_edit-sdm.html:72
+#: templates/web/zurich/admin/report_edit.html:100
+msgid "Category:"
+msgstr "Categoria:"
+
+#: perllib/FixMyStreet/Script/Reports.pm:188
+msgid "Category: %s"
+msgstr "Categoria: %s"
+
+#: templates/web/base/my/my.html:24
+msgid "Change email"
+msgstr "Canvia el correu electrònic"
+
+#: templates/web/base/auth/change_email.html:1
+#: templates/web/base/auth/change_email.html:3
+#: templates/web/base/auth/change_email.html:30
+msgid "Change email address"
+msgstr "Canvia l'adreça de correu electrònic"
+
+#: templates/web/base/auth/change_password.html:1
+#: templates/web/base/auth/change_password.html:16
+#: templates/web/base/auth/change_password.html:4
+#: templates/web/base/auth/change_password.html:43
+#: templates/web/base/my/my.html:23
+msgid "Change password"
+msgstr "Canvia la contrasenya"
+
+#: templates/web/base/admin/contact-form.html:80
+msgid "Check <strong>inspection required</strong> if reports in this category <strong>must be inspected</strong> before being sent."
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:64
+msgid ""
+"Check <strong>private</strong> if reports in this category should <strong>never be displayed on the website</strong>.\n"
+" <br>\n"
+" Normally, categories are not private.\n"
+" <br>\n"
+" This is suitable for issues that you want to allow users to report to the body, but for which there is no public\n"
+" interest in displaying the report. In the UK, we've used this for services like requesting an extra rubbish bin\n"
+" at a specific address."
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:11
+msgid ""
+"Choose a <strong>category</strong> name that makes sense to the public (e.g., \"Pothole\", \"Street lighting\") but is helpful\n"
+" to the body too. These will appear in the drop-down menu on the report-a-problem page."
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:103
+msgid "Choose another"
+msgstr "Escull un altre"
+
+#: templates/web/base/js/translation_strings.html:68
+msgid "Clear offline data"
+msgstr "Neteja les dades fora de línia"
+
+#: templates/web/base/admin/stats.html:72
+#: templates/web/base/admin/stats.html:78
+msgid "Click here or enter as dd/mm/yyyy"
+msgstr "Fes clic aqui o entra-ho com dd/mm/yyyy"
+
+#: templates/web/base/around/_report_banner.html:2
+msgid "Click map to report a problem"
+msgstr "Fes clic al mapa per registrar un problema"
+
+#: templates/web/base/email_sent.html:13
+msgid "Click the link in our confirmation email to activate your alert."
+msgstr "Fes clic a l'enllaç del nostre correu electrònic de confirmació per activar la teva alerta."
+
+#: templates/web/base/email_sent.html:9
+msgid "Click the link in our confirmation email to publish your problem."
+msgstr "Fes clic a l'enllaç del nostre correu electrònic de confirmació per publicar el teu problema."
+
+#: templates/web/base/email_sent.html:11
+msgid "Click the link in our confirmation email to publish your update."
+msgstr "Fes clic a l'enllaç del nostre correu electrònic de confirmació per publicar la teva actualització."
+
+#: templates/web/base/auth/token.html:23
+msgid "Click the link in our confirmation email to sign in."
+msgstr "Fes clic a l'enllaç del nostre correu electrònic de confirmació per entrar amb el teu usuari."
+
+#: templates/web/base/auth/token.html:20
+#, fuzzy
+msgid "Click the link in that email to sign in."
+msgstr "Fes clic a l'enllaç del nostre correu electrònic de confirmació per entrar amb el teu usuari."
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:134
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:194
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:965
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:11
+#: templates/web/base/admin/states/index.html:103
+#: templates/web/base/admin/states/index.html:27
+#: templates/web/base/admin/states/index.html:33
+#: templates/web/zurich/admin/header.html:1
+#: templates/web/zurich/admin/header.html:10
+#: templates/web/zurich/admin/header.html:16
+#: templates/web/zurich/admin/stats.html:31
+msgid "Closed"
+msgstr "Tancat"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:826
+msgid "Closed by council"
+msgstr ""
+
+#: templates/web/base/admin/report_edit.html:37
+msgid "Co-ordinates:"
+msgstr ""
+
+#: templates/web/base/admin/list_updates.html:10
+#: templates/web/base/admin/reportextrafields/edit.html:24
+#: templates/web/base/admin/reportextrafields/index.html:7
+msgid "Cobrand"
+msgstr ""
+
+#: templates/web/base/admin/report_edit.html:92
+#: templates/web/base/admin/update_edit.html:52
+msgid "Cobrand data:"
+msgstr ""
+
+#: templates/web/base/admin/report_edit.html:91
+#: templates/web/base/admin/update_edit.html:51
+msgid "Cobrand:"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:14
+msgid "Code"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:50
+msgid "Collapse map"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:646
+#: templates/web/base/admin/config_page.html:1
+msgid "Configuration"
+msgstr "Configuració"
+
+#: templates/web/base/admin/body.html:77
+msgid "Confirm"
+msgstr "Confirma"
+
+#: templates/web/base/auth/token.html:1
+msgid "Confirm account"
+msgstr "Confirma el compte"
+
+#: templates/web/base/report/new/form_user_loggedout_password.html:21
+#: templates/web/base/report/update/form_user_loggedout_password.html:20
+msgid "Confirm by email instead, providing a new password at that point. When you confirm, your password will be updated."
+msgstr ""
+
+#: templates/web/base/questionnaire/creator_fixed.html:1
+#: templates/web/base/tokens/confirm_problem.html:1
+#: templates/web/base/tokens/confirm_update.html:1
+#: templates/web/zurich/tokens/confirm_problem.html:1
+#: templates/web/zurich/tokens/confirm_problem.html:3
+msgid "Confirmation"
+msgstr "Confirmació"
+
+#: templates/web/base/admin/contact-form.html:56
+#: templates/web/zurich/admin/contact-form.html:12
+#: templates/web/zurich/admin/stats.html:40
+msgid "Confirmed"
+msgstr "Confirmat"
+
+#: templates/web/base/admin/stats.html:5
+msgid "Confirmed reports between %s and %s"
+msgstr ""
+
+#: templates/web/base/admin/list_updates.html:39
+#: templates/web/base/admin/problem_row.html:36
+#: templates/web/base/admin/report_edit.html:78
+msgid "Confirmed:"
+msgstr "Confirmat:"
+
+#. ("%s is the site name")
+#: templates/web/base/about/_sidebar.html:6
+msgid "Contact %s"
+msgstr "Contacta %s"
+
+#: templates/web/base/contact/index.html:1
+#: templates/web/base/contact/index.html:2
+#: templates/web/base/contact/submit.html:1
+msgid "Contact Us"
+msgstr "Contacta'ns"
+
+#: templates/web/base/contact/index.html:12
+msgid "Contact the team"
+msgstr "Contacta a l'equip"
+
+#: templates/web/zurich/admin/report_edit-sdm.html:42
+#: templates/web/zurich/admin/report_edit.html:61
+msgid "Coordinates:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1773
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1801
+msgid "Could not find user"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:36
+msgid "Could not look up location"
+msgstr ""
+
+#: templates/web/base/admin/list_updates.html:9
+msgid "Council"
+msgstr ""
+
+#: templates/web/base/admin/body.html:1
+#: templates/web/base/admin/category_edit.html:1
+#: templates/web/zurich/admin/body.html:1
+msgid "Council contacts for %s"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:78
+#: templates/web/base/dashboard/index.html:83
+msgid "Council has marked as closed"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:54
+#: templates/web/base/dashboard/index.html:57
+msgid "Council has marked as fixed"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:78
+#: templates/web/base/dashboard/index.html:80
+msgid "Council has marked as in progress"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:78
+#: templates/web/base/dashboard/index.html:82
+msgid "Council has marked as investigating"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:78
+#: templates/web/base/dashboard/index.html:81
+msgid "Council has marked as planned"
+msgstr ""
+
+#: templates/web/base/report/_council_sent_info.html:6
+msgid "Council ref:&nbsp;%s"
+msgstr ""
+
+#: templates/web/base/admin/stats.html:92
+msgid "Council:"
+msgstr ""
+
+#: templates/web/base/admin/stats.html:12
+#: templates/web/base/admin/stats.html:32
+#: templates/web/zurich/admin/stats.html:45
+#: templates/web/zurich/admin/stats.html:50
+msgid "Count"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:114
+#, fuzzy
+msgid "Create"
+msgstr "Creat"
+
+#: templates/web/base/email_sent.html:1
+msgid "Create a report"
+msgstr "Crea un informe"
+
+#: templates/web/base/admin/contact-form.html:138
+#: templates/web/zurich/admin/body.html:62
+msgid "Create category"
+msgstr "Crea una categoria"
+
+#: templates/web/base/admin/responsepriorities/edit.html:58
+msgid "Create priority"
+msgstr "Crea una prioritat"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:718
+msgid "Create reports/updates as anonymous user"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:719
+msgid "Create reports/updates as the council"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:717
+msgid "Create reports/updates on a user's behalf"
+msgstr ""
+
+#: templates/web/base/admin/template_edit.html:46
+#: templates/web/zurich/admin/template_edit.html:29
+msgid "Create template"
+msgstr "Crea una plantilla"
+
+#: templates/web/base/admin/problem_row.html:34
+#: templates/web/base/admin/templates.html:12
+msgid "Created"
+msgstr "Creat"
+
+#: templates/web/base/admin/list_updates.html:38
+#: templates/web/base/admin/report_edit.html:77
+#: templates/web/base/admin/update_edit.html:53
+#: templates/web/zurich/admin/update_edit.html:29
+msgid "Created:"
+msgstr "Creat:"
+
+#: templates/web/base/admin/stats.html:31
+msgid "Current state"
+msgstr "Estat actual"
+
+#: templates/web/base/admin/bodies.html:9
+#: templates/web/base/admin/index.html:17
+msgid "Currently no bodies have been created."
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:830
+#: templates/web/zurich/admin/report_edit-sdm.html:105
+msgid "Customer not contactable"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:5
+#: templates/web/base/dashboard/index.html:7
+#: templates/web/base/reports/index.html:15
+#: templates/web/base/reports/index.html:18
+msgid "Dashboard"
+msgstr ""
+
+#: templates/web/zurich/admin/stats.html:35
+msgid "Dealt with by subdivision within 5 working days"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/list.html:9
+msgid "Default"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:39
+#, fuzzy
+msgid "Default priority"
+msgstr "Crea una prioritat"
+
+#: templates/web/base/report/_inspect.html:72
+msgid "Defect type"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1078
+#: templates/web/base/admin/template_edit.html:50
+#: templates/web/zurich/admin/template_edit.html:33
+msgid "Delete template"
+msgstr "Elimina plantilla"
+
+#: templates/web/base/admin/bodies.html:31
+#: templates/web/base/admin/contact-form.html:58
+#: templates/web/zurich/admin/contact-form.html:13
+msgid "Deleted"
+msgstr "Eliminat"
+
+#: templates/web/base/report/_main.html:114
+#: templates/web/base/report/update.html:68
+msgid "Describe why you are moderating this"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:32
+#: templates/web/base/admin/responsepriorities/list.html:7
+#: templates/web/zurich/admin/index-dm.html:22
+#: templates/web/zurich/admin/index-sdm.html:20
+#: templates/web/zurich/admin/reports.html:12
+msgid "Description"
+msgstr "Descripció"
+
+#: templates/web/base/admin/responsepriorities/edit.html:17
+msgid "Description:"
+msgstr "Descripció:"
+
+#: templates/web/base/js/translation_strings.html:33
+#: templates/web/zurich/report/new/fill_in_details_form.html:45
+msgid "Details"
+msgstr "Detalls"
+
+#: templates/web/base/admin/report_edit.html:112
+#: templates/web/zurich/admin/report_edit-sdm.html:29
+#: templates/web/zurich/admin/report_edit.html:31
+#: templates/web/zurich/admin/report_edit.html:45
+msgid "Details:"
+msgstr "Detalls:"
+
+#: templates/web/base/admin/body.html:92
+msgid "Devolved"
+msgstr ""
+
+#: templates/web/zurich/admin/report_edit-sdm.html:52
+#: templates/web/zurich/admin/report_edit.html:71
+msgid "Didn't use map"
+msgstr ""
+
+#: templates/web/base/admin/edit-league.html:8
+msgid "Diligency prize league table"
+msgstr ""
+
+#: templates/web/base/report/_main.html:118
+#: templates/web/base/report/update.html:70
+msgid "Discard changes"
+msgstr ""
+
+#: templates/web/base/admin/open311-form-fields.html:95
+msgid "Do not send email alerts on fetched comments to problem creator"
+msgstr ""
+
+#. ("%s is the site name")
+#: templates/web/base/auth/general.html:60
+#: templates/web/base/report/new/form_user_loggedout.html:25
+#: templates/web/base/report/new/oauth_email_form.html:18
+#: templates/web/base/report/update-form.html:30
+#: templates/web/base/report/update/form_user_loggedout.html:27
+msgid "Do you have a %s password?"
+msgstr "Tens contrasenya de %s?"
+
+#: templates/web/base/report/_inspect.html:87
+msgid "Do you want to automatically raise a defect?"
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:57
+msgid "Don&rsquo;t know"
+msgstr ""
+
+#: templates/web/base/contact/index.html:112
+msgid "Don't like forms?"
+msgstr "No t'agraden els formularis?"
+
+#: templates/web/base/report/_item.html:27
+msgid "Down one"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:58
+msgid "Drag and drop photos here or <u>click to upload</u>"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:98
+msgid "Duplicate of"
+msgstr "Duplicat de"
+
+#: templates/web/base/report/_inspect.html:108
+msgid "Duplicates"
+msgstr "Duplicats"
+
+#: templates/web/base/admin/body.html:116
+msgid ""
+"Each contact for the body has a category, which is displayed to the public. \n"
+" Different categories <strong>can have the same contact</strong> (email address).\n"
+" This means you can add many categories even if you only have one contact for the body.\n"
+" "
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:26
+#: templates/web/base/report/_item.html:83
+msgid "Easting/Northing:"
+msgstr ""
+
+#: templates/web/base/admin/list_updates.html:42
+#: templates/web/base/admin/problem_row.html:41
+#: templates/web/base/admin/responsepriorities/list.html:28
+#: templates/web/base/admin/templates.html:22
+#: templates/web/base/admin/users.html:34
+#: templates/web/zurich/admin/problem_row.html:48
+msgid "Edit"
+msgstr "Edita"
+
+#: templates/web/base/admin/body.html:141
+#: templates/web/base/admin/index.html:39
+#: templates/web/zurich/admin/body.html:69
+msgid "Edit body details"
+msgstr "Edita els detalls del cos"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:729
+msgid "Edit other users' details"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:730
+msgid "Edit other users' permissions"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:712
+msgid "Edit report category"
+msgstr "Edita la categoria d'informes"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:713
+msgid "Edit report priority"
+msgstr "Edita la prioritat d'informes"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:711
+msgid "Edit reports"
+msgstr "Edita els informes"
+
+#: templates/web/base/admin/report_edit.html:0
+#: templates/web/base/admin/report_edit.html:14
+#: templates/web/base/admin/report_edit.html:4
+#: templates/web/zurich/admin/report_edit-sdm.html:1
+#: templates/web/zurich/admin/report_edit-sdm.html:5
+#: templates/web/zurich/admin/report_edit.html:1
+#: templates/web/zurich/admin/report_edit.html:5
+msgid "Editing problem %d"
+msgstr "Editant el problema %d"
+
+#: templates/web/base/admin/update_edit.html:1
+#: templates/web/zurich/admin/update_edit.html:1
+msgid "Editing update %d"
+msgstr "Editant l'actualització %d"
+
+#: templates/web/base/admin/user_edit.html:2
+msgid "Editing user %d"
+msgstr "Editant l'usuari %d"
+
+#: templates/web/base/admin/category_edit.html:30
+msgid "Editor"
+msgstr "Editor"
+
+#: templates/web/base/admin/bodies.html:27
+#: templates/web/base/admin/category_edit.html:28
+#: templates/web/base/admin/flagged.html:38
+#: templates/web/base/admin/users.html:17
+#: templates/web/base/auth/general.html:51
+#: templates/web/zurich/admin/body-form.html:9
+#: templates/web/zurich/admin/body.html:15
+#: templates/web/zurich/auth/general.html:24
+#: templates/web/zurich/auth/general.html:54
+msgid "Email"
+msgstr "Correu electrònic"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1749
+msgid "Email added to abuse list"
+msgstr "Correu electrònic afegit a la llista d'abús"
+
+#: templates/web/base/admin/contact-form.html:38
+#: templates/web/base/alert/_list.html:74
+#: templates/web/base/report/new/form_user_loggedin.html:32
+#: templates/web/base/report/update/form_name.html:23
+msgid "Email address"
+msgstr "Adreça de correu electrònic"
+
+#: templates/web/base/tokens/confirm_alert.html:6
+msgid "Email alert created"
+msgstr "Alerta de correu electrònic creada"
+
+#: templates/web/base/tokens/confirm_alert.html:10
+msgid "Email alert deleted"
+msgstr "Alerta de correu electrònic eliminada"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1746
+msgid "Email already in abuse list"
+msgstr "El correu electrònic ja existeix a la llista d'abús"
+
+#: templates/web/base/admin/report_edit.html:129
+#: templates/web/base/admin/update_edit.html:35
+#: templates/web/base/admin/user-form.html:19
+#: templates/web/zurich/admin/body.html:48
+#: templates/web/zurich/admin/contact-form.html:6
+msgid "Email:"
+msgstr "Correu electrònic:"
+
+#: perllib/FixMyStreet/Script/Reports.pm:112
+msgid "Email: %s"
+msgstr "Correu electrònic: %s"
+
+#: templates/web/base/admin/open311-form-fields.html:55
+#: templates/web/base/admin/open311-form-fields.html:56
+msgid ""
+"Enable <strong>Open311 update-sending</strong> if the endpoint will send and receive\n"
+" updates to existing reports. If you're not sure, it probably does not, so leave this unchecked.\n"
+" For more information, see \n"
+" <a href='https://www.mysociety.org/2013/02/20/open311-extended/' class='admin-offsite-link'>this article</a>."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:122
+#: templates/web/base/admin/body-form.html:123
+msgid ""
+"Enable this <strong>can be devolved</strong> setting if one or more contacts have a \n"
+" different endpoint (and send method) from the body's. For example, if reports for some categories of\n"
+" problem must be emailed, while others can be sent over Open311."
+msgstr ""
+
+#: templates/web/base/admin/stats.html:77
+msgid "End Date:"
+msgstr ""
+
+#: templates/web/base/admin/open311-form-fields.html:21
+msgid "Endpoint"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:81
+msgid "Enter a Z&uuml;rich street name"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:16
+msgid "Enter a nearby UK postcode, or street name and area"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:20
+#: perllib/FixMyStreet/Cobrand/FixaMinGata.pm:21
+msgid "Enter a nearby postcode, or street name and area"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/DansMonQwat.pm:14
+#: templates/web/base/around/postcode_form.html:5
+#: templates/web/base/around/postcode_form.html:6
+msgid "Enter a nearby street name and area"
+msgstr ""
+
+#: templates/web/base/auth/general.html:118
+#: templates/web/base/report/new/form_user_loggedout_by_email.html:35
+#: templates/web/base/report/update/form_user_loggedout_by_email.html:13
+#: templates/web/zurich/auth/general.html:65
+msgid "Enter a password"
+msgstr "Entra una contrasenya"
+
+#: templates/web/base/index-steps.html:6
+msgid "Enter details of the problem"
+msgstr "Entra els detalls del problema"
+
+#: templates/web/base/errors/generic.html:1
+#: templates/web/base/errors/generic.html:8
+#: templates/web/base/tokens/abuse.html:1
+#: templates/web/base/tokens/abuse.html:3
+#: templates/web/base/tokens/error.html:1
+#: templates/web/base/tokens/error.html:5
+msgid "Error"
+msgstr "Error"
+
+#: templates/web/base/reports/_list-filters.html:31
+#: templates/web/base/reports/_list-filters.html:39
+msgid "Everything"
+msgstr "Tot"
+
+#: templates/web/base/admin/body.html:18
+#: templates/web/base/admin/category_edit.html:18
+msgid "Example postcode %s"
+msgstr ""
+
+#: templates/web/base/open311/index.html:86
+msgid "Examples:"
+msgstr "Exemples:"
+
+#: templates/web/base/admin/report-category.html:3
+msgid "Existing category"
+msgstr "Categoria existent"
+
+#: templates/web/base/js/translation_strings.html:49
+msgid "Expand map"
+msgstr ""
+
+#: templates/web/base/report/new/form_report.html:54
+msgid "Explain what’s wrong"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:147
+msgid "Export as CSV"
+msgstr "Exporta com a CSV"
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:179
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
+#: templates/web/zurich/admin/header.html:1
+#: templates/web/zurich/admin/header.html:12
+msgid "Extern"
+msgstr "Extern"
+
+#: templates/web/base/admin/report_edit.html:97
+#: templates/web/base/admin/responsepriorities/edit.html:27
+msgid "External ID"
+msgstr "ID extern"
+
+#: templates/web/base/admin/body-form.html:89
+msgid "External URL"
+msgstr "URL externa"
+
+#: templates/web/base/admin/report_edit.html:99
+msgid "External body"
+msgstr "Cos extern"
+
+#: templates/web/base/admin/report_edit.html:101
+msgid "External team"
+msgstr "Equip extern"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:673
+#: templates/web/base/admin/reportextrafields/edit.html:1
+#: templates/web/base/admin/reportextrafields/index.html:1
+#, fuzzy
+msgid "Extra Fields"
+msgstr "Detalls extres"
+
+#: templates/web/base/admin/contact-form.html:141
+#: templates/web/base/admin/report_edit.html:94
+msgid "Extra data:"
+msgstr "Data extra:"
+
+#: templates/web/base/report/_inspect.html:144
+#: templates/web/base/report/_item.html:108
+msgid "Extra details"
+msgstr "Detalls extres"
+
+#: templates/web/base/contact/submit.html:13
+msgid "Failed to send message"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:58
+#: templates/web/base/admin/reportextrafields/index.html:9
+msgid "Fields"
+msgstr ""
+
+#: templates/web/zurich/admin/index-dm.html:33
+#: templates/web/zurich/admin/index-sdm.html:30
+msgid "Filter report list"
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:66
+msgid "First time"
+msgstr ""
+
+#: templates/web/base/admin/body.html:52
+msgid "Fix this by choosing an <strong>area covered</strong> in the <em>Edit body details</em> form below."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin/States.pm:35
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:133
+#: templates/web/base/admin/states/index.html:29
+#: templates/web/base/admin/stats_fix_rate.html:4
+msgid "Fixed"
+msgstr "Corregit"
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:62
+msgid "Fixed - Council"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:63
+msgid "Fixed - User"
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:97
+#: templates/web/base/admin/responsepriorities/edit.html:53
+#: templates/web/zurich/admin/body-form.html:36
+msgid "Flag as deleted"
+msgstr "Marca com esborrat"
+
+#: templates/web/base/admin/report_blocks.html:23
+msgid "Flag user"
+msgstr "Marca l'usuari"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:644
+#: templates/web/base/admin/users.html:20
+msgid "Flagged"
+msgstr "Marcat"
+
+#: templates/web/base/admin/flagged.html:1
+msgid "Flagged reports and users"
+msgstr "Informes i usuaris marcats"
+
+#: templates/web/base/admin/user-form.html:94
+msgid "Flagged users are listed on the <a href='%s'>flagged</a> page."
+msgstr ""
+
+#: templates/web/base/admin/flagged.html:31
+msgid "Flagged users are not restricted in any way. This is just a list of users that have been marked for attention."
+msgstr ""
+
+#: templates/web/base/admin/report_edit.html:135
+#: templates/web/base/admin/user-form.html:100
+msgid "Flagged:"
+msgstr "Marcat:"
+
+#: templates/web/base/reports/_ward-list.html:4
+msgid "Follow a ward link to view only reports within that ward."
+msgstr ""
+
+#: templates/web/base/report/new/after_photo.html:3
+msgid "For best results include a close-up and a wide shot"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:52
+msgid "For each option, <strong>Key</strong> is the value which is stored in the database for that option and <strong>Name</strong> is the value displayed to the user."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:73
+msgid "For more information, see <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
+msgstr ""
+
+#: templates/web/base/auth/general.html:97
+#: templates/web/base/report/new/form_user_loggedout_password.html:20
+#: templates/web/base/report/update/form_user_loggedout_password.html:19
+msgid "Forgotten your password?"
+msgstr "Has oblidat la teva contrasenya?"
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:748
+msgid "Forwarded to external body"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:749
+msgid "Forwarded wish to external body"
+msgstr ""
+
+#: templates/web/base/about/_sidebar.html:4
+#: templates/web/base/about/faq-en-gb.html:1
+#: templates/web/base/about/faq-en-gb.html:5
+msgid "Frequently Asked Questions"
+msgstr "Preguntes mes freqüents (FAQ)"
+
+#: templates/web/base/admin/stats.html:102
+msgid "Get Count"
+msgstr ""
+
+#: templates/web/base/around/_updates.html:3
+#: templates/web/base/report/display_tools.html:14
+msgid "Get updates"
+msgstr "Obté actualitzacions"
+
+#: templates/web/base/reports/_rss.html:3
+#: templates/web/base/reports/_rss.html:9
+msgid "Get updates of %s problems"
+msgstr "Obté actualitzacions de %s problemes"
+
+#: templates/web/base/reports/_rss.html:11
+#: templates/web/base/reports/_rss.html:3
+msgid "Get updates of problems in this %s"
+msgstr ""
+
+#: templates/web/base/alert/_list.html:85
+msgid "Give me an RSS feed"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:6
+msgid "Give this collection of fields a name. It is not shown publicly, just here in the admin."
+msgstr ""
+
+#: templates/web/base/questionnaire/completed.html:14
+msgid "Glad to hear it’s been fixed!"
+msgstr ""
+
+#: templates/web/base/admin/index.html:28
+#: templates/web/base/admin/index.html:34
+#: templates/web/base/admin/index.html:49
+#: templates/web/base/alert/index.html:34
+#: templates/web/base/around/postcode_form.html:13
+#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:64
+#: templates/web/base/reports/index.html:75
+#: templates/web/zurich/admin/stats.html:26
+msgid "Go"
+msgstr "Ves"
+
+#: templates/web/base/admin/report_edit.html:95
+msgid "Going to send questionnaire?"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:731
+msgid "Grant access to the admin"
+msgstr ""
+
+#: templates/web/base/admin/index.html:76
+msgid "Graph of problem creation by status over time"
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:48
+msgid "Has this problem been fixed?"
+msgstr "S'ha corregit aquest problema?"
+
+#: templates/web/base/questionnaire/index.html:61
+msgid "Have you ever reported a problem to a council before, or is this your first time?"
+msgstr ""
+
+#: templates/web/base/main_nav_items.html:40
+#: templates/web/zurich/about/faq-de-ch.html:1
+#: templates/web/zurich/footer.html:22
+#: templates/web/zurich/nav_over_content.html:8
+msgid "Help"
+msgstr "Ajuda"
+
+#: templates/web/base/report/new/category_extras.html:13
+#: templates/web/base/report/new/category_extras.html:14
+msgid "Help <strong>%s</strong> resolve your problem quicker, by providing some extra detail. This extra information will not be published online."
+msgstr ""
+
+#: templates/web/zurich/footer.html:11
+msgid "Hi %s"
+msgstr "Hola %s"
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:911
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:60
+#: templates/web/base/admin/update_edit.html:30
+#: templates/web/zurich/admin/header.html:1
+#: templates/web/zurich/admin/header.html:11
+#: templates/web/zurich/admin/stats.html:32
+#: templates/web/zurich/admin/update_edit.html:18
+msgid "Hidden"
+msgstr "Ocultat"
+
+#: templates/web/base/report/_main.html:109
+msgid "Hide entire report"
+msgstr "Oculta l'informe complet"
+
+#: templates/web/base/my/anonymize.html:1
+#: templates/web/base/my/anonymize.html:2
+msgid "Hide my name"
+msgstr "Oculta el meu nom"
+
+#: templates/web/base/my/anonymize.html:21
+msgid "Hide my name everywhere"
+msgstr "Oculta el meu nom a tot arreu"
+
+#: templates/web/base/my/anonymize.html:10
+msgid "Hide my name in this update"
+msgstr "Oculta el meu nom en aquesta actualització"
+
+#: templates/web/base/my/anonymize.html:16
+msgid "Hide my name on this report"
+msgstr "Oculta el meu nom en aquest informe"
+
+#: templates/web/base/around/display_location.html:67
+msgid "Hide old"
+msgstr ""
+
+#: templates/web/base/around/display_location.html:62
+#: templates/web/base/js/translation_strings.html:55
+msgid "Hide pins"
+msgstr ""
+
+#: templates/web/base/report/update.html:15
+msgid "Hide update completely?"
+msgstr "Oculta l'actualització completament?"
+
+#: templates/web/base/report/_report_meta_info.html:3
+#: templates/web/base/report/update.html:55
+msgid "Hide your name?"
+msgstr "Oculta el teu nom?"
+
+#: templates/web/base/admin/extra-metadata-form.html:38
+msgid "Hint"
+msgstr ""
+
+#: templates/web/base/admin/category_edit.html:24
+msgid "History"
+msgstr ""
+
+#: templates/web/base/around/display_location.html:75
+msgid "Home"
+msgstr "Inici"
+
+#: templates/web/base/index-steps.html:1
+msgid "How to report a problem"
+msgstr "Com informar un problema"
+
+#: templates/web/base/js/translation_strings.html:32
+msgid "How to send successful reports"
+msgstr "Com enviar informes satisfactoris"
+
+#: templates/web/base/tokens/confirm_problem.html:36
+#: templates/web/base/tokens/confirm_problem.html:41
+msgid "I just reported a problem on @fixmystreet"
+msgstr "He informat un problema a @fixmystreet"
+
+#: templates/web/base/tokens/confirm_update.html:20
+#: templates/web/base/tokens/confirm_update.html:25
+msgid "I just updated a problem on @fixmystreet"
+msgstr "He actualitzat un problema a @fixmystreet"
+
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:87
+msgid "I'm afraid we couldn't locate your problem in the database.\n"
+msgstr ""
+
+#: templates/web/base/admin/flagged.html:14
+#: templates/web/base/admin/index.html:60
+#: templates/web/base/admin/list_updates.html:6
+#: templates/web/base/admin/reports.html:12
+#: templates/web/zurich/admin/index-dm.html:21
+#: templates/web/zurich/admin/index-sdm.html:19
+#: templates/web/zurich/admin/list_updates.html:24
+#: templates/web/zurich/admin/list_updates.html:38
+#: templates/web/zurich/admin/reports.html:11
+msgid "ID"
+msgstr "ID"
+
+#: templates/web/base/admin/body-form.html:32
+#: templates/web/base/admin/body-form.html:33
+msgid ""
+"Identify a <strong>parent</strong> if this body is itself part of another body.\n"
+" For basic installations, you don't need to join bodies in this way."
+msgstr ""
+
+#: templates/web/base/auth/token.html:19
+msgid "If there's a user associated with the address you entered, we've sent a confirmation email."
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:23
+msgid "If this priority is passed to an external service (e.g. Exor/Confirm) enter the priority code to use with that service here."
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:24
+msgid "If ticked the user won’t see an input field, just the ‘Description’ text."
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:14
+msgid ""
+"If two or more bodies serve the same location, FixMyStreet combines identical categories into a single entry in\n"
+" the menu. Make sure you use the same category name in the bodies if you want this to happen."
+msgstr ""
+
+#: templates/web/base/questionnaire/completed.html:8
+msgid "If you get some more information about the status of your problem, please come back to the site and leave an update."
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:45
+msgid "If you only want this priority to be an option for specific categories, pick them here. By default they will show for all categories."
+msgstr ""
+
+#: templates/web/base/admin/template_edit.html:29
+msgid "If you only want this template to be an option for specific categories, pick them here. By default they will show for all categories."
+msgstr ""
+
+#: templates/web/base/report/new/top_message_none.html:10
+#: templates/web/base/report/new/top_message_none.html:9
+msgid "If you submit a problem here the problem will <strong>not</strong> be reported to the council."
+msgstr ""
+
+#: templates/web/base/admin/template_edit.html:36
+msgid "If you want to use this template to prefill the update field when changing a report&rsquo;s state, select the state here."
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:70
+msgid ""
+"If you wish to leave a public update on the problem, please enter it here\n"
+"(please note it will not be sent to the council)."
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:32
+msgid "If you're using <strong>a send method that is not email</strong>, enter the service ID (Open311) or equivalent identifier here."
+msgstr ""
+
+#: templates/web/base/admin/open311-form-fields.html:100
+#: templates/web/base/admin/open311-form-fields.html:101
+msgid ""
+"If you've enabled Open311 update-sending above, Open311 usually only accepts OPEN or CLOSED status in \n"
+" its updates. Enable <strong>extended Open311 stauses</strong> if you want to allow extra states to be passed.\n"
+" Check that your cobrand supports this feature before switching it on."
+msgstr ""
+
+#: templates/web/base/admin/open311-form-fields.html:87
+#: templates/web/base/admin/open311-form-fields.html:88
+msgid ""
+"If you've enabled Open311 update-sending above, enable <strong>suppression of alerts</strong> \n"
+" if you do <strong>not</strong> want that user to be notified whenever these updates are created."
+msgstr ""
+
+#: templates/web/base/admin/open311-form-fields.html:70
+#: templates/web/base/admin/open311-form-fields.html:71
+msgid ""
+"If you've enabled Open311 update-sending above, you must identify which \n"
+" FixMyStreet <strong>user</strong> will be attributed as the creator of those updates\n"
+" when they are shown on the site. Enter the ID (number) of that user."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Contact.pm:134
+msgid "Illegal ID"
+msgstr "ID il·legal"
+
+#: perllib/FixMyStreet/App/Controller/Alert.pm:103
+msgid "Illegal feed selection"
+msgstr ""
+
+#: templates/web/base/admin/flagged.html:39
+msgid "In abuse table?"
+msgstr "En taula d'abús?"
+
+#: templates/web/base/open311/index.html:80
+msgid "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:197
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:959
+#: templates/web/zurich/admin/header.html:1
+#: templates/web/zurich/admin/header.html:8
+msgid "In progress"
+msgstr "En progress"
+
+#: templates/web/base/admin/contact-form.html:57
+msgid "Inactive"
+msgstr "Inactiu"
+
+#: templates/web/base/tokens/confirm_alert.html:11
+msgid "Inbox zero, here we come!"
+msgstr ""
+
+#: templates/web/zurich/admin/report_edit.html:223
+msgid "Include reporter personal details"
+msgstr ""
+
+#: templates/web/base/admin/stats.html:83
+msgid "Include unconfirmed reports"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Open311.pm:351
+msgid "Incorrect has_photo value \"%s\""
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:5
+msgid "Inspect report"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:85
+msgid "Inspection required"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:715
+msgid "Instruct contractors to fix problems"
+msgstr ""
+
+#: templates/web/zurich/admin/list_updates.html:35
+msgid "Internal notes"
+msgstr "Notes internes"
+
+#: templates/web/base/offline/appcache.html:3
+msgid "Internet glitch"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Open311.pm:336
+msgid "Invalid agency_responsible value %s"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1607
+msgid "Invalid end date"
+msgstr "Data final invàlida"
+
+#: perllib/FixMyStreet/App/Controller/Open311.pm:429
+msgid "Invalid format %s specified."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report.pm:409
+msgid "Invalid location. New location must be covered by the same council."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1603
+msgid "Invalid start date"
+msgstr "Data d'inici invàlida"
+
+#: templates/web/base/contact/blurb.html:2
+msgid "It's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there."
+msgstr ""
+
+#: templates/web/base/tokens/confirm_problem.html:27
+msgid "It’s on its way to the council right now."
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:182
+msgid "Jurisdiction Unknown"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
+#: templates/web/zurich/admin/header.html:1
+#: templates/web/zurich/admin/header.html:15
+msgid "Jurisdiction unknown"
+msgstr ""
+
+#: templates/web/base/auth/general.html:93
+#: templates/web/base/report/new/form_user_loggedout_password.html:16
+#: templates/web/base/report/update/form_user_loggedout_password.html:15
+#: templates/web/zurich/auth/general.html:40
+msgid "Keep me signed in on this computer"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:61
+msgid "Key"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:9
+#: templates/web/base/admin/states/index.html:95
+msgid "Label"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:6
+#: templates/web/base/admin/reportextrafields/edit.html:45
+msgid "Language"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/index.html:8
+msgid "Languages"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:50
+msgid "Last 4 weeks"
+msgstr "Últimes 4 setmanes"
+
+#: templates/web/base/dashboard/index.html:49
+#: templates/web/base/reports/index.html:38
+msgid "Last 7 days"
+msgstr "Últims 7 dies"
+
+#: templates/web/base/admin/body.html:74
+#: templates/web/zurich/admin/body.html:16
+msgid "Last editor"
+msgstr "Últim editor"
+
+#: templates/web/base/questionnaire/index.html:25
+msgid "Last update"
+msgstr "Última actualització"
+
+#: templates/web/base/admin/report_edit.html:89
+msgid "Last update:"
+msgstr "Última actualització:"
+
+#: templates/web/base/admin/problem_row.html:39
+msgid "Last&nbsp;update:"
+msgstr "Última&nbsp;actualització:"
+
+#: templates/web/base/report/_inspect.html:30
+#: templates/web/base/report/_item.html:88
+msgid "Latitude/Longitude:"
+msgstr "Latitut/Longitut:"
+
+#: templates/web/base/reports/_list-filters.html:61
+msgid "Least recently updated"
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:129
+msgid "Leave this blank if all reports to this body should be sent using the same send method (e.g., \"%s\")."
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:151
+msgid "Less than 7 days old"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:47
+msgid "List"
+msgstr ""
+
+#: templates/web/base/admin/body.html:31
+msgid "List all reported problems"
+msgstr "Llista tots els problemes informats"
+
+#: templates/web/base/report/new/category_wrapper.html:4
+msgid "Loading..."
+msgstr "Carregant..."
+
+#: templates/web/base/alert/choose.html:1
+#: templates/web/base/alert/choose.html:3 templates/web/base/alert/index.html:1
+#: templates/web/base/alert/index.html:3 templates/web/base/alert/list.html:1
+#: templates/web/base/alert/list.html:5 templates/web/base/alert/updates.html:1
+#: templates/web/base/tokens/confirm_alert.html:1
+msgid "Local RSS feeds and email alerts"
+msgstr ""
+
+#: templates/web/base/alert/list.html:1 templates/web/base/alert/list.html:12
+#: templates/web/base/alert/list.html:14 templates/web/base/alert/list.html:3
+msgid "Local RSS feeds and email alerts for ‘%s’"
+msgstr ""
+
+#: templates/web/base/main_nav_items.html:31
+#: templates/web/base/main_nav_items.html:37
+msgid "Local alerts"
+msgstr "Alertes locals"
+
+#: templates/web/base/index-steps.html:5
+msgid "Locate the problem on a map of the area"
+msgstr "Localitza el problema en un mapa de l'àrea"
+
+#: templates/web/base/auth/general.html:24
+#: templates/web/base/report/new/form_user_loggedout.html:6
+#: templates/web/base/report/update/form_user_loggedout.html:7
+msgid "Log in with Facebook"
+msgstr ""
+
+#: templates/web/base/auth/general.html:32
+#: templates/web/base/report/new/form_user_loggedout.html:14
+#: templates/web/base/report/update/form_user_loggedout.html:15
+msgid "Log in with Twitter"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:62
+msgid "Log in with email"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:146
+#: templates/web/base/dashboard/index.html:38
+msgid "Look up"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:44
+msgid "MAP"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:716
+msgid "Manage shortlist"
+msgstr ""
+
+#: templates/web/base/reports/_list-filters.html:56
+msgid "Manual order"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:46
+msgid "Map"
+msgstr "Mapa"
+
+#: templates/web/base/admin/report_edit.html:86
+msgid "Mark as sent"
+msgstr "Marca com enviat"
+
+#: templates/web/base/admin/user-form.html:92
+msgid "Mark users whose behaviour you want to keep a check on as <strong>flagged</strong>."
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:714
+msgid "Markup problem details"
+msgstr ""
+
+#: templates/web/base/contact/index.html:100
+msgid "Message"
+msgstr "Missatge"
+
+#: templates/web/zurich/admin/report_edit.html:280
+msgid "Message to competent body:"
+msgstr "Missatge al cos competent:"
+
+#: templates/web/zurich/admin/report_edit.html:278
+msgid "Message to external body:"
+msgstr "Missatge al cos extern:"
+
+#: templates/web/base/admin/report_edit.html:71
+msgid "Missing bodies:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Open311.pm:437
+msgid "Missing jurisdiction_id"
+msgstr ""
+
+#: templates/web/base/report/_main.html:134
+msgid "Moderate"
+msgstr "Modera"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:710
+msgid "Moderate report details"
+msgstr "Modera detalls de l'informe"
+
+#: templates/web/base/report/_main.html:134
+msgid "Moderate this report"
+msgstr "Modera aquest informe"
+
+#: templates/web/base/report/update.html:12
+msgid "Moderate this update"
+msgstr "Modera aquesta actualització"
+
+#: templates/web/base/report/_main.html:73
+#: templates/web/base/report/update.html:58
+msgid "Moderated by %s at %s"
+msgstr "Moderat per %s a %s"
+
+#: templates/web/zurich/admin/stats.html:34
+msgid "Moderated by division within one working day"
+msgstr ""
+
+#: templates/web/base/report/_main.html:113
+#: templates/web/base/report/update.html:66
+msgid "Moderation reason:"
+msgstr "Raó de moderació:"
+
+#: templates/web/base/admin/stats.html:11
+msgid "Month"
+msgstr "Mes"
+
+#: templates/web/base/reports/_list-filters.html:62
+msgid "Most commented"
+msgstr "Més comentat"
+
+#: templates/web/base/admin/bodies.html:25
+#: templates/web/base/admin/body-form.html:24
+#: templates/web/base/admin/extra-metadata-form.html:65
+#: templates/web/base/admin/flagged.html:16
+#: templates/web/base/admin/flagged.html:37
+#: templates/web/base/admin/index.html:62
+#: templates/web/base/admin/list_updates.html:7
+#: templates/web/base/admin/reportextrafields/edit.html:11
+#: templates/web/base/admin/reportextrafields/index.html:6
+#: templates/web/base/admin/reports.html:14
+#: templates/web/base/admin/responsepriorities/list.html:6
+#: templates/web/base/admin/states/index.html:108
+#: templates/web/base/admin/states/index.html:11
+#: templates/web/base/admin/users.html:16
+#: templates/web/base/auth/general.html:108
+#: templates/web/base/report/new/form_user_loggedin.html:42
+#: templates/web/base/report/new/form_user_loggedout_by_email.html:7
+#: templates/web/base/report/update/form_name.html:27
+#: templates/web/zurich/admin/body-form.html:4
+#: templates/web/zurich/auth/general.html:60
+#: templates/web/zurich/report/new/fill_in_details_form.html:59
+msgid "Name"
+msgstr "Nom"
+
+#: templates/web/base/admin/report_edit.html:127
+#: templates/web/base/admin/responsepriorities/edit.html:13
+#: templates/web/base/admin/update_edit.html:34
+#: templates/web/base/admin/user-form.html:16
+#: templates/web/zurich/admin/stats.html:41
+msgid "Name:"
+msgstr "Nom:"
+
+#: perllib/FixMyStreet/Script/Reports.pm:111
+msgid "Name: %s"
+msgstr "Nom: %s"
+
+#: templates/web/base/report/_inspect.html:38
+msgid "Navigate to this problem"
+msgstr "Navega a aquest problema"
+
+#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:160
+#: perllib/FixMyStreet/Geocode/OSM.pm:145
+msgid "Nearest named road to the pin placed on the map (automatically generated using OpenStreetMap): %s%s"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:134
+msgid "Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:538
+#: perllib/FixMyStreet/Cobrand/Default.pm:566
+msgid "Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"
+msgstr ""
+
+#: perllib/FixMyStreet/Script/Alerts.pm:316
+msgid ""
+"Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s\n"
+"\n"
+msgstr ""
+
+#: templates/web/base/auth/token.html:18
+msgid "Nearly done!"
+msgstr ""
+
+#: templates/web/base/auth/token.html:22 templates/web/base/email_sent.html:5
+msgid "Nearly done! Now check your email&hellip;"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:131
+#, fuzzy
+msgid "New"
+msgstr "El més nou"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:262
+msgid "New body added"
+msgstr "Nou cos afegit"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:386
+msgid "New category contact added"
+msgstr "Nova categoria de contacte afegida"
+
+#: templates/web/base/auth/change_email.html:26
+msgid "New email address:"
+msgstr "Nova adreça de correu electrònic:"
+
+#: templates/web/zurich/admin/report_edit-sdm.html:109
+#: templates/web/zurich/admin/report_edit.html:137
+msgid "New internal note:"
+msgstr "Nova nota interna:"
+
+#: db/alert_types.pl:18 db/alert_types.pl:22
+msgid "New local problems on FixMyStreet"
+msgstr "Nous problemes locals a FixMyStreet"
+
+#: templates/web/zurich/admin/report_edit-sdm.html:113
+msgid "New note to DM:"
+msgstr ""
+
+#: templates/web/base/auth/change_password.html:35
+msgid "New password:"
+msgstr "Nova contrasenya:"
+
+#: templates/web/base/admin/responsepriorities/edit.html:4
+#: templates/web/base/admin/responsepriorities/list.html:34
+msgid "New priority"
+msgstr "Nova prioritat"
+
+#: db/alert_types.pl:38
+msgid "New problems for {{COUNCIL}} within {{WARD}} ward on FixMyStreet"
+msgstr ""
+
+#: db/alert_types.pl:26 db/alert_types.pl:30
+msgid "New problems near {{POSTCODE}} on FixMyStreet"
+msgstr ""
+
+#: db/alert_types.pl:10
+msgid "New problems on FixMyStreet"
+msgstr "Nous problemes a FixMyStreet"
+
+#: db/alert_types.pl:34
+msgid "New problems to {{COUNCIL}} on FixMyStreet"
+msgstr ""
+
+#: db/alert_types.pl:42
+msgid "New problems within {{NAME}}'s boundary on FixMyStreet"
+msgstr ""
+
+#: templates/web/zurich/admin/index-sdm.html:4
+msgid "New reports"
+msgstr "Nous informes"
+
+#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/states/index.html:91
+msgid "New state"
+msgstr ""
+
+#: templates/web/base/admin/template_edit.html:4
+#: templates/web/base/admin/templates.html:28
+#: templates/web/zurich/admin/template_edit.html:9
+msgid "New template"
+msgstr ""
+
+#: templates/web/base/reports/_list-filters.html:58
+msgid "Newest"
+msgstr "El més nou"
+
+#: templates/web/base/pagination.html:10
+msgid "Next"
+msgstr "Següent"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:1237
+#: templates/web/base/admin/category_edit.html:4
+#: templates/web/base/admin/list_updates.html:32
+#: templates/web/base/admin/list_updates.html:34
+#: templates/web/base/admin/list_updates.html:35
+#: templates/web/base/admin/problem_row.html:20
+#: templates/web/base/admin/report_edit.html:125
+#: templates/web/base/admin/report_edit.html:95
+#: templates/web/base/admin/update_edit.html:26
+#: templates/web/base/questionnaire/creator_fixed.html:16
+#: templates/web/base/questionnaire/index.html:106
+#: templates/web/base/questionnaire/index.html:55
+#: templates/web/base/report/_inspect.html:92
+msgid "No"
+msgstr "No"
+
+#: templates/web/base/admin/user-form.html:66
+msgid "No area"
+msgstr "Sense àrea"
+
+#: templates/web/base/admin/user-form.html:37
+msgid "No body"
+msgstr "Sense cos"
+
+#: templates/web/base/admin/stats.html:93
+msgid "No council"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:372
+msgid "No council selected"
+msgstr ""
+
+#: templates/web/base/admin/edit-league.html:17
+msgid "No edits have yet been made."
+msgstr ""
+
+#: templates/web/base/admin/flagged.html:25
+msgid "No flagged problems found."
+msgstr "No s'han trobat problemes marcats."
+
+#: templates/web/base/admin/flagged.html:58
+msgid "No flagged users found."
+msgstr "No s'han trobat usuaris marcats."
+
+#: templates/web/zurich/admin/report_edit-sdm.html:125
+#: templates/web/zurich/admin/report_edit.html:259
+msgid "No further updates"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:68
+msgid "No inspections by that inspector in the selected date range."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:70
+msgid "No inspections in the selected date range."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:37
+msgid "No result returned"
+msgstr "No s'han retornat resultats"
+
+#: templates/web/base/admin/body-form.html:68
+#: templates/web/base/admin/body-form.html:69
+msgid ""
+"No specific areas are currently available, because the <code>MAPIT_URL</code> in\n"
+" your config file is not pointing to a live MapIt service."
+msgstr ""
+
+#: templates/web/base/report/_support.html:2
+#: templates/web/base/report/_support.html:4
+msgid "No supporters"
+msgstr "Sense seguidors"
+
+#: templates/web/base/admin/report_edit.html:66
+#: templates/web/base/admin/report_edit.html:90
+#: templates/web/base/admin/report_edit.html:92
+msgid "None"
+msgstr "Cap"
+
+#: templates/web/base/admin/user-form.html:58
+#: templates/web/base/admin/user-form.html:59
+msgid ""
+"Normal (public) users should not be associated with any <strong>area</strong>.<br>\n"
+" Authorised staff users can be associated with the area in which they operate."
+msgstr ""
+
+#: templates/web/base/admin/user-form.html:28
+#: templates/web/base/admin/user-form.html:29
+msgid ""
+"Normal (public) users should not be associated with any <strong>body</strong>.<br>\n"
+" Authorised staff users can be associated with the body they represent.<br>\n"
+" Depending on the implementation, staff users may have access to the dashboard (summary of\n"
+" activity across their body), the ability to hide reports or set special report statuses."
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:186
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:933
+#: templates/web/zurich/admin/header.html:1
+#: templates/web/zurich/admin/header.html:13
+msgid "Not contactable"
+msgstr ""
+
+#: templates/web/zurich/admin/report_edit-sdm.html:104
+msgid "Not for my subdivision"
+msgstr ""
+
+#: templates/web/base/admin/questionnaire.html:6
+msgid "Not reported before"
+msgstr ""
+
+#: templates/web/base/report/_main_sent_info.html:4
+msgid "Not reported to council"
+msgstr ""
+
+#: templates/web/base/admin/body.html:75
+#: templates/web/base/admin/category_edit.html:31
+#: templates/web/zurich/admin/body.html:17
+msgid "Note"
+msgstr ""
+
+#: templates/web/base/admin/stats.html:51
+msgid "Note that when including unconfirmed reports we use the date the report was created which may not be in the same month the report was confirmed so the numbers may jump about a little"
+msgstr ""
+
+#: templates/web/zurich/admin/body.html:55
+#: templates/web/zurich/admin/contact-form.html:19
+msgid "Note:"
+msgstr ""
+
+#: templates/web/base/open311/index.html:65
+msgid "Note: <strong>%s</strong>"
+msgstr ""
+
+#: templates/web/zurich/admin/list_updates.html:21
+msgid "Notes from SDM to DM"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:26
+msgid "Notice"
+msgstr ""
+
+#: templates/web/base/report/new/oauth_email_form.html:17
+msgid "Now to submit your report&hellip;"
+msgstr ""
+
+#: templates/web/base/report/update-form.html:29
+#: templates/web/base/report/update/form_user_loggedout.html:2
+#: templates/web/base/report/update/form_user_loggedout.html:23
+msgid "Now to submit your update&hellip;"
+msgstr ""
+
+#: templates/web/base/reports/index.html:98
+msgid "Number of problems reported in each category, in the last 7 days."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:43
+msgid "OK"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:70
+msgid "Offline data cleared"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:67
+msgid "Offline update data saved"
+msgstr ""
+
+#: templates/web/base/admin/questionnaire.html:24
+msgid "Old state"
+msgstr ""
+
+#: templates/web/base/reports/_list-filters.html:59
+msgid "Oldest"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:905
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:10
+#: templates/web/base/admin/states/index.html:102
+#: templates/web/base/admin/states/index.html:25
+#: templates/web/base/admin/states/index.html:32
+#: templates/web/base/admin/update_edit.html:30
+#: templates/web/zurich/admin/header.html:1
+#: templates/web/zurich/admin/header.html:7
+#: templates/web/zurich/admin/update_edit.html:18
+msgid "Open"
+msgstr ""
+
+#: templates/web/base/admin/open311-form-fields.html:47
+msgid "Open311 API Key"
+msgstr ""
+
+#: templates/web/base/open311/index.html:62
+msgid "Open311 API for the mySociety FixMyStreet server"
+msgstr ""
+
+#: templates/web/base/admin/open311-form-fields.html:34
+msgid "Open311 Jurisdiction"
+msgstr ""
+
+#: templates/web/base/open311/index.html:72
+msgid "Open311 initiative web page"
+msgstr ""
+
+#: templates/web/base/open311/index.html:73
+msgid "Open311 specification"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:53
+#, fuzzy
+msgid "Options"
+msgstr "opcional"
+
+#: templates/web/base/alert/_list.html:84
+msgid "Or subscribe by RSS"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:8
+msgid "Order"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1107
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:675
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:676
+#: perllib/FixMyStreet/DB/Result/Problem.pm:579
+#: perllib/FixMyStreet/DB/Result/Problem.pm:586
+#: perllib/FixMyStreet/DB/Result/Problem.pm:601
+#: perllib/FixMyStreet/DB/Result/Problem.pm:610
+#: perllib/FixMyStreet/Script/Reports.pm:183
+#: perllib/FixMyStreet/Script/Reports.pm:198
+msgid "Other"
+msgstr ""
+
+#: templates/web/base/reports/index.html:107
+msgid "Other categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:92
+msgid "Overall average"
+msgstr ""
+
+#: templates/web/base/admin/list_updates.html:8
+msgid "Owner"
+msgstr ""
+
+#: templates/web/base/errors/page_error_404_not_found.html:1
+#: templates/web/base/errors/page_error_404_not_found.html:4
+msgid "Page Not Found"
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:39
+#: templates/web/zurich/admin/body-form.html:14
+msgid "Parent"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:61
+msgid "Partial"
+msgstr ""
+
+#: templates/web/base/auth/general.html:111
+#: templates/web/base/report/new/form_user_loggedout_by_email.html:28
+#: templates/web/base/report/update/form_user_loggedout_by_email.html:6
+#: templates/web/zurich/auth/general.html:32
+#: templates/web/zurich/auth/general.html:63
+msgid "Password (optional)"
+msgstr ""
+
+#: templates/web/base/auth/general.html:84
+msgid "Password:"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:52
+msgid "Permalink"
+msgstr ""
+
+#: templates/web/base/admin/user-form.html:144
+msgid "Permissions:"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:19
+msgid "Phone Reporter:"
+msgstr ""
+
+#: templates/web/zurich/report/new/fill_in_details_form.html:65
+msgid "Phone number"
+msgstr ""
+
+#: templates/web/base/report/new/form_user_loggedin.html:59
+#: templates/web/base/report/new/form_user_loggedout_by_email.html:25
+msgid "Phone number (optional)"
+msgstr ""
+
+#: perllib/FixMyStreet/Script/Reports.pm:87
+#: templates/web/base/admin/report_edit.html:134
+#: templates/web/base/admin/user-form.html:21
+#: templates/web/zurich/admin/stats.html:39
+msgid "Phone:"
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:78
+#: templates/web/base/questionnaire/index.html:93
+#: templates/web/base/questionnaire/index.html:95
+#: templates/web/base/report/new/form_report.html:30
+#: templates/web/base/report/new/form_report.html:45
+#: templates/web/base/report/new/form_report.html:47
+#: templates/web/base/report/update/form_update.html:22
+#: templates/web/base/report/update/form_update.html:24
+#: templates/web/base/report/update/form_update.html:7
+#: templates/web/zurich/admin/index-dm.html:29
+#: templates/web/zurich/admin/index-sdm.html:24
+#: templates/web/zurich/admin/reports.html:16
+#: templates/web/zurich/admin/stats.html:37
+#: templates/web/zurich/report/new/fill_in_details_form.html:20
+#: templates/web/zurich/report/new/fill_in_details_form.html:36
+#: templates/web/zurich/report/new/fill_in_details_form.html:38
+msgid "Photo"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Photo.pm:186
+msgid "Photo is required."
+msgstr ""
+
+#: templates/web/zurich/admin/contact-form.html:16
+msgid "Photo required"
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:78
+#: templates/web/base/report/new/form_report.html:30
+#: templates/web/base/report/update/form_update.html:7
+#: templates/web/zurich/report/new/fill_in_details_form.html:20
+msgid "Photos"
+msgstr ""
+
+#: templates/web/base/alert/list.html:23
+msgid "Photos of recent nearby reports"
+msgstr ""
+
+#: templates/web/base/reports/index.html:63
+#: templates/web/base/reports/index.html:66
+msgid "Pick your council"
+msgstr ""
+
+#: templates/web/base/around/display_location.html:76
+#: templates/web/base/js/translation_strings.html:30
+msgid "Place pin on map"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:945
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:951
+#: templates/web/zurich/admin/header.html:1
+#: templates/web/zurich/admin/header.html:9
+#: templates/web/zurich/admin/index-dm.html:9
+msgid "Planned"
+msgstr ""
+
+#: templates/web/base/report/new/notes.html:5
+msgid "Please be polite, concise and to the point."
+msgstr ""
+
+#: templates/web/base/auth/change_password.html:22
+#: templates/web/base/auth/change_password.html:27
+msgid "Please check the passwords and try again"
+msgstr ""
+
+#: templates/web/base/auth/change_email.html:15
+#: templates/web/base/auth/change_email.html:18
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:45
+#: templates/web/zurich/auth/general.html:3
+#: templates/web/zurich/auth/general.html:9
+msgid "Please check your email address is correct"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:329
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:873
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:896
+#: perllib/FixMyStreet/DB/Result/Problem.pm:383
+#: templates/web/base/js/translation_strings.html:9
+msgid "Please choose a category"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:377
+#: templates/web/base/admin/bodies.html:4 templates/web/base/admin/body.html:11
+msgid "Please correct the errors below"
+msgstr ""
+
+#: templates/web/base/contact/blurb.html:6
+msgid ""
+"Please do <strong>not</strong> report problems through this form; messages go to\n"
+"the team behind this site, not a council. To report a problem,\n"
+"please <a href=\"/\">go to the front page</a> and follow the instructions."
+msgstr ""
+
+#: templates/web/base/report/new/notes.html:6
+msgid "Please do not be abusive&nbsp;&mdash; abusing your council devalues the service for all users."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:330
+#: perllib/FixMyStreet/DB/Result/Comment.pm:128
+#: templates/web/base/js/translation_strings.html:2
+msgid "Please enter a message"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1305
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1469
+msgid "Please enter a name"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:497
+msgid "Please enter a name for this body"
+msgstr ""
+
+#: templates/web/base/auth/change_password.html:22
+#: templates/web/base/auth/change_password.html:25
+#: templates/web/base/js/translation_strings.html:19
+msgid "Please enter a password"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/DB/Result/Problem.pm:366
+#: templates/web/base/js/translation_strings.html:3
+msgid "Please enter a subject"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1302
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1466
+#: perllib/FixMyStreet/App/Controller/Admin.pm:343
+#: perllib/FixMyStreet/DB/Result/User.pm:164
+#: templates/web/base/js/translation_strings.html:12
+#: templates/web/base/js/translation_strings.html:16
+msgid "Please enter a valid email"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Alert.pm:350
+#: perllib/FixMyStreet/App/Controller/Contact.pm:125
+msgid "Please enter a valid email address"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:369
+#: templates/web/base/js/translation_strings.html:4
+msgid "Please enter some details"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Contact.pm:114
+#: perllib/FixMyStreet/DB/Result/User.pm:161
+#: templates/web/base/auth/change_email.html:15
+#: templates/web/base/auth/change_email.html:17
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:44
+#: templates/web/base/js/translation_strings.html:11
+#: templates/web/base/js/translation_strings.html:15
+#: templates/web/zurich/auth/general.html:3
+#: templates/web/zurich/auth/general.html:8
+msgid "Please enter your email"
+msgstr ""
+
+#: templates/web/base/report/new/form_user_loggedout_email.html:5
+#: templates/web/zurich/report/new/fill_in_details_form.html:57
+msgid "Please enter your email address"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:25
+msgid "Please enter your first name"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:326
+#: templates/web/base/js/translation_strings.html:7
+msgid "Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/DB/Result/Comment.pm:125
+#: perllib/FixMyStreet/DB/Result/Problem.pm:377
+#: perllib/FixMyStreet/DB/Result/User.pm:157
+#: templates/web/base/js/translation_strings.html:6
+msgid "Please enter your name"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:22
+msgid "Please enter your phone number"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:26
+msgid "Please enter your second name"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:24
+msgid "Please enter your title"
+msgstr ""
+
+#: templates/web/base/auth/sign_out.html:5
+#: templates/web/zurich/auth/sign_out.html:5
+msgid "Please feel free to <a href=\"%s\">sign in again</a>, or go back to the <a href=\"/\">front page</a>."
+msgstr ""
+
+#: templates/web/base/report/new/fill_in_details_text.html:1
+#: templates/web/base/report/new/fill_in_details_text.html:8
+msgid "Please fill in details of the problem below."
+msgstr ""
+
+#: templates/web/zurich/report/new/fill_in_details_form.html:49
+msgid "Please fill in details of the problem."
+msgstr ""
+
+#: templates/web/base/report/new/sidebar.html:7
+#: templates/web/zurich/report/new/sidebar.html:14
+msgid "Please fill in the form below with details of the problem, and describe the location as precisely as possible in the details box."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:239
+msgid "Please indicate whether you'd like to receive another questionnaire"
+msgstr ""
+
+#: templates/web/base/report/updates-sidebar-notes.html:2
+msgid "Please note that updates are not sent to the council."
+msgstr ""
+
+#: templates/web/base/report/new/oauth_email_form.html:4
+msgid "Please note your report has <strong>not yet been sent</strong>."
+msgstr ""
+
+#: templates/web/base/report/new/fill_in_details_form.html:12
+#: templates/web/zurich/report/new/sidebar.html:5
+msgid "Please note your report has <strong>not yet been sent</strong>. Choose a category and add further information below, then submit."
+msgstr ""
+
+#: templates/web/base/report/display.html:34
+msgid "Please note your update has <strong>not yet been posted</strong>."
+msgstr ""
+
+#: templates/web/base/report/new/notes.html:1
+#: templates/web/zurich/report/new/notes.html:1
+msgid "Please note:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report.pm:353
+msgid "Please provide a public update for this report."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:242
+msgid "Please provide some explanation as to why you're reopening this report"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:249
+msgid "Please provide some text as well as a photo"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:115
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:235
+msgid "Please say whether you've ever reported a problem to your council before"
+msgstr ""
+
+#: templates/web/zurich/admin/report_edit.html:204
+msgid "Please select a body."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Alert.pm:83
+msgid "Please select the feed you want"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Alert.pm:131
+msgid "Please select the type of alert you want"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:231
+msgid "Please state whether or not the problem has been fixed"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Model/PhotoSet.pm:122
+#: perllib/FixMyStreet/App/Model/PhotoSet.pm:156
+#: perllib/FixMyStreet/App/Model/PhotoSet.pm:158
+#: templates/web/base/js/translation_strings.html:60
+msgid "Please upload an image only"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Contact.pm:116
+msgid "Please write a message"
+msgstr ""
+
+#: templates/web/base/report/update/form_update.html:36
+msgid "Please write your update here"
+msgstr ""
+
+#: templates/web/base/report/update-form.html:25
+#: templates/web/base/report/update/form_user_loggedout_by_email.html:14
+#: templates/web/base/report/update/form_user_loggedout_password.html:10
+msgid "Post"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:231
+msgid "Posted anonymously at %s"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:255
+msgid "Posted by %s at %s"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:243
+msgid "Posted by <strong>%s</strong> (%s) at %s"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:245
+msgid "Posted by <strong>%s</strong> at %s"
+msgstr ""
+
+#: templates/web/base/front/footer-marketing.html:6
+msgid "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
+msgstr ""
+
+#: templates/web/base/pagination.html:4
+msgid "Previous"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:665
+msgid "Priorities"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:123
+#: templates/web/base/report/_item.html:100
+msgid "Priority"
+msgstr ""
+
+#: templates/web/base/main_nav_items.html:43
+msgid "Privacy"
+msgstr ""
+
+#: templates/web/base/about/_sidebar.html:5
+#: templates/web/base/about/privacy.html:1
+#: templates/web/base/about/privacy.html:2
+msgid "Privacy and cookies"
+msgstr ""
+
+#: templates/web/base/admin/body.html:88
+#: templates/web/base/admin/contact-form.html:75
+#: templates/web/base/admin/report_edit.html:137
+msgid "Private"
+msgstr ""
+
+#: templates/web/base/report/new/form_user.html:1
+msgid "Private details"
+msgstr ""
+
+#: templates/web/base/maps/pin.html:13
+msgid "Problem"
+msgstr ""
+
+#: templates/web/base/admin/timeline.html:22
+msgid "Problem %d created"
+msgstr ""
+
+#: templates/web/base/admin/timeline.html:24
+msgid "Problem %s confirmed"
+msgstr ""
+
+#: templates/web/base/admin/timeline.html:26
+msgid "Problem %s sent to council %s"
+msgstr ""
+
+#: templates/web/base/admin/stats.html:57
+#: templates/web/base/admin/stats_by_state.html:12
+#: templates/web/zurich/admin/index.html:9
+msgid "Problem breakdown by state"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1272
+msgid "Problem marked as open."
+msgstr ""
+
+#: templates/web/base/admin/questionnaire.html:21
+msgid "Problem state change based on survey results"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:709
+#: templates/web/base/admin/flagged.html:10
+msgid "Problems"
+msgstr ""
+
+#: templates/web/base/alert/_list.html:22
+msgid "Problems in an area"
+msgstr ""
+
+#: templates/web/base/report/display_tools.html:22
+msgid "Problems nearby"
+msgstr ""
+
+#: templates/web/base/report/display_tools.html:20
+msgid "Problems on the map"
+msgstr ""
+
+#: db/alert_types.pl:14
+msgid "Problems recently reported fixed on FixMyStreet"
+msgstr ""
+
+#: templates/web/base/alert/_list.html:29
+msgid "Problems within %.1fkm of %s"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:838
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:137
+#: perllib/FixMyStreet/Cobrand/UK.pm:215 perllib/FixMyStreet/Cobrand/UK.pm:257
+#: perllib/FixMyStreet/Cobrand/UK.pm:269
+msgid "Problems within %s"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:229
+msgid "Problems within %s ward"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:263 perllib/FixMyStreet/Cobrand/UK.pm:275
+msgid "Problems within %s ward, %s"
+msgstr ""
+
+#. ("First %s is the body name, second %s the site name")
+#: templates/web/base/reports/body.html:0
+#: templates/web/base/reports/body.html:25
+msgid "Problems within %s, %s"
+msgstr ""
+
+#: templates/web/base/admin/report_edit.html:74
+msgid "Property address:"
+msgstr ""
+
+#: templates/web/base/report/duplicate-no-updates.html:2
+#: templates/web/base/report/update-form.html:6
+msgid "Provide an update"
+msgstr ""
+
+#: templates/web/base/report/update/form_name.html:10
+msgid "Provide update as"
+msgstr ""
+
+#: templates/web/base/auth/general.html:114
+msgid "Providing a name and password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
+msgstr ""
+
+#: templates/web/base/report/new/form_user_loggedout_by_email.html:31
+#: templates/web/base/report/update/form_user_loggedout_by_email.html:9
+msgid "Providing a password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
+msgstr ""
+
+#: templates/web/base/report/new/form_report.html:10
+msgid "Public details"
+msgstr ""
+
+#: templates/web/zurich/admin/report_edit.html:241
+#: templates/web/zurich/admin/report_edit.html:268
+msgid "Public response:"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:162
+msgid "Public update:"
+msgstr ""
+
+#: templates/web/zurich/admin/report_edit.html:123
+#: templates/web/zurich/admin/stats.html:38
+msgid "Publish photo"
+msgstr ""
+
+#: templates/web/base/questionnaire/completed.html:1
+#: templates/web/base/questionnaire/index.html:0
+#: templates/web/base/questionnaire/index.html:14
+#: templates/web/base/questionnaire/index.html:5
+msgid "Questionnaire"
+msgstr ""
+
+#: templates/web/base/admin/timeline.html:30
+msgid "Questionnaire %d answered for problem %d, %s to %s"
+msgstr ""
+
+#: templates/web/base/admin/timeline.html:28
+msgid "Questionnaire %d sent for problem %d"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:191
+msgid "Questionnaire filled in by problem reporter"
+msgstr ""
+
+#: templates/web/base/alert/_list.html:26
+#: templates/web/base/alert/updates.html:9
+#: templates/web/base/around/display_location.html:1
+#: templates/web/base/around/display_location.html:3
+#: templates/web/base/report/display_tools.html:42
+msgid "RSS feed"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
+msgid "RSS feed for %s"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:264 perllib/FixMyStreet/Cobrand/UK.pm:276
+msgid "RSS feed for %s ward, %s"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:153
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:179
+#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
+msgid "RSS feed of %s"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
+msgid "RSS feed of %s, within %s ward"
+msgstr ""
+
+#: templates/web/base/alert/_list.html:26
+msgid "RSS feed of nearby problems"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:839
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:136
+#: perllib/FixMyStreet/Cobrand/UK.pm:222
+msgid "RSS feed of problems within %s"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:228
+msgid "RSS feed of problems within %s ward"
+msgstr ""
+
+#: templates/web/base/around/display_location.html:1
+#: templates/web/base/around/display_location.html:4
+msgid "RSS feed of recent local problems"
+msgstr ""
+
+#: templates/web/base/alert/updates.html:9
+#: templates/web/base/report/display_tools.html:42
+msgid "RSS feed of updates to this problem"
+msgstr ""
+
+#: templates/web/base/alert/updates.html:14
+#: templates/web/base/report/display_tools.html:44
+msgid "Receive email when updates are left on this problem."
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:738
+msgid "Received by %s moments later"
+msgstr ""
+
+#. ("%s is the site name")
+#: templates/web/base/around/display_location.html:0
+#: templates/web/base/around/display_location.html:35
+msgid "Recent local problems, %s"
+msgstr ""
+
+#: templates/web/base/front/recent.html:11
+msgid "Recently reported problems"
+msgstr ""
+
+#: templates/web/base/reports/_list-filters.html:60
+msgid "Recently updated"
+msgstr ""
+
+#: templates/web/zurich/report/new/notes.html:5
+msgid "Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. If your problem is not appropriate for submission via this site remember that you can contact your council directly using their own website."
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:68
+msgid "Remove"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:4
+msgid "Remove field"
+msgstr ""
+
+#: templates/web/base/admin/report_blocks.html:23
+msgid "Remove flag"
+msgstr ""
+
+#: templates/web/base/report/_item.html:12
+#: templates/web/base/report/_item.html:9
+#: templates/web/base/report/_main.html:138
+#: templates/web/base/report/_main.html:18
+#: templates/web/base/report/_main.html:26
+msgid "Remove from shortlist"
+msgstr ""
+
+#: templates/web/base/report/display_tools.html:6
+msgid "Remove from site"
+msgstr ""
+
+#: templates/web/base/admin/report_edit.html:154
+#: templates/web/base/admin/update_edit.html:69
+#: templates/web/zurich/admin/update_edit.html:35
+msgid "Remove photo (can't be undone!)"
+msgstr ""
+
+#: templates/web/zurich/admin/report_edit.html:239
+msgid "Reply to user:"
+msgstr ""
+
+#: templates/web/base/header_logo.html:2
+msgid "Report"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:14
+#: templates/web/base/report/_item.html:78
+msgid "Report ID:"
+msgstr ""
+
+#: templates/web/base/header_logo.html:2
+#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:18
+#: templates/web/zurich/nav_over_content.html:4
+msgid "Report a problem"
+msgstr ""
+
+#: templates/web/base/report/display_tools.html:10
+#: templates/web/base/report/display_tools.html:9
+msgid "Report abuse"
+msgstr ""
+
+#: templates/web/base/report/new/form_user_loggedin.html:17
+msgid "Report as"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Rss.pm:298
+msgid "Report on %s"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:137
+msgid "Report state:"
+msgstr ""
+
+#: templates/web/base/report/new/fill_in_details_form.html:1
+#: templates/web/base/report/new/login_success_form.html:1
+#: templates/web/base/report/new/oauth_email_form.html:1
+msgid "Report your problem"
+msgstr ""
+
+#: templates/web/base/around/intro.html:1
+#: templates/web/zurich/around/intro.html:1
+msgid "Report, view, or discuss local problems"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:590
+#: templates/web/base/contact/index.html:55
+msgid "Reported anonymously at %s"
+msgstr ""
+
+#: templates/web/base/admin/questionnaire.html:5
+#: templates/web/base/questionnaire/index.html:64
+msgid "Reported before"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:614
+#: templates/web/base/contact/index.html:57
+msgid "Reported by %s at %s"
+msgstr ""
+
+#: templates/web/zurich/admin/report_edit-sdm.html:60
+#: templates/web/zurich/admin/report_edit.html:88
+msgid "Reported by:"
+msgstr ""
+
+#: templates/web/zurich/report/_main.html:2
+msgid "Reported in the %s category"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:587
+msgid "Reported in the %s category anonymously at %s"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:611
+msgid "Reported in the %s category by %s at %s"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:584
+msgid "Reported via %s anonymously at %s"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:608
+msgid "Reported via %s by %s at %s"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:581
+msgid "Reported via %s in the %s category anonymously at %s"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
+msgid "Reported via %s in the %s category by %s at %s"
+msgstr ""
+
+#: templates/web/zurich/admin/report_edit-sdm.html:38
+#: templates/web/zurich/admin/report_edit.html:57
+msgid "Reported:"
+msgstr ""
+
+#: templates/web/base/around/index.html:2
+#: templates/web/base/around/lookup_by_ref.html:2
+#: templates/web/base/js/translation_strings.html:42
+#: templates/web/base/report/new/fill_in_details.html:0
+#: templates/web/base/report/new/fill_in_details.html:8
+#: templates/web/zurich/report/new/fill_in_details_form.html:4
+msgid "Reporting a problem"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:655
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:388
+#: templates/web/base/dashboard/index.html:134
+#: templates/web/zurich/header.html:52
+msgid "Reports"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:333 perllib/FixMyStreet/Cobrand/UK.pm:335
+msgid "Reports are limited to %s characters in length. Please shorten your report"
+msgstr ""
+
+#: templates/web/zurich/admin/index-sdm.html:7
+msgid "Reports awaiting approval"
+msgstr ""
+
+#: templates/web/base/alert/_list.html:54
+msgid "Reports by destination"
+msgstr ""
+
+#: templates/web/base/admin/user-form.html:107
+msgid "Reports made by trusted users will be sent to the responsible body without being inspected first."
+msgstr ""
+
+#: templates/web/base/alert/_list.html:15
+msgid "Reports near %s are sent to different councils, depending on the type of problem."
+msgstr ""
+
+#: templates/web/zurich/admin/index-sdm.html:10
+msgid "Reports published"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:71
+msgid "Reports saved offline."
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+msgid "Reports sent to %s"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:290 perllib/FixMyStreet/Cobrand/UK.pm:302
+msgid "Reports sent to %s, within %s ward"
+msgstr ""
+
+#: templates/web/base/admin/index.html:56
+msgid "Reports waiting to be sent"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:90
+msgid "Reports will automatically be sent without needing to be inspected if the user's <strong>reputation</strong> is at or above this value. Set to <strong>0</strong> if all reports must be inspected regardless."
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:95
+msgid "Reputation threshold"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:20
+msgid "Required"
+msgstr ""
+
+#: templates/web/base/admin/report_edit.html:84
+msgid "Resend report"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/index.html:1
+msgid "Response Priorities"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/list.html:1
+msgid "Response Priorities for %s"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:1
+msgid "Response Priority for %s"
+msgstr ""
+
+#: templates/web/base/admin/template_edit.html:1
+msgid "Response Template for %s"
+msgstr ""
+
+#: templates/web/base/admin/templates_index.html:1
+msgid "Response Templates"
+msgstr ""
+
+#: templates/web/base/admin/templates.html:1
+#: templates/web/base/admin/templates.html:4
+#: templates/web/zurich/admin/template_edit.html:1
+#: templates/web/zurich/admin/template_edit.html:4
+msgid "Response Templates for %s"
+msgstr ""
+
+#: templates/web/base/report/update.html:40
+msgid "Revert to original"
+msgstr ""
+
+#: templates/web/base/report/_main.html:99
+msgid "Revert to original text"
+msgstr ""
+
+#: templates/web/base/report/_main.html:50
+msgid "Revert to original title"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:28
+#: templates/web/base/js/translation_strings.html:40
+msgid "Right place?"
+msgstr ""
+
+#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:167
+#: perllib/FixMyStreet/Geocode/OSM.pm:152
+msgid "Road operator for this named road (derived from road reference number and type): %s"
+msgstr ""
+
+#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:164
+#: perllib/FixMyStreet/Geocode/OSM.pm:149
+msgid "Road operator for this named road (from OpenStreetMap): %s"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1852
+#: templates/web/base/admin/report_edit.html:151
+#: templates/web/base/admin/update_edit.html:66
+#: templates/web/zurich/admin/report_edit.html:118
+msgid "Rotate Left"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: templates/web/base/admin/report_edit.html:152
+#: templates/web/base/admin/update_edit.html:67
+#: templates/web/zurich/admin/report_edit.html:119
+msgid "Rotate Right"
+msgstr ""
+
+#: templates/web/zurich/admin/report_edit.html:110
+msgid "Rotating this photo will discard unsaved changes to the report."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:47
+#: templates/web/base/maps/google-ol.html:16
+msgid "Satellite"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:182
+msgid "Save + close as duplicate"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:138
+#: templates/web/base/admin/reportextrafields/edit.html:64
+#: templates/web/base/admin/responsepriorities/edit.html:58
+#: templates/web/base/admin/template_edit.html:46
+#: templates/web/base/report/_inspect.html:182
+#: templates/web/base/report/_main.html:117
+#: templates/web/base/report/update.html:69
+#: templates/web/zurich/admin/body.html:62
+#: templates/web/zurich/admin/contact-form.html:22
+#: templates/web/zurich/admin/template_edit.html:29
+msgid "Save changes"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:64
+msgid "Save new fields"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:158
+msgid "Save with a public update"
+msgstr ""
+
+#. ("This is followed by a progress count, e.g. 3/5")
+#: templates/web/base/js/translation_strings.html:72
+msgid "Saving reports offline"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:132
+#, fuzzy
+msgid "Scheduled"
+msgstr "Acció programada"
+
+#: templates/web/base/admin/index.html:26
+#: templates/web/base/admin/reports.html:1
+#: templates/web/zurich/admin/reports.html:1
+msgid "Search Reports"
+msgstr ""
+
+#: templates/web/base/admin/index.html:32 templates/web/base/admin/users.html:1
+msgid "Search Users"
+msgstr ""
+
+#: templates/web/zurich/header.html:74
+msgid "Search reports"
+msgstr ""
+
+#: templates/web/base/admin/reports.html:5
+#: templates/web/base/admin/users.html:8
+#: templates/web/zurich/admin/reports.html:5
+msgid "Search:"
+msgstr ""
+
+#: templates/web/base/admin/reports.html:27
+msgid "Searching found no reports."
+msgstr ""
+
+#: templates/web/base/admin/users.html:42
+msgid "Searching found no users."
+msgstr ""
+
+#: templates/web/base/report/new/councils_text_private.html:7
+#: templates/web/base/report/new/form_user.html:5
+msgid "See our privacy policy"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:720
+msgid "See user detail for reports created as the council"
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:41
+#: templates/web/zurich/admin/body-form.html:16
+msgid "Select a body"
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:79
+#: templates/web/zurich/admin/body-form.html:26
+msgid "Select an area"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:33
+msgid "Select if this is the default priority"
+msgstr ""
+
+#: templates/web/base/admin/category-checkboxes.html:6
+msgid "Select:"
+msgstr ""
+
+#: templates/web/base/contact/index.html:107
+msgid "Send"
+msgstr ""
+
+#: templates/web/base/admin/open311-form-fields.html:109
+msgid "Send extended Open311 statuses with service request updates"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:831
+msgid "Sent report back"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:741
+msgid "Sent to %s %s later"
+msgstr ""
+
+#: templates/web/base/admin/report_edit.html:79
+msgid "Sent:"
+msgstr ""
+
+#: templates/web/base/admin/report_edit.html:90
+#: templates/web/zurich/admin/stats.html:45
+msgid "Service:"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:41
+msgid "Set to my current location"
+msgstr ""
+
+#: templates/web/base/report/display_tools.html:17
+msgid "Share"
+msgstr ""
+
+#: templates/web/base/main_nav_items.html:10
+#: templates/web/base/report/_main.html:140
+#: templates/web/base/report/_main.html:21
+#: templates/web/base/report/_main.html:29
+msgid "Shortlist"
+msgstr ""
+
+#: templates/web/base/reports/body.html:32
+msgid "Shortlist all visible"
+msgstr ""
+
+#: templates/web/base/report/_main.html:138
+#: templates/web/base/report/_main.html:20
+#: templates/web/base/report/_main.html:25
+#: templates/web/base/reports/_list-filters.html:9
+msgid "Shortlisted"
+msgstr ""
+
+#: templates/web/base/report/_item.html:15
+#: templates/web/base/report/_main.html:148
+msgid "Shortlisted by %s"
+msgstr ""
+
+#: templates/web/base/report/update.html:20
+msgid "Show Photo?"
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:26
+msgid "Show all updates"
+msgstr ""
+
+#: templates/web/base/report/new/form_user_loggedin.html:56
+#: templates/web/base/report/new/form_user_loggedout_by_email.html:22
+#: templates/web/base/report/update/form_name.html:37
+msgid "Show my name publicly"
+msgstr ""
+
+#: templates/web/base/report/update.html:17
+msgid "Show name publicly?"
+msgstr ""
+
+#: templates/web/base/around/display_location.html:69
+msgid "Show old"
+msgstr ""
+
+#: templates/web/base/report/_main.html:83
+msgid "Show photo"
+msgstr ""
+
+#: templates/web/base/around/display_location.html:60
+#: templates/web/base/js/translation_strings.html:54
+msgid "Show pins"
+msgstr ""
+
+#: templates/web/base/report/_main.html:60
+msgid "Show reporter&rsquo;s name"
+msgstr ""
+
+#: templates/web/base/reports/index.html:62
+msgid "Show reports in your area"
+msgstr ""
+
+#: templates/web/base/auth/general.html:119
+#: templates/web/base/auth/general.html:3
+#: templates/web/base/auth/general.html:88
+#: templates/web/base/main_nav_items.html:6
+#: templates/web/zurich/auth/general.html:18
+#: templates/web/zurich/auth/general.html:35
+msgid "Sign in"
+msgstr ""
+
+#: templates/web/base/auth/general.html:98
+msgid "Sign in by email instead, providing a new password. When you click the link in your email, your password will be updated."
+msgstr ""
+
+#: templates/web/base/auth/general.html:1
+#: templates/web/zurich/auth/general.html:1
+msgid "Sign in or create an account"
+msgstr ""
+
+#: templates/web/base/auth/sign_out.html:1 templates/web/base/my/my.html:25
+#: templates/web/zurich/auth/sign_out.html:1
+msgid "Sign out"
+msgstr ""
+
+#: templates/web/base/report/new/fill_in_details_text.html:1
+msgid "Some categories may require additional information."
+msgstr ""
+
+#: templates/web/base/admin/open311-form-fields.html:40
+#: templates/web/base/admin/open311-form-fields.html:41
+msgid ""
+"Some endpoints require an <strong>API key</strong> to indicate that the reports are being\n"
+" sent from your FixMyStreet installation."
+msgstr ""
+
+#: templates/web/base/alert/index.html:40
+msgid "Some photos of recent reports"
+msgstr ""
+
+#. ('Optional comment for translator')
+#: perllib/FixMyStreet/Template.pm:53
+msgid "Some text to localize"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:80
+msgid "Sorry, that appears to be a Crown dependency postcode, which we don't cover."
+msgstr ""
+
+#: templates/web/base/auth/token.html:8
+msgid "Sorry, that wasn&rsquo;t a valid link"
+msgstr ""
+
+#: templates/web/base/tokens/abuse.html:5
+msgid "Sorry, there has been an error confirming your problem."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:235
+#: perllib/FixMyStreet/Geocode.pm:37 perllib/FixMyStreet/Geocode/Bing.pm:38
+#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:56
+#: perllib/FixMyStreet/Geocode/OSM.pm:48
+msgid "Sorry, we could not find that location."
+msgstr ""
+
+#: templates/web/base/auth/general.html:11
+#: templates/web/base/report/display.html:29
+#: templates/web/base/report/new/fill_in_details_form.html:15
+msgid "Sorry, we could not log you in. Please fill in the form below."
+msgstr ""
+
+#: perllib/FixMyStreet/Geocode/Bing.pm:35
+#: perllib/FixMyStreet/Geocode/Google.pm:45
+#: perllib/FixMyStreet/Geocode/Zurich.pm:88
+msgid "Sorry, we could not parse that location. Please try again."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Model/PhotoSet.pm:139
+msgid "Sorry, we couldn't save your image(s), please try again."
+msgstr ""
+
+#: templates/web/base/offline/appcache.html:5
+msgid ""
+"Sorry, we don’t have a good enough connection to fetch that page, or the\n"
+"page wasn’t found or there was a server error. Please try again later."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Root.pm:124
+msgid "Sorry, you don't have permission to do that."
+msgstr ""
+
+#: templates/web/base/reports/_list-filters.html:53
+msgid "Sort by"
+msgstr ""
+
+#: templates/web/base/admin/user-form.html:47
+msgid "Staff users have permission to log in to the admin."
+msgstr ""
+
+#: templates/web/base/admin/user-form.html:50
+msgid "Staff:"
+msgstr ""
+
+#: templates/web/base/admin/stats.html:71
+msgid "Start Date:"
+msgstr ""
+
+#: templates/web/base/admin/body.html:73
+#: templates/web/base/admin/category_edit.html:29
+#: templates/web/base/admin/contact-form.html:53
+#: templates/web/base/admin/flagged.html:18
+#: templates/web/base/admin/index.html:64
+#: templates/web/base/admin/list_updates.html:11
+#: templates/web/base/admin/reports.html:16
+#: templates/web/base/admin/template_edit.html:40
+#: templates/web/base/report/_inspect.html:82
+#: templates/web/base/report/_item.html:96
+#: templates/web/base/report/update/form_update.html:39
+#: templates/web/zurich/admin/contact-form.html:10
+msgid "State"
+msgstr ""
+
+#: templates/web/base/report/update.html:48
+msgid "State changed to:"
+msgstr ""
+
+#: templates/web/base/admin/report_edit.html:116
+#: templates/web/base/admin/update_edit.html:28
+#: templates/web/zurich/admin/report_edit-sdm.html:75
+#: templates/web/zurich/admin/report_edit.html:103
+#: templates/web/zurich/admin/report_edit.html:151
+#: templates/web/zurich/admin/update_edit.html:17
+msgid "State:"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: templates/web/base/admin/states/index.html:1
+msgid "States"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
+#: templates/web/base/admin/index.html:71 templates/web/base/admin/stats.html:1
+#: templates/web/base/admin/stats_by_state.html:1
+#: templates/web/zurich/admin/stats.html:1 templates/web/zurich/header.html:65
+msgid "Stats"
+msgstr ""
+
+#: templates/web/zurich/admin/index-dm.html:23
+#: templates/web/zurich/admin/index-sdm.html:21
+#: templates/web/zurich/admin/reports.html:13
+msgid "Status"
+msgstr ""
+
+#: templates/web/base/report/updates.html:10
+msgid "Still open, via questionnaire, %s"
+msgstr ""
+
+#: templates/web/zurich/admin/report_edit-sdm.html:27
+#: templates/web/zurich/admin/report_edit.html:28
+msgid "Street View"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:46
+msgid "String"
+msgstr ""
+
+#: perllib/FixMyStreet/Script/Reports.pm:192
+msgid "Subcategory: %s"
+msgstr ""
+
+#: templates/web/zurich/admin/index-dm.html:27
+msgid "Subdivision/Body"
+msgstr ""
+
+#: templates/web/base/contact/index.html:92
+msgid "Subject"
+msgstr ""
+
+#: templates/web/base/admin/report_edit.html:110
+#: templates/web/zurich/admin/report_edit.html:41
+msgid "Subject:"
+msgstr ""
+
+#: templates/web/base/questionnaire/creator_fixed.html:19
+#: templates/web/base/report/new/form_user_loggedin.html:63
+#: templates/web/base/report/new/form_user_loggedout_by_email.html:36
+#: templates/web/base/report/new/form_user_loggedout_password.html:11
+#: templates/web/zurich/report/new/fill_in_details_form.html:73
+msgid "Submit"
+msgstr ""
+
+#: templates/web/base/admin/report_edit.html:162
+#: templates/web/base/admin/report_edit.html:24
+#: templates/web/base/admin/update_edit.html:77
+#: templates/web/base/admin/user-form.html:170
+#: templates/web/zurich/admin/report_edit-sdm.html:124
+#: templates/web/zurich/admin/report_edit.html:264
+#: templates/web/zurich/admin/update_edit.html:38
+msgid "Submit changes"
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:110
+msgid "Submit questionnaire"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:898
+#: templates/web/zurich/admin/header.html:1
+#: templates/web/zurich/admin/header.html:6
+#: templates/web/zurich/admin/index-dm.html:23
+#: templates/web/zurich/admin/index-dm.html:6
+#: templates/web/zurich/admin/index-sdm.html:21
+#: templates/web/zurich/admin/reports.html:13
+msgid "Submitted"
+msgstr ""
+
+#: templates/web/base/alert/_list.html:77
+#: templates/web/base/alert/_list.html:80
+#: templates/web/base/alert/updates.html:23
+#: templates/web/base/report/display_tools.html:51
+msgid "Subscribe"
+msgstr ""
+
+#: templates/web/base/alert/_list.html:72
+msgid "Subscribe by email"
+msgstr ""
+
+#: templates/web/base/report/new/form_report.html:19
+msgid "Summarise the problem"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:130
+msgid "Summarise your changes"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:637
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:387
+#: templates/web/base/admin/bodies.html:29
+#: templates/web/base/admin/index.html:1 templates/web/base/status/index.html:1
+#: templates/web/base/status/index.html:3
+#: templates/web/zurich/admin/index-dm.html:1
+#: templates/web/zurich/admin/index-sdm.html:1
+#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:12
+#: templates/web/zurich/header.html:49
+msgid "Summary"
+msgstr ""
+
+#: templates/web/zurich/reports/index.html:0
+#: templates/web/zurich/reports/index.html:4
+msgid "Summary reports"
+msgstr ""
+
+#: templates/web/base/admin/user-form.html:133
+msgid "Superuser:"
+msgstr ""
+
+#: templates/web/base/admin/user-form.html:130
+msgid "Superusers have permission to perform <strong>all actions</strong> within the admin."
+msgstr ""
+
+#: templates/web/base/admin/questionnaire.html:1
+#: templates/web/base/admin/stats.html:56
+msgid "Survey Results"
+msgstr ""
+
+#: templates/web/zurich/admin/template_edit.html:7
+msgid "Template &laquo;%s&raquo;"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:661
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
+#: templates/web/zurich/header.html:69
+msgid "Templates"
+msgstr ""
+
+#: templates/web/base/admin/list_updates.html:12
+#: templates/web/base/admin/templates.html:11
+msgid "Text"
+msgstr ""
+
+#: templates/web/base/admin/body.html:32
+msgid "Text only version"
+msgstr ""
+
+#: templates/web/base/admin/template_edit.html:17
+#: templates/web/base/admin/update_edit.html:20
+#: templates/web/zurich/admin/template_edit.html:24
+#: templates/web/zurich/admin/update_edit.html:12
+msgid "Text:"
+msgstr ""
+
+#: templates/web/base/tokens/confirm_problem.html:25
+msgid "Thank you for reporting this issue!"
+msgstr ""
+
+#: templates/web/base/tokens/error.html:6
+msgid "Thank you for trying to confirm your update or problem. We seem to have an error ourselves though, so <a href=\"%s\">please let us know what went on</a> and we'll look into it."
+msgstr ""
+
+#: templates/web/base/tokens/confirm_update.html:16
+msgid "Thank you for updating this issue!"
+msgstr ""
+
+#: templates/web/base/contact/submit.html:6
+msgid "Thank you for your enquiry"
+msgstr ""
+
+#: templates/web/base/questionnaire/completed.html:5
+msgid "Thank you for your feedback"
+msgstr ""
+
+#: templates/web/base/around/_error_multiple.html:17
+msgid "Thanks for uploading your photo. We now need to locate your problem, so please enter a nearby street name or postcode in the box above&nbsp;:"
+msgstr ""
+
+#: templates/web/base/questionnaire/creator_fixed.html:9
+msgid "Thanks, glad to hear it's been fixed! Could we just ask if you have ever reported a problem to a council before?"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Model/PhotoSet.pm:163
+msgid "That image doesn't appear to have uploaded correctly (%s), please try again."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Council.pm:102
+msgid "That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Location.pm:127
+msgid "That location does not appear to be in the UK; please try again."
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:45
+#: perllib/FixMyStreet/Cobrand/FixaMinGata.pm:50
+#: perllib/FixMyStreet/Cobrand/UK.pm:73
+msgid "That postcode was not recognised, sorry."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:850
+msgid "That problem has been marked as sent."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:843
+msgid "That problem will now be resent."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report.pm:134
+msgid "That report cannot be viewed on %s."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report.pm:128
+msgid "That report has been removed from FixMyStreet."
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:27
+msgid ""
+"The <strong>email address</strong> is the destination to which reports about this category will be sent. \n"
+" Other categories for this body may have the same email address."
+msgstr ""
+
+#: templates/web/base/admin/open311-form-fields.html:14
+#: templates/web/base/admin/open311-form-fields.html:15
+msgid ""
+"The <strong>endpoint</strong> is the URL of the service that FixMyStreet will connect to \n"
+" when sending reports to this body."
+msgstr ""
+
+#: templates/web/base/admin/open311-form-fields.html:27
+#: templates/web/base/admin/open311-form-fields.html:28
+msgid ""
+"The <strong>jurisdiction</strong> is only needed if the endpoint is serving more\n"
+" than one. If the body is running its own endpoint, you can usually leave this blank."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:102
+#: templates/web/base/admin/body-form.html:103
+#: templates/web/base/admin/contact-form.html:104
+#: templates/web/base/admin/contact-form.html:105
+msgid ""
+"The <strong>send method</strong> determines how problem reports will be sent to the body.\n"
+" If you leave this blank, <strong>send method defaults to email</strong>."
+msgstr ""
+
+#: templates/web/base/open311/index.html:82
+msgid "The Open311 v2 attribute agency_responsible is used to list the administrations that received the problem report, which is not quite the way the attribute is defined in the Open311 v2 specification."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:17
+#: templates/web/base/admin/body-form.html:18
+msgid ""
+"The body's <strong>name</strong> identifies the body (for example, <em>Borsetshire District Council</em>)\n"
+" and may be displayed publically."
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:12
+msgid "The code used to store this field value in the database. e.g. <code>address</code> would be available as <code>problem.extra.address</code> in the templates."
+msgstr ""
+
+#: templates/web/base/report/new/fill_in_details_text.html:1
+#: templates/web/base/report/new/fill_in_details_text.html:3
+msgid "The council won&rsquo;t be able to help unless you leave as much detail as you can. Please describe the exact location of the problem (e.g. on a wall), what it is, how long it has been there, a description (and a photo of the problem if you have one), etc."
+msgstr ""
+
+#: templates/web/base/admin/edit-league.html:3
+#: templates/web/base/admin/edit-league.html:4
+msgid "The diligency prize league table shows editors' activity (who's been editing the most records)."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:63
+#: perllib/FixMyStreet/App/Controller/Reports.pm:103
+msgid "The error was: %s"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:30
+msgid "The field name as shown to the user on the report form."
+msgstr ""
+
+#: templates/web/base/open311/index.html:78
+msgid "The following Open311 v2 attributes are returned for each request: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
+msgstr ""
+
+#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:159
+#: perllib/FixMyStreet/Geocode/OSM.pm:144
+msgid "The following information about the nearest road might be inaccurate or irrelevant, if the problem is close to several roads or close to a road without a name registered in OpenStreetMap."
+msgstr ""
+
+#: db/alert_types.pl:19 db/alert_types.pl:23 db/alert_types.pl:27
+#: db/alert_types.pl:31
+msgid "The latest local problems reported by users"
+msgstr ""
+
+#: db/alert_types.pl:35
+msgid "The latest problems for {{COUNCIL}} reported by users"
+msgstr ""
+
+#: db/alert_types.pl:39
+msgid "The latest problems for {{COUNCIL}} within {{WARD}} ward reported by users"
+msgstr ""
+
+#: db/alert_types.pl:11
+msgid "The latest problems reported by users"
+msgstr ""
+
+#: db/alert_types.pl:15
+msgid "The latest problems reported fixed by users"
+msgstr ""
+
+#: db/alert_types.pl:43
+msgid "The latest problems within {{NAME}}'s boundary reported by users"
+msgstr ""
+
+#: templates/web/base/auth/token.html:9
+msgid "The link might have expired, or maybe you didn&rsquo;t quite copy and paste it correctly."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:66
+msgid "The list of available areas is being provided by the MapIt service at %s."
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:6
+msgid "The ordering of this field on the report page. Fields are shown in ascending order according to this value."
+msgstr ""
+
+#: templates/web/base/auth/change_password.html:22
+#: templates/web/base/auth/change_password.html:26
+msgid "The passwords do not match"
+msgstr ""
+
+#: templates/web/base/errors/page_error_404_not_found.html:9
+msgid "The requested URL '%s' was not found on this server"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:42
+msgid "The type of input field to show to the user. <strong>Text</strong> is a simple text field, <strong>List</strong> is a drop-down selection."
+msgstr ""
+
+#: perllib/FixMyStreet/Script/Reports.pm:96
+msgid "The user could not locate the problem on a map, but to see the area around the location they entered"
+msgstr ""
+
+#: templates/web/base/admin/user-form.html:10
+#: templates/web/base/admin/user-form.html:11
+msgid ""
+"The user's <strong>name</strong> is displayed publicly on reports that have not been marked <em>anonymous</em>.\n"
+" Names are not necessarily unique."
+msgstr ""
+
+#: templates/web/base/around/on_map_list_items.html:12
+#: templates/web/base/my/_problem-list.html:8
+#: templates/web/base/reports/_problem-list.html:13
+msgid "There are no reports to show."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Reports.pm:100
+msgid "There was a problem showing the All Reports page. Please try again later."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Contact.pm:138
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:62
+msgid "There was a problem showing this page. Please try again later."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:785
+#: perllib/FixMyStreet/App/Controller/Report/Update.pm:152
+#: templates/web/base/auth/general.html:55
+#: templates/web/zurich/auth/general.html:28
+msgid "There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the &lsquo;sign in by email&rsquo; section of the form."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Alert.pm:359
+msgid "There was a problem with your email/password combination. Please try again."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/Update.pm:357
+msgid "There was a problem with your update. Please try again."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Contact.pm:142
+msgid "There were problems with your report. Please see below."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/Update.pm:392
+msgid "There were problems with your update. Please see below."
+msgstr ""
+
+#: templates/web/base/admin/open311-form-fields.html:3
+#: templates/web/base/admin/open311-form-fields.html:4
+msgid ""
+"These settings are for bodies that use Open311 (or other back-end integration) to receive problem reports.<br>\n"
+" <strong>You don't need to set them if the Send Method is email.</strong>.\n"
+" For more information on Open311, see \n"
+" <a href='https://www.mysociety.org/2013/01/17/open311-explained/' class='admin-offsite-link'>this article</a>.\n"
+" "
+msgstr ""
+
+#: templates/web/base/report/new/councils_text.html:3
+#: templates/web/base/report/new/councils_text.html:4
+msgid "These will be published online for others to see, in accordance with our <a href=\"%s\">privacy policy</a>."
+msgstr ""
+
+#: templates/web/base/report/new/councils_text_all.html:4
+#: templates/web/base/report/new/councils_text_all.html:6
+msgid "These will be sent to <strong>%s</strong> and also published online for others to see, in accordance with our <a href=\"%s\">privacy policy</a>."
+msgstr ""
+
+#: templates/web/base/report/new/councils_text_private.html:5
+#: templates/web/base/report/new/form_user.html:4
+msgid "These will be sent to the council, but will never be shown online."
+msgstr ""
+
+#: templates/web/base/report/new/councils_text_private.html:3
+msgid "These will never be shown online."
+msgstr ""
+
+#: templates/web/base/open311/index.html:69
+msgid "This API implementation is work in progress and not yet stabilized. It will change without warnings in the future."
+msgstr ""
+
+#: templates/web/base/admin/body.html:48
+msgid ""
+"This body covers no area. This means that it has no jurisdiction over problems reported <em>at any location</em>.\n"
+" Consequently, none of its categories will appear in the drop-down category menu when users report problems.\n"
+" Currently, users <strong>cannot report problems to this body</strong>."
+msgstr ""
+
+#: templates/web/base/admin/body.html:58
+msgid "This body has no contacts. This means that currently problems reported to this body <strong>will not be sent</strong>."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:60
+#: templates/web/base/admin/body-form.html:61
+msgid ""
+"This body will only be sent reports for problems that are located in the <strong>area covered</strong>.\n"
+" A body will not receive any reports unless it covers at least one area."
+msgstr ""
+
+#: perllib/FixMyStreet/Script/Reports.pm:199
+msgid "This email has been sent to both councils covering the location of the problem, as the user did not categorise it; please ignore it if you're not the correct council to deal with the issue, or let us know what category of problem this is so we can add it to our system."
+msgstr ""
+
+#: perllib/FixMyStreet/Script/Reports.pm:202
+msgid "This email has been sent to several councils covering the location of the problem, as the category selected is provided for all of them; please ignore it if you're not the correct council to deal with the issue."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1017
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:910
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:954
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:971
+#: perllib/FixMyStreet/Cobrand/UK.pm:45
+msgid "This information is required"
+msgstr ""
+
+#: templates/web/base/debug_header.html:3
+msgid "This is a developer site; things might break at any time, and the database will be periodically deleted."
+msgstr ""
+
+#: templates/web/base/report/new/form_report.html:58
+msgid "This pothole has been here for two months and…"
+msgstr ""
+
+#: templates/web/base/report/update/form_update.html:55
+msgid "This problem has been fixed"
+msgstr ""
+
+#: templates/web/base/report/update/form_update.html:48
+msgid "This problem has not been fixed"
+msgstr ""
+
+#: templates/web/base/report/update/form_update.html:46
+msgid "This problem is still ongoing"
+msgstr ""
+
+#: templates/web/base/report/duplicate-no-updates.html:3
+msgid "This report is a duplicate. Please leave updates on the original report:"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:166
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:167
+#: templates/web/zurich/report/_main.html:14
+msgid "This report is awaiting moderation."
+msgstr ""
+
+#: perllib/FixMyStreet/Script/Alerts.pm:98
+msgid "This report is currently marked as closed."
+msgstr ""
+
+#: perllib/FixMyStreet/Script/Alerts.pm:96
+msgid "This report is currently marked as fixed."
+msgstr ""
+
+#: perllib/FixMyStreet/Script/Alerts.pm:100
+msgid "This report is currently marked as open."
+msgstr ""
+
+#: perllib/FixMyStreet/Script/Reports.pm:109
+msgid "This report was submitted anonymously"
+msgstr ""
+
+#: perllib/FixMyStreet/Script/Reports.pm:89
+msgid "This web page also contains a photo of the problem, provided by the user."
+msgstr ""
+
+#: templates/web/zurich/admin/report_edit-sdm.html:119
+#: templates/web/zurich/admin/report_edit-sdm.html:78
+#: templates/web/zurich/admin/report_edit.html:106
+#: templates/web/zurich/admin/report_edit.html:144
+msgid "Time spent (in minutes):"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:638
+#: templates/web/base/admin/timeline.html:1
+msgid "Timeline"
+msgstr ""
+
+#: templates/web/base/report/new/after_photo.html:1
+msgid "Tips for perfect photos"
+msgstr ""
+
+#: templates/web/base/admin/flagged.html:15
+#: templates/web/base/admin/index.html:61
+#: templates/web/base/admin/reports.html:13
+#: templates/web/base/admin/templates.html:10
+msgid "Title"
+msgstr ""
+
+#: templates/web/base/admin/template_edit.html:13
+#: templates/web/zurich/admin/template_edit.html:20
+msgid "Title:"
+msgstr ""
+
+#: templates/web/base/alert/index.html:25
+msgid "To find out what local alerts we have for you, please enter your %s postcode or street name and area:"
+msgstr ""
+
+#: templates/web/base/alert/index.html:27
+msgid "To find out what local alerts we have for you, please enter your postcode or street name and area"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:19
+msgid "To limit this collection of fields to a single cobrand, select it here."
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:40
+msgid "To limit this collection of fields to a single language, select it here."
+msgstr ""
+
+#: perllib/FixMyStreet/Script/Reports.pm:95
+msgid "To view a map of the precise location of this issue"
+msgstr ""
+
+#: templates/web/base/reports/index.html:97
+msgid "Top 5 most used categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:83
+msgid "Top 5 responsive councils"
+msgstr ""
+
+#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/stats.html:24
+#: templates/web/base/admin/stats.html:43
+#: templates/web/base/admin/stats_fix_rate.html:4
+#: templates/web/zurich/admin/stats.html:30
+msgid "Total"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:97
+msgid "Total marked"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:71
+msgid "Total marked as fixed"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:125
+msgid "Total not marked"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:54
+#: templates/web/base/dashboard/index.html:56
+msgid "Total reports received"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:134
+#: templates/web/base/report/_item.html:104
+msgid "Traffic management required?"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:7
+msgid "Translation"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:2
+msgid "Translations"
+msgstr ""
+
+#: templates/web/base/admin/user-form.html:111
+msgid "Trusted by bodies:"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:726
+msgid "Trusted to make reports that don't need to be inspected"
+msgstr ""
+
+#: templates/web/base/admin/user-form.html:119
+msgid "Trusted:"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:29
+msgid "Try again"
+msgstr ""
+
+#: templates/web/base/contact/submit.html:14
+msgid "Try emailing us directly:"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:44
+#: templates/web/base/admin/states/index.html:10
+#: templates/web/base/admin/states/index.html:100
+msgid "Type"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:59
+#: templates/web/base/admin/contact-form.html:55
+#: templates/web/base/admin/update_edit.html:30
+#: templates/web/zurich/admin/report_edit-sdm.html:66
+#: templates/web/zurich/admin/report_edit.html:94
+#: templates/web/zurich/admin/update_edit.html:18
+msgid "Unconfirmed"
+msgstr ""
+
+#: templates/web/base/reports/_list-filters.html:5
+msgid "Unfixed reports"
+msgstr ""
+
+#: templates/web/base/report/banner.html:9
+msgid "Unknown"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Rss.pm:174
+msgid "Unknown alert type"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Photo.pm:109
+#: perllib/FixMyStreet/App/Controller/Root.pm:141
+#: templates/web/base/js/translation_strings.html:38
+msgid "Unknown error"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report.pm:112
+#: perllib/FixMyStreet/App/Controller/Report.pm:118
+#: perllib/FixMyStreet/App/Controller/Report.pm:121
+msgid "Unknown problem ID"
+msgstr ""
+
+#: templates/web/base/reports/_list-filters.html:10
+msgid "Unshortlisted"
+msgstr ""
+
+#: templates/web/base/report/_item.html:26
+msgid "Up one"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:76
+#: templates/web/base/report/update/form_update.html:29
+msgid "Update"
+msgstr ""
+
+#: templates/web/base/admin/timeline.html:33
+msgid "Update %s created for problem %d; by %s"
+msgstr ""
+
+#: templates/web/base/contact/index.html:28
+msgid "Update below added anonymously at %s"
+msgstr ""
+
+#: templates/web/base/contact/index.html:30
+msgid "Update below added by %s at %s"
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:140
+#: templates/web/zurich/admin/body-form.html:52
+msgid "Update body"
+msgstr ""
+
+#: templates/web/base/admin/stats_by_state.html:21
+msgid "Update breakdown by state"
+msgstr ""
+
+#: db/alert_types.pl:7
+msgid "Update by {{name}}"
+msgstr ""
+
+#: templates/web/base/admin/update_edit.html:44
+#: templates/web/zurich/admin/update_edit.html:25
+msgid "Update changed problem state to %s"
+msgstr ""
+
+#: templates/web/base/admin/update_edit.html:46
+msgid "Update marked problem as fixed"
+msgstr ""
+
+#: templates/web/base/admin/update_edit.html:48
+msgid "Update reopened problem"
+msgstr ""
+
+#: templates/web/base/admin/body.html:110
+msgid "Update statuses"
+msgstr ""
+
+#: templates/web/zurich/admin/index-dm.html:23
+#: templates/web/zurich/admin/index-sdm.html:21
+#: templates/web/zurich/admin/reports.html:13
+msgid "Updated"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:249
+msgid "Updated by <strong>%s</strong> (%s) at %s"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:251
+#, fuzzy
+msgid "Updated by <strong>%s</strong> at %s"
+msgstr "<strong>%s</strong> problemes actuals"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1262
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1326
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1489
+#: perllib/FixMyStreet/App/Controller/Admin.pm:910
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:767
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:792
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:862
+msgid "Updated!"
+msgstr ""
+
+#: templates/web/base/admin/list_updates.html:2
+#: templates/web/base/report/update.html:5
+#: templates/web/zurich/report/updates.html:2
+msgid "Updates"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:134
+msgid "Updates are limited to %s characters in length. Please shorten your update"
+msgstr ""
+
+#: db/alert_types.pl:5 db/alert_types.pl:6
+msgid "Updates on {{title}}"
+msgstr ""
+
+#. ("%s is the site name")
+#: templates/web/base/report/display.html:0
+#: templates/web/base/report/display.html:9
+msgid "Updates to this problem, %s"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:43
+#: templates/web/base/admin/contact-form.html:44
+msgid ""
+"Use <strong>confirmed</strong> to indicate that this contact has been\n"
+"confirmed as correct. If you are not sure of the origin or validity of the\n"
+"contact, use <strong>unconfirmed</strong>. <strong>inactive</strong> will\n"
+"remove the category from use when reporting problems, but keep it available in\n"
+"map filters, and <strong>deleted</strong> will remove the category from there\n"
+"as well."
+msgstr ""
+
+#: templates/web/base/admin/open311-form-fields.html:65
+msgid "Use Open311 update-sending extension"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:125
+msgid "Use this field to record details that are only displayed in the admin. Input is not shown publicly, and is not sent to the body."
+msgstr ""
+
+#: templates/web/zurich/admin/report_edit-sdm.html:50
+#: templates/web/zurich/admin/report_edit.html:69
+msgid "Used map"
+msgstr ""
+
+#: templates/web/base/admin/open311-form-fields.html:78
+msgid "User ID to attribute fetched comments to"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1805
+msgid "User flag removed"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1777
+msgid "User flagged"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:54
+#: templates/web/base/dashboard/index.html:58
+msgid "User has marked as fixed"
+msgstr ""
+
+#: templates/web/base/admin/users.html:5
+msgid "User search finds matches in users' names and email addresses."
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:669
+#: perllib/FixMyStreet/Cobrand/Default.pm:728
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:403
+#: templates/web/base/admin/flagged.html:29 templates/web/zurich/header.html:61
+msgid "Users"
+msgstr ""
+
+#: templates/web/base/admin/user-form.html:141
+msgid "Users can perform the following actions within their assigned body or area."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:381
+#: perllib/FixMyStreet/App/Controller/Admin.pm:417
+#: perllib/FixMyStreet/App/Controller/Admin.pm:439
+msgid "Values updated"
+msgstr ""
+
+#: templates/web/base/admin/report_edit.html:35
+#: templates/web/base/admin/update_edit.html:18
+#: templates/web/zurich/admin/report_edit-sdm.html:23
+#: templates/web/zurich/admin/report_edit.html:24
+#: templates/web/zurich/admin/update_edit.html:10
+msgid "View report on site"
+msgstr ""
+
+#: templates/web/base/reports/body.html:14
+msgid "View reports by ward"
+msgstr ""
+
+#: templates/web/base/around/display_location.html:0
+#: templates/web/base/around/display_location.html:37
+msgid "Viewing a location"
+msgstr ""
+
+#: templates/web/base/report/display.html:0
+msgid "Viewing a problem"
+msgstr ""
+
+#. ("Week to date")
+#: templates/web/base/dashboard/index.html:48
+msgid "WTD"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:20
+msgid "Ward:"
+msgstr ""
+
+#: templates/web/base/reports/body.html:16
+msgid "Wards of this council"
+msgstr ""
+
+#: templates/web/base/alert/choose.html:6
+#: templates/web/base/around/_error_multiple.html:6
+msgid "We found more than one match for that location. We show up to ten matches, please try a different search if yours is not here."
+msgstr ""
+
+#: templates/web/base/around/lookup_by_ref.html:5
+msgid "We found more than one match for that problem reference:"
+msgstr ""
+
+#: templates/web/base/auth/general.html:8
+#: templates/web/base/report/display.html:35
+#: templates/web/base/report/new/oauth_email_form.html:5
+msgid "We need your email address, please give it below."
+msgstr ""
+
+#: perllib/FixMyStreet/Script/Reports.pm:208
+msgid "We realise this problem might be the responsibility of %s; however, we don't currently have any contact details for them. If you know of an appropriate contact address, please do get in touch."
+msgstr ""
+
+#: templates/web/base/index-steps.html:11
+msgid "We send it to the council on your behalf"
+msgstr ""
+
+#: templates/web/base/report/new/notes.html:4
+#: templates/web/zurich/report/new/notes.html:4
+msgid "We will only use your personal information in accordance with our <a href=\"/privacy\">privacy policy.</a>"
+msgstr ""
+
+#: templates/web/base/questionnaire/completed-open.html:2
+msgid "We&rsquo;re sorry to hear the problem’s not fixed. Why not try writing to your local representatives?"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:48
+msgid "Week To Date"
+msgstr ""
+
+#: templates/web/base/contact/submit.html:7
+msgid "We’ll get back to you as soon as we can."
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:73
+msgid "What was your experience of getting the problem fixed?"
+msgstr ""
+
+#: templates/web/base/admin/category_edit.html:27
+#: templates/web/zurich/admin/body.html:18
+msgid "When edited"
+msgstr ""
+
+#: templates/web/base/admin/problem_row.html:35
+msgid "When sent"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:18
+msgid "Whether the user is required to provide a value for this field."
+msgstr ""
+
+#: templates/web/base/alert/_list.html:9
+msgid "Which problems do you want alerts about?"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:99
+msgid "Which report is it a duplicate of?"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:57
+msgid "Whoa there Testino! Three photos are enough."
+msgstr ""
+
+#: templates/web/base/tokens/confirm_alert.html:7
+msgid "Why stop there? <a href=\"/alert\">Set up more alerts</a> for free."
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:190
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
+#: templates/web/zurich/admin/header.html:1
+#: templates/web/zurich/admin/header.html:14
+msgid "Wish"
+msgstr ""
+
+#: templates/web/base/open311/index.html:84
+msgid "With request searches, it is also possible to search for agency_responsible to limit the requests to those sent to a single administration. The search term is the administration ID provided by <a href=\"%s\">MaPit</a>."
+msgstr ""
+
+#: templates/web/base/front/footer-marketing.html:3
+msgid "Would you like to contribute to FixMyStreet? Our code is open source and <a href=\"http://fixmystreet.org\">available at fixmystreet.org</a>."
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:101
+msgid "Would you like to receive another questionnaire in 4 weeks, reminding you to check the status?"
+msgstr ""
+
+#: templates/web/base/report/new/notes.html:7
+msgid "Writing your message entirely in block capitals makes it hard to read, as does a lack of punctuation."
+msgstr ""
+
+#: templates/web/base/report/new/fill_in_details_form.html:4
+msgid "Wrong location? Just click again on the map."
+msgstr ""
+
+#. ("Year to date")
+#: templates/web/base/dashboard/index.html:51
+msgid "YTD"
+msgstr ""
+
+#: templates/web/base/admin/stats.html:10
+msgid "Year"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:1236
+#: templates/web/base/admin/bodies.html:70
+#: templates/web/base/admin/category_edit.html:5
+#: templates/web/base/admin/flagged.html:47
+#: templates/web/base/admin/list_updates.html:32
+#: templates/web/base/admin/list_updates.html:34
+#: templates/web/base/admin/list_updates.html:35
+#: templates/web/base/admin/problem_row.html:20
+#: templates/web/base/admin/report_edit.html:124
+#: templates/web/base/admin/report_edit.html:95
+#: templates/web/base/admin/update_edit.html:25
+#: templates/web/base/admin/users.html:32
+#: templates/web/base/questionnaire/creator_fixed.html:14
+#: templates/web/base/questionnaire/index.html:104
+#: templates/web/base/questionnaire/index.html:53
+#: templates/web/base/report/_inspect.html:90
+msgid "Yes"
+msgstr ""
+
+#: templates/web/base/report/new/form_user_loggedout_password.html:5
+#: templates/web/base/report/update/form_user_loggedout_password.html:4
+msgid "Yes I have a password"
+msgstr ""
+
+#: templates/web/base/contact/index.html:45
+msgid "You are complaining that this problem report was unnecessarily moderated:"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:73
+msgid "You are offline"
+msgstr ""
+
+#: templates/web/base/contact/unsuitable-text.html:2
+msgid "You are reporting the following problem report for being abusive, containing personal information, or similar:"
+msgstr ""
+
+#: templates/web/base/contact/index.html:22
+msgid "You are reporting the following update for being abusive, containing personal information, or similar:"
+msgstr ""
+
+#: templates/web/zurich/tokens/confirm_problem.html:5
+#: templates/web/zurich/tokens/confirm_problem.html:8
+msgid "You can <a href=\"%s%s\">view the problem on this site</a>."
+msgstr ""
+
+#: templates/web/base/admin/user-form.html:96
+msgid "You can add an abusive user's email to the abuse list, which automatically hides (and never sends) reports they create."
+msgstr ""
+
+#: templates/web/base/alert/_list.html:18
+msgid "You can choose to subscribe to all problems reported in an area, or reports based on their destination."
+msgstr ""
+
+#: templates/web/base/contact/index.html:115
+msgid "You can contact technical support on <a href='mailto:%s'>%s</a>"
+msgstr ""
+
+#: templates/web/base/admin/flagged.html:5
+msgid ""
+"You can flag any report or user by editing them, and they will be listed on this page.\n"
+" For example, this can useful if you want to keep an eye on a user who has posted inappropriate\n"
+" reports in the past."
+msgstr ""
+
+#: templates/web/base/report/new/top_message_none.html:12
+#: templates/web/base/report/new/top_message_none.html:14
+#: templates/web/base/report/new/top_message_some.html:11
+#: templates/web/base/report/new/top_message_some.html:9
+msgid "You can help us by finding a contact email address for local problems for %s and emailing it to us at <a href='mailto:%s'>%s</a>."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:93
+msgid "You can mark a body as deleted if you do not want it to be active on the site."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:35
+msgid "You declined; please fill in the box above"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:75
+msgid "You have <a id=\"oFN\" href=\"\"><span>%s</span> saved to submit</a>."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:38
+msgid "You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"
+msgstr ""
+
+#: templates/web/base/report/new/form_report.html:39
+#: templates/web/zurich/report/new/fill_in_details_form.html:30
+msgid "You have already attached photos to this report. Note that you can attach a maximum of 3 to this report (if you try to upload more, the oldest will be removed)."
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:87
+#: templates/web/base/report/update/form_update.html:16
+msgid "You have already attached photos to this update. Note that you can attach a maximum of 3 to this update (if you try to upload more, the oldest will be removed)."
+msgstr ""
+
+#: templates/web/base/auth/sign_out.html:4
+#: templates/web/zurich/auth/sign_out.html:3
+msgid "You have been signed out"
+msgstr ""
+
+#: templates/web/zurich/report/new/sidebar.html:7
+msgid "You have located the problem at the point marked with a green pin on the map. If this is not the correct location, simply click on the map again. "
+msgstr ""
+
+#: templates/web/base/auth/change_email.html:6
+#: templates/web/zurich/tokens/confirm_problem.html:5
+#: templates/web/zurich/tokens/confirm_problem.html:6
+msgid "You have successfully confirmed your email address."
+msgstr ""
+
+#: templates/web/base/report/display.html:25
+#: templates/web/base/report/new/login_success_form.html:3
+msgid "You have successfully signed in; please check and confirm your details are accurate:"
+msgstr ""
+
+#: templates/web/base/my/my.html:31
+msgid "You haven&rsquo;t created any reports yet. <a href=\"%s\">Report a problem now.</a>"
+msgstr ""
+
+#: templates/web/base/my/planned.html:21
+msgid "You haven&rsquo;t shortlisted any reports yet."
+msgstr ""
+
+#: templates/web/base/admin/index.html:19
+msgid "You need to <a href=\"%s\">add some bodies</a> (such as councils or departments) before any reports can be sent."
+msgstr ""
+
+#: templates/web/base/admin/bodies.html:11
+msgid ""
+"You need to add bodies (such as councils or departments) so that you can then add\n"
+" the categories of problems they can handle (such as potholes or streetlights) and the\n"
+" contacts (such as an email address) to which reports are sent."
+msgstr ""
+
+#: templates/web/base/my/my.html:0 templates/web/base/my/my.html:5
+msgid "Your Reports"
+msgstr ""
+
+#: templates/web/base/auth/change_password.html:11
+#: templates/web/base/main_nav_items.html:4 templates/web/base/my/my.html:18
+msgid "Your account"
+msgstr ""
+
+#: templates/web/base/alert/updates.html:19
+#: templates/web/base/alert/updates.html:22
+#: templates/web/base/contact/index.html:80
+#: templates/web/base/report/display_tools.html:46
+#: templates/web/base/report/display_tools.html:49
+#: templates/web/base/report/new/form_user_loggedout_email.html:1
+#: templates/web/base/report/update/form_user_loggedout_email.html:1
+#: templates/web/zurich/report/new/fill_in_details_form.html:53
+msgid "Your email"
+msgstr ""
+
+#: templates/web/base/auth/change_email.html:9
+#: templates/web/base/auth/general.html:57
+#: templates/web/base/report/update/form_user_loggedout_email.html:5
+#: templates/web/zurich/auth/general.html:30
+#: templates/web/zurich/auth/general.html:58
+msgid "Your email address"
+msgstr ""
+
+#: templates/web/base/report/updates-sidebar-notes.html:3
+msgid "Your information will only be used in accordance with our <a href=\"/privacy\">privacy policy</a>"
+msgstr ""
+
+#: templates/web/base/auth/general.html:109
+#: templates/web/base/contact/index.html:74
+#: templates/web/base/report/new/form_user_loggedout_by_email.html:17
+#: templates/web/base/report/update/form_name.html:33
+#: templates/web/zurich/auth/general.html:61
+#: templates/web/zurich/report/new/fill_in_details_form.html:63
+msgid "Your name"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:13
+msgid "Your name has already been sent to %s, but we can hide it on this page:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:264
+msgid "Your name has been hidden from all your reports and updates."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:260
+msgid "Your name has been hidden."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:65
+msgid "Your offline reports"
+msgstr ""
+
+#: templates/web/base/auth/general.html:87
+#: templates/web/base/report/new/form_user_loggedout_password.html:10
+#: templates/web/base/report/update/form_user_loggedout_password.html:9
+#: templates/web/zurich/auth/general.html:34
+msgid "Your password"
+msgstr ""
+
+#: templates/web/base/auth/change_password.html:10
+msgid "Your password has been changed"
+msgstr ""
+
+#: templates/web/base/contact/index.html:87
+#: templates/web/base/report/new/form_user_loggedout_by_email.html:26
+#: templates/web/zurich/report/new/fill_in_details_form.html:69
+msgid "Your phone number"
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:16
+msgid "Your report"
+msgstr ""
+
+#: templates/web/base/my/my.html:28
+msgid "Your reports"
+msgstr ""
+
+#: templates/web/base/my/planned.html:0 templates/web/base/my/planned.html:18
+#: templates/web/base/my/planned.html:5
+msgid "Your shortlist"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:66
+msgid "Your update has been saved offline for submission when back online."
+msgstr ""
+
+#: templates/web/base/my/my.html:51
+msgid "Your updates"
+msgstr ""
+
+#: templates/web/base/report/new/form_user_loggedin.html:19
+#: templates/web/base/report/update/form_name.html:12
+msgid "Yourself"
+msgstr ""
+
+#: templates/web/base/admin/category-checkboxes.html:7
+#: templates/web/base/admin/user-form.html:151
+msgid "all"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:259
+msgid "and a defect raised"
+msgstr ""
+
+#: templates/web/base/admin/timeline.html:4
+msgid "by %s"
+msgstr ""
+
+#: templates/web/base/reports/body.html:6
+#: templates/web/base/reports/body.html:7
+msgid "council"
+msgstr ""
+
+#: templates/web/base/admin/report_edit.html:52
+msgid "didn't use map"
+msgstr ""
+
+#: templates/web/base/alert/index.html:33
+#: templates/web/base/around/postcode_form.html:12
+msgid "e.g. ‘%s’ or ‘%s’"
+msgstr ""
+
+#: templates/web/base/admin/flagged.html:51
+#: templates/web/base/admin/open311-form-fields.html:81
+msgid "edit user"
+msgstr ""
+
+#: templates/web/base/status/stats.html:20
+#: templates/web/zurich/admin/index.html:5
+msgid "from %s different users"
+msgstr ""
+
+#: templates/web/base/report/_item.html:63
+#: templates/web/zurich/report/_item.html:14
+msgid "last updated %s"
+msgstr ""
+
+#: perllib/Utils.pm:227
+msgid "less than a minute"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:119
+#: templates/web/base/admin/questionnaire.html:15
+#: templates/web/base/admin/questionnaire.html:16
+msgid "n/a"
+msgstr "n/a"
+
+#: templates/web/base/admin/category-checkboxes.html:8
+#: templates/web/base/admin/user-form.html:152
+msgid "none"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:278
+msgid "not the council's responsibility"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:27
+msgid "or locate me automatically"
+msgstr ""
+
+#: templates/web/base/admin/report_edit.html:48
+#: templates/web/base/admin/report_edit.html:50
+#: templates/web/zurich/admin/report_edit-sdm.html:32
+#: templates/web/zurich/admin/report_edit-sdm.html:34
+#: templates/web/zurich/admin/report_edit-sdm.html:55
+#: templates/web/zurich/admin/report_edit-sdm.html:57
+#: templates/web/zurich/admin/report_edit.html:34
+#: templates/web/zurich/admin/report_edit.html:36
+#: templates/web/zurich/admin/report_edit.html:50
+#: templates/web/zurich/admin/report_edit.html:52
+#: templates/web/zurich/admin/report_edit.html:74
+#: templates/web/zurich/admin/report_edit.html:76
+msgid "originally entered: &ldquo;%s&rdquo;"
+msgstr ""
+
+#: templates/web/base/admin/report_edit.html:68
+msgid "other areas:"
+msgstr ""
+
+#: templates/web/zurich/footer.html:12
+msgid "sign out"
+msgstr ""
+
+#: templates/web/base/report/new/form_report.html:13
+msgid "the local council"
+msgstr ""
+
+#: templates/web/base/report/_report_meta_info.html:5
+#: templates/web/zurich/report/_main.html:5
+msgid "there is no pin shown as the user did not use the map"
+msgstr ""
+
+#: templates/web/base/alert/_list.html:1
+msgid "this location"
+msgstr ""
+
+#: perllib/FixMyStreet/Script/Reports.pm:184
+msgid "this type of local problem"
+msgstr ""
+
+#: perllib/Utils.pm:177
+msgid "today"
+msgstr "avui"
+
+#: templates/web/base/js/translation_strings.html:76
+msgid "update"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:77
+msgid "updates"
+msgstr ""
+
+#: templates/web/base/admin/report_edit.html:52
+msgid "used map"
+msgstr ""
+
+#: templates/web/base/admin/update_edit.html:37
+msgid "user is from same council as problem - %d"
+msgstr ""
+
+#: templates/web/base/admin/update_edit.html:40
+msgid "user is problem owner"
+msgstr ""
+
+#: templates/web/base/reports/body.html:0
+#: templates/web/base/reports/body.html:3
+msgid "ward"
+msgstr ""
+
+#: templates/web/base/admin/bodies.html:56
+#, perl-format
+msgid "%d address"
+msgid_plural "%d addresses"
+msgstr[0] ""
+msgstr[1] ""
+
+#: perllib/Utils.pm:250
+#, perl-format
+msgid "%d day"
+msgid_plural "%d days"
+msgstr[0] "%d dia"
+msgstr[1] "%d dies"
+
+#: perllib/Utils.pm:252
+#, perl-format
+msgid "%d hour"
+msgid_plural "%d hours"
+msgstr[0] ""
+msgstr[1] ""
+
+#: perllib/Utils.pm:254
+#, perl-format
+msgid "%d minute"
+msgid_plural "%d minutes"
+msgstr[0] ""
+msgstr[1] ""
+
+#: perllib/Utils.pm:246
+#, perl-format
+msgid "%d month"
+msgid_plural "%d months"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/report/_support.html:6
+#, perl-format
+msgid "%d supporter"
+msgid_plural "%d supporters"
+msgstr[0] ""
+msgstr[1] ""
+
+#: perllib/Utils.pm:248
+#, perl-format
+msgid "%d week"
+msgid_plural "%d weeks"
+msgstr[0] "%d setmana"
+msgstr[1] "%d setmanes"
+
+#: perllib/Utils.pm:244
+#, perl-format
+msgid "%d year"
+msgid_plural "%d years"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:92
+#, perl-format
+msgid "%s day"
+msgid_plural "%s days"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:55
+#, perl-format
+msgid "%s problem marked as fixed"
+msgid_plural "%s problems marked as fixed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:43
+#, perl-format
+msgid "%s problem reported"
+msgid_plural "%s problems reported"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:107
+#, perl-format
+msgid "%s report"
+msgid_plural "%s reports"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:49
+#, perl-format
+msgid "%s update on problems"
+msgid_plural "%s updates on problems"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/front/stats.html:19
+#, perl-format
+msgid "<big>%s</big> fixed in past month"
+msgid_plural "<big>%s</big> fixed in past month"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/front/stats.html:8
+#, perl-format
+msgid "<big>%s</big> report in past week"
+msgid_plural "<big>%s</big> reports in past week"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/front/stats.html:13
+#, perl-format
+msgid "<big>%s</big> report recently"
+msgid_plural "<big>%s</big> reports recently"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/front/stats.html:25
+#, perl-format
+msgid "<big>%s</big> update on reports"
+msgid_plural "<big>%s</big> updates on reports"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/report/_item.html:51
+#, perl-format
+msgid "Reported %d day ago"
+msgid_plural "Reported %d days ago"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/report/new/top_message_some.html:3
+#, perl-format
+msgid "We do <strong>not</strong> yet have details for the other council that covers this location."
+msgid_plural "We do <strong>not</strong> yet have details for the other councils that cover this location."
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/report/new/top_message_none.html:3
+#, perl-format
+msgid "We do not yet have details for the council that covers this location."
+msgid_plural "We do not yet have details for the councils that cover this location."
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/report/_item.html:61
+#, perl-format
+msgid "last updated %d day ago"
+msgid_plural "last updated %d days ago"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/email/oxfordshire/archive.txt:9
+#, perl-format
+msgid "report"
+msgid_plural "reports"
+msgstr[0] ""
+msgstr[1] ""
+
+#~ msgid "-- Pick a property type --"
+#~ msgstr "-- Tria un tipus de propietat --"
+
+#~ msgid "Closed reports"
+#~ msgstr "Informes tancats"
+
+#~ msgid "Closed:"
+#~ msgstr "Tancat:"
+
+#~ msgid "Duplicate"
+#~ msgstr "Duplicat"
+
+#~ msgid "Fixed reports"
+#~ msgstr "Informes corregits"
+
+#~ msgid "Fixed:"
+#~ msgstr "Corregit:"
+
+#~ msgid "In Progress"
+#~ msgstr "En progrés"
+
+#~ msgid "Investigating"
+#~ msgstr "En investigació"
+
+#~ msgid "or"
+#~ msgstr "o"
diff --git a/locale/cs_CZ.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/cs_CZ.UTF-8/LC_MESSAGES/FixMyStreet.po
index 89362b75f..cfede0614 100644
--- a/locale/cs_CZ.UTF-8/LC_MESSAGES/FixMyStreet.po
+++ b/locale/cs_CZ.UTF-8/LC_MESSAGES/FixMyStreet.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
-"POT-Creation-Date: 2017-03-30 17:33+0100\n"
+"POT-Creation-Date: 2017-09-13 15:40+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: mySociety <transifex@mysociety.org>, 2016\n"
+"Last-Translator: mySociety <transifex@mysociety.org>, 2017\n"
"Language-Team: Czech (Czech Republic) (https://www.transifex.com/mysociety/teams/12067/cs_CZ/)\n"
"Language: cs_CZ\n"
"MIME-Version: 1.0\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:695
+#: perllib/FixMyStreet/DB/Result/Problem.pm:632
#: perllib/FixMyStreet/Script/Reports.pm:197
msgid " and "
msgstr " a "
@@ -91,25 +91,6 @@ msgstr "%s dotazníky zaslány -%s odpovědělo (%s %%)"
msgid "%s ref:&nbsp;%s"
msgstr "%s ref: %s"
-#. ("%s is the site name")
-#: templates/web/base/alert/_list.html:74
-msgid ""
-"%s sends different categories of problem\n"
-"to the appropriate council, so problems within the boundary of a particular council\n"
-"might not match the problems sent to that council. For example, a graffiti report\n"
-"will be sent to the district council, so will appear in both of the district\n"
-"council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
-"for the county council."
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:257 perllib/FixMyStreet/Cobrand/UK.pm:269
-msgid "%s ward, %s"
-msgstr "%s, oddělení, %"
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
-msgid "%s, within %s ward"
-msgstr "% S, v% s oddělení"
-
#: perllib/FixMyStreet/Map/OSM.pm:38
msgid "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"
msgstr ""
@@ -118,7 +99,7 @@ msgstr ""
msgid "(Defect &amp; location of defect)"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
#: templates/web/base/admin/users.html:32
msgid "(Email in abuse table)"
msgstr "(E-mailů v tabulce zneužívání)"
@@ -133,28 +114,36 @@ msgstr ""
msgid "(No phone number)"
msgstr ""
-#: templates/web/base/alert/_list.html:25
-msgid "(a default distance which covers roughly 200,000 people)"
-msgstr "(Standardní vzdálenost, která pokrývá zhruba 10.000 lidí)"
-
-#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
-#: templates/web/base/alert/_list.html:30
-msgid "(alternatively the RSS feed can be customised, within %s)"
+#: templates/web/base/admin/states/index.html:95
+msgid "(a-z and space only)"
msgstr ""
#: templates/web/zurich/report/_item.html:19
msgid "(closed)"
msgstr "(uzavřené)"
+#: templates/web/base/alert/_list.html:30
+#, fuzzy
+msgid "(covers roughly 200,000 people)"
+msgstr "(Standardní vzdálenost, která pokrývá zhruba 10.000 lidí)"
+
#: templates/web/zurich/report/_item.html:17
msgid "(fixed)"
msgstr "(vyřešeno)"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "(ignored if type is \"String\")"
+msgstr ""
+
#: templates/web/base/around/intro.html:2
msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
msgstr "(napÅ™. graffiti, rozbité pouliÄní osvÄ›tlení, díry v komunikacích a pod. )"
-#: templates/web/base/report/_item.html:68
+#: templates/web/base/reports/index.html:69
+msgid "(no longer exists)"
+msgstr ""
+
+#: templates/web/base/report/_item.html:70
msgid "(not sent to council)"
msgstr "(není odesláno na úřad)"
@@ -162,20 +151,22 @@ msgstr "(není odesláno na úřad)"
msgid "(optional)"
msgstr "(volitelnÄ›)"
-#: templates/web/base/report/_item.html:67
+#: templates/web/base/report/_item.html:69
msgid "(sent to both)"
msgstr "(odesláno dvoum??)"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:239
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/DB/Result/Problem.pm:454
+#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
+#: templates/web/base/alert/_list.html:36
+#, fuzzy
+msgid "(we also have RSS feeds for problems within %s)"
+msgstr "RSS kanál hlášení v oblasti %s"
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:245
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:381
msgid "-- Pick a category --"
msgstr "-- Vyberte kategorii --"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:460
-msgid "-- Pick a property type --"
-msgstr "-- Vyberte typ nemovitosti --"
-
#: templates/web/base/admin/response_templates_select.html:3
msgid "--Choose a template--"
msgstr ""
@@ -184,16 +175,16 @@ msgstr ""
msgid "10 inch pothole on Example St, near post box"
msgstr ""
-#: templates/web/base/dashboard/index.html:152
+#: templates/web/base/dashboard/index.html:153
msgid "14-30 days old"
msgstr ""
-#: templates/web/base/dashboard/index.html:151
+#: templates/web/base/dashboard/index.html:152
msgid "7-14 days old"
msgstr ""
-#: templates/web/base/admin/body-form.html:48
-#: templates/web/base/admin/body-form.html:49
+#: templates/web/base/admin/body-form.html:50
+#: templates/web/base/admin/body-form.html:51
msgid ""
"<code>MAPIT_URL</code> is set (<code>%s</code>) but no <code>MAPIT_TYPES</code>.<br>\n"
" This is probably why \"area covered\" is empty (below).<br>\n"
@@ -207,13 +198,12 @@ msgstr ""
msgid "<h2>Reports, Statistics and Actions for</h2> <h1>%s</h1>"
msgstr ""
-#. ('The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories')
#. ("The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories")
-#: templates/web/base/reports/_list-filters.html:37
-msgid "<label for=\"statuses\">Show</label> %s <label for=\"filter_categories\">about</label> %s"
+#: templates/web/base/reports/_list-filters.html:48
+msgid "<label for=\"statuses\">Show</label> %s reports <label for=\"filter_categories\">about</label> %s"
msgstr ""
-#: templates/web/base/js/translation_strings.html:71
+#: templates/web/base/js/translation_strings.html:74
msgid "<span>%s</span> saved."
msgstr ""
@@ -230,34 +220,25 @@ msgstr "<strong>Ne</strong> Potvrdím hlášení e-mailem"
msgid "<strong>No</strong> Let me confirm my update by email"
msgstr "<strong>Ne</strong> Potvrdím aktualizaci e-mailem"
-#: templates/web/base/auth/general.html:104
+#: templates/web/base/auth/general.html:106
#: templates/web/zurich/auth/general.html:51
msgid "<strong>No</strong> let me sign in by email"
msgstr "<strong>Ne</strong> přihlásím se pomocí e-mailu"
-#: templates/web/base/report/_inspect.html:160
+#: templates/web/base/report/_inspect.html:170
msgid "<strong>Note:</strong> This report has been sent onwards for action. Any changes made won't be passed on."
msgstr ""
-#: templates/web/base/report/_inspect.html:162
+#: templates/web/base/report/_inspect.html:172
msgid "<strong>Note:</strong> This report hasn't yet been sent onwards for action. Any changes made may not be passed on."
msgstr ""
-#: templates/web/base/auth/general.html:80
+#: templates/web/base/auth/general.html:82
#: templates/web/base/report/new/form_user_loggedout_password.html:3
#: templates/web/base/report/update/form_user_loggedout_password.html:2
msgid "<strong>Yes</strong> I have a password"
msgstr "<strong>Ano</strong> Mám heslo"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:10
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:6
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Action Scheduled"
-msgstr "Akce naplánována"
-
#: templates/web/base/admin/body-form.html:3
#: templates/web/base/admin/body-form.html:4
msgid ""
@@ -274,19 +255,36 @@ msgid "Add a contact using the form below."
msgstr "Přidejte kontakt pomocí formuláře níže."
#: templates/web/base/admin/bodies.html:78
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Add body"
msgstr "Zadejte instituci"
+#: templates/web/base/admin/reportextrafields/index.html:24
+msgid "Add extra fields"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:79
+msgid "Add field"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:85
+msgid "Add fixed state"
+msgstr ""
+
#: templates/web/base/admin/body.html:126
#: templates/web/zurich/admin/body.html:31
msgid "Add new category"
msgstr "Přidat novou kategorii"
+#: templates/web/base/admin/extra-metadata-form.html:72
+#, fuzzy
+msgid "Add option"
+msgstr "(volitelnÄ›)"
+
#: templates/web/base/report/_item.html:10
-#: templates/web/base/report/_item.html:14
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_item.html:16
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:19
#: templates/web/base/report/_main.html:30
msgid "Add to shortlist"
@@ -298,15 +296,15 @@ msgstr ""
msgid "Add user"
msgstr "Přidat Uživatele"
-#: perllib/FixMyStreet/Cobrand/Default.pm:730
+#: perllib/FixMyStreet/Cobrand/Default.pm:735
msgid "Add/edit problem categories"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:732
+#: perllib/FixMyStreet/Cobrand/Default.pm:737
msgid "Add/edit response priorities"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:731
+#: perllib/FixMyStreet/Cobrand/Default.pm:736
msgid "Add/edit response templates"
msgstr ""
@@ -314,7 +312,7 @@ msgstr ""
msgid "Added %s"
msgstr "Přidáno %s"
-#: templates/web/base/report/_main.html:145
+#: templates/web/base/report/_main.html:149
msgid "Adding this report to your shortlist will remove it from %s’s shortlist."
msgstr ""
@@ -334,17 +332,17 @@ msgstr "Upozornění %d vytvořené pro %s, typu %s, parametry %s / %s"
msgid "Alert %d disabled (created %s)"
msgstr "Upozornění %d zrušeno (vytvořeno %s)"
-#: templates/web/base/report/update/form_name.html:38
+#: templates/web/base/report/update/form_name.html:42
msgid "Alert me to future updates"
msgstr "Upozorněte mě na budoucí aktualizace"
#: templates/web/base/dashboard/index.html:138
#: templates/web/base/dashboard/index.html:21
#: templates/web/base/dashboard/index.html:30
+#: templates/web/base/reports/_list-filters.html:3
msgid "All"
msgstr ""
-#: templates/web/base/reports/index.html:6
#: templates/web/zurich/reports/index.html:13
msgid "All Reports"
msgstr "Všechna hlášení"
@@ -354,15 +352,23 @@ msgid "All Reports as CSV"
msgstr ""
#: templates/web/base/admin/category-multiselect.html:5
-#: templates/web/base/admin/responsepriorities/list.html:19
+#: templates/web/base/admin/responsepriorities/list.html:20
msgid "All categories"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:26
+#, fuzzy
+msgid "All cobrands"
+msgstr "Motiv"
+
+#: templates/web/base/admin/reportextrafields/edit.html:47
+msgid "All languages"
+msgstr ""
+
#: templates/web/base/main_nav_items.html:0
#: templates/web/base/main_nav_items.html:27
-#: templates/web/base/reports/_list-filters.html:3
#: templates/web/zurich/admin/index-dm.html:12
-#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:21
+#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:20
#: templates/web/zurich/nav_over_content.html:6
msgid "All reports"
msgstr "Všechna hlášení"
@@ -372,6 +378,14 @@ msgstr "Všechna hlášení"
msgid "All reports between %s and %s"
msgstr "Všechna hlášení od %s do %s"
+#: templates/web/base/reports/index.html:23
+msgid "All time"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:20
+msgid "Alternatively, we can hide your name on <strong>all of your reports and updates</strong> across the site:"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:47
msgid "An update marked this problem as fixed."
msgstr "Hlášení bylo oznaÄeno za vyÅ™eÅ¡ené."
@@ -381,31 +395,33 @@ msgstr "Hlášení bylo oznaÄeno za vyÅ™eÅ¡ené."
msgid "Anonymous"
msgstr "Anonimní"
-#: templates/web/base/admin/report_edit.html:134
+#: templates/web/base/report/new/form_user_loggedin.html:21
+#: templates/web/base/report/update/form_name.html:17
+#, fuzzy
+msgid "Anonymous user"
+msgstr "Anonimní"
+
+#: templates/web/base/admin/report_edit.html:122
#: templates/web/base/admin/update_edit.html:23
msgid "Anonymous:"
msgstr "Anonymní:"
-#: templates/web/base/report/new/form_user_loggedin.html:20
-#: templates/web/base/report/update/form_name.html:13
+#: templates/web/base/report/new/form_user_loggedin.html:24
+#: templates/web/base/report/update/form_name.html:14
msgid "Another user"
msgstr ""
-#: templates/web/base/front/footer-marketing.html:16
-msgid "Are you a developer?"
-msgstr "Jste vývojář?"
-
-#: templates/web/base/js/translation_strings.html:56
+#: templates/web/base/js/translation_strings.html:59
msgid "Are you sure you want to cancel this upload?"
msgstr ""
#: templates/web/base/admin/report_edit.html:84
-#: templates/web/base/js/translation_strings.html:66
+#: templates/web/base/js/translation_strings.html:69
#: templates/web/base/report/display_tools.html:6
msgid "Are you sure?"
msgstr ""
-#: templates/web/base/admin/body-form.html:75
+#: templates/web/base/admin/body-form.html:77
#: templates/web/base/admin/body.html:20
#: templates/web/zurich/admin/body-form.html:24
msgid "Area covered"
@@ -437,11 +453,11 @@ msgstr "PÅ™iÅ™aÄte externí instituci:"
msgid "Assign to subdivision:"
msgstr "PÅ™iÅ™aÄte oddÄ›lení:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:727
+#: perllib/FixMyStreet/Cobrand/Default.pm:732
msgid "Assign users to areas"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:214
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:219
msgid "Assigned to %s"
msgstr "Přířazeno: %s"
@@ -462,11 +478,14 @@ msgstr ""
msgid "Auto-response:"
msgstr ""
-#: templates/web/base/admin/report_edit.html:127
-#: templates/web/base/report/_inspect.html:47
+#: templates/web/base/admin/report-category.html:8
msgid "Available categories"
msgstr ""
+#: templates/web/base/reports/index.html:84
+msgid "Average time between a problem being reported and being fixed, last 100 reports."
+msgstr ""
+
#: templates/web/base/dashboard/index.html:109
msgid "Average time to council marking fixed (days)"
msgstr ""
@@ -479,7 +498,7 @@ msgstr ""
msgid "Avoid personal information and vehicle number plates"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:417
+#: perllib/FixMyStreet/DB/Result/Problem.pm:344
#: templates/web/zurich/report/_item.html:9
msgid "Awaiting moderation"
msgstr "Čeká se na moderování"
@@ -492,13 +511,13 @@ msgstr "Zpět"
msgid "Back to all reports"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
msgid "Ban email address"
msgstr "Zakázat emailovou adresu"
#: perllib/FixMyStreet/Cobrand/Default.pm:650
-#: perllib/FixMyStreet/Cobrand/Default.pm:729
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
+#: perllib/FixMyStreet/Cobrand/Default.pm:734
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:396
#: templates/web/base/admin/bodies.html:1
#: templates/web/base/admin/report_edit.html:55
#: templates/web/zurich/header.html:56
@@ -520,7 +539,11 @@ msgstr "Subjekt:"
msgid "By Date"
msgstr "Podle datumu"
-#: templates/web/base/auth/token.html:21 templates/web/base/email_sent.html:18
+#: templates/web/base/admin/extra-metadata-form.html:36
+msgid "Can be used to display extra text to the user alongside the field. The default template does not show this (<code>meta.datatype_description</code>), you must add it in <code>category_extras_fields.html</code>"
+msgstr ""
+
+#: templates/web/base/auth/token.html:27 templates/web/base/email_sent.html:20
msgid "Can&rsquo;t find our email? Check your spam folder&nbsp;&ndash; that&rsquo;s the solution 99% of the time."
msgstr ""
@@ -541,8 +564,8 @@ msgstr ""
#: templates/web/base/admin/body.html:72
#: templates/web/base/admin/contact-form.html:19
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/report/_inspect.html:38
-#: templates/web/base/report/_item.html:90
+#: templates/web/base/report/_inspect.html:48
+#: templates/web/base/report/_item.html:92
#: templates/web/base/report/new/category.html:6
#: templates/web/base/report/new/category_wrapper.html:3
#: templates/web/zurich/admin/body.html:14
@@ -553,7 +576,7 @@ msgstr ""
msgid "Category"
msgstr "Katetorie"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:852
+#: perllib/FixMyStreet/App/Controller/Admin.pm:956
msgid "Category changed from ‘%s’ to ‘%s’"
msgstr ""
@@ -593,27 +616,11 @@ msgstr ""
msgid "Change password"
msgstr "Změnit heslo"
-#: templates/web/base/admin/contact-form.html:41
-msgid ""
-"Check <strong>confirmed</strong> to indicate that this contact has been confirmed as correct.\n"
-" If you are not sure of the origin or validity of the contact, leave this unchecked."
-msgstr ""
-"Kontrola <strong>potvrzení</strong> že je tento kontakt byl potvrzen a že je správný.\n"
-" Pokud si nejste jisti správností, ponechte nezaškrtnuté."
-
-#: templates/web/base/admin/contact-form.html:52
-msgid ""
-"Check <strong>deleted</strong> to remove the category from use. \n"
-" It will not appear as an available category in the drop-down menu on the report-a-problem page."
-msgstr ""
-"Zaškrtněte <strong>smazáno</strong> , kategorie nebude nadále používána. \n"
-" Nebude se nadále zobrazovat v rozbalovacím menu při zadání hlášení."
-
-#: templates/web/base/admin/contact-form.html:79
+#: templates/web/base/admin/contact-form.html:80
msgid "Check <strong>inspection required</strong> if reports in this category <strong>must be inspected</strong> before being sent."
msgstr ""
-#: templates/web/base/admin/contact-form.html:63
+#: templates/web/base/admin/contact-form.html:64
msgid ""
"Check <strong>private</strong> if reports in this category should <strong>never be displayed on the website</strong>.\n"
" <br>\n"
@@ -638,11 +645,11 @@ msgstr ""
"Jméno <strong> kategorie </strong> zvolte tak, aby dávalo smysl pro veÅ™ejnost (napÅ™, \"Díra v silnici \", \"PouliÄní osvÄ›tlení \"), ale je užiteÄné \n"
" i pro daný úřad. Názvy kategorií se objeví v rozbalovací nabídce na stránce Nahlásit problém."
-#: templates/web/base/report/_inspect.html:93
+#: templates/web/base/report/_inspect.html:103
msgid "Choose another"
msgstr ""
-#: templates/web/base/js/translation_strings.html:65
+#: templates/web/base/js/translation_strings.html:68
msgid "Clear offline data"
msgstr ""
@@ -667,21 +674,21 @@ msgstr ""
msgid "Click the link in our confirmation email to publish your update."
msgstr ""
-#: templates/web/base/auth/token.html:18
+#: templates/web/base/auth/token.html:23
msgid "Click the link in our confirmation email to sign in."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:189
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:960
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:17
-#: templates/web/base/admin/report_blocks.html:27
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:43
-#: templates/web/base/report/banner.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:18
+#: templates/web/base/auth/token.html:20
+msgid "Click the link in that email to sign in."
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:134
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:194
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:965
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:11
+#: templates/web/base/admin/states/index.html:103
+#: templates/web/base/admin/states/index.html:27
+#: templates/web/base/admin/states/index.html:33
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:10
#: templates/web/zurich/admin/header.html:16
@@ -689,23 +696,17 @@ msgstr ""
msgid "Closed"
msgstr "Uzavřena"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:889
+#: perllib/FixMyStreet/DB/Result/Problem.pm:826
msgid "Closed by council"
msgstr "Uzavřena úřadem"
-#: templates/web/base/reports/_list-filters.html:13
-msgid "Closed reports"
-msgstr ""
-
-#: templates/web/base/admin/problem_row.html:38
-msgid "Closed:"
-msgstr "Uzavřena:"
-
#: templates/web/base/admin/report_edit.html:37
msgid "Co-ordinates:"
msgstr "Souřadnice:"
#: templates/web/base/admin/list_updates.html:10
+#: templates/web/base/admin/reportextrafields/edit.html:24
+#: templates/web/base/admin/reportextrafields/index.html:7
msgid "Cobrand"
msgstr "Motiv"
@@ -719,10 +720,13 @@ msgstr "Data motivu:"
msgid "Cobrand:"
msgstr "Motiv:"
+#: templates/web/base/admin/extra-metadata-form.html:14
+msgid "Code"
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:50
-#, fuzzy
msgid "Collapse map"
-msgstr "použitá mapa"
+msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:646
#: templates/web/base/admin/config_page.html:1
@@ -750,9 +754,8 @@ msgstr ""
msgid "Confirmation"
msgstr "Potvrzení"
-#: templates/web/base/admin/body.html:85
-#: templates/web/base/admin/category_edit.html:54
-#: templates/web/base/admin/contact-form.html:47
+#: templates/web/base/admin/contact-form.html:56
+#: templates/web/zurich/admin/contact-form.html:12
#: templates/web/zurich/admin/stats.html:40
msgid "Confirmed"
msgstr "Potvrzeno"
@@ -787,8 +790,8 @@ msgstr "Kontaktujte nás!"
msgid "Coordinates:"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1668
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1696
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1773
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1801
msgid "Could not find user"
msgstr "Uživatele nelze najít"
@@ -808,33 +811,28 @@ msgstr "Kontakty na úřad %s"
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:83
-#, fuzzy
msgid "Council has marked as closed"
-msgstr "oznaÄeno za uzavÅ™ené"
+msgstr ""
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:57
-#, fuzzy
msgid "Council has marked as fixed"
-msgstr "OznaÄené jako vyÅ™eÅ¡ené"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:80
-#, fuzzy
msgid "Council has marked as in progress"
-msgstr "oznaÄené jako probíhající"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:82
-#, fuzzy
msgid "Council has marked as investigating"
-msgstr "oznaÄené jako zkoumání"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:81
-#, fuzzy
msgid "Council has marked as planned"
-msgstr "oznaÄené za naplánované"
+msgstr ""
#: templates/web/base/report/_council_sent_info.html:6
msgid "Council ref:&nbsp;%s"
@@ -851,24 +849,33 @@ msgstr "Úřad:"
msgid "Count"
msgstr "PoÄet"
+#: templates/web/base/admin/states/index.html:114
+#, fuzzy
+msgid "Create"
+msgstr "Vytvořeno"
+
#: templates/web/base/email_sent.html:1
msgid "Create a report"
msgstr "Vytvořit report"
-#: templates/web/base/admin/contact-form.html:137
+#: templates/web/base/admin/contact-form.html:138
#: templates/web/zurich/admin/body.html:62
msgid "Create category"
msgstr "Vytvořit kategorii"
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/responsepriorities/edit.html:58
msgid "Create priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:714
+#: perllib/FixMyStreet/Cobrand/Default.pm:718
+msgid "Create reports/updates as anonymous user"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:719
msgid "Create reports/updates as the council"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:713
+#: perllib/FixMyStreet/Cobrand/Default.pm:717
msgid "Create reports/updates on a user's behalf"
msgstr ""
@@ -898,13 +905,15 @@ msgstr "Aktuální stav"
msgid "Currently no bodies have been created."
msgstr "Doposud nebyl vytvořen žádný subjekt."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:825
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:830
#: templates/web/zurich/admin/report_edit-sdm.html:105
msgid "Customer not contactable"
msgstr ""
#: templates/web/base/dashboard/index.html:5
#: templates/web/base/dashboard/index.html:7
+#: templates/web/base/reports/index.html:15
+#: templates/web/base/reports/index.html:18
msgid "Dashboard"
msgstr "Přehledy"
@@ -912,29 +921,36 @@ msgstr "Přehledy"
msgid "Dealt with by subdivision within 5 working days"
msgstr "Odbavované úřadem do 5 pracovních dnů"
-#: templates/web/base/report/_inspect.html:73
+#: templates/web/base/admin/responsepriorities/list.html:9
+msgid "Default"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:39
+msgid "Default priority"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:72
msgid "Defect type"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:973
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1078
#: templates/web/base/admin/template_edit.html:50
#: templates/web/zurich/admin/template_edit.html:33
msgid "Delete template"
msgstr ""
#: templates/web/base/admin/bodies.html:31
-#: templates/web/base/admin/body.html:87
-#: templates/web/base/admin/category_edit.html:55
#: templates/web/base/admin/contact-form.html:58
-#: templates/web/zurich/admin/contact-form.html:12
+#: templates/web/zurich/admin/contact-form.html:13
msgid "Deleted"
msgstr "Smazána"
-#: templates/web/base/report/_main.html:110
-#: templates/web/base/report/update.html:59
+#: templates/web/base/report/_main.html:114
+#: templates/web/base/report/update.html:68
msgid "Describe why you are moderating this"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:32
#: templates/web/base/admin/responsepriorities/list.html:7
#: templates/web/zurich/admin/index-dm.html:22
#: templates/web/zurich/admin/index-sdm.html:20
@@ -958,7 +974,7 @@ msgstr "Podrobnosti"
msgid "Details:"
msgstr "Podrobnosti:"
-#: templates/web/base/admin/body.html:93
+#: templates/web/base/admin/body.html:92
msgid "Devolved"
msgstr "Předáno"
@@ -971,18 +987,17 @@ msgstr ""
msgid "Diligency prize league table"
msgstr "Tabulka Vížěhů"
-#: templates/web/base/report/_main.html:114
-#: templates/web/base/report/update.html:61
-#, fuzzy
+#: templates/web/base/report/_main.html:118
+#: templates/web/base/report/update.html:70
msgid "Discard changes"
-msgstr "Uložit změny"
+msgstr ""
#: templates/web/base/admin/open311-form-fields.html:95
msgid "Do not send email alerts on fetched comments to problem creator"
msgstr ""
#. ("%s is the site name")
-#: templates/web/base/auth/general.html:58
+#: templates/web/base/auth/general.html:60
#: templates/web/base/report/new/form_user_loggedout.html:25
#: templates/web/base/report/new/oauth_email_form.html:18
#: templates/web/base/report/update-form.html:30
@@ -990,40 +1005,33 @@ msgstr ""
msgid "Do you have a %s password?"
msgstr ""
+#: templates/web/base/report/_inspect.html:87
+msgid "Do you want to automatically raise a defect?"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:57
msgid "Don&rsquo;t know"
msgstr "Není známo"
-#: templates/web/base/contact/index.html:108
+#: templates/web/base/contact/index.html:112
msgid "Don't like forms?"
msgstr "Nechcete řešit formulářem?"
-#: templates/web/base/report/_item.html:25
+#: templates/web/base/report/_item.html:27
msgid "Down one"
msgstr ""
-#: templates/web/base/js/translation_strings.html:55
+#: templates/web/base/js/translation_strings.html:58
msgid "Drag and drop photos here or <u>click to upload</u>"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:10
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "Duplicate"
-msgstr "Duplicitní"
-
-#: templates/web/base/report/_inspect.html:88
-#, fuzzy
+#: templates/web/base/report/_inspect.html:98
msgid "Duplicate of"
-msgstr "Duplicitní"
+msgstr ""
-#: templates/web/base/report/_inspect.html:98
-#, fuzzy
+#: templates/web/base/report/_inspect.html:108
msgid "Duplicates"
-msgstr "Duplicitní"
+msgstr ""
#: templates/web/base/admin/body.html:116
msgid ""
@@ -1033,43 +1041,43 @@ msgid ""
" "
msgstr "Každému kontaktu daného subjektu můžeme pÅ™idÄ›lit kategorii, která je zobrazena veÅ™ejnÄ›. Různé kategorie mohou mít spoleÄný kontakt (e-mail). To znamená, že můžete pÅ™idat mnoho kategorií, i když máte jen jednu kontaktní osobu pro daný subjekt."
-#: templates/web/base/report/_inspect.html:16
-#: templates/web/base/report/_item.html:81
+#: templates/web/base/report/_inspect.html:26
+#: templates/web/base/report/_item.html:83
msgid "Easting/Northing:"
msgstr ""
#: templates/web/base/admin/list_updates.html:42
#: templates/web/base/admin/problem_row.html:41
-#: templates/web/base/admin/responsepriorities/list.html:26
+#: templates/web/base/admin/responsepriorities/list.html:28
#: templates/web/base/admin/templates.html:22
#: templates/web/base/admin/users.html:34
#: templates/web/zurich/admin/problem_row.html:48
msgid "Edit"
msgstr "Upravit"
-#: templates/web/base/admin/body.html:140
+#: templates/web/base/admin/body.html:141
#: templates/web/base/admin/index.html:39
#: templates/web/zurich/admin/body.html:69
msgid "Edit body details"
msgstr "Editace podrobností subjektu"
-#: perllib/FixMyStreet/Cobrand/Default.pm:724
+#: perllib/FixMyStreet/Cobrand/Default.pm:729
msgid "Edit other users' details"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:725
+#: perllib/FixMyStreet/Cobrand/Default.pm:730
msgid "Edit other users' permissions"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:708
+#: perllib/FixMyStreet/Cobrand/Default.pm:712
msgid "Edit report category"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:709
+#: perllib/FixMyStreet/Cobrand/Default.pm:713
msgid "Edit report priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:707
+#: perllib/FixMyStreet/Cobrand/Default.pm:711
msgid "Edit reports"
msgstr ""
@@ -1092,15 +1100,15 @@ msgstr "Úpravy aktualizace %d"
msgid "Editing user %d"
msgstr "Aktualizace uživatele %d"
-#: templates/web/base/admin/category_edit.html:56
+#: templates/web/base/admin/category_edit.html:30
msgid "Editor"
msgstr "Úprava"
#: templates/web/base/admin/bodies.html:27
-#: templates/web/base/admin/category_edit.html:53
+#: templates/web/base/admin/category_edit.html:28
#: templates/web/base/admin/flagged.html:38
#: templates/web/base/admin/users.html:17
-#: templates/web/base/auth/general.html:49
+#: templates/web/base/auth/general.html:51
#: templates/web/zurich/admin/body-form.html:9
#: templates/web/zurich/admin/body.html:15
#: templates/web/zurich/auth/general.html:24
@@ -1108,13 +1116,14 @@ msgstr "Úprava"
msgid "Email"
msgstr "E-Mail"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1644
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1749
msgid "Email added to abuse list"
msgstr "E-mail přidán do seznamu zneužívání"
-#: templates/web/base/admin/contact-form.html:36
-#: templates/web/base/report/new/form_user_loggedin.html:28
-#: templates/web/base/report/update/form_name.html:19
+#: templates/web/base/admin/contact-form.html:38
+#: templates/web/base/alert/_list.html:74
+#: templates/web/base/report/new/form_user_loggedin.html:32
+#: templates/web/base/report/update/form_name.html:23
msgid "Email address"
msgstr ""
@@ -1126,11 +1135,11 @@ msgstr ""
msgid "Email alert deleted"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1641
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1746
msgid "Email already in abuse list"
msgstr "E-mail je již v seznamu zneužívání"
-#: templates/web/base/admin/report_edit.html:141
+#: templates/web/base/admin/report_edit.html:129
#: templates/web/base/admin/update_edit.html:35
#: templates/web/base/admin/user-form.html:19
#: templates/web/zurich/admin/body.html:48
@@ -1151,8 +1160,8 @@ msgid ""
" <a href='https://www.mysociety.org/2013/02/20/open311-extended/' class='admin-offsite-link'>this article</a>."
msgstr ""
-#: templates/web/base/admin/body-form.html:120
-#: templates/web/base/admin/body-form.html:121
+#: templates/web/base/admin/body-form.html:122
+#: templates/web/base/admin/body-form.html:123
msgid ""
"Enable this <strong>can be devolved</strong> setting if one or more contacts have a \n"
" different endpoint (and send method) from the body's. For example, if reports for some categories of\n"
@@ -1167,11 +1176,11 @@ msgstr "KoneÄné datum:"
msgid "Endpoint"
msgstr "Endpoint"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:76
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:81
msgid "Enter a Z&uuml;rich street name"
msgstr "Zadejte název ulice"
-#: perllib/FixMyStreet/Cobrand/UK.pm:15
+#: perllib/FixMyStreet/Cobrand/UK.pm:16
msgid "Enter a nearby UK postcode, or street name and area"
msgstr "Zadejte nejbližší PSČ, název ulice nebo oblasti"
@@ -1180,12 +1189,13 @@ msgstr "Zadejte nejbližší PSČ, název ulice nebo oblasti"
msgid "Enter a nearby postcode, or street name and area"
msgstr "Zadejte blízké poÅ¡tovní smÄ›rovací Äíslo nebo název ulice Äi oblasti"
+#: perllib/FixMyStreet/Cobrand/DansMonQwat.pm:14
#: templates/web/base/around/postcode_form.html:5
#: templates/web/base/around/postcode_form.html:6
msgid "Enter a nearby street name and area"
msgstr "Zadejte PSČ, název ulice nebo název oblasti"
-#: templates/web/base/auth/general.html:116
+#: templates/web/base/auth/general.html:118
#: templates/web/base/report/new/form_user_loggedout_by_email.html:35
#: templates/web/base/report/update/form_user_loggedout_by_email.html:13
#: templates/web/zurich/auth/general.html:65
@@ -1205,8 +1215,8 @@ msgstr "UveÄte podrobnosti daného problému"
msgid "Error"
msgstr "Chyba"
-#: templates/web/base/reports/_list-filters.html:20
-#: templates/web/base/reports/_list-filters.html:28
+#: templates/web/base/reports/_list-filters.html:31
+#: templates/web/base/reports/_list-filters.html:39
msgid "Everything"
msgstr ""
@@ -1219,8 +1229,7 @@ msgstr "Příklad PSČ %s"
msgid "Examples:"
msgstr "Příklady:"
-#: templates/web/base/admin/report_edit.html:122
-#: templates/web/base/report/_inspect.html:42
+#: templates/web/base/admin/report-category.html:3
msgid "Existing category"
msgstr ""
@@ -1228,16 +1237,16 @@ msgstr ""
msgid "Expand map"
msgstr ""
-#: templates/web/base/report/new/form_report.html:52
+#: templates/web/base/report/new/form_report.html:54
msgid "Explain what’s wrong"
msgstr ""
-#: templates/web/base/dashboard/index.html:146
+#: templates/web/base/dashboard/index.html:147
msgid "Export as CSV"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:913
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:179
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:12
msgid "Extern"
@@ -1248,7 +1257,7 @@ msgstr ""
msgid "External ID"
msgstr ""
-#: templates/web/base/admin/body-form.html:87
+#: templates/web/base/admin/body-form.html:89
msgid "External URL"
msgstr ""
@@ -1260,13 +1269,20 @@ msgstr ""
msgid "External team"
msgstr ""
-#: templates/web/base/admin/category_edit.html:25
+#: perllib/FixMyStreet/Cobrand/Default.pm:673
+#: templates/web/base/admin/reportextrafields/edit.html:1
+#: templates/web/base/admin/reportextrafields/index.html:1
+#, fuzzy
+msgid "Extra Fields"
+msgstr "Doplňující data:"
+
+#: templates/web/base/admin/contact-form.html:141
#: templates/web/base/admin/report_edit.html:94
msgid "Extra data:"
msgstr "Doplňující data:"
-#: templates/web/base/report/_inspect.html:134
-#: templates/web/base/report/_item.html:106
+#: templates/web/base/report/_inspect.html:144
+#: templates/web/base/report/_item.html:108
msgid "Extra details"
msgstr ""
@@ -1274,6 +1290,11 @@ msgstr ""
msgid "Failed to send message"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:58
+#: templates/web/base/admin/reportextrafields/index.html:9
+msgid "Fields"
+msgstr ""
+
#: templates/web/zurich/admin/index-dm.html:33
#: templates/web/zurich/admin/index-sdm.html:30
msgid "Filter report list"
@@ -1287,52 +1308,32 @@ msgstr "Poprvé"
msgid "Fix this by choosing an <strong>area covered</strong> in the <em>Edit body details</em> form below."
msgstr "Pro opravu vyberte <strong>oblast pokrytí</strong> v Äásti <em>Editace podrobností subjektu</em> ve formuláři níže."
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:11
-#: templates/web/base/admin/report_blocks.html:26
+#: perllib/FixMyStreet/App/Controller/Admin/States.pm:35
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:133
+#: templates/web/base/admin/states/index.html:29
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:41
-#: templates/web/base/report/banner.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:17
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:45
msgid "Fixed"
msgstr "Vyřešené"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:13
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:7
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:62
msgid "Fixed - Council"
msgstr "vyřešené - Úřad"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:12
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:63
msgid "Fixed - User"
msgstr "Vyřešené - Uživatel"
-#: templates/web/base/reports/_list-filters.html:14
-msgid "Fixed reports"
-msgstr ""
-
-#: templates/web/base/admin/problem_row.html:37
-msgid "Fixed:"
-msgstr "Vyřešené:"
-
-#: templates/web/base/admin/body-form.html:95
-#: templates/web/base/admin/responsepriorities/edit.html:41
+#: templates/web/base/admin/body-form.html:97
+#: templates/web/base/admin/responsepriorities/edit.html:53
#: templates/web/zurich/admin/body-form.html:36
msgid "Flag as deleted"
msgstr "OznaÄené za smazané"
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/report_blocks.html:23
msgid "Flag user"
msgstr "Sledovat uživatele"
-#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: perllib/FixMyStreet/Cobrand/Default.pm:644
#: templates/web/base/admin/users.html:20
msgid "Flagged"
msgstr "UrÄeno ke sledování"
@@ -1349,7 +1350,7 @@ msgstr "Takto oznaÄení uživatelé jsou v seznamu na této <a href='%s'>strán
msgid "Flagged users are not restricted in any way. This is just a list of users that have been marked for attention."
msgstr "OznaÄení uživatelé nejsou žádným způsobem omezováni. Je to jen seznam uživatelů, kteří byli oznaÄeni k Vaší pozornosti."
-#: templates/web/base/admin/report_edit.html:147
+#: templates/web/base/admin/report_edit.html:135
#: templates/web/base/admin/user-form.html:100
msgid "Flagged:"
msgstr "Sledováno:"
@@ -1362,21 +1363,25 @@ msgstr "KliknÄ›te na odkaz pro danou oblast, zobrazí se hlášení pouze z tÃ
msgid "For best results include a close-up and a wide shot"
msgstr ""
-#: templates/web/base/admin/body-form.html:71
+#: templates/web/base/admin/extra-metadata-form.html:52
+msgid "For each option, <strong>Key</strong> is the value which is stored in the database for that option and <strong>Name</strong> is the value displayed to the user."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:73
msgid "For more information, see <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
msgstr "Více informací naleznete v Älánku <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>Jak FixMyStreet používá Mapit</a>."
-#: templates/web/base/auth/general.html:95
+#: templates/web/base/auth/general.html:97
#: templates/web/base/report/new/form_user_loggedout_password.html:20
#: templates/web/base/report/update/form_user_loggedout_password.html:19
msgid "Forgotten your password?"
msgstr "Zapomněli jste své heslo?"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:743
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:748
msgid "Forwarded to external body"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:744
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:749
msgid "Forwarded wish to external body"
msgstr ""
@@ -1386,6 +1391,10 @@ msgstr ""
msgid "Frequently Asked Questions"
msgstr "Často kladené dotazy"
+#: templates/web/base/admin/stats.html:102
+msgid "Get Count"
+msgstr ""
+
#: templates/web/base/around/_updates.html:3
#: templates/web/base/report/display_tools.html:14
msgid "Get updates"
@@ -1401,10 +1410,14 @@ msgstr "Získat aktualizace hlášení %s "
msgid "Get updates of problems in this %s"
msgstr "Získat aktualizace hlášení %s "
-#: templates/web/base/alert/_list.html:83
+#: templates/web/base/alert/_list.html:85
msgid "Give me an RSS feed"
msgstr "Přihlásit se k odběru RSS kanálu"
+#: templates/web/base/admin/reportextrafields/edit.html:6
+msgid "Give this collection of fields a name. It is not shown publicly, just here in the admin."
+msgstr ""
+
#: templates/web/base/questionnaire/completed.html:14
msgid "Glad to hear it’s been fixed!"
msgstr ""
@@ -1414,8 +1427,9 @@ msgstr ""
#: templates/web/base/admin/index.html:49
#: templates/web/base/alert/index.html:34
#: templates/web/base/around/postcode_form.html:13
-#: templates/web/base/reports/_list-filters.html:38
-#: templates/web/base/reports/_list-filters.html:53
+#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:64
+#: templates/web/base/reports/index.html:75
#: templates/web/zurich/admin/stats.html:26
msgid "Go"
msgstr "OK"
@@ -1424,7 +1438,7 @@ msgstr "OK"
msgid "Going to send questionnaire?"
msgstr "Odeslat dotazník?"
-#: perllib/FixMyStreet/Cobrand/Default.pm:726
+#: perllib/FixMyStreet/Cobrand/Default.pm:731
msgid "Grant access to the admin"
msgstr ""
@@ -1432,10 +1446,6 @@ msgstr ""
msgid "Graph of problem creation by status over time"
msgstr "Graf hlášení v Äase a jejich stavů"
-#: templates/web/base/reports/index.html:15
-msgid "Greyed-out lines are councils that no longer exist."
-msgstr "Å edÄ› oznaÄené řádky jsou úřady, které již existují."
-
#: templates/web/base/questionnaire/index.html:48
msgid "Has this problem been fixed?"
msgstr "Byl tento problém vyřešen?"
@@ -1446,7 +1456,7 @@ msgstr "Už jste nÄ›kdy pÅ™ed tím hlásili problém úřadu a nebo je toto VaÅ
#: templates/web/base/main_nav_items.html:40
#: templates/web/zurich/about/faq-de-ch.html:1
-#: templates/web/zurich/footer.html:23
+#: templates/web/zurich/footer.html:22
#: templates/web/zurich/nav_over_content.html:8
msgid "Help"
msgstr "Nápověda"
@@ -1456,22 +1466,13 @@ msgstr "Nápověda"
msgid "Help <strong>%s</strong> resolve your problem quicker, by providing some extra detail. This extra information will not be published online."
msgstr ""
-#: templates/web/base/alert/_list.html:9
-msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
-msgstr "Možnosti pro upozornění na lokální problém pro oblast &lsquo;%s&rsquo;."
-
-#: templates/web/zurich/footer.html:12
+#: templates/web/zurich/footer.html:11
msgid "Hi %s"
msgstr "Přihlášená osoba: %s"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:906
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:19
-#: templates/web/base/admin/report_blocks.html:28
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:911
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:60
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:19
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:11
#: templates/web/zurich/admin/stats.html:32
@@ -1479,16 +1480,33 @@ msgstr "Přihlášená osoba: %s"
msgid "Hidden"
msgstr "Skrytý"
-#: templates/web/base/report/_main.html:105
-#, fuzzy
+#: templates/web/base/report/_main.html:109
msgid "Hide entire report"
-msgstr "Znovu odeslané hlášení"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:1
+#: templates/web/base/my/anonymize.html:2
+msgid "Hide my name"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:21
+msgid "Hide my name everywhere"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:10
+msgid "Hide my name in this update"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:16
+msgid "Hide my name on this report"
+msgstr ""
#: templates/web/base/around/display_location.html:67
msgid "Hide old"
msgstr "Skrýt staré"
#: templates/web/base/around/display_location.html:62
+#: templates/web/base/js/translation_strings.html:55
msgid "Hide pins"
msgstr "Schovat znaÄky"
@@ -1496,7 +1514,16 @@ msgstr "Schovat znaÄky"
msgid "Hide update completely?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:49
+#: templates/web/base/report/_report_meta_info.html:3
+#: templates/web/base/report/update.html:55
+msgid "Hide your name?"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:38
+msgid "Hint"
+msgstr ""
+
+#: templates/web/base/admin/category_edit.html:24
msgid "History"
msgstr "Historie"
@@ -1513,12 +1540,12 @@ msgid "How to send successful reports"
msgstr "Anleitung"
#: templates/web/base/tokens/confirm_problem.html:36
-#: templates/web/base/tokens/confirm_problem.html:40
+#: templates/web/base/tokens/confirm_problem.html:41
msgid "I just reported a problem on @fixmystreet"
msgstr ""
-#: templates/web/base/tokens/confirm_update.html:19
-#: templates/web/base/tokens/confirm_update.html:23
+#: templates/web/base/tokens/confirm_update.html:20
+#: templates/web/base/tokens/confirm_update.html:25
msgid "I just updated a problem on @fixmystreet"
msgstr ""
@@ -1538,8 +1565,8 @@ msgstr "Bohužel, nelze lokalizovat Vaše hlášení v databázi.\n"
msgid "ID"
msgstr "ID"
-#: templates/web/base/admin/body-form.html:30
-#: templates/web/base/admin/body-form.html:31
+#: templates/web/base/admin/body-form.html:32
+#: templates/web/base/admin/body-form.html:33
msgid ""
"Identify a <strong>parent</strong> if this body is itself part of another body.\n"
" For basic installations, you don't need to join bodies in this way."
@@ -1547,10 +1574,18 @@ msgstr ""
"Vyberte <strong>nadřízený subjekt</strong> pokud je subjekt souÄástí jiného subjektu.\n"
" Pro základní nastavení instalace nevyžaduje propojování subjektů tímto způsobem."
+#: templates/web/base/auth/token.html:19
+msgid "If there's a user associated with the address you entered, we've sent a confirmation email."
+msgstr ""
+
#: templates/web/base/admin/responsepriorities/edit.html:23
msgid "If this priority is passed to an external service (e.g. Exor/Confirm) enter the priority code to use with that service here."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:24
+msgid "If ticked the user won’t see an input field, just the ‘Description’ text."
+msgstr ""
+
#: templates/web/base/admin/contact-form.html:14
msgid ""
"If two or more bodies serve the same location, FixMyStreet combines identical categories into a single entry in\n"
@@ -1563,7 +1598,7 @@ msgstr ""
msgid "If you get some more information about the status of your problem, please come back to the site and leave an update."
msgstr ""
-#: templates/web/base/admin/responsepriorities/edit.html:33
+#: templates/web/base/admin/responsepriorities/edit.html:45
msgid "If you only want this priority to be an option for specific categories, pick them here. By default they will show for all categories."
msgstr ""
@@ -1586,7 +1621,7 @@ msgid ""
"(please note it will not be sent to the council)."
msgstr ""
-#: templates/web/base/admin/contact-form.html:30
+#: templates/web/base/admin/contact-form.html:32
msgid "If you're using <strong>a send method that is not email</strong>, enter the service ID (Open311) or equivalent identifier here."
msgstr "Pokud používáte <strong>metodu zasílání mimo zaslání emailu</strong>, zadejte zde ID služby (Open311) nebo její ekvivalent."
@@ -1616,7 +1651,7 @@ msgid ""
" when they are shown on the site. Enter the ID (number) of that user."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:133
+#: perllib/FixMyStreet/App/Controller/Contact.pm:134
msgid "Illegal ID"
msgstr "Neplatné ID"
@@ -1624,13 +1659,6 @@ msgstr "Neplatné ID"
msgid "Illegal feed selection"
msgstr "Neplatný výběr zdoje"
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "In Progress"
-msgstr "v řešení"
-
#: templates/web/base/admin/flagged.html:39
msgid "In abuse table?"
msgstr "V tabulce zneužívání?"
@@ -1639,18 +1667,17 @@ msgstr "V tabulce zneužívání?"
msgid "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
msgstr "KromÄ› toho, tyto atributy, které nejsou souÄástí specifikace Open311 v2 jsou vráceny: agency_sent_datetime název (také vrácený jako souÄást popisu), interface_used, comment_count, requestor_name (přítomný pouze tehdy, pokud žadatel povolen název, který bude zobrazen na této stránce) ,"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:192
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:954
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:9
-#: templates/web/base/report/banner.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:5
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:197
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:959
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:8
msgid "In progress"
msgstr "v řešení"
+#: templates/web/base/admin/contact-form.html:57
+msgid "Inactive"
+msgstr ""
+
#: templates/web/base/tokens/confirm_alert.html:11
msgid "Inbox zero, here we come!"
msgstr ""
@@ -1667,11 +1694,15 @@ msgstr "VÄetnÄ› nepotvrzených hlášení"
msgid "Incorrect has_photo value \"%s\""
msgstr "Chybná has_photo hodnota \"%s\""
-#: templates/web/base/admin/contact-form.html:84
+#: templates/web/base/report/_inspect.html:5
+msgid "Inspect report"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:85
msgid "Inspection required"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:711
+#: perllib/FixMyStreet/Cobrand/Default.pm:715
msgid "Instruct contractors to fix problems"
msgstr ""
@@ -1679,13 +1710,6 @@ msgstr ""
msgid "Internal notes"
msgstr "Interní poznámky"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:11
-msgid "Internal referral"
-msgstr "Interní postoupení"
-
#: templates/web/base/offline/appcache.html:3
msgid "Internet glitch"
msgstr ""
@@ -1694,7 +1718,7 @@ msgstr ""
msgid "Invalid agency_responsible value %s"
msgstr "Chybná agency_responsible hodnota %s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1502
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1607
msgid "Invalid end date"
msgstr "Chybný koneÄný datum"
@@ -1702,26 +1726,15 @@ msgstr "Chybný koneÄný datum"
msgid "Invalid format %s specified."
msgstr "Chybný formát %s specified."
-#: perllib/FixMyStreet/App/Controller/Report.pm:398
+#: perllib/FixMyStreet/App/Controller/Report.pm:409
msgid "Invalid location. New location must be covered by the same council."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1498
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1603
msgid "Invalid start date"
msgstr "Chybné poÄáteÄní datum"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:7
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:4
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Investigating"
-msgstr "Šetření"
-
-#: templates/web/base/contact/blurb.html:8
+#: templates/web/base/contact/blurb.html:2
msgid "It's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there."
msgstr "ÄŒasto bývá nejrychlejší <a href=\"%s\">zkontrolovat naÅ¡e Otázky a odpovÄ›di</a> a podívat se, zda odpovÄ›Ä nenaleznete zde."
@@ -1729,37 +1742,59 @@ msgstr "Často bývá nejrychlejší <a href=\"%s\">zkontrolovat naše Otázky
msgid "It’s on its way to the council right now."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:177
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:182
msgid "Jurisdiction Unknown"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:15
msgid "Jurisdiction unknown"
msgstr ""
-#: templates/web/base/auth/general.html:91
+#: templates/web/base/auth/general.html:93
#: templates/web/base/report/new/form_user_loggedout_password.html:16
#: templates/web/base/report/update/form_user_loggedout_password.html:15
#: templates/web/zurich/auth/general.html:40
msgid "Keep me signed in on this computer"
msgstr "Ponechte mÄ› pÅ™ihlášeného na tomto poÄítaÄi"
+#: templates/web/base/admin/extra-metadata-form.html:61
+msgid "Key"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:9
+#: templates/web/base/admin/states/index.html:95
+msgid "Label"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:6
+#: templates/web/base/admin/reportextrafields/edit.html:45
+msgid "Language"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/index.html:8
+msgid "Languages"
+msgstr ""
+
#: templates/web/base/dashboard/index.html:50
msgid "Last 4 weeks"
msgstr ""
#: templates/web/base/dashboard/index.html:49
-#, fuzzy
+#: templates/web/base/reports/index.html:38
msgid "Last 7 days"
-msgstr "Poslední úpravy:"
+msgstr ""
#: templates/web/base/admin/body.html:74
#: templates/web/zurich/admin/body.html:16
msgid "Last editor"
msgstr "Poslední úpravy"
+#: templates/web/base/questionnaire/index.html:25
+msgid "Last update"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:89
msgid "Last update:"
msgstr "Poslední úpravy:"
@@ -1768,23 +1803,27 @@ msgstr "Poslední úpravy:"
msgid "Last&nbsp;update:"
msgstr "Poslední úpravy:"
-#: templates/web/base/report/_inspect.html:20
-#: templates/web/base/report/_item.html:86
+#: templates/web/base/report/_inspect.html:30
+#: templates/web/base/report/_item.html:88
msgid "Latitude/Longitude:"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:50
+#: templates/web/base/reports/_list-filters.html:61
msgid "Least recently updated"
msgstr ""
-#: templates/web/base/admin/body-form.html:127
+#: templates/web/base/admin/body-form.html:129
msgid "Leave this blank if all reports to this body should be sent using the same send method (e.g., \"%s\")."
msgstr "Ponechte prázdné, pokud pro tento subjekt bude vždy použitá stejná metoda zasílání (např. \"%s\")."
-#: templates/web/base/dashboard/index.html:150
+#: templates/web/base/dashboard/index.html:151
msgid "Less than 7 days old"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:47
+msgid "List"
+msgstr ""
+
#: templates/web/base/admin/body.html:31
msgid "List all reported problems"
msgstr "Seznam všech hlášení"
@@ -1815,23 +1854,23 @@ msgstr "Místní upozornění"
msgid "Locate the problem on a map of the area"
msgstr "Lokalizujte vaše hlášení v mapě"
-#: templates/web/base/auth/general.html:22
+#: templates/web/base/auth/general.html:24
#: templates/web/base/report/new/form_user_loggedout.html:6
#: templates/web/base/report/update/form_user_loggedout.html:7
msgid "Log in with Facebook"
msgstr ""
-#: templates/web/base/auth/general.html:30
+#: templates/web/base/auth/general.html:32
#: templates/web/base/report/new/form_user_loggedout.html:14
#: templates/web/base/report/update/form_user_loggedout.html:15
msgid "Log in with Twitter"
msgstr ""
-#: templates/web/base/js/translation_strings.html:59
+#: templates/web/base/js/translation_strings.html:62
msgid "Log in with email"
msgstr ""
-#: templates/web/base/dashboard/index.html:145
+#: templates/web/base/dashboard/index.html:146
#: templates/web/base/dashboard/index.html:38
msgid "Look up"
msgstr ""
@@ -1840,11 +1879,11 @@ msgstr ""
msgid "MAP"
msgstr "MAPA"
-#: perllib/FixMyStreet/Cobrand/Default.pm:712
+#: perllib/FixMyStreet/Cobrand/Default.pm:716
msgid "Manage shortlist"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:45
+#: templates/web/base/reports/_list-filters.html:56
msgid "Manual order"
msgstr ""
@@ -1860,19 +1899,11 @@ msgstr ""
msgid "Mark users whose behaviour you want to keep a check on as <strong>flagged</strong>."
msgstr "OznaÄte uživatele, jejichž chování chcete sledovat a oznaÄte je <strong>příznakem</strong>."
-#: templates/web/base/reports/index.html:27
-msgid "Marked fixed/closed in the past eight weeks"
-msgstr ""
-
-#: templates/web/base/reports/index.html:28
-msgid "Marked fixed/closed more than eight weeks ago"
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/Default.pm:710
+#: perllib/FixMyStreet/Cobrand/Default.pm:714
msgid "Markup problem details"
msgstr ""
-#: templates/web/base/contact/index.html:96
+#: templates/web/base/contact/index.html:100
msgid "Message"
msgstr "Zpráva"
@@ -1892,68 +1923,69 @@ msgstr ""
msgid "Missing jurisdiction_id"
msgstr "Chybějící jurisdiction_id"
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:706
+#: perllib/FixMyStreet/Cobrand/Default.pm:710
msgid "Moderate report details"
msgstr ""
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate this report"
msgstr ""
#: templates/web/base/report/update.html:12
-#, fuzzy
msgid "Moderate this update"
-msgstr "Nahlášeno uživatelem %s, urÄeno pro %s"
+msgstr ""
-#: templates/web/base/report/_main.html:69
-#: templates/web/base/report/update.html:49
-#, fuzzy
+#: templates/web/base/report/_main.html:73
+#: templates/web/base/report/update.html:58
msgid "Moderated by %s at %s"
-msgstr "Nahlášeno uživatelem %s, urÄeno pro %s"
+msgstr ""
#: templates/web/zurich/admin/stats.html:34
msgid "Moderated by division within one working day"
msgstr "Moderováno oddělením během jednoho pracovního dne"
-#: templates/web/base/report/_main.html:109
-#: templates/web/base/report/update.html:57
-#, fuzzy
+#: templates/web/base/report/_main.html:113
+#: templates/web/base/report/update.html:66
msgid "Moderation reason:"
-msgstr "ostatní oblasti:"
+msgstr ""
#: templates/web/base/admin/stats.html:11
msgid "Month"
msgstr "Měsíc"
-#: templates/web/base/reports/_list-filters.html:51
+#: templates/web/base/reports/_list-filters.html:62
msgid "Most commented"
msgstr ""
#: templates/web/base/admin/bodies.html:25
#: templates/web/base/admin/body-form.html:24
+#: templates/web/base/admin/extra-metadata-form.html:65
#: templates/web/base/admin/flagged.html:16
#: templates/web/base/admin/flagged.html:37
#: templates/web/base/admin/index.html:62
#: templates/web/base/admin/list_updates.html:7
+#: templates/web/base/admin/reportextrafields/edit.html:11
+#: templates/web/base/admin/reportextrafields/index.html:6
#: templates/web/base/admin/reports.html:14
#: templates/web/base/admin/responsepriorities/list.html:6
+#: templates/web/base/admin/states/index.html:108
+#: templates/web/base/admin/states/index.html:11
#: templates/web/base/admin/users.html:16
-#: templates/web/base/auth/general.html:106
-#: templates/web/base/report/new/form_user_loggedin.html:40
+#: templates/web/base/auth/general.html:108
+#: templates/web/base/report/new/form_user_loggedin.html:42
#: templates/web/base/report/new/form_user_loggedout_by_email.html:7
-#: templates/web/base/report/update/form_name.html:23
-#: templates/web/base/reports/index.html:23
+#: templates/web/base/report/update/form_name.html:27
#: templates/web/zurich/admin/body-form.html:4
#: templates/web/zurich/auth/general.html:60
#: templates/web/zurich/report/new/fill_in_details_form.html:59
msgid "Name"
msgstr "Jméno"
-#: templates/web/base/admin/report_edit.html:139
+#: templates/web/base/admin/report_edit.html:127
#: templates/web/base/admin/responsepriorities/edit.html:13
#: templates/web/base/admin/update_edit.html:34
#: templates/web/base/admin/user-form.html:16
@@ -1965,7 +1997,7 @@ msgstr "Jméno:"
msgid "Name: %s"
msgstr "Jméno: %s"
-#: templates/web/base/report/_inspect.html:28
+#: templates/web/base/report/_inspect.html:38
msgid "Navigate to this problem"
msgstr ""
@@ -1974,16 +2006,16 @@ msgstr ""
msgid "Nearest named road to the pin placed on the map (automatically generated using OpenStreetMap): %s%s"
msgstr "Nejbližší pojmenovaná ulice k umístÄ›né znaÄce na mapÄ› (automaticky generováno pomocí OpenStreetMap): %s%s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:129
+#: perllib/FixMyStreet/Cobrand/UK.pm:134
msgid "Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"
msgstr "Nejbližší PSÄŒ k umístÄ›né znaÄce na mapÄ› (automaticky generováno) %s (%sm away)"
-#: perllib/FixMyStreet/Cobrand/Default.pm:527
-#: perllib/FixMyStreet/Cobrand/Default.pm:567
+#: perllib/FixMyStreet/Cobrand/Default.pm:538
+#: perllib/FixMyStreet/Cobrand/Default.pm:566
msgid "Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"
msgstr "Nejbližší cesta k umístÄ›né znaÄce na mapÄ› (automaticky generováno pomocí Bing Mapy): %s"
-#: perllib/FixMyStreet/Script/Alerts.pm:319
+#: perllib/FixMyStreet/Script/Alerts.pm:316
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s\n"
"\n"
@@ -1991,19 +2023,23 @@ msgstr ""
"Nejbližší cesta k umístÄ›né znaÄce na mapÄ› (automaticky generováno pomocí Bing Mapy): %s\n"
"\n"
-#: templates/web/base/auth/token.html:17 templates/web/base/email_sent.html:5
+#: templates/web/base/auth/token.html:18
+msgid "Nearly done!"
+msgstr ""
+
+#: templates/web/base/auth/token.html:22 templates/web/base/email_sent.html:5
msgid "Nearly done! Now check your email&hellip;"
msgstr ""
-#: templates/web/base/reports/index.html:24
-msgid "New <br>problems"
-msgstr "Nová <br>hlášení"
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:131
+msgid "New"
+msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:259
+#: perllib/FixMyStreet/App/Controller/Admin.pm:262
msgid "New body added"
msgstr "Přidán nový subjekt"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:405
+#: perllib/FixMyStreet/App/Controller/Admin.pm:386
msgid "New category contact added"
msgstr "Do kategorie byl přidán nový kontakt"
@@ -2029,7 +2065,7 @@ msgid "New password:"
msgstr ""
#: templates/web/base/admin/responsepriorities/edit.html:4
-#: templates/web/base/admin/responsepriorities/list.html:32
+#: templates/web/base/admin/responsepriorities/list.html:34
msgid "New priority"
msgstr ""
@@ -2058,6 +2094,7 @@ msgid "New reports"
msgstr "Nová hlášení"
#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/states/index.html:91
msgid "New state"
msgstr "Nový stav"
@@ -2067,7 +2104,7 @@ msgstr "Nový stav"
msgid "New template"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:47
+#: templates/web/base/reports/_list-filters.html:58
msgid "Newest"
msgstr ""
@@ -2075,20 +2112,19 @@ msgstr ""
msgid "Next"
msgstr "Další"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1203
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
+#: perllib/FixMyStreet/Cobrand/Default.pm:1237
#: templates/web/base/admin/category_edit.html:4
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:137
+#: templates/web/base/admin/report_edit.html:125
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:26
#: templates/web/base/questionnaire/creator_fixed.html:16
#: templates/web/base/questionnaire/index.html:106
#: templates/web/base/questionnaire/index.html:55
+#: templates/web/base/report/_inspect.html:92
msgid "No"
msgstr "Ne"
@@ -2104,7 +2140,7 @@ msgstr "Žádný subjekt"
msgid "No council"
msgstr "Žádný Úřad"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:445
+#: perllib/FixMyStreet/DB/Result/Problem.pm:372
msgid "No council selected"
msgstr "Není vybrán žádný úřad"
@@ -2120,25 +2156,16 @@ msgstr "Nebyla nalazena žádná sledovaná hlášení."
msgid "No flagged users found."
msgstr "Nebyli nalezeni žádní sledovaní uživatelé."
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:14
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:8
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "No further action"
-msgstr "Nelze opravit"
-
#: templates/web/zurich/admin/report_edit-sdm.html:125
#: templates/web/zurich/admin/report_edit.html:259
msgid "No further updates"
msgstr "Žádné další aktualizace"
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:84
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:68
msgid "No inspections by that inspector in the selected date range."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:86
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:70
msgid "No inspections in the selected date range."
msgstr ""
@@ -2146,8 +2173,8 @@ msgstr ""
msgid "No result returned"
msgstr "Vráceno bez výsledku."
-#: templates/web/base/admin/body-form.html:66
-#: templates/web/base/admin/body-form.html:67
+#: templates/web/base/admin/body-form.html:68
+#: templates/web/base/admin/body-form.html:69
msgid ""
"No specific areas are currently available, because the <code>MAPIT_URL</code> in\n"
" your config file is not pointing to a live MapIt service."
@@ -2186,17 +2213,8 @@ msgstr ""
" V závislosti na implementaci, zaměstnanci institucí mohou mít přístup k přehledům (souhrny \n"
" aktivit jejich institucí), možnost smazat hlášení nebo nastavovat speciální stavy hlášení."
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:9
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "Not Responsible"
-msgstr "Nezodpovídá"
-
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:181
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:186
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:933
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:13
msgid "Not contactable"
@@ -2215,7 +2233,7 @@ msgid "Not reported to council"
msgstr "Na úřad nebylo hlášeno"
#: templates/web/base/admin/body.html:75
-#: templates/web/base/admin/category_edit.html:57
+#: templates/web/base/admin/category_edit.html:31
#: templates/web/zurich/admin/body.html:17
msgid "Note"
msgstr "Poznámka"
@@ -2225,7 +2243,7 @@ msgid "Note that when including unconfirmed reports we use the date the report w
msgstr "Upozorňujeme, že když zahrnujeme nepotvrzená hlášení, používáme datum hlášení, kdy bylo vytvoÅ™eno. To vÅ¡ak nemusí být ve stejném mÄ›síci, kdy bylo potvrzeno a proto se poÄty mohou trochu liÅ¡it"
#: templates/web/zurich/admin/body.html:55
-#: templates/web/zurich/admin/contact-form.html:17
+#: templates/web/zurich/admin/contact-form.html:19
msgid "Note:"
msgstr "Poznámka:"
@@ -2237,6 +2255,10 @@ msgstr "Poznámka: <strong>%s</strong>"
msgid "Notes from SDM to DM"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:26
+msgid "Notice"
+msgstr ""
+
#: templates/web/base/report/new/oauth_email_form.html:17
msgid "Now to submit your report&hellip;"
msgstr "A teÄ staÄí hlášení odeslat"
@@ -2247,63 +2269,43 @@ msgstr "A teÄ staÄí hlášení odeslat"
msgid "Now to submit your update&hellip;"
msgstr "A nyní pro odeslání aktualizace&hellip;"
+#: templates/web/base/reports/index.html:98
+msgid "Number of problems reported in each category, in the last 7 days."
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:43
msgid "OK"
msgstr "OK"
-#: templates/web/base/js/translation_strings.html:67
+#: templates/web/base/js/translation_strings.html:70
msgid "Offline data cleared"
msgstr ""
-#: templates/web/base/js/translation_strings.html:64
+#: templates/web/base/js/translation_strings.html:67
msgid "Offline update data saved"
msgstr ""
-#: templates/web/base/reports/index.html:26
-msgid "Old / unknown <br>problems"
-msgstr "Staré / neznámé <br>hlášení"
-
#: templates/web/base/admin/questionnaire.html:24
msgid "Old state"
msgstr "Starý stav"
-#: templates/web/base/reports/index.html:28
-msgid "Older <br>fixed"
-msgstr "Starší <br>vyřešené"
-
-#: templates/web/base/reports/index.html:25
-msgid "Older <br>problems"
-msgstr "Starší <br>hlášení"
-
-#: templates/web/base/reports/_list-filters.html:48
+#: templates/web/base/reports/_list-filters.html:59
msgid "Oldest"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:900
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:25
-#: templates/web/base/admin/report_blocks.html:6
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:905
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:10
+#: templates/web/base/admin/states/index.html:102
+#: templates/web/base/admin/states/index.html:25
+#: templates/web/base/admin/states/index.html:32
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:3
-#: templates/web/base/report/update/form_update.html:41
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:7
#: templates/web/zurich/admin/update_edit.html:18
msgid "Open"
msgstr "Otevřený"
-#: templates/web/base/reports/index.html:25
-msgid "Open for more than four weeks, with an update within the past eight weeks"
-msgstr ""
-
-#: templates/web/base/reports/index.html:26
-msgid "Open, but not had any update in eight weeks"
-msgstr ""
-
#: templates/web/base/admin/open311-form-fields.html:47
msgid "Open311 API Key"
msgstr ""
@@ -2324,26 +2326,38 @@ msgstr "Úvodní webová stránka systému Open311"
msgid "Open311 specification"
msgstr "Specifikace systému Open311"
-#: templates/web/base/alert/_list.html:61
-msgid "Or problems reported to:"
-msgstr "Nebo problémy hlášené subjektu:"
-
-#: templates/web/base/alert/_list.html:37
-msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
-msgstr "Nebo se můžete pÅ™ihlásit k odbÄ›ru vÅ¡ech upozornÄ›ní na hlášení, které jsou v následujících oblastech úřadu Äi Äástí:"
-
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:1061
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:659
-#: perllib/FixMyStreet/DB/Result/Problem.pm:642
-#: perllib/FixMyStreet/DB/Result/Problem.pm:649
-#: perllib/FixMyStreet/DB/Result/Problem.pm:664
-#: perllib/FixMyStreet/DB/Result/Problem.pm:673
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "Options"
+msgstr ""
+
+#: templates/web/base/alert/_list.html:84
+msgid "Or subscribe by RSS"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:8
+msgid "Order"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1107
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:675
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:676
+#: perllib/FixMyStreet/DB/Result/Problem.pm:579
+#: perllib/FixMyStreet/DB/Result/Problem.pm:586
+#: perllib/FixMyStreet/DB/Result/Problem.pm:601
+#: perllib/FixMyStreet/DB/Result/Problem.pm:610
#: perllib/FixMyStreet/Script/Reports.pm:183
#: perllib/FixMyStreet/Script/Reports.pm:198
msgid "Other"
msgstr "Ostatní"
+#: templates/web/base/reports/index.html:107
+msgid "Other categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:92
+msgid "Overall average"
+msgstr ""
+
#: templates/web/base/admin/list_updates.html:8
msgid "Owner"
msgstr "Vlastník"
@@ -2353,17 +2367,16 @@ msgstr "Vlastník"
msgid "Page Not Found"
msgstr "Stránka nenalezena"
-#: templates/web/base/admin/body-form.html:37
+#: templates/web/base/admin/body-form.html:39
#: templates/web/zurich/admin/body-form.html:14
msgid "Parent"
msgstr "Nadřazený subjekt"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:20
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:61
msgid "Partial"
msgstr "ČásteÄnÄ›"
-#: templates/web/base/auth/general.html:109
+#: templates/web/base/auth/general.html:111
#: templates/web/base/report/new/form_user_loggedout_by_email.html:28
#: templates/web/base/report/update/form_user_loggedout_by_email.html:6
#: templates/web/zurich/auth/general.html:32
@@ -2371,7 +2384,7 @@ msgstr "ČásteÄnÄ›"
msgid "Password (optional)"
msgstr "Heslo (volitelnÄ›)"
-#: templates/web/base/auth/general.html:82
+#: templates/web/base/auth/general.html:84
msgid "Password:"
msgstr "Heslo:"
@@ -2383,17 +2396,21 @@ msgstr "Trvalý odkaz"
msgid "Permissions:"
msgstr ""
+#: templates/web/base/report/_inspect.html:19
+msgid "Phone Reporter:"
+msgstr ""
+
#: templates/web/zurich/report/new/fill_in_details_form.html:65
msgid "Phone number"
msgstr "Telefonní Äíslo"
-#: templates/web/base/report/new/form_user_loggedin.html:57
+#: templates/web/base/report/new/form_user_loggedin.html:59
#: templates/web/base/report/new/form_user_loggedout_by_email.html:25
msgid "Phone number (optional)"
msgstr "Telefonní Äíslo (volitelnÄ›)"
#: perllib/FixMyStreet/Script/Reports.pm:87
-#: templates/web/base/admin/report_edit.html:146
+#: templates/web/base/admin/report_edit.html:134
#: templates/web/base/admin/user-form.html:21
#: templates/web/zurich/admin/stats.html:39
msgid "Phone:"
@@ -2402,9 +2419,9 @@ msgstr "Telefon:"
#: templates/web/base/questionnaire/index.html:78
#: templates/web/base/questionnaire/index.html:93
#: templates/web/base/questionnaire/index.html:95
-#: templates/web/base/report/new/form_report.html:28
-#: templates/web/base/report/new/form_report.html:43
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/new/form_report.html:45
+#: templates/web/base/report/new/form_report.html:47
#: templates/web/base/report/update/form_update.html:22
#: templates/web/base/report/update/form_update.html:24
#: templates/web/base/report/update/form_update.html:7
@@ -2422,12 +2439,12 @@ msgstr "Fotografie"
msgid "Photo is required."
msgstr ""
-#: templates/web/zurich/admin/contact-form.html:14
+#: templates/web/zurich/admin/contact-form.html:16
msgid "Photo required"
msgstr ""
#: templates/web/base/questionnaire/index.html:78
-#: templates/web/base/report/new/form_report.html:28
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/update/form_update.html:7
#: templates/web/zurich/report/new/fill_in_details_form.html:20
msgid "Photos"
@@ -2437,17 +2454,18 @@ msgstr ""
msgid "Photos of recent nearby reports"
msgstr "Fotografie nedávných okolních hlášení"
+#: templates/web/base/reports/index.html:63
+#: templates/web/base/reports/index.html:66
+msgid "Pick your council"
+msgstr ""
+
#: templates/web/base/around/display_location.html:76
#: templates/web/base/js/translation_strings.html:30
msgid "Place pin on map"
msgstr "Umísti špendlík na mapu"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:940
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:946
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:8
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:945
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:951
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:9
#: templates/web/zurich/admin/index-dm.html:9
@@ -2465,31 +2483,27 @@ msgstr "Zkontrolujte prosím hesla a zkuste znovu"
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:18
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:43
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:45
#: templates/web/zurich/auth/general.html:3
#: templates/web/zurich/auth/general.html:9
msgid "Please check your email address is correct"
msgstr "Zkontrolujte, zda je vaše emailová adresa správná"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:350
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:844
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:867
-#: perllib/FixMyStreet/DB/Result/Problem.pm:456
+#: perllib/FixMyStreet/App/Controller/Admin.pm:329
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:873
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:896
+#: perllib/FixMyStreet/DB/Result/Problem.pm:383
#: templates/web/base/js/translation_strings.html:9
msgid "Please choose a category"
msgstr "Vyberte kategorii"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:462
-msgid "Please choose a property type"
-msgstr "Zvolte typ nemovitosti"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:396
+#: perllib/FixMyStreet/App/Controller/Admin.pm:377
#: templates/web/base/admin/bodies.html:4 templates/web/base/admin/body.html:11
msgid "Please correct the errors below"
msgstr "Opravte prosím chyby uvedené níže"
-#: templates/web/base/contact/blurb.html:12
+#: templates/web/base/contact/blurb.html:6
msgid ""
"Please do <strong>not</strong> report problems through this form; messages go to\n"
"the team behind this site, not a council. To report a problem,\n"
@@ -2500,18 +2514,18 @@ msgstr ""
msgid "Please do not be abusive&nbsp;&mdash; abusing your council devalues the service for all users."
msgstr "Nezneužívejte tento nástroj - zneužívání vašeho úřadu znehodnocuje službu pro všechny uživatele."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:351
-#: perllib/FixMyStreet/DB/Result/Comment.pm:127
+#: perllib/FixMyStreet/App/Controller/Admin.pm:330
+#: perllib/FixMyStreet/DB/Result/Comment.pm:128
#: templates/web/base/js/translation_strings.html:2
msgid "Please enter a message"
msgstr "prosím zadejte zprávu"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1200
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1364
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1305
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1469
msgid "Please enter a name"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:478
+#: perllib/FixMyStreet/App/Controller/Admin.pm:497
msgid "Please enter a name for this body"
msgstr ""
@@ -2521,15 +2535,15 @@ msgstr ""
msgid "Please enter a password"
msgstr "Prosím zadejte heslo"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:114
-#: perllib/FixMyStreet/DB/Result/Problem.pm:439
+#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/DB/Result/Problem.pm:366
#: templates/web/base/js/translation_strings.html:3
msgid "Please enter a subject"
msgstr "Prosím zadejte název"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1197
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1361
-#: perllib/FixMyStreet/App/Controller/Admin.pm:363
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1302
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1466
+#: perllib/FixMyStreet/App/Controller/Admin.pm:343
#: perllib/FixMyStreet/DB/Result/User.pm:164
#: templates/web/base/js/translation_strings.html:12
#: templates/web/base/js/translation_strings.html:16
@@ -2537,21 +2551,21 @@ msgid "Please enter a valid email"
msgstr "Prosím zadejte platný e-mail"
#: perllib/FixMyStreet/App/Controller/Alert.pm:350
-#: perllib/FixMyStreet/App/Controller/Contact.pm:124
+#: perllib/FixMyStreet/App/Controller/Contact.pm:125
msgid "Please enter a valid email address"
msgstr "Prosím zadejte platnou emailovou adresu"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:442
+#: perllib/FixMyStreet/DB/Result/Problem.pm:369
#: templates/web/base/js/translation_strings.html:4
msgid "Please enter some details"
msgstr "Prosím zadejte podrobnosti"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/App/Controller/Contact.pm:114
#: perllib/FixMyStreet/DB/Result/User.pm:161
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:17
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:42
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:44
#: templates/web/base/js/translation_strings.html:11
#: templates/web/base/js/translation_strings.html:15
#: templates/web/zurich/auth/general.html:3
@@ -2568,14 +2582,14 @@ msgstr "Prosím zadejte vaši emailovou adresu"
msgid "Please enter your first name"
msgstr "Zadejte vaše jméno"
-#: perllib/FixMyStreet/Cobrand/UK.pm:320
+#: perllib/FixMyStreet/Cobrand/UK.pm:326
#: templates/web/base/js/translation_strings.html:7
msgid "Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below"
msgstr "Zadejte své celé jméno, úřad potÅ™ebuje tyto informace - jestliže si pÅ™ejete, aby VaÅ¡e jméno nebylo na webu zobrazeno, odÅ¡krtnÄ›nte ÄvereÄek níže"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:112
-#: perllib/FixMyStreet/DB/Result/Comment.pm:124
-#: perllib/FixMyStreet/DB/Result/Problem.pm:450
+#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/DB/Result/Comment.pm:125
+#: perllib/FixMyStreet/DB/Result/Problem.pm:377
#: perllib/FixMyStreet/DB/Result/User.pm:157
#: templates/web/base/js/translation_strings.html:6
msgid "Please enter your name"
@@ -2638,7 +2652,7 @@ msgstr ""
msgid "Please note:"
msgstr "Vezměte prosím na vědomí:"
-#: perllib/FixMyStreet/App/Controller/Report.pm:358
+#: perllib/FixMyStreet/App/Controller/Report.pm:353
msgid "Please provide a public update for this report."
msgstr ""
@@ -2674,11 +2688,11 @@ msgstr "UveÄte, prosím, zda byl Äi nebyl problém vyÅ™eÅ¡en"
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:122
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:156
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:158
-#: templates/web/base/js/translation_strings.html:57
+#: templates/web/base/js/translation_strings.html:60
msgid "Please upload an image only"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/App/Controller/Contact.pm:116
msgid "Please write a message"
msgstr "Napište zprávu"
@@ -2686,30 +2700,29 @@ msgstr "Napište zprávu"
msgid "Please write your update here"
msgstr "Aktuální informace doplňte prosím zde"
-#: templates/web/base/contact/index.html:103
#: templates/web/base/report/update-form.html:25
#: templates/web/base/report/update/form_user_loggedout_by_email.html:14
#: templates/web/base/report/update/form_user_loggedout_password.html:10
msgid "Post"
msgstr "Odeslat"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:242
+#: perllib/FixMyStreet/DB/Result/Comment.pm:231
msgid "Posted anonymously at %s"
msgstr "Nahlášeno anonymně v %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:257
+#: perllib/FixMyStreet/DB/Result/Comment.pm:255
msgid "Posted by %s at %s"
msgstr "Odesláno uživatelem %s v %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:252
+#: perllib/FixMyStreet/DB/Result/Comment.pm:243
msgid "Posted by <strong>%s</strong> (%s) at %s"
msgstr "Odesláno uživatelem <strong>%s</strong> (%s) v %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:254
+#: perllib/FixMyStreet/DB/Result/Comment.pm:245
msgid "Posted by <strong>%s</strong> at %s"
msgstr "Odesláno uživatelem <strong>%s</strong> v %s"
-#: templates/web/base/front/footer-marketing.html:12
+#: templates/web/base/front/footer-marketing.html:6
msgid "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
msgstr ""
@@ -2721,8 +2734,8 @@ msgstr "Předcházející"
msgid "Priorities"
msgstr ""
-#: templates/web/base/report/_inspect.html:113
-#: templates/web/base/report/_item.html:98
+#: templates/web/base/report/_inspect.html:123
+#: templates/web/base/report/_item.html:100
msgid "Priority"
msgstr ""
@@ -2736,16 +2749,15 @@ msgstr "Ochrana osobních údajů"
msgid "Privacy and cookies"
msgstr ""
-#: templates/web/base/admin/body.html:91
-#: templates/web/base/admin/contact-form.html:74
-#: templates/web/base/admin/report_edit.html:149
+#: templates/web/base/admin/body.html:88
+#: templates/web/base/admin/contact-form.html:75
+#: templates/web/base/admin/report_edit.html:137
msgid "Private"
msgstr "Neveřejné"
#: templates/web/base/report/new/form_user.html:1
-#, fuzzy
msgid "Private details"
-msgstr "Neveřejné"
+msgstr ""
#: templates/web/base/maps/pin.html:13
msgid "Problem"
@@ -2769,7 +2781,7 @@ msgstr "Hlášení %s bylo odesláno na úřad %s"
msgid "Problem breakdown by state"
msgstr "Členění hlášení podle stavu"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1167
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1272
msgid "Problem marked as open."
msgstr "Hlášení bylo oznaÄeno za otevÅ™ené."
@@ -2777,11 +2789,16 @@ msgstr "Hlášení bylo oznaÄeno za otevÅ™ené."
msgid "Problem state change based on survey results"
msgstr "Stav hlášení byl změněn na základě výsledků šetření"
-#: perllib/FixMyStreet/Cobrand/Default.pm:705
+#: perllib/FixMyStreet/Cobrand/Default.pm:709
#: templates/web/base/admin/flagged.html:10
msgid "Problems"
msgstr "Hlášení"
+#: templates/web/base/alert/_list.html:22
+#, fuzzy
+msgid "Problems in an area"
+msgstr "Hlášení v oblasti %s"
+
#: templates/web/base/report/display_tools.html:22
msgid "Problems nearby"
msgstr "Hlášení v okolí"
@@ -2794,30 +2811,33 @@ msgstr "Hlášení na mapě"
msgid "Problems recently reported fixed on FixMyStreet"
msgstr "Hlášení oznaÄená za vyÅ™eÅ¡ená na serveru FixMyStreet"
-#: templates/web/base/alert/_list.html:22
-msgid "Problems within %.1fkm of this location"
+#: templates/web/base/alert/_list.html:29
+#, fuzzy
+msgid "Problems within %.1fkm of %s"
msgstr "Hlášení v okolí %.1fkm od tohoto místa"
-#: perllib/FixMyStreet/Cobrand/Default.pm:833
+#: perllib/FixMyStreet/Cobrand/Default.pm:838
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:137
-#: perllib/FixMyStreet/Cobrand/UK.pm:209
+#: perllib/FixMyStreet/Cobrand/UK.pm:215 perllib/FixMyStreet/Cobrand/UK.pm:257
+#: perllib/FixMyStreet/Cobrand/UK.pm:269
msgid "Problems within %s"
msgstr "Hlášení v oblasti %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:223
+#: perllib/FixMyStreet/Cobrand/UK.pm:229
msgid "Problems within %s ward"
msgstr "Hlášení v oblasti %s"
+#: perllib/FixMyStreet/Cobrand/UK.pm:263 perllib/FixMyStreet/Cobrand/UK.pm:275
+#, fuzzy
+msgid "Problems within %s ward, %s"
+msgstr "Hlášení v oblasti %s"
+
#. ("First %s is the body name, second %s the site name")
#: templates/web/base/reports/body.html:0
#: templates/web/base/reports/body.html:25
msgid "Problems within %s, %s"
msgstr ""
-#: templates/web/base/alert/_list.html:43
-msgid "Problems within the boundary of:"
-msgstr "Hlášení uvnitř oblasti:"
-
#: templates/web/base/admin/report_edit.html:74
msgid "Property address:"
msgstr "Adresa nemovitosti:"
@@ -2827,11 +2847,11 @@ msgstr "Adresa nemovitosti:"
msgid "Provide an update"
msgstr "Poskytněte aktuální informace"
-#: templates/web/base/report/update/form_name.html:9
+#: templates/web/base/report/update/form_name.html:10
msgid "Provide update as"
msgstr ""
-#: templates/web/base/auth/general.html:112
+#: templates/web/base/auth/general.html:114
msgid "Providing a name and password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
msgstr "Poskytnutí jména a hesla je volitelné, zato vám ale umožní snadněji nahlásit problémy, hlásit aktualizace a spravovat svá hlášení."
@@ -2841,16 +2861,15 @@ msgid "Providing a password is optional, but doing so will allow you to more eas
msgstr "Poskytnutí hesla je volitelné, zato vám ale umožní snadněji nahlásit problémy, hlásit aktualizace a spravovat svá hlášení."
#: templates/web/base/report/new/form_report.html:10
-#, fuzzy
msgid "Public details"
-msgstr "Veřejná reakce:"
+msgstr ""
#: templates/web/zurich/admin/report_edit.html:241
#: templates/web/zurich/admin/report_edit.html:268
msgid "Public response:"
msgstr "Veřejná reakce:"
-#: templates/web/base/report/_inspect.html:152
+#: templates/web/base/report/_inspect.html:162
msgid "Public update:"
msgstr ""
@@ -2878,7 +2897,7 @@ msgstr "Dotazník %d poslal k hlášení %d"
msgid "Questionnaire filled in by problem reporter"
msgstr "Dotazník vyplňuje uživatel, který podal hlášení problému"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
#: templates/web/base/alert/updates.html:9
#: templates/web/base/around/display_location.html:1
#: templates/web/base/around/display_location.html:3
@@ -2886,11 +2905,11 @@ msgstr "Dotazník vyplňuje uživatel, který podal hlášení problému"
msgid "RSS feed"
msgstr "RSS kanál"
-#: perllib/FixMyStreet/Cobrand/UK.pm:252 perllib/FixMyStreet/Cobrand/UK.pm:264
+#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
msgid "RSS feed for %s"
msgstr "RSS kanál pro %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
+#: perllib/FixMyStreet/Cobrand/UK.pm:264 perllib/FixMyStreet/Cobrand/UK.pm:276
msgid "RSS feed for %s ward, %s"
msgstr "RSS kanál pro oblast %s, %s"
@@ -2898,25 +2917,25 @@ msgstr "RSS kanál pro oblast %s, %s"
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:179
-#: perllib/FixMyStreet/Cobrand/UK.pm:278 perllib/FixMyStreet/Cobrand/UK.pm:290
+#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
msgid "RSS feed of %s"
msgstr "RSS kanál pro %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
msgid "RSS feed of %s, within %s ward"
msgstr "RSS kanál pro %s, v oblasti %s "
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
msgid "RSS feed of nearby problems"
msgstr "RSS kanál hlášení v okolí"
-#: perllib/FixMyStreet/Cobrand/Default.pm:834
+#: perllib/FixMyStreet/Cobrand/Default.pm:839
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:136
-#: perllib/FixMyStreet/Cobrand/UK.pm:216
+#: perllib/FixMyStreet/Cobrand/UK.pm:222
msgid "RSS feed of problems within %s"
msgstr "RSS kanál hlášení v oblasti %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:222
+#: perllib/FixMyStreet/Cobrand/UK.pm:228
msgid "RSS feed of problems within %s ward"
msgstr "RSS kanál hlášení v oblasti %s "
@@ -2935,7 +2954,7 @@ msgstr "RSS kanál aktualizací tohoto hlášení"
msgid "Receive email when updates are left on this problem."
msgstr "Dostávat e-mail, když je hlášení aktualizováno."
-#: perllib/FixMyStreet/DB/Result/Problem.pm:801
+#: perllib/FixMyStreet/DB/Result/Problem.pm:738
msgid "Received by %s moments later"
msgstr ""
@@ -2945,15 +2964,11 @@ msgstr ""
msgid "Recent local problems, %s"
msgstr ""
-#: templates/web/base/reports/index.html:27
-msgid "Recently <br>fixed"
-msgstr "Aktuálně <br>vyřešené"
-
#: templates/web/base/front/recent.html:11
msgid "Recently reported problems"
msgstr "Nedávno nahlášené problémy"
-#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:60
msgid "Recently updated"
msgstr ""
@@ -2961,13 +2976,23 @@ msgstr ""
msgid "Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. If your problem is not appropriate for submission via this site remember that you can contact your council directly using their own website."
msgstr "Uvědomte si, že FixMyStreet je především pro hlášení fyzických problémů, které mohou být opraveny. Pokud váš problém není vhodný pro hlášení prostřednictvím tohoto webu, můžete se obrátit na váš úřad přímo pomocí jejich internetových stránek."
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/extra-metadata-form.html:68
+#, fuzzy
+msgid "Remove"
+msgstr "Odstranit příznak"
+
+#: templates/web/base/admin/extra-metadata-form.html:4
+#, fuzzy
+msgid "Remove field"
+msgstr "Odstranit příznak"
+
+#: templates/web/base/admin/report_blocks.html:23
msgid "Remove flag"
msgstr "Odstranit příznak"
#: templates/web/base/report/_item.html:12
#: templates/web/base/report/_item.html:9
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:18
#: templates/web/base/report/_main.html:26
msgid "Remove from shortlist"
@@ -2977,7 +3002,7 @@ msgstr ""
msgid "Remove from site"
msgstr ""
-#: templates/web/base/admin/report_edit.html:166
+#: templates/web/base/admin/report_edit.html:154
#: templates/web/base/admin/update_edit.html:69
#: templates/web/zurich/admin/update_edit.html:35
msgid "Remove photo (can't be undone!)"
@@ -2991,13 +3016,13 @@ msgstr ""
msgid "Report"
msgstr ""
-#: templates/web/base/report/_inspect.html:10
-#: templates/web/base/report/_item.html:76
+#: templates/web/base/report/_inspect.html:14
+#: templates/web/base/report/_item.html:78
msgid "Report ID:"
msgstr ""
#: templates/web/base/header_logo.html:2
-#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:19
+#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:18
#: templates/web/zurich/nav_over_content.html:4
msgid "Report a problem"
msgstr "Nahlásit problém"
@@ -3007,7 +3032,7 @@ msgstr "Nahlásit problém"
msgid "Report abuse"
msgstr "Nevhodný obsah"
-#: templates/web/base/report/new/form_user_loggedin.html:16
+#: templates/web/base/report/new/form_user_loggedin.html:17
msgid "Report as"
msgstr ""
@@ -3016,9 +3041,8 @@ msgid "Report on %s"
msgstr "Hlášení na webu %s"
#: templates/web/base/dashboard/index.html:137
-#, fuzzy
msgid "Report state:"
-msgstr "Nevhodný obsah"
+msgstr ""
#: templates/web/base/report/new/fill_in_details_form.html:1
#: templates/web/base/report/new/login_success_form.html:1
@@ -3031,7 +3055,7 @@ msgstr "Nahlášení problému"
msgid "Report, view, or discuss local problems"
msgstr "Hlášení, zobrazení a diskuse nad lokálními problémy"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:653
+#: perllib/FixMyStreet/DB/Result/Problem.pm:590
#: templates/web/base/contact/index.html:55
msgid "Reported anonymously at %s"
msgstr "Nahlášeno anonymně v %s"
@@ -3041,7 +3065,7 @@ msgstr "Nahlášeno anonymně v %s"
msgid "Reported before"
msgstr "Hlásil(a) jsem již dříve"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:677
+#: perllib/FixMyStreet/DB/Result/Problem.pm:614
#: templates/web/base/contact/index.html:57
msgid "Reported by %s at %s"
msgstr "Nahlášeno uživatelem %s, urÄeno pro %s"
@@ -3055,34 +3079,30 @@ msgstr ""
msgid "Reported in the %s category"
msgstr "Nahlášeno v kategorii %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:650
+#: perllib/FixMyStreet/DB/Result/Problem.pm:587
msgid "Reported in the %s category anonymously at %s"
msgstr "Nahlášeno anonymně v %s v kategorii %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:611
msgid "Reported in the %s category by %s at %s"
msgstr "Nahlášeno v kategorii %s uživatelem %s v %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:647
+#: perllib/FixMyStreet/DB/Result/Problem.pm:584
msgid "Reported via %s anonymously at %s"
msgstr "Nahlášeno prostřednictvím %s anonymně v %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:671
+#: perllib/FixMyStreet/DB/Result/Problem.pm:608
msgid "Reported via %s by %s at %s"
msgstr "Nahlášeno prostřednictvím %s uživatelem %s v %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:644
+#: perllib/FixMyStreet/DB/Result/Problem.pm:581
msgid "Reported via %s in the %s category anonymously at %s"
msgstr "Nahlášeno prostřednictvím %s v kategorii %s anonymně v %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:666
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
msgid "Reported via %s in the %s category by %s at %s"
msgstr "Nahlášeno prostřednictvím %s v kategorii %s uživatelem %s v %s"
-#: templates/web/base/reports/index.html:24
-msgid "Reported within the last four weeks"
-msgstr ""
-
#: templates/web/zurich/admin/report_edit-sdm.html:38
#: templates/web/zurich/admin/report_edit.html:57
msgid "Reported:"
@@ -3098,13 +3118,13 @@ msgid "Reporting a problem"
msgstr "Hlášení problému"
#: perllib/FixMyStreet/Cobrand/Default.pm:655
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:383
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:388
#: templates/web/base/dashboard/index.html:134
#: templates/web/zurich/header.html:52
msgid "Reports"
msgstr "Hlášení"
-#: perllib/FixMyStreet/Cobrand/UK.pm:329 perllib/FixMyStreet/Cobrand/UK.pm:333
+#: perllib/FixMyStreet/Cobrand/UK.pm:333 perllib/FixMyStreet/Cobrand/UK.pm:335
msgid "Reports are limited to %s characters in length. Please shorten your report"
msgstr "Délka hlášení je omezena na %s znaků. Prosím, zkraťte své hlášení"
@@ -3112,31 +3132,53 @@ msgstr "Délka hlášení je omezena na %s znaků. Prosím, zkraťte své hláš
msgid "Reports awaiting approval"
msgstr "Hlášení Äekající na schválení"
+#: templates/web/base/alert/_list.html:54
+#, fuzzy
+msgid "Reports by destination"
+msgstr "Nahlášeno uživatelem %s, urÄeno pro %s"
+
#: templates/web/base/admin/user-form.html:107
msgid "Reports made by trusted users will be sent to the responsible body without being inspected first."
msgstr ""
+#: templates/web/base/alert/_list.html:15
+msgid "Reports near %s are sent to different councils, depending on the type of problem."
+msgstr ""
+
#: templates/web/zurich/admin/index-sdm.html:10
msgid "Reports published"
msgstr "Publikovaná hlášení"
-#: templates/web/base/js/translation_strings.html:68
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:71
msgid "Reports saved offline."
-msgstr "Nahlásit problém"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#, fuzzy
+msgid "Reports sent to %s"
+msgstr "Hlášení na webu %s"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:290 perllib/FixMyStreet/Cobrand/UK.pm:302
+#, fuzzy
+msgid "Reports sent to %s, within %s ward"
+msgstr "RSS kanál pro %s, v oblasti %s "
#: templates/web/base/admin/index.html:56
msgid "Reports waiting to be sent"
msgstr ""
-#: templates/web/base/admin/contact-form.html:89
+#: templates/web/base/admin/contact-form.html:90
msgid "Reports will automatically be sent without needing to be inspected if the user's <strong>reputation</strong> is at or above this value. Set to <strong>0</strong> if all reports must be inspected regardless."
msgstr ""
-#: templates/web/base/admin/contact-form.html:94
+#: templates/web/base/admin/contact-form.html:95
msgid "Reputation threshold"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:20
+msgid "Required"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:84
msgid "Resend report"
msgstr "Znovu odeslané hlášení"
@@ -3172,7 +3214,7 @@ msgstr ""
msgid "Revert to original"
msgstr ""
-#: templates/web/base/report/_main.html:95
+#: templates/web/base/report/_main.html:99
msgid "Revert to original text"
msgstr ""
@@ -3195,16 +3237,16 @@ msgstr ""
msgid "Road operator for this named road (from OpenStreetMap): %s"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1747
-#: templates/web/base/admin/report_edit.html:163
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1852
+#: templates/web/base/admin/report_edit.html:151
#: templates/web/base/admin/update_edit.html:66
#: templates/web/zurich/admin/report_edit.html:118
msgid "Rotate Left"
msgstr "OtoÄit doleva"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: templates/web/base/admin/report_edit.html:164
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: templates/web/base/admin/report_edit.html:152
#: templates/web/base/admin/update_edit.html:67
#: templates/web/zurich/admin/report_edit.html:119
msgid "Rotate Right"
@@ -3219,33 +3261,41 @@ msgstr ""
msgid "Satellite"
msgstr "Satelitní"
-#: templates/web/base/report/_inspect.html:168
-#, fuzzy
+#: templates/web/base/report/_inspect.html:182
msgid "Save + close as duplicate"
-msgstr "oznaÄené jako duplicitní hlášení"
+msgstr ""
-#: templates/web/base/admin/contact-form.html:137
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/contact-form.html:138
+#: templates/web/base/admin/reportextrafields/edit.html:64
+#: templates/web/base/admin/responsepriorities/edit.html:58
#: templates/web/base/admin/template_edit.html:46
-#: templates/web/base/report/_inspect.html:168
-#: templates/web/base/report/_main.html:113
-#: templates/web/base/report/update.html:60
+#: templates/web/base/report/_inspect.html:182
+#: templates/web/base/report/_main.html:117
+#: templates/web/base/report/update.html:69
#: templates/web/zurich/admin/body.html:62
-#: templates/web/zurich/admin/contact-form.html:20
+#: templates/web/zurich/admin/contact-form.html:22
#: templates/web/zurich/admin/template_edit.html:29
msgid "Save changes"
msgstr "Uložit změny"
-#: templates/web/base/report/_inspect.html:148
+#: templates/web/base/admin/reportextrafields/edit.html:64
+msgid "Save new fields"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:158
msgid "Save with a public update"
msgstr ""
-#. ('This is followed by a progress count, e.g. 3/5')
#. ("This is followed by a progress count, e.g. 3/5")
-#: templates/web/base/js/translation_strings.html:69
+#: templates/web/base/js/translation_strings.html:72
msgid "Saving reports offline"
msgstr ""
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:132
+#, fuzzy
+msgid "Scheduled"
+msgstr "Akce naplánována"
+
#: templates/web/base/admin/index.html:26
#: templates/web/base/admin/reports.html:1
#: templates/web/zurich/admin/reports.html:1
@@ -3279,41 +3329,41 @@ msgstr "Nebyli nalezeni žádní sledovaní uživatelé."
msgid "See our privacy policy"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:715
+#: perllib/FixMyStreet/Cobrand/Default.pm:720
msgid "See user detail for reports created as the council"
msgstr ""
-#: templates/web/base/admin/body-form.html:39
+#: templates/web/base/admin/body-form.html:41
#: templates/web/zurich/admin/body-form.html:16
msgid "Select a body"
msgstr "Zvolte subjekt"
-#: templates/web/base/reports/index.html:12
-msgid "Select a particular council to see the reports sent there."
-msgstr "Vyberte konkrétní instituce a"
-
-#: templates/web/base/admin/body-form.html:77
+#: templates/web/base/admin/body-form.html:79
#: templates/web/zurich/admin/body-form.html:26
msgid "Select an area"
msgstr "Zvolte oblast"
-#: templates/web/base/alert/_list.html:11
-msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
+#: templates/web/base/admin/responsepriorities/edit.html:33
+msgid "Select if this is the default priority"
msgstr ""
#: templates/web/base/admin/category-checkboxes.html:6
msgid "Select:"
msgstr ""
+#: templates/web/base/contact/index.html:107
+msgid "Send"
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:109
msgid "Send extended Open311 statuses with service request updates"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:826
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:831
msgid "Sent report back"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:804
+#: perllib/FixMyStreet/DB/Result/Problem.pm:741
msgid "Sent to %s %s later"
msgstr "odesláno do %s o %s později"
@@ -3326,7 +3376,7 @@ msgstr "Odeslat:"
msgid "Service:"
msgstr "Služba:"
-#: templates/web/base/report/_inspect.html:31
+#: templates/web/base/report/_inspect.html:41
msgid "Set to my current location"
msgstr ""
@@ -3335,49 +3385,56 @@ msgid "Share"
msgstr "Sdílet"
#: templates/web/base/main_nav_items.html:10
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:21
#: templates/web/base/report/_main.html:29
msgid "Shortlist"
msgstr ""
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/reports/body.html:32
+msgid "Shortlist all visible"
+msgstr ""
+
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:20
#: templates/web/base/report/_main.html:25
#: templates/web/base/reports/_list-filters.html:9
msgid "Shortlisted"
msgstr ""
-#: templates/web/base/report/_main.html:144
+#: templates/web/base/report/_item.html:15
+#: templates/web/base/report/_main.html:148
msgid "Shortlisted by %s"
msgstr ""
#: templates/web/base/report/update.html:20
-#, fuzzy
msgid "Show Photo?"
-msgstr "Zobrazit stará"
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:26
+msgid "Show all updates"
+msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:54
+#: templates/web/base/report/new/form_user_loggedin.html:56
#: templates/web/base/report/new/form_user_loggedout_by_email.html:22
-#: templates/web/base/report/update/form_name.html:33
+#: templates/web/base/report/update/form_name.html:37
msgid "Show my name publicly"
msgstr "Zobrazit moje jméno veřejně"
#: templates/web/base/report/update.html:17
-#, fuzzy
msgid "Show name publicly?"
-msgstr "Zobrazit moje jméno veřejně"
+msgstr ""
#: templates/web/base/around/display_location.html:69
msgid "Show old"
msgstr "Zobrazit stará"
-#: templates/web/base/report/_main.html:79
-#, fuzzy
+#: templates/web/base/report/_main.html:83
msgid "Show photo"
-msgstr "Zobrazit stará"
+msgstr ""
#: templates/web/base/around/display_location.html:60
+#: templates/web/base/js/translation_strings.html:54
msgid "Show pins"
msgstr "Zobrazit znaÄky"
@@ -3385,16 +3442,20 @@ msgstr "Zobrazit znaÄky"
msgid "Show reporter&rsquo;s name"
msgstr ""
-#: templates/web/base/auth/general.html:117
+#: templates/web/base/reports/index.html:62
+msgid "Show reports in your area"
+msgstr ""
+
+#: templates/web/base/auth/general.html:119
#: templates/web/base/auth/general.html:3
-#: templates/web/base/auth/general.html:86
+#: templates/web/base/auth/general.html:88
#: templates/web/base/main_nav_items.html:6
#: templates/web/zurich/auth/general.html:18
#: templates/web/zurich/auth/general.html:35
msgid "Sign in"
msgstr "Přihlásit se"
-#: templates/web/base/auth/general.html:96
+#: templates/web/base/auth/general.html:98
msgid "Sign in by email instead, providing a new password. When you click the link in your email, your password will be updated."
msgstr ""
@@ -3440,14 +3501,14 @@ msgstr ""
msgid "Sorry, there has been an error confirming your problem."
msgstr "Omlouváme se, došlo k chybě potvrzující váš problém."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:230
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:235
#: perllib/FixMyStreet/Geocode.pm:37 perllib/FixMyStreet/Geocode/Bing.pm:38
#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:56
#: perllib/FixMyStreet/Geocode/OSM.pm:48
msgid "Sorry, we could not find that location."
msgstr "Nemůžeme bohužel nalézt tuto lokalitu."
-#: templates/web/base/auth/general.html:9
+#: templates/web/base/auth/general.html:11
#: templates/web/base/report/display.html:29
#: templates/web/base/report/new/fill_in_details_form.html:15
msgid "Sorry, we could not log you in. Please fill in the form below."
@@ -3469,11 +3530,11 @@ msgid ""
"page wasn’t found or there was a server error. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Root.pm:107
+#: perllib/FixMyStreet/App/Controller/Root.pm:124
msgid "Sorry, you don't have permission to do that."
msgstr ""
-#: templates/web/base/reports/_list-filters.html:42
+#: templates/web/base/reports/_list-filters.html:53
msgid "Sort by"
msgstr ""
@@ -3490,17 +3551,25 @@ msgid "Start Date:"
msgstr "PoÄáteÄní datum:"
#: templates/web/base/admin/body.html:73
+#: templates/web/base/admin/category_edit.html:29
+#: templates/web/base/admin/contact-form.html:53
#: templates/web/base/admin/flagged.html:18
#: templates/web/base/admin/index.html:64
#: templates/web/base/admin/list_updates.html:11
#: templates/web/base/admin/reports.html:16
#: templates/web/base/admin/template_edit.html:40
-#: templates/web/base/report/_inspect.html:83
-#: templates/web/base/report/_item.html:94
+#: templates/web/base/report/_inspect.html:82
+#: templates/web/base/report/_item.html:96
#: templates/web/base/report/update/form_update.html:39
+#: templates/web/zurich/admin/contact-form.html:10
msgid "State"
msgstr "Stav"
+#: templates/web/base/report/update.html:48
+#, fuzzy
+msgid "State changed to:"
+msgstr "Uložit změny"
+
#: templates/web/base/admin/report_edit.html:116
#: templates/web/base/admin/update_edit.html:28
#: templates/web/zurich/admin/report_edit-sdm.html:75
@@ -3510,8 +3579,14 @@ msgstr "Stav"
msgid "State:"
msgstr "Stav:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:640
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:386
+#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: templates/web/base/admin/states/index.html:1
+#, fuzzy
+msgid "States"
+msgstr "Stav"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
#: templates/web/base/admin/index.html:71 templates/web/base/admin/stats.html:1
#: templates/web/base/admin/stats_by_state.html:1
#: templates/web/zurich/admin/stats.html:1 templates/web/zurich/header.html:65
@@ -3533,6 +3608,10 @@ msgstr "Stále otevřeno, prostřednictvím dotazníku, %s"
msgid "Street View"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:46
+msgid "String"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:192
msgid "Subcategory: %s"
msgstr "Podkategorie: %s"
@@ -3541,7 +3620,7 @@ msgstr "Podkategorie: %s"
msgid "Subdivision/Body"
msgstr "Oddělení/Instituce"
-#: templates/web/base/contact/index.html:88
+#: templates/web/base/contact/index.html:92
msgid "Subject"
msgstr "Předmět"
@@ -3551,14 +3630,14 @@ msgid "Subject:"
msgstr "Předmět:"
#: templates/web/base/questionnaire/creator_fixed.html:19
-#: templates/web/base/report/new/form_user_loggedin.html:61
+#: templates/web/base/report/new/form_user_loggedin.html:63
#: templates/web/base/report/new/form_user_loggedout_by_email.html:36
#: templates/web/base/report/new/form_user_loggedout_password.html:11
#: templates/web/zurich/report/new/fill_in_details_form.html:73
msgid "Submit"
msgstr "Odeslat"
-#: templates/web/base/admin/report_edit.html:174
+#: templates/web/base/admin/report_edit.html:162
#: templates/web/base/admin/report_edit.html:24
#: templates/web/base/admin/update_edit.html:77
#: templates/web/base/admin/user-form.html:170
@@ -3572,8 +3651,8 @@ msgstr "Odeslat změny"
msgid "Submit questionnaire"
msgstr "Odeslat dotazník"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:164
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:893
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:898
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:6
#: templates/web/zurich/admin/index-dm.html:23
@@ -3583,36 +3662,38 @@ msgstr "Odeslat dotazník"
msgid "Submitted"
msgstr "Odesláno"
+#: templates/web/base/alert/_list.html:77
+#: templates/web/base/alert/_list.html:80
#: templates/web/base/alert/updates.html:23
#: templates/web/base/report/display_tools.html:51
msgid "Subscribe"
msgstr "Přihlásit se k odběru"
-#: templates/web/base/alert/_list.html:93
-msgid "Subscribe me to an email alert"
+#: templates/web/base/alert/_list.html:72
+#, fuzzy
+msgid "Subscribe by email"
msgstr "Přihlásit se k odběru emailových upozornění"
#: templates/web/base/report/new/form_report.html:19
msgid "Summarise the problem"
msgstr ""
-#: templates/web/base/admin/contact-form.html:129
+#: templates/web/base/admin/contact-form.html:130
msgid "Summarise your changes"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:638
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:382
+#: perllib/FixMyStreet/Cobrand/Default.pm:637
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:387
#: templates/web/base/admin/bodies.html:29
#: templates/web/base/admin/index.html:1 templates/web/base/status/index.html:1
#: templates/web/base/status/index.html:3
#: templates/web/zurich/admin/index-dm.html:1
#: templates/web/zurich/admin/index-sdm.html:1
-#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:13
+#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:12
#: templates/web/zurich/header.html:49
msgid "Summary"
msgstr "Přehled"
-#: templates/web/base/reports/index.html:4
#: templates/web/zurich/reports/index.html:0
#: templates/web/zurich/reports/index.html:4
msgid "Summary reports"
@@ -3636,7 +3717,7 @@ msgid "Template &laquo;%s&raquo;"
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:661
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:393
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
#: templates/web/zurich/header.html:69
msgid "Templates"
msgstr ""
@@ -3665,7 +3746,7 @@ msgstr ""
msgid "Thank you for trying to confirm your update or problem. We seem to have an error ourselves though, so <a href=\"%s\">please let us know what went on</a> and we'll look into it."
msgstr "Děkujeme, že se snažíte poslat aktualizaci nebo hlášení. Zdá se, že máme sami chybu v systému, tak <a href=\"%s\">, prosím, dejte nám vědět, co se děje </a> a my se na to podíváme."
-#: templates/web/base/tokens/confirm_update.html:15
+#: templates/web/base/tokens/confirm_update.html:16
msgid "Thank you for updating this issue!"
msgstr ""
@@ -3693,7 +3774,7 @@ msgstr "Zdá se, že se obrázek nenahrál správně (%s), zkuste to prosím zno
msgid "That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again."
msgstr "Zdá se, že tato lokalita nepatří do žádné mÄ›stské Äásti nebo obecního úřadu na území ÄŒR. Možná se jedná o offshore nebo se nachází v zahraniÄí. Zkuste to prosím znovu."
-#: perllib/FixMyStreet/App/Controller/Location.pm:129
+#: perllib/FixMyStreet/App/Controller/Location.pm:127
msgid "That location does not appear to be in the UK; please try again."
msgstr "To místo se nezdá být v České republice; prosím zkuste to znovu."
@@ -3703,23 +3784,23 @@ msgstr "To místo se nezdá být v České republice; prosím zkuste to znovu."
msgid "That postcode was not recognised, sorry."
msgstr "Omlouváme se, ale poÅ¡tovní smÄ›rovací Äíslo nebylo rozpoznáno."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:762
+#: perllib/FixMyStreet/App/Controller/Admin.pm:850
msgid "That problem has been marked as sent."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:755
+#: perllib/FixMyStreet/App/Controller/Admin.pm:843
msgid "That problem will now be resent."
msgstr "Hlášení bude nyní opět odesláno."
-#: perllib/FixMyStreet/App/Controller/Report.pm:137
+#: perllib/FixMyStreet/App/Controller/Report.pm:134
msgid "That report cannot be viewed on %s."
msgstr "Tento report nemůže být zobrazen na %s."
-#: perllib/FixMyStreet/App/Controller/Report.pm:131
+#: perllib/FixMyStreet/App/Controller/Report.pm:128
msgid "That report has been removed from FixMyStreet."
msgstr "Toto hlášení bylo vyjmuto z FixMyStreet."
-#: templates/web/base/admin/contact-form.html:25
+#: templates/web/base/admin/contact-form.html:27
msgid ""
"The <strong>email address</strong> is the destination to which reports about this category will be sent. \n"
" Other categories for this body may have the same email address."
@@ -3743,10 +3824,10 @@ msgid ""
" than one. If the body is running its own endpoint, you can usually leave this blank."
msgstr ""
-#: templates/web/base/admin/body-form.html:100
-#: templates/web/base/admin/body-form.html:101
-#: templates/web/base/admin/contact-form.html:103
+#: templates/web/base/admin/body-form.html:102
+#: templates/web/base/admin/body-form.html:103
#: templates/web/base/admin/contact-form.html:104
+#: templates/web/base/admin/contact-form.html:105
msgid ""
"The <strong>send method</strong> determines how problem reports will be sent to the body.\n"
" If you leave this blank, <strong>send method defaults to email</strong>."
@@ -3765,6 +3846,10 @@ msgstr ""
"<strong>Název</strong> identifikuje subjekt (například, <em>Úřad mÄ›stské Äásti Praha 21</em>), \n"
" název může být zobrazen veřejně."
+#: templates/web/base/admin/extra-metadata-form.html:12
+msgid "The code used to store this field value in the database. e.g. <code>address</code> would be available as <code>problem.extra.address</code> in the templates."
+msgstr ""
+
#: templates/web/base/report/new/fill_in_details_text.html:1
#: templates/web/base/report/new/fill_in_details_text.html:3
msgid "The council won&rsquo;t be able to help unless you leave as much detail as you can. Please describe the exact location of the problem (e.g. on a wall), what it is, how long it has been there, a description (and a photo of the problem if you have one), etc."
@@ -3775,11 +3860,15 @@ msgstr "Úřad nebude moci pomoci, pokud ve svém hlášení nezadáte dostatek
msgid "The diligency prize league table shows editors' activity (who's been editing the most records)."
msgstr "Tabulka Vítězů ukazuje aktivity editorů (kdo editoval nejvíce záznamů)."
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:61
-#: perllib/FixMyStreet/App/Controller/Reports.pm:82
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:63
+#: perllib/FixMyStreet/App/Controller/Reports.pm:103
msgid "The error was: %s"
msgstr "Nastala chyba: %s"
+#: templates/web/base/admin/extra-metadata-form.html:30
+msgid "The field name as shown to the user on the report form."
+msgstr ""
+
#: templates/web/base/open311/index.html:78
msgid "The following Open311 v2 attributes are returned for each request: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
msgstr ""
@@ -3818,10 +3907,14 @@ msgstr "Poslední hlášení uživatelů pro {{NAME}}"
msgid "The link might have expired, or maybe you didn&rsquo;t quite copy and paste it correctly."
msgstr ""
-#: templates/web/base/admin/body-form.html:64
+#: templates/web/base/admin/body-form.html:66
msgid "The list of available areas is being provided by the MapIt service at %s."
msgstr "Seznam oblastí byl povolen službou MapIt na adrese %s."
+#: templates/web/base/admin/extra-metadata-form.html:6
+msgid "The ordering of this field on the report page. Fields are shown in ascending order according to this value."
+msgstr ""
+
#: templates/web/base/auth/change_password.html:22
#: templates/web/base/auth/change_password.html:26
msgid "The passwords do not match"
@@ -3831,9 +3924,9 @@ msgstr "Heslo se neshoduje"
msgid "The requested URL '%s' was not found on this server"
msgstr "Požadovaná adresa URL '%s' nebyla na tomto serveru nalezena"
-#: templates/web/base/alert/_list.html:17
-msgid "The simplest alert is our geographic one:"
-msgstr "Nejjednodušší upozornění je jedno z našich geografických:"
+#: templates/web/base/admin/extra-metadata-form.html:42
+msgid "The type of input field to show to the user. <strong>Text</strong> is a simple text field, <strong>List</strong> is a drop-down selection."
+msgstr ""
#: perllib/FixMyStreet/Script/Reports.pm:96
msgid "The user could not locate the problem on a map, but to see the area around the location they entered"
@@ -3854,18 +3947,18 @@ msgstr ""
msgid "There are no reports to show."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Reports.pm:79
+#: perllib/FixMyStreet/App/Controller/Reports.pm:100
msgid "There was a problem showing the All Reports page. Please try again later."
msgstr "Nastal problém v zobrazení stránky Všechna hlášení. Prosím, zkuste později."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:137
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:60
+#: perllib/FixMyStreet/App/Controller/Contact.pm:138
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:62
msgid "There was a problem showing this page. Please try again later."
msgstr "Nastal problém v zobrazení této stránky. Prosím, zkuste později."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:758
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:785
#: perllib/FixMyStreet/App/Controller/Report/Update.pm:152
-#: templates/web/base/auth/general.html:53
+#: templates/web/base/auth/general.html:55
#: templates/web/zurich/auth/general.html:28
msgid "There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the &lsquo;sign in by email&rsquo; section of the form."
msgstr "Byl problém s kombinací e-mailu a hesla. Pokud si nemůžete vzpomenout na své heslo, nebo ho ještě nemáte, zadejte ho v sekci lsquo, přihlášení se prostřednictvím e-mailu & rsquo; tohoto formuláře."
@@ -3878,7 +3971,7 @@ msgstr "Nastal problém s kombinací Vaší e-mailové adresy a hesla. Prosím z
msgid "There was a problem with your update. Please try again."
msgstr "Nastal problém s vaší aktualizací. Prosím opakujte ještě jednou."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:141
+#: perllib/FixMyStreet/App/Controller/Contact.pm:142
msgid "There were problems with your report. Please see below."
msgstr "Nastal problém s vaším hlášením. Prosím, pÅ™eÄtÄ›te si informace níže."
@@ -3938,8 +4031,8 @@ msgstr ""
msgid "This body has no contacts. This means that currently problems reported to this body <strong>will not be sent</strong>."
msgstr "Úřad nemá nastaven žádný kontakt. To znamená, že nahlášené problémy tomuto úřadu<strong>nebudou zasílány</strong>."
-#: templates/web/base/admin/body-form.html:58
-#: templates/web/base/admin/body-form.html:59
+#: templates/web/base/admin/body-form.html:60
+#: templates/web/base/admin/body-form.html:61
msgid ""
"This body will only be sent reports for problems that are located in the <strong>area covered</strong>.\n"
" A body will not receive any reports unless it covers at least one area."
@@ -3955,8 +4048,9 @@ msgstr "Tento e-mail byl odeslán na oba úřady působící v dané lokalitě,
msgid "This email has been sent to several councils covering the location of the problem, as the category selected is provided for all of them; please ignore it if you're not the correct council to deal with the issue."
msgstr "Tento e-mail byl odeslán na několik úřadů působících v dané lokalitě, protože zvolená kategorie hlášení je uvedena pro všechny z nich. Prosím ignorujte, pokud nejste oprávněný úřad kompetentní řešit nahlášený problém."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:881
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:925
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1017
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:910
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:954
#: perllib/FixMyStreet/App/Controller/Report/New.pm:971
#: perllib/FixMyStreet/Cobrand/UK.pm:45
msgid "This information is required"
@@ -3966,46 +4060,41 @@ msgstr "Tato informace je vyžadována"
msgid "This is a developer site; things might break at any time, and the database will be periodically deleted."
msgstr "Toto je vývojářský web; věci mohou kdykoli přestat fungovat, databáze bude pravidelně mazána."
-#: templates/web/base/reports/index.html:10
-msgid "This is a summary of all reports on this site."
-msgstr "Zde je souhrn všech hlášení na tomto webu."
-
-#: templates/web/base/report/new/form_report.html:56
+#: templates/web/base/report/new/form_report.html:58
msgid "This pothole has been here for two months and…"
msgstr ""
-#: templates/web/base/report/update/form_update.html:63
+#: templates/web/base/report/update/form_update.html:55
msgid "This problem has been fixed"
msgstr "Hlášení bylo vyřešeno"
-#: templates/web/base/report/update/form_update.html:56
+#: templates/web/base/report/update/form_update.html:48
msgid "This problem has not been fixed"
msgstr "Hlášení nemohlo být vyřešeno"
-#: templates/web/base/report/update/form_update.html:54
-#, fuzzy
+#: templates/web/base/report/update/form_update.html:46
msgid "This problem is still ongoing"
-msgstr "Hlášení nemohlo být vyřešeno"
+msgstr ""
#: templates/web/base/report/duplicate-no-updates.html:3
msgid "This report is a duplicate. Please leave updates on the original report:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:161
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:162
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:166
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:167
#: templates/web/zurich/report/_main.html:14
msgid "This report is awaiting moderation."
msgstr "Hlášení Äeká na moderování operátorem."
-#: perllib/FixMyStreet/Script/Alerts.pm:101
+#: perllib/FixMyStreet/Script/Alerts.pm:98
msgid "This report is currently marked as closed."
msgstr "Hlášení je aktuálnÄ› oznaÄené za uzavÅ™ené."
-#: perllib/FixMyStreet/Script/Alerts.pm:99
+#: perllib/FixMyStreet/Script/Alerts.pm:96
msgid "This report is currently marked as fixed."
msgstr "Hlášení je aktuálnÄ› oznaÄené za vyÅ™eÅ¡ené."
-#: perllib/FixMyStreet/Script/Alerts.pm:103
+#: perllib/FixMyStreet/Script/Alerts.pm:100
msgid "This report is currently marked as open."
msgstr "Hlášení je aktuálnÄ› oznaÄené za otevÅ™ené."
@@ -4024,7 +4113,7 @@ msgstr "Webová stránka také obsahuje fotografii hlášení, poskytnutou uživ
msgid "Time spent (in minutes):"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Default.pm:638
#: templates/web/base/admin/timeline.html:1
msgid "Timeline"
msgstr "Časová osa"
@@ -4053,10 +4142,26 @@ msgstr ""
msgid "To find out what local alerts we have for you, please enter your postcode or street name and area"
msgstr "Pokud chcete zjistit, jaká místní upozornÄ›ní jsme pro Vás pÅ™ipravili, prosím, zadejte své poÅ¡tovní smÄ›rovací Äíslo nebo název ulice Äi oblasti"
+#: templates/web/base/admin/reportextrafields/edit.html:19
+msgid "To limit this collection of fields to a single cobrand, select it here."
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:40
+msgid "To limit this collection of fields to a single language, select it here."
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:95
msgid "To view a map of the precise location of this issue"
msgstr "Pro zobrazení mapy přesného umístění tohoto problému"
+#: templates/web/base/reports/index.html:97
+msgid "Top 5 most used categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:83
+msgid "Top 5 responsive councils"
+msgstr ""
+
#: templates/web/base/admin/questionnaire.html:24
#: templates/web/base/admin/stats.html:24
#: templates/web/base/admin/stats.html:43
@@ -4070,9 +4175,8 @@ msgid "Total marked"
msgstr ""
#: templates/web/base/dashboard/index.html:71
-#, fuzzy
msgid "Total marked as fixed"
-msgstr "OznaÄené jako vyÅ™eÅ¡ené"
+msgstr ""
#: templates/web/base/dashboard/index.html:125
msgid "Total not marked"
@@ -4083,16 +4187,24 @@ msgstr ""
msgid "Total reports received"
msgstr ""
-#: templates/web/base/report/_inspect.html:124
-#: templates/web/base/report/_item.html:102
+#: templates/web/base/report/_inspect.html:134
+#: templates/web/base/report/_item.html:104
msgid "Traffic management required?"
msgstr ""
+#: templates/web/base/admin/_translations.html:7
+msgid "Translation"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:2
+msgid "Translations"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:111
msgid "Trusted by bodies:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:721
+#: perllib/FixMyStreet/Cobrand/Default.pm:726
msgid "Trusted to make reports that don't need to be inspected"
msgstr ""
@@ -4108,8 +4220,14 @@ msgstr "Opakujte znovu"
msgid "Try emailing us directly:"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:21
+#: templates/web/base/admin/extra-metadata-form.html:44
+#: templates/web/base/admin/states/index.html:10
+#: templates/web/base/admin/states/index.html:100
+msgid "Type"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:59
+#: templates/web/base/admin/contact-form.html:55
#: templates/web/base/admin/update_edit.html:30
#: templates/web/zurich/admin/report_edit-sdm.html:66
#: templates/web/zurich/admin/report_edit.html:94
@@ -4117,7 +4235,6 @@ msgstr ""
msgid "Unconfirmed"
msgstr "Nepotvrzeno"
-#: templates/web/base/reports/_list-filters.html:12
#: templates/web/base/reports/_list-filters.html:5
msgid "Unfixed reports"
msgstr ""
@@ -4131,14 +4248,14 @@ msgid "Unknown alert type"
msgstr "Neznámý typ upozornění"
#: perllib/FixMyStreet/App/Controller/Photo.pm:109
-#: perllib/FixMyStreet/App/Controller/Root.pm:124
+#: perllib/FixMyStreet/App/Controller/Root.pm:141
#: templates/web/base/js/translation_strings.html:38
msgid "Unknown error"
msgstr "Neznámá chyba"
-#: perllib/FixMyStreet/App/Controller/Report.pm:115
+#: perllib/FixMyStreet/App/Controller/Report.pm:112
+#: perllib/FixMyStreet/App/Controller/Report.pm:118
#: perllib/FixMyStreet/App/Controller/Report.pm:121
-#: perllib/FixMyStreet/App/Controller/Report.pm:124
msgid "Unknown problem ID"
msgstr "Neznámé ID hlášení"
@@ -4146,10 +4263,11 @@ msgstr "Neznámé ID hlášení"
msgid "Unshortlisted"
msgstr ""
-#: templates/web/base/report/_item.html:24
+#: templates/web/base/report/_item.html:26
msgid "Up one"
msgstr ""
+#: templates/web/base/admin/states/index.html:76
#: templates/web/base/report/update/form_update.html:29
msgid "Update"
msgstr "Aktualizovat"
@@ -4166,7 +4284,7 @@ msgstr "Aktualizace níže byly přidána anonymně v %s"
msgid "Update below added by %s at %s"
msgstr "Aktualizace níže byly přidána uživatelem %s v %s"
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Update body"
msgstr "Aktualizace subjektu"
@@ -4202,13 +4320,23 @@ msgstr "Aktualizovat status"
msgid "Updated"
msgstr "Aktualizováno"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1157
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1221
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1384
-#: perllib/FixMyStreet/App/Controller/Admin.pm:822
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:762
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:787
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:857
+#: perllib/FixMyStreet/DB/Result/Comment.pm:249
+#, fuzzy
+msgid "Updated by <strong>%s</strong> (%s) at %s"
+msgstr "Odesláno uživatelem <strong>%s</strong> (%s) v %s"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:251
+#, fuzzy
+msgid "Updated by <strong>%s</strong> at %s"
+msgstr "Odesláno uživatelem <strong>%s</strong> v %s"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1262
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1326
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1489
+#: perllib/FixMyStreet/App/Controller/Admin.pm:910
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:767
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:792
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:862
msgid "Updated!"
msgstr "Aktualizováno!"
@@ -4218,7 +4346,7 @@ msgstr "Aktualizováno!"
msgid "Updates"
msgstr "Aktualizace"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:133
+#: perllib/FixMyStreet/DB/Result/Comment.pm:134
msgid "Updates are limited to %s characters in length. Please shorten your update"
msgstr "Aktualizace je omezena na %s znaků její délky. Prosím, zkraťte ji"
@@ -4232,11 +4360,22 @@ msgstr "Aktualizace hlášení {{title}}"
msgid "Updates to this problem, %s"
msgstr ""
+#: templates/web/base/admin/contact-form.html:43
+#: templates/web/base/admin/contact-form.html:44
+msgid ""
+"Use <strong>confirmed</strong> to indicate that this contact has been\n"
+"confirmed as correct. If you are not sure of the origin or validity of the\n"
+"contact, use <strong>unconfirmed</strong>. <strong>inactive</strong> will\n"
+"remove the category from use when reporting problems, but keep it available in\n"
+"map filters, and <strong>deleted</strong> will remove the category from there\n"
+"as well."
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:65
msgid "Use Open311 update-sending extension"
msgstr ""
-#: templates/web/base/admin/contact-form.html:124
+#: templates/web/base/admin/contact-form.html:125
msgid "Use this field to record details that are only displayed in the admin. Input is not shown publicly, and is not sent to the body."
msgstr ""
@@ -4249,27 +4388,26 @@ msgstr ""
msgid "User ID to attribute fetched comments to"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1700
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1805
msgid "User flag removed"
msgstr "Uživatel vyjmut ze sledování"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1672
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1777
msgid "User flagged"
msgstr "Uživatel sledován"
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:58
-#, fuzzy
msgid "User has marked as fixed"
-msgstr "OznaÄené jako vyÅ™eÅ¡ené"
+msgstr ""
#: templates/web/base/admin/users.html:5
msgid "User search finds matches in users' names and email addresses."
msgstr "Při vyhledávání byly nalezeny shody v uživatelských jménech nebo e-mailových adresách."
#: perllib/FixMyStreet/Cobrand/Default.pm:669
-#: perllib/FixMyStreet/Cobrand/Default.pm:723
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
+#: perllib/FixMyStreet/Cobrand/Default.pm:728
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:403
#: templates/web/base/admin/flagged.html:29 templates/web/zurich/header.html:61
msgid "Users"
msgstr "Uživatelé"
@@ -4278,9 +4416,9 @@ msgstr "Uživatelé"
msgid "Users can perform the following actions within their assigned body or area."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:400
-#: perllib/FixMyStreet/App/Controller/Admin.pm:430
-#: perllib/FixMyStreet/App/Controller/Admin.pm:448
+#: perllib/FixMyStreet/App/Controller/Admin.pm:381
+#: perllib/FixMyStreet/App/Controller/Admin.pm:417
+#: perllib/FixMyStreet/App/Controller/Admin.pm:439
msgid "Values updated"
msgstr "Hodnoty aktualizovány"
@@ -4327,7 +4465,7 @@ msgstr "Našli jsme více než jednu shodu pro požadovanou lokalitu. Nabízíme
msgid "We found more than one match for that problem reference:"
msgstr ""
-#: templates/web/base/auth/general.html:6
+#: templates/web/base/auth/general.html:8
#: templates/web/base/report/display.html:35
#: templates/web/base/report/new/oauth_email_form.html:5
msgid "We need your email address, please give it below."
@@ -4362,7 +4500,7 @@ msgstr ""
msgid "What was your experience of getting the problem fixed?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:52
+#: templates/web/base/admin/category_edit.html:27
#: templates/web/zurich/admin/body.html:18
msgid "When edited"
msgstr "Editováno:"
@@ -4371,11 +4509,19 @@ msgstr "Editováno:"
msgid "When sent"
msgstr "Odesláno:"
-#: templates/web/base/report/_inspect.html:89
+#: templates/web/base/admin/extra-metadata-form.html:18
+msgid "Whether the user is required to provide a value for this field."
+msgstr ""
+
+#: templates/web/base/alert/_list.html:9
+msgid "Which problems do you want alerts about?"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:99
msgid "Which report is it a duplicate of?"
msgstr ""
-#: templates/web/base/js/translation_strings.html:54
+#: templates/web/base/js/translation_strings.html:57
msgid "Whoa there Testino! Three photos are enough."
msgstr ""
@@ -4383,8 +4529,8 @@ msgstr ""
msgid "Why stop there? <a href=\"/alert\">Set up more alerts</a> for free."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:185
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:190
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:14
msgid "Wish"
@@ -4394,7 +4540,7 @@ msgstr ""
msgid "With request searches, it is also possible to search for agency_responsible to limit the requests to those sent to a single administration. The search term is the administration ID provided by <a href=\"%s\">MaPit</a>."
msgstr "V požadavku pro vyhledávání je možné hledat s parametrem 'agency_responsible' a omezit požadavky vrácené zpět do administrace. Hledaný výraz je administrativní ID poskytnuté službou<a href=\"%s\"> MaPit </a>."
-#: templates/web/base/front/footer-marketing.html:17
+#: templates/web/base/front/footer-marketing.html:3
msgid "Would you like to contribute to FixMyStreet? Our code is open source and <a href=\"http://fixmystreet.org\">available at fixmystreet.org</a>."
msgstr "Chcete se podílet na rozvoji projektu FixMyStreet? Náš kód je open source a je k dispozici na <a href=\"http://fixmystreet.org\">fixmystreet.org </a>."
@@ -4419,23 +4565,22 @@ msgstr ""
msgid "Year"
msgstr "Rok"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1202
+#: perllib/FixMyStreet/Cobrand/Default.pm:1236
#: templates/web/base/admin/bodies.html:70
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
#: templates/web/base/admin/category_edit.html:5
#: templates/web/base/admin/flagged.html:47
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:136
+#: templates/web/base/admin/report_edit.html:124
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:25
#: templates/web/base/admin/users.html:32
#: templates/web/base/questionnaire/creator_fixed.html:14
#: templates/web/base/questionnaire/index.html:104
#: templates/web/base/questionnaire/index.html:53
+#: templates/web/base/report/_inspect.html:90
msgid "Yes"
msgstr "Ano"
@@ -4448,7 +4593,7 @@ msgstr "Ano mám heslo"
msgid "You are complaining that this problem report was unnecessarily moderated:"
msgstr "Stěžujete si, že toto hlášení bylo bezdůvodně moderováno:"
-#: templates/web/base/js/translation_strings.html:70
+#: templates/web/base/js/translation_strings.html:73
msgid "You are offline"
msgstr ""
@@ -4469,7 +4614,11 @@ msgstr "Můžete <a href=\"%s%s\">zobrazit hlášení na tomto webu</a>."
msgid "You can add an abusive user's email to the abuse list, which automatically hides (and never sends) reports they create."
msgstr "Můžete přidat e-mail zneužívajícího uživatele do seznamu zneužívání a hlášení těchto uživatelů budou skryty (nikdy nebudou odesílány)."
-#: templates/web/base/contact/index.html:111
+#: templates/web/base/alert/_list.html:18
+msgid "You can choose to subscribe to all problems reported in an area, or reports based on their destination."
+msgstr ""
+
+#: templates/web/base/contact/index.html:115
msgid "You can contact technical support on <a href='mailto:%s'>%s</a>"
msgstr "Můžete kontaktovat technickou podporu <a href='mailto:%s'>%s</a>"
@@ -4489,7 +4638,7 @@ msgstr ""
msgid "You can help us by finding a contact email address for local problems for %s and emailing it to us at <a href='mailto:%s'>%s</a>."
msgstr "Pomozte nám najít email na kontaktní osobu pro oblast <strong>%s </strong>a pošlete nám kontakt na adresu <a href='mailto:%s'>%s</a>."
-#: templates/web/base/admin/body-form.html:91
+#: templates/web/base/admin/body-form.html:93
msgid "You can mark a body as deleted if you do not want it to be active on the site."
msgstr "Pokud nechcete, aby byl subjekt dále na serveru aktivní, můžete ho oznaÄit za smazaný."
@@ -4497,7 +4646,7 @@ msgstr "Pokud nechcete, aby byl subjekt dále na serveru aktivní, můžete ho o
msgid "You declined; please fill in the box above"
msgstr "Odmítnuto; vyplňte rámeÄek nahoÅ™e"
-#: templates/web/base/js/translation_strings.html:72
+#: templates/web/base/js/translation_strings.html:75
msgid "You have <a id=\"oFN\" href=\"\"><span>%s</span> saved to submit</a>."
msgstr ""
@@ -4505,7 +4654,7 @@ msgstr ""
msgid "You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"
msgstr "Na tento dotazník jste již odpověděli. Máte-li dotazy, prosím <a href='%s'>spojte se s námi</a>, nebo si můžete <a href='%s'>zobrazit hlášení</a>.\n"
-#: templates/web/base/report/new/form_report.html:37
+#: templates/web/base/report/new/form_report.html:39
#: templates/web/zurich/report/new/fill_in_details_form.html:30
msgid "You have already attached photos to this report. Note that you can attach a maximum of 3 to this report (if you try to upload more, the oldest will be removed)."
msgstr ""
@@ -4566,10 +4715,9 @@ msgstr "Vaše hlášení"
msgid "Your account"
msgstr ""
-#: templates/web/base/alert/_list.html:90
#: templates/web/base/alert/updates.html:19
#: templates/web/base/alert/updates.html:22
-#: templates/web/base/contact/index.html:81
+#: templates/web/base/contact/index.html:80
#: templates/web/base/report/display_tools.html:46
#: templates/web/base/report/display_tools.html:49
#: templates/web/base/report/new/form_user_loggedout_email.html:1
@@ -4579,7 +4727,7 @@ msgid "Your email"
msgstr "Váš e-mail"
#: templates/web/base/auth/change_email.html:9
-#: templates/web/base/auth/general.html:55
+#: templates/web/base/auth/general.html:57
#: templates/web/base/report/update/form_user_loggedout_email.html:5
#: templates/web/zurich/auth/general.html:30
#: templates/web/zurich/auth/general.html:58
@@ -4590,21 +4738,32 @@ msgstr "Vaše e-mailová adresa"
msgid "Your information will only be used in accordance with our <a href=\"/privacy\">privacy policy</a>"
msgstr "Vámi poskytnuté informace budou použity pouze v souladu se <a href=\"/privacy\">zásadami ochrany osobních údajů</a>"
-#: templates/web/base/auth/general.html:107
+#: templates/web/base/auth/general.html:109
#: templates/web/base/contact/index.html:74
#: templates/web/base/report/new/form_user_loggedout_by_email.html:17
-#: templates/web/base/report/update/form_name.html:29
+#: templates/web/base/report/update/form_name.html:33
#: templates/web/zurich/auth/general.html:61
#: templates/web/zurich/report/new/fill_in_details_form.html:63
msgid "Your name"
msgstr "Vaše jméno a příjmení"
-#: templates/web/base/js/translation_strings.html:62
-#, fuzzy
+#: templates/web/base/my/anonymize.html:13
+msgid "Your name has already been sent to %s, but we can hide it on this page:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:264
+msgid "Your name has been hidden from all your reports and updates."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:260
+msgid "Your name has been hidden."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:65
msgid "Your offline reports"
-msgstr "Vaše hlášení"
+msgstr ""
-#: templates/web/base/auth/general.html:85
+#: templates/web/base/auth/general.html:87
#: templates/web/base/report/new/form_user_loggedout_password.html:10
#: templates/web/base/report/update/form_user_loggedout_password.html:9
#: templates/web/zurich/auth/general.html:34
@@ -4615,6 +4774,7 @@ msgstr "Vaše heslo"
msgid "Your password has been changed"
msgstr "Vaše heslo bylo změněno"
+#: templates/web/base/contact/index.html:87
#: templates/web/base/report/new/form_user_loggedout_by_email.html:26
#: templates/web/zurich/report/new/fill_in_details_form.html:69
msgid "Your phone number"
@@ -4633,7 +4793,7 @@ msgstr "Vaše hlášení"
msgid "Your shortlist"
msgstr ""
-#: templates/web/base/js/translation_strings.html:63
+#: templates/web/base/js/translation_strings.html:66
msgid "Your update has been saved offline for submission when back online."
msgstr ""
@@ -4641,8 +4801,8 @@ msgstr ""
msgid "Your updates"
msgstr "Vaše aktualizace"
-#: templates/web/base/report/new/form_user_loggedin.html:18
-#: templates/web/base/report/update/form_name.html:11
+#: templates/web/base/report/new/form_user_loggedin.html:19
+#: templates/web/base/report/update/form_name.html:12
msgid "Yourself"
msgstr ""
@@ -4651,14 +4811,14 @@ msgstr ""
msgid "all"
msgstr ""
+#: perllib/FixMyStreet/DB/Result/Comment.pm:259
+msgid "and a defect raised"
+msgstr ""
+
#: templates/web/base/admin/timeline.html:4
msgid "by %s"
msgstr "uživatelem %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:290
-msgid "closed as a duplicate report"
-msgstr "oznaÄené jako duplicitní hlášení"
-
#: templates/web/base/reports/body.html:6
#: templates/web/base/reports/body.html:7
msgid "council"
@@ -4683,7 +4843,7 @@ msgstr "editace uživatele"
msgid "from %s different users"
msgstr "od %s různých uživatelů"
-#: templates/web/base/report/_item.html:61
+#: templates/web/base/report/_item.html:63
#: templates/web/zurich/report/_item.html:14
msgid "last updated %s"
msgstr "naposledy upravené %s"
@@ -4692,44 +4852,7 @@ msgstr "naposledy upravené %s"
msgid "less than a minute"
msgstr "méně než minutou"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:280
-msgid "marked as action scheduled"
-msgstr "oznaÄené jako plánované"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:292
-msgid "marked as an internal referral"
-msgstr "OznaÄené jako interní postoupení"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:282
-msgid "marked as closed"
-msgstr "oznaÄeno za uzavÅ™ené"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:263
-#: perllib/FixMyStreet/DB/Result/Comment.pm:284
-msgid "marked as fixed"
-msgstr "OznaÄené jako vyÅ™eÅ¡ené"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:278
-msgid "marked as in progress"
-msgstr "oznaÄené jako probíhající"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:274
-msgid "marked as investigating"
-msgstr "oznaÄené jako zkoumání"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:286
-msgid "marked as no further action"
-msgstr "oznaÄené za nemožné spravit"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:288
-msgid "marked as not the council's responsibility"
-msgstr "oznaÄené za nespadající do kompetencí úřadu"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:276
-msgid "marked as planned"
-msgstr "oznaÄené za naplánované"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:122
+#: perllib/FixMyStreet/App/Controller/Admin.pm:119
#: templates/web/base/admin/questionnaire.html:15
#: templates/web/base/admin/questionnaire.html:16
msgid "n/a"
@@ -4740,13 +4863,10 @@ msgstr "neuvedeno"
msgid "none"
msgstr ""
-#: templates/web/base/admin/category_edit.html:35
-msgid "optional"
-msgstr ""
-
-#: templates/web/base/alert/_list.html:86
-msgid "or"
-msgstr "nebo"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:278
+#, fuzzy
+msgid "not the council's responsibility"
+msgstr "oznaÄené za nespadající do kompetencí úřadu"
#: templates/web/base/js/translation_strings.html:27
msgid "or locate me automatically"
@@ -4771,16 +4891,7 @@ msgstr "původně zadáno: &ldquo;%s&rdquo;"
msgid "other areas:"
msgstr "ostatní oblasti:"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:265
-#: perllib/FixMyStreet/DB/Result/Comment.pm:271
-msgid "reopened"
-msgstr "znovu otevřeno"
-
-#: templates/web/base/admin/category_edit.html:35
-msgid "required"
-msgstr ""
-
-#: templates/web/zurich/footer.html:13
+#: templates/web/zurich/footer.html:12
msgid "sign out"
msgstr "odhlásit"
@@ -4788,11 +4899,16 @@ msgstr "odhlásit"
msgid "the local council"
msgstr "místní úřad"
-#: templates/web/base/report/_report_meta_info.html:2
+#: templates/web/base/report/_report_meta_info.html:5
#: templates/web/zurich/report/_main.html:5
msgid "there is no pin shown as the user did not use the map"
msgstr "V mapÄ› se nenalézají žádné znaÄky hlášení od uživatelů"
+#: templates/web/base/alert/_list.html:1
+#, fuzzy
+msgid "this location"
+msgstr "Zobrazení oblastí"
+
#: perllib/FixMyStreet/Script/Reports.pm:184
msgid "this type of local problem"
msgstr "tento typ lokálního problému"
@@ -4801,15 +4917,13 @@ msgstr "tento typ lokálního problému"
msgid "today"
msgstr "dnes"
-#: templates/web/base/js/translation_strings.html:73
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:76
msgid "update"
-msgstr "Aktualizovat"
+msgstr ""
-#: templates/web/base/js/translation_strings.html:74
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:77
msgid "updates"
-msgstr "Aktualizace"
+msgstr ""
#: templates/web/base/admin/report_edit.html:52
msgid "used map"
@@ -4861,12 +4975,12 @@ msgstr[1] "%d minuty"
msgstr[2] "%d minut"
#: perllib/Utils.pm:246
-#, fuzzy, perl-format
+#, perl-format
msgid "%d month"
msgid_plural "%d months"
-msgstr[0] "%d minuta"
-msgstr[1] "%d minuty"
-msgstr[2] "%d minut"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
#: templates/web/base/report/_support.html:6
#, perl-format
@@ -4892,6 +5006,46 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
+#: templates/web/base/reports/index.html:92
+#, perl-format
+msgid "%s day"
+msgid_plural "%s days"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/web/base/reports/index.html:55
+#, perl-format
+msgid "%s problem marked as fixed"
+msgid_plural "%s problems marked as fixed"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/web/base/reports/index.html:43
+#, perl-format
+msgid "%s problem reported"
+msgid_plural "%s problems reported"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/web/base/reports/index.html:107
+#, perl-format
+msgid "%s report"
+msgid_plural "%s reports"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/web/base/reports/index.html:49
+#, perl-format
+msgid "%s update on problems"
+msgid_plural "%s updates on problems"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
#: templates/web/base/front/stats.html:19
#, perl-format
msgid "<big>%s</big> fixed in past month"
@@ -4924,13 +5078,13 @@ msgstr[0] "<big>%s</big>aktualizované hlášení"
msgstr[1] "<big>%s</big> aktalizovan hlášení"
msgstr[2] "<big>%s</big> aktualizovaných hlášení"
-#: templates/web/base/report/_item.html:49
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:51
+#, perl-format
msgid "Reported %d day ago"
msgid_plural "Reported %d days ago"
-msgstr[0] "Nahlášeno uživatelem %s, urÄeno pro %s"
-msgstr[1] "Nahlášeno uživatelem %s, urÄeno pro %s"
-msgstr[2] "Nahlášeno uživatelem %s, urÄeno pro %s"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
#: templates/web/base/report/new/top_message_some.html:3
#, perl-format
@@ -4948,34 +5102,102 @@ msgstr[0] "Doposud nemáme podrobnosti o úřadu pokrývající tuto lokalitu."
msgstr[1] "Doposud nemáme podrobnosti o úřadech pokrývající tuto lokalitu."
msgstr[2] "Doposud nemáme podrobnosti o úřadech pokrývající tuto lokalitu."
-#: templates/web/base/report/_item.html:59
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:61
+#, perl-format
msgid "last updated %d day ago"
msgid_plural "last updated %d days ago"
-msgstr[0] "naposledy upravené %s"
-msgstr[1] "naposledy upravené %s"
-msgstr[2] "naposledy upravené %s"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
#: templates/email/oxfordshire/archive.txt:9
-#, fuzzy, perl-format
+#, perl-format
msgid "report"
msgid_plural "reports"
-msgstr[0] "Hlášení"
-msgstr[1] "Hlášení"
-msgstr[2] "Hlášení"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
-#, fuzzy
-#~ msgid "All inspectors"
-#~ msgstr "Všechna hlášení"
+#~ msgid "%s ward, %s"
+#~ msgstr "%s, oddělení, %"
-#, fuzzy
-#~ msgid "Report category:"
-#~ msgstr "Vytvořit kategorii"
+#~ msgid "%s, within %s ward"
+#~ msgstr "% S, v% s oddělení"
-#, fuzzy
-#~ msgid "Reported %d days ago"
-#~ msgstr "Nahlášeno uživatelem %s, urÄeno pro %s"
+#~ msgid "-- Pick a property type --"
+#~ msgstr "-- Vyberte typ nemovitosti --"
-#, fuzzy
-#~ msgid "last updated %d days ago"
-#~ msgstr "naposledy upravené %s"
+#~ msgid "Closed:"
+#~ msgstr "Uzavřena:"
+
+#~ msgid "Duplicate"
+#~ msgstr "Duplicitní"
+
+#~ msgid "Fixed:"
+#~ msgstr "Vyřešené:"
+
+#~ msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
+#~ msgstr "Možnosti pro upozornění na lokální problém pro oblast &lsquo;%s&rsquo;."
+
+#~ msgid "In Progress"
+#~ msgstr "v řešení"
+
+#~ msgid "Internal referral"
+#~ msgstr "Interní postoupení"
+
+#~ msgid "Investigating"
+#~ msgstr "Šetření"
+
+#~ msgid "No further action"
+#~ msgstr "Nelze opravit"
+
+#~ msgid "Not Responsible"
+#~ msgstr "Nezodpovídá"
+
+#~ msgid "Or problems reported to:"
+#~ msgstr "Nebo problémy hlášené subjektu:"
+
+#~ msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
+#~ msgstr "Nebo se můžete pÅ™ihlásit k odbÄ›ru vÅ¡ech upozornÄ›ní na hlášení, které jsou v následujících oblastech úřadu Äi Äástí:"
+
+#~ msgid "Please choose a property type"
+#~ msgstr "Zvolte typ nemovitosti"
+
+#~ msgid "Problems within the boundary of:"
+#~ msgstr "Hlášení uvnitř oblasti:"
+
+#~ msgid "The simplest alert is our geographic one:"
+#~ msgstr "Nejjednodušší upozornění je jedno z našich geografických:"
+
+#~ msgid "closed as a duplicate report"
+#~ msgstr "oznaÄené jako duplicitní hlášení"
+
+#~ msgid "marked as action scheduled"
+#~ msgstr "oznaÄené jako plánované"
+
+#~ msgid "marked as an internal referral"
+#~ msgstr "OznaÄené jako interní postoupení"
+
+#~ msgid "marked as closed"
+#~ msgstr "oznaÄeno za uzavÅ™ené"
+
+#~ msgid "marked as fixed"
+#~ msgstr "OznaÄené jako vyÅ™eÅ¡ené"
+
+#~ msgid "marked as in progress"
+#~ msgstr "oznaÄené jako probíhající"
+
+#~ msgid "marked as investigating"
+#~ msgstr "oznaÄené jako zkoumání"
+
+#~ msgid "marked as no further action"
+#~ msgstr "oznaÄené za nemožné spravit"
+
+#~ msgid "marked as planned"
+#~ msgstr "oznaÄené za naplánované"
+
+#~ msgid "or"
+#~ msgstr "nebo"
+
+#~ msgid "reopened"
+#~ msgstr "znovu otevřeno"
diff --git a/locale/cy.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/cy.UTF-8/LC_MESSAGES/FixMyStreet.po
index ff077cf0d..d8312a1bd 100644
--- a/locale/cy.UTF-8/LC_MESSAGES/FixMyStreet.po
+++ b/locale/cy.UTF-8/LC_MESSAGES/FixMyStreet.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
-"POT-Creation-Date: 2017-03-30 17:33+0100\n"
+"POT-Creation-Date: 2017-09-13 15:40+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: mySociety <transifex@mysociety.org>, 2016\n"
+"Last-Translator: mySociety <transifex@mysociety.org>, 2017\n"
"Language-Team: Welsh (https://www.transifex.com/mysociety/teams/12067/cy/)\n"
"Language: cy\n"
"MIME-Version: 1.0\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;\n"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:695
+#: perllib/FixMyStreet/DB/Result/Problem.pm:632
#: perllib/FixMyStreet/Script/Reports.pm:197
msgid " and "
msgstr "a"
@@ -91,25 +91,6 @@ msgstr ""
msgid "%s ref:&nbsp;%s"
msgstr ""
-#. ("%s is the site name")
-#: templates/web/base/alert/_list.html:74
-msgid ""
-"%s sends different categories of problem\n"
-"to the appropriate council, so problems within the boundary of a particular council\n"
-"might not match the problems sent to that council. For example, a graffiti report\n"
-"will be sent to the district council, so will appear in both of the district\n"
-"council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
-"for the county council."
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:257 perllib/FixMyStreet/Cobrand/UK.pm:269
-msgid "%s ward, %s"
-msgstr "ward %s, %s"
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
-msgid "%s, within %s ward"
-msgstr "%s, o fewn ward %s"
-
#: perllib/FixMyStreet/Map/OSM.pm:38
msgid "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"
msgstr ""
@@ -118,7 +99,7 @@ msgstr ""
msgid "(Defect &amp; location of defect)"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
#: templates/web/base/admin/users.html:32
msgid "(Email in abuse table)"
msgstr ""
@@ -133,28 +114,35 @@ msgstr ""
msgid "(No phone number)"
msgstr ""
-#: templates/web/base/alert/_list.html:25
-msgid "(a default distance which covers roughly 200,000 people)"
-msgstr ""
-
-#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
-#: templates/web/base/alert/_list.html:30
-msgid "(alternatively the RSS feed can be customised, within %s)"
+#: templates/web/base/admin/states/index.html:95
+msgid "(a-z and space only)"
msgstr ""
#: templates/web/zurich/report/_item.html:19
msgid "(closed)"
msgstr "(ar gau)"
+#: templates/web/base/alert/_list.html:30
+msgid "(covers roughly 200,000 people)"
+msgstr ""
+
#: templates/web/zurich/report/_item.html:17
msgid "(fixed)"
msgstr "(wedi trwsio)"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "(ignored if type is \"String\")"
+msgstr ""
+
#: templates/web/base/around/intro.html:2
msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
msgstr ""
-#: templates/web/base/report/_item.html:68
+#: templates/web/base/reports/index.html:69
+msgid "(no longer exists)"
+msgstr ""
+
+#: templates/web/base/report/_item.html:70
msgid "(not sent to council)"
msgstr "(heb ei anfon at y cyngor)"
@@ -162,20 +150,22 @@ msgstr "(heb ei anfon at y cyngor)"
msgid "(optional)"
msgstr "(dewisol)"
-#: templates/web/base/report/_item.html:67
+#: templates/web/base/report/_item.html:69
msgid "(sent to both)"
msgstr "(anfonwyd i'r ddau)"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:239
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/DB/Result/Problem.pm:454
+#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
+#: templates/web/base/alert/_list.html:36
+#, fuzzy
+msgid "(we also have RSS feeds for problems within %s)"
+msgstr "Ffrwd RSS o broblemau yn %s"
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:245
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:381
msgid "-- Pick a category --"
msgstr "-- Dewiswch gategori --"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:460
-msgid "-- Pick a property type --"
-msgstr "-- Dewiswch fath o eiddo --"
-
#: templates/web/base/admin/response_templates_select.html:3
msgid "--Choose a template--"
msgstr ""
@@ -184,16 +174,16 @@ msgstr ""
msgid "10 inch pothole on Example St, near post box"
msgstr ""
-#: templates/web/base/dashboard/index.html:152
+#: templates/web/base/dashboard/index.html:153
msgid "14-30 days old"
msgstr ""
-#: templates/web/base/dashboard/index.html:151
+#: templates/web/base/dashboard/index.html:152
msgid "7-14 days old"
msgstr ""
-#: templates/web/base/admin/body-form.html:48
-#: templates/web/base/admin/body-form.html:49
+#: templates/web/base/admin/body-form.html:50
+#: templates/web/base/admin/body-form.html:51
msgid ""
"<code>MAPIT_URL</code> is set (<code>%s</code>) but no <code>MAPIT_TYPES</code>.<br>\n"
" This is probably why \"area covered\" is empty (below).<br>\n"
@@ -204,13 +194,12 @@ msgstr ""
msgid "<h2>Reports, Statistics and Actions for</h2> <h1>%s</h1>"
msgstr ""
-#. ('The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories')
#. ("The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories")
-#: templates/web/base/reports/_list-filters.html:37
-msgid "<label for=\"statuses\">Show</label> %s <label for=\"filter_categories\">about</label> %s"
+#: templates/web/base/reports/_list-filters.html:48
+msgid "<label for=\"statuses\">Show</label> %s reports <label for=\"filter_categories\">about</label> %s"
msgstr ""
-#: templates/web/base/js/translation_strings.html:71
+#: templates/web/base/js/translation_strings.html:74
msgid "<span>%s</span> saved."
msgstr ""
@@ -227,34 +216,25 @@ msgstr "<strong>Nac oes</strong>, gadewch i fi gadarnhau'r adroddiad drwy e-bost
msgid "<strong>No</strong> Let me confirm my update by email"
msgstr "<strong>Nac oes</strong>, gadewch i fi gadarnhau'r diweddariad drwy e-bost"
-#: templates/web/base/auth/general.html:104
+#: templates/web/base/auth/general.html:106
#: templates/web/zurich/auth/general.html:51
msgid "<strong>No</strong> let me sign in by email"
msgstr "<strong>Nac oes</strong>, gadewch i fi fewngofnodi drwy e-bost"
-#: templates/web/base/report/_inspect.html:160
+#: templates/web/base/report/_inspect.html:170
msgid "<strong>Note:</strong> This report has been sent onwards for action. Any changes made won't be passed on."
msgstr ""
-#: templates/web/base/report/_inspect.html:162
+#: templates/web/base/report/_inspect.html:172
msgid "<strong>Note:</strong> This report hasn't yet been sent onwards for action. Any changes made may not be passed on."
msgstr ""
-#: templates/web/base/auth/general.html:80
+#: templates/web/base/auth/general.html:82
#: templates/web/base/report/new/form_user_loggedout_password.html:3
#: templates/web/base/report/update/form_user_loggedout_password.html:2
msgid "<strong>Yes</strong> I have a password"
msgstr "<strong>Oes</strong>, mae gen i gyfrinair"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:10
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:6
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Action Scheduled"
-msgstr ""
-
#: templates/web/base/admin/body-form.html:3
#: templates/web/base/admin/body-form.html:4
msgid ""
@@ -268,19 +248,36 @@ msgid "Add a contact using the form below."
msgstr ""
#: templates/web/base/admin/bodies.html:78
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Add body"
msgstr "Ychwanegu corff"
+#: templates/web/base/admin/reportextrafields/index.html:24
+msgid "Add extra fields"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:79
+msgid "Add field"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:85
+msgid "Add fixed state"
+msgstr ""
+
#: templates/web/base/admin/body.html:126
#: templates/web/zurich/admin/body.html:31
msgid "Add new category"
msgstr "Ychwanegu categori newydd"
+#: templates/web/base/admin/extra-metadata-form.html:72
+#, fuzzy
+msgid "Add option"
+msgstr "(dewisol)"
+
#: templates/web/base/report/_item.html:10
-#: templates/web/base/report/_item.html:14
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_item.html:16
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:19
#: templates/web/base/report/_main.html:30
msgid "Add to shortlist"
@@ -292,15 +289,15 @@ msgstr ""
msgid "Add user"
msgstr "Ychwanegu defnyddiwr"
-#: perllib/FixMyStreet/Cobrand/Default.pm:730
+#: perllib/FixMyStreet/Cobrand/Default.pm:735
msgid "Add/edit problem categories"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:732
+#: perllib/FixMyStreet/Cobrand/Default.pm:737
msgid "Add/edit response priorities"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:731
+#: perllib/FixMyStreet/Cobrand/Default.pm:736
msgid "Add/edit response templates"
msgstr ""
@@ -308,7 +305,7 @@ msgstr ""
msgid "Added %s"
msgstr "Ychwanegwyd %s"
-#: templates/web/base/report/_main.html:145
+#: templates/web/base/report/_main.html:149
msgid "Adding this report to your shortlist will remove it from %s’s shortlist."
msgstr ""
@@ -328,17 +325,17 @@ msgstr ""
msgid "Alert %d disabled (created %s)"
msgstr "Analluogwyd yr hysbysiad %d (créwyd %s)"
-#: templates/web/base/report/update/form_name.html:38
+#: templates/web/base/report/update/form_name.html:42
msgid "Alert me to future updates"
msgstr "Rhoi gwybod am ddiweddariadau i ddod"
#: templates/web/base/dashboard/index.html:138
#: templates/web/base/dashboard/index.html:21
#: templates/web/base/dashboard/index.html:30
+#: templates/web/base/reports/_list-filters.html:3
msgid "All"
msgstr ""
-#: templates/web/base/reports/index.html:6
#: templates/web/zurich/reports/index.html:13
msgid "All Reports"
msgstr "Pob adroddiad"
@@ -348,15 +345,23 @@ msgid "All Reports as CSV"
msgstr ""
#: templates/web/base/admin/category-multiselect.html:5
-#: templates/web/base/admin/responsepriorities/list.html:19
+#: templates/web/base/admin/responsepriorities/list.html:20
msgid "All categories"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:26
+#, fuzzy
+msgid "All cobrands"
+msgstr "Pob adroddiad"
+
+#: templates/web/base/admin/reportextrafields/edit.html:47
+msgid "All languages"
+msgstr ""
+
#: templates/web/base/main_nav_items.html:0
#: templates/web/base/main_nav_items.html:27
-#: templates/web/base/reports/_list-filters.html:3
#: templates/web/zurich/admin/index-dm.html:12
-#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:21
+#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:20
#: templates/web/zurich/nav_over_content.html:6
msgid "All reports"
msgstr "Pob adroddiad"
@@ -366,6 +371,14 @@ msgstr "Pob adroddiad"
msgid "All reports between %s and %s"
msgstr "Pob adroddiad rhwng %s a %s"
+#: templates/web/base/reports/index.html:23
+msgid "All time"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:20
+msgid "Alternatively, we can hide your name on <strong>all of your reports and updates</strong> across the site:"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:47
msgid "An update marked this problem as fixed."
msgstr "Mae diweddariad wedi nodi'r broblem wedi ei thrwsio."
@@ -375,31 +388,33 @@ msgstr "Mae diweddariad wedi nodi'r broblem wedi ei thrwsio."
msgid "Anonymous"
msgstr "Dienw"
-#: templates/web/base/admin/report_edit.html:134
+#: templates/web/base/report/new/form_user_loggedin.html:21
+#: templates/web/base/report/update/form_name.html:17
+#, fuzzy
+msgid "Anonymous user"
+msgstr "Dienw"
+
+#: templates/web/base/admin/report_edit.html:122
#: templates/web/base/admin/update_edit.html:23
msgid "Anonymous:"
msgstr "Dienw:"
-#: templates/web/base/report/new/form_user_loggedin.html:20
-#: templates/web/base/report/update/form_name.html:13
+#: templates/web/base/report/new/form_user_loggedin.html:24
+#: templates/web/base/report/update/form_name.html:14
msgid "Another user"
msgstr ""
-#: templates/web/base/front/footer-marketing.html:16
-msgid "Are you a developer?"
-msgstr "Ydych chi'n ddatblygwr?"
-
-#: templates/web/base/js/translation_strings.html:56
+#: templates/web/base/js/translation_strings.html:59
msgid "Are you sure you want to cancel this upload?"
msgstr ""
#: templates/web/base/admin/report_edit.html:84
-#: templates/web/base/js/translation_strings.html:66
+#: templates/web/base/js/translation_strings.html:69
#: templates/web/base/report/display_tools.html:6
msgid "Are you sure?"
msgstr ""
-#: templates/web/base/admin/body-form.html:75
+#: templates/web/base/admin/body-form.html:77
#: templates/web/base/admin/body.html:20
#: templates/web/zurich/admin/body-form.html:24
msgid "Area covered"
@@ -431,11 +446,11 @@ msgstr ""
msgid "Assign to subdivision:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:727
+#: perllib/FixMyStreet/Cobrand/Default.pm:732
msgid "Assign users to areas"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:214
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:219
msgid "Assigned to %s"
msgstr ""
@@ -456,11 +471,14 @@ msgstr ""
msgid "Auto-response:"
msgstr ""
-#: templates/web/base/admin/report_edit.html:127
-#: templates/web/base/report/_inspect.html:47
+#: templates/web/base/admin/report-category.html:8
msgid "Available categories"
msgstr ""
+#: templates/web/base/reports/index.html:84
+msgid "Average time between a problem being reported and being fixed, last 100 reports."
+msgstr ""
+
#: templates/web/base/dashboard/index.html:109
msgid "Average time to council marking fixed (days)"
msgstr ""
@@ -473,7 +491,7 @@ msgstr ""
msgid "Avoid personal information and vehicle number plates"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:417
+#: perllib/FixMyStreet/DB/Result/Problem.pm:344
#: templates/web/zurich/report/_item.html:9
msgid "Awaiting moderation"
msgstr ""
@@ -486,13 +504,13 @@ msgstr "Yn ôl"
msgid "Back to all reports"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
msgid "Ban email address"
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:650
-#: perllib/FixMyStreet/Cobrand/Default.pm:729
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
+#: perllib/FixMyStreet/Cobrand/Default.pm:734
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:396
#: templates/web/base/admin/bodies.html:1
#: templates/web/base/admin/report_edit.html:55
#: templates/web/zurich/header.html:56
@@ -514,7 +532,11 @@ msgstr "Corff:"
msgid "By Date"
msgstr "Yn ôl dyddiad"
-#: templates/web/base/auth/token.html:21 templates/web/base/email_sent.html:18
+#: templates/web/base/admin/extra-metadata-form.html:36
+msgid "Can be used to display extra text to the user alongside the field. The default template does not show this (<code>meta.datatype_description</code>), you must add it in <code>category_extras_fields.html</code>"
+msgstr ""
+
+#: templates/web/base/auth/token.html:27 templates/web/base/email_sent.html:20
msgid "Can&rsquo;t find our email? Check your spam folder&nbsp;&ndash; that&rsquo;s the solution 99% of the time."
msgstr ""
@@ -535,8 +557,8 @@ msgstr ""
#: templates/web/base/admin/body.html:72
#: templates/web/base/admin/contact-form.html:19
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/report/_inspect.html:38
-#: templates/web/base/report/_item.html:90
+#: templates/web/base/report/_inspect.html:48
+#: templates/web/base/report/_item.html:92
#: templates/web/base/report/new/category.html:6
#: templates/web/base/report/new/category_wrapper.html:3
#: templates/web/zurich/admin/body.html:14
@@ -547,7 +569,7 @@ msgstr ""
msgid "Category"
msgstr "Categori"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:852
+#: perllib/FixMyStreet/App/Controller/Admin.pm:956
msgid "Category changed from ‘%s’ to ‘%s’"
msgstr ""
@@ -587,23 +609,11 @@ msgstr ""
msgid "Change password"
msgstr "Newid cyfrinair"
-#: templates/web/base/admin/contact-form.html:41
-msgid ""
-"Check <strong>confirmed</strong> to indicate that this contact has been confirmed as correct.\n"
-" If you are not sure of the origin or validity of the contact, leave this unchecked."
-msgstr ""
-
-#: templates/web/base/admin/contact-form.html:52
-msgid ""
-"Check <strong>deleted</strong> to remove the category from use. \n"
-" It will not appear as an available category in the drop-down menu on the report-a-problem page."
-msgstr ""
-
-#: templates/web/base/admin/contact-form.html:79
+#: templates/web/base/admin/contact-form.html:80
msgid "Check <strong>inspection required</strong> if reports in this category <strong>must be inspected</strong> before being sent."
msgstr ""
-#: templates/web/base/admin/contact-form.html:63
+#: templates/web/base/admin/contact-form.html:64
msgid ""
"Check <strong>private</strong> if reports in this category should <strong>never be displayed on the website</strong>.\n"
" <br>\n"
@@ -620,11 +630,11 @@ msgid ""
" to the body too. These will appear in the drop-down menu on the report-a-problem page."
msgstr ""
-#: templates/web/base/report/_inspect.html:93
+#: templates/web/base/report/_inspect.html:103
msgid "Choose another"
msgstr ""
-#: templates/web/base/js/translation_strings.html:65
+#: templates/web/base/js/translation_strings.html:68
msgid "Clear offline data"
msgstr ""
@@ -649,21 +659,21 @@ msgstr ""
msgid "Click the link in our confirmation email to publish your update."
msgstr ""
-#: templates/web/base/auth/token.html:18
+#: templates/web/base/auth/token.html:23
msgid "Click the link in our confirmation email to sign in."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:189
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:960
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:17
-#: templates/web/base/admin/report_blocks.html:27
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:43
-#: templates/web/base/report/banner.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:18
+#: templates/web/base/auth/token.html:20
+msgid "Click the link in that email to sign in."
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:134
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:194
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:965
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:11
+#: templates/web/base/admin/states/index.html:103
+#: templates/web/base/admin/states/index.html:27
+#: templates/web/base/admin/states/index.html:33
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:10
#: templates/web/zurich/admin/header.html:16
@@ -671,23 +681,17 @@ msgstr ""
msgid "Closed"
msgstr "Ar gau"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:889
+#: perllib/FixMyStreet/DB/Result/Problem.pm:826
msgid "Closed by council"
msgstr "Caewyd gan y cyngor"
-#: templates/web/base/reports/_list-filters.html:13
-msgid "Closed reports"
-msgstr ""
-
-#: templates/web/base/admin/problem_row.html:38
-msgid "Closed:"
-msgstr "Ar gau:"
-
#: templates/web/base/admin/report_edit.html:37
msgid "Co-ordinates:"
msgstr "Cyfesurynnau:"
#: templates/web/base/admin/list_updates.html:10
+#: templates/web/base/admin/reportextrafields/edit.html:24
+#: templates/web/base/admin/reportextrafields/index.html:7
msgid "Cobrand"
msgstr ""
@@ -701,6 +705,10 @@ msgstr ""
msgid "Cobrand:"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:14
+msgid "Code"
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:50
msgid "Collapse map"
msgstr ""
@@ -731,9 +739,8 @@ msgstr ""
msgid "Confirmation"
msgstr ""
-#: templates/web/base/admin/body.html:85
-#: templates/web/base/admin/category_edit.html:54
-#: templates/web/base/admin/contact-form.html:47
+#: templates/web/base/admin/contact-form.html:56
+#: templates/web/zurich/admin/contact-form.html:12
#: templates/web/zurich/admin/stats.html:40
msgid "Confirmed"
msgstr "Cadarnhawyd"
@@ -768,8 +775,8 @@ msgstr "Cysylltu â'r tîm"
msgid "Coordinates:"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1668
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1696
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1773
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1801
msgid "Could not find user"
msgstr "Methu dod o hyd i'r defnyddiwr"
@@ -789,9 +796,8 @@ msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:83
-#, fuzzy
msgid "Council has marked as closed"
-msgstr "Mae'r adroddiad hwn wedi'i nodi ar gau."
+msgstr ""
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:57
@@ -828,24 +834,33 @@ msgstr "Cyngor:"
msgid "Count"
msgstr ""
+#: templates/web/base/admin/states/index.html:114
+#, fuzzy
+msgid "Create"
+msgstr "Crëwyd"
+
#: templates/web/base/email_sent.html:1
msgid "Create a report"
msgstr "Creu adroddiad"
-#: templates/web/base/admin/contact-form.html:137
+#: templates/web/base/admin/contact-form.html:138
#: templates/web/zurich/admin/body.html:62
msgid "Create category"
msgstr "Creu categori"
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/responsepriorities/edit.html:58
msgid "Create priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:714
+#: perllib/FixMyStreet/Cobrand/Default.pm:718
+msgid "Create reports/updates as anonymous user"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:719
msgid "Create reports/updates as the council"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:713
+#: perllib/FixMyStreet/Cobrand/Default.pm:717
msgid "Create reports/updates on a user's behalf"
msgstr ""
@@ -875,13 +890,15 @@ msgstr "Cyflwr presennol"
msgid "Currently no bodies have been created."
msgstr "Ar hyn o bryd does dim cyrff."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:825
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:830
#: templates/web/zurich/admin/report_edit-sdm.html:105
msgid "Customer not contactable"
msgstr ""
#: templates/web/base/dashboard/index.html:5
#: templates/web/base/dashboard/index.html:7
+#: templates/web/base/reports/index.html:15
+#: templates/web/base/reports/index.html:18
msgid "Dashboard"
msgstr ""
@@ -889,29 +906,36 @@ msgstr ""
msgid "Dealt with by subdivision within 5 working days"
msgstr ""
-#: templates/web/base/report/_inspect.html:73
+#: templates/web/base/admin/responsepriorities/list.html:9
+msgid "Default"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:39
+msgid "Default priority"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:72
msgid "Defect type"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:973
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1078
#: templates/web/base/admin/template_edit.html:50
#: templates/web/zurich/admin/template_edit.html:33
msgid "Delete template"
msgstr ""
#: templates/web/base/admin/bodies.html:31
-#: templates/web/base/admin/body.html:87
-#: templates/web/base/admin/category_edit.html:55
#: templates/web/base/admin/contact-form.html:58
-#: templates/web/zurich/admin/contact-form.html:12
+#: templates/web/zurich/admin/contact-form.html:13
msgid "Deleted"
msgstr "Dilëwyd"
-#: templates/web/base/report/_main.html:110
-#: templates/web/base/report/update.html:59
+#: templates/web/base/report/_main.html:114
+#: templates/web/base/report/update.html:68
msgid "Describe why you are moderating this"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:32
#: templates/web/base/admin/responsepriorities/list.html:7
#: templates/web/zurich/admin/index-dm.html:22
#: templates/web/zurich/admin/index-sdm.html:20
@@ -935,7 +959,7 @@ msgstr "Manylion"
msgid "Details:"
msgstr "Manylion:"
-#: templates/web/base/admin/body.html:93
+#: templates/web/base/admin/body.html:92
msgid "Devolved"
msgstr ""
@@ -948,18 +972,17 @@ msgstr ""
msgid "Diligency prize league table"
msgstr ""
-#: templates/web/base/report/_main.html:114
-#: templates/web/base/report/update.html:61
-#, fuzzy
+#: templates/web/base/report/_main.html:118
+#: templates/web/base/report/update.html:70
msgid "Discard changes"
-msgstr "Cadw'r newidiadau"
+msgstr ""
#: templates/web/base/admin/open311-form-fields.html:95
msgid "Do not send email alerts on fetched comments to problem creator"
msgstr ""
#. ("%s is the site name")
-#: templates/web/base/auth/general.html:58
+#: templates/web/base/auth/general.html:60
#: templates/web/base/report/new/form_user_loggedout.html:25
#: templates/web/base/report/new/oauth_email_form.html:18
#: templates/web/base/report/update-form.html:30
@@ -967,40 +990,33 @@ msgstr ""
msgid "Do you have a %s password?"
msgstr ""
+#: templates/web/base/report/_inspect.html:87
+msgid "Do you want to automatically raise a defect?"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:57
msgid "Don&rsquo;t know"
msgstr ""
-#: templates/web/base/contact/index.html:108
+#: templates/web/base/contact/index.html:112
msgid "Don't like forms?"
msgstr ""
-#: templates/web/base/report/_item.html:25
+#: templates/web/base/report/_item.html:27
msgid "Down one"
msgstr ""
-#: templates/web/base/js/translation_strings.html:55
+#: templates/web/base/js/translation_strings.html:58
msgid "Drag and drop photos here or <u>click to upload</u>"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:10
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "Duplicate"
-msgstr "Lluosogi"
-
-#: templates/web/base/report/_inspect.html:88
-#, fuzzy
+#: templates/web/base/report/_inspect.html:98
msgid "Duplicate of"
-msgstr "Lluosogi"
+msgstr ""
-#: templates/web/base/report/_inspect.html:98
-#, fuzzy
+#: templates/web/base/report/_inspect.html:108
msgid "Duplicates"
-msgstr "Lluosogi"
+msgstr ""
#: templates/web/base/admin/body.html:116
msgid ""
@@ -1010,43 +1026,43 @@ msgid ""
" "
msgstr ""
-#: templates/web/base/report/_inspect.html:16
-#: templates/web/base/report/_item.html:81
+#: templates/web/base/report/_inspect.html:26
+#: templates/web/base/report/_item.html:83
msgid "Easting/Northing:"
msgstr ""
#: templates/web/base/admin/list_updates.html:42
#: templates/web/base/admin/problem_row.html:41
-#: templates/web/base/admin/responsepriorities/list.html:26
+#: templates/web/base/admin/responsepriorities/list.html:28
#: templates/web/base/admin/templates.html:22
#: templates/web/base/admin/users.html:34
#: templates/web/zurich/admin/problem_row.html:48
msgid "Edit"
msgstr "Golygu"
-#: templates/web/base/admin/body.html:140
+#: templates/web/base/admin/body.html:141
#: templates/web/base/admin/index.html:39
#: templates/web/zurich/admin/body.html:69
msgid "Edit body details"
msgstr "Golygu manylion y corff"
-#: perllib/FixMyStreet/Cobrand/Default.pm:724
+#: perllib/FixMyStreet/Cobrand/Default.pm:729
msgid "Edit other users' details"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:725
+#: perllib/FixMyStreet/Cobrand/Default.pm:730
msgid "Edit other users' permissions"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:708
+#: perllib/FixMyStreet/Cobrand/Default.pm:712
msgid "Edit report category"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:709
+#: perllib/FixMyStreet/Cobrand/Default.pm:713
msgid "Edit report priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:707
+#: perllib/FixMyStreet/Cobrand/Default.pm:711
msgid "Edit reports"
msgstr ""
@@ -1069,15 +1085,15 @@ msgstr "Golygu'r diweddariad %d"
msgid "Editing user %d"
msgstr "Golygu'r defnyddiwr %d"
-#: templates/web/base/admin/category_edit.html:56
+#: templates/web/base/admin/category_edit.html:30
msgid "Editor"
msgstr "Golygydd"
#: templates/web/base/admin/bodies.html:27
-#: templates/web/base/admin/category_edit.html:53
+#: templates/web/base/admin/category_edit.html:28
#: templates/web/base/admin/flagged.html:38
#: templates/web/base/admin/users.html:17
-#: templates/web/base/auth/general.html:49
+#: templates/web/base/auth/general.html:51
#: templates/web/zurich/admin/body-form.html:9
#: templates/web/zurich/admin/body.html:15
#: templates/web/zurich/auth/general.html:24
@@ -1085,13 +1101,14 @@ msgstr "Golygydd"
msgid "Email"
msgstr "E-bost"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1644
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1749
msgid "Email added to abuse list"
msgstr "Ychwanegwyd yr e-bost at y rhestr camddefnydd"
-#: templates/web/base/admin/contact-form.html:36
-#: templates/web/base/report/new/form_user_loggedin.html:28
-#: templates/web/base/report/update/form_name.html:19
+#: templates/web/base/admin/contact-form.html:38
+#: templates/web/base/alert/_list.html:74
+#: templates/web/base/report/new/form_user_loggedin.html:32
+#: templates/web/base/report/update/form_name.html:23
msgid "Email address"
msgstr ""
@@ -1103,11 +1120,11 @@ msgstr "Crëwyd hysbysiad e-bost"
msgid "Email alert deleted"
msgstr "Dilëwyd hysbysiad e-bost"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1641
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1746
msgid "Email already in abuse list"
msgstr "E-bost eisoes yn y rhestr camddefnydd"
-#: templates/web/base/admin/report_edit.html:141
+#: templates/web/base/admin/report_edit.html:129
#: templates/web/base/admin/update_edit.html:35
#: templates/web/base/admin/user-form.html:19
#: templates/web/zurich/admin/body.html:48
@@ -1128,8 +1145,8 @@ msgid ""
" <a href='https://www.mysociety.org/2013/02/20/open311-extended/' class='admin-offsite-link'>this article</a>."
msgstr ""
-#: templates/web/base/admin/body-form.html:120
-#: templates/web/base/admin/body-form.html:121
+#: templates/web/base/admin/body-form.html:122
+#: templates/web/base/admin/body-form.html:123
msgid ""
"Enable this <strong>can be devolved</strong> setting if one or more contacts have a \n"
" different endpoint (and send method) from the body's. For example, if reports for some categories of\n"
@@ -1144,11 +1161,11 @@ msgstr "Dyddiad dod i ben:"
msgid "Endpoint"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:76
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:81
msgid "Enter a Z&uuml;rich street name"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:15
+#: perllib/FixMyStreet/Cobrand/UK.pm:16
msgid "Enter a nearby UK postcode, or street name and area"
msgstr "Rhowch god post DU, neu enw stryd ac ardal"
@@ -1157,12 +1174,13 @@ msgstr "Rhowch god post DU, neu enw stryd ac ardal"
msgid "Enter a nearby postcode, or street name and area"
msgstr "Rhowch god post, neu enw stryd ac ardal"
+#: perllib/FixMyStreet/Cobrand/DansMonQwat.pm:14
#: templates/web/base/around/postcode_form.html:5
#: templates/web/base/around/postcode_form.html:6
msgid "Enter a nearby street name and area"
msgstr "Rhowch enw stryd ac ardal gerllaw"
-#: templates/web/base/auth/general.html:116
+#: templates/web/base/auth/general.html:118
#: templates/web/base/report/new/form_user_loggedout_by_email.html:35
#: templates/web/base/report/update/form_user_loggedout_by_email.html:13
#: templates/web/zurich/auth/general.html:65
@@ -1182,8 +1200,8 @@ msgstr "Rhowch fanylion am y broblem"
msgid "Error"
msgstr "Gwall"
-#: templates/web/base/reports/_list-filters.html:20
-#: templates/web/base/reports/_list-filters.html:28
+#: templates/web/base/reports/_list-filters.html:31
+#: templates/web/base/reports/_list-filters.html:39
msgid "Everything"
msgstr ""
@@ -1196,8 +1214,7 @@ msgstr "Cod post enghreifftiol %s"
msgid "Examples:"
msgstr "Enghraifft:"
-#: templates/web/base/admin/report_edit.html:122
-#: templates/web/base/report/_inspect.html:42
+#: templates/web/base/admin/report-category.html:3
msgid "Existing category"
msgstr ""
@@ -1205,16 +1222,16 @@ msgstr ""
msgid "Expand map"
msgstr ""
-#: templates/web/base/report/new/form_report.html:52
+#: templates/web/base/report/new/form_report.html:54
msgid "Explain what’s wrong"
msgstr ""
-#: templates/web/base/dashboard/index.html:146
+#: templates/web/base/dashboard/index.html:147
msgid "Export as CSV"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:913
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:179
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:12
msgid "Extern"
@@ -1225,7 +1242,7 @@ msgstr ""
msgid "External ID"
msgstr ""
-#: templates/web/base/admin/body-form.html:87
+#: templates/web/base/admin/body-form.html:89
msgid "External URL"
msgstr "URL allanol"
@@ -1237,13 +1254,20 @@ msgstr ""
msgid "External team"
msgstr ""
-#: templates/web/base/admin/category_edit.html:25
+#: perllib/FixMyStreet/Cobrand/Default.pm:673
+#: templates/web/base/admin/reportextrafields/edit.html:1
+#: templates/web/base/admin/reportextrafields/index.html:1
+#, fuzzy
+msgid "Extra Fields"
+msgstr "Data ychwanegol:"
+
+#: templates/web/base/admin/contact-form.html:141
#: templates/web/base/admin/report_edit.html:94
msgid "Extra data:"
msgstr "Data ychwanegol:"
-#: templates/web/base/report/_inspect.html:134
-#: templates/web/base/report/_item.html:106
+#: templates/web/base/report/_inspect.html:144
+#: templates/web/base/report/_item.html:108
msgid "Extra details"
msgstr ""
@@ -1251,6 +1275,11 @@ msgstr ""
msgid "Failed to send message"
msgstr "Methodd anfon neges"
+#: templates/web/base/admin/reportextrafields/edit.html:58
+#: templates/web/base/admin/reportextrafields/index.html:9
+msgid "Fields"
+msgstr ""
+
#: templates/web/zurich/admin/index-dm.html:33
#: templates/web/zurich/admin/index-sdm.html:30
msgid "Filter report list"
@@ -1264,52 +1293,32 @@ msgstr "Tro cyntaf"
msgid "Fix this by choosing an <strong>area covered</strong> in the <em>Edit body details</em> form below."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:11
-#: templates/web/base/admin/report_blocks.html:26
+#: perllib/FixMyStreet/App/Controller/Admin/States.pm:35
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:133
+#: templates/web/base/admin/states/index.html:29
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:41
-#: templates/web/base/report/banner.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:17
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:45
msgid "Fixed"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:13
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:7
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:62
msgid "Fixed - Council"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:12
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:63
msgid "Fixed - User"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:14
-msgid "Fixed reports"
-msgstr ""
-
-#: templates/web/base/admin/problem_row.html:37
-msgid "Fixed:"
-msgstr ""
-
-#: templates/web/base/admin/body-form.html:95
-#: templates/web/base/admin/responsepriorities/edit.html:41
+#: templates/web/base/admin/body-form.html:97
+#: templates/web/base/admin/responsepriorities/edit.html:53
#: templates/web/zurich/admin/body-form.html:36
msgid "Flag as deleted"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/report_blocks.html:23
msgid "Flag user"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: perllib/FixMyStreet/Cobrand/Default.pm:644
#: templates/web/base/admin/users.html:20
msgid "Flagged"
msgstr ""
@@ -1326,7 +1335,7 @@ msgstr ""
msgid "Flagged users are not restricted in any way. This is just a list of users that have been marked for attention."
msgstr ""
-#: templates/web/base/admin/report_edit.html:147
+#: templates/web/base/admin/report_edit.html:135
#: templates/web/base/admin/user-form.html:100
msgid "Flagged:"
msgstr ""
@@ -1339,21 +1348,25 @@ msgstr ""
msgid "For best results include a close-up and a wide shot"
msgstr ""
-#: templates/web/base/admin/body-form.html:71
+#: templates/web/base/admin/extra-metadata-form.html:52
+msgid "For each option, <strong>Key</strong> is the value which is stored in the database for that option and <strong>Name</strong> is the value displayed to the user."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:73
msgid "For more information, see <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
msgstr ""
-#: templates/web/base/auth/general.html:95
+#: templates/web/base/auth/general.html:97
#: templates/web/base/report/new/form_user_loggedout_password.html:20
#: templates/web/base/report/update/form_user_loggedout_password.html:19
msgid "Forgotten your password?"
msgstr "Wedi anghofio eich cyfrinair?"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:743
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:748
msgid "Forwarded to external body"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:744
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:749
msgid "Forwarded wish to external body"
msgstr ""
@@ -1363,6 +1376,10 @@ msgstr ""
msgid "Frequently Asked Questions"
msgstr "Cwestiynau a ofynnir yn aml"
+#: templates/web/base/admin/stats.html:102
+msgid "Get Count"
+msgstr ""
+
#: templates/web/base/around/_updates.html:3
#: templates/web/base/report/display_tools.html:14
msgid "Get updates"
@@ -1378,10 +1395,14 @@ msgstr "Derbyn diweddariadau am broblemau %s"
msgid "Get updates of problems in this %s"
msgstr ""
-#: templates/web/base/alert/_list.html:83
+#: templates/web/base/alert/_list.html:85
msgid "Give me an RSS feed"
msgstr "Derbyn ffrwd RSS"
+#: templates/web/base/admin/reportextrafields/edit.html:6
+msgid "Give this collection of fields a name. It is not shown publicly, just here in the admin."
+msgstr ""
+
#: templates/web/base/questionnaire/completed.html:14
msgid "Glad to hear it’s been fixed!"
msgstr "Mae'n dda gennym glywed y cafodd ei drwsio!"
@@ -1391,8 +1412,9 @@ msgstr "Mae'n dda gennym glywed y cafodd ei drwsio!"
#: templates/web/base/admin/index.html:49
#: templates/web/base/alert/index.html:34
#: templates/web/base/around/postcode_form.html:13
-#: templates/web/base/reports/_list-filters.html:38
-#: templates/web/base/reports/_list-filters.html:53
+#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:64
+#: templates/web/base/reports/index.html:75
#: templates/web/zurich/admin/stats.html:26
msgid "Go"
msgstr ""
@@ -1401,7 +1423,7 @@ msgstr ""
msgid "Going to send questionnaire?"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:726
+#: perllib/FixMyStreet/Cobrand/Default.pm:731
msgid "Grant access to the admin"
msgstr ""
@@ -1409,10 +1431,6 @@ msgstr ""
msgid "Graph of problem creation by status over time"
msgstr ""
-#: templates/web/base/reports/index.html:15
-msgid "Greyed-out lines are councils that no longer exist."
-msgstr ""
-
#: templates/web/base/questionnaire/index.html:48
msgid "Has this problem been fixed?"
msgstr "Gafodd y broblem ei thrwsio?"
@@ -1423,7 +1441,7 @@ msgstr "Ydych chi wedi adrodd problem at y cyngor o'r blaen, neu ai dyma eich tr
#: templates/web/base/main_nav_items.html:40
#: templates/web/zurich/about/faq-de-ch.html:1
-#: templates/web/zurich/footer.html:23
+#: templates/web/zurich/footer.html:22
#: templates/web/zurich/nav_over_content.html:8
msgid "Help"
msgstr "Cymorth"
@@ -1433,22 +1451,13 @@ msgstr "Cymorth"
msgid "Help <strong>%s</strong> resolve your problem quicker, by providing some extra detail. This extra information will not be published online."
msgstr ""
-#: templates/web/base/alert/_list.html:9
-msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
-msgstr "Dyma'r mathau o hysbysiadau problemau lleol ar gyfer &lsquo;%s&rsquo;."
-
-#: templates/web/zurich/footer.html:12
+#: templates/web/zurich/footer.html:11
msgid "Hi %s"
msgstr "Helo %s"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:906
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:19
-#: templates/web/base/admin/report_blocks.html:28
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:911
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:60
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:19
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:11
#: templates/web/zurich/admin/stats.html:32
@@ -1456,16 +1465,33 @@ msgstr "Helo %s"
msgid "Hidden"
msgstr "Cudd"
-#: templates/web/base/report/_main.html:105
-#, fuzzy
+#: templates/web/base/report/_main.html:109
msgid "Hide entire report"
-msgstr "Ailanfon adrodd"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:1
+#: templates/web/base/my/anonymize.html:2
+msgid "Hide my name"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:21
+msgid "Hide my name everywhere"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:10
+msgid "Hide my name in this update"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:16
+msgid "Hide my name on this report"
+msgstr ""
#: templates/web/base/around/display_location.html:67
msgid "Hide old"
msgstr "Cuddio'r hen rai"
#: templates/web/base/around/display_location.html:62
+#: templates/web/base/js/translation_strings.html:55
msgid "Hide pins"
msgstr "Cuddio'r piniau"
@@ -1473,7 +1499,16 @@ msgstr "Cuddio'r piniau"
msgid "Hide update completely?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:49
+#: templates/web/base/report/_report_meta_info.html:3
+#: templates/web/base/report/update.html:55
+msgid "Hide your name?"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:38
+msgid "Hint"
+msgstr ""
+
+#: templates/web/base/admin/category_edit.html:24
msgid "History"
msgstr "Hanes"
@@ -1490,12 +1525,12 @@ msgid "How to send successful reports"
msgstr "Sut i anfon adroddiadau llwyddiannus"
#: templates/web/base/tokens/confirm_problem.html:36
-#: templates/web/base/tokens/confirm_problem.html:40
+#: templates/web/base/tokens/confirm_problem.html:41
msgid "I just reported a problem on @fixmystreet"
msgstr "Dwi newydd adrodd problem ar @fixmystreet"
-#: templates/web/base/tokens/confirm_update.html:19
-#: templates/web/base/tokens/confirm_update.html:23
+#: templates/web/base/tokens/confirm_update.html:20
+#: templates/web/base/tokens/confirm_update.html:25
msgid "I just updated a problem on @fixmystreet"
msgstr "Dwi newydd ddiweddaru problem ar @fixmystreet"
@@ -1515,17 +1550,25 @@ msgstr ""
msgid "ID"
msgstr "ID"
-#: templates/web/base/admin/body-form.html:30
-#: templates/web/base/admin/body-form.html:31
+#: templates/web/base/admin/body-form.html:32
+#: templates/web/base/admin/body-form.html:33
msgid ""
"Identify a <strong>parent</strong> if this body is itself part of another body.\n"
" For basic installations, you don't need to join bodies in this way."
msgstr ""
+#: templates/web/base/auth/token.html:19
+msgid "If there's a user associated with the address you entered, we've sent a confirmation email."
+msgstr ""
+
#: templates/web/base/admin/responsepriorities/edit.html:23
msgid "If this priority is passed to an external service (e.g. Exor/Confirm) enter the priority code to use with that service here."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:24
+msgid "If ticked the user won’t see an input field, just the ‘Description’ text."
+msgstr ""
+
#: templates/web/base/admin/contact-form.html:14
msgid ""
"If two or more bodies serve the same location, FixMyStreet combines identical categories into a single entry in\n"
@@ -1536,7 +1579,7 @@ msgstr ""
msgid "If you get some more information about the status of your problem, please come back to the site and leave an update."
msgstr "Os cewch chi ragor o wybodaeth am statws eich problem, dychwelwch i'r wefan i adael diweddariad."
-#: templates/web/base/admin/responsepriorities/edit.html:33
+#: templates/web/base/admin/responsepriorities/edit.html:45
msgid "If you only want this priority to be an option for specific categories, pick them here. By default they will show for all categories."
msgstr ""
@@ -1559,7 +1602,7 @@ msgid ""
"(please note it will not be sent to the council)."
msgstr ""
-#: templates/web/base/admin/contact-form.html:30
+#: templates/web/base/admin/contact-form.html:32
msgid "If you're using <strong>a send method that is not email</strong>, enter the service ID (Open311) or equivalent identifier here."
msgstr ""
@@ -1586,7 +1629,7 @@ msgid ""
" when they are shown on the site. Enter the ID (number) of that user."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:133
+#: perllib/FixMyStreet/App/Controller/Contact.pm:134
msgid "Illegal ID"
msgstr "ID annerbynniol"
@@ -1594,13 +1637,6 @@ msgstr "ID annerbynniol"
msgid "Illegal feed selection"
msgstr ""
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "In Progress"
-msgstr "Ar y gweill"
-
#: templates/web/base/admin/flagged.html:39
msgid "In abuse table?"
msgstr ""
@@ -1609,18 +1645,17 @@ msgstr ""
msgid "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:192
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:954
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:9
-#: templates/web/base/report/banner.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:5
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:197
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:959
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:8
msgid "In progress"
msgstr "Ar y gweill"
+#: templates/web/base/admin/contact-form.html:57
+msgid "Inactive"
+msgstr ""
+
#: templates/web/base/tokens/confirm_alert.html:11
msgid "Inbox zero, here we come!"
msgstr ""
@@ -1637,11 +1672,15 @@ msgstr ""
msgid "Incorrect has_photo value \"%s\""
msgstr ""
-#: templates/web/base/admin/contact-form.html:84
+#: templates/web/base/report/_inspect.html:5
+msgid "Inspect report"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:85
msgid "Inspection required"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:711
+#: perllib/FixMyStreet/Cobrand/Default.pm:715
msgid "Instruct contractors to fix problems"
msgstr ""
@@ -1649,13 +1688,6 @@ msgstr ""
msgid "Internal notes"
msgstr "Nodiadau mewnol"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:11
-msgid "Internal referral"
-msgstr ""
-
#: templates/web/base/offline/appcache.html:3
msgid "Internet glitch"
msgstr ""
@@ -1664,7 +1696,7 @@ msgstr ""
msgid "Invalid agency_responsible value %s"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1502
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1607
msgid "Invalid end date"
msgstr "Dyddiad dod i ben annilys"
@@ -1672,26 +1704,15 @@ msgstr "Dyddiad dod i ben annilys"
msgid "Invalid format %s specified."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report.pm:398
+#: perllib/FixMyStreet/App/Controller/Report.pm:409
msgid "Invalid location. New location must be covered by the same council."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1498
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1603
msgid "Invalid start date"
msgstr "Dyddiad cychwyn annilys"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:7
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:4
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Investigating"
-msgstr ""
-
-#: templates/web/base/contact/blurb.html:8
+#: templates/web/base/contact/blurb.html:2
msgid "It's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there."
msgstr ""
@@ -1699,37 +1720,59 @@ msgstr ""
msgid "It’s on its way to the council right now."
msgstr "Mae ar y ffordd i'r cyngor y funud hon."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:177
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:182
msgid "Jurisdiction Unknown"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:15
msgid "Jurisdiction unknown"
msgstr ""
-#: templates/web/base/auth/general.html:91
+#: templates/web/base/auth/general.html:93
#: templates/web/base/report/new/form_user_loggedout_password.html:16
#: templates/web/base/report/update/form_user_loggedout_password.html:15
#: templates/web/zurich/auth/general.html:40
msgid "Keep me signed in on this computer"
msgstr "Cadw fi wedi mewngofnodi ar y cyfrifiadur hwn"
+#: templates/web/base/admin/extra-metadata-form.html:61
+msgid "Key"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:9
+#: templates/web/base/admin/states/index.html:95
+msgid "Label"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:6
+#: templates/web/base/admin/reportextrafields/edit.html:45
+msgid "Language"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/index.html:8
+msgid "Languages"
+msgstr ""
+
#: templates/web/base/dashboard/index.html:50
msgid "Last 4 weeks"
msgstr ""
#: templates/web/base/dashboard/index.html:49
-#, fuzzy
+#: templates/web/base/reports/index.html:38
msgid "Last 7 days"
-msgstr "Diweddariad diwethaf:"
+msgstr ""
#: templates/web/base/admin/body.html:74
#: templates/web/zurich/admin/body.html:16
msgid "Last editor"
msgstr "Golygydd diwethaf"
+#: templates/web/base/questionnaire/index.html:25
+msgid "Last update"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:89
msgid "Last update:"
msgstr "Diweddariad diwethaf:"
@@ -1738,23 +1781,27 @@ msgstr "Diweddariad diwethaf:"
msgid "Last&nbsp;update:"
msgstr "Diweddariad&nbsp;diwethaf:"
-#: templates/web/base/report/_inspect.html:20
-#: templates/web/base/report/_item.html:86
+#: templates/web/base/report/_inspect.html:30
+#: templates/web/base/report/_item.html:88
msgid "Latitude/Longitude:"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:50
+#: templates/web/base/reports/_list-filters.html:61
msgid "Least recently updated"
msgstr ""
-#: templates/web/base/admin/body-form.html:127
+#: templates/web/base/admin/body-form.html:129
msgid "Leave this blank if all reports to this body should be sent using the same send method (e.g., \"%s\")."
msgstr ""
-#: templates/web/base/dashboard/index.html:150
+#: templates/web/base/dashboard/index.html:151
msgid "Less than 7 days old"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:47
+msgid "List"
+msgstr ""
+
#: templates/web/base/admin/body.html:31
msgid "List all reported problems"
msgstr "Rhestru'r holl broblemau a adroddwyd"
@@ -1785,23 +1832,23 @@ msgstr "Hysbysiadau lleol"
msgid "Locate the problem on a map of the area"
msgstr "Lleoli'r broblem ar fap o'r ardal"
-#: templates/web/base/auth/general.html:22
+#: templates/web/base/auth/general.html:24
#: templates/web/base/report/new/form_user_loggedout.html:6
#: templates/web/base/report/update/form_user_loggedout.html:7
msgid "Log in with Facebook"
msgstr ""
-#: templates/web/base/auth/general.html:30
+#: templates/web/base/auth/general.html:32
#: templates/web/base/report/new/form_user_loggedout.html:14
#: templates/web/base/report/update/form_user_loggedout.html:15
msgid "Log in with Twitter"
msgstr ""
-#: templates/web/base/js/translation_strings.html:59
+#: templates/web/base/js/translation_strings.html:62
msgid "Log in with email"
msgstr ""
-#: templates/web/base/dashboard/index.html:145
+#: templates/web/base/dashboard/index.html:146
#: templates/web/base/dashboard/index.html:38
msgid "Look up"
msgstr ""
@@ -1810,11 +1857,11 @@ msgstr ""
msgid "MAP"
msgstr "MAP"
-#: perllib/FixMyStreet/Cobrand/Default.pm:712
+#: perllib/FixMyStreet/Cobrand/Default.pm:716
msgid "Manage shortlist"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:45
+#: templates/web/base/reports/_list-filters.html:56
msgid "Manual order"
msgstr ""
@@ -1830,19 +1877,11 @@ msgstr "Nodi ei fod wedi'i anfon"
msgid "Mark users whose behaviour you want to keep a check on as <strong>flagged</strong>."
msgstr ""
-#: templates/web/base/reports/index.html:27
-msgid "Marked fixed/closed in the past eight weeks"
-msgstr ""
-
-#: templates/web/base/reports/index.html:28
-msgid "Marked fixed/closed more than eight weeks ago"
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/Default.pm:710
+#: perllib/FixMyStreet/Cobrand/Default.pm:714
msgid "Markup problem details"
msgstr ""
-#: templates/web/base/contact/index.html:96
+#: templates/web/base/contact/index.html:100
msgid "Message"
msgstr "Neges"
@@ -1862,68 +1901,69 @@ msgstr ""
msgid "Missing jurisdiction_id"
msgstr "jurisdiction_id coll"
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:706
+#: perllib/FixMyStreet/Cobrand/Default.pm:710
msgid "Moderate report details"
msgstr ""
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate this report"
msgstr ""
#: templates/web/base/report/update.html:12
-#, fuzzy
msgid "Moderate this update"
-msgstr "Adroddwyd gan %s am %s"
+msgstr ""
-#: templates/web/base/report/_main.html:69
-#: templates/web/base/report/update.html:49
-#, fuzzy
+#: templates/web/base/report/_main.html:73
+#: templates/web/base/report/update.html:58
msgid "Moderated by %s at %s"
-msgstr "Adroddwyd gan %s am %s"
+msgstr ""
#: templates/web/zurich/admin/stats.html:34
msgid "Moderated by division within one working day"
msgstr ""
-#: templates/web/base/report/_main.html:109
-#: templates/web/base/report/update.html:57
-#, fuzzy
+#: templates/web/base/report/_main.html:113
+#: templates/web/base/report/update.html:66
msgid "Moderation reason:"
-msgstr "ardaloedd eraill:"
+msgstr ""
#: templates/web/base/admin/stats.html:11
msgid "Month"
msgstr "Mis"
-#: templates/web/base/reports/_list-filters.html:51
+#: templates/web/base/reports/_list-filters.html:62
msgid "Most commented"
msgstr ""
#: templates/web/base/admin/bodies.html:25
#: templates/web/base/admin/body-form.html:24
+#: templates/web/base/admin/extra-metadata-form.html:65
#: templates/web/base/admin/flagged.html:16
#: templates/web/base/admin/flagged.html:37
#: templates/web/base/admin/index.html:62
#: templates/web/base/admin/list_updates.html:7
+#: templates/web/base/admin/reportextrafields/edit.html:11
+#: templates/web/base/admin/reportextrafields/index.html:6
#: templates/web/base/admin/reports.html:14
#: templates/web/base/admin/responsepriorities/list.html:6
+#: templates/web/base/admin/states/index.html:108
+#: templates/web/base/admin/states/index.html:11
#: templates/web/base/admin/users.html:16
-#: templates/web/base/auth/general.html:106
-#: templates/web/base/report/new/form_user_loggedin.html:40
+#: templates/web/base/auth/general.html:108
+#: templates/web/base/report/new/form_user_loggedin.html:42
#: templates/web/base/report/new/form_user_loggedout_by_email.html:7
-#: templates/web/base/report/update/form_name.html:23
-#: templates/web/base/reports/index.html:23
+#: templates/web/base/report/update/form_name.html:27
#: templates/web/zurich/admin/body-form.html:4
#: templates/web/zurich/auth/general.html:60
#: templates/web/zurich/report/new/fill_in_details_form.html:59
msgid "Name"
msgstr "Enw"
-#: templates/web/base/admin/report_edit.html:139
+#: templates/web/base/admin/report_edit.html:127
#: templates/web/base/admin/responsepriorities/edit.html:13
#: templates/web/base/admin/update_edit.html:34
#: templates/web/base/admin/user-form.html:16
@@ -1935,7 +1975,7 @@ msgstr "Enw:"
msgid "Name: %s"
msgstr "Enw: %s"
-#: templates/web/base/report/_inspect.html:28
+#: templates/web/base/report/_inspect.html:38
msgid "Navigate to this problem"
msgstr ""
@@ -1944,34 +1984,38 @@ msgstr ""
msgid "Nearest named road to the pin placed on the map (automatically generated using OpenStreetMap): %s%s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:129
+#: perllib/FixMyStreet/Cobrand/UK.pm:134
msgid "Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:527
-#: perllib/FixMyStreet/Cobrand/Default.pm:567
+#: perllib/FixMyStreet/Cobrand/Default.pm:538
+#: perllib/FixMyStreet/Cobrand/Default.pm:566
msgid "Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"
msgstr ""
-#: perllib/FixMyStreet/Script/Alerts.pm:319
+#: perllib/FixMyStreet/Script/Alerts.pm:316
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s\n"
"\n"
msgstr ""
-#: templates/web/base/auth/token.html:17 templates/web/base/email_sent.html:5
+#: templates/web/base/auth/token.html:18
+msgid "Nearly done!"
+msgstr ""
+
+#: templates/web/base/auth/token.html:22 templates/web/base/email_sent.html:5
msgid "Nearly done! Now check your email&hellip;"
msgstr ""
-#: templates/web/base/reports/index.html:24
-msgid "New <br>problems"
-msgstr "Problemau <br>newydd"
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:131
+msgid "New"
+msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:259
+#: perllib/FixMyStreet/App/Controller/Admin.pm:262
msgid "New body added"
msgstr "Ychwanegwyd corff newydd"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:405
+#: perllib/FixMyStreet/App/Controller/Admin.pm:386
msgid "New category contact added"
msgstr ""
@@ -1997,7 +2041,7 @@ msgid "New password:"
msgstr ""
#: templates/web/base/admin/responsepriorities/edit.html:4
-#: templates/web/base/admin/responsepriorities/list.html:32
+#: templates/web/base/admin/responsepriorities/list.html:34
msgid "New priority"
msgstr ""
@@ -2026,6 +2070,7 @@ msgid "New reports"
msgstr "Adroddiadau newydd"
#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/states/index.html:91
msgid "New state"
msgstr ""
@@ -2035,7 +2080,7 @@ msgstr ""
msgid "New template"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:47
+#: templates/web/base/reports/_list-filters.html:58
msgid "Newest"
msgstr ""
@@ -2043,20 +2088,19 @@ msgstr ""
msgid "Next"
msgstr "Nesaf"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1203
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
+#: perllib/FixMyStreet/Cobrand/Default.pm:1237
#: templates/web/base/admin/category_edit.html:4
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:137
+#: templates/web/base/admin/report_edit.html:125
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:26
#: templates/web/base/questionnaire/creator_fixed.html:16
#: templates/web/base/questionnaire/index.html:106
#: templates/web/base/questionnaire/index.html:55
+#: templates/web/base/report/_inspect.html:92
msgid "No"
msgstr ""
@@ -2072,7 +2116,7 @@ msgstr "Dim corff"
msgid "No council"
msgstr "Dim cyngor"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:445
+#: perllib/FixMyStreet/DB/Result/Problem.pm:372
msgid "No council selected"
msgstr ""
@@ -2088,25 +2132,16 @@ msgstr ""
msgid "No flagged users found."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:14
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:8
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "No further action"
-msgstr "Methu trwsio"
-
#: templates/web/zurich/admin/report_edit-sdm.html:125
#: templates/web/zurich/admin/report_edit.html:259
msgid "No further updates"
msgstr "Dim diweddariadau pellach"
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:84
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:68
msgid "No inspections by that inspector in the selected date range."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:86
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:70
msgid "No inspections in the selected date range."
msgstr ""
@@ -2114,8 +2149,8 @@ msgstr ""
msgid "No result returned"
msgstr "Dim canlyniadau"
-#: templates/web/base/admin/body-form.html:66
-#: templates/web/base/admin/body-form.html:67
+#: templates/web/base/admin/body-form.html:68
+#: templates/web/base/admin/body-form.html:69
msgid ""
"No specific areas are currently available, because the <code>MAPIT_URL</code> in\n"
" your config file is not pointing to a live MapIt service."
@@ -2148,17 +2183,8 @@ msgid ""
" activity across their body), the ability to hide reports or set special report statuses."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:9
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "Not Responsible"
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:181
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:186
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:933
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:13
msgid "Not contactable"
@@ -2177,7 +2203,7 @@ msgid "Not reported to council"
msgstr ""
#: templates/web/base/admin/body.html:75
-#: templates/web/base/admin/category_edit.html:57
+#: templates/web/base/admin/category_edit.html:31
#: templates/web/zurich/admin/body.html:17
msgid "Note"
msgstr "Nodyn"
@@ -2187,7 +2213,7 @@ msgid "Note that when including unconfirmed reports we use the date the report w
msgstr ""
#: templates/web/zurich/admin/body.html:55
-#: templates/web/zurich/admin/contact-form.html:17
+#: templates/web/zurich/admin/contact-form.html:19
msgid "Note:"
msgstr "Nodyn:"
@@ -2199,6 +2225,10 @@ msgstr "Nodyn: <strong>%s</strong>"
msgid "Notes from SDM to DM"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:26
+msgid "Notice"
+msgstr ""
+
#: templates/web/base/report/new/oauth_email_form.html:17
msgid "Now to submit your report&hellip;"
msgstr "Nawr i gyflwyno eich adroddiad&hellip;"
@@ -2209,63 +2239,43 @@ msgstr "Nawr i gyflwyno eich adroddiad&hellip;"
msgid "Now to submit your update&hellip;"
msgstr "Nawr i gyflwyno eich diweddariad&hellip;"
+#: templates/web/base/reports/index.html:98
+msgid "Number of problems reported in each category, in the last 7 days."
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:43
msgid "OK"
msgstr "Iawn"
-#: templates/web/base/js/translation_strings.html:67
+#: templates/web/base/js/translation_strings.html:70
msgid "Offline data cleared"
msgstr ""
-#: templates/web/base/js/translation_strings.html:64
+#: templates/web/base/js/translation_strings.html:67
msgid "Offline update data saved"
msgstr ""
-#: templates/web/base/reports/index.html:26
-msgid "Old / unknown <br>problems"
-msgstr "Problemau <br>hen/anhysbys"
-
#: templates/web/base/admin/questionnaire.html:24
msgid "Old state"
msgstr "Hen gyflwr"
-#: templates/web/base/reports/index.html:28
-msgid "Older <br>fixed"
-msgstr "Trwsiwyd <br>o'r blaen"
-
-#: templates/web/base/reports/index.html:25
-msgid "Older <br>problems"
-msgstr "Problemau <br>hÅ·n"
-
-#: templates/web/base/reports/_list-filters.html:48
+#: templates/web/base/reports/_list-filters.html:59
msgid "Oldest"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:900
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:25
-#: templates/web/base/admin/report_blocks.html:6
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:905
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:10
+#: templates/web/base/admin/states/index.html:102
+#: templates/web/base/admin/states/index.html:25
+#: templates/web/base/admin/states/index.html:32
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:3
-#: templates/web/base/report/update/form_update.html:41
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:7
#: templates/web/zurich/admin/update_edit.html:18
msgid "Open"
msgstr "Ar agor"
-#: templates/web/base/reports/index.html:25
-msgid "Open for more than four weeks, with an update within the past eight weeks"
-msgstr "Ar agor am fwy na phedair wythnos, gyda diweddariad o fewn yr wyth wythnos ddiwethaf"
-
-#: templates/web/base/reports/index.html:26
-msgid "Open, but not had any update in eight weeks"
-msgstr "Ar agor, ond heb ddiweddariad o fewn yr wyth wythnos ddiwethaf"
-
#: templates/web/base/admin/open311-form-fields.html:47
msgid "Open311 API Key"
msgstr ""
@@ -2286,26 +2296,38 @@ msgstr "gwefan menter Open311"
msgid "Open311 specification"
msgstr ""
-#: templates/web/base/alert/_list.html:61
-msgid "Or problems reported to:"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "Options"
+msgstr ""
+
+#: templates/web/base/alert/_list.html:84
+msgid "Or subscribe by RSS"
msgstr ""
-#: templates/web/base/alert/_list.html:37
-msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
-msgstr "Neu gallwch danysgrifio i hysbysiad yn seiliedig ar eich ward neu etholaeth:"
+#: templates/web/base/admin/extra-metadata-form.html:8
+msgid "Order"
+msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:1061
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:659
-#: perllib/FixMyStreet/DB/Result/Problem.pm:642
-#: perllib/FixMyStreet/DB/Result/Problem.pm:649
-#: perllib/FixMyStreet/DB/Result/Problem.pm:664
-#: perllib/FixMyStreet/DB/Result/Problem.pm:673
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1107
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:675
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:676
+#: perllib/FixMyStreet/DB/Result/Problem.pm:579
+#: perllib/FixMyStreet/DB/Result/Problem.pm:586
+#: perllib/FixMyStreet/DB/Result/Problem.pm:601
+#: perllib/FixMyStreet/DB/Result/Problem.pm:610
#: perllib/FixMyStreet/Script/Reports.pm:183
#: perllib/FixMyStreet/Script/Reports.pm:198
msgid "Other"
msgstr ""
+#: templates/web/base/reports/index.html:107
+msgid "Other categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:92
+msgid "Overall average"
+msgstr ""
+
#: templates/web/base/admin/list_updates.html:8
msgid "Owner"
msgstr ""
@@ -2315,17 +2337,16 @@ msgstr ""
msgid "Page Not Found"
msgstr "Ni chanfuwyd y dudalen"
-#: templates/web/base/admin/body-form.html:37
+#: templates/web/base/admin/body-form.html:39
#: templates/web/zurich/admin/body-form.html:14
msgid "Parent"
msgstr "Rhiant"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:20
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:61
msgid "Partial"
msgstr "Rhannol"
-#: templates/web/base/auth/general.html:109
+#: templates/web/base/auth/general.html:111
#: templates/web/base/report/new/form_user_loggedout_by_email.html:28
#: templates/web/base/report/update/form_user_loggedout_by_email.html:6
#: templates/web/zurich/auth/general.html:32
@@ -2333,7 +2354,7 @@ msgstr "Rhannol"
msgid "Password (optional)"
msgstr "Cyfrinair (dewisol)"
-#: templates/web/base/auth/general.html:82
+#: templates/web/base/auth/general.html:84
msgid "Password:"
msgstr "Cyfrinair:"
@@ -2345,17 +2366,21 @@ msgstr "Dolen barhaol"
msgid "Permissions:"
msgstr ""
+#: templates/web/base/report/_inspect.html:19
+msgid "Phone Reporter:"
+msgstr ""
+
#: templates/web/zurich/report/new/fill_in_details_form.html:65
msgid "Phone number"
msgstr "Rhif ffôn"
-#: templates/web/base/report/new/form_user_loggedin.html:57
+#: templates/web/base/report/new/form_user_loggedin.html:59
#: templates/web/base/report/new/form_user_loggedout_by_email.html:25
msgid "Phone number (optional)"
msgstr "Rhif ffôn (dewisol)"
#: perllib/FixMyStreet/Script/Reports.pm:87
-#: templates/web/base/admin/report_edit.html:146
+#: templates/web/base/admin/report_edit.html:134
#: templates/web/base/admin/user-form.html:21
#: templates/web/zurich/admin/stats.html:39
msgid "Phone:"
@@ -2364,9 +2389,9 @@ msgstr "Ffôn:"
#: templates/web/base/questionnaire/index.html:78
#: templates/web/base/questionnaire/index.html:93
#: templates/web/base/questionnaire/index.html:95
-#: templates/web/base/report/new/form_report.html:28
-#: templates/web/base/report/new/form_report.html:43
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/new/form_report.html:45
+#: templates/web/base/report/new/form_report.html:47
#: templates/web/base/report/update/form_update.html:22
#: templates/web/base/report/update/form_update.html:24
#: templates/web/base/report/update/form_update.html:7
@@ -2384,12 +2409,12 @@ msgstr "Llun"
msgid "Photo is required."
msgstr ""
-#: templates/web/zurich/admin/contact-form.html:14
+#: templates/web/zurich/admin/contact-form.html:16
msgid "Photo required"
msgstr ""
#: templates/web/base/questionnaire/index.html:78
-#: templates/web/base/report/new/form_report.html:28
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/update/form_update.html:7
#: templates/web/zurich/report/new/fill_in_details_form.html:20
msgid "Photos"
@@ -2399,17 +2424,18 @@ msgstr ""
msgid "Photos of recent nearby reports"
msgstr "Lluniau o adroddiadau diweddar gerllaw"
+#: templates/web/base/reports/index.html:63
+#: templates/web/base/reports/index.html:66
+msgid "Pick your council"
+msgstr ""
+
#: templates/web/base/around/display_location.html:76
#: templates/web/base/js/translation_strings.html:30
msgid "Place pin on map"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:940
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:946
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:8
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:945
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:951
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:9
#: templates/web/zurich/admin/index-dm.html:9
@@ -2427,31 +2453,27 @@ msgstr ""
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:18
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:43
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:45
#: templates/web/zurich/auth/general.html:3
#: templates/web/zurich/auth/general.html:9
msgid "Please check your email address is correct"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:350
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:844
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:867
-#: perllib/FixMyStreet/DB/Result/Problem.pm:456
+#: perllib/FixMyStreet/App/Controller/Admin.pm:329
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:873
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:896
+#: perllib/FixMyStreet/DB/Result/Problem.pm:383
#: templates/web/base/js/translation_strings.html:9
msgid "Please choose a category"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:462
-msgid "Please choose a property type"
-msgstr ""
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:396
+#: perllib/FixMyStreet/App/Controller/Admin.pm:377
#: templates/web/base/admin/bodies.html:4 templates/web/base/admin/body.html:11
msgid "Please correct the errors below"
msgstr ""
-#: templates/web/base/contact/blurb.html:12
+#: templates/web/base/contact/blurb.html:6
msgid ""
"Please do <strong>not</strong> report problems through this form; messages go to\n"
"the team behind this site, not a council. To report a problem,\n"
@@ -2462,18 +2484,18 @@ msgstr ""
msgid "Please do not be abusive&nbsp;&mdash; abusing your council devalues the service for all users."
msgstr "Peidiwch â bod yn sarhaus&nbsp;&mdash; byddai sarhau eich cyngor yn dibrisio'r gwasanaeth i bawb."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:351
-#: perllib/FixMyStreet/DB/Result/Comment.pm:127
+#: perllib/FixMyStreet/App/Controller/Admin.pm:330
+#: perllib/FixMyStreet/DB/Result/Comment.pm:128
#: templates/web/base/js/translation_strings.html:2
msgid "Please enter a message"
msgstr "Rhowch neges"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1200
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1364
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1305
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1469
msgid "Please enter a name"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:478
+#: perllib/FixMyStreet/App/Controller/Admin.pm:497
msgid "Please enter a name for this body"
msgstr ""
@@ -2483,15 +2505,15 @@ msgstr ""
msgid "Please enter a password"
msgstr "Rhowch gyfrinair"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:114
-#: perllib/FixMyStreet/DB/Result/Problem.pm:439
+#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/DB/Result/Problem.pm:366
#: templates/web/base/js/translation_strings.html:3
msgid "Please enter a subject"
msgstr "Rhowch bwnc"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1197
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1361
-#: perllib/FixMyStreet/App/Controller/Admin.pm:363
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1302
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1466
+#: perllib/FixMyStreet/App/Controller/Admin.pm:343
#: perllib/FixMyStreet/DB/Result/User.pm:164
#: templates/web/base/js/translation_strings.html:12
#: templates/web/base/js/translation_strings.html:16
@@ -2499,21 +2521,21 @@ msgid "Please enter a valid email"
msgstr "Rhowch e-bost dilys"
#: perllib/FixMyStreet/App/Controller/Alert.pm:350
-#: perllib/FixMyStreet/App/Controller/Contact.pm:124
+#: perllib/FixMyStreet/App/Controller/Contact.pm:125
msgid "Please enter a valid email address"
msgstr "Rhowch gyfeiriad e-bost dilys"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:442
+#: perllib/FixMyStreet/DB/Result/Problem.pm:369
#: templates/web/base/js/translation_strings.html:4
msgid "Please enter some details"
msgstr "Rhowch fanylion"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/App/Controller/Contact.pm:114
#: perllib/FixMyStreet/DB/Result/User.pm:161
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:17
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:42
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:44
#: templates/web/base/js/translation_strings.html:11
#: templates/web/base/js/translation_strings.html:15
#: templates/web/zurich/auth/general.html:3
@@ -2530,14 +2552,14 @@ msgstr "Rhowch eich cyfeiriad e-bost"
msgid "Please enter your first name"
msgstr "Rhowch eich enw cyntaf"
-#: perllib/FixMyStreet/Cobrand/UK.pm:320
+#: perllib/FixMyStreet/Cobrand/UK.pm:326
#: templates/web/base/js/translation_strings.html:7
msgid "Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below"
msgstr "Rhowch eich enw llawn, mae angen y wybodaeth hon ar y cyngor – os na hoffech ddatgelu eich enw ar y wefan, dad-diciwch y blwch isod"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:112
-#: perllib/FixMyStreet/DB/Result/Comment.pm:124
-#: perllib/FixMyStreet/DB/Result/Problem.pm:450
+#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/DB/Result/Comment.pm:125
+#: perllib/FixMyStreet/DB/Result/Problem.pm:377
#: perllib/FixMyStreet/DB/Result/User.pm:157
#: templates/web/base/js/translation_strings.html:6
msgid "Please enter your name"
@@ -2600,7 +2622,7 @@ msgstr ""
msgid "Please note:"
msgstr "Noder:"
-#: perllib/FixMyStreet/App/Controller/Report.pm:358
+#: perllib/FixMyStreet/App/Controller/Report.pm:353
msgid "Please provide a public update for this report."
msgstr ""
@@ -2636,11 +2658,11 @@ msgstr "Dywedwch a gafodd y broblem ei thrwsio"
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:122
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:156
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:158
-#: templates/web/base/js/translation_strings.html:57
+#: templates/web/base/js/translation_strings.html:60
msgid "Please upload an image only"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/App/Controller/Contact.pm:116
msgid "Please write a message"
msgstr "Ysgrifennwch neges"
@@ -2648,30 +2670,29 @@ msgstr "Ysgrifennwch neges"
msgid "Please write your update here"
msgstr "Ysgrifennwch eich diweddariad yma"
-#: templates/web/base/contact/index.html:103
#: templates/web/base/report/update-form.html:25
#: templates/web/base/report/update/form_user_loggedout_by_email.html:14
#: templates/web/base/report/update/form_user_loggedout_password.html:10
msgid "Post"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:242
+#: perllib/FixMyStreet/DB/Result/Comment.pm:231
msgid "Posted anonymously at %s"
msgstr "Postiwyd yn ddienw am %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:257
+#: perllib/FixMyStreet/DB/Result/Comment.pm:255
msgid "Posted by %s at %s"
msgstr "Postiwyd gan %s am %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:252
+#: perllib/FixMyStreet/DB/Result/Comment.pm:243
msgid "Posted by <strong>%s</strong> (%s) at %s"
msgstr "Postiwyd gan <strong>%s</strong> (%s) am %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:254
+#: perllib/FixMyStreet/DB/Result/Comment.pm:245
msgid "Posted by <strong>%s</strong> at %s"
msgstr "Postiwyd gan <strong>%s</strong> am %s"
-#: templates/web/base/front/footer-marketing.html:12
+#: templates/web/base/front/footer-marketing.html:6
msgid "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
msgstr ""
@@ -2683,8 +2704,8 @@ msgstr "Blaenorol"
msgid "Priorities"
msgstr ""
-#: templates/web/base/report/_inspect.html:113
-#: templates/web/base/report/_item.html:98
+#: templates/web/base/report/_inspect.html:123
+#: templates/web/base/report/_item.html:100
msgid "Priority"
msgstr ""
@@ -2698,16 +2719,15 @@ msgstr "Preifatrwydd"
msgid "Privacy and cookies"
msgstr ""
-#: templates/web/base/admin/body.html:91
-#: templates/web/base/admin/contact-form.html:74
-#: templates/web/base/admin/report_edit.html:149
+#: templates/web/base/admin/body.html:88
+#: templates/web/base/admin/contact-form.html:75
+#: templates/web/base/admin/report_edit.html:137
msgid "Private"
msgstr "Preifat"
#: templates/web/base/report/new/form_user.html:1
-#, fuzzy
msgid "Private details"
-msgstr "Preifat"
+msgstr ""
#: templates/web/base/maps/pin.html:13
msgid "Problem"
@@ -2731,7 +2751,7 @@ msgstr "Anfonwyd y broblem %s at y cyngor"
msgid "Problem breakdown by state"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1167
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1272
msgid "Problem marked as open."
msgstr ""
@@ -2739,11 +2759,16 @@ msgstr ""
msgid "Problem state change based on survey results"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:705
+#: perllib/FixMyStreet/Cobrand/Default.pm:709
#: templates/web/base/admin/flagged.html:10
msgid "Problems"
msgstr "Problemau"
+#: templates/web/base/alert/_list.html:22
+#, fuzzy
+msgid "Problems in an area"
+msgstr "Problemau yn ward %s"
+
#: templates/web/base/report/display_tools.html:22
msgid "Problems nearby"
msgstr "Problemau gerllaw"
@@ -2756,30 +2781,33 @@ msgstr "Problemau ar y map"
msgid "Problems recently reported fixed on FixMyStreet"
msgstr ""
-#: templates/web/base/alert/_list.html:22
-msgid "Problems within %.1fkm of this location"
-msgstr ""
+#: templates/web/base/alert/_list.html:29
+#, fuzzy
+msgid "Problems within %.1fkm of %s"
+msgstr "Problemau yn %s"
-#: perllib/FixMyStreet/Cobrand/Default.pm:833
+#: perllib/FixMyStreet/Cobrand/Default.pm:838
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:137
-#: perllib/FixMyStreet/Cobrand/UK.pm:209
+#: perllib/FixMyStreet/Cobrand/UK.pm:215 perllib/FixMyStreet/Cobrand/UK.pm:257
+#: perllib/FixMyStreet/Cobrand/UK.pm:269
msgid "Problems within %s"
msgstr "Problemau yn %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:223
+#: perllib/FixMyStreet/Cobrand/UK.pm:229
msgid "Problems within %s ward"
msgstr "Problemau yn ward %s"
+#: perllib/FixMyStreet/Cobrand/UK.pm:263 perllib/FixMyStreet/Cobrand/UK.pm:275
+#, fuzzy
+msgid "Problems within %s ward, %s"
+msgstr "Problemau yn ward %s"
+
#. ("First %s is the body name, second %s the site name")
#: templates/web/base/reports/body.html:0
#: templates/web/base/reports/body.html:25
msgid "Problems within %s, %s"
msgstr ""
-#: templates/web/base/alert/_list.html:43
-msgid "Problems within the boundary of:"
-msgstr "Problemau o fewn ffiniau:"
-
#: templates/web/base/admin/report_edit.html:74
msgid "Property address:"
msgstr "Cyfeiriad yr eiddo:"
@@ -2789,11 +2817,11 @@ msgstr "Cyfeiriad yr eiddo:"
msgid "Provide an update"
msgstr "Darparu diweddariad"
-#: templates/web/base/report/update/form_name.html:9
+#: templates/web/base/report/update/form_name.html:10
msgid "Provide update as"
msgstr ""
-#: templates/web/base/auth/general.html:112
+#: templates/web/base/auth/general.html:114
msgid "Providing a name and password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
msgstr "Mae darparu enw a chyfrinair yn ddewisol, ond bydd yn eich galluogi i adrodd problemau'n haws, gadael diweddariadau a rheoli eich adroddiadau."
@@ -2803,16 +2831,15 @@ msgid "Providing a password is optional, but doing so will allow you to more eas
msgstr "Mae darparu cyfrinair yn ddewisol, ond bydd yn eich galluogi i adrodd problemau'n haws, gadael diweddariadau a rheoli eich adroddiadau."
#: templates/web/base/report/new/form_report.html:10
-#, fuzzy
msgid "Public details"
-msgstr "Ymateb cyhoeddus:"
+msgstr ""
#: templates/web/zurich/admin/report_edit.html:241
#: templates/web/zurich/admin/report_edit.html:268
msgid "Public response:"
msgstr "Ymateb cyhoeddus:"
-#: templates/web/base/report/_inspect.html:152
+#: templates/web/base/report/_inspect.html:162
msgid "Public update:"
msgstr ""
@@ -2840,7 +2867,7 @@ msgstr ""
msgid "Questionnaire filled in by problem reporter"
msgstr ""
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
#: templates/web/base/alert/updates.html:9
#: templates/web/base/around/display_location.html:1
#: templates/web/base/around/display_location.html:3
@@ -2848,11 +2875,11 @@ msgstr ""
msgid "RSS feed"
msgstr "Ffrwd RSS"
-#: perllib/FixMyStreet/Cobrand/UK.pm:252 perllib/FixMyStreet/Cobrand/UK.pm:264
+#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
msgid "RSS feed for %s"
msgstr "Ffrwd RSS ar gyfer %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
+#: perllib/FixMyStreet/Cobrand/UK.pm:264 perllib/FixMyStreet/Cobrand/UK.pm:276
msgid "RSS feed for %s ward, %s"
msgstr "Ffrwd RSS ar gyfer ward %s, %s"
@@ -2860,25 +2887,25 @@ msgstr "Ffrwd RSS ar gyfer ward %s, %s"
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:179
-#: perllib/FixMyStreet/Cobrand/UK.pm:278 perllib/FixMyStreet/Cobrand/UK.pm:290
+#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
msgid "RSS feed of %s"
msgstr "Ffrwd RSS %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
msgid "RSS feed of %s, within %s ward"
msgstr "Ffrwd RSS %s, o fewn ward %s"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
msgid "RSS feed of nearby problems"
msgstr "Ffrwd RSS o broblemau gerllaw"
-#: perllib/FixMyStreet/Cobrand/Default.pm:834
+#: perllib/FixMyStreet/Cobrand/Default.pm:839
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:136
-#: perllib/FixMyStreet/Cobrand/UK.pm:216
+#: perllib/FixMyStreet/Cobrand/UK.pm:222
msgid "RSS feed of problems within %s"
msgstr "Ffrwd RSS o broblemau yn %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:222
+#: perllib/FixMyStreet/Cobrand/UK.pm:228
msgid "RSS feed of problems within %s ward"
msgstr "Ffrwd RSS o broblemau o fewn ward %s"
@@ -2897,7 +2924,7 @@ msgstr "Ffrwd RSS o ddiweddariadau i'r broblem hon"
msgid "Receive email when updates are left on this problem."
msgstr "Derbyn e-bost pan fydd diweddariadau i'r broblem hon."
-#: perllib/FixMyStreet/DB/Result/Problem.pm:801
+#: perllib/FixMyStreet/DB/Result/Problem.pm:738
msgid "Received by %s moments later"
msgstr ""
@@ -2907,15 +2934,11 @@ msgstr ""
msgid "Recent local problems, %s"
msgstr ""
-#: templates/web/base/reports/index.html:27
-msgid "Recently <br>fixed"
-msgstr "Trwsiwyd yn <br>ddiweddar"
-
#: templates/web/base/front/recent.html:11
msgid "Recently reported problems"
msgstr "Problemau a adroddwyd yn ddiweddar"
-#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:60
msgid "Recently updated"
msgstr ""
@@ -2923,13 +2946,21 @@ msgstr ""
msgid "Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. If your problem is not appropriate for submission via this site remember that you can contact your council directly using their own website."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/extra-metadata-form.html:68
+msgid "Remove"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:4
+msgid "Remove field"
+msgstr ""
+
+#: templates/web/base/admin/report_blocks.html:23
msgid "Remove flag"
msgstr ""
#: templates/web/base/report/_item.html:12
#: templates/web/base/report/_item.html:9
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:18
#: templates/web/base/report/_main.html:26
msgid "Remove from shortlist"
@@ -2939,7 +2970,7 @@ msgstr ""
msgid "Remove from site"
msgstr ""
-#: templates/web/base/admin/report_edit.html:166
+#: templates/web/base/admin/report_edit.html:154
#: templates/web/base/admin/update_edit.html:69
#: templates/web/zurich/admin/update_edit.html:35
msgid "Remove photo (can't be undone!)"
@@ -2953,13 +2984,13 @@ msgstr ""
msgid "Report"
msgstr ""
-#: templates/web/base/report/_inspect.html:10
-#: templates/web/base/report/_item.html:76
+#: templates/web/base/report/_inspect.html:14
+#: templates/web/base/report/_item.html:78
msgid "Report ID:"
msgstr ""
#: templates/web/base/header_logo.html:2
-#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:19
+#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:18
#: templates/web/zurich/nav_over_content.html:4
msgid "Report a problem"
msgstr "Adrodd problem"
@@ -2969,7 +3000,7 @@ msgstr "Adrodd problem"
msgid "Report abuse"
msgstr "Adrodd camddefnydd"
-#: templates/web/base/report/new/form_user_loggedin.html:16
+#: templates/web/base/report/new/form_user_loggedin.html:17
msgid "Report as"
msgstr ""
@@ -2978,9 +3009,8 @@ msgid "Report on %s"
msgstr "Adroddwyd ar %s"
#: templates/web/base/dashboard/index.html:137
-#, fuzzy
msgid "Report state:"
-msgstr "Adrodd camddefnydd"
+msgstr ""
#: templates/web/base/report/new/fill_in_details_form.html:1
#: templates/web/base/report/new/login_success_form.html:1
@@ -2993,7 +3023,7 @@ msgstr "Adrodd eich problem"
msgid "Report, view, or discuss local problems"
msgstr "Adrodd, gweld, neu drafod problemau lleol"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:653
+#: perllib/FixMyStreet/DB/Result/Problem.pm:590
#: templates/web/base/contact/index.html:55
msgid "Reported anonymously at %s"
msgstr "Adroddwyd yn ddienw am %s"
@@ -3003,7 +3033,7 @@ msgstr "Adroddwyd yn ddienw am %s"
msgid "Reported before"
msgstr "Adroddwyd eisoes"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:677
+#: perllib/FixMyStreet/DB/Result/Problem.pm:614
#: templates/web/base/contact/index.html:57
msgid "Reported by %s at %s"
msgstr "Adroddwyd gan %s am %s"
@@ -3017,34 +3047,30 @@ msgstr ""
msgid "Reported in the %s category"
msgstr "Adroddwyd yn y categori %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:650
+#: perllib/FixMyStreet/DB/Result/Problem.pm:587
msgid "Reported in the %s category anonymously at %s"
msgstr "Adroddwyd yn y categori %s yn ddienw am %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:611
msgid "Reported in the %s category by %s at %s"
msgstr "Adroddwyd yn y categori %s am %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:647
+#: perllib/FixMyStreet/DB/Result/Problem.pm:584
msgid "Reported via %s anonymously at %s"
msgstr "Adroddwyd drwy %s yn ddienw am %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:671
+#: perllib/FixMyStreet/DB/Result/Problem.pm:608
msgid "Reported via %s by %s at %s"
msgstr "Adroddwyd drwy %s gan %s am %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:644
+#: perllib/FixMyStreet/DB/Result/Problem.pm:581
msgid "Reported via %s in the %s category anonymously at %s"
msgstr "Adroddwyd drwy %s yn y categori %s yn ddienw am %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:666
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
msgid "Reported via %s in the %s category by %s at %s"
msgstr "Adroddwyd drwy %s yn y categori %s am %s"
-#: templates/web/base/reports/index.html:24
-msgid "Reported within the last four weeks"
-msgstr "Adroddwyd o fewn y bedair wythnos ddiwethaf"
-
#: templates/web/zurich/admin/report_edit-sdm.html:38
#: templates/web/zurich/admin/report_edit.html:57
msgid "Reported:"
@@ -3060,13 +3086,13 @@ msgid "Reporting a problem"
msgstr "Adrodd problem"
#: perllib/FixMyStreet/Cobrand/Default.pm:655
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:383
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:388
#: templates/web/base/dashboard/index.html:134
#: templates/web/zurich/header.html:52
msgid "Reports"
msgstr "Adroddiadau"
-#: perllib/FixMyStreet/Cobrand/UK.pm:329 perllib/FixMyStreet/Cobrand/UK.pm:333
+#: perllib/FixMyStreet/Cobrand/UK.pm:333 perllib/FixMyStreet/Cobrand/UK.pm:335
msgid "Reports are limited to %s characters in length. Please shorten your report"
msgstr ""
@@ -3074,31 +3100,53 @@ msgstr ""
msgid "Reports awaiting approval"
msgstr ""
+#: templates/web/base/alert/_list.html:54
+#, fuzzy
+msgid "Reports by destination"
+msgstr "Adroddwyd gan %s am %s"
+
#: templates/web/base/admin/user-form.html:107
msgid "Reports made by trusted users will be sent to the responsible body without being inspected first."
msgstr ""
+#: templates/web/base/alert/_list.html:15
+msgid "Reports near %s are sent to different councils, depending on the type of problem."
+msgstr ""
+
#: templates/web/zurich/admin/index-sdm.html:10
msgid "Reports published"
msgstr "Adroddiadau a gyhoeddwyd"
-#: templates/web/base/js/translation_strings.html:68
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:71
msgid "Reports saved offline."
-msgstr "Adrodd problem"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#, fuzzy
+msgid "Reports sent to %s"
+msgstr "Adroddwyd ar %s"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:290 perllib/FixMyStreet/Cobrand/UK.pm:302
+#, fuzzy
+msgid "Reports sent to %s, within %s ward"
+msgstr "Ffrwd RSS %s, o fewn ward %s"
#: templates/web/base/admin/index.html:56
msgid "Reports waiting to be sent"
msgstr ""
-#: templates/web/base/admin/contact-form.html:89
+#: templates/web/base/admin/contact-form.html:90
msgid "Reports will automatically be sent without needing to be inspected if the user's <strong>reputation</strong> is at or above this value. Set to <strong>0</strong> if all reports must be inspected regardless."
msgstr ""
-#: templates/web/base/admin/contact-form.html:94
+#: templates/web/base/admin/contact-form.html:95
msgid "Reputation threshold"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:20
+msgid "Required"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:84
msgid "Resend report"
msgstr "Ailanfon adrodd"
@@ -3134,7 +3182,7 @@ msgstr ""
msgid "Revert to original"
msgstr ""
-#: templates/web/base/report/_main.html:95
+#: templates/web/base/report/_main.html:99
msgid "Revert to original text"
msgstr ""
@@ -3157,16 +3205,16 @@ msgstr ""
msgid "Road operator for this named road (from OpenStreetMap): %s"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1747
-#: templates/web/base/admin/report_edit.html:163
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1852
+#: templates/web/base/admin/report_edit.html:151
#: templates/web/base/admin/update_edit.html:66
#: templates/web/zurich/admin/report_edit.html:118
msgid "Rotate Left"
msgstr "Cylchdroi i'r chwith"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: templates/web/base/admin/report_edit.html:164
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: templates/web/base/admin/report_edit.html:152
#: templates/web/base/admin/update_edit.html:67
#: templates/web/zurich/admin/report_edit.html:119
msgid "Rotate Right"
@@ -3181,32 +3229,40 @@ msgstr ""
msgid "Satellite"
msgstr ""
-#: templates/web/base/report/_inspect.html:168
+#: templates/web/base/report/_inspect.html:182
msgid "Save + close as duplicate"
msgstr ""
-#: templates/web/base/admin/contact-form.html:137
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/contact-form.html:138
+#: templates/web/base/admin/reportextrafields/edit.html:64
+#: templates/web/base/admin/responsepriorities/edit.html:58
#: templates/web/base/admin/template_edit.html:46
-#: templates/web/base/report/_inspect.html:168
-#: templates/web/base/report/_main.html:113
-#: templates/web/base/report/update.html:60
+#: templates/web/base/report/_inspect.html:182
+#: templates/web/base/report/_main.html:117
+#: templates/web/base/report/update.html:69
#: templates/web/zurich/admin/body.html:62
-#: templates/web/zurich/admin/contact-form.html:20
+#: templates/web/zurich/admin/contact-form.html:22
#: templates/web/zurich/admin/template_edit.html:29
msgid "Save changes"
msgstr "Cadw'r newidiadau"
-#: templates/web/base/report/_inspect.html:148
+#: templates/web/base/admin/reportextrafields/edit.html:64
+msgid "Save new fields"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:158
msgid "Save with a public update"
msgstr ""
-#. ('This is followed by a progress count, e.g. 3/5')
#. ("This is followed by a progress count, e.g. 3/5")
-#: templates/web/base/js/translation_strings.html:69
+#: templates/web/base/js/translation_strings.html:72
msgid "Saving reports offline"
msgstr ""
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:132
+msgid "Scheduled"
+msgstr ""
+
#: templates/web/base/admin/index.html:26
#: templates/web/base/admin/reports.html:1
#: templates/web/zurich/admin/reports.html:1
@@ -3240,41 +3296,41 @@ msgstr ""
msgid "See our privacy policy"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:715
+#: perllib/FixMyStreet/Cobrand/Default.pm:720
msgid "See user detail for reports created as the council"
msgstr ""
-#: templates/web/base/admin/body-form.html:39
+#: templates/web/base/admin/body-form.html:41
#: templates/web/zurich/admin/body-form.html:16
msgid "Select a body"
msgstr ""
-#: templates/web/base/reports/index.html:12
-msgid "Select a particular council to see the reports sent there."
-msgstr ""
-
-#: templates/web/base/admin/body-form.html:77
+#: templates/web/base/admin/body-form.html:79
#: templates/web/zurich/admin/body-form.html:26
msgid "Select an area"
msgstr ""
-#: templates/web/base/alert/_list.html:11
-msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
+#: templates/web/base/admin/responsepriorities/edit.html:33
+msgid "Select if this is the default priority"
msgstr ""
#: templates/web/base/admin/category-checkboxes.html:6
msgid "Select:"
msgstr ""
+#: templates/web/base/contact/index.html:107
+msgid "Send"
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:109
msgid "Send extended Open311 statuses with service request updates"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:826
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:831
msgid "Sent report back"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:804
+#: perllib/FixMyStreet/DB/Result/Problem.pm:741
msgid "Sent to %s %s later"
msgstr ""
@@ -3287,7 +3343,7 @@ msgstr "Anfonwyd:"
msgid "Service:"
msgstr "Gwasanaeth:"
-#: templates/web/base/report/_inspect.html:31
+#: templates/web/base/report/_inspect.html:41
msgid "Set to my current location"
msgstr ""
@@ -3296,49 +3352,56 @@ msgid "Share"
msgstr "Rhannu"
#: templates/web/base/main_nav_items.html:10
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:21
#: templates/web/base/report/_main.html:29
msgid "Shortlist"
msgstr ""
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/reports/body.html:32
+msgid "Shortlist all visible"
+msgstr ""
+
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:20
#: templates/web/base/report/_main.html:25
#: templates/web/base/reports/_list-filters.html:9
msgid "Shortlisted"
msgstr ""
-#: templates/web/base/report/_main.html:144
+#: templates/web/base/report/_item.html:15
+#: templates/web/base/report/_main.html:148
msgid "Shortlisted by %s"
msgstr ""
#: templates/web/base/report/update.html:20
-#, fuzzy
msgid "Show Photo?"
-msgstr "Dangos yr hen rai"
+msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:54
+#: templates/web/base/questionnaire/index.html:26
+msgid "Show all updates"
+msgstr ""
+
+#: templates/web/base/report/new/form_user_loggedin.html:56
#: templates/web/base/report/new/form_user_loggedout_by_email.html:22
-#: templates/web/base/report/update/form_name.html:33
+#: templates/web/base/report/update/form_name.html:37
msgid "Show my name publicly"
msgstr "Dangos fy enw yn gyhoeddus"
#: templates/web/base/report/update.html:17
-#, fuzzy
msgid "Show name publicly?"
-msgstr "Dangos fy enw yn gyhoeddus"
+msgstr ""
#: templates/web/base/around/display_location.html:69
msgid "Show old"
msgstr "Dangos yr hen rai"
-#: templates/web/base/report/_main.html:79
-#, fuzzy
+#: templates/web/base/report/_main.html:83
msgid "Show photo"
-msgstr "Dangos yr hen rai"
+msgstr ""
#: templates/web/base/around/display_location.html:60
+#: templates/web/base/js/translation_strings.html:54
msgid "Show pins"
msgstr "Dangos piniau"
@@ -3346,16 +3409,20 @@ msgstr "Dangos piniau"
msgid "Show reporter&rsquo;s name"
msgstr ""
-#: templates/web/base/auth/general.html:117
+#: templates/web/base/reports/index.html:62
+msgid "Show reports in your area"
+msgstr ""
+
+#: templates/web/base/auth/general.html:119
#: templates/web/base/auth/general.html:3
-#: templates/web/base/auth/general.html:86
+#: templates/web/base/auth/general.html:88
#: templates/web/base/main_nav_items.html:6
#: templates/web/zurich/auth/general.html:18
#: templates/web/zurich/auth/general.html:35
msgid "Sign in"
msgstr "Mewngofnodi"
-#: templates/web/base/auth/general.html:96
+#: templates/web/base/auth/general.html:98
msgid "Sign in by email instead, providing a new password. When you click the link in your email, your password will be updated."
msgstr ""
@@ -3401,14 +3468,14 @@ msgstr ""
msgid "Sorry, there has been an error confirming your problem."
msgstr "Mae'n ddrwg gennym, bu gwall tra'n cadarnhau eich problem."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:230
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:235
#: perllib/FixMyStreet/Geocode.pm:37 perllib/FixMyStreet/Geocode/Bing.pm:38
#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:56
#: perllib/FixMyStreet/Geocode/OSM.pm:48
msgid "Sorry, we could not find that location."
msgstr "Mae'n ddrwg gennym, ni allwn ddod o hyd i'r lleoliad hwnnw."
-#: templates/web/base/auth/general.html:9
+#: templates/web/base/auth/general.html:11
#: templates/web/base/report/display.html:29
#: templates/web/base/report/new/fill_in_details_form.html:15
msgid "Sorry, we could not log you in. Please fill in the form below."
@@ -3430,11 +3497,11 @@ msgid ""
"page wasn’t found or there was a server error. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Root.pm:107
+#: perllib/FixMyStreet/App/Controller/Root.pm:124
msgid "Sorry, you don't have permission to do that."
msgstr ""
-#: templates/web/base/reports/_list-filters.html:42
+#: templates/web/base/reports/_list-filters.html:53
msgid "Sort by"
msgstr ""
@@ -3451,17 +3518,25 @@ msgid "Start Date:"
msgstr "Dyddiad cychwyn:"
#: templates/web/base/admin/body.html:73
+#: templates/web/base/admin/category_edit.html:29
+#: templates/web/base/admin/contact-form.html:53
#: templates/web/base/admin/flagged.html:18
#: templates/web/base/admin/index.html:64
#: templates/web/base/admin/list_updates.html:11
#: templates/web/base/admin/reports.html:16
#: templates/web/base/admin/template_edit.html:40
-#: templates/web/base/report/_inspect.html:83
-#: templates/web/base/report/_item.html:94
+#: templates/web/base/report/_inspect.html:82
+#: templates/web/base/report/_item.html:96
#: templates/web/base/report/update/form_update.html:39
+#: templates/web/zurich/admin/contact-form.html:10
msgid "State"
msgstr "Cyflwr"
+#: templates/web/base/report/update.html:48
+#, fuzzy
+msgid "State changed to:"
+msgstr "Cadw'r newidiadau"
+
#: templates/web/base/admin/report_edit.html:116
#: templates/web/base/admin/update_edit.html:28
#: templates/web/zurich/admin/report_edit-sdm.html:75
@@ -3471,8 +3546,14 @@ msgstr "Cyflwr"
msgid "State:"
msgstr "Cyflwr:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:640
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:386
+#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: templates/web/base/admin/states/index.html:1
+#, fuzzy
+msgid "States"
+msgstr "Cyflwr"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
#: templates/web/base/admin/index.html:71 templates/web/base/admin/stats.html:1
#: templates/web/base/admin/stats_by_state.html:1
#: templates/web/zurich/admin/stats.html:1 templates/web/zurich/header.html:65
@@ -3494,6 +3575,10 @@ msgstr "Ar agor o hyd, drwy holiadur, %s"
msgid "Street View"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:46
+msgid "String"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:192
msgid "Subcategory: %s"
msgstr "Is-gategori: %s"
@@ -3502,7 +3587,7 @@ msgstr "Is-gategori: %s"
msgid "Subdivision/Body"
msgstr ""
-#: templates/web/base/contact/index.html:88
+#: templates/web/base/contact/index.html:92
msgid "Subject"
msgstr "Pwnc"
@@ -3512,14 +3597,14 @@ msgid "Subject:"
msgstr "Pwnc:"
#: templates/web/base/questionnaire/creator_fixed.html:19
-#: templates/web/base/report/new/form_user_loggedin.html:61
+#: templates/web/base/report/new/form_user_loggedin.html:63
#: templates/web/base/report/new/form_user_loggedout_by_email.html:36
#: templates/web/base/report/new/form_user_loggedout_password.html:11
#: templates/web/zurich/report/new/fill_in_details_form.html:73
msgid "Submit"
msgstr "Cyflwyno"
-#: templates/web/base/admin/report_edit.html:174
+#: templates/web/base/admin/report_edit.html:162
#: templates/web/base/admin/report_edit.html:24
#: templates/web/base/admin/update_edit.html:77
#: templates/web/base/admin/user-form.html:170
@@ -3533,8 +3618,8 @@ msgstr "Cyflwyno newidiadau"
msgid "Submit questionnaire"
msgstr "Cyflwyno'r holiadur"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:164
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:893
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:898
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:6
#: templates/web/zurich/admin/index-dm.html:23
@@ -3544,36 +3629,38 @@ msgstr "Cyflwyno'r holiadur"
msgid "Submitted"
msgstr "Cyflwynwyd"
+#: templates/web/base/alert/_list.html:77
+#: templates/web/base/alert/_list.html:80
#: templates/web/base/alert/updates.html:23
#: templates/web/base/report/display_tools.html:51
msgid "Subscribe"
msgstr "Tanysgrifio"
-#: templates/web/base/alert/_list.html:93
-msgid "Subscribe me to an email alert"
+#: templates/web/base/alert/_list.html:72
+#, fuzzy
+msgid "Subscribe by email"
msgstr "Tanysgrifio i hysbysiad e-bost"
#: templates/web/base/report/new/form_report.html:19
msgid "Summarise the problem"
msgstr ""
-#: templates/web/base/admin/contact-form.html:129
+#: templates/web/base/admin/contact-form.html:130
msgid "Summarise your changes"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:638
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:382
+#: perllib/FixMyStreet/Cobrand/Default.pm:637
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:387
#: templates/web/base/admin/bodies.html:29
#: templates/web/base/admin/index.html:1 templates/web/base/status/index.html:1
#: templates/web/base/status/index.html:3
#: templates/web/zurich/admin/index-dm.html:1
#: templates/web/zurich/admin/index-sdm.html:1
-#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:13
+#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:12
#: templates/web/zurich/header.html:49
msgid "Summary"
msgstr "Crynodeb"
-#: templates/web/base/reports/index.html:4
#: templates/web/zurich/reports/index.html:0
#: templates/web/zurich/reports/index.html:4
msgid "Summary reports"
@@ -3597,7 +3684,7 @@ msgid "Template &laquo;%s&raquo;"
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:661
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:393
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
#: templates/web/zurich/header.html:69
msgid "Templates"
msgstr ""
@@ -3626,7 +3713,7 @@ msgstr "Diolch am adrodd y broblem hon!"
msgid "Thank you for trying to confirm your update or problem. We seem to have an error ourselves though, so <a href=\"%s\">please let us know what went on</a> and we'll look into it."
msgstr ""
-#: templates/web/base/tokens/confirm_update.html:15
+#: templates/web/base/tokens/confirm_update.html:16
msgid "Thank you for updating this issue!"
msgstr "Diolch am ddiweddaru'r broblem!"
@@ -3654,7 +3741,7 @@ msgstr "Ni uwchlwythwyd y llun yn gywir (%s), ceisiwch eto."
msgid "That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Location.pm:129
+#: perllib/FixMyStreet/App/Controller/Location.pm:127
msgid "That location does not appear to be in the UK; please try again."
msgstr "Mae'n ymddangos nad yw'r lleoliad hwnnw yn y DU; rhowch gynnig arall arni."
@@ -3664,23 +3751,23 @@ msgstr "Mae'n ymddangos nad yw'r lleoliad hwnnw yn y DU; rhowch gynnig arall arn
msgid "That postcode was not recognised, sorry."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:762
+#: perllib/FixMyStreet/App/Controller/Admin.pm:850
msgid "That problem has been marked as sent."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:755
+#: perllib/FixMyStreet/App/Controller/Admin.pm:843
msgid "That problem will now be resent."
msgstr "Ailanfonir y broblem nawr."
-#: perllib/FixMyStreet/App/Controller/Report.pm:137
+#: perllib/FixMyStreet/App/Controller/Report.pm:134
msgid "That report cannot be viewed on %s."
msgstr "Ni ellir gweld yr adroddiad hwnnw ar %s."
-#: perllib/FixMyStreet/App/Controller/Report.pm:131
+#: perllib/FixMyStreet/App/Controller/Report.pm:128
msgid "That report has been removed from FixMyStreet."
msgstr "Tynnwyd yr adroddiad oddi ar FixMyStreet."
-#: templates/web/base/admin/contact-form.html:25
+#: templates/web/base/admin/contact-form.html:27
msgid ""
"The <strong>email address</strong> is the destination to which reports about this category will be sent. \n"
" Other categories for this body may have the same email address."
@@ -3700,10 +3787,10 @@ msgid ""
" than one. If the body is running its own endpoint, you can usually leave this blank."
msgstr ""
-#: templates/web/base/admin/body-form.html:100
-#: templates/web/base/admin/body-form.html:101
-#: templates/web/base/admin/contact-form.html:103
+#: templates/web/base/admin/body-form.html:102
+#: templates/web/base/admin/body-form.html:103
#: templates/web/base/admin/contact-form.html:104
+#: templates/web/base/admin/contact-form.html:105
msgid ""
"The <strong>send method</strong> determines how problem reports will be sent to the body.\n"
" If you leave this blank, <strong>send method defaults to email</strong>."
@@ -3720,6 +3807,10 @@ msgid ""
" and may be displayed publically."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:12
+msgid "The code used to store this field value in the database. e.g. <code>address</code> would be available as <code>problem.extra.address</code> in the templates."
+msgstr ""
+
#: templates/web/base/report/new/fill_in_details_text.html:1
#: templates/web/base/report/new/fill_in_details_text.html:3
msgid "The council won&rsquo;t be able to help unless you leave as much detail as you can. Please describe the exact location of the problem (e.g. on a wall), what it is, how long it has been there, a description (and a photo of the problem if you have one), etc."
@@ -3730,11 +3821,15 @@ msgstr ""
msgid "The diligency prize league table shows editors' activity (who's been editing the most records)."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:61
-#: perllib/FixMyStreet/App/Controller/Reports.pm:82
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:63
+#: perllib/FixMyStreet/App/Controller/Reports.pm:103
msgid "The error was: %s"
msgstr "Y gwall oedd: %s"
+#: templates/web/base/admin/extra-metadata-form.html:30
+msgid "The field name as shown to the user on the report form."
+msgstr ""
+
#: templates/web/base/open311/index.html:78
msgid "The following Open311 v2 attributes are returned for each request: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
msgstr ""
@@ -3773,10 +3868,14 @@ msgstr ""
msgid "The link might have expired, or maybe you didn&rsquo;t quite copy and paste it correctly."
msgstr ""
-#: templates/web/base/admin/body-form.html:64
+#: templates/web/base/admin/body-form.html:66
msgid "The list of available areas is being provided by the MapIt service at %s."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:6
+msgid "The ordering of this field on the report page. Fields are shown in ascending order according to this value."
+msgstr ""
+
#: templates/web/base/auth/change_password.html:22
#: templates/web/base/auth/change_password.html:26
msgid "The passwords do not match"
@@ -3786,9 +3885,9 @@ msgstr "Nid yw'r cyfrineiriau'n cyfateb"
msgid "The requested URL '%s' was not found on this server"
msgstr "Ni chanfuwyd yr URL '%s' ar y gweinydd hwn"
-#: templates/web/base/alert/_list.html:17
-msgid "The simplest alert is our geographic one:"
-msgstr "Yr hysbysiad symlaf yw'r un daearyddol:"
+#: templates/web/base/admin/extra-metadata-form.html:42
+msgid "The type of input field to show to the user. <strong>Text</strong> is a simple text field, <strong>List</strong> is a drop-down selection."
+msgstr ""
#: perllib/FixMyStreet/Script/Reports.pm:96
msgid "The user could not locate the problem on a map, but to see the area around the location they entered"
@@ -3807,18 +3906,18 @@ msgstr ""
msgid "There are no reports to show."
msgstr "Nid oes unrhyw adroddiadau i'w dangos."
-#: perllib/FixMyStreet/App/Controller/Reports.pm:79
+#: perllib/FixMyStreet/App/Controller/Reports.pm:100
msgid "There was a problem showing the All Reports page. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:137
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:60
+#: perllib/FixMyStreet/App/Controller/Contact.pm:138
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:62
msgid "There was a problem showing this page. Please try again later."
msgstr "Bu gwall dangos y dudalen hon. Rhowch gynnig arall arni nes ymlaen."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:758
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:785
#: perllib/FixMyStreet/App/Controller/Report/Update.pm:152
-#: templates/web/base/auth/general.html:53
+#: templates/web/base/auth/general.html:55
#: templates/web/zurich/auth/general.html:28
msgid "There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the &lsquo;sign in by email&rsquo; section of the form."
msgstr "Bu problem gyda'r e-bost neu gyfrinair. Os na allwch gofio eich cyfrinair, neu os nad oes un gennych, llenwch ddarn &lsquo;mewngofnodi drwy e-bost&rsquo; y ffurflen."
@@ -3831,7 +3930,7 @@ msgstr "Bu gwall gyda'r e-bost neu'r cyfrinair. Rhowch gynnig arall arni."
msgid "There was a problem with your update. Please try again."
msgstr "Bu gwall gyda'r diweddariad. Rhowch gynnig arall arni."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:141
+#: perllib/FixMyStreet/App/Controller/Contact.pm:142
msgid "There were problems with your report. Please see below."
msgstr "Bu gwallau gyda'r adroddiad. Gwelwch isod."
@@ -3883,8 +3982,8 @@ msgstr ""
msgid "This body has no contacts. This means that currently problems reported to this body <strong>will not be sent</strong>."
msgstr ""
-#: templates/web/base/admin/body-form.html:58
-#: templates/web/base/admin/body-form.html:59
+#: templates/web/base/admin/body-form.html:60
+#: templates/web/base/admin/body-form.html:61
msgid ""
"This body will only be sent reports for problems that are located in the <strong>area covered</strong>.\n"
" A body will not receive any reports unless it covers at least one area."
@@ -3898,8 +3997,9 @@ msgstr ""
msgid "This email has been sent to several councils covering the location of the problem, as the category selected is provided for all of them; please ignore it if you're not the correct council to deal with the issue."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:881
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:925
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1017
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:910
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:954
#: perllib/FixMyStreet/App/Controller/Report/New.pm:971
#: perllib/FixMyStreet/Cobrand/UK.pm:45
msgid "This information is required"
@@ -3909,46 +4009,41 @@ msgstr "Mae'r wybodaeth hon yn ofynnol"
msgid "This is a developer site; things might break at any time, and the database will be periodically deleted."
msgstr ""
-#: templates/web/base/reports/index.html:10
-msgid "This is a summary of all reports on this site."
-msgstr "Dyma grynodeb o'r holl adroddiadau ar y wefan hon."
-
-#: templates/web/base/report/new/form_report.html:56
+#: templates/web/base/report/new/form_report.html:58
msgid "This pothole has been here for two months and…"
msgstr ""
-#: templates/web/base/report/update/form_update.html:63
+#: templates/web/base/report/update/form_update.html:55
msgid "This problem has been fixed"
msgstr "Trwsiwyd y broblem hon"
-#: templates/web/base/report/update/form_update.html:56
+#: templates/web/base/report/update/form_update.html:48
msgid "This problem has not been fixed"
msgstr "Ni thrwsiwyd y broblem hon"
-#: templates/web/base/report/update/form_update.html:54
-#, fuzzy
+#: templates/web/base/report/update/form_update.html:46
msgid "This problem is still ongoing"
-msgstr "Ni thrwsiwyd y broblem hon"
+msgstr ""
#: templates/web/base/report/duplicate-no-updates.html:3
msgid "This report is a duplicate. Please leave updates on the original report:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:161
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:162
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:166
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:167
#: templates/web/zurich/report/_main.html:14
msgid "This report is awaiting moderation."
msgstr ""
-#: perllib/FixMyStreet/Script/Alerts.pm:101
+#: perllib/FixMyStreet/Script/Alerts.pm:98
msgid "This report is currently marked as closed."
msgstr "Mae'r adroddiad hwn wedi'i nodi ar gau."
-#: perllib/FixMyStreet/Script/Alerts.pm:99
+#: perllib/FixMyStreet/Script/Alerts.pm:96
msgid "This report is currently marked as fixed."
msgstr ""
-#: perllib/FixMyStreet/Script/Alerts.pm:103
+#: perllib/FixMyStreet/Script/Alerts.pm:100
msgid "This report is currently marked as open."
msgstr ""
@@ -3967,7 +4062,7 @@ msgstr "Mae'r dudalen we hon yn cynnwys llun o'r broblem, a ddarparwyd gan y def
msgid "Time spent (in minutes):"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Default.pm:638
#: templates/web/base/admin/timeline.html:1
msgid "Timeline"
msgstr "Llinell amser"
@@ -3996,10 +4091,26 @@ msgstr ""
msgid "To find out what local alerts we have for you, please enter your postcode or street name and area"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:19
+msgid "To limit this collection of fields to a single cobrand, select it here."
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:40
+msgid "To limit this collection of fields to a single language, select it here."
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:95
msgid "To view a map of the precise location of this issue"
msgstr ""
+#: templates/web/base/reports/index.html:97
+msgid "Top 5 most used categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:83
+msgid "Top 5 responsive councils"
+msgstr ""
+
#: templates/web/base/admin/questionnaire.html:24
#: templates/web/base/admin/stats.html:24
#: templates/web/base/admin/stats.html:43
@@ -4025,16 +4136,24 @@ msgstr ""
msgid "Total reports received"
msgstr ""
-#: templates/web/base/report/_inspect.html:124
-#: templates/web/base/report/_item.html:102
+#: templates/web/base/report/_inspect.html:134
+#: templates/web/base/report/_item.html:104
msgid "Traffic management required?"
msgstr ""
+#: templates/web/base/admin/_translations.html:7
+msgid "Translation"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:2
+msgid "Translations"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:111
msgid "Trusted by bodies:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:721
+#: perllib/FixMyStreet/Cobrand/Default.pm:726
msgid "Trusted to make reports that don't need to be inspected"
msgstr ""
@@ -4050,8 +4169,14 @@ msgstr "Ceisio eto"
msgid "Try emailing us directly:"
msgstr "Ceisiwch anfon e-bost atom yn uniongyrchol:"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:21
+#: templates/web/base/admin/extra-metadata-form.html:44
+#: templates/web/base/admin/states/index.html:10
+#: templates/web/base/admin/states/index.html:100
+msgid "Type"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:59
+#: templates/web/base/admin/contact-form.html:55
#: templates/web/base/admin/update_edit.html:30
#: templates/web/zurich/admin/report_edit-sdm.html:66
#: templates/web/zurich/admin/report_edit.html:94
@@ -4059,7 +4184,6 @@ msgstr "Ceisiwch anfon e-bost atom yn uniongyrchol:"
msgid "Unconfirmed"
msgstr "Heb ei gadarnhau"
-#: templates/web/base/reports/_list-filters.html:12
#: templates/web/base/reports/_list-filters.html:5
msgid "Unfixed reports"
msgstr ""
@@ -4073,14 +4197,14 @@ msgid "Unknown alert type"
msgstr ""
#: perllib/FixMyStreet/App/Controller/Photo.pm:109
-#: perllib/FixMyStreet/App/Controller/Root.pm:124
+#: perllib/FixMyStreet/App/Controller/Root.pm:141
#: templates/web/base/js/translation_strings.html:38
msgid "Unknown error"
msgstr "Gwall anhysbys"
-#: perllib/FixMyStreet/App/Controller/Report.pm:115
+#: perllib/FixMyStreet/App/Controller/Report.pm:112
+#: perllib/FixMyStreet/App/Controller/Report.pm:118
#: perllib/FixMyStreet/App/Controller/Report.pm:121
-#: perllib/FixMyStreet/App/Controller/Report.pm:124
msgid "Unknown problem ID"
msgstr ""
@@ -4088,10 +4212,11 @@ msgstr ""
msgid "Unshortlisted"
msgstr ""
-#: templates/web/base/report/_item.html:24
+#: templates/web/base/report/_item.html:26
msgid "Up one"
msgstr ""
+#: templates/web/base/admin/states/index.html:76
#: templates/web/base/report/update/form_update.html:29
msgid "Update"
msgstr ""
@@ -4108,7 +4233,7 @@ msgstr ""
msgid "Update below added by %s at %s"
msgstr ""
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Update body"
msgstr ""
@@ -4144,13 +4269,23 @@ msgstr ""
msgid "Updated"
msgstr "Diweddarwyd"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1157
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1221
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1384
-#: perllib/FixMyStreet/App/Controller/Admin.pm:822
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:762
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:787
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:857
+#: perllib/FixMyStreet/DB/Result/Comment.pm:249
+#, fuzzy
+msgid "Updated by <strong>%s</strong> (%s) at %s"
+msgstr "Postiwyd gan <strong>%s</strong> (%s) am %s"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:251
+#, fuzzy
+msgid "Updated by <strong>%s</strong> at %s"
+msgstr "Postiwyd gan <strong>%s</strong> am %s"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1262
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1326
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1489
+#: perllib/FixMyStreet/App/Controller/Admin.pm:910
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:767
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:792
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:862
msgid "Updated!"
msgstr "Diweddarwyd!"
@@ -4160,7 +4295,7 @@ msgstr "Diweddarwyd!"
msgid "Updates"
msgstr "Diweddariadau"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:133
+#: perllib/FixMyStreet/DB/Result/Comment.pm:134
msgid "Updates are limited to %s characters in length. Please shorten your update"
msgstr ""
@@ -4174,11 +4309,22 @@ msgstr "Diweddariadau ar {{title}}"
msgid "Updates to this problem, %s"
msgstr ""
+#: templates/web/base/admin/contact-form.html:43
+#: templates/web/base/admin/contact-form.html:44
+msgid ""
+"Use <strong>confirmed</strong> to indicate that this contact has been\n"
+"confirmed as correct. If you are not sure of the origin or validity of the\n"
+"contact, use <strong>unconfirmed</strong>. <strong>inactive</strong> will\n"
+"remove the category from use when reporting problems, but keep it available in\n"
+"map filters, and <strong>deleted</strong> will remove the category from there\n"
+"as well."
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:65
msgid "Use Open311 update-sending extension"
msgstr ""
-#: templates/web/base/admin/contact-form.html:124
+#: templates/web/base/admin/contact-form.html:125
msgid "Use this field to record details that are only displayed in the admin. Input is not shown publicly, and is not sent to the body."
msgstr ""
@@ -4191,11 +4337,11 @@ msgstr ""
msgid "User ID to attribute fetched comments to"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1700
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1805
msgid "User flag removed"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1672
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1777
msgid "User flagged"
msgstr ""
@@ -4209,8 +4355,8 @@ msgid "User search finds matches in users' names and email addresses."
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:669
-#: perllib/FixMyStreet/Cobrand/Default.pm:723
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
+#: perllib/FixMyStreet/Cobrand/Default.pm:728
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:403
#: templates/web/base/admin/flagged.html:29 templates/web/zurich/header.html:61
msgid "Users"
msgstr "Defnyddwyr"
@@ -4219,9 +4365,9 @@ msgstr "Defnyddwyr"
msgid "Users can perform the following actions within their assigned body or area."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:400
-#: perllib/FixMyStreet/App/Controller/Admin.pm:430
-#: perllib/FixMyStreet/App/Controller/Admin.pm:448
+#: perllib/FixMyStreet/App/Controller/Admin.pm:381
+#: perllib/FixMyStreet/App/Controller/Admin.pm:417
+#: perllib/FixMyStreet/App/Controller/Admin.pm:439
msgid "Values updated"
msgstr ""
@@ -4268,7 +4414,7 @@ msgstr ""
msgid "We found more than one match for that problem reference:"
msgstr ""
-#: templates/web/base/auth/general.html:6
+#: templates/web/base/auth/general.html:8
#: templates/web/base/report/display.html:35
#: templates/web/base/report/new/oauth_email_form.html:5
msgid "We need your email address, please give it below."
@@ -4303,7 +4449,7 @@ msgstr "Ymatebwn cyn gynted â phosib."
msgid "What was your experience of getting the problem fixed?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:52
+#: templates/web/base/admin/category_edit.html:27
#: templates/web/zurich/admin/body.html:18
msgid "When edited"
msgstr ""
@@ -4312,11 +4458,19 @@ msgstr ""
msgid "When sent"
msgstr ""
-#: templates/web/base/report/_inspect.html:89
+#: templates/web/base/admin/extra-metadata-form.html:18
+msgid "Whether the user is required to provide a value for this field."
+msgstr ""
+
+#: templates/web/base/alert/_list.html:9
+msgid "Which problems do you want alerts about?"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:99
msgid "Which report is it a duplicate of?"
msgstr ""
-#: templates/web/base/js/translation_strings.html:54
+#: templates/web/base/js/translation_strings.html:57
msgid "Whoa there Testino! Three photos are enough."
msgstr ""
@@ -4324,8 +4478,8 @@ msgstr ""
msgid "Why stop there? <a href=\"/alert\">Set up more alerts</a> for free."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:185
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:190
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:14
msgid "Wish"
@@ -4335,7 +4489,7 @@ msgstr ""
msgid "With request searches, it is also possible to search for agency_responsible to limit the requests to those sent to a single administration. The search term is the administration ID provided by <a href=\"%s\">MaPit</a>."
msgstr ""
-#: templates/web/base/front/footer-marketing.html:17
+#: templates/web/base/front/footer-marketing.html:3
msgid "Would you like to contribute to FixMyStreet? Our code is open source and <a href=\"http://fixmystreet.org\">available at fixmystreet.org</a>."
msgstr ""
@@ -4360,23 +4514,22 @@ msgstr ""
msgid "Year"
msgstr "Blwyddyn"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1202
+#: perllib/FixMyStreet/Cobrand/Default.pm:1236
#: templates/web/base/admin/bodies.html:70
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
#: templates/web/base/admin/category_edit.html:5
#: templates/web/base/admin/flagged.html:47
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:136
+#: templates/web/base/admin/report_edit.html:124
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:25
#: templates/web/base/admin/users.html:32
#: templates/web/base/questionnaire/creator_fixed.html:14
#: templates/web/base/questionnaire/index.html:104
#: templates/web/base/questionnaire/index.html:53
+#: templates/web/base/report/_inspect.html:90
msgid "Yes"
msgstr ""
@@ -4389,7 +4542,7 @@ msgstr "Oes, mae gen i gyfrinair"
msgid "You are complaining that this problem report was unnecessarily moderated:"
msgstr ""
-#: templates/web/base/js/translation_strings.html:70
+#: templates/web/base/js/translation_strings.html:73
msgid "You are offline"
msgstr ""
@@ -4410,7 +4563,11 @@ msgstr "Gallwch <a href=\"%s%s\">weld y broblem ar y wefan hon</a>."
msgid "You can add an abusive user's email to the abuse list, which automatically hides (and never sends) reports they create."
msgstr ""
-#: templates/web/base/contact/index.html:111
+#: templates/web/base/alert/_list.html:18
+msgid "You can choose to subscribe to all problems reported in an area, or reports based on their destination."
+msgstr ""
+
+#: templates/web/base/contact/index.html:115
msgid "You can contact technical support on <a href='mailto:%s'>%s</a>"
msgstr "Gallwch gysylltu â'n tîm cymorth technegol drwy <a href='mailto:%s'>%s</a>"
@@ -4428,7 +4585,7 @@ msgstr ""
msgid "You can help us by finding a contact email address for local problems for %s and emailing it to us at <a href='mailto:%s'>%s</a>."
msgstr ""
-#: templates/web/base/admin/body-form.html:91
+#: templates/web/base/admin/body-form.html:93
msgid "You can mark a body as deleted if you do not want it to be active on the site."
msgstr ""
@@ -4436,7 +4593,7 @@ msgstr ""
msgid "You declined; please fill in the box above"
msgstr "Gwrthodoch chi; llenwch y blwch uchod"
-#: templates/web/base/js/translation_strings.html:72
+#: templates/web/base/js/translation_strings.html:75
msgid "You have <a id=\"oFN\" href=\"\"><span>%s</span> saved to submit</a>."
msgstr ""
@@ -4444,7 +4601,7 @@ msgstr ""
msgid "You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"
msgstr ""
-#: templates/web/base/report/new/form_report.html:37
+#: templates/web/base/report/new/form_report.html:39
#: templates/web/zurich/report/new/fill_in_details_form.html:30
msgid "You have already attached photos to this report. Note that you can attach a maximum of 3 to this report (if you try to upload more, the oldest will be removed)."
msgstr ""
@@ -4502,10 +4659,9 @@ msgstr "Eich adroddiadau"
msgid "Your account"
msgstr ""
-#: templates/web/base/alert/_list.html:90
#: templates/web/base/alert/updates.html:19
#: templates/web/base/alert/updates.html:22
-#: templates/web/base/contact/index.html:81
+#: templates/web/base/contact/index.html:80
#: templates/web/base/report/display_tools.html:46
#: templates/web/base/report/display_tools.html:49
#: templates/web/base/report/new/form_user_loggedout_email.html:1
@@ -4515,7 +4671,7 @@ msgid "Your email"
msgstr "Eich e-bost"
#: templates/web/base/auth/change_email.html:9
-#: templates/web/base/auth/general.html:55
+#: templates/web/base/auth/general.html:57
#: templates/web/base/report/update/form_user_loggedout_email.html:5
#: templates/web/zurich/auth/general.html:30
#: templates/web/zurich/auth/general.html:58
@@ -4526,21 +4682,32 @@ msgstr "Eich cyfeiriad e-bost"
msgid "Your information will only be used in accordance with our <a href=\"/privacy\">privacy policy</a>"
msgstr ""
-#: templates/web/base/auth/general.html:107
+#: templates/web/base/auth/general.html:109
#: templates/web/base/contact/index.html:74
#: templates/web/base/report/new/form_user_loggedout_by_email.html:17
-#: templates/web/base/report/update/form_name.html:29
+#: templates/web/base/report/update/form_name.html:33
#: templates/web/zurich/auth/general.html:61
#: templates/web/zurich/report/new/fill_in_details_form.html:63
msgid "Your name"
msgstr "Eich enw"
-#: templates/web/base/js/translation_strings.html:62
-#, fuzzy
+#: templates/web/base/my/anonymize.html:13
+msgid "Your name has already been sent to %s, but we can hide it on this page:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:264
+msgid "Your name has been hidden from all your reports and updates."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:260
+msgid "Your name has been hidden."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:65
msgid "Your offline reports"
-msgstr "Eich adroddiadau"
+msgstr ""
-#: templates/web/base/auth/general.html:85
+#: templates/web/base/auth/general.html:87
#: templates/web/base/report/new/form_user_loggedout_password.html:10
#: templates/web/base/report/update/form_user_loggedout_password.html:9
#: templates/web/zurich/auth/general.html:34
@@ -4551,6 +4718,7 @@ msgstr "Eich cyfrinair"
msgid "Your password has been changed"
msgstr "Newidiwyd eich cyfrinair"
+#: templates/web/base/contact/index.html:87
#: templates/web/base/report/new/form_user_loggedout_by_email.html:26
#: templates/web/zurich/report/new/fill_in_details_form.html:69
msgid "Your phone number"
@@ -4569,7 +4737,7 @@ msgstr "Eich adroddiadau"
msgid "Your shortlist"
msgstr ""
-#: templates/web/base/js/translation_strings.html:63
+#: templates/web/base/js/translation_strings.html:66
msgid "Your update has been saved offline for submission when back online."
msgstr ""
@@ -4577,8 +4745,8 @@ msgstr ""
msgid "Your updates"
msgstr "Eich diweddariadau"
-#: templates/web/base/report/new/form_user_loggedin.html:18
-#: templates/web/base/report/update/form_name.html:11
+#: templates/web/base/report/new/form_user_loggedin.html:19
+#: templates/web/base/report/update/form_name.html:12
msgid "Yourself"
msgstr ""
@@ -4587,14 +4755,14 @@ msgstr ""
msgid "all"
msgstr ""
+#: perllib/FixMyStreet/DB/Result/Comment.pm:259
+msgid "and a defect raised"
+msgstr ""
+
#: templates/web/base/admin/timeline.html:4
msgid "by %s"
msgstr "gan %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:290
-msgid "closed as a duplicate report"
-msgstr ""
-
#: templates/web/base/reports/body.html:6
#: templates/web/base/reports/body.html:7
msgid "council"
@@ -4619,7 +4787,7 @@ msgstr ""
msgid "from %s different users"
msgstr ""
-#: templates/web/base/report/_item.html:61
+#: templates/web/base/report/_item.html:63
#: templates/web/zurich/report/_item.html:14
msgid "last updated %s"
msgstr "diweddarwyd ddiwethaf %s"
@@ -4628,44 +4796,7 @@ msgstr "diweddarwyd ddiwethaf %s"
msgid "less than a minute"
msgstr "llai na munud"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:280
-msgid "marked as action scheduled"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:292
-msgid "marked as an internal referral"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:282
-msgid "marked as closed"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:263
-#: perllib/FixMyStreet/DB/Result/Comment.pm:284
-msgid "marked as fixed"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:278
-msgid "marked as in progress"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:274
-msgid "marked as investigating"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:286
-msgid "marked as no further action"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:288
-msgid "marked as not the council's responsibility"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:276
-msgid "marked as planned"
-msgstr ""
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:122
+#: perllib/FixMyStreet/App/Controller/Admin.pm:119
#: templates/web/base/admin/questionnaire.html:15
#: templates/web/base/admin/questionnaire.html:16
msgid "n/a"
@@ -4676,14 +4807,10 @@ msgstr "ddim yn berthnasol"
msgid "none"
msgstr ""
-#: templates/web/base/admin/category_edit.html:35
-msgid "optional"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:278
+msgid "not the council's responsibility"
msgstr ""
-#: templates/web/base/alert/_list.html:86
-msgid "or"
-msgstr "neu"
-
#: templates/web/base/js/translation_strings.html:27
msgid "or locate me automatically"
msgstr "neu dewch o hyd i fi'n awtomatig"
@@ -4707,16 +4834,7 @@ msgstr ""
msgid "other areas:"
msgstr "ardaloedd eraill:"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:265
-#: perllib/FixMyStreet/DB/Result/Comment.pm:271
-msgid "reopened"
-msgstr "ailagorwyd"
-
-#: templates/web/base/admin/category_edit.html:35
-msgid "required"
-msgstr ""
-
-#: templates/web/zurich/footer.html:13
+#: templates/web/zurich/footer.html:12
msgid "sign out"
msgstr "allgofnodi"
@@ -4724,11 +4842,16 @@ msgstr "allgofnodi"
msgid "the local council"
msgstr "y cyngor lleol"
-#: templates/web/base/report/_report_meta_info.html:2
+#: templates/web/base/report/_report_meta_info.html:5
#: templates/web/zurich/report/_main.html:5
msgid "there is no pin shown as the user did not use the map"
msgstr ""
+#: templates/web/base/alert/_list.html:1
+#, fuzzy
+msgid "this location"
+msgstr "y cyngor lleol"
+
#: perllib/FixMyStreet/Script/Reports.pm:184
msgid "this type of local problem"
msgstr ""
@@ -4737,15 +4860,13 @@ msgstr ""
msgid "today"
msgstr "heddiw"
-#: templates/web/base/js/translation_strings.html:73
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:76
msgid "update"
-msgstr "Diweddarwyd"
+msgstr ""
-#: templates/web/base/js/translation_strings.html:74
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:77
msgid "updates"
-msgstr "Diweddariadau"
+msgstr ""
#: templates/web/base/admin/report_edit.html:52
msgid "used map"
@@ -4801,13 +4922,13 @@ msgstr[2] "%d o funudau"
msgstr[3] "%d munud"
#: perllib/Utils.pm:246
-#, fuzzy, perl-format
+#, perl-format
msgid "%d month"
msgid_plural "%d months"
-msgstr[0] "%d funud"
-msgstr[1] "%d funud"
-msgstr[2] "%d o funudau"
-msgstr[3] "%d munud"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
#: templates/web/base/report/_support.html:6
#, perl-format
@@ -4836,6 +4957,51 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
+#: templates/web/base/reports/index.html:92
+#, perl-format
+msgid "%s day"
+msgid_plural "%s days"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+#: templates/web/base/reports/index.html:55
+#, perl-format
+msgid "%s problem marked as fixed"
+msgid_plural "%s problems marked as fixed"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+#: templates/web/base/reports/index.html:43
+#, perl-format
+msgid "%s problem reported"
+msgid_plural "%s problems reported"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+#: templates/web/base/reports/index.html:107
+#, perl-format
+msgid "%s report"
+msgid_plural "%s reports"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+#: templates/web/base/reports/index.html:49
+#, perl-format
+msgid "%s update on problems"
+msgid_plural "%s updates on problems"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
#: templates/web/base/front/stats.html:19
#, perl-format
msgid "<big>%s</big> fixed in past month"
@@ -4872,14 +5038,14 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-#: templates/web/base/report/_item.html:49
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:51
+#, perl-format
msgid "Reported %d day ago"
msgid_plural "Reported %d days ago"
-msgstr[0] "Adroddwyd gan %s am %s"
-msgstr[1] "Adroddwyd gan %s am %s"
-msgstr[2] "Adroddwyd gan %s am %s"
-msgstr[3] "Adroddwyd gan %s am %s"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
#: templates/web/base/report/new/top_message_some.html:3
#, perl-format
@@ -4899,40 +5065,59 @@ msgstr[1] "Nid oes gennym fanylion am y cyngor sy'n rheoli'r lleoliad hwn."
msgstr[2] "Nid oes gennym fanylion am y cyngor sy'n rheoli'r lleoliad hwn."
msgstr[3] "Nid oes gennym fanylion am y cynghorau sy'n rheoli'r lleoliad hwn."
-#: templates/web/base/report/_item.html:59
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:61
+#, perl-format
msgid "last updated %d day ago"
msgid_plural "last updated %d days ago"
-msgstr[0] "diweddarwyd ddiwethaf %s"
-msgstr[1] "diweddarwyd ddiwethaf %s"
-msgstr[2] "diweddarwyd ddiwethaf %s"
-msgstr[3] "diweddarwyd ddiwethaf %s"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
#: templates/email/oxfordshire/archive.txt:9
-#, fuzzy, perl-format
+#, perl-format
msgid "report"
msgid_plural "reports"
-msgstr[0] "Adroddiadau"
-msgstr[1] "Adroddiadau"
-msgstr[2] "Adroddiadau"
-msgstr[3] "Adroddiadau"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
-#, fuzzy
-#~ msgid "All inspectors"
-#~ msgstr "Pob adroddiad"
+#~ msgid "%s ward, %s"
+#~ msgstr "ward %s, %s"
-#, fuzzy
-#~ msgid "External ID:"
-#~ msgstr "URL allanol"
+#~ msgid "%s, within %s ward"
+#~ msgstr "%s, o fewn ward %s"
-#, fuzzy
-#~ msgid "Report category:"
-#~ msgstr "Creu categori"
+#~ msgid "-- Pick a property type --"
+#~ msgstr "-- Dewiswch fath o eiddo --"
-#, fuzzy
-#~ msgid "Reported %d days ago"
-#~ msgstr "Adroddwyd gan %s am %s"
+#~ msgid "Closed:"
+#~ msgstr "Ar gau:"
-#, fuzzy
-#~ msgid "last updated %d days ago"
-#~ msgstr "diweddarwyd ddiwethaf %s"
+#~ msgid "Duplicate"
+#~ msgstr "Lluosogi"
+
+#~ msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
+#~ msgstr "Dyma'r mathau o hysbysiadau problemau lleol ar gyfer &lsquo;%s&rsquo;."
+
+#~ msgid "In Progress"
+#~ msgstr "Ar y gweill"
+
+#~ msgid "No further action"
+#~ msgstr "Methu trwsio"
+
+#~ msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
+#~ msgstr "Neu gallwch danysgrifio i hysbysiad yn seiliedig ar eich ward neu etholaeth:"
+
+#~ msgid "Problems within the boundary of:"
+#~ msgstr "Problemau o fewn ffiniau:"
+
+#~ msgid "The simplest alert is our geographic one:"
+#~ msgstr "Yr hysbysiad symlaf yw'r un daearyddol:"
+
+#~ msgid "or"
+#~ msgstr "neu"
+
+#~ msgid "reopened"
+#~ msgstr "ailagorwyd"
diff --git a/locale/da_DK.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/da_DK.UTF-8/LC_MESSAGES/FixMyStreet.po
index c7b34fc77..5ddb8f3e1 100644
--- a/locale/da_DK.UTF-8/LC_MESSAGES/FixMyStreet.po
+++ b/locale/da_DK.UTF-8/LC_MESSAGES/FixMyStreet.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
-"POT-Creation-Date: 2017-03-30 17:33+0100\n"
+"POT-Creation-Date: 2017-09-13 15:40+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: mySociety <transifex@mysociety.org>, 2016\n"
+"Last-Translator: mySociety <transifex@mysociety.org>, 2017\n"
"Language-Team: Danish (Denmark) (https://www.transifex.com/mysociety/teams/12067/da_DK/)\n"
"Language: da_DK\n"
"MIME-Version: 1.0\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:695
+#: perllib/FixMyStreet/DB/Result/Problem.pm:632
#: perllib/FixMyStreet/Script/Reports.pm:197
msgid " and "
msgstr " og "
@@ -91,25 +91,6 @@ msgstr "%s spørgeskemaer sendt &ndash; %s besvaret (%s%%)"
msgid "%s ref:&nbsp;%s"
msgstr "%s ref:&nbsp;%s"
-#. ("%s is the site name")
-#: templates/web/base/alert/_list.html:74
-msgid ""
-"%s sends different categories of problem\n"
-"to the appropriate council, so problems within the boundary of a particular council\n"
-"might not match the problems sent to that council. For example, a graffiti report\n"
-"will be sent to the district council, so will appear in both of the district\n"
-"council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
-"for the county council."
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:257 perllib/FixMyStreet/Cobrand/UK.pm:269
-msgid "%s ward, %s"
-msgstr "%s bydel, %s"
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
-msgid "%s, within %s ward"
-msgstr "%s, indefor bydel %s"
-
#: perllib/FixMyStreet/Map/OSM.pm:38
msgid "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"
msgstr "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> -bidragsydere"
@@ -118,7 +99,7 @@ msgstr "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap<
msgid "(Defect &amp; location of defect)"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
#: templates/web/base/admin/users.html:32
msgid "(Email in abuse table)"
msgstr "(Epost i misbrugstabellen)"
@@ -133,28 +114,36 @@ msgstr ""
msgid "(No phone number)"
msgstr ""
-#: templates/web/base/alert/_list.html:25
-msgid "(a default distance which covers roughly 200,000 people)"
-msgstr "(en standardafstand som dækker en befolkning på omtrent 200.000)"
-
-#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
-#: templates/web/base/alert/_list.html:30
-msgid "(alternatively the RSS feed can be customised, within %s)"
+#: templates/web/base/admin/states/index.html:95
+msgid "(a-z and space only)"
msgstr ""
#: templates/web/zurich/report/_item.html:19
msgid "(closed)"
msgstr "(lukket)"
+#: templates/web/base/alert/_list.html:30
+#, fuzzy
+msgid "(covers roughly 200,000 people)"
+msgstr "(en standardafstand som dækker en befolkning på omtrent 200.000)"
+
#: templates/web/zurich/report/_item.html:17
msgid "(fixed)"
msgstr "(løst)"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "(ignored if type is \"String\")"
+msgstr ""
+
#: templates/web/base/around/intro.html:2
msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
msgstr "(som graffite, affald, hul i vejen, eller ødelagt gadelys)"
-#: templates/web/base/report/_item.html:68
+#: templates/web/base/reports/index.html:69
+msgid "(no longer exists)"
+msgstr ""
+
+#: templates/web/base/report/_item.html:70
msgid "(not sent to council)"
msgstr "(ikke rapporteret til myndigheden)"
@@ -162,20 +151,22 @@ msgstr "(ikke rapporteret til myndigheden)"
msgid "(optional)"
msgstr "(valgfrit)"
-#: templates/web/base/report/_item.html:67
+#: templates/web/base/report/_item.html:69
msgid "(sent to both)"
msgstr "(sendt til begge)"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:239
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/DB/Result/Problem.pm:454
+#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
+#: templates/web/base/alert/_list.html:36
+#, fuzzy
+msgid "(we also have RSS feeds for problems within %s)"
+msgstr "RSS-strøm for problemer indenfor %s"
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:245
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:381
msgid "-- Pick a category --"
msgstr "-- Vælg en kategori --"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:460
-msgid "-- Pick a property type --"
-msgstr "-- Vælg en ejendomsstype --"
-
#: templates/web/base/admin/response_templates_select.html:3
msgid "--Choose a template--"
msgstr ""
@@ -184,16 +175,16 @@ msgstr ""
msgid "10 inch pothole on Example St, near post box"
msgstr ""
-#: templates/web/base/dashboard/index.html:152
+#: templates/web/base/dashboard/index.html:153
msgid "14-30 days old"
msgstr ""
-#: templates/web/base/dashboard/index.html:151
+#: templates/web/base/dashboard/index.html:152
msgid "7-14 days old"
msgstr ""
-#: templates/web/base/admin/body-form.html:48
-#: templates/web/base/admin/body-form.html:49
+#: templates/web/base/admin/body-form.html:50
+#: templates/web/base/admin/body-form.html:51
msgid ""
"<code>MAPIT_URL</code> is set (<code>%s</code>) but no <code>MAPIT_TYPES</code>.<br>\n"
" This is probably why \"area covered\" is empty (below).<br>\n"
@@ -204,13 +195,12 @@ msgstr "<code>MAPIT_URL</code> er sat, (<code>%s</code>) men ingen <code>MAPIT_T
msgid "<h2>Reports, Statistics and Actions for</h2> <h1>%s</h1>"
msgstr ""
-#. ('The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories')
#. ("The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories")
-#: templates/web/base/reports/_list-filters.html:37
-msgid "<label for=\"statuses\">Show</label> %s <label for=\"filter_categories\">about</label> %s"
+#: templates/web/base/reports/_list-filters.html:48
+msgid "<label for=\"statuses\">Show</label> %s reports <label for=\"filter_categories\">about</label> %s"
msgstr ""
-#: templates/web/base/js/translation_strings.html:71
+#: templates/web/base/js/translation_strings.html:74
msgid "<span>%s</span> saved."
msgstr ""
@@ -227,34 +217,25 @@ msgstr "<strong>Nej</strong> Lad mig bekræfte min rapport med e-post"
msgid "<strong>No</strong> Let me confirm my update by email"
msgstr "<strong>Nej</strong> Lad mig bekræfte min opdatering med e-post"
-#: templates/web/base/auth/general.html:104
+#: templates/web/base/auth/general.html:106
#: templates/web/zurich/auth/general.html:51
msgid "<strong>No</strong> let me sign in by email"
msgstr "<strong>Nej</strong>, lad mig logge ind med e-post:"
-#: templates/web/base/report/_inspect.html:160
+#: templates/web/base/report/_inspect.html:170
msgid "<strong>Note:</strong> This report has been sent onwards for action. Any changes made won't be passed on."
msgstr ""
-#: templates/web/base/report/_inspect.html:162
+#: templates/web/base/report/_inspect.html:172
msgid "<strong>Note:</strong> This report hasn't yet been sent onwards for action. Any changes made may not be passed on."
msgstr ""
-#: templates/web/base/auth/general.html:80
+#: templates/web/base/auth/general.html:82
#: templates/web/base/report/new/form_user_loggedout_password.html:3
#: templates/web/base/report/update/form_user_loggedout_password.html:2
msgid "<strong>Yes</strong> I have a password"
msgstr "<strong>Ja</strong>, jeg har en adgangskode"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:10
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:6
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Action Scheduled"
-msgstr "Handling planlagt"
-
#: templates/web/base/admin/body-form.html:3
#: templates/web/base/admin/body-form.html:4
msgid ""
@@ -268,19 +249,36 @@ msgid "Add a contact using the form below."
msgstr "Tilføj en kontakt ved at bruge formularen nedenfor."
#: templates/web/base/admin/bodies.html:78
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Add body"
msgstr "Tilføj myndighed"
+#: templates/web/base/admin/reportextrafields/index.html:24
+msgid "Add extra fields"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:79
+msgid "Add field"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:85
+msgid "Add fixed state"
+msgstr ""
+
#: templates/web/base/admin/body.html:126
#: templates/web/zurich/admin/body.html:31
msgid "Add new category"
msgstr "Tilføj ny kategori"
+#: templates/web/base/admin/extra-metadata-form.html:72
+#, fuzzy
+msgid "Add option"
+msgstr "(valgfrit)"
+
#: templates/web/base/report/_item.html:10
-#: templates/web/base/report/_item.html:14
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_item.html:16
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:19
#: templates/web/base/report/_main.html:30
msgid "Add to shortlist"
@@ -292,15 +290,15 @@ msgstr ""
msgid "Add user"
msgstr "Tilføj bruger"
-#: perllib/FixMyStreet/Cobrand/Default.pm:730
+#: perllib/FixMyStreet/Cobrand/Default.pm:735
msgid "Add/edit problem categories"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:732
+#: perllib/FixMyStreet/Cobrand/Default.pm:737
msgid "Add/edit response priorities"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:731
+#: perllib/FixMyStreet/Cobrand/Default.pm:736
msgid "Add/edit response templates"
msgstr ""
@@ -308,7 +306,7 @@ msgstr ""
msgid "Added %s"
msgstr "Tilføjede %s"
-#: templates/web/base/report/_main.html:145
+#: templates/web/base/report/_main.html:149
msgid "Adding this report to your shortlist will remove it from %s’s shortlist."
msgstr ""
@@ -328,17 +326,17 @@ msgstr "Varsel %d oprettet for %s, type %s, parameter %s / %s"
msgid "Alert %d disabled (created %s)"
msgstr "Varsel %d koblet fra (oprettet %s)"
-#: templates/web/base/report/update/form_name.html:38
+#: templates/web/base/report/update/form_name.html:42
msgid "Alert me to future updates"
msgstr "Send mig varsel ved fremtidige opdateringer"
#: templates/web/base/dashboard/index.html:138
#: templates/web/base/dashboard/index.html:21
#: templates/web/base/dashboard/index.html:30
+#: templates/web/base/reports/_list-filters.html:3
msgid "All"
msgstr ""
-#: templates/web/base/reports/index.html:6
#: templates/web/zurich/reports/index.html:13
msgid "All Reports"
msgstr "Alle rapporter"
@@ -348,15 +346,23 @@ msgid "All Reports as CSV"
msgstr ""
#: templates/web/base/admin/category-multiselect.html:5
-#: templates/web/base/admin/responsepriorities/list.html:19
+#: templates/web/base/admin/responsepriorities/list.html:20
msgid "All categories"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:26
+#, fuzzy
+msgid "All cobrands"
+msgstr "Mærkevaresamarbejde"
+
+#: templates/web/base/admin/reportextrafields/edit.html:47
+msgid "All languages"
+msgstr ""
+
#: templates/web/base/main_nav_items.html:0
#: templates/web/base/main_nav_items.html:27
-#: templates/web/base/reports/_list-filters.html:3
#: templates/web/zurich/admin/index-dm.html:12
-#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:21
+#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:20
#: templates/web/zurich/nav_over_content.html:6
msgid "All reports"
msgstr "Alle rapporter"
@@ -366,6 +372,14 @@ msgstr "Alle rapporter"
msgid "All reports between %s and %s"
msgstr "Alle rapporter mellem %s og %s"
+#: templates/web/base/reports/index.html:23
+msgid "All time"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:20
+msgid "Alternatively, we can hide your name on <strong>all of your reports and updates</strong> across the site:"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:47
msgid "An update marked this problem as fixed."
msgstr "En opdatering markerede dette problem som ordnet."
@@ -375,31 +389,33 @@ msgstr "En opdatering markerede dette problem som ordnet."
msgid "Anonymous"
msgstr "Anonym"
-#: templates/web/base/admin/report_edit.html:134
+#: templates/web/base/report/new/form_user_loggedin.html:21
+#: templates/web/base/report/update/form_name.html:17
+#, fuzzy
+msgid "Anonymous user"
+msgstr "Anonym"
+
+#: templates/web/base/admin/report_edit.html:122
#: templates/web/base/admin/update_edit.html:23
msgid "Anonymous:"
msgstr "Anonym:"
-#: templates/web/base/report/new/form_user_loggedin.html:20
-#: templates/web/base/report/update/form_name.html:13
+#: templates/web/base/report/new/form_user_loggedin.html:24
+#: templates/web/base/report/update/form_name.html:14
msgid "Another user"
msgstr ""
-#: templates/web/base/front/footer-marketing.html:16
-msgid "Are you a developer?"
-msgstr "Er du en udvikler?"
-
-#: templates/web/base/js/translation_strings.html:56
+#: templates/web/base/js/translation_strings.html:59
msgid "Are you sure you want to cancel this upload?"
msgstr ""
#: templates/web/base/admin/report_edit.html:84
-#: templates/web/base/js/translation_strings.html:66
+#: templates/web/base/js/translation_strings.html:69
#: templates/web/base/report/display_tools.html:6
msgid "Are you sure?"
msgstr ""
-#: templates/web/base/admin/body-form.html:75
+#: templates/web/base/admin/body-form.html:77
#: templates/web/base/admin/body.html:20
#: templates/web/zurich/admin/body-form.html:24
msgid "Area covered"
@@ -431,11 +447,11 @@ msgstr "Tildel til ekstern myndighed:"
msgid "Assign to subdivision:"
msgstr "Tildelt underafdeling:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:727
+#: perllib/FixMyStreet/Cobrand/Default.pm:732
msgid "Assign users to areas"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:214
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:219
msgid "Assigned to %s"
msgstr "Tildelt %s"
@@ -456,11 +472,14 @@ msgstr ""
msgid "Auto-response:"
msgstr ""
-#: templates/web/base/admin/report_edit.html:127
-#: templates/web/base/report/_inspect.html:47
+#: templates/web/base/admin/report-category.html:8
msgid "Available categories"
msgstr ""
+#: templates/web/base/reports/index.html:84
+msgid "Average time between a problem being reported and being fixed, last 100 reports."
+msgstr ""
+
#: templates/web/base/dashboard/index.html:109
msgid "Average time to council marking fixed (days)"
msgstr ""
@@ -473,7 +492,7 @@ msgstr ""
msgid "Avoid personal information and vehicle number plates"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:417
+#: perllib/FixMyStreet/DB/Result/Problem.pm:344
#: templates/web/zurich/report/_item.html:9
msgid "Awaiting moderation"
msgstr "Afventer moderation"
@@ -486,13 +505,13 @@ msgstr "Tilbage"
msgid "Back to all reports"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
msgid "Ban email address"
msgstr "Bandlys epostadresse"
#: perllib/FixMyStreet/Cobrand/Default.pm:650
-#: perllib/FixMyStreet/Cobrand/Default.pm:729
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
+#: perllib/FixMyStreet/Cobrand/Default.pm:734
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:396
#: templates/web/base/admin/bodies.html:1
#: templates/web/base/admin/report_edit.html:55
#: templates/web/zurich/header.html:56
@@ -514,7 +533,11 @@ msgstr "Administration:"
msgid "By Date"
msgstr "PÃ¥ dato"
-#: templates/web/base/auth/token.html:21 templates/web/base/email_sent.html:18
+#: templates/web/base/admin/extra-metadata-form.html:36
+msgid "Can be used to display extra text to the user alongside the field. The default template does not show this (<code>meta.datatype_description</code>), you must add it in <code>category_extras_fields.html</code>"
+msgstr ""
+
+#: templates/web/base/auth/token.html:27 templates/web/base/email_sent.html:20
msgid "Can&rsquo;t find our email? Check your spam folder&nbsp;&ndash; that&rsquo;s the solution 99% of the time."
msgstr ""
@@ -535,8 +558,8 @@ msgstr ""
#: templates/web/base/admin/body.html:72
#: templates/web/base/admin/contact-form.html:19
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/report/_inspect.html:38
-#: templates/web/base/report/_item.html:90
+#: templates/web/base/report/_inspect.html:48
+#: templates/web/base/report/_item.html:92
#: templates/web/base/report/new/category.html:6
#: templates/web/base/report/new/category_wrapper.html:3
#: templates/web/zurich/admin/body.html:14
@@ -547,7 +570,7 @@ msgstr ""
msgid "Category"
msgstr "Kategori"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:852
+#: perllib/FixMyStreet/App/Controller/Admin.pm:956
msgid "Category changed from ‘%s’ to ‘%s’"
msgstr ""
@@ -587,27 +610,11 @@ msgstr ""
msgid "Change password"
msgstr "Skift adgangskode"
-#: templates/web/base/admin/contact-form.html:41
-msgid ""
-"Check <strong>confirmed</strong> to indicate that this contact has been confirmed as correct.\n"
-" If you are not sure of the origin or validity of the contact, leave this unchecked."
-msgstr ""
-"Markér <strong>bekræftet</strong> for at indikere at dette kontaktpunkt er blevet bekræftet som korrekt.\n"
-"Hvis du ikke er sikker på oprindelsen eller gyldigheden for kontaktpunktet, så markér ikke feltet."
-
-#: templates/web/base/admin/contact-form.html:52
-msgid ""
-"Check <strong>deleted</strong> to remove the category from use. \n"
-" It will not appear as an available category in the drop-down menu on the report-a-problem page."
-msgstr ""
-"Markér <strong>slettet</strong> for at ikke længere bruge kategorien\n"
-"Den vil ikke længere dukke op som en tilgængelig kategori i rullegardinmenuen på rapportér-et-problem-siden."
-
-#: templates/web/base/admin/contact-form.html:79
+#: templates/web/base/admin/contact-form.html:80
msgid "Check <strong>inspection required</strong> if reports in this category <strong>must be inspected</strong> before being sent."
msgstr ""
-#: templates/web/base/admin/contact-form.html:63
+#: templates/web/base/admin/contact-form.html:64
msgid ""
"Check <strong>private</strong> if reports in this category should <strong>never be displayed on the website</strong>.\n"
" <br>\n"
@@ -629,11 +636,11 @@ msgid ""
" to the body too. These will appear in the drop-down menu on the report-a-problem page."
msgstr "Vælg et <strong>kategorinavn</strong> som giver mening for indbyggerne (f.eks. \"Hul i vejen\", \"Gadebelysning\") men som også er nyttigt for myndigheden. Disse vil dukke op i rullegardinmenuen på rapportér-et-problem-siden."
-#: templates/web/base/report/_inspect.html:93
+#: templates/web/base/report/_inspect.html:103
msgid "Choose another"
msgstr ""
-#: templates/web/base/js/translation_strings.html:65
+#: templates/web/base/js/translation_strings.html:68
msgid "Clear offline data"
msgstr ""
@@ -658,21 +665,21 @@ msgstr ""
msgid "Click the link in our confirmation email to publish your update."
msgstr ""
-#: templates/web/base/auth/token.html:18
+#: templates/web/base/auth/token.html:23
msgid "Click the link in our confirmation email to sign in."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:189
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:960
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:17
-#: templates/web/base/admin/report_blocks.html:27
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:43
-#: templates/web/base/report/banner.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:18
+#: templates/web/base/auth/token.html:20
+msgid "Click the link in that email to sign in."
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:134
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:194
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:965
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:11
+#: templates/web/base/admin/states/index.html:103
+#: templates/web/base/admin/states/index.html:27
+#: templates/web/base/admin/states/index.html:33
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:10
#: templates/web/zurich/admin/header.html:16
@@ -680,23 +687,17 @@ msgstr ""
msgid "Closed"
msgstr "Lukket"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:889
+#: perllib/FixMyStreet/DB/Result/Problem.pm:826
msgid "Closed by council"
msgstr "Lukket af myndigheden"
-#: templates/web/base/reports/_list-filters.html:13
-msgid "Closed reports"
-msgstr ""
-
-#: templates/web/base/admin/problem_row.html:38
-msgid "Closed:"
-msgstr "Lukket:"
-
#: templates/web/base/admin/report_edit.html:37
msgid "Co-ordinates:"
msgstr "Koordinater:"
#: templates/web/base/admin/list_updates.html:10
+#: templates/web/base/admin/reportextrafields/edit.html:24
+#: templates/web/base/admin/reportextrafields/index.html:7
msgid "Cobrand"
msgstr "Mærkevaresamarbejde"
@@ -710,10 +711,13 @@ msgstr "Mærkevaresamarbejdsdata:"
msgid "Cobrand:"
msgstr "Mærkevaresamarbejde:"
+#: templates/web/base/admin/extra-metadata-form.html:14
+msgid "Code"
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:50
-#, fuzzy
msgid "Collapse map"
-msgstr "brugte kort"
+msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:646
#: templates/web/base/admin/config_page.html:1
@@ -741,9 +745,8 @@ msgstr ""
msgid "Confirmation"
msgstr "Bekræftelse"
-#: templates/web/base/admin/body.html:85
-#: templates/web/base/admin/category_edit.html:54
-#: templates/web/base/admin/contact-form.html:47
+#: templates/web/base/admin/contact-form.html:56
+#: templates/web/zurich/admin/contact-form.html:12
#: templates/web/zurich/admin/stats.html:40
msgid "Confirmed"
msgstr "Bekræftet"
@@ -778,8 +781,8 @@ msgstr "Kontakt projektgruppen"
msgid "Coordinates:"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1668
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1696
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1773
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1801
msgid "Could not find user"
msgstr "Kunne ikke finde bruger"
@@ -799,33 +802,28 @@ msgstr "Administrationskontakter for %s"
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:83
-#, fuzzy
msgid "Council has marked as closed"
-msgstr "markeret som lukket"
+msgstr ""
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:57
-#, fuzzy
msgid "Council has marked as fixed"
-msgstr "markeret som fikset"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:80
-#, fuzzy
msgid "Council has marked as in progress"
-msgstr "markeret som under udførelse"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:82
-#, fuzzy
msgid "Council has marked as investigating"
-msgstr "markeret som undersøges"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:81
-#, fuzzy
msgid "Council has marked as planned"
-msgstr "markeret som planlagt"
+msgstr ""
#: templates/web/base/report/_council_sent_info.html:6
msgid "Council ref:&nbsp;%s"
@@ -842,24 +840,33 @@ msgstr "Administration:"
msgid "Count"
msgstr "Antal"
+#: templates/web/base/admin/states/index.html:114
+#, fuzzy
+msgid "Create"
+msgstr "Oprettet"
+
#: templates/web/base/email_sent.html:1
msgid "Create a report"
msgstr "Lav en rapport"
-#: templates/web/base/admin/contact-form.html:137
+#: templates/web/base/admin/contact-form.html:138
#: templates/web/zurich/admin/body.html:62
msgid "Create category"
msgstr "Lav kategori"
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/responsepriorities/edit.html:58
msgid "Create priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:714
+#: perllib/FixMyStreet/Cobrand/Default.pm:718
+msgid "Create reports/updates as anonymous user"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:719
msgid "Create reports/updates as the council"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:713
+#: perllib/FixMyStreet/Cobrand/Default.pm:717
msgid "Create reports/updates on a user's behalf"
msgstr ""
@@ -889,13 +896,15 @@ msgstr "Gældende tilstand"
msgid "Currently no bodies have been created."
msgstr "I øjeblikket er der ikke lavet nogen instanser."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:825
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:830
#: templates/web/zurich/admin/report_edit-sdm.html:105
msgid "Customer not contactable"
msgstr ""
#: templates/web/base/dashboard/index.html:5
#: templates/web/base/dashboard/index.html:7
+#: templates/web/base/reports/index.html:15
+#: templates/web/base/reports/index.html:18
msgid "Dashboard"
msgstr "Oversigt"
@@ -903,29 +912,36 @@ msgstr "Oversigt"
msgid "Dealt with by subdivision within 5 working days"
msgstr "Behandlet af underafdeling inden 5 arbejdsdage"
-#: templates/web/base/report/_inspect.html:73
+#: templates/web/base/admin/responsepriorities/list.html:9
+msgid "Default"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:39
+msgid "Default priority"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:72
msgid "Defect type"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:973
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1078
#: templates/web/base/admin/template_edit.html:50
#: templates/web/zurich/admin/template_edit.html:33
msgid "Delete template"
msgstr ""
#: templates/web/base/admin/bodies.html:31
-#: templates/web/base/admin/body.html:87
-#: templates/web/base/admin/category_edit.html:55
#: templates/web/base/admin/contact-form.html:58
-#: templates/web/zurich/admin/contact-form.html:12
+#: templates/web/zurich/admin/contact-form.html:13
msgid "Deleted"
msgstr "Slettet"
-#: templates/web/base/report/_main.html:110
-#: templates/web/base/report/update.html:59
+#: templates/web/base/report/_main.html:114
+#: templates/web/base/report/update.html:68
msgid "Describe why you are moderating this"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:32
#: templates/web/base/admin/responsepriorities/list.html:7
#: templates/web/zurich/admin/index-dm.html:22
#: templates/web/zurich/admin/index-sdm.html:20
@@ -949,7 +965,7 @@ msgstr "Detaljer"
msgid "Details:"
msgstr "Detaljer:"
-#: templates/web/base/admin/body.html:93
+#: templates/web/base/admin/body.html:92
msgid "Devolved"
msgstr "Delegeret"
@@ -962,18 +978,17 @@ msgstr ""
msgid "Diligency prize league table"
msgstr "Arbejdsheste"
-#: templates/web/base/report/_main.html:114
-#: templates/web/base/report/update.html:61
-#, fuzzy
+#: templates/web/base/report/_main.html:118
+#: templates/web/base/report/update.html:70
msgid "Discard changes"
-msgstr "Gem ændringer"
+msgstr ""
#: templates/web/base/admin/open311-form-fields.html:95
msgid "Do not send email alerts on fetched comments to problem creator"
msgstr ""
#. ("%s is the site name")
-#: templates/web/base/auth/general.html:58
+#: templates/web/base/auth/general.html:60
#: templates/web/base/report/new/form_user_loggedout.html:25
#: templates/web/base/report/new/oauth_email_form.html:18
#: templates/web/base/report/update-form.html:30
@@ -981,40 +996,33 @@ msgstr ""
msgid "Do you have a %s password?"
msgstr ""
+#: templates/web/base/report/_inspect.html:87
+msgid "Do you want to automatically raise a defect?"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:57
msgid "Don&rsquo;t know"
msgstr "Véd ikke"
-#: templates/web/base/contact/index.html:108
+#: templates/web/base/contact/index.html:112
msgid "Don't like forms?"
msgstr "Kan du ikke lide skemaer?"
-#: templates/web/base/report/_item.html:25
+#: templates/web/base/report/_item.html:27
msgid "Down one"
msgstr ""
-#: templates/web/base/js/translation_strings.html:55
+#: templates/web/base/js/translation_strings.html:58
msgid "Drag and drop photos here or <u>click to upload</u>"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:10
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "Duplicate"
-msgstr "Duplikat"
-
-#: templates/web/base/report/_inspect.html:88
-#, fuzzy
+#: templates/web/base/report/_inspect.html:98
msgid "Duplicate of"
-msgstr "Duplikat"
+msgstr ""
-#: templates/web/base/report/_inspect.html:98
-#, fuzzy
+#: templates/web/base/report/_inspect.html:108
msgid "Duplicates"
-msgstr "Duplikat"
+msgstr ""
#: templates/web/base/admin/body.html:116
msgid ""
@@ -1027,43 +1035,43 @@ msgstr ""
"Forskellige kategorier kan have same kontakt</strong> (e-postadresse).\n"
"Dette betyder at du kan tilføje mange grupper/kategorier selv om du bare har <strong>én<strong> kontakt for myndigheden."
-#: templates/web/base/report/_inspect.html:16
-#: templates/web/base/report/_item.html:81
+#: templates/web/base/report/_inspect.html:26
+#: templates/web/base/report/_item.html:83
msgid "Easting/Northing:"
msgstr ""
#: templates/web/base/admin/list_updates.html:42
#: templates/web/base/admin/problem_row.html:41
-#: templates/web/base/admin/responsepriorities/list.html:26
+#: templates/web/base/admin/responsepriorities/list.html:28
#: templates/web/base/admin/templates.html:22
#: templates/web/base/admin/users.html:34
#: templates/web/zurich/admin/problem_row.html:48
msgid "Edit"
msgstr "Redigér"
-#: templates/web/base/admin/body.html:140
+#: templates/web/base/admin/body.html:141
#: templates/web/base/admin/index.html:39
#: templates/web/zurich/admin/body.html:69
msgid "Edit body details"
msgstr "Redigér detaljer for myndighed"
-#: perllib/FixMyStreet/Cobrand/Default.pm:724
+#: perllib/FixMyStreet/Cobrand/Default.pm:729
msgid "Edit other users' details"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:725
+#: perllib/FixMyStreet/Cobrand/Default.pm:730
msgid "Edit other users' permissions"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:708
+#: perllib/FixMyStreet/Cobrand/Default.pm:712
msgid "Edit report category"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:709
+#: perllib/FixMyStreet/Cobrand/Default.pm:713
msgid "Edit report priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:707
+#: perllib/FixMyStreet/Cobrand/Default.pm:711
msgid "Edit reports"
msgstr ""
@@ -1086,15 +1094,15 @@ msgstr "Redigerer opdatering %d"
msgid "Editing user %d"
msgstr "Redigerer bruger %d"
-#: templates/web/base/admin/category_edit.html:56
+#: templates/web/base/admin/category_edit.html:30
msgid "Editor"
msgstr "Opdateret af"
#: templates/web/base/admin/bodies.html:27
-#: templates/web/base/admin/category_edit.html:53
+#: templates/web/base/admin/category_edit.html:28
#: templates/web/base/admin/flagged.html:38
#: templates/web/base/admin/users.html:17
-#: templates/web/base/auth/general.html:49
+#: templates/web/base/auth/general.html:51
#: templates/web/zurich/admin/body-form.html:9
#: templates/web/zurich/admin/body.html:15
#: templates/web/zurich/auth/general.html:24
@@ -1102,13 +1110,14 @@ msgstr "Opdateret af"
msgid "Email"
msgstr "E-post"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1644
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1749
msgid "Email added to abuse list"
msgstr "Epost lagt til misbrugsliste"
-#: templates/web/base/admin/contact-form.html:36
-#: templates/web/base/report/new/form_user_loggedin.html:28
-#: templates/web/base/report/update/form_name.html:19
+#: templates/web/base/admin/contact-form.html:38
+#: templates/web/base/alert/_list.html:74
+#: templates/web/base/report/new/form_user_loggedin.html:32
+#: templates/web/base/report/update/form_name.html:23
msgid "Email address"
msgstr ""
@@ -1120,11 +1129,11 @@ msgstr "Epostvarsel laget"
msgid "Email alert deleted"
msgstr "Epostvarsel slettet"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1641
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1746
msgid "Email already in abuse list"
msgstr "Epost allerede i misbrugslisten"
-#: templates/web/base/admin/report_edit.html:141
+#: templates/web/base/admin/report_edit.html:129
#: templates/web/base/admin/update_edit.html:35
#: templates/web/base/admin/user-form.html:19
#: templates/web/zurich/admin/body.html:48
@@ -1148,8 +1157,8 @@ msgstr ""
"opdateringer til eksidsterende rapporter. Hvis du ikke er sikker, sker det nok ikke, så lad den forblive uafkrydset. For mere information, se\n"
"<a href='https://www.mysociety.org/2013/02/20/open311-extended/' class='admin-offsite-link'>denne artikel</a>."
-#: templates/web/base/admin/body-form.html:120
-#: templates/web/base/admin/body-form.html:121
+#: templates/web/base/admin/body-form.html:122
+#: templates/web/base/admin/body-form.html:123
msgid ""
"Enable this <strong>can be devolved</strong> setting if one or more contacts have a \n"
" different endpoint (and send method) from the body's. For example, if reports for some categories of\n"
@@ -1167,11 +1176,11 @@ msgstr "Slut-dato:"
msgid "Endpoint"
msgstr "Endepunkt"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:76
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:81
msgid "Enter a Z&uuml;rich street name"
msgstr "Indtast et vejnavn i Z&uuml;rich"
-#: perllib/FixMyStreet/Cobrand/UK.pm:15
+#: perllib/FixMyStreet/Cobrand/UK.pm:16
msgid "Enter a nearby UK postcode, or street name and area"
msgstr "Indtast et britisk postnummer i nærheden, eller vejnavn og sted"
@@ -1180,12 +1189,13 @@ msgstr "Indtast et britisk postnummer i nærheden, eller vejnavn og sted"
msgid "Enter a nearby postcode, or street name and area"
msgstr "Indtast postnummer i nærheden, eller vejnavn og sted"
+#: perllib/FixMyStreet/Cobrand/DansMonQwat.pm:14
#: templates/web/base/around/postcode_form.html:5
#: templates/web/base/around/postcode_form.html:6
msgid "Enter a nearby street name and area"
msgstr "Indtast et vejnavn og sted"
-#: templates/web/base/auth/general.html:116
+#: templates/web/base/auth/general.html:118
#: templates/web/base/report/new/form_user_loggedout_by_email.html:35
#: templates/web/base/report/update/form_user_loggedout_by_email.html:13
#: templates/web/zurich/auth/general.html:65
@@ -1205,8 +1215,8 @@ msgstr "Indtast detaljer om problemet"
msgid "Error"
msgstr "Fejl"
-#: templates/web/base/reports/_list-filters.html:20
-#: templates/web/base/reports/_list-filters.html:28
+#: templates/web/base/reports/_list-filters.html:31
+#: templates/web/base/reports/_list-filters.html:39
msgid "Everything"
msgstr ""
@@ -1219,8 +1229,7 @@ msgstr "Eksempel-postnummer %s"
msgid "Examples:"
msgstr "Eksempler:"
-#: templates/web/base/admin/report_edit.html:122
-#: templates/web/base/report/_inspect.html:42
+#: templates/web/base/admin/report-category.html:3
msgid "Existing category"
msgstr ""
@@ -1228,16 +1237,16 @@ msgstr ""
msgid "Expand map"
msgstr ""
-#: templates/web/base/report/new/form_report.html:52
+#: templates/web/base/report/new/form_report.html:54
msgid "Explain what’s wrong"
msgstr ""
-#: templates/web/base/dashboard/index.html:146
+#: templates/web/base/dashboard/index.html:147
msgid "Export as CSV"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:913
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:179
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:12
msgid "Extern"
@@ -1248,7 +1257,7 @@ msgstr ""
msgid "External ID"
msgstr ""
-#: templates/web/base/admin/body-form.html:87
+#: templates/web/base/admin/body-form.html:89
msgid "External URL"
msgstr "Eksternt link"
@@ -1260,13 +1269,20 @@ msgstr ""
msgid "External team"
msgstr ""
-#: templates/web/base/admin/category_edit.html:25
+#: perllib/FixMyStreet/Cobrand/Default.pm:673
+#: templates/web/base/admin/reportextrafields/edit.html:1
+#: templates/web/base/admin/reportextrafields/index.html:1
+#, fuzzy
+msgid "Extra Fields"
+msgstr "Ekstra data:"
+
+#: templates/web/base/admin/contact-form.html:141
#: templates/web/base/admin/report_edit.html:94
msgid "Extra data:"
msgstr "Ekstra data:"
-#: templates/web/base/report/_inspect.html:134
-#: templates/web/base/report/_item.html:106
+#: templates/web/base/report/_inspect.html:144
+#: templates/web/base/report/_item.html:108
msgid "Extra details"
msgstr ""
@@ -1274,6 +1290,11 @@ msgstr ""
msgid "Failed to send message"
msgstr "Kunne ikke sende besked"
+#: templates/web/base/admin/reportextrafields/edit.html:58
+#: templates/web/base/admin/reportextrafields/index.html:9
+msgid "Fields"
+msgstr ""
+
#: templates/web/zurich/admin/index-dm.html:33
#: templates/web/zurich/admin/index-sdm.html:30
msgid "Filter report list"
@@ -1287,52 +1308,32 @@ msgstr "Første gang"
msgid "Fix this by choosing an <strong>area covered</strong> in the <em>Edit body details</em> form below."
msgstr "Fiks dette ved at vælge en <strong>area covered</strong> i <em> Edit body details</em>-skemaet nedenfor."
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:11
-#: templates/web/base/admin/report_blocks.html:26
+#: perllib/FixMyStreet/App/Controller/Admin/States.pm:35
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:133
+#: templates/web/base/admin/states/index.html:29
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:41
-#: templates/web/base/report/banner.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:17
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:45
msgid "Fixed"
msgstr "Løst"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:13
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:7
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:62
msgid "Fixed - Council"
msgstr "Løst - Administration"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:12
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:63
msgid "Fixed - User"
msgstr "Løst - Bruger"
-#: templates/web/base/reports/_list-filters.html:14
-msgid "Fixed reports"
-msgstr ""
-
-#: templates/web/base/admin/problem_row.html:37
-msgid "Fixed:"
-msgstr "Løst:"
-
-#: templates/web/base/admin/body-form.html:95
-#: templates/web/base/admin/responsepriorities/edit.html:41
+#: templates/web/base/admin/body-form.html:97
+#: templates/web/base/admin/responsepriorities/edit.html:53
#: templates/web/zurich/admin/body-form.html:36
msgid "Flag as deleted"
msgstr "Markér som slettet"
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/report_blocks.html:23
msgid "Flag user"
msgstr "Markér bruger"
-#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: perllib/FixMyStreet/Cobrand/Default.pm:644
#: templates/web/base/admin/users.html:20
msgid "Flagged"
msgstr "Markeret:"
@@ -1349,7 +1350,7 @@ msgstr "Markerede brugere er listet op på <a href='%s'>Markerede</a>-siden."
msgid "Flagged users are not restricted in any way. This is just a list of users that have been marked for attention."
msgstr "Markerede brugere er ikke begrænset på noget måde. Dette er bare en liste med brugere som er blevet markeret for at give dem opmærksomhed."
-#: templates/web/base/admin/report_edit.html:147
+#: templates/web/base/admin/report_edit.html:135
#: templates/web/base/admin/user-form.html:100
msgid "Flagged:"
msgstr "Markeret:"
@@ -1362,21 +1363,25 @@ msgstr "Følg en bydelslænke for at kun se rapporter indenfor denne bydel."
msgid "For best results include a close-up and a wide shot"
msgstr ""
-#: templates/web/base/admin/body-form.html:71
+#: templates/web/base/admin/extra-metadata-form.html:52
+msgid "For each option, <strong>Key</strong> is the value which is stored in the database for that option and <strong>Name</strong> is the value displayed to the user."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:73
msgid "For more information, see <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
msgstr "For mere information, se <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>Hvordan FixMyStreet bruger Mapit</a>."
-#: templates/web/base/auth/general.html:95
+#: templates/web/base/auth/general.html:97
#: templates/web/base/report/new/form_user_loggedout_password.html:20
#: templates/web/base/report/update/form_user_loggedout_password.html:19
msgid "Forgotten your password?"
msgstr "Glemt din adgangskode?"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:743
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:748
msgid "Forwarded to external body"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:744
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:749
msgid "Forwarded wish to external body"
msgstr ""
@@ -1386,6 +1391,10 @@ msgstr ""
msgid "Frequently Asked Questions"
msgstr "Ofte spurgte spørgsmål"
+#: templates/web/base/admin/stats.html:102
+msgid "Get Count"
+msgstr ""
+
#: templates/web/base/around/_updates.html:3
#: templates/web/base/report/display_tools.html:14
msgid "Get updates"
@@ -1401,10 +1410,14 @@ msgstr "FÃ¥ opdateringer for problemer i denne %s"
msgid "Get updates of problems in this %s"
msgstr "FÃ¥ opdateringer for problemer i denne %s"
-#: templates/web/base/alert/_list.html:83
+#: templates/web/base/alert/_list.html:85
msgid "Give me an RSS feed"
msgstr "Giv mig en RSS-strøm"
+#: templates/web/base/admin/reportextrafields/edit.html:6
+msgid "Give this collection of fields a name. It is not shown publicly, just here in the admin."
+msgstr ""
+
#: templates/web/base/questionnaire/completed.html:14
msgid "Glad to hear it’s been fixed!"
msgstr "Glad for at høre at det er i orden!"
@@ -1414,8 +1427,9 @@ msgstr "Glad for at høre at det er i orden!"
#: templates/web/base/admin/index.html:49
#: templates/web/base/alert/index.html:34
#: templates/web/base/around/postcode_form.html:13
-#: templates/web/base/reports/_list-filters.html:38
-#: templates/web/base/reports/_list-filters.html:53
+#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:64
+#: templates/web/base/reports/index.html:75
#: templates/web/zurich/admin/stats.html:26
msgid "Go"
msgstr "Søg"
@@ -1424,7 +1438,7 @@ msgstr "Søg"
msgid "Going to send questionnaire?"
msgstr "Skal der sendes spørgeskema?"
-#: perllib/FixMyStreet/Cobrand/Default.pm:726
+#: perllib/FixMyStreet/Cobrand/Default.pm:731
msgid "Grant access to the admin"
msgstr ""
@@ -1432,10 +1446,6 @@ msgstr ""
msgid "Graph of problem creation by status over time"
msgstr "Graf over problemoprettelse fordelt på status over tid"
-#: templates/web/base/reports/index.html:15
-msgid "Greyed-out lines are councils that no longer exist."
-msgstr "Linjer med grå baggrund er myndigheder som ikke længere eksidsterer."
-
#: templates/web/base/questionnaire/index.html:48
msgid "Has this problem been fixed?"
msgstr "Er dette problem blevet løst?"
@@ -1446,7 +1456,7 @@ msgstr "Har du rapporteret et problem til en myndighed før, eller er dette før
#: templates/web/base/main_nav_items.html:40
#: templates/web/zurich/about/faq-de-ch.html:1
-#: templates/web/zurich/footer.html:23
+#: templates/web/zurich/footer.html:22
#: templates/web/zurich/nav_over_content.html:8
msgid "Help"
msgstr "Hjælp"
@@ -1456,22 +1466,13 @@ msgstr "Hjælp"
msgid "Help <strong>%s</strong> resolve your problem quicker, by providing some extra detail. This extra information will not be published online."
msgstr ""
-#: templates/web/base/alert/_list.html:9
-msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
-msgstr "Her er de forskellige typer lokale problemvarsler for &lsquo;%s&rsquo;."
-
-#: templates/web/zurich/footer.html:12
+#: templates/web/zurich/footer.html:11
msgid "Hi %s"
msgstr "Hej, %s"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:906
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:19
-#: templates/web/base/admin/report_blocks.html:28
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:911
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:60
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:19
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:11
#: templates/web/zurich/admin/stats.html:32
@@ -1479,16 +1480,33 @@ msgstr "Hej, %s"
msgid "Hidden"
msgstr "Skjul"
-#: templates/web/base/report/_main.html:105
-#, fuzzy
+#: templates/web/base/report/_main.html:109
msgid "Hide entire report"
-msgstr "Send rapport igen"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:1
+#: templates/web/base/my/anonymize.html:2
+msgid "Hide my name"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:21
+msgid "Hide my name everywhere"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:10
+msgid "Hide my name in this update"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:16
+msgid "Hide my name on this report"
+msgstr ""
#: templates/web/base/around/display_location.html:67
msgid "Hide old"
msgstr "Skjul gamle"
#: templates/web/base/around/display_location.html:62
+#: templates/web/base/js/translation_strings.html:55
msgid "Hide pins"
msgstr "Skjul nåle"
@@ -1496,7 +1514,16 @@ msgstr "Skjul nåle"
msgid "Hide update completely?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:49
+#: templates/web/base/report/_report_meta_info.html:3
+#: templates/web/base/report/update.html:55
+msgid "Hide your name?"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:38
+msgid "Hint"
+msgstr ""
+
+#: templates/web/base/admin/category_edit.html:24
msgid "History"
msgstr "Historie"
@@ -1513,12 +1540,12 @@ msgid "How to send successful reports"
msgstr "Hvordan indsendes rapporter som er løst"
#: templates/web/base/tokens/confirm_problem.html:36
-#: templates/web/base/tokens/confirm_problem.html:40
+#: templates/web/base/tokens/confirm_problem.html:41
msgid "I just reported a problem on @fixmystreet"
msgstr "Jeg rapporterede netop et problem på @fixminvej"
-#: templates/web/base/tokens/confirm_update.html:19
-#: templates/web/base/tokens/confirm_update.html:23
+#: templates/web/base/tokens/confirm_update.html:20
+#: templates/web/base/tokens/confirm_update.html:25
msgid "I just updated a problem on @fixmystreet"
msgstr "Jeg opdaterede netop et problem på @fixminvej"
@@ -1538,17 +1565,25 @@ msgstr "Jeg er bange for at vi ikke kunne finde dit problem i databasen.\n"
msgid "ID"
msgstr "ID"
-#: templates/web/base/admin/body-form.html:30
-#: templates/web/base/admin/body-form.html:31
+#: templates/web/base/admin/body-form.html:32
+#: templates/web/base/admin/body-form.html:33
msgid ""
"Identify a <strong>parent</strong> if this body is itself part of another body.\n"
" For basic installations, you don't need to join bodies in this way."
msgstr "Identificér en <strong>parent</strong> hvis instansen selv er en del af en anden myndighed."
+#: templates/web/base/auth/token.html:19
+msgid "If there's a user associated with the address you entered, we've sent a confirmation email."
+msgstr ""
+
#: templates/web/base/admin/responsepriorities/edit.html:23
msgid "If this priority is passed to an external service (e.g. Exor/Confirm) enter the priority code to use with that service here."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:24
+msgid "If ticked the user won’t see an input field, just the ‘Description’ text."
+msgstr ""
+
#: templates/web/base/admin/contact-form.html:14
msgid ""
"If two or more bodies serve the same location, FixMyStreet combines identical categories into a single entry in\n"
@@ -1559,7 +1594,7 @@ msgstr "Hvis to eller flere instanser er lokaliseret på samme sted, kombinerer
msgid "If you get some more information about the status of your problem, please come back to the site and leave an update."
msgstr "Hvis du får mere information om status for dit problem, så vær sød at komme tilbage til netstedet og lav en opdatering."
-#: templates/web/base/admin/responsepriorities/edit.html:33
+#: templates/web/base/admin/responsepriorities/edit.html:45
msgid "If you only want this priority to be an option for specific categories, pick them here. By default they will show for all categories."
msgstr ""
@@ -1582,7 +1617,7 @@ msgid ""
"(please note it will not be sent to the council)."
msgstr ""
-#: templates/web/base/admin/contact-form.html:30
+#: templates/web/base/admin/contact-form.html:32
msgid "If you're using <strong>a send method that is not email</strong>, enter the service ID (Open311) or equivalent identifier here."
msgstr "Hvis du bruger <strong>en sendemetode som ikke er e-post</strong>, så indtast tjeneste-ID (Open311) eller tilsvarende identifikator her."
@@ -1616,7 +1651,7 @@ msgstr ""
"Hvis du har aktiveret Open311 update-sending ovenfor, skal du identificere hvilke FixMinVej <strong>bruger</ strong> som bliver krediteret for opdateringer \n"
"når de bliver vist på netstedet. Vis ID (nummer) for denne bruger."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:133
+#: perllib/FixMyStreet/App/Controller/Contact.pm:134
msgid "Illegal ID"
msgstr "Ugyldigt ID"
@@ -1624,13 +1659,6 @@ msgstr "Ugyldigt ID"
msgid "Illegal feed selection"
msgstr "Ugyldigt valg af feed"
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "In Progress"
-msgstr "Under Udførelse"
-
#: templates/web/base/admin/flagged.html:39
msgid "In abuse table?"
msgstr "I misbrugstabel?"
@@ -1639,18 +1667,17 @@ msgstr "I misbrugstabel?"
msgid "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
msgstr "Yderligere bliver følgende attributter, som ikke er del af Open311 v2-specifikationen, returneret: agency_sent_datetime, title (også returneret som del af description), interface_used, comment_count, requestor_name (kun tilstede hvis indsender tillod at navnet kunne vises på dette netsted)."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:192
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:954
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:9
-#: templates/web/base/report/banner.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:5
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:197
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:959
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:8
msgid "In progress"
msgstr "Under udførelse"
+#: templates/web/base/admin/contact-form.html:57
+msgid "Inactive"
+msgstr ""
+
#: templates/web/base/tokens/confirm_alert.html:11
msgid "Inbox zero, here we come!"
msgstr "Tom indboks, her kommer vi!"
@@ -1667,11 +1694,15 @@ msgstr "Inkludér ubekræftede problemer"
msgid "Incorrect has_photo value \"%s\""
msgstr "Forkert has_photo-værdi \"%s\""
-#: templates/web/base/admin/contact-form.html:84
+#: templates/web/base/report/_inspect.html:5
+msgid "Inspect report"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:85
msgid "Inspection required"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:711
+#: perllib/FixMyStreet/Cobrand/Default.pm:715
msgid "Instruct contractors to fix problems"
msgstr ""
@@ -1679,13 +1710,6 @@ msgstr ""
msgid "Internal notes"
msgstr "Interne notater"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:11
-msgid "Internal referral"
-msgstr "Intern reference"
-
#: templates/web/base/offline/appcache.html:3
msgid "Internet glitch"
msgstr ""
@@ -1694,7 +1718,7 @@ msgstr ""
msgid "Invalid agency_responsible value %s"
msgstr "Ugyldig agency_responsible-værdi %s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1502
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1607
msgid "Invalid end date"
msgstr "Ugyldig slut-dato"
@@ -1702,26 +1726,15 @@ msgstr "Ugyldig slut-dato"
msgid "Invalid format %s specified."
msgstr "Ugyldigt format %s angivet."
-#: perllib/FixMyStreet/App/Controller/Report.pm:398
+#: perllib/FixMyStreet/App/Controller/Report.pm:409
msgid "Invalid location. New location must be covered by the same council."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1498
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1603
msgid "Invalid start date"
msgstr "Ugyldig startdato"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:7
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:4
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Investigating"
-msgstr "Undersøges"
-
-#: templates/web/base/contact/blurb.html:8
+#: templates/web/base/contact/blurb.html:2
msgid "It's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there."
msgstr "Det er ofte hurtigst at <a href=\"%s\">tjekke vores FAQ</a> og se om svaret er der."
@@ -1729,37 +1742,59 @@ msgstr "Det er ofte hurtigst at <a href=\"%s\">tjekke vores FAQ</a> og se om sva
msgid "It’s on its way to the council right now."
msgstr "Den er på vej til myndigheden lige nu."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:177
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:182
msgid "Jurisdiction Unknown"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:15
msgid "Jurisdiction unknown"
msgstr ""
-#: templates/web/base/auth/general.html:91
+#: templates/web/base/auth/general.html:93
#: templates/web/base/report/new/form_user_loggedout_password.html:16
#: templates/web/base/report/update/form_user_loggedout_password.html:15
#: templates/web/zurich/auth/general.html:40
msgid "Keep me signed in on this computer"
msgstr "Husk min indlogning på denne datamaskine"
+#: templates/web/base/admin/extra-metadata-form.html:61
+msgid "Key"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:9
+#: templates/web/base/admin/states/index.html:95
+msgid "Label"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:6
+#: templates/web/base/admin/reportextrafields/edit.html:45
+msgid "Language"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/index.html:8
+msgid "Languages"
+msgstr ""
+
#: templates/web/base/dashboard/index.html:50
msgid "Last 4 weeks"
msgstr ""
#: templates/web/base/dashboard/index.html:49
-#, fuzzy
+#: templates/web/base/reports/index.html:38
msgid "Last 7 days"
-msgstr "Sidste opdatering:"
+msgstr ""
#: templates/web/base/admin/body.html:74
#: templates/web/zurich/admin/body.html:16
msgid "Last editor"
msgstr "Sidst redigeret af"
+#: templates/web/base/questionnaire/index.html:25
+msgid "Last update"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:89
msgid "Last update:"
msgstr "Sidste opdatering:"
@@ -1768,23 +1803,27 @@ msgstr "Sidste opdatering:"
msgid "Last&nbsp;update:"
msgstr "Sidste&nbsp;opdatering:"
-#: templates/web/base/report/_inspect.html:20
-#: templates/web/base/report/_item.html:86
+#: templates/web/base/report/_inspect.html:30
+#: templates/web/base/report/_item.html:88
msgid "Latitude/Longitude:"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:50
+#: templates/web/base/reports/_list-filters.html:61
msgid "Least recently updated"
msgstr ""
-#: templates/web/base/admin/body-form.html:127
+#: templates/web/base/admin/body-form.html:129
msgid "Leave this blank if all reports to this body should be sent using the same send method (e.g., \"%s\")."
msgstr "Lad denne være blank hvis alle rapporter til denne myndighed skal sendes ved hjælp af samme sende-metode (dvs. \"%s\")."
-#: templates/web/base/dashboard/index.html:150
+#: templates/web/base/dashboard/index.html:151
msgid "Less than 7 days old"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:47
+msgid "List"
+msgstr ""
+
#: templates/web/base/admin/body.html:31
msgid "List all reported problems"
msgstr "List alle rapporterede problemer"
@@ -1815,23 +1854,23 @@ msgstr "Lokale varsler"
msgid "Locate the problem on a map of the area"
msgstr "Lokalisér problemet på kortet over området"
-#: templates/web/base/auth/general.html:22
+#: templates/web/base/auth/general.html:24
#: templates/web/base/report/new/form_user_loggedout.html:6
#: templates/web/base/report/update/form_user_loggedout.html:7
msgid "Log in with Facebook"
msgstr ""
-#: templates/web/base/auth/general.html:30
+#: templates/web/base/auth/general.html:32
#: templates/web/base/report/new/form_user_loggedout.html:14
#: templates/web/base/report/update/form_user_loggedout.html:15
msgid "Log in with Twitter"
msgstr ""
-#: templates/web/base/js/translation_strings.html:59
+#: templates/web/base/js/translation_strings.html:62
msgid "Log in with email"
msgstr ""
-#: templates/web/base/dashboard/index.html:145
+#: templates/web/base/dashboard/index.html:146
#: templates/web/base/dashboard/index.html:38
msgid "Look up"
msgstr ""
@@ -1840,11 +1879,11 @@ msgstr ""
msgid "MAP"
msgstr "KORT"
-#: perllib/FixMyStreet/Cobrand/Default.pm:712
+#: perllib/FixMyStreet/Cobrand/Default.pm:716
msgid "Manage shortlist"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:45
+#: templates/web/base/reports/_list-filters.html:56
msgid "Manual order"
msgstr ""
@@ -1860,19 +1899,11 @@ msgstr "Markér som afsendt"
msgid "Mark users whose behaviour you want to keep a check on as <strong>flagged</strong>."
msgstr "Markér brugere hvis adfærd du ønsker at have tjek på som <strong>markeret</strong>."
-#: templates/web/base/reports/index.html:27
-msgid "Marked fixed/closed in the past eight weeks"
-msgstr "Markeret som løst/lukket indenfor de seneste otte uger"
-
-#: templates/web/base/reports/index.html:28
-msgid "Marked fixed/closed more than eight weeks ago"
-msgstr "Markeret som løst/lukket for mere end otte uger siden"
-
-#: perllib/FixMyStreet/Cobrand/Default.pm:710
+#: perllib/FixMyStreet/Cobrand/Default.pm:714
msgid "Markup problem details"
msgstr ""
-#: templates/web/base/contact/index.html:96
+#: templates/web/base/contact/index.html:100
msgid "Message"
msgstr "Besked"
@@ -1892,68 +1923,69 @@ msgstr ""
msgid "Missing jurisdiction_id"
msgstr "Mangler jurisdiction_id"
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:706
+#: perllib/FixMyStreet/Cobrand/Default.pm:710
msgid "Moderate report details"
msgstr ""
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate this report"
msgstr ""
#: templates/web/base/report/update.html:12
-#, fuzzy
msgid "Moderate this update"
-msgstr "Publiceret af %s %s"
+msgstr ""
-#: templates/web/base/report/_main.html:69
-#: templates/web/base/report/update.html:49
-#, fuzzy
+#: templates/web/base/report/_main.html:73
+#: templates/web/base/report/update.html:58
msgid "Moderated by %s at %s"
-msgstr "Publiceret af %s %s"
+msgstr ""
#: templates/web/zurich/admin/stats.html:34
msgid "Moderated by division within one working day"
msgstr "Modereret af afdeling inden for en arbejdsdag"
-#: templates/web/base/report/_main.html:109
-#: templates/web/base/report/update.html:57
-#, fuzzy
+#: templates/web/base/report/_main.html:113
+#: templates/web/base/report/update.html:66
msgid "Moderation reason:"
-msgstr "andre områder:"
+msgstr ""
#: templates/web/base/admin/stats.html:11
msgid "Month"
msgstr "MÃ¥ned"
-#: templates/web/base/reports/_list-filters.html:51
+#: templates/web/base/reports/_list-filters.html:62
msgid "Most commented"
msgstr ""
#: templates/web/base/admin/bodies.html:25
#: templates/web/base/admin/body-form.html:24
+#: templates/web/base/admin/extra-metadata-form.html:65
#: templates/web/base/admin/flagged.html:16
#: templates/web/base/admin/flagged.html:37
#: templates/web/base/admin/index.html:62
#: templates/web/base/admin/list_updates.html:7
+#: templates/web/base/admin/reportextrafields/edit.html:11
+#: templates/web/base/admin/reportextrafields/index.html:6
#: templates/web/base/admin/reports.html:14
#: templates/web/base/admin/responsepriorities/list.html:6
+#: templates/web/base/admin/states/index.html:108
+#: templates/web/base/admin/states/index.html:11
#: templates/web/base/admin/users.html:16
-#: templates/web/base/auth/general.html:106
-#: templates/web/base/report/new/form_user_loggedin.html:40
+#: templates/web/base/auth/general.html:108
+#: templates/web/base/report/new/form_user_loggedin.html:42
#: templates/web/base/report/new/form_user_loggedout_by_email.html:7
-#: templates/web/base/report/update/form_name.html:23
-#: templates/web/base/reports/index.html:23
+#: templates/web/base/report/update/form_name.html:27
#: templates/web/zurich/admin/body-form.html:4
#: templates/web/zurich/auth/general.html:60
#: templates/web/zurich/report/new/fill_in_details_form.html:59
msgid "Name"
msgstr "Navn"
-#: templates/web/base/admin/report_edit.html:139
+#: templates/web/base/admin/report_edit.html:127
#: templates/web/base/admin/responsepriorities/edit.html:13
#: templates/web/base/admin/update_edit.html:34
#: templates/web/base/admin/user-form.html:16
@@ -1965,7 +1997,7 @@ msgstr "Navn:"
msgid "Name: %s"
msgstr "Navn: %s"
-#: templates/web/base/report/_inspect.html:28
+#: templates/web/base/report/_inspect.html:38
msgid "Navigate to this problem"
msgstr ""
@@ -1974,16 +2006,16 @@ msgstr ""
msgid "Nearest named road to the pin placed on the map (automatically generated using OpenStreetMap): %s%s"
msgstr "Nærmeste navngivne vej til nålen placeret på kortet (automatisk genereret ved hjælp af OpenStreetMap): %s%s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:129
+#: perllib/FixMyStreet/Cobrand/UK.pm:134
msgid "Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"
msgstr "Nærmeste postnummer for nålen placeret på kortet (automatisk genereret): %s (%sm væk)"
-#: perllib/FixMyStreet/Cobrand/Default.pm:527
-#: perllib/FixMyStreet/Cobrand/Default.pm:567
+#: perllib/FixMyStreet/Cobrand/Default.pm:538
+#: perllib/FixMyStreet/Cobrand/Default.pm:566
msgid "Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"
msgstr "Nærmeste vej for nålen placeret på kortet (automatisk genereret ved hjælp af Bing Maps): %s"
-#: perllib/FixMyStreet/Script/Alerts.pm:319
+#: perllib/FixMyStreet/Script/Alerts.pm:316
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s\n"
"\n"
@@ -1991,19 +2023,23 @@ msgstr ""
"Nærmeste vej for nålen placeret på kortet (automatisk genereret ved hjælp af Bing Maps) er: %s\n"
"\n"
-#: templates/web/base/auth/token.html:17 templates/web/base/email_sent.html:5
+#: templates/web/base/auth/token.html:18
+msgid "Nearly done!"
+msgstr ""
+
+#: templates/web/base/auth/token.html:22 templates/web/base/email_sent.html:5
msgid "Nearly done! Now check your email&hellip;"
msgstr ""
-#: templates/web/base/reports/index.html:24
-msgid "New <br>problems"
-msgstr "Nye <br>problemer"
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:131
+msgid "New"
+msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:259
+#: perllib/FixMyStreet/App/Controller/Admin.pm:262
msgid "New body added"
msgstr "Ny myndighed tilføjet"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:405
+#: perllib/FixMyStreet/App/Controller/Admin.pm:386
msgid "New category contact added"
msgstr "Ny kategorikontakt tilføjet"
@@ -2029,7 +2065,7 @@ msgid "New password:"
msgstr ""
#: templates/web/base/admin/responsepriorities/edit.html:4
-#: templates/web/base/admin/responsepriorities/list.html:32
+#: templates/web/base/admin/responsepriorities/list.html:34
msgid "New priority"
msgstr ""
@@ -2058,6 +2094,7 @@ msgid "New reports"
msgstr "Nye rapporter"
#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/states/index.html:91
msgid "New state"
msgstr "Ny tilstand"
@@ -2067,7 +2104,7 @@ msgstr "Ny tilstand"
msgid "New template"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:47
+#: templates/web/base/reports/_list-filters.html:58
msgid "Newest"
msgstr ""
@@ -2075,20 +2112,19 @@ msgstr ""
msgid "Next"
msgstr "Næste"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1203
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
+#: perllib/FixMyStreet/Cobrand/Default.pm:1237
#: templates/web/base/admin/category_edit.html:4
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:137
+#: templates/web/base/admin/report_edit.html:125
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:26
#: templates/web/base/questionnaire/creator_fixed.html:16
#: templates/web/base/questionnaire/index.html:106
#: templates/web/base/questionnaire/index.html:55
+#: templates/web/base/report/_inspect.html:92
msgid "No"
msgstr "Nej"
@@ -2104,7 +2140,7 @@ msgstr "Ingen myndighed"
msgid "No council"
msgstr "Ingen myndighed"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:445
+#: perllib/FixMyStreet/DB/Result/Problem.pm:372
msgid "No council selected"
msgstr "Ingen myndighed er valgt"
@@ -2120,25 +2156,16 @@ msgstr "Fandt ingen markerede problemer."
msgid "No flagged users found."
msgstr "Fant ingen markerede brugere."
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:14
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:8
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "No further action"
-msgstr "Kan ikke fikses"
-
#: templates/web/zurich/admin/report_edit-sdm.html:125
#: templates/web/zurich/admin/report_edit.html:259
msgid "No further updates"
msgstr "Ikke flere opdateringer"
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:84
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:68
msgid "No inspections by that inspector in the selected date range."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:86
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:70
msgid "No inspections in the selected date range."
msgstr ""
@@ -2146,8 +2173,8 @@ msgstr ""
msgid "No result returned"
msgstr "Ingen resultater returneret"
-#: templates/web/base/admin/body-form.html:66
-#: templates/web/base/admin/body-form.html:67
+#: templates/web/base/admin/body-form.html:68
+#: templates/web/base/admin/body-form.html:69
msgid ""
"No specific areas are currently available, because the <code>MAPIT_URL</code> in\n"
" your config file is not pointing to a live MapIt service."
@@ -2187,17 +2214,8 @@ msgstr ""
"Afhængig af implementeringen kan ansatte brugere have adgang til dashbordet (sammendrag af \n"
"aktivitet for hele instansen), mulighed at skjule beskeder eller sætte status for specialrapporter."
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:9
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "Not Responsible"
-msgstr "Ikke ansvarlig"
-
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:181
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:186
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:933
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:13
msgid "Not contactable"
@@ -2216,7 +2234,7 @@ msgid "Not reported to council"
msgstr "Ikke rapporteret til myndigheden"
#: templates/web/base/admin/body.html:75
-#: templates/web/base/admin/category_edit.html:57
+#: templates/web/base/admin/category_edit.html:31
#: templates/web/zurich/admin/body.html:17
msgid "Note"
msgstr "Bemærk"
@@ -2226,7 +2244,7 @@ msgid "Note that when including unconfirmed reports we use the date the report w
msgstr "Bemærk at når vi medtager ubekræftede rapporter så bruges datoen som rapporten var oprettet, hvilket ikke behøver være den samme måned som rapporten blev bekræftet, så tallene kan hoppe lidt op og ned."
#: templates/web/zurich/admin/body.html:55
-#: templates/web/zurich/admin/contact-form.html:17
+#: templates/web/zurich/admin/contact-form.html:19
msgid "Note:"
msgstr "Bemærk:"
@@ -2238,6 +2256,10 @@ msgstr "Note: <strong>%d</strong>"
msgid "Notes from SDM to DM"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:26
+msgid "Notice"
+msgstr ""
+
#: templates/web/base/report/new/oauth_email_form.html:17
msgid "Now to submit your report&hellip;"
msgstr "PÃ¥ tide at sende din rapport&hellip;"
@@ -2248,63 +2270,43 @@ msgstr "PÃ¥ tide at sende din rapport&hellip;"
msgid "Now to submit your update&hellip;"
msgstr "PÃ¥ tide at registrere din opdatering&hellip;"
+#: templates/web/base/reports/index.html:98
+msgid "Number of problems reported in each category, in the last 7 days."
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:43
msgid "OK"
msgstr "OK"
-#: templates/web/base/js/translation_strings.html:67
+#: templates/web/base/js/translation_strings.html:70
msgid "Offline data cleared"
msgstr ""
-#: templates/web/base/js/translation_strings.html:64
+#: templates/web/base/js/translation_strings.html:67
msgid "Offline update data saved"
msgstr ""
-#: templates/web/base/reports/index.html:26
-msgid "Old / unknown <br>problems"
-msgstr "Gamle / ukendte <br>problemer"
-
#: templates/web/base/admin/questionnaire.html:24
msgid "Old state"
msgstr "Gammel tilstand"
-#: templates/web/base/reports/index.html:28
-msgid "Older <br>fixed"
-msgstr "Ældre <br>løste"
-
-#: templates/web/base/reports/index.html:25
-msgid "Older <br>problems"
-msgstr "Ældre <br>problemer"
-
-#: templates/web/base/reports/_list-filters.html:48
+#: templates/web/base/reports/_list-filters.html:59
msgid "Oldest"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:900
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:25
-#: templates/web/base/admin/report_blocks.html:6
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:905
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:10
+#: templates/web/base/admin/states/index.html:102
+#: templates/web/base/admin/states/index.html:25
+#: templates/web/base/admin/states/index.html:32
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:3
-#: templates/web/base/report/update/form_update.html:41
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:7
#: templates/web/zurich/admin/update_edit.html:18
msgid "Open"
msgstr "Ã…ben"
-#: templates/web/base/reports/index.html:25
-msgid "Open for more than four weeks, with an update within the past eight weeks"
-msgstr "Ã…ben i mere end fire uger, med en opdatering inden for de seneste otte uger"
-
-#: templates/web/base/reports/index.html:26
-msgid "Open, but not had any update in eight weeks"
-msgstr "Ã…ben, men uden nogen opdatering i otte uger"
-
#: templates/web/base/admin/open311-form-fields.html:47
msgid "Open311 API Key"
msgstr ""
@@ -2325,26 +2327,38 @@ msgstr "Open311-initiativets netside"
msgid "Open311 specification"
msgstr "Open311-specifikation"
-#: templates/web/base/alert/_list.html:61
-msgid "Or problems reported to:"
-msgstr "Eller problemer meldt til:"
-
-#: templates/web/base/alert/_list.html:37
-msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
-msgstr "Eller du kan abonnere på varsel baseret på bydel eller myndighed du hører ind under:"
-
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:1061
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:659
-#: perllib/FixMyStreet/DB/Result/Problem.pm:642
-#: perllib/FixMyStreet/DB/Result/Problem.pm:649
-#: perllib/FixMyStreet/DB/Result/Problem.pm:664
-#: perllib/FixMyStreet/DB/Result/Problem.pm:673
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "Options"
+msgstr ""
+
+#: templates/web/base/alert/_list.html:84
+msgid "Or subscribe by RSS"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:8
+msgid "Order"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1107
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:675
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:676
+#: perllib/FixMyStreet/DB/Result/Problem.pm:579
+#: perllib/FixMyStreet/DB/Result/Problem.pm:586
+#: perllib/FixMyStreet/DB/Result/Problem.pm:601
+#: perllib/FixMyStreet/DB/Result/Problem.pm:610
#: perllib/FixMyStreet/Script/Reports.pm:183
#: perllib/FixMyStreet/Script/Reports.pm:198
msgid "Other"
msgstr "Andet"
+#: templates/web/base/reports/index.html:107
+msgid "Other categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:92
+msgid "Overall average"
+msgstr ""
+
#: templates/web/base/admin/list_updates.html:8
msgid "Owner"
msgstr "Ejer"
@@ -2354,17 +2368,16 @@ msgstr "Ejer"
msgid "Page Not Found"
msgstr "Fandt ikke siden"
-#: templates/web/base/admin/body-form.html:37
+#: templates/web/base/admin/body-form.html:39
#: templates/web/zurich/admin/body-form.html:14
msgid "Parent"
msgstr "Forælder"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:20
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:61
msgid "Partial"
msgstr "Delvis"
-#: templates/web/base/auth/general.html:109
+#: templates/web/base/auth/general.html:111
#: templates/web/base/report/new/form_user_loggedout_by_email.html:28
#: templates/web/base/report/update/form_user_loggedout_by_email.html:6
#: templates/web/zurich/auth/general.html:32
@@ -2372,7 +2385,7 @@ msgstr "Delvis"
msgid "Password (optional)"
msgstr "Adgangskode (valgfrit)"
-#: templates/web/base/auth/general.html:82
+#: templates/web/base/auth/general.html:84
msgid "Password:"
msgstr "Adgangskode:"
@@ -2384,17 +2397,21 @@ msgstr "Permalink"
msgid "Permissions:"
msgstr ""
+#: templates/web/base/report/_inspect.html:19
+msgid "Phone Reporter:"
+msgstr ""
+
#: templates/web/zurich/report/new/fill_in_details_form.html:65
msgid "Phone number"
msgstr "Telefonnummer"
-#: templates/web/base/report/new/form_user_loggedin.html:57
+#: templates/web/base/report/new/form_user_loggedin.html:59
#: templates/web/base/report/new/form_user_loggedout_by_email.html:25
msgid "Phone number (optional)"
msgstr "Telefonnummer (valgfrit)"
#: perllib/FixMyStreet/Script/Reports.pm:87
-#: templates/web/base/admin/report_edit.html:146
+#: templates/web/base/admin/report_edit.html:134
#: templates/web/base/admin/user-form.html:21
#: templates/web/zurich/admin/stats.html:39
msgid "Phone:"
@@ -2403,9 +2420,9 @@ msgstr "Telefon:"
#: templates/web/base/questionnaire/index.html:78
#: templates/web/base/questionnaire/index.html:93
#: templates/web/base/questionnaire/index.html:95
-#: templates/web/base/report/new/form_report.html:28
-#: templates/web/base/report/new/form_report.html:43
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/new/form_report.html:45
+#: templates/web/base/report/new/form_report.html:47
#: templates/web/base/report/update/form_update.html:22
#: templates/web/base/report/update/form_update.html:24
#: templates/web/base/report/update/form_update.html:7
@@ -2423,12 +2440,12 @@ msgstr "Billed"
msgid "Photo is required."
msgstr ""
-#: templates/web/zurich/admin/contact-form.html:14
+#: templates/web/zurich/admin/contact-form.html:16
msgid "Photo required"
msgstr ""
#: templates/web/base/questionnaire/index.html:78
-#: templates/web/base/report/new/form_report.html:28
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/update/form_update.html:7
#: templates/web/zurich/report/new/fill_in_details_form.html:20
msgid "Photos"
@@ -2438,17 +2455,18 @@ msgstr ""
msgid "Photos of recent nearby reports"
msgstr "Billeder af nye problemer i nærheden"
+#: templates/web/base/reports/index.html:63
+#: templates/web/base/reports/index.html:66
+msgid "Pick your council"
+msgstr ""
+
#: templates/web/base/around/display_location.html:76
#: templates/web/base/js/translation_strings.html:30
msgid "Place pin on map"
msgstr "Placér tegnestiften på kortet"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:940
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:946
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:8
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:945
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:951
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:9
#: templates/web/zurich/admin/index-dm.html:9
@@ -2466,31 +2484,27 @@ msgstr "Venligst kontrollér adgangskoderne og prøv igen"
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:18
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:43
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:45
#: templates/web/zurich/auth/general.html:3
#: templates/web/zurich/auth/general.html:9
msgid "Please check your email address is correct"
msgstr "Venligst kontrollér at du har skrevet en gyldig e-postadresse"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:350
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:844
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:867
-#: perllib/FixMyStreet/DB/Result/Problem.pm:456
+#: perllib/FixMyStreet/App/Controller/Admin.pm:329
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:873
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:896
+#: perllib/FixMyStreet/DB/Result/Problem.pm:383
#: templates/web/base/js/translation_strings.html:9
msgid "Please choose a category"
msgstr "Vælg en kategori"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:462
-msgid "Please choose a property type"
-msgstr "Vælg en type egenskab"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:396
+#: perllib/FixMyStreet/App/Controller/Admin.pm:377
#: templates/web/base/admin/bodies.html:4 templates/web/base/admin/body.html:11
msgid "Please correct the errors below"
msgstr "Husk at rette op på fejlene nedenfor."
-#: templates/web/base/contact/blurb.html:12
+#: templates/web/base/contact/blurb.html:6
msgid ""
"Please do <strong>not</strong> report problems through this form; messages go to\n"
"the team behind this site, not a council. To report a problem,\n"
@@ -2501,18 +2515,18 @@ msgstr ""
msgid "Please do not be abusive&nbsp;&mdash; abusing your council devalues the service for all users."
msgstr "Vær ikke ufin &mdash; at skælde ud på din myndighed skader værdien af tjenesten for alle brugerne."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:351
-#: perllib/FixMyStreet/DB/Result/Comment.pm:127
+#: perllib/FixMyStreet/App/Controller/Admin.pm:330
+#: perllib/FixMyStreet/DB/Result/Comment.pm:128
#: templates/web/base/js/translation_strings.html:2
msgid "Please enter a message"
msgstr "Venligst indlæg en besked"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1200
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1364
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1305
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1469
msgid "Please enter a name"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:478
+#: perllib/FixMyStreet/App/Controller/Admin.pm:497
msgid "Please enter a name for this body"
msgstr ""
@@ -2522,15 +2536,15 @@ msgstr ""
msgid "Please enter a password"
msgstr "Indtast en adgangskode"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:114
-#: perllib/FixMyStreet/DB/Result/Problem.pm:439
+#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/DB/Result/Problem.pm:366
#: templates/web/base/js/translation_strings.html:3
msgid "Please enter a subject"
msgstr "Venligst angiv et emne"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1197
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1361
-#: perllib/FixMyStreet/App/Controller/Admin.pm:363
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1302
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1466
+#: perllib/FixMyStreet/App/Controller/Admin.pm:343
#: perllib/FixMyStreet/DB/Result/User.pm:164
#: templates/web/base/js/translation_strings.html:12
#: templates/web/base/js/translation_strings.html:16
@@ -2538,21 +2552,21 @@ msgid "Please enter a valid email"
msgstr "Tilføj en gyldig e-post"
#: perllib/FixMyStreet/App/Controller/Alert.pm:350
-#: perllib/FixMyStreet/App/Controller/Contact.pm:124
+#: perllib/FixMyStreet/App/Controller/Contact.pm:125
msgid "Please enter a valid email address"
msgstr "Angiv din e-post"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:442
+#: perllib/FixMyStreet/DB/Result/Problem.pm:369
#: templates/web/base/js/translation_strings.html:4
msgid "Please enter some details"
msgstr "Angiv oplysninger om problemet"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/App/Controller/Contact.pm:114
#: perllib/FixMyStreet/DB/Result/User.pm:161
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:17
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:42
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:44
#: templates/web/base/js/translation_strings.html:11
#: templates/web/base/js/translation_strings.html:15
#: templates/web/zurich/auth/general.html:3
@@ -2569,14 +2583,14 @@ msgstr "Venligst angiv din e-postadresse"
msgid "Please enter your first name"
msgstr "Venligst angiv dit fornavn"
-#: perllib/FixMyStreet/Cobrand/UK.pm:320
+#: perllib/FixMyStreet/Cobrand/UK.pm:326
#: templates/web/base/js/translation_strings.html:7
msgid "Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below"
msgstr "Venligst angiv dit fulde navn, myndigheder som modtager dit problem har brug for dette - hvis du ikke ønsker at dit navn skal vises, så fjern hakket nedenfor"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:112
-#: perllib/FixMyStreet/DB/Result/Comment.pm:124
-#: perllib/FixMyStreet/DB/Result/Problem.pm:450
+#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/DB/Result/Comment.pm:125
+#: perllib/FixMyStreet/DB/Result/Problem.pm:377
#: perllib/FixMyStreet/DB/Result/User.pm:157
#: templates/web/base/js/translation_strings.html:6
msgid "Please enter your name"
@@ -2641,7 +2655,7 @@ msgstr ""
msgid "Please note:"
msgstr "Venligst bemærk:"
-#: perllib/FixMyStreet/App/Controller/Report.pm:358
+#: perllib/FixMyStreet/App/Controller/Report.pm:353
msgid "Please provide a public update for this report."
msgstr ""
@@ -2677,11 +2691,11 @@ msgstr "Venligs angiv om dette problem er blevet fikset eller ikke"
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:122
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:156
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:158
-#: templates/web/base/js/translation_strings.html:57
+#: templates/web/base/js/translation_strings.html:60
msgid "Please upload an image only"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/App/Controller/Contact.pm:116
msgid "Please write a message"
msgstr "Indtast en besked"
@@ -2689,30 +2703,29 @@ msgstr "Indtast en besked"
msgid "Please write your update here"
msgstr "Indtast venligst din opdatering her"
-#: templates/web/base/contact/index.html:103
#: templates/web/base/report/update-form.html:25
#: templates/web/base/report/update/form_user_loggedout_by_email.html:14
#: templates/web/base/report/update/form_user_loggedout_password.html:10
msgid "Post"
msgstr "Indsend"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:242
+#: perllib/FixMyStreet/DB/Result/Comment.pm:231
msgid "Posted anonymously at %s"
msgstr "Publiceret anonymt %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:257
+#: perllib/FixMyStreet/DB/Result/Comment.pm:255
msgid "Posted by %s at %s"
msgstr "Sendt ind af %s %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:252
+#: perllib/FixMyStreet/DB/Result/Comment.pm:243
msgid "Posted by <strong>%s</strong> (%s) at %s"
msgstr "Sendt ind af <strong>%s</strong> (%s) %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:254
+#: perllib/FixMyStreet/DB/Result/Comment.pm:245
msgid "Posted by <strong>%s</strong> at %s"
msgstr "Sendt ind af <strong>%s</strong> %s"
-#: templates/web/base/front/footer-marketing.html:12
+#: templates/web/base/front/footer-marketing.html:6
msgid "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
msgstr ""
@@ -2724,8 +2737,8 @@ msgstr "Forrige"
msgid "Priorities"
msgstr ""
-#: templates/web/base/report/_inspect.html:113
-#: templates/web/base/report/_item.html:98
+#: templates/web/base/report/_inspect.html:123
+#: templates/web/base/report/_item.html:100
msgid "Priority"
msgstr ""
@@ -2739,16 +2752,15 @@ msgstr "Personliv"
msgid "Privacy and cookies"
msgstr ""
-#: templates/web/base/admin/body.html:91
-#: templates/web/base/admin/contact-form.html:74
-#: templates/web/base/admin/report_edit.html:149
+#: templates/web/base/admin/body.html:88
+#: templates/web/base/admin/contact-form.html:75
+#: templates/web/base/admin/report_edit.html:137
msgid "Private"
msgstr "Privat"
#: templates/web/base/report/new/form_user.html:1
-#, fuzzy
msgid "Private details"
-msgstr "Privat"
+msgstr ""
#: templates/web/base/maps/pin.html:13
msgid "Problem"
@@ -2772,7 +2784,7 @@ msgstr "Problem %s sendt til myndighed %s"
msgid "Problem breakdown by state"
msgstr "Tilstandsfordeling af problemer"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1167
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1272
msgid "Problem marked as open."
msgstr "Problem markeret som åbent."
@@ -2780,11 +2792,16 @@ msgstr "Problem markeret som åbent."
msgid "Problem state change based on survey results"
msgstr "Problemtilstandsændring baseret på spørgeundersøgelsesresultater"
-#: perllib/FixMyStreet/Cobrand/Default.pm:705
+#: perllib/FixMyStreet/Cobrand/Default.pm:709
#: templates/web/base/admin/flagged.html:10
msgid "Problems"
msgstr "Problemer"
+#: templates/web/base/alert/_list.html:22
+#, fuzzy
+msgid "Problems in an area"
+msgstr "Problemer indenfor %s bydel"
+
#: templates/web/base/report/display_tools.html:22
msgid "Problems nearby"
msgstr "Problemer i nærheden"
@@ -2797,30 +2814,33 @@ msgstr "Problemer på kortet"
msgid "Problems recently reported fixed on FixMyStreet"
msgstr "Problemer nyligt rapporteret fikset på FixMinVej"
-#: templates/web/base/alert/_list.html:22
-msgid "Problems within %.1fkm of this location"
+#: templates/web/base/alert/_list.html:29
+#, fuzzy
+msgid "Problems within %.1fkm of %s"
msgstr "Problemer indenfor %.1fkm fra denne positionen"
-#: perllib/FixMyStreet/Cobrand/Default.pm:833
+#: perllib/FixMyStreet/Cobrand/Default.pm:838
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:137
-#: perllib/FixMyStreet/Cobrand/UK.pm:209
+#: perllib/FixMyStreet/Cobrand/UK.pm:215 perllib/FixMyStreet/Cobrand/UK.pm:257
+#: perllib/FixMyStreet/Cobrand/UK.pm:269
msgid "Problems within %s"
msgstr "Problemer indenfor %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:223
+#: perllib/FixMyStreet/Cobrand/UK.pm:229
msgid "Problems within %s ward"
msgstr "Problemer indenfor %s bydel"
+#: perllib/FixMyStreet/Cobrand/UK.pm:263 perllib/FixMyStreet/Cobrand/UK.pm:275
+#, fuzzy
+msgid "Problems within %s ward, %s"
+msgstr "Problemer indenfor %s bydel"
+
#. ("First %s is the body name, second %s the site name")
#: templates/web/base/reports/body.html:0
#: templates/web/base/reports/body.html:25
msgid "Problems within %s, %s"
msgstr ""
-#: templates/web/base/alert/_list.html:43
-msgid "Problems within the boundary of:"
-msgstr "Problemer indenfor grænserne af:"
-
#: templates/web/base/admin/report_edit.html:74
msgid "Property address:"
msgstr "Ejendomsadresse:"
@@ -2830,11 +2850,11 @@ msgstr "Ejendomsadresse:"
msgid "Provide an update"
msgstr "Bidrag med en opdatering"
-#: templates/web/base/report/update/form_name.html:9
+#: templates/web/base/report/update/form_name.html:10
msgid "Provide update as"
msgstr ""
-#: templates/web/base/auth/general.html:112
+#: templates/web/base/auth/general.html:114
msgid "Providing a name and password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
msgstr "Det er valgfrit at angive navn og adgangskode, men hvis du gør det kan du nemmere rapportere problemer, lave opdateringer og håndtere dine rapporter."
@@ -2844,16 +2864,15 @@ msgid "Providing a password is optional, but doing so will allow you to more eas
msgstr "Det er valgfrit at angive en adgangskode, men hvis du gør det vil det blive nemmere for dig at rapportere problemer, lave opdateringer og håndtere dine rapporter"
#: templates/web/base/report/new/form_report.html:10
-#, fuzzy
msgid "Public details"
-msgstr "Offentlig respons:"
+msgstr ""
#: templates/web/zurich/admin/report_edit.html:241
#: templates/web/zurich/admin/report_edit.html:268
msgid "Public response:"
msgstr "Offentlig respons:"
-#: templates/web/base/report/_inspect.html:152
+#: templates/web/base/report/_inspect.html:162
msgid "Public update:"
msgstr ""
@@ -2881,7 +2900,7 @@ msgstr "Spørgeskema %d sendt for problem %d"
msgid "Questionnaire filled in by problem reporter"
msgstr "Spørgeskema udfyldt af fejlrapportøren"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
#: templates/web/base/alert/updates.html:9
#: templates/web/base/around/display_location.html:1
#: templates/web/base/around/display_location.html:3
@@ -2889,11 +2908,11 @@ msgstr "Spørgeskema udfyldt af fejlrapportøren"
msgid "RSS feed"
msgstr "RSS-strøm"
-#: perllib/FixMyStreet/Cobrand/UK.pm:252 perllib/FixMyStreet/Cobrand/UK.pm:264
+#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
msgid "RSS feed for %s"
msgstr "RSS-strøm for %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
+#: perllib/FixMyStreet/Cobrand/UK.pm:264 perllib/FixMyStreet/Cobrand/UK.pm:276
msgid "RSS feed for %s ward, %s"
msgstr "RSS-strøm for %s bydel, %s"
@@ -2901,25 +2920,25 @@ msgstr "RSS-strøm for %s bydel, %s"
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:179
-#: perllib/FixMyStreet/Cobrand/UK.pm:278 perllib/FixMyStreet/Cobrand/UK.pm:290
+#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
msgid "RSS feed of %s"
msgstr "RSS-strøm fra %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
msgid "RSS feed of %s, within %s ward"
msgstr "RSS-strøm af %s, indenfor %s bydel"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
msgid "RSS feed of nearby problems"
msgstr "RSS-strøm med problemer i nærheden"
-#: perllib/FixMyStreet/Cobrand/Default.pm:834
+#: perllib/FixMyStreet/Cobrand/Default.pm:839
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:136
-#: perllib/FixMyStreet/Cobrand/UK.pm:216
+#: perllib/FixMyStreet/Cobrand/UK.pm:222
msgid "RSS feed of problems within %s"
msgstr "RSS-strøm for problemer indenfor %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:222
+#: perllib/FixMyStreet/Cobrand/UK.pm:228
msgid "RSS feed of problems within %s ward"
msgstr "RSS-strøm for problemer indenfor %s bydel"
@@ -2938,7 +2957,7 @@ msgstr "RSS-strøm med opdateringer for dette problem"
msgid "Receive email when updates are left on this problem."
msgstr "Modtag e-post når der er opdateringer på dette problem"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:801
+#: perllib/FixMyStreet/DB/Result/Problem.pm:738
msgid "Received by %s moments later"
msgstr ""
@@ -2948,15 +2967,11 @@ msgstr ""
msgid "Recent local problems, %s"
msgstr ""
-#: templates/web/base/reports/index.html:27
-msgid "Recently <br>fixed"
-msgstr "Nyligt løste <br>problemer"
-
#: templates/web/base/front/recent.html:11
msgid "Recently reported problems"
msgstr "Nyligt meldte problemer"
-#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:60
msgid "Recently updated"
msgstr ""
@@ -2964,13 +2979,23 @@ msgstr ""
msgid "Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. If your problem is not appropriate for submission via this site remember that you can contact your council directly using their own website."
msgstr "Husk at FixMinVej primært er lavet for at rapportere fysiske problemer som kan blive fikset. Hvis dit problem ikke er egnet til at sende ind via denne tjeneste, så husk at du kan kontakte myndigheden direkte via deres egen netside."
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/extra-metadata-form.html:68
+#, fuzzy
+msgid "Remove"
+msgstr "Fjern markering"
+
+#: templates/web/base/admin/extra-metadata-form.html:4
+#, fuzzy
+msgid "Remove field"
+msgstr "Fjern markering"
+
+#: templates/web/base/admin/report_blocks.html:23
msgid "Remove flag"
msgstr "Fjern markering"
#: templates/web/base/report/_item.html:12
#: templates/web/base/report/_item.html:9
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:18
#: templates/web/base/report/_main.html:26
msgid "Remove from shortlist"
@@ -2980,7 +3005,7 @@ msgstr ""
msgid "Remove from site"
msgstr ""
-#: templates/web/base/admin/report_edit.html:166
+#: templates/web/base/admin/report_edit.html:154
#: templates/web/base/admin/update_edit.html:69
#: templates/web/zurich/admin/update_edit.html:35
msgid "Remove photo (can't be undone!)"
@@ -2994,13 +3019,13 @@ msgstr ""
msgid "Report"
msgstr "Rapport"
-#: templates/web/base/report/_inspect.html:10
-#: templates/web/base/report/_item.html:76
+#: templates/web/base/report/_inspect.html:14
+#: templates/web/base/report/_item.html:78
msgid "Report ID:"
msgstr ""
#: templates/web/base/header_logo.html:2
-#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:19
+#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:18
#: templates/web/zurich/nav_over_content.html:4
msgid "Report a problem"
msgstr "Rapportér et problem"
@@ -3010,7 +3035,7 @@ msgstr "Rapportér et problem"
msgid "Report abuse"
msgstr "Rapportér misbrug"
-#: templates/web/base/report/new/form_user_loggedin.html:16
+#: templates/web/base/report/new/form_user_loggedin.html:17
msgid "Report as"
msgstr ""
@@ -3019,9 +3044,8 @@ msgid "Report on %s"
msgstr "Rapport på %s"
#: templates/web/base/dashboard/index.html:137
-#, fuzzy
msgid "Report state:"
-msgstr "Rapportér misbrug"
+msgstr ""
#: templates/web/base/report/new/fill_in_details_form.html:1
#: templates/web/base/report/new/login_success_form.html:1
@@ -3034,7 +3058,7 @@ msgstr "Rapportér dit problem"
msgid "Report, view, or discuss local problems"
msgstr "Rapportér, find eller diskutér lokale problemer"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:653
+#: perllib/FixMyStreet/DB/Result/Problem.pm:590
#: templates/web/base/contact/index.html:55
msgid "Reported anonymously at %s"
msgstr "Rapporteret anonymt %s"
@@ -3044,7 +3068,7 @@ msgstr "Rapporteret anonymt %s"
msgid "Reported before"
msgstr "Rapporteret tidligere"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:677
+#: perllib/FixMyStreet/DB/Result/Problem.pm:614
#: templates/web/base/contact/index.html:57
msgid "Reported by %s at %s"
msgstr "Publiceret af %s %s"
@@ -3058,34 +3082,30 @@ msgstr ""
msgid "Reported in the %s category"
msgstr "Rapporteret i kategorien %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:650
+#: perllib/FixMyStreet/DB/Result/Problem.pm:587
msgid "Reported in the %s category anonymously at %s"
msgstr "Rapporteret i kategorien %s anonymt %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:611
msgid "Reported in the %s category by %s at %s"
msgstr "Rapporteret i kategorien %s af %s %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:647
+#: perllib/FixMyStreet/DB/Result/Problem.pm:584
msgid "Reported via %s anonymously at %s"
msgstr "Publiceret af %s anonymt %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:671
+#: perllib/FixMyStreet/DB/Result/Problem.pm:608
msgid "Reported via %s by %s at %s"
msgstr "Rapporteret af %s af %s %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:644
+#: perllib/FixMyStreet/DB/Result/Problem.pm:581
msgid "Reported via %s in the %s category anonymously at %s"
msgstr "Rapporteret af %s i kategorien %s anonymt %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:666
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
msgid "Reported via %s in the %s category by %s at %s"
msgstr "Rapporteret af %s i kategorien %s af %s %s"
-#: templates/web/base/reports/index.html:24
-msgid "Reported within the last four weeks"
-msgstr "Rapporteret inden for de seneste fire uger"
-
#: templates/web/zurich/admin/report_edit-sdm.html:38
#: templates/web/zurich/admin/report_edit.html:57
msgid "Reported:"
@@ -3101,13 +3121,13 @@ msgid "Reporting a problem"
msgstr "Rapporterer et problem"
#: perllib/FixMyStreet/Cobrand/Default.pm:655
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:383
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:388
#: templates/web/base/dashboard/index.html:134
#: templates/web/zurich/header.html:52
msgid "Reports"
msgstr "Rapporter"
-#: perllib/FixMyStreet/Cobrand/UK.pm:329 perllib/FixMyStreet/Cobrand/UK.pm:333
+#: perllib/FixMyStreet/Cobrand/UK.pm:333 perllib/FixMyStreet/Cobrand/UK.pm:335
msgid "Reports are limited to %s characters in length. Please shorten your report"
msgstr "Rapporterne begrænses til %s tegn. Rapporten skal forkortes."
@@ -3115,31 +3135,53 @@ msgstr "Rapporterne begrænses til %s tegn. Rapporten skal forkortes."
msgid "Reports awaiting approval"
msgstr "Rapporter som venter på godkendelse"
+#: templates/web/base/alert/_list.html:54
+#, fuzzy
+msgid "Reports by destination"
+msgstr "Publiceret af %s %s"
+
#: templates/web/base/admin/user-form.html:107
msgid "Reports made by trusted users will be sent to the responsible body without being inspected first."
msgstr ""
+#: templates/web/base/alert/_list.html:15
+msgid "Reports near %s are sent to different councils, depending on the type of problem."
+msgstr ""
+
#: templates/web/zurich/admin/index-sdm.html:10
msgid "Reports published"
msgstr "Publicerede rapporter"
-#: templates/web/base/js/translation_strings.html:68
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:71
msgid "Reports saved offline."
-msgstr "Rapportér et problem"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#, fuzzy
+msgid "Reports sent to %s"
+msgstr "Rapport på %s"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:290 perllib/FixMyStreet/Cobrand/UK.pm:302
+#, fuzzy
+msgid "Reports sent to %s, within %s ward"
+msgstr "RSS-strøm af %s, indenfor %s bydel"
#: templates/web/base/admin/index.html:56
msgid "Reports waiting to be sent"
msgstr ""
-#: templates/web/base/admin/contact-form.html:89
+#: templates/web/base/admin/contact-form.html:90
msgid "Reports will automatically be sent without needing to be inspected if the user's <strong>reputation</strong> is at or above this value. Set to <strong>0</strong> if all reports must be inspected regardless."
msgstr ""
-#: templates/web/base/admin/contact-form.html:94
+#: templates/web/base/admin/contact-form.html:95
msgid "Reputation threshold"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:20
+msgid "Required"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:84
msgid "Resend report"
msgstr "Send rapport igen"
@@ -3175,7 +3217,7 @@ msgstr ""
msgid "Revert to original"
msgstr ""
-#: templates/web/base/report/_main.html:95
+#: templates/web/base/report/_main.html:99
msgid "Revert to original text"
msgstr ""
@@ -3198,16 +3240,16 @@ msgstr "Vejoperatør for denne navngivne vej (udledt af vejens referencenummer o
msgid "Road operator for this named road (from OpenStreetMap): %s"
msgstr "Vejoperatør for denne navngivne vej (fra OpenStreetMap): %s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1747
-#: templates/web/base/admin/report_edit.html:163
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1852
+#: templates/web/base/admin/report_edit.html:151
#: templates/web/base/admin/update_edit.html:66
#: templates/web/zurich/admin/report_edit.html:118
msgid "Rotate Left"
msgstr "Rotér til venstre"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: templates/web/base/admin/report_edit.html:164
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: templates/web/base/admin/report_edit.html:152
#: templates/web/base/admin/update_edit.html:67
#: templates/web/zurich/admin/report_edit.html:119
msgid "Rotate Right"
@@ -3222,33 +3264,41 @@ msgstr ""
msgid "Satellite"
msgstr "Satelit"
-#: templates/web/base/report/_inspect.html:168
-#, fuzzy
+#: templates/web/base/report/_inspect.html:182
msgid "Save + close as duplicate"
-msgstr "markeret som duplikeret rapport"
+msgstr ""
-#: templates/web/base/admin/contact-form.html:137
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/contact-form.html:138
+#: templates/web/base/admin/reportextrafields/edit.html:64
+#: templates/web/base/admin/responsepriorities/edit.html:58
#: templates/web/base/admin/template_edit.html:46
-#: templates/web/base/report/_inspect.html:168
-#: templates/web/base/report/_main.html:113
-#: templates/web/base/report/update.html:60
+#: templates/web/base/report/_inspect.html:182
+#: templates/web/base/report/_main.html:117
+#: templates/web/base/report/update.html:69
#: templates/web/zurich/admin/body.html:62
-#: templates/web/zurich/admin/contact-form.html:20
+#: templates/web/zurich/admin/contact-form.html:22
#: templates/web/zurich/admin/template_edit.html:29
msgid "Save changes"
msgstr "Gem ændringer"
-#: templates/web/base/report/_inspect.html:148
+#: templates/web/base/admin/reportextrafields/edit.html:64
+msgid "Save new fields"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:158
msgid "Save with a public update"
msgstr ""
-#. ('This is followed by a progress count, e.g. 3/5')
#. ("This is followed by a progress count, e.g. 3/5")
-#: templates/web/base/js/translation_strings.html:69
+#: templates/web/base/js/translation_strings.html:72
msgid "Saving reports offline"
msgstr ""
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:132
+#, fuzzy
+msgid "Scheduled"
+msgstr "Handling planlagt"
+
#: templates/web/base/admin/index.html:26
#: templates/web/base/admin/reports.html:1
#: templates/web/zurich/admin/reports.html:1
@@ -3282,41 +3332,41 @@ msgstr "Søgningen fandt ingen brugere."
msgid "See our privacy policy"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:715
+#: perllib/FixMyStreet/Cobrand/Default.pm:720
msgid "See user detail for reports created as the council"
msgstr ""
-#: templates/web/base/admin/body-form.html:39
+#: templates/web/base/admin/body-form.html:41
#: templates/web/zurich/admin/body-form.html:16
msgid "Select a body"
msgstr "Vælg en myndighed"
-#: templates/web/base/reports/index.html:12
-msgid "Select a particular council to see the reports sent there."
-msgstr "Vælg en bestemt myndighed for at se problemer som er sendt derhen."
-
-#: templates/web/base/admin/body-form.html:77
+#: templates/web/base/admin/body-form.html:79
#: templates/web/zurich/admin/body-form.html:26
msgid "Select an area"
msgstr "Vælg et område"
-#: templates/web/base/alert/_list.html:11
-msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
+#: templates/web/base/admin/responsepriorities/edit.html:33
+msgid "Select if this is the default priority"
msgstr ""
#: templates/web/base/admin/category-checkboxes.html:6
msgid "Select:"
msgstr ""
+#: templates/web/base/contact/index.html:107
+msgid "Send"
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:109
msgid "Send extended Open311 statuses with service request updates"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:826
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:831
msgid "Sent report back"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:804
+#: perllib/FixMyStreet/DB/Result/Problem.pm:741
msgid "Sent to %s %s later"
msgstr "Sendt til %s %s senere"
@@ -3329,7 +3379,7 @@ msgstr "Sendt:"
msgid "Service:"
msgstr "Tjeneste:"
-#: templates/web/base/report/_inspect.html:31
+#: templates/web/base/report/_inspect.html:41
msgid "Set to my current location"
msgstr ""
@@ -3338,49 +3388,56 @@ msgid "Share"
msgstr "Del"
#: templates/web/base/main_nav_items.html:10
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:21
#: templates/web/base/report/_main.html:29
msgid "Shortlist"
msgstr ""
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/reports/body.html:32
+msgid "Shortlist all visible"
+msgstr ""
+
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:20
#: templates/web/base/report/_main.html:25
#: templates/web/base/reports/_list-filters.html:9
msgid "Shortlisted"
msgstr ""
-#: templates/web/base/report/_main.html:144
+#: templates/web/base/report/_item.html:15
+#: templates/web/base/report/_main.html:148
msgid "Shortlisted by %s"
msgstr ""
#: templates/web/base/report/update.html:20
-#, fuzzy
msgid "Show Photo?"
-msgstr "Vis gamle"
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:26
+msgid "Show all updates"
+msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:54
+#: templates/web/base/report/new/form_user_loggedin.html:56
#: templates/web/base/report/new/form_user_loggedout_by_email.html:22
-#: templates/web/base/report/update/form_name.html:33
+#: templates/web/base/report/update/form_name.html:37
msgid "Show my name publicly"
msgstr "Vis mit navn offentligt"
#: templates/web/base/report/update.html:17
-#, fuzzy
msgid "Show name publicly?"
-msgstr "Vis mit navn offentligt"
+msgstr ""
#: templates/web/base/around/display_location.html:69
msgid "Show old"
msgstr "Vis gamle"
-#: templates/web/base/report/_main.html:79
-#, fuzzy
+#: templates/web/base/report/_main.html:83
msgid "Show photo"
-msgstr "Vis gamle"
+msgstr ""
#: templates/web/base/around/display_location.html:60
+#: templates/web/base/js/translation_strings.html:54
msgid "Show pins"
msgstr "Vis nåle"
@@ -3388,16 +3445,20 @@ msgstr "Vis nåle"
msgid "Show reporter&rsquo;s name"
msgstr ""
-#: templates/web/base/auth/general.html:117
+#: templates/web/base/reports/index.html:62
+msgid "Show reports in your area"
+msgstr ""
+
+#: templates/web/base/auth/general.html:119
#: templates/web/base/auth/general.html:3
-#: templates/web/base/auth/general.html:86
+#: templates/web/base/auth/general.html:88
#: templates/web/base/main_nav_items.html:6
#: templates/web/zurich/auth/general.html:18
#: templates/web/zurich/auth/general.html:35
msgid "Sign in"
msgstr "Log ind"
-#: templates/web/base/auth/general.html:96
+#: templates/web/base/auth/general.html:98
msgid "Sign in by email instead, providing a new password. When you click the link in your email, your password will be updated."
msgstr ""
@@ -3446,14 +3507,14 @@ msgstr ""
msgid "Sorry, there has been an error confirming your problem."
msgstr "Beklager, men der opstod et problem når vi forsøgte at bekræfte din problemrapport"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:230
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:235
#: perllib/FixMyStreet/Geocode.pm:37 perllib/FixMyStreet/Geocode/Bing.pm:38
#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:56
#: perllib/FixMyStreet/Geocode/OSM.pm:48
msgid "Sorry, we could not find that location."
msgstr "Beklager, men vi kunne ikke finde dette sted."
-#: templates/web/base/auth/general.html:9
+#: templates/web/base/auth/general.html:11
#: templates/web/base/report/display.html:29
#: templates/web/base/report/new/fill_in_details_form.html:15
msgid "Sorry, we could not log you in. Please fill in the form below."
@@ -3475,11 +3536,11 @@ msgid ""
"page wasn’t found or there was a server error. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Root.pm:107
+#: perllib/FixMyStreet/App/Controller/Root.pm:124
msgid "Sorry, you don't have permission to do that."
msgstr ""
-#: templates/web/base/reports/_list-filters.html:42
+#: templates/web/base/reports/_list-filters.html:53
msgid "Sort by"
msgstr ""
@@ -3496,17 +3557,25 @@ msgid "Start Date:"
msgstr "Start-dato:"
#: templates/web/base/admin/body.html:73
+#: templates/web/base/admin/category_edit.html:29
+#: templates/web/base/admin/contact-form.html:53
#: templates/web/base/admin/flagged.html:18
#: templates/web/base/admin/index.html:64
#: templates/web/base/admin/list_updates.html:11
#: templates/web/base/admin/reports.html:16
#: templates/web/base/admin/template_edit.html:40
-#: templates/web/base/report/_inspect.html:83
-#: templates/web/base/report/_item.html:94
+#: templates/web/base/report/_inspect.html:82
+#: templates/web/base/report/_item.html:96
#: templates/web/base/report/update/form_update.html:39
+#: templates/web/zurich/admin/contact-form.html:10
msgid "State"
msgstr "Tilstand"
+#: templates/web/base/report/update.html:48
+#, fuzzy
+msgid "State changed to:"
+msgstr "Gem ændringer"
+
#: templates/web/base/admin/report_edit.html:116
#: templates/web/base/admin/update_edit.html:28
#: templates/web/zurich/admin/report_edit-sdm.html:75
@@ -3516,8 +3585,14 @@ msgstr "Tilstand"
msgid "State:"
msgstr "Tilstand:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:640
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:386
+#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: templates/web/base/admin/states/index.html:1
+#, fuzzy
+msgid "States"
+msgstr "Tilstand"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
#: templates/web/base/admin/index.html:71 templates/web/base/admin/stats.html:1
#: templates/web/base/admin/stats_by_state.html:1
#: templates/web/zurich/admin/stats.html:1 templates/web/zurich/header.html:65
@@ -3539,6 +3614,10 @@ msgstr "Fortsat åben via spørgeskema, %s"
msgid "Street View"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:46
+msgid "String"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:192
msgid "Subcategory: %s"
msgstr "Underkategori: %s"
@@ -3547,7 +3626,7 @@ msgstr "Underkategori: %s"
msgid "Subdivision/Body"
msgstr "Underafdeling/myndighed"
-#: templates/web/base/contact/index.html:88
+#: templates/web/base/contact/index.html:92
msgid "Subject"
msgstr "Emne"
@@ -3557,14 +3636,14 @@ msgid "Subject:"
msgstr "Emne:"
#: templates/web/base/questionnaire/creator_fixed.html:19
-#: templates/web/base/report/new/form_user_loggedin.html:61
+#: templates/web/base/report/new/form_user_loggedin.html:63
#: templates/web/base/report/new/form_user_loggedout_by_email.html:36
#: templates/web/base/report/new/form_user_loggedout_password.html:11
#: templates/web/zurich/report/new/fill_in_details_form.html:73
msgid "Submit"
msgstr "Send ind"
-#: templates/web/base/admin/report_edit.html:174
+#: templates/web/base/admin/report_edit.html:162
#: templates/web/base/admin/report_edit.html:24
#: templates/web/base/admin/update_edit.html:77
#: templates/web/base/admin/user-form.html:170
@@ -3578,8 +3657,8 @@ msgstr "Indsend ændringer"
msgid "Submit questionnaire"
msgstr "Indsend spørgeskema"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:164
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:893
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:898
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:6
#: templates/web/zurich/admin/index-dm.html:23
@@ -3589,36 +3668,38 @@ msgstr "Indsend spørgeskema"
msgid "Submitted"
msgstr "Sendt ind"
+#: templates/web/base/alert/_list.html:77
+#: templates/web/base/alert/_list.html:80
#: templates/web/base/alert/updates.html:23
#: templates/web/base/report/display_tools.html:51
msgid "Subscribe"
msgstr "Abonnér"
-#: templates/web/base/alert/_list.html:93
-msgid "Subscribe me to an email alert"
+#: templates/web/base/alert/_list.html:72
+#, fuzzy
+msgid "Subscribe by email"
msgstr "Jeg ønsker at abonnere på e-postvarsel"
#: templates/web/base/report/new/form_report.html:19
msgid "Summarise the problem"
msgstr ""
-#: templates/web/base/admin/contact-form.html:129
+#: templates/web/base/admin/contact-form.html:130
msgid "Summarise your changes"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:638
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:382
+#: perllib/FixMyStreet/Cobrand/Default.pm:637
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:387
#: templates/web/base/admin/bodies.html:29
#: templates/web/base/admin/index.html:1 templates/web/base/status/index.html:1
#: templates/web/base/status/index.html:3
#: templates/web/zurich/admin/index-dm.html:1
#: templates/web/zurich/admin/index-sdm.html:1
-#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:13
+#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:12
#: templates/web/zurich/header.html:49
msgid "Summary"
msgstr "Opsummering"
-#: templates/web/base/reports/index.html:4
#: templates/web/zurich/reports/index.html:0
#: templates/web/zurich/reports/index.html:4
msgid "Summary reports"
@@ -3642,7 +3723,7 @@ msgid "Template &laquo;%s&raquo;"
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:661
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:393
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
#: templates/web/zurich/header.html:69
msgid "Templates"
msgstr ""
@@ -3671,7 +3752,7 @@ msgstr "Tak for at du rapporterede dette problem!"
msgid "Thank you for trying to confirm your update or problem. We seem to have an error ourselves though, so <a href=\"%s\">please let us know what went on</a> and we'll look into it."
msgstr "Tak for at du forsøger at bekræfte din opdatering eller dit problem. Vi ser ud til at have en fejl hos os, så <a href=\"%s\">vær sød at fortælle os hvad som skete</a> så skal vi se på sagen."
-#: templates/web/base/tokens/confirm_update.html:15
+#: templates/web/base/tokens/confirm_update.html:16
msgid "Thank you for updating this issue!"
msgstr "Tak for at du opdaterede dette problem!"
@@ -3699,7 +3780,7 @@ msgstr "Billedet ser ikke ud til at være blevet lagt op rigtigt (%s), prøv ige
msgid "That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again."
msgstr "Det sted dækkes ikke af nogen myndighed, måske det er til søs eller udenfor landet - venligst forsøgm med et andet sted."
-#: perllib/FixMyStreet/App/Controller/Location.pm:129
+#: perllib/FixMyStreet/App/Controller/Location.pm:127
msgid "That location does not appear to be in the UK; please try again."
msgstr "Det sted virker ikke til at være i Storbritannien. Venligst prøv igen."
@@ -3709,23 +3790,23 @@ msgstr "Det sted virker ikke til at være i Storbritannien. Venligst prøv igen.
msgid "That postcode was not recognised, sorry."
msgstr "Det postnummer blev ikke genkendt, beklager."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:762
+#: perllib/FixMyStreet/App/Controller/Admin.pm:850
msgid "That problem has been marked as sent."
msgstr "Det problem er blevet markeret som sendt."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:755
+#: perllib/FixMyStreet/App/Controller/Admin.pm:843
msgid "That problem will now be resent."
msgstr "Det problem vil nu blive sendt igen."
-#: perllib/FixMyStreet/App/Controller/Report.pm:137
+#: perllib/FixMyStreet/App/Controller/Report.pm:134
msgid "That report cannot be viewed on %s."
msgstr "Denne rapport kan ikke vises på %s."
-#: perllib/FixMyStreet/App/Controller/Report.pm:131
+#: perllib/FixMyStreet/App/Controller/Report.pm:128
msgid "That report has been removed from FixMyStreet."
msgstr "Den rapport er blevet fjernet fra FixMinVej."
-#: templates/web/base/admin/contact-form.html:25
+#: templates/web/base/admin/contact-form.html:27
msgid ""
"The <strong>email address</strong> is the destination to which reports about this category will be sent. \n"
" Other categories for this body may have the same email address."
@@ -3751,10 +3832,10 @@ msgstr ""
"<Strong>Jurisdiktion</strong> er kun nødvendig hvis leveringspunktet betjener mere \n"
"end én. Hvis myndigheden kører sit eget leveringspunkt, kan du normalt lade dette stå tomt."
-#: templates/web/base/admin/body-form.html:100
-#: templates/web/base/admin/body-form.html:101
-#: templates/web/base/admin/contact-form.html:103
+#: templates/web/base/admin/body-form.html:102
+#: templates/web/base/admin/body-form.html:103
#: templates/web/base/admin/contact-form.html:104
+#: templates/web/base/admin/contact-form.html:105
msgid ""
"The <strong>send method</strong> determines how problem reports will be sent to the body.\n"
" If you leave this blank, <strong>send method defaults to email</strong>."
@@ -3775,6 +3856,10 @@ msgstr ""
"Administrationens <strong>navn</strong> identificerer instansen (for eksempel, <em>Borsetshire District Council</em>)\n"
"og kan blive vist udadtil."
+#: templates/web/base/admin/extra-metadata-form.html:12
+msgid "The code used to store this field value in the database. e.g. <code>address</code> would be available as <code>problem.extra.address</code> in the templates."
+msgstr ""
+
#: templates/web/base/report/new/fill_in_details_text.html:1
#: templates/web/base/report/new/fill_in_details_text.html:3
msgid "The council won&rsquo;t be able to help unless you leave as much detail as you can. Please describe the exact location of the problem (e.g. on a wall), what it is, how long it has been there, a description (and a photo of the problem if you have one), etc."
@@ -3789,11 +3874,15 @@ msgstr ""
msgid "The diligency prize league table shows editors' activity (who's been editing the most records)."
msgstr "The diligency prize league tabellen viser redaktørernes aktivitet, (hvem som har redigeret flest)."
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:61
-#: perllib/FixMyStreet/App/Controller/Reports.pm:82
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:63
+#: perllib/FixMyStreet/App/Controller/Reports.pm:103
msgid "The error was: %s"
msgstr "Fejlen var: %s"
+#: templates/web/base/admin/extra-metadata-form.html:30
+msgid "The field name as shown to the user on the report form."
+msgstr ""
+
#: templates/web/base/open311/index.html:78
msgid "The following Open311 v2 attributes are returned for each request: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
msgstr "De følgende Open311 v2-atributter bliver returneret for hver forespørgsel: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code og service_name."
@@ -3832,10 +3921,14 @@ msgstr "De sidste problemer indenfor grænsen til {{NAME}} rapporteret af bruger
msgid "The link might have expired, or maybe you didn&rsquo;t quite copy and paste it correctly."
msgstr ""
-#: templates/web/base/admin/body-form.html:64
+#: templates/web/base/admin/body-form.html:66
msgid "The list of available areas is being provided by the MapIt service at %s."
msgstr "Listen over tilgængelige områder kommer fra MapIt-tjenesten på %s."
+#: templates/web/base/admin/extra-metadata-form.html:6
+msgid "The ordering of this field on the report page. Fields are shown in ascending order according to this value."
+msgstr ""
+
#: templates/web/base/auth/change_password.html:22
#: templates/web/base/auth/change_password.html:26
msgid "The passwords do not match"
@@ -3845,9 +3938,9 @@ msgstr "Adgangskoderne er ikke ens"
msgid "The requested URL '%s' was not found on this server"
msgstr "Den forespurgte URL '%s' blev ikke fundet på denne server"
-#: templates/web/base/alert/_list.html:17
-msgid "The simplest alert is our geographic one:"
-msgstr "Den simpleste besked er vores geografiske:"
+#: templates/web/base/admin/extra-metadata-form.html:42
+msgid "The type of input field to show to the user. <strong>Text</strong> is a simple text field, <strong>List</strong> is a drop-down selection."
+msgstr ""
#: perllib/FixMyStreet/Script/Reports.pm:96
msgid "The user could not locate the problem on a map, but to see the area around the location they entered"
@@ -3868,18 +3961,18 @@ msgstr ""
msgid "There are no reports to show."
msgstr "Der er ingen rapporter at vise."
-#: perllib/FixMyStreet/App/Controller/Reports.pm:79
+#: perllib/FixMyStreet/App/Controller/Reports.pm:100
msgid "There was a problem showing the All Reports page. Please try again later."
msgstr "Der var problemer med at vise 'Alle rapporter'-siden. Venligst prøv igen senere."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:137
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:60
+#: perllib/FixMyStreet/App/Controller/Contact.pm:138
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:62
msgid "There was a problem showing this page. Please try again later."
msgstr "Der var problemer med at vise denne side. Venligst prøv igen senere."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:758
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:785
#: perllib/FixMyStreet/App/Controller/Report/Update.pm:152
-#: templates/web/base/auth/general.html:53
+#: templates/web/base/auth/general.html:55
#: templates/web/zurich/auth/general.html:28
msgid "There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the &lsquo;sign in by email&rsquo; section of the form."
msgstr "Der var problemer med din e-post/adgangskode-kombination. Hvis du har glemt din adgangskode, eller hvis du ikke har en, så udfyld venligst 'Log ind via e-post'-delen af skemaet"
@@ -3892,7 +3985,7 @@ msgstr "Der var problemer med din epost/adgangskode-kombination. Vær sød at f
msgid "There was a problem with your update. Please try again."
msgstr "Der var problemer med din opdatering. Vær sød at forsøge igen."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:141
+#: perllib/FixMyStreet/App/Controller/Contact.pm:142
msgid "There were problems with your report. Please see below."
msgstr "Der var problemer med din rapport. Venligst se nedenfor."
@@ -3951,8 +4044,8 @@ msgstr ""
msgid "This body has no contacts. This means that currently problems reported to this body <strong>will not be sent</strong>."
msgstr "Denne instans har ingen kontakter. Det betyder at i øjeblikket vil rapporterede problemer til denne instans <strong>ikke blive sendt</strong>."
-#: templates/web/base/admin/body-form.html:58
-#: templates/web/base/admin/body-form.html:59
+#: templates/web/base/admin/body-form.html:60
+#: templates/web/base/admin/body-form.html:61
msgid ""
"This body will only be sent reports for problems that are located in the <strong>area covered</strong>.\n"
" A body will not receive any reports unless it covers at least one area."
@@ -3968,8 +4061,9 @@ msgstr "Denne e-post er blevet sendt til begge myndigheder som dækker stedet fo
msgid "This email has been sent to several councils covering the location of the problem, as the category selected is provided for all of them; please ignore it if you're not the correct council to deal with the issue."
msgstr "Denne e-post er blevet sendt til flere myndigheder som dækker stedet for problemet, da den valgte kategori er tilgængelig for disse. Vær sød at ignorere e-posten hvis I ikke er korrekt myndighed for at håndtere denne sag."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:881
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:925
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1017
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:910
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:954
#: perllib/FixMyStreet/App/Controller/Report/New.pm:971
#: perllib/FixMyStreet/Cobrand/UK.pm:45
msgid "This information is required"
@@ -3979,46 +4073,41 @@ msgstr "Denne information er påkrævet"
msgid "This is a developer site; things might break at any time, and the database will be periodically deleted."
msgstr "Dette er et udviklernetsted.Ting kan gå i stykker når som helst og databasen vil blive slettet periodisk."
-#: templates/web/base/reports/index.html:10
-msgid "This is a summary of all reports on this site."
-msgstr "Dette er en oplistning af alle problemerne i denne tjeneste."
-
-#: templates/web/base/report/new/form_report.html:56
+#: templates/web/base/report/new/form_report.html:58
msgid "This pothole has been here for two months and…"
msgstr ""
-#: templates/web/base/report/update/form_update.html:63
+#: templates/web/base/report/update/form_update.html:55
msgid "This problem has been fixed"
msgstr "Dette problem er løst"
-#: templates/web/base/report/update/form_update.html:56
+#: templates/web/base/report/update/form_update.html:48
msgid "This problem has not been fixed"
msgstr "Dette problem er ikke blevet løst"
-#: templates/web/base/report/update/form_update.html:54
-#, fuzzy
+#: templates/web/base/report/update/form_update.html:46
msgid "This problem is still ongoing"
-msgstr "Dette problem er ikke blevet løst"
+msgstr ""
#: templates/web/base/report/duplicate-no-updates.html:3
msgid "This report is a duplicate. Please leave updates on the original report:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:161
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:162
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:166
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:167
#: templates/web/zurich/report/_main.html:14
msgid "This report is awaiting moderation."
msgstr "Denne rapport afventer moderation"
-#: perllib/FixMyStreet/Script/Alerts.pm:101
+#: perllib/FixMyStreet/Script/Alerts.pm:98
msgid "This report is currently marked as closed."
msgstr "Denne rapport er for tiden markeret som lukket."
-#: perllib/FixMyStreet/Script/Alerts.pm:99
+#: perllib/FixMyStreet/Script/Alerts.pm:96
msgid "This report is currently marked as fixed."
msgstr "Denne rapport er for tiden markeret som fikset."
-#: perllib/FixMyStreet/Script/Alerts.pm:103
+#: perllib/FixMyStreet/Script/Alerts.pm:100
msgid "This report is currently marked as open."
msgstr "Denne rapport er for tiden markeret som åben."
@@ -4037,7 +4126,7 @@ msgstr "Denne netside indeholder også et billede af problemet, sendt ind af bru
msgid "Time spent (in minutes):"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Default.pm:638
#: templates/web/base/admin/timeline.html:1
msgid "Timeline"
msgstr "Tidslinje"
@@ -4066,10 +4155,26 @@ msgstr ""
msgid "To find out what local alerts we have for you, please enter your postcode or street name and area"
msgstr "Du finder lokale problemer ved at søge på dit postnummer, vejnavn eller sted"
+#: templates/web/base/admin/reportextrafields/edit.html:19
+msgid "To limit this collection of fields to a single cobrand, select it here."
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:40
+msgid "To limit this collection of fields to a single language, select it here."
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:95
msgid "To view a map of the precise location of this issue"
msgstr "For at se et kort med en mere præsis placering for dette problem."
+#: templates/web/base/reports/index.html:97
+msgid "Top 5 most used categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:83
+msgid "Top 5 responsive councils"
+msgstr ""
+
#: templates/web/base/admin/questionnaire.html:24
#: templates/web/base/admin/stats.html:24
#: templates/web/base/admin/stats.html:43
@@ -4083,9 +4188,8 @@ msgid "Total marked"
msgstr ""
#: templates/web/base/dashboard/index.html:71
-#, fuzzy
msgid "Total marked as fixed"
-msgstr "markeret som fikset"
+msgstr ""
#: templates/web/base/dashboard/index.html:125
msgid "Total not marked"
@@ -4096,16 +4200,24 @@ msgstr ""
msgid "Total reports received"
msgstr ""
-#: templates/web/base/report/_inspect.html:124
-#: templates/web/base/report/_item.html:102
+#: templates/web/base/report/_inspect.html:134
+#: templates/web/base/report/_item.html:104
msgid "Traffic management required?"
msgstr ""
+#: templates/web/base/admin/_translations.html:7
+msgid "Translation"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:2
+msgid "Translations"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:111
msgid "Trusted by bodies:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:721
+#: perllib/FixMyStreet/Cobrand/Default.pm:726
msgid "Trusted to make reports that don't need to be inspected"
msgstr ""
@@ -4121,8 +4233,14 @@ msgstr "Prøv igen"
msgid "Try emailing us directly:"
msgstr "Forsøg at sende epost direkte til os:"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:21
+#: templates/web/base/admin/extra-metadata-form.html:44
+#: templates/web/base/admin/states/index.html:10
+#: templates/web/base/admin/states/index.html:100
+msgid "Type"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:59
+#: templates/web/base/admin/contact-form.html:55
#: templates/web/base/admin/update_edit.html:30
#: templates/web/zurich/admin/report_edit-sdm.html:66
#: templates/web/zurich/admin/report_edit.html:94
@@ -4130,7 +4248,6 @@ msgstr "Forsøg at sende epost direkte til os:"
msgid "Unconfirmed"
msgstr "Ubekræftet"
-#: templates/web/base/reports/_list-filters.html:12
#: templates/web/base/reports/_list-filters.html:5
msgid "Unfixed reports"
msgstr ""
@@ -4144,14 +4261,14 @@ msgid "Unknown alert type"
msgstr "Ukendt varsel-type"
#: perllib/FixMyStreet/App/Controller/Photo.pm:109
-#: perllib/FixMyStreet/App/Controller/Root.pm:124
+#: perllib/FixMyStreet/App/Controller/Root.pm:141
#: templates/web/base/js/translation_strings.html:38
msgid "Unknown error"
msgstr "Ukendt fejl"
-#: perllib/FixMyStreet/App/Controller/Report.pm:115
+#: perllib/FixMyStreet/App/Controller/Report.pm:112
+#: perllib/FixMyStreet/App/Controller/Report.pm:118
#: perllib/FixMyStreet/App/Controller/Report.pm:121
-#: perllib/FixMyStreet/App/Controller/Report.pm:124
msgid "Unknown problem ID"
msgstr "Ukendt problem-Id"
@@ -4159,10 +4276,11 @@ msgstr "Ukendt problem-Id"
msgid "Unshortlisted"
msgstr ""
-#: templates/web/base/report/_item.html:24
+#: templates/web/base/report/_item.html:26
msgid "Up one"
msgstr ""
+#: templates/web/base/admin/states/index.html:76
#: templates/web/base/report/update/form_update.html:29
msgid "Update"
msgstr "Opdatering"
@@ -4179,7 +4297,7 @@ msgstr "Opdateringen nedenfor lagt ind anonymt %s"
msgid "Update below added by %s at %s"
msgstr "Opdateringen nedenfor tilføjet af %s %s"
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Update body"
msgstr "Opdatér myndighed"
@@ -4215,13 +4333,23 @@ msgstr "Opdatér tilstanden"
msgid "Updated"
msgstr "Opdateret"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1157
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1221
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1384
-#: perllib/FixMyStreet/App/Controller/Admin.pm:822
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:762
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:787
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:857
+#: perllib/FixMyStreet/DB/Result/Comment.pm:249
+#, fuzzy
+msgid "Updated by <strong>%s</strong> (%s) at %s"
+msgstr "Sendt ind af <strong>%s</strong> (%s) %s"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:251
+#, fuzzy
+msgid "Updated by <strong>%s</strong> at %s"
+msgstr "Sendt ind af <strong>%s</strong> %s"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1262
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1326
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1489
+#: perllib/FixMyStreet/App/Controller/Admin.pm:910
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:767
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:792
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:862
msgid "Updated!"
msgstr "Opdateret!"
@@ -4231,7 +4359,7 @@ msgstr "Opdateret!"
msgid "Updates"
msgstr "Opdateringer"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:133
+#: perllib/FixMyStreet/DB/Result/Comment.pm:134
msgid "Updates are limited to %s characters in length. Please shorten your update"
msgstr "Opdateringer er begrænset til %s tegn i længde. Venligst skriv en kortere tekst."
@@ -4245,11 +4373,22 @@ msgstr "Opdateringer af {{title}}"
msgid "Updates to this problem, %s"
msgstr ""
+#: templates/web/base/admin/contact-form.html:43
+#: templates/web/base/admin/contact-form.html:44
+msgid ""
+"Use <strong>confirmed</strong> to indicate that this contact has been\n"
+"confirmed as correct. If you are not sure of the origin or validity of the\n"
+"contact, use <strong>unconfirmed</strong>. <strong>inactive</strong> will\n"
+"remove the category from use when reporting problems, but keep it available in\n"
+"map filters, and <strong>deleted</strong> will remove the category from there\n"
+"as well."
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:65
msgid "Use Open311 update-sending extension"
msgstr ""
-#: templates/web/base/admin/contact-form.html:124
+#: templates/web/base/admin/contact-form.html:125
msgid "Use this field to record details that are only displayed in the admin. Input is not shown publicly, and is not sent to the body."
msgstr ""
@@ -4262,27 +4401,26 @@ msgstr ""
msgid "User ID to attribute fetched comments to"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1700
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1805
msgid "User flag removed"
msgstr "Brugermarkering fjernet"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1672
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1777
msgid "User flagged"
msgstr "Bruger markeret"
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:58
-#, fuzzy
msgid "User has marked as fixed"
-msgstr "markeret som fikset"
+msgstr ""
#: templates/web/base/admin/users.html:5
msgid "User search finds matches in users' names and email addresses."
msgstr "Brugersøgning finder træf på brugernavne og epostadresser. "
#: perllib/FixMyStreet/Cobrand/Default.pm:669
-#: perllib/FixMyStreet/Cobrand/Default.pm:723
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
+#: perllib/FixMyStreet/Cobrand/Default.pm:728
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:403
#: templates/web/base/admin/flagged.html:29 templates/web/zurich/header.html:61
msgid "Users"
msgstr "Brugere"
@@ -4291,9 +4429,9 @@ msgstr "Brugere"
msgid "Users can perform the following actions within their assigned body or area."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:400
-#: perllib/FixMyStreet/App/Controller/Admin.pm:430
-#: perllib/FixMyStreet/App/Controller/Admin.pm:448
+#: perllib/FixMyStreet/App/Controller/Admin.pm:381
+#: perllib/FixMyStreet/App/Controller/Admin.pm:417
+#: perllib/FixMyStreet/App/Controller/Admin.pm:439
msgid "Values updated"
msgstr "Værdier opdateret"
@@ -4340,7 +4478,7 @@ msgstr "Vi fandt mere en et træf for dette sted. Vi viser op til ti træf, så
msgid "We found more than one match for that problem reference:"
msgstr ""
-#: templates/web/base/auth/general.html:6
+#: templates/web/base/auth/general.html:8
#: templates/web/base/report/display.html:35
#: templates/web/base/report/new/oauth_email_form.html:5
msgid "We need your email address, please give it below."
@@ -4375,7 +4513,7 @@ msgstr "Vi tager kontakt med dig så snart vi kan."
msgid "What was your experience of getting the problem fixed?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:52
+#: templates/web/base/admin/category_edit.html:27
#: templates/web/zurich/admin/body.html:18
msgid "When edited"
msgstr "Hvornår redigeret"
@@ -4384,11 +4522,19 @@ msgstr "Hvornår redigeret"
msgid "When sent"
msgstr "Hvornår sendt"
-#: templates/web/base/report/_inspect.html:89
+#: templates/web/base/admin/extra-metadata-form.html:18
+msgid "Whether the user is required to provide a value for this field."
+msgstr ""
+
+#: templates/web/base/alert/_list.html:9
+msgid "Which problems do you want alerts about?"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:99
msgid "Which report is it a duplicate of?"
msgstr ""
-#: templates/web/base/js/translation_strings.html:54
+#: templates/web/base/js/translation_strings.html:57
msgid "Whoa there Testino! Three photos are enough."
msgstr ""
@@ -4396,8 +4542,8 @@ msgstr ""
msgid "Why stop there? <a href=\"/alert\">Set up more alerts</a> for free."
msgstr "Hvorfor stoppe der? <a href=\"/alert\">Sæt flere varsler</a> op gratis."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:185
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:190
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:14
msgid "Wish"
@@ -4407,7 +4553,7 @@ msgstr ""
msgid "With request searches, it is also possible to search for agency_responsible to limit the requests to those sent to a single administration. The search term is the administration ID provided by <a href=\"%s\">MaPit</a>."
msgstr "Når du søger efter forespørgsler, så er det også muligt at søge efter agency_responsible for at begrænse det til forespørgsler som er sendt til en enkelt admindstration. Søgtetermen er administrations-IDen som angivet af <a href=\"%s\">MaPit</a>."
-#: templates/web/base/front/footer-marketing.html:17
+#: templates/web/base/front/footer-marketing.html:3
msgid "Would you like to contribute to FixMyStreet? Our code is open source and <a href=\"http://fixmystreet.org\">available at fixmystreet.org</a>."
msgstr "Kunne du tænke dig at bidrage til FixMinVej? Vores kKildekoden er frit programmel og <a href=\"http://fixmystreet.org\">tilgængelig via fixmystreet.org</a>."
@@ -4432,23 +4578,22 @@ msgstr ""
msgid "Year"
msgstr "Ã…r"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1202
+#: perllib/FixMyStreet/Cobrand/Default.pm:1236
#: templates/web/base/admin/bodies.html:70
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
#: templates/web/base/admin/category_edit.html:5
#: templates/web/base/admin/flagged.html:47
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:136
+#: templates/web/base/admin/report_edit.html:124
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:25
#: templates/web/base/admin/users.html:32
#: templates/web/base/questionnaire/creator_fixed.html:14
#: templates/web/base/questionnaire/index.html:104
#: templates/web/base/questionnaire/index.html:53
+#: templates/web/base/report/_inspect.html:90
msgid "Yes"
msgstr "Ja"
@@ -4461,7 +4606,7 @@ msgstr "Ja, jeg har en adgangskode"
msgid "You are complaining that this problem report was unnecessarily moderated:"
msgstr "Du klager over at denne problemrapport blev modereret uden grund:"
-#: templates/web/base/js/translation_strings.html:70
+#: templates/web/base/js/translation_strings.html:73
msgid "You are offline"
msgstr ""
@@ -4482,7 +4627,11 @@ msgstr "Du kan <a href=\"%s%s\">læse om problemet på denne side</a>."
msgid "You can add an abusive user's email to the abuse list, which automatically hides (and never sends) reports they create."
msgstr "Du kan føje en misbrugers epostadresse til misbrugslisten, hvilket automatisk skjuler (og aldrig sender) rapporter vedkommende opretter."
-#: templates/web/base/contact/index.html:111
+#: templates/web/base/alert/_list.html:18
+msgid "You can choose to subscribe to all problems reported in an area, or reports based on their destination."
+msgstr ""
+
+#: templates/web/base/contact/index.html:115
msgid "You can contact technical support on <a href='mailto:%s'>%s</a>"
msgstr "Du kan kontakte teknisk support via <a href='mailto:%s'>%s</a>"
@@ -4502,7 +4651,7 @@ msgstr ""
msgid "You can help us by finding a contact email address for local problems for %s and emailing it to us at <a href='mailto:%s'>%s</a>."
msgstr "Du kan hjælpe os ved at finde en kontakt-e-post for lokale problemer i %s, og sende den via e-post til os på <a href='mailto:%s'>%s</a>."
-#: templates/web/base/admin/body-form.html:91
+#: templates/web/base/admin/body-form.html:93
msgid "You can mark a body as deleted if you do not want it to be active on the site."
msgstr "Du kan markere en myndighed som slettet hvis du ikke ønsker at den skal være aktiv på dette netsted."
@@ -4510,7 +4659,7 @@ msgstr "Du kan markere en myndighed som slettet hvis du ikke ønsker at den skal
msgid "You declined; please fill in the box above"
msgstr "Du afviste; venligst udfyld boksen ovenfor"
-#: templates/web/base/js/translation_strings.html:72
+#: templates/web/base/js/translation_strings.html:75
msgid "You have <a id=\"oFN\" href=\"\"><span>%s</span> saved to submit</a>."
msgstr ""
@@ -4518,7 +4667,7 @@ msgstr ""
msgid "You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"
msgstr "Du har allerede besvaret dette spørgeskema. Hvis du har spørgsmål, venligst <a href='%s'>tag kontakt</a>, eller <a href='%s'>se på dit problem</a>.\n"
-#: templates/web/base/report/new/form_report.html:37
+#: templates/web/base/report/new/form_report.html:39
#: templates/web/zurich/report/new/fill_in_details_form.html:30
msgid "You have already attached photos to this report. Note that you can attach a maximum of 3 to this report (if you try to upload more, the oldest will be removed)."
msgstr ""
@@ -4578,10 +4727,9 @@ msgstr "Dine rapporter"
msgid "Your account"
msgstr ""
-#: templates/web/base/alert/_list.html:90
#: templates/web/base/alert/updates.html:19
#: templates/web/base/alert/updates.html:22
-#: templates/web/base/contact/index.html:81
+#: templates/web/base/contact/index.html:80
#: templates/web/base/report/display_tools.html:46
#: templates/web/base/report/display_tools.html:49
#: templates/web/base/report/new/form_user_loggedout_email.html:1
@@ -4591,7 +4739,7 @@ msgid "Your email"
msgstr "Din e-post"
#: templates/web/base/auth/change_email.html:9
-#: templates/web/base/auth/general.html:55
+#: templates/web/base/auth/general.html:57
#: templates/web/base/report/update/form_user_loggedout_email.html:5
#: templates/web/zurich/auth/general.html:30
#: templates/web/zurich/auth/general.html:58
@@ -4602,21 +4750,32 @@ msgstr "Din e-postadresse"
msgid "Your information will only be used in accordance with our <a href=\"/privacy\">privacy policy</a>"
msgstr "Vi vil kun bruge personlig information om dig i henhold til vores <a href=\"/faq#privacy\">privatlivsregler.</a>"
-#: templates/web/base/auth/general.html:107
+#: templates/web/base/auth/general.html:109
#: templates/web/base/contact/index.html:74
#: templates/web/base/report/new/form_user_loggedout_by_email.html:17
-#: templates/web/base/report/update/form_name.html:29
+#: templates/web/base/report/update/form_name.html:33
#: templates/web/zurich/auth/general.html:61
#: templates/web/zurich/report/new/fill_in_details_form.html:63
msgid "Your name"
msgstr "Dit navn"
-#: templates/web/base/js/translation_strings.html:62
-#, fuzzy
+#: templates/web/base/my/anonymize.html:13
+msgid "Your name has already been sent to %s, but we can hide it on this page:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:264
+msgid "Your name has been hidden from all your reports and updates."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:260
+msgid "Your name has been hidden."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:65
msgid "Your offline reports"
-msgstr "Dine opdateringer"
+msgstr ""
-#: templates/web/base/auth/general.html:85
+#: templates/web/base/auth/general.html:87
#: templates/web/base/report/new/form_user_loggedout_password.html:10
#: templates/web/base/report/update/form_user_loggedout_password.html:9
#: templates/web/zurich/auth/general.html:34
@@ -4627,6 +4786,7 @@ msgstr "Din adgangskode"
msgid "Your password has been changed"
msgstr "Din adgangskode er blevet ændret"
+#: templates/web/base/contact/index.html:87
#: templates/web/base/report/new/form_user_loggedout_by_email.html:26
#: templates/web/zurich/report/new/fill_in_details_form.html:69
msgid "Your phone number"
@@ -4645,7 +4805,7 @@ msgstr "Dine opdateringer"
msgid "Your shortlist"
msgstr ""
-#: templates/web/base/js/translation_strings.html:63
+#: templates/web/base/js/translation_strings.html:66
msgid "Your update has been saved offline for submission when back online."
msgstr ""
@@ -4653,8 +4813,8 @@ msgstr ""
msgid "Your updates"
msgstr "Dine opdateringer"
-#: templates/web/base/report/new/form_user_loggedin.html:18
-#: templates/web/base/report/update/form_name.html:11
+#: templates/web/base/report/new/form_user_loggedin.html:19
+#: templates/web/base/report/update/form_name.html:12
msgid "Yourself"
msgstr ""
@@ -4663,14 +4823,14 @@ msgstr ""
msgid "all"
msgstr ""
+#: perllib/FixMyStreet/DB/Result/Comment.pm:259
+msgid "and a defect raised"
+msgstr ""
+
#: templates/web/base/admin/timeline.html:4
msgid "by %s"
msgstr "af %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:290
-msgid "closed as a duplicate report"
-msgstr "markeret som duplikeret rapport"
-
#: templates/web/base/reports/body.html:6
#: templates/web/base/reports/body.html:7
msgid "council"
@@ -4695,7 +4855,7 @@ msgstr "redigér bruger"
msgid "from %s different users"
msgstr "fra %s forskellige brugere"
-#: templates/web/base/report/_item.html:61
+#: templates/web/base/report/_item.html:63
#: templates/web/zurich/report/_item.html:14
msgid "last updated %s"
msgstr "sidst opdateret %s"
@@ -4704,44 +4864,7 @@ msgstr "sidst opdateret %s"
msgid "less than a minute"
msgstr "mindre end et minut"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:280
-msgid "marked as action scheduled"
-msgstr "markeret som planlagt"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:292
-msgid "marked as an internal referral"
-msgstr "markeret som en intern henvisning"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:282
-msgid "marked as closed"
-msgstr "markeret som lukket"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:263
-#: perllib/FixMyStreet/DB/Result/Comment.pm:284
-msgid "marked as fixed"
-msgstr "markeret som fikset"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:278
-msgid "marked as in progress"
-msgstr "markeret som under udførelse"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:274
-msgid "marked as investigating"
-msgstr "markeret som undersøges"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:286
-msgid "marked as no further action"
-msgstr "markeret som uløseligt"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:288
-msgid "marked as not the council's responsibility"
-msgstr "markeret som ikke myndighedens ansvar"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:276
-msgid "marked as planned"
-msgstr "markeret som planlagt"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:122
+#: perllib/FixMyStreet/App/Controller/Admin.pm:119
#: templates/web/base/admin/questionnaire.html:15
#: templates/web/base/admin/questionnaire.html:16
msgid "n/a"
@@ -4752,13 +4875,10 @@ msgstr "n/a"
msgid "none"
msgstr ""
-#: templates/web/base/admin/category_edit.html:35
-msgid "optional"
-msgstr ""
-
-#: templates/web/base/alert/_list.html:86
-msgid "or"
-msgstr "eller"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:278
+#, fuzzy
+msgid "not the council's responsibility"
+msgstr "markeret som ikke myndighedens ansvar"
#: templates/web/base/js/translation_strings.html:27
msgid "or locate me automatically"
@@ -4783,16 +4903,7 @@ msgstr "oprinnelig lagt ind: &ldquo;%s&rdquo;"
msgid "other areas:"
msgstr "andre områder:"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:265
-#: perllib/FixMyStreet/DB/Result/Comment.pm:271
-msgid "reopened"
-msgstr "Ã¥bnet igen"
-
-#: templates/web/base/admin/category_edit.html:35
-msgid "required"
-msgstr ""
-
-#: templates/web/zurich/footer.html:13
+#: templates/web/zurich/footer.html:12
msgid "sign out"
msgstr "log ud"
@@ -4800,11 +4911,16 @@ msgstr "log ud"
msgid "the local council"
msgstr "den lokale myndighed"
-#: templates/web/base/report/_report_meta_info.html:2
+#: templates/web/base/report/_report_meta_info.html:5
#: templates/web/zurich/report/_main.html:5
msgid "there is no pin shown as the user did not use the map"
msgstr "Der vises ingen nål på grund af at brugeren ikke brugte kortet"
+#: templates/web/base/alert/_list.html:1
+#, fuzzy
+msgid "this location"
+msgstr "Ser på et sted"
+
#: perllib/FixMyStreet/Script/Reports.pm:184
msgid "this type of local problem"
msgstr "denne type lokalt problem"
@@ -4813,15 +4929,13 @@ msgstr "denne type lokalt problem"
msgid "today"
msgstr "idag"
-#: templates/web/base/js/translation_strings.html:73
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:76
msgid "update"
-msgstr "Opdatering"
+msgstr ""
-#: templates/web/base/js/translation_strings.html:74
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:77
msgid "updates"
-msgstr "Opdateringer"
+msgstr ""
#: templates/web/base/admin/report_edit.html:52
msgid "used map"
@@ -4869,11 +4983,11 @@ msgstr[0] "%d minut"
msgstr[1] "%d minutter"
#: perllib/Utils.pm:246
-#, fuzzy, perl-format
+#, perl-format
msgid "%d month"
msgid_plural "%d months"
-msgstr[0] "%d minut"
-msgstr[1] "%d minutter"
+msgstr[0] ""
+msgstr[1] ""
#: templates/web/base/report/_support.html:6
#, perl-format
@@ -4896,6 +5010,41 @@ msgid_plural "%d years"
msgstr[0] ""
msgstr[1] ""
+#: templates/web/base/reports/index.html:92
+#, perl-format
+msgid "%s day"
+msgid_plural "%s days"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:55
+#, perl-format
+msgid "%s problem marked as fixed"
+msgid_plural "%s problems marked as fixed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:43
+#, perl-format
+msgid "%s problem reported"
+msgid_plural "%s problems reported"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:107
+#, perl-format
+msgid "%s report"
+msgid_plural "%s reports"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:49
+#, perl-format
+msgid "%s update on problems"
+msgid_plural "%s updates on problems"
+msgstr[0] ""
+msgstr[1] ""
+
#: templates/web/base/front/stats.html:19
#, perl-format
msgid "<big>%s</big> fixed in past month"
@@ -4924,12 +5073,12 @@ msgid_plural "<big>%s</big> updates on reports"
msgstr[0] "<big>%s</big> rapport-<br>opdatering"
msgstr[1] "<big>%s</big> rapport-<br>opdateringer"
-#: templates/web/base/report/_item.html:49
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:51
+#, perl-format
msgid "Reported %d day ago"
msgid_plural "Reported %d days ago"
-msgstr[0] "Publiceret af %s %s"
-msgstr[1] "Publiceret af %s %s"
+msgstr[0] ""
+msgstr[1] ""
#: templates/web/base/report/new/top_message_some.html:3
#, perl-format
@@ -4945,36 +5094,100 @@ msgid_plural "We do not yet have details for the councils that cover this locati
msgstr[0] "Vi har endnu ikke detaljer for myndigheden som dækker dette sted."
msgstr[1] "Vi har endnu ikke detaljer for myndighederne som dækker dette sted."
-#: templates/web/base/report/_item.html:59
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:61
+#, perl-format
msgid "last updated %d day ago"
msgid_plural "last updated %d days ago"
-msgstr[0] "sidst opdateret %s"
-msgstr[1] "sidst opdateret %s"
+msgstr[0] ""
+msgstr[1] ""
#: templates/email/oxfordshire/archive.txt:9
-#, fuzzy, perl-format
+#, perl-format
msgid "report"
msgid_plural "reports"
-msgstr[0] "Rapport"
-msgstr[1] "Rapport"
+msgstr[0] ""
+msgstr[1] ""
-#, fuzzy
-#~ msgid "All inspectors"
-#~ msgstr "Alle rapporter"
+#~ msgid "%s ward, %s"
+#~ msgstr "%s bydel, %s"
-#, fuzzy
-#~ msgid "External ID:"
-#~ msgstr "Eksternt link"
+#~ msgid "%s, within %s ward"
+#~ msgstr "%s, indefor bydel %s"
-#, fuzzy
-#~ msgid "Report category:"
-#~ msgstr "Lav kategori"
+#~ msgid "-- Pick a property type --"
+#~ msgstr "-- Vælg en ejendomsstype --"
-#, fuzzy
-#~ msgid "Reported %d days ago"
-#~ msgstr "Publiceret af %s %s"
+#~ msgid "Closed:"
+#~ msgstr "Lukket:"
-#, fuzzy
-#~ msgid "last updated %d days ago"
-#~ msgstr "sidst opdateret %s"
+#~ msgid "Duplicate"
+#~ msgstr "Duplikat"
+
+#~ msgid "Fixed:"
+#~ msgstr "Løst:"
+
+#~ msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
+#~ msgstr "Her er de forskellige typer lokale problemvarsler for &lsquo;%s&rsquo;."
+
+#~ msgid "In Progress"
+#~ msgstr "Under Udførelse"
+
+#~ msgid "Internal referral"
+#~ msgstr "Intern reference"
+
+#~ msgid "Investigating"
+#~ msgstr "Undersøges"
+
+#~ msgid "No further action"
+#~ msgstr "Kan ikke fikses"
+
+#~ msgid "Not Responsible"
+#~ msgstr "Ikke ansvarlig"
+
+#~ msgid "Or problems reported to:"
+#~ msgstr "Eller problemer meldt til:"
+
+#~ msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
+#~ msgstr "Eller du kan abonnere på varsel baseret på bydel eller myndighed du hører ind under:"
+
+#~ msgid "Please choose a property type"
+#~ msgstr "Vælg en type egenskab"
+
+#~ msgid "Problems within the boundary of:"
+#~ msgstr "Problemer indenfor grænserne af:"
+
+#~ msgid "The simplest alert is our geographic one:"
+#~ msgstr "Den simpleste besked er vores geografiske:"
+
+#~ msgid "closed as a duplicate report"
+#~ msgstr "markeret som duplikeret rapport"
+
+#~ msgid "marked as action scheduled"
+#~ msgstr "markeret som planlagt"
+
+#~ msgid "marked as an internal referral"
+#~ msgstr "markeret som en intern henvisning"
+
+#~ msgid "marked as closed"
+#~ msgstr "markeret som lukket"
+
+#~ msgid "marked as fixed"
+#~ msgstr "markeret som fikset"
+
+#~ msgid "marked as in progress"
+#~ msgstr "markeret som under udførelse"
+
+#~ msgid "marked as investigating"
+#~ msgstr "markeret som undersøges"
+
+#~ msgid "marked as no further action"
+#~ msgstr "markeret som uløseligt"
+
+#~ msgid "marked as planned"
+#~ msgstr "markeret som planlagt"
+
+#~ msgid "or"
+#~ msgstr "eller"
+
+#~ msgid "reopened"
+#~ msgstr "Ã¥bnet igen"
diff --git a/locale/de_CH.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/de_CH.UTF-8/LC_MESSAGES/FixMyStreet.po
index ae48659fc..7e8059141 100644
--- a/locale/de_CH.UTF-8/LC_MESSAGES/FixMyStreet.po
+++ b/locale/de_CH.UTF-8/LC_MESSAGES/FixMyStreet.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
-"POT-Creation-Date: 2017-03-30 17:33+0100\n"
+"POT-Creation-Date: 2017-09-13 15:40+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: mySociety <transifex@mysociety.org>, 2016\n"
+"Last-Translator: mySociety <transifex@mysociety.org>, 2017\n"
"Language-Team: German (Switzerland) (https://www.transifex.com/mysociety/teams/12067/de_CH/)\n"
"Language: de_CH\n"
"MIME-Version: 1.0\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:695
+#: perllib/FixMyStreet/DB/Result/Problem.pm:632
#: perllib/FixMyStreet/Script/Reports.pm:197
msgid " and "
msgstr "und"
@@ -61,7 +61,7 @@ msgstr ""
#: templates/web/base/status/stats.html:27
#: templates/web/zurich/admin/index.html:6
msgid "%s council contacts &ndash; %s confirmed, %s unconfirmed"
-msgstr ""
+msgstr "%s interne Stellen &ndash; %s best&auml;tigt, %s unbest&auml;tigt"
#. ("%s is the site name")
#: templates/web/base/alert/index.html:7
@@ -91,25 +91,6 @@ msgstr ""
msgid "%s ref:&nbsp;%s"
msgstr ""
-#. ("%s is the site name")
-#: templates/web/base/alert/_list.html:74
-msgid ""
-"%s sends different categories of problem\n"
-"to the appropriate council, so problems within the boundary of a particular council\n"
-"might not match the problems sent to that council. For example, a graffiti report\n"
-"will be sent to the district council, so will appear in both of the district\n"
-"council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
-"for the county council."
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:257 perllib/FixMyStreet/Cobrand/UK.pm:269
-msgid "%s ward, %s"
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
-msgid "%s, within %s ward"
-msgstr ""
-
#: perllib/FixMyStreet/Map/OSM.pm:38
msgid "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"
msgstr ""
@@ -118,7 +99,7 @@ msgstr ""
msgid "(Defect &amp; location of defect)"
msgstr "(Schaden &amp; Ort des Schadens)"
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
#: templates/web/base/admin/users.html:32
msgid "(Email in abuse table)"
msgstr ""
@@ -133,28 +114,35 @@ msgstr "Ihr Name"
msgid "(No phone number)"
msgstr "Ihre Telefonnummer"
-#: templates/web/base/alert/_list.html:25
-msgid "(a default distance which covers roughly 200,000 people)"
-msgstr ""
-
-#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
-#: templates/web/base/alert/_list.html:30
-msgid "(alternatively the RSS feed can be customised, within %s)"
+#: templates/web/base/admin/states/index.html:95
+msgid "(a-z and space only)"
msgstr ""
#: templates/web/zurich/report/_item.html:19
msgid "(closed)"
msgstr "(beantwortet)"
+#: templates/web/base/alert/_list.html:30
+msgid "(covers roughly 200,000 people)"
+msgstr ""
+
#: templates/web/zurich/report/_item.html:17
msgid "(fixed)"
msgstr "(beantwortet)"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "(ignored if type is \"String\")"
+msgstr ""
+
#: templates/web/base/around/intro.html:2
msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
msgstr "(z.B. illegale Deponien, Strassensch&auml;den, Graffitis usw.)"
-#: templates/web/base/report/_item.html:68
+#: templates/web/base/reports/index.html:69
+msgid "(no longer exists)"
+msgstr ""
+
+#: templates/web/base/report/_item.html:70
msgid "(not sent to council)"
msgstr ""
@@ -162,38 +150,39 @@ msgstr ""
msgid "(optional)"
msgstr "(optional)"
-#: templates/web/base/report/_item.html:67
+#: templates/web/base/report/_item.html:69
msgid "(sent to both)"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:239
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/DB/Result/Problem.pm:454
+#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
+#: templates/web/base/alert/_list.html:36
+msgid "(we also have RSS feeds for problems within %s)"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:245
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:381
msgid "-- Pick a category --"
msgstr "-- Wählen Sie eine Kategorie --"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:460
-msgid "-- Pick a property type --"
-msgstr ""
-
#: templates/web/base/admin/response_templates_select.html:3
msgid "--Choose a template--"
-msgstr ""
+msgstr "Vorlage wählen"
#: templates/web/base/report/new/form_report.html:23
msgid "10 inch pothole on Example St, near post box"
msgstr ""
-#: templates/web/base/dashboard/index.html:152
+#: templates/web/base/dashboard/index.html:153
msgid "14-30 days old"
msgstr ""
-#: templates/web/base/dashboard/index.html:151
+#: templates/web/base/dashboard/index.html:152
msgid "7-14 days old"
msgstr ""
-#: templates/web/base/admin/body-form.html:48
-#: templates/web/base/admin/body-form.html:49
+#: templates/web/base/admin/body-form.html:50
+#: templates/web/base/admin/body-form.html:51
msgid ""
"<code>MAPIT_URL</code> is set (<code>%s</code>) but no <code>MAPIT_TYPES</code>.<br>\n"
" This is probably why \"area covered\" is empty (below).<br>\n"
@@ -204,13 +193,13 @@ msgstr ""
msgid "<h2>Reports, Statistics and Actions for</h2> <h1>%s</h1>"
msgstr ""
-#. ('The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories')
#. ("The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories")
-#: templates/web/base/reports/_list-filters.html:37
-msgid "<label for=\"statuses\">Show</label> %s <label for=\"filter_categories\">about</label> %s"
+#: templates/web/base/reports/_list-filters.html:48
+#, fuzzy
+msgid "<label for=\"statuses\">Show</label> %s reports <label for=\"filter_categories\">about</label> %s"
msgstr "<label for=\"statuses\">Zeige</label> %s <label for=\"filter_categories\">&uuml;ber</label> %s"
-#: templates/web/base/js/translation_strings.html:71
+#: templates/web/base/js/translation_strings.html:74
msgid "<span>%s</span> saved."
msgstr ""
@@ -227,34 +216,25 @@ msgstr "Meldung per E-Mail best&auml;tigen"
msgid "<strong>No</strong> Let me confirm my update by email"
msgstr ""
-#: templates/web/base/auth/general.html:104
+#: templates/web/base/auth/general.html:106
#: templates/web/zurich/auth/general.html:51
msgid "<strong>No</strong> let me sign in by email"
msgstr "Neu Registrieren"
-#: templates/web/base/report/_inspect.html:160
+#: templates/web/base/report/_inspect.html:170
msgid "<strong>Note:</strong> This report has been sent onwards for action. Any changes made won't be passed on."
msgstr ""
-#: templates/web/base/report/_inspect.html:162
+#: templates/web/base/report/_inspect.html:172
msgid "<strong>Note:</strong> This report hasn't yet been sent onwards for action. Any changes made may not be passed on."
msgstr ""
-#: templates/web/base/auth/general.html:80
+#: templates/web/base/auth/general.html:82
#: templates/web/base/report/new/form_user_loggedout_password.html:3
#: templates/web/base/report/update/form_user_loggedout_password.html:2
msgid "<strong>Yes</strong> I have a password"
msgstr "Passwort"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:10
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:6
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Action Scheduled"
-msgstr ""
-
#: templates/web/base/admin/body-form.html:3
#: templates/web/base/admin/body-form.html:4
msgid ""
@@ -268,19 +248,36 @@ msgid "Add a contact using the form below."
msgstr ""
#: templates/web/base/admin/bodies.html:78
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Add body"
msgstr "Adresse hinzuf&uuml;gen"
+#: templates/web/base/admin/reportextrafields/index.html:24
+msgid "Add extra fields"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:79
+msgid "Add field"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:85
+msgid "Add fixed state"
+msgstr ""
+
#: templates/web/base/admin/body.html:126
#: templates/web/zurich/admin/body.html:31
msgid "Add new category"
msgstr "F&uuml;ge neue Kategorie hinzu"
+#: templates/web/base/admin/extra-metadata-form.html:72
+#, fuzzy
+msgid "Add option"
+msgstr "optional"
+
#: templates/web/base/report/_item.html:10
-#: templates/web/base/report/_item.html:14
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_item.html:16
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:19
#: templates/web/base/report/_main.html:30
msgid "Add to shortlist"
@@ -292,23 +289,23 @@ msgstr ""
msgid "Add user"
msgstr "User hinzuf&uuml;gen"
-#: perllib/FixMyStreet/Cobrand/Default.pm:730
+#: perllib/FixMyStreet/Cobrand/Default.pm:735
msgid "Add/edit problem categories"
-msgstr ""
+msgstr "F&uuml;ge neue Kategorie hinzu"
-#: perllib/FixMyStreet/Cobrand/Default.pm:732
+#: perllib/FixMyStreet/Cobrand/Default.pm:737
msgid "Add/edit response priorities"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:731
+#: perllib/FixMyStreet/Cobrand/Default.pm:736
msgid "Add/edit response templates"
-msgstr ""
+msgstr "Vorlagen für %s"
#: templates/web/base/my/my.html:67
msgid "Added %s"
msgstr ""
-#: templates/web/base/report/_main.html:145
+#: templates/web/base/report/_main.html:149
msgid "Adding this report to your shortlist will remove it from %s’s shortlist."
msgstr ""
@@ -328,17 +325,17 @@ msgstr ""
msgid "Alert %d disabled (created %s)"
msgstr ""
-#: templates/web/base/report/update/form_name.html:38
+#: templates/web/base/report/update/form_name.html:42
msgid "Alert me to future updates"
msgstr ""
#: templates/web/base/dashboard/index.html:138
#: templates/web/base/dashboard/index.html:21
#: templates/web/base/dashboard/index.html:30
+#: templates/web/base/reports/_list-filters.html:3
msgid "All"
msgstr ""
-#: templates/web/base/reports/index.html:6
#: templates/web/zurich/reports/index.html:13
msgid "All Reports"
msgstr "Alle Meldungen"
@@ -348,15 +345,23 @@ msgid "All Reports as CSV"
msgstr "Als CSV exportieren"
#: templates/web/base/admin/category-multiselect.html:5
-#: templates/web/base/admin/responsepriorities/list.html:19
+#: templates/web/base/admin/responsepriorities/list.html:20
msgid "All categories"
+msgstr "Alle Kategorien"
+
+#: templates/web/base/admin/reportextrafields/edit.html:26
+#, fuzzy
+msgid "All cobrands"
+msgstr "Alle Kategorien"
+
+#: templates/web/base/admin/reportextrafields/edit.html:47
+msgid "All languages"
msgstr ""
#: templates/web/base/main_nav_items.html:0
#: templates/web/base/main_nav_items.html:27
-#: templates/web/base/reports/_list-filters.html:3
#: templates/web/zurich/admin/index-dm.html:12
-#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:21
+#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:20
#: templates/web/zurich/nav_over_content.html:6
msgid "All reports"
msgstr "Alle Meldungen"
@@ -366,6 +371,14 @@ msgstr "Alle Meldungen"
msgid "All reports between %s and %s"
msgstr "Alle Meldungen von %s bis %s"
+#: templates/web/base/reports/index.html:23
+msgid "All time"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:20
+msgid "Alternatively, we can hide your name on <strong>all of your reports and updates</strong> across the site:"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:47
msgid "An update marked this problem as fixed."
msgstr ""
@@ -375,31 +388,33 @@ msgstr ""
msgid "Anonymous"
msgstr "Anonym"
-#: templates/web/base/admin/report_edit.html:134
+#: templates/web/base/report/new/form_user_loggedin.html:21
+#: templates/web/base/report/update/form_name.html:17
+#, fuzzy
+msgid "Anonymous user"
+msgstr "Anonym"
+
+#: templates/web/base/admin/report_edit.html:122
#: templates/web/base/admin/update_edit.html:23
msgid "Anonymous:"
msgstr "Anonym"
-#: templates/web/base/report/new/form_user_loggedin.html:20
-#: templates/web/base/report/update/form_name.html:13
+#: templates/web/base/report/new/form_user_loggedin.html:24
+#: templates/web/base/report/update/form_name.html:14
msgid "Another user"
-msgstr ""
-
-#: templates/web/base/front/footer-marketing.html:16
-msgid "Are you a developer?"
-msgstr ""
+msgstr "User hinzuf&uuml;gen"
-#: templates/web/base/js/translation_strings.html:56
+#: templates/web/base/js/translation_strings.html:59
msgid "Are you sure you want to cancel this upload?"
msgstr ""
#: templates/web/base/admin/report_edit.html:84
-#: templates/web/base/js/translation_strings.html:66
+#: templates/web/base/js/translation_strings.html:69
#: templates/web/base/report/display_tools.html:6
msgid "Are you sure?"
msgstr ""
-#: templates/web/base/admin/body-form.html:75
+#: templates/web/base/admin/body-form.html:77
#: templates/web/base/admin/body.html:20
#: templates/web/zurich/admin/body-form.html:24
msgid "Area covered"
@@ -431,11 +446,11 @@ msgstr "Nachricht an zuständige Stelle"
msgid "Assign to subdivision:"
msgstr "An Fachbereich zuweisen"
-#: perllib/FixMyStreet/Cobrand/Default.pm:727
+#: perllib/FixMyStreet/Cobrand/Default.pm:732
msgid "Assign users to areas"
-msgstr ""
+msgstr "User an Gegenden zuweisen"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:214
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:219
msgid "Assigned to %s"
msgstr "Besten Dank f&uuml;r Ihre Meldung. Wir haben Ihr Anliegen an %s weitergeleitet, da es nicht in den Zust&auml;ndigkeitsbereich der am Pilot beteiligten Fachbereiche f&auml;llt.<br/>Freundliche Gr&uuml;sse <br/>Ihre Stadt Z&uuml;rich"
@@ -454,13 +469,16 @@ msgstr ""
#: templates/web/base/admin/template_edit.html:22
msgid "Auto-response:"
-msgstr ""
+msgstr "R&uuml;ckmeldung an User"
-#: templates/web/base/admin/report_edit.html:127
-#: templates/web/base/report/_inspect.html:47
+#: templates/web/base/admin/report-category.html:8
msgid "Available categories"
msgstr ""
+#: templates/web/base/reports/index.html:84
+msgid "Average time between a problem being reported and being fixed, last 100 reports."
+msgstr ""
+
#: templates/web/base/dashboard/index.html:109
msgid "Average time to council marking fixed (days)"
msgstr ""
@@ -471,9 +489,9 @@ msgstr ""
#: templates/web/base/report/new/after_photo.html:6
msgid "Avoid personal information and vehicle number plates"
-msgstr ""
+msgstr "Verhindern Sie pers&ouml;nliche Informationen wie Kfz-Kennzeichen oder Personen"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:417
+#: perllib/FixMyStreet/DB/Result/Problem.pm:344
#: templates/web/zurich/report/_item.html:9
msgid "Awaiting moderation"
msgstr "Überprüfung ausstehend"
@@ -484,15 +502,15 @@ msgstr "Zur&uuml;ck"
#: templates/web/base/report/_main.html:6
msgid "Back to all reports"
-msgstr ""
+msgstr "Alle Meldungen"
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
msgid "Ban email address"
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:650
-#: perllib/FixMyStreet/Cobrand/Default.pm:729
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
+#: perllib/FixMyStreet/Cobrand/Default.pm:734
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:396
#: templates/web/base/admin/bodies.html:1
#: templates/web/base/admin/report_edit.html:55
#: templates/web/zurich/header.html:56
@@ -514,7 +532,11 @@ msgstr "Organisation"
msgid "By Date"
msgstr ""
-#: templates/web/base/auth/token.html:21 templates/web/base/email_sent.html:18
+#: templates/web/base/admin/extra-metadata-form.html:36
+msgid "Can be used to display extra text to the user alongside the field. The default template does not show this (<code>meta.datatype_description</code>), you must add it in <code>category_extras_fields.html</code>"
+msgstr ""
+
+#: templates/web/base/auth/token.html:27 templates/web/base/email_sent.html:20
msgid "Can&rsquo;t find our email? Check your spam folder&nbsp;&ndash; that&rsquo;s the solution 99% of the time."
msgstr "Falls Sie kein E-Mail erhalten haben, &uuml;berpr&uuml;fen Sie bitte Ihren Spamordner."
@@ -525,18 +547,18 @@ msgstr "Karte nicht sichtbar? <em>&Uuml;berspringen Sie diesen Schritt</em>"
#: perllib/FixMyStreet/Cobrand/Default.pm:650
#: templates/web/base/admin/responsepriorities/list.html:8
msgid "Categories"
-msgstr ""
+msgstr "Kategorie"
#: templates/web/base/admin/category-checkboxes.html:2
#: templates/web/base/admin/category-multiselect.html:2
msgid "Categories:"
-msgstr ""
+msgstr "Kategorie:"
#: templates/web/base/admin/body.html:72
#: templates/web/base/admin/contact-form.html:19
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/report/_inspect.html:38
-#: templates/web/base/report/_item.html:90
+#: templates/web/base/report/_inspect.html:48
+#: templates/web/base/report/_item.html:92
#: templates/web/base/report/new/category.html:6
#: templates/web/base/report/new/category_wrapper.html:3
#: templates/web/zurich/admin/body.html:14
@@ -547,9 +569,9 @@ msgstr ""
msgid "Category"
msgstr "Kategorie"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:852
+#: perllib/FixMyStreet/App/Controller/Admin.pm:956
msgid "Category changed from ‘%s’ to ‘%s’"
-msgstr ""
+msgstr "Kategorie von ‘%s’ nach ‘%s’ ge&auml;ndert"
#: templates/web/base/admin/stats.html:58
#: templates/web/base/admin/stats_fix_rate.html:1
@@ -577,7 +599,7 @@ msgstr ""
#: templates/web/base/auth/change_email.html:3
#: templates/web/base/auth/change_email.html:30
msgid "Change email address"
-msgstr ""
+msgstr "E-Mail Adresse &auml;ndern"
#: templates/web/base/auth/change_password.html:1
#: templates/web/base/auth/change_password.html:16
@@ -587,23 +609,11 @@ msgstr ""
msgid "Change password"
msgstr "Passwort &auml;ndern"
-#: templates/web/base/admin/contact-form.html:41
-msgid ""
-"Check <strong>confirmed</strong> to indicate that this contact has been confirmed as correct.\n"
-" If you are not sure of the origin or validity of the contact, leave this unchecked."
-msgstr ""
-
-#: templates/web/base/admin/contact-form.html:52
-msgid ""
-"Check <strong>deleted</strong> to remove the category from use. \n"
-" It will not appear as an available category in the drop-down menu on the report-a-problem page."
-msgstr ""
-
-#: templates/web/base/admin/contact-form.html:79
+#: templates/web/base/admin/contact-form.html:80
msgid "Check <strong>inspection required</strong> if reports in this category <strong>must be inspected</strong> before being sent."
msgstr ""
-#: templates/web/base/admin/contact-form.html:63
+#: templates/web/base/admin/contact-form.html:64
msgid ""
"Check <strong>private</strong> if reports in this category should <strong>never be displayed on the website</strong>.\n"
" <br>\n"
@@ -620,11 +630,11 @@ msgid ""
" to the body too. These will appear in the drop-down menu on the report-a-problem page."
msgstr ""
-#: templates/web/base/report/_inspect.html:93
+#: templates/web/base/report/_inspect.html:103
msgid "Choose another"
msgstr ""
-#: templates/web/base/js/translation_strings.html:65
+#: templates/web/base/js/translation_strings.html:68
msgid "Clear offline data"
msgstr ""
@@ -649,21 +659,22 @@ msgstr "Klicken Sie auf den Link im Best&auml;tigungsmail um &uuml;ber den Bearb
msgid "Click the link in our confirmation email to publish your update."
msgstr "Klicken Sie auf den Link im Best&auml;tigungsmail um diese &Uuml;berarbeitung zu ver&ouml;ffentlichen."
-#: templates/web/base/auth/token.html:18
+#: templates/web/base/auth/token.html:23
msgid "Click the link in our confirmation email to sign in."
msgstr "Klicken Sie auf den Link im Best&auml;tigungsemail um sich anzumelden."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:189
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:960
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:17
-#: templates/web/base/admin/report_blocks.html:27
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:43
-#: templates/web/base/report/banner.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:18
+#: templates/web/base/auth/token.html:20
+#, fuzzy
+msgid "Click the link in that email to sign in."
+msgstr "Klicken Sie auf den Link im Best&auml;tigungsemail um sich anzumelden."
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:134
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:194
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:965
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:11
+#: templates/web/base/admin/states/index.html:103
+#: templates/web/base/admin/states/index.html:27
+#: templates/web/base/admin/states/index.html:33
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:10
#: templates/web/zurich/admin/header.html:16
@@ -671,23 +682,17 @@ msgstr "Klicken Sie auf den Link im Best&auml;tigungsemail um sich anzumelden."
msgid "Closed"
msgstr "Beantwortet"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:889
+#: perllib/FixMyStreet/DB/Result/Problem.pm:826
msgid "Closed by council"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:13
-msgid "Closed reports"
-msgstr "Abgeschlossene Meldungen"
-
-#: templates/web/base/admin/problem_row.html:38
-msgid "Closed:"
-msgstr "Beantwortet:"
-
#: templates/web/base/admin/report_edit.html:37
msgid "Co-ordinates:"
msgstr "Koordinaten"
#: templates/web/base/admin/list_updates.html:10
+#: templates/web/base/admin/reportextrafields/edit.html:24
+#: templates/web/base/admin/reportextrafields/index.html:7
msgid "Cobrand"
msgstr ""
@@ -701,10 +706,13 @@ msgstr ""
msgid "Cobrand:"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:14
+msgid "Code"
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:50
-#, fuzzy
msgid "Collapse map"
-msgstr "Karte verwendet"
+msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:646
#: templates/web/base/admin/config_page.html:1
@@ -732,9 +740,8 @@ msgstr ""
msgid "Confirmation"
msgstr "Bestätigung"
-#: templates/web/base/admin/body.html:85
-#: templates/web/base/admin/category_edit.html:54
-#: templates/web/base/admin/contact-form.html:47
+#: templates/web/base/admin/contact-form.html:56
+#: templates/web/zurich/admin/contact-form.html:12
#: templates/web/zurich/admin/stats.html:40
msgid "Confirmed"
msgstr "Best&auml;tigt"
@@ -769,8 +776,8 @@ msgstr ""
msgid "Coordinates:"
msgstr "Koordinaten"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1668
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1696
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1773
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1801
msgid "Could not find user"
msgstr ""
@@ -795,9 +802,8 @@ msgstr ""
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:57
-#, fuzzy
msgid "Council has marked as fixed"
-msgstr "als beantwortet markiert"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:80
@@ -829,24 +835,33 @@ msgstr ""
msgid "Count"
msgstr "Anzahl"
+#: templates/web/base/admin/states/index.html:114
+#, fuzzy
+msgid "Create"
+msgstr "Erstellt"
+
#: templates/web/base/email_sent.html:1
msgid "Create a report"
msgstr "Erfasse eine Meldung"
-#: templates/web/base/admin/contact-form.html:137
+#: templates/web/base/admin/contact-form.html:138
#: templates/web/zurich/admin/body.html:62
msgid "Create category"
msgstr "Kategorie erstellen"
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/responsepriorities/edit.html:58
msgid "Create priority"
+msgstr "Priorit&auml;t erstellen"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:718
+msgid "Create reports/updates as anonymous user"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:714
+#: perllib/FixMyStreet/Cobrand/Default.pm:719
msgid "Create reports/updates as the council"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:713
+#: perllib/FixMyStreet/Cobrand/Default.pm:717
msgid "Create reports/updates on a user's behalf"
msgstr ""
@@ -876,13 +891,15 @@ msgstr "Aktueller Status"
msgid "Currently no bodies have been created."
msgstr "Bisher wurden noch keine Organisationseinheiten erfasst."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:825
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:830
#: templates/web/zurich/admin/report_edit-sdm.html:105
msgid "Customer not contactable"
msgstr "Kunde nicht kontaktierbar"
#: templates/web/base/dashboard/index.html:5
#: templates/web/base/dashboard/index.html:7
+#: templates/web/base/reports/index.html:15
+#: templates/web/base/reports/index.html:18
msgid "Dashboard"
msgstr ""
@@ -890,29 +907,37 @@ msgstr ""
msgid "Dealt with by subdivision within 5 working days"
msgstr "Innerhalb von f&uuml;nf Arbeitstagen abgeschlossen"
-#: templates/web/base/report/_inspect.html:73
+#: templates/web/base/admin/responsepriorities/list.html:9
+msgid "Default"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:39
+#, fuzzy
+msgid "Default priority"
+msgstr "Priorit&auml;t erstellen"
+
+#: templates/web/base/report/_inspect.html:72
msgid "Defect type"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:973
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1078
#: templates/web/base/admin/template_edit.html:50
#: templates/web/zurich/admin/template_edit.html:33
msgid "Delete template"
msgstr "Vorlage löschen"
#: templates/web/base/admin/bodies.html:31
-#: templates/web/base/admin/body.html:87
-#: templates/web/base/admin/category_edit.html:55
#: templates/web/base/admin/contact-form.html:58
-#: templates/web/zurich/admin/contact-form.html:12
+#: templates/web/zurich/admin/contact-form.html:13
msgid "Deleted"
msgstr "Gel&ouml;scht"
-#: templates/web/base/report/_main.html:110
-#: templates/web/base/report/update.html:59
+#: templates/web/base/report/_main.html:114
+#: templates/web/base/report/update.html:68
msgid "Describe why you are moderating this"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:32
#: templates/web/base/admin/responsepriorities/list.html:7
#: templates/web/zurich/admin/index-dm.html:22
#: templates/web/zurich/admin/index-sdm.html:20
@@ -922,7 +947,7 @@ msgstr "Beschreibung"
#: templates/web/base/admin/responsepriorities/edit.html:17
msgid "Description:"
-msgstr ""
+msgstr "Beschreibung"
#: templates/web/base/js/translation_strings.html:33
#: templates/web/zurich/report/new/fill_in_details_form.html:45
@@ -936,7 +961,7 @@ msgstr "Beschreibung"
msgid "Details:"
msgstr "Beschreibung"
-#: templates/web/base/admin/body.html:93
+#: templates/web/base/admin/body.html:92
msgid "Devolved"
msgstr ""
@@ -949,18 +974,17 @@ msgstr "hat Karte nicht verwendet"
msgid "Diligency prize league table"
msgstr "Weiss ich nicht"
-#: templates/web/base/report/_main.html:114
-#: templates/web/base/report/update.html:61
-#, fuzzy
+#: templates/web/base/report/_main.html:118
+#: templates/web/base/report/update.html:70
msgid "Discard changes"
-msgstr "Speichern"
+msgstr ""
#: templates/web/base/admin/open311-form-fields.html:95
msgid "Do not send email alerts on fetched comments to problem creator"
msgstr ""
#. ("%s is the site name")
-#: templates/web/base/auth/general.html:58
+#: templates/web/base/auth/general.html:60
#: templates/web/base/report/new/form_user_loggedout.html:25
#: templates/web/base/report/new/oauth_email_form.html:18
#: templates/web/base/report/update-form.html:30
@@ -968,40 +992,33 @@ msgstr ""
msgid "Do you have a %s password?"
msgstr "Haben Sie ein %s Passwort?"
+#: templates/web/base/report/_inspect.html:87
+msgid "Do you want to automatically raise a defect?"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:57
msgid "Don&rsquo;t know"
msgstr ""
-#: templates/web/base/contact/index.html:108
+#: templates/web/base/contact/index.html:112
msgid "Don't like forms?"
msgstr ""
-#: templates/web/base/report/_item.html:25
+#: templates/web/base/report/_item.html:27
msgid "Down one"
msgstr ""
-#: templates/web/base/js/translation_strings.html:55
+#: templates/web/base/js/translation_strings.html:58
msgid "Drag and drop photos here or <u>click to upload</u>"
msgstr "Fotos hierhin ziehen oder <u>hochladen</u>"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:10
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "Duplicate"
-msgstr "Duplikat"
-
-#: templates/web/base/report/_inspect.html:88
-#, fuzzy
+#: templates/web/base/report/_inspect.html:98
msgid "Duplicate of"
-msgstr "Duplikat"
+msgstr ""
-#: templates/web/base/report/_inspect.html:98
-#, fuzzy
+#: templates/web/base/report/_inspect.html:108
msgid "Duplicates"
-msgstr "Duplikat"
+msgstr ""
#: templates/web/base/admin/body.html:116
msgid ""
@@ -1011,45 +1028,45 @@ msgid ""
" "
msgstr ""
-#: templates/web/base/report/_inspect.html:16
-#: templates/web/base/report/_item.html:81
+#: templates/web/base/report/_inspect.html:26
+#: templates/web/base/report/_item.html:83
msgid "Easting/Northing:"
msgstr ""
#: templates/web/base/admin/list_updates.html:42
#: templates/web/base/admin/problem_row.html:41
-#: templates/web/base/admin/responsepriorities/list.html:26
+#: templates/web/base/admin/responsepriorities/list.html:28
#: templates/web/base/admin/templates.html:22
#: templates/web/base/admin/users.html:34
#: templates/web/zurich/admin/problem_row.html:48
msgid "Edit"
msgstr "Anpassen"
-#: templates/web/base/admin/body.html:140
+#: templates/web/base/admin/body.html:141
#: templates/web/base/admin/index.html:39
#: templates/web/zurich/admin/body.html:69
msgid "Edit body details"
msgstr "Details editieren"
-#: perllib/FixMyStreet/Cobrand/Default.pm:724
+#: perllib/FixMyStreet/Cobrand/Default.pm:729
msgid "Edit other users' details"
-msgstr ""
+msgstr "User-Details editieren"
-#: perllib/FixMyStreet/Cobrand/Default.pm:725
+#: perllib/FixMyStreet/Cobrand/Default.pm:730
msgid "Edit other users' permissions"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:708
+#: perllib/FixMyStreet/Cobrand/Default.pm:712
msgid "Edit report category"
-msgstr ""
+msgstr "Kategorie editieren"
-#: perllib/FixMyStreet/Cobrand/Default.pm:709
+#: perllib/FixMyStreet/Cobrand/Default.pm:713
msgid "Edit report priority"
-msgstr ""
+msgstr "Priorit&auml;t editieren"
-#: perllib/FixMyStreet/Cobrand/Default.pm:707
+#: perllib/FixMyStreet/Cobrand/Default.pm:711
msgid "Edit reports"
-msgstr ""
+msgstr "Meldungen editieren"
#: templates/web/base/admin/report_edit.html:0
#: templates/web/base/admin/report_edit.html:14
@@ -1070,15 +1087,15 @@ msgstr ""
msgid "Editing user %d"
msgstr ""
-#: templates/web/base/admin/category_edit.html:56
+#: templates/web/base/admin/category_edit.html:30
msgid "Editor"
msgstr ""
#: templates/web/base/admin/bodies.html:27
-#: templates/web/base/admin/category_edit.html:53
+#: templates/web/base/admin/category_edit.html:28
#: templates/web/base/admin/flagged.html:38
#: templates/web/base/admin/users.html:17
-#: templates/web/base/auth/general.html:49
+#: templates/web/base/auth/general.html:51
#: templates/web/zurich/admin/body-form.html:9
#: templates/web/zurich/admin/body.html:15
#: templates/web/zurich/auth/general.html:24
@@ -1086,15 +1103,16 @@ msgstr ""
msgid "Email"
msgstr "E-Mail"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1644
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1749
msgid "Email added to abuse list"
msgstr ""
-#: templates/web/base/admin/contact-form.html:36
-#: templates/web/base/report/new/form_user_loggedin.html:28
-#: templates/web/base/report/update/form_name.html:19
+#: templates/web/base/admin/contact-form.html:38
+#: templates/web/base/alert/_list.html:74
+#: templates/web/base/report/new/form_user_loggedin.html:32
+#: templates/web/base/report/update/form_name.html:23
msgid "Email address"
-msgstr ""
+msgstr "Ihre E-Mail Adresse"
#: templates/web/base/tokens/confirm_alert.html:6
msgid "Email alert created"
@@ -1104,11 +1122,11 @@ msgstr "E-Mail Benachrichtigung erstellt"
msgid "Email alert deleted"
msgstr "E-Mail Benachrichtigung gel&ouml;scht"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1641
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1746
msgid "Email already in abuse list"
msgstr ""
-#: templates/web/base/admin/report_edit.html:141
+#: templates/web/base/admin/report_edit.html:129
#: templates/web/base/admin/update_edit.html:35
#: templates/web/base/admin/user-form.html:19
#: templates/web/zurich/admin/body.html:48
@@ -1129,8 +1147,8 @@ msgid ""
" <a href='https://www.mysociety.org/2013/02/20/open311-extended/' class='admin-offsite-link'>this article</a>."
msgstr ""
-#: templates/web/base/admin/body-form.html:120
-#: templates/web/base/admin/body-form.html:121
+#: templates/web/base/admin/body-form.html:122
+#: templates/web/base/admin/body-form.html:123
msgid ""
"Enable this <strong>can be devolved</strong> setting if one or more contacts have a \n"
" different endpoint (and send method) from the body's. For example, if reports for some categories of\n"
@@ -1145,11 +1163,11 @@ msgstr ""
msgid "Endpoint"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:76
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:81
msgid "Enter a Z&uuml;rich street name"
msgstr "Ungef&auml;hre Adresse des Schadens"
-#: perllib/FixMyStreet/Cobrand/UK.pm:15
+#: perllib/FixMyStreet/Cobrand/UK.pm:16
msgid "Enter a nearby UK postcode, or street name and area"
msgstr "Geben Sie eine Adresse an"
@@ -1158,12 +1176,13 @@ msgstr "Geben Sie eine Adresse an"
msgid "Enter a nearby postcode, or street name and area"
msgstr "Ungef&auml;hre Adresse des Schadens"
+#: perllib/FixMyStreet/Cobrand/DansMonQwat.pm:14
#: templates/web/base/around/postcode_form.html:5
#: templates/web/base/around/postcode_form.html:6
msgid "Enter a nearby street name and area"
msgstr "Ungef&auml;hre Adresse des Schadens"
-#: templates/web/base/auth/general.html:116
+#: templates/web/base/auth/general.html:118
#: templates/web/base/report/new/form_user_loggedout_by_email.html:35
#: templates/web/base/report/update/form_user_loggedout_by_email.html:13
#: templates/web/zurich/auth/general.html:65
@@ -1183,8 +1202,8 @@ msgstr "Beschreiben Sie den Schaden"
msgid "Error"
msgstr "Fehler"
-#: templates/web/base/reports/_list-filters.html:20
-#: templates/web/base/reports/_list-filters.html:28
+#: templates/web/base/reports/_list-filters.html:31
+#: templates/web/base/reports/_list-filters.html:39
msgid "Everything"
msgstr "Alles"
@@ -1197,26 +1216,24 @@ msgstr "Beispieladresse"
msgid "Examples:"
msgstr "Beispiele:"
-#: templates/web/base/admin/report_edit.html:122
-#: templates/web/base/report/_inspect.html:42
+#: templates/web/base/admin/report-category.html:3
msgid "Existing category"
-msgstr ""
+msgstr "Bestehende Kategorie"
#: templates/web/base/js/translation_strings.html:49
msgid "Expand map"
msgstr ""
-#: templates/web/base/report/new/form_report.html:52
+#: templates/web/base/report/new/form_report.html:54
msgid "Explain what’s wrong"
msgstr ""
-#: templates/web/base/dashboard/index.html:146
-#, fuzzy
+#: templates/web/base/dashboard/index.html:147
msgid "Export as CSV"
-msgstr "Als CSV exportieren"
+msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:913
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:179
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:12
msgid "Extern"
@@ -1227,32 +1244,44 @@ msgstr ""
msgid "External ID"
msgstr ""
-#: templates/web/base/admin/body-form.html:87
+#: templates/web/base/admin/body-form.html:89
msgid "External URL"
msgstr ""
#: templates/web/base/admin/report_edit.html:99
msgid "External body"
-msgstr ""
+msgstr "Externe Stelle"
#: templates/web/base/admin/report_edit.html:101
msgid "External team"
-msgstr ""
+msgstr "Externes Team"
-#: templates/web/base/admin/category_edit.html:25
+#: perllib/FixMyStreet/Cobrand/Default.pm:673
+#: templates/web/base/admin/reportextrafields/edit.html:1
+#: templates/web/base/admin/reportextrafields/index.html:1
+#, fuzzy
+msgid "Extra Fields"
+msgstr "Zus&auml;tzliche Details"
+
+#: templates/web/base/admin/contact-form.html:141
#: templates/web/base/admin/report_edit.html:94
msgid "Extra data:"
msgstr ""
-#: templates/web/base/report/_inspect.html:134
-#: templates/web/base/report/_item.html:106
+#: templates/web/base/report/_inspect.html:144
+#: templates/web/base/report/_item.html:108
msgid "Extra details"
-msgstr ""
+msgstr "Zus&auml;tzliche Details"
#: templates/web/base/contact/submit.html:13
msgid "Failed to send message"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:58
+#: templates/web/base/admin/reportextrafields/index.html:9
+msgid "Fields"
+msgstr ""
+
#: templates/web/zurich/admin/index-dm.html:33
#: templates/web/zurich/admin/index-sdm.html:30
msgid "Filter report list"
@@ -1266,52 +1295,32 @@ msgstr ""
msgid "Fix this by choosing an <strong>area covered</strong> in the <em>Edit body details</em> form below."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:11
-#: templates/web/base/admin/report_blocks.html:26
+#: perllib/FixMyStreet/App/Controller/Admin/States.pm:35
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:133
+#: templates/web/base/admin/states/index.html:29
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:41
-#: templates/web/base/report/banner.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:17
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:45
msgid "Fixed"
msgstr "Beantwortet"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:13
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:7
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:62
msgid "Fixed - Council"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:12
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:63
msgid "Fixed - User"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:14
-msgid "Fixed reports"
-msgstr "Beantwortete Meldungen"
-
-#: templates/web/base/admin/problem_row.html:37
-msgid "Fixed:"
-msgstr ""
-
-#: templates/web/base/admin/body-form.html:95
-#: templates/web/base/admin/responsepriorities/edit.html:41
+#: templates/web/base/admin/body-form.html:97
+#: templates/web/base/admin/responsepriorities/edit.html:53
#: templates/web/zurich/admin/body-form.html:36
msgid "Flag as deleted"
msgstr "Als gel&#246;scht markieren"
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/report_blocks.html:23
msgid "Flag user"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: perllib/FixMyStreet/Cobrand/Default.pm:644
#: templates/web/base/admin/users.html:20
msgid "Flagged"
msgstr ""
@@ -1328,7 +1337,7 @@ msgstr ""
msgid "Flagged users are not restricted in any way. This is just a list of users that have been marked for attention."
msgstr ""
-#: templates/web/base/admin/report_edit.html:147
+#: templates/web/base/admin/report_edit.html:135
#: templates/web/base/admin/user-form.html:100
msgid "Flagged:"
msgstr ""
@@ -1339,23 +1348,27 @@ msgstr ""
#: templates/web/base/report/new/after_photo.html:3
msgid "For best results include a close-up and a wide shot"
+msgstr "Machen Sie ein Detail- und ein &Uuml;bersichtsfoto"
+
+#: templates/web/base/admin/extra-metadata-form.html:52
+msgid "For each option, <strong>Key</strong> is the value which is stored in the database for that option and <strong>Name</strong> is the value displayed to the user."
msgstr ""
-#: templates/web/base/admin/body-form.html:71
+#: templates/web/base/admin/body-form.html:73
msgid "For more information, see <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
msgstr ""
-#: templates/web/base/auth/general.html:95
+#: templates/web/base/auth/general.html:97
#: templates/web/base/report/new/form_user_loggedout_password.html:20
#: templates/web/base/report/update/form_user_loggedout_password.html:19
msgid "Forgotten your password?"
msgstr "Ihr Passwort"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:743
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:748
msgid "Forwarded to external body"
msgstr "An externe Stelle weitergeleitet"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:744
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:749
msgid "Forwarded wish to external body"
msgstr "Wunsch an externe Stelle weitergeleitet"
@@ -1365,6 +1378,10 @@ msgstr "Wunsch an externe Stelle weitergeleitet"
msgid "Frequently Asked Questions"
msgstr "Hilfe"
+#: templates/web/base/admin/stats.html:102
+msgid "Get Count"
+msgstr ""
+
#: templates/web/base/around/_updates.html:3
#: templates/web/base/report/display_tools.html:14
msgid "Get updates"
@@ -1380,10 +1397,14 @@ msgstr "Beschreiben Sie den Schaden"
msgid "Get updates of problems in this %s"
msgstr ""
-#: templates/web/base/alert/_list.html:83
+#: templates/web/base/alert/_list.html:85
msgid "Give me an RSS feed"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:6
+msgid "Give this collection of fields a name. It is not shown publicly, just here in the admin."
+msgstr ""
+
#: templates/web/base/questionnaire/completed.html:14
msgid "Glad to hear it’s been fixed!"
msgstr ""
@@ -1393,8 +1414,9 @@ msgstr ""
#: templates/web/base/admin/index.html:49
#: templates/web/base/alert/index.html:34
#: templates/web/base/around/postcode_form.html:13
-#: templates/web/base/reports/_list-filters.html:38
-#: templates/web/base/reports/_list-filters.html:53
+#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:64
+#: templates/web/base/reports/index.html:75
#: templates/web/zurich/admin/stats.html:26
msgid "Go"
msgstr "Los"
@@ -1403,7 +1425,7 @@ msgstr "Los"
msgid "Going to send questionnaire?"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:726
+#: perllib/FixMyStreet/Cobrand/Default.pm:731
msgid "Grant access to the admin"
msgstr ""
@@ -1411,10 +1433,6 @@ msgstr ""
msgid "Graph of problem creation by status over time"
msgstr "Grafik der Meldungen nach Status und Zeit"
-#: templates/web/base/reports/index.html:15
-msgid "Greyed-out lines are councils that no longer exist."
-msgstr ""
-
#: templates/web/base/questionnaire/index.html:48
msgid "Has this problem been fixed?"
msgstr ""
@@ -1425,7 +1443,7 @@ msgstr ""
#: templates/web/base/main_nav_items.html:40
#: templates/web/zurich/about/faq-de-ch.html:1
-#: templates/web/zurich/footer.html:23
+#: templates/web/zurich/footer.html:22
#: templates/web/zurich/nav_over_content.html:8
msgid "Help"
msgstr "Hilfe"
@@ -1433,24 +1451,15 @@ msgstr "Hilfe"
#: templates/web/base/report/new/category_extras.html:13
#: templates/web/base/report/new/category_extras.html:14
msgid "Help <strong>%s</strong> resolve your problem quicker, by providing some extra detail. This extra information will not be published online."
-msgstr ""
-
-#: templates/web/base/alert/_list.html:9
-msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
-msgstr ""
+msgstr "Helfen Sie <strong>%s</strong> Ihre Meldung zu bearbeiten indem Sie zus&auml;tzliche Informationen angeben."
-#: templates/web/zurich/footer.html:12
+#: templates/web/zurich/footer.html:11
msgid "Hi %s"
msgstr "Hallo %s"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:906
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:19
-#: templates/web/base/admin/report_blocks.html:28
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:911
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:60
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:19
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:11
#: templates/web/zurich/admin/stats.html:32
@@ -1458,16 +1467,33 @@ msgstr "Hallo %s"
msgid "Hidden"
msgstr "Unsichtbar"
-#: templates/web/base/report/_main.html:105
-#, fuzzy
+#: templates/web/base/report/_main.html:109
msgid "Hide entire report"
-msgstr "Erfasse eine Meldung"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:1
+#: templates/web/base/my/anonymize.html:2
+msgid "Hide my name"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:21
+msgid "Hide my name everywhere"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:10
+msgid "Hide my name in this update"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:16
+msgid "Hide my name on this report"
+msgstr ""
#: templates/web/base/around/display_location.html:67
msgid "Hide old"
msgstr "Alte ausblenden"
#: templates/web/base/around/display_location.html:62
+#: templates/web/base/js/translation_strings.html:55
msgid "Hide pins"
msgstr "Stecknadeln ausblenden"
@@ -1475,7 +1501,16 @@ msgstr "Stecknadeln ausblenden"
msgid "Hide update completely?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:49
+#: templates/web/base/report/_report_meta_info.html:3
+#: templates/web/base/report/update.html:55
+msgid "Hide your name?"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:38
+msgid "Hint"
+msgstr ""
+
+#: templates/web/base/admin/category_edit.html:24
msgid "History"
msgstr "History"
@@ -1492,12 +1527,12 @@ msgid "How to send successful reports"
msgstr "Anleitung"
#: templates/web/base/tokens/confirm_problem.html:36
-#: templates/web/base/tokens/confirm_problem.html:40
+#: templates/web/base/tokens/confirm_problem.html:41
msgid "I just reported a problem on @fixmystreet"
msgstr ""
-#: templates/web/base/tokens/confirm_update.html:19
-#: templates/web/base/tokens/confirm_update.html:23
+#: templates/web/base/tokens/confirm_update.html:20
+#: templates/web/base/tokens/confirm_update.html:25
msgid "I just updated a problem on @fixmystreet"
msgstr ""
@@ -1517,17 +1552,25 @@ msgstr ""
msgid "ID"
msgstr "ID"
-#: templates/web/base/admin/body-form.html:30
-#: templates/web/base/admin/body-form.html:31
+#: templates/web/base/admin/body-form.html:32
+#: templates/web/base/admin/body-form.html:33
msgid ""
"Identify a <strong>parent</strong> if this body is itself part of another body.\n"
" For basic installations, you don't need to join bodies in this way."
msgstr ""
+#: templates/web/base/auth/token.html:19
+msgid "If there's a user associated with the address you entered, we've sent a confirmation email."
+msgstr ""
+
#: templates/web/base/admin/responsepriorities/edit.html:23
msgid "If this priority is passed to an external service (e.g. Exor/Confirm) enter the priority code to use with that service here."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:24
+msgid "If ticked the user won’t see an input field, just the ‘Description’ text."
+msgstr ""
+
#: templates/web/base/admin/contact-form.html:14
msgid ""
"If two or more bodies serve the same location, FixMyStreet combines identical categories into a single entry in\n"
@@ -1538,7 +1581,7 @@ msgstr ""
msgid "If you get some more information about the status of your problem, please come back to the site and leave an update."
msgstr ""
-#: templates/web/base/admin/responsepriorities/edit.html:33
+#: templates/web/base/admin/responsepriorities/edit.html:45
msgid "If you only want this priority to be an option for specific categories, pick them here. By default they will show for all categories."
msgstr ""
@@ -1561,7 +1604,7 @@ msgid ""
"(please note it will not be sent to the council)."
msgstr ""
-#: templates/web/base/admin/contact-form.html:30
+#: templates/web/base/admin/contact-form.html:32
msgid "If you're using <strong>a send method that is not email</strong>, enter the service ID (Open311) or equivalent identifier here."
msgstr ""
@@ -1588,7 +1631,7 @@ msgid ""
" when they are shown on the site. Enter the ID (number) of that user."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:133
+#: perllib/FixMyStreet/App/Controller/Contact.pm:134
msgid "Illegal ID"
msgstr "Unbekannt ID"
@@ -1596,13 +1639,6 @@ msgstr "Unbekannt ID"
msgid "Illegal feed selection"
msgstr ""
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "In Progress"
-msgstr "In Bearbeitung"
-
#: templates/web/base/admin/flagged.html:39
msgid "In abuse table?"
msgstr ""
@@ -1611,18 +1647,17 @@ msgstr ""
msgid "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:192
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:954
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:9
-#: templates/web/base/report/banner.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:5
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:197
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:959
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:8
msgid "In progress"
msgstr "In Bearbeitung"
+#: templates/web/base/admin/contact-form.html:57
+msgid "Inactive"
+msgstr ""
+
#: templates/web/base/tokens/confirm_alert.html:11
msgid "Inbox zero, here we come!"
msgstr ""
@@ -1639,11 +1674,15 @@ msgstr ""
msgid "Incorrect has_photo value \"%s\""
msgstr ""
-#: templates/web/base/admin/contact-form.html:84
-msgid "Inspection required"
+#: templates/web/base/report/_inspect.html:5
+msgid "Inspect report"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:711
+#: templates/web/base/admin/contact-form.html:85
+msgid "Inspection required"
+msgstr "Kontrolle notwendig"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:715
msgid "Instruct contractors to fix problems"
msgstr ""
@@ -1651,13 +1690,6 @@ msgstr ""
msgid "Internal notes"
msgstr "Interne Notizen"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:11
-msgid "Internal referral"
-msgstr ""
-
#: templates/web/base/offline/appcache.html:3
msgid "Internet glitch"
msgstr ""
@@ -1666,7 +1698,7 @@ msgstr ""
msgid "Invalid agency_responsible value %s"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1502
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1607
msgid "Invalid end date"
msgstr "Ung&ultiges Enddatum"
@@ -1674,26 +1706,15 @@ msgstr "Ung&ultiges Enddatum"
msgid "Invalid format %s specified."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report.pm:398
+#: perllib/FixMyStreet/App/Controller/Report.pm:409
msgid "Invalid location. New location must be covered by the same council."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1498
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1603
msgid "Invalid start date"
msgstr "Ung&ultiges Startdatum"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:7
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:4
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Investigating"
-msgstr ""
-
-#: templates/web/base/contact/blurb.html:8
+#: templates/web/base/contact/blurb.html:2
msgid "It's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there."
msgstr ""
@@ -1701,37 +1722,59 @@ msgstr ""
msgid "It’s on its way to the council right now."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:177
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:182
msgid "Jurisdiction Unknown"
msgstr "Zust&auml;ndigkeit unbekannt"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:15
msgid "Jurisdiction unknown"
msgstr "Zust&auml;ndigkeit unbekannt"
-#: templates/web/base/auth/general.html:91
+#: templates/web/base/auth/general.html:93
#: templates/web/base/report/new/form_user_loggedout_password.html:16
#: templates/web/base/report/update/form_user_loggedout_password.html:15
#: templates/web/zurich/auth/general.html:40
msgid "Keep me signed in on this computer"
msgstr "Angemeldet bleiben"
+#: templates/web/base/admin/extra-metadata-form.html:61
+msgid "Key"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:9
+#: templates/web/base/admin/states/index.html:95
+msgid "Label"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:6
+#: templates/web/base/admin/reportextrafields/edit.html:45
+msgid "Language"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/index.html:8
+msgid "Languages"
+msgstr ""
+
#: templates/web/base/dashboard/index.html:50
msgid "Last 4 weeks"
msgstr ""
#: templates/web/base/dashboard/index.html:49
-#, fuzzy
+#: templates/web/base/reports/index.html:38
msgid "Last 7 days"
-msgstr "Letzte Bearbeitung"
+msgstr ""
#: templates/web/base/admin/body.html:74
#: templates/web/zurich/admin/body.html:16
msgid "Last editor"
msgstr "Letzter Bearbeiter"
+#: templates/web/base/questionnaire/index.html:25
+msgid "Last update"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:89
msgid "Last update:"
msgstr "Letzte Bearbeitung"
@@ -1740,23 +1783,27 @@ msgstr "Letzte Bearbeitung"
msgid "Last&nbsp;update:"
msgstr "Letzte Bearbeitung"
-#: templates/web/base/report/_inspect.html:20
-#: templates/web/base/report/_item.html:86
+#: templates/web/base/report/_inspect.html:30
+#: templates/web/base/report/_item.html:88
msgid "Latitude/Longitude:"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:50
+#: templates/web/base/reports/_list-filters.html:61
msgid "Least recently updated"
-msgstr ""
+msgstr "&Auml;lteste Bearbeitung"
-#: templates/web/base/admin/body-form.html:127
+#: templates/web/base/admin/body-form.html:129
msgid "Leave this blank if all reports to this body should be sent using the same send method (e.g., \"%s\")."
msgstr ""
-#: templates/web/base/dashboard/index.html:150
+#: templates/web/base/dashboard/index.html:151
msgid "Less than 7 days old"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:47
+msgid "List"
+msgstr ""
+
#: templates/web/base/admin/body.html:31
msgid "List all reported problems"
msgstr "Liste aller Meldungen"
@@ -1787,23 +1834,23 @@ msgstr "RSS"
msgid "Locate the problem on a map of the area"
msgstr "Lokalisieren Sie den Schaden auf der Karte"
-#: templates/web/base/auth/general.html:22
+#: templates/web/base/auth/general.html:24
#: templates/web/base/report/new/form_user_loggedout.html:6
#: templates/web/base/report/update/form_user_loggedout.html:7
msgid "Log in with Facebook"
msgstr ""
-#: templates/web/base/auth/general.html:30
+#: templates/web/base/auth/general.html:32
#: templates/web/base/report/new/form_user_loggedout.html:14
#: templates/web/base/report/update/form_user_loggedout.html:15
msgid "Log in with Twitter"
msgstr ""
-#: templates/web/base/js/translation_strings.html:59
+#: templates/web/base/js/translation_strings.html:62
msgid "Log in with email"
msgstr ""
-#: templates/web/base/dashboard/index.html:145
+#: templates/web/base/dashboard/index.html:146
#: templates/web/base/dashboard/index.html:38
msgid "Look up"
msgstr ""
@@ -1812,11 +1859,11 @@ msgstr ""
msgid "MAP"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:712
+#: perllib/FixMyStreet/Cobrand/Default.pm:716
msgid "Manage shortlist"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:45
+#: templates/web/base/reports/_list-filters.html:56
msgid "Manual order"
msgstr ""
@@ -1832,19 +1879,11 @@ msgstr ""
msgid "Mark users whose behaviour you want to keep a check on as <strong>flagged</strong>."
msgstr ""
-#: templates/web/base/reports/index.html:27
-msgid "Marked fixed/closed in the past eight weeks"
-msgstr ""
-
-#: templates/web/base/reports/index.html:28
-msgid "Marked fixed/closed more than eight weeks ago"
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/Default.pm:710
+#: perllib/FixMyStreet/Cobrand/Default.pm:714
msgid "Markup problem details"
msgstr ""
-#: templates/web/base/contact/index.html:96
+#: templates/web/base/contact/index.html:100
msgid "Message"
msgstr "Nachricht"
@@ -1864,35 +1903,33 @@ msgstr ""
msgid "Missing jurisdiction_id"
msgstr ""
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:706
+#: perllib/FixMyStreet/Cobrand/Default.pm:710
msgid "Moderate report details"
-msgstr ""
+msgstr "Meldungsdetails anpassen"
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate this report"
-msgstr ""
+msgstr "Meldung anpassen"
#: templates/web/base/report/update.html:12
-#, fuzzy
msgid "Moderate this update"
-msgstr "Gemeldet von %s um %s"
+msgstr ""
-#: templates/web/base/report/_main.html:69
-#: templates/web/base/report/update.html:49
-#, fuzzy
+#: templates/web/base/report/_main.html:73
+#: templates/web/base/report/update.html:58
msgid "Moderated by %s at %s"
-msgstr "Gemeldet von %s um %s"
+msgstr ""
#: templates/web/zurich/admin/stats.html:34
msgid "Moderated by division within one working day"
msgstr "Innerhalb eines Arbeitstages moderiert"
-#: templates/web/base/report/_main.html:109
-#: templates/web/base/report/update.html:57
+#: templates/web/base/report/_main.html:113
+#: templates/web/base/report/update.html:66
msgid "Moderation reason:"
msgstr ""
@@ -1900,31 +1937,35 @@ msgstr ""
msgid "Month"
msgstr "Monat"
-#: templates/web/base/reports/_list-filters.html:51
+#: templates/web/base/reports/_list-filters.html:62
msgid "Most commented"
-msgstr ""
+msgstr "Am meisten kommentiert"
#: templates/web/base/admin/bodies.html:25
#: templates/web/base/admin/body-form.html:24
+#: templates/web/base/admin/extra-metadata-form.html:65
#: templates/web/base/admin/flagged.html:16
#: templates/web/base/admin/flagged.html:37
#: templates/web/base/admin/index.html:62
#: templates/web/base/admin/list_updates.html:7
+#: templates/web/base/admin/reportextrafields/edit.html:11
+#: templates/web/base/admin/reportextrafields/index.html:6
#: templates/web/base/admin/reports.html:14
#: templates/web/base/admin/responsepriorities/list.html:6
+#: templates/web/base/admin/states/index.html:108
+#: templates/web/base/admin/states/index.html:11
#: templates/web/base/admin/users.html:16
-#: templates/web/base/auth/general.html:106
-#: templates/web/base/report/new/form_user_loggedin.html:40
+#: templates/web/base/auth/general.html:108
+#: templates/web/base/report/new/form_user_loggedin.html:42
#: templates/web/base/report/new/form_user_loggedout_by_email.html:7
-#: templates/web/base/report/update/form_name.html:23
-#: templates/web/base/reports/index.html:23
+#: templates/web/base/report/update/form_name.html:27
#: templates/web/zurich/admin/body-form.html:4
#: templates/web/zurich/auth/general.html:60
#: templates/web/zurich/report/new/fill_in_details_form.html:59
msgid "Name"
msgstr "Name"
-#: templates/web/base/admin/report_edit.html:139
+#: templates/web/base/admin/report_edit.html:127
#: templates/web/base/admin/responsepriorities/edit.html:13
#: templates/web/base/admin/update_edit.html:34
#: templates/web/base/admin/user-form.html:16
@@ -1936,49 +1977,54 @@ msgstr "Name:"
msgid "Name: %s"
msgstr "Name: %s"
-#: templates/web/base/report/_inspect.html:28
+#: templates/web/base/report/_inspect.html:38
msgid "Navigate to this problem"
-msgstr ""
+msgstr "Zu dieser Meldung zoomen"
#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:160
#: perllib/FixMyStreet/Geocode/OSM.pm:145
msgid "Nearest named road to the pin placed on the map (automatically generated using OpenStreetMap): %s%s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:129
+#: perllib/FixMyStreet/Cobrand/UK.pm:134
msgid "Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:527
-#: perllib/FixMyStreet/Cobrand/Default.pm:567
+#: perllib/FixMyStreet/Cobrand/Default.pm:538
+#: perllib/FixMyStreet/Cobrand/Default.pm:566
msgid "Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"
msgstr ""
-#: perllib/FixMyStreet/Script/Alerts.pm:319
+#: perllib/FixMyStreet/Script/Alerts.pm:316
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s\n"
"\n"
msgstr ""
-#: templates/web/base/auth/token.html:17 templates/web/base/email_sent.html:5
+#: templates/web/base/auth/token.html:18
+msgid "Nearly done!"
+msgstr ""
+
+#: templates/web/base/auth/token.html:22 templates/web/base/email_sent.html:5
msgid "Nearly done! Now check your email&hellip;"
msgstr "Fast Fertig! Bitte checken Sie Ihre Mailbox&hellip;"
-#: templates/web/base/reports/index.html:24
-msgid "New <br>problems"
-msgstr "Neue <br>Meldungen"
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:131
+#, fuzzy
+msgid "New"
+msgstr "Neueste"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:259
+#: perllib/FixMyStreet/App/Controller/Admin.pm:262
msgid "New body added"
msgstr "Neue Organisation hinzugef&uuml;gt"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:405
+#: perllib/FixMyStreet/App/Controller/Admin.pm:386
msgid "New category contact added"
msgstr ""
#: templates/web/base/auth/change_email.html:26
msgid "New email address:"
-msgstr ""
+msgstr "Neue E-Mail Adresse"
#: templates/web/zurich/admin/report_edit-sdm.html:109
#: templates/web/zurich/admin/report_edit.html:137
@@ -1995,12 +2041,12 @@ msgstr "Neue Nachricht an die Kommunikation"
#: templates/web/base/auth/change_password.html:35
msgid "New password:"
-msgstr ""
+msgstr "Neues Passwort"
#: templates/web/base/admin/responsepriorities/edit.html:4
-#: templates/web/base/admin/responsepriorities/list.html:32
+#: templates/web/base/admin/responsepriorities/list.html:34
msgid "New priority"
-msgstr ""
+msgstr "Neue Priorit&auml;t"
#: db/alert_types.pl:38
msgid "New problems for {{COUNCIL}} within {{WARD}} ward on FixMyStreet"
@@ -2027,6 +2073,7 @@ msgid "New reports"
msgstr "Neu"
#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/states/index.html:91
msgid "New state"
msgstr "Neuer Status"
@@ -2036,28 +2083,27 @@ msgstr "Neuer Status"
msgid "New template"
msgstr "Neue Vorlage"
-#: templates/web/base/reports/_list-filters.html:47
+#: templates/web/base/reports/_list-filters.html:58
msgid "Newest"
-msgstr ""
+msgstr "Neueste"
#: templates/web/base/pagination.html:10
msgid "Next"
msgstr "Weiter"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1203
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
+#: perllib/FixMyStreet/Cobrand/Default.pm:1237
#: templates/web/base/admin/category_edit.html:4
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:137
+#: templates/web/base/admin/report_edit.html:125
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:26
#: templates/web/base/questionnaire/creator_fixed.html:16
#: templates/web/base/questionnaire/index.html:106
#: templates/web/base/questionnaire/index.html:55
+#: templates/web/base/report/_inspect.html:92
msgid "No"
msgstr "Nein"
@@ -2073,7 +2119,7 @@ msgstr ""
msgid "No council"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:445
+#: perllib/FixMyStreet/DB/Result/Problem.pm:372
msgid "No council selected"
msgstr ""
@@ -2089,25 +2135,16 @@ msgstr ""
msgid "No flagged users found."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:14
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:8
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "No further action"
-msgstr ""
-
#: templates/web/zurich/admin/report_edit-sdm.html:125
#: templates/web/zurich/admin/report_edit.html:259
msgid "No further updates"
msgstr "Bearbeitung abschliessen"
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:84
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:68
msgid "No inspections by that inspector in the selected date range."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:86
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:70
msgid "No inspections in the selected date range."
msgstr ""
@@ -2115,8 +2152,8 @@ msgstr ""
msgid "No result returned"
msgstr ""
-#: templates/web/base/admin/body-form.html:66
-#: templates/web/base/admin/body-form.html:67
+#: templates/web/base/admin/body-form.html:68
+#: templates/web/base/admin/body-form.html:69
msgid ""
"No specific areas are currently available, because the <code>MAPIT_URL</code> in\n"
" your config file is not pointing to a live MapIt service."
@@ -2149,17 +2186,8 @@ msgid ""
" activity across their body), the ability to hide reports or set special report statuses."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:9
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "Not Responsible"
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:181
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:186
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:933
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:13
msgid "Not contactable"
@@ -2178,7 +2206,7 @@ msgid "Not reported to council"
msgstr ""
#: templates/web/base/admin/body.html:75
-#: templates/web/base/admin/category_edit.html:57
+#: templates/web/base/admin/category_edit.html:31
#: templates/web/zurich/admin/body.html:17
msgid "Note"
msgstr ""
@@ -2188,7 +2216,7 @@ msgid "Note that when including unconfirmed reports we use the date the report w
msgstr ""
#: templates/web/zurich/admin/body.html:55
-#: templates/web/zurich/admin/contact-form.html:17
+#: templates/web/zurich/admin/contact-form.html:19
msgid "Note:"
msgstr ""
@@ -2200,6 +2228,10 @@ msgstr ""
msgid "Notes from SDM to DM"
msgstr "Nachrichten an die Kommunikationstelle"
+#: templates/web/base/admin/extra-metadata-form.html:26
+msgid "Notice"
+msgstr ""
+
#: templates/web/base/report/new/oauth_email_form.html:17
msgid "Now to submit your report&hellip;"
msgstr ""
@@ -2210,63 +2242,43 @@ msgstr ""
msgid "Now to submit your update&hellip;"
msgstr ""
+#: templates/web/base/reports/index.html:98
+msgid "Number of problems reported in each category, in the last 7 days."
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:43
msgid "OK"
msgstr ""
-#: templates/web/base/js/translation_strings.html:67
+#: templates/web/base/js/translation_strings.html:70
msgid "Offline data cleared"
msgstr ""
-#: templates/web/base/js/translation_strings.html:64
+#: templates/web/base/js/translation_strings.html:67
msgid "Offline update data saved"
msgstr ""
-#: templates/web/base/reports/index.html:26
-msgid "Old / unknown <br>problems"
-msgstr ""
-
#: templates/web/base/admin/questionnaire.html:24
msgid "Old state"
msgstr "Alter Status"
-#: templates/web/base/reports/index.html:28
-msgid "Older <br>fixed"
-msgstr ""
-
-#: templates/web/base/reports/index.html:25
-msgid "Older <br>problems"
-msgstr ""
-
-#: templates/web/base/reports/_list-filters.html:48
+#: templates/web/base/reports/_list-filters.html:59
msgid "Oldest"
-msgstr ""
+msgstr "&Auml;lteste"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:900
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:25
-#: templates/web/base/admin/report_blocks.html:6
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:905
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:10
+#: templates/web/base/admin/states/index.html:102
+#: templates/web/base/admin/states/index.html:25
+#: templates/web/base/admin/states/index.html:32
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:3
-#: templates/web/base/report/update/form_update.html:41
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:7
#: templates/web/zurich/admin/update_edit.html:18
msgid "Open"
msgstr "Aufgenommen"
-#: templates/web/base/reports/index.html:25
-msgid "Open for more than four weeks, with an update within the past eight weeks"
-msgstr ""
-
-#: templates/web/base/reports/index.html:26
-msgid "Open, but not had any update in eight weeks"
-msgstr ""
-
#: templates/web/base/admin/open311-form-fields.html:47
msgid "Open311 API Key"
msgstr ""
@@ -2287,26 +2299,39 @@ msgstr ""
msgid "Open311 specification"
msgstr ""
-#: templates/web/base/alert/_list.html:61
-msgid "Or problems reported to:"
+#: templates/web/base/admin/extra-metadata-form.html:53
+#, fuzzy
+msgid "Options"
+msgstr "optional"
+
+#: templates/web/base/alert/_list.html:84
+msgid "Or subscribe by RSS"
msgstr ""
-#: templates/web/base/alert/_list.html:37
-msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
+#: templates/web/base/admin/extra-metadata-form.html:8
+msgid "Order"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:1061
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:659
-#: perllib/FixMyStreet/DB/Result/Problem.pm:642
-#: perllib/FixMyStreet/DB/Result/Problem.pm:649
-#: perllib/FixMyStreet/DB/Result/Problem.pm:664
-#: perllib/FixMyStreet/DB/Result/Problem.pm:673
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1107
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:675
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:676
+#: perllib/FixMyStreet/DB/Result/Problem.pm:579
+#: perllib/FixMyStreet/DB/Result/Problem.pm:586
+#: perllib/FixMyStreet/DB/Result/Problem.pm:601
+#: perllib/FixMyStreet/DB/Result/Problem.pm:610
#: perllib/FixMyStreet/Script/Reports.pm:183
#: perllib/FixMyStreet/Script/Reports.pm:198
msgid "Other"
msgstr ""
+#: templates/web/base/reports/index.html:107
+msgid "Other categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:92
+msgid "Overall average"
+msgstr ""
+
#: templates/web/base/admin/list_updates.html:8
msgid "Owner"
msgstr "Besitzer"
@@ -2316,17 +2341,16 @@ msgstr "Besitzer"
msgid "Page Not Found"
msgstr ""
-#: templates/web/base/admin/body-form.html:37
+#: templates/web/base/admin/body-form.html:39
#: templates/web/zurich/admin/body-form.html:14
msgid "Parent"
msgstr "Geh&ouml;rt zu"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:20
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:61
msgid "Partial"
msgstr ""
-#: templates/web/base/auth/general.html:109
+#: templates/web/base/auth/general.html:111
#: templates/web/base/report/new/form_user_loggedout_by_email.html:28
#: templates/web/base/report/update/form_user_loggedout_by_email.html:6
#: templates/web/zurich/auth/general.html:32
@@ -2334,7 +2358,7 @@ msgstr ""
msgid "Password (optional)"
msgstr "Passwort"
-#: templates/web/base/auth/general.html:82
+#: templates/web/base/auth/general.html:84
msgid "Password:"
msgstr ""
@@ -2346,17 +2370,22 @@ msgstr ""
msgid "Permissions:"
msgstr ""
+#: templates/web/base/report/_inspect.html:19
+#, fuzzy
+msgid "Phone Reporter:"
+msgstr "Gemeldet"
+
#: templates/web/zurich/report/new/fill_in_details_form.html:65
msgid "Phone number"
msgstr "Telefonnummer"
-#: templates/web/base/report/new/form_user_loggedin.html:57
+#: templates/web/base/report/new/form_user_loggedin.html:59
#: templates/web/base/report/new/form_user_loggedout_by_email.html:25
msgid "Phone number (optional)"
msgstr "Telefonnummer (optional)"
#: perllib/FixMyStreet/Script/Reports.pm:87
-#: templates/web/base/admin/report_edit.html:146
+#: templates/web/base/admin/report_edit.html:134
#: templates/web/base/admin/user-form.html:21
#: templates/web/zurich/admin/stats.html:39
msgid "Phone:"
@@ -2365,9 +2394,9 @@ msgstr "Telefonnummer:"
#: templates/web/base/questionnaire/index.html:78
#: templates/web/base/questionnaire/index.html:93
#: templates/web/base/questionnaire/index.html:95
-#: templates/web/base/report/new/form_report.html:28
-#: templates/web/base/report/new/form_report.html:43
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/new/form_report.html:45
+#: templates/web/base/report/new/form_report.html:47
#: templates/web/base/report/update/form_update.html:22
#: templates/web/base/report/update/form_update.html:24
#: templates/web/base/report/update/form_update.html:7
@@ -2385,32 +2414,33 @@ msgstr "Foto"
msgid "Photo is required."
msgstr "Foto wird ben&ouml;tigt"
-#: templates/web/zurich/admin/contact-form.html:14
+#: templates/web/zurich/admin/contact-form.html:16
msgid "Photo required"
msgstr "Foto ben&ouml;tigt"
#: templates/web/base/questionnaire/index.html:78
-#: templates/web/base/report/new/form_report.html:28
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/update/form_update.html:7
#: templates/web/zurich/report/new/fill_in_details_form.html:20
msgid "Photos"
-msgstr ""
+msgstr "Fotos"
#: templates/web/base/alert/list.html:23
msgid "Photos of recent nearby reports"
msgstr "Fotos von neuen Meldungen in der N&auml;he"
+#: templates/web/base/reports/index.html:63
+#: templates/web/base/reports/index.html:66
+msgid "Pick your council"
+msgstr ""
+
#: templates/web/base/around/display_location.html:76
#: templates/web/base/js/translation_strings.html:30
msgid "Place pin on map"
msgstr "Pin auf der Karte absetzen"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:940
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:946
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:8
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:945
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:951
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:9
#: templates/web/zurich/admin/index-dm.html:9
@@ -2428,31 +2458,27 @@ msgstr ""
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:18
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:43
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:45
#: templates/web/zurich/auth/general.html:3
#: templates/web/zurich/auth/general.html:9
msgid "Please check your email address is correct"
msgstr "Bitte &uuml;berpr&uuml;fen Sie ob Ihre E-Mail Adresse korrekt ist"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:350
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:844
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:867
-#: perllib/FixMyStreet/DB/Result/Problem.pm:456
+#: perllib/FixMyStreet/App/Controller/Admin.pm:329
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:873
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:896
+#: perllib/FixMyStreet/DB/Result/Problem.pm:383
#: templates/web/base/js/translation_strings.html:9
msgid "Please choose a category"
msgstr "Bitte w&auml;hlen Sie eine Kategorie"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:462
-msgid "Please choose a property type"
-msgstr ""
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:396
+#: perllib/FixMyStreet/App/Controller/Admin.pm:377
#: templates/web/base/admin/bodies.html:4 templates/web/base/admin/body.html:11
msgid "Please correct the errors below"
msgstr ""
-#: templates/web/base/contact/blurb.html:12
+#: templates/web/base/contact/blurb.html:6
msgid ""
"Please do <strong>not</strong> report problems through this form; messages go to\n"
"the team behind this site, not a council. To report a problem,\n"
@@ -2463,20 +2489,20 @@ msgstr ""
msgid "Please do not be abusive&nbsp;&mdash; abusing your council devalues the service for all users."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:351
-#: perllib/FixMyStreet/DB/Result/Comment.pm:127
+#: perllib/FixMyStreet/App/Controller/Admin.pm:330
+#: perllib/FixMyStreet/DB/Result/Comment.pm:128
#: templates/web/base/js/translation_strings.html:2
msgid "Please enter a message"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1200
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1364
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1305
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1469
msgid "Please enter a name"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:478
+#: perllib/FixMyStreet/App/Controller/Admin.pm:497
msgid "Please enter a name for this body"
-msgstr ""
+msgstr "Obligatorisches Feld"
#: templates/web/base/auth/change_password.html:22
#: templates/web/base/auth/change_password.html:25
@@ -2484,15 +2510,15 @@ msgstr ""
msgid "Please enter a password"
msgstr "Obligatorisches Feld"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:114
-#: perllib/FixMyStreet/DB/Result/Problem.pm:439
+#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/DB/Result/Problem.pm:366
#: templates/web/base/js/translation_strings.html:3
msgid "Please enter a subject"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1197
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1361
-#: perllib/FixMyStreet/App/Controller/Admin.pm:363
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1302
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1466
+#: perllib/FixMyStreet/App/Controller/Admin.pm:343
#: perllib/FixMyStreet/DB/Result/User.pm:164
#: templates/web/base/js/translation_strings.html:12
#: templates/web/base/js/translation_strings.html:16
@@ -2500,21 +2526,21 @@ msgid "Please enter a valid email"
msgstr "Bitte geben Sie eine g&uuml;ltige E-Mail Adresse an"
#: perllib/FixMyStreet/App/Controller/Alert.pm:350
-#: perllib/FixMyStreet/App/Controller/Contact.pm:124
+#: perllib/FixMyStreet/App/Controller/Contact.pm:125
msgid "Please enter a valid email address"
msgstr "Bitte geben Sie eine g&uuml;ltige E-Mail Adresse an"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:442
+#: perllib/FixMyStreet/DB/Result/Problem.pm:369
#: templates/web/base/js/translation_strings.html:4
msgid "Please enter some details"
msgstr "Bitte geben Sie einige Details an"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/App/Controller/Contact.pm:114
#: perllib/FixMyStreet/DB/Result/User.pm:161
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:17
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:42
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:44
#: templates/web/base/js/translation_strings.html:11
#: templates/web/base/js/translation_strings.html:15
#: templates/web/zurich/auth/general.html:3
@@ -2531,14 +2557,14 @@ msgstr "Ihre E-Mail Adresse"
msgid "Please enter your first name"
msgstr "Bitte geben Sie Ihren Namen an"
-#: perllib/FixMyStreet/Cobrand/UK.pm:320
+#: perllib/FixMyStreet/Cobrand/UK.pm:326
#: templates/web/base/js/translation_strings.html:7
msgid "Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:112
-#: perllib/FixMyStreet/DB/Result/Comment.pm:124
-#: perllib/FixMyStreet/DB/Result/Problem.pm:450
+#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/DB/Result/Comment.pm:125
+#: perllib/FixMyStreet/DB/Result/Problem.pm:377
#: perllib/FixMyStreet/DB/Result/User.pm:157
#: templates/web/base/js/translation_strings.html:6
msgid "Please enter your name"
@@ -2601,7 +2627,7 @@ msgstr ""
msgid "Please note:"
msgstr "Hinweise:"
-#: perllib/FixMyStreet/App/Controller/Report.pm:358
+#: perllib/FixMyStreet/App/Controller/Report.pm:353
msgid "Please provide a public update for this report."
msgstr ""
@@ -2637,11 +2663,11 @@ msgstr ""
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:122
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:156
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:158
-#: templates/web/base/js/translation_strings.html:57
+#: templates/web/base/js/translation_strings.html:60
msgid "Please upload an image only"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/App/Controller/Contact.pm:116
msgid "Please write a message"
msgstr ""
@@ -2649,30 +2675,29 @@ msgstr ""
msgid "Please write your update here"
msgstr ""
-#: templates/web/base/contact/index.html:103
#: templates/web/base/report/update-form.html:25
#: templates/web/base/report/update/form_user_loggedout_by_email.html:14
#: templates/web/base/report/update/form_user_loggedout_password.html:10
msgid "Post"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:242
+#: perllib/FixMyStreet/DB/Result/Comment.pm:231
msgid "Posted anonymously at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:257
+#: perllib/FixMyStreet/DB/Result/Comment.pm:255
msgid "Posted by %s at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:252
+#: perllib/FixMyStreet/DB/Result/Comment.pm:243
msgid "Posted by <strong>%s</strong> (%s) at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:254
+#: perllib/FixMyStreet/DB/Result/Comment.pm:245
msgid "Posted by <strong>%s</strong> at %s"
msgstr ""
-#: templates/web/base/front/footer-marketing.html:12
+#: templates/web/base/front/footer-marketing.html:6
msgid "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
msgstr ""
@@ -2684,8 +2709,8 @@ msgstr "Zur&uuml;ck"
msgid "Priorities"
msgstr ""
-#: templates/web/base/report/_inspect.html:113
-#: templates/web/base/report/_item.html:98
+#: templates/web/base/report/_inspect.html:123
+#: templates/web/base/report/_item.html:100
msgid "Priority"
msgstr ""
@@ -2699,16 +2724,15 @@ msgstr ""
msgid "Privacy and cookies"
msgstr ""
-#: templates/web/base/admin/body.html:91
-#: templates/web/base/admin/contact-form.html:74
-#: templates/web/base/admin/report_edit.html:149
+#: templates/web/base/admin/body.html:88
+#: templates/web/base/admin/contact-form.html:75
+#: templates/web/base/admin/report_edit.html:137
msgid "Private"
msgstr ""
#: templates/web/base/report/new/form_user.html:1
-#, fuzzy
msgid "Private details"
-msgstr "Details editieren"
+msgstr ""
#: templates/web/base/maps/pin.html:13
msgid "Problem"
@@ -2732,7 +2756,7 @@ msgstr ""
msgid "Problem breakdown by state"
msgstr "Meldungen nach Status sortiert"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1167
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1272
msgid "Problem marked as open."
msgstr ""
@@ -2740,11 +2764,16 @@ msgstr ""
msgid "Problem state change based on survey results"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:705
+#: perllib/FixMyStreet/Cobrand/Default.pm:709
#: templates/web/base/admin/flagged.html:10
msgid "Problems"
msgstr "Meldungen"
+#: templates/web/base/alert/_list.html:22
+#, fuzzy
+msgid "Problems in an area"
+msgstr "Meldungen in der N&auml;he"
+
#: templates/web/base/report/display_tools.html:22
msgid "Problems nearby"
msgstr "Meldungen in der N&auml;he"
@@ -2757,30 +2786,33 @@ msgstr "Meldungen auf der Karte"
msgid "Problems recently reported fixed on FixMyStreet"
msgstr "Meldungen, welche k&uuml;rzlich beantwortet wurden"
-#: templates/web/base/alert/_list.html:22
-msgid "Problems within %.1fkm of this location"
-msgstr ""
+#: templates/web/base/alert/_list.html:29
+#, fuzzy
+msgid "Problems within %.1fkm of %s"
+msgstr "Meldungen innerhalb %s, %s"
-#: perllib/FixMyStreet/Cobrand/Default.pm:833
+#: perllib/FixMyStreet/Cobrand/Default.pm:838
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:137
-#: perllib/FixMyStreet/Cobrand/UK.pm:209
+#: perllib/FixMyStreet/Cobrand/UK.pm:215 perllib/FixMyStreet/Cobrand/UK.pm:257
+#: perllib/FixMyStreet/Cobrand/UK.pm:269
msgid "Problems within %s"
msgstr "Meldungen innerhalb %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:223
+#: perllib/FixMyStreet/Cobrand/UK.pm:229
msgid "Problems within %s ward"
msgstr ""
+#: perllib/FixMyStreet/Cobrand/UK.pm:263 perllib/FixMyStreet/Cobrand/UK.pm:275
+#, fuzzy
+msgid "Problems within %s ward, %s"
+msgstr "Meldungen innerhalb %s, %s"
+
#. ("First %s is the body name, second %s the site name")
#: templates/web/base/reports/body.html:0
#: templates/web/base/reports/body.html:25
msgid "Problems within %s, %s"
msgstr "Meldungen innerhalb %s, %s"
-#: templates/web/base/alert/_list.html:43
-msgid "Problems within the boundary of:"
-msgstr ""
-
#: templates/web/base/admin/report_edit.html:74
msgid "Property address:"
msgstr ""
@@ -2790,11 +2822,11 @@ msgstr ""
msgid "Provide an update"
msgstr "Meldung aktualisieren"
-#: templates/web/base/report/update/form_name.html:9
+#: templates/web/base/report/update/form_name.html:10
msgid "Provide update as"
-msgstr ""
+msgstr "Meldung aktualisieren als"
-#: templates/web/base/auth/general.html:112
+#: templates/web/base/auth/general.html:114
msgid "Providing a name and password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
msgstr ""
@@ -2804,18 +2836,17 @@ msgid "Providing a password is optional, but doing so will allow you to more eas
msgstr ""
#: templates/web/base/report/new/form_report.html:10
-#, fuzzy
msgid "Public details"
-msgstr "R&uuml;ckmeldung an User"
+msgstr ""
#: templates/web/zurich/admin/report_edit.html:241
#: templates/web/zurich/admin/report_edit.html:268
msgid "Public response:"
msgstr "R&uuml;ckmeldung an User"
-#: templates/web/base/report/_inspect.html:152
+#: templates/web/base/report/_inspect.html:162
msgid "Public update:"
-msgstr ""
+msgstr "R&uuml;ckmeldung an User"
#: templates/web/zurich/admin/report_edit.html:123
#: templates/web/zurich/admin/stats.html:38
@@ -2841,7 +2872,7 @@ msgstr ""
msgid "Questionnaire filled in by problem reporter"
msgstr ""
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
#: templates/web/base/alert/updates.html:9
#: templates/web/base/around/display_location.html:1
#: templates/web/base/around/display_location.html:3
@@ -2849,11 +2880,11 @@ msgstr ""
msgid "RSS feed"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:252 perllib/FixMyStreet/Cobrand/UK.pm:264
+#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
msgid "RSS feed for %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
+#: perllib/FixMyStreet/Cobrand/UK.pm:264 perllib/FixMyStreet/Cobrand/UK.pm:276
msgid "RSS feed for %s ward, %s"
msgstr ""
@@ -2861,25 +2892,25 @@ msgstr ""
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:179
-#: perllib/FixMyStreet/Cobrand/UK.pm:278 perllib/FixMyStreet/Cobrand/UK.pm:290
+#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
msgid "RSS feed of %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
msgid "RSS feed of %s, within %s ward"
msgstr ""
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
msgid "RSS feed of nearby problems"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:834
+#: perllib/FixMyStreet/Cobrand/Default.pm:839
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:136
-#: perllib/FixMyStreet/Cobrand/UK.pm:216
+#: perllib/FixMyStreet/Cobrand/UK.pm:222
msgid "RSS feed of problems within %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:222
+#: perllib/FixMyStreet/Cobrand/UK.pm:228
msgid "RSS feed of problems within %s ward"
msgstr ""
@@ -2898,7 +2929,7 @@ msgstr ""
msgid "Receive email when updates are left on this problem."
msgstr "Erhalten Sie Aktualisierungen dieser Meldung."
-#: perllib/FixMyStreet/DB/Result/Problem.pm:801
+#: perllib/FixMyStreet/DB/Result/Problem.pm:738
msgid "Received by %s moments later"
msgstr ""
@@ -2908,29 +2939,33 @@ msgstr ""
msgid "Recent local problems, %s"
msgstr "K&uuml;rzlich erfasste Meldungen, %s"
-#: templates/web/base/reports/index.html:27
-msgid "Recently <br>fixed"
-msgstr "K&uuml;rzlich <br>beantwortet"
-
#: templates/web/base/front/recent.html:11
msgid "Recently reported problems"
msgstr "K&uuml;rzlich erfasste Meldungen:"
-#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:60
msgid "Recently updated"
-msgstr ""
+msgstr "Neueste Bearbeitung"
#: templates/web/zurich/report/new/notes.html:5
msgid "Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. If your problem is not appropriate for submission via this site remember that you can contact your council directly using their own website."
msgstr "&#171;Z&uuml;ri wie neu&#187; dient dazu Sch&auml;den an der Infrastruktur zu melden. Meldungen und W&uuml;nsche bez&uuml;glich Verbesserungen an der Infrastruktur sowie Gestaltungsvorschl&auml;ge k&ouml;nnen über &#171;Z&uuml;ri wie neu&#187; nicht ber&uuml;cksichtigt werden. Notf&auml;lle m&uuml;ssen der Polizei gemeldet werden via Telefon 117."
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/extra-metadata-form.html:68
+msgid "Remove"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:4
+msgid "Remove field"
+msgstr ""
+
+#: templates/web/base/admin/report_blocks.html:23
msgid "Remove flag"
msgstr ""
#: templates/web/base/report/_item.html:12
#: templates/web/base/report/_item.html:9
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:18
#: templates/web/base/report/_main.html:26
msgid "Remove from shortlist"
@@ -2940,7 +2975,7 @@ msgstr ""
msgid "Remove from site"
msgstr ""
-#: templates/web/base/admin/report_edit.html:166
+#: templates/web/base/admin/report_edit.html:154
#: templates/web/base/admin/update_edit.html:69
#: templates/web/zurich/admin/update_edit.html:35
msgid "Remove photo (can't be undone!)"
@@ -2954,13 +2989,13 @@ msgstr "Antwort an User"
msgid "Report"
msgstr "Meldung"
-#: templates/web/base/report/_inspect.html:10
-#: templates/web/base/report/_item.html:76
+#: templates/web/base/report/_inspect.html:14
+#: templates/web/base/report/_item.html:78
msgid "Report ID:"
-msgstr ""
+msgstr "Meldungs-ID"
#: templates/web/base/header_logo.html:2
-#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:19
+#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:18
#: templates/web/zurich/nav_over_content.html:4
msgid "Report a problem"
msgstr "Eine Meldung erfassen"
@@ -2970,18 +3005,17 @@ msgstr "Eine Meldung erfassen"
msgid "Report abuse"
msgstr "Missbrauch melden"
-#: templates/web/base/report/new/form_user_loggedin.html:16
+#: templates/web/base/report/new/form_user_loggedin.html:17
msgid "Report as"
-msgstr ""
+msgstr "Melden als"
#: perllib/FixMyStreet/App/Controller/Rss.pm:298
msgid "Report on %s"
msgstr ""
#: templates/web/base/dashboard/index.html:137
-#, fuzzy
msgid "Report state:"
-msgstr "Gemeldet"
+msgstr ""
#: templates/web/base/report/new/fill_in_details_form.html:1
#: templates/web/base/report/new/login_success_form.html:1
@@ -2994,7 +3028,7 @@ msgstr ""
msgid "Report, view, or discuss local problems"
msgstr "Melden Sie Sch&auml;den an der Infrastruktur von Z&uuml;rich"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:653
+#: perllib/FixMyStreet/DB/Result/Problem.pm:590
#: templates/web/base/contact/index.html:55
msgid "Reported anonymously at %s"
msgstr "Anonym gemeldet um"
@@ -3004,7 +3038,7 @@ msgstr "Anonym gemeldet um"
msgid "Reported before"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:677
+#: perllib/FixMyStreet/DB/Result/Problem.pm:614
#: templates/web/base/contact/index.html:57
msgid "Reported by %s at %s"
msgstr "Gemeldet von %s um %s"
@@ -3018,34 +3052,30 @@ msgstr "Gemeldet von"
msgid "Reported in the %s category"
msgstr "In der Kategorie %s gemeldet"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:650
+#: perllib/FixMyStreet/DB/Result/Problem.pm:587
msgid "Reported in the %s category anonymously at %s"
msgstr "In der Kategorie %s um %s gemeldet"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:611
msgid "Reported in the %s category by %s at %s"
msgstr "Gemeldet in der Kategorie %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:647
+#: perllib/FixMyStreet/DB/Result/Problem.pm:584
msgid "Reported via %s anonymously at %s"
msgstr "Anonym gemeldet von %s um %s "
-#: perllib/FixMyStreet/DB/Result/Problem.pm:671
+#: perllib/FixMyStreet/DB/Result/Problem.pm:608
msgid "Reported via %s by %s at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:644
+#: perllib/FixMyStreet/DB/Result/Problem.pm:581
msgid "Reported via %s in the %s category anonymously at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:666
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
msgid "Reported via %s in the %s category by %s at %s"
msgstr ""
-#: templates/web/base/reports/index.html:24
-msgid "Reported within the last four weeks"
-msgstr "In den letzten 4 Wochen gemeldet"
-
#: templates/web/zurich/admin/report_edit-sdm.html:38
#: templates/web/zurich/admin/report_edit.html:57
msgid "Reported:"
@@ -3061,13 +3091,13 @@ msgid "Reporting a problem"
msgstr "Ihre Meldung"
#: perllib/FixMyStreet/Cobrand/Default.pm:655
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:383
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:388
#: templates/web/base/dashboard/index.html:134
#: templates/web/zurich/header.html:52
msgid "Reports"
msgstr "Meldungen"
-#: perllib/FixMyStreet/Cobrand/UK.pm:329 perllib/FixMyStreet/Cobrand/UK.pm:333
+#: perllib/FixMyStreet/Cobrand/UK.pm:333 perllib/FixMyStreet/Cobrand/UK.pm:335
msgid "Reports are limited to %s characters in length. Please shorten your report"
msgstr ""
@@ -3075,31 +3105,53 @@ msgstr ""
msgid "Reports awaiting approval"
msgstr "R&uuml;ckmeldung ausstehend"
+#: templates/web/base/alert/_list.html:54
+#, fuzzy
+msgid "Reports by destination"
+msgstr "Gemeldet von %s um %s"
+
#: templates/web/base/admin/user-form.html:107
msgid "Reports made by trusted users will be sent to the responsible body without being inspected first."
msgstr ""
+#: templates/web/base/alert/_list.html:15
+msgid "Reports near %s are sent to different councils, depending on the type of problem."
+msgstr ""
+
#: templates/web/zurich/admin/index-sdm.html:10
msgid "Reports published"
msgstr "Beantwortet"
-#: templates/web/base/js/translation_strings.html:68
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:71
msgid "Reports saved offline."
-msgstr "Eine Meldung erfassen"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#, fuzzy
+msgid "Reports sent to %s"
+msgstr "Gemeldet von %s um %s"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:290 perllib/FixMyStreet/Cobrand/UK.pm:302
+msgid "Reports sent to %s, within %s ward"
+msgstr ""
#: templates/web/base/admin/index.html:56
msgid "Reports waiting to be sent"
-msgstr ""
+msgstr "Ausstehender Meldungsversand"
-#: templates/web/base/admin/contact-form.html:89
+#: templates/web/base/admin/contact-form.html:90
msgid "Reports will automatically be sent without needing to be inspected if the user's <strong>reputation</strong> is at or above this value. Set to <strong>0</strong> if all reports must be inspected regardless."
msgstr ""
-#: templates/web/base/admin/contact-form.html:94
+#: templates/web/base/admin/contact-form.html:95
msgid "Reputation threshold"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:20
+#, fuzzy
+msgid "Required"
+msgstr "ben&ouml;tigt"
+
#: templates/web/base/admin/report_edit.html:84
msgid "Resend report"
msgstr ""
@@ -3135,7 +3187,7 @@ msgstr "Vorlagen für %s"
msgid "Revert to original"
msgstr ""
-#: templates/web/base/report/_main.html:95
+#: templates/web/base/report/_main.html:99
msgid "Revert to original text"
msgstr ""
@@ -3158,16 +3210,16 @@ msgstr ""
msgid "Road operator for this named road (from OpenStreetMap): %s"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1747
-#: templates/web/base/admin/report_edit.html:163
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1852
+#: templates/web/base/admin/report_edit.html:151
#: templates/web/base/admin/update_edit.html:66
#: templates/web/zurich/admin/report_edit.html:118
msgid "Rotate Left"
msgstr "Links drehen"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: templates/web/base/admin/report_edit.html:164
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: templates/web/base/admin/report_edit.html:152
#: templates/web/base/admin/update_edit.html:67
#: templates/web/zurich/admin/report_edit.html:119
msgid "Rotate Right"
@@ -3182,32 +3234,40 @@ msgstr "Durch das Drehen des Fotos gehen nicht gespeicherte Änderungen verloren
msgid "Satellite"
msgstr ""
-#: templates/web/base/report/_inspect.html:168
+#: templates/web/base/report/_inspect.html:182
msgid "Save + close as duplicate"
msgstr ""
-#: templates/web/base/admin/contact-form.html:137
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/contact-form.html:138
+#: templates/web/base/admin/reportextrafields/edit.html:64
+#: templates/web/base/admin/responsepriorities/edit.html:58
#: templates/web/base/admin/template_edit.html:46
-#: templates/web/base/report/_inspect.html:168
-#: templates/web/base/report/_main.html:113
-#: templates/web/base/report/update.html:60
+#: templates/web/base/report/_inspect.html:182
+#: templates/web/base/report/_main.html:117
+#: templates/web/base/report/update.html:69
#: templates/web/zurich/admin/body.html:62
-#: templates/web/zurich/admin/contact-form.html:20
+#: templates/web/zurich/admin/contact-form.html:22
#: templates/web/zurich/admin/template_edit.html:29
msgid "Save changes"
msgstr "Speichern"
-#: templates/web/base/report/_inspect.html:148
+#: templates/web/base/admin/reportextrafields/edit.html:64
+msgid "Save new fields"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:158
msgid "Save with a public update"
msgstr ""
-#. ('This is followed by a progress count, e.g. 3/5')
#. ("This is followed by a progress count, e.g. 3/5")
-#: templates/web/base/js/translation_strings.html:69
+#: templates/web/base/js/translation_strings.html:72
msgid "Saving reports offline"
msgstr ""
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:132
+msgid "Scheduled"
+msgstr ""
+
#: templates/web/base/admin/index.html:26
#: templates/web/base/admin/reports.html:1
#: templates/web/zurich/admin/reports.html:1
@@ -3241,41 +3301,41 @@ msgstr ""
msgid "See our privacy policy"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:715
+#: perllib/FixMyStreet/Cobrand/Default.pm:720
msgid "See user detail for reports created as the council"
msgstr ""
-#: templates/web/base/admin/body-form.html:39
+#: templates/web/base/admin/body-form.html:41
#: templates/web/zurich/admin/body-form.html:16
msgid "Select a body"
msgstr "Organisation wählen"
-#: templates/web/base/reports/index.html:12
-msgid "Select a particular council to see the reports sent there."
-msgstr ""
-
-#: templates/web/base/admin/body-form.html:77
+#: templates/web/base/admin/body-form.html:79
#: templates/web/zurich/admin/body-form.html:26
msgid "Select an area"
msgstr "Gebiet wählen"
-#: templates/web/base/alert/_list.html:11
-msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
+#: templates/web/base/admin/responsepriorities/edit.html:33
+msgid "Select if this is the default priority"
msgstr ""
#: templates/web/base/admin/category-checkboxes.html:6
msgid "Select:"
+msgstr "Ausw&auml;hlen"
+
+#: templates/web/base/contact/index.html:107
+msgid "Send"
msgstr ""
#: templates/web/base/admin/open311-form-fields.html:109
msgid "Send extended Open311 statuses with service request updates"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:826
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:831
msgid "Sent report back"
msgstr "Meldung zur&uuml;ckgewiesen"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:804
+#: perllib/FixMyStreet/DB/Result/Problem.pm:741
msgid "Sent to %s %s later"
msgstr ""
@@ -3288,7 +3348,7 @@ msgstr "Gesendet:"
msgid "Service:"
msgstr "Gerät"
-#: templates/web/base/report/_inspect.html:31
+#: templates/web/base/report/_inspect.html:41
msgid "Set to my current location"
msgstr ""
@@ -3297,31 +3357,39 @@ msgid "Share"
msgstr ""
#: templates/web/base/main_nav_items.html:10
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:21
#: templates/web/base/report/_main.html:29
msgid "Shortlist"
msgstr ""
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/reports/body.html:32
+msgid "Shortlist all visible"
+msgstr ""
+
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:20
#: templates/web/base/report/_main.html:25
#: templates/web/base/reports/_list-filters.html:9
msgid "Shortlisted"
msgstr ""
-#: templates/web/base/report/_main.html:144
+#: templates/web/base/report/_item.html:15
+#: templates/web/base/report/_main.html:148
msgid "Shortlisted by %s"
msgstr ""
#: templates/web/base/report/update.html:20
-#, fuzzy
msgid "Show Photo?"
-msgstr "Zeige Stecknadeln"
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:26
+msgid "Show all updates"
+msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:54
+#: templates/web/base/report/new/form_user_loggedin.html:56
#: templates/web/base/report/new/form_user_loggedout_by_email.html:22
-#: templates/web/base/report/update/form_name.html:33
+#: templates/web/base/report/update/form_name.html:37
msgid "Show my name publicly"
msgstr ""
@@ -3333,12 +3401,12 @@ msgstr ""
msgid "Show old"
msgstr ""
-#: templates/web/base/report/_main.html:79
-#, fuzzy
+#: templates/web/base/report/_main.html:83
msgid "Show photo"
-msgstr "Zeige Stecknadeln"
+msgstr ""
#: templates/web/base/around/display_location.html:60
+#: templates/web/base/js/translation_strings.html:54
msgid "Show pins"
msgstr "Zeige Stecknadeln"
@@ -3346,16 +3414,20 @@ msgstr "Zeige Stecknadeln"
msgid "Show reporter&rsquo;s name"
msgstr ""
-#: templates/web/base/auth/general.html:117
+#: templates/web/base/reports/index.html:62
+msgid "Show reports in your area"
+msgstr ""
+
+#: templates/web/base/auth/general.html:119
#: templates/web/base/auth/general.html:3
-#: templates/web/base/auth/general.html:86
+#: templates/web/base/auth/general.html:88
#: templates/web/base/main_nav_items.html:6
#: templates/web/zurich/auth/general.html:18
#: templates/web/zurich/auth/general.html:35
msgid "Sign in"
msgstr "Anmelden"
-#: templates/web/base/auth/general.html:96
+#: templates/web/base/auth/general.html:98
msgid "Sign in by email instead, providing a new password. When you click the link in your email, your password will be updated."
msgstr ""
@@ -3401,14 +3473,14 @@ msgstr "Entschuldigung, dieser Link ist ung&uuml;ltig"
msgid "Sorry, there has been an error confirming your problem."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:230
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:235
#: perllib/FixMyStreet/Geocode.pm:37 perllib/FixMyStreet/Geocode/Bing.pm:38
#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:56
#: perllib/FixMyStreet/Geocode/OSM.pm:48
msgid "Sorry, we could not find that location."
msgstr "Diese Adresse wurde nicht gefunden."
-#: templates/web/base/auth/general.html:9
+#: templates/web/base/auth/general.html:11
#: templates/web/base/report/display.html:29
#: templates/web/base/report/new/fill_in_details_form.html:15
msgid "Sorry, we could not log you in. Please fill in the form below."
@@ -3430,13 +3502,13 @@ msgid ""
"page wasn’t found or there was a server error. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Root.pm:107
+#: perllib/FixMyStreet/App/Controller/Root.pm:124
msgid "Sorry, you don't have permission to do that."
msgstr ""
-#: templates/web/base/reports/_list-filters.html:42
+#: templates/web/base/reports/_list-filters.html:53
msgid "Sort by"
-msgstr ""
+msgstr "Sortieren nach"
#: templates/web/base/admin/user-form.html:47
msgid "Staff users have permission to log in to the admin."
@@ -3451,17 +3523,25 @@ msgid "Start Date:"
msgstr ""
#: templates/web/base/admin/body.html:73
+#: templates/web/base/admin/category_edit.html:29
+#: templates/web/base/admin/contact-form.html:53
#: templates/web/base/admin/flagged.html:18
#: templates/web/base/admin/index.html:64
#: templates/web/base/admin/list_updates.html:11
#: templates/web/base/admin/reports.html:16
#: templates/web/base/admin/template_edit.html:40
-#: templates/web/base/report/_inspect.html:83
-#: templates/web/base/report/_item.html:94
+#: templates/web/base/report/_inspect.html:82
+#: templates/web/base/report/_item.html:96
#: templates/web/base/report/update/form_update.html:39
+#: templates/web/zurich/admin/contact-form.html:10
msgid "State"
msgstr "Status"
+#: templates/web/base/report/update.html:48
+#, fuzzy
+msgid "State changed to:"
+msgstr "Speichern"
+
#: templates/web/base/admin/report_edit.html:116
#: templates/web/base/admin/update_edit.html:28
#: templates/web/zurich/admin/report_edit-sdm.html:75
@@ -3471,8 +3551,14 @@ msgstr "Status"
msgid "State:"
msgstr "Status"
-#: perllib/FixMyStreet/Cobrand/Default.pm:640
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:386
+#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: templates/web/base/admin/states/index.html:1
+#, fuzzy
+msgid "States"
+msgstr "Status"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
#: templates/web/base/admin/index.html:71 templates/web/base/admin/stats.html:1
#: templates/web/base/admin/stats_by_state.html:1
#: templates/web/zurich/admin/stats.html:1 templates/web/zurich/header.html:65
@@ -3494,6 +3580,10 @@ msgstr ""
msgid "Street View"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:46
+msgid "String"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:192
msgid "Subcategory: %s"
msgstr ""
@@ -3502,7 +3592,7 @@ msgstr ""
msgid "Subdivision/Body"
msgstr "FB/Externe"
-#: templates/web/base/contact/index.html:88
+#: templates/web/base/contact/index.html:92
msgid "Subject"
msgstr "Titel"
@@ -3512,14 +3602,14 @@ msgid "Subject:"
msgstr "Titel"
#: templates/web/base/questionnaire/creator_fixed.html:19
-#: templates/web/base/report/new/form_user_loggedin.html:61
+#: templates/web/base/report/new/form_user_loggedin.html:63
#: templates/web/base/report/new/form_user_loggedout_by_email.html:36
#: templates/web/base/report/new/form_user_loggedout_password.html:11
#: templates/web/zurich/report/new/fill_in_details_form.html:73
msgid "Submit"
msgstr "Abschicken"
-#: templates/web/base/admin/report_edit.html:174
+#: templates/web/base/admin/report_edit.html:162
#: templates/web/base/admin/report_edit.html:24
#: templates/web/base/admin/update_edit.html:77
#: templates/web/base/admin/user-form.html:170
@@ -3533,8 +3623,8 @@ msgstr "Speichern"
msgid "Submit questionnaire"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:164
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:893
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:898
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:6
#: templates/web/zurich/admin/index-dm.html:23
@@ -3544,36 +3634,37 @@ msgstr ""
msgid "Submitted"
msgstr "Erfasst"
+#: templates/web/base/alert/_list.html:77
+#: templates/web/base/alert/_list.html:80
#: templates/web/base/alert/updates.html:23
#: templates/web/base/report/display_tools.html:51
msgid "Subscribe"
msgstr ""
-#: templates/web/base/alert/_list.html:93
-msgid "Subscribe me to an email alert"
+#: templates/web/base/alert/_list.html:72
+msgid "Subscribe by email"
msgstr ""
#: templates/web/base/report/new/form_report.html:19
msgid "Summarise the problem"
msgstr ""
-#: templates/web/base/admin/contact-form.html:129
+#: templates/web/base/admin/contact-form.html:130
msgid "Summarise your changes"
-msgstr ""
+msgstr "Fassen Sie Ihre &Auml;nderungen zusammen"
-#: perllib/FixMyStreet/Cobrand/Default.pm:638
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:382
+#: perllib/FixMyStreet/Cobrand/Default.pm:637
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:387
#: templates/web/base/admin/bodies.html:29
#: templates/web/base/admin/index.html:1 templates/web/base/status/index.html:1
#: templates/web/base/status/index.html:3
#: templates/web/zurich/admin/index-dm.html:1
#: templates/web/zurich/admin/index-sdm.html:1
-#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:13
+#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:12
#: templates/web/zurich/header.html:49
msgid "Summary"
msgstr "Zusammenfassung"
-#: templates/web/base/reports/index.html:4
#: templates/web/zurich/reports/index.html:0
#: templates/web/zurich/reports/index.html:4
msgid "Summary reports"
@@ -3597,7 +3688,7 @@ msgid "Template &laquo;%s&raquo;"
msgstr "Vorlage &laquo;%s&raquo;"
#: perllib/FixMyStreet/Cobrand/Default.pm:661
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:393
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
#: templates/web/zurich/header.html:69
msgid "Templates"
msgstr "Vorlagen"
@@ -3626,7 +3717,7 @@ msgstr ""
msgid "Thank you for trying to confirm your update or problem. We seem to have an error ourselves though, so <a href=\"%s\">please let us know what went on</a> and we'll look into it."
msgstr ""
-#: templates/web/base/tokens/confirm_update.html:15
+#: templates/web/base/tokens/confirm_update.html:16
msgid "Thank you for updating this issue!"
msgstr ""
@@ -3654,7 +3745,7 @@ msgstr ""
msgid "That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again."
msgstr "Sie k&ouml;nnen Sch&auml;den nur innerhalb der Stadt Z&uuml;rich melden. Verwenden Sie daf&uuml;r die Adressuche."
-#: perllib/FixMyStreet/App/Controller/Location.pm:129
+#: perllib/FixMyStreet/App/Controller/Location.pm:127
msgid "That location does not appear to be in the UK; please try again."
msgstr ""
@@ -3664,23 +3755,23 @@ msgstr ""
msgid "That postcode was not recognised, sorry."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:762
+#: perllib/FixMyStreet/App/Controller/Admin.pm:850
msgid "That problem has been marked as sent."
msgstr "Die Meldung wurde als gesendet markiert."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:755
+#: perllib/FixMyStreet/App/Controller/Admin.pm:843
msgid "That problem will now be resent."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report.pm:137
+#: perllib/FixMyStreet/App/Controller/Report.pm:134
msgid "That report cannot be viewed on %s."
msgstr "Diese Meldung wurde von &#171;Z&uuml;ri wie neu&#187; entfernt."
-#: perllib/FixMyStreet/App/Controller/Report.pm:131
+#: perllib/FixMyStreet/App/Controller/Report.pm:128
msgid "That report has been removed from FixMyStreet."
msgstr "Diese Meldung wurde von &#171;Z&uuml;ri wie neu&#187; entfernt."
-#: templates/web/base/admin/contact-form.html:25
+#: templates/web/base/admin/contact-form.html:27
msgid ""
"The <strong>email address</strong> is the destination to which reports about this category will be sent. \n"
" Other categories for this body may have the same email address."
@@ -3700,10 +3791,10 @@ msgid ""
" than one. If the body is running its own endpoint, you can usually leave this blank."
msgstr ""
-#: templates/web/base/admin/body-form.html:100
-#: templates/web/base/admin/body-form.html:101
-#: templates/web/base/admin/contact-form.html:103
+#: templates/web/base/admin/body-form.html:102
+#: templates/web/base/admin/body-form.html:103
#: templates/web/base/admin/contact-form.html:104
+#: templates/web/base/admin/contact-form.html:105
msgid ""
"The <strong>send method</strong> determines how problem reports will be sent to the body.\n"
" If you leave this blank, <strong>send method defaults to email</strong>."
@@ -3720,6 +3811,10 @@ msgid ""
" and may be displayed publically."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:12
+msgid "The code used to store this field value in the database. e.g. <code>address</code> would be available as <code>problem.extra.address</code> in the templates."
+msgstr ""
+
#: templates/web/base/report/new/fill_in_details_text.html:1
#: templates/web/base/report/new/fill_in_details_text.html:3
msgid "The council won&rsquo;t be able to help unless you leave as much detail as you can. Please describe the exact location of the problem (e.g. on a wall), what it is, how long it has been there, a description (and a photo of the problem if you have one), etc."
@@ -3730,11 +3825,15 @@ msgstr "Bitte machen Sie so genaue Angaben wie m&ouml;glich: Beschreiben Sie die
msgid "The diligency prize league table shows editors' activity (who's been editing the most records)."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:61
-#: perllib/FixMyStreet/App/Controller/Reports.pm:82
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:63
+#: perllib/FixMyStreet/App/Controller/Reports.pm:103
msgid "The error was: %s"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:30
+msgid "The field name as shown to the user on the report form."
+msgstr ""
+
#: templates/web/base/open311/index.html:78
msgid "The following Open311 v2 attributes are returned for each request: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
msgstr ""
@@ -3773,10 +3872,14 @@ msgstr ""
msgid "The link might have expired, or maybe you didn&rsquo;t quite copy and paste it correctly."
msgstr "Der Link ist entweder abgelaufen, oder er wurde nicht korrekt kopiert."
-#: templates/web/base/admin/body-form.html:64
+#: templates/web/base/admin/body-form.html:66
msgid "The list of available areas is being provided by the MapIt service at %s."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:6
+msgid "The ordering of this field on the report page. Fields are shown in ascending order according to this value."
+msgstr ""
+
#: templates/web/base/auth/change_password.html:22
#: templates/web/base/auth/change_password.html:26
msgid "The passwords do not match"
@@ -3786,8 +3889,8 @@ msgstr ""
msgid "The requested URL '%s' was not found on this server"
msgstr ""
-#: templates/web/base/alert/_list.html:17
-msgid "The simplest alert is our geographic one:"
+#: templates/web/base/admin/extra-metadata-form.html:42
+msgid "The type of input field to show to the user. <strong>Text</strong> is a simple text field, <strong>List</strong> is a drop-down selection."
msgstr ""
#: perllib/FixMyStreet/Script/Reports.pm:96
@@ -3799,7 +3902,7 @@ msgstr ""
msgid ""
"The user's <strong>name</strong> is displayed publicly on reports that have not been marked <em>anonymous</em>.\n"
" Names are not necessarily unique."
-msgstr ""
+msgstr "Namen m&uuml;ssen nicht eindeutig sein."
#: templates/web/base/around/on_map_list_items.html:12
#: templates/web/base/my/_problem-list.html:8
@@ -3807,18 +3910,18 @@ msgstr ""
msgid "There are no reports to show."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Reports.pm:79
+#: perllib/FixMyStreet/App/Controller/Reports.pm:100
msgid "There was a problem showing the All Reports page. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:137
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:60
+#: perllib/FixMyStreet/App/Controller/Contact.pm:138
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:62
msgid "There was a problem showing this page. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:758
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:785
#: perllib/FixMyStreet/App/Controller/Report/Update.pm:152
-#: templates/web/base/auth/general.html:53
+#: templates/web/base/auth/general.html:55
#: templates/web/zurich/auth/general.html:28
msgid "There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the &lsquo;sign in by email&rsquo; section of the form."
msgstr "Ihre E-Mail/Passwort Kombination war ung&uuml;ltig. Bitte versuchen Sie es erneut oder wenden Sie sich an den Administrator."
@@ -3831,7 +3934,7 @@ msgstr ""
msgid "There was a problem with your update. Please try again."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:141
+#: perllib/FixMyStreet/App/Controller/Contact.pm:142
msgid "There were problems with your report. Please see below."
msgstr ""
@@ -3883,8 +3986,8 @@ msgstr ""
msgid "This body has no contacts. This means that currently problems reported to this body <strong>will not be sent</strong>."
msgstr ""
-#: templates/web/base/admin/body-form.html:58
-#: templates/web/base/admin/body-form.html:59
+#: templates/web/base/admin/body-form.html:60
+#: templates/web/base/admin/body-form.html:61
msgid ""
"This body will only be sent reports for problems that are located in the <strong>area covered</strong>.\n"
" A body will not receive any reports unless it covers at least one area."
@@ -3898,8 +4001,9 @@ msgstr ""
msgid "This email has been sent to several councils covering the location of the problem, as the category selected is provided for all of them; please ignore it if you're not the correct council to deal with the issue."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:881
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:925
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1017
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:910
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:954
#: perllib/FixMyStreet/App/Controller/Report/New.pm:971
#: perllib/FixMyStreet/Cobrand/UK.pm:45
msgid "This information is required"
@@ -3909,46 +4013,41 @@ msgstr "Diese Information wird ben&ouml;tigt"
msgid "This is a developer site; things might break at any time, and the database will be periodically deleted."
msgstr ""
-#: templates/web/base/reports/index.html:10
-msgid "This is a summary of all reports on this site."
-msgstr ""
-
-#: templates/web/base/report/new/form_report.html:56
+#: templates/web/base/report/new/form_report.html:58
msgid "This pothole has been here for two months and…"
msgstr ""
-#: templates/web/base/report/update/form_update.html:63
+#: templates/web/base/report/update/form_update.html:55
msgid "This problem has been fixed"
msgstr "Dieser Schaden wurde behoben"
-#: templates/web/base/report/update/form_update.html:56
+#: templates/web/base/report/update/form_update.html:48
msgid "This problem has not been fixed"
msgstr "Dieser Schaden wurde nicht behoben"
-#: templates/web/base/report/update/form_update.html:54
-#, fuzzy
+#: templates/web/base/report/update/form_update.html:46
msgid "This problem is still ongoing"
-msgstr "Dieser Schaden wurde nicht behoben"
+msgstr ""
#: templates/web/base/report/duplicate-no-updates.html:3
msgid "This report is a duplicate. Please leave updates on the original report:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:161
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:162
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:166
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:167
#: templates/web/zurich/report/_main.html:14
msgid "This report is awaiting moderation."
msgstr "&Uuml;berpr&uuml;fung ausstehend"
-#: perllib/FixMyStreet/Script/Alerts.pm:101
+#: perllib/FixMyStreet/Script/Alerts.pm:98
msgid "This report is currently marked as closed."
msgstr ""
-#: perllib/FixMyStreet/Script/Alerts.pm:99
+#: perllib/FixMyStreet/Script/Alerts.pm:96
msgid "This report is currently marked as fixed."
msgstr ""
-#: perllib/FixMyStreet/Script/Alerts.pm:103
+#: perllib/FixMyStreet/Script/Alerts.pm:100
msgid "This report is currently marked as open."
msgstr ""
@@ -3967,7 +4066,7 @@ msgstr ""
msgid "Time spent (in minutes):"
msgstr "Aufwand (in Minuten)"
-#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Default.pm:638
#: templates/web/base/admin/timeline.html:1
msgid "Timeline"
msgstr ""
@@ -3996,10 +4095,26 @@ msgstr ""
msgid "To find out what local alerts we have for you, please enter your postcode or street name and area"
msgstr "Geben Sie Ihre Adresse an, um &uuml;ber Meldungen in Ihrer N&auml;he informiert zu werden"
+#: templates/web/base/admin/reportextrafields/edit.html:19
+msgid "To limit this collection of fields to a single cobrand, select it here."
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:40
+msgid "To limit this collection of fields to a single language, select it here."
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:95
msgid "To view a map of the precise location of this issue"
msgstr ""
+#: templates/web/base/reports/index.html:97
+msgid "Top 5 most used categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:83
+msgid "Top 5 responsive councils"
+msgstr ""
+
#: templates/web/base/admin/questionnaire.html:24
#: templates/web/base/admin/stats.html:24
#: templates/web/base/admin/stats.html:43
@@ -4013,9 +4128,8 @@ msgid "Total marked"
msgstr ""
#: templates/web/base/dashboard/index.html:71
-#, fuzzy
msgid "Total marked as fixed"
-msgstr "als beantwortet markiert"
+msgstr ""
#: templates/web/base/dashboard/index.html:125
msgid "Total not marked"
@@ -4026,22 +4140,30 @@ msgstr ""
msgid "Total reports received"
msgstr ""
-#: templates/web/base/report/_inspect.html:124
-#: templates/web/base/report/_item.html:102
+#: templates/web/base/report/_inspect.html:134
+#: templates/web/base/report/_item.html:104
msgid "Traffic management required?"
msgstr ""
+#: templates/web/base/admin/_translations.html:7
+msgid "Translation"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:2
+msgid "Translations"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:111
msgid "Trusted by bodies:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:721
+#: perllib/FixMyStreet/Cobrand/Default.pm:726
msgid "Trusted to make reports that don't need to be inspected"
msgstr ""
#: templates/web/base/admin/user-form.html:119
msgid "Trusted:"
-msgstr ""
+msgstr "Vertrauensw&uuml;rdig"
#: templates/web/base/js/translation_strings.html:29
msgid "Try again"
@@ -4051,8 +4173,14 @@ msgstr "Erneut versuchen"
msgid "Try emailing us directly:"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:21
+#: templates/web/base/admin/extra-metadata-form.html:44
+#: templates/web/base/admin/states/index.html:10
+#: templates/web/base/admin/states/index.html:100
+msgid "Type"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:59
+#: templates/web/base/admin/contact-form.html:55
#: templates/web/base/admin/update_edit.html:30
#: templates/web/zurich/admin/report_edit-sdm.html:66
#: templates/web/zurich/admin/report_edit.html:94
@@ -4060,7 +4188,6 @@ msgstr ""
msgid "Unconfirmed"
msgstr "Unbest&auml;tigt"
-#: templates/web/base/reports/_list-filters.html:12
#: templates/web/base/reports/_list-filters.html:5
msgid "Unfixed reports"
msgstr "Offene Meldungen"
@@ -4074,14 +4201,14 @@ msgid "Unknown alert type"
msgstr ""
#: perllib/FixMyStreet/App/Controller/Photo.pm:109
-#: perllib/FixMyStreet/App/Controller/Root.pm:124
+#: perllib/FixMyStreet/App/Controller/Root.pm:141
#: templates/web/base/js/translation_strings.html:38
msgid "Unknown error"
msgstr "Unbekannter Fehler"
-#: perllib/FixMyStreet/App/Controller/Report.pm:115
+#: perllib/FixMyStreet/App/Controller/Report.pm:112
+#: perllib/FixMyStreet/App/Controller/Report.pm:118
#: perllib/FixMyStreet/App/Controller/Report.pm:121
-#: perllib/FixMyStreet/App/Controller/Report.pm:124
msgid "Unknown problem ID"
msgstr ""
@@ -4089,10 +4216,11 @@ msgstr ""
msgid "Unshortlisted"
msgstr ""
-#: templates/web/base/report/_item.html:24
+#: templates/web/base/report/_item.html:26
msgid "Up one"
msgstr ""
+#: templates/web/base/admin/states/index.html:76
#: templates/web/base/report/update/form_update.html:29
msgid "Update"
msgstr "Speichern"
@@ -4109,7 +4237,7 @@ msgstr ""
msgid "Update below added by %s at %s"
msgstr ""
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Update body"
msgstr "Speichern"
@@ -4145,13 +4273,22 @@ msgstr ""
msgid "Updated"
msgstr "Aktualisiert"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1157
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1221
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1384
-#: perllib/FixMyStreet/App/Controller/Admin.pm:822
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:762
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:787
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:857
+#: perllib/FixMyStreet/DB/Result/Comment.pm:249
+msgid "Updated by <strong>%s</strong> (%s) at %s"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:251
+#, fuzzy
+msgid "Updated by <strong>%s</strong> at %s"
+msgstr "<strong>%s</strong> Meldungen Total"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1262
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1326
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1489
+#: perllib/FixMyStreet/App/Controller/Admin.pm:910
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:767
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:792
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:862
msgid "Updated!"
msgstr "Aktualisiert!"
@@ -4161,7 +4298,7 @@ msgstr "Aktualisiert!"
msgid "Updates"
msgstr "Antwort"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:133
+#: perllib/FixMyStreet/DB/Result/Comment.pm:134
msgid "Updates are limited to %s characters in length. Please shorten your update"
msgstr ""
@@ -4175,11 +4312,22 @@ msgstr ""
msgid "Updates to this problem, %s"
msgstr "&Auml;nderungen an dieser Meldung, %s"
+#: templates/web/base/admin/contact-form.html:43
+#: templates/web/base/admin/contact-form.html:44
+msgid ""
+"Use <strong>confirmed</strong> to indicate that this contact has been\n"
+"confirmed as correct. If you are not sure of the origin or validity of the\n"
+"contact, use <strong>unconfirmed</strong>. <strong>inactive</strong> will\n"
+"remove the category from use when reporting problems, but keep it available in\n"
+"map filters, and <strong>deleted</strong> will remove the category from there\n"
+"as well."
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:65
msgid "Use Open311 update-sending extension"
msgstr ""
-#: templates/web/base/admin/contact-form.html:124
+#: templates/web/base/admin/contact-form.html:125
msgid "Use this field to record details that are only displayed in the admin. Input is not shown publicly, and is not sent to the body."
msgstr ""
@@ -4192,27 +4340,26 @@ msgstr "Karte verwendet"
msgid "User ID to attribute fetched comments to"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1700
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1805
msgid "User flag removed"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1672
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1777
msgid "User flagged"
msgstr ""
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:58
-#, fuzzy
msgid "User has marked as fixed"
-msgstr "als beantwortet markiert"
+msgstr ""
#: templates/web/base/admin/users.html:5
msgid "User search finds matches in users' names and email addresses."
-msgstr ""
+msgstr "Diese Suche sucht in den Namen der Ben&uuml;tzer und deren E-Mail-Adressen."
#: perllib/FixMyStreet/Cobrand/Default.pm:669
-#: perllib/FixMyStreet/Cobrand/Default.pm:723
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
+#: perllib/FixMyStreet/Cobrand/Default.pm:728
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:403
#: templates/web/base/admin/flagged.html:29 templates/web/zurich/header.html:61
msgid "Users"
msgstr ""
@@ -4221,9 +4368,9 @@ msgstr ""
msgid "Users can perform the following actions within their assigned body or area."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:400
-#: perllib/FixMyStreet/App/Controller/Admin.pm:430
-#: perllib/FixMyStreet/App/Controller/Admin.pm:448
+#: perllib/FixMyStreet/App/Controller/Admin.pm:381
+#: perllib/FixMyStreet/App/Controller/Admin.pm:417
+#: perllib/FixMyStreet/App/Controller/Admin.pm:439
msgid "Values updated"
msgstr ""
@@ -4270,7 +4417,7 @@ msgstr "Ihre Anfrage ergab mehr als eine m&ouml;gliche Adresse. Die ersten zehn
msgid "We found more than one match for that problem reference:"
msgstr ""
-#: templates/web/base/auth/general.html:6
+#: templates/web/base/auth/general.html:8
#: templates/web/base/report/display.html:35
#: templates/web/base/report/new/oauth_email_form.html:5
msgid "We need your email address, please give it below."
@@ -4305,7 +4452,7 @@ msgstr ""
msgid "What was your experience of getting the problem fixed?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:52
+#: templates/web/base/admin/category_edit.html:27
#: templates/web/zurich/admin/body.html:18
msgid "When edited"
msgstr "Wann editiert"
@@ -4314,11 +4461,19 @@ msgstr "Wann editiert"
msgid "When sent"
msgstr "Wann gesendet"
-#: templates/web/base/report/_inspect.html:89
+#: templates/web/base/admin/extra-metadata-form.html:18
+msgid "Whether the user is required to provide a value for this field."
+msgstr ""
+
+#: templates/web/base/alert/_list.html:9
+msgid "Which problems do you want alerts about?"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:99
msgid "Which report is it a duplicate of?"
msgstr ""
-#: templates/web/base/js/translation_strings.html:54
+#: templates/web/base/js/translation_strings.html:57
msgid "Whoa there Testino! Three photos are enough."
msgstr ""
@@ -4326,8 +4481,8 @@ msgstr ""
msgid "Why stop there? <a href=\"/alert\">Set up more alerts</a> for free."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:185
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:190
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:14
msgid "Wish"
@@ -4337,7 +4492,7 @@ msgstr "Wunsch"
msgid "With request searches, it is also possible to search for agency_responsible to limit the requests to those sent to a single administration. The search term is the administration ID provided by <a href=\"%s\">MaPit</a>."
msgstr ""
-#: templates/web/base/front/footer-marketing.html:17
+#: templates/web/base/front/footer-marketing.html:3
msgid "Would you like to contribute to FixMyStreet? Our code is open source and <a href=\"http://fixmystreet.org\">available at fixmystreet.org</a>."
msgstr ""
@@ -4362,23 +4517,22 @@ msgstr ""
msgid "Year"
msgstr "Jahr"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1202
+#: perllib/FixMyStreet/Cobrand/Default.pm:1236
#: templates/web/base/admin/bodies.html:70
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
#: templates/web/base/admin/category_edit.html:5
#: templates/web/base/admin/flagged.html:47
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:136
+#: templates/web/base/admin/report_edit.html:124
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:25
#: templates/web/base/admin/users.html:32
#: templates/web/base/questionnaire/creator_fixed.html:14
#: templates/web/base/questionnaire/index.html:104
#: templates/web/base/questionnaire/index.html:53
+#: templates/web/base/report/_inspect.html:90
msgid "Yes"
msgstr "Ja"
@@ -4391,7 +4545,7 @@ msgstr ""
msgid "You are complaining that this problem report was unnecessarily moderated:"
msgstr ""
-#: templates/web/base/js/translation_strings.html:70
+#: templates/web/base/js/translation_strings.html:73
msgid "You are offline"
msgstr ""
@@ -4412,7 +4566,11 @@ msgstr "Danke! Sie k&ouml;nnen Ihre aktualisierte Meldung <a href=\"%s%s\">auf d
msgid "You can add an abusive user's email to the abuse list, which automatically hides (and never sends) reports they create."
msgstr ""
-#: templates/web/base/contact/index.html:111
+#: templates/web/base/alert/_list.html:18
+msgid "You can choose to subscribe to all problems reported in an area, or reports based on their destination."
+msgstr ""
+
+#: templates/web/base/contact/index.html:115
msgid "You can contact technical support on <a href='mailto:%s'>%s</a>"
msgstr ""
@@ -4430,7 +4588,7 @@ msgstr ""
msgid "You can help us by finding a contact email address for local problems for %s and emailing it to us at <a href='mailto:%s'>%s</a>."
msgstr ""
-#: templates/web/base/admin/body-form.html:91
+#: templates/web/base/admin/body-form.html:93
msgid "You can mark a body as deleted if you do not want it to be active on the site."
msgstr ""
@@ -4438,7 +4596,7 @@ msgstr ""
msgid "You declined; please fill in the box above"
msgstr "Nicht freigeschaltet; Bitte geben Sie eine Adresse an"
-#: templates/web/base/js/translation_strings.html:72
+#: templates/web/base/js/translation_strings.html:75
msgid "You have <a id=\"oFN\" href=\"\"><span>%s</span> saved to submit</a>."
msgstr ""
@@ -4446,7 +4604,7 @@ msgstr ""
msgid "You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"
msgstr ""
-#: templates/web/base/report/new/form_report.html:37
+#: templates/web/base/report/new/form_report.html:39
#: templates/web/zurich/report/new/fill_in_details_form.html:30
msgid "You have already attached photos to this report. Note that you can attach a maximum of 3 to this report (if you try to upload more, the oldest will be removed)."
msgstr "Sie haben dieser Meldung bereits Fotos angehängt. Sie können maximal 3 Fotos anhängen (wenn Sie mehr anhängen, wird das Älteste entfernt)."
@@ -4502,12 +4660,11 @@ msgstr "Ihre Meldungen"
#: templates/web/base/auth/change_password.html:11
#: templates/web/base/main_nav_items.html:4 templates/web/base/my/my.html:18
msgid "Your account"
-msgstr ""
+msgstr "Ihr Account"
-#: templates/web/base/alert/_list.html:90
#: templates/web/base/alert/updates.html:19
#: templates/web/base/alert/updates.html:22
-#: templates/web/base/contact/index.html:81
+#: templates/web/base/contact/index.html:80
#: templates/web/base/report/display_tools.html:46
#: templates/web/base/report/display_tools.html:49
#: templates/web/base/report/new/form_user_loggedout_email.html:1
@@ -4517,7 +4674,7 @@ msgid "Your email"
msgstr "E-Mail Adresse"
#: templates/web/base/auth/change_email.html:9
-#: templates/web/base/auth/general.html:55
+#: templates/web/base/auth/general.html:57
#: templates/web/base/report/update/form_user_loggedout_email.html:5
#: templates/web/zurich/auth/general.html:30
#: templates/web/zurich/auth/general.html:58
@@ -4528,21 +4685,32 @@ msgstr "Ihre E-Mail Adresse"
msgid "Your information will only be used in accordance with our <a href=\"/privacy\">privacy policy</a>"
msgstr "Wir verwenden Ihre pers&ouml;nlichen Daten nur entsprechend unserer <a href=\"/faq#privacy\">Datenschutzrichtlinien.</a>"
-#: templates/web/base/auth/general.html:107
+#: templates/web/base/auth/general.html:109
#: templates/web/base/contact/index.html:74
#: templates/web/base/report/new/form_user_loggedout_by_email.html:17
-#: templates/web/base/report/update/form_name.html:29
+#: templates/web/base/report/update/form_name.html:33
#: templates/web/zurich/auth/general.html:61
#: templates/web/zurich/report/new/fill_in_details_form.html:63
msgid "Your name"
msgstr "Ihr Name"
-#: templates/web/base/js/translation_strings.html:62
-#, fuzzy
+#: templates/web/base/my/anonymize.html:13
+msgid "Your name has already been sent to %s, but we can hide it on this page:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:264
+msgid "Your name has been hidden from all your reports and updates."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:260
+msgid "Your name has been hidden."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:65
msgid "Your offline reports"
-msgstr "Ihre Meldungen"
+msgstr ""
-#: templates/web/base/auth/general.html:85
+#: templates/web/base/auth/general.html:87
#: templates/web/base/report/new/form_user_loggedout_password.html:10
#: templates/web/base/report/update/form_user_loggedout_password.html:9
#: templates/web/zurich/auth/general.html:34
@@ -4553,6 +4721,7 @@ msgstr "Ihr Passwort"
msgid "Your password has been changed"
msgstr "Ihr Passwort wurde ge&auml;ndert"
+#: templates/web/base/contact/index.html:87
#: templates/web/base/report/new/form_user_loggedout_by_email.html:26
#: templates/web/zurich/report/new/fill_in_details_form.html:69
msgid "Your phone number"
@@ -4569,9 +4738,9 @@ msgstr "Ihre Meldungen"
#: templates/web/base/my/planned.html:0 templates/web/base/my/planned.html:18
#: templates/web/base/my/planned.html:5
msgid "Your shortlist"
-msgstr ""
+msgstr "Ihre Favoriten"
-#: templates/web/base/js/translation_strings.html:63
+#: templates/web/base/js/translation_strings.html:66
msgid "Your update has been saved offline for submission when back online."
msgstr ""
@@ -4579,22 +4748,22 @@ msgstr ""
msgid "Your updates"
msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:18
-#: templates/web/base/report/update/form_name.html:11
+#: templates/web/base/report/new/form_user_loggedin.html:19
+#: templates/web/base/report/update/form_name.html:12
msgid "Yourself"
-msgstr ""
+msgstr "Sie selbst"
#: templates/web/base/admin/category-checkboxes.html:7
#: templates/web/base/admin/user-form.html:151
msgid "all"
msgstr ""
-#: templates/web/base/admin/timeline.html:4
-msgid "by %s"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:259
+msgid "and a defect raised"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:290
-msgid "closed as a duplicate report"
+#: templates/web/base/admin/timeline.html:4
+msgid "by %s"
msgstr ""
#: templates/web/base/reports/body.html:6
@@ -4621,7 +4790,7 @@ msgstr ""
msgid "from %s different users"
msgstr "von %s verschiedenen Personen"
-#: templates/web/base/report/_item.html:61
+#: templates/web/base/report/_item.html:63
#: templates/web/zurich/report/_item.html:14
msgid "last updated %s"
msgstr "letzte Bearbeitung %s"
@@ -4630,44 +4799,7 @@ msgstr "letzte Bearbeitung %s"
msgid "less than a minute"
msgstr "weniger als einer Minute"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:280
-msgid "marked as action scheduled"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:292
-msgid "marked as an internal referral"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:282
-msgid "marked as closed"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:263
-#: perllib/FixMyStreet/DB/Result/Comment.pm:284
-msgid "marked as fixed"
-msgstr "als beantwortet markiert"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:278
-msgid "marked as in progress"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:274
-msgid "marked as investigating"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:286
-msgid "marked as no further action"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:288
-msgid "marked as not the council's responsibility"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:276
-msgid "marked as planned"
-msgstr ""
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:122
+#: perllib/FixMyStreet/App/Controller/Admin.pm:119
#: templates/web/base/admin/questionnaire.html:15
#: templates/web/base/admin/questionnaire.html:16
msgid "n/a"
@@ -4678,14 +4810,10 @@ msgstr ""
msgid "none"
msgstr ""
-#: templates/web/base/admin/category_edit.html:35
-msgid "optional"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:278
+msgid "not the council's responsibility"
msgstr ""
-#: templates/web/base/alert/_list.html:86
-msgid "or"
-msgstr "oder"
-
#: templates/web/base/js/translation_strings.html:27
msgid "or locate me automatically"
msgstr "oder automatisch lokalisieren"
@@ -4709,16 +4837,7 @@ msgstr "Originaltext: &ldquo;%s&rdquo;"
msgid "other areas:"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:265
-#: perllib/FixMyStreet/DB/Result/Comment.pm:271
-msgid "reopened"
-msgstr ""
-
-#: templates/web/base/admin/category_edit.html:35
-msgid "required"
-msgstr ""
-
-#: templates/web/zurich/footer.html:13
+#: templates/web/zurich/footer.html:12
msgid "sign out"
msgstr "ausloggen"
@@ -4726,11 +4845,16 @@ msgstr "ausloggen"
msgid "the local council"
msgstr ""
-#: templates/web/base/report/_report_meta_info.html:2
+#: templates/web/base/report/_report_meta_info.html:5
#: templates/web/zurich/report/_main.html:5
msgid "there is no pin shown as the user did not use the map"
msgstr "Es wird keine Stecknadel angezeigt, da der User die Karte nicht ben&uuml;tzt hat"
+#: templates/web/base/alert/_list.html:1
+#, fuzzy
+msgid "this location"
+msgstr "Meldung erfassen"
+
#: perllib/FixMyStreet/Script/Reports.pm:184
msgid "this type of local problem"
msgstr ""
@@ -4739,15 +4863,13 @@ msgstr ""
msgid "today"
msgstr "heute"
-#: templates/web/base/js/translation_strings.html:73
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:76
msgid "update"
-msgstr "Speichern"
+msgstr ""
-#: templates/web/base/js/translation_strings.html:74
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:77
msgid "updates"
-msgstr "Antwort"
+msgstr ""
#: templates/web/base/admin/report_edit.html:52
msgid "used map"
@@ -4795,11 +4917,11 @@ msgstr[0] "%d Minute"
msgstr[1] "%d Minuten"
#: perllib/Utils.pm:246
-#, fuzzy, perl-format
+#, perl-format
msgid "%d month"
msgid_plural "%d months"
-msgstr[0] "%d Minute"
-msgstr[1] "%d Minuten"
+msgstr[0] ""
+msgstr[1] ""
#: templates/web/base/report/_support.html:6
#, perl-format
@@ -4822,6 +4944,41 @@ msgid_plural "%d years"
msgstr[0] ""
msgstr[1] ""
+#: templates/web/base/reports/index.html:92
+#, perl-format
+msgid "%s day"
+msgid_plural "%s days"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:55
+#, perl-format
+msgid "%s problem marked as fixed"
+msgid_plural "%s problems marked as fixed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:43
+#, perl-format
+msgid "%s problem reported"
+msgid_plural "%s problems reported"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:107
+#, perl-format
+msgid "%s report"
+msgid_plural "%s reports"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:49
+#, perl-format
+msgid "%s update on problems"
+msgid_plural "%s updates on problems"
+msgstr[0] ""
+msgstr[1] ""
+
#: templates/web/base/front/stats.html:19
#, perl-format
msgid "<big>%s</big> fixed in past month"
@@ -4850,12 +5007,12 @@ msgid_plural "<big>%s</big> updates on reports"
msgstr[0] "<big>%s</big> Meldung bearbeitet"
msgstr[1] "<big>%s</big> Meldungen bearbeitet"
-#: templates/web/base/report/_item.html:49
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:51
+#, perl-format
msgid "Reported %d day ago"
msgid_plural "Reported %d days ago"
-msgstr[0] "Gemeldet von %s um %s"
-msgstr[1] "Gemeldet von %s um %s"
+msgstr[0] ""
+msgstr[1] ""
#: templates/web/base/report/new/top_message_some.html:3
#, perl-format
@@ -4871,32 +5028,37 @@ msgid_plural "We do not yet have details for the councils that cover this locati
msgstr[0] ""
msgstr[1] ""
-#: templates/web/base/report/_item.html:59
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:61
+#, perl-format
msgid "last updated %d day ago"
msgid_plural "last updated %d days ago"
-msgstr[0] "letzte Bearbeitung %s"
-msgstr[1] "letzte Bearbeitung %s"
+msgstr[0] ""
+msgstr[1] ""
#: templates/email/oxfordshire/archive.txt:9
-#, fuzzy, perl-format
+#, perl-format
msgid "report"
msgid_plural "reports"
-msgstr[0] "Meldung"
-msgstr[1] "Meldung"
+msgstr[0] ""
+msgstr[1] ""
-#, fuzzy
-#~ msgid "All inspectors"
-#~ msgstr "Alle Meldungen"
+#~ msgid "Closed reports"
+#~ msgstr "Abgeschlossene Meldungen"
-#, fuzzy
-#~ msgid "Report category:"
-#~ msgstr "Kategorie erstellen"
+#~ msgid "Closed:"
+#~ msgstr "Beantwortet:"
-#, fuzzy
-#~ msgid "Reported %d days ago"
-#~ msgstr "Gemeldet von %s um %s"
+#~ msgid "Duplicate"
+#~ msgstr "Duplikat"
-#, fuzzy
-#~ msgid "last updated %d days ago"
-#~ msgstr "letzte Bearbeitung %s"
+#~ msgid "Fixed reports"
+#~ msgstr "Beantwortete Meldungen"
+
+#~ msgid "In Progress"
+#~ msgstr "In Bearbeitung"
+
+#~ msgid "marked as fixed"
+#~ msgstr "als beantwortet markiert"
+
+#~ msgid "or"
+#~ msgstr "oder"
diff --git a/locale/de_DE.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/de_DE.UTF-8/LC_MESSAGES/FixMyStreet.po
index 1783fe6f0..a73a275bc 100644
--- a/locale/de_DE.UTF-8/LC_MESSAGES/FixMyStreet.po
+++ b/locale/de_DE.UTF-8/LC_MESSAGES/FixMyStreet.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
-"POT-Creation-Date: 2017-03-30 17:33+0100\n"
+"POT-Creation-Date: 2017-09-13 15:40+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: Ettore Atalan <atalanttore@googlemail.com>, 2016\n"
+"Last-Translator: mySociety <transifex@mysociety.org>, 2017\n"
"Language-Team: German (Germany) (https://www.transifex.com/mysociety/teams/12067/de_DE/)\n"
"Language: de_DE\n"
"MIME-Version: 1.0\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:695
+#: perllib/FixMyStreet/DB/Result/Problem.pm:632
#: perllib/FixMyStreet/Script/Reports.pm:197
msgid " and "
msgstr "und"
@@ -48,7 +48,7 @@ msgstr "%s - Zusammenfassungen"
#. ("%s here is the site name")
#: templates/web/base/admin/navigation.html:3
msgid "%s admin:"
-msgstr ""
+msgstr "%s Admin:"
#: templates/web/base/status/stats.html:26
msgid "%s bodies"
@@ -91,25 +91,6 @@ msgstr "%s Fragebögen versandt &ndash; %s beantwortet (%s%%)"
msgid "%s ref:&nbsp;%s"
msgstr "%s ref:&nbsp;%s"
-#. ("%s is the site name")
-#: templates/web/base/alert/_list.html:74
-msgid ""
-"%s sends different categories of problem\n"
-"to the appropriate council, so problems within the boundary of a particular council\n"
-"might not match the problems sent to that council. For example, a graffiti report\n"
-"will be sent to the district council, so will appear in both of the district\n"
-"council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
-"for the county council."
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:257 perllib/FixMyStreet/Cobrand/UK.pm:269
-msgid "%s ward, %s"
-msgstr "%s Stadtteil, %s"
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
-msgid "%s, within %s ward"
-msgstr ""
-
#: perllib/FixMyStreet/Map/OSM.pm:38
msgid "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"
msgstr "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a>-Beitragende"
@@ -118,7 +99,7 @@ msgstr "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap<
msgid "(Defect &amp; location of defect)"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
#: templates/web/base/admin/users.html:32
msgid "(Email in abuse table)"
msgstr ""
@@ -133,28 +114,35 @@ msgstr "(Kein Name)"
msgid "(No phone number)"
msgstr "(Keine Telefonnummer)"
-#: templates/web/base/alert/_list.html:25
-msgid "(a default distance which covers roughly 200,000 people)"
-msgstr ""
-
-#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
-#: templates/web/base/alert/_list.html:30
-msgid "(alternatively the RSS feed can be customised, within %s)"
+#: templates/web/base/admin/states/index.html:95
+msgid "(a-z and space only)"
msgstr ""
#: templates/web/zurich/report/_item.html:19
msgid "(closed)"
msgstr "(geschlossen)"
+#: templates/web/base/alert/_list.html:30
+msgid "(covers roughly 200,000 people)"
+msgstr ""
+
#: templates/web/zurich/report/_item.html:17
msgid "(fixed)"
msgstr "(gel&ouml;st)"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "(ignored if type is \"String\")"
+msgstr ""
+
#: templates/web/base/around/intro.html:2
msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
msgstr "(z.B. illegale Deponien, Strassensch&auml;den, Graffitis usw.)"
-#: templates/web/base/report/_item.html:68
+#: templates/web/base/reports/index.html:69
+msgid "(no longer exists)"
+msgstr ""
+
+#: templates/web/base/report/_item.html:70
msgid "(not sent to council)"
msgstr ""
@@ -162,20 +150,21 @@ msgstr ""
msgid "(optional)"
msgstr "(optional)"
-#: templates/web/base/report/_item.html:67
+#: templates/web/base/report/_item.html:69
msgid "(sent to both)"
msgstr "(gesendet an beide)"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:239
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/DB/Result/Problem.pm:454
+#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
+#: templates/web/base/alert/_list.html:36
+msgid "(we also have RSS feeds for problems within %s)"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:245
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:381
msgid "-- Pick a category --"
msgstr "-- W&auml;hlen Sie eine Kategorie --"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:460
-msgid "-- Pick a property type --"
-msgstr "-- Wählen Sie eine Eigentumsart --"
-
#: templates/web/base/admin/response_templates_select.html:3
msgid "--Choose a template--"
msgstr "--Wählen Sie eine Vorlage aus--"
@@ -184,16 +173,16 @@ msgstr "--Wählen Sie eine Vorlage aus--"
msgid "10 inch pothole on Example St, near post box"
msgstr ""
-#: templates/web/base/dashboard/index.html:152
+#: templates/web/base/dashboard/index.html:153
msgid "14-30 days old"
-msgstr ""
+msgstr "14-30 Tage alt"
-#: templates/web/base/dashboard/index.html:151
+#: templates/web/base/dashboard/index.html:152
msgid "7-14 days old"
-msgstr ""
+msgstr "7-14 Tage alt"
-#: templates/web/base/admin/body-form.html:48
-#: templates/web/base/admin/body-form.html:49
+#: templates/web/base/admin/body-form.html:50
+#: templates/web/base/admin/body-form.html:51
msgid ""
"<code>MAPIT_URL</code> is set (<code>%s</code>) but no <code>MAPIT_TYPES</code>.<br>\n"
" This is probably why \"area covered\" is empty (below).<br>\n"
@@ -204,15 +193,14 @@ msgstr ""
msgid "<h2>Reports, Statistics and Actions for</h2> <h1>%s</h1>"
msgstr ""
-#. ('The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories')
#. ("The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories")
-#: templates/web/base/reports/_list-filters.html:37
-msgid "<label for=\"statuses\">Show</label> %s <label for=\"filter_categories\">about</label> %s"
+#: templates/web/base/reports/_list-filters.html:48
+msgid "<label for=\"statuses\">Show</label> %s reports <label for=\"filter_categories\">about</label> %s"
msgstr ""
-#: templates/web/base/js/translation_strings.html:71
+#: templates/web/base/js/translation_strings.html:74
msgid "<span>%s</span> saved."
-msgstr ""
+msgstr "<span>%s</span> gespeichert."
#: templates/web/base/status/stats.html:18
#: templates/web/zurich/admin/index.html:4
@@ -227,34 +215,25 @@ msgstr ""
msgid "<strong>No</strong> Let me confirm my update by email"
msgstr ""
-#: templates/web/base/auth/general.html:104
+#: templates/web/base/auth/general.html:106
#: templates/web/zurich/auth/general.html:51
msgid "<strong>No</strong> let me sign in by email"
msgstr ""
-#: templates/web/base/report/_inspect.html:160
+#: templates/web/base/report/_inspect.html:170
msgid "<strong>Note:</strong> This report has been sent onwards for action. Any changes made won't be passed on."
msgstr ""
-#: templates/web/base/report/_inspect.html:162
+#: templates/web/base/report/_inspect.html:172
msgid "<strong>Note:</strong> This report hasn't yet been sent onwards for action. Any changes made may not be passed on."
msgstr ""
-#: templates/web/base/auth/general.html:80
+#: templates/web/base/auth/general.html:82
#: templates/web/base/report/new/form_user_loggedout_password.html:3
#: templates/web/base/report/update/form_user_loggedout_password.html:2
msgid "<strong>Yes</strong> I have a password"
msgstr "<strong>Ja</strong>, ich habe ein Passwort"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:10
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:6
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Action Scheduled"
-msgstr "Aktion geplant"
-
#: templates/web/base/admin/body-form.html:3
#: templates/web/base/admin/body-form.html:4
msgid ""
@@ -268,19 +247,36 @@ msgid "Add a contact using the form below."
msgstr ""
#: templates/web/base/admin/bodies.html:78
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Add body"
msgstr ""
+#: templates/web/base/admin/reportextrafields/index.html:24
+msgid "Add extra fields"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:79
+msgid "Add field"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:85
+msgid "Add fixed state"
+msgstr ""
+
#: templates/web/base/admin/body.html:126
#: templates/web/zurich/admin/body.html:31
msgid "Add new category"
msgstr "F&uuml;ge neue Kategorie hinzu"
+#: templates/web/base/admin/extra-metadata-form.html:72
+#, fuzzy
+msgid "Add option"
+msgstr "optional"
+
#: templates/web/base/report/_item.html:10
-#: templates/web/base/report/_item.html:14
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_item.html:16
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:19
#: templates/web/base/report/_main.html:30
msgid "Add to shortlist"
@@ -292,15 +288,15 @@ msgstr ""
msgid "Add user"
msgstr "Benutzer hinzufügen"
-#: perllib/FixMyStreet/Cobrand/Default.pm:730
+#: perllib/FixMyStreet/Cobrand/Default.pm:735
msgid "Add/edit problem categories"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:732
+#: perllib/FixMyStreet/Cobrand/Default.pm:737
msgid "Add/edit response priorities"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:731
+#: perllib/FixMyStreet/Cobrand/Default.pm:736
msgid "Add/edit response templates"
msgstr ""
@@ -308,13 +304,13 @@ msgstr ""
msgid "Added %s"
msgstr "%s hinzugefügt"
-#: templates/web/base/report/_main.html:145
+#: templates/web/base/report/_main.html:149
msgid "Adding this report to your shortlist will remove it from %s’s shortlist."
msgstr ""
#: templates/web/base/main_nav_items.html:47
msgid "Admin"
-msgstr ""
+msgstr "Admin"
#: templates/web/base/auth/change_password.html:39
msgid "Again:"
@@ -328,17 +324,17 @@ msgstr ""
msgid "Alert %d disabled (created %s)"
msgstr "Alarm %d deaktiviert (erstellt %s)"
-#: templates/web/base/report/update/form_name.html:38
+#: templates/web/base/report/update/form_name.html:42
msgid "Alert me to future updates"
msgstr ""
#: templates/web/base/dashboard/index.html:138
#: templates/web/base/dashboard/index.html:21
#: templates/web/base/dashboard/index.html:30
+#: templates/web/base/reports/_list-filters.html:3
msgid "All"
-msgstr ""
+msgstr "Alle"
-#: templates/web/base/reports/index.html:6
#: templates/web/zurich/reports/index.html:13
msgid "All Reports"
msgstr "Alle Meldungen"
@@ -348,15 +344,23 @@ msgid "All Reports as CSV"
msgstr "Alle Berichte als CSV"
#: templates/web/base/admin/category-multiselect.html:5
-#: templates/web/base/admin/responsepriorities/list.html:19
+#: templates/web/base/admin/responsepriorities/list.html:20
msgid "All categories"
+msgstr "Alle Kategorien"
+
+#: templates/web/base/admin/reportextrafields/edit.html:26
+#, fuzzy
+msgid "All cobrands"
+msgstr "Alle Kategorien"
+
+#: templates/web/base/admin/reportextrafields/edit.html:47
+msgid "All languages"
msgstr ""
#: templates/web/base/main_nav_items.html:0
#: templates/web/base/main_nav_items.html:27
-#: templates/web/base/reports/_list-filters.html:3
#: templates/web/zurich/admin/index-dm.html:12
-#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:21
+#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:20
#: templates/web/zurich/nav_over_content.html:6
msgid "All reports"
msgstr "Alle Meldungen"
@@ -366,6 +370,14 @@ msgstr "Alle Meldungen"
msgid "All reports between %s and %s"
msgstr "Alle Berichte zwischen %s und %s"
+#: templates/web/base/reports/index.html:23
+msgid "All time"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:20
+msgid "Alternatively, we can hide your name on <strong>all of your reports and updates</strong> across the site:"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:47
msgid "An update marked this problem as fixed."
msgstr ""
@@ -375,31 +387,33 @@ msgstr ""
msgid "Anonymous"
msgstr "Anonym"
-#: templates/web/base/admin/report_edit.html:134
+#: templates/web/base/report/new/form_user_loggedin.html:21
+#: templates/web/base/report/update/form_name.html:17
+#, fuzzy
+msgid "Anonymous user"
+msgstr "Anonym"
+
+#: templates/web/base/admin/report_edit.html:122
#: templates/web/base/admin/update_edit.html:23
msgid "Anonymous:"
msgstr "Anonym:"
-#: templates/web/base/report/new/form_user_loggedin.html:20
-#: templates/web/base/report/update/form_name.html:13
+#: templates/web/base/report/new/form_user_loggedin.html:24
+#: templates/web/base/report/update/form_name.html:14
msgid "Another user"
-msgstr ""
-
-#: templates/web/base/front/footer-marketing.html:16
-msgid "Are you a developer?"
-msgstr "Sind Sie ein Entwickler?"
+msgstr "Anderer Benutzer"
-#: templates/web/base/js/translation_strings.html:56
+#: templates/web/base/js/translation_strings.html:59
msgid "Are you sure you want to cancel this upload?"
msgstr ""
#: templates/web/base/admin/report_edit.html:84
-#: templates/web/base/js/translation_strings.html:66
+#: templates/web/base/js/translation_strings.html:69
#: templates/web/base/report/display_tools.html:6
msgid "Are you sure?"
-msgstr ""
+msgstr "Sind Sie sicher?"
-#: templates/web/base/admin/body-form.html:75
+#: templates/web/base/admin/body-form.html:77
#: templates/web/base/admin/body.html:20
#: templates/web/zurich/admin/body-form.html:24
msgid "Area covered"
@@ -407,7 +421,7 @@ msgstr "Gebiet abgedeckt"
#: templates/web/base/admin/user-form.html:64
msgid "Area:"
-msgstr ""
+msgstr "Gebiet:"
#: templates/web/base/admin/bodies.html:19
#: templates/web/base/admin/body.html:64
@@ -431,11 +445,11 @@ msgstr ""
msgid "Assign to subdivision:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:727
+#: perllib/FixMyStreet/Cobrand/Default.pm:732
msgid "Assign users to areas"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:214
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:219
msgid "Assigned to %s"
msgstr ""
@@ -456,11 +470,14 @@ msgstr ""
msgid "Auto-response:"
msgstr ""
-#: templates/web/base/admin/report_edit.html:127
-#: templates/web/base/report/_inspect.html:47
+#: templates/web/base/admin/report-category.html:8
msgid "Available categories"
msgstr ""
+#: templates/web/base/reports/index.html:84
+msgid "Average time between a problem being reported and being fixed, last 100 reports."
+msgstr ""
+
#: templates/web/base/dashboard/index.html:109
msgid "Average time to council marking fixed (days)"
msgstr ""
@@ -473,7 +490,7 @@ msgstr ""
msgid "Avoid personal information and vehicle number plates"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:417
+#: perllib/FixMyStreet/DB/Result/Problem.pm:344
#: templates/web/zurich/report/_item.html:9
msgid "Awaiting moderation"
msgstr "Wartet auf Moderation"
@@ -486,13 +503,13 @@ msgstr "Zurück"
msgid "Back to all reports"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
msgid "Ban email address"
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:650
-#: perllib/FixMyStreet/Cobrand/Default.pm:729
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
+#: perllib/FixMyStreet/Cobrand/Default.pm:734
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:396
#: templates/web/base/admin/bodies.html:1
#: templates/web/base/admin/report_edit.html:55
#: templates/web/zurich/header.html:56
@@ -514,7 +531,11 @@ msgstr ""
msgid "By Date"
msgstr "Nach Datum"
-#: templates/web/base/auth/token.html:21 templates/web/base/email_sent.html:18
+#: templates/web/base/admin/extra-metadata-form.html:36
+msgid "Can be used to display extra text to the user alongside the field. The default template does not show this (<code>meta.datatype_description</code>), you must add it in <code>category_extras_fields.html</code>"
+msgstr ""
+
+#: templates/web/base/auth/token.html:27 templates/web/base/email_sent.html:20
msgid "Can&rsquo;t find our email? Check your spam folder&nbsp;&ndash; that&rsquo;s the solution 99% of the time."
msgstr ""
@@ -525,18 +546,18 @@ msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:650
#: templates/web/base/admin/responsepriorities/list.html:8
msgid "Categories"
-msgstr ""
+msgstr "Kategorien"
#: templates/web/base/admin/category-checkboxes.html:2
#: templates/web/base/admin/category-multiselect.html:2
msgid "Categories:"
-msgstr ""
+msgstr "Kategorien:"
#: templates/web/base/admin/body.html:72
#: templates/web/base/admin/contact-form.html:19
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/report/_inspect.html:38
-#: templates/web/base/report/_item.html:90
+#: templates/web/base/report/_inspect.html:48
+#: templates/web/base/report/_item.html:92
#: templates/web/base/report/new/category.html:6
#: templates/web/base/report/new/category_wrapper.html:3
#: templates/web/zurich/admin/body.html:14
@@ -547,7 +568,7 @@ msgstr ""
msgid "Category"
msgstr "Kategorie"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:852
+#: perllib/FixMyStreet/App/Controller/Admin.pm:956
msgid "Category changed from ‘%s’ to ‘%s’"
msgstr ""
@@ -571,13 +592,13 @@ msgstr "Kategorie: %s"
#: templates/web/base/my/my.html:24
msgid "Change email"
-msgstr ""
+msgstr "E-Mail ändern"
#: templates/web/base/auth/change_email.html:1
#: templates/web/base/auth/change_email.html:3
#: templates/web/base/auth/change_email.html:30
msgid "Change email address"
-msgstr ""
+msgstr "E-Mail-Adresse ändern"
#: templates/web/base/auth/change_password.html:1
#: templates/web/base/auth/change_password.html:16
@@ -587,23 +608,11 @@ msgstr ""
msgid "Change password"
msgstr "Passwort &auml;ndern"
-#: templates/web/base/admin/contact-form.html:41
-msgid ""
-"Check <strong>confirmed</strong> to indicate that this contact has been confirmed as correct.\n"
-" If you are not sure of the origin or validity of the contact, leave this unchecked."
-msgstr ""
-
-#: templates/web/base/admin/contact-form.html:52
-msgid ""
-"Check <strong>deleted</strong> to remove the category from use. \n"
-" It will not appear as an available category in the drop-down menu on the report-a-problem page."
-msgstr ""
-
-#: templates/web/base/admin/contact-form.html:79
+#: templates/web/base/admin/contact-form.html:80
msgid "Check <strong>inspection required</strong> if reports in this category <strong>must be inspected</strong> before being sent."
msgstr ""
-#: templates/web/base/admin/contact-form.html:63
+#: templates/web/base/admin/contact-form.html:64
msgid ""
"Check <strong>private</strong> if reports in this category should <strong>never be displayed on the website</strong>.\n"
" <br>\n"
@@ -620,11 +629,11 @@ msgid ""
" to the body too. These will appear in the drop-down menu on the report-a-problem page."
msgstr ""
-#: templates/web/base/report/_inspect.html:93
+#: templates/web/base/report/_inspect.html:103
msgid "Choose another"
msgstr ""
-#: templates/web/base/js/translation_strings.html:65
+#: templates/web/base/js/translation_strings.html:68
msgid "Clear offline data"
msgstr ""
@@ -649,21 +658,21 @@ msgstr ""
msgid "Click the link in our confirmation email to publish your update."
msgstr ""
-#: templates/web/base/auth/token.html:18
+#: templates/web/base/auth/token.html:23
msgid "Click the link in our confirmation email to sign in."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:189
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:960
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:17
-#: templates/web/base/admin/report_blocks.html:27
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:43
-#: templates/web/base/report/banner.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:18
+#: templates/web/base/auth/token.html:20
+msgid "Click the link in that email to sign in."
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:134
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:194
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:965
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:11
+#: templates/web/base/admin/states/index.html:103
+#: templates/web/base/admin/states/index.html:27
+#: templates/web/base/admin/states/index.html:33
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:10
#: templates/web/zurich/admin/header.html:16
@@ -671,23 +680,17 @@ msgstr ""
msgid "Closed"
msgstr "Geschlossen"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:889
+#: perllib/FixMyStreet/DB/Result/Problem.pm:826
msgid "Closed by council"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:13
-msgid "Closed reports"
-msgstr ""
-
-#: templates/web/base/admin/problem_row.html:38
-msgid "Closed:"
-msgstr "Geschlossen:"
-
#: templates/web/base/admin/report_edit.html:37
msgid "Co-ordinates:"
msgstr "Koordinaten:"
#: templates/web/base/admin/list_updates.html:10
+#: templates/web/base/admin/reportextrafields/edit.html:24
+#: templates/web/base/admin/reportextrafields/index.html:7
msgid "Cobrand"
msgstr ""
@@ -701,6 +704,10 @@ msgstr ""
msgid "Cobrand:"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:14
+msgid "Code"
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:50
msgid "Collapse map"
msgstr ""
@@ -731,9 +738,8 @@ msgstr ""
msgid "Confirmation"
msgstr "Best&auml;tigung"
-#: templates/web/base/admin/body.html:85
-#: templates/web/base/admin/category_edit.html:54
-#: templates/web/base/admin/contact-form.html:47
+#: templates/web/base/admin/contact-form.html:56
+#: templates/web/zurich/admin/contact-form.html:12
#: templates/web/zurich/admin/stats.html:40
msgid "Confirmed"
msgstr "Best&auml;tigt"
@@ -768,8 +774,8 @@ msgstr "Kontaktieren Sie das Team"
msgid "Coordinates:"
msgstr "Koordinaten:"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1668
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1696
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1773
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1801
msgid "Could not find user"
msgstr "Benutzer konnte nicht gefunden werden"
@@ -789,33 +795,28 @@ msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:83
-#, fuzzy
msgid "Council has marked as closed"
-msgstr "als geschlossen markiert"
+msgstr ""
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:57
-#, fuzzy
msgid "Council has marked as fixed"
-msgstr "als gel&ouml;st markiert"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:80
-#, fuzzy
msgid "Council has marked as in progress"
-msgstr "als in Bearbeitung markiert"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:82
-#, fuzzy
msgid "Council has marked as investigating"
-msgstr "als untersuchend markiert"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:81
-#, fuzzy
msgid "Council has marked as planned"
-msgstr "als geplant markiert"
+msgstr ""
#: templates/web/base/report/_council_sent_info.html:6
msgid "Council ref:&nbsp;%s"
@@ -832,24 +833,33 @@ msgstr "Rat:"
msgid "Count"
msgstr "Anzahl"
+#: templates/web/base/admin/states/index.html:114
+#, fuzzy
+msgid "Create"
+msgstr "Erstellt"
+
#: templates/web/base/email_sent.html:1
msgid "Create a report"
msgstr "Erfasse eine Meldung"
-#: templates/web/base/admin/contact-form.html:137
+#: templates/web/base/admin/contact-form.html:138
#: templates/web/zurich/admin/body.html:62
msgid "Create category"
msgstr "Kategorie erstellen"
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/responsepriorities/edit.html:58
msgid "Create priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:714
+#: perllib/FixMyStreet/Cobrand/Default.pm:718
+msgid "Create reports/updates as anonymous user"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:719
msgid "Create reports/updates as the council"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:713
+#: perllib/FixMyStreet/Cobrand/Default.pm:717
msgid "Create reports/updates on a user's behalf"
msgstr ""
@@ -879,13 +889,15 @@ msgstr "Aktueller Status"
msgid "Currently no bodies have been created."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:825
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:830
#: templates/web/zurich/admin/report_edit-sdm.html:105
msgid "Customer not contactable"
msgstr ""
#: templates/web/base/dashboard/index.html:5
#: templates/web/base/dashboard/index.html:7
+#: templates/web/base/reports/index.html:15
+#: templates/web/base/reports/index.html:18
msgid "Dashboard"
msgstr "Übersichtsseite"
@@ -893,29 +905,37 @@ msgstr "Übersichtsseite"
msgid "Dealt with by subdivision within 5 working days"
msgstr ""
-#: templates/web/base/report/_inspect.html:73
+#: templates/web/base/admin/responsepriorities/list.html:9
+msgid "Default"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:39
+#, fuzzy
+msgid "Default priority"
+msgstr "Neue Priorität"
+
+#: templates/web/base/report/_inspect.html:72
msgid "Defect type"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:973
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1078
#: templates/web/base/admin/template_edit.html:50
#: templates/web/zurich/admin/template_edit.html:33
msgid "Delete template"
msgstr "Vorlage löschen"
#: templates/web/base/admin/bodies.html:31
-#: templates/web/base/admin/body.html:87
-#: templates/web/base/admin/category_edit.html:55
#: templates/web/base/admin/contact-form.html:58
-#: templates/web/zurich/admin/contact-form.html:12
+#: templates/web/zurich/admin/contact-form.html:13
msgid "Deleted"
msgstr "Gel&ouml;scht"
-#: templates/web/base/report/_main.html:110
-#: templates/web/base/report/update.html:59
+#: templates/web/base/report/_main.html:114
+#: templates/web/base/report/update.html:68
msgid "Describe why you are moderating this"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:32
#: templates/web/base/admin/responsepriorities/list.html:7
#: templates/web/zurich/admin/index-dm.html:22
#: templates/web/zurich/admin/index-sdm.html:20
@@ -925,7 +945,7 @@ msgstr "Beschreibung"
#: templates/web/base/admin/responsepriorities/edit.html:17
msgid "Description:"
-msgstr ""
+msgstr "Beschreibung:"
#: templates/web/base/js/translation_strings.html:33
#: templates/web/zurich/report/new/fill_in_details_form.html:45
@@ -939,7 +959,7 @@ msgstr "Beschreibung"
msgid "Details:"
msgstr "Beschreibung:"
-#: templates/web/base/admin/body.html:93
+#: templates/web/base/admin/body.html:92
msgid "Devolved"
msgstr ""
@@ -952,59 +972,51 @@ msgstr ""
msgid "Diligency prize league table"
msgstr "Weiss ich nicht"
-#: templates/web/base/report/_main.html:114
-#: templates/web/base/report/update.html:61
-#, fuzzy
+#: templates/web/base/report/_main.html:118
+#: templates/web/base/report/update.html:70
msgid "Discard changes"
-msgstr "&Auml;nderungen speichern"
+msgstr "Änderungen verwerfen"
#: templates/web/base/admin/open311-form-fields.html:95
msgid "Do not send email alerts on fetched comments to problem creator"
msgstr ""
#. ("%s is the site name")
-#: templates/web/base/auth/general.html:58
+#: templates/web/base/auth/general.html:60
#: templates/web/base/report/new/form_user_loggedout.html:25
#: templates/web/base/report/new/oauth_email_form.html:18
#: templates/web/base/report/update-form.html:30
#: templates/web/base/report/update/form_user_loggedout.html:27
msgid "Do you have a %s password?"
+msgstr "Haben Sie ein %s-Passwort?"
+
+#: templates/web/base/report/_inspect.html:87
+msgid "Do you want to automatically raise a defect?"
msgstr ""
#: templates/web/base/questionnaire/index.html:57
msgid "Don&rsquo;t know"
msgstr "Weiß ich nicht"
-#: templates/web/base/contact/index.html:108
+#: templates/web/base/contact/index.html:112
msgid "Don't like forms?"
msgstr "Sie mögen keine Formulare?"
-#: templates/web/base/report/_item.html:25
+#: templates/web/base/report/_item.html:27
msgid "Down one"
msgstr ""
-#: templates/web/base/js/translation_strings.html:55
+#: templates/web/base/js/translation_strings.html:58
msgid "Drag and drop photos here or <u>click to upload</u>"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:10
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "Duplicate"
-msgstr "Duplizieren"
-
-#: templates/web/base/report/_inspect.html:88
-#, fuzzy
+#: templates/web/base/report/_inspect.html:98
msgid "Duplicate of"
-msgstr "Duplizieren"
+msgstr ""
-#: templates/web/base/report/_inspect.html:98
-#, fuzzy
+#: templates/web/base/report/_inspect.html:108
msgid "Duplicates"
-msgstr "Duplizieren"
+msgstr ""
#: templates/web/base/admin/body.html:116
msgid ""
@@ -1014,43 +1026,43 @@ msgid ""
" "
msgstr ""
-#: templates/web/base/report/_inspect.html:16
-#: templates/web/base/report/_item.html:81
+#: templates/web/base/report/_inspect.html:26
+#: templates/web/base/report/_item.html:83
msgid "Easting/Northing:"
msgstr ""
#: templates/web/base/admin/list_updates.html:42
#: templates/web/base/admin/problem_row.html:41
-#: templates/web/base/admin/responsepriorities/list.html:26
+#: templates/web/base/admin/responsepriorities/list.html:28
#: templates/web/base/admin/templates.html:22
#: templates/web/base/admin/users.html:34
#: templates/web/zurich/admin/problem_row.html:48
msgid "Edit"
msgstr "Bearbeiten"
-#: templates/web/base/admin/body.html:140
+#: templates/web/base/admin/body.html:141
#: templates/web/base/admin/index.html:39
#: templates/web/zurich/admin/body.html:69
msgid "Edit body details"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:724
+#: perllib/FixMyStreet/Cobrand/Default.pm:729
msgid "Edit other users' details"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:725
+#: perllib/FixMyStreet/Cobrand/Default.pm:730
msgid "Edit other users' permissions"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:708
+#: perllib/FixMyStreet/Cobrand/Default.pm:712
msgid "Edit report category"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:709
+#: perllib/FixMyStreet/Cobrand/Default.pm:713
msgid "Edit report priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:707
+#: perllib/FixMyStreet/Cobrand/Default.pm:711
msgid "Edit reports"
msgstr ""
@@ -1073,15 +1085,15 @@ msgstr "Aktualisierung %d wird bearbeitet"
msgid "Editing user %d"
msgstr "Benutzer %d wird bearbeitet"
-#: templates/web/base/admin/category_edit.html:56
+#: templates/web/base/admin/category_edit.html:30
msgid "Editor"
msgstr "Editor"
#: templates/web/base/admin/bodies.html:27
-#: templates/web/base/admin/category_edit.html:53
+#: templates/web/base/admin/category_edit.html:28
#: templates/web/base/admin/flagged.html:38
#: templates/web/base/admin/users.html:17
-#: templates/web/base/auth/general.html:49
+#: templates/web/base/auth/general.html:51
#: templates/web/zurich/admin/body-form.html:9
#: templates/web/zurich/admin/body.html:15
#: templates/web/zurich/auth/general.html:24
@@ -1089,15 +1101,16 @@ msgstr "Editor"
msgid "Email"
msgstr "E-Mail"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1644
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1749
msgid "Email added to abuse list"
msgstr ""
-#: templates/web/base/admin/contact-form.html:36
-#: templates/web/base/report/new/form_user_loggedin.html:28
-#: templates/web/base/report/update/form_name.html:19
+#: templates/web/base/admin/contact-form.html:38
+#: templates/web/base/alert/_list.html:74
+#: templates/web/base/report/new/form_user_loggedin.html:32
+#: templates/web/base/report/update/form_name.html:23
msgid "Email address"
-msgstr ""
+msgstr "E-Mail-Adresse"
#: templates/web/base/tokens/confirm_alert.html:6
msgid "Email alert created"
@@ -1107,11 +1120,11 @@ msgstr "E-Mail-Benachrichtigung erstellt"
msgid "Email alert deleted"
msgstr "E-Mail-Benachrichtigung gelöscht"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1641
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1746
msgid "Email already in abuse list"
msgstr ""
-#: templates/web/base/admin/report_edit.html:141
+#: templates/web/base/admin/report_edit.html:129
#: templates/web/base/admin/update_edit.html:35
#: templates/web/base/admin/user-form.html:19
#: templates/web/zurich/admin/body.html:48
@@ -1132,8 +1145,8 @@ msgid ""
" <a href='https://www.mysociety.org/2013/02/20/open311-extended/' class='admin-offsite-link'>this article</a>."
msgstr ""
-#: templates/web/base/admin/body-form.html:120
-#: templates/web/base/admin/body-form.html:121
+#: templates/web/base/admin/body-form.html:122
+#: templates/web/base/admin/body-form.html:123
msgid ""
"Enable this <strong>can be devolved</strong> setting if one or more contacts have a \n"
" different endpoint (and send method) from the body's. For example, if reports for some categories of\n"
@@ -1148,11 +1161,11 @@ msgstr "Enddatum:"
msgid "Endpoint"
msgstr "Endpunkt"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:76
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:81
msgid "Enter a Z&uuml;rich street name"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:15
+#: perllib/FixMyStreet/Cobrand/UK.pm:16
msgid "Enter a nearby UK postcode, or street name and area"
msgstr ""
@@ -1161,12 +1174,13 @@ msgstr ""
msgid "Enter a nearby postcode, or street name and area"
msgstr "Geben Sie eine Adresse an"
+#: perllib/FixMyStreet/Cobrand/DansMonQwat.pm:14
#: templates/web/base/around/postcode_form.html:5
#: templates/web/base/around/postcode_form.html:6
msgid "Enter a nearby street name and area"
msgstr "Geben Sie eine Adresse an"
-#: templates/web/base/auth/general.html:116
+#: templates/web/base/auth/general.html:118
#: templates/web/base/report/new/form_user_loggedout_by_email.html:35
#: templates/web/base/report/update/form_user_loggedout_by_email.html:13
#: templates/web/zurich/auth/general.html:65
@@ -1186,8 +1200,8 @@ msgstr "Beschreiben sie den Mangel"
msgid "Error"
msgstr "Fehler"
-#: templates/web/base/reports/_list-filters.html:20
-#: templates/web/base/reports/_list-filters.html:28
+#: templates/web/base/reports/_list-filters.html:31
+#: templates/web/base/reports/_list-filters.html:39
msgid "Everything"
msgstr "Alles"
@@ -1200,26 +1214,24 @@ msgstr "Beispieladresse"
msgid "Examples:"
msgstr "Beispiele:"
-#: templates/web/base/admin/report_edit.html:122
-#: templates/web/base/report/_inspect.html:42
+#: templates/web/base/admin/report-category.html:3
msgid "Existing category"
-msgstr ""
+msgstr "Vorhandene Kategorie"
#: templates/web/base/js/translation_strings.html:49
msgid "Expand map"
msgstr ""
-#: templates/web/base/report/new/form_report.html:52
+#: templates/web/base/report/new/form_report.html:54
msgid "Explain what’s wrong"
msgstr ""
-#: templates/web/base/dashboard/index.html:146
-#, fuzzy
+#: templates/web/base/dashboard/index.html:147
msgid "Export as CSV"
-msgstr "Alle Berichte als CSV"
+msgstr "Als CSV exportieren"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:913
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:179
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:12
msgid "Extern"
@@ -1228,9 +1240,9 @@ msgstr "Extern"
#: templates/web/base/admin/report_edit.html:97
#: templates/web/base/admin/responsepriorities/edit.html:27
msgid "External ID"
-msgstr ""
+msgstr "Externe Kennung"
-#: templates/web/base/admin/body-form.html:87
+#: templates/web/base/admin/body-form.html:89
msgid "External URL"
msgstr "Externe URL"
@@ -1242,13 +1254,20 @@ msgstr ""
msgid "External team"
msgstr ""
-#: templates/web/base/admin/category_edit.html:25
+#: perllib/FixMyStreet/Cobrand/Default.pm:673
+#: templates/web/base/admin/reportextrafields/edit.html:1
+#: templates/web/base/admin/reportextrafields/index.html:1
+#, fuzzy
+msgid "Extra Fields"
+msgstr "Zusätzliche Daten:"
+
+#: templates/web/base/admin/contact-form.html:141
#: templates/web/base/admin/report_edit.html:94
msgid "Extra data:"
msgstr "Zusätzliche Daten:"
-#: templates/web/base/report/_inspect.html:134
-#: templates/web/base/report/_item.html:106
+#: templates/web/base/report/_inspect.html:144
+#: templates/web/base/report/_item.html:108
msgid "Extra details"
msgstr ""
@@ -1256,6 +1275,11 @@ msgstr ""
msgid "Failed to send message"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:58
+#: templates/web/base/admin/reportextrafields/index.html:9
+msgid "Fields"
+msgstr ""
+
#: templates/web/zurich/admin/index-dm.html:33
#: templates/web/zurich/admin/index-sdm.html:30
msgid "Filter report list"
@@ -1269,52 +1293,32 @@ msgstr "Erstes Mal"
msgid "Fix this by choosing an <strong>area covered</strong> in the <em>Edit body details</em> form below."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:11
-#: templates/web/base/admin/report_blocks.html:26
+#: perllib/FixMyStreet/App/Controller/Admin/States.pm:35
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:133
+#: templates/web/base/admin/states/index.html:29
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:41
-#: templates/web/base/report/banner.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:17
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:45
msgid "Fixed"
msgstr "Gel&ouml;st"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:13
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:7
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:62
msgid "Fixed - Council"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:12
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:63
msgid "Fixed - User"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:14
-msgid "Fixed reports"
-msgstr ""
-
-#: templates/web/base/admin/problem_row.html:37
-msgid "Fixed:"
-msgstr ""
-
-#: templates/web/base/admin/body-form.html:95
-#: templates/web/base/admin/responsepriorities/edit.html:41
+#: templates/web/base/admin/body-form.html:97
+#: templates/web/base/admin/responsepriorities/edit.html:53
#: templates/web/zurich/admin/body-form.html:36
msgid "Flag as deleted"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/report_blocks.html:23
msgid "Flag user"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: perllib/FixMyStreet/Cobrand/Default.pm:644
#: templates/web/base/admin/users.html:20
msgid "Flagged"
msgstr ""
@@ -1331,7 +1335,7 @@ msgstr ""
msgid "Flagged users are not restricted in any way. This is just a list of users that have been marked for attention."
msgstr ""
-#: templates/web/base/admin/report_edit.html:147
+#: templates/web/base/admin/report_edit.html:135
#: templates/web/base/admin/user-form.html:100
msgid "Flagged:"
msgstr ""
@@ -1344,21 +1348,25 @@ msgstr ""
msgid "For best results include a close-up and a wide shot"
msgstr ""
-#: templates/web/base/admin/body-form.html:71
+#: templates/web/base/admin/extra-metadata-form.html:52
+msgid "For each option, <strong>Key</strong> is the value which is stored in the database for that option and <strong>Name</strong> is the value displayed to the user."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:73
msgid "For more information, see <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
msgstr ""
-#: templates/web/base/auth/general.html:95
+#: templates/web/base/auth/general.html:97
#: templates/web/base/report/new/form_user_loggedout_password.html:20
#: templates/web/base/report/update/form_user_loggedout_password.html:19
msgid "Forgotten your password?"
msgstr "Passwort vergessen?"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:743
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:748
msgid "Forwarded to external body"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:744
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:749
msgid "Forwarded wish to external body"
msgstr ""
@@ -1368,6 +1376,10 @@ msgstr ""
msgid "Frequently Asked Questions"
msgstr "Häufig gestellte Fragen"
+#: templates/web/base/admin/stats.html:102
+msgid "Get Count"
+msgstr ""
+
#: templates/web/base/around/_updates.html:3
#: templates/web/base/report/display_tools.html:14
msgid "Get updates"
@@ -1383,10 +1395,14 @@ msgstr "Aktualisierungen von %s Problemen holen"
msgid "Get updates of problems in this %s"
msgstr "Aktualisierungen von Problemen in diesem %s holen"
-#: templates/web/base/alert/_list.html:83
+#: templates/web/base/alert/_list.html:85
msgid "Give me an RSS feed"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:6
+msgid "Give this collection of fields a name. It is not shown publicly, just here in the admin."
+msgstr ""
+
#: templates/web/base/questionnaire/completed.html:14
msgid "Glad to hear it’s been fixed!"
msgstr ""
@@ -1396,8 +1412,9 @@ msgstr ""
#: templates/web/base/admin/index.html:49
#: templates/web/base/alert/index.html:34
#: templates/web/base/around/postcode_form.html:13
-#: templates/web/base/reports/_list-filters.html:38
-#: templates/web/base/reports/_list-filters.html:53
+#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:64
+#: templates/web/base/reports/index.html:75
#: templates/web/zurich/admin/stats.html:26
msgid "Go"
msgstr "Los"
@@ -1406,7 +1423,7 @@ msgstr "Los"
msgid "Going to send questionnaire?"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:726
+#: perllib/FixMyStreet/Cobrand/Default.pm:731
msgid "Grant access to the admin"
msgstr ""
@@ -1414,10 +1431,6 @@ msgstr ""
msgid "Graph of problem creation by status over time"
msgstr ""
-#: templates/web/base/reports/index.html:15
-msgid "Greyed-out lines are councils that no longer exist."
-msgstr ""
-
#: templates/web/base/questionnaire/index.html:48
msgid "Has this problem been fixed?"
msgstr ""
@@ -1428,7 +1441,7 @@ msgstr ""
#: templates/web/base/main_nav_items.html:40
#: templates/web/zurich/about/faq-de-ch.html:1
-#: templates/web/zurich/footer.html:23
+#: templates/web/zurich/footer.html:22
#: templates/web/zurich/nav_over_content.html:8
msgid "Help"
msgstr "Hilfe"
@@ -1438,22 +1451,13 @@ msgstr "Hilfe"
msgid "Help <strong>%s</strong> resolve your problem quicker, by providing some extra detail. This extra information will not be published online."
msgstr ""
-#: templates/web/base/alert/_list.html:9
-msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
-msgstr ""
-
-#: templates/web/zurich/footer.html:12
+#: templates/web/zurich/footer.html:11
msgid "Hi %s"
msgstr "Hallo %s"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:906
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:19
-#: templates/web/base/admin/report_blocks.html:28
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:911
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:60
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:19
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:11
#: templates/web/zurich/admin/stats.html:32
@@ -1461,16 +1465,33 @@ msgstr "Hallo %s"
msgid "Hidden"
msgstr "Unsichtbar"
-#: templates/web/base/report/_main.html:105
-#, fuzzy
+#: templates/web/base/report/_main.html:109
msgid "Hide entire report"
-msgstr "Bericht erneut senden"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:1
+#: templates/web/base/my/anonymize.html:2
+msgid "Hide my name"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:21
+msgid "Hide my name everywhere"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:10
+msgid "Hide my name in this update"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:16
+msgid "Hide my name on this report"
+msgstr ""
#: templates/web/base/around/display_location.html:67
msgid "Hide old"
msgstr "Alte ausblenden"
#: templates/web/base/around/display_location.html:62
+#: templates/web/base/js/translation_strings.html:55
msgid "Hide pins"
msgstr "Stecknadeln ausblenden"
@@ -1478,7 +1499,16 @@ msgstr "Stecknadeln ausblenden"
msgid "Hide update completely?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:49
+#: templates/web/base/report/_report_meta_info.html:3
+#: templates/web/base/report/update.html:55
+msgid "Hide your name?"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:38
+msgid "Hint"
+msgstr ""
+
+#: templates/web/base/admin/category_edit.html:24
msgid "History"
msgstr "History"
@@ -1495,12 +1525,12 @@ msgid "How to send successful reports"
msgstr ""
#: templates/web/base/tokens/confirm_problem.html:36
-#: templates/web/base/tokens/confirm_problem.html:40
+#: templates/web/base/tokens/confirm_problem.html:41
msgid "I just reported a problem on @fixmystreet"
msgstr ""
-#: templates/web/base/tokens/confirm_update.html:19
-#: templates/web/base/tokens/confirm_update.html:23
+#: templates/web/base/tokens/confirm_update.html:20
+#: templates/web/base/tokens/confirm_update.html:25
msgid "I just updated a problem on @fixmystreet"
msgstr ""
@@ -1520,17 +1550,25 @@ msgstr ""
msgid "ID"
msgstr "ID"
-#: templates/web/base/admin/body-form.html:30
-#: templates/web/base/admin/body-form.html:31
+#: templates/web/base/admin/body-form.html:32
+#: templates/web/base/admin/body-form.html:33
msgid ""
"Identify a <strong>parent</strong> if this body is itself part of another body.\n"
" For basic installations, you don't need to join bodies in this way."
msgstr ""
+#: templates/web/base/auth/token.html:19
+msgid "If there's a user associated with the address you entered, we've sent a confirmation email."
+msgstr ""
+
#: templates/web/base/admin/responsepriorities/edit.html:23
msgid "If this priority is passed to an external service (e.g. Exor/Confirm) enter the priority code to use with that service here."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:24
+msgid "If ticked the user won’t see an input field, just the ‘Description’ text."
+msgstr ""
+
#: templates/web/base/admin/contact-form.html:14
msgid ""
"If two or more bodies serve the same location, FixMyStreet combines identical categories into a single entry in\n"
@@ -1541,7 +1579,7 @@ msgstr ""
msgid "If you get some more information about the status of your problem, please come back to the site and leave an update."
msgstr ""
-#: templates/web/base/admin/responsepriorities/edit.html:33
+#: templates/web/base/admin/responsepriorities/edit.html:45
msgid "If you only want this priority to be an option for specific categories, pick them here. By default they will show for all categories."
msgstr ""
@@ -1564,7 +1602,7 @@ msgid ""
"(please note it will not be sent to the council)."
msgstr ""
-#: templates/web/base/admin/contact-form.html:30
+#: templates/web/base/admin/contact-form.html:32
msgid "If you're using <strong>a send method that is not email</strong>, enter the service ID (Open311) or equivalent identifier here."
msgstr ""
@@ -1591,7 +1629,7 @@ msgid ""
" when they are shown on the site. Enter the ID (number) of that user."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:133
+#: perllib/FixMyStreet/App/Controller/Contact.pm:134
msgid "Illegal ID"
msgstr "Unbekannt ID"
@@ -1599,13 +1637,6 @@ msgstr "Unbekannt ID"
msgid "Illegal feed selection"
msgstr ""
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "In Progress"
-msgstr "In Bearbeitung"
-
#: templates/web/base/admin/flagged.html:39
msgid "In abuse table?"
msgstr ""
@@ -1614,18 +1645,17 @@ msgstr ""
msgid "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:192
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:954
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:9
-#: templates/web/base/report/banner.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:5
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:197
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:959
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:8
msgid "In progress"
msgstr "In Bearbeitung"
+#: templates/web/base/admin/contact-form.html:57
+msgid "Inactive"
+msgstr ""
+
#: templates/web/base/tokens/confirm_alert.html:11
msgid "Inbox zero, here we come!"
msgstr ""
@@ -1642,11 +1672,15 @@ msgstr "Unbestätigte Berichte miteinbeziehen"
msgid "Incorrect has_photo value \"%s\""
msgstr ""
-#: templates/web/base/admin/contact-form.html:84
+#: templates/web/base/report/_inspect.html:5
+msgid "Inspect report"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:85
msgid "Inspection required"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:711
+#: perllib/FixMyStreet/Cobrand/Default.pm:715
msgid "Instruct contractors to fix problems"
msgstr ""
@@ -1654,13 +1688,6 @@ msgstr ""
msgid "Internal notes"
msgstr "Interne Hinweise"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:11
-msgid "Internal referral"
-msgstr ""
-
#: templates/web/base/offline/appcache.html:3
msgid "Internet glitch"
msgstr ""
@@ -1669,7 +1696,7 @@ msgstr ""
msgid "Invalid agency_responsible value %s"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1502
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1607
msgid "Invalid end date"
msgstr "Ung&ultiges Enddatum"
@@ -1677,26 +1704,15 @@ msgstr "Ung&ultiges Enddatum"
msgid "Invalid format %s specified."
msgstr "Ungültiges Format %s angegeben."
-#: perllib/FixMyStreet/App/Controller/Report.pm:398
+#: perllib/FixMyStreet/App/Controller/Report.pm:409
msgid "Invalid location. New location must be covered by the same council."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1498
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1603
msgid "Invalid start date"
msgstr "Ung&ultiges Startdatum"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:7
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:4
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Investigating"
-msgstr "Untersuchen"
-
-#: templates/web/base/contact/blurb.html:8
+#: templates/web/base/contact/blurb.html:2
msgid "It's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there."
msgstr ""
@@ -1704,37 +1720,59 @@ msgstr ""
msgid "It’s on its way to the council right now."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:177
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:182
msgid "Jurisdiction Unknown"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:15
msgid "Jurisdiction unknown"
msgstr ""
-#: templates/web/base/auth/general.html:91
+#: templates/web/base/auth/general.html:93
#: templates/web/base/report/new/form_user_loggedout_password.html:16
#: templates/web/base/report/update/form_user_loggedout_password.html:15
#: templates/web/zurich/auth/general.html:40
msgid "Keep me signed in on this computer"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:61
+msgid "Key"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:9
+#: templates/web/base/admin/states/index.html:95
+msgid "Label"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:6
+#: templates/web/base/admin/reportextrafields/edit.html:45
+msgid "Language"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/index.html:8
+msgid "Languages"
+msgstr ""
+
#: templates/web/base/dashboard/index.html:50
msgid "Last 4 weeks"
-msgstr ""
+msgstr "Letzte 4 Wochen"
#: templates/web/base/dashboard/index.html:49
-#, fuzzy
+#: templates/web/base/reports/index.html:38
msgid "Last 7 days"
-msgstr "Letzte Bearbeitung"
+msgstr "Letzte 7 Tage"
#: templates/web/base/admin/body.html:74
#: templates/web/zurich/admin/body.html:16
msgid "Last editor"
msgstr "Letzter Bearbeiter"
+#: templates/web/base/questionnaire/index.html:25
+msgid "Last update"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:89
msgid "Last update:"
msgstr "Letzte Bearbeitung"
@@ -1743,21 +1781,25 @@ msgstr "Letzte Bearbeitung"
msgid "Last&nbsp;update:"
msgstr "Letzte&nbsp;Aktualisierung:"
-#: templates/web/base/report/_inspect.html:20
-#: templates/web/base/report/_item.html:86
+#: templates/web/base/report/_inspect.html:30
+#: templates/web/base/report/_item.html:88
msgid "Latitude/Longitude:"
-msgstr ""
+msgstr "Breitengrad/Längengrad:"
-#: templates/web/base/reports/_list-filters.html:50
+#: templates/web/base/reports/_list-filters.html:61
msgid "Least recently updated"
msgstr ""
-#: templates/web/base/admin/body-form.html:127
+#: templates/web/base/admin/body-form.html:129
msgid "Leave this blank if all reports to this body should be sent using the same send method (e.g., \"%s\")."
msgstr ""
-#: templates/web/base/dashboard/index.html:150
+#: templates/web/base/dashboard/index.html:151
msgid "Less than 7 days old"
+msgstr "Weniger als 7 Tage alt"
+
+#: templates/web/base/admin/extra-metadata-form.html:47
+msgid "List"
msgstr ""
#: templates/web/base/admin/body.html:31
@@ -1790,23 +1832,23 @@ msgstr "RSS"
msgid "Locate the problem on a map of the area"
msgstr "Identifizieren Sie den Mangel auf der Karte"
-#: templates/web/base/auth/general.html:22
+#: templates/web/base/auth/general.html:24
#: templates/web/base/report/new/form_user_loggedout.html:6
#: templates/web/base/report/update/form_user_loggedout.html:7
msgid "Log in with Facebook"
-msgstr ""
+msgstr "Mit Facebook anmelden"
-#: templates/web/base/auth/general.html:30
+#: templates/web/base/auth/general.html:32
#: templates/web/base/report/new/form_user_loggedout.html:14
#: templates/web/base/report/update/form_user_loggedout.html:15
msgid "Log in with Twitter"
-msgstr ""
+msgstr "Mit Twitter anmelden"
-#: templates/web/base/js/translation_strings.html:59
+#: templates/web/base/js/translation_strings.html:62
msgid "Log in with email"
-msgstr ""
+msgstr "Mit E-Mail anmelden"
-#: templates/web/base/dashboard/index.html:145
+#: templates/web/base/dashboard/index.html:146
#: templates/web/base/dashboard/index.html:38
msgid "Look up"
msgstr ""
@@ -1815,11 +1857,11 @@ msgstr ""
msgid "MAP"
msgstr "KARTE"
-#: perllib/FixMyStreet/Cobrand/Default.pm:712
+#: perllib/FixMyStreet/Cobrand/Default.pm:716
msgid "Manage shortlist"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:45
+#: templates/web/base/reports/_list-filters.html:56
msgid "Manual order"
msgstr ""
@@ -1835,19 +1877,11 @@ msgstr "Als gesendet markieren"
msgid "Mark users whose behaviour you want to keep a check on as <strong>flagged</strong>."
msgstr ""
-#: templates/web/base/reports/index.html:27
-msgid "Marked fixed/closed in the past eight weeks"
-msgstr ""
-
-#: templates/web/base/reports/index.html:28
-msgid "Marked fixed/closed more than eight weeks ago"
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/Default.pm:710
+#: perllib/FixMyStreet/Cobrand/Default.pm:714
msgid "Markup problem details"
msgstr ""
-#: templates/web/base/contact/index.html:96
+#: templates/web/base/contact/index.html:100
msgid "Message"
msgstr "Nachricht"
@@ -1867,68 +1901,69 @@ msgstr ""
msgid "Missing jurisdiction_id"
msgstr "Fehlendes jurisdiction_id"
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:706
+#: perllib/FixMyStreet/Cobrand/Default.pm:710
msgid "Moderate report details"
msgstr ""
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate this report"
msgstr ""
#: templates/web/base/report/update.html:12
-#, fuzzy
msgid "Moderate this update"
-msgstr "Gemeldet von %s um %s"
+msgstr ""
-#: templates/web/base/report/_main.html:69
-#: templates/web/base/report/update.html:49
-#, fuzzy
+#: templates/web/base/report/_main.html:73
+#: templates/web/base/report/update.html:58
msgid "Moderated by %s at %s"
-msgstr "Gemeldet von %s um %s"
+msgstr ""
#: templates/web/zurich/admin/stats.html:34
msgid "Moderated by division within one working day"
msgstr ""
-#: templates/web/base/report/_main.html:109
-#: templates/web/base/report/update.html:57
-#, fuzzy
+#: templates/web/base/report/_main.html:113
+#: templates/web/base/report/update.html:66
msgid "Moderation reason:"
-msgstr "andere Gebiete:"
+msgstr ""
#: templates/web/base/admin/stats.html:11
msgid "Month"
msgstr "Monat"
-#: templates/web/base/reports/_list-filters.html:51
+#: templates/web/base/reports/_list-filters.html:62
msgid "Most commented"
-msgstr ""
+msgstr "Meistkommentiert"
#: templates/web/base/admin/bodies.html:25
#: templates/web/base/admin/body-form.html:24
+#: templates/web/base/admin/extra-metadata-form.html:65
#: templates/web/base/admin/flagged.html:16
#: templates/web/base/admin/flagged.html:37
#: templates/web/base/admin/index.html:62
#: templates/web/base/admin/list_updates.html:7
+#: templates/web/base/admin/reportextrafields/edit.html:11
+#: templates/web/base/admin/reportextrafields/index.html:6
#: templates/web/base/admin/reports.html:14
#: templates/web/base/admin/responsepriorities/list.html:6
+#: templates/web/base/admin/states/index.html:108
+#: templates/web/base/admin/states/index.html:11
#: templates/web/base/admin/users.html:16
-#: templates/web/base/auth/general.html:106
-#: templates/web/base/report/new/form_user_loggedin.html:40
+#: templates/web/base/auth/general.html:108
+#: templates/web/base/report/new/form_user_loggedin.html:42
#: templates/web/base/report/new/form_user_loggedout_by_email.html:7
-#: templates/web/base/report/update/form_name.html:23
-#: templates/web/base/reports/index.html:23
+#: templates/web/base/report/update/form_name.html:27
#: templates/web/zurich/admin/body-form.html:4
#: templates/web/zurich/auth/general.html:60
#: templates/web/zurich/report/new/fill_in_details_form.html:59
msgid "Name"
msgstr "Name"
-#: templates/web/base/admin/report_edit.html:139
+#: templates/web/base/admin/report_edit.html:127
#: templates/web/base/admin/responsepriorities/edit.html:13
#: templates/web/base/admin/update_edit.html:34
#: templates/web/base/admin/user-form.html:16
@@ -1940,7 +1975,7 @@ msgstr "Name:"
msgid "Name: %s"
msgstr "Name: %s"
-#: templates/web/base/report/_inspect.html:28
+#: templates/web/base/report/_inspect.html:38
msgid "Navigate to this problem"
msgstr ""
@@ -1949,34 +1984,39 @@ msgstr ""
msgid "Nearest named road to the pin placed on the map (automatically generated using OpenStreetMap): %s%s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:129
+#: perllib/FixMyStreet/Cobrand/UK.pm:134
msgid "Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:527
-#: perllib/FixMyStreet/Cobrand/Default.pm:567
+#: perllib/FixMyStreet/Cobrand/Default.pm:538
+#: perllib/FixMyStreet/Cobrand/Default.pm:566
msgid "Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"
msgstr ""
-#: perllib/FixMyStreet/Script/Alerts.pm:319
+#: perllib/FixMyStreet/Script/Alerts.pm:316
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s\n"
"\n"
msgstr ""
-#: templates/web/base/auth/token.html:17 templates/web/base/email_sent.html:5
+#: templates/web/base/auth/token.html:18
+msgid "Nearly done!"
+msgstr ""
+
+#: templates/web/base/auth/token.html:22 templates/web/base/email_sent.html:5
msgid "Nearly done! Now check your email&hellip;"
msgstr ""
-#: templates/web/base/reports/index.html:24
-msgid "New <br>problems"
-msgstr "Neue <br>Probleme"
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:131
+#, fuzzy
+msgid "New"
+msgstr "Neueste"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:259
+#: perllib/FixMyStreet/App/Controller/Admin.pm:262
msgid "New body added"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:405
+#: perllib/FixMyStreet/App/Controller/Admin.pm:386
msgid "New category contact added"
msgstr ""
@@ -1999,12 +2039,12 @@ msgstr ""
#: templates/web/base/auth/change_password.html:35
msgid "New password:"
-msgstr ""
+msgstr "Neues Passwort:"
#: templates/web/base/admin/responsepriorities/edit.html:4
-#: templates/web/base/admin/responsepriorities/list.html:32
+#: templates/web/base/admin/responsepriorities/list.html:34
msgid "New priority"
-msgstr ""
+msgstr "Neue Priorität"
#: db/alert_types.pl:38
msgid "New problems for {{COUNCIL}} within {{WARD}} ward on FixMyStreet"
@@ -2031,6 +2071,7 @@ msgid "New reports"
msgstr "Neue Berichte"
#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/states/index.html:91
msgid "New state"
msgstr "Neuer Status"
@@ -2040,34 +2081,33 @@ msgstr "Neuer Status"
msgid "New template"
msgstr "Neue Vorlage"
-#: templates/web/base/reports/_list-filters.html:47
+#: templates/web/base/reports/_list-filters.html:58
msgid "Newest"
-msgstr ""
+msgstr "Neueste"
#: templates/web/base/pagination.html:10
msgid "Next"
msgstr "Weiter"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1203
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
+#: perllib/FixMyStreet/Cobrand/Default.pm:1237
#: templates/web/base/admin/category_edit.html:4
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:137
+#: templates/web/base/admin/report_edit.html:125
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:26
#: templates/web/base/questionnaire/creator_fixed.html:16
#: templates/web/base/questionnaire/index.html:106
#: templates/web/base/questionnaire/index.html:55
+#: templates/web/base/report/_inspect.html:92
msgid "No"
msgstr "Nein"
#: templates/web/base/admin/user-form.html:66
msgid "No area"
-msgstr ""
+msgstr "Kein Gebiet"
#: templates/web/base/admin/user-form.html:37
msgid "No body"
@@ -2077,7 +2117,7 @@ msgstr ""
msgid "No council"
msgstr "Kein Rat"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:445
+#: perllib/FixMyStreet/DB/Result/Problem.pm:372
msgid "No council selected"
msgstr "Kein Rat ausgewählt"
@@ -2093,25 +2133,16 @@ msgstr ""
msgid "No flagged users found."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:14
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:8
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "No further action"
-msgstr "Kann nicht behoben werden"
-
#: templates/web/zurich/admin/report_edit-sdm.html:125
#: templates/web/zurich/admin/report_edit.html:259
msgid "No further updates"
msgstr "Keine weiteren Aktualisierungen"
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:84
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:68
msgid "No inspections by that inspector in the selected date range."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:86
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:70
msgid "No inspections in the selected date range."
msgstr ""
@@ -2119,8 +2150,8 @@ msgstr ""
msgid "No result returned"
msgstr "Kein Ergebnis zurückgegeben"
-#: templates/web/base/admin/body-form.html:66
-#: templates/web/base/admin/body-form.html:67
+#: templates/web/base/admin/body-form.html:68
+#: templates/web/base/admin/body-form.html:69
msgid ""
"No specific areas are currently available, because the <code>MAPIT_URL</code> in\n"
" your config file is not pointing to a live MapIt service."
@@ -2153,17 +2184,8 @@ msgid ""
" activity across their body), the ability to hide reports or set special report statuses."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:9
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "Not Responsible"
-msgstr "Nicht verantwortlich"
-
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:181
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:186
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:933
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:13
msgid "Not contactable"
@@ -2182,7 +2204,7 @@ msgid "Not reported to council"
msgstr ""
#: templates/web/base/admin/body.html:75
-#: templates/web/base/admin/category_edit.html:57
+#: templates/web/base/admin/category_edit.html:31
#: templates/web/zurich/admin/body.html:17
msgid "Note"
msgstr "Anmerkung"
@@ -2192,7 +2214,7 @@ msgid "Note that when including unconfirmed reports we use the date the report w
msgstr ""
#: templates/web/zurich/admin/body.html:55
-#: templates/web/zurich/admin/contact-form.html:17
+#: templates/web/zurich/admin/contact-form.html:19
msgid "Note:"
msgstr "Anmerkung:"
@@ -2204,6 +2226,10 @@ msgstr "Anmerkung: <strong>%s</strong>"
msgid "Notes from SDM to DM"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:26
+msgid "Notice"
+msgstr ""
+
#: templates/web/base/report/new/oauth_email_form.html:17
msgid "Now to submit your report&hellip;"
msgstr ""
@@ -2214,66 +2240,46 @@ msgstr ""
msgid "Now to submit your update&hellip;"
msgstr ""
+#: templates/web/base/reports/index.html:98
+msgid "Number of problems reported in each category, in the last 7 days."
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:43
msgid "OK"
msgstr "OK"
-#: templates/web/base/js/translation_strings.html:67
+#: templates/web/base/js/translation_strings.html:70
msgid "Offline data cleared"
msgstr ""
-#: templates/web/base/js/translation_strings.html:64
+#: templates/web/base/js/translation_strings.html:67
msgid "Offline update data saved"
msgstr ""
-#: templates/web/base/reports/index.html:26
-msgid "Old / unknown <br>problems"
-msgstr "Alte / unbekannte <br>Probleme"
-
#: templates/web/base/admin/questionnaire.html:24
msgid "Old state"
msgstr "Alter Status"
-#: templates/web/base/reports/index.html:28
-msgid "Older <br>fixed"
-msgstr ""
-
-#: templates/web/base/reports/index.html:25
-msgid "Older <br>problems"
-msgstr "Ältere <br>Probleme"
-
-#: templates/web/base/reports/_list-filters.html:48
+#: templates/web/base/reports/_list-filters.html:59
msgid "Oldest"
-msgstr ""
+msgstr "Älteste"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:900
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:25
-#: templates/web/base/admin/report_blocks.html:6
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:905
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:10
+#: templates/web/base/admin/states/index.html:102
+#: templates/web/base/admin/states/index.html:25
+#: templates/web/base/admin/states/index.html:32
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:3
-#: templates/web/base/report/update/form_update.html:41
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:7
#: templates/web/zurich/admin/update_edit.html:18
msgid "Open"
msgstr "&Ouml;ffnen"
-#: templates/web/base/reports/index.html:25
-msgid "Open for more than four weeks, with an update within the past eight weeks"
-msgstr ""
-
-#: templates/web/base/reports/index.html:26
-msgid "Open, but not had any update in eight weeks"
-msgstr ""
-
#: templates/web/base/admin/open311-form-fields.html:47
msgid "Open311 API Key"
-msgstr ""
+msgstr "Open311 API-Schlüssel"
#: templates/web/base/open311/index.html:62
msgid "Open311 API for the mySociety FixMyStreet server"
@@ -2289,28 +2295,41 @@ msgstr ""
#: templates/web/base/open311/index.html:73
msgid "Open311 specification"
-msgstr ""
+msgstr "Open311-Spezifikation"
+
+#: templates/web/base/admin/extra-metadata-form.html:53
+#, fuzzy
+msgid "Options"
+msgstr "optional"
-#: templates/web/base/alert/_list.html:61
-msgid "Or problems reported to:"
+#: templates/web/base/alert/_list.html:84
+msgid "Or subscribe by RSS"
msgstr ""
-#: templates/web/base/alert/_list.html:37
-msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
+#: templates/web/base/admin/extra-metadata-form.html:8
+msgid "Order"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:1061
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:659
-#: perllib/FixMyStreet/DB/Result/Problem.pm:642
-#: perllib/FixMyStreet/DB/Result/Problem.pm:649
-#: perllib/FixMyStreet/DB/Result/Problem.pm:664
-#: perllib/FixMyStreet/DB/Result/Problem.pm:673
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1107
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:675
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:676
+#: perllib/FixMyStreet/DB/Result/Problem.pm:579
+#: perllib/FixMyStreet/DB/Result/Problem.pm:586
+#: perllib/FixMyStreet/DB/Result/Problem.pm:601
+#: perllib/FixMyStreet/DB/Result/Problem.pm:610
#: perllib/FixMyStreet/Script/Reports.pm:183
#: perllib/FixMyStreet/Script/Reports.pm:198
msgid "Other"
msgstr "Andere"
+#: templates/web/base/reports/index.html:107
+msgid "Other categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:92
+msgid "Overall average"
+msgstr ""
+
#: templates/web/base/admin/list_updates.html:8
msgid "Owner"
msgstr "Besitzer"
@@ -2320,17 +2339,16 @@ msgstr "Besitzer"
msgid "Page Not Found"
msgstr "Seite nicht gefunden"
-#: templates/web/base/admin/body-form.html:37
+#: templates/web/base/admin/body-form.html:39
#: templates/web/zurich/admin/body-form.html:14
msgid "Parent"
msgstr "Übergeordnet"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:20
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:61
msgid "Partial"
msgstr "Teilweise"
-#: templates/web/base/auth/general.html:109
+#: templates/web/base/auth/general.html:111
#: templates/web/base/report/new/form_user_loggedout_by_email.html:28
#: templates/web/base/report/update/form_user_loggedout_by_email.html:6
#: templates/web/zurich/auth/general.html:32
@@ -2338,7 +2356,7 @@ msgstr "Teilweise"
msgid "Password (optional)"
msgstr "Passwort (optional)"
-#: templates/web/base/auth/general.html:82
+#: templates/web/base/auth/general.html:84
msgid "Password:"
msgstr "Passwort:"
@@ -2348,19 +2366,24 @@ msgstr "Permalink"
#: templates/web/base/admin/user-form.html:144
msgid "Permissions:"
-msgstr ""
+msgstr "Berechtigungen:"
+
+#: templates/web/base/report/_inspect.html:19
+#, fuzzy
+msgid "Phone Reporter:"
+msgstr "Gemeldet:"
#: templates/web/zurich/report/new/fill_in_details_form.html:65
msgid "Phone number"
msgstr "Telefonnummer"
-#: templates/web/base/report/new/form_user_loggedin.html:57
+#: templates/web/base/report/new/form_user_loggedin.html:59
#: templates/web/base/report/new/form_user_loggedout_by_email.html:25
msgid "Phone number (optional)"
msgstr "Telefonnummer (optional)"
#: perllib/FixMyStreet/Script/Reports.pm:87
-#: templates/web/base/admin/report_edit.html:146
+#: templates/web/base/admin/report_edit.html:134
#: templates/web/base/admin/user-form.html:21
#: templates/web/zurich/admin/stats.html:39
msgid "Phone:"
@@ -2369,9 +2392,9 @@ msgstr "Telefonnummer:"
#: templates/web/base/questionnaire/index.html:78
#: templates/web/base/questionnaire/index.html:93
#: templates/web/base/questionnaire/index.html:95
-#: templates/web/base/report/new/form_report.html:28
-#: templates/web/base/report/new/form_report.html:43
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/new/form_report.html:45
+#: templates/web/base/report/new/form_report.html:47
#: templates/web/base/report/update/form_update.html:22
#: templates/web/base/report/update/form_update.html:24
#: templates/web/base/report/update/form_update.html:7
@@ -2389,32 +2412,33 @@ msgstr "Foto"
msgid "Photo is required."
msgstr "Foto ist erforderlich."
-#: templates/web/zurich/admin/contact-form.html:14
+#: templates/web/zurich/admin/contact-form.html:16
msgid "Photo required"
msgstr "Foto erforderlich"
#: templates/web/base/questionnaire/index.html:78
-#: templates/web/base/report/new/form_report.html:28
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/update/form_update.html:7
#: templates/web/zurich/report/new/fill_in_details_form.html:20
msgid "Photos"
-msgstr ""
+msgstr "Fotos"
#: templates/web/base/alert/list.html:23
msgid "Photos of recent nearby reports"
msgstr "Fotos von neuen Meldungen in der N&auml;he"
+#: templates/web/base/reports/index.html:63
+#: templates/web/base/reports/index.html:66
+msgid "Pick your council"
+msgstr ""
+
#: templates/web/base/around/display_location.html:76
#: templates/web/base/js/translation_strings.html:30
msgid "Place pin on map"
msgstr "Stecknadel auf Karte platzieren"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:940
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:946
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:8
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:945
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:951
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:9
#: templates/web/zurich/admin/index-dm.html:9
@@ -2432,31 +2456,27 @@ msgstr ""
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:18
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:43
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:45
#: templates/web/zurich/auth/general.html:3
#: templates/web/zurich/auth/general.html:9
msgid "Please check your email address is correct"
msgstr "Bitte &uuml;berpr&uuml;fen Sie ob Ihre eMail-Adresse korrekt ist"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:350
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:844
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:867
-#: perllib/FixMyStreet/DB/Result/Problem.pm:456
+#: perllib/FixMyStreet/App/Controller/Admin.pm:329
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:873
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:896
+#: perllib/FixMyStreet/DB/Result/Problem.pm:383
#: templates/web/base/js/translation_strings.html:9
msgid "Please choose a category"
msgstr "Bitte w&auml;hlen Sie eine Kategorie"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:462
-msgid "Please choose a property type"
-msgstr "Bitte wählen Sie eine Eigentumsart"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:396
+#: perllib/FixMyStreet/App/Controller/Admin.pm:377
#: templates/web/base/admin/bodies.html:4 templates/web/base/admin/body.html:11
msgid "Please correct the errors below"
msgstr "Bitte korrigieren Sie die Fehler unten"
-#: templates/web/base/contact/blurb.html:12
+#: templates/web/base/contact/blurb.html:6
msgid ""
"Please do <strong>not</strong> report problems through this form; messages go to\n"
"the team behind this site, not a council. To report a problem,\n"
@@ -2467,18 +2487,18 @@ msgstr ""
msgid "Please do not be abusive&nbsp;&mdash; abusing your council devalues the service for all users."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:351
-#: perllib/FixMyStreet/DB/Result/Comment.pm:127
+#: perllib/FixMyStreet/App/Controller/Admin.pm:330
+#: perllib/FixMyStreet/DB/Result/Comment.pm:128
#: templates/web/base/js/translation_strings.html:2
msgid "Please enter a message"
msgstr "Bitte geben Sie eine Nachricht ein"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1200
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1364
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1305
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1469
msgid "Please enter a name"
msgstr "Bitte geben Sie Ihren Namen ein"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:478
+#: perllib/FixMyStreet/App/Controller/Admin.pm:497
msgid "Please enter a name for this body"
msgstr ""
@@ -2488,15 +2508,15 @@ msgstr ""
msgid "Please enter a password"
msgstr "Bitte geben Sie ein Passwort ein"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:114
-#: perllib/FixMyStreet/DB/Result/Problem.pm:439
+#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/DB/Result/Problem.pm:366
#: templates/web/base/js/translation_strings.html:3
msgid "Please enter a subject"
msgstr "Bitte geben Sie einen Betreff ein"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1197
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1361
-#: perllib/FixMyStreet/App/Controller/Admin.pm:363
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1302
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1466
+#: perllib/FixMyStreet/App/Controller/Admin.pm:343
#: perllib/FixMyStreet/DB/Result/User.pm:164
#: templates/web/base/js/translation_strings.html:12
#: templates/web/base/js/translation_strings.html:16
@@ -2504,21 +2524,21 @@ msgid "Please enter a valid email"
msgstr "Bitte geben Sie eine g&uuml;ltige eMail-Adresse an"
#: perllib/FixMyStreet/App/Controller/Alert.pm:350
-#: perllib/FixMyStreet/App/Controller/Contact.pm:124
+#: perllib/FixMyStreet/App/Controller/Contact.pm:125
msgid "Please enter a valid email address"
msgstr "Bitte geben Sie eine g&uuml;ltige eMail-Adresse an"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:442
+#: perllib/FixMyStreet/DB/Result/Problem.pm:369
#: templates/web/base/js/translation_strings.html:4
msgid "Please enter some details"
msgstr "Bitte geben Sie einiges Details an"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/App/Controller/Contact.pm:114
#: perllib/FixMyStreet/DB/Result/User.pm:161
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:17
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:42
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:44
#: templates/web/base/js/translation_strings.html:11
#: templates/web/base/js/translation_strings.html:15
#: templates/web/zurich/auth/general.html:3
@@ -2535,14 +2555,14 @@ msgstr "Bitte geben Sie eine Ihre eMail-Adresse an"
msgid "Please enter your first name"
msgstr "Bitte geben Sie Ihren Vornamen ein"
-#: perllib/FixMyStreet/Cobrand/UK.pm:320
+#: perllib/FixMyStreet/Cobrand/UK.pm:326
#: templates/web/base/js/translation_strings.html:7
msgid "Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:112
-#: perllib/FixMyStreet/DB/Result/Comment.pm:124
-#: perllib/FixMyStreet/DB/Result/Problem.pm:450
+#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/DB/Result/Comment.pm:125
+#: perllib/FixMyStreet/DB/Result/Problem.pm:377
#: perllib/FixMyStreet/DB/Result/User.pm:157
#: templates/web/base/js/translation_strings.html:6
msgid "Please enter your name"
@@ -2605,7 +2625,7 @@ msgstr ""
msgid "Please note:"
msgstr "Hinweise:"
-#: perllib/FixMyStreet/App/Controller/Report.pm:358
+#: perllib/FixMyStreet/App/Controller/Report.pm:353
msgid "Please provide a public update for this report."
msgstr ""
@@ -2641,11 +2661,11 @@ msgstr ""
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:122
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:156
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:158
-#: templates/web/base/js/translation_strings.html:57
+#: templates/web/base/js/translation_strings.html:60
msgid "Please upload an image only"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/App/Controller/Contact.pm:116
msgid "Please write a message"
msgstr "Bitte schreiben Sie eine Nachricht"
@@ -2653,30 +2673,29 @@ msgstr "Bitte schreiben Sie eine Nachricht"
msgid "Please write your update here"
msgstr "Bitte schreiben Sie hier Ihre Aktualisierung"
-#: templates/web/base/contact/index.html:103
#: templates/web/base/report/update-form.html:25
#: templates/web/base/report/update/form_user_loggedout_by_email.html:14
#: templates/web/base/report/update/form_user_loggedout_password.html:10
msgid "Post"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:242
+#: perllib/FixMyStreet/DB/Result/Comment.pm:231
msgid "Posted anonymously at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:257
+#: perllib/FixMyStreet/DB/Result/Comment.pm:255
msgid "Posted by %s at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:252
+#: perllib/FixMyStreet/DB/Result/Comment.pm:243
msgid "Posted by <strong>%s</strong> (%s) at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:254
+#: perllib/FixMyStreet/DB/Result/Comment.pm:245
msgid "Posted by <strong>%s</strong> at %s"
msgstr ""
-#: templates/web/base/front/footer-marketing.html:12
+#: templates/web/base/front/footer-marketing.html:6
msgid "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
msgstr ""
@@ -2686,12 +2705,12 @@ msgstr "Vorherige"
#: perllib/FixMyStreet/Cobrand/Default.pm:665
msgid "Priorities"
-msgstr ""
+msgstr "Prioritäten"
-#: templates/web/base/report/_inspect.html:113
-#: templates/web/base/report/_item.html:98
+#: templates/web/base/report/_inspect.html:123
+#: templates/web/base/report/_item.html:100
msgid "Priority"
-msgstr ""
+msgstr "Priorität"
#: templates/web/base/main_nav_items.html:43
msgid "Privacy"
@@ -2703,16 +2722,15 @@ msgstr "Datenschutz"
msgid "Privacy and cookies"
msgstr "Datenschutz und Cookies"
-#: templates/web/base/admin/body.html:91
-#: templates/web/base/admin/contact-form.html:74
-#: templates/web/base/admin/report_edit.html:149
+#: templates/web/base/admin/body.html:88
+#: templates/web/base/admin/contact-form.html:75
+#: templates/web/base/admin/report_edit.html:137
msgid "Private"
msgstr "Privat"
#: templates/web/base/report/new/form_user.html:1
-#, fuzzy
msgid "Private details"
-msgstr "Privat"
+msgstr "Private Details"
#: templates/web/base/maps/pin.html:13
msgid "Problem"
@@ -2736,7 +2754,7 @@ msgstr ""
msgid "Problem breakdown by state"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1167
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1272
msgid "Problem marked as open."
msgstr "Problem als offen markiert."
@@ -2744,11 +2762,16 @@ msgstr "Problem als offen markiert."
msgid "Problem state change based on survey results"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:705
+#: perllib/FixMyStreet/Cobrand/Default.pm:709
#: templates/web/base/admin/flagged.html:10
msgid "Problems"
msgstr "Meldungen"
+#: templates/web/base/alert/_list.html:22
+#, fuzzy
+msgid "Problems in an area"
+msgstr "Meldungen in der N&auml;he"
+
#: templates/web/base/report/display_tools.html:22
msgid "Problems nearby"
msgstr "Meldungen in der N&auml;he"
@@ -2761,30 +2784,33 @@ msgstr "Meldungen auf der Karte"
msgid "Problems recently reported fixed on FixMyStreet"
msgstr "Meldungen, welche k&uuml;rzlich gel&ouml;st wurden"
-#: templates/web/base/alert/_list.html:22
-msgid "Problems within %.1fkm of this location"
-msgstr ""
+#: templates/web/base/alert/_list.html:29
+#, fuzzy
+msgid "Problems within %.1fkm of %s"
+msgstr "Meldungen innerhalb %s"
-#: perllib/FixMyStreet/Cobrand/Default.pm:833
+#: perllib/FixMyStreet/Cobrand/Default.pm:838
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:137
-#: perllib/FixMyStreet/Cobrand/UK.pm:209
+#: perllib/FixMyStreet/Cobrand/UK.pm:215 perllib/FixMyStreet/Cobrand/UK.pm:257
+#: perllib/FixMyStreet/Cobrand/UK.pm:269
msgid "Problems within %s"
msgstr "Meldungen innerhalb %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:223
+#: perllib/FixMyStreet/Cobrand/UK.pm:229
msgid "Problems within %s ward"
msgstr ""
+#: perllib/FixMyStreet/Cobrand/UK.pm:263 perllib/FixMyStreet/Cobrand/UK.pm:275
+#, fuzzy
+msgid "Problems within %s ward, %s"
+msgstr "Meldungen innerhalb %s"
+
#. ("First %s is the body name, second %s the site name")
#: templates/web/base/reports/body.html:0
#: templates/web/base/reports/body.html:25
msgid "Problems within %s, %s"
msgstr ""
-#: templates/web/base/alert/_list.html:43
-msgid "Problems within the boundary of:"
-msgstr "Probleme innerhalb der Grenze von:"
-
#: templates/web/base/admin/report_edit.html:74
msgid "Property address:"
msgstr "Immobilien-Adresse:"
@@ -2794,11 +2820,11 @@ msgstr "Immobilien-Adresse:"
msgid "Provide an update"
msgstr "Meldung aktualisieren"
-#: templates/web/base/report/update/form_name.html:9
+#: templates/web/base/report/update/form_name.html:10
msgid "Provide update as"
msgstr ""
-#: templates/web/base/auth/general.html:112
+#: templates/web/base/auth/general.html:114
msgid "Providing a name and password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
msgstr ""
@@ -2809,16 +2835,16 @@ msgstr ""
#: templates/web/base/report/new/form_report.html:10
msgid "Public details"
-msgstr ""
+msgstr "Öffentliche Details"
#: templates/web/zurich/admin/report_edit.html:241
#: templates/web/zurich/admin/report_edit.html:268
msgid "Public response:"
-msgstr ""
+msgstr "Öffentliche Antwort:"
-#: templates/web/base/report/_inspect.html:152
+#: templates/web/base/report/_inspect.html:162
msgid "Public update:"
-msgstr ""
+msgstr "Öffentliche Aktualisierung:"
#: templates/web/zurich/admin/report_edit.html:123
#: templates/web/zurich/admin/stats.html:38
@@ -2844,7 +2870,7 @@ msgstr ""
msgid "Questionnaire filled in by problem reporter"
msgstr ""
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
#: templates/web/base/alert/updates.html:9
#: templates/web/base/around/display_location.html:1
#: templates/web/base/around/display_location.html:3
@@ -2852,11 +2878,11 @@ msgstr ""
msgid "RSS feed"
msgstr "RSS-Feed"
-#: perllib/FixMyStreet/Cobrand/UK.pm:252 perllib/FixMyStreet/Cobrand/UK.pm:264
+#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
msgid "RSS feed for %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
+#: perllib/FixMyStreet/Cobrand/UK.pm:264 perllib/FixMyStreet/Cobrand/UK.pm:276
msgid "RSS feed for %s ward, %s"
msgstr ""
@@ -2864,25 +2890,25 @@ msgstr ""
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:179
-#: perllib/FixMyStreet/Cobrand/UK.pm:278 perllib/FixMyStreet/Cobrand/UK.pm:290
+#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
msgid "RSS feed of %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
msgid "RSS feed of %s, within %s ward"
msgstr ""
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
msgid "RSS feed of nearby problems"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:834
+#: perllib/FixMyStreet/Cobrand/Default.pm:839
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:136
-#: perllib/FixMyStreet/Cobrand/UK.pm:216
+#: perllib/FixMyStreet/Cobrand/UK.pm:222
msgid "RSS feed of problems within %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:222
+#: perllib/FixMyStreet/Cobrand/UK.pm:228
msgid "RSS feed of problems within %s ward"
msgstr ""
@@ -2901,7 +2927,7 @@ msgstr ""
msgid "Receive email when updates are left on this problem."
msgstr "Erhalten Sie Aktualisierungen dieser Meldung."
-#: perllib/FixMyStreet/DB/Result/Problem.pm:801
+#: perllib/FixMyStreet/DB/Result/Problem.pm:738
msgid "Received by %s moments later"
msgstr ""
@@ -2911,15 +2937,11 @@ msgstr ""
msgid "Recent local problems, %s"
msgstr ""
-#: templates/web/base/reports/index.html:27
-msgid "Recently <br>fixed"
-msgstr "Kürzlich <br>repariert"
-
#: templates/web/base/front/recent.html:11
msgid "Recently reported problems"
msgstr "K&uuml;rzlich erfasste Meldungen"
-#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:60
msgid "Recently updated"
msgstr ""
@@ -2927,13 +2949,22 @@ msgstr ""
msgid "Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. If your problem is not appropriate for submission via this site remember that you can contact your council directly using their own website."
msgstr "Fix My Z&uuml;rich wird prim&auml;r daf&uuml;r verwendet, physische M&auml;ngel zu melden, welche behoben werden k&ouml;nnen. Wenn Ihr Problem daf&uuml;r nicht passend erscheint, k&ouml;nnen sie die entsprechende Dienststelle weiterhin telefonisch oder per eMail erreichen."
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/extra-metadata-form.html:68
+msgid "Remove"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:4
+#, fuzzy
+msgid "Remove field"
+msgstr "Von Seite entfernen"
+
+#: templates/web/base/admin/report_blocks.html:23
msgid "Remove flag"
msgstr ""
#: templates/web/base/report/_item.html:12
#: templates/web/base/report/_item.html:9
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:18
#: templates/web/base/report/_main.html:26
msgid "Remove from shortlist"
@@ -2941,9 +2972,9 @@ msgstr ""
#: templates/web/base/report/display_tools.html:6
msgid "Remove from site"
-msgstr ""
+msgstr "Von Seite entfernen"
-#: templates/web/base/admin/report_edit.html:166
+#: templates/web/base/admin/report_edit.html:154
#: templates/web/base/admin/update_edit.html:69
#: templates/web/zurich/admin/update_edit.html:35
msgid "Remove photo (can't be undone!)"
@@ -2957,13 +2988,13 @@ msgstr ""
msgid "Report"
msgstr "Bericht"
-#: templates/web/base/report/_inspect.html:10
-#: templates/web/base/report/_item.html:76
+#: templates/web/base/report/_inspect.html:14
+#: templates/web/base/report/_item.html:78
msgid "Report ID:"
msgstr ""
#: templates/web/base/header_logo.html:2
-#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:19
+#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:18
#: templates/web/zurich/nav_over_content.html:4
msgid "Report a problem"
msgstr "Eine Meldung erfassen"
@@ -2973,7 +3004,7 @@ msgstr "Eine Meldung erfassen"
msgid "Report abuse"
msgstr "Missbrauch melden"
-#: templates/web/base/report/new/form_user_loggedin.html:16
+#: templates/web/base/report/new/form_user_loggedin.html:17
msgid "Report as"
msgstr ""
@@ -2982,9 +3013,8 @@ msgid "Report on %s"
msgstr "Bericht auf %s"
#: templates/web/base/dashboard/index.html:137
-#, fuzzy
msgid "Report state:"
-msgstr "Gemeldet:"
+msgstr ""
#: templates/web/base/report/new/fill_in_details_form.html:1
#: templates/web/base/report/new/login_success_form.html:1
@@ -2997,7 +3027,7 @@ msgstr ""
msgid "Report, view, or discuss local problems"
msgstr "Melden sie M&auml;ngel an der Infrastruktur von Z&uuml;rich"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:653
+#: perllib/FixMyStreet/DB/Result/Problem.pm:590
#: templates/web/base/contact/index.html:55
msgid "Reported anonymously at %s"
msgstr "Anonym gemeldet um"
@@ -3007,7 +3037,7 @@ msgstr "Anonym gemeldet um"
msgid "Reported before"
msgstr "Vorher berichtet"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:677
+#: perllib/FixMyStreet/DB/Result/Problem.pm:614
#: templates/web/base/contact/index.html:57
msgid "Reported by %s at %s"
msgstr "Gemeldet von %s um %s"
@@ -3021,34 +3051,30 @@ msgstr "Gemeldet von:"
msgid "Reported in the %s category"
msgstr "Gemeldet in der Kategorie %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:650
+#: perllib/FixMyStreet/DB/Result/Problem.pm:587
msgid "Reported in the %s category anonymously at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:611
msgid "Reported in the %s category by %s at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:647
+#: perllib/FixMyStreet/DB/Result/Problem.pm:584
msgid "Reported via %s anonymously at %s"
msgstr "Anonym gemeldet von %s um %s "
-#: perllib/FixMyStreet/DB/Result/Problem.pm:671
+#: perllib/FixMyStreet/DB/Result/Problem.pm:608
msgid "Reported via %s by %s at %s"
msgstr "Gemeldet von %s um %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:644
+#: perllib/FixMyStreet/DB/Result/Problem.pm:581
msgid "Reported via %s in the %s category anonymously at %s"
msgstr "Anonym gemeldet von %s um %s "
-#: perllib/FixMyStreet/DB/Result/Problem.pm:666
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
msgid "Reported via %s in the %s category by %s at %s"
msgstr "Gemeldet von %s um %s"
-#: templates/web/base/reports/index.html:24
-msgid "Reported within the last four weeks"
-msgstr ""
-
#: templates/web/zurich/admin/report_edit-sdm.html:38
#: templates/web/zurich/admin/report_edit.html:57
msgid "Reported:"
@@ -3064,13 +3090,13 @@ msgid "Reporting a problem"
msgstr "Verfassen Sie eine Meldung"
#: perllib/FixMyStreet/Cobrand/Default.pm:655
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:383
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:388
#: templates/web/base/dashboard/index.html:134
#: templates/web/zurich/header.html:52
msgid "Reports"
msgstr "Berichte"
-#: perllib/FixMyStreet/Cobrand/UK.pm:329 perllib/FixMyStreet/Cobrand/UK.pm:333
+#: perllib/FixMyStreet/Cobrand/UK.pm:333 perllib/FixMyStreet/Cobrand/UK.pm:335
msgid "Reports are limited to %s characters in length. Please shorten your report"
msgstr ""
@@ -3078,31 +3104,53 @@ msgstr ""
msgid "Reports awaiting approval"
msgstr "Berichte warten auf Moderation"
+#: templates/web/base/alert/_list.html:54
+#, fuzzy
+msgid "Reports by destination"
+msgstr "Gemeldet von %s um %s"
+
#: templates/web/base/admin/user-form.html:107
msgid "Reports made by trusted users will be sent to the responsible body without being inspected first."
msgstr ""
+#: templates/web/base/alert/_list.html:15
+msgid "Reports near %s are sent to different councils, depending on the type of problem."
+msgstr ""
+
#: templates/web/zurich/admin/index-sdm.html:10
msgid "Reports published"
msgstr "Berichte veröffentlicht"
-#: templates/web/base/js/translation_strings.html:68
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:71
msgid "Reports saved offline."
-msgstr "Eine Meldung erfassen"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#, fuzzy
+msgid "Reports sent to %s"
+msgstr "Bericht auf %s"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:290 perllib/FixMyStreet/Cobrand/UK.pm:302
+msgid "Reports sent to %s, within %s ward"
+msgstr ""
#: templates/web/base/admin/index.html:56
msgid "Reports waiting to be sent"
msgstr ""
-#: templates/web/base/admin/contact-form.html:89
+#: templates/web/base/admin/contact-form.html:90
msgid "Reports will automatically be sent without needing to be inspected if the user's <strong>reputation</strong> is at or above this value. Set to <strong>0</strong> if all reports must be inspected regardless."
msgstr ""
-#: templates/web/base/admin/contact-form.html:94
+#: templates/web/base/admin/contact-form.html:95
msgid "Reputation threshold"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:20
+#, fuzzy
+msgid "Required"
+msgstr "erforderlich"
+
#: templates/web/base/admin/report_edit.html:84
msgid "Resend report"
msgstr "Bericht erneut senden"
@@ -3138,7 +3186,7 @@ msgstr ""
msgid "Revert to original"
msgstr ""
-#: templates/web/base/report/_main.html:95
+#: templates/web/base/report/_main.html:99
msgid "Revert to original text"
msgstr ""
@@ -3161,16 +3209,16 @@ msgstr ""
msgid "Road operator for this named road (from OpenStreetMap): %s"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1747
-#: templates/web/base/admin/report_edit.html:163
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1852
+#: templates/web/base/admin/report_edit.html:151
#: templates/web/base/admin/update_edit.html:66
#: templates/web/zurich/admin/report_edit.html:118
msgid "Rotate Left"
msgstr "Nach links drehen"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: templates/web/base/admin/report_edit.html:164
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: templates/web/base/admin/report_edit.html:152
#: templates/web/base/admin/update_edit.html:67
#: templates/web/zurich/admin/report_edit.html:119
msgid "Rotate Right"
@@ -3185,32 +3233,41 @@ msgstr ""
msgid "Satellite"
msgstr "Satellit"
-#: templates/web/base/report/_inspect.html:168
+#: templates/web/base/report/_inspect.html:182
msgid "Save + close as duplicate"
msgstr ""
-#: templates/web/base/admin/contact-form.html:137
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/contact-form.html:138
+#: templates/web/base/admin/reportextrafields/edit.html:64
+#: templates/web/base/admin/responsepriorities/edit.html:58
#: templates/web/base/admin/template_edit.html:46
-#: templates/web/base/report/_inspect.html:168
-#: templates/web/base/report/_main.html:113
-#: templates/web/base/report/update.html:60
+#: templates/web/base/report/_inspect.html:182
+#: templates/web/base/report/_main.html:117
+#: templates/web/base/report/update.html:69
#: templates/web/zurich/admin/body.html:62
-#: templates/web/zurich/admin/contact-form.html:20
+#: templates/web/zurich/admin/contact-form.html:22
#: templates/web/zurich/admin/template_edit.html:29
msgid "Save changes"
msgstr "&Auml;nderungen speichern"
-#: templates/web/base/report/_inspect.html:148
+#: templates/web/base/admin/reportextrafields/edit.html:64
+msgid "Save new fields"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:158
msgid "Save with a public update"
msgstr ""
-#. ('This is followed by a progress count, e.g. 3/5')
#. ("This is followed by a progress count, e.g. 3/5")
-#: templates/web/base/js/translation_strings.html:69
+#: templates/web/base/js/translation_strings.html:72
msgid "Saving reports offline"
msgstr ""
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:132
+#, fuzzy
+msgid "Scheduled"
+msgstr "Aktion geplant"
+
#: templates/web/base/admin/index.html:26
#: templates/web/base/admin/reports.html:1
#: templates/web/zurich/admin/reports.html:1
@@ -3244,41 +3301,41 @@ msgstr ""
msgid "See our privacy policy"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:715
+#: perllib/FixMyStreet/Cobrand/Default.pm:720
msgid "See user detail for reports created as the council"
msgstr ""
-#: templates/web/base/admin/body-form.html:39
+#: templates/web/base/admin/body-form.html:41
#: templates/web/zurich/admin/body-form.html:16
msgid "Select a body"
msgstr ""
-#: templates/web/base/reports/index.html:12
-msgid "Select a particular council to see the reports sent there."
-msgstr ""
-
-#: templates/web/base/admin/body-form.html:77
+#: templates/web/base/admin/body-form.html:79
#: templates/web/zurich/admin/body-form.html:26
msgid "Select an area"
msgstr "Wählen Sie ein Gebiet"
-#: templates/web/base/alert/_list.html:11
-msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
+#: templates/web/base/admin/responsepriorities/edit.html:33
+msgid "Select if this is the default priority"
msgstr ""
#: templates/web/base/admin/category-checkboxes.html:6
msgid "Select:"
msgstr ""
+#: templates/web/base/contact/index.html:107
+msgid "Send"
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:109
msgid "Send extended Open311 statuses with service request updates"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:826
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:831
msgid "Sent report back"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:804
+#: perllib/FixMyStreet/DB/Result/Problem.pm:741
msgid "Sent to %s %s later"
msgstr ""
@@ -3291,7 +3348,7 @@ msgstr "Gesendet:"
msgid "Service:"
msgstr "Dienst:"
-#: templates/web/base/report/_inspect.html:31
+#: templates/web/base/report/_inspect.html:41
msgid "Set to my current location"
msgstr ""
@@ -3300,49 +3357,56 @@ msgid "Share"
msgstr "Teilen"
#: templates/web/base/main_nav_items.html:10
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:21
#: templates/web/base/report/_main.html:29
msgid "Shortlist"
msgstr ""
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/reports/body.html:32
+msgid "Shortlist all visible"
+msgstr ""
+
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:20
#: templates/web/base/report/_main.html:25
#: templates/web/base/reports/_list-filters.html:9
msgid "Shortlisted"
msgstr ""
-#: templates/web/base/report/_main.html:144
+#: templates/web/base/report/_item.html:15
+#: templates/web/base/report/_main.html:148
msgid "Shortlisted by %s"
msgstr ""
#: templates/web/base/report/update.html:20
-#, fuzzy
msgid "Show Photo?"
-msgstr "Alte anzeigen"
+msgstr "Foto anzeigen?"
-#: templates/web/base/report/new/form_user_loggedin.html:54
+#: templates/web/base/questionnaire/index.html:26
+msgid "Show all updates"
+msgstr ""
+
+#: templates/web/base/report/new/form_user_loggedin.html:56
#: templates/web/base/report/new/form_user_loggedout_by_email.html:22
-#: templates/web/base/report/update/form_name.html:33
+#: templates/web/base/report/update/form_name.html:37
msgid "Show my name publicly"
msgstr "Meinen Namen öffentlich anzeigen"
#: templates/web/base/report/update.html:17
-#, fuzzy
msgid "Show name publicly?"
-msgstr "Meinen Namen öffentlich anzeigen"
+msgstr "Name öffentlich anzeigen?"
#: templates/web/base/around/display_location.html:69
msgid "Show old"
msgstr "Alte anzeigen"
-#: templates/web/base/report/_main.html:79
-#, fuzzy
+#: templates/web/base/report/_main.html:83
msgid "Show photo"
-msgstr "Alte anzeigen"
+msgstr "Foto anzeigen"
#: templates/web/base/around/display_location.html:60
+#: templates/web/base/js/translation_strings.html:54
msgid "Show pins"
msgstr "Zeige Stecknadeln"
@@ -3350,16 +3414,20 @@ msgstr "Zeige Stecknadeln"
msgid "Show reporter&rsquo;s name"
msgstr ""
-#: templates/web/base/auth/general.html:117
+#: templates/web/base/reports/index.html:62
+msgid "Show reports in your area"
+msgstr ""
+
+#: templates/web/base/auth/general.html:119
#: templates/web/base/auth/general.html:3
-#: templates/web/base/auth/general.html:86
+#: templates/web/base/auth/general.html:88
#: templates/web/base/main_nav_items.html:6
#: templates/web/zurich/auth/general.html:18
#: templates/web/zurich/auth/general.html:35
msgid "Sign in"
msgstr "Anmelden"
-#: templates/web/base/auth/general.html:96
+#: templates/web/base/auth/general.html:98
msgid "Sign in by email instead, providing a new password. When you click the link in your email, your password will be updated."
msgstr ""
@@ -3405,14 +3473,14 @@ msgstr ""
msgid "Sorry, there has been an error confirming your problem."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:230
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:235
#: perllib/FixMyStreet/Geocode.pm:37 perllib/FixMyStreet/Geocode/Bing.pm:38
#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:56
#: perllib/FixMyStreet/Geocode/OSM.pm:48
msgid "Sorry, we could not find that location."
msgstr ""
-#: templates/web/base/auth/general.html:9
+#: templates/web/base/auth/general.html:11
#: templates/web/base/report/display.html:29
#: templates/web/base/report/new/fill_in_details_form.html:15
msgid "Sorry, we could not log you in. Please fill in the form below."
@@ -3434,11 +3502,11 @@ msgid ""
"page wasn’t found or there was a server error. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Root.pm:107
+#: perllib/FixMyStreet/App/Controller/Root.pm:124
msgid "Sorry, you don't have permission to do that."
msgstr ""
-#: templates/web/base/reports/_list-filters.html:42
+#: templates/web/base/reports/_list-filters.html:53
msgid "Sort by"
msgstr ""
@@ -3455,17 +3523,25 @@ msgid "Start Date:"
msgstr "Startdatum:"
#: templates/web/base/admin/body.html:73
+#: templates/web/base/admin/category_edit.html:29
+#: templates/web/base/admin/contact-form.html:53
#: templates/web/base/admin/flagged.html:18
#: templates/web/base/admin/index.html:64
#: templates/web/base/admin/list_updates.html:11
#: templates/web/base/admin/reports.html:16
#: templates/web/base/admin/template_edit.html:40
-#: templates/web/base/report/_inspect.html:83
-#: templates/web/base/report/_item.html:94
+#: templates/web/base/report/_inspect.html:82
+#: templates/web/base/report/_item.html:96
#: templates/web/base/report/update/form_update.html:39
+#: templates/web/zurich/admin/contact-form.html:10
msgid "State"
msgstr "Status"
+#: templates/web/base/report/update.html:48
+#, fuzzy
+msgid "State changed to:"
+msgstr "&Auml;nderungen speichern"
+
#: templates/web/base/admin/report_edit.html:116
#: templates/web/base/admin/update_edit.html:28
#: templates/web/zurich/admin/report_edit-sdm.html:75
@@ -3475,8 +3551,14 @@ msgstr "Status"
msgid "State:"
msgstr "Status:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:640
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:386
+#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: templates/web/base/admin/states/index.html:1
+#, fuzzy
+msgid "States"
+msgstr "Status"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
#: templates/web/base/admin/index.html:71 templates/web/base/admin/stats.html:1
#: templates/web/base/admin/stats_by_state.html:1
#: templates/web/zurich/admin/stats.html:1 templates/web/zurich/header.html:65
@@ -3498,6 +3580,10 @@ msgstr ""
msgid "Street View"
msgstr "Straßenansicht"
+#: templates/web/base/admin/extra-metadata-form.html:46
+msgid "String"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:192
msgid "Subcategory: %s"
msgstr "Unterkategorie: %s"
@@ -3506,7 +3592,7 @@ msgstr "Unterkategorie: %s"
msgid "Subdivision/Body"
msgstr ""
-#: templates/web/base/contact/index.html:88
+#: templates/web/base/contact/index.html:92
msgid "Subject"
msgstr "Titel"
@@ -3516,14 +3602,14 @@ msgid "Subject:"
msgstr "Titel:"
#: templates/web/base/questionnaire/creator_fixed.html:19
-#: templates/web/base/report/new/form_user_loggedin.html:61
+#: templates/web/base/report/new/form_user_loggedin.html:63
#: templates/web/base/report/new/form_user_loggedout_by_email.html:36
#: templates/web/base/report/new/form_user_loggedout_password.html:11
#: templates/web/zurich/report/new/fill_in_details_form.html:73
msgid "Submit"
msgstr "Abschicken"
-#: templates/web/base/admin/report_edit.html:174
+#: templates/web/base/admin/report_edit.html:162
#: templates/web/base/admin/report_edit.html:24
#: templates/web/base/admin/update_edit.html:77
#: templates/web/base/admin/user-form.html:170
@@ -3537,8 +3623,8 @@ msgstr "Änderungen senden"
msgid "Submit questionnaire"
msgstr "Fragebogen absenden"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:164
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:893
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:898
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:6
#: templates/web/zurich/admin/index-dm.html:23
@@ -3548,36 +3634,38 @@ msgstr "Fragebogen absenden"
msgid "Submitted"
msgstr "Gesendet"
+#: templates/web/base/alert/_list.html:77
+#: templates/web/base/alert/_list.html:80
#: templates/web/base/alert/updates.html:23
#: templates/web/base/report/display_tools.html:51
msgid "Subscribe"
msgstr "Abonnieren"
-#: templates/web/base/alert/_list.html:93
-msgid "Subscribe me to an email alert"
-msgstr ""
+#: templates/web/base/alert/_list.html:72
+#, fuzzy
+msgid "Subscribe by email"
+msgstr "Abonnieren"
#: templates/web/base/report/new/form_report.html:19
msgid "Summarise the problem"
msgstr ""
-#: templates/web/base/admin/contact-form.html:129
+#: templates/web/base/admin/contact-form.html:130
msgid "Summarise your changes"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:638
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:382
+#: perllib/FixMyStreet/Cobrand/Default.pm:637
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:387
#: templates/web/base/admin/bodies.html:29
#: templates/web/base/admin/index.html:1 templates/web/base/status/index.html:1
#: templates/web/base/status/index.html:3
#: templates/web/zurich/admin/index-dm.html:1
#: templates/web/zurich/admin/index-sdm.html:1
-#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:13
+#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:12
#: templates/web/zurich/header.html:49
msgid "Summary"
msgstr "Zusammenfassung"
-#: templates/web/base/reports/index.html:4
#: templates/web/zurich/reports/index.html:0
#: templates/web/zurich/reports/index.html:4
msgid "Summary reports"
@@ -3601,7 +3689,7 @@ msgid "Template &laquo;%s&raquo;"
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:661
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:393
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
#: templates/web/zurich/header.html:69
msgid "Templates"
msgstr "Vorlagen"
@@ -3613,7 +3701,7 @@ msgstr "Text"
#: templates/web/base/admin/body.html:32
msgid "Text only version"
-msgstr ""
+msgstr "Nur-Text-Version"
#: templates/web/base/admin/template_edit.html:17
#: templates/web/base/admin/update_edit.html:20
@@ -3630,7 +3718,7 @@ msgstr ""
msgid "Thank you for trying to confirm your update or problem. We seem to have an error ourselves though, so <a href=\"%s\">please let us know what went on</a> and we'll look into it."
msgstr ""
-#: templates/web/base/tokens/confirm_update.html:15
+#: templates/web/base/tokens/confirm_update.html:16
msgid "Thank you for updating this issue!"
msgstr ""
@@ -3658,7 +3746,7 @@ msgstr ""
msgid "That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Location.pm:129
+#: perllib/FixMyStreet/App/Controller/Location.pm:127
msgid "That location does not appear to be in the UK; please try again."
msgstr ""
@@ -3668,23 +3756,23 @@ msgstr ""
msgid "That postcode was not recognised, sorry."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:762
+#: perllib/FixMyStreet/App/Controller/Admin.pm:850
msgid "That problem has been marked as sent."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:755
+#: perllib/FixMyStreet/App/Controller/Admin.pm:843
msgid "That problem will now be resent."
msgstr "Das Problem wird jetzt erneut gesendet."
-#: perllib/FixMyStreet/App/Controller/Report.pm:137
+#: perllib/FixMyStreet/App/Controller/Report.pm:134
msgid "That report cannot be viewed on %s."
msgstr "Dieser Bericht kann nicht auf %s angeschaut werden."
-#: perllib/FixMyStreet/App/Controller/Report.pm:131
+#: perllib/FixMyStreet/App/Controller/Report.pm:128
msgid "That report has been removed from FixMyStreet."
msgstr "Diese Meldung wurde von Fix My Z&uuml;rich entfernt."
-#: templates/web/base/admin/contact-form.html:25
+#: templates/web/base/admin/contact-form.html:27
msgid ""
"The <strong>email address</strong> is the destination to which reports about this category will be sent. \n"
" Other categories for this body may have the same email address."
@@ -3704,10 +3792,10 @@ msgid ""
" than one. If the body is running its own endpoint, you can usually leave this blank."
msgstr ""
-#: templates/web/base/admin/body-form.html:100
-#: templates/web/base/admin/body-form.html:101
-#: templates/web/base/admin/contact-form.html:103
+#: templates/web/base/admin/body-form.html:102
+#: templates/web/base/admin/body-form.html:103
#: templates/web/base/admin/contact-form.html:104
+#: templates/web/base/admin/contact-form.html:105
msgid ""
"The <strong>send method</strong> determines how problem reports will be sent to the body.\n"
" If you leave this blank, <strong>send method defaults to email</strong>."
@@ -3724,6 +3812,10 @@ msgid ""
" and may be displayed publically."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:12
+msgid "The code used to store this field value in the database. e.g. <code>address</code> would be available as <code>problem.extra.address</code> in the templates."
+msgstr ""
+
#: templates/web/base/report/new/fill_in_details_text.html:1
#: templates/web/base/report/new/fill_in_details_text.html:3
msgid "The council won&rsquo;t be able to help unless you leave as much detail as you can. Please describe the exact location of the problem (e.g. on a wall), what it is, how long it has been there, a description (and a photo of the problem if you have one), etc."
@@ -3734,11 +3826,15 @@ msgstr ""
msgid "The diligency prize league table shows editors' activity (who's been editing the most records)."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:61
-#: perllib/FixMyStreet/App/Controller/Reports.pm:82
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:63
+#: perllib/FixMyStreet/App/Controller/Reports.pm:103
msgid "The error was: %s"
msgstr "Der Fehler war: %s"
+#: templates/web/base/admin/extra-metadata-form.html:30
+msgid "The field name as shown to the user on the report form."
+msgstr ""
+
#: templates/web/base/open311/index.html:78
msgid "The following Open311 v2 attributes are returned for each request: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
msgstr ""
@@ -3777,10 +3873,14 @@ msgstr ""
msgid "The link might have expired, or maybe you didn&rsquo;t quite copy and paste it correctly."
msgstr ""
-#: templates/web/base/admin/body-form.html:64
+#: templates/web/base/admin/body-form.html:66
msgid "The list of available areas is being provided by the MapIt service at %s."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:6
+msgid "The ordering of this field on the report page. Fields are shown in ascending order according to this value."
+msgstr ""
+
#: templates/web/base/auth/change_password.html:22
#: templates/web/base/auth/change_password.html:26
msgid "The passwords do not match"
@@ -3790,8 +3890,8 @@ msgstr "Die Passwörter stimmen nicht überein"
msgid "The requested URL '%s' was not found on this server"
msgstr ""
-#: templates/web/base/alert/_list.html:17
-msgid "The simplest alert is our geographic one:"
+#: templates/web/base/admin/extra-metadata-form.html:42
+msgid "The type of input field to show to the user. <strong>Text</strong> is a simple text field, <strong>List</strong> is a drop-down selection."
msgstr ""
#: perllib/FixMyStreet/Script/Reports.pm:96
@@ -3811,18 +3911,18 @@ msgstr ""
msgid "There are no reports to show."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Reports.pm:79
+#: perllib/FixMyStreet/App/Controller/Reports.pm:100
msgid "There was a problem showing the All Reports page. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:137
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:60
+#: perllib/FixMyStreet/App/Controller/Contact.pm:138
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:62
msgid "There was a problem showing this page. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:758
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:785
#: perllib/FixMyStreet/App/Controller/Report/Update.pm:152
-#: templates/web/base/auth/general.html:53
+#: templates/web/base/auth/general.html:55
#: templates/web/zurich/auth/general.html:28
msgid "There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the &lsquo;sign in by email&rsquo; section of the form."
msgstr ""
@@ -3835,7 +3935,7 @@ msgstr ""
msgid "There was a problem with your update. Please try again."
msgstr "Es gab ein Problem mit Ihrer Aktualisierung. Bitte versuchen Sie es erneut."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:141
+#: perllib/FixMyStreet/App/Controller/Contact.pm:142
msgid "There were problems with your report. Please see below."
msgstr "Es gab ein Problem mit Ihrem Bericht. Bitte versuchen Sie es erneut."
@@ -3887,8 +3987,8 @@ msgstr ""
msgid "This body has no contacts. This means that currently problems reported to this body <strong>will not be sent</strong>."
msgstr ""
-#: templates/web/base/admin/body-form.html:58
-#: templates/web/base/admin/body-form.html:59
+#: templates/web/base/admin/body-form.html:60
+#: templates/web/base/admin/body-form.html:61
msgid ""
"This body will only be sent reports for problems that are located in the <strong>area covered</strong>.\n"
" A body will not receive any reports unless it covers at least one area."
@@ -3902,8 +4002,9 @@ msgstr ""
msgid "This email has been sent to several councils covering the location of the problem, as the category selected is provided for all of them; please ignore it if you're not the correct council to deal with the issue."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:881
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:925
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1017
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:910
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:954
#: perllib/FixMyStreet/App/Controller/Report/New.pm:971
#: perllib/FixMyStreet/Cobrand/UK.pm:45
msgid "This information is required"
@@ -3913,46 +4014,41 @@ msgstr "Diese Information wird ben&ouml;tigt"
msgid "This is a developer site; things might break at any time, and the database will be periodically deleted."
msgstr ""
-#: templates/web/base/reports/index.html:10
-msgid "This is a summary of all reports on this site."
-msgstr ""
-
-#: templates/web/base/report/new/form_report.html:56
+#: templates/web/base/report/new/form_report.html:58
msgid "This pothole has been here for two months and…"
msgstr ""
-#: templates/web/base/report/update/form_update.html:63
+#: templates/web/base/report/update/form_update.html:55
msgid "This problem has been fixed"
msgstr "Dieser Mangel wurde behoben"
-#: templates/web/base/report/update/form_update.html:56
+#: templates/web/base/report/update/form_update.html:48
msgid "This problem has not been fixed"
msgstr "Dieser Mangel wurde nicht behoben"
-#: templates/web/base/report/update/form_update.html:54
-#, fuzzy
+#: templates/web/base/report/update/form_update.html:46
msgid "This problem is still ongoing"
-msgstr "Dieser Mangel wurde nicht behoben"
+msgstr ""
#: templates/web/base/report/duplicate-no-updates.html:3
msgid "This report is a duplicate. Please leave updates on the original report:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:161
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:162
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:166
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:167
#: templates/web/zurich/report/_main.html:14
msgid "This report is awaiting moderation."
msgstr "Dieser Bericht wartet auf Moderation."
-#: perllib/FixMyStreet/Script/Alerts.pm:101
+#: perllib/FixMyStreet/Script/Alerts.pm:98
msgid "This report is currently marked as closed."
msgstr "Dieser Bericht ist aktuell als geschlossen markiert."
-#: perllib/FixMyStreet/Script/Alerts.pm:99
+#: perllib/FixMyStreet/Script/Alerts.pm:96
msgid "This report is currently marked as fixed."
msgstr "Dieser Bericht ist aktuell als behoben markiert."
-#: perllib/FixMyStreet/Script/Alerts.pm:103
+#: perllib/FixMyStreet/Script/Alerts.pm:100
msgid "This report is currently marked as open."
msgstr "Dieser Bericht ist aktuell als offen markiert."
@@ -3971,14 +4067,14 @@ msgstr ""
msgid "Time spent (in minutes):"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Default.pm:638
#: templates/web/base/admin/timeline.html:1
msgid "Timeline"
msgstr "Zeitleiste"
#: templates/web/base/report/new/after_photo.html:1
msgid "Tips for perfect photos"
-msgstr ""
+msgstr "Tipps für perfekte Fotos"
#: templates/web/base/admin/flagged.html:15
#: templates/web/base/admin/index.html:61
@@ -4000,10 +4096,26 @@ msgstr ""
msgid "To find out what local alerts we have for you, please enter your postcode or street name and area"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:19
+msgid "To limit this collection of fields to a single cobrand, select it here."
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:40
+msgid "To limit this collection of fields to a single language, select it here."
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:95
msgid "To view a map of the precise location of this issue"
msgstr ""
+#: templates/web/base/reports/index.html:97
+msgid "Top 5 most used categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:83
+msgid "Top 5 responsive councils"
+msgstr ""
+
#: templates/web/base/admin/questionnaire.html:24
#: templates/web/base/admin/stats.html:24
#: templates/web/base/admin/stats.html:43
@@ -4017,9 +4129,8 @@ msgid "Total marked"
msgstr ""
#: templates/web/base/dashboard/index.html:71
-#, fuzzy
msgid "Total marked as fixed"
-msgstr "als gel&ouml;st markiert"
+msgstr ""
#: templates/web/base/dashboard/index.html:125
msgid "Total not marked"
@@ -4030,16 +4141,24 @@ msgstr ""
msgid "Total reports received"
msgstr ""
-#: templates/web/base/report/_inspect.html:124
-#: templates/web/base/report/_item.html:102
+#: templates/web/base/report/_inspect.html:134
+#: templates/web/base/report/_item.html:104
msgid "Traffic management required?"
msgstr ""
+#: templates/web/base/admin/_translations.html:7
+msgid "Translation"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:2
+msgid "Translations"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:111
msgid "Trusted by bodies:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:721
+#: perllib/FixMyStreet/Cobrand/Default.pm:726
msgid "Trusted to make reports that don't need to be inspected"
msgstr ""
@@ -4055,8 +4174,14 @@ msgstr "Erneut versuchen"
msgid "Try emailing us directly:"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:21
+#: templates/web/base/admin/extra-metadata-form.html:44
+#: templates/web/base/admin/states/index.html:10
+#: templates/web/base/admin/states/index.html:100
+msgid "Type"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:59
+#: templates/web/base/admin/contact-form.html:55
#: templates/web/base/admin/update_edit.html:30
#: templates/web/zurich/admin/report_edit-sdm.html:66
#: templates/web/zurich/admin/report_edit.html:94
@@ -4064,7 +4189,6 @@ msgstr ""
msgid "Unconfirmed"
msgstr "Unbest&auml;tigt"
-#: templates/web/base/reports/_list-filters.html:12
#: templates/web/base/reports/_list-filters.html:5
msgid "Unfixed reports"
msgstr ""
@@ -4078,14 +4202,14 @@ msgid "Unknown alert type"
msgstr "Unbekannter Benachrichtigungstyp"
#: perllib/FixMyStreet/App/Controller/Photo.pm:109
-#: perllib/FixMyStreet/App/Controller/Root.pm:124
+#: perllib/FixMyStreet/App/Controller/Root.pm:141
#: templates/web/base/js/translation_strings.html:38
msgid "Unknown error"
msgstr "Unbekannter Fehler"
-#: perllib/FixMyStreet/App/Controller/Report.pm:115
+#: perllib/FixMyStreet/App/Controller/Report.pm:112
+#: perllib/FixMyStreet/App/Controller/Report.pm:118
#: perllib/FixMyStreet/App/Controller/Report.pm:121
-#: perllib/FixMyStreet/App/Controller/Report.pm:124
msgid "Unknown problem ID"
msgstr "Unbekannte Problemkennung"
@@ -4093,10 +4217,11 @@ msgstr "Unbekannte Problemkennung"
msgid "Unshortlisted"
msgstr ""
-#: templates/web/base/report/_item.html:24
+#: templates/web/base/report/_item.html:26
msgid "Up one"
msgstr ""
+#: templates/web/base/admin/states/index.html:76
#: templates/web/base/report/update/form_update.html:29
msgid "Update"
msgstr "Beschreibung"
@@ -4113,7 +4238,7 @@ msgstr ""
msgid "Update below added by %s at %s"
msgstr ""
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Update body"
msgstr ""
@@ -4149,13 +4274,23 @@ msgstr ""
msgid "Updated"
msgstr "Aktualisiert"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1157
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1221
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1384
-#: perllib/FixMyStreet/App/Controller/Admin.pm:822
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:762
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:787
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:857
+#: perllib/FixMyStreet/DB/Result/Comment.pm:249
+#, fuzzy
+msgid "Updated by <strong>%s</strong> (%s) at %s"
+msgstr "Anmerkung: <strong>%s</strong>"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:251
+#, fuzzy
+msgid "Updated by <strong>%s</strong> at %s"
+msgstr "Anmerkung: <strong>%s</strong>"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1262
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1326
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1489
+#: perllib/FixMyStreet/App/Controller/Admin.pm:910
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:767
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:792
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:862
msgid "Updated!"
msgstr "Aktualisiert!"
@@ -4165,7 +4300,7 @@ msgstr "Aktualisiert!"
msgid "Updates"
msgstr "Aktualisierungen"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:133
+#: perllib/FixMyStreet/DB/Result/Comment.pm:134
msgid "Updates are limited to %s characters in length. Please shorten your update"
msgstr ""
@@ -4179,11 +4314,22 @@ msgstr "Aktualisierungen auf {{title}}"
msgid "Updates to this problem, %s"
msgstr "Aktualisierungen für dieses Problem, %s"
+#: templates/web/base/admin/contact-form.html:43
+#: templates/web/base/admin/contact-form.html:44
+msgid ""
+"Use <strong>confirmed</strong> to indicate that this contact has been\n"
+"confirmed as correct. If you are not sure of the origin or validity of the\n"
+"contact, use <strong>unconfirmed</strong>. <strong>inactive</strong> will\n"
+"remove the category from use when reporting problems, but keep it available in\n"
+"map filters, and <strong>deleted</strong> will remove the category from there\n"
+"as well."
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:65
msgid "Use Open311 update-sending extension"
msgstr ""
-#: templates/web/base/admin/contact-form.html:124
+#: templates/web/base/admin/contact-form.html:125
msgid "Use this field to record details that are only displayed in the admin. Input is not shown publicly, and is not sent to the body."
msgstr ""
@@ -4196,27 +4342,26 @@ msgstr ""
msgid "User ID to attribute fetched comments to"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1700
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1805
msgid "User flag removed"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1672
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1777
msgid "User flagged"
msgstr ""
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:58
-#, fuzzy
msgid "User has marked as fixed"
-msgstr "als gel&ouml;st markiert"
+msgstr ""
#: templates/web/base/admin/users.html:5
msgid "User search finds matches in users' names and email addresses."
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:669
-#: perllib/FixMyStreet/Cobrand/Default.pm:723
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
+#: perllib/FixMyStreet/Cobrand/Default.pm:728
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:403
#: templates/web/base/admin/flagged.html:29 templates/web/zurich/header.html:61
msgid "Users"
msgstr "Benutzer"
@@ -4225,9 +4370,9 @@ msgstr "Benutzer"
msgid "Users can perform the following actions within their assigned body or area."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:400
-#: perllib/FixMyStreet/App/Controller/Admin.pm:430
-#: perllib/FixMyStreet/App/Controller/Admin.pm:448
+#: perllib/FixMyStreet/App/Controller/Admin.pm:381
+#: perllib/FixMyStreet/App/Controller/Admin.pm:417
+#: perllib/FixMyStreet/App/Controller/Admin.pm:439
msgid "Values updated"
msgstr "Werte aktualisiert"
@@ -4274,7 +4419,7 @@ msgstr ""
msgid "We found more than one match for that problem reference:"
msgstr ""
-#: templates/web/base/auth/general.html:6
+#: templates/web/base/auth/general.html:8
#: templates/web/base/report/display.html:35
#: templates/web/base/report/new/oauth_email_form.html:5
msgid "We need your email address, please give it below."
@@ -4309,7 +4454,7 @@ msgstr ""
msgid "What was your experience of getting the problem fixed?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:52
+#: templates/web/base/admin/category_edit.html:27
#: templates/web/zurich/admin/body.html:18
msgid "When edited"
msgstr "Wann editiert"
@@ -4318,11 +4463,19 @@ msgstr "Wann editiert"
msgid "When sent"
msgstr "Wann gesendet"
-#: templates/web/base/report/_inspect.html:89
+#: templates/web/base/admin/extra-metadata-form.html:18
+msgid "Whether the user is required to provide a value for this field."
+msgstr ""
+
+#: templates/web/base/alert/_list.html:9
+msgid "Which problems do you want alerts about?"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:99
msgid "Which report is it a duplicate of?"
msgstr ""
-#: templates/web/base/js/translation_strings.html:54
+#: templates/web/base/js/translation_strings.html:57
msgid "Whoa there Testino! Three photos are enough."
msgstr ""
@@ -4330,8 +4483,8 @@ msgstr ""
msgid "Why stop there? <a href=\"/alert\">Set up more alerts</a> for free."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:185
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:190
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:14
msgid "Wish"
@@ -4341,7 +4494,7 @@ msgstr "Wunsch"
msgid "With request searches, it is also possible to search for agency_responsible to limit the requests to those sent to a single administration. The search term is the administration ID provided by <a href=\"%s\">MaPit</a>."
msgstr ""
-#: templates/web/base/front/footer-marketing.html:17
+#: templates/web/base/front/footer-marketing.html:3
msgid "Would you like to contribute to FixMyStreet? Our code is open source and <a href=\"http://fixmystreet.org\">available at fixmystreet.org</a>."
msgstr ""
@@ -4366,23 +4519,22 @@ msgstr ""
msgid "Year"
msgstr "Jahr"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1202
+#: perllib/FixMyStreet/Cobrand/Default.pm:1236
#: templates/web/base/admin/bodies.html:70
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
#: templates/web/base/admin/category_edit.html:5
#: templates/web/base/admin/flagged.html:47
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:136
+#: templates/web/base/admin/report_edit.html:124
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:25
#: templates/web/base/admin/users.html:32
#: templates/web/base/questionnaire/creator_fixed.html:14
#: templates/web/base/questionnaire/index.html:104
#: templates/web/base/questionnaire/index.html:53
+#: templates/web/base/report/_inspect.html:90
msgid "Yes"
msgstr "Ja"
@@ -4395,7 +4547,7 @@ msgstr "Ja, ich habe ein Passwort"
msgid "You are complaining that this problem report was unnecessarily moderated:"
msgstr ""
-#: templates/web/base/js/translation_strings.html:70
+#: templates/web/base/js/translation_strings.html:73
msgid "You are offline"
msgstr ""
@@ -4416,7 +4568,11 @@ msgstr ""
msgid "You can add an abusive user's email to the abuse list, which automatically hides (and never sends) reports they create."
msgstr ""
-#: templates/web/base/contact/index.html:111
+#: templates/web/base/alert/_list.html:18
+msgid "You can choose to subscribe to all problems reported in an area, or reports based on their destination."
+msgstr ""
+
+#: templates/web/base/contact/index.html:115
msgid "You can contact technical support on <a href='mailto:%s'>%s</a>"
msgstr ""
@@ -4434,7 +4590,7 @@ msgstr ""
msgid "You can help us by finding a contact email address for local problems for %s and emailing it to us at <a href='mailto:%s'>%s</a>."
msgstr ""
-#: templates/web/base/admin/body-form.html:91
+#: templates/web/base/admin/body-form.html:93
msgid "You can mark a body as deleted if you do not want it to be active on the site."
msgstr ""
@@ -4442,7 +4598,7 @@ msgstr ""
msgid "You declined; please fill in the box above"
msgstr ""
-#: templates/web/base/js/translation_strings.html:72
+#: templates/web/base/js/translation_strings.html:75
msgid "You have <a id=\"oFN\" href=\"\"><span>%s</span> saved to submit</a>."
msgstr ""
@@ -4450,7 +4606,7 @@ msgstr ""
msgid "You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"
msgstr ""
-#: templates/web/base/report/new/form_report.html:37
+#: templates/web/base/report/new/form_report.html:39
#: templates/web/zurich/report/new/fill_in_details_form.html:30
msgid "You have already attached photos to this report. Note that you can attach a maximum of 3 to this report (if you try to upload more, the oldest will be removed)."
msgstr ""
@@ -4508,10 +4664,9 @@ msgstr "Ihre Berichte"
msgid "Your account"
msgstr ""
-#: templates/web/base/alert/_list.html:90
#: templates/web/base/alert/updates.html:19
#: templates/web/base/alert/updates.html:22
-#: templates/web/base/contact/index.html:81
+#: templates/web/base/contact/index.html:80
#: templates/web/base/report/display_tools.html:46
#: templates/web/base/report/display_tools.html:49
#: templates/web/base/report/new/form_user_loggedout_email.html:1
@@ -4521,7 +4676,7 @@ msgid "Your email"
msgstr "Ihre eMail"
#: templates/web/base/auth/change_email.html:9
-#: templates/web/base/auth/general.html:55
+#: templates/web/base/auth/general.html:57
#: templates/web/base/report/update/form_user_loggedout_email.html:5
#: templates/web/zurich/auth/general.html:30
#: templates/web/zurich/auth/general.html:58
@@ -4532,21 +4687,32 @@ msgstr "Ihre eMail-Adresse"
msgid "Your information will only be used in accordance with our <a href=\"/privacy\">privacy policy</a>"
msgstr ""
-#: templates/web/base/auth/general.html:107
+#: templates/web/base/auth/general.html:109
#: templates/web/base/contact/index.html:74
#: templates/web/base/report/new/form_user_loggedout_by_email.html:17
-#: templates/web/base/report/update/form_name.html:29
+#: templates/web/base/report/update/form_name.html:33
#: templates/web/zurich/auth/general.html:61
#: templates/web/zurich/report/new/fill_in_details_form.html:63
msgid "Your name"
msgstr "Ihr Name"
-#: templates/web/base/js/translation_strings.html:62
-#, fuzzy
+#: templates/web/base/my/anonymize.html:13
+msgid "Your name has already been sent to %s, but we can hide it on this page:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:264
+msgid "Your name has been hidden from all your reports and updates."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:260
+msgid "Your name has been hidden."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:65
msgid "Your offline reports"
-msgstr "Ihre Meldungen"
+msgstr ""
-#: templates/web/base/auth/general.html:85
+#: templates/web/base/auth/general.html:87
#: templates/web/base/report/new/form_user_loggedout_password.html:10
#: templates/web/base/report/update/form_user_loggedout_password.html:9
#: templates/web/zurich/auth/general.html:34
@@ -4557,6 +4723,7 @@ msgstr "Ihr Passwort"
msgid "Your password has been changed"
msgstr "Ihr Passwort wurde ge&auml;ndert"
+#: templates/web/base/contact/index.html:87
#: templates/web/base/report/new/form_user_loggedout_by_email.html:26
#: templates/web/zurich/report/new/fill_in_details_form.html:69
msgid "Your phone number"
@@ -4575,7 +4742,7 @@ msgstr "Ihre Meldungen"
msgid "Your shortlist"
msgstr ""
-#: templates/web/base/js/translation_strings.html:63
+#: templates/web/base/js/translation_strings.html:66
msgid "Your update has been saved offline for submission when back online."
msgstr ""
@@ -4583,24 +4750,24 @@ msgstr ""
msgid "Your updates"
msgstr "Ihre Aktualisierungen"
-#: templates/web/base/report/new/form_user_loggedin.html:18
-#: templates/web/base/report/update/form_name.html:11
+#: templates/web/base/report/new/form_user_loggedin.html:19
+#: templates/web/base/report/update/form_name.html:12
msgid "Yourself"
msgstr ""
#: templates/web/base/admin/category-checkboxes.html:7
#: templates/web/base/admin/user-form.html:151
msgid "all"
+msgstr "alle"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:259
+msgid "and a defect raised"
msgstr ""
#: templates/web/base/admin/timeline.html:4
msgid "by %s"
msgstr "von %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:290
-msgid "closed as a duplicate report"
-msgstr ""
-
#: templates/web/base/reports/body.html:6
#: templates/web/base/reports/body.html:7
msgid "council"
@@ -4625,7 +4792,7 @@ msgstr "Benutzer bearbeiten"
msgid "from %s different users"
msgstr "von %s verschiedenen Benutzern"
-#: templates/web/base/report/_item.html:61
+#: templates/web/base/report/_item.html:63
#: templates/web/zurich/report/_item.html:14
msgid "last updated %s"
msgstr "zuletzt aktualisiert %s"
@@ -4634,44 +4801,7 @@ msgstr "zuletzt aktualisiert %s"
msgid "less than a minute"
msgstr "weniger als einer Minute"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:280
-msgid "marked as action scheduled"
-msgstr "als Aktion geplant markiert"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:292
-msgid "marked as an internal referral"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:282
-msgid "marked as closed"
-msgstr "als geschlossen markiert"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:263
-#: perllib/FixMyStreet/DB/Result/Comment.pm:284
-msgid "marked as fixed"
-msgstr "als gel&ouml;st markiert"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:278
-msgid "marked as in progress"
-msgstr "als in Bearbeitung markiert"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:274
-msgid "marked as investigating"
-msgstr "als untersuchend markiert"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:286
-msgid "marked as no further action"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:288
-msgid "marked as not the council's responsibility"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:276
-msgid "marked as planned"
-msgstr "als geplant markiert"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:122
+#: perllib/FixMyStreet/App/Controller/Admin.pm:119
#: templates/web/base/admin/questionnaire.html:15
#: templates/web/base/admin/questionnaire.html:16
msgid "n/a"
@@ -4680,16 +4810,12 @@ msgstr "n/v"
#: templates/web/base/admin/category-checkboxes.html:8
#: templates/web/base/admin/user-form.html:152
msgid "none"
-msgstr ""
+msgstr "keine"
-#: templates/web/base/admin/category_edit.html:35
-msgid "optional"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:278
+msgid "not the council's responsibility"
msgstr ""
-#: templates/web/base/alert/_list.html:86
-msgid "or"
-msgstr "oder"
-
#: templates/web/base/js/translation_strings.html:27
msgid "or locate me automatically"
msgstr ""
@@ -4713,16 +4839,7 @@ msgstr ""
msgid "other areas:"
msgstr "andere Gebiete:"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:265
-#: perllib/FixMyStreet/DB/Result/Comment.pm:271
-msgid "reopened"
-msgstr "erneut geöffnet"
-
-#: templates/web/base/admin/category_edit.html:35
-msgid "required"
-msgstr ""
-
-#: templates/web/zurich/footer.html:13
+#: templates/web/zurich/footer.html:12
msgid "sign out"
msgstr "ausloggen"
@@ -4730,11 +4847,15 @@ msgstr "ausloggen"
msgid "the local council"
msgstr ""
-#: templates/web/base/report/_report_meta_info.html:2
+#: templates/web/base/report/_report_meta_info.html:5
#: templates/web/zurich/report/_main.html:5
msgid "there is no pin shown as the user did not use the map"
msgstr ""
+#: templates/web/base/alert/_list.html:1
+msgid "this location"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:184
msgid "this type of local problem"
msgstr ""
@@ -4743,15 +4864,13 @@ msgstr ""
msgid "today"
msgstr "heute"
-#: templates/web/base/js/translation_strings.html:73
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:76
msgid "update"
-msgstr "Beschreibung"
+msgstr ""
-#: templates/web/base/js/translation_strings.html:74
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:77
msgid "updates"
-msgstr "Aktualisierungen"
+msgstr ""
#: templates/web/base/admin/report_edit.html:52
msgid "used map"
@@ -4799,11 +4918,11 @@ msgstr[0] "%d Minute"
msgstr[1] "%d Minuten"
#: perllib/Utils.pm:246
-#, fuzzy, perl-format
+#, perl-format
msgid "%d month"
msgid_plural "%d months"
-msgstr[0] "%d Minute"
-msgstr[1] "%d Minuten"
+msgstr[0] ""
+msgstr[1] ""
#: templates/web/base/report/_support.html:6
#, perl-format
@@ -4826,6 +4945,41 @@ msgid_plural "%d years"
msgstr[0] ""
msgstr[1] ""
+#: templates/web/base/reports/index.html:92
+#, perl-format
+msgid "%s day"
+msgid_plural "%s days"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:55
+#, perl-format
+msgid "%s problem marked as fixed"
+msgid_plural "%s problems marked as fixed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:43
+#, perl-format
+msgid "%s problem reported"
+msgid_plural "%s problems reported"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:107
+#, perl-format
+msgid "%s report"
+msgid_plural "%s reports"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:49
+#, perl-format
+msgid "%s update on problems"
+msgid_plural "%s updates on problems"
+msgstr[0] ""
+msgstr[1] ""
+
#: templates/web/base/front/stats.html:19
#, perl-format
msgid "<big>%s</big> fixed in past month"
@@ -4854,12 +5008,12 @@ msgid_plural "<big>%s</big> updates on reports"
msgstr[0] "<big>%s</big> Meldung bearbeitet"
msgstr[1] "<big>%s</big> Meldungen bearbeitet"
-#: templates/web/base/report/_item.html:49
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:51
+#, perl-format
msgid "Reported %d day ago"
msgid_plural "Reported %d days ago"
-msgstr[0] "Gemeldet von %s um %s"
-msgstr[1] "Gemeldet von %s um %s"
+msgstr[0] ""
+msgstr[1] ""
#: templates/web/base/report/new/top_message_some.html:3
#, perl-format
@@ -4875,36 +5029,70 @@ msgid_plural "We do not yet have details for the councils that cover this locati
msgstr[0] ""
msgstr[1] ""
-#: templates/web/base/report/_item.html:59
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:61
+#, perl-format
msgid "last updated %d day ago"
msgid_plural "last updated %d days ago"
-msgstr[0] "zuletzt aktualisiert %s"
-msgstr[1] "zuletzt aktualisiert %s"
+msgstr[0] ""
+msgstr[1] ""
#: templates/email/oxfordshire/archive.txt:9
-#, fuzzy, perl-format
+#, perl-format
msgid "report"
msgid_plural "reports"
-msgstr[0] "Bericht"
-msgstr[1] "Bericht"
+msgstr[0] ""
+msgstr[1] ""
-#, fuzzy
-#~ msgid "All inspectors"
-#~ msgstr "Alle Meldungen"
+#~ msgid "%s ward, %s"
+#~ msgstr "%s Stadtteil, %s"
-#, fuzzy
-#~ msgid "External ID:"
-#~ msgstr "Externe URL"
+#~ msgid "-- Pick a property type --"
+#~ msgstr "-- Wählen Sie eine Eigentumsart --"
-#, fuzzy
-#~ msgid "Report category:"
-#~ msgstr "Kategorie erstellen"
+#~ msgid "Closed:"
+#~ msgstr "Geschlossen:"
-#, fuzzy
-#~ msgid "Reported %d days ago"
-#~ msgstr "Gemeldet von %s um %s"
+#~ msgid "Duplicate"
+#~ msgstr "Duplizieren"
-#, fuzzy
-#~ msgid "last updated %d days ago"
-#~ msgstr "zuletzt aktualisiert %s"
+#~ msgid "In Progress"
+#~ msgstr "In Bearbeitung"
+
+#~ msgid "Investigating"
+#~ msgstr "Untersuchen"
+
+#~ msgid "No further action"
+#~ msgstr "Kann nicht behoben werden"
+
+#~ msgid "Not Responsible"
+#~ msgstr "Nicht verantwortlich"
+
+#~ msgid "Please choose a property type"
+#~ msgstr "Bitte wählen Sie eine Eigentumsart"
+
+#~ msgid "Problems within the boundary of:"
+#~ msgstr "Probleme innerhalb der Grenze von:"
+
+#~ msgid "marked as action scheduled"
+#~ msgstr "als Aktion geplant markiert"
+
+#~ msgid "marked as closed"
+#~ msgstr "als geschlossen markiert"
+
+#~ msgid "marked as fixed"
+#~ msgstr "als gel&ouml;st markiert"
+
+#~ msgid "marked as in progress"
+#~ msgstr "als in Bearbeitung markiert"
+
+#~ msgid "marked as investigating"
+#~ msgstr "als untersuchend markiert"
+
+#~ msgid "marked as planned"
+#~ msgstr "als geplant markiert"
+
+#~ msgid "or"
+#~ msgstr "oder"
+
+#~ msgid "reopened"
+#~ msgstr "erneut geöffnet"
diff --git a/locale/el_GR.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/el_GR.UTF-8/LC_MESSAGES/FixMyStreet.po
index be848af4b..05dc1f4db 100644
--- a/locale/el_GR.UTF-8/LC_MESSAGES/FixMyStreet.po
+++ b/locale/el_GR.UTF-8/LC_MESSAGES/FixMyStreet.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
-"POT-Creation-Date: 2017-03-30 17:33+0100\n"
+"POT-Creation-Date: 2017-09-13 15:40+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: mySociety <transifex@mysociety.org>, 2016\n"
+"Last-Translator: mySociety <transifex@mysociety.org>, 2017\n"
"Language-Team: Greek (Greece) (https://www.transifex.com/mysociety/teams/12067/el_GR/)\n"
"Language: el_GR\n"
"MIME-Version: 1.0\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:695
+#: perllib/FixMyStreet/DB/Result/Problem.pm:632
#: perllib/FixMyStreet/Script/Reports.pm:197
msgid " and "
msgstr "και"
@@ -99,31 +99,6 @@ msgstr "στάλθηκαν %s εÏωτηματολόγια &ndash; %s απαντ
msgid "%s ref:&nbsp;%s"
msgstr "%s αναφ.:&nbsp;%s"
-#. ("%s is the site name")
-#: templates/web/base/alert/_list.html:74
-msgid ""
-"%s sends different categories of problem\n"
-"to the appropriate council, so problems within the boundary of a particular council\n"
-"might not match the problems sent to that council. For example, a graffiti report\n"
-"will be sent to the district council, so will appear in both of the district\n"
-"council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
-"for the county council."
-msgstr ""
-"Το %s στέλνει διαφοÏετικές κατηγοÏίες Ï€Ïοβλημάτων\n"
-"στις κατάλληλες υπηÏεσίες, οπότε κάποια Ï€Ïοβλήματα που στέλνονται σε μία υπηÏεσία\n"
-"μποÏεί να μην ταιÏιάζουν με τα Ï€ÏοκαθοÏισμένα ÏŒÏια της αÏμοδιότητάς της. Για παÏάδειγμα, μια αναφοÏά για ένα graffiti\n"
-"θα σταλεί στην υπηÏεσία της πεÏιοχής,\n"
-"άÏα θα εμφανίζεται και στις δÏο κατηγοÏίες ειδοποιήσεων της υπηÏεσίας, ενώ όσον αφοÏά την επικεφαλής υπηÏεσία θα εμφανίζεται μόνο στην κατηγοÏία ειδοποιήσεων\n"
-"\"Εντός του τομέα ευθÏνης\"."
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:257 perllib/FixMyStreet/Cobrand/UK.pm:269
-msgid "%s ward, %s"
-msgstr "%s πεÏιοχή, %s"
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
-msgid "%s, within %s ward"
-msgstr "%s, στην πεÏιοχή %quot;%s&quot;"
-
#: perllib/FixMyStreet/Map/OSM.pm:38
msgid "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"
msgstr "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> και συνεÏγάτες"
@@ -132,7 +107,7 @@ msgstr "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap<
msgid "(Defect &amp; location of defect)"
msgstr "(Ελλάτωμα &amp; τοποθεσία ελλατώματος)"
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
#: templates/web/base/admin/users.html:32
msgid "(Email in abuse table)"
msgstr "(το email βÏίσκεται στη μαÏÏη λίστα)"
@@ -147,28 +122,36 @@ msgstr "(ΧωÏίς όνομα)"
msgid "(No phone number)"
msgstr "(ΧωÏίς αÏιθμό τηλεφώνου)"
-#: templates/web/base/alert/_list.html:25
-msgid "(a default distance which covers roughly 200,000 people)"
-msgstr "(αντιστοιχεί σε πεÏιοχή όπου κατοικοÏν πεÏίπου 200.000 άτομα)"
-
-#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
-#: templates/web/base/alert/_list.html:30
-msgid "(alternatively the RSS feed can be customised, within %s)"
-msgstr "(εναλλακτικά, μποÏείς να λαμβάνεις ειδοποιήσεις για ζητήματα σε ακτίνα %s)"
+#: templates/web/base/admin/states/index.html:95
+msgid "(a-z and space only)"
+msgstr ""
#: templates/web/zurich/report/_item.html:19
msgid "(closed)"
msgstr "(έκλεισε)"
+#: templates/web/base/alert/_list.html:30
+#, fuzzy
+msgid "(covers roughly 200,000 people)"
+msgstr "(αντιστοιχεί σε πεÏιοχή όπου κατοικοÏν πεÏίπου 200.000 άτομα)"
+
#: templates/web/zurich/report/_item.html:17
msgid "(fixed)"
msgstr "(διοÏθώθηκε)"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "(ignored if type is \"String\")"
+msgstr ""
+
#: templates/web/base/around/intro.html:2
msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
msgstr "(όπως graffiti, παÏατημένα σκουπίδια, σπασμένες πλάκες πεζοδÏομίου ή καμένα φώτα δÏόμων)"
-#: templates/web/base/report/_item.html:68
+#: templates/web/base/reports/index.html:69
+msgid "(no longer exists)"
+msgstr ""
+
+#: templates/web/base/report/_item.html:70
msgid "(not sent to council)"
msgstr "(δεν αποστάλθηκε σε υπηÏεσία)"
@@ -176,20 +159,22 @@ msgstr "(δεν αποστάλθηκε σε υπηÏεσία)"
msgid "(optional)"
msgstr "(Ï€ÏοαιÏετικό)"
-#: templates/web/base/report/_item.html:67
+#: templates/web/base/report/_item.html:69
msgid "(sent to both)"
msgstr "(στάλθηκε και στις δÏο)"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:239
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/DB/Result/Problem.pm:454
+#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
+#: templates/web/base/alert/_list.html:36
+#, fuzzy
+msgid "(we also have RSS feeds for problems within %s)"
+msgstr "Ροή RSS για Ï€Ïοβλήματα στο &quot;%s&quot;"
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:245
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:381
msgid "-- Pick a category --"
msgstr "-- Διάλεξε κατηγοÏία --"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:460
-msgid "-- Pick a property type --"
-msgstr "-- Διάλεξε είδος ακινήτου --"
-
#: templates/web/base/admin/response_templates_select.html:3
msgid "--Choose a template--"
msgstr ""
@@ -198,16 +183,16 @@ msgstr ""
msgid "10 inch pothole on Example St, near post box"
msgstr ""
-#: templates/web/base/dashboard/index.html:152
+#: templates/web/base/dashboard/index.html:153
msgid "14-30 days old"
msgstr ""
-#: templates/web/base/dashboard/index.html:151
+#: templates/web/base/dashboard/index.html:152
msgid "7-14 days old"
msgstr ""
-#: templates/web/base/admin/body-form.html:48
-#: templates/web/base/admin/body-form.html:49
+#: templates/web/base/admin/body-form.html:50
+#: templates/web/base/admin/body-form.html:51
msgid ""
"<code>MAPIT_URL</code> is set (<code>%s</code>) but no <code>MAPIT_TYPES</code>.<br>\n"
" This is probably why \"area covered\" is empty (below).<br>\n"
@@ -221,13 +206,13 @@ msgstr ""
msgid "<h2>Reports, Statistics and Actions for</h2> <h1>%s</h1>"
msgstr ""
-#. ('The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories')
#. ("The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories")
-#: templates/web/base/reports/_list-filters.html:37
-msgid "<label for=\"statuses\">Show</label> %s <label for=\"filter_categories\">about</label> %s"
+#: templates/web/base/reports/_list-filters.html:48
+#, fuzzy
+msgid "<label for=\"statuses\">Show</label> %s reports <label for=\"filter_categories\">about</label> %s"
msgstr "<label for=\"statuses\">ΠÏοβολή</label> %s <label for=\"filter_categories\">σχετικά με</label> %s"
-#: templates/web/base/js/translation_strings.html:71
+#: templates/web/base/js/translation_strings.html:74
msgid "<span>%s</span> saved."
msgstr ""
@@ -244,34 +229,25 @@ msgstr "<strong>Όχι</strong> Îα γίνει επιβεβαίωση της α
msgid "<strong>No</strong> Let me confirm my update by email"
msgstr "<strong>Όχι</strong> Îα γίνει επιβεβαίωση της ενημέÏωσης μέσω email"
-#: templates/web/base/auth/general.html:104
+#: templates/web/base/auth/general.html:106
#: templates/web/zurich/auth/general.html:51
msgid "<strong>No</strong> let me sign in by email"
msgstr "<strong>Όχι</strong> να συνδεθώ μέσω email"
-#: templates/web/base/report/_inspect.html:160
+#: templates/web/base/report/_inspect.html:170
msgid "<strong>Note:</strong> This report has been sent onwards for action. Any changes made won't be passed on."
msgstr ""
-#: templates/web/base/report/_inspect.html:162
+#: templates/web/base/report/_inspect.html:172
msgid "<strong>Note:</strong> This report hasn't yet been sent onwards for action. Any changes made may not be passed on."
msgstr ""
-#: templates/web/base/auth/general.html:80
+#: templates/web/base/auth/general.html:82
#: templates/web/base/report/new/form_user_loggedout_password.html:3
#: templates/web/base/report/update/form_user_loggedout_password.html:2
msgid "<strong>Yes</strong> I have a password"
msgstr "<strong>Îαι</strong> έχω κωδικό Ï€Ïόσβασης"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:10
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:6
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Action Scheduled"
-msgstr "Η ΔÏάση ΠÏογÏαμματίστηκε"
-
#: templates/web/base/admin/body-form.html:3
#: templates/web/base/admin/body-form.html:4
msgid ""
@@ -287,19 +263,36 @@ msgid "Add a contact using the form below."
msgstr "ΠÏόσθεσε μία επαφή χÏησιμοποιώντας την παÏακάτω φόÏμα."
#: templates/web/base/admin/bodies.html:78
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Add body"
msgstr "ΠÏοσθήκη τομέα"
+#: templates/web/base/admin/reportextrafields/index.html:24
+msgid "Add extra fields"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:79
+msgid "Add field"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:85
+msgid "Add fixed state"
+msgstr ""
+
#: templates/web/base/admin/body.html:126
#: templates/web/zurich/admin/body.html:31
msgid "Add new category"
msgstr "ΠÏοσθήκη νέας κατηγοÏίας"
+#: templates/web/base/admin/extra-metadata-form.html:72
+#, fuzzy
+msgid "Add option"
+msgstr "(Ï€ÏοαιÏετικό)"
+
#: templates/web/base/report/_item.html:10
-#: templates/web/base/report/_item.html:14
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_item.html:16
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:19
#: templates/web/base/report/_main.html:30
msgid "Add to shortlist"
@@ -311,15 +304,15 @@ msgstr ""
msgid "Add user"
msgstr "ΠÏοσθήκη χÏήστη"
-#: perllib/FixMyStreet/Cobrand/Default.pm:730
+#: perllib/FixMyStreet/Cobrand/Default.pm:735
msgid "Add/edit problem categories"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:732
+#: perllib/FixMyStreet/Cobrand/Default.pm:737
msgid "Add/edit response priorities"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:731
+#: perllib/FixMyStreet/Cobrand/Default.pm:736
msgid "Add/edit response templates"
msgstr ""
@@ -327,7 +320,7 @@ msgstr ""
msgid "Added %s"
msgstr "ΠÏοστέθηκε %s"
-#: templates/web/base/report/_main.html:145
+#: templates/web/base/report/_main.html:149
msgid "Adding this report to your shortlist will remove it from %s’s shortlist."
msgstr ""
@@ -347,17 +340,17 @@ msgstr "Η ειδοποίηση %d δημιουÏγήθηκε για το &quot;
msgid "Alert %d disabled (created %s)"
msgstr "Η ειδοποίηση %d απενεÏγοποιήθηκε (δημιουÏγήθηκε %s)"
-#: templates/web/base/report/update/form_name.html:38
+#: templates/web/base/report/update/form_name.html:42
msgid "Alert me to future updates"
msgstr "Ειδοποίησέ με για μελλοντικές ενημεÏώσεις"
#: templates/web/base/dashboard/index.html:138
#: templates/web/base/dashboard/index.html:21
#: templates/web/base/dashboard/index.html:30
+#: templates/web/base/reports/_list-filters.html:3
msgid "All"
msgstr ""
-#: templates/web/base/reports/index.html:6
#: templates/web/zurich/reports/index.html:13
msgid "All Reports"
msgstr "Όλες οι ΑναφοÏές"
@@ -367,15 +360,23 @@ msgid "All Reports as CSV"
msgstr "Όλες οι ΑναφοÏές ως CSV"
#: templates/web/base/admin/category-multiselect.html:5
-#: templates/web/base/admin/responsepriorities/list.html:19
+#: templates/web/base/admin/responsepriorities/list.html:20
msgid "All categories"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:26
+#, fuzzy
+msgid "All cobrands"
+msgstr "ΠÏοστεθέν σήμα"
+
+#: templates/web/base/admin/reportextrafields/edit.html:47
+msgid "All languages"
+msgstr ""
+
#: templates/web/base/main_nav_items.html:0
#: templates/web/base/main_nav_items.html:27
-#: templates/web/base/reports/_list-filters.html:3
#: templates/web/zurich/admin/index-dm.html:12
-#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:21
+#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:20
#: templates/web/zurich/nav_over_content.html:6
msgid "All reports"
msgstr "Όλες οι αναφοÏές"
@@ -385,6 +386,14 @@ msgstr "Όλες οι αναφοÏές"
msgid "All reports between %s and %s"
msgstr "Όλες οι αναφοÏές από %s μέχÏι %s"
+#: templates/web/base/reports/index.html:23
+msgid "All time"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:20
+msgid "Alternatively, we can hide your name on <strong>all of your reports and updates</strong> across the site:"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:47
msgid "An update marked this problem as fixed."
msgstr "Το Ï€Ïόβλημα ενημεÏώθηκε ως διοÏθωμένο."
@@ -394,31 +403,33 @@ msgstr "Το Ï€Ïόβλημα ενημεÏώθηκε ως διοÏθωμένο."
msgid "Anonymous"
msgstr "Ανώνυμος"
-#: templates/web/base/admin/report_edit.html:134
+#: templates/web/base/report/new/form_user_loggedin.html:21
+#: templates/web/base/report/update/form_name.html:17
+#, fuzzy
+msgid "Anonymous user"
+msgstr "Ανώνυμος"
+
+#: templates/web/base/admin/report_edit.html:122
#: templates/web/base/admin/update_edit.html:23
msgid "Anonymous:"
msgstr "Ανώνυμος:"
-#: templates/web/base/report/new/form_user_loggedin.html:20
-#: templates/web/base/report/update/form_name.html:13
+#: templates/web/base/report/new/form_user_loggedin.html:24
+#: templates/web/base/report/update/form_name.html:14
msgid "Another user"
msgstr ""
-#: templates/web/base/front/footer-marketing.html:16
-msgid "Are you a developer?"
-msgstr "Είσαι Ï€ÏογÏαμματιστής;"
-
-#: templates/web/base/js/translation_strings.html:56
+#: templates/web/base/js/translation_strings.html:59
msgid "Are you sure you want to cancel this upload?"
msgstr "Είστε σίγουÏοι πως θέλετε να ακυÏώσετε αυτή την μεταφόÏτωση;"
#: templates/web/base/admin/report_edit.html:84
-#: templates/web/base/js/translation_strings.html:66
+#: templates/web/base/js/translation_strings.html:69
#: templates/web/base/report/display_tools.html:6
msgid "Are you sure?"
msgstr ""
-#: templates/web/base/admin/body-form.html:75
+#: templates/web/base/admin/body-form.html:77
#: templates/web/base/admin/body.html:20
#: templates/web/zurich/admin/body-form.html:24
msgid "Area covered"
@@ -450,11 +461,11 @@ msgstr "Ανάθεση σε εξωτεÏικό τομέα:"
msgid "Assign to subdivision:"
msgstr "Ανάθεση στο τμήμα:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:727
+#: perllib/FixMyStreet/Cobrand/Default.pm:732
msgid "Assign users to areas"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:214
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:219
msgid "Assigned to %s"
msgstr "Ανατέθηκε στο &quot;%s&quot;"
@@ -475,11 +486,14 @@ msgstr ""
msgid "Auto-response:"
msgstr ""
-#: templates/web/base/admin/report_edit.html:127
-#: templates/web/base/report/_inspect.html:47
+#: templates/web/base/admin/report-category.html:8
msgid "Available categories"
msgstr ""
+#: templates/web/base/reports/index.html:84
+msgid "Average time between a problem being reported and being fixed, last 100 reports."
+msgstr ""
+
#: templates/web/base/dashboard/index.html:109
msgid "Average time to council marking fixed (days)"
msgstr ""
@@ -492,7 +506,7 @@ msgstr ""
msgid "Avoid personal information and vehicle number plates"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:417
+#: perllib/FixMyStreet/DB/Result/Problem.pm:344
#: templates/web/zurich/report/_item.html:9
msgid "Awaiting moderation"
msgstr "Σε αναμονή ελέγχου"
@@ -505,13 +519,13 @@ msgstr "Πίσω"
msgid "Back to all reports"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
msgid "Ban email address"
msgstr "Αποκλεισμός της διεÏθυνσης email"
#: perllib/FixMyStreet/Cobrand/Default.pm:650
-#: perllib/FixMyStreet/Cobrand/Default.pm:729
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
+#: perllib/FixMyStreet/Cobrand/Default.pm:734
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:396
#: templates/web/base/admin/bodies.html:1
#: templates/web/base/admin/report_edit.html:55
#: templates/web/zurich/header.html:56
@@ -533,7 +547,11 @@ msgstr "Τομέας:"
msgid "By Date"
msgstr "Ανά ημεÏομηνία"
-#: templates/web/base/auth/token.html:21 templates/web/base/email_sent.html:18
+#: templates/web/base/admin/extra-metadata-form.html:36
+msgid "Can be used to display extra text to the user alongside the field. The default template does not show this (<code>meta.datatype_description</code>), you must add it in <code>category_extras_fields.html</code>"
+msgstr ""
+
+#: templates/web/base/auth/token.html:27 templates/web/base/email_sent.html:20
msgid "Can&rsquo;t find our email? Check your spam folder&nbsp;&ndash; that&rsquo;s the solution 99% of the time."
msgstr "Δεν μποÏείς να βÏεις το email μας; Έλεγξε τον φάκελο ανεπιθÏμητων &ndash; κατά 99% θα βÏίσκεται εκεί."
@@ -554,8 +572,8 @@ msgstr ""
#: templates/web/base/admin/body.html:72
#: templates/web/base/admin/contact-form.html:19
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/report/_inspect.html:38
-#: templates/web/base/report/_item.html:90
+#: templates/web/base/report/_inspect.html:48
+#: templates/web/base/report/_item.html:92
#: templates/web/base/report/new/category.html:6
#: templates/web/base/report/new/category_wrapper.html:3
#: templates/web/zurich/admin/body.html:14
@@ -566,7 +584,7 @@ msgstr ""
msgid "Category"
msgstr "ΚατηγοÏία"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:852
+#: perllib/FixMyStreet/App/Controller/Admin.pm:956
msgid "Category changed from ‘%s’ to ‘%s’"
msgstr ""
@@ -606,27 +624,11 @@ msgstr ""
msgid "Change password"
msgstr "Αλλαγή ÎºÏ‰Î´Î¹ÎºÎ¿Ï Ï€Ïόσβασης"
-#: templates/web/base/admin/contact-form.html:41
-msgid ""
-"Check <strong>confirmed</strong> to indicate that this contact has been confirmed as correct.\n"
-" If you are not sure of the origin or validity of the contact, leave this unchecked."
-msgstr ""
-"ΤσέκαÏε το <strong>επιβεβαιώθηκε</strong> για να φαίνεται ότι αυτή η επαφή έχει επιβεβαιωθεί ως σωστή.\n"
-"Αν δεν είσαι σίγουÏος για την Ï€Ïοέλευση ή την εγκυÏότητα της επαφής, άφησε το μη τσεκαÏισμένο."
-
-#: templates/web/base/admin/contact-form.html:52
-msgid ""
-"Check <strong>deleted</strong> to remove the category from use. \n"
-" It will not appear as an available category in the drop-down menu on the report-a-problem page."
-msgstr ""
-"ΤσέκαÏε το <strong>διαγÏάφηκε</strong> για να αφαιÏέσεις την κατηγοÏία από χÏήση.\n"
-"Δεν θα φαίνεται ως διαθέσιμη κατηγοÏία στο Î¼ÎµÎ½Î¿Ï Ï„Î·Ï‚ σελίδας \"ΑνάφεÏε ένα Ï€Ïόβλημα\"."
-
-#: templates/web/base/admin/contact-form.html:79
+#: templates/web/base/admin/contact-form.html:80
msgid "Check <strong>inspection required</strong> if reports in this category <strong>must be inspected</strong> before being sent."
msgstr ""
-#: templates/web/base/admin/contact-form.html:63
+#: templates/web/base/admin/contact-form.html:64
msgid ""
"Check <strong>private</strong> if reports in this category should <strong>never be displayed on the website</strong>.\n"
" <br>\n"
@@ -648,11 +650,11 @@ msgid ""
" to the body too. These will appear in the drop-down menu on the report-a-problem page."
msgstr "Επίλεξε ένα όνομα <strong>κατηγοÏίας</strong> που να έχει νόημα για τους πολίτες (Ï€.χ., \"ΛακκοÏβες\", \"Φωτισμός δÏόμων\") αλλά είναι χÏήσιμο και για τον τομέα. Αυτά θα φαίνονται στο Î¼ÎµÎ½Î¿Ï Ï„Î·Ï‚ σελίδας \"ΑνάφεÏε ένα Ï€Ïόβλημα\"."
-#: templates/web/base/report/_inspect.html:93
+#: templates/web/base/report/_inspect.html:103
msgid "Choose another"
msgstr ""
-#: templates/web/base/js/translation_strings.html:65
+#: templates/web/base/js/translation_strings.html:68
msgid "Clear offline data"
msgstr ""
@@ -677,21 +679,22 @@ msgstr "Κάνε κλικ στον σÏνδεσμο του email επιβεβαÎ
msgid "Click the link in our confirmation email to publish your update."
msgstr "Κάνε κλικ στον σÏνδεσμο του email επιβεβαίωσης για να ενεÏγοποιήσεις την Ï„Ïοποποίηση."
-#: templates/web/base/auth/token.html:18
+#: templates/web/base/auth/token.html:23
msgid "Click the link in our confirmation email to sign in."
msgstr "Κάνε κλικ στον σÏνδεσμο του email επιβεβαίωσης για να συνδεθείς."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:189
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:960
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:17
-#: templates/web/base/admin/report_blocks.html:27
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:43
-#: templates/web/base/report/banner.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:18
+#: templates/web/base/auth/token.html:20
+#, fuzzy
+msgid "Click the link in that email to sign in."
+msgstr "Κάνε κλικ στον σÏνδεσμο του email επιβεβαίωσης για να συνδεθείς."
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:134
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:194
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:965
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:11
+#: templates/web/base/admin/states/index.html:103
+#: templates/web/base/admin/states/index.html:27
+#: templates/web/base/admin/states/index.html:33
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:10
#: templates/web/zurich/admin/header.html:16
@@ -699,23 +702,17 @@ msgstr "Κάνε κλικ στον σÏνδεσμο του email επιβεβαÎ
msgid "Closed"
msgstr "Κλειστό"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:889
+#: perllib/FixMyStreet/DB/Result/Problem.pm:826
msgid "Closed by council"
msgstr "Κλειστό από την υπηÏεσία"
-#: templates/web/base/reports/_list-filters.html:13
-msgid "Closed reports"
-msgstr "κλειστές αναφοÏές"
-
-#: templates/web/base/admin/problem_row.html:38
-msgid "Closed:"
-msgstr "Κλειστό:"
-
#: templates/web/base/admin/report_edit.html:37
msgid "Co-ordinates:"
msgstr "Συντεταγμένες:"
#: templates/web/base/admin/list_updates.html:10
+#: templates/web/base/admin/reportextrafields/edit.html:24
+#: templates/web/base/admin/reportextrafields/index.html:7
msgid "Cobrand"
msgstr "ΠÏοστεθέν σήμα"
@@ -729,10 +726,13 @@ msgstr "Δεδομένα Ï€Ïοστεθέντος σήματος:"
msgid "Cobrand:"
msgstr "ΠÏοστεθέν σήμα:"
+#: templates/web/base/admin/extra-metadata-form.html:14
+msgid "Code"
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:50
-#, fuzzy
msgid "Collapse map"
-msgstr "ΧάÏτης σε χÏήση"
+msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:646
#: templates/web/base/admin/config_page.html:1
@@ -760,9 +760,8 @@ msgstr "Κάνε επιβεβαίωση μέσω email παÏακάτω, εισÎ
msgid "Confirmation"
msgstr "Επιβεβαίωση"
-#: templates/web/base/admin/body.html:85
-#: templates/web/base/admin/category_edit.html:54
-#: templates/web/base/admin/contact-form.html:47
+#: templates/web/base/admin/contact-form.html:56
+#: templates/web/zurich/admin/contact-form.html:12
#: templates/web/zurich/admin/stats.html:40
msgid "Confirmed"
msgstr "Επιβεβαιώθηκε"
@@ -797,8 +796,8 @@ msgstr "Επικοινώνησε με την ομάδα διαχείÏισης"
msgid "Coordinates:"
msgstr "Συντεταγμένες:"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1668
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1696
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1773
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1801
msgid "Could not find user"
msgstr "Δεν είναι δυνατή η εÏÏεση χÏήστη"
@@ -818,33 +817,28 @@ msgstr "Επαφές υπηÏεσίας για &quot;%s&quot;"
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:83
-#, fuzzy
msgid "Council has marked as closed"
-msgstr "σημειωμένο ως κλειστό"
+msgstr ""
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:57
-#, fuzzy
msgid "Council has marked as fixed"
-msgstr "σημειωμένο ως διοÏθωμένο"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:80
-#, fuzzy
msgid "Council has marked as in progress"
-msgstr "σημειωμένο ως σε διαδικασία αντιμετώπισης"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:82
-#, fuzzy
msgid "Council has marked as investigating"
-msgstr "σημειωμένο ως υπό έλεγχο"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:81
-#, fuzzy
msgid "Council has marked as planned"
-msgstr "σημειωμένο ως Ï€ÏογÏαμματισμένο"
+msgstr ""
#: templates/web/base/report/_council_sent_info.html:6
msgid "Council ref:&nbsp;%s"
@@ -861,24 +855,33 @@ msgstr "ΥπηÏεσία:"
msgid "Count"
msgstr "ΚαταμέτÏηση"
+#: templates/web/base/admin/states/index.html:114
+#, fuzzy
+msgid "Create"
+msgstr "ΔημιουÏγήθηκε"
+
#: templates/web/base/email_sent.html:1
msgid "Create a report"
msgstr "ΔημιουÏγία αναφοÏάς"
-#: templates/web/base/admin/contact-form.html:137
+#: templates/web/base/admin/contact-form.html:138
#: templates/web/zurich/admin/body.html:62
msgid "Create category"
msgstr "ΔημιουÏγία κατηγοÏίας"
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/responsepriorities/edit.html:58
msgid "Create priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:714
+#: perllib/FixMyStreet/Cobrand/Default.pm:718
+msgid "Create reports/updates as anonymous user"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:719
msgid "Create reports/updates as the council"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:713
+#: perllib/FixMyStreet/Cobrand/Default.pm:717
msgid "Create reports/updates on a user's behalf"
msgstr ""
@@ -908,13 +911,15 @@ msgstr "Κατάσταση"
msgid "Currently no bodies have been created."
msgstr "Δεν έχουν δημιουÏγηθεί τομείς μέχÏι στιγμής."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:825
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:830
#: templates/web/zurich/admin/report_edit-sdm.html:105
msgid "Customer not contactable"
msgstr "Δεν υπάÏχει Ï„Ïόπος επικοινωνίας με τον πελάτη"
#: templates/web/base/dashboard/index.html:5
#: templates/web/base/dashboard/index.html:7
+#: templates/web/base/reports/index.html:15
+#: templates/web/base/reports/index.html:18
msgid "Dashboard"
msgstr "Πίνακας Ελέγχου"
@@ -922,29 +927,36 @@ msgstr "Πίνακας Ελέγχου"
msgid "Dealt with by subdivision within 5 working days"
msgstr "Εξετάστηκε από το τμήμα μέσα σε 5 εÏγάσιμες ημέÏες"
-#: templates/web/base/report/_inspect.html:73
+#: templates/web/base/admin/responsepriorities/list.html:9
+msgid "Default"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:39
+msgid "Default priority"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:72
msgid "Defect type"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:973
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1078
#: templates/web/base/admin/template_edit.html:50
#: templates/web/zurich/admin/template_edit.html:33
msgid "Delete template"
msgstr "ΔιαγÏαφή Ï€ÏοτÏπου"
#: templates/web/base/admin/bodies.html:31
-#: templates/web/base/admin/body.html:87
-#: templates/web/base/admin/category_edit.html:55
#: templates/web/base/admin/contact-form.html:58
-#: templates/web/zurich/admin/contact-form.html:12
+#: templates/web/zurich/admin/contact-form.html:13
msgid "Deleted"
msgstr "ΔιαγÏαμμένα"
-#: templates/web/base/report/_main.html:110
-#: templates/web/base/report/update.html:59
+#: templates/web/base/report/_main.html:114
+#: templates/web/base/report/update.html:68
msgid "Describe why you are moderating this"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:32
#: templates/web/base/admin/responsepriorities/list.html:7
#: templates/web/zurich/admin/index-dm.html:22
#: templates/web/zurich/admin/index-sdm.html:20
@@ -968,7 +980,7 @@ msgstr "ΠληÏοφοÏίες"
msgid "Details:"
msgstr "ΠληÏοφοÏίες:"
-#: templates/web/base/admin/body.html:93
+#: templates/web/base/admin/body.html:92
msgid "Devolved"
msgstr "Μεταβιβάστηκε"
@@ -981,18 +993,17 @@ msgstr "Δεν χÏησιμοποιήθηκε ο χάÏτης"
msgid "Diligency prize league table"
msgstr "Πίνακας βÏαβείων επιμέλειας"
-#: templates/web/base/report/_main.html:114
-#: templates/web/base/report/update.html:61
-#, fuzzy
+#: templates/web/base/report/_main.html:118
+#: templates/web/base/report/update.html:70
msgid "Discard changes"
-msgstr "Αποθήκευση αλλαγών"
+msgstr ""
#: templates/web/base/admin/open311-form-fields.html:95
msgid "Do not send email alerts on fetched comments to problem creator"
msgstr ""
#. ("%s is the site name")
-#: templates/web/base/auth/general.html:58
+#: templates/web/base/auth/general.html:60
#: templates/web/base/report/new/form_user_loggedout.html:25
#: templates/web/base/report/new/oauth_email_form.html:18
#: templates/web/base/report/update-form.html:30
@@ -1000,40 +1011,33 @@ msgstr ""
msgid "Do you have a %s password?"
msgstr "Έχεις κωδικό Ï€Ïόσβασης %s?"
+#: templates/web/base/report/_inspect.html:87
+msgid "Do you want to automatically raise a defect?"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:57
msgid "Don&rsquo;t know"
msgstr "Δεν γνωÏίζω"
-#: templates/web/base/contact/index.html:108
+#: templates/web/base/contact/index.html:112
msgid "Don't like forms?"
msgstr "Δεν σου αÏέσουν οι φόÏμες;"
-#: templates/web/base/report/_item.html:25
+#: templates/web/base/report/_item.html:27
msgid "Down one"
msgstr ""
-#: templates/web/base/js/translation_strings.html:55
+#: templates/web/base/js/translation_strings.html:58
msgid "Drag and drop photos here or <u>click to upload</u>"
msgstr "ΣÏÏε φωτογÏαφίες εδώ ή <u>κάνε κλικ για ανέβασμα</u>"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:10
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "Duplicate"
-msgstr "Διπλότυπο"
-
-#: templates/web/base/report/_inspect.html:88
-#, fuzzy
+#: templates/web/base/report/_inspect.html:98
msgid "Duplicate of"
-msgstr "Διπλότυπο"
+msgstr ""
-#: templates/web/base/report/_inspect.html:98
-#, fuzzy
+#: templates/web/base/report/_inspect.html:108
msgid "Duplicates"
-msgstr "Διπλότυπο"
+msgstr ""
#: templates/web/base/admin/body.html:116
msgid ""
@@ -1046,43 +1050,43 @@ msgstr ""
"ΔιαφοÏετικές κατηγοÏίες <strong>μποÏοÏν να ανήκουν στην ίδια επαφή</strong> (διεÏθυνση email).\n"
"Αυτό σημαίνει ότι μποÏείς να Ï€Ïοσθέσεις πολλές κατηγοÏίες ακόμη και αν έχεις μία επαφή στον τομέα."
-#: templates/web/base/report/_inspect.html:16
-#: templates/web/base/report/_item.html:81
+#: templates/web/base/report/_inspect.html:26
+#: templates/web/base/report/_item.html:83
msgid "Easting/Northing:"
msgstr ""
#: templates/web/base/admin/list_updates.html:42
#: templates/web/base/admin/problem_row.html:41
-#: templates/web/base/admin/responsepriorities/list.html:26
+#: templates/web/base/admin/responsepriorities/list.html:28
#: templates/web/base/admin/templates.html:22
#: templates/web/base/admin/users.html:34
#: templates/web/zurich/admin/problem_row.html:48
msgid "Edit"
msgstr "ΕπεξεÏγασία"
-#: templates/web/base/admin/body.html:140
+#: templates/web/base/admin/body.html:141
#: templates/web/base/admin/index.html:39
#: templates/web/zurich/admin/body.html:69
msgid "Edit body details"
msgstr "ΕπεξεÏγασία λεπτομεÏειών του τομέα"
-#: perllib/FixMyStreet/Cobrand/Default.pm:724
+#: perllib/FixMyStreet/Cobrand/Default.pm:729
msgid "Edit other users' details"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:725
+#: perllib/FixMyStreet/Cobrand/Default.pm:730
msgid "Edit other users' permissions"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:708
+#: perllib/FixMyStreet/Cobrand/Default.pm:712
msgid "Edit report category"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:709
+#: perllib/FixMyStreet/Cobrand/Default.pm:713
msgid "Edit report priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:707
+#: perllib/FixMyStreet/Cobrand/Default.pm:711
msgid "Edit reports"
msgstr ""
@@ -1105,15 +1109,15 @@ msgstr "Γίνεται επεξεÏγασία της ενημέÏωσης %d"
msgid "Editing user %d"
msgstr "Γίνεται επεξεÏγασία του χÏήστη %d"
-#: templates/web/base/admin/category_edit.html:56
+#: templates/web/base/admin/category_edit.html:30
msgid "Editor"
msgstr "ΕπεξεÏγαστής"
#: templates/web/base/admin/bodies.html:27
-#: templates/web/base/admin/category_edit.html:53
+#: templates/web/base/admin/category_edit.html:28
#: templates/web/base/admin/flagged.html:38
#: templates/web/base/admin/users.html:17
-#: templates/web/base/auth/general.html:49
+#: templates/web/base/auth/general.html:51
#: templates/web/zurich/admin/body-form.html:9
#: templates/web/zurich/admin/body.html:15
#: templates/web/zurich/auth/general.html:24
@@ -1121,13 +1125,14 @@ msgstr "ΕπεξεÏγαστής"
msgid "Email"
msgstr "Email"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1644
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1749
msgid "Email added to abuse list"
msgstr "Το Email Ï€Ïοστέθηκε στην μαÏÏη λίστα"
-#: templates/web/base/admin/contact-form.html:36
-#: templates/web/base/report/new/form_user_loggedin.html:28
-#: templates/web/base/report/update/form_name.html:19
+#: templates/web/base/admin/contact-form.html:38
+#: templates/web/base/alert/_list.html:74
+#: templates/web/base/report/new/form_user_loggedin.html:32
+#: templates/web/base/report/update/form_name.html:23
msgid "Email address"
msgstr ""
@@ -1139,11 +1144,11 @@ msgstr "Η ειδοποίηση μέσω email δημιουÏγήθηκε"
msgid "Email alert deleted"
msgstr "Η ειδοποίηση μέσω email διεγÏάφη"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1641
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1746
msgid "Email already in abuse list"
msgstr "Το Email είναι ήδη στην μαÏÏη λίστα"
-#: templates/web/base/admin/report_edit.html:141
+#: templates/web/base/admin/report_edit.html:129
#: templates/web/base/admin/update_edit.html:35
#: templates/web/base/admin/user-form.html:19
#: templates/web/zurich/admin/body.html:48
@@ -1168,8 +1173,8 @@ msgstr ""
"Για πεÏισσότεÏες πληÏοφοÏίες δες\n"
"<a href='https://www.mysociety.org/2013/02/20/open311-extended/' class='admin-offsite-link'>αυτό το άÏθÏο</a>."
-#: templates/web/base/admin/body-form.html:120
-#: templates/web/base/admin/body-form.html:121
+#: templates/web/base/admin/body-form.html:122
+#: templates/web/base/admin/body-form.html:123
msgid ""
"Enable this <strong>can be devolved</strong> setting if one or more contacts have a \n"
" different endpoint (and send method) from the body's. For example, if reports for some categories of\n"
@@ -1187,11 +1192,11 @@ msgstr "ΗμεÏομηνία Λήξης:"
msgid "Endpoint"
msgstr "Σημείο τεÏματισμοÏ"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:76
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:81
msgid "Enter a Z&uuml;rich street name"
msgstr "Δώσε μια ονομασία για την οδό"
-#: perllib/FixMyStreet/Cobrand/UK.pm:15
+#: perllib/FixMyStreet/Cobrand/UK.pm:16
msgid "Enter a nearby UK postcode, or street name and area"
msgstr "ΓÏάψε έναν κοντινό ταχυδÏομικό κώδικα, οδό ή πεÏιοχή"
@@ -1200,12 +1205,13 @@ msgstr "ΓÏάψε έναν κοντινό ταχυδÏομικό κώδικα,
msgid "Enter a nearby postcode, or street name and area"
msgstr "ΓÏάψε έναν κοντινό ταχυδÏομικό κώδικα, οδό ή πεÏιοχή"
+#: perllib/FixMyStreet/Cobrand/DansMonQwat.pm:14
#: templates/web/base/around/postcode_form.html:5
#: templates/web/base/around/postcode_form.html:6
msgid "Enter a nearby street name and area"
msgstr "ΓÏάψε μία κοντινή οδό ή πεÏιοχή"
-#: templates/web/base/auth/general.html:116
+#: templates/web/base/auth/general.html:118
#: templates/web/base/report/new/form_user_loggedout_by_email.html:35
#: templates/web/base/report/update/form_user_loggedout_by_email.html:13
#: templates/web/zurich/auth/general.html:65
@@ -1225,8 +1231,8 @@ msgstr "ΓÏάψε λεπτομέÏειες σχετικά με το Ï€ÏόβλÎ
msgid "Error"
msgstr "Σφάλμα"
-#: templates/web/base/reports/_list-filters.html:20
-#: templates/web/base/reports/_list-filters.html:28
+#: templates/web/base/reports/_list-filters.html:31
+#: templates/web/base/reports/_list-filters.html:39
msgid "Everything"
msgstr "Τα πάντα"
@@ -1239,8 +1245,7 @@ msgstr "ΠαÏάδειγμα ταχυδÏÎ¿Î¼Î¹ÎºÎ¿Ï ÎºÏŽÎ´Î¹ÎºÎ± %s"
msgid "Examples:"
msgstr "ΠαÏαδείγματα:"
-#: templates/web/base/admin/report_edit.html:122
-#: templates/web/base/report/_inspect.html:42
+#: templates/web/base/admin/report-category.html:3
msgid "Existing category"
msgstr ""
@@ -1248,17 +1253,16 @@ msgstr ""
msgid "Expand map"
msgstr ""
-#: templates/web/base/report/new/form_report.html:52
+#: templates/web/base/report/new/form_report.html:54
msgid "Explain what’s wrong"
msgstr ""
-#: templates/web/base/dashboard/index.html:146
-#, fuzzy
+#: templates/web/base/dashboard/index.html:147
msgid "Export as CSV"
-msgstr "Όλες οι ΑναφοÏές ως CSV"
+msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:913
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:179
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:12
msgid "Extern"
@@ -1269,7 +1273,7 @@ msgstr "ΕξωτεÏικός"
msgid "External ID"
msgstr ""
-#: templates/web/base/admin/body-form.html:87
+#: templates/web/base/admin/body-form.html:89
msgid "External URL"
msgstr "ΕξωτεÏικός ΣÏνδεσμος"
@@ -1281,13 +1285,20 @@ msgstr ""
msgid "External team"
msgstr ""
-#: templates/web/base/admin/category_edit.html:25
+#: perllib/FixMyStreet/Cobrand/Default.pm:673
+#: templates/web/base/admin/reportextrafields/edit.html:1
+#: templates/web/base/admin/reportextrafields/index.html:1
+#, fuzzy
+msgid "Extra Fields"
+msgstr "Επιπλέον δεδομένα:"
+
+#: templates/web/base/admin/contact-form.html:141
#: templates/web/base/admin/report_edit.html:94
msgid "Extra data:"
msgstr "Επιπλέον δεδομένα:"
-#: templates/web/base/report/_inspect.html:134
-#: templates/web/base/report/_item.html:106
+#: templates/web/base/report/_inspect.html:144
+#: templates/web/base/report/_item.html:108
msgid "Extra details"
msgstr ""
@@ -1295,6 +1306,11 @@ msgstr ""
msgid "Failed to send message"
msgstr "Αποτυχία αποστολής μηνÏματος"
+#: templates/web/base/admin/reportextrafields/edit.html:58
+#: templates/web/base/admin/reportextrafields/index.html:9
+msgid "Fields"
+msgstr ""
+
#: templates/web/zurich/admin/index-dm.html:33
#: templates/web/zurich/admin/index-sdm.html:30
msgid "Filter report list"
@@ -1308,52 +1324,32 @@ msgstr "ΠÏώτη φοÏά"
msgid "Fix this by choosing an <strong>area covered</strong> in the <em>Edit body details</em> form below."
msgstr "ΔιόÏθωσέ το επιλέγοντας μία <strong>πεÏιοχή αÏμοδιότητας</strong> στη φόÏμα <em>ΕπεξεÏγασία λεπτομεÏειών του σώματος</em> παÏακάτω."
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:11
-#: templates/web/base/admin/report_blocks.html:26
+#: perllib/FixMyStreet/App/Controller/Admin/States.pm:35
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:133
+#: templates/web/base/admin/states/index.html:29
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:41
-#: templates/web/base/report/banner.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:17
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:45
msgid "Fixed"
msgstr "ΔιοÏθώθηκε"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:13
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:7
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:62
msgid "Fixed - Council"
msgstr "ΔιοÏθώθηκε - ΥπηÏεσία"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:12
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:63
msgid "Fixed - User"
msgstr "ΔιοÏθώθηκε - ΧÏήστης"
-#: templates/web/base/reports/_list-filters.html:14
-msgid "Fixed reports"
-msgstr "διοÏθωμένες αναφοÏές"
-
-#: templates/web/base/admin/problem_row.html:37
-msgid "Fixed:"
-msgstr "ΔιοÏθώθηκε:"
-
-#: templates/web/base/admin/body-form.html:95
-#: templates/web/base/admin/responsepriorities/edit.html:41
+#: templates/web/base/admin/body-form.html:97
+#: templates/web/base/admin/responsepriorities/edit.html:53
#: templates/web/zurich/admin/body-form.html:36
msgid "Flag as deleted"
msgstr "Σήμανση ως διαγÏαμμένο"
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/report_blocks.html:23
msgid "Flag user"
msgstr "Επισήμανση χÏήστη"
-#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: perllib/FixMyStreet/Cobrand/Default.pm:644
#: templates/web/base/admin/users.html:20
msgid "Flagged"
msgstr "Επισημασμένα"
@@ -1370,7 +1366,7 @@ msgstr "Οι επισημασμένοι χÏήστες καταγÏάφονταÎ
msgid "Flagged users are not restricted in any way. This is just a list of users that have been marked for attention."
msgstr "Οι επισημασμένοι χÏήστες δεν υφίστανται κάποιο είδος πεÏιοÏισμοÏ. Είναι απλά μία λίστα από χÏήστες που έχουν επισημανθεί ώστε να ξεχωÏίζουν."
-#: templates/web/base/admin/report_edit.html:147
+#: templates/web/base/admin/report_edit.html:135
#: templates/web/base/admin/user-form.html:100
msgid "Flagged:"
msgstr "Επισημασμένοι:"
@@ -1383,21 +1379,25 @@ msgstr "ΑκολοÏθησε ένα σÏνδεσμο πεÏιοχής για νÎ
msgid "For best results include a close-up and a wide shot"
msgstr ""
-#: templates/web/base/admin/body-form.html:71
+#: templates/web/base/admin/extra-metadata-form.html:52
+msgid "For each option, <strong>Key</strong> is the value which is stored in the database for that option and <strong>Name</strong> is the value displayed to the user."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:73
msgid "For more information, see <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
msgstr "Για πεÏισσότεÏες πληÏοφοÏίες, δες <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>Πώς το FixMyStreet χÏησιμοποιεί το Mapit (στα Αγγλικά)</a>."
-#: templates/web/base/auth/general.html:95
+#: templates/web/base/auth/general.html:97
#: templates/web/base/report/new/form_user_loggedout_password.html:20
#: templates/web/base/report/update/form_user_loggedout_password.html:19
msgid "Forgotten your password?"
msgstr "Ξέχασες τον κωδικό Ï€Ïόσβασής σου;"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:743
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:748
msgid "Forwarded to external body"
msgstr "ΠÏοωθήθηκε στον εξωτεÏικό τομέα"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:744
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:749
msgid "Forwarded wish to external body"
msgstr "Η επιθυμία Ï€Ïοωθήθηκε στον εξωτεÏικό τομέα"
@@ -1407,6 +1407,10 @@ msgstr "Η επιθυμία Ï€Ïοωθήθηκε στον εξωτεÏικό Ï„Î
msgid "Frequently Asked Questions"
msgstr "Συχνές ΕÏωτήσεις"
+#: templates/web/base/admin/stats.html:102
+msgid "Get Count"
+msgstr ""
+
#: templates/web/base/around/_updates.html:3
#: templates/web/base/report/display_tools.html:14
msgid "Get updates"
@@ -1422,10 +1426,14 @@ msgstr "Λήψη ενημεÏώσεων για Ï€Ïοβλήματα %s"
msgid "Get updates of problems in this %s"
msgstr "Λήψη ενημεÏώσεων για Ï€Ïοβλήματα σε αυτό το &quot;%s&quot;"
-#: templates/web/base/alert/_list.html:83
+#: templates/web/base/alert/_list.html:85
msgid "Give me an RSS feed"
msgstr "Λήψη μίας Ïοής RSS "
+#: templates/web/base/admin/reportextrafields/edit.html:6
+msgid "Give this collection of fields a name. It is not shown publicly, just here in the admin."
+msgstr ""
+
#: templates/web/base/questionnaire/completed.html:14
msgid "Glad to hear it’s been fixed!"
msgstr "ΧαιÏόμαστε που φτιάχτηκε!"
@@ -1435,8 +1443,9 @@ msgstr "ΧαιÏόμαστε που φτιάχτηκε!"
#: templates/web/base/admin/index.html:49
#: templates/web/base/alert/index.html:34
#: templates/web/base/around/postcode_form.html:13
-#: templates/web/base/reports/_list-filters.html:38
-#: templates/web/base/reports/_list-filters.html:53
+#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:64
+#: templates/web/base/reports/index.html:75
#: templates/web/zurich/admin/stats.html:26
msgid "Go"
msgstr "ΕμπÏός"
@@ -1445,7 +1454,7 @@ msgstr "ΕμπÏός"
msgid "Going to send questionnaire?"
msgstr "ΣκοπεÏεις να στείλεις εÏωτηματολόγιο;"
-#: perllib/FixMyStreet/Cobrand/Default.pm:726
+#: perllib/FixMyStreet/Cobrand/Default.pm:731
msgid "Grant access to the admin"
msgstr ""
@@ -1453,10 +1462,6 @@ msgstr ""
msgid "Graph of problem creation by status over time"
msgstr "ΓÏάφημα της δημιουÏγίας Ï€Ïοβλημάτων (κατάσταση Ï€Ïος χÏόνος)"
-#: templates/web/base/reports/index.html:15
-msgid "Greyed-out lines are councils that no longer exist."
-msgstr "Οι γκÏίζες ονομασίες είναι υπηÏεσίες που δεν υπάÏχουν πλέον."
-
#: templates/web/base/questionnaire/index.html:48
msgid "Has this problem been fixed?"
msgstr "ΔιοÏθώθηκε το Ï€Ïόβλημα;"
@@ -1467,7 +1472,7 @@ msgstr "Έχεις αναφέÏει ποτέ ξανά ένα Ï€Ïόβλημα σ
#: templates/web/base/main_nav_items.html:40
#: templates/web/zurich/about/faq-de-ch.html:1
-#: templates/web/zurich/footer.html:23
+#: templates/web/zurich/footer.html:22
#: templates/web/zurich/nav_over_content.html:8
msgid "Help"
msgstr "Βοήθεια"
@@ -1477,22 +1482,13 @@ msgstr "Βοήθεια"
msgid "Help <strong>%s</strong> resolve your problem quicker, by providing some extra detail. This extra information will not be published online."
msgstr ""
-#: templates/web/base/alert/_list.html:9
-msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
-msgstr "Αυτές είναι οι κατηγοÏίες ειδοποιήσεων για τοπικά Ï€Ïοβλήματα για &lsquo;%s&rsquo;."
-
-#: templates/web/zurich/footer.html:12
+#: templates/web/zurich/footer.html:11
msgid "Hi %s"
msgstr "Γεια %s"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:906
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:19
-#: templates/web/base/admin/report_blocks.html:28
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:911
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:60
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:19
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:11
#: templates/web/zurich/admin/stats.html:32
@@ -1500,16 +1496,33 @@ msgstr "Γεια %s"
msgid "Hidden"
msgstr "ΚÏυμμένα"
-#: templates/web/base/report/_main.html:105
-#, fuzzy
+#: templates/web/base/report/_main.html:109
msgid "Hide entire report"
-msgstr "Επαναποστολή αναφοÏάς"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:1
+#: templates/web/base/my/anonymize.html:2
+msgid "Hide my name"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:21
+msgid "Hide my name everywhere"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:10
+msgid "Hide my name in this update"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:16
+msgid "Hide my name on this report"
+msgstr ""
#: templates/web/base/around/display_location.html:67
msgid "Hide old"
msgstr "ΑπόκÏυψη παλιών"
#: templates/web/base/around/display_location.html:62
+#: templates/web/base/js/translation_strings.html:55
msgid "Hide pins"
msgstr "ΑπόκÏυψη καÏφιτσών"
@@ -1517,7 +1530,16 @@ msgstr "ΑπόκÏυψη καÏφιτσών"
msgid "Hide update completely?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:49
+#: templates/web/base/report/_report_meta_info.html:3
+#: templates/web/base/report/update.html:55
+msgid "Hide your name?"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:38
+msgid "Hint"
+msgstr ""
+
+#: templates/web/base/admin/category_edit.html:24
msgid "History"
msgstr "ΙστοÏικό"
@@ -1534,12 +1556,12 @@ msgid "How to send successful reports"
msgstr "Πώς να στείλεις επιτυχημένες αναφοÏές"
#: templates/web/base/tokens/confirm_problem.html:36
-#: templates/web/base/tokens/confirm_problem.html:40
+#: templates/web/base/tokens/confirm_problem.html:41
msgid "I just reported a problem on @fixmystreet"
msgstr "Μόλις ανέφεÏα ένα Ï€Ïόβλημα στο @fixmystreet"
-#: templates/web/base/tokens/confirm_update.html:19
-#: templates/web/base/tokens/confirm_update.html:23
+#: templates/web/base/tokens/confirm_update.html:20
+#: templates/web/base/tokens/confirm_update.html:25
msgid "I just updated a problem on @fixmystreet"
msgstr "Μόλις ενημέÏωσα ένα Ï€Ïόβλημα στο @fixmystreet"
@@ -1559,8 +1581,8 @@ msgstr "Δεν μποÏέσαμε να εντοπίσουμε το Ï€ÏόβληÎ
msgid "ID"
msgstr "Ταυτότητα"
-#: templates/web/base/admin/body-form.html:30
-#: templates/web/base/admin/body-form.html:31
+#: templates/web/base/admin/body-form.html:32
+#: templates/web/base/admin/body-form.html:33
msgid ""
"Identify a <strong>parent</strong> if this body is itself part of another body.\n"
" For basic installations, you don't need to join bodies in this way."
@@ -1568,10 +1590,18 @@ msgstr ""
"Κάνε ταυτοποίηση ενός <strong>γονέα</strong> αν αυτός ο τομέας είναι από μόνος του μέÏος ενός άλλου τομέα.\n"
"Για βασικές διαÏθÏώσεις, δεν χÏειάζεται να συνδέσεις τους τομείς Î¼ÎµÏ„Î±Î¾Ï Ï„Î¿Ï…Ï‚, με αυτόν τον Ï„Ïόπο."
+#: templates/web/base/auth/token.html:19
+msgid "If there's a user associated with the address you entered, we've sent a confirmation email."
+msgstr ""
+
#: templates/web/base/admin/responsepriorities/edit.html:23
msgid "If this priority is passed to an external service (e.g. Exor/Confirm) enter the priority code to use with that service here."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:24
+msgid "If ticked the user won’t see an input field, just the ‘Description’ text."
+msgstr ""
+
#: templates/web/base/admin/contact-form.html:14
msgid ""
"If two or more bodies serve the same location, FixMyStreet combines identical categories into a single entry in\n"
@@ -1582,7 +1612,7 @@ msgstr "Αν δÏο ή πεÏισσότεÏοι τομείς υπηÏετοÏν
msgid "If you get some more information about the status of your problem, please come back to the site and leave an update."
msgstr "Αν μάθεις πεÏισσότεÏες πληÏοφοÏίες για την κατάσταση του Ï€Ïοβλήματός σου, σε παÏακαλοÏμε να επιστÏέψεις στην ιστοσελίδα και να γÏάψεις μια σχετική ενημέÏωση."
-#: templates/web/base/admin/responsepriorities/edit.html:33
+#: templates/web/base/admin/responsepriorities/edit.html:45
msgid "If you only want this priority to be an option for specific categories, pick them here. By default they will show for all categories."
msgstr ""
@@ -1605,7 +1635,7 @@ msgid ""
"(please note it will not be sent to the council)."
msgstr "Αν επιθυμείς να αφήσεις μία δημόσια ενημέÏωση για το Ï€Ïόβλημα, παÏακαλοÏμε γÏάψ' την εδώ (σημείωση: δεν θα αποσταλεί στην υπηÏεσία)."
-#: templates/web/base/admin/contact-form.html:30
+#: templates/web/base/admin/contact-form.html:32
msgid "If you're using <strong>a send method that is not email</strong>, enter the service ID (Open311) or equivalent identifier here."
msgstr "Αν χÏησιμοποιείς κάποια μέθοδο αποστολής <strong>εκτός από email</strong>, γÏάψε το ID της υπηÏεσίας (Open311) ή κάποιο ισοδÏναμο ID εδώ."
@@ -1634,7 +1664,7 @@ msgid ""
" when they are shown on the site. Enter the ID (number) of that user."
msgstr "Αν έχεις ενεÏγοποιήσει την αποστολή ενημεÏώσεων μέσω Open311 παÏαπάνω, Ï€Ïέπει να Ï€ÏοσδιοÏίσεις ποιος <strong>χÏήστης</strong> του FixMyStreet θα χαÏακτηÏίζεται ως ο δημιουÏγός αυτών των ενημεÏώσεων όποτε εμφανίζονται στην ιστοσελίδα. ΠαÏακαλοÏμε γÏάψε τον αÏιθμό ID Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… χÏήστη."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:133
+#: perllib/FixMyStreet/App/Controller/Contact.pm:134
msgid "Illegal ID"
msgstr "Λανθασμένη ID"
@@ -1642,13 +1672,6 @@ msgstr "Λανθασμένη ID"
msgid "Illegal feed selection"
msgstr "Λανθασμένη επιλογή Ïοής"
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "In Progress"
-msgstr "Σε Εξέλιξη"
-
#: templates/web/base/admin/flagged.html:39
msgid "In abuse table?"
msgstr "Î’Ïίσκεται στον πίνακα καταχÏήσεων;"
@@ -1657,18 +1680,17 @@ msgstr "Î’Ïίσκεται στον πίνακα καταχÏήσεων;"
msgid "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
msgstr "Επιπλέον, θα επιστÏαφοÏν οι παÏακάτω ιδιότητες που δεν πεÏιλαμβάνονται στις Ï€ÏοδιαγÏαφές του Open311 v2: agency_sent_datetime, title (επιστÏέφεται επίσης ως μέÏος της πεÏιγÏαφής), interface_used, comment_count, requestor_name (υπάÏχει μόνο εφόσον ο αιτών επιτÏέψει την εμφάνιση του ονόματός του στην ιστοσελίδα)."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:192
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:954
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:9
-#: templates/web/base/report/banner.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:5
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:197
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:959
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:8
msgid "In progress"
msgstr "Σε εξέλιξη"
+#: templates/web/base/admin/contact-form.html:57
+msgid "Inactive"
+msgstr ""
+
#: templates/web/base/tokens/confirm_alert.html:11
msgid "Inbox zero, here we come!"
msgstr "Δεν έχετε νέα μηνÏματα!"
@@ -1685,11 +1707,15 @@ msgstr "Îα πεÏιλαμβάνονται μη επιβεβαιωμένες α
msgid "Incorrect has_photo value \"%s\""
msgstr "Εσφαλμένη τιμή has_photo \"%s\""
-#: templates/web/base/admin/contact-form.html:84
+#: templates/web/base/report/_inspect.html:5
+msgid "Inspect report"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:85
msgid "Inspection required"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:711
+#: perllib/FixMyStreet/Cobrand/Default.pm:715
msgid "Instruct contractors to fix problems"
msgstr ""
@@ -1697,13 +1723,6 @@ msgstr ""
msgid "Internal notes"
msgstr "ΕσωτεÏικές οδηγίες"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:11
-msgid "Internal referral"
-msgstr "ΕσωτεÏική αναφοÏά"
-
#: templates/web/base/offline/appcache.html:3
msgid "Internet glitch"
msgstr ""
@@ -1712,7 +1731,7 @@ msgstr ""
msgid "Invalid agency_responsible value %s"
msgstr "Εσφαλμένη τιμή agency_responsible %s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1502
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1607
msgid "Invalid end date"
msgstr "Λανθασμένη ημεÏομηνία λήξης"
@@ -1720,26 +1739,15 @@ msgstr "Λανθασμένη ημεÏομηνία λήξης"
msgid "Invalid format %s specified."
msgstr "Λανθασμένη μοÏφοποίηση %s."
-#: perllib/FixMyStreet/App/Controller/Report.pm:398
+#: perllib/FixMyStreet/App/Controller/Report.pm:409
msgid "Invalid location. New location must be covered by the same council."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1498
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1603
msgid "Invalid start date"
msgstr "Λανθασμένη ημεÏομηνία έναÏξης"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:7
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:4
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Investigating"
-msgstr "Γίνεται διεÏεÏνηση"
-
-#: templates/web/base/contact/blurb.html:8
+#: templates/web/base/contact/blurb.html:2
msgid "It's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there."
msgstr "Συχνά είναι γÏηγοÏότεÏο να <a href=\"%s\">ελέγξεις τις Συχνές ΕÏωτήσεις</a> για να δεις αν η απάντηση που ψάχνεις βÏίσκεται εκεί."
@@ -1747,37 +1755,59 @@ msgstr "Συχνά είναι γÏηγοÏότεÏο να <a href=\"%s\">ελέÎ
msgid "It’s on its way to the council right now."
msgstr "Το δημοτικό συμβοÏλιο ενημεÏώνεται για το Ï€Ïόβλημα."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:177
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:182
msgid "Jurisdiction Unknown"
msgstr "Άγνωστη δικαιοδοσία"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:15
msgid "Jurisdiction unknown"
msgstr "Άγνωστη δικαιοδοσία"
-#: templates/web/base/auth/general.html:91
+#: templates/web/base/auth/general.html:93
#: templates/web/base/report/new/form_user_loggedout_password.html:16
#: templates/web/base/report/update/form_user_loggedout_password.html:15
#: templates/web/zurich/auth/general.html:40
msgid "Keep me signed in on this computer"
msgstr "Îα παÏαμείνω συνδεδεμένος από αυτήν τη συσκευή"
+#: templates/web/base/admin/extra-metadata-form.html:61
+msgid "Key"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:9
+#: templates/web/base/admin/states/index.html:95
+msgid "Label"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:6
+#: templates/web/base/admin/reportextrafields/edit.html:45
+msgid "Language"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/index.html:8
+msgid "Languages"
+msgstr ""
+
#: templates/web/base/dashboard/index.html:50
msgid "Last 4 weeks"
msgstr ""
#: templates/web/base/dashboard/index.html:49
-#, fuzzy
+#: templates/web/base/reports/index.html:38
msgid "Last 7 days"
-msgstr "Τελευταία ενημέÏωση"
+msgstr ""
#: templates/web/base/admin/body.html:74
#: templates/web/zurich/admin/body.html:16
msgid "Last editor"
msgstr "Τελευταίος επεξεÏγαστής"
+#: templates/web/base/questionnaire/index.html:25
+msgid "Last update"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:89
msgid "Last update:"
msgstr "Τελευταία ενημέÏωση"
@@ -1786,23 +1816,27 @@ msgstr "Τελευταία ενημέÏωση"
msgid "Last&nbsp;update:"
msgstr "Τελευταία&nbsp;ενημέÏωση:"
-#: templates/web/base/report/_inspect.html:20
-#: templates/web/base/report/_item.html:86
+#: templates/web/base/report/_inspect.html:30
+#: templates/web/base/report/_item.html:88
msgid "Latitude/Longitude:"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:50
+#: templates/web/base/reports/_list-filters.html:61
msgid "Least recently updated"
msgstr ""
-#: templates/web/base/admin/body-form.html:127
+#: templates/web/base/admin/body-form.html:129
msgid "Leave this blank if all reports to this body should be sent using the same send method (e.g., \"%s\")."
msgstr "Άφησέ το κενό αν όλες οι αναφοÏές σε αυτόν τον τομέα Ï€Ïέπει να στέλνονται με την ίδια μέθοδο αποστολής (Ï€.χ., \"%s\")."
-#: templates/web/base/dashboard/index.html:150
+#: templates/web/base/dashboard/index.html:151
msgid "Less than 7 days old"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:47
+msgid "List"
+msgstr ""
+
#: templates/web/base/admin/body.html:31
msgid "List all reported problems"
msgstr "Λίστα όλων των αναφεÏθέντων Ï€Ïοβλημάτων"
@@ -1833,23 +1867,23 @@ msgstr "Τοπικές ειδοποιήσεις"
msgid "Locate the problem on a map of the area"
msgstr "Εντόπισε το Ï€Ïόβλημα στον χάÏτη της πεÏιοχής"
-#: templates/web/base/auth/general.html:22
+#: templates/web/base/auth/general.html:24
#: templates/web/base/report/new/form_user_loggedout.html:6
#: templates/web/base/report/update/form_user_loggedout.html:7
msgid "Log in with Facebook"
msgstr ""
-#: templates/web/base/auth/general.html:30
+#: templates/web/base/auth/general.html:32
#: templates/web/base/report/new/form_user_loggedout.html:14
#: templates/web/base/report/update/form_user_loggedout.html:15
msgid "Log in with Twitter"
msgstr ""
-#: templates/web/base/js/translation_strings.html:59
+#: templates/web/base/js/translation_strings.html:62
msgid "Log in with email"
msgstr ""
-#: templates/web/base/dashboard/index.html:145
+#: templates/web/base/dashboard/index.html:146
#: templates/web/base/dashboard/index.html:38
msgid "Look up"
msgstr ""
@@ -1858,11 +1892,11 @@ msgstr ""
msgid "MAP"
msgstr "ΧΑΡΤΗΣ"
-#: perllib/FixMyStreet/Cobrand/Default.pm:712
+#: perllib/FixMyStreet/Cobrand/Default.pm:716
msgid "Manage shortlist"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:45
+#: templates/web/base/reports/_list-filters.html:56
msgid "Manual order"
msgstr ""
@@ -1878,19 +1912,11 @@ msgstr "Σημείωση ως απεσταλμένο"
msgid "Mark users whose behaviour you want to keep a check on as <strong>flagged</strong>."
msgstr "Îα επισημάνεις ως <strong>επισημασμένους</strong> τους χÏήστες των οποίων τη συμπεÏιφοÏά θα ήθελες να παÏακολουθείς."
-#: templates/web/base/reports/index.html:27
-msgid "Marked fixed/closed in the past eight weeks"
-msgstr "Σημείωση ως επιδιοÏθωμένο/κλειστό μέσα στις τελευταίες οκτώ εβδομάδες"
-
-#: templates/web/base/reports/index.html:28
-msgid "Marked fixed/closed more than eight weeks ago"
-msgstr "Σημείωση ως επιδιοÏθωμένο/κλειστό πιο Ï€Ïιν από οκτώ εβδομάδες"
-
-#: perllib/FixMyStreet/Cobrand/Default.pm:710
+#: perllib/FixMyStreet/Cobrand/Default.pm:714
msgid "Markup problem details"
msgstr ""
-#: templates/web/base/contact/index.html:96
+#: templates/web/base/contact/index.html:100
msgid "Message"
msgstr "Μήνυμα"
@@ -1910,68 +1936,69 @@ msgstr ""
msgid "Missing jurisdiction_id"
msgstr "Λείπει το jurisdiction_id"
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:706
+#: perllib/FixMyStreet/Cobrand/Default.pm:710
msgid "Moderate report details"
msgstr ""
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate this report"
msgstr ""
#: templates/web/base/report/update.html:12
-#, fuzzy
msgid "Moderate this update"
-msgstr "ΑναφέÏθηκε από %s στις %s"
+msgstr ""
-#: templates/web/base/report/_main.html:69
-#: templates/web/base/report/update.html:49
-#, fuzzy
+#: templates/web/base/report/_main.html:73
+#: templates/web/base/report/update.html:58
msgid "Moderated by %s at %s"
-msgstr "ΑναφέÏθηκε από %s στις %s"
+msgstr ""
#: templates/web/zurich/admin/stats.html:34
msgid "Moderated by division within one working day"
msgstr "Ελέγχθηκε από το τμήμα μέσα σε μία εÏγάσιμη ημέÏα"
-#: templates/web/base/report/_main.html:109
-#: templates/web/base/report/update.html:57
-#, fuzzy
+#: templates/web/base/report/_main.html:113
+#: templates/web/base/report/update.html:66
msgid "Moderation reason:"
-msgstr "άλλες πεÏιοχές:"
+msgstr ""
#: templates/web/base/admin/stats.html:11
msgid "Month"
msgstr "Μήνας"
-#: templates/web/base/reports/_list-filters.html:51
+#: templates/web/base/reports/_list-filters.html:62
msgid "Most commented"
msgstr ""
#: templates/web/base/admin/bodies.html:25
#: templates/web/base/admin/body-form.html:24
+#: templates/web/base/admin/extra-metadata-form.html:65
#: templates/web/base/admin/flagged.html:16
#: templates/web/base/admin/flagged.html:37
#: templates/web/base/admin/index.html:62
#: templates/web/base/admin/list_updates.html:7
+#: templates/web/base/admin/reportextrafields/edit.html:11
+#: templates/web/base/admin/reportextrafields/index.html:6
#: templates/web/base/admin/reports.html:14
#: templates/web/base/admin/responsepriorities/list.html:6
+#: templates/web/base/admin/states/index.html:108
+#: templates/web/base/admin/states/index.html:11
#: templates/web/base/admin/users.html:16
-#: templates/web/base/auth/general.html:106
-#: templates/web/base/report/new/form_user_loggedin.html:40
+#: templates/web/base/auth/general.html:108
+#: templates/web/base/report/new/form_user_loggedin.html:42
#: templates/web/base/report/new/form_user_loggedout_by_email.html:7
-#: templates/web/base/report/update/form_name.html:23
-#: templates/web/base/reports/index.html:23
+#: templates/web/base/report/update/form_name.html:27
#: templates/web/zurich/admin/body-form.html:4
#: templates/web/zurich/auth/general.html:60
#: templates/web/zurich/report/new/fill_in_details_form.html:59
msgid "Name"
msgstr "Όνομα"
-#: templates/web/base/admin/report_edit.html:139
+#: templates/web/base/admin/report_edit.html:127
#: templates/web/base/admin/responsepriorities/edit.html:13
#: templates/web/base/admin/update_edit.html:34
#: templates/web/base/admin/user-form.html:16
@@ -1983,7 +2010,7 @@ msgstr "Όνομα:"
msgid "Name: %s"
msgstr "Όνομα: %s"
-#: templates/web/base/report/_inspect.html:28
+#: templates/web/base/report/_inspect.html:38
msgid "Navigate to this problem"
msgstr ""
@@ -1992,16 +2019,16 @@ msgstr ""
msgid "Nearest named road to the pin placed on the map (automatically generated using OpenStreetMap): %s%s"
msgstr "Η οδός που βÏίσκεται πλησιέστεÏα στην καÏφίτσα που τοποθετήθηκε στον χάÏτη (παÏέχεται αυτόματα από το OpenStreetMap): %s%s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:129
+#: perllib/FixMyStreet/Cobrand/UK.pm:134
msgid "Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"
msgstr "Ο ταχυδÏομικός κώδικας που βÏίσκεται πλησιέστεÏα στην καÏφίτσα που τοποθετήθηκε στον χάÏτη (παÏέχεται αυτόματα): %s (%sm μακÏιά)"
-#: perllib/FixMyStreet/Cobrand/Default.pm:527
-#: perllib/FixMyStreet/Cobrand/Default.pm:567
+#: perllib/FixMyStreet/Cobrand/Default.pm:538
+#: perllib/FixMyStreet/Cobrand/Default.pm:566
msgid "Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"
msgstr "Η οδός που βÏίσκεται πλησιέστεÏα στην καÏφίτσα που τοποθετήθηκε στον χάÏτη (παÏέχεται αυτόματα από το Bing Maps): %s"
-#: perllib/FixMyStreet/Script/Alerts.pm:319
+#: perllib/FixMyStreet/Script/Alerts.pm:316
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s\n"
"\n"
@@ -2009,19 +2036,23 @@ msgstr ""
"Η οδός που βÏίσκεται πλησιέστεÏα στην καÏφίτσα που τοποθετήθηκε στον χάÏτη (παÏέχεται αυτόματα από το Bing Maps): %s\n"
"\n"
-#: templates/web/base/auth/token.html:17 templates/web/base/email_sent.html:5
+#: templates/web/base/auth/token.html:18
+msgid "Nearly done!"
+msgstr ""
+
+#: templates/web/base/auth/token.html:22 templates/web/base/email_sent.html:5
msgid "Nearly done! Now check your email&hellip;"
msgstr "Σχεδόν τελειώσαμε! ΤώÏα έλεγξε το email σου&hellip;"
-#: templates/web/base/reports/index.html:24
-msgid "New <br>problems"
-msgstr "Îέα <br>Ï€Ïοβλήματα"
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:131
+msgid "New"
+msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:259
+#: perllib/FixMyStreet/App/Controller/Admin.pm:262
msgid "New body added"
msgstr "ΠÏοστέθηκε νέος τομέας"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:405
+#: perllib/FixMyStreet/App/Controller/Admin.pm:386
msgid "New category contact added"
msgstr "ΠÏοστέθηκε νέα επαφή κατηγοÏίας"
@@ -2047,7 +2078,7 @@ msgid "New password:"
msgstr ""
#: templates/web/base/admin/responsepriorities/edit.html:4
-#: templates/web/base/admin/responsepriorities/list.html:32
+#: templates/web/base/admin/responsepriorities/list.html:34
msgid "New priority"
msgstr ""
@@ -2076,6 +2107,7 @@ msgid "New reports"
msgstr "Îέες αναφοÏές"
#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/states/index.html:91
msgid "New state"
msgstr "Îέα κατάσταση"
@@ -2085,7 +2117,7 @@ msgstr "Îέα κατάσταση"
msgid "New template"
msgstr "Îέο Ï€Ïότυπο"
-#: templates/web/base/reports/_list-filters.html:47
+#: templates/web/base/reports/_list-filters.html:58
msgid "Newest"
msgstr ""
@@ -2093,20 +2125,19 @@ msgstr ""
msgid "Next"
msgstr "Επόμενο"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1203
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
+#: perllib/FixMyStreet/Cobrand/Default.pm:1237
#: templates/web/base/admin/category_edit.html:4
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:137
+#: templates/web/base/admin/report_edit.html:125
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:26
#: templates/web/base/questionnaire/creator_fixed.html:16
#: templates/web/base/questionnaire/index.html:106
#: templates/web/base/questionnaire/index.html:55
+#: templates/web/base/report/_inspect.html:92
msgid "No"
msgstr "Όχι"
@@ -2122,7 +2153,7 @@ msgstr "Κανένας τομέας"
msgid "No council"
msgstr "Καμιά υπηÏεσία"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:445
+#: perllib/FixMyStreet/DB/Result/Problem.pm:372
msgid "No council selected"
msgstr "Δεν επιλέχθηκε κάποια υπηÏεσία"
@@ -2138,25 +2169,16 @@ msgstr "Δε βÏέθηκαν επισημασμένα Ï€Ïοβλήματα."
msgid "No flagged users found."
msgstr "Δε βÏέθηκαν επισημασμένοι χÏήστες."
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:14
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:8
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "No further action"
-msgstr "Δεν είναι εφικτή η διόÏθωση"
-
#: templates/web/zurich/admin/report_edit-sdm.html:125
#: templates/web/zurich/admin/report_edit.html:259
msgid "No further updates"
msgstr "Καμία πεÏαιτέÏω ενημέÏωση"
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:84
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:68
msgid "No inspections by that inspector in the selected date range."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:86
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:70
msgid "No inspections in the selected date range."
msgstr ""
@@ -2164,8 +2186,8 @@ msgstr ""
msgid "No result returned"
msgstr "Δεν επιστÏάφηκαν αποτελέσματα."
-#: templates/web/base/admin/body-form.html:66
-#: templates/web/base/admin/body-form.html:67
+#: templates/web/base/admin/body-form.html:68
+#: templates/web/base/admin/body-form.html:69
msgid ""
"No specific areas are currently available, because the <code>MAPIT_URL</code> in\n"
" your config file is not pointing to a live MapIt service."
@@ -2201,17 +2223,8 @@ msgstr ""
"ΧÏήστες εξουσιοδοτημένου Ï€ÏÎ¿ÏƒÏ‰Ï€Î¹ÎºÎ¿Ï Î¼Ï€Î¿ÏοÏν να συσχετιστοÏν με τον τομέα που αντιπÏοσωπεÏουν.<br>\n"
"Ανάλογα με την υλοποίηση, οι χÏήστες Ï€ÏÎ¿ÏƒÏ‰Ï€Î¹ÎºÎ¿Ï Î¯ÏƒÏ‰Ï‚ έχουν Ï€Ïόσβαση στον πίνακα εÏγαλείων (πεÏίληψη της δÏαστηÏιότητάς τους μέσα στον τομέα), τη δυνατότητα να κÏÏβουν αναφοÏές ή να οÏίζουν ειδικές αναφοÏές κατάστασης."
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:9
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "Not Responsible"
-msgstr "Δεν είναι ΥπεÏθυνος"
-
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:181
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:186
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:933
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:13
msgid "Not contactable"
@@ -2230,7 +2243,7 @@ msgid "Not reported to council"
msgstr "Δεν αναφέÏθηκε σε υπηÏεσία"
#: templates/web/base/admin/body.html:75
-#: templates/web/base/admin/category_edit.html:57
+#: templates/web/base/admin/category_edit.html:31
#: templates/web/zurich/admin/body.html:17
msgid "Note"
msgstr "Σημείωση"
@@ -2240,7 +2253,7 @@ msgid "Note that when including unconfirmed reports we use the date the report w
msgstr "Όταν συμπεÏιλαμβάνουμε ανεπιβεβαίωτες αναφοÏές, χÏησιμοποιοÏμε την ημεÏομηνία που δημιουÏγήθηκε η αναφοÏά, η οποία ενδέχεται να μην έγινε στον ίδιο μήνα που επιβεβαιώθηκε η αναφοÏά. Επομένως, οι αÏιθμοί ίσως είναι λίγο εκτός."
#: templates/web/zurich/admin/body.html:55
-#: templates/web/zurich/admin/contact-form.html:17
+#: templates/web/zurich/admin/contact-form.html:19
msgid "Note:"
msgstr "Σημείωση:"
@@ -2252,6 +2265,10 @@ msgstr "Σημείωση: <strong>%s</strong>"
msgid "Notes from SDM to DM"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:26
+msgid "Notice"
+msgstr ""
+
#: templates/web/base/report/new/oauth_email_form.html:17
msgid "Now to submit your report&hellip;"
msgstr "ΤώÏα, για να υποβάλεις την αναφοÏά σου&hellip;"
@@ -2262,63 +2279,43 @@ msgstr "ΤώÏα, για να υποβάλεις την αναφοÏά σου&he
msgid "Now to submit your update&hellip;"
msgstr "ΤώÏα, για να υποβάλεις την ενημέÏωσή σου&hellip;"
+#: templates/web/base/reports/index.html:98
+msgid "Number of problems reported in each category, in the last 7 days."
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:43
msgid "OK"
msgstr "ΟΚ"
-#: templates/web/base/js/translation_strings.html:67
+#: templates/web/base/js/translation_strings.html:70
msgid "Offline data cleared"
msgstr ""
-#: templates/web/base/js/translation_strings.html:64
+#: templates/web/base/js/translation_strings.html:67
msgid "Offline update data saved"
msgstr ""
-#: templates/web/base/reports/index.html:26
-msgid "Old / unknown <br>problems"
-msgstr "Παλιά / άγνωστα <br>Ï€Ïοβλήματα"
-
#: templates/web/base/admin/questionnaire.html:24
msgid "Old state"
msgstr "Παλιά κατάσταση"
-#: templates/web/base/reports/index.html:28
-msgid "Older <br>fixed"
-msgstr "Παλιά <br>διοÏθωμένα"
-
-#: templates/web/base/reports/index.html:25
-msgid "Older <br>problems"
-msgstr "Παλιά <br>Ï€Ïοβλήματα"
-
-#: templates/web/base/reports/_list-filters.html:48
+#: templates/web/base/reports/_list-filters.html:59
msgid "Oldest"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:900
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:25
-#: templates/web/base/admin/report_blocks.html:6
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:905
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:10
+#: templates/web/base/admin/states/index.html:102
+#: templates/web/base/admin/states/index.html:25
+#: templates/web/base/admin/states/index.html:32
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:3
-#: templates/web/base/report/update/form_update.html:41
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:7
#: templates/web/zurich/admin/update_edit.html:18
msgid "Open"
msgstr "Ανοιχτό"
-#: templates/web/base/reports/index.html:25
-msgid "Open for more than four weeks, with an update within the past eight weeks"
-msgstr "Ανοιχτό για πάνω από τέσσεÏις εβδομάδες, με κάποια ενημέÏωση μέσα στις τελευταίες οκτώ εβδομάδες"
-
-#: templates/web/base/reports/index.html:26
-msgid "Open, but not had any update in eight weeks"
-msgstr "Ανοιχτό, αλλά δεν έγινε κάποια ενημέÏωση εδώ και οκτώ εβδομάδες"
-
#: templates/web/base/admin/open311-form-fields.html:47
msgid "Open311 API Key"
msgstr ""
@@ -2339,26 +2336,38 @@ msgstr "ΑÏχική σελίδα του Open311"
msgid "Open311 specification"
msgstr "ΠÏοδιαγÏαφές Open311"
-#: templates/web/base/alert/_list.html:61
-msgid "Or problems reported to:"
-msgstr "Ή Ï€Ïοβλήματα που αναφέÏθηκαν σε:"
-
-#: templates/web/base/alert/_list.html:37
-msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
-msgstr "Ή μποÏείς να λαμβάνεις ειδοποιήσεις που αφοÏοÏν μία συγκεκÏιμένη υπηÏεσία της πεÏιοχής:"
-
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:1061
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:659
-#: perllib/FixMyStreet/DB/Result/Problem.pm:642
-#: perllib/FixMyStreet/DB/Result/Problem.pm:649
-#: perllib/FixMyStreet/DB/Result/Problem.pm:664
-#: perllib/FixMyStreet/DB/Result/Problem.pm:673
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "Options"
+msgstr ""
+
+#: templates/web/base/alert/_list.html:84
+msgid "Or subscribe by RSS"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:8
+msgid "Order"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1107
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:675
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:676
+#: perllib/FixMyStreet/DB/Result/Problem.pm:579
+#: perllib/FixMyStreet/DB/Result/Problem.pm:586
+#: perllib/FixMyStreet/DB/Result/Problem.pm:601
+#: perllib/FixMyStreet/DB/Result/Problem.pm:610
#: perllib/FixMyStreet/Script/Reports.pm:183
#: perllib/FixMyStreet/Script/Reports.pm:198
msgid "Other"
msgstr "Άλλα"
+#: templates/web/base/reports/index.html:107
+msgid "Other categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:92
+msgid "Overall average"
+msgstr ""
+
#: templates/web/base/admin/list_updates.html:8
msgid "Owner"
msgstr "Ιδιοκτήτης"
@@ -2368,17 +2377,16 @@ msgstr "Ιδιοκτήτης"
msgid "Page Not Found"
msgstr "Η σελίδα δεν βÏέθηκε"
-#: templates/web/base/admin/body-form.html:37
+#: templates/web/base/admin/body-form.html:39
#: templates/web/zurich/admin/body-form.html:14
msgid "Parent"
msgstr "Πηγή"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:20
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:61
msgid "Partial"
msgstr "Εν μέÏει"
-#: templates/web/base/auth/general.html:109
+#: templates/web/base/auth/general.html:111
#: templates/web/base/report/new/form_user_loggedout_by_email.html:28
#: templates/web/base/report/update/form_user_loggedout_by_email.html:6
#: templates/web/zurich/auth/general.html:32
@@ -2386,7 +2394,7 @@ msgstr "Εν μέÏει"
msgid "Password (optional)"
msgstr "Κωδικός Ï€Ïόσβασης (Ï€ÏοαιÏετικό)"
-#: templates/web/base/auth/general.html:82
+#: templates/web/base/auth/general.html:84
msgid "Password:"
msgstr "Îέος κωδικός Ï€Ïόσβασης:"
@@ -2398,17 +2406,22 @@ msgstr "ΣÏνδεσμος"
msgid "Permissions:"
msgstr ""
+#: templates/web/base/report/_inspect.html:19
+#, fuzzy
+msgid "Phone Reporter:"
+msgstr "ΑναφέÏθηκε:"
+
#: templates/web/zurich/report/new/fill_in_details_form.html:65
msgid "Phone number"
msgstr "ΑÏιθμός τηλεφώνου"
-#: templates/web/base/report/new/form_user_loggedin.html:57
+#: templates/web/base/report/new/form_user_loggedin.html:59
#: templates/web/base/report/new/form_user_loggedout_by_email.html:25
msgid "Phone number (optional)"
msgstr "ΑÏιθμός τηλεφώνου (Ï€ÏοαιÏετικό)"
#: perllib/FixMyStreet/Script/Reports.pm:87
-#: templates/web/base/admin/report_edit.html:146
+#: templates/web/base/admin/report_edit.html:134
#: templates/web/base/admin/user-form.html:21
#: templates/web/zurich/admin/stats.html:39
msgid "Phone:"
@@ -2417,9 +2430,9 @@ msgstr "Τηλέφωνο:"
#: templates/web/base/questionnaire/index.html:78
#: templates/web/base/questionnaire/index.html:93
#: templates/web/base/questionnaire/index.html:95
-#: templates/web/base/report/new/form_report.html:28
-#: templates/web/base/report/new/form_report.html:43
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/new/form_report.html:45
+#: templates/web/base/report/new/form_report.html:47
#: templates/web/base/report/update/form_update.html:22
#: templates/web/base/report/update/form_update.html:24
#: templates/web/base/report/update/form_update.html:7
@@ -2437,12 +2450,12 @@ msgstr "ΦωτογÏαφία"
msgid "Photo is required."
msgstr "Απαιτείται φωτογÏαφία."
-#: templates/web/zurich/admin/contact-form.html:14
+#: templates/web/zurich/admin/contact-form.html:16
msgid "Photo required"
msgstr "Απαιτείται φωτογÏαφία"
#: templates/web/base/questionnaire/index.html:78
-#: templates/web/base/report/new/form_report.html:28
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/update/form_update.html:7
#: templates/web/zurich/report/new/fill_in_details_form.html:20
msgid "Photos"
@@ -2452,17 +2465,18 @@ msgstr ""
msgid "Photos of recent nearby reports"
msgstr "ΦωτογÏαφίες από κοντινές και Ï€Ïόσφατες αναφοÏές"
+#: templates/web/base/reports/index.html:63
+#: templates/web/base/reports/index.html:66
+msgid "Pick your council"
+msgstr ""
+
#: templates/web/base/around/display_location.html:76
#: templates/web/base/js/translation_strings.html:30
msgid "Place pin on map"
msgstr "Θέση της πεÏιοχής στο χάÏτη"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:940
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:946
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:8
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:945
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:951
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:9
#: templates/web/zurich/admin/index-dm.html:9
@@ -2480,31 +2494,27 @@ msgstr "ΠαÏακαλοÏμε έλεγξε τους κωδικοÏÏ‚ Ï€Ïόσβ
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:18
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:43
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:45
#: templates/web/zurich/auth/general.html:3
#: templates/web/zurich/auth/general.html:9
msgid "Please check your email address is correct"
msgstr "ΠαÏακαλοÏμε έλεγξε αν η διεÏθυνση email είναι σωστή"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:350
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:844
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:867
-#: perllib/FixMyStreet/DB/Result/Problem.pm:456
+#: perllib/FixMyStreet/App/Controller/Admin.pm:329
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:873
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:896
+#: perllib/FixMyStreet/DB/Result/Problem.pm:383
#: templates/web/base/js/translation_strings.html:9
msgid "Please choose a category"
msgstr "ΠαÏακαλοÏμε επίλεξε μια κατηγοÏία"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:462
-msgid "Please choose a property type"
-msgstr "ΠαÏακαλοÏμε επίλεξε ένα είδος ακινήτου"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:396
+#: perllib/FixMyStreet/App/Controller/Admin.pm:377
#: templates/web/base/admin/bodies.html:4 templates/web/base/admin/body.html:11
msgid "Please correct the errors below"
msgstr "ΠαÏακαλοÏμε διόÏθωσε τα παÏακάτω λάθη"
-#: templates/web/base/contact/blurb.html:12
+#: templates/web/base/contact/blurb.html:6
msgid ""
"Please do <strong>not</strong> report problems through this form; messages go to\n"
"the team behind this site, not a council. To report a problem,\n"
@@ -2518,18 +2528,18 @@ msgstr ""
msgid "Please do not be abusive&nbsp;&mdash; abusing your council devalues the service for all users."
msgstr "ΠαÏακαλοÏμε να μην κάνεις κατάχÏηση&nbsp;&mdash; η κατάχÏηση της υπηÏεσίας υποβαθμίζει την αξία της για όλους τους χÏήστες."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:351
-#: perllib/FixMyStreet/DB/Result/Comment.pm:127
+#: perllib/FixMyStreet/App/Controller/Admin.pm:330
+#: perllib/FixMyStreet/DB/Result/Comment.pm:128
#: templates/web/base/js/translation_strings.html:2
msgid "Please enter a message"
msgstr "ΠαÏακαλοÏμε γÏάψε ένα μήνυμα"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1200
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1364
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1305
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1469
msgid "Please enter a name"
msgstr "ΠαÏακαλώ γÏάψτε ένα όνομα"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:478
+#: perllib/FixMyStreet/App/Controller/Admin.pm:497
msgid "Please enter a name for this body"
msgstr ""
@@ -2539,15 +2549,15 @@ msgstr ""
msgid "Please enter a password"
msgstr "ΠαÏακαλοÏμε γÏάψε έναν κωδικό Ï€Ïόσβασης"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:114
-#: perllib/FixMyStreet/DB/Result/Problem.pm:439
+#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/DB/Result/Problem.pm:366
#: templates/web/base/js/translation_strings.html:3
msgid "Please enter a subject"
msgstr "ΠαÏακαλοÏμε γÏάψε ένα θέμα"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1197
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1361
-#: perllib/FixMyStreet/App/Controller/Admin.pm:363
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1302
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1466
+#: perllib/FixMyStreet/App/Controller/Admin.pm:343
#: perllib/FixMyStreet/DB/Result/User.pm:164
#: templates/web/base/js/translation_strings.html:12
#: templates/web/base/js/translation_strings.html:16
@@ -2555,21 +2565,21 @@ msgid "Please enter a valid email"
msgstr "ΠαÏακαλοÏμε γÏάψε ένα έγκυÏο email"
#: perllib/FixMyStreet/App/Controller/Alert.pm:350
-#: perllib/FixMyStreet/App/Controller/Contact.pm:124
+#: perllib/FixMyStreet/App/Controller/Contact.pm:125
msgid "Please enter a valid email address"
msgstr "ΠαÏακαλοÏμε γÏάψε μία έγκυÏη διεÏθυνση email"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:442
+#: perllib/FixMyStreet/DB/Result/Problem.pm:369
#: templates/web/base/js/translation_strings.html:4
msgid "Please enter some details"
msgstr "ΠαÏακαλοÏμε γÏάψε μεÏικές λεπτομέÏειες"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/App/Controller/Contact.pm:114
#: perllib/FixMyStreet/DB/Result/User.pm:161
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:17
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:42
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:44
#: templates/web/base/js/translation_strings.html:11
#: templates/web/base/js/translation_strings.html:15
#: templates/web/zurich/auth/general.html:3
@@ -2586,14 +2596,14 @@ msgstr "ΠαÏακαλοÏμε γÏάψε τη διεÏθυνση email σου"
msgid "Please enter your first name"
msgstr "ΠαÏακαλοÏμε γÏάψε το όνομά σου"
-#: perllib/FixMyStreet/Cobrand/UK.pm:320
+#: perllib/FixMyStreet/Cobrand/UK.pm:326
#: templates/web/base/js/translation_strings.html:7
msgid "Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below"
msgstr "ΠαÏακαλοÏμε γÏάψε το ονοματεπώνυμό σου, οι υπηÏεσίες χÏειάζονται αυτή την πληÏοφοÏία – αν δεν επιθυμείς να εμφανίζεται το όνομά σου στην ιστοσελίδα, ξετσέκαÏε το πεδίο παÏακάτω"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:112
-#: perllib/FixMyStreet/DB/Result/Comment.pm:124
-#: perllib/FixMyStreet/DB/Result/Problem.pm:450
+#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/DB/Result/Comment.pm:125
+#: perllib/FixMyStreet/DB/Result/Problem.pm:377
#: perllib/FixMyStreet/DB/Result/User.pm:157
#: templates/web/base/js/translation_strings.html:6
msgid "Please enter your name"
@@ -2656,7 +2666,7 @@ msgstr "ΠαÏακαλοÏμε σημείωσε ότι η ενημέÏωσή σÎ
msgid "Please note:"
msgstr "ΠαÏακαλοÏμε σημείωσε ότι:"
-#: perllib/FixMyStreet/App/Controller/Report.pm:358
+#: perllib/FixMyStreet/App/Controller/Report.pm:353
msgid "Please provide a public update for this report."
msgstr ""
@@ -2692,11 +2702,11 @@ msgstr "ΠαÏακαλοÏμε δήλωσε αν το Ï€Ïόβλημα έχει
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:122
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:156
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:158
-#: templates/web/base/js/translation_strings.html:57
+#: templates/web/base/js/translation_strings.html:60
msgid "Please upload an image only"
msgstr "ΠαÏακαλοÏμε ανέβασε μία εικόνα μόνο"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/App/Controller/Contact.pm:116
msgid "Please write a message"
msgstr "ΠαÏακαλοÏμε γÏάψε ένα μήνυμα"
@@ -2704,30 +2714,29 @@ msgstr "ΠαÏακαλοÏμε γÏάψε ένα μήνυμα"
msgid "Please write your update here"
msgstr "ΠαÏακαλοÏμε γÏάψε την ενημέÏωσή σου εδώ"
-#: templates/web/base/contact/index.html:103
#: templates/web/base/report/update-form.html:25
#: templates/web/base/report/update/form_user_loggedout_by_email.html:14
#: templates/web/base/report/update/form_user_loggedout_password.html:10
msgid "Post"
msgstr "Δημοσίευση"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:242
+#: perllib/FixMyStreet/DB/Result/Comment.pm:231
msgid "Posted anonymously at %s"
msgstr "ΔημοσιεÏθηκε ανώνυμα στις %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:257
+#: perllib/FixMyStreet/DB/Result/Comment.pm:255
msgid "Posted by %s at %s"
msgstr "ΔημοσιεÏθηκε από %s στις %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:252
+#: perllib/FixMyStreet/DB/Result/Comment.pm:243
msgid "Posted by <strong>%s</strong> (%s) at %s"
msgstr "ΔημοσιεÏθηκε από <strong>%s</strong> (%s) στις %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:254
+#: perllib/FixMyStreet/DB/Result/Comment.pm:245
msgid "Posted by <strong>%s</strong> at %s"
msgstr "ΔημοσιεÏθηκε από <strong>%s</strong> στις %s"
-#: templates/web/base/front/footer-marketing.html:12
+#: templates/web/base/front/footer-marketing.html:6
msgid "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
msgstr "Βασισμένο στην <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">ΠλατφόÏμα FixMyStreet</a>"
@@ -2739,8 +2748,8 @@ msgstr "ΠÏοηγοÏμενα"
msgid "Priorities"
msgstr ""
-#: templates/web/base/report/_inspect.html:113
-#: templates/web/base/report/_item.html:98
+#: templates/web/base/report/_inspect.html:123
+#: templates/web/base/report/_item.html:100
msgid "Priority"
msgstr ""
@@ -2754,16 +2763,15 @@ msgstr "Ιδιωτικότητα"
msgid "Privacy and cookies"
msgstr "Ιδιωτικότητα και cookies"
-#: templates/web/base/admin/body.html:91
-#: templates/web/base/admin/contact-form.html:74
-#: templates/web/base/admin/report_edit.html:149
+#: templates/web/base/admin/body.html:88
+#: templates/web/base/admin/contact-form.html:75
+#: templates/web/base/admin/report_edit.html:137
msgid "Private"
msgstr "Ιδιωτικό"
#: templates/web/base/report/new/form_user.html:1
-#, fuzzy
msgid "Private details"
-msgstr "Ιδιωτικό"
+msgstr ""
#: templates/web/base/maps/pin.html:13
msgid "Problem"
@@ -2787,7 +2795,7 @@ msgstr "Το Ï€Ïόβλημα %s στάλθηκε στην υπηÏεσία %s"
msgid "Problem breakdown by state"
msgstr "Ανάλυση Ï€Ïοβλήματος ανά κατάσταση"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1167
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1272
msgid "Problem marked as open."
msgstr "Το Ï€Ïόβλημα επισημάνθηκε ως ανοιχτό."
@@ -2795,11 +2803,16 @@ msgstr "Το Ï€Ïόβλημα επισημάνθηκε ως ανοιχτό."
msgid "Problem state change based on survey results"
msgstr "Αλλαγή κατάστασης Ï€Ïοβλήματος βάσει αποτελεσμάτων από έÏευνες"
-#: perllib/FixMyStreet/Cobrand/Default.pm:705
+#: perllib/FixMyStreet/Cobrand/Default.pm:709
#: templates/web/base/admin/flagged.html:10
msgid "Problems"
msgstr "ΠÏοβλήματα"
+#: templates/web/base/alert/_list.html:22
+#, fuzzy
+msgid "Problems in an area"
+msgstr "ΠÏοβλήματα στην πεÏιοχή &quot;%s&quot;"
+
#: templates/web/base/report/display_tools.html:22
msgid "Problems nearby"
msgstr "Κοντινά Ï€Ïοβλήματα"
@@ -2812,30 +2825,33 @@ msgstr "ΠÏοβλήματα στον χάÏτη"
msgid "Problems recently reported fixed on FixMyStreet"
msgstr "ΠÏοσφάτως αναφεÏθέντα Ï€Ïοβλήματα διοÏθωμένα στο FixMyStreet"
-#: templates/web/base/alert/_list.html:22
-msgid "Problems within %.1fkm of this location"
+#: templates/web/base/alert/_list.html:29
+#, fuzzy
+msgid "Problems within %.1fkm of %s"
msgstr "Λήψη ειδοποιήσεων για Ï€Ïοβλήματα σε ακτίνα %.1f χλμ από εδώ"
-#: perllib/FixMyStreet/Cobrand/Default.pm:833
+#: perllib/FixMyStreet/Cobrand/Default.pm:838
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:137
-#: perllib/FixMyStreet/Cobrand/UK.pm:209
+#: perllib/FixMyStreet/Cobrand/UK.pm:215 perllib/FixMyStreet/Cobrand/UK.pm:257
+#: perllib/FixMyStreet/Cobrand/UK.pm:269
msgid "Problems within %s"
msgstr "ΠÏοβλήματα στο &quot;%s&quot;"
-#: perllib/FixMyStreet/Cobrand/UK.pm:223
+#: perllib/FixMyStreet/Cobrand/UK.pm:229
msgid "Problems within %s ward"
msgstr "ΠÏοβλήματα στην πεÏιοχή &quot;%s&quot;"
+#: perllib/FixMyStreet/Cobrand/UK.pm:263 perllib/FixMyStreet/Cobrand/UK.pm:275
+#, fuzzy
+msgid "Problems within %s ward, %s"
+msgstr "ΠÏοβλήματα στην πεÏιοχή &quot;%s&quot;"
+
#. ("First %s is the body name, second %s the site name")
#: templates/web/base/reports/body.html:0
#: templates/web/base/reports/body.html:25
msgid "Problems within %s, %s"
msgstr "ΠÏοβλήματα σε ακτίνα %s, %s"
-#: templates/web/base/alert/_list.html:43
-msgid "Problems within the boundary of:"
-msgstr "ΠÏοβλήματα μέσα στα ÏŒÏια του:"
-
#: templates/web/base/admin/report_edit.html:74
msgid "Property address:"
msgstr "ΔιεÏθυνση ακινήτου:"
@@ -2845,11 +2861,11 @@ msgstr "ΔιεÏθυνση ακινήτου:"
msgid "Provide an update"
msgstr "Δώσε μια ενημέÏωση"
-#: templates/web/base/report/update/form_name.html:9
+#: templates/web/base/report/update/form_name.html:10
msgid "Provide update as"
msgstr ""
-#: templates/web/base/auth/general.html:112
+#: templates/web/base/auth/general.html:114
msgid "Providing a name and password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
msgstr "Η εισαγωγή ονόματος και ÎºÏ‰Î´Î¹ÎºÎ¿Ï Ï€Ïόσβασης είναι Ï€ÏοαιÏετική, αλλά έτσι θα σου είναι ευκολότεÏο να αναφέÏεις Ï€Ïοβλήματα, να αφήνεις ενημεÏώσεις και να διαχειÏίζεσαι τις αναφοÏές σου."
@@ -2859,16 +2875,15 @@ msgid "Providing a password is optional, but doing so will allow you to more eas
msgstr "Η εισαγωγή ÎºÏ‰Î´Î¹ÎºÎ¿Ï Ï€Ïόσβασης είναι Ï€ÏοαιÏετική, αλλά έτσι θα σου είναι ευκολότεÏο να αναφέÏεις Ï€Ïοβλήματα, να αφήνεις ενημεÏώσεις και να διαχειÏίζεσαι τις αναφοÏές σου."
#: templates/web/base/report/new/form_report.html:10
-#, fuzzy
msgid "Public details"
-msgstr "Δημόσια απάντηση:"
+msgstr ""
#: templates/web/zurich/admin/report_edit.html:241
#: templates/web/zurich/admin/report_edit.html:268
msgid "Public response:"
msgstr "Δημόσια απάντηση:"
-#: templates/web/base/report/_inspect.html:152
+#: templates/web/base/report/_inspect.html:162
msgid "Public update:"
msgstr ""
@@ -2896,7 +2911,7 @@ msgstr "Το εÏωτηματολόγιο %d στάλθηκε για το Ï€ÏÏŒ
msgid "Questionnaire filled in by problem reporter"
msgstr "Το εÏωτηματολόγιο συμπληÏώθηκε από τον υποβολέα του Ï€Ïοβλήματος"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
#: templates/web/base/alert/updates.html:9
#: templates/web/base/around/display_location.html:1
#: templates/web/base/around/display_location.html:3
@@ -2904,11 +2919,11 @@ msgstr "Το εÏωτηματολόγιο συμπληÏώθηκε από τον
msgid "RSS feed"
msgstr "Ροή RSS"
-#: perllib/FixMyStreet/Cobrand/UK.pm:252 perllib/FixMyStreet/Cobrand/UK.pm:264
+#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
msgid "RSS feed for %s"
msgstr "Ροή RSS για &quot;%s&quot;"
-#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
+#: perllib/FixMyStreet/Cobrand/UK.pm:264 perllib/FixMyStreet/Cobrand/UK.pm:276
msgid "RSS feed for %s ward, %s"
msgstr "Ροή RSS για την πεÏιοχή %s, %s"
@@ -2916,25 +2931,25 @@ msgstr "Ροή RSS για την πεÏιοχή %s, %s"
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:179
-#: perllib/FixMyStreet/Cobrand/UK.pm:278 perllib/FixMyStreet/Cobrand/UK.pm:290
+#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
msgid "RSS feed of %s"
msgstr "Ροή RSS από %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
msgid "RSS feed of %s, within %s ward"
msgstr "Ροή RSS από %s, στην πεÏιοχή &quot;%s&quot;"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
msgid "RSS feed of nearby problems"
msgstr "Ροή RSS για κοντινά Ï€Ïοβλήματα"
-#: perllib/FixMyStreet/Cobrand/Default.pm:834
+#: perllib/FixMyStreet/Cobrand/Default.pm:839
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:136
-#: perllib/FixMyStreet/Cobrand/UK.pm:216
+#: perllib/FixMyStreet/Cobrand/UK.pm:222
msgid "RSS feed of problems within %s"
msgstr "Ροή RSS για Ï€Ïοβλήματα στο &quot;%s&quot;"
-#: perllib/FixMyStreet/Cobrand/UK.pm:222
+#: perllib/FixMyStreet/Cobrand/UK.pm:228
msgid "RSS feed of problems within %s ward"
msgstr "Ροή RSS για Ï€Ïοβλήματα στην πεÏιοχή &quot;%s&quot;"
@@ -2953,7 +2968,7 @@ msgstr "Ροή RSS για ενημεÏώσεις σε αυτό το Ï€Ïόβλη
msgid "Receive email when updates are left on this problem."
msgstr "Λήψη email όταν γίνονται ενημεÏώσεις για αυτό το Ï€Ïόβλημα"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:801
+#: perllib/FixMyStreet/DB/Result/Problem.pm:738
msgid "Received by %s moments later"
msgstr ""
@@ -2963,15 +2978,11 @@ msgstr ""
msgid "Recent local problems, %s"
msgstr "ΠÏόσφατα τοπικά Ï€Ïοβλήματα, %s"
-#: templates/web/base/reports/index.html:27
-msgid "Recently <br>fixed"
-msgstr "ΠÏόσφατα <br>διοÏθωμένα"
-
#: templates/web/base/front/recent.html:11
msgid "Recently reported problems"
msgstr "ΠÏόσφατες αναφοÏές Ï€Ïοβλημάτων"
-#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:60
msgid "Recently updated"
msgstr ""
@@ -2979,13 +2990,23 @@ msgstr ""
msgid "Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. If your problem is not appropriate for submission via this site remember that you can contact your council directly using their own website."
msgstr "Θυμήσου ότι το FixMyStreet έχει ως Ï€ÏωταÏχικό σκοπό την αναφοÏά φυσικών Ï€Ïοβλημάτων που μποÏοÏν να διοÏθωθοÏν. Αν το Ï€Ïόβλημα δεν είναι κατάλληλο για υποβολή μέσω αυτής της ιστοσελίδας μποÏείς να επικοινωνήσεις με την υπηÏεσία απευθείας μέσω της ιστοσελίδας της."
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/extra-metadata-form.html:68
+#, fuzzy
+msgid "Remove"
+msgstr "ΑφαίÏεση σήμανσης"
+
+#: templates/web/base/admin/extra-metadata-form.html:4
+#, fuzzy
+msgid "Remove field"
+msgstr "ΑφαίÏεση σήμανσης"
+
+#: templates/web/base/admin/report_blocks.html:23
msgid "Remove flag"
msgstr "ΑφαίÏεση σήμανσης"
#: templates/web/base/report/_item.html:12
#: templates/web/base/report/_item.html:9
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:18
#: templates/web/base/report/_main.html:26
msgid "Remove from shortlist"
@@ -2995,7 +3016,7 @@ msgstr ""
msgid "Remove from site"
msgstr ""
-#: templates/web/base/admin/report_edit.html:166
+#: templates/web/base/admin/report_edit.html:154
#: templates/web/base/admin/update_edit.html:69
#: templates/web/zurich/admin/update_edit.html:35
msgid "Remove photo (can't be undone!)"
@@ -3009,13 +3030,13 @@ msgstr "Απάντηση στον χÏήστη:"
msgid "Report"
msgstr "ΑναφοÏά"
-#: templates/web/base/report/_inspect.html:10
-#: templates/web/base/report/_item.html:76
+#: templates/web/base/report/_inspect.html:14
+#: templates/web/base/report/_item.html:78
msgid "Report ID:"
msgstr ""
#: templates/web/base/header_logo.html:2
-#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:19
+#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:18
#: templates/web/zurich/nav_over_content.html:4
msgid "Report a problem"
msgstr "ΑναφοÏά Ï€Ïοβλήματος"
@@ -3025,7 +3046,7 @@ msgstr "ΑναφοÏά Ï€Ïοβλήματος"
msgid "Report abuse"
msgstr "ΑναφοÏά κατάχÏησης"
-#: templates/web/base/report/new/form_user_loggedin.html:16
+#: templates/web/base/report/new/form_user_loggedin.html:17
msgid "Report as"
msgstr ""
@@ -3034,9 +3055,8 @@ msgid "Report on %s"
msgstr "ΑναφοÏά στο &quot;%s&quot;"
#: templates/web/base/dashboard/index.html:137
-#, fuzzy
msgid "Report state:"
-msgstr "ΑναφέÏθηκε:"
+msgstr ""
#: templates/web/base/report/new/fill_in_details_form.html:1
#: templates/web/base/report/new/login_success_form.html:1
@@ -3049,7 +3069,7 @@ msgstr "ΑνάφεÏε το Ï€Ïόβλημά σου"
msgid "Report, view, or discuss local problems"
msgstr "ΑνάφεÏε, δες ή συζήτησε τα τοπικά Ï€Ïοβλήματα"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:653
+#: perllib/FixMyStreet/DB/Result/Problem.pm:590
#: templates/web/base/contact/index.html:55
msgid "Reported anonymously at %s"
msgstr "ΑναφέÏθηκε ανώνυμα στις %s"
@@ -3059,7 +3079,7 @@ msgstr "ΑναφέÏθηκε ανώνυμα στις %s"
msgid "Reported before"
msgstr "ΑναφέÏθηκε Ï€Ïοηγουμένως"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:677
+#: perllib/FixMyStreet/DB/Result/Problem.pm:614
#: templates/web/base/contact/index.html:57
msgid "Reported by %s at %s"
msgstr "ΑναφέÏθηκε από %s στις %s"
@@ -3073,34 +3093,30 @@ msgstr "ΑναφέÏθηκε από:"
msgid "Reported in the %s category"
msgstr "ΑναφέÏθηκε στην κατηγοÏία %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:650
+#: perllib/FixMyStreet/DB/Result/Problem.pm:587
msgid "Reported in the %s category anonymously at %s"
msgstr "ΑναφέÏθηκε στην κατηγοÏία %s, ανώνυμα στις %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:611
msgid "Reported in the %s category by %s at %s"
msgstr "ΑναφέÏθηκε στην κατηγοÏία %s από τον %s στις %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:647
+#: perllib/FixMyStreet/DB/Result/Problem.pm:584
msgid "Reported via %s anonymously at %s"
msgstr "ΑναφέÏθηκε μέσω %s ανώνυμα στις %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:671
+#: perllib/FixMyStreet/DB/Result/Problem.pm:608
msgid "Reported via %s by %s at %s"
msgstr "ΑναφέÏθηκε μέσω %s από τον %s στις %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:644
+#: perllib/FixMyStreet/DB/Result/Problem.pm:581
msgid "Reported via %s in the %s category anonymously at %s"
msgstr "ΑναφέÏθηκε μέσω %s στην κατηγοÏία %s ανώνυμα στις %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:666
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
msgid "Reported via %s in the %s category by %s at %s"
msgstr "ΑναφέÏθηκε μέσω %s στην κατηγοÏία %s από τον %s στις %s"
-#: templates/web/base/reports/index.html:24
-msgid "Reported within the last four weeks"
-msgstr "ΑναφέÏθηκε μέσα στις τελευταίες τέσσεÏις εβδομάδες"
-
#: templates/web/zurich/admin/report_edit-sdm.html:38
#: templates/web/zurich/admin/report_edit.html:57
msgid "Reported:"
@@ -3116,13 +3132,13 @@ msgid "Reporting a problem"
msgstr "ΑναφοÏά Ï€Ïοβλήματος"
#: perllib/FixMyStreet/Cobrand/Default.pm:655
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:383
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:388
#: templates/web/base/dashboard/index.html:134
#: templates/web/zurich/header.html:52
msgid "Reports"
msgstr "ΑναφοÏές"
-#: perllib/FixMyStreet/Cobrand/UK.pm:329 perllib/FixMyStreet/Cobrand/UK.pm:333
+#: perllib/FixMyStreet/Cobrand/UK.pm:333 perllib/FixMyStreet/Cobrand/UK.pm:335
msgid "Reports are limited to %s characters in length. Please shorten your report"
msgstr "Οι αναφοÏές έχουν ÏŒÏιο %s χαÏακτήÏων. ΠαÏακαλοÏμε συντόμευσε την αναφοÏά σου"
@@ -3130,31 +3146,54 @@ msgstr "Οι αναφοÏές έχουν ÏŒÏιο %s χαÏακτήÏων. ΠαÏ
msgid "Reports awaiting approval"
msgstr "ΑναφοÏές που αναμένουν έγκÏιση"
+#: templates/web/base/alert/_list.html:54
+#, fuzzy
+msgid "Reports by destination"
+msgstr "ΑναφέÏθηκε από %s στις %s"
+
#: templates/web/base/admin/user-form.html:107
msgid "Reports made by trusted users will be sent to the responsible body without being inspected first."
msgstr ""
+#: templates/web/base/alert/_list.html:15
+msgid "Reports near %s are sent to different councils, depending on the type of problem."
+msgstr ""
+
#: templates/web/zurich/admin/index-sdm.html:10
msgid "Reports published"
msgstr "ΑναφοÏές που δημοσιεÏθηκαν"
-#: templates/web/base/js/translation_strings.html:68
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:71
msgid "Reports saved offline."
-msgstr "ΑναφοÏά Ï€Ïοβλήματος"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#, fuzzy
+msgid "Reports sent to %s"
+msgstr "ΑναφοÏά στο &quot;%s&quot;"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:290 perllib/FixMyStreet/Cobrand/UK.pm:302
+#, fuzzy
+msgid "Reports sent to %s, within %s ward"
+msgstr "Ροή RSS από %s, στην πεÏιοχή &quot;%s&quot;"
#: templates/web/base/admin/index.html:56
msgid "Reports waiting to be sent"
msgstr ""
-#: templates/web/base/admin/contact-form.html:89
+#: templates/web/base/admin/contact-form.html:90
msgid "Reports will automatically be sent without needing to be inspected if the user's <strong>reputation</strong> is at or above this value. Set to <strong>0</strong> if all reports must be inspected regardless."
msgstr ""
-#: templates/web/base/admin/contact-form.html:94
+#: templates/web/base/admin/contact-form.html:95
msgid "Reputation threshold"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:20
+#, fuzzy
+msgid "Required"
+msgstr "Απαιτείται φωτογÏαφία"
+
#: templates/web/base/admin/report_edit.html:84
msgid "Resend report"
msgstr "Επαναποστολή αναφοÏάς"
@@ -3190,7 +3229,7 @@ msgstr "ΠÏότυπα απαντήσεων για %s"
msgid "Revert to original"
msgstr ""
-#: templates/web/base/report/_main.html:95
+#: templates/web/base/report/_main.html:99
msgid "Revert to original text"
msgstr ""
@@ -3213,16 +3252,16 @@ msgstr "ΧειÏιστής δÏόμου για την ονομασμένη οδÏ
msgid "Road operator for this named road (from OpenStreetMap): %s"
msgstr "ΧειÏιστής δÏόμου για την ονομασμένη οδο (από το OpenStreetMap): %s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1747
-#: templates/web/base/admin/report_edit.html:163
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1852
+#: templates/web/base/admin/report_edit.html:151
#: templates/web/base/admin/update_edit.html:66
#: templates/web/zurich/admin/report_edit.html:118
msgid "Rotate Left"
msgstr "ΠεÏιστÏοφή αÏιστεÏά"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: templates/web/base/admin/report_edit.html:164
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: templates/web/base/admin/report_edit.html:152
#: templates/web/base/admin/update_edit.html:67
#: templates/web/zurich/admin/report_edit.html:119
msgid "Rotate Right"
@@ -3237,33 +3276,41 @@ msgstr "Αν πεÏιστÏέψετε την φωτογÏαφία θα χαθοÏ
msgid "Satellite"
msgstr "ΔοÏυφόÏος"
-#: templates/web/base/report/_inspect.html:168
-#, fuzzy
+#: templates/web/base/report/_inspect.html:182
msgid "Save + close as duplicate"
-msgstr "σημειωμένη ως διπλή αναφοÏά"
+msgstr ""
-#: templates/web/base/admin/contact-form.html:137
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/contact-form.html:138
+#: templates/web/base/admin/reportextrafields/edit.html:64
+#: templates/web/base/admin/responsepriorities/edit.html:58
#: templates/web/base/admin/template_edit.html:46
-#: templates/web/base/report/_inspect.html:168
-#: templates/web/base/report/_main.html:113
-#: templates/web/base/report/update.html:60
+#: templates/web/base/report/_inspect.html:182
+#: templates/web/base/report/_main.html:117
+#: templates/web/base/report/update.html:69
#: templates/web/zurich/admin/body.html:62
-#: templates/web/zurich/admin/contact-form.html:20
+#: templates/web/zurich/admin/contact-form.html:22
#: templates/web/zurich/admin/template_edit.html:29
msgid "Save changes"
msgstr "Αποθήκευση αλλαγών"
-#: templates/web/base/report/_inspect.html:148
+#: templates/web/base/admin/reportextrafields/edit.html:64
+msgid "Save new fields"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:158
msgid "Save with a public update"
msgstr ""
-#. ('This is followed by a progress count, e.g. 3/5')
#. ("This is followed by a progress count, e.g. 3/5")
-#: templates/web/base/js/translation_strings.html:69
+#: templates/web/base/js/translation_strings.html:72
msgid "Saving reports offline"
msgstr ""
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:132
+#, fuzzy
+msgid "Scheduled"
+msgstr "Η ΔÏάση ΠÏογÏαμματίστηκε"
+
#: templates/web/base/admin/index.html:26
#: templates/web/base/admin/reports.html:1
#: templates/web/zurich/admin/reports.html:1
@@ -3297,41 +3344,41 @@ msgstr "Η αναζήτηση δε βÏήκε κανένα χÏήστη."
msgid "See our privacy policy"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:715
+#: perllib/FixMyStreet/Cobrand/Default.pm:720
msgid "See user detail for reports created as the council"
msgstr ""
-#: templates/web/base/admin/body-form.html:39
+#: templates/web/base/admin/body-form.html:41
#: templates/web/zurich/admin/body-form.html:16
msgid "Select a body"
msgstr "Επίλεξε ένα σώμα"
-#: templates/web/base/reports/index.html:12
-msgid "Select a particular council to see the reports sent there."
-msgstr "Επίλεξε μια συγκεκÏιμένη υπηÏεσία για να δεις τις αναφοÏές που στάλθηκαν εκεί."
-
-#: templates/web/base/admin/body-form.html:77
+#: templates/web/base/admin/body-form.html:79
#: templates/web/zurich/admin/body-form.html:26
msgid "Select an area"
msgstr "Διάλεξε μια πεÏιοχή"
-#: templates/web/base/alert/_list.html:11
-msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
-msgstr "Διάλεξε ποιο είδος ειδοποίησης θα Ï€ÏοτιμοÏσες και μετά κάνε κλικ στο κουμπί για να οδηγηθείς σε μία Ïοή RSS, ή γÏάψε τη διεÏθυνση email σου για να ειδοποιείσαι μέσω email."
+#: templates/web/base/admin/responsepriorities/edit.html:33
+msgid "Select if this is the default priority"
+msgstr ""
#: templates/web/base/admin/category-checkboxes.html:6
msgid "Select:"
msgstr ""
+#: templates/web/base/contact/index.html:107
+msgid "Send"
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:109
msgid "Send extended Open311 statuses with service request updates"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:826
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:831
msgid "Sent report back"
msgstr "ΕπιστÏοφή αναφοÏάς"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:804
+#: perllib/FixMyStreet/DB/Result/Problem.pm:741
msgid "Sent to %s %s later"
msgstr "Στάλθηκε στο %s %s αÏγότεÏα"
@@ -3344,7 +3391,7 @@ msgstr "Στάλθηκε:"
msgid "Service:"
msgstr "ΥπηÏεσία:"
-#: templates/web/base/report/_inspect.html:31
+#: templates/web/base/report/_inspect.html:41
msgid "Set to my current location"
msgstr ""
@@ -3353,49 +3400,56 @@ msgid "Share"
msgstr "Κοινοποίηση"
#: templates/web/base/main_nav_items.html:10
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:21
#: templates/web/base/report/_main.html:29
msgid "Shortlist"
msgstr ""
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/reports/body.html:32
+msgid "Shortlist all visible"
+msgstr ""
+
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:20
#: templates/web/base/report/_main.html:25
#: templates/web/base/reports/_list-filters.html:9
msgid "Shortlisted"
msgstr ""
-#: templates/web/base/report/_main.html:144
+#: templates/web/base/report/_item.html:15
+#: templates/web/base/report/_main.html:148
msgid "Shortlisted by %s"
msgstr ""
#: templates/web/base/report/update.html:20
-#, fuzzy
msgid "Show Photo?"
-msgstr "ΠÏοβολή παλαιότεÏων"
+msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:54
+#: templates/web/base/questionnaire/index.html:26
+msgid "Show all updates"
+msgstr ""
+
+#: templates/web/base/report/new/form_user_loggedin.html:56
#: templates/web/base/report/new/form_user_loggedout_by_email.html:22
-#: templates/web/base/report/update/form_name.html:33
+#: templates/web/base/report/update/form_name.html:37
msgid "Show my name publicly"
msgstr "Δημόσια Ï€Ïοβολή του ονόματός μου"
#: templates/web/base/report/update.html:17
-#, fuzzy
msgid "Show name publicly?"
-msgstr "Δημόσια Ï€Ïοβολή του ονόματός μου"
+msgstr ""
#: templates/web/base/around/display_location.html:69
msgid "Show old"
msgstr "ΠÏοβολή παλαιότεÏων"
-#: templates/web/base/report/_main.html:79
-#, fuzzy
+#: templates/web/base/report/_main.html:83
msgid "Show photo"
-msgstr "ΠÏοβολή παλαιότεÏων"
+msgstr ""
#: templates/web/base/around/display_location.html:60
+#: templates/web/base/js/translation_strings.html:54
msgid "Show pins"
msgstr "ΠÏοβολή καÏφιτσών"
@@ -3403,16 +3457,20 @@ msgstr "ΠÏοβολή καÏφιτσών"
msgid "Show reporter&rsquo;s name"
msgstr ""
-#: templates/web/base/auth/general.html:117
+#: templates/web/base/reports/index.html:62
+msgid "Show reports in your area"
+msgstr ""
+
+#: templates/web/base/auth/general.html:119
#: templates/web/base/auth/general.html:3
-#: templates/web/base/auth/general.html:86
+#: templates/web/base/auth/general.html:88
#: templates/web/base/main_nav_items.html:6
#: templates/web/zurich/auth/general.html:18
#: templates/web/zurich/auth/general.html:35
msgid "Sign in"
msgstr "ΣÏνδεση"
-#: templates/web/base/auth/general.html:96
+#: templates/web/base/auth/general.html:98
msgid "Sign in by email instead, providing a new password. When you click the link in your email, your password will be updated."
msgstr ""
@@ -3458,14 +3516,14 @@ msgstr "ΛυποÏμαστε, αυτός δεν είναι ένας έγκυÏο
msgid "Sorry, there has been an error confirming your problem."
msgstr "Συγνώμη, υπήÏξε βλάβη στην επιβεβαίωση του Ï€Ïοβλήματός σου."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:230
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:235
#: perllib/FixMyStreet/Geocode.pm:37 perllib/FixMyStreet/Geocode/Bing.pm:38
#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:56
#: perllib/FixMyStreet/Geocode/OSM.pm:48
msgid "Sorry, we could not find that location."
msgstr "Συγνώμη, δεν μποÏέσαμε να βÏοÏμε αυτήν την τοποθεσία."
-#: templates/web/base/auth/general.html:9
+#: templates/web/base/auth/general.html:11
#: templates/web/base/report/display.html:29
#: templates/web/base/report/new/fill_in_details_form.html:15
msgid "Sorry, we could not log you in. Please fill in the form below."
@@ -3487,11 +3545,11 @@ msgid ""
"page wasn’t found or there was a server error. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Root.pm:107
+#: perllib/FixMyStreet/App/Controller/Root.pm:124
msgid "Sorry, you don't have permission to do that."
msgstr ""
-#: templates/web/base/reports/_list-filters.html:42
+#: templates/web/base/reports/_list-filters.html:53
msgid "Sort by"
msgstr ""
@@ -3508,17 +3566,25 @@ msgid "Start Date:"
msgstr "ΗμεÏομηνία ΈναÏξης:"
#: templates/web/base/admin/body.html:73
+#: templates/web/base/admin/category_edit.html:29
+#: templates/web/base/admin/contact-form.html:53
#: templates/web/base/admin/flagged.html:18
#: templates/web/base/admin/index.html:64
#: templates/web/base/admin/list_updates.html:11
#: templates/web/base/admin/reports.html:16
#: templates/web/base/admin/template_edit.html:40
-#: templates/web/base/report/_inspect.html:83
-#: templates/web/base/report/_item.html:94
+#: templates/web/base/report/_inspect.html:82
+#: templates/web/base/report/_item.html:96
#: templates/web/base/report/update/form_update.html:39
+#: templates/web/zurich/admin/contact-form.html:10
msgid "State"
msgstr "Κατάσταση"
+#: templates/web/base/report/update.html:48
+#, fuzzy
+msgid "State changed to:"
+msgstr "Αποθήκευση αλλαγών"
+
#: templates/web/base/admin/report_edit.html:116
#: templates/web/base/admin/update_edit.html:28
#: templates/web/zurich/admin/report_edit-sdm.html:75
@@ -3528,8 +3594,14 @@ msgstr "Κατάσταση"
msgid "State:"
msgstr "Κατάσταση:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:640
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:386
+#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: templates/web/base/admin/states/index.html:1
+#, fuzzy
+msgid "States"
+msgstr "Κατάσταση"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
#: templates/web/base/admin/index.html:71 templates/web/base/admin/stats.html:1
#: templates/web/base/admin/stats_by_state.html:1
#: templates/web/zurich/admin/stats.html:1 templates/web/zurich/header.html:65
@@ -3551,6 +3623,10 @@ msgstr "Ακόμη ανοιχτό, μέσω εÏωτηματολογίου, %s"
msgid "Street View"
msgstr "Street View"
+#: templates/web/base/admin/extra-metadata-form.html:46
+msgid "String"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:192
msgid "Subcategory: %s"
msgstr "ΥποκατηγοÏία: %s"
@@ -3559,7 +3635,7 @@ msgstr "ΥποκατηγοÏία: %s"
msgid "Subdivision/Body"
msgstr "Τμήμα/Σώμα"
-#: templates/web/base/contact/index.html:88
+#: templates/web/base/contact/index.html:92
msgid "Subject"
msgstr "Θέμα"
@@ -3569,14 +3645,14 @@ msgid "Subject:"
msgstr "Θέμα:"
#: templates/web/base/questionnaire/creator_fixed.html:19
-#: templates/web/base/report/new/form_user_loggedin.html:61
+#: templates/web/base/report/new/form_user_loggedin.html:63
#: templates/web/base/report/new/form_user_loggedout_by_email.html:36
#: templates/web/base/report/new/form_user_loggedout_password.html:11
#: templates/web/zurich/report/new/fill_in_details_form.html:73
msgid "Submit"
msgstr "Υποβολή"
-#: templates/web/base/admin/report_edit.html:174
+#: templates/web/base/admin/report_edit.html:162
#: templates/web/base/admin/report_edit.html:24
#: templates/web/base/admin/update_edit.html:77
#: templates/web/base/admin/user-form.html:170
@@ -3590,8 +3666,8 @@ msgstr "Υποβολή αλλαγών"
msgid "Submit questionnaire"
msgstr "Υποβολή εÏωτηματολογίου"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:164
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:893
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:898
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:6
#: templates/web/zurich/admin/index-dm.html:23
@@ -3601,36 +3677,38 @@ msgstr "Υποβολή εÏωτηματολογίου"
msgid "Submitted"
msgstr "Υποβλήθηκε"
+#: templates/web/base/alert/_list.html:77
+#: templates/web/base/alert/_list.html:80
#: templates/web/base/alert/updates.html:23
#: templates/web/base/report/display_tools.html:51
msgid "Subscribe"
msgstr "Γίνε συνδÏομητής"
-#: templates/web/base/alert/_list.html:93
-msgid "Subscribe me to an email alert"
+#: templates/web/base/alert/_list.html:72
+#, fuzzy
+msgid "Subscribe by email"
msgstr "Γίνε συνδÏομητής σε ειδοποιήσεις μέσω email"
#: templates/web/base/report/new/form_report.html:19
msgid "Summarise the problem"
msgstr ""
-#: templates/web/base/admin/contact-form.html:129
+#: templates/web/base/admin/contact-form.html:130
msgid "Summarise your changes"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:638
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:382
+#: perllib/FixMyStreet/Cobrand/Default.pm:637
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:387
#: templates/web/base/admin/bodies.html:29
#: templates/web/base/admin/index.html:1 templates/web/base/status/index.html:1
#: templates/web/base/status/index.html:3
#: templates/web/zurich/admin/index-dm.html:1
#: templates/web/zurich/admin/index-sdm.html:1
-#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:13
+#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:12
#: templates/web/zurich/header.html:49
msgid "Summary"
msgstr "ΠεÏίληψη"
-#: templates/web/base/reports/index.html:4
#: templates/web/zurich/reports/index.html:0
#: templates/web/zurich/reports/index.html:4
msgid "Summary reports"
@@ -3654,7 +3732,7 @@ msgid "Template &laquo;%s&raquo;"
msgstr "ΠÏότυπο &laquo;%s&raquo;"
#: perllib/FixMyStreet/Cobrand/Default.pm:661
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:393
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
#: templates/web/zurich/header.html:69
msgid "Templates"
msgstr "ΠÏότυπα"
@@ -3683,7 +3761,7 @@ msgstr "ΕυχαÏιστοÏμε που ανέφεÏες αυτό το ζήτηÎ
msgid "Thank you for trying to confirm your update or problem. We seem to have an error ourselves though, so <a href=\"%s\">please let us know what went on</a> and we'll look into it."
msgstr "ΕυχαÏιστοÏμε που Ï€Ïοσπάθησες να επιβεβαιώσεις την ενημέÏωση ή το Ï€Ïόβλημά σου. Μάλλον όμως εμφανίστηκε σε εμάς κάποια βλάβη, οπότε <a href=\"%s\">παÏακαλοÏμε ενημέÏωσέ μας για το τι έγινε</a> και θα το κοιτάξουμε."
-#: templates/web/base/tokens/confirm_update.html:15
+#: templates/web/base/tokens/confirm_update.html:16
msgid "Thank you for updating this issue!"
msgstr "ΕυχαÏιστοÏμε που ενημέÏωσες αυτό το ζήτημα!"
@@ -3711,7 +3789,7 @@ msgstr "Η εικόνα δεν φαίνεται να έχει μεταφοÏτω
msgid "That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again."
msgstr "Η τοποθεσία δεν φαίνεται να βÏίσκεται στην αÏμοδιότητα κάποιου συμβουλίου. Ίσως είναι εκτός ακτής ή εκτός της χώÏας. ΠαÏακαλοÏμε Ï€Ïοσπάθησε ξανά."
-#: perllib/FixMyStreet/App/Controller/Location.pm:129
+#: perllib/FixMyStreet/App/Controller/Location.pm:127
msgid "That location does not appear to be in the UK; please try again."
msgstr "Η τοποθεσία δεν φαίνεται να βÏίσκεται στην Ελλάδα. ΠαÏακαλοÏμε Ï€Ïοσπάθησε ξανά."
@@ -3721,23 +3799,23 @@ msgstr "Η τοποθεσία δεν φαίνεται να βÏίσκεται σ
msgid "That postcode was not recognised, sorry."
msgstr "Ο ταχυδÏομικός κώδικας δεν αναγνωÏίστηκε, λυποÏμαστε."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:762
+#: perllib/FixMyStreet/App/Controller/Admin.pm:850
msgid "That problem has been marked as sent."
msgstr "Αυτό το Ï€Ïόβλημα έχει σημειωθεί ως απεσταλμένο."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:755
+#: perllib/FixMyStreet/App/Controller/Admin.pm:843
msgid "That problem will now be resent."
msgstr "Το Ï€Ïόβλημα τώÏα θα αποσταλθεί ξανά."
-#: perllib/FixMyStreet/App/Controller/Report.pm:137
+#: perllib/FixMyStreet/App/Controller/Report.pm:134
msgid "That report cannot be viewed on %s."
msgstr "Η αναφοÏά δεν μποÏεί να Ï€Ïοβληθεί σε %s."
-#: perllib/FixMyStreet/App/Controller/Report.pm:131
+#: perllib/FixMyStreet/App/Controller/Report.pm:128
msgid "That report has been removed from FixMyStreet."
msgstr "Η αναφοÏά αφαιÏέθηκε από το FixMyStreet."
-#: templates/web/base/admin/contact-form.html:25
+#: templates/web/base/admin/contact-form.html:27
msgid ""
"The <strong>email address</strong> is the destination to which reports about this category will be sent. \n"
" Other categories for this body may have the same email address."
@@ -3759,10 +3837,10 @@ msgid ""
" than one. If the body is running its own endpoint, you can usually leave this blank."
msgstr "Η <strong>αÏμοδιότητα</strong> χÏειάζεται μόνο αν το σημείο τεÏÎ¼Î±Ï„Î¹ÏƒÎ¼Î¿Ï Ï…Ï€Î·Ïετεί παÏαπάνω από έναν. Αν το σώμα έχει το δικό του σημείο τεÏματισμοÏ, μποÏείς συνήθως να την αφήσεις κενή."
-#: templates/web/base/admin/body-form.html:100
-#: templates/web/base/admin/body-form.html:101
-#: templates/web/base/admin/contact-form.html:103
+#: templates/web/base/admin/body-form.html:102
+#: templates/web/base/admin/body-form.html:103
#: templates/web/base/admin/contact-form.html:104
+#: templates/web/base/admin/contact-form.html:105
msgid ""
"The <strong>send method</strong> determines how problem reports will be sent to the body.\n"
" If you leave this blank, <strong>send method defaults to email</strong>."
@@ -3783,6 +3861,10 @@ msgstr ""
"Το <strong>όνομα</strong> της υπηÏεσίας ταυτοποιεί την υπηÏεσία (για παÏάδειγμα, <em>ΥπηÏεσία ΚαθαÏιότητας</em>)\n"
"και ίσως Ï€Ïοβληθεί δημόσια."
+#: templates/web/base/admin/extra-metadata-form.html:12
+msgid "The code used to store this field value in the database. e.g. <code>address</code> would be available as <code>problem.extra.address</code> in the templates."
+msgstr ""
+
#: templates/web/base/report/new/fill_in_details_text.html:1
#: templates/web/base/report/new/fill_in_details_text.html:3
msgid "The council won&rsquo;t be able to help unless you leave as much detail as you can. Please describe the exact location of the problem (e.g. on a wall), what it is, how long it has been there, a description (and a photo of the problem if you have one), etc."
@@ -3793,11 +3875,15 @@ msgstr "Η υπηÏεσία δεν θα μποÏέσει να βοηθήσει Î
msgid "The diligency prize league table shows editors' activity (who's been editing the most records)."
msgstr "Ο πίνακας βÏαβείων επιμέλειας δείχνει τη δÏαστηÏιότητα των συντακτών (ποιος έχει συντάξει τις πεÏισσότεÏες καταγÏαφές)."
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:61
-#: perllib/FixMyStreet/App/Controller/Reports.pm:82
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:63
+#: perllib/FixMyStreet/App/Controller/Reports.pm:103
msgid "The error was: %s"
msgstr "Το σφάλμα ήταν: %s"
+#: templates/web/base/admin/extra-metadata-form.html:30
+msgid "The field name as shown to the user on the report form."
+msgstr ""
+
#: templates/web/base/open311/index.html:78
msgid "The following Open311 v2 attributes are returned for each request: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
msgstr "Οι παÏακάτω ιδιότητες του Open311 v2 επιστÏέφονται για κάθε αίτημα: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code και service_name."
@@ -3836,10 +3922,14 @@ msgstr "Τα πιο Ï€Ïόσφατα Ï€Ïοβλήματα στα ÏŒÏια του
msgid "The link might have expired, or maybe you didn&rsquo;t quite copy and paste it correctly."
msgstr "Ο σÏνδεσμος ίσως έχει λήξει, ή μποÏεί να μην τον επικολλήσατε σωστά."
-#: templates/web/base/admin/body-form.html:64
+#: templates/web/base/admin/body-form.html:66
msgid "The list of available areas is being provided by the MapIt service at %s."
msgstr "Η λίστα των διαθέσιμων πεÏιοχών παÏέχεται από την υπηÏεσία MapIt στις %s."
+#: templates/web/base/admin/extra-metadata-form.html:6
+msgid "The ordering of this field on the report page. Fields are shown in ascending order according to this value."
+msgstr ""
+
#: templates/web/base/auth/change_password.html:22
#: templates/web/base/auth/change_password.html:26
msgid "The passwords do not match"
@@ -3849,9 +3939,9 @@ msgstr "Οι κωδικοί Ï€Ïόσβασης δεν ταιÏιάζουν"
msgid "The requested URL '%s' was not found on this server"
msgstr "Η ζητοÏμενη διεÏθυνση URL '%s' δε βÏέθηκε στον server"
-#: templates/web/base/alert/_list.html:17
-msgid "The simplest alert is our geographic one:"
-msgstr "Για να λαμβάνεις ειδοποιήσεις που αφοÏοÏν ζητήματα της πεÏιοχής:"
+#: templates/web/base/admin/extra-metadata-form.html:42
+msgid "The type of input field to show to the user. <strong>Text</strong> is a simple text field, <strong>List</strong> is a drop-down selection."
+msgstr ""
#: perllib/FixMyStreet/Script/Reports.pm:96
msgid "The user could not locate the problem on a map, but to see the area around the location they entered"
@@ -3872,18 +3962,18 @@ msgstr ""
msgid "There are no reports to show."
msgstr "Δεν υπάÏχουν αναφοÏές Ï€Ïος εμφάνιση."
-#: perllib/FixMyStreet/App/Controller/Reports.pm:79
+#: perllib/FixMyStreet/App/Controller/Reports.pm:100
msgid "There was a problem showing the All Reports page. Please try again later."
msgstr "ΥπήÏξε Ï€Ïόβλημα στην Ï€Ïοβολή της σελίδας Όλες οι ΑναφοÏές. ΠαÏακαλοÏμε Ï€Ïοσπάθησε ξανά αÏγότεÏα."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:137
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:60
+#: perllib/FixMyStreet/App/Controller/Contact.pm:138
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:62
msgid "There was a problem showing this page. Please try again later."
msgstr "ΥπήÏξε Ï€Ïόβλημα στην Ï€Ïοβολή αυτής της σελίδας. ΠαÏακαλοÏμε Ï€Ïοσπάθησε αÏγότεÏα."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:758
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:785
#: perllib/FixMyStreet/App/Controller/Report/Update.pm:152
-#: templates/web/base/auth/general.html:53
+#: templates/web/base/auth/general.html:55
#: templates/web/zurich/auth/general.html:28
msgid "There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the &lsquo;sign in by email&rsquo; section of the form."
msgstr "ΥπήÏξε Ï€Ïόβλημα με το συνδυασμό του email/ÎºÏ‰Î´Î¹ÎºÎ¿Ï Ï€Ïόσβασής σου. Αν δεν μποÏείς να θυμηθείς τον κωδικό σου, ή δεν έχεις, παÏακαλοÏμε συμπλήÏωσε τον τομέα &lsquo;σÏνδεση μέσω email&rsquo; αυτής της φόÏμας."
@@ -3896,7 +3986,7 @@ msgstr "ΥπήÏξε Ï€Ïόβλημα με τον συνδυασμό email/κωÎ
msgid "There was a problem with your update. Please try again."
msgstr "ΥπήÏξε Ï€Ïόβλημα με την ενημέÏωσή σου. ΠαÏακαλοÏμε Ï€Ïοσπάθησε ξανά."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:141
+#: perllib/FixMyStreet/App/Controller/Contact.pm:142
msgid "There were problems with your report. Please see below."
msgstr "ΥπήÏξαν Ï€Ïοβλήματα με την αναφοÏά σου. ΠαÏακαλοÏμε δες παÏακάτω."
@@ -3954,8 +4044,8 @@ msgstr ""
msgid "This body has no contacts. This means that currently problems reported to this body <strong>will not be sent</strong>."
msgstr "Αυτό η υπηÏεσία δεν έχει επαφές. Αυτό σημαίνει ότι μέχÏι στιγμής τα Ï€Ïοβλήματα που αναφέÏονται σε αυτήν την υπηÏεσία <strong>δεν θα στέλνονται</strong>."
-#: templates/web/base/admin/body-form.html:58
-#: templates/web/base/admin/body-form.html:59
+#: templates/web/base/admin/body-form.html:60
+#: templates/web/base/admin/body-form.html:61
msgid ""
"This body will only be sent reports for problems that are located in the <strong>area covered</strong>.\n"
" A body will not receive any reports unless it covers at least one area."
@@ -3971,8 +4061,9 @@ msgstr "Αυτό το email στάλθηκε και στις δÏο υπηÏεσ
msgid "This email has been sent to several councils covering the location of the problem, as the category selected is provided for all of them; please ignore it if you're not the correct council to deal with the issue."
msgstr "Αυτό το email στάλθηκε σε πολλές υπηÏεσίες που είναι αÏμόδιες για την τοποθεσία του Ï€Ïοβλήματος, Î±Ï†Î¿Ï Î· επιλεγμένη κατηγοÏία συμπεÏιλαμβάνεται σε κάθε μια από αυτές. ΠαÏακαλοÏμε αγνόησέ το αν η υπηÏεσία σου δεν είναι αÏμόδια για την αντιμετώπιση του ζητήματος."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:881
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:925
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1017
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:910
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:954
#: perllib/FixMyStreet/App/Controller/Report/New.pm:971
#: perllib/FixMyStreet/Cobrand/UK.pm:45
msgid "This information is required"
@@ -3982,46 +4073,41 @@ msgstr "Αυτή η πληÏοφοÏία απαιτείται"
msgid "This is a developer site; things might break at any time, and the database will be periodically deleted."
msgstr "Αυτή είναι μια ιστοσελίδα για Ï€ÏογÏαμματιστές. ΜεÏικές λειτουÏγίες ίσως χαλάσουν οποιαδήποτε στιγμή, και η βάση δεδομένων θα διαγÏάφεται πεÏιοδικά."
-#: templates/web/base/reports/index.html:10
-msgid "This is a summary of all reports on this site."
-msgstr "Αυτή είναι μια πεÏίληψη όλων των αναφοÏών σε αυτή την ιστοσελίδα"
-
-#: templates/web/base/report/new/form_report.html:56
+#: templates/web/base/report/new/form_report.html:58
msgid "This pothole has been here for two months and…"
msgstr ""
-#: templates/web/base/report/update/form_update.html:63
+#: templates/web/base/report/update/form_update.html:55
msgid "This problem has been fixed"
msgstr "Αυτό το Ï€Ïόβλημα έχει διοÏθωθεί"
-#: templates/web/base/report/update/form_update.html:56
+#: templates/web/base/report/update/form_update.html:48
msgid "This problem has not been fixed"
msgstr "Αυτό το Ï€Ïόβλημα δεν έχει διοÏθωθεί"
-#: templates/web/base/report/update/form_update.html:54
-#, fuzzy
+#: templates/web/base/report/update/form_update.html:46
msgid "This problem is still ongoing"
-msgstr "Αυτό το Ï€Ïόβλημα δεν έχει διοÏθωθεί"
+msgstr ""
#: templates/web/base/report/duplicate-no-updates.html:3
msgid "This report is a duplicate. Please leave updates on the original report:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:161
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:162
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:166
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:167
#: templates/web/zurich/report/_main.html:14
msgid "This report is awaiting moderation."
msgstr "Αυτή η αναφοÏά αναμένει έγκÏιση."
-#: perllib/FixMyStreet/Script/Alerts.pm:101
+#: perllib/FixMyStreet/Script/Alerts.pm:98
msgid "This report is currently marked as closed."
msgstr "Αυτή η αναφοÏά είναι Ï€Ïος το παÏόν καταχωÏημένη ως κλειστή."
-#: perllib/FixMyStreet/Script/Alerts.pm:99
+#: perllib/FixMyStreet/Script/Alerts.pm:96
msgid "This report is currently marked as fixed."
msgstr "Αυτή η αναφοÏά είναι Ï€Ïος το παÏόν καταχωÏημένη ως διοÏθωμένη."
-#: perllib/FixMyStreet/Script/Alerts.pm:103
+#: perllib/FixMyStreet/Script/Alerts.pm:100
msgid "This report is currently marked as open."
msgstr "Αυτή η αναφοÏά είναι Ï€Ïος το παÏόν καταχωÏημένη ως ανοιχτή."
@@ -4040,7 +4126,7 @@ msgstr "Αυτή η ιστοσελίδα πεÏιέχει επίσης μία φ
msgid "Time spent (in minutes):"
msgstr "ΧÏόνος που αφιεÏώθηκε (λεπτά):"
-#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Default.pm:638
#: templates/web/base/admin/timeline.html:1
msgid "Timeline"
msgstr "ΧÏονοδιάγÏαμμα"
@@ -4069,10 +4155,26 @@ msgstr "Για να βÏεις τις τοπικές ειδοποιήσεις Ï€
msgid "To find out what local alerts we have for you, please enter your postcode or street name and area"
msgstr "Για να βÏεις τις τοπικές ειδοποιήσεις που υπάÏχουν για σένα, παÏακαλοÏμε γÏάψε τον ταχυδÏομικό σου κώδικα, την οδό ή την πεÏιοχή σου."
+#: templates/web/base/admin/reportextrafields/edit.html:19
+msgid "To limit this collection of fields to a single cobrand, select it here."
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:40
+msgid "To limit this collection of fields to a single language, select it here."
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:95
msgid "To view a map of the precise location of this issue"
msgstr "Για την Ï€Ïοβολή ενός χάÏτη με την ακÏιβή τοποθεσία του ζητήματος"
+#: templates/web/base/reports/index.html:97
+msgid "Top 5 most used categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:83
+msgid "Top 5 responsive councils"
+msgstr ""
+
#: templates/web/base/admin/questionnaire.html:24
#: templates/web/base/admin/stats.html:24
#: templates/web/base/admin/stats.html:43
@@ -4086,9 +4188,8 @@ msgid "Total marked"
msgstr ""
#: templates/web/base/dashboard/index.html:71
-#, fuzzy
msgid "Total marked as fixed"
-msgstr "σημειωμένο ως διοÏθωμένο"
+msgstr ""
#: templates/web/base/dashboard/index.html:125
msgid "Total not marked"
@@ -4099,16 +4200,24 @@ msgstr ""
msgid "Total reports received"
msgstr ""
-#: templates/web/base/report/_inspect.html:124
-#: templates/web/base/report/_item.html:102
+#: templates/web/base/report/_inspect.html:134
+#: templates/web/base/report/_item.html:104
msgid "Traffic management required?"
msgstr ""
+#: templates/web/base/admin/_translations.html:7
+msgid "Translation"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:2
+msgid "Translations"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:111
msgid "Trusted by bodies:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:721
+#: perllib/FixMyStreet/Cobrand/Default.pm:726
msgid "Trusted to make reports that don't need to be inspected"
msgstr ""
@@ -4124,8 +4233,14 @@ msgstr "Δοκίμασε ξανά"
msgid "Try emailing us directly:"
msgstr "Στείλε μας ένα email:"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:21
+#: templates/web/base/admin/extra-metadata-form.html:44
+#: templates/web/base/admin/states/index.html:10
+#: templates/web/base/admin/states/index.html:100
+msgid "Type"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:59
+#: templates/web/base/admin/contact-form.html:55
#: templates/web/base/admin/update_edit.html:30
#: templates/web/zurich/admin/report_edit-sdm.html:66
#: templates/web/zurich/admin/report_edit.html:94
@@ -4133,7 +4248,6 @@ msgstr "Στείλε μας ένα email:"
msgid "Unconfirmed"
msgstr "Ανεπιβεβαίωτο"
-#: templates/web/base/reports/_list-filters.html:12
#: templates/web/base/reports/_list-filters.html:5
msgid "Unfixed reports"
msgstr "μη διοÏθωμένες αναφοÏές"
@@ -4147,14 +4261,14 @@ msgid "Unknown alert type"
msgstr "Άγνωστο είδος ειδοποίησης"
#: perllib/FixMyStreet/App/Controller/Photo.pm:109
-#: perllib/FixMyStreet/App/Controller/Root.pm:124
+#: perllib/FixMyStreet/App/Controller/Root.pm:141
#: templates/web/base/js/translation_strings.html:38
msgid "Unknown error"
msgstr "Άγνωστο σφάλμα"
-#: perllib/FixMyStreet/App/Controller/Report.pm:115
+#: perllib/FixMyStreet/App/Controller/Report.pm:112
+#: perllib/FixMyStreet/App/Controller/Report.pm:118
#: perllib/FixMyStreet/App/Controller/Report.pm:121
-#: perllib/FixMyStreet/App/Controller/Report.pm:124
msgid "Unknown problem ID"
msgstr "Άγνωστη ταυτότητα Ï€Ïοβλήματος"
@@ -4162,10 +4276,11 @@ msgstr "Άγνωστη ταυτότητα Ï€Ïοβλήματος"
msgid "Unshortlisted"
msgstr ""
-#: templates/web/base/report/_item.html:24
+#: templates/web/base/report/_item.html:26
msgid "Up one"
msgstr ""
+#: templates/web/base/admin/states/index.html:76
#: templates/web/base/report/update/form_update.html:29
msgid "Update"
msgstr "ΕνημέÏωση"
@@ -4182,7 +4297,7 @@ msgstr "Η παÏακάτω ενημέÏωση Ï€Ïοστέθηκε ανώνυμ
msgid "Update below added by %s at %s"
msgstr "Η παÏακάτω ενημέÏωση Ï€Ïοστέθηκε από %s στις %s"
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Update body"
msgstr "ΕνημέÏωση σώματος"
@@ -4218,13 +4333,23 @@ msgstr "Καταστάσεις ενημέÏωσης"
msgid "Updated"
msgstr "ΕνημεÏώθηκε"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1157
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1221
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1384
-#: perllib/FixMyStreet/App/Controller/Admin.pm:822
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:762
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:787
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:857
+#: perllib/FixMyStreet/DB/Result/Comment.pm:249
+#, fuzzy
+msgid "Updated by <strong>%s</strong> (%s) at %s"
+msgstr "ΔημοσιεÏθηκε από <strong>%s</strong> (%s) στις %s"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:251
+#, fuzzy
+msgid "Updated by <strong>%s</strong> at %s"
+msgstr "ΔημοσιεÏθηκε από <strong>%s</strong> στις %s"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1262
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1326
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1489
+#: perllib/FixMyStreet/App/Controller/Admin.pm:910
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:767
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:792
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:862
msgid "Updated!"
msgstr "ΕνημεÏώθηκε!"
@@ -4234,7 +4359,7 @@ msgstr "ΕνημεÏώθηκε!"
msgid "Updates"
msgstr "ΕνημεÏώσεις"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:133
+#: perllib/FixMyStreet/DB/Result/Comment.pm:134
msgid "Updates are limited to %s characters in length. Please shorten your update"
msgstr "Οι ενημεÏώσεις έχουν ÏŒÏιο χαÏακτήÏων %s. ΠαÏακαλοÏμε συντόμευσε την ενημέÏωσή σου"
@@ -4248,11 +4373,22 @@ msgstr "ΕνημεÏώσεις για {{title}}"
msgid "Updates to this problem, %s"
msgstr "ΕνημεÏώσεις για το Ï€Ïόβλημα, %s"
+#: templates/web/base/admin/contact-form.html:43
+#: templates/web/base/admin/contact-form.html:44
+msgid ""
+"Use <strong>confirmed</strong> to indicate that this contact has been\n"
+"confirmed as correct. If you are not sure of the origin or validity of the\n"
+"contact, use <strong>unconfirmed</strong>. <strong>inactive</strong> will\n"
+"remove the category from use when reporting problems, but keep it available in\n"
+"map filters, and <strong>deleted</strong> will remove the category from there\n"
+"as well."
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:65
msgid "Use Open311 update-sending extension"
msgstr ""
-#: templates/web/base/admin/contact-form.html:124
+#: templates/web/base/admin/contact-form.html:125
msgid "Use this field to record details that are only displayed in the admin. Input is not shown publicly, and is not sent to the body."
msgstr ""
@@ -4265,27 +4401,26 @@ msgstr "ΧάÏτης σε χÏήση"
msgid "User ID to attribute fetched comments to"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1700
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1805
msgid "User flag removed"
msgstr "Η επισήμανση του χÏήστη αφαιÏέθηκε"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1672
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1777
msgid "User flagged"
msgstr "Ο χÏήστης επισημάνθηκε"
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:58
-#, fuzzy
msgid "User has marked as fixed"
-msgstr "σημειωμένο ως διοÏθωμένο"
+msgstr ""
#: templates/web/base/admin/users.html:5
msgid "User search finds matches in users' names and email addresses."
msgstr "Η αναζήτηση χÏηστών βÏίσκει αποτελέσματα για ονόματα χÏηστών και διευθÏνσεις email."
#: perllib/FixMyStreet/Cobrand/Default.pm:669
-#: perllib/FixMyStreet/Cobrand/Default.pm:723
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
+#: perllib/FixMyStreet/Cobrand/Default.pm:728
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:403
#: templates/web/base/admin/flagged.html:29 templates/web/zurich/header.html:61
msgid "Users"
msgstr "ΧÏήστες"
@@ -4294,9 +4429,9 @@ msgstr "ΧÏήστες"
msgid "Users can perform the following actions within their assigned body or area."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:400
-#: perllib/FixMyStreet/App/Controller/Admin.pm:430
-#: perllib/FixMyStreet/App/Controller/Admin.pm:448
+#: perllib/FixMyStreet/App/Controller/Admin.pm:381
+#: perllib/FixMyStreet/App/Controller/Admin.pm:417
+#: perllib/FixMyStreet/App/Controller/Admin.pm:439
msgid "Values updated"
msgstr "Οι τιμές ενημεÏώθηκαν"
@@ -4343,7 +4478,7 @@ msgstr "Î’Ïήκαμε παÏαπάνω από ένα αποτέλεσμα γιÎ
msgid "We found more than one match for that problem reference:"
msgstr ""
-#: templates/web/base/auth/general.html:6
+#: templates/web/base/auth/general.html:8
#: templates/web/base/report/display.html:35
#: templates/web/base/report/new/oauth_email_form.html:5
msgid "We need your email address, please give it below."
@@ -4378,7 +4513,7 @@ msgstr "Θα σου απαντήσουμε όσο το δυνατόν συντο
msgid "What was your experience of getting the problem fixed?"
msgstr "Ποια ήταν η εμπειÏία σου κατά την επίλυση του Ï€Ïοβλήματος;"
-#: templates/web/base/admin/category_edit.html:52
+#: templates/web/base/admin/category_edit.html:27
#: templates/web/zurich/admin/body.html:18
msgid "When edited"
msgstr "Όταν διοÏθώθηκε"
@@ -4387,11 +4522,19 @@ msgstr "Όταν διοÏθώθηκε"
msgid "When sent"
msgstr "Όταν αποστάλθηκε "
-#: templates/web/base/report/_inspect.html:89
+#: templates/web/base/admin/extra-metadata-form.html:18
+msgid "Whether the user is required to provide a value for this field."
+msgstr ""
+
+#: templates/web/base/alert/_list.html:9
+msgid "Which problems do you want alerts about?"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:99
msgid "Which report is it a duplicate of?"
msgstr ""
-#: templates/web/base/js/translation_strings.html:54
+#: templates/web/base/js/translation_strings.html:57
msgid "Whoa there Testino! Three photos are enough."
msgstr "ΉÏεμα Ïε Τεστίνο! ΤÏεις φωτογÏαφίες είναι αÏκετές."
@@ -4399,8 +4542,8 @@ msgstr "ΉÏεμα Ïε Τεστίνο! ΤÏεις φωτογÏαφίες είν
msgid "Why stop there? <a href=\"/alert\">Set up more alerts</a> for free."
msgstr "Μόνο αυτό? <a href=\"/alert\">ΠÏόσθεσε πεÏισσότεÏες ειδοποιήσεις</a> δωÏεάν."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:185
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:190
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:14
msgid "Wish"
@@ -4410,7 +4553,7 @@ msgstr "Επιθυμία"
msgid "With request searches, it is also possible to search for agency_responsible to limit the requests to those sent to a single administration. The search term is the administration ID provided by <a href=\"%s\">MaPit</a>."
msgstr "Με τις αναζητήσεις αιτημάτων, είναι επίσης δυνατό να αναζητήσεις με το πεδίο agency_responsible πεÏιοÏίζοντας τα αποτελέσματα στις αιτήσεις που στέλνονται σε έναν συγκεκÏιμένο τομέα. Ο ÏŒÏος αναζήτησης είναι ο Κωδικός (ID) ενός τομέα που παÏέχεται από το <a href=\"%s\">MapIt</a>."
-#: templates/web/base/front/footer-marketing.html:17
+#: templates/web/base/front/footer-marketing.html:3
msgid "Would you like to contribute to FixMyStreet? Our code is open source and <a href=\"http://fixmystreet.org\">available at fixmystreet.org</a>."
msgstr "Θα ήθελες να συνεισφέÏεις στο FixMyStreet; Ο κώδικας μας είναι ανοιχτής πηγής και <a href=\"http://fixmystreet.org\">διαθέσιμος στο fixmystreet.org</a>."
@@ -4435,23 +4578,22 @@ msgstr ""
msgid "Year"
msgstr "Έτος"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1202
+#: perllib/FixMyStreet/Cobrand/Default.pm:1236
#: templates/web/base/admin/bodies.html:70
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
#: templates/web/base/admin/category_edit.html:5
#: templates/web/base/admin/flagged.html:47
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:136
+#: templates/web/base/admin/report_edit.html:124
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:25
#: templates/web/base/admin/users.html:32
#: templates/web/base/questionnaire/creator_fixed.html:14
#: templates/web/base/questionnaire/index.html:104
#: templates/web/base/questionnaire/index.html:53
+#: templates/web/base/report/_inspect.html:90
msgid "Yes"
msgstr "Îαι"
@@ -4464,7 +4606,7 @@ msgstr "Îαι έχω κωδικό Ï€Ïόσβασης"
msgid "You are complaining that this problem report was unnecessarily moderated:"
msgstr "ΠαÏαπονιέσαι ότι, αυτή η αναφοÏά Ï€Ïοβλήματος διαγÏάφτηκε από τον διαχειÏιστή χωÏίς λόγο: "
-#: templates/web/base/js/translation_strings.html:70
+#: templates/web/base/js/translation_strings.html:73
msgid "You are offline"
msgstr ""
@@ -4485,7 +4627,11 @@ msgstr "ΜποÏείς να <a href=\"%s%s\">δεις το Ï€Ïόβλημα σε
msgid "You can add an abusive user's email to the abuse list, which automatically hides (and never sends) reports they create."
msgstr "ΜποÏείς να Ï€Ïοσθέσεις την ηλεκτÏονική διεÏθυνση ενός καταχÏÎ·ÏƒÏ„Î¹ÎºÎ¿Ï Ï‡Ïήστη στην λίστα καταχÏήσεων, κάτι που αυτόματα θα αποκÏÏπτει (και δεν θα αποστέλλει) αναφοÏές που αυτός δημιουÏγεί."
-#: templates/web/base/contact/index.html:111
+#: templates/web/base/alert/_list.html:18
+msgid "You can choose to subscribe to all problems reported in an area, or reports based on their destination."
+msgstr ""
+
+#: templates/web/base/contact/index.html:115
msgid "You can contact technical support on <a href='mailto:%s'>%s</a>"
msgstr "ΜποÏείς να επικοινωνήσεις για τεχνική υποστήÏιξη στο <a href='mailto:%s'>%s</a>"
@@ -4506,7 +4652,7 @@ msgstr ""
msgid "You can help us by finding a contact email address for local problems for %s and emailing it to us at <a href='mailto:%s'>%s</a>."
msgstr "ΜποÏείς να μας βοηθήσεις με το να βÏεις ένα email επικοινωνίας για τα τοπικά Ï€Ïοβλήματα για %s και να μας την στείλεις με e-mail στο <a href='mailto:%s'>%s</a>."
-#: templates/web/base/admin/body-form.html:91
+#: templates/web/base/admin/body-form.html:93
msgid "You can mark a body as deleted if you do not want it to be active on the site."
msgstr "ΜποÏείς να επισημάνεις έναν τομέα ως διαγεγÏαμμένο αν δεν θέλεις να είναι ενεÏγός σε αυτόν τον ιστότοπο."
@@ -4514,7 +4660,7 @@ msgstr "ΜποÏείς να επισημάνεις έναν τομέα ως δι
msgid "You declined; please fill in the box above"
msgstr "Έχεις υποχωÏήσει - παÏακαλοÏμε συμπλήÏωσε το κουτί που υπάÏχει παÏαπάνω."
-#: templates/web/base/js/translation_strings.html:72
+#: templates/web/base/js/translation_strings.html:75
msgid "You have <a id=\"oFN\" href=\"\"><span>%s</span> saved to submit</a>."
msgstr ""
@@ -4522,7 +4668,7 @@ msgstr ""
msgid "You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"
msgstr "Έχεις ήδη απαντήσεις σε αυτό το εÏωτηματολόγιο. Αν έχεις κάποιος αποÏία, παÏακαλοÏμε <a href='%s'>επικοινώνησε</a>, ή <a href='%s'>δες το Ï€Ïόβλημά σου</a>.\n"
-#: templates/web/base/report/new/form_report.html:37
+#: templates/web/base/report/new/form_report.html:39
#: templates/web/zurich/report/new/fill_in_details_form.html:30
msgid "You have already attached photos to this report. Note that you can attach a maximum of 3 to this report (if you try to upload more, the oldest will be removed)."
msgstr "Έχεις ήδη επισυνάψει φωτογÏαφίες σε αυτήν την αναφοÏά. ΜποÏείς να επισυνάψεις μέχÏι 3 (αν Ï€Ïοσπαθήσεις να μεταφοÏτώσεις πεÏισσότεÏες, θα αφαιÏεθοÏν οι παλιότεÏες)."
@@ -4583,10 +4729,9 @@ msgstr "Οι ΑναφοÏές σου"
msgid "Your account"
msgstr ""
-#: templates/web/base/alert/_list.html:90
#: templates/web/base/alert/updates.html:19
#: templates/web/base/alert/updates.html:22
-#: templates/web/base/contact/index.html:81
+#: templates/web/base/contact/index.html:80
#: templates/web/base/report/display_tools.html:46
#: templates/web/base/report/display_tools.html:49
#: templates/web/base/report/new/form_user_loggedout_email.html:1
@@ -4596,7 +4741,7 @@ msgid "Your email"
msgstr "Το e-mail σου"
#: templates/web/base/auth/change_email.html:9
-#: templates/web/base/auth/general.html:55
+#: templates/web/base/auth/general.html:57
#: templates/web/base/report/update/form_user_loggedout_email.html:5
#: templates/web/zurich/auth/general.html:30
#: templates/web/zurich/auth/general.html:58
@@ -4607,21 +4752,32 @@ msgstr "Η διεÏθυνση του e-mail σου"
msgid "Your information will only be used in accordance with our <a href=\"/privacy\">privacy policy</a>"
msgstr "Οι πληÏοφοÏίες σου θα χÏησιμοποιηθοÏν μόνο σÏμφωνα με την <a href=\"/privacy\">πολιτική αποÏÏήτου</a>"
-#: templates/web/base/auth/general.html:107
+#: templates/web/base/auth/general.html:109
#: templates/web/base/contact/index.html:74
#: templates/web/base/report/new/form_user_loggedout_by_email.html:17
-#: templates/web/base/report/update/form_name.html:29
+#: templates/web/base/report/update/form_name.html:33
#: templates/web/zurich/auth/general.html:61
#: templates/web/zurich/report/new/fill_in_details_form.html:63
msgid "Your name"
msgstr "Το όνομά σου"
-#: templates/web/base/js/translation_strings.html:62
-#, fuzzy
+#: templates/web/base/my/anonymize.html:13
+msgid "Your name has already been sent to %s, but we can hide it on this page:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:264
+msgid "Your name has been hidden from all your reports and updates."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:260
+msgid "Your name has been hidden."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:65
msgid "Your offline reports"
-msgstr "Οι αναφοÏές σου"
+msgstr ""
-#: templates/web/base/auth/general.html:85
+#: templates/web/base/auth/general.html:87
#: templates/web/base/report/new/form_user_loggedout_password.html:10
#: templates/web/base/report/update/form_user_loggedout_password.html:9
#: templates/web/zurich/auth/general.html:34
@@ -4632,6 +4788,7 @@ msgstr "Ο κωδικός σου"
msgid "Your password has been changed"
msgstr "Ο κωδικός σου έχει αλλάξει"
+#: templates/web/base/contact/index.html:87
#: templates/web/base/report/new/form_user_loggedout_by_email.html:26
#: templates/web/zurich/report/new/fill_in_details_form.html:69
msgid "Your phone number"
@@ -4650,7 +4807,7 @@ msgstr "Οι αναφοÏές σου"
msgid "Your shortlist"
msgstr ""
-#: templates/web/base/js/translation_strings.html:63
+#: templates/web/base/js/translation_strings.html:66
msgid "Your update has been saved offline for submission when back online."
msgstr ""
@@ -4658,8 +4815,8 @@ msgstr ""
msgid "Your updates"
msgstr "Οι ενημεÏώσεις σου"
-#: templates/web/base/report/new/form_user_loggedin.html:18
-#: templates/web/base/report/update/form_name.html:11
+#: templates/web/base/report/new/form_user_loggedin.html:19
+#: templates/web/base/report/update/form_name.html:12
msgid "Yourself"
msgstr ""
@@ -4668,14 +4825,14 @@ msgstr ""
msgid "all"
msgstr ""
+#: perllib/FixMyStreet/DB/Result/Comment.pm:259
+msgid "and a defect raised"
+msgstr ""
+
#: templates/web/base/admin/timeline.html:4
msgid "by %s"
msgstr "από %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:290
-msgid "closed as a duplicate report"
-msgstr "σημειωμένη ως διπλή αναφοÏά"
-
#: templates/web/base/reports/body.html:6
#: templates/web/base/reports/body.html:7
msgid "council"
@@ -4700,7 +4857,7 @@ msgstr "επεξεÏγασία χÏήστη"
msgid "from %s different users"
msgstr "από %s διαφοÏετικοÏÏ‚ χÏήστες"
-#: templates/web/base/report/_item.html:61
+#: templates/web/base/report/_item.html:63
#: templates/web/zurich/report/_item.html:14
msgid "last updated %s"
msgstr "τελευταία ενημέÏωση %s"
@@ -4709,44 +4866,7 @@ msgstr "τελευταία ενημέÏωση %s"
msgid "less than a minute"
msgstr "λιγότεÏο από ένα λεπτό"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:280
-msgid "marked as action scheduled"
-msgstr "σημειωμένη ως Ï€ÏογÏαμματισμένη δÏάση"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:292
-msgid "marked as an internal referral"
-msgstr "σημειωμένη ως εσωτεÏική αναφοÏά"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:282
-msgid "marked as closed"
-msgstr "σημειωμένο ως κλειστό"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:263
-#: perllib/FixMyStreet/DB/Result/Comment.pm:284
-msgid "marked as fixed"
-msgstr "σημειωμένο ως διοÏθωμένο"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:278
-msgid "marked as in progress"
-msgstr "σημειωμένο ως σε διαδικασία αντιμετώπισης"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:274
-msgid "marked as investigating"
-msgstr "σημειωμένο ως υπό έλεγχο"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:286
-msgid "marked as no further action"
-msgstr "σημειωμένο ως αδÏνατο να διοÏθωθεί"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:288
-msgid "marked as not the council's responsibility"
-msgstr "σημειωμένο ως εκτός αÏμοδιότητας της υπηÏεσίας"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:276
-msgid "marked as planned"
-msgstr "σημειωμένο ως Ï€ÏογÏαμματισμένο"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:122
+#: perllib/FixMyStreet/App/Controller/Admin.pm:119
#: templates/web/base/admin/questionnaire.html:15
#: templates/web/base/admin/questionnaire.html:16
msgid "n/a"
@@ -4757,13 +4877,10 @@ msgstr "μη διαθέσιμο"
msgid "none"
msgstr ""
-#: templates/web/base/admin/category_edit.html:35
-msgid "optional"
-msgstr ""
-
-#: templates/web/base/alert/_list.html:86
-msgid "or"
-msgstr "ή"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:278
+#, fuzzy
+msgid "not the council's responsibility"
+msgstr "σημειωμένο ως εκτός αÏμοδιότητας της υπηÏεσίας"
#: templates/web/base/js/translation_strings.html:27
msgid "or locate me automatically"
@@ -4788,16 +4905,7 @@ msgstr "αναφέÏθηκε αÏχικά από: &ldquo;%s&rdquo;"
msgid "other areas:"
msgstr "άλλες πεÏιοχές:"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:265
-#: perllib/FixMyStreet/DB/Result/Comment.pm:271
-msgid "reopened"
-msgstr "άνοιξε ξανά"
-
-#: templates/web/base/admin/category_edit.html:35
-msgid "required"
-msgstr ""
-
-#: templates/web/zurich/footer.html:13
+#: templates/web/zurich/footer.html:12
msgid "sign out"
msgstr "έξοδος"
@@ -4805,11 +4913,16 @@ msgstr "έξοδος"
msgid "the local council"
msgstr "η τοπική υπηÏεσία"
-#: templates/web/base/report/_report_meta_info.html:2
+#: templates/web/base/report/_report_meta_info.html:5
#: templates/web/zurich/report/_main.html:5
msgid "there is no pin shown as the user did not use the map"
msgstr "δεν υπάÏχει καÏφίτσα στον χάÏτη επειδή ο χÏήστης δεν χÏησιμοποίησε τον χάÏτη"
+#: templates/web/base/alert/_list.html:1
+#, fuzzy
+msgid "this location"
+msgstr "ΠÏοβάλλεται μία τοποθεσία"
+
#: perllib/FixMyStreet/Script/Reports.pm:184
msgid "this type of local problem"
msgstr "αυτή η κατηγοÏία Ï„Î¿Ï€Î¹ÎºÎ¿Ï Ï€Ïοβλήματος"
@@ -4818,15 +4931,13 @@ msgstr "αυτή η κατηγοÏία Ï„Î¿Ï€Î¹ÎºÎ¿Ï Ï€Ïοβλήματος"
msgid "today"
msgstr "σήμεÏα"
-#: templates/web/base/js/translation_strings.html:73
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:76
msgid "update"
-msgstr "ΕνημέÏωση"
+msgstr ""
-#: templates/web/base/js/translation_strings.html:74
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:77
msgid "updates"
-msgstr "ΕνημεÏώσεις"
+msgstr ""
#: templates/web/base/admin/report_edit.html:52
msgid "used map"
@@ -4874,11 +4985,11 @@ msgstr[0] "%d λεπτό"
msgstr[1] "%d λεπτά"
#: perllib/Utils.pm:246
-#, fuzzy, perl-format
+#, perl-format
msgid "%d month"
msgid_plural "%d months"
-msgstr[0] "%d λεπτό"
-msgstr[1] "%d λεπτά"
+msgstr[0] ""
+msgstr[1] ""
#: templates/web/base/report/_support.html:6
#, perl-format
@@ -4901,6 +5012,41 @@ msgid_plural "%d years"
msgstr[0] ""
msgstr[1] ""
+#: templates/web/base/reports/index.html:92
+#, perl-format
+msgid "%s day"
+msgid_plural "%s days"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:55
+#, perl-format
+msgid "%s problem marked as fixed"
+msgid_plural "%s problems marked as fixed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:43
+#, perl-format
+msgid "%s problem reported"
+msgid_plural "%s problems reported"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:107
+#, perl-format
+msgid "%s report"
+msgid_plural "%s reports"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:49
+#, perl-format
+msgid "%s update on problems"
+msgid_plural "%s updates on problems"
+msgstr[0] ""
+msgstr[1] ""
+
#: templates/web/base/front/stats.html:19
#, perl-format
msgid "<big>%s</big> fixed in past month"
@@ -4929,12 +5075,12 @@ msgid_plural "<big>%s</big> updates on reports"
msgstr[0] "<big>%s</big> ενημέÏωση σε αναφοÏές"
msgstr[1] "<big>%s</big> ενημεÏώσεις σε αναφοÏές"
-#: templates/web/base/report/_item.html:49
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:51
+#, perl-format
msgid "Reported %d day ago"
msgid_plural "Reported %d days ago"
-msgstr[0] "ΑναφέÏθηκε από %s στις %s"
-msgstr[1] "ΑναφέÏθηκε από %s στις %s"
+msgstr[0] ""
+msgstr[1] ""
#: templates/web/base/report/new/top_message_some.html:3
#, perl-format
@@ -4950,36 +5096,127 @@ msgid_plural "We do not yet have details for the councils that cover this locati
msgstr[0] "Δεν έχουμε ακόμη λεπτομέÏειες για το συμβοÏλιο που είναι αÏμόδιο σε αυτήν την τοποθεσία."
msgstr[1] "Δεν έχουμε ακόμη λεπτομέÏειες για τις υπηÏεσίες που είναι αÏμόδιες σε αυτήν την τοποθεσία."
-#: templates/web/base/report/_item.html:59
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:61
+#, perl-format
msgid "last updated %d day ago"
msgid_plural "last updated %d days ago"
-msgstr[0] "τελευταία ενημέÏωση %s"
-msgstr[1] "τελευταία ενημέÏωση %s"
+msgstr[0] ""
+msgstr[1] ""
#: templates/email/oxfordshire/archive.txt:9
-#, fuzzy, perl-format
+#, perl-format
msgid "report"
msgid_plural "reports"
-msgstr[0] "ΑναφοÏά"
-msgstr[1] "ΑναφοÏά"
+msgstr[0] ""
+msgstr[1] ""
-#, fuzzy
-#~ msgid "All inspectors"
-#~ msgstr "Όλες οι ΑναφοÏές"
+#~ msgid ""
+#~ "%s sends different categories of problem\n"
+#~ "to the appropriate council, so problems within the boundary of a particular council\n"
+#~ "might not match the problems sent to that council. For example, a graffiti report\n"
+#~ "will be sent to the district council, so will appear in both of the district\n"
+#~ "council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
+#~ "for the county council."
+#~ msgstr ""
+#~ "Το %s στέλνει διαφοÏετικές κατηγοÏίες Ï€Ïοβλημάτων\n"
+#~ "στις κατάλληλες υπηÏεσίες, οπότε κάποια Ï€Ïοβλήματα που στέλνονται σε μία υπηÏεσία\n"
+#~ "μποÏεί να μην ταιÏιάζουν με τα Ï€ÏοκαθοÏισμένα ÏŒÏια της αÏμοδιότητάς της. Για παÏάδειγμα, μια αναφοÏά για ένα graffiti\n"
+#~ "θα σταλεί στην υπηÏεσία της πεÏιοχής,\n"
+#~ "άÏα θα εμφανίζεται και στις δÏο κατηγοÏίες ειδοποιήσεων της υπηÏεσίας, ενώ όσον αφοÏά την επικεφαλής υπηÏεσία θα εμφανίζεται μόνο στην κατηγοÏία ειδοποιήσεων\n"
+#~ "\"Εντός του τομέα ευθÏνης\"."
-#, fuzzy
-#~ msgid "External ID:"
-#~ msgstr "ΕξωτεÏικός ΣÏνδεσμος"
+#~ msgid "%s ward, %s"
+#~ msgstr "%s πεÏιοχή, %s"
-#, fuzzy
-#~ msgid "Report category:"
-#~ msgstr "ΔημιουÏγία κατηγοÏίας"
+#~ msgid "%s, within %s ward"
+#~ msgstr "%s, στην πεÏιοχή %quot;%s&quot;"
-#, fuzzy
-#~ msgid "Reported %d days ago"
-#~ msgstr "ΑναφέÏθηκε από %s στις %s"
+#~ msgid "(alternatively the RSS feed can be customised, within %s)"
+#~ msgstr "(εναλλακτικά, μποÏείς να λαμβάνεις ειδοποιήσεις για ζητήματα σε ακτίνα %s)"
-#, fuzzy
-#~ msgid "last updated %d days ago"
-#~ msgstr "τελευταία ενημέÏωση %s"
+#~ msgid "-- Pick a property type --"
+#~ msgstr "-- Διάλεξε είδος ακινήτου --"
+
+#~ msgid "Closed reports"
+#~ msgstr "κλειστές αναφοÏές"
+
+#~ msgid "Closed:"
+#~ msgstr "Κλειστό:"
+
+#~ msgid "Duplicate"
+#~ msgstr "Διπλότυπο"
+
+#~ msgid "Fixed reports"
+#~ msgstr "διοÏθωμένες αναφοÏές"
+
+#~ msgid "Fixed:"
+#~ msgstr "ΔιοÏθώθηκε:"
+
+#~ msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
+#~ msgstr "Αυτές είναι οι κατηγοÏίες ειδοποιήσεων για τοπικά Ï€Ïοβλήματα για &lsquo;%s&rsquo;."
+
+#~ msgid "In Progress"
+#~ msgstr "Σε Εξέλιξη"
+
+#~ msgid "Internal referral"
+#~ msgstr "ΕσωτεÏική αναφοÏά"
+
+#~ msgid "Investigating"
+#~ msgstr "Γίνεται διεÏεÏνηση"
+
+#~ msgid "No further action"
+#~ msgstr "Δεν είναι εφικτή η διόÏθωση"
+
+#~ msgid "Not Responsible"
+#~ msgstr "Δεν είναι ΥπεÏθυνος"
+
+#~ msgid "Or problems reported to:"
+#~ msgstr "Ή Ï€Ïοβλήματα που αναφέÏθηκαν σε:"
+
+#~ msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
+#~ msgstr "Ή μποÏείς να λαμβάνεις ειδοποιήσεις που αφοÏοÏν μία συγκεκÏιμένη υπηÏεσία της πεÏιοχής:"
+
+#~ msgid "Please choose a property type"
+#~ msgstr "ΠαÏακαλοÏμε επίλεξε ένα είδος ακινήτου"
+
+#~ msgid "Problems within the boundary of:"
+#~ msgstr "ΠÏοβλήματα μέσα στα ÏŒÏια του:"
+
+#~ msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
+#~ msgstr "Διάλεξε ποιο είδος ειδοποίησης θα Ï€ÏοτιμοÏσες και μετά κάνε κλικ στο κουμπί για να οδηγηθείς σε μία Ïοή RSS, ή γÏάψε τη διεÏθυνση email σου για να ειδοποιείσαι μέσω email."
+
+#~ msgid "The simplest alert is our geographic one:"
+#~ msgstr "Για να λαμβάνεις ειδοποιήσεις που αφοÏοÏν ζητήματα της πεÏιοχής:"
+
+#~ msgid "closed as a duplicate report"
+#~ msgstr "σημειωμένη ως διπλή αναφοÏά"
+
+#~ msgid "marked as action scheduled"
+#~ msgstr "σημειωμένη ως Ï€ÏογÏαμματισμένη δÏάση"
+
+#~ msgid "marked as an internal referral"
+#~ msgstr "σημειωμένη ως εσωτεÏική αναφοÏά"
+
+#~ msgid "marked as closed"
+#~ msgstr "σημειωμένο ως κλειστό"
+
+#~ msgid "marked as fixed"
+#~ msgstr "σημειωμένο ως διοÏθωμένο"
+
+#~ msgid "marked as in progress"
+#~ msgstr "σημειωμένο ως σε διαδικασία αντιμετώπισης"
+
+#~ msgid "marked as investigating"
+#~ msgstr "σημειωμένο ως υπό έλεγχο"
+
+#~ msgid "marked as no further action"
+#~ msgstr "σημειωμένο ως αδÏνατο να διοÏθωθεί"
+
+#~ msgid "marked as planned"
+#~ msgstr "σημειωμένο ως Ï€ÏογÏαμματισμένο"
+
+#~ msgid "or"
+#~ msgstr "ή"
+
+#~ msgid "reopened"
+#~ msgstr "άνοιξε ξανά"
diff --git a/locale/es.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/es.UTF-8/LC_MESSAGES/FixMyStreet.po
index 662212e02..9c853f288 100644
--- a/locale/es.UTF-8/LC_MESSAGES/FixMyStreet.po
+++ b/locale/es.UTF-8/LC_MESSAGES/FixMyStreet.po
@@ -8,17 +8,17 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
-"POT-Creation-Date: 2017-03-30 17:33+0100\n"
+"POT-Creation-Date: 2017-09-13 15:40+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: mySociety <transifex@mysociety.org>, 2016\n"
-"Language-Team: Spanish (Spain) (https://www.transifex.com/mysociety/teams/12067/es_ES/)\n"
-"Language: es_ES\n"
+"Last-Translator: mySociety <transifex@mysociety.org>, 2017\n"
+"Language-Team: Spanish (https://www.transifex.com/mysociety/teams/12067/es/)\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:695
+#: perllib/FixMyStreet/DB/Result/Problem.pm:632
#: perllib/FixMyStreet/Script/Reports.pm:197
msgid " and "
msgstr " y "
@@ -91,25 +91,6 @@ msgstr "%s cuestionarios enviados &ndash; %s respondidos (%s%%)"
msgid "%s ref:&nbsp;%s"
msgstr "%s ref:&nbsp;%s"
-#. ("%s is the site name")
-#: templates/web/base/alert/_list.html:74
-msgid ""
-"%s sends different categories of problem\n"
-"to the appropriate council, so problems within the boundary of a particular council\n"
-"might not match the problems sent to that council. For example, a graffiti report\n"
-"will be sent to the district council, so will appear in both of the district\n"
-"council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
-"for the county council."
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:257 perllib/FixMyStreet/Cobrand/UK.pm:269
-msgid "%s ward, %s"
-msgstr "%s barrio, %s"
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
-msgid "%s, within %s ward"
-msgstr "%s, en %s barrio"
-
#: perllib/FixMyStreet/Map/OSM.pm:38
msgid "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"
msgstr "&copy; colaboradores <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a>"
@@ -118,7 +99,7 @@ msgstr "&copy; colaboradores <a href=\"http://www.openstreetmap.org/copyright\">
msgid "(Defect &amp; location of defect)"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
#: templates/web/base/admin/users.html:32
msgid "(Email in abuse table)"
msgstr "(email registrado en la tabla de abusos)"
@@ -126,35 +107,43 @@ msgstr "(email registrado en la tabla de abusos)"
#: templates/web/zurich/admin/report_edit-sdm.html:62
#: templates/web/zurich/admin/report_edit.html:90
msgid "(No name)"
-msgstr ""
+msgstr "(Sin nombre)"
#: templates/web/zurich/admin/report_edit-sdm.html:69
#: templates/web/zurich/admin/report_edit.html:97
msgid "(No phone number)"
-msgstr ""
-
-#: templates/web/base/alert/_list.html:25
-msgid "(a default distance which covers roughly 200,000 people)"
-msgstr "(distancia que cubre aproximadamente 200.000 personas)"
+msgstr "(Sin número de teléfono)"
-#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
-#: templates/web/base/alert/_list.html:30
-msgid "(alternatively the RSS feed can be customised, within %s)"
+#: templates/web/base/admin/states/index.html:95
+msgid "(a-z and space only)"
msgstr ""
#: templates/web/zurich/report/_item.html:19
msgid "(closed)"
msgstr "(cerrado)"
+#: templates/web/base/alert/_list.html:30
+#, fuzzy
+msgid "(covers roughly 200,000 people)"
+msgstr "(distancia que cubre aproximadamente 200.000 personas)"
+
#: templates/web/zurich/report/_item.html:17
msgid "(fixed)"
msgstr "(arreglado)"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "(ignored if type is \"String\")"
+msgstr ""
+
#: templates/web/base/around/intro.html:2
msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
msgstr "(como pintadas, basuras, pavimento o alumbrado rotos)"
-#: templates/web/base/report/_item.html:68
+#: templates/web/base/reports/index.html:69
+msgid "(no longer exists)"
+msgstr ""
+
+#: templates/web/base/report/_item.html:70
msgid "(not sent to council)"
msgstr "(no enviadas al ayuntamiento)"
@@ -162,38 +151,40 @@ msgstr "(no enviadas al ayuntamiento)"
msgid "(optional)"
msgstr "(opcional)"
-#: templates/web/base/report/_item.html:67
+#: templates/web/base/report/_item.html:69
msgid "(sent to both)"
msgstr "(enviado a ambos)"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:239
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/DB/Result/Problem.pm:454
+#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
+#: templates/web/base/alert/_list.html:36
+#, fuzzy
+msgid "(we also have RSS feeds for problems within %s)"
+msgstr "Listado RSS de los problemas dentro de %s"
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:245
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:381
msgid "-- Pick a category --"
msgstr "-- Escoja una categoría --"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:460
-msgid "-- Pick a property type --"
-msgstr "-- Escoja un tipo de propiedad --"
-
#: templates/web/base/admin/response_templates_select.html:3
msgid "--Choose a template--"
-msgstr ""
+msgstr "--Elegir una plantilla--"
#: templates/web/base/report/new/form_report.html:23
msgid "10 inch pothole on Example St, near post box"
msgstr ""
-#: templates/web/base/dashboard/index.html:152
+#: templates/web/base/dashboard/index.html:153
msgid "14-30 days old"
msgstr ""
-#: templates/web/base/dashboard/index.html:151
+#: templates/web/base/dashboard/index.html:152
msgid "7-14 days old"
msgstr ""
-#: templates/web/base/admin/body-form.html:48
-#: templates/web/base/admin/body-form.html:49
+#: templates/web/base/admin/body-form.html:50
+#: templates/web/base/admin/body-form.html:51
msgid ""
"<code>MAPIT_URL</code> is set (<code>%s</code>) but no <code>MAPIT_TYPES</code>.<br>\n"
" This is probably why \"area covered\" is empty (below).<br>\n"
@@ -207,13 +198,12 @@ msgstr ""
msgid "<h2>Reports, Statistics and Actions for</h2> <h1>%s</h1>"
msgstr ""
-#. ('The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories')
#. ("The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories")
-#: templates/web/base/reports/_list-filters.html:37
-msgid "<label for=\"statuses\">Show</label> %s <label for=\"filter_categories\">about</label> %s"
+#: templates/web/base/reports/_list-filters.html:48
+msgid "<label for=\"statuses\">Show</label> %s reports <label for=\"filter_categories\">about</label> %s"
msgstr ""
-#: templates/web/base/js/translation_strings.html:71
+#: templates/web/base/js/translation_strings.html:74
msgid "<span>%s</span> saved."
msgstr ""
@@ -230,34 +220,25 @@ msgstr "<strong>No</strong>- confirmar mi notificación por email"
msgid "<strong>No</strong> Let me confirm my update by email"
msgstr "<strong>No</strong>- confirmar mi actualización por email"
-#: templates/web/base/auth/general.html:104
+#: templates/web/base/auth/general.html:106
#: templates/web/zurich/auth/general.html:51
msgid "<strong>No</strong> let me sign in by email"
msgstr "<strong>No</strong>- permítanme registrarme por email"
-#: templates/web/base/report/_inspect.html:160
+#: templates/web/base/report/_inspect.html:170
msgid "<strong>Note:</strong> This report has been sent onwards for action. Any changes made won't be passed on."
msgstr ""
-#: templates/web/base/report/_inspect.html:162
+#: templates/web/base/report/_inspect.html:172
msgid "<strong>Note:</strong> This report hasn't yet been sent onwards for action. Any changes made may not be passed on."
msgstr ""
-#: templates/web/base/auth/general.html:80
+#: templates/web/base/auth/general.html:82
#: templates/web/base/report/new/form_user_loggedout_password.html:3
#: templates/web/base/report/update/form_user_loggedout_password.html:2
msgid "<strong>Yes</strong> I have a password"
msgstr "<strong>Sí</strong>- tengo una contraseña"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:10
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:6
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Action Scheduled"
-msgstr "Acción programada"
-
#: templates/web/base/admin/body-form.html:3
#: templates/web/base/admin/body-form.html:4
msgid ""
@@ -274,19 +255,36 @@ msgid "Add a contact using the form below."
msgstr "Añada un contacto usando el siguiente formulario."
#: templates/web/base/admin/bodies.html:78
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Add body"
msgstr "Agregue un órgano"
+#: templates/web/base/admin/reportextrafields/index.html:24
+msgid "Add extra fields"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:79
+msgid "Add field"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:85
+msgid "Add fixed state"
+msgstr ""
+
#: templates/web/base/admin/body.html:126
#: templates/web/zurich/admin/body.html:31
msgid "Add new category"
msgstr "Agregar nueva categoría"
+#: templates/web/base/admin/extra-metadata-form.html:72
+#, fuzzy
+msgid "Add option"
+msgstr "(opcional)"
+
#: templates/web/base/report/_item.html:10
-#: templates/web/base/report/_item.html:14
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_item.html:16
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:19
#: templates/web/base/report/_main.html:30
msgid "Add to shortlist"
@@ -298,15 +296,15 @@ msgstr ""
msgid "Add user"
msgstr "Añadir un usuario"
-#: perllib/FixMyStreet/Cobrand/Default.pm:730
+#: perllib/FixMyStreet/Cobrand/Default.pm:735
msgid "Add/edit problem categories"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:732
+#: perllib/FixMyStreet/Cobrand/Default.pm:737
msgid "Add/edit response priorities"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:731
+#: perllib/FixMyStreet/Cobrand/Default.pm:736
msgid "Add/edit response templates"
msgstr ""
@@ -314,7 +312,7 @@ msgstr ""
msgid "Added %s"
msgstr "Añadido %s"
-#: templates/web/base/report/_main.html:145
+#: templates/web/base/report/_main.html:149
msgid "Adding this report to your shortlist will remove it from %s’s shortlist."
msgstr ""
@@ -334,35 +332,43 @@ msgstr "Alerta %d creada por %s, tipo %s, parámetros %s / %s"
msgid "Alert %d disabled (created %s)"
msgstr "Alerta %d desactivada (creada %s)"
-#: templates/web/base/report/update/form_name.html:38
+#: templates/web/base/report/update/form_name.html:42
msgid "Alert me to future updates"
msgstr "Notificadme actualizaciones futuras"
#: templates/web/base/dashboard/index.html:138
#: templates/web/base/dashboard/index.html:21
#: templates/web/base/dashboard/index.html:30
+#: templates/web/base/reports/_list-filters.html:3
msgid "All"
msgstr ""
-#: templates/web/base/reports/index.html:6
#: templates/web/zurich/reports/index.html:13
msgid "All Reports"
msgstr "Todas las notificaciones"
#: templates/web/zurich/admin/stats.html:5
msgid "All Reports as CSV"
-msgstr ""
+msgstr "Todas las notificaciones como CSV"
#: templates/web/base/admin/category-multiselect.html:5
-#: templates/web/base/admin/responsepriorities/list.html:19
+#: templates/web/base/admin/responsepriorities/list.html:20
msgid "All categories"
+msgstr "Todas las categorías"
+
+#: templates/web/base/admin/reportextrafields/edit.html:26
+#, fuzzy
+msgid "All cobrands"
+msgstr "Cobrand"
+
+#: templates/web/base/admin/reportextrafields/edit.html:47
+msgid "All languages"
msgstr ""
#: templates/web/base/main_nav_items.html:0
#: templates/web/base/main_nav_items.html:27
-#: templates/web/base/reports/_list-filters.html:3
#: templates/web/zurich/admin/index-dm.html:12
-#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:21
+#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:20
#: templates/web/zurich/nav_over_content.html:6
msgid "All reports"
msgstr "Todas las notificaciones"
@@ -372,6 +378,14 @@ msgstr "Todas las notificaciones"
msgid "All reports between %s and %s"
msgstr "Todas las notificaciones entre %s y %s"
+#: templates/web/base/reports/index.html:23
+msgid "All time"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:20
+msgid "Alternatively, we can hide your name on <strong>all of your reports and updates</strong> across the site:"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:47
msgid "An update marked this problem as fixed."
msgstr "Una actualización marcó este problema como arreglado."
@@ -381,31 +395,33 @@ msgstr "Una actualización marcó este problema como arreglado."
msgid "Anonymous"
msgstr "Anónimo"
-#: templates/web/base/admin/report_edit.html:134
+#: templates/web/base/report/new/form_user_loggedin.html:21
+#: templates/web/base/report/update/form_name.html:17
+#, fuzzy
+msgid "Anonymous user"
+msgstr "Anónimo"
+
+#: templates/web/base/admin/report_edit.html:122
#: templates/web/base/admin/update_edit.html:23
msgid "Anonymous:"
msgstr "Anónimo:"
-#: templates/web/base/report/new/form_user_loggedin.html:20
-#: templates/web/base/report/update/form_name.html:13
+#: templates/web/base/report/new/form_user_loggedin.html:24
+#: templates/web/base/report/update/form_name.html:14
msgid "Another user"
-msgstr ""
+msgstr "Otro usuario"
-#: templates/web/base/front/footer-marketing.html:16
-msgid "Are you a developer?"
-msgstr "¿Eres programador?"
-
-#: templates/web/base/js/translation_strings.html:56
+#: templates/web/base/js/translation_strings.html:59
msgid "Are you sure you want to cancel this upload?"
-msgstr ""
+msgstr "¿Estás seguro que quieres cancelar esta carga?"
#: templates/web/base/admin/report_edit.html:84
-#: templates/web/base/js/translation_strings.html:66
+#: templates/web/base/js/translation_strings.html:69
#: templates/web/base/report/display_tools.html:6
msgid "Are you sure?"
-msgstr ""
+msgstr "¿Estás seguro?"
-#: templates/web/base/admin/body-form.html:75
+#: templates/web/base/admin/body-form.html:77
#: templates/web/base/admin/body.html:20
#: templates/web/zurich/admin/body-form.html:24
msgid "Area covered"
@@ -413,7 +429,7 @@ msgstr "Ãrea cubierta"
#: templates/web/base/admin/user-form.html:64
msgid "Area:"
-msgstr ""
+msgstr "Ãrea:"
#: templates/web/base/admin/bodies.html:19
#: templates/web/base/admin/body.html:64
@@ -437,11 +453,11 @@ msgstr "Asignar a un órgano externo:"
msgid "Assign to subdivision:"
msgstr "Asigne a la subdivisión:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:727
+#: perllib/FixMyStreet/Cobrand/Default.pm:732
msgid "Assign users to areas"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:214
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:219
msgid "Assigned to %s"
msgstr "Asignado a %s"
@@ -462,11 +478,14 @@ msgstr ""
msgid "Auto-response:"
msgstr ""
-#: templates/web/base/admin/report_edit.html:127
-#: templates/web/base/report/_inspect.html:47
+#: templates/web/base/admin/report-category.html:8
msgid "Available categories"
msgstr ""
+#: templates/web/base/reports/index.html:84
+msgid "Average time between a problem being reported and being fixed, last 100 reports."
+msgstr ""
+
#: templates/web/base/dashboard/index.html:109
msgid "Average time to council marking fixed (days)"
msgstr ""
@@ -479,7 +498,7 @@ msgstr ""
msgid "Avoid personal information and vehicle number plates"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:417
+#: perllib/FixMyStreet/DB/Result/Problem.pm:344
#: templates/web/zurich/report/_item.html:9
msgid "Awaiting moderation"
msgstr "En espera de revisión"
@@ -492,13 +511,13 @@ msgstr "Atras"
msgid "Back to all reports"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
msgid "Ban email address"
msgstr "Suspender este email"
#: perllib/FixMyStreet/Cobrand/Default.pm:650
-#: perllib/FixMyStreet/Cobrand/Default.pm:729
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
+#: perllib/FixMyStreet/Cobrand/Default.pm:734
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:396
#: templates/web/base/admin/bodies.html:1
#: templates/web/base/admin/report_edit.html:55
#: templates/web/zurich/header.html:56
@@ -520,7 +539,11 @@ msgstr "Órgano administrativo:"
msgid "By Date"
msgstr "Por Fecha"
-#: templates/web/base/auth/token.html:21 templates/web/base/email_sent.html:18
+#: templates/web/base/admin/extra-metadata-form.html:36
+msgid "Can be used to display extra text to the user alongside the field. The default template does not show this (<code>meta.datatype_description</code>), you must add it in <code>category_extras_fields.html</code>"
+msgstr ""
+
+#: templates/web/base/auth/token.html:27 templates/web/base/email_sent.html:20
msgid "Can&rsquo;t find our email? Check your spam folder&nbsp;&ndash; that&rsquo;s the solution 99% of the time."
msgstr ""
@@ -531,18 +554,18 @@ msgstr "¿No puedes ver el mapa? <em>Salte este paso</em>"
#: perllib/FixMyStreet/Cobrand/Default.pm:650
#: templates/web/base/admin/responsepriorities/list.html:8
msgid "Categories"
-msgstr ""
+msgstr "Categorías"
#: templates/web/base/admin/category-checkboxes.html:2
#: templates/web/base/admin/category-multiselect.html:2
msgid "Categories:"
-msgstr ""
+msgstr "Categorías:"
#: templates/web/base/admin/body.html:72
#: templates/web/base/admin/contact-form.html:19
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/report/_inspect.html:38
-#: templates/web/base/report/_item.html:90
+#: templates/web/base/report/_inspect.html:48
+#: templates/web/base/report/_item.html:92
#: templates/web/base/report/new/category.html:6
#: templates/web/base/report/new/category_wrapper.html:3
#: templates/web/zurich/admin/body.html:14
@@ -553,9 +576,9 @@ msgstr ""
msgid "Category"
msgstr "Categoría"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:852
+#: perllib/FixMyStreet/App/Controller/Admin.pm:956
msgid "Category changed from ‘%s’ to ‘%s’"
-msgstr ""
+msgstr "Categoría cambiada de '%s' a '%s'"
#: templates/web/base/admin/stats.html:58
#: templates/web/base/admin/stats_fix_rate.html:1
@@ -577,13 +600,13 @@ msgstr "Categoría: %s"
#: templates/web/base/my/my.html:24
msgid "Change email"
-msgstr ""
+msgstr "Cambiar email"
#: templates/web/base/auth/change_email.html:1
#: templates/web/base/auth/change_email.html:3
#: templates/web/base/auth/change_email.html:30
msgid "Change email address"
-msgstr ""
+msgstr "Cambiar dirección de email"
#: templates/web/base/auth/change_password.html:1
#: templates/web/base/auth/change_password.html:16
@@ -593,27 +616,11 @@ msgstr ""
msgid "Change password"
msgstr "Cambiar contraseña"
-#: templates/web/base/admin/contact-form.html:41
-msgid ""
-"Check <strong>confirmed</strong> to indicate that this contact has been confirmed as correct.\n"
-" If you are not sure of the origin or validity of the contact, leave this unchecked."
-msgstr ""
-"Marcar <strong>confirmado</ strong> para indicar que este contacto se ha confirmado como correcto.\n"
-"Si no está seguro del origen o la validez del contacto, deje esta casilla sin marcar."
-
-#: templates/web/base/admin/contact-form.html:52
-msgid ""
-"Check <strong>deleted</strong> to remove the category from use. \n"
-" It will not appear as an available category in the drop-down menu on the report-a-problem page."
-msgstr ""
-"Marcar <strong>borrado</ strong> para dejar de usar la categoría. \n"
-"Dejará de aparecer en el menú desplegable que se muestra al notificar los problemas."
-
-#: templates/web/base/admin/contact-form.html:79
+#: templates/web/base/admin/contact-form.html:80
msgid "Check <strong>inspection required</strong> if reports in this category <strong>must be inspected</strong> before being sent."
msgstr ""
-#: templates/web/base/admin/contact-form.html:63
+#: templates/web/base/admin/contact-form.html:64
msgid ""
"Check <strong>private</strong> if reports in this category should <strong>never be displayed on the website</strong>.\n"
" <br>\n"
@@ -639,11 +646,11 @@ msgstr ""
"Elegir un nombre de <strong>categoria</strong> que tenga sentido para el público (por ejemplo, \"baches\", \"alumbrado público\") y que sea también útil\n"
"para el organismo administrativo. Las categorías aparecerán en un menú desplegable al notificar un problema."
-#: templates/web/base/report/_inspect.html:93
+#: templates/web/base/report/_inspect.html:103
msgid "Choose another"
msgstr ""
-#: templates/web/base/js/translation_strings.html:65
+#: templates/web/base/js/translation_strings.html:68
msgid "Clear offline data"
msgstr ""
@@ -668,21 +675,21 @@ msgstr ""
msgid "Click the link in our confirmation email to publish your update."
msgstr ""
-#: templates/web/base/auth/token.html:18
+#: templates/web/base/auth/token.html:23
msgid "Click the link in our confirmation email to sign in."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:189
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:960
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:17
-#: templates/web/base/admin/report_blocks.html:27
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:43
-#: templates/web/base/report/banner.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:18
+#: templates/web/base/auth/token.html:20
+msgid "Click the link in that email to sign in."
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:134
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:194
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:965
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:11
+#: templates/web/base/admin/states/index.html:103
+#: templates/web/base/admin/states/index.html:27
+#: templates/web/base/admin/states/index.html:33
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:10
#: templates/web/zurich/admin/header.html:16
@@ -690,23 +697,17 @@ msgstr ""
msgid "Closed"
msgstr "Cerrada"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:889
+#: perllib/FixMyStreet/DB/Result/Problem.pm:826
msgid "Closed by council"
msgstr "Cerrada por el Ayuntamiento"
-#: templates/web/base/reports/_list-filters.html:13
-msgid "Closed reports"
-msgstr ""
-
-#: templates/web/base/admin/problem_row.html:38
-msgid "Closed:"
-msgstr "Cerrada:"
-
#: templates/web/base/admin/report_edit.html:37
msgid "Co-ordinates:"
msgstr "Coordenadas:"
#: templates/web/base/admin/list_updates.html:10
+#: templates/web/base/admin/reportextrafields/edit.html:24
+#: templates/web/base/admin/reportextrafields/index.html:7
msgid "Cobrand"
msgstr "Cobrand"
@@ -720,10 +721,13 @@ msgstr "Datos cobrand:"
msgid "Cobrand:"
msgstr "Cobrand:"
+#: templates/web/base/admin/extra-metadata-form.html:14
+msgid "Code"
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:50
-#, fuzzy
msgid "Collapse map"
-msgstr "mapa utilizado"
+msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:646
#: templates/web/base/admin/config_page.html:1
@@ -751,9 +755,8 @@ msgstr ""
msgid "Confirmation"
msgstr "Confirmación"
-#: templates/web/base/admin/body.html:85
-#: templates/web/base/admin/category_edit.html:54
-#: templates/web/base/admin/contact-form.html:47
+#: templates/web/base/admin/contact-form.html:56
+#: templates/web/zurich/admin/contact-form.html:12
#: templates/web/zurich/admin/stats.html:40
msgid "Confirmed"
msgstr "Confirmado"
@@ -771,7 +774,7 @@ msgstr "Confirmada:"
#. ("%s is the site name")
#: templates/web/base/about/_sidebar.html:6
msgid "Contact %s"
-msgstr ""
+msgstr "Contacto %s"
#: templates/web/base/contact/index.html:1
#: templates/web/base/contact/index.html:2
@@ -788,8 +791,8 @@ msgstr "Contactar con el equipo"
msgid "Coordinates:"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1668
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1696
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1773
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1801
msgid "Could not find user"
msgstr "No se pudo encontrar el usuario"
@@ -809,33 +812,28 @@ msgstr "Contactos del ayuntamiento para %s"
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:83
-#, fuzzy
msgid "Council has marked as closed"
-msgstr "marcado como cerrado"
+msgstr ""
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:57
-#, fuzzy
msgid "Council has marked as fixed"
-msgstr "marcado como arreglado"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:80
-#, fuzzy
msgid "Council has marked as in progress"
-msgstr "marcado como en progreso"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:82
-#, fuzzy
msgid "Council has marked as investigating"
-msgstr "marcado como en investigación"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:81
-#, fuzzy
msgid "Council has marked as planned"
-msgstr "marcado como planificado"
+msgstr ""
#: templates/web/base/report/_council_sent_info.html:6
msgid "Council ref:&nbsp;%s"
@@ -852,31 +850,40 @@ msgstr "Ayuntamiento:"
msgid "Count"
msgstr "Total"
+#: templates/web/base/admin/states/index.html:114
+#, fuzzy
+msgid "Create"
+msgstr "Creado"
+
#: templates/web/base/email_sent.html:1
msgid "Create a report"
msgstr "Crear una notificación"
-#: templates/web/base/admin/contact-form.html:137
+#: templates/web/base/admin/contact-form.html:138
#: templates/web/zurich/admin/body.html:62
msgid "Create category"
msgstr "Crear una categoría"
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/responsepriorities/edit.html:58
msgid "Create priority"
+msgstr "Crear una prioridad"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:718
+msgid "Create reports/updates as anonymous user"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:714
+#: perllib/FixMyStreet/Cobrand/Default.pm:719
msgid "Create reports/updates as the council"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:713
+#: perllib/FixMyStreet/Cobrand/Default.pm:717
msgid "Create reports/updates on a user's behalf"
msgstr ""
#: templates/web/base/admin/template_edit.html:46
#: templates/web/zurich/admin/template_edit.html:29
msgid "Create template"
-msgstr ""
+msgstr "Crear plantilla"
#: templates/web/base/admin/problem_row.html:34
#: templates/web/base/admin/templates.html:12
@@ -899,13 +906,15 @@ msgstr "Estado actual"
msgid "Currently no bodies have been created."
msgstr "No se han creado organismos aún."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:825
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:830
#: templates/web/zurich/admin/report_edit-sdm.html:105
msgid "Customer not contactable"
-msgstr ""
+msgstr "Cliente no localizable"
#: templates/web/base/dashboard/index.html:5
#: templates/web/base/dashboard/index.html:7
+#: templates/web/base/reports/index.html:15
+#: templates/web/base/reports/index.html:18
msgid "Dashboard"
msgstr "Cuadro de mando"
@@ -913,29 +922,37 @@ msgstr "Cuadro de mando"
msgid "Dealt with by subdivision within 5 working days"
msgstr "Tratado por el departamento dentro de los 5 días hábiles"
-#: templates/web/base/report/_inspect.html:73
+#: templates/web/base/admin/responsepriorities/list.html:9
+msgid "Default"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:39
+#, fuzzy
+msgid "Default priority"
+msgstr "Crear una prioridad"
+
+#: templates/web/base/report/_inspect.html:72
msgid "Defect type"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:973
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1078
#: templates/web/base/admin/template_edit.html:50
#: templates/web/zurich/admin/template_edit.html:33
msgid "Delete template"
-msgstr ""
+msgstr "Eliminar plantilla"
#: templates/web/base/admin/bodies.html:31
-#: templates/web/base/admin/body.html:87
-#: templates/web/base/admin/category_edit.html:55
#: templates/web/base/admin/contact-form.html:58
-#: templates/web/zurich/admin/contact-form.html:12
+#: templates/web/zurich/admin/contact-form.html:13
msgid "Deleted"
msgstr "Eliminado"
-#: templates/web/base/report/_main.html:110
-#: templates/web/base/report/update.html:59
+#: templates/web/base/report/_main.html:114
+#: templates/web/base/report/update.html:68
msgid "Describe why you are moderating this"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:32
#: templates/web/base/admin/responsepriorities/list.html:7
#: templates/web/zurich/admin/index-dm.html:22
#: templates/web/zurich/admin/index-sdm.html:20
@@ -945,7 +962,7 @@ msgstr "Descripción"
#: templates/web/base/admin/responsepriorities/edit.html:17
msgid "Description:"
-msgstr ""
+msgstr "Descripción:"
#: templates/web/base/js/translation_strings.html:33
#: templates/web/zurich/report/new/fill_in_details_form.html:45
@@ -959,7 +976,7 @@ msgstr "Detalles"
msgid "Details:"
msgstr "Detalles:"
-#: templates/web/base/admin/body.html:93
+#: templates/web/base/admin/body.html:92
msgid "Devolved"
msgstr "Transferido"
@@ -972,18 +989,17 @@ msgstr ""
msgid "Diligency prize league table"
msgstr "Ranking de premios a la constancia"
-#: templates/web/base/report/_main.html:114
-#: templates/web/base/report/update.html:61
-#, fuzzy
+#: templates/web/base/report/_main.html:118
+#: templates/web/base/report/update.html:70
msgid "Discard changes"
-msgstr "Guardar cambios"
+msgstr ""
#: templates/web/base/admin/open311-form-fields.html:95
msgid "Do not send email alerts on fetched comments to problem creator"
msgstr ""
#. ("%s is the site name")
-#: templates/web/base/auth/general.html:58
+#: templates/web/base/auth/general.html:60
#: templates/web/base/report/new/form_user_loggedout.html:25
#: templates/web/base/report/new/oauth_email_form.html:18
#: templates/web/base/report/update-form.html:30
@@ -991,40 +1007,33 @@ msgstr ""
msgid "Do you have a %s password?"
msgstr ""
+#: templates/web/base/report/_inspect.html:87
+msgid "Do you want to automatically raise a defect?"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:57
msgid "Don&rsquo;t know"
msgstr "No lo sé"
-#: templates/web/base/contact/index.html:108
+#: templates/web/base/contact/index.html:112
msgid "Don't like forms?"
msgstr "¿No te gustan los formularios?"
-#: templates/web/base/report/_item.html:25
+#: templates/web/base/report/_item.html:27
msgid "Down one"
msgstr ""
-#: templates/web/base/js/translation_strings.html:55
+#: templates/web/base/js/translation_strings.html:58
msgid "Drag and drop photos here or <u>click to upload</u>"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:10
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "Duplicate"
-msgstr "Duplicado"
-
-#: templates/web/base/report/_inspect.html:88
-#, fuzzy
+#: templates/web/base/report/_inspect.html:98
msgid "Duplicate of"
-msgstr "Duplicado"
+msgstr ""
-#: templates/web/base/report/_inspect.html:98
-#, fuzzy
+#: templates/web/base/report/_inspect.html:108
msgid "Duplicates"
-msgstr "Duplicado"
+msgstr ""
#: templates/web/base/admin/body.html:116
msgid ""
@@ -1037,43 +1046,43 @@ msgstr ""
"Diferentes categorías <strong>pueden tener el mismo contacto</strong>.\n"
"Esto significa que puede agregar muchas categorías incluso si tiene un solo contacto para el órgano."
-#: templates/web/base/report/_inspect.html:16
-#: templates/web/base/report/_item.html:81
+#: templates/web/base/report/_inspect.html:26
+#: templates/web/base/report/_item.html:83
msgid "Easting/Northing:"
msgstr ""
#: templates/web/base/admin/list_updates.html:42
#: templates/web/base/admin/problem_row.html:41
-#: templates/web/base/admin/responsepriorities/list.html:26
+#: templates/web/base/admin/responsepriorities/list.html:28
#: templates/web/base/admin/templates.html:22
#: templates/web/base/admin/users.html:34
#: templates/web/zurich/admin/problem_row.html:48
msgid "Edit"
msgstr "Editar"
-#: templates/web/base/admin/body.html:140
+#: templates/web/base/admin/body.html:141
#: templates/web/base/admin/index.html:39
#: templates/web/zurich/admin/body.html:69
msgid "Edit body details"
msgstr "Editar los detalles del órgano administrativo"
-#: perllib/FixMyStreet/Cobrand/Default.pm:724
+#: perllib/FixMyStreet/Cobrand/Default.pm:729
msgid "Edit other users' details"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:725
+#: perllib/FixMyStreet/Cobrand/Default.pm:730
msgid "Edit other users' permissions"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:708
+#: perllib/FixMyStreet/Cobrand/Default.pm:712
msgid "Edit report category"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:709
+#: perllib/FixMyStreet/Cobrand/Default.pm:713
msgid "Edit report priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:707
+#: perllib/FixMyStreet/Cobrand/Default.pm:711
msgid "Edit reports"
msgstr ""
@@ -1096,15 +1105,15 @@ msgstr "Editando la actualización %d"
msgid "Editing user %d"
msgstr "Editando el usuario %d"
-#: templates/web/base/admin/category_edit.html:56
+#: templates/web/base/admin/category_edit.html:30
msgid "Editor"
msgstr "Editor"
#: templates/web/base/admin/bodies.html:27
-#: templates/web/base/admin/category_edit.html:53
+#: templates/web/base/admin/category_edit.html:28
#: templates/web/base/admin/flagged.html:38
#: templates/web/base/admin/users.html:17
-#: templates/web/base/auth/general.html:49
+#: templates/web/base/auth/general.html:51
#: templates/web/zurich/admin/body-form.html:9
#: templates/web/zurich/admin/body.html:15
#: templates/web/zurich/auth/general.html:24
@@ -1112,15 +1121,16 @@ msgstr "Editor"
msgid "Email"
msgstr "Email:"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1644
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1749
msgid "Email added to abuse list"
msgstr "Email añadido a lista de abusones"
-#: templates/web/base/admin/contact-form.html:36
-#: templates/web/base/report/new/form_user_loggedin.html:28
-#: templates/web/base/report/update/form_name.html:19
+#: templates/web/base/admin/contact-form.html:38
+#: templates/web/base/alert/_list.html:74
+#: templates/web/base/report/new/form_user_loggedin.html:32
+#: templates/web/base/report/update/form_name.html:23
msgid "Email address"
-msgstr ""
+msgstr "Dirección de email"
#: templates/web/base/tokens/confirm_alert.html:6
msgid "Email alert created"
@@ -1130,11 +1140,11 @@ msgstr "Creada alerta de email"
msgid "Email alert deleted"
msgstr "Borrada alerta de email"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1641
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1746
msgid "Email already in abuse list"
msgstr "Email ya incluido en la lista de abusones"
-#: templates/web/base/admin/report_edit.html:141
+#: templates/web/base/admin/report_edit.html:129
#: templates/web/base/admin/update_edit.html:35
#: templates/web/base/admin/user-form.html:19
#: templates/web/zurich/admin/body.html:48
@@ -1159,8 +1169,8 @@ msgstr ""
"Para obtener más información, consulte\n"
"<a href='https://www.mysociety.org/2013/02/20/open311-extended/' class='admin-offsite-link'>este documento</a>."
-#: templates/web/base/admin/body-form.html:120
-#: templates/web/base/admin/body-form.html:121
+#: templates/web/base/admin/body-form.html:122
+#: templates/web/base/admin/body-form.html:123
msgid ""
"Enable this <strong>can be devolved</strong> setting if one or more contacts have a \n"
" different endpoint (and send method) from the body's. For example, if reports for some categories of\n"
@@ -1178,11 +1188,11 @@ msgstr "Fecha final:"
msgid "Endpoint"
msgstr "Punto final"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:76
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:81
msgid "Enter a Z&uuml;rich street name"
msgstr "Introduzca un nombre de calle de Z&uuml;rich"
-#: perllib/FixMyStreet/Cobrand/UK.pm:15
+#: perllib/FixMyStreet/Cobrand/UK.pm:16
msgid "Enter a nearby UK postcode, or street name and area"
msgstr "Introduzca un código postal cercano, o el nombre de la calle y el área"
@@ -1191,12 +1201,13 @@ msgstr "Introduzca un código postal cercano, o el nombre de la calle y el área
msgid "Enter a nearby postcode, or street name and area"
msgstr "Introduzca un código postal cercano, o el nombre de la calle y el área"
+#: perllib/FixMyStreet/Cobrand/DansMonQwat.pm:14
#: templates/web/base/around/postcode_form.html:5
#: templates/web/base/around/postcode_form.html:6
msgid "Enter a nearby street name and area"
msgstr "Introduzca el nombre de una calle cercana"
-#: templates/web/base/auth/general.html:116
+#: templates/web/base/auth/general.html:118
#: templates/web/base/report/new/form_user_loggedout_by_email.html:35
#: templates/web/base/report/update/form_user_loggedout_by_email.html:13
#: templates/web/zurich/auth/general.html:65
@@ -1216,10 +1227,10 @@ msgstr "Introduzca detalles del problema"
msgid "Error"
msgstr "Error"
-#: templates/web/base/reports/_list-filters.html:20
-#: templates/web/base/reports/_list-filters.html:28
+#: templates/web/base/reports/_list-filters.html:31
+#: templates/web/base/reports/_list-filters.html:39
msgid "Everything"
-msgstr ""
+msgstr "Todo"
#: templates/web/base/admin/body.html:18
#: templates/web/base/admin/category_edit.html:18
@@ -1230,25 +1241,24 @@ msgstr "Ejemplo de código postal %s"
msgid "Examples:"
msgstr "Ejemplos:"
-#: templates/web/base/admin/report_edit.html:122
-#: templates/web/base/report/_inspect.html:42
+#: templates/web/base/admin/report-category.html:3
msgid "Existing category"
-msgstr ""
+msgstr "Categoría existente"
#: templates/web/base/js/translation_strings.html:49
msgid "Expand map"
msgstr ""
-#: templates/web/base/report/new/form_report.html:52
+#: templates/web/base/report/new/form_report.html:54
msgid "Explain what’s wrong"
msgstr ""
-#: templates/web/base/dashboard/index.html:146
+#: templates/web/base/dashboard/index.html:147
msgid "Export as CSV"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:913
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:179
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:12
msgid "Extern"
@@ -1259,7 +1269,7 @@ msgstr ""
msgid "External ID"
msgstr ""
-#: templates/web/base/admin/body-form.html:87
+#: templates/web/base/admin/body-form.html:89
msgid "External URL"
msgstr "URL Externo"
@@ -1271,13 +1281,20 @@ msgstr ""
msgid "External team"
msgstr ""
-#: templates/web/base/admin/category_edit.html:25
+#: perllib/FixMyStreet/Cobrand/Default.pm:673
+#: templates/web/base/admin/reportextrafields/edit.html:1
+#: templates/web/base/admin/reportextrafields/index.html:1
+#, fuzzy
+msgid "Extra Fields"
+msgstr "Datos adicionales:"
+
+#: templates/web/base/admin/contact-form.html:141
#: templates/web/base/admin/report_edit.html:94
msgid "Extra data:"
msgstr "Datos adicionales:"
-#: templates/web/base/report/_inspect.html:134
-#: templates/web/base/report/_item.html:106
+#: templates/web/base/report/_inspect.html:144
+#: templates/web/base/report/_item.html:108
msgid "Extra details"
msgstr ""
@@ -1285,6 +1302,11 @@ msgstr ""
msgid "Failed to send message"
msgstr "Fallo en el envío del mensaje"
+#: templates/web/base/admin/reportextrafields/edit.html:58
+#: templates/web/base/admin/reportextrafields/index.html:9
+msgid "Fields"
+msgstr ""
+
#: templates/web/zurich/admin/index-dm.html:33
#: templates/web/zurich/admin/index-sdm.html:30
msgid "Filter report list"
@@ -1298,52 +1320,32 @@ msgstr "Primera vez"
msgid "Fix this by choosing an <strong>area covered</strong> in the <em>Edit body details</em> form below."
msgstr "Arreglar esto eligiendo un <strong>área cubierta</ strong> en el formulario <em>Editar detalles del organismo</ em> a continuación."
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:11
-#: templates/web/base/admin/report_blocks.html:26
+#: perllib/FixMyStreet/App/Controller/Admin/States.pm:35
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:133
+#: templates/web/base/admin/states/index.html:29
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:41
-#: templates/web/base/report/banner.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:17
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:45
msgid "Fixed"
msgstr "Arreglado"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:13
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:7
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:62
msgid "Fixed - Council"
msgstr "Arreglado - Ayuntamiento"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:12
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:63
msgid "Fixed - User"
msgstr "Arreglado - Usuario"
-#: templates/web/base/reports/_list-filters.html:14
-msgid "Fixed reports"
-msgstr ""
-
-#: templates/web/base/admin/problem_row.html:37
-msgid "Fixed:"
-msgstr "Arreglado:"
-
-#: templates/web/base/admin/body-form.html:95
-#: templates/web/base/admin/responsepriorities/edit.html:41
+#: templates/web/base/admin/body-form.html:97
+#: templates/web/base/admin/responsepriorities/edit.html:53
#: templates/web/zurich/admin/body-form.html:36
msgid "Flag as deleted"
msgstr "Marcar como borrado"
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/report_blocks.html:23
msgid "Flag user"
msgstr "Marca usuario"
-#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: perllib/FixMyStreet/Cobrand/Default.pm:644
#: templates/web/base/admin/users.html:20
msgid "Flagged"
msgstr "Marcado"
@@ -1360,7 +1362,7 @@ msgstr "Los usuarios marcados se listan en página de<a href='%s'>marcados</a>"
msgid "Flagged users are not restricted in any way. This is just a list of users that have been marked for attention."
msgstr "Las capacidades de los \"usuarios marcados\" no se limitan de ninguna manera. Es solo una lista de usuarios que han sido marcado para observación."
-#: templates/web/base/admin/report_edit.html:147
+#: templates/web/base/admin/report_edit.html:135
#: templates/web/base/admin/user-form.html:100
msgid "Flagged:"
msgstr "Marcado:"
@@ -1373,21 +1375,25 @@ msgstr "Haga clic en el enlace de un barrio para ver solo sus notificaciones."
msgid "For best results include a close-up and a wide shot"
msgstr ""
-#: templates/web/base/admin/body-form.html:71
+#: templates/web/base/admin/extra-metadata-form.html:52
+msgid "For each option, <strong>Key</strong> is the value which is stored in the database for that option and <strong>Name</strong> is the value displayed to the user."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:73
msgid "For more information, see <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
msgstr "Para más información, vea <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>Cómo FixMyStreet usa Mapit</a>."
-#: templates/web/base/auth/general.html:95
+#: templates/web/base/auth/general.html:97
#: templates/web/base/report/new/form_user_loggedout_password.html:20
#: templates/web/base/report/update/form_user_loggedout_password.html:19
msgid "Forgotten your password?"
msgstr "¿Olvidó su contraseña?"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:743
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:748
msgid "Forwarded to external body"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:744
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:749
msgid "Forwarded wish to external body"
msgstr ""
@@ -1397,6 +1403,10 @@ msgstr ""
msgid "Frequently Asked Questions"
msgstr "Listado de Preguntas Frecuentes"
+#: templates/web/base/admin/stats.html:102
+msgid "Get Count"
+msgstr ""
+
#: templates/web/base/around/_updates.html:3
#: templates/web/base/report/display_tools.html:14
msgid "Get updates"
@@ -1412,10 +1422,14 @@ msgstr "Recibe actualizaciones de los problemas %s"
msgid "Get updates of problems in this %s"
msgstr "Recibe actualizaciones de los problemas en este %s"
-#: templates/web/base/alert/_list.html:83
+#: templates/web/base/alert/_list.html:85
msgid "Give me an RSS feed"
msgstr "Proporcióname un listado RSS"
+#: templates/web/base/admin/reportextrafields/edit.html:6
+msgid "Give this collection of fields a name. It is not shown publicly, just here in the admin."
+msgstr ""
+
#: templates/web/base/questionnaire/completed.html:14
msgid "Glad to hear it’s been fixed!"
msgstr "¡Nos alegra saber que ha sido arreglado!"
@@ -1425,8 +1439,9 @@ msgstr "¡Nos alegra saber que ha sido arreglado!"
#: templates/web/base/admin/index.html:49
#: templates/web/base/alert/index.html:34
#: templates/web/base/around/postcode_form.html:13
-#: templates/web/base/reports/_list-filters.html:38
-#: templates/web/base/reports/_list-filters.html:53
+#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:64
+#: templates/web/base/reports/index.html:75
#: templates/web/zurich/admin/stats.html:26
msgid "Go"
msgstr "Ir"
@@ -1435,7 +1450,7 @@ msgstr "Ir"
msgid "Going to send questionnaire?"
msgstr "¿Va a enviar cuestionario?"
-#: perllib/FixMyStreet/Cobrand/Default.pm:726
+#: perllib/FixMyStreet/Cobrand/Default.pm:731
msgid "Grant access to the admin"
msgstr ""
@@ -1443,10 +1458,6 @@ msgstr ""
msgid "Graph of problem creation by status over time"
msgstr "Gráfico temporal de creación problemas por estado"
-#: templates/web/base/reports/index.html:15
-msgid "Greyed-out lines are councils that no longer exist."
-msgstr "Las líneas de color gris corresponden a áreas de organismos que ya no existen."
-
#: templates/web/base/questionnaire/index.html:48
msgid "Has this problem been fixed?"
msgstr "¿Ha sido corregido este problema?"
@@ -1457,7 +1468,7 @@ msgstr "¿Alguna vez informó de un problema a un Ayuntamiento antes, o es su pr
#: templates/web/base/main_nav_items.html:40
#: templates/web/zurich/about/faq-de-ch.html:1
-#: templates/web/zurich/footer.html:23
+#: templates/web/zurich/footer.html:22
#: templates/web/zurich/nav_over_content.html:8
msgid "Help"
msgstr "Ayuda"
@@ -1467,22 +1478,13 @@ msgstr "Ayuda"
msgid "Help <strong>%s</strong> resolve your problem quicker, by providing some extra detail. This extra information will not be published online."
msgstr ""
-#: templates/web/base/alert/_list.html:9
-msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
-msgstr "Estos son los tipos de notificaciones de incidencias locales para '%s'."
-
-#: templates/web/zurich/footer.html:12
+#: templates/web/zurich/footer.html:11
msgid "Hi %s"
msgstr "%s"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:906
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:19
-#: templates/web/base/admin/report_blocks.html:28
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:911
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:60
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:19
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:11
#: templates/web/zurich/admin/stats.html:32
@@ -1490,16 +1492,33 @@ msgstr "%s"
msgid "Hidden"
msgstr "Oculto"
-#: templates/web/base/report/_main.html:105
-#, fuzzy
+#: templates/web/base/report/_main.html:109
msgid "Hide entire report"
-msgstr "Vuelva a enviar la notificación"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:1
+#: templates/web/base/my/anonymize.html:2
+msgid "Hide my name"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:21
+msgid "Hide my name everywhere"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:10
+msgid "Hide my name in this update"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:16
+msgid "Hide my name on this report"
+msgstr ""
#: templates/web/base/around/display_location.html:67
msgid "Hide old"
msgstr "Ocultar antiguos"
#: templates/web/base/around/display_location.html:62
+#: templates/web/base/js/translation_strings.html:55
msgid "Hide pins"
msgstr "Ocultar marcadores"
@@ -1507,7 +1526,16 @@ msgstr "Ocultar marcadores"
msgid "Hide update completely?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:49
+#: templates/web/base/report/_report_meta_info.html:3
+#: templates/web/base/report/update.html:55
+msgid "Hide your name?"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:38
+msgid "Hint"
+msgstr ""
+
+#: templates/web/base/admin/category_edit.html:24
msgid "History"
msgstr "Historial"
@@ -1524,12 +1552,12 @@ msgid "How to send successful reports"
msgstr "¿Cómo enviar informes exitosos?"
#: templates/web/base/tokens/confirm_problem.html:36
-#: templates/web/base/tokens/confirm_problem.html:40
+#: templates/web/base/tokens/confirm_problem.html:41
msgid "I just reported a problem on @fixmystreet"
msgstr "Acabo de informar de un problema en @fixmystreet"
-#: templates/web/base/tokens/confirm_update.html:19
-#: templates/web/base/tokens/confirm_update.html:23
+#: templates/web/base/tokens/confirm_update.html:20
+#: templates/web/base/tokens/confirm_update.html:25
msgid "I just updated a problem on @fixmystreet"
msgstr "Acabo de actualizar un problema en @fixmystreet"
@@ -1549,8 +1577,8 @@ msgstr "No se ha podido localizar su problema en la base de datos.\n"
msgid "ID"
msgstr "ID"
-#: templates/web/base/admin/body-form.html:30
-#: templates/web/base/admin/body-form.html:31
+#: templates/web/base/admin/body-form.html:32
+#: templates/web/base/admin/body-form.html:33
msgid ""
"Identify a <strong>parent</strong> if this body is itself part of another body.\n"
" For basic installations, you don't need to join bodies in this way."
@@ -1558,10 +1586,18 @@ msgstr ""
"Identificar una <strong>sub-organismos</ strong> si este organismo forma parte de otro organismo.\n"
"Para las instalaciones básicas, no necesita asociar los organismos de esta manera."
+#: templates/web/base/auth/token.html:19
+msgid "If there's a user associated with the address you entered, we've sent a confirmation email."
+msgstr ""
+
#: templates/web/base/admin/responsepriorities/edit.html:23
msgid "If this priority is passed to an external service (e.g. Exor/Confirm) enter the priority code to use with that service here."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:24
+msgid "If ticked the user won’t see an input field, just the ‘Description’ text."
+msgstr ""
+
#: templates/web/base/admin/contact-form.html:14
msgid ""
"If two or more bodies serve the same location, FixMyStreet combines identical categories into a single entry in\n"
@@ -1574,7 +1610,7 @@ msgstr ""
msgid "If you get some more information about the status of your problem, please come back to the site and leave an update."
msgstr "Si usted consigue algo más de información sobre el estado del problema, por favor regrese a esta web y añádale una actualización."
-#: templates/web/base/admin/responsepriorities/edit.html:33
+#: templates/web/base/admin/responsepriorities/edit.html:45
msgid "If you only want this priority to be an option for specific categories, pick them here. By default they will show for all categories."
msgstr ""
@@ -1597,7 +1633,7 @@ msgid ""
"(please note it will not be sent to the council)."
msgstr ""
-#: templates/web/base/admin/contact-form.html:30
+#: templates/web/base/admin/contact-form.html:32
msgid "If you're using <strong>a send method that is not email</strong>, enter the service ID (Open311) or equivalent identifier here."
msgstr "Si utiliza <strong> un método de envío distinto del email</ strong>, introduzca el ID de servicio (Open311) o identificador equivalente aquí."
@@ -1632,7 +1668,7 @@ msgstr ""
"<strong>usuario</ strong> de FixMyStreet aparece como creador de dichas actualizaciones\n"
"en esta web. Introduzca el ID (número) del usuario."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:133
+#: perllib/FixMyStreet/App/Controller/Contact.pm:134
msgid "Illegal ID"
msgstr "ID incorrecto"
@@ -1640,13 +1676,6 @@ msgstr "ID incorrecto"
msgid "Illegal feed selection"
msgstr "Selección de listado incorrecta"
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "In Progress"
-msgstr "Procesando"
-
#: templates/web/base/admin/flagged.html:39
msgid "In abuse table?"
msgstr "¿En tabla de abusones?"
@@ -1655,18 +1684,17 @@ msgstr "¿En tabla de abusones?"
msgid "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
msgstr "Los siguientes atributos, que no forman parte de la especificación Open311 v2, son adicionalmente devueltos: agency_sent_datetime, title (también se devuelve como parte de la descripción), interface_used, comment_count, requestor_name (solo si el solicitante permitió que el nombre que se mostrará en el sitio)."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:192
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:954
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:9
-#: templates/web/base/report/banner.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:5
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:197
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:959
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:8
msgid "In progress"
msgstr "Procesando"
+#: templates/web/base/admin/contact-form.html:57
+msgid "Inactive"
+msgstr ""
+
#: templates/web/base/tokens/confirm_alert.html:11
msgid "Inbox zero, here we come!"
msgstr "Bandeja de entrada vacía"
@@ -1683,11 +1711,15 @@ msgstr "Incluir notificaciones no confirmadas"
msgid "Incorrect has_photo value \"%s\""
msgstr "Valor incorrecto para has_photo \"%s\""
-#: templates/web/base/admin/contact-form.html:84
+#: templates/web/base/report/_inspect.html:5
+msgid "Inspect report"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:85
msgid "Inspection required"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:711
+#: perllib/FixMyStreet/Cobrand/Default.pm:715
msgid "Instruct contractors to fix problems"
msgstr ""
@@ -1695,13 +1727,6 @@ msgstr ""
msgid "Internal notes"
msgstr "Notas internas"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:11
-msgid "Internal referral"
-msgstr "Remisión interna"
-
#: templates/web/base/offline/appcache.html:3
msgid "Internet glitch"
msgstr ""
@@ -1710,7 +1735,7 @@ msgstr ""
msgid "Invalid agency_responsible value %s"
msgstr "Valor inválido para agency_responsible %s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1502
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1607
msgid "Invalid end date"
msgstr "Fecha de fin inválida"
@@ -1718,26 +1743,15 @@ msgstr "Fecha de fin inválida"
msgid "Invalid format %s specified."
msgstr "Especificado un formato no válido %s."
-#: perllib/FixMyStreet/App/Controller/Report.pm:398
+#: perllib/FixMyStreet/App/Controller/Report.pm:409
msgid "Invalid location. New location must be covered by the same council."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1498
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1603
msgid "Invalid start date"
msgstr "Fecha de inicio no válida"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:7
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:4
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Investigating"
-msgstr "Investigando"
-
-#: templates/web/base/contact/blurb.html:8
+#: templates/web/base/contact/blurb.html:2
msgid "It's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there."
msgstr "A menudo es más rápido <a href=\"%s\">consultar nuestro Listado de Preguntas Frecuentes</a> y ver si la respuesta está allí."
@@ -1745,37 +1759,59 @@ msgstr "A menudo es más rápido <a href=\"%s\">consultar nuestro Listado de Pre
msgid "It’s on its way to the council right now."
msgstr "De camino al ayuntamiento en este momento."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:177
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:182
msgid "Jurisdiction Unknown"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:15
msgid "Jurisdiction unknown"
msgstr ""
-#: templates/web/base/auth/general.html:91
+#: templates/web/base/auth/general.html:93
#: templates/web/base/report/new/form_user_loggedout_password.html:16
#: templates/web/base/report/update/form_user_loggedout_password.html:15
#: templates/web/zurich/auth/general.html:40
msgid "Keep me signed in on this computer"
msgstr "Mantener mi sesión abierta en este ordenador"
+#: templates/web/base/admin/extra-metadata-form.html:61
+msgid "Key"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:9
+#: templates/web/base/admin/states/index.html:95
+msgid "Label"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:6
+#: templates/web/base/admin/reportextrafields/edit.html:45
+msgid "Language"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/index.html:8
+msgid "Languages"
+msgstr ""
+
#: templates/web/base/dashboard/index.html:50
msgid "Last 4 weeks"
msgstr ""
#: templates/web/base/dashboard/index.html:49
-#, fuzzy
+#: templates/web/base/reports/index.html:38
msgid "Last 7 days"
-msgstr "Última actualización:"
+msgstr ""
#: templates/web/base/admin/body.html:74
#: templates/web/zurich/admin/body.html:16
msgid "Last editor"
msgstr "Último editor"
+#: templates/web/base/questionnaire/index.html:25
+msgid "Last update"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:89
msgid "Last update:"
msgstr "Última actualización:"
@@ -1784,23 +1820,27 @@ msgstr "Última actualización:"
msgid "Last&nbsp;update:"
msgstr "Última&nbsp;actualización:"
-#: templates/web/base/report/_inspect.html:20
-#: templates/web/base/report/_item.html:86
+#: templates/web/base/report/_inspect.html:30
+#: templates/web/base/report/_item.html:88
msgid "Latitude/Longitude:"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:50
+#: templates/web/base/reports/_list-filters.html:61
msgid "Least recently updated"
msgstr ""
-#: templates/web/base/admin/body-form.html:127
+#: templates/web/base/admin/body-form.html:129
msgid "Leave this blank if all reports to this body should be sent using the same send method (e.g., \"%s\")."
msgstr "Deje en blanco si todos las notificaciones a este órgano administrativo utilizan el mismo método de envío (e.g., \"%s\")."
-#: templates/web/base/dashboard/index.html:150
+#: templates/web/base/dashboard/index.html:151
msgid "Less than 7 days old"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:47
+msgid "List"
+msgstr ""
+
#: templates/web/base/admin/body.html:31
msgid "List all reported problems"
msgstr "Listar todos los problemas notificados"
@@ -1831,23 +1871,23 @@ msgstr "Alertas locales"
msgid "Locate the problem on a map of the area"
msgstr "Señale en el mapa de la zona la localización del problema"
-#: templates/web/base/auth/general.html:22
+#: templates/web/base/auth/general.html:24
#: templates/web/base/report/new/form_user_loggedout.html:6
#: templates/web/base/report/update/form_user_loggedout.html:7
msgid "Log in with Facebook"
msgstr ""
-#: templates/web/base/auth/general.html:30
+#: templates/web/base/auth/general.html:32
#: templates/web/base/report/new/form_user_loggedout.html:14
#: templates/web/base/report/update/form_user_loggedout.html:15
msgid "Log in with Twitter"
msgstr ""
-#: templates/web/base/js/translation_strings.html:59
+#: templates/web/base/js/translation_strings.html:62
msgid "Log in with email"
msgstr ""
-#: templates/web/base/dashboard/index.html:145
+#: templates/web/base/dashboard/index.html:146
#: templates/web/base/dashboard/index.html:38
msgid "Look up"
msgstr ""
@@ -1856,11 +1896,11 @@ msgstr ""
msgid "MAP"
msgstr "MAPA"
-#: perllib/FixMyStreet/Cobrand/Default.pm:712
+#: perllib/FixMyStreet/Cobrand/Default.pm:716
msgid "Manage shortlist"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:45
+#: templates/web/base/reports/_list-filters.html:56
msgid "Manual order"
msgstr ""
@@ -1876,19 +1916,11 @@ msgstr "Marcado como enviado"
msgid "Mark users whose behaviour you want to keep a check on as <strong>flagged</strong>."
msgstr "Señalar como <strong>marcados</strong> aquellos usuarios cuyo comportamiento desea observar."
-#: templates/web/base/reports/index.html:27
-msgid "Marked fixed/closed in the past eight weeks"
-msgstr "Marcado como resuelto/cerrado en las últimas ocho semanas"
-
-#: templates/web/base/reports/index.html:28
-msgid "Marked fixed/closed more than eight weeks ago"
-msgstr "Marcado como resuelto/cerrado hace más de ocho semanas"
-
-#: perllib/FixMyStreet/Cobrand/Default.pm:710
+#: perllib/FixMyStreet/Cobrand/Default.pm:714
msgid "Markup problem details"
msgstr ""
-#: templates/web/base/contact/index.html:96
+#: templates/web/base/contact/index.html:100
msgid "Message"
msgstr "Mensaje:"
@@ -1908,68 +1940,69 @@ msgstr ""
msgid "Missing jurisdiction_id"
msgstr "Falta jurisdiction_id"
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:706
+#: perllib/FixMyStreet/Cobrand/Default.pm:710
msgid "Moderate report details"
msgstr ""
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate this report"
msgstr ""
#: templates/web/base/report/update.html:12
-#, fuzzy
msgid "Moderate this update"
-msgstr "Notificado por %s en %s"
+msgstr ""
-#: templates/web/base/report/_main.html:69
-#: templates/web/base/report/update.html:49
-#, fuzzy
+#: templates/web/base/report/_main.html:73
+#: templates/web/base/report/update.html:58
msgid "Moderated by %s at %s"
-msgstr "Notificado por %s en %s"
+msgstr ""
#: templates/web/zurich/admin/stats.html:34
msgid "Moderated by division within one working day"
msgstr "Moderado por el organismo durante el siguiente día laborable"
-#: templates/web/base/report/_main.html:109
-#: templates/web/base/report/update.html:57
-#, fuzzy
+#: templates/web/base/report/_main.html:113
+#: templates/web/base/report/update.html:66
msgid "Moderation reason:"
-msgstr "otras áreas:"
+msgstr ""
#: templates/web/base/admin/stats.html:11
msgid "Month"
msgstr "Mes"
-#: templates/web/base/reports/_list-filters.html:51
+#: templates/web/base/reports/_list-filters.html:62
msgid "Most commented"
msgstr ""
#: templates/web/base/admin/bodies.html:25
#: templates/web/base/admin/body-form.html:24
+#: templates/web/base/admin/extra-metadata-form.html:65
#: templates/web/base/admin/flagged.html:16
#: templates/web/base/admin/flagged.html:37
#: templates/web/base/admin/index.html:62
#: templates/web/base/admin/list_updates.html:7
+#: templates/web/base/admin/reportextrafields/edit.html:11
+#: templates/web/base/admin/reportextrafields/index.html:6
#: templates/web/base/admin/reports.html:14
#: templates/web/base/admin/responsepriorities/list.html:6
+#: templates/web/base/admin/states/index.html:108
+#: templates/web/base/admin/states/index.html:11
#: templates/web/base/admin/users.html:16
-#: templates/web/base/auth/general.html:106
-#: templates/web/base/report/new/form_user_loggedin.html:40
+#: templates/web/base/auth/general.html:108
+#: templates/web/base/report/new/form_user_loggedin.html:42
#: templates/web/base/report/new/form_user_loggedout_by_email.html:7
-#: templates/web/base/report/update/form_name.html:23
-#: templates/web/base/reports/index.html:23
+#: templates/web/base/report/update/form_name.html:27
#: templates/web/zurich/admin/body-form.html:4
#: templates/web/zurich/auth/general.html:60
#: templates/web/zurich/report/new/fill_in_details_form.html:59
msgid "Name"
msgstr "Nombre"
-#: templates/web/base/admin/report_edit.html:139
+#: templates/web/base/admin/report_edit.html:127
#: templates/web/base/admin/responsepriorities/edit.html:13
#: templates/web/base/admin/update_edit.html:34
#: templates/web/base/admin/user-form.html:16
@@ -1981,7 +2014,7 @@ msgstr "Nombre:"
msgid "Name: %s"
msgstr "Nombre: %s"
-#: templates/web/base/report/_inspect.html:28
+#: templates/web/base/report/_inspect.html:38
msgid "Navigate to this problem"
msgstr ""
@@ -1990,16 +2023,16 @@ msgstr ""
msgid "Nearest named road to the pin placed on the map (automatically generated using OpenStreetMap): %s%s"
msgstr "Nombre de la calle más cercana al marcador colocado en el mapa (se genera automáticamente utilizando OpenStreetMap): %s%s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:129
+#: perllib/FixMyStreet/Cobrand/UK.pm:134
msgid "Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"
msgstr "Código Postal más cercano al marcador colocado en el mapa (generado automáticamente): %s (%sm de distancia)"
-#: perllib/FixMyStreet/Cobrand/Default.pm:527
-#: perllib/FixMyStreet/Cobrand/Default.pm:567
+#: perllib/FixMyStreet/Cobrand/Default.pm:538
+#: perllib/FixMyStreet/Cobrand/Default.pm:566
msgid "Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"
msgstr "Camino más cercano al marcador colocado en el mapa (generado automáticamente por Bing Maps): %s"
-#: perllib/FixMyStreet/Script/Alerts.pm:319
+#: perllib/FixMyStreet/Script/Alerts.pm:316
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s\n"
"\n"
@@ -2007,19 +2040,23 @@ msgstr ""
"Camino más cercano al pin colocado en el mapa (generada automáticamente por Bing Maps): %s\n"
"\n"
-#: templates/web/base/auth/token.html:17 templates/web/base/email_sent.html:5
+#: templates/web/base/auth/token.html:18
+msgid "Nearly done!"
+msgstr ""
+
+#: templates/web/base/auth/token.html:22 templates/web/base/email_sent.html:5
msgid "Nearly done! Now check your email&hellip;"
msgstr ""
-#: templates/web/base/reports/index.html:24
-msgid "New <br>problems"
-msgstr "Nuevos <br>problemas"
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:131
+msgid "New"
+msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:259
+#: perllib/FixMyStreet/App/Controller/Admin.pm:262
msgid "New body added"
msgstr "Nuevo organismo añadido"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:405
+#: perllib/FixMyStreet/App/Controller/Admin.pm:386
msgid "New category contact added"
msgstr "Añadida nueva categoría de contactos"
@@ -2045,7 +2082,7 @@ msgid "New password:"
msgstr ""
#: templates/web/base/admin/responsepriorities/edit.html:4
-#: templates/web/base/admin/responsepriorities/list.html:32
+#: templates/web/base/admin/responsepriorities/list.html:34
msgid "New priority"
msgstr ""
@@ -2074,6 +2111,7 @@ msgid "New reports"
msgstr "Nuevos informes"
#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/states/index.html:91
msgid "New state"
msgstr "Nuevo estado"
@@ -2083,7 +2121,7 @@ msgstr "Nuevo estado"
msgid "New template"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:47
+#: templates/web/base/reports/_list-filters.html:58
msgid "Newest"
msgstr ""
@@ -2091,20 +2129,19 @@ msgstr ""
msgid "Next"
msgstr "Siguiente"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1203
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
+#: perllib/FixMyStreet/Cobrand/Default.pm:1237
#: templates/web/base/admin/category_edit.html:4
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:137
+#: templates/web/base/admin/report_edit.html:125
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:26
#: templates/web/base/questionnaire/creator_fixed.html:16
#: templates/web/base/questionnaire/index.html:106
#: templates/web/base/questionnaire/index.html:55
+#: templates/web/base/report/_inspect.html:92
msgid "No"
msgstr "No"
@@ -2120,7 +2157,7 @@ msgstr "Sin órgano administrativo"
msgid "No council"
msgstr "Sin ayuntamiento"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:445
+#: perllib/FixMyStreet/DB/Result/Problem.pm:372
msgid "No council selected"
msgstr "Ningún ayuntamiento seleccionado"
@@ -2136,25 +2173,16 @@ msgstr "No se encuentran problemas marcados."
msgid "No flagged users found."
msgstr "No se encuentran usuarios marcados"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:14
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:8
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "No further action"
-msgstr "Incapaz de arreglarlo"
-
#: templates/web/zurich/admin/report_edit-sdm.html:125
#: templates/web/zurich/admin/report_edit.html:259
msgid "No further updates"
msgstr "No hay más actualizaciones"
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:84
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:68
msgid "No inspections by that inspector in the selected date range."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:86
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:70
msgid "No inspections in the selected date range."
msgstr ""
@@ -2162,8 +2190,8 @@ msgstr ""
msgid "No result returned"
msgstr "Ningún resultado devuelto"
-#: templates/web/base/admin/body-form.html:66
-#: templates/web/base/admin/body-form.html:67
+#: templates/web/base/admin/body-form.html:68
+#: templates/web/base/admin/body-form.html:69
msgid ""
"No specific areas are currently available, because the <code>MAPIT_URL</code> in\n"
" your config file is not pointing to a live MapIt service."
@@ -2202,17 +2230,8 @@ msgstr ""
"Dependiendo de la implementación, el personal pueden tener acceso al tablero (resumen de\n"
"la actividad a través de su departamento), la capacidad de ocultar notificaciones, o establecer estados especiales para las notificaciones."
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:9
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "Not Responsible"
-msgstr "No responsable"
-
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:181
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:186
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:933
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:13
msgid "Not contactable"
@@ -2231,7 +2250,7 @@ msgid "Not reported to council"
msgstr "No comunicado al ayuntamiento"
#: templates/web/base/admin/body.html:75
-#: templates/web/base/admin/category_edit.html:57
+#: templates/web/base/admin/category_edit.html:31
#: templates/web/zurich/admin/body.html:17
msgid "Note"
msgstr "Nota"
@@ -2241,7 +2260,7 @@ msgid "Note that when including unconfirmed reports we use the date the report w
msgstr "Tenga en cuenta que al incluir notificaciones no confirmadas usamos la fecha de creación de la notificación, que puede no coincidir con el mes en se confirmó, así que los números pueden variar un poco."
#: templates/web/zurich/admin/body.html:55
-#: templates/web/zurich/admin/contact-form.html:17
+#: templates/web/zurich/admin/contact-form.html:19
msgid "Note:"
msgstr "Nota:"
@@ -2253,6 +2272,10 @@ msgstr "Nota: <strong>%s</strong>"
msgid "Notes from SDM to DM"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:26
+msgid "Notice"
+msgstr ""
+
#: templates/web/base/report/new/oauth_email_form.html:17
msgid "Now to submit your report&hellip;"
msgstr "Ahora a enviar tu notificación&hellip;"
@@ -2263,63 +2286,43 @@ msgstr "Ahora a enviar tu notificación&hellip;"
msgid "Now to submit your update&hellip;"
msgstr "Ahora a enviar tu notificación&hellip;"
+#: templates/web/base/reports/index.html:98
+msgid "Number of problems reported in each category, in the last 7 days."
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:43
msgid "OK"
msgstr "OK"
-#: templates/web/base/js/translation_strings.html:67
+#: templates/web/base/js/translation_strings.html:70
msgid "Offline data cleared"
msgstr ""
-#: templates/web/base/js/translation_strings.html:64
+#: templates/web/base/js/translation_strings.html:67
msgid "Offline update data saved"
msgstr ""
-#: templates/web/base/reports/index.html:26
-msgid "Old / unknown <br>problems"
-msgstr "Problemas<br>Antiguos / desconocidos"
-
#: templates/web/base/admin/questionnaire.html:24
msgid "Old state"
msgstr "Estado antiguo"
-#: templates/web/base/reports/index.html:28
-msgid "Older <br>fixed"
-msgstr "Antiguo <br>arreglado"
-
-#: templates/web/base/reports/index.html:25
-msgid "Older <br>problems"
-msgstr "Problemas <br>antiguos"
-
-#: templates/web/base/reports/_list-filters.html:48
+#: templates/web/base/reports/_list-filters.html:59
msgid "Oldest"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:900
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:25
-#: templates/web/base/admin/report_blocks.html:6
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:905
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:10
+#: templates/web/base/admin/states/index.html:102
+#: templates/web/base/admin/states/index.html:25
+#: templates/web/base/admin/states/index.html:32
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:3
-#: templates/web/base/report/update/form_update.html:41
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:7
#: templates/web/zurich/admin/update_edit.html:18
msgid "Open"
msgstr "Abierto"
-#: templates/web/base/reports/index.html:25
-msgid "Open for more than four weeks, with an update within the past eight weeks"
-msgstr "Abierto por más de cuatro semanas, con una actualización en las últimas ocho semanas"
-
-#: templates/web/base/reports/index.html:26
-msgid "Open, but not had any update in eight weeks"
-msgstr "Abierto, pero no ha sido actualizado en ocho semanas"
-
#: templates/web/base/admin/open311-form-fields.html:47
msgid "Open311 API Key"
msgstr ""
@@ -2340,26 +2343,38 @@ msgstr "Página web de la iniciativa Open311"
msgid "Open311 specification"
msgstr "Especificación Open311"
-#: templates/web/base/alert/_list.html:61
-msgid "Or problems reported to:"
-msgstr "O problemas notificados a:"
-
-#: templates/web/base/alert/_list.html:37
-msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
-msgstr "O puede suscribirse a una alerta basada en el barrio o ayuntamiento en que te encuentras:"
-
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:1061
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:659
-#: perllib/FixMyStreet/DB/Result/Problem.pm:642
-#: perllib/FixMyStreet/DB/Result/Problem.pm:649
-#: perllib/FixMyStreet/DB/Result/Problem.pm:664
-#: perllib/FixMyStreet/DB/Result/Problem.pm:673
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "Options"
+msgstr ""
+
+#: templates/web/base/alert/_list.html:84
+msgid "Or subscribe by RSS"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:8
+msgid "Order"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1107
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:675
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:676
+#: perllib/FixMyStreet/DB/Result/Problem.pm:579
+#: perllib/FixMyStreet/DB/Result/Problem.pm:586
+#: perllib/FixMyStreet/DB/Result/Problem.pm:601
+#: perllib/FixMyStreet/DB/Result/Problem.pm:610
#: perllib/FixMyStreet/Script/Reports.pm:183
#: perllib/FixMyStreet/Script/Reports.pm:198
msgid "Other"
msgstr "Otros"
+#: templates/web/base/reports/index.html:107
+msgid "Other categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:92
+msgid "Overall average"
+msgstr ""
+
#: templates/web/base/admin/list_updates.html:8
msgid "Owner"
msgstr "Propietario"
@@ -2369,17 +2384,16 @@ msgstr "Propietario"
msgid "Page Not Found"
msgstr "Página no encontrada"
-#: templates/web/base/admin/body-form.html:37
+#: templates/web/base/admin/body-form.html:39
#: templates/web/zurich/admin/body-form.html:14
msgid "Parent"
msgstr "Padre"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:20
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:61
msgid "Partial"
msgstr "Parcial"
-#: templates/web/base/auth/general.html:109
+#: templates/web/base/auth/general.html:111
#: templates/web/base/report/new/form_user_loggedout_by_email.html:28
#: templates/web/base/report/update/form_user_loggedout_by_email.html:6
#: templates/web/zurich/auth/general.html:32
@@ -2387,7 +2401,7 @@ msgstr "Parcial"
msgid "Password (optional)"
msgstr "Contraseña (opcional)"
-#: templates/web/base/auth/general.html:82
+#: templates/web/base/auth/general.html:84
msgid "Password:"
msgstr "Contraseña:"
@@ -2399,17 +2413,21 @@ msgstr "Enlace permanente"
msgid "Permissions:"
msgstr ""
+#: templates/web/base/report/_inspect.html:19
+msgid "Phone Reporter:"
+msgstr ""
+
#: templates/web/zurich/report/new/fill_in_details_form.html:65
msgid "Phone number"
msgstr "Número de teléfono"
-#: templates/web/base/report/new/form_user_loggedin.html:57
+#: templates/web/base/report/new/form_user_loggedin.html:59
#: templates/web/base/report/new/form_user_loggedout_by_email.html:25
msgid "Phone number (optional)"
msgstr "Número de teléfono (opcional)"
#: perllib/FixMyStreet/Script/Reports.pm:87
-#: templates/web/base/admin/report_edit.html:146
+#: templates/web/base/admin/report_edit.html:134
#: templates/web/base/admin/user-form.html:21
#: templates/web/zurich/admin/stats.html:39
msgid "Phone:"
@@ -2418,9 +2436,9 @@ msgstr "Teléfono:"
#: templates/web/base/questionnaire/index.html:78
#: templates/web/base/questionnaire/index.html:93
#: templates/web/base/questionnaire/index.html:95
-#: templates/web/base/report/new/form_report.html:28
-#: templates/web/base/report/new/form_report.html:43
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/new/form_report.html:45
+#: templates/web/base/report/new/form_report.html:47
#: templates/web/base/report/update/form_update.html:22
#: templates/web/base/report/update/form_update.html:24
#: templates/web/base/report/update/form_update.html:7
@@ -2438,12 +2456,12 @@ msgstr "Foto"
msgid "Photo is required."
msgstr ""
-#: templates/web/zurich/admin/contact-form.html:14
+#: templates/web/zurich/admin/contact-form.html:16
msgid "Photo required"
msgstr ""
#: templates/web/base/questionnaire/index.html:78
-#: templates/web/base/report/new/form_report.html:28
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/update/form_update.html:7
#: templates/web/zurich/report/new/fill_in_details_form.html:20
msgid "Photos"
@@ -2453,17 +2471,18 @@ msgstr ""
msgid "Photos of recent nearby reports"
msgstr "Fotos de notificaciones cercanas recientes"
+#: templates/web/base/reports/index.html:63
+#: templates/web/base/reports/index.html:66
+msgid "Pick your council"
+msgstr ""
+
#: templates/web/base/around/display_location.html:76
#: templates/web/base/js/translation_strings.html:30
msgid "Place pin on map"
msgstr "Coloque el marcador en el mapa"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:940
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:946
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:8
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:945
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:951
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:9
#: templates/web/zurich/admin/index-dm.html:9
@@ -2481,31 +2500,27 @@ msgstr "Por favor, comprueba la contraseña e inténtalo de nuevo"
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:18
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:43
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:45
#: templates/web/zurich/auth/general.html:3
#: templates/web/zurich/auth/general.html:9
msgid "Please check your email address is correct"
msgstr "Por favor, compruebe que su dirección de email es correcta"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:350
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:844
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:867
-#: perllib/FixMyStreet/DB/Result/Problem.pm:456
+#: perllib/FixMyStreet/App/Controller/Admin.pm:329
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:873
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:896
+#: perllib/FixMyStreet/DB/Result/Problem.pm:383
#: templates/web/base/js/translation_strings.html:9
msgid "Please choose a category"
msgstr "Por favor, elija una categoría"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:462
-msgid "Please choose a property type"
-msgstr "Por favor, elija un tipo de propiedad"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:396
+#: perllib/FixMyStreet/App/Controller/Admin.pm:377
#: templates/web/base/admin/bodies.html:4 templates/web/base/admin/body.html:11
msgid "Please correct the errors below"
msgstr "Por favor, corrija los errores a continuación"
-#: templates/web/base/contact/blurb.html:12
+#: templates/web/base/contact/blurb.html:6
msgid ""
"Please do <strong>not</strong> report problems through this form; messages go to\n"
"the team behind this site, not a council. To report a problem,\n"
@@ -2516,18 +2531,18 @@ msgstr ""
msgid "Please do not be abusive&nbsp;&mdash; abusing your council devalues the service for all users."
msgstr "Por favor notifique incidencias relevantes y no abuse; abusando de su ayuntamiento degrada su capacidad de servicio a toda la ciudadanía."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:351
-#: perllib/FixMyStreet/DB/Result/Comment.pm:127
+#: perllib/FixMyStreet/App/Controller/Admin.pm:330
+#: perllib/FixMyStreet/DB/Result/Comment.pm:128
#: templates/web/base/js/translation_strings.html:2
msgid "Please enter a message"
msgstr "Por favor escriba su mensaje."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1200
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1364
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1305
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1469
msgid "Please enter a name"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:478
+#: perllib/FixMyStreet/App/Controller/Admin.pm:497
msgid "Please enter a name for this body"
msgstr ""
@@ -2537,15 +2552,15 @@ msgstr ""
msgid "Please enter a password"
msgstr "Por favor, introduzca una contraseña"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:114
-#: perllib/FixMyStreet/DB/Result/Problem.pm:439
+#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/DB/Result/Problem.pm:366
#: templates/web/base/js/translation_strings.html:3
msgid "Please enter a subject"
msgstr "Por favor, introduzca un título"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1197
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1361
-#: perllib/FixMyStreet/App/Controller/Admin.pm:363
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1302
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1466
+#: perllib/FixMyStreet/App/Controller/Admin.pm:343
#: perllib/FixMyStreet/DB/Result/User.pm:164
#: templates/web/base/js/translation_strings.html:12
#: templates/web/base/js/translation_strings.html:16
@@ -2553,21 +2568,21 @@ msgid "Please enter a valid email"
msgstr "Por favor, introduce una dirección de email válida"
#: perllib/FixMyStreet/App/Controller/Alert.pm:350
-#: perllib/FixMyStreet/App/Controller/Contact.pm:124
+#: perllib/FixMyStreet/App/Controller/Contact.pm:125
msgid "Please enter a valid email address"
msgstr "Por favor, introduce una dirección de email válida"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:442
+#: perllib/FixMyStreet/DB/Result/Problem.pm:369
#: templates/web/base/js/translation_strings.html:4
msgid "Please enter some details"
msgstr "Por favor, describa los detalles más relevantes"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/App/Controller/Contact.pm:114
#: perllib/FixMyStreet/DB/Result/User.pm:161
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:17
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:42
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:44
#: templates/web/base/js/translation_strings.html:11
#: templates/web/base/js/translation_strings.html:15
#: templates/web/zurich/auth/general.html:3
@@ -2584,14 +2599,14 @@ msgstr "Por favor introduzca su email"
msgid "Please enter your first name"
msgstr "Por favor, indique su nombre"
-#: perllib/FixMyStreet/Cobrand/UK.pm:320
+#: perllib/FixMyStreet/Cobrand/UK.pm:326
#: templates/web/base/js/translation_strings.html:7
msgid "Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below"
msgstr "Por favor escriba su nombre completo, ya que los ayuntamientos necesitan esta información. Si usted NO desea que su nombre aparecerá en la página, desactive la casilla de abajo"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:112
-#: perllib/FixMyStreet/DB/Result/Comment.pm:124
-#: perllib/FixMyStreet/DB/Result/Problem.pm:450
+#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/DB/Result/Comment.pm:125
+#: perllib/FixMyStreet/DB/Result/Problem.pm:377
#: perllib/FixMyStreet/DB/Result/User.pm:157
#: templates/web/base/js/translation_strings.html:6
msgid "Please enter your name"
@@ -2654,7 +2669,7 @@ msgstr ""
msgid "Please note:"
msgstr "Por favor, tenga en cuenta:"
-#: perllib/FixMyStreet/App/Controller/Report.pm:358
+#: perllib/FixMyStreet/App/Controller/Report.pm:353
msgid "Please provide a public update for this report."
msgstr ""
@@ -2690,11 +2705,11 @@ msgstr "Por favor, indique si el problema se ha solucionado"
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:122
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:156
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:158
-#: templates/web/base/js/translation_strings.html:57
+#: templates/web/base/js/translation_strings.html:60
msgid "Please upload an image only"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/App/Controller/Contact.pm:116
msgid "Please write a message"
msgstr "Por favor, escriba un mensaje"
@@ -2702,30 +2717,29 @@ msgstr "Por favor, escriba un mensaje"
msgid "Please write your update here"
msgstr "Por favor, escriba su actualización aquí"
-#: templates/web/base/contact/index.html:103
#: templates/web/base/report/update-form.html:25
#: templates/web/base/report/update/form_user_loggedout_by_email.html:14
#: templates/web/base/report/update/form_user_loggedout_password.html:10
msgid "Post"
msgstr "Publicar"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:242
+#: perllib/FixMyStreet/DB/Result/Comment.pm:231
msgid "Posted anonymously at %s"
msgstr "Publicado de forma anónima - %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:257
+#: perllib/FixMyStreet/DB/Result/Comment.pm:255
msgid "Posted by %s at %s"
msgstr "Publicado por %s - %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:252
+#: perllib/FixMyStreet/DB/Result/Comment.pm:243
msgid "Posted by <strong>%s</strong> (%s) at %s"
msgstr "Publicado por <strong>%s</strong> (%s) - %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:254
+#: perllib/FixMyStreet/DB/Result/Comment.pm:245
msgid "Posted by <strong>%s</strong> at %s"
msgstr "Publicado por <strong>%s</strong> - %s"
-#: templates/web/base/front/footer-marketing.html:12
+#: templates/web/base/front/footer-marketing.html:6
msgid "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
msgstr ""
@@ -2737,8 +2751,8 @@ msgstr "Previo"
msgid "Priorities"
msgstr ""
-#: templates/web/base/report/_inspect.html:113
-#: templates/web/base/report/_item.html:98
+#: templates/web/base/report/_inspect.html:123
+#: templates/web/base/report/_item.html:100
msgid "Priority"
msgstr ""
@@ -2752,16 +2766,15 @@ msgstr "Privacidad"
msgid "Privacy and cookies"
msgstr ""
-#: templates/web/base/admin/body.html:91
-#: templates/web/base/admin/contact-form.html:74
-#: templates/web/base/admin/report_edit.html:149
+#: templates/web/base/admin/body.html:88
+#: templates/web/base/admin/contact-form.html:75
+#: templates/web/base/admin/report_edit.html:137
msgid "Private"
msgstr "Privado"
#: templates/web/base/report/new/form_user.html:1
-#, fuzzy
msgid "Private details"
-msgstr "Privado"
+msgstr ""
#: templates/web/base/maps/pin.html:13
msgid "Problem"
@@ -2785,7 +2798,7 @@ msgstr "Problema %s enviado al Ayuntamiento %s"
msgid "Problem breakdown by state"
msgstr "Desglose de problemas según estado"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1167
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1272
msgid "Problem marked as open."
msgstr "Problema marcado como abierto."
@@ -2793,11 +2806,16 @@ msgstr "Problema marcado como abierto."
msgid "Problem state change based on survey results"
msgstr "El estado del problema cambió debido a los resultados de la encuesta"
-#: perllib/FixMyStreet/Cobrand/Default.pm:705
+#: perllib/FixMyStreet/Cobrand/Default.pm:709
#: templates/web/base/admin/flagged.html:10
msgid "Problems"
msgstr "Problemas"
+#: templates/web/base/alert/_list.html:22
+#, fuzzy
+msgid "Problems in an area"
+msgstr "Problemas en el barrio %s"
+
#: templates/web/base/report/display_tools.html:22
msgid "Problems nearby"
msgstr "Problemas cercanos"
@@ -2810,30 +2828,33 @@ msgstr "Problemas en el mapa"
msgid "Problems recently reported fixed on FixMyStreet"
msgstr "Problemas recientemente notificados como arreglados en FixMyStreet"
-#: templates/web/base/alert/_list.html:22
-msgid "Problems within %.1fkm of this location"
+#: templates/web/base/alert/_list.html:29
+#, fuzzy
+msgid "Problems within %.1fkm of %s"
msgstr "Problemas en %.1fkm alrededor"
-#: perllib/FixMyStreet/Cobrand/Default.pm:833
+#: perllib/FixMyStreet/Cobrand/Default.pm:838
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:137
-#: perllib/FixMyStreet/Cobrand/UK.pm:209
+#: perllib/FixMyStreet/Cobrand/UK.pm:215 perllib/FixMyStreet/Cobrand/UK.pm:257
+#: perllib/FixMyStreet/Cobrand/UK.pm:269
msgid "Problems within %s"
msgstr "Problemas en %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:223
+#: perllib/FixMyStreet/Cobrand/UK.pm:229
msgid "Problems within %s ward"
msgstr "Problemas en el barrio %s"
+#: perllib/FixMyStreet/Cobrand/UK.pm:263 perllib/FixMyStreet/Cobrand/UK.pm:275
+#, fuzzy
+msgid "Problems within %s ward, %s"
+msgstr "Problemas en el barrio %s"
+
#. ("First %s is the body name, second %s the site name")
#: templates/web/base/reports/body.html:0
#: templates/web/base/reports/body.html:25
msgid "Problems within %s, %s"
msgstr ""
-#: templates/web/base/alert/_list.html:43
-msgid "Problems within the boundary of:"
-msgstr "Problemas en:"
-
#: templates/web/base/admin/report_edit.html:74
msgid "Property address:"
msgstr "Dirección de la propiedad:"
@@ -2843,11 +2864,11 @@ msgstr "Dirección de la propiedad:"
msgid "Provide an update"
msgstr "Proporcionar una actualización"
-#: templates/web/base/report/update/form_name.html:9
+#: templates/web/base/report/update/form_name.html:10
msgid "Provide update as"
msgstr ""
-#: templates/web/base/auth/general.html:112
+#: templates/web/base/auth/general.html:114
msgid "Providing a name and password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
msgstr "Proporcionar un nombre y una contraseña es opcional, pero hacerlo le permitirá notificar y actualizar los problemas más fácilmente, así como administrar sus informes."
@@ -2857,16 +2878,15 @@ msgid "Providing a password is optional, but doing so will allow you to more eas
msgstr "Proporcionar una contraseña es opcional, pero hacerlo le permitirá notificar y actualizar los problemas más fácilmente, así como administrar sus informes."
#: templates/web/base/report/new/form_report.html:10
-#, fuzzy
msgid "Public details"
-msgstr "Respuesta del público:"
+msgstr ""
#: templates/web/zurich/admin/report_edit.html:241
#: templates/web/zurich/admin/report_edit.html:268
msgid "Public response:"
msgstr "Respuesta del público:"
-#: templates/web/base/report/_inspect.html:152
+#: templates/web/base/report/_inspect.html:162
msgid "Public update:"
msgstr ""
@@ -2894,7 +2914,7 @@ msgstr "Cuestionario %d enviado para el problema %d"
msgid "Questionnaire filled in by problem reporter"
msgstr "Cuestionario cumplimentado por el notificador problema"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
#: templates/web/base/alert/updates.html:9
#: templates/web/base/around/display_location.html:1
#: templates/web/base/around/display_location.html:3
@@ -2902,11 +2922,11 @@ msgstr "Cuestionario cumplimentado por el notificador problema"
msgid "RSS feed"
msgstr "Listado RSS"
-#: perllib/FixMyStreet/Cobrand/UK.pm:252 perllib/FixMyStreet/Cobrand/UK.pm:264
+#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
msgid "RSS feed for %s"
msgstr "Listado RSS para %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
+#: perllib/FixMyStreet/Cobrand/UK.pm:264 perllib/FixMyStreet/Cobrand/UK.pm:276
msgid "RSS feed for %s ward, %s"
msgstr "Listado RSS para %s del barrio, %s"
@@ -2914,25 +2934,25 @@ msgstr "Listado RSS para %s del barrio, %s"
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:179
-#: perllib/FixMyStreet/Cobrand/UK.pm:278 perllib/FixMyStreet/Cobrand/UK.pm:290
+#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
msgid "RSS feed of %s"
msgstr "Listado RSS para %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
msgid "RSS feed of %s, within %s ward"
msgstr "Listado RSS para %s, en el barrio %s"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
msgid "RSS feed of nearby problems"
msgstr "Listado RSS de los problemas cercanos"
-#: perllib/FixMyStreet/Cobrand/Default.pm:834
+#: perllib/FixMyStreet/Cobrand/Default.pm:839
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:136
-#: perllib/FixMyStreet/Cobrand/UK.pm:216
+#: perllib/FixMyStreet/Cobrand/UK.pm:222
msgid "RSS feed of problems within %s"
msgstr "Listado RSS de los problemas dentro de %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:222
+#: perllib/FixMyStreet/Cobrand/UK.pm:228
msgid "RSS feed of problems within %s ward"
msgstr "Listado RSS de los problemas dentro del barrio %s"
@@ -2951,7 +2971,7 @@ msgstr "Listado RSS de actualizaciones sobre este problema"
msgid "Receive email when updates are left on this problem."
msgstr "Reciba un correo cuando se dejen actualizaciones sobre este problema."
-#: perllib/FixMyStreet/DB/Result/Problem.pm:801
+#: perllib/FixMyStreet/DB/Result/Problem.pm:738
msgid "Received by %s moments later"
msgstr ""
@@ -2961,15 +2981,11 @@ msgstr ""
msgid "Recent local problems, %s"
msgstr ""
-#: templates/web/base/reports/index.html:27
-msgid "Recently <br>fixed"
-msgstr "Recientemente <br>arreglado"
-
#: templates/web/base/front/recent.html:11
msgid "Recently reported problems"
msgstr "Problemas recientemente notificados"
-#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:60
msgid "Recently updated"
msgstr ""
@@ -2977,13 +2993,23 @@ msgstr ""
msgid "Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. If your problem is not appropriate for submission via this site remember that you can contact your council directly using their own website."
msgstr "Recuerde que FixMyStreet es principalmente para informar sobre problemas físicos que pueden ser arreglados. Si su problema no es apropiado para ser presentado a través de este sitio recuerde que puede ponerse en contacto con su Ayuntamiento directamente mediante su página web."
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/extra-metadata-form.html:68
+#, fuzzy
+msgid "Remove"
+msgstr "Eliminar marca"
+
+#: templates/web/base/admin/extra-metadata-form.html:4
+#, fuzzy
+msgid "Remove field"
+msgstr "Eliminar marca"
+
+#: templates/web/base/admin/report_blocks.html:23
msgid "Remove flag"
msgstr "Eliminar marca"
#: templates/web/base/report/_item.html:12
#: templates/web/base/report/_item.html:9
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:18
#: templates/web/base/report/_main.html:26
msgid "Remove from shortlist"
@@ -2993,7 +3019,7 @@ msgstr ""
msgid "Remove from site"
msgstr ""
-#: templates/web/base/admin/report_edit.html:166
+#: templates/web/base/admin/report_edit.html:154
#: templates/web/base/admin/update_edit.html:69
#: templates/web/zurich/admin/update_edit.html:35
msgid "Remove photo (can't be undone!)"
@@ -3007,13 +3033,13 @@ msgstr ""
msgid "Report"
msgstr "Notificar"
-#: templates/web/base/report/_inspect.html:10
-#: templates/web/base/report/_item.html:76
+#: templates/web/base/report/_inspect.html:14
+#: templates/web/base/report/_item.html:78
msgid "Report ID:"
msgstr ""
#: templates/web/base/header_logo.html:2
-#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:19
+#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:18
#: templates/web/zurich/nav_over_content.html:4
msgid "Report a problem"
msgstr "Notificar un problema"
@@ -3023,7 +3049,7 @@ msgstr "Notificar un problema"
msgid "Report abuse"
msgstr "Denunciar abuso"
-#: templates/web/base/report/new/form_user_loggedin.html:16
+#: templates/web/base/report/new/form_user_loggedin.html:17
msgid "Report as"
msgstr ""
@@ -3032,9 +3058,8 @@ msgid "Report on %s"
msgstr "Notificar sobre %s"
#: templates/web/base/dashboard/index.html:137
-#, fuzzy
msgid "Report state:"
-msgstr "Denunciar abuso"
+msgstr ""
#: templates/web/base/report/new/fill_in_details_form.html:1
#: templates/web/base/report/new/login_success_form.html:1
@@ -3047,7 +3072,7 @@ msgstr "Notifique su incidencia"
msgid "Report, view, or discuss local problems"
msgstr "Notifique, consulte o discuta problemas locales"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:653
+#: perllib/FixMyStreet/DB/Result/Problem.pm:590
#: templates/web/base/contact/index.html:55
msgid "Reported anonymously at %s"
msgstr "Notificado anónimamente en %s"
@@ -3057,7 +3082,7 @@ msgstr "Notificado anónimamente en %s"
msgid "Reported before"
msgstr "Notificado con anterioridad"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:677
+#: perllib/FixMyStreet/DB/Result/Problem.pm:614
#: templates/web/base/contact/index.html:57
msgid "Reported by %s at %s"
msgstr "Notificado por %s en %s"
@@ -3071,34 +3096,30 @@ msgstr ""
msgid "Reported in the %s category"
msgstr "Notificado en la categoría %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:650
+#: perllib/FixMyStreet/DB/Result/Problem.pm:587
msgid "Reported in the %s category anonymously at %s"
msgstr "Notificado anónimamente en la categoría %s en %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:611
msgid "Reported in the %s category by %s at %s"
msgstr "Notificado en la categoría %s por %s en %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:647
+#: perllib/FixMyStreet/DB/Result/Problem.pm:584
msgid "Reported via %s anonymously at %s"
msgstr "Notificado anónimamente vía %s en %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:671
+#: perllib/FixMyStreet/DB/Result/Problem.pm:608
msgid "Reported via %s by %s at %s"
msgstr "Notificado vía %s por %s en %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:644
+#: perllib/FixMyStreet/DB/Result/Problem.pm:581
msgid "Reported via %s in the %s category anonymously at %s"
msgstr "Notificado anónimamente vía %s en la categoría %s en %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:666
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
msgid "Reported via %s in the %s category by %s at %s"
msgstr "Notificado vía %s en la categoría %s por %s en %s"
-#: templates/web/base/reports/index.html:24
-msgid "Reported within the last four weeks"
-msgstr "Notificado en las últimas cuatro semanas"
-
#: templates/web/zurich/admin/report_edit-sdm.html:38
#: templates/web/zurich/admin/report_edit.html:57
msgid "Reported:"
@@ -3114,13 +3135,13 @@ msgid "Reporting a problem"
msgstr "Notificando un problema"
#: perllib/FixMyStreet/Cobrand/Default.pm:655
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:383
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:388
#: templates/web/base/dashboard/index.html:134
#: templates/web/zurich/header.html:52
msgid "Reports"
msgstr "Notificaciones"
-#: perllib/FixMyStreet/Cobrand/UK.pm:329 perllib/FixMyStreet/Cobrand/UK.pm:333
+#: perllib/FixMyStreet/Cobrand/UK.pm:333 perllib/FixMyStreet/Cobrand/UK.pm:335
msgid "Reports are limited to %s characters in length. Please shorten your report"
msgstr "Las notificaciones tienen una longitud máxima de %s. Por favor, acorte su notificación."
@@ -3128,31 +3149,53 @@ msgstr "Las notificaciones tienen una longitud máxima de %s. Por favor, acorte
msgid "Reports awaiting approval"
msgstr "Informes en espera de aprobación"
+#: templates/web/base/alert/_list.html:54
+#, fuzzy
+msgid "Reports by destination"
+msgstr "Notificado por %s en %s"
+
#: templates/web/base/admin/user-form.html:107
msgid "Reports made by trusted users will be sent to the responsible body without being inspected first."
msgstr ""
+#: templates/web/base/alert/_list.html:15
+msgid "Reports near %s are sent to different councils, depending on the type of problem."
+msgstr ""
+
#: templates/web/zurich/admin/index-sdm.html:10
msgid "Reports published"
msgstr "Notificaciones publicadas"
-#: templates/web/base/js/translation_strings.html:68
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:71
msgid "Reports saved offline."
-msgstr "Notificar un problema"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#, fuzzy
+msgid "Reports sent to %s"
+msgstr "Notificar sobre %s"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:290 perllib/FixMyStreet/Cobrand/UK.pm:302
+#, fuzzy
+msgid "Reports sent to %s, within %s ward"
+msgstr "Listado RSS para %s, en el barrio %s"
#: templates/web/base/admin/index.html:56
msgid "Reports waiting to be sent"
msgstr ""
-#: templates/web/base/admin/contact-form.html:89
+#: templates/web/base/admin/contact-form.html:90
msgid "Reports will automatically be sent without needing to be inspected if the user's <strong>reputation</strong> is at or above this value. Set to <strong>0</strong> if all reports must be inspected regardless."
msgstr ""
-#: templates/web/base/admin/contact-form.html:94
+#: templates/web/base/admin/contact-form.html:95
msgid "Reputation threshold"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:20
+msgid "Required"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:84
msgid "Resend report"
msgstr "Vuelva a enviar la notificación"
@@ -3188,7 +3231,7 @@ msgstr ""
msgid "Revert to original"
msgstr ""
-#: templates/web/base/report/_main.html:95
+#: templates/web/base/report/_main.html:99
msgid "Revert to original text"
msgstr ""
@@ -3211,16 +3254,16 @@ msgstr "Operador responsable de este camino (derivado del número de referencia
msgid "Road operator for this named road (from OpenStreetMap): %s"
msgstr "Operador responsable de este camino (de OpenStreetMap): %s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1747
-#: templates/web/base/admin/report_edit.html:163
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1852
+#: templates/web/base/admin/report_edit.html:151
#: templates/web/base/admin/update_edit.html:66
#: templates/web/zurich/admin/report_edit.html:118
msgid "Rotate Left"
msgstr "Rotar a la izquierda"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: templates/web/base/admin/report_edit.html:164
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: templates/web/base/admin/report_edit.html:152
#: templates/web/base/admin/update_edit.html:67
#: templates/web/zurich/admin/report_edit.html:119
msgid "Rotate Right"
@@ -3235,33 +3278,41 @@ msgstr ""
msgid "Satellite"
msgstr "Satélite"
-#: templates/web/base/report/_inspect.html:168
-#, fuzzy
+#: templates/web/base/report/_inspect.html:182
msgid "Save + close as duplicate"
-msgstr "marcado como un informe duplicado"
+msgstr ""
-#: templates/web/base/admin/contact-form.html:137
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/contact-form.html:138
+#: templates/web/base/admin/reportextrafields/edit.html:64
+#: templates/web/base/admin/responsepriorities/edit.html:58
#: templates/web/base/admin/template_edit.html:46
-#: templates/web/base/report/_inspect.html:168
-#: templates/web/base/report/_main.html:113
-#: templates/web/base/report/update.html:60
+#: templates/web/base/report/_inspect.html:182
+#: templates/web/base/report/_main.html:117
+#: templates/web/base/report/update.html:69
#: templates/web/zurich/admin/body.html:62
-#: templates/web/zurich/admin/contact-form.html:20
+#: templates/web/zurich/admin/contact-form.html:22
#: templates/web/zurich/admin/template_edit.html:29
msgid "Save changes"
msgstr "Guardar cambios"
-#: templates/web/base/report/_inspect.html:148
+#: templates/web/base/admin/reportextrafields/edit.html:64
+msgid "Save new fields"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:158
msgid "Save with a public update"
msgstr ""
-#. ('This is followed by a progress count, e.g. 3/5')
#. ("This is followed by a progress count, e.g. 3/5")
-#: templates/web/base/js/translation_strings.html:69
+#: templates/web/base/js/translation_strings.html:72
msgid "Saving reports offline"
msgstr ""
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:132
+#, fuzzy
+msgid "Scheduled"
+msgstr "Acción programada"
+
#: templates/web/base/admin/index.html:26
#: templates/web/base/admin/reports.html:1
#: templates/web/zurich/admin/reports.html:1
@@ -3295,41 +3346,41 @@ msgstr "La búsqueda no encontró usuarios."
msgid "See our privacy policy"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:715
+#: perllib/FixMyStreet/Cobrand/Default.pm:720
msgid "See user detail for reports created as the council"
msgstr ""
-#: templates/web/base/admin/body-form.html:39
+#: templates/web/base/admin/body-form.html:41
#: templates/web/zurich/admin/body-form.html:16
msgid "Select a body"
msgstr "Selecciona un órgano administrativo"
-#: templates/web/base/reports/index.html:12
-msgid "Select a particular council to see the reports sent there."
-msgstr "Seleccione un ayuntamiento para ver los informes que se le han enviado."
-
-#: templates/web/base/admin/body-form.html:77
+#: templates/web/base/admin/body-form.html:79
#: templates/web/zurich/admin/body-form.html:26
msgid "Select an area"
msgstr "Seleccione un área"
-#: templates/web/base/alert/_list.html:11
-msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
+#: templates/web/base/admin/responsepriorities/edit.html:33
+msgid "Select if this is the default priority"
msgstr ""
#: templates/web/base/admin/category-checkboxes.html:6
msgid "Select:"
msgstr ""
+#: templates/web/base/contact/index.html:107
+msgid "Send"
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:109
msgid "Send extended Open311 statuses with service request updates"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:826
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:831
msgid "Sent report back"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:804
+#: perllib/FixMyStreet/DB/Result/Problem.pm:741
msgid "Sent to %s %s later"
msgstr "Enviado a %s %s después"
@@ -3342,7 +3393,7 @@ msgstr "Enviado:"
msgid "Service:"
msgstr "Servicio:"
-#: templates/web/base/report/_inspect.html:31
+#: templates/web/base/report/_inspect.html:41
msgid "Set to my current location"
msgstr ""
@@ -3351,49 +3402,56 @@ msgid "Share"
msgstr "Compartir"
#: templates/web/base/main_nav_items.html:10
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:21
#: templates/web/base/report/_main.html:29
msgid "Shortlist"
msgstr ""
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/reports/body.html:32
+msgid "Shortlist all visible"
+msgstr ""
+
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:20
#: templates/web/base/report/_main.html:25
#: templates/web/base/reports/_list-filters.html:9
msgid "Shortlisted"
msgstr ""
-#: templates/web/base/report/_main.html:144
+#: templates/web/base/report/_item.html:15
+#: templates/web/base/report/_main.html:148
msgid "Shortlisted by %s"
msgstr ""
#: templates/web/base/report/update.html:20
-#, fuzzy
msgid "Show Photo?"
-msgstr "Mostrar antiguos"
+msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:54
+#: templates/web/base/questionnaire/index.html:26
+msgid "Show all updates"
+msgstr ""
+
+#: templates/web/base/report/new/form_user_loggedin.html:56
#: templates/web/base/report/new/form_user_loggedout_by_email.html:22
-#: templates/web/base/report/update/form_name.html:33
+#: templates/web/base/report/update/form_name.html:37
msgid "Show my name publicly"
msgstr "Mostrar mi nombre públicamente"
#: templates/web/base/report/update.html:17
-#, fuzzy
msgid "Show name publicly?"
-msgstr "Mostrar mi nombre públicamente"
+msgstr ""
#: templates/web/base/around/display_location.html:69
msgid "Show old"
msgstr "Mostrar antiguos"
-#: templates/web/base/report/_main.html:79
-#, fuzzy
+#: templates/web/base/report/_main.html:83
msgid "Show photo"
-msgstr "Mostrar antiguos"
+msgstr ""
#: templates/web/base/around/display_location.html:60
+#: templates/web/base/js/translation_strings.html:54
msgid "Show pins"
msgstr "Mostrar marcadores"
@@ -3401,16 +3459,20 @@ msgstr "Mostrar marcadores"
msgid "Show reporter&rsquo;s name"
msgstr ""
-#: templates/web/base/auth/general.html:117
+#: templates/web/base/reports/index.html:62
+msgid "Show reports in your area"
+msgstr ""
+
+#: templates/web/base/auth/general.html:119
#: templates/web/base/auth/general.html:3
-#: templates/web/base/auth/general.html:86
+#: templates/web/base/auth/general.html:88
#: templates/web/base/main_nav_items.html:6
#: templates/web/zurich/auth/general.html:18
#: templates/web/zurich/auth/general.html:35
msgid "Sign in"
msgstr "Iniciar sesión"
-#: templates/web/base/auth/general.html:96
+#: templates/web/base/auth/general.html:98
msgid "Sign in by email instead, providing a new password. When you click the link in your email, your password will be updated."
msgstr ""
@@ -3458,14 +3520,14 @@ msgstr ""
msgid "Sorry, there has been an error confirming your problem."
msgstr "Lo sentimos, hubo un error confirmando su notificación."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:230
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:235
#: perllib/FixMyStreet/Geocode.pm:37 perllib/FixMyStreet/Geocode/Bing.pm:38
#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:56
#: perllib/FixMyStreet/Geocode/OSM.pm:48
msgid "Sorry, we could not find that location."
msgstr "Lo sentimos, no hemos podido encontrar ese lugar."
-#: templates/web/base/auth/general.html:9
+#: templates/web/base/auth/general.html:11
#: templates/web/base/report/display.html:29
#: templates/web/base/report/new/fill_in_details_form.html:15
msgid "Sorry, we could not log you in. Please fill in the form below."
@@ -3487,11 +3549,11 @@ msgid ""
"page wasn’t found or there was a server error. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Root.pm:107
+#: perllib/FixMyStreet/App/Controller/Root.pm:124
msgid "Sorry, you don't have permission to do that."
msgstr ""
-#: templates/web/base/reports/_list-filters.html:42
+#: templates/web/base/reports/_list-filters.html:53
msgid "Sort by"
msgstr ""
@@ -3508,17 +3570,25 @@ msgid "Start Date:"
msgstr "Fecha de inicio:"
#: templates/web/base/admin/body.html:73
+#: templates/web/base/admin/category_edit.html:29
+#: templates/web/base/admin/contact-form.html:53
#: templates/web/base/admin/flagged.html:18
#: templates/web/base/admin/index.html:64
#: templates/web/base/admin/list_updates.html:11
#: templates/web/base/admin/reports.html:16
#: templates/web/base/admin/template_edit.html:40
-#: templates/web/base/report/_inspect.html:83
-#: templates/web/base/report/_item.html:94
+#: templates/web/base/report/_inspect.html:82
+#: templates/web/base/report/_item.html:96
#: templates/web/base/report/update/form_update.html:39
+#: templates/web/zurich/admin/contact-form.html:10
msgid "State"
msgstr "Estado"
+#: templates/web/base/report/update.html:48
+#, fuzzy
+msgid "State changed to:"
+msgstr "Guardar cambios"
+
#: templates/web/base/admin/report_edit.html:116
#: templates/web/base/admin/update_edit.html:28
#: templates/web/zurich/admin/report_edit-sdm.html:75
@@ -3528,8 +3598,14 @@ msgstr "Estado"
msgid "State:"
msgstr "Estado/Prov.:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:640
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:386
+#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: templates/web/base/admin/states/index.html:1
+#, fuzzy
+msgid "States"
+msgstr "Estado"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
#: templates/web/base/admin/index.html:71 templates/web/base/admin/stats.html:1
#: templates/web/base/admin/stats_by_state.html:1
#: templates/web/zurich/admin/stats.html:1 templates/web/zurich/header.html:65
@@ -3551,6 +3627,10 @@ msgstr "Sigue abierta, a través de cuestionario, %s"
msgid "Street View"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:46
+msgid "String"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:192
msgid "Subcategory: %s"
msgstr "Subcategoria: %s"
@@ -3559,7 +3639,7 @@ msgstr "Subcategoria: %s"
msgid "Subdivision/Body"
msgstr "Subdivisión/Órgano"
-#: templates/web/base/contact/index.html:88
+#: templates/web/base/contact/index.html:92
msgid "Subject"
msgstr "Título"
@@ -3569,14 +3649,14 @@ msgid "Subject:"
msgstr "Título:"
#: templates/web/base/questionnaire/creator_fixed.html:19
-#: templates/web/base/report/new/form_user_loggedin.html:61
+#: templates/web/base/report/new/form_user_loggedin.html:63
#: templates/web/base/report/new/form_user_loggedout_by_email.html:36
#: templates/web/base/report/new/form_user_loggedout_password.html:11
#: templates/web/zurich/report/new/fill_in_details_form.html:73
msgid "Submit"
msgstr "Enviar"
-#: templates/web/base/admin/report_edit.html:174
+#: templates/web/base/admin/report_edit.html:162
#: templates/web/base/admin/report_edit.html:24
#: templates/web/base/admin/update_edit.html:77
#: templates/web/base/admin/user-form.html:170
@@ -3590,8 +3670,8 @@ msgstr "Enviar cambios"
msgid "Submit questionnaire"
msgstr "Enviar cuestionario"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:164
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:893
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:898
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:6
#: templates/web/zurich/admin/index-dm.html:23
@@ -3601,36 +3681,38 @@ msgstr "Enviar cuestionario"
msgid "Submitted"
msgstr "Enviado"
+#: templates/web/base/alert/_list.html:77
+#: templates/web/base/alert/_list.html:80
#: templates/web/base/alert/updates.html:23
#: templates/web/base/report/display_tools.html:51
msgid "Subscribe"
msgstr "Suscribirse"
-#: templates/web/base/alert/_list.html:93
-msgid "Subscribe me to an email alert"
+#: templates/web/base/alert/_list.html:72
+#, fuzzy
+msgid "Subscribe by email"
msgstr "Suscríbeme a alertas por email"
#: templates/web/base/report/new/form_report.html:19
msgid "Summarise the problem"
msgstr ""
-#: templates/web/base/admin/contact-form.html:129
+#: templates/web/base/admin/contact-form.html:130
msgid "Summarise your changes"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:638
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:382
+#: perllib/FixMyStreet/Cobrand/Default.pm:637
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:387
#: templates/web/base/admin/bodies.html:29
#: templates/web/base/admin/index.html:1 templates/web/base/status/index.html:1
#: templates/web/base/status/index.html:3
#: templates/web/zurich/admin/index-dm.html:1
#: templates/web/zurich/admin/index-sdm.html:1
-#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:13
+#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:12
#: templates/web/zurich/header.html:49
msgid "Summary"
msgstr "Resumen"
-#: templates/web/base/reports/index.html:4
#: templates/web/zurich/reports/index.html:0
#: templates/web/zurich/reports/index.html:4
msgid "Summary reports"
@@ -3654,7 +3736,7 @@ msgid "Template &laquo;%s&raquo;"
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:661
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:393
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
#: templates/web/zurich/header.html:69
msgid "Templates"
msgstr ""
@@ -3683,7 +3765,7 @@ msgstr "¡Gracias por notificar esta incidencia!"
msgid "Thank you for trying to confirm your update or problem. We seem to have an error ourselves though, so <a href=\"%s\">please let us know what went on</a> and we'll look into it."
msgstr "Gracias por tratar de confirmar la actualización o problema. Parece que tenemos un error interno, así que <a href=\"%s\"> por favor, háganos saber lo que pasó </a> y echaremos un vistazo."
-#: templates/web/base/tokens/confirm_update.html:15
+#: templates/web/base/tokens/confirm_update.html:16
msgid "Thank you for updating this issue!"
msgstr "Gracias por actualizar esta incidencia!"
@@ -3711,7 +3793,7 @@ msgstr "La imagen no ha cargado correctamente (%s), por favor inténtelo de nuev
msgid "That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again."
msgstr "Esa localización no parece estar cubierta por un ayuntamiento, tal vez esté en alta mar o fuera del país. Por favor, inténtelo de nuevo."
-#: perllib/FixMyStreet/App/Controller/Location.pm:129
+#: perllib/FixMyStreet/App/Controller/Location.pm:127
msgid "That location does not appear to be in the UK; please try again."
msgstr "Esa localización no parece ser de UK, por favor inténtelo de nuevo."
@@ -3721,23 +3803,23 @@ msgstr "Esa localización no parece ser de UK, por favor inténtelo de nuevo."
msgid "That postcode was not recognised, sorry."
msgstr "Ese código postal no fue reconocido, lo siento."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:762
+#: perllib/FixMyStreet/App/Controller/Admin.pm:850
msgid "That problem has been marked as sent."
msgstr "El problema se ha marcado como enviado."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:755
+#: perllib/FixMyStreet/App/Controller/Admin.pm:843
msgid "That problem will now be resent."
msgstr "El problema ahora será reenviado."
-#: perllib/FixMyStreet/App/Controller/Report.pm:137
+#: perllib/FixMyStreet/App/Controller/Report.pm:134
msgid "That report cannot be viewed on %s."
msgstr "Esa notificación no se puede ver en %s."
-#: perllib/FixMyStreet/App/Controller/Report.pm:131
+#: perllib/FixMyStreet/App/Controller/Report.pm:128
msgid "That report has been removed from FixMyStreet."
msgstr "Esa notificación ha sido eliminada de FixMyStreet."
-#: templates/web/base/admin/contact-form.html:25
+#: templates/web/base/admin/contact-form.html:27
msgid ""
"The <strong>email address</strong> is the destination to which reports about this category will be sent. \n"
" Other categories for this body may have the same email address."
@@ -3761,10 +3843,10 @@ msgid ""
" than one. If the body is running its own endpoint, you can usually leave this blank."
msgstr "La <strong>jurisdicción</strong> solo es necesaria si los límites incluyen a más de un municipio. Si el organismo administrativo funciona solo con sus propios límites puede dejar en blanco esto."
-#: templates/web/base/admin/body-form.html:100
-#: templates/web/base/admin/body-form.html:101
-#: templates/web/base/admin/contact-form.html:103
+#: templates/web/base/admin/body-form.html:102
+#: templates/web/base/admin/body-form.html:103
#: templates/web/base/admin/contact-form.html:104
+#: templates/web/base/admin/contact-form.html:105
msgid ""
"The <strong>send method</strong> determines how problem reports will be sent to the body.\n"
" If you leave this blank, <strong>send method defaults to email</strong>."
@@ -3785,6 +3867,10 @@ msgstr ""
"El <strong>nombre</strong> del organismo identifica al propio organismo administrativo (por ejemplo, <em>Ayuntamiento de Elche</em>)\n"
"y puede ser mostrado públicamente. "
+#: templates/web/base/admin/extra-metadata-form.html:12
+msgid "The code used to store this field value in the database. e.g. <code>address</code> would be available as <code>problem.extra.address</code> in the templates."
+msgstr ""
+
#: templates/web/base/report/new/fill_in_details_text.html:1
#: templates/web/base/report/new/fill_in_details_text.html:3
msgid "The council won&rsquo;t be able to help unless you leave as much detail as you can. Please describe the exact location of the problem (e.g. on a wall), what it is, how long it has been there, a description (and a photo of the problem if you have one), etc."
@@ -3795,11 +3881,15 @@ msgstr "El ayuntamiento necesita la mayor cantidad de detalles posibles para ate
msgid "The diligency prize league table shows editors' activity (who's been editing the most records)."
msgstr "Los premios a la responsabilidad muestran la actividad de los editores (quién ha editado más registros)."
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:61
-#: perllib/FixMyStreet/App/Controller/Reports.pm:82
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:63
+#: perllib/FixMyStreet/App/Controller/Reports.pm:103
msgid "The error was: %s"
msgstr "El error fue: %s"
+#: templates/web/base/admin/extra-metadata-form.html:30
+msgid "The field name as shown to the user on the report form."
+msgstr ""
+
#: templates/web/base/open311/index.html:78
msgid "The following Open311 v2 attributes are returned for each request: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
msgstr "Los siguientes atributos Open311 v2 son devueltos para cada petición: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code y service_name."
@@ -3838,10 +3928,14 @@ msgstr "Últimos problemas dentro de los límites de {{NAME}} notificados por lo
msgid "The link might have expired, or maybe you didn&rsquo;t quite copy and paste it correctly."
msgstr ""
-#: templates/web/base/admin/body-form.html:64
+#: templates/web/base/admin/body-form.html:66
msgid "The list of available areas is being provided by the MapIt service at %s."
msgstr "La lista de áreas disponibles está siendo ofrecida por el servicio MapIt en %s."
+#: templates/web/base/admin/extra-metadata-form.html:6
+msgid "The ordering of this field on the report page. Fields are shown in ascending order according to this value."
+msgstr ""
+
#: templates/web/base/auth/change_password.html:22
#: templates/web/base/auth/change_password.html:26
msgid "The passwords do not match"
@@ -3851,9 +3945,9 @@ msgstr "Las contraseñas no coinciden."
msgid "The requested URL '%s' was not found on this server"
msgstr "La URL solicitada, '%s', no fue encontrada en el servidor"
-#: templates/web/base/alert/_list.html:17
-msgid "The simplest alert is our geographic one:"
-msgstr "La alerta más sencilla es nuestra alerta geográfica:"
+#: templates/web/base/admin/extra-metadata-form.html:42
+msgid "The type of input field to show to the user. <strong>Text</strong> is a simple text field, <strong>List</strong> is a drop-down selection."
+msgstr ""
#: perllib/FixMyStreet/Script/Reports.pm:96
msgid "The user could not locate the problem on a map, but to see the area around the location they entered"
@@ -3874,18 +3968,18 @@ msgstr ""
msgid "There are no reports to show."
msgstr "No hay ninguna notificación que mostrar."
-#: perllib/FixMyStreet/App/Controller/Reports.pm:79
+#: perllib/FixMyStreet/App/Controller/Reports.pm:100
msgid "There was a problem showing the All Reports page. Please try again later."
msgstr "Hubo un problema mostrando la página de Todas las Notificaciones. Por favor, inténtelo de nuevo más tarde."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:137
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:60
+#: perllib/FixMyStreet/App/Controller/Contact.pm:138
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:62
msgid "There was a problem showing this page. Please try again later."
msgstr "Hubo un problema mostrando esta página. Por favor, inténtelo de nuevo más tarde."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:758
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:785
#: perllib/FixMyStreet/App/Controller/Report/Update.pm:152
-#: templates/web/base/auth/general.html:53
+#: templates/web/base/auth/general.html:55
#: templates/web/zurich/auth/general.html:28
msgid "There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the &lsquo;sign in by email&rsquo; section of the form."
msgstr "Hubo un problema con su email/contraseña. Si no recuerda o no tiene contraseña, por favor rellene la sección 'registrarme con email' del formulario."
@@ -3898,7 +3992,7 @@ msgstr "Hubo un problema con su email/contraseña. Por favor, inténtelo de nuev
msgid "There was a problem with your update. Please try again."
msgstr "Hubo un problema con su actualización. Por favor, inténtelo de nuevo."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:141
+#: perllib/FixMyStreet/App/Controller/Contact.pm:142
msgid "There were problems with your report. Please see below."
msgstr "Hubo problemas con su notificación. Por favor, vea más abajo."
@@ -3957,8 +4051,8 @@ msgstr ""
msgid "This body has no contacts. This means that currently problems reported to this body <strong>will not be sent</strong>."
msgstr "Este órgano no tiene contactos. Esto significa que en la actualidad las incidencias notificadas a este organismo <strong>no son enviadas</strong>."
-#: templates/web/base/admin/body-form.html:58
-#: templates/web/base/admin/body-form.html:59
+#: templates/web/base/admin/body-form.html:60
+#: templates/web/base/admin/body-form.html:61
msgid ""
"This body will only be sent reports for problems that are located in the <strong>area covered</strong>.\n"
" A body will not receive any reports unless it covers at least one area."
@@ -3974,8 +4068,9 @@ msgstr "Este correo electrónico ha sido enviado a los dos ayuntamientos que cub
msgid "This email has been sent to several councils covering the location of the problem, as the category selected is provided for all of them; please ignore it if you're not the correct council to deal with the issue."
msgstr "Este correo electrónico ha sido enviado a varios consejos que cubren la ubicación del problema, pues la categoría de problema seleccionada por el usuario se proporciona para todos ellos. Por favor, si usted no pertenece al órgano administrativo responsable de resolver esta incidencia haga caso omiso de este mensaje."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:881
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:925
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1017
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:910
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:954
#: perllib/FixMyStreet/App/Controller/Report/New.pm:971
#: perllib/FixMyStreet/Cobrand/UK.pm:45
msgid "This information is required"
@@ -3985,46 +4080,41 @@ msgstr "Esta información es necesaria"
msgid "This is a developer site; things might break at any time, and the database will be periodically deleted."
msgstr "Este es un sitio para desarrolladores, las cosas podrían romperse en cualquier momento, y la base de datos se eliminará periódicamente."
-#: templates/web/base/reports/index.html:10
-msgid "This is a summary of all reports on this site."
-msgstr "Este es un resumen de todos los informes en esta web."
-
-#: templates/web/base/report/new/form_report.html:56
+#: templates/web/base/report/new/form_report.html:58
msgid "This pothole has been here for two months and…"
msgstr ""
-#: templates/web/base/report/update/form_update.html:63
+#: templates/web/base/report/update/form_update.html:55
msgid "This problem has been fixed"
msgstr "Este problema se ha arreglado"
-#: templates/web/base/report/update/form_update.html:56
+#: templates/web/base/report/update/form_update.html:48
msgid "This problem has not been fixed"
msgstr "Este problema no se ha arreglado"
-#: templates/web/base/report/update/form_update.html:54
-#, fuzzy
+#: templates/web/base/report/update/form_update.html:46
msgid "This problem is still ongoing"
-msgstr "Este problema no se ha arreglado"
+msgstr ""
#: templates/web/base/report/duplicate-no-updates.html:3
msgid "This report is a duplicate. Please leave updates on the original report:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:161
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:162
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:166
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:167
#: templates/web/zurich/report/_main.html:14
msgid "This report is awaiting moderation."
msgstr "Esta notificación está pendiente de moderación."
-#: perllib/FixMyStreet/Script/Alerts.pm:101
+#: perllib/FixMyStreet/Script/Alerts.pm:98
msgid "This report is currently marked as closed."
msgstr "Esta notificación está marcada como cerrada."
-#: perllib/FixMyStreet/Script/Alerts.pm:99
+#: perllib/FixMyStreet/Script/Alerts.pm:96
msgid "This report is currently marked as fixed."
msgstr "Esta notificación está marcada como arreglada."
-#: perllib/FixMyStreet/Script/Alerts.pm:103
+#: perllib/FixMyStreet/Script/Alerts.pm:100
msgid "This report is currently marked as open."
msgstr "Esta notificación está marcada como abierta."
@@ -4043,7 +4133,7 @@ msgstr "Esta página web también contiene una foto del problema, proporcionada
msgid "Time spent (in minutes):"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Default.pm:638
#: templates/web/base/admin/timeline.html:1
msgid "Timeline"
msgstr "Cronología"
@@ -4072,10 +4162,26 @@ msgstr ""
msgid "To find out what local alerts we have for you, please enter your postcode or street name and area"
msgstr "Para saber cuáles son las alertas locales que tenemos para usted, por favor introduzca su código postal o el nombre de la calle y el área"
+#: templates/web/base/admin/reportextrafields/edit.html:19
+msgid "To limit this collection of fields to a single cobrand, select it here."
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:40
+msgid "To limit this collection of fields to a single language, select it here."
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:95
msgid "To view a map of the precise location of this issue"
msgstr "Para ver un mapa de la ubicación precisa de este problema"
+#: templates/web/base/reports/index.html:97
+msgid "Top 5 most used categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:83
+msgid "Top 5 responsive councils"
+msgstr ""
+
#: templates/web/base/admin/questionnaire.html:24
#: templates/web/base/admin/stats.html:24
#: templates/web/base/admin/stats.html:43
@@ -4089,9 +4195,8 @@ msgid "Total marked"
msgstr ""
#: templates/web/base/dashboard/index.html:71
-#, fuzzy
msgid "Total marked as fixed"
-msgstr "marcado como arreglado"
+msgstr ""
#: templates/web/base/dashboard/index.html:125
msgid "Total not marked"
@@ -4102,16 +4207,24 @@ msgstr ""
msgid "Total reports received"
msgstr ""
-#: templates/web/base/report/_inspect.html:124
-#: templates/web/base/report/_item.html:102
+#: templates/web/base/report/_inspect.html:134
+#: templates/web/base/report/_item.html:104
msgid "Traffic management required?"
msgstr ""
+#: templates/web/base/admin/_translations.html:7
+msgid "Translation"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:2
+msgid "Translations"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:111
msgid "Trusted by bodies:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:721
+#: perllib/FixMyStreet/Cobrand/Default.pm:726
msgid "Trusted to make reports that don't need to be inspected"
msgstr ""
@@ -4127,8 +4240,14 @@ msgstr "Inténtelo de nuevo"
msgid "Try emailing us directly:"
msgstr "Pruebe enviándonos un correo directamente:"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:21
+#: templates/web/base/admin/extra-metadata-form.html:44
+#: templates/web/base/admin/states/index.html:10
+#: templates/web/base/admin/states/index.html:100
+msgid "Type"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:59
+#: templates/web/base/admin/contact-form.html:55
#: templates/web/base/admin/update_edit.html:30
#: templates/web/zurich/admin/report_edit-sdm.html:66
#: templates/web/zurich/admin/report_edit.html:94
@@ -4136,7 +4255,6 @@ msgstr "Pruebe enviándonos un correo directamente:"
msgid "Unconfirmed"
msgstr "Sin confirmar"
-#: templates/web/base/reports/_list-filters.html:12
#: templates/web/base/reports/_list-filters.html:5
msgid "Unfixed reports"
msgstr ""
@@ -4150,14 +4268,14 @@ msgid "Unknown alert type"
msgstr "Tipo de alerta desconocida"
#: perllib/FixMyStreet/App/Controller/Photo.pm:109
-#: perllib/FixMyStreet/App/Controller/Root.pm:124
+#: perllib/FixMyStreet/App/Controller/Root.pm:141
#: templates/web/base/js/translation_strings.html:38
msgid "Unknown error"
msgstr "Error desconocido"
-#: perllib/FixMyStreet/App/Controller/Report.pm:115
+#: perllib/FixMyStreet/App/Controller/Report.pm:112
+#: perllib/FixMyStreet/App/Controller/Report.pm:118
#: perllib/FixMyStreet/App/Controller/Report.pm:121
-#: perllib/FixMyStreet/App/Controller/Report.pm:124
msgid "Unknown problem ID"
msgstr "ID de problema desconocido"
@@ -4165,10 +4283,11 @@ msgstr "ID de problema desconocido"
msgid "Unshortlisted"
msgstr ""
-#: templates/web/base/report/_item.html:24
+#: templates/web/base/report/_item.html:26
msgid "Up one"
msgstr ""
+#: templates/web/base/admin/states/index.html:76
#: templates/web/base/report/update/form_update.html:29
msgid "Update"
msgstr "Actualizar"
@@ -4185,7 +4304,7 @@ msgstr "La actualización de abajo fue añadida de forma anónima en %s"
msgid "Update below added by %s at %s"
msgstr "La actualización de abajo fue añadida por %s en %s"
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Update body"
msgstr "Actualizar órgano"
@@ -4221,13 +4340,23 @@ msgstr "Actualización de estados"
msgid "Updated"
msgstr "Actualizado"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1157
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1221
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1384
-#: perllib/FixMyStreet/App/Controller/Admin.pm:822
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:762
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:787
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:857
+#: perllib/FixMyStreet/DB/Result/Comment.pm:249
+#, fuzzy
+msgid "Updated by <strong>%s</strong> (%s) at %s"
+msgstr "Publicado por <strong>%s</strong> (%s) - %s"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:251
+#, fuzzy
+msgid "Updated by <strong>%s</strong> at %s"
+msgstr "Publicado por <strong>%s</strong> - %s"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1262
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1326
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1489
+#: perllib/FixMyStreet/App/Controller/Admin.pm:910
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:767
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:792
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:862
msgid "Updated!"
msgstr "¡Actualizado!"
@@ -4237,7 +4366,7 @@ msgstr "¡Actualizado!"
msgid "Updates"
msgstr "Actualizaciones"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:133
+#: perllib/FixMyStreet/DB/Result/Comment.pm:134
msgid "Updates are limited to %s characters in length. Please shorten your update"
msgstr "Las actualizaciones están limitadas a %s caracteres. Por favor acorte su actualización."
@@ -4251,11 +4380,22 @@ msgstr "Actualizaciones en {{title}}"
msgid "Updates to this problem, %s"
msgstr ""
+#: templates/web/base/admin/contact-form.html:43
+#: templates/web/base/admin/contact-form.html:44
+msgid ""
+"Use <strong>confirmed</strong> to indicate that this contact has been\n"
+"confirmed as correct. If you are not sure of the origin or validity of the\n"
+"contact, use <strong>unconfirmed</strong>. <strong>inactive</strong> will\n"
+"remove the category from use when reporting problems, but keep it available in\n"
+"map filters, and <strong>deleted</strong> will remove the category from there\n"
+"as well."
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:65
msgid "Use Open311 update-sending extension"
msgstr ""
-#: templates/web/base/admin/contact-form.html:124
+#: templates/web/base/admin/contact-form.html:125
msgid "Use this field to record details that are only displayed in the admin. Input is not shown publicly, and is not sent to the body."
msgstr ""
@@ -4268,27 +4408,26 @@ msgstr ""
msgid "User ID to attribute fetched comments to"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1700
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1805
msgid "User flag removed"
msgstr "Eliminada marca de usuario"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1672
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1777
msgid "User flagged"
msgstr "Usuario marcado"
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:58
-#, fuzzy
msgid "User has marked as fixed"
-msgstr "marcado como arreglado"
+msgstr ""
#: templates/web/base/admin/users.html:5
msgid "User search finds matches in users' names and email addresses."
msgstr "La búsqueda ha encontrado coincidencias en nombres de usuarios y direcciones de email."
#: perllib/FixMyStreet/Cobrand/Default.pm:669
-#: perllib/FixMyStreet/Cobrand/Default.pm:723
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
+#: perllib/FixMyStreet/Cobrand/Default.pm:728
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:403
#: templates/web/base/admin/flagged.html:29 templates/web/zurich/header.html:61
msgid "Users"
msgstr "Usuarios"
@@ -4297,9 +4436,9 @@ msgstr "Usuarios"
msgid "Users can perform the following actions within their assigned body or area."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:400
-#: perllib/FixMyStreet/App/Controller/Admin.pm:430
-#: perllib/FixMyStreet/App/Controller/Admin.pm:448
+#: perllib/FixMyStreet/App/Controller/Admin.pm:381
+#: perllib/FixMyStreet/App/Controller/Admin.pm:417
+#: perllib/FixMyStreet/App/Controller/Admin.pm:439
msgid "Values updated"
msgstr "Valores actualizados"
@@ -4346,7 +4485,7 @@ msgstr "Hemos encontrado más de una coincidencia para esa ubicación. Se muestr
msgid "We found more than one match for that problem reference:"
msgstr ""
-#: templates/web/base/auth/general.html:6
+#: templates/web/base/auth/general.html:8
#: templates/web/base/report/display.html:35
#: templates/web/base/report/new/oauth_email_form.html:5
msgid "We need your email address, please give it below."
@@ -4381,7 +4520,7 @@ msgstr "Gracias por sus comentarios. ¡Nos pondremos en contacto con usted tan p
msgid "What was your experience of getting the problem fixed?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:52
+#: templates/web/base/admin/category_edit.html:27
#: templates/web/zurich/admin/body.html:18
msgid "When edited"
msgstr "Una vez editada"
@@ -4390,11 +4529,19 @@ msgstr "Una vez editada"
msgid "When sent"
msgstr "Una vez enviada"
-#: templates/web/base/report/_inspect.html:89
+#: templates/web/base/admin/extra-metadata-form.html:18
+msgid "Whether the user is required to provide a value for this field."
+msgstr ""
+
+#: templates/web/base/alert/_list.html:9
+msgid "Which problems do you want alerts about?"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:99
msgid "Which report is it a duplicate of?"
msgstr ""
-#: templates/web/base/js/translation_strings.html:54
+#: templates/web/base/js/translation_strings.html:57
msgid "Whoa there Testino! Three photos are enough."
msgstr ""
@@ -4402,8 +4549,8 @@ msgstr ""
msgid "Why stop there? <a href=\"/alert\">Set up more alerts</a> for free."
msgstr "¿Por qué detenerse ahí? <a href=\"/alert\">Configure más alertas</a> gratis."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:185
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:190
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:14
msgid "Wish"
@@ -4413,7 +4560,7 @@ msgstr ""
msgid "With request searches, it is also possible to search for agency_responsible to limit the requests to those sent to a single administration. The search term is the administration ID provided by <a href=\"%s\">MaPit</a>."
msgstr "En las búsquedas de solicitudes, es también posible buscar por agency_responsible para limitar las solicitudes a las enviados a una sola administración. El término de búsqueda es el ID de administración proporcionada por <a href=\"%s\">MapIT</a>."
-#: templates/web/base/front/footer-marketing.html:17
+#: templates/web/base/front/footer-marketing.html:3
msgid "Would you like to contribute to FixMyStreet? Our code is open source and <a href=\"http://fixmystreet.org\">available at fixmystreet.org</a>."
msgstr "¿Quieres contribuir a mejorar FixMyStreet? Nuestro código es abierto y está <a href=\"http://fixmystreet.org\">disponible en fixmystreet.org</a>."
@@ -4438,23 +4585,22 @@ msgstr ""
msgid "Year"
msgstr "Año"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1202
+#: perllib/FixMyStreet/Cobrand/Default.pm:1236
#: templates/web/base/admin/bodies.html:70
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
#: templates/web/base/admin/category_edit.html:5
#: templates/web/base/admin/flagged.html:47
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:136
+#: templates/web/base/admin/report_edit.html:124
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:25
#: templates/web/base/admin/users.html:32
#: templates/web/base/questionnaire/creator_fixed.html:14
#: templates/web/base/questionnaire/index.html:104
#: templates/web/base/questionnaire/index.html:53
+#: templates/web/base/report/_inspect.html:90
msgid "Yes"
msgstr "SÃ"
@@ -4467,7 +4613,7 @@ msgstr "Sí, tengo una contraseña"
msgid "You are complaining that this problem report was unnecessarily moderated:"
msgstr "Usted se está quejando de que la notificación fue innecesariamente moderada:"
-#: templates/web/base/js/translation_strings.html:70
+#: templates/web/base/js/translation_strings.html:73
msgid "You are offline"
msgstr ""
@@ -4488,7 +4634,11 @@ msgstr "Usted puede <a href=\"%s%s\">ver el problema en este sitio</a>."
msgid "You can add an abusive user's email to the abuse list, which automatically hides (and never sends) reports they create."
msgstr "Puede agregar email del usuario abusivo a la lista de abusones, que oculta de forma automática (y nunca envía) los informes que crean."
-#: templates/web/base/contact/index.html:111
+#: templates/web/base/alert/_list.html:18
+msgid "You can choose to subscribe to all problems reported in an area, or reports based on their destination."
+msgstr ""
+
+#: templates/web/base/contact/index.html:115
msgid "You can contact technical support on <a href='mailto:%s'>%s</a>"
msgstr "Puede ponerse en contacto con el soporte técnico en <a href='mailto:%s'>%s</a>"
@@ -4509,7 +4659,7 @@ msgstr ""
msgid "You can help us by finding a contact email address for local problems for %s and emailing it to us at <a href='mailto:%s'>%s</a>."
msgstr "Puede ayudarnos a encontrar una dirección de email de contacto para los problemas locales para %s y enviárnosla a <a href='mailto:%s'>%s</a>."
-#: templates/web/base/admin/body-form.html:91
+#: templates/web/base/admin/body-form.html:93
msgid "You can mark a body as deleted if you do not want it to be active on the site."
msgstr "Puede marcar un organismo como eliminado si no quiere que aparezca activo en este sitio."
@@ -4517,7 +4667,7 @@ msgstr "Puede marcar un organismo como eliminado si no quiere que aparezca activ
msgid "You declined; please fill in the box above"
msgstr "Usted rechazó finalmente; por favor, rellene el formulario de arriba"
-#: templates/web/base/js/translation_strings.html:72
+#: templates/web/base/js/translation_strings.html:75
msgid "You have <a id=\"oFN\" href=\"\"><span>%s</span> saved to submit</a>."
msgstr ""
@@ -4525,7 +4675,7 @@ msgstr ""
msgid "You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"
msgstr "Ya respondió a esta encuesta. Si tiene alguna pregunta, por favor, <a href='%s'>póngase en contacto con nosotros</a>, o <a href ='%s'>vea su problema</a>.\n"
-#: templates/web/base/report/new/form_report.html:37
+#: templates/web/base/report/new/form_report.html:39
#: templates/web/zurich/report/new/fill_in_details_form.html:30
msgid "You have already attached photos to this report. Note that you can attach a maximum of 3 to this report (if you try to upload more, the oldest will be removed)."
msgstr ""
@@ -4586,10 +4736,9 @@ msgstr "Sus notificaciones"
msgid "Your account"
msgstr ""
-#: templates/web/base/alert/_list.html:90
#: templates/web/base/alert/updates.html:19
#: templates/web/base/alert/updates.html:22
-#: templates/web/base/contact/index.html:81
+#: templates/web/base/contact/index.html:80
#: templates/web/base/report/display_tools.html:46
#: templates/web/base/report/display_tools.html:49
#: templates/web/base/report/new/form_user_loggedout_email.html:1
@@ -4599,7 +4748,7 @@ msgid "Your email"
msgstr "Su email:"
#: templates/web/base/auth/change_email.html:9
-#: templates/web/base/auth/general.html:55
+#: templates/web/base/auth/general.html:57
#: templates/web/base/report/update/form_user_loggedout_email.html:5
#: templates/web/zurich/auth/general.html:30
#: templates/web/zurich/auth/general.html:58
@@ -4610,21 +4759,32 @@ msgstr "Su dirección de email"
msgid "Your information will only be used in accordance with our <a href=\"/privacy\">privacy policy</a>"
msgstr "Su información sólo será usada de acuerdo con nuestra <a href=\"/privacy\">política de privacidad</a>"
-#: templates/web/base/auth/general.html:107
+#: templates/web/base/auth/general.html:109
#: templates/web/base/contact/index.html:74
#: templates/web/base/report/new/form_user_loggedout_by_email.html:17
-#: templates/web/base/report/update/form_name.html:29
+#: templates/web/base/report/update/form_name.html:33
#: templates/web/zurich/auth/general.html:61
#: templates/web/zurich/report/new/fill_in_details_form.html:63
msgid "Your name"
msgstr "Su nombre"
-#: templates/web/base/js/translation_strings.html:62
-#, fuzzy
+#: templates/web/base/my/anonymize.html:13
+msgid "Your name has already been sent to %s, but we can hide it on this page:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:264
+msgid "Your name has been hidden from all your reports and updates."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:260
+msgid "Your name has been hidden."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:65
msgid "Your offline reports"
-msgstr "Sus notificaciones"
+msgstr ""
-#: templates/web/base/auth/general.html:85
+#: templates/web/base/auth/general.html:87
#: templates/web/base/report/new/form_user_loggedout_password.html:10
#: templates/web/base/report/update/form_user_loggedout_password.html:9
#: templates/web/zurich/auth/general.html:34
@@ -4635,6 +4795,7 @@ msgstr "Su contraseña"
msgid "Your password has been changed"
msgstr "Su contraseña ha cambiado"
+#: templates/web/base/contact/index.html:87
#: templates/web/base/report/new/form_user_loggedout_by_email.html:26
#: templates/web/zurich/report/new/fill_in_details_form.html:69
msgid "Your phone number"
@@ -4653,7 +4814,7 @@ msgstr "Sus notificaciones"
msgid "Your shortlist"
msgstr ""
-#: templates/web/base/js/translation_strings.html:63
+#: templates/web/base/js/translation_strings.html:66
msgid "Your update has been saved offline for submission when back online."
msgstr ""
@@ -4661,8 +4822,8 @@ msgstr ""
msgid "Your updates"
msgstr "Sus actualizaciones"
-#: templates/web/base/report/new/form_user_loggedin.html:18
-#: templates/web/base/report/update/form_name.html:11
+#: templates/web/base/report/new/form_user_loggedin.html:19
+#: templates/web/base/report/update/form_name.html:12
msgid "Yourself"
msgstr ""
@@ -4671,14 +4832,14 @@ msgstr ""
msgid "all"
msgstr ""
+#: perllib/FixMyStreet/DB/Result/Comment.pm:259
+msgid "and a defect raised"
+msgstr ""
+
#: templates/web/base/admin/timeline.html:4
msgid "by %s"
msgstr "por %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:290
-msgid "closed as a duplicate report"
-msgstr "marcado como un informe duplicado"
-
#: templates/web/base/reports/body.html:6
#: templates/web/base/reports/body.html:7
msgid "council"
@@ -4703,7 +4864,7 @@ msgstr "editar usuario"
msgid "from %s different users"
msgstr "de %s usuarios diferentes"
-#: templates/web/base/report/_item.html:61
+#: templates/web/base/report/_item.html:63
#: templates/web/zurich/report/_item.html:14
msgid "last updated %s"
msgstr "ultima actualización %s"
@@ -4712,44 +4873,7 @@ msgstr "ultima actualización %s"
msgid "less than a minute"
msgstr "menos de un minuto"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:280
-msgid "marked as action scheduled"
-msgstr "marcado como acción programada"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:292
-msgid "marked as an internal referral"
-msgstr "marcado como una referencia interna"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:282
-msgid "marked as closed"
-msgstr "marcado como cerrado"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:263
-#: perllib/FixMyStreet/DB/Result/Comment.pm:284
-msgid "marked as fixed"
-msgstr "marcado como arreglado"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:278
-msgid "marked as in progress"
-msgstr "marcado como en progreso"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:274
-msgid "marked as investigating"
-msgstr "marcado como en investigación"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:286
-msgid "marked as no further action"
-msgstr "marcado como que no se puede arreglar"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:288
-msgid "marked as not the council's responsibility"
-msgstr "marcado como que el ayuntamiento no es responsable"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:276
-msgid "marked as planned"
-msgstr "marcado como planificado"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:122
+#: perllib/FixMyStreet/App/Controller/Admin.pm:119
#: templates/web/base/admin/questionnaire.html:15
#: templates/web/base/admin/questionnaire.html:16
msgid "n/a"
@@ -4760,13 +4884,10 @@ msgstr "n/a"
msgid "none"
msgstr ""
-#: templates/web/base/admin/category_edit.html:35
-msgid "optional"
-msgstr ""
-
-#: templates/web/base/alert/_list.html:86
-msgid "or"
-msgstr "o"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:278
+#, fuzzy
+msgid "not the council's responsibility"
+msgstr "marcado como que el ayuntamiento no es responsable"
#: templates/web/base/js/translation_strings.html:27
msgid "or locate me automatically"
@@ -4791,16 +4912,7 @@ msgstr "consignados inicialmente:"
msgid "other areas:"
msgstr "otras áreas:"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:265
-#: perllib/FixMyStreet/DB/Result/Comment.pm:271
-msgid "reopened"
-msgstr "reabierto"
-
-#: templates/web/base/admin/category_edit.html:35
-msgid "required"
-msgstr ""
-
-#: templates/web/zurich/footer.html:13
+#: templates/web/zurich/footer.html:12
msgid "sign out"
msgstr "salir"
@@ -4808,11 +4920,16 @@ msgstr "salir"
msgid "the local council"
msgstr "ayuntamiento"
-#: templates/web/base/report/_report_meta_info.html:2
+#: templates/web/base/report/_report_meta_info.html:5
#: templates/web/zurich/report/_main.html:5
msgid "there is no pin shown as the user did not use the map"
msgstr "no hay marcador porque el usuario no usó el mapa"
+#: templates/web/base/alert/_list.html:1
+#, fuzzy
+msgid "this location"
+msgstr "Visualizando una ubicación"
+
#: perllib/FixMyStreet/Script/Reports.pm:184
msgid "this type of local problem"
msgstr "este tipo de problema local"
@@ -4821,15 +4938,13 @@ msgstr "este tipo de problema local"
msgid "today"
msgstr "hoy"
-#: templates/web/base/js/translation_strings.html:73
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:76
msgid "update"
-msgstr "Actualizar"
+msgstr ""
-#: templates/web/base/js/translation_strings.html:74
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:77
msgid "updates"
-msgstr "Actualizaciones"
+msgstr ""
#: templates/web/base/admin/report_edit.html:52
msgid "used map"
@@ -4877,11 +4992,11 @@ msgstr[0] "%d minuto"
msgstr[1] "%d minutos"
#: perllib/Utils.pm:246
-#, fuzzy, perl-format
+#, perl-format
msgid "%d month"
msgid_plural "%d months"
-msgstr[0] "%d minuto"
-msgstr[1] "%d minutos"
+msgstr[0] ""
+msgstr[1] ""
#: templates/web/base/report/_support.html:6
#, perl-format
@@ -4904,6 +5019,41 @@ msgid_plural "%d years"
msgstr[0] ""
msgstr[1] ""
+#: templates/web/base/reports/index.html:92
+#, perl-format
+msgid "%s day"
+msgid_plural "%s days"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:55
+#, perl-format
+msgid "%s problem marked as fixed"
+msgid_plural "%s problems marked as fixed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:43
+#, perl-format
+msgid "%s problem reported"
+msgid_plural "%s problems reported"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:107
+#, perl-format
+msgid "%s report"
+msgid_plural "%s reports"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:49
+#, perl-format
+msgid "%s update on problems"
+msgid_plural "%s updates on problems"
+msgstr[0] ""
+msgstr[1] ""
+
#: templates/web/base/front/stats.html:19
#, perl-format
msgid "<big>%s</big> fixed in past month"
@@ -4932,12 +5082,12 @@ msgid_plural "<big>%s</big> updates on reports"
msgstr[0] "<big>%s</big> notificaciones actualizadas"
msgstr[1] "<big>%s</big> notificaciones actualizadas"
-#: templates/web/base/report/_item.html:49
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:51
+#, perl-format
msgid "Reported %d day ago"
msgid_plural "Reported %d days ago"
-msgstr[0] "Notificado por %s en %s"
-msgstr[1] "Notificado por %s en %s"
+msgstr[0] ""
+msgstr[1] ""
#: templates/web/base/report/new/top_message_some.html:3
#, perl-format
@@ -4953,36 +5103,100 @@ msgid_plural "We do not yet have details for the councils that cover this locati
msgstr[0] "Todavía no tenemos detalles para el Ayuntamiento que cubre esta zona."
msgstr[1] "Todavía no tenemos información de qué ayuntamientos cubren este área."
-#: templates/web/base/report/_item.html:59
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:61
+#, perl-format
msgid "last updated %d day ago"
msgid_plural "last updated %d days ago"
-msgstr[0] "ultima actualización %s"
-msgstr[1] "ultima actualización %s"
+msgstr[0] ""
+msgstr[1] ""
#: templates/email/oxfordshire/archive.txt:9
-#, fuzzy, perl-format
+#, perl-format
msgid "report"
msgid_plural "reports"
-msgstr[0] "Notificar"
-msgstr[1] "Notificar"
+msgstr[0] ""
+msgstr[1] ""
-#, fuzzy
-#~ msgid "All inspectors"
-#~ msgstr "Todas las notificaciones"
+#~ msgid "%s ward, %s"
+#~ msgstr "%s barrio, %s"
-#, fuzzy
-#~ msgid "External ID:"
-#~ msgstr "URL Externo"
+#~ msgid "%s, within %s ward"
+#~ msgstr "%s, en %s barrio"
-#, fuzzy
-#~ msgid "Report category:"
-#~ msgstr "Crear una categoría"
+#~ msgid "-- Pick a property type --"
+#~ msgstr "-- Escoja un tipo de propiedad --"
-#, fuzzy
-#~ msgid "Reported %d days ago"
-#~ msgstr "Notificado por %s en %s"
+#~ msgid "Closed:"
+#~ msgstr "Cerrada:"
-#, fuzzy
-#~ msgid "last updated %d days ago"
-#~ msgstr "ultima actualización %s"
+#~ msgid "Duplicate"
+#~ msgstr "Duplicado"
+
+#~ msgid "Fixed:"
+#~ msgstr "Arreglado:"
+
+#~ msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
+#~ msgstr "Estos son los tipos de notificaciones de incidencias locales para '%s'."
+
+#~ msgid "In Progress"
+#~ msgstr "Procesando"
+
+#~ msgid "Internal referral"
+#~ msgstr "Remisión interna"
+
+#~ msgid "Investigating"
+#~ msgstr "Investigando"
+
+#~ msgid "No further action"
+#~ msgstr "Incapaz de arreglarlo"
+
+#~ msgid "Not Responsible"
+#~ msgstr "No responsable"
+
+#~ msgid "Or problems reported to:"
+#~ msgstr "O problemas notificados a:"
+
+#~ msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
+#~ msgstr "O puede suscribirse a una alerta basada en el barrio o ayuntamiento en que te encuentras:"
+
+#~ msgid "Please choose a property type"
+#~ msgstr "Por favor, elija un tipo de propiedad"
+
+#~ msgid "Problems within the boundary of:"
+#~ msgstr "Problemas en:"
+
+#~ msgid "The simplest alert is our geographic one:"
+#~ msgstr "La alerta más sencilla es nuestra alerta geográfica:"
+
+#~ msgid "closed as a duplicate report"
+#~ msgstr "marcado como un informe duplicado"
+
+#~ msgid "marked as action scheduled"
+#~ msgstr "marcado como acción programada"
+
+#~ msgid "marked as an internal referral"
+#~ msgstr "marcado como una referencia interna"
+
+#~ msgid "marked as closed"
+#~ msgstr "marcado como cerrado"
+
+#~ msgid "marked as fixed"
+#~ msgstr "marcado como arreglado"
+
+#~ msgid "marked as in progress"
+#~ msgstr "marcado como en progreso"
+
+#~ msgid "marked as investigating"
+#~ msgstr "marcado como en investigación"
+
+#~ msgid "marked as no further action"
+#~ msgstr "marcado como que no se puede arreglar"
+
+#~ msgid "marked as planned"
+#~ msgstr "marcado como planificado"
+
+#~ msgid "or"
+#~ msgstr "o"
+
+#~ msgid "reopened"
+#~ msgstr "reabierto"
diff --git a/locale/es_DO.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/es_DO.UTF-8/LC_MESSAGES/FixMyStreet.po
index 1817acae8..35b0bf68c 100644
--- a/locale/es_DO.UTF-8/LC_MESSAGES/FixMyStreet.po
+++ b/locale/es_DO.UTF-8/LC_MESSAGES/FixMyStreet.po
@@ -3,22 +3,22 @@
# This file is distributed under the same license as the main FixMyStreet code.
# Matthew Somerville <matthew@mysociety.org>, 2011-06-03.
#
+#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
-"POT-Creation-Date: 2017-03-30 17:33+0100\n"
-"PO-Revision-Date: 2017-03-20 09:52-0400\n"
-"Last-Translator: Robert Lo Bue <rob@applingua.com>, 2017\n"
+"POT-Creation-Date: 2017-09-13 15:40+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: mySociety <transifex@mysociety.org>, 2017\n"
"Language-Team: Spanish (Dominican Republic) (https://www.transifex.com/mysociety/teams/12067/es_DO/)\n"
"Language: es_DO\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 2.0beta4\n"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:695
+#: perllib/FixMyStreet/DB/Result/Problem.pm:632
#: perllib/FixMyStreet/Script/Reports.pm:197
msgid " and "
msgstr " y "
@@ -94,31 +94,6 @@ msgstr "%s cuestionarios enviados &ndash; %s respondidos (%s%%)"
msgid "%s ref:&nbsp;%s"
msgstr "%s ref:&nbsp;%s"
-#. ("%s is the site name")
-#: templates/web/base/alert/_list.html:74
-msgid ""
-"%s sends different categories of problem\n"
-"to the appropriate council, so problems within the boundary of a particular council\n"
-"might not match the problems sent to that council. For example, a graffiti report\n"
-"will be sent to the district council, so will appear in both of the district\n"
-"council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
-"for the county council."
-msgstr ""
-"%s envía diferentes categorías de problemas\n"
-"al ayuntamiento apropiado, de manera que los problemas dentro de las fronteras de cierto ayuntamiento\n"
-"no podrían coincidir con los problemas enviados a ese ayuntamiento. Por ejemplo, un reporte de grafiti\n"
-"será enviado al ayuntamiento del distrito, de manera que aparecerá en ambas alertas del distrito\n"
-"council&amp;rsquo;s, pero solo aparecerá en la alerta \"Dentro de la frontera\"\n"
-"para el ayuntamiento del municipio."
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:257 perllib/FixMyStreet/Cobrand/UK.pm:269
-msgid "%s ward, %s"
-msgstr "%s barrio, %s"
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
-msgid "%s, within %s ward"
-msgstr "%s, en %s barrio"
-
#: perllib/FixMyStreet/Map/OSM.pm:38
msgid "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"
msgstr "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> colaboradores"
@@ -127,7 +102,7 @@ msgstr "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap<
msgid "(Defect &amp; location of defect)"
msgstr "(Defecto &amp; ubicación del defecto)"
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
#: templates/web/base/admin/users.html:32
msgid "(Email in abuse table)"
msgstr "(email registrado en la tabla de abusos)"
@@ -142,28 +117,36 @@ msgstr "(Sin nombre)"
msgid "(No phone number)"
msgstr "(Sin número de teléfono)"
-#: templates/web/base/alert/_list.html:25
-msgid "(a default distance which covers roughly 200,000 people)"
-msgstr "(distancia que cubre aproximadamente 200.000 personas)"
-
-#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
-#: templates/web/base/alert/_list.html:30
-msgid "(alternatively the RSS feed can be customised, within %s)"
-msgstr "(un listado RSS podría ser diseñado alternativamente, dentro de %es)"
+#: templates/web/base/admin/states/index.html:95
+msgid "(a-z and space only)"
+msgstr ""
#: templates/web/zurich/report/_item.html:19
msgid "(closed)"
msgstr "(cerrado)"
+#: templates/web/base/alert/_list.html:30
+#, fuzzy
+msgid "(covers roughly 200,000 people)"
+msgstr "(distancia que cubre aproximadamente 200.000 personas)"
+
#: templates/web/zurich/report/_item.html:17
msgid "(fixed)"
msgstr "(arreglado)"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "(ignored if type is \"String\")"
+msgstr ""
+
#: templates/web/base/around/intro.html:2
msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
msgstr "(como pintadas, basuras, pavimento o alumbrado rotos)"
-#: templates/web/base/report/_item.html:68
+#: templates/web/base/reports/index.html:69
+msgid "(no longer exists)"
+msgstr ""
+
+#: templates/web/base/report/_item.html:70
msgid "(not sent to council)"
msgstr "(no enviadas al ayuntamiento)"
@@ -171,20 +154,22 @@ msgstr "(no enviadas al ayuntamiento)"
msgid "(optional)"
msgstr "(opcional)"
-#: templates/web/base/report/_item.html:67
+#: templates/web/base/report/_item.html:69
msgid "(sent to both)"
msgstr "(enviado a ambos)"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:239
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/DB/Result/Problem.pm:454
+#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
+#: templates/web/base/alert/_list.html:36
+#, fuzzy
+msgid "(we also have RSS feeds for problems within %s)"
+msgstr "Listado RSS de los problemas dentro de %s"
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:245
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:381
msgid "-- Pick a category --"
msgstr "-- Escoja una categoría --"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:460
-msgid "-- Pick a property type --"
-msgstr "-- Escoja un tipo de propiedad --"
-
#: templates/web/base/admin/response_templates_select.html:3
msgid "--Choose a template--"
msgstr "--Elija una plantilla--"
@@ -193,16 +178,16 @@ msgstr "--Elija una plantilla--"
msgid "10 inch pothole on Example St, near post box"
msgstr "Un bache de 25 centímetros en Calle Ejemplo, cerca al buzón de correos"
-#: templates/web/base/dashboard/index.html:152
+#: templates/web/base/dashboard/index.html:153
msgid "14-30 days old"
msgstr "14 - 30 días de antigüedad"
-#: templates/web/base/dashboard/index.html:151
+#: templates/web/base/dashboard/index.html:152
msgid "7-14 days old"
msgstr "7 - 14 días de antigüedad"
-#: templates/web/base/admin/body-form.html:48
-#: templates/web/base/admin/body-form.html:49
+#: templates/web/base/admin/body-form.html:50
+#: templates/web/base/admin/body-form.html:51
msgid ""
"<code>MAPIT_URL</code> is set (<code>%s</code>) but no <code>MAPIT_TYPES</code>.<br>\n"
" This is probably why \"area covered\" is empty (below).<br>\n"
@@ -213,17 +198,16 @@ msgstr ""
"Por favor añada <code>MAPIT_TYPES</code> en su archivo de configuración."
#: templates/web/base/dashboard/index.html:15
-#, fuzzy
msgid "<h2>Reports, Statistics and Actions for</h2> <h1>%s</h1>"
-msgstr "Reportes, Estadísticas y Acciones para"
+msgstr ""
-#. ('The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories')
#. ("The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories")
-#: templates/web/base/reports/_list-filters.html:37
-msgid "<label for=\"statuses\">Show</label> %s <label for=\"filter_categories\">about</label> %s"
+#: templates/web/base/reports/_list-filters.html:48
+#, fuzzy
+msgid "<label for=\"statuses\">Show</label> %s reports <label for=\"filter_categories\">about</label> %s"
msgstr "<label for=\"statuses\">Mostrar</label> %s <label for=\"filter_categories\">sobre</label> %s"
-#: templates/web/base/js/translation_strings.html:71
+#: templates/web/base/js/translation_strings.html:74
msgid "<span>%s</span> saved."
msgstr ""
@@ -240,34 +224,25 @@ msgstr "<strong>No</strong>- confirmar mi notificación por email"
msgid "<strong>No</strong> Let me confirm my update by email"
msgstr "<strong>No</strong>- confirmar mi actualización por email"
-#: templates/web/base/auth/general.html:104
+#: templates/web/base/auth/general.html:106
#: templates/web/zurich/auth/general.html:51
msgid "<strong>No</strong> let me sign in by email"
msgstr "<strong>No</strong>- permítanme registrarme por email"
-#: templates/web/base/report/_inspect.html:160
+#: templates/web/base/report/_inspect.html:170
msgid "<strong>Note:</strong> This report has been sent onwards for action. Any changes made won't be passed on."
msgstr "<strong>Nota:</strong> Este informe ha sido enviado y espera una acción. Cualquier cambio realizado no será pasado."
-#: templates/web/base/report/_inspect.html:162
+#: templates/web/base/report/_inspect.html:172
msgid "<strong>Note:</strong> This report hasn't yet been sent onwards for action. Any changes made may not be passed on."
msgstr "<strong>Nota:</strong> Este informe aún no se ha sido enviado por una acción. Cualquier cambio realizado podría no pasar."
-#: templates/web/base/auth/general.html:80
+#: templates/web/base/auth/general.html:82
#: templates/web/base/report/new/form_user_loggedout_password.html:3
#: templates/web/base/report/update/form_user_loggedout_password.html:2
msgid "<strong>Yes</strong> I have a password"
msgstr "<strong>Sí</strong>- tengo una contraseña"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:10
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:6
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Action Scheduled"
-msgstr "Acción programada"
-
#: templates/web/base/admin/body-form.html:3
#: templates/web/base/admin/body-form.html:4
msgid ""
@@ -284,19 +259,36 @@ msgid "Add a contact using the form below."
msgstr "Añada un contacto usando el siguiente formulario."
#: templates/web/base/admin/bodies.html:78
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Add body"
msgstr "Agregue un órgano"
+#: templates/web/base/admin/reportextrafields/index.html:24
+msgid "Add extra fields"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:79
+msgid "Add field"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:85
+msgid "Add fixed state"
+msgstr ""
+
#: templates/web/base/admin/body.html:126
#: templates/web/zurich/admin/body.html:31
msgid "Add new category"
msgstr "Agregar nueva categoría"
+#: templates/web/base/admin/extra-metadata-form.html:72
+#, fuzzy
+msgid "Add option"
+msgstr "opcional"
+
#: templates/web/base/report/_item.html:10
-#: templates/web/base/report/_item.html:14
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_item.html:16
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:19
#: templates/web/base/report/_main.html:30
msgid "Add to shortlist"
@@ -308,15 +300,15 @@ msgstr "Añadir a la lista de pre-seleccionados"
msgid "Add user"
msgstr "Añadir un usuario"
-#: perllib/FixMyStreet/Cobrand/Default.pm:730
+#: perllib/FixMyStreet/Cobrand/Default.pm:735
msgid "Add/edit problem categories"
msgstr "Añadir/editar las categorias del problema"
-#: perllib/FixMyStreet/Cobrand/Default.pm:732
+#: perllib/FixMyStreet/Cobrand/Default.pm:737
msgid "Add/edit response priorities"
msgstr "Añadir/Editar las prioridades de respuesta"
-#: perllib/FixMyStreet/Cobrand/Default.pm:731
+#: perllib/FixMyStreet/Cobrand/Default.pm:736
msgid "Add/edit response templates"
msgstr "Añadir/Editar las plantillas de respuesta"
@@ -324,7 +316,7 @@ msgstr "Añadir/Editar las plantillas de respuesta"
msgid "Added %s"
msgstr "Añadido %s"
-#: templates/web/base/report/_main.html:145
+#: templates/web/base/report/_main.html:149
msgid "Adding this report to your shortlist will remove it from %s’s shortlist."
msgstr "Añadir este reporte a tu lista de pre-seleccionados lo sacará de %s's la lista de pre-seleccionados."
@@ -344,18 +336,17 @@ msgstr "Alerta %d creada por %s, tipo %s, parámetros %s / %s"
msgid "Alert %d disabled (created %s)"
msgstr "Alerta %d desactivada (creada %s)"
-#: templates/web/base/report/update/form_name.html:38
+#: templates/web/base/report/update/form_name.html:42
msgid "Alert me to future updates"
msgstr "Notificadme actualizaciones futuras"
#: templates/web/base/dashboard/index.html:138
#: templates/web/base/dashboard/index.html:21
#: templates/web/base/dashboard/index.html:30
-#, fuzzy
+#: templates/web/base/reports/_list-filters.html:3
msgid "All"
-msgstr "todo"
+msgstr ""
-#: templates/web/base/reports/index.html:6
#: templates/web/zurich/reports/index.html:13
msgid "All Reports"
msgstr "Todas las notificaciones"
@@ -365,15 +356,23 @@ msgid "All Reports as CSV"
msgstr "Todos los informes como CSV"
#: templates/web/base/admin/category-multiselect.html:5
-#: templates/web/base/admin/responsepriorities/list.html:19
+#: templates/web/base/admin/responsepriorities/list.html:20
msgid "All categories"
msgstr "Todas las categorías"
+#: templates/web/base/admin/reportextrafields/edit.html:26
+#, fuzzy
+msgid "All cobrands"
+msgstr "Cobrand"
+
+#: templates/web/base/admin/reportextrafields/edit.html:47
+msgid "All languages"
+msgstr ""
+
#: templates/web/base/main_nav_items.html:0
#: templates/web/base/main_nav_items.html:27
-#: templates/web/base/reports/_list-filters.html:3
#: templates/web/zurich/admin/index-dm.html:12
-#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:21
+#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:20
#: templates/web/zurich/nav_over_content.html:6
msgid "All reports"
msgstr "Todas las notificaciones"
@@ -383,6 +382,14 @@ msgstr "Todas las notificaciones"
msgid "All reports between %s and %s"
msgstr "Todas las notificaciones entre %s y %s"
+#: templates/web/base/reports/index.html:23
+msgid "All time"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:20
+msgid "Alternatively, we can hide your name on <strong>all of your reports and updates</strong> across the site:"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:47
msgid "An update marked this problem as fixed."
msgstr "Una actualización marcó este problema como arreglado."
@@ -392,31 +399,33 @@ msgstr "Una actualización marcó este problema como arreglado."
msgid "Anonymous"
msgstr "Anónimo"
-#: templates/web/base/admin/report_edit.html:134
+#: templates/web/base/report/new/form_user_loggedin.html:21
+#: templates/web/base/report/update/form_name.html:17
+#, fuzzy
+msgid "Anonymous user"
+msgstr "Anónimo"
+
+#: templates/web/base/admin/report_edit.html:122
#: templates/web/base/admin/update_edit.html:23
msgid "Anonymous:"
msgstr "Anónimo:"
-#: templates/web/base/report/new/form_user_loggedin.html:20
-#: templates/web/base/report/update/form_name.html:13
+#: templates/web/base/report/new/form_user_loggedin.html:24
+#: templates/web/base/report/update/form_name.html:14
msgid "Another user"
msgstr "Otro usuario"
-#: templates/web/base/front/footer-marketing.html:16
-msgid "Are you a developer?"
-msgstr "¿Es usted programador(a)?"
-
-#: templates/web/base/js/translation_strings.html:56
+#: templates/web/base/js/translation_strings.html:59
msgid "Are you sure you want to cancel this upload?"
msgstr "¿Está seguro(a) que quiere cancelar esta carga?"
#: templates/web/base/admin/report_edit.html:84
-#: templates/web/base/js/translation_strings.html:66
+#: templates/web/base/js/translation_strings.html:69
#: templates/web/base/report/display_tools.html:6
msgid "Are you sure?"
msgstr "¿Está seguro(a)?"
-#: templates/web/base/admin/body-form.html:75
+#: templates/web/base/admin/body-form.html:77
#: templates/web/base/admin/body.html:20
#: templates/web/zurich/admin/body-form.html:24
msgid "Area covered"
@@ -448,11 +457,11 @@ msgstr "Asignar a un órgano externo:"
msgid "Assign to subdivision:"
msgstr "Asigne a la subdivisión:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:727
+#: perllib/FixMyStreet/Cobrand/Default.pm:732
msgid "Assign users to areas"
msgstr "Asignar usuarios a las áreas"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:214
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:219
msgid "Assigned to %s"
msgstr "Asignado a %s"
@@ -473,11 +482,14 @@ msgstr "Usuarios del personal autorizado pueden estar asociados a las categoría
msgid "Auto-response:"
msgstr "Respuesta automática:"
-#: templates/web/base/admin/report_edit.html:127
-#: templates/web/base/report/_inspect.html:47
+#: templates/web/base/admin/report-category.html:8
msgid "Available categories"
msgstr "Categorías disponibles"
+#: templates/web/base/reports/index.html:84
+msgid "Average time between a problem being reported and being fixed, last 100 reports."
+msgstr ""
+
#: templates/web/base/dashboard/index.html:109
msgid "Average time to council marking fixed (days)"
msgstr "El tiempo promedio de arreglar un problema (en días)"
@@ -490,7 +502,7 @@ msgstr "El tiempo promedio del primero cambio del estado "
msgid "Avoid personal information and vehicle number plates"
msgstr "Evitar información personal y las placas de matrícula de los carros"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:417
+#: perllib/FixMyStreet/DB/Result/Problem.pm:344
#: templates/web/zurich/report/_item.html:9
msgid "Awaiting moderation"
msgstr "En espera de revisión"
@@ -503,13 +515,13 @@ msgstr "Atras"
msgid "Back to all reports"
msgstr "Volver a todos los informes"
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
msgid "Ban email address"
msgstr "Suspender este email"
#: perllib/FixMyStreet/Cobrand/Default.pm:650
-#: perllib/FixMyStreet/Cobrand/Default.pm:729
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
+#: perllib/FixMyStreet/Cobrand/Default.pm:734
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:396
#: templates/web/base/admin/bodies.html:1
#: templates/web/base/admin/report_edit.html:55
#: templates/web/zurich/header.html:56
@@ -531,7 +543,11 @@ msgstr "Órgano administrativo:"
msgid "By Date"
msgstr "Por Fecha"
-#: templates/web/base/auth/token.html:21 templates/web/base/email_sent.html:18
+#: templates/web/base/admin/extra-metadata-form.html:36
+msgid "Can be used to display extra text to the user alongside the field. The default template does not show this (<code>meta.datatype_description</code>), you must add it in <code>category_extras_fields.html</code>"
+msgstr ""
+
+#: templates/web/base/auth/token.html:27 templates/web/base/email_sent.html:20
msgid "Can&rsquo;t find our email? Check your spam folder&nbsp;&ndash; that&rsquo;s the solution 99% of the time."
msgstr "¿No puedes encontrar nuestro email? Busque en su folder de email basura&nbsp;&ndash; esa es la solución 99% del tiempo."
@@ -552,8 +568,8 @@ msgstr "Categorías:"
#: templates/web/base/admin/body.html:72
#: templates/web/base/admin/contact-form.html:19
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/report/_inspect.html:38
-#: templates/web/base/report/_item.html:90
+#: templates/web/base/report/_inspect.html:48
+#: templates/web/base/report/_item.html:92
#: templates/web/base/report/new/category.html:6
#: templates/web/base/report/new/category_wrapper.html:3
#: templates/web/zurich/admin/body.html:14
@@ -564,7 +580,7 @@ msgstr "Categorías:"
msgid "Category"
msgstr "Categoría"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:852
+#: perllib/FixMyStreet/App/Controller/Admin.pm:956
msgid "Category changed from ‘%s’ to ‘%s’"
msgstr "Categoría cambiada de ‘%s’ a ‘%s’"
@@ -604,27 +620,11 @@ msgstr "Cambiar dirección de email"
msgid "Change password"
msgstr "Cambiar contraseña"
-#: templates/web/base/admin/contact-form.html:41
-msgid ""
-"Check <strong>confirmed</strong> to indicate that this contact has been confirmed as correct.\n"
-" If you are not sure of the origin or validity of the contact, leave this unchecked."
-msgstr ""
-"Marcar <strong>confirmado</strong> para indicar que este contacto se ha confirmado como correcto.\n"
-"Si no está seguro del origen o la validez del contacto, deje esta casilla sin marcar."
-
-#: templates/web/base/admin/contact-form.html:52
-msgid ""
-"Check <strong>deleted</strong> to remove the category from use. \n"
-" It will not appear as an available category in the drop-down menu on the report-a-problem page."
-msgstr ""
-"Marcar <strong>borrado</strong> para dejar de usar la categoría. \n"
-"Dejará de aparecer en el menú desplegable que se muestra al notificar los problemas."
-
-#: templates/web/base/admin/contact-form.html:79
+#: templates/web/base/admin/contact-form.html:80
msgid "Check <strong>inspection required</strong> if reports in this category <strong>must be inspected</strong> before being sent."
msgstr "Marcar <strong>la inspección requerida</strong> si se reporta en esta categoría<strong>debe ser inspeccionada</strong> antes de ser enviada."
-#: templates/web/base/admin/contact-form.html:63
+#: templates/web/base/admin/contact-form.html:64
msgid ""
"Check <strong>private</strong> if reports in this category should <strong>never be displayed on the website</strong>.\n"
" <br>\n"
@@ -650,11 +650,11 @@ msgstr ""
"Elegir un nombre de <strong>categoria</strong> que tenga sentido para el público (por ejemplo, \"baches\", \"alumbrado público\") y que sea también útil\n"
"para el organismo administrativo. Las categorías aparecerán en un menú desplegable al notificar un problema."
-#: templates/web/base/report/_inspect.html:93
+#: templates/web/base/report/_inspect.html:103
msgid "Choose another"
msgstr "Elija otro"
-#: templates/web/base/js/translation_strings.html:65
+#: templates/web/base/js/translation_strings.html:68
msgid "Clear offline data"
msgstr "Eliminar datos sin conexión"
@@ -679,21 +679,22 @@ msgstr "Haga un clic en nuestro email de confirmación para publicar su problema
msgid "Click the link in our confirmation email to publish your update."
msgstr "Haga un clic en nuestro email de confirmación para publicar su actualización."
-#: templates/web/base/auth/token.html:18
+#: templates/web/base/auth/token.html:23
msgid "Click the link in our confirmation email to sign in."
msgstr "Haga un clic en nuestro email de confirmación para iniciar sesión."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:189
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:960
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:17
-#: templates/web/base/admin/report_blocks.html:27
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:43
-#: templates/web/base/report/banner.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:18
+#: templates/web/base/auth/token.html:20
+#, fuzzy
+msgid "Click the link in that email to sign in."
+msgstr "Haga un clic en nuestro email de confirmación para iniciar sesión."
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:134
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:194
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:965
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:11
+#: templates/web/base/admin/states/index.html:103
+#: templates/web/base/admin/states/index.html:27
+#: templates/web/base/admin/states/index.html:33
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:10
#: templates/web/zurich/admin/header.html:16
@@ -701,23 +702,17 @@ msgstr "Haga un clic en nuestro email de confirmación para iniciar sesión."
msgid "Closed"
msgstr "Cerrada"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:889
+#: perllib/FixMyStreet/DB/Result/Problem.pm:826
msgid "Closed by council"
msgstr "Cerrada por el Ayuntamiento"
-#: templates/web/base/reports/_list-filters.html:13
-msgid "Closed reports"
-msgstr "Informes cerrados"
-
-#: templates/web/base/admin/problem_row.html:38
-msgid "Closed:"
-msgstr "Cerrada:"
-
#: templates/web/base/admin/report_edit.html:37
msgid "Co-ordinates:"
msgstr "Coordenadas:"
#: templates/web/base/admin/list_updates.html:10
+#: templates/web/base/admin/reportextrafields/edit.html:24
+#: templates/web/base/admin/reportextrafields/index.html:7
msgid "Cobrand"
msgstr "Cobrand"
@@ -731,10 +726,13 @@ msgstr "Datos cobrand:"
msgid "Cobrand:"
msgstr "Cobrand:"
+#: templates/web/base/admin/extra-metadata-form.html:14
+msgid "Code"
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:50
-#, fuzzy
msgid "Collapse map"
-msgstr "Mapa usado"
+msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:646
#: templates/web/base/admin/config_page.html:1
@@ -762,9 +760,8 @@ msgstr "Como alternativa confirme por email, para lo cual tendrá que indicar un
msgid "Confirmation"
msgstr "Confirmación"
-#: templates/web/base/admin/body.html:85
-#: templates/web/base/admin/category_edit.html:54
-#: templates/web/base/admin/contact-form.html:47
+#: templates/web/base/admin/contact-form.html:56
+#: templates/web/zurich/admin/contact-form.html:12
#: templates/web/zurich/admin/stats.html:40
msgid "Confirmed"
msgstr "Confirmado"
@@ -799,8 +796,8 @@ msgstr "Contactar con el equipo"
msgid "Coordinates:"
msgstr "Coordenadas:"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1668
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1696
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1773
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1801
msgid "Could not find user"
msgstr "No se pudo encontrar el usuario"
@@ -820,33 +817,28 @@ msgstr "Contactos del ayuntamiento para %s"
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:83
-#, fuzzy
msgid "Council has marked as closed"
-msgstr "marcado como cerrado"
+msgstr ""
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:57
-#, fuzzy
msgid "Council has marked as fixed"
-msgstr "marcado como arreglado"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:80
-#, fuzzy
msgid "Council has marked as in progress"
-msgstr "marcado como en progreso"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:82
-#, fuzzy
msgid "Council has marked as investigating"
-msgstr "marcado como en investigación"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:81
-#, fuzzy
msgid "Council has marked as planned"
-msgstr "marcado como planificado"
+msgstr ""
#: templates/web/base/report/_council_sent_info.html:6
msgid "Council ref:&nbsp;%s"
@@ -863,24 +855,34 @@ msgstr "Ayuntamiento:"
msgid "Count"
msgstr "Total"
+#: templates/web/base/admin/states/index.html:114
+#, fuzzy
+msgid "Create"
+msgstr "Creado"
+
#: templates/web/base/email_sent.html:1
msgid "Create a report"
msgstr "Crear una notificación"
-#: templates/web/base/admin/contact-form.html:137
+#: templates/web/base/admin/contact-form.html:138
#: templates/web/zurich/admin/body.html:62
msgid "Create category"
msgstr "Crear una categoría"
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/responsepriorities/edit.html:58
msgid "Create priority"
msgstr "Crear prioridad"
-#: perllib/FixMyStreet/Cobrand/Default.pm:714
+#: perllib/FixMyStreet/Cobrand/Default.pm:718
+#, fuzzy
+msgid "Create reports/updates as anonymous user"
+msgstr "Crear informes/actualizaciones en nombre del usuario"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:719
msgid "Create reports/updates as the council"
msgstr "Crear informes/actualizaciones como ayuntamiento"
-#: perllib/FixMyStreet/Cobrand/Default.pm:713
+#: perllib/FixMyStreet/Cobrand/Default.pm:717
msgid "Create reports/updates on a user's behalf"
msgstr "Crear informes/actualizaciones en nombre del usuario"
@@ -910,13 +912,15 @@ msgstr "Estado actual"
msgid "Currently no bodies have been created."
msgstr "No se han creado organismos aún."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:825
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:830
#: templates/web/zurich/admin/report_edit-sdm.html:105
msgid "Customer not contactable"
msgstr "Cliente imposible de contactar"
#: templates/web/base/dashboard/index.html:5
#: templates/web/base/dashboard/index.html:7
+#: templates/web/base/reports/index.html:15
+#: templates/web/base/reports/index.html:18
msgid "Dashboard"
msgstr "Tablero de control"
@@ -924,29 +928,37 @@ msgstr "Tablero de control"
msgid "Dealt with by subdivision within 5 working days"
msgstr "Tratado por el departamento dentro de los 5 días hábiles"
-#: templates/web/base/report/_inspect.html:73
+#: templates/web/base/admin/responsepriorities/list.html:9
+msgid "Default"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:39
+#, fuzzy
+msgid "Default priority"
+msgstr "Crear prioridad"
+
+#: templates/web/base/report/_inspect.html:72
msgid "Defect type"
msgstr "Tipo de defecto"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:973
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1078
#: templates/web/base/admin/template_edit.html:50
#: templates/web/zurich/admin/template_edit.html:33
msgid "Delete template"
msgstr "Eliminar plantilla"
#: templates/web/base/admin/bodies.html:31
-#: templates/web/base/admin/body.html:87
-#: templates/web/base/admin/category_edit.html:55
#: templates/web/base/admin/contact-form.html:58
-#: templates/web/zurich/admin/contact-form.html:12
+#: templates/web/zurich/admin/contact-form.html:13
msgid "Deleted"
msgstr "Eliminado"
-#: templates/web/base/report/_main.html:110
-#: templates/web/base/report/update.html:59
+#: templates/web/base/report/_main.html:114
+#: templates/web/base/report/update.html:68
msgid "Describe why you are moderating this"
msgstr "Describe el motivo de la moderación"
+#: templates/web/base/admin/extra-metadata-form.html:32
#: templates/web/base/admin/responsepriorities/list.html:7
#: templates/web/zurich/admin/index-dm.html:22
#: templates/web/zurich/admin/index-sdm.html:20
@@ -970,7 +982,7 @@ msgstr "Detalles"
msgid "Details:"
msgstr "Detalles:"
-#: templates/web/base/admin/body.html:93
+#: templates/web/base/admin/body.html:92
msgid "Devolved"
msgstr "Transferido"
@@ -983,8 +995,8 @@ msgstr "No usó el mapa"
msgid "Diligency prize league table"
msgstr "Ranking de premios a la constancia"
-#: templates/web/base/report/_main.html:114
-#: templates/web/base/report/update.html:61
+#: templates/web/base/report/_main.html:118
+#: templates/web/base/report/update.html:70
msgid "Discard changes"
msgstr "Desechar cambios"
@@ -993,7 +1005,7 @@ msgid "Do not send email alerts on fetched comments to problem creator"
msgstr "No enviar alertas por email en los comentarios recopilados para el creador del problema"
#. ("%s is the site name")
-#: templates/web/base/auth/general.html:58
+#: templates/web/base/auth/general.html:60
#: templates/web/base/report/new/form_user_loggedout.html:25
#: templates/web/base/report/new/oauth_email_form.html:18
#: templates/web/base/report/update-form.html:30
@@ -1001,40 +1013,33 @@ msgstr "No enviar alertas por email en los comentarios recopilados para el cread
msgid "Do you have a %s password?"
msgstr "¿Tiene una contraseña %s?"
+#: templates/web/base/report/_inspect.html:87
+msgid "Do you want to automatically raise a defect?"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:57
msgid "Don&rsquo;t know"
msgstr "No lo sé"
-#: templates/web/base/contact/index.html:108
+#: templates/web/base/contact/index.html:112
msgid "Don't like forms?"
msgstr "¿No te gustan los formularios?"
-#: templates/web/base/report/_item.html:25
+#: templates/web/base/report/_item.html:27
msgid "Down one"
msgstr ""
-#: templates/web/base/js/translation_strings.html:55
+#: templates/web/base/js/translation_strings.html:58
msgid "Drag and drop photos here or <u>click to upload</u>"
msgstr "Deslice y deje las fotos aquí o <u>haga clic para subir</u>"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:10
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "Duplicate"
-msgstr "Duplicado"
-
-#: templates/web/base/report/_inspect.html:88
-#, fuzzy
+#: templates/web/base/report/_inspect.html:98
msgid "Duplicate of"
-msgstr "Duplicado"
+msgstr ""
-#: templates/web/base/report/_inspect.html:98
-#, fuzzy
+#: templates/web/base/report/_inspect.html:108
msgid "Duplicates"
-msgstr "Duplicado"
+msgstr ""
#: templates/web/base/admin/body.html:116
msgid ""
@@ -1047,43 +1052,43 @@ msgstr ""
"Diferentes categorías <strong>pueden tener el mismo contacto</strong>.\n"
"Esto significa que puede agregar muchas categorías incluso si tiene un solo contacto para el órgano."
-#: templates/web/base/report/_inspect.html:16
-#: templates/web/base/report/_item.html:81
+#: templates/web/base/report/_inspect.html:26
+#: templates/web/base/report/_item.html:83
msgid "Easting/Northing:"
msgstr "Falso este/Falso norte:"
#: templates/web/base/admin/list_updates.html:42
#: templates/web/base/admin/problem_row.html:41
-#: templates/web/base/admin/responsepriorities/list.html:26
+#: templates/web/base/admin/responsepriorities/list.html:28
#: templates/web/base/admin/templates.html:22
#: templates/web/base/admin/users.html:34
#: templates/web/zurich/admin/problem_row.html:48
msgid "Edit"
msgstr "Editar"
-#: templates/web/base/admin/body.html:140
+#: templates/web/base/admin/body.html:141
#: templates/web/base/admin/index.html:39
#: templates/web/zurich/admin/body.html:69
msgid "Edit body details"
msgstr "Editar los detalles del órgano administrativo"
-#: perllib/FixMyStreet/Cobrand/Default.pm:724
+#: perllib/FixMyStreet/Cobrand/Default.pm:729
msgid "Edit other users' details"
msgstr "Editar los detalles de otros usuarios"
-#: perllib/FixMyStreet/Cobrand/Default.pm:725
+#: perllib/FixMyStreet/Cobrand/Default.pm:730
msgid "Edit other users' permissions"
msgstr "Editar los permisos de otros usuarios"
-#: perllib/FixMyStreet/Cobrand/Default.pm:708
+#: perllib/FixMyStreet/Cobrand/Default.pm:712
msgid "Edit report category"
msgstr "Editar la categoría del informe"
-#: perllib/FixMyStreet/Cobrand/Default.pm:709
+#: perllib/FixMyStreet/Cobrand/Default.pm:713
msgid "Edit report priority"
msgstr "Editar la prioridad del informe"
-#: perllib/FixMyStreet/Cobrand/Default.pm:707
+#: perllib/FixMyStreet/Cobrand/Default.pm:711
msgid "Edit reports"
msgstr "Editar los informes"
@@ -1106,15 +1111,15 @@ msgstr "Editando la actualización %d"
msgid "Editing user %d"
msgstr "Editando el usuario %d"
-#: templates/web/base/admin/category_edit.html:56
+#: templates/web/base/admin/category_edit.html:30
msgid "Editor"
msgstr "Editor"
#: templates/web/base/admin/bodies.html:27
-#: templates/web/base/admin/category_edit.html:53
+#: templates/web/base/admin/category_edit.html:28
#: templates/web/base/admin/flagged.html:38
#: templates/web/base/admin/users.html:17
-#: templates/web/base/auth/general.html:49
+#: templates/web/base/auth/general.html:51
#: templates/web/zurich/admin/body-form.html:9
#: templates/web/zurich/admin/body.html:15
#: templates/web/zurich/auth/general.html:24
@@ -1122,13 +1127,14 @@ msgstr "Editor"
msgid "Email"
msgstr "Email:"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1644
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1749
msgid "Email added to abuse list"
msgstr "Email añadido a lista de abusones"
-#: templates/web/base/admin/contact-form.html:36
-#: templates/web/base/report/new/form_user_loggedin.html:28
-#: templates/web/base/report/update/form_name.html:19
+#: templates/web/base/admin/contact-form.html:38
+#: templates/web/base/alert/_list.html:74
+#: templates/web/base/report/new/form_user_loggedin.html:32
+#: templates/web/base/report/update/form_name.html:23
msgid "Email address"
msgstr "Dirección de email"
@@ -1140,11 +1146,11 @@ msgstr "Creada alerta de email"
msgid "Email alert deleted"
msgstr "Borrada alerta de email"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1641
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1746
msgid "Email already in abuse list"
msgstr "Email ya incluido en la lista de abusones"
-#: templates/web/base/admin/report_edit.html:141
+#: templates/web/base/admin/report_edit.html:129
#: templates/web/base/admin/update_edit.html:35
#: templates/web/base/admin/user-form.html:19
#: templates/web/zurich/admin/body.html:48
@@ -1169,8 +1175,8 @@ msgstr ""
"Para obtener más información, consulte\n"
"<a href='https://www.mysociety.org/2013/02/20/open311-extended/' class='admin-offsite-link'>este documento</a>."
-#: templates/web/base/admin/body-form.html:120
-#: templates/web/base/admin/body-form.html:121
+#: templates/web/base/admin/body-form.html:122
+#: templates/web/base/admin/body-form.html:123
msgid ""
"Enable this <strong>can be devolved</strong> setting if one or more contacts have a \n"
" different endpoint (and send method) from the body's. For example, if reports for some categories of\n"
@@ -1188,11 +1194,11 @@ msgstr "Fecha final:"
msgid "Endpoint"
msgstr "Punto final"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:76
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:81
msgid "Enter a Z&uuml;rich street name"
msgstr "Introduzca un nombre de calle de Z&uuml;rich"
-#: perllib/FixMyStreet/Cobrand/UK.pm:15
+#: perllib/FixMyStreet/Cobrand/UK.pm:16
msgid "Enter a nearby UK postcode, or street name and area"
msgstr "Introduzca un código postal cercano, o el nombre de la calle y el área"
@@ -1201,12 +1207,13 @@ msgstr "Introduzca un código postal cercano, o el nombre de la calle y el área
msgid "Enter a nearby postcode, or street name and area"
msgstr "Introduzca un código postal cercano, o el nombre de la calle y el área"
+#: perllib/FixMyStreet/Cobrand/DansMonQwat.pm:14
#: templates/web/base/around/postcode_form.html:5
#: templates/web/base/around/postcode_form.html:6
msgid "Enter a nearby street name and area"
msgstr "Introduzca el nombre de una calle cercana"
-#: templates/web/base/auth/general.html:116
+#: templates/web/base/auth/general.html:118
#: templates/web/base/report/new/form_user_loggedout_by_email.html:35
#: templates/web/base/report/update/form_user_loggedout_by_email.html:13
#: templates/web/zurich/auth/general.html:65
@@ -1226,8 +1233,8 @@ msgstr "Introduzca detalles del problema"
msgid "Error"
msgstr "Error"
-#: templates/web/base/reports/_list-filters.html:20
-#: templates/web/base/reports/_list-filters.html:28
+#: templates/web/base/reports/_list-filters.html:31
+#: templates/web/base/reports/_list-filters.html:39
msgid "Everything"
msgstr "Todo"
@@ -1240,8 +1247,7 @@ msgstr "Ejemplo de código postal %s"
msgid "Examples:"
msgstr "Ejemplos:"
-#: templates/web/base/admin/report_edit.html:122
-#: templates/web/base/report/_inspect.html:42
+#: templates/web/base/admin/report-category.html:3
msgid "Existing category"
msgstr "Categoría existente"
@@ -1249,17 +1255,16 @@ msgstr "Categoría existente"
msgid "Expand map"
msgstr ""
-#: templates/web/base/report/new/form_report.html:52
+#: templates/web/base/report/new/form_report.html:54
msgid "Explain what’s wrong"
msgstr "Explicar el problema"
-#: templates/web/base/dashboard/index.html:146
-#, fuzzy
+#: templates/web/base/dashboard/index.html:147
msgid "Export as CSV"
-msgstr "Todos los informes como CSV"
+msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:913
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:179
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:12
msgid "Extern"
@@ -1270,7 +1275,7 @@ msgstr "Externo"
msgid "External ID"
msgstr "ID externo"
-#: templates/web/base/admin/body-form.html:87
+#: templates/web/base/admin/body-form.html:89
msgid "External URL"
msgstr "URL Externo"
@@ -1282,13 +1287,20 @@ msgstr "Organismo administrativo externo"
msgid "External team"
msgstr "Equipo externo"
-#: templates/web/base/admin/category_edit.html:25
+#: perllib/FixMyStreet/Cobrand/Default.pm:673
+#: templates/web/base/admin/reportextrafields/edit.html:1
+#: templates/web/base/admin/reportextrafields/index.html:1
+#, fuzzy
+msgid "Extra Fields"
+msgstr "Detalles adicionales"
+
+#: templates/web/base/admin/contact-form.html:141
#: templates/web/base/admin/report_edit.html:94
msgid "Extra data:"
msgstr "Datos adicionales:"
-#: templates/web/base/report/_inspect.html:134
-#: templates/web/base/report/_item.html:106
+#: templates/web/base/report/_inspect.html:144
+#: templates/web/base/report/_item.html:108
msgid "Extra details"
msgstr "Detalles adicionales"
@@ -1296,6 +1308,11 @@ msgstr "Detalles adicionales"
msgid "Failed to send message"
msgstr "Fallo en el envío del mensaje"
+#: templates/web/base/admin/reportextrafields/edit.html:58
+#: templates/web/base/admin/reportextrafields/index.html:9
+msgid "Fields"
+msgstr ""
+
#: templates/web/zurich/admin/index-dm.html:33
#: templates/web/zurich/admin/index-sdm.html:30
msgid "Filter report list"
@@ -1309,52 +1326,32 @@ msgstr "Primera vez"
msgid "Fix this by choosing an <strong>area covered</strong> in the <em>Edit body details</em> form below."
msgstr "Arreglar esto eligiendo un <strong>área cubierta</strong> en el formulario <em>Editar detalles del organismo</em> a continuación."
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:11
-#: templates/web/base/admin/report_blocks.html:26
+#: perllib/FixMyStreet/App/Controller/Admin/States.pm:35
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:133
+#: templates/web/base/admin/states/index.html:29
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:41
-#: templates/web/base/report/banner.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:17
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:45
msgid "Fixed"
msgstr "Arreglado"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:13
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:7
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:62
msgid "Fixed - Council"
msgstr "Arreglado - Ayuntamiento"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:12
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:63
msgid "Fixed - User"
msgstr "Arreglado - Usuario"
-#: templates/web/base/reports/_list-filters.html:14
-msgid "Fixed reports"
-msgstr "Informes arreglados"
-
-#: templates/web/base/admin/problem_row.html:37
-msgid "Fixed:"
-msgstr "Arreglado:"
-
-#: templates/web/base/admin/body-form.html:95
-#: templates/web/base/admin/responsepriorities/edit.html:41
+#: templates/web/base/admin/body-form.html:97
+#: templates/web/base/admin/responsepriorities/edit.html:53
#: templates/web/zurich/admin/body-form.html:36
msgid "Flag as deleted"
msgstr "Marcar como borrado"
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/report_blocks.html:23
msgid "Flag user"
msgstr "Marca usuario"
-#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: perllib/FixMyStreet/Cobrand/Default.pm:644
#: templates/web/base/admin/users.html:20
msgid "Flagged"
msgstr "Marcado"
@@ -1371,7 +1368,7 @@ msgstr "Los usuarios marcados se listan en página de<a href='%s'>marcados</a>"
msgid "Flagged users are not restricted in any way. This is just a list of users that have been marked for attention."
msgstr "Las capacidades de los \"usuarios marcados\" no se limitan de ninguna manera. Es solo una lista de usuarios que han sido marcado para observación."
-#: templates/web/base/admin/report_edit.html:147
+#: templates/web/base/admin/report_edit.html:135
#: templates/web/base/admin/user-form.html:100
msgid "Flagged:"
msgstr "Marcado:"
@@ -1384,21 +1381,25 @@ msgstr "Haga clic en el enlace de un barrio para ver solo sus notificaciones."
msgid "For best results include a close-up and a wide shot"
msgstr "Para mejores resultados incluya una toma en close-up y una abierta"
-#: templates/web/base/admin/body-form.html:71
+#: templates/web/base/admin/extra-metadata-form.html:52
+msgid "For each option, <strong>Key</strong> is the value which is stored in the database for that option and <strong>Name</strong> is the value displayed to the user."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:73
msgid "For more information, see <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
msgstr "Para más información, vea <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>Cómo FixMyStreet usa Mapit</a>."
-#: templates/web/base/auth/general.html:95
+#: templates/web/base/auth/general.html:97
#: templates/web/base/report/new/form_user_loggedout_password.html:20
#: templates/web/base/report/update/form_user_loggedout_password.html:19
msgid "Forgotten your password?"
msgstr "¿Olvidó su contraseña?"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:743
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:748
msgid "Forwarded to external body"
msgstr "Reenviado al organismo administrativo externo"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:744
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:749
msgid "Forwarded wish to external body"
msgstr "Deseo reenviado al organismo administrativo externo"
@@ -1408,6 +1409,10 @@ msgstr "Deseo reenviado al organismo administrativo externo"
msgid "Frequently Asked Questions"
msgstr "Listado de Preguntas Frecuentes"
+#: templates/web/base/admin/stats.html:102
+msgid "Get Count"
+msgstr ""
+
#: templates/web/base/around/_updates.html:3
#: templates/web/base/report/display_tools.html:14
msgid "Get updates"
@@ -1423,10 +1428,14 @@ msgstr "Recibe actualizaciones de los problemas %s"
msgid "Get updates of problems in this %s"
msgstr "Recibe actualizaciones de los problemas en este %s"
-#: templates/web/base/alert/_list.html:83
+#: templates/web/base/alert/_list.html:85
msgid "Give me an RSS feed"
msgstr "Proporcióname un listado RSS"
+#: templates/web/base/admin/reportextrafields/edit.html:6
+msgid "Give this collection of fields a name. It is not shown publicly, just here in the admin."
+msgstr ""
+
#: templates/web/base/questionnaire/completed.html:14
msgid "Glad to hear it’s been fixed!"
msgstr "¡Nos alegra saber que ha sido arreglado!"
@@ -1436,8 +1445,9 @@ msgstr "¡Nos alegra saber que ha sido arreglado!"
#: templates/web/base/admin/index.html:49
#: templates/web/base/alert/index.html:34
#: templates/web/base/around/postcode_form.html:13
-#: templates/web/base/reports/_list-filters.html:38
-#: templates/web/base/reports/_list-filters.html:53
+#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:64
+#: templates/web/base/reports/index.html:75
#: templates/web/zurich/admin/stats.html:26
msgid "Go"
msgstr "Ir"
@@ -1446,7 +1456,7 @@ msgstr "Ir"
msgid "Going to send questionnaire?"
msgstr "¿Va a enviar cuestionario?"
-#: perllib/FixMyStreet/Cobrand/Default.pm:726
+#: perllib/FixMyStreet/Cobrand/Default.pm:731
msgid "Grant access to the admin"
msgstr "Permitir el acceso al administrador"
@@ -1454,10 +1464,6 @@ msgstr "Permitir el acceso al administrador"
msgid "Graph of problem creation by status over time"
msgstr "Gráfico temporal de creación problemas por estado"
-#: templates/web/base/reports/index.html:15
-msgid "Greyed-out lines are councils that no longer exist."
-msgstr "Las líneas de color gris corresponden a áreas de organismos que ya no existen."
-
#: templates/web/base/questionnaire/index.html:48
msgid "Has this problem been fixed?"
msgstr "¿Ha sido corregido este problema?"
@@ -1468,7 +1474,7 @@ msgstr "¿Alguna vez informó de un problema a un Ayuntamiento antes, o es su pr
#: templates/web/base/main_nav_items.html:40
#: templates/web/zurich/about/faq-de-ch.html:1
-#: templates/web/zurich/footer.html:23
+#: templates/web/zurich/footer.html:22
#: templates/web/zurich/nav_over_content.html:8
msgid "Help"
msgstr "Ayuda"
@@ -1478,22 +1484,13 @@ msgstr "Ayuda"
msgid "Help <strong>%s</strong> resolve your problem quicker, by providing some extra detail. This extra information will not be published online."
msgstr "Ayuda <strong>%s</strong>para resolver su problema más rápido, indique detalles adicionales. Esta información adicional no será publicada online."
-#: templates/web/base/alert/_list.html:9
-msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
-msgstr "Estos son los tipos de notificaciones de incidencias locales para '%s'."
-
-#: templates/web/zurich/footer.html:12
+#: templates/web/zurich/footer.html:11
msgid "Hi %s"
msgstr "%s"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:906
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:19
-#: templates/web/base/admin/report_blocks.html:28
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:911
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:60
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:19
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:11
#: templates/web/zurich/admin/stats.html:32
@@ -1501,15 +1498,33 @@ msgstr "%s"
msgid "Hidden"
msgstr "Oculto"
-#: templates/web/base/report/_main.html:105
+#: templates/web/base/report/_main.html:109
msgid "Hide entire report"
msgstr "Ocultar el reporte entero"
+#: templates/web/base/my/anonymize.html:1
+#: templates/web/base/my/anonymize.html:2
+msgid "Hide my name"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:21
+msgid "Hide my name everywhere"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:10
+msgid "Hide my name in this update"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:16
+msgid "Hide my name on this report"
+msgstr ""
+
#: templates/web/base/around/display_location.html:67
msgid "Hide old"
msgstr "Ocultar antiguos"
#: templates/web/base/around/display_location.html:62
+#: templates/web/base/js/translation_strings.html:55
msgid "Hide pins"
msgstr "Ocultar marcadores"
@@ -1517,7 +1532,16 @@ msgstr "Ocultar marcadores"
msgid "Hide update completely?"
msgstr "Ocultar actualización entero"
-#: templates/web/base/admin/category_edit.html:49
+#: templates/web/base/report/_report_meta_info.html:3
+#: templates/web/base/report/update.html:55
+msgid "Hide your name?"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:38
+msgid "Hint"
+msgstr ""
+
+#: templates/web/base/admin/category_edit.html:24
msgid "History"
msgstr "Historial"
@@ -1534,12 +1558,12 @@ msgid "How to send successful reports"
msgstr "¿Cómo enviar informes exitosos?"
#: templates/web/base/tokens/confirm_problem.html:36
-#: templates/web/base/tokens/confirm_problem.html:40
+#: templates/web/base/tokens/confirm_problem.html:41
msgid "I just reported a problem on @fixmystreet"
msgstr "Acabo de informar de un problema en @fixmystreet"
-#: templates/web/base/tokens/confirm_update.html:19
-#: templates/web/base/tokens/confirm_update.html:23
+#: templates/web/base/tokens/confirm_update.html:20
+#: templates/web/base/tokens/confirm_update.html:25
msgid "I just updated a problem on @fixmystreet"
msgstr "Acabo de actualizar un problema en @fixmystreet"
@@ -1559,8 +1583,8 @@ msgstr "No se ha podido localizar su problema en la base de datos.\n"
msgid "ID"
msgstr "ID"
-#: templates/web/base/admin/body-form.html:30
-#: templates/web/base/admin/body-form.html:31
+#: templates/web/base/admin/body-form.html:32
+#: templates/web/base/admin/body-form.html:33
msgid ""
"Identify a <strong>parent</strong> if this body is itself part of another body.\n"
" For basic installations, you don't need to join bodies in this way."
@@ -1568,10 +1592,18 @@ msgstr ""
"Identificar una <strong>sub-organismos</strong> si este organismo forma parte de otro organismo.\n"
"Para las instalaciones básicas, no necesita asociar los organismos de esta manera."
+#: templates/web/base/auth/token.html:19
+msgid "If there's a user associated with the address you entered, we've sent a confirmation email."
+msgstr ""
+
#: templates/web/base/admin/responsepriorities/edit.html:23
msgid "If this priority is passed to an external service (e.g. Exor/Confirm) enter the priority code to use with that service here."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:24
+msgid "If ticked the user won’t see an input field, just the ‘Description’ text."
+msgstr ""
+
#: templates/web/base/admin/contact-form.html:14
msgid ""
"If two or more bodies serve the same location, FixMyStreet combines identical categories into a single entry in\n"
@@ -1584,7 +1616,7 @@ msgstr ""
msgid "If you get some more information about the status of your problem, please come back to the site and leave an update."
msgstr "Si usted consigue algo más de información sobre el estado del problema, por favor regrese a esta web y añádale una actualización."
-#: templates/web/base/admin/responsepriorities/edit.html:33
+#: templates/web/base/admin/responsepriorities/edit.html:45
msgid "If you only want this priority to be an option for specific categories, pick them here. By default they will show for all categories."
msgstr "Si quiere que esta prioridad sea una opción para categorías específicas, elíjalas aquí. Como valor predeterminado se mostrarán todas las categorías."
@@ -1609,7 +1641,7 @@ msgstr ""
"Si desea abandonar la actualización pública del problema, por favor introdúzcalo aquí\n"
"(por favor, tenga en cuenta que no será enviado al ayuntamiento)."
-#: templates/web/base/admin/contact-form.html:30
+#: templates/web/base/admin/contact-form.html:32
msgid "If you're using <strong>a send method that is not email</strong>, enter the service ID (Open311) or equivalent identifier here."
msgstr "Si utiliza <strong> un método de envío distinto del email</strong>, introduzca el ID de servicio (Open311) o identificador equivalente aquí."
@@ -1644,7 +1676,7 @@ msgstr ""
"<strong>usuario</strong> de CuidoMiCiudad aparece como creador de dichas actualizaciones\n"
"en esta web. Introduzca el ID (número) del usuario."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:133
+#: perllib/FixMyStreet/App/Controller/Contact.pm:134
msgid "Illegal ID"
msgstr "ID incorrecto"
@@ -1652,13 +1684,6 @@ msgstr "ID incorrecto"
msgid "Illegal feed selection"
msgstr "Selección de listado incorrecta"
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "In Progress"
-msgstr "Procesando"
-
#: templates/web/base/admin/flagged.html:39
msgid "In abuse table?"
msgstr "¿En tabla de abusones?"
@@ -1667,18 +1692,17 @@ msgstr "¿En tabla de abusones?"
msgid "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
msgstr "Los siguientes atributos, que no forman parte de la especificación Open311 v2, son adicionalmente devueltos: agency_sent_datetime, title (también se devuelve como parte de la descripción), interface_used, comment_count, requestor_name (solo si el solicitante permitió que el nombre que se mostrará en el sitio)."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:192
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:954
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:9
-#: templates/web/base/report/banner.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:5
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:197
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:959
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:8
msgid "In progress"
msgstr "Procesando"
+#: templates/web/base/admin/contact-form.html:57
+msgid "Inactive"
+msgstr ""
+
#: templates/web/base/tokens/confirm_alert.html:11
msgid "Inbox zero, here we come!"
msgstr "Bandeja de entrada vacía"
@@ -1695,11 +1719,15 @@ msgstr "Incluir notificaciones no confirmadas"
msgid "Incorrect has_photo value \"%s\""
msgstr "Valor incorrecto para has_photo \"%s\""
-#: templates/web/base/admin/contact-form.html:84
+#: templates/web/base/report/_inspect.html:5
+msgid "Inspect report"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:85
msgid "Inspection required"
msgstr "Inspección requerida"
-#: perllib/FixMyStreet/Cobrand/Default.pm:711
+#: perllib/FixMyStreet/Cobrand/Default.pm:715
msgid "Instruct contractors to fix problems"
msgstr "Dar instrucciones a los contratistas para que solucionen los problemas"
@@ -1707,13 +1735,6 @@ msgstr "Dar instrucciones a los contratistas para que solucionen los problemas"
msgid "Internal notes"
msgstr "Notas internas"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:11
-msgid "Internal referral"
-msgstr "Remisión interna"
-
#: templates/web/base/offline/appcache.html:3
msgid "Internet glitch"
msgstr "Fallo de Internet"
@@ -1722,7 +1743,7 @@ msgstr "Fallo de Internet"
msgid "Invalid agency_responsible value %s"
msgstr "Valor inválido para agency_responsible %s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1502
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1607
msgid "Invalid end date"
msgstr "Fecha de fin inválida"
@@ -1730,26 +1751,15 @@ msgstr "Fecha de fin inválida"
msgid "Invalid format %s specified."
msgstr "Especificado un formato no válido %s."
-#: perllib/FixMyStreet/App/Controller/Report.pm:398
+#: perllib/FixMyStreet/App/Controller/Report.pm:409
msgid "Invalid location. New location must be covered by the same council."
msgstr "Ubicación equivocada. Una nueva ubicación debe estar bajo la protección del mismo ayuntamiento."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1498
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1603
msgid "Invalid start date"
msgstr "Fecha de inicio no válida"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:7
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:4
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Investigating"
-msgstr "Investigando"
-
-#: templates/web/base/contact/blurb.html:8
+#: templates/web/base/contact/blurb.html:2
msgid "It's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there."
msgstr "A menudo es más rápido <a href=\"%s\">consultar nuestro Listado de Preguntas Frecuentes</a> y ver si la respuesta está allí."
@@ -1757,37 +1767,59 @@ msgstr "A menudo es más rápido <a href=\"%s\">consultar nuestro Listado de Pre
msgid "It’s on its way to the council right now."
msgstr "De camino al ayuntamiento en este momento."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:177
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:182
msgid "Jurisdiction Unknown"
msgstr "Jurisdicción Desconocida"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:15
msgid "Jurisdiction unknown"
msgstr "Jurisdicción desconocida"
-#: templates/web/base/auth/general.html:91
+#: templates/web/base/auth/general.html:93
#: templates/web/base/report/new/form_user_loggedout_password.html:16
#: templates/web/base/report/update/form_user_loggedout_password.html:15
#: templates/web/zurich/auth/general.html:40
msgid "Keep me signed in on this computer"
msgstr "Mantener mi sesión abierta en este ordenador"
+#: templates/web/base/admin/extra-metadata-form.html:61
+msgid "Key"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:9
+#: templates/web/base/admin/states/index.html:95
+msgid "Label"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:6
+#: templates/web/base/admin/reportextrafields/edit.html:45
+msgid "Language"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/index.html:8
+msgid "Languages"
+msgstr ""
+
#: templates/web/base/dashboard/index.html:50
msgid "Last 4 weeks"
msgstr "Hace 4 semanas"
#: templates/web/base/dashboard/index.html:49
-#, fuzzy
+#: templates/web/base/reports/index.html:38
msgid "Last 7 days"
-msgstr "Última actualización:"
+msgstr ""
#: templates/web/base/admin/body.html:74
#: templates/web/zurich/admin/body.html:16
msgid "Last editor"
msgstr "Último editor"
+#: templates/web/base/questionnaire/index.html:25
+msgid "Last update"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:89
msgid "Last update:"
msgstr "Última actualización:"
@@ -1796,23 +1828,27 @@ msgstr "Última actualización:"
msgid "Last&nbsp;update:"
msgstr "Última&nbsp;actualización:"
-#: templates/web/base/report/_inspect.html:20
-#: templates/web/base/report/_item.html:86
+#: templates/web/base/report/_inspect.html:30
+#: templates/web/base/report/_item.html:88
msgid "Latitude/Longitude:"
msgstr "Latitud/Longitud:"
-#: templates/web/base/reports/_list-filters.html:50
+#: templates/web/base/reports/_list-filters.html:61
msgid "Least recently updated"
msgstr "Menos recientemente actualizado"
-#: templates/web/base/admin/body-form.html:127
+#: templates/web/base/admin/body-form.html:129
msgid "Leave this blank if all reports to this body should be sent using the same send method (e.g., \"%s\")."
msgstr "Deje en blanco si todos las notificaciones a este órgano administrativo utilizan el mismo método de envío (e.g., \"%s\")."
-#: templates/web/base/dashboard/index.html:150
+#: templates/web/base/dashboard/index.html:151
msgid "Less than 7 days old"
msgstr "Menos de 7 días de antigüedad"
+#: templates/web/base/admin/extra-metadata-form.html:47
+msgid "List"
+msgstr ""
+
#: templates/web/base/admin/body.html:31
msgid "List all reported problems"
msgstr "Listar todos los problemas notificados"
@@ -1843,23 +1879,23 @@ msgstr "Alertas locales"
msgid "Locate the problem on a map of the area"
msgstr "Señale en el mapa de la zona la localización del problema"
-#: templates/web/base/auth/general.html:22
+#: templates/web/base/auth/general.html:24
#: templates/web/base/report/new/form_user_loggedout.html:6
#: templates/web/base/report/update/form_user_loggedout.html:7
msgid "Log in with Facebook"
msgstr "Iniciar sesión con Facebook"
-#: templates/web/base/auth/general.html:30
+#: templates/web/base/auth/general.html:32
#: templates/web/base/report/new/form_user_loggedout.html:14
#: templates/web/base/report/update/form_user_loggedout.html:15
msgid "Log in with Twitter"
msgstr "Iniciar sesión con Twitter"
-#: templates/web/base/js/translation_strings.html:59
+#: templates/web/base/js/translation_strings.html:62
msgid "Log in with email"
msgstr "Iniciar sesión con email"
-#: templates/web/base/dashboard/index.html:145
+#: templates/web/base/dashboard/index.html:146
#: templates/web/base/dashboard/index.html:38
msgid "Look up"
msgstr "Buscar"
@@ -1868,11 +1904,11 @@ msgstr "Buscar"
msgid "MAP"
msgstr "MAPA"
-#: perllib/FixMyStreet/Cobrand/Default.pm:712
+#: perllib/FixMyStreet/Cobrand/Default.pm:716
msgid "Manage shortlist"
msgstr "Administrar los pre-seleccionados"
-#: templates/web/base/reports/_list-filters.html:45
+#: templates/web/base/reports/_list-filters.html:56
msgid "Manual order"
msgstr ""
@@ -1888,19 +1924,11 @@ msgstr "Marcado como enviado"
msgid "Mark users whose behaviour you want to keep a check on as <strong>flagged</strong>."
msgstr "Señalar como <strong>marcados</strong> aquellos usuarios cuyo comportamiento desea observar."
-#: templates/web/base/reports/index.html:27
-msgid "Marked fixed/closed in the past eight weeks"
-msgstr "Marcado como resuelto/cerrado en las últimas ocho semanas"
-
-#: templates/web/base/reports/index.html:28
-msgid "Marked fixed/closed more than eight weeks ago"
-msgstr "Marcado como resuelto/cerrado hace más de ocho semanas"
-
-#: perllib/FixMyStreet/Cobrand/Default.pm:710
+#: perllib/FixMyStreet/Cobrand/Default.pm:714
msgid "Markup problem details"
msgstr "Marcar los detalles del problema"
-#: templates/web/base/contact/index.html:96
+#: templates/web/base/contact/index.html:100
msgid "Message"
msgstr "Mensaje:"
@@ -1920,15 +1948,15 @@ msgstr "Organismos administrativos perdidos:"
msgid "Missing jurisdiction_id"
msgstr "Falta jurisdiction_id"
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate"
msgstr "Moderar"
-#: perllib/FixMyStreet/Cobrand/Default.pm:706
+#: perllib/FixMyStreet/Cobrand/Default.pm:710
msgid "Moderate report details"
msgstr "Moderar los detalles del informe"
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate this report"
msgstr "Moderar este informe"
@@ -1936,8 +1964,8 @@ msgstr "Moderar este informe"
msgid "Moderate this update"
msgstr "Moderar este actualización"
-#: templates/web/base/report/_main.html:69
-#: templates/web/base/report/update.html:49
+#: templates/web/base/report/_main.html:73
+#: templates/web/base/report/update.html:58
msgid "Moderated by %s at %s"
msgstr "Moderado por %s a %s"
@@ -1945,8 +1973,8 @@ msgstr "Moderado por %s a %s"
msgid "Moderated by division within one working day"
msgstr "Moderado por el organismo durante el siguiente día laborable"
-#: templates/web/base/report/_main.html:109
-#: templates/web/base/report/update.html:57
+#: templates/web/base/report/_main.html:113
+#: templates/web/base/report/update.html:66
msgid "Moderation reason:"
msgstr "Motivo de moderación"
@@ -1954,31 +1982,35 @@ msgstr "Motivo de moderación"
msgid "Month"
msgstr "Mes"
-#: templates/web/base/reports/_list-filters.html:51
+#: templates/web/base/reports/_list-filters.html:62
msgid "Most commented"
msgstr "Lo más comentado"
#: templates/web/base/admin/bodies.html:25
#: templates/web/base/admin/body-form.html:24
+#: templates/web/base/admin/extra-metadata-form.html:65
#: templates/web/base/admin/flagged.html:16
#: templates/web/base/admin/flagged.html:37
#: templates/web/base/admin/index.html:62
#: templates/web/base/admin/list_updates.html:7
+#: templates/web/base/admin/reportextrafields/edit.html:11
+#: templates/web/base/admin/reportextrafields/index.html:6
#: templates/web/base/admin/reports.html:14
#: templates/web/base/admin/responsepriorities/list.html:6
+#: templates/web/base/admin/states/index.html:108
+#: templates/web/base/admin/states/index.html:11
#: templates/web/base/admin/users.html:16
-#: templates/web/base/auth/general.html:106
-#: templates/web/base/report/new/form_user_loggedin.html:40
+#: templates/web/base/auth/general.html:108
+#: templates/web/base/report/new/form_user_loggedin.html:42
#: templates/web/base/report/new/form_user_loggedout_by_email.html:7
-#: templates/web/base/report/update/form_name.html:23
-#: templates/web/base/reports/index.html:23
+#: templates/web/base/report/update/form_name.html:27
#: templates/web/zurich/admin/body-form.html:4
#: templates/web/zurich/auth/general.html:60
#: templates/web/zurich/report/new/fill_in_details_form.html:59
msgid "Name"
msgstr "Nombre"
-#: templates/web/base/admin/report_edit.html:139
+#: templates/web/base/admin/report_edit.html:127
#: templates/web/base/admin/responsepriorities/edit.html:13
#: templates/web/base/admin/update_edit.html:34
#: templates/web/base/admin/user-form.html:16
@@ -1990,7 +2022,7 @@ msgstr "Nombre:"
msgid "Name: %s"
msgstr "Nombre: %s"
-#: templates/web/base/report/_inspect.html:28
+#: templates/web/base/report/_inspect.html:38
msgid "Navigate to this problem"
msgstr "Navegue a este problema"
@@ -1999,16 +2031,16 @@ msgstr "Navegue a este problema"
msgid "Nearest named road to the pin placed on the map (automatically generated using OpenStreetMap): %s%s"
msgstr "Nombre de la calle más cercana al marcador colocado en el mapa (se genera automáticamente utilizando OpenStreetMap): %s%s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:129
+#: perllib/FixMyStreet/Cobrand/UK.pm:134
msgid "Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"
msgstr "Código Postal más cercano al marcador colocado en el mapa (generado automáticamente): %s (%sm de distancia)"
-#: perllib/FixMyStreet/Cobrand/Default.pm:527
-#: perllib/FixMyStreet/Cobrand/Default.pm:567
+#: perllib/FixMyStreet/Cobrand/Default.pm:538
+#: perllib/FixMyStreet/Cobrand/Default.pm:566
msgid "Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"
msgstr "Camino más cercano al marcador colocado en el mapa (generado automáticamente por Bing Maps): %s"
-#: perllib/FixMyStreet/Script/Alerts.pm:319
+#: perllib/FixMyStreet/Script/Alerts.pm:316
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s\n"
"\n"
@@ -2016,19 +2048,24 @@ msgstr ""
"Camino más cercano al pin colocado en el mapa (generada automáticamente por Bing Maps): %s\n"
"\n"
-#: templates/web/base/auth/token.html:17 templates/web/base/email_sent.html:5
+#: templates/web/base/auth/token.html:18
+msgid "Nearly done!"
+msgstr ""
+
+#: templates/web/base/auth/token.html:22 templates/web/base/email_sent.html:5
msgid "Nearly done! Now check your email&hellip;"
msgstr "¡Casi hemos terminado! Lea su email&hellip;"
-#: templates/web/base/reports/index.html:24
-msgid "New <br>problems"
-msgstr "Nuevos <br>reportes"
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:131
+#, fuzzy
+msgid "New"
+msgstr "Lo más reciente"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:259
+#: perllib/FixMyStreet/App/Controller/Admin.pm:262
msgid "New body added"
msgstr "Nuevo organismo añadido"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:405
+#: perllib/FixMyStreet/App/Controller/Admin.pm:386
msgid "New category contact added"
msgstr "Añadida nueva categoría de contactos"
@@ -2054,7 +2091,7 @@ msgid "New password:"
msgstr "Contraseña nueva:"
#: templates/web/base/admin/responsepriorities/edit.html:4
-#: templates/web/base/admin/responsepriorities/list.html:32
+#: templates/web/base/admin/responsepriorities/list.html:34
msgid "New priority"
msgstr "Prioridad nueva"
@@ -2083,6 +2120,7 @@ msgid "New reports"
msgstr "Nuevos informes"
#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/states/index.html:91
msgid "New state"
msgstr "Nuevo estado"
@@ -2092,7 +2130,7 @@ msgstr "Nuevo estado"
msgid "New template"
msgstr "Plantilla nueva"
-#: templates/web/base/reports/_list-filters.html:47
+#: templates/web/base/reports/_list-filters.html:58
msgid "Newest"
msgstr "Lo más reciente"
@@ -2100,20 +2138,19 @@ msgstr "Lo más reciente"
msgid "Next"
msgstr "Siguiente"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1203
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
+#: perllib/FixMyStreet/Cobrand/Default.pm:1237
#: templates/web/base/admin/category_edit.html:4
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:137
+#: templates/web/base/admin/report_edit.html:125
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:26
#: templates/web/base/questionnaire/creator_fixed.html:16
#: templates/web/base/questionnaire/index.html:106
#: templates/web/base/questionnaire/index.html:55
+#: templates/web/base/report/_inspect.html:92
msgid "No"
msgstr "No"
@@ -2129,7 +2166,7 @@ msgstr "Sin órgano administrativo"
msgid "No council"
msgstr "Sin ayuntamiento"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:445
+#: perllib/FixMyStreet/DB/Result/Problem.pm:372
msgid "No council selected"
msgstr "Ningún ayuntamiento seleccionado"
@@ -2145,25 +2182,16 @@ msgstr "No se encuentran problemas marcados."
msgid "No flagged users found."
msgstr "No se encuentran usuarios marcados"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:14
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:8
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "No further action"
-msgstr "Incapaz de arreglarlo"
-
#: templates/web/zurich/admin/report_edit-sdm.html:125
#: templates/web/zurich/admin/report_edit.html:259
msgid "No further updates"
msgstr "No hay más actualizaciones"
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:84
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:68
msgid "No inspections by that inspector in the selected date range."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:86
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:70
msgid "No inspections in the selected date range."
msgstr ""
@@ -2171,8 +2199,8 @@ msgstr ""
msgid "No result returned"
msgstr "Ningún resultado devuelto"
-#: templates/web/base/admin/body-form.html:66
-#: templates/web/base/admin/body-form.html:67
+#: templates/web/base/admin/body-form.html:68
+#: templates/web/base/admin/body-form.html:69
msgid ""
"No specific areas are currently available, because the <code>MAPIT_URL</code> in\n"
" your config file is not pointing to a live MapIt service."
@@ -2213,17 +2241,8 @@ msgstr ""
"Dependiendo de la implementación, el personal pueden tener acceso al tablero (resumen de\n"
"la actividad a través de su departamento), la capacidad de ocultar notificaciones, o establecer estados especiales para las notificaciones."
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:9
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "Not Responsible"
-msgstr "No responsable"
-
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:181
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:186
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:933
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:13
msgid "Not contactable"
@@ -2242,7 +2261,7 @@ msgid "Not reported to council"
msgstr "No comunicado al ayuntamiento"
#: templates/web/base/admin/body.html:75
-#: templates/web/base/admin/category_edit.html:57
+#: templates/web/base/admin/category_edit.html:31
#: templates/web/zurich/admin/body.html:17
msgid "Note"
msgstr "Nota"
@@ -2252,7 +2271,7 @@ msgid "Note that when including unconfirmed reports we use the date the report w
msgstr "Tenga en cuenta que al incluir notificaciones no confirmadas usamos la fecha de creación de la notificación, que puede no coincidir con el mes en se confirmó, así que los números pueden variar un poco."
#: templates/web/zurich/admin/body.html:55
-#: templates/web/zurich/admin/contact-form.html:17
+#: templates/web/zurich/admin/contact-form.html:19
msgid "Note:"
msgstr "Nota:"
@@ -2264,6 +2283,10 @@ msgstr "Nota: <strong>%s</strong>"
msgid "Notes from SDM to DM"
msgstr "Notas de SDM a DM"
+#: templates/web/base/admin/extra-metadata-form.html:26
+msgid "Notice"
+msgstr ""
+
#: templates/web/base/report/new/oauth_email_form.html:17
msgid "Now to submit your report&hellip;"
msgstr "Ahora a enviar tu notificación&hellip;"
@@ -2274,63 +2297,43 @@ msgstr "Ahora a enviar tu notificación&hellip;"
msgid "Now to submit your update&hellip;"
msgstr "Ahora a enviar tu notificación&hellip;"
+#: templates/web/base/reports/index.html:98
+msgid "Number of problems reported in each category, in the last 7 days."
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:43
msgid "OK"
msgstr "OK"
-#: templates/web/base/js/translation_strings.html:67
+#: templates/web/base/js/translation_strings.html:70
msgid "Offline data cleared"
msgstr "Datos sin conexión eliminados"
-#: templates/web/base/js/translation_strings.html:64
+#: templates/web/base/js/translation_strings.html:67
msgid "Offline update data saved"
msgstr ""
-#: templates/web/base/reports/index.html:26
-msgid "Old / unknown <br>problems"
-msgstr "Reportes<br>Antiguos / desconocidos"
-
#: templates/web/base/admin/questionnaire.html:24
msgid "Old state"
msgstr "Estado antiguo"
-#: templates/web/base/reports/index.html:28
-msgid "Older <br>fixed"
-msgstr "Reportes solucionados"
-
-#: templates/web/base/reports/index.html:25
-msgid "Older <br>problems"
-msgstr "Reportes <br>antiguos"
-
-#: templates/web/base/reports/_list-filters.html:48
+#: templates/web/base/reports/_list-filters.html:59
msgid "Oldest"
msgstr "Lo más antiguo"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:900
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:25
-#: templates/web/base/admin/report_blocks.html:6
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:905
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:10
+#: templates/web/base/admin/states/index.html:102
+#: templates/web/base/admin/states/index.html:25
+#: templates/web/base/admin/states/index.html:32
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:3
-#: templates/web/base/report/update/form_update.html:41
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:7
#: templates/web/zurich/admin/update_edit.html:18
msgid "Open"
msgstr "Abierto"
-#: templates/web/base/reports/index.html:25
-msgid "Open for more than four weeks, with an update within the past eight weeks"
-msgstr "Abierto por más de cuatro semanas, con una actualización en las últimas ocho semanas"
-
-#: templates/web/base/reports/index.html:26
-msgid "Open, but not had any update in eight weeks"
-msgstr "Abierto, pero no ha sido actualizado en ocho semanas"
-
#: templates/web/base/admin/open311-form-fields.html:47
msgid "Open311 API Key"
msgstr "Código Open311 API "
@@ -2351,26 +2354,39 @@ msgstr "Página web de la iniciativa Open311"
msgid "Open311 specification"
msgstr "Especificación Open311"
-#: templates/web/base/alert/_list.html:61
-msgid "Or problems reported to:"
-msgstr "O problemas notificados a:"
-
-#: templates/web/base/alert/_list.html:37
-msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
-msgstr "O puede suscribirse a una alerta basada en el barrio o ayuntamiento en que te encuentras:"
-
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:1061
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:659
-#: perllib/FixMyStreet/DB/Result/Problem.pm:642
-#: perllib/FixMyStreet/DB/Result/Problem.pm:649
-#: perllib/FixMyStreet/DB/Result/Problem.pm:664
-#: perllib/FixMyStreet/DB/Result/Problem.pm:673
+#: templates/web/base/admin/extra-metadata-form.html:53
+#, fuzzy
+msgid "Options"
+msgstr "opcional"
+
+#: templates/web/base/alert/_list.html:84
+msgid "Or subscribe by RSS"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:8
+msgid "Order"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1107
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:675
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:676
+#: perllib/FixMyStreet/DB/Result/Problem.pm:579
+#: perllib/FixMyStreet/DB/Result/Problem.pm:586
+#: perllib/FixMyStreet/DB/Result/Problem.pm:601
+#: perllib/FixMyStreet/DB/Result/Problem.pm:610
#: perllib/FixMyStreet/Script/Reports.pm:183
#: perllib/FixMyStreet/Script/Reports.pm:198
msgid "Other"
msgstr "Otros"
+#: templates/web/base/reports/index.html:107
+msgid "Other categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:92
+msgid "Overall average"
+msgstr ""
+
#: templates/web/base/admin/list_updates.html:8
msgid "Owner"
msgstr "Propietario"
@@ -2380,17 +2396,16 @@ msgstr "Propietario"
msgid "Page Not Found"
msgstr "Página no encontrada"
-#: templates/web/base/admin/body-form.html:37
+#: templates/web/base/admin/body-form.html:39
#: templates/web/zurich/admin/body-form.html:14
msgid "Parent"
msgstr "Padre"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:20
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:61
msgid "Partial"
msgstr "Parcial"
-#: templates/web/base/auth/general.html:109
+#: templates/web/base/auth/general.html:111
#: templates/web/base/report/new/form_user_loggedout_by_email.html:28
#: templates/web/base/report/update/form_user_loggedout_by_email.html:6
#: templates/web/zurich/auth/general.html:32
@@ -2398,7 +2413,7 @@ msgstr "Parcial"
msgid "Password (optional)"
msgstr "Contraseña (opcional)"
-#: templates/web/base/auth/general.html:82
+#: templates/web/base/auth/general.html:84
msgid "Password:"
msgstr "Contraseña:"
@@ -2410,17 +2425,22 @@ msgstr "Enlace permanente"
msgid "Permissions:"
msgstr "Licencias:"
+#: templates/web/base/report/_inspect.html:19
+#, fuzzy
+msgid "Phone Reporter:"
+msgstr "Notificado:"
+
#: templates/web/zurich/report/new/fill_in_details_form.html:65
msgid "Phone number"
msgstr "Número de teléfono"
-#: templates/web/base/report/new/form_user_loggedin.html:57
+#: templates/web/base/report/new/form_user_loggedin.html:59
#: templates/web/base/report/new/form_user_loggedout_by_email.html:25
msgid "Phone number (optional)"
msgstr "Número de teléfono (opcional)"
#: perllib/FixMyStreet/Script/Reports.pm:87
-#: templates/web/base/admin/report_edit.html:146
+#: templates/web/base/admin/report_edit.html:134
#: templates/web/base/admin/user-form.html:21
#: templates/web/zurich/admin/stats.html:39
msgid "Phone:"
@@ -2429,9 +2449,9 @@ msgstr "Teléfono:"
#: templates/web/base/questionnaire/index.html:78
#: templates/web/base/questionnaire/index.html:93
#: templates/web/base/questionnaire/index.html:95
-#: templates/web/base/report/new/form_report.html:28
-#: templates/web/base/report/new/form_report.html:43
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/new/form_report.html:45
+#: templates/web/base/report/new/form_report.html:47
#: templates/web/base/report/update/form_update.html:22
#: templates/web/base/report/update/form_update.html:24
#: templates/web/base/report/update/form_update.html:7
@@ -2449,12 +2469,12 @@ msgstr "Foto"
msgid "Photo is required."
msgstr "Foto es obligatoria."
-#: templates/web/zurich/admin/contact-form.html:14
+#: templates/web/zurich/admin/contact-form.html:16
msgid "Photo required"
msgstr "Foto es obligatoria"
#: templates/web/base/questionnaire/index.html:78
-#: templates/web/base/report/new/form_report.html:28
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/update/form_update.html:7
#: templates/web/zurich/report/new/fill_in_details_form.html:20
msgid "Photos"
@@ -2464,17 +2484,18 @@ msgstr "Fotos"
msgid "Photos of recent nearby reports"
msgstr "Fotos de notificaciones cercanas recientes"
+#: templates/web/base/reports/index.html:63
+#: templates/web/base/reports/index.html:66
+msgid "Pick your council"
+msgstr ""
+
#: templates/web/base/around/display_location.html:76
#: templates/web/base/js/translation_strings.html:30
msgid "Place pin on map"
msgstr "Coloque el marcador en el mapa"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:940
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:946
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:8
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:945
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:951
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:9
#: templates/web/zurich/admin/index-dm.html:9
@@ -2492,31 +2513,27 @@ msgstr "Por favor, comprueba la contraseña e inténtalo de nuevo"
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:18
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:43
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:45
#: templates/web/zurich/auth/general.html:3
#: templates/web/zurich/auth/general.html:9
msgid "Please check your email address is correct"
msgstr "Por favor, compruebe que su dirección de email es correcta"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:350
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:844
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:867
-#: perllib/FixMyStreet/DB/Result/Problem.pm:456
+#: perllib/FixMyStreet/App/Controller/Admin.pm:329
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:873
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:896
+#: perllib/FixMyStreet/DB/Result/Problem.pm:383
#: templates/web/base/js/translation_strings.html:9
msgid "Please choose a category"
msgstr "Por favor, elija una categoría"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:462
-msgid "Please choose a property type"
-msgstr "Por favor, elija un tipo de propiedad"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:396
+#: perllib/FixMyStreet/App/Controller/Admin.pm:377
#: templates/web/base/admin/bodies.html:4 templates/web/base/admin/body.html:11
msgid "Please correct the errors below"
msgstr "Por favor, corrija los errores a continuación"
-#: templates/web/base/contact/blurb.html:12
+#: templates/web/base/contact/blurb.html:6
msgid ""
"Please do <strong>not</strong> report problems through this form; messages go to\n"
"the team behind this site, not a council. To report a problem,\n"
@@ -2527,18 +2544,18 @@ msgstr "Por favor, <strong>no</strong> reporte los problemas a través de este
msgid "Please do not be abusive&nbsp;&mdash; abusing your council devalues the service for all users."
msgstr "Por favor notifique incidencias relevantes y no abuse; abusando de su ayuntamiento degrada su capacidad de servicio a toda la ciudadanía."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:351
-#: perllib/FixMyStreet/DB/Result/Comment.pm:127
+#: perllib/FixMyStreet/App/Controller/Admin.pm:330
+#: perllib/FixMyStreet/DB/Result/Comment.pm:128
#: templates/web/base/js/translation_strings.html:2
msgid "Please enter a message"
msgstr "Por favor escriba su mensaje."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1200
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1364
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1305
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1469
msgid "Please enter a name"
msgstr "Por favor, indique un nombre"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:478
+#: perllib/FixMyStreet/App/Controller/Admin.pm:497
msgid "Please enter a name for this body"
msgstr "Por favor, indique un nombre para este organismo"
@@ -2548,15 +2565,15 @@ msgstr "Por favor, indique un nombre para este organismo"
msgid "Please enter a password"
msgstr "Por favor, introduzca una contraseña"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:114
-#: perllib/FixMyStreet/DB/Result/Problem.pm:439
+#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/DB/Result/Problem.pm:366
#: templates/web/base/js/translation_strings.html:3
msgid "Please enter a subject"
msgstr "Por favor, introduzca un título"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1197
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1361
-#: perllib/FixMyStreet/App/Controller/Admin.pm:363
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1302
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1466
+#: perllib/FixMyStreet/App/Controller/Admin.pm:343
#: perllib/FixMyStreet/DB/Result/User.pm:164
#: templates/web/base/js/translation_strings.html:12
#: templates/web/base/js/translation_strings.html:16
@@ -2564,21 +2581,21 @@ msgid "Please enter a valid email"
msgstr "Por favor, introduce una dirección de email válida"
#: perllib/FixMyStreet/App/Controller/Alert.pm:350
-#: perllib/FixMyStreet/App/Controller/Contact.pm:124
+#: perllib/FixMyStreet/App/Controller/Contact.pm:125
msgid "Please enter a valid email address"
msgstr "Por favor, introduce una dirección de email válida"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:442
+#: perllib/FixMyStreet/DB/Result/Problem.pm:369
#: templates/web/base/js/translation_strings.html:4
msgid "Please enter some details"
msgstr "Por favor, describa los detalles más relevantes"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/App/Controller/Contact.pm:114
#: perllib/FixMyStreet/DB/Result/User.pm:161
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:17
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:42
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:44
#: templates/web/base/js/translation_strings.html:11
#: templates/web/base/js/translation_strings.html:15
#: templates/web/zurich/auth/general.html:3
@@ -2595,14 +2612,14 @@ msgstr "Por favor introduzca su email"
msgid "Please enter your first name"
msgstr "Por favor, indique su nombre"
-#: perllib/FixMyStreet/Cobrand/UK.pm:320
+#: perllib/FixMyStreet/Cobrand/UK.pm:326
#: templates/web/base/js/translation_strings.html:7
msgid "Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below"
msgstr "Por favor escriba su nombre completo, ya que los ayuntamientos necesitan esta información. Si usted NO desea que su nombre aparecerá en la página, desactive la casilla de abajo"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:112
-#: perllib/FixMyStreet/DB/Result/Comment.pm:124
-#: perllib/FixMyStreet/DB/Result/Problem.pm:450
+#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/DB/Result/Comment.pm:125
+#: perllib/FixMyStreet/DB/Result/Problem.pm:377
#: perllib/FixMyStreet/DB/Result/User.pm:157
#: templates/web/base/js/translation_strings.html:6
msgid "Please enter your name"
@@ -2665,7 +2682,7 @@ msgstr "Por favor, tenga en cuenta que su actualización no ha <strong>sido aún
msgid "Please note:"
msgstr "Por favor, tenga en cuenta:"
-#: perllib/FixMyStreet/App/Controller/Report.pm:358
+#: perllib/FixMyStreet/App/Controller/Report.pm:353
msgid "Please provide a public update for this report."
msgstr "Por favor, proveer una actualización pública para este reporte."
@@ -2701,11 +2718,11 @@ msgstr "Por favor, indique si el problema se ha solucionado"
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:122
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:156
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:158
-#: templates/web/base/js/translation_strings.html:57
+#: templates/web/base/js/translation_strings.html:60
msgid "Please upload an image only"
msgstr "Por favor, suba solo una imagen"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/App/Controller/Contact.pm:116
msgid "Please write a message"
msgstr "Por favor, escriba un mensaje"
@@ -2713,30 +2730,29 @@ msgstr "Por favor, escriba un mensaje"
msgid "Please write your update here"
msgstr "Por favor, escriba su actualización aquí"
-#: templates/web/base/contact/index.html:103
#: templates/web/base/report/update-form.html:25
#: templates/web/base/report/update/form_user_loggedout_by_email.html:14
#: templates/web/base/report/update/form_user_loggedout_password.html:10
msgid "Post"
msgstr "Publicar"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:242
+#: perllib/FixMyStreet/DB/Result/Comment.pm:231
msgid "Posted anonymously at %s"
msgstr "Publicado de forma anónima - %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:257
+#: perllib/FixMyStreet/DB/Result/Comment.pm:255
msgid "Posted by %s at %s"
msgstr "Publicado por %s - %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:252
+#: perllib/FixMyStreet/DB/Result/Comment.pm:243
msgid "Posted by <strong>%s</strong> (%s) at %s"
msgstr "Publicado por <strong>%s</strong> (%s) - %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:254
+#: perllib/FixMyStreet/DB/Result/Comment.pm:245
msgid "Posted by <strong>%s</strong> at %s"
msgstr "Publicado por <strong>%s</strong> - %s"
-#: templates/web/base/front/footer-marketing.html:12
+#: templates/web/base/front/footer-marketing.html:6
msgid "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
msgstr "Con la tecnología de <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
@@ -2748,8 +2764,8 @@ msgstr "Previo"
msgid "Priorities"
msgstr "Prioridades"
-#: templates/web/base/report/_inspect.html:113
-#: templates/web/base/report/_item.html:98
+#: templates/web/base/report/_inspect.html:123
+#: templates/web/base/report/_item.html:100
msgid "Priority"
msgstr "Prioridad"
@@ -2763,9 +2779,9 @@ msgstr "Privacidad"
msgid "Privacy and cookies"
msgstr "Privacidad y cookies"
-#: templates/web/base/admin/body.html:91
-#: templates/web/base/admin/contact-form.html:74
-#: templates/web/base/admin/report_edit.html:149
+#: templates/web/base/admin/body.html:88
+#: templates/web/base/admin/contact-form.html:75
+#: templates/web/base/admin/report_edit.html:137
msgid "Private"
msgstr "Privado"
@@ -2795,7 +2811,7 @@ msgstr "Problema %s enviado al Ayuntamiento %s"
msgid "Problem breakdown by state"
msgstr "Desglose de problemas según estado"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1167
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1272
msgid "Problem marked as open."
msgstr "Problema marcado como abierto."
@@ -2803,11 +2819,16 @@ msgstr "Problema marcado como abierto."
msgid "Problem state change based on survey results"
msgstr "El estado del problema cambió debido a los resultados de la encuesta"
-#: perllib/FixMyStreet/Cobrand/Default.pm:705
+#: perllib/FixMyStreet/Cobrand/Default.pm:709
#: templates/web/base/admin/flagged.html:10
msgid "Problems"
msgstr "Problemas"
+#: templates/web/base/alert/_list.html:22
+#, fuzzy
+msgid "Problems in an area"
+msgstr "Problemas en el barrio %s"
+
#: templates/web/base/report/display_tools.html:22
msgid "Problems nearby"
msgstr "Problemas cercanos"
@@ -2820,30 +2841,33 @@ msgstr "Problemas en el mapa"
msgid "Problems recently reported fixed on FixMyStreet"
msgstr "Problemas recientemente notificados como arreglados en CuidoMiCiudad"
-#: templates/web/base/alert/_list.html:22
-msgid "Problems within %.1fkm of this location"
+#: templates/web/base/alert/_list.html:29
+#, fuzzy
+msgid "Problems within %.1fkm of %s"
msgstr "Problemas en %.1fkm alrededor"
-#: perllib/FixMyStreet/Cobrand/Default.pm:833
+#: perllib/FixMyStreet/Cobrand/Default.pm:838
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:137
-#: perllib/FixMyStreet/Cobrand/UK.pm:209
+#: perllib/FixMyStreet/Cobrand/UK.pm:215 perllib/FixMyStreet/Cobrand/UK.pm:257
+#: perllib/FixMyStreet/Cobrand/UK.pm:269
msgid "Problems within %s"
msgstr "Problemas en %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:223
+#: perllib/FixMyStreet/Cobrand/UK.pm:229
msgid "Problems within %s ward"
msgstr "Problemas en el barrio %s"
+#: perllib/FixMyStreet/Cobrand/UK.pm:263 perllib/FixMyStreet/Cobrand/UK.pm:275
+#, fuzzy
+msgid "Problems within %s ward, %s"
+msgstr "Problemas en el barrio %s"
+
#. ("First %s is the body name, second %s the site name")
#: templates/web/base/reports/body.html:0
#: templates/web/base/reports/body.html:25
msgid "Problems within %s, %s"
msgstr "Problemas dentro %s, %s"
-#: templates/web/base/alert/_list.html:43
-msgid "Problems within the boundary of:"
-msgstr "Problemas en:"
-
#: templates/web/base/admin/report_edit.html:74
msgid "Property address:"
msgstr "Dirección de la propiedad:"
@@ -2853,11 +2877,11 @@ msgstr "Dirección de la propiedad:"
msgid "Provide an update"
msgstr "Proporcionar una actualización"
-#: templates/web/base/report/update/form_name.html:9
+#: templates/web/base/report/update/form_name.html:10
msgid "Provide update as"
msgstr "Proporcionar la actualización como"
-#: templates/web/base/auth/general.html:112
+#: templates/web/base/auth/general.html:114
msgid "Providing a name and password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
msgstr "Proporcionar un nombre y una contraseña es opcional, pero hacerlo le permitirá notificar y actualizar los problemas más fácilmente, así como administrar sus informes."
@@ -2875,7 +2899,7 @@ msgstr "Detalles públicos"
msgid "Public response:"
msgstr "Respuesta del público:"
-#: templates/web/base/report/_inspect.html:152
+#: templates/web/base/report/_inspect.html:162
msgid "Public update:"
msgstr "Actualización pública:"
@@ -2903,7 +2927,7 @@ msgstr "Cuestionario %d enviado para el problema %d"
msgid "Questionnaire filled in by problem reporter"
msgstr "Cuestionario cumplimentado por el notificador problema"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
#: templates/web/base/alert/updates.html:9
#: templates/web/base/around/display_location.html:1
#: templates/web/base/around/display_location.html:3
@@ -2911,11 +2935,11 @@ msgstr "Cuestionario cumplimentado por el notificador problema"
msgid "RSS feed"
msgstr "Listado RSS"
-#: perllib/FixMyStreet/Cobrand/UK.pm:252 perllib/FixMyStreet/Cobrand/UK.pm:264
+#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
msgid "RSS feed for %s"
msgstr "Listado RSS para %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
+#: perllib/FixMyStreet/Cobrand/UK.pm:264 perllib/FixMyStreet/Cobrand/UK.pm:276
msgid "RSS feed for %s ward, %s"
msgstr "Listado RSS para %s del barrio, %s"
@@ -2923,25 +2947,25 @@ msgstr "Listado RSS para %s del barrio, %s"
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:179
-#: perllib/FixMyStreet/Cobrand/UK.pm:278 perllib/FixMyStreet/Cobrand/UK.pm:290
+#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
msgid "RSS feed of %s"
msgstr "Listado RSS para %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
msgid "RSS feed of %s, within %s ward"
msgstr "Listado RSS para %s, en el barrio %s"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
msgid "RSS feed of nearby problems"
msgstr "Listado RSS de los problemas cercanos"
-#: perllib/FixMyStreet/Cobrand/Default.pm:834
+#: perllib/FixMyStreet/Cobrand/Default.pm:839
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:136
-#: perllib/FixMyStreet/Cobrand/UK.pm:216
+#: perllib/FixMyStreet/Cobrand/UK.pm:222
msgid "RSS feed of problems within %s"
msgstr "Listado RSS de los problemas dentro de %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:222
+#: perllib/FixMyStreet/Cobrand/UK.pm:228
msgid "RSS feed of problems within %s ward"
msgstr "Listado RSS de los problemas dentro del barrio %s"
@@ -2960,7 +2984,7 @@ msgstr "Listado RSS de actualizaciones sobre este problema"
msgid "Receive email when updates are left on this problem."
msgstr "Reciba un correo cuando se dejen actualizaciones sobre este problema."
-#: perllib/FixMyStreet/DB/Result/Problem.pm:801
+#: perllib/FixMyStreet/DB/Result/Problem.pm:738
msgid "Received by %s moments later"
msgstr "Recibido por unos %s momentos tarde"
@@ -2970,15 +2994,11 @@ msgstr "Recibido por unos %s momentos tarde"
msgid "Recent local problems, %s"
msgstr "Problemas locales recientes, %s"
-#: templates/web/base/reports/index.html:27
-msgid "Recently <br>fixed"
-msgstr "Recientemente <br>arreglado"
-
#: templates/web/base/front/recent.html:11
msgid "Recently reported problems"
msgstr "Problemas recientemente notificados"
-#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:60
msgid "Recently updated"
msgstr "Recientemente actualizado"
@@ -2986,13 +3006,23 @@ msgstr "Recientemente actualizado"
msgid "Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. If your problem is not appropriate for submission via this site remember that you can contact your council directly using their own website."
msgstr "Recuerde que CuidoMiCiudad es principalmente para informar sobre problemas físicos que pueden ser arreglados. Si su problema no es apropiado para ser presentado a través de este sitio recuerde que puede ponerse en contacto con su Ayuntamiento directamente mediante su página web."
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/extra-metadata-form.html:68
+#, fuzzy
+msgid "Remove"
+msgstr "Eliminar marca"
+
+#: templates/web/base/admin/extra-metadata-form.html:4
+#, fuzzy
+msgid "Remove field"
+msgstr "Eliminar marca"
+
+#: templates/web/base/admin/report_blocks.html:23
msgid "Remove flag"
msgstr "Eliminar marca"
#: templates/web/base/report/_item.html:12
#: templates/web/base/report/_item.html:9
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:18
#: templates/web/base/report/_main.html:26
msgid "Remove from shortlist"
@@ -3002,7 +3032,7 @@ msgstr "Eliminar de los pre-seleccionados"
msgid "Remove from site"
msgstr "Eliminar de la site"
-#: templates/web/base/admin/report_edit.html:166
+#: templates/web/base/admin/report_edit.html:154
#: templates/web/base/admin/update_edit.html:69
#: templates/web/zurich/admin/update_edit.html:35
msgid "Remove photo (can't be undone!)"
@@ -3016,13 +3046,13 @@ msgstr "Responder al usuario:"
msgid "Report"
msgstr "Notificar"
-#: templates/web/base/report/_inspect.html:10
-#: templates/web/base/report/_item.html:76
+#: templates/web/base/report/_inspect.html:14
+#: templates/web/base/report/_item.html:78
msgid "Report ID:"
msgstr "ID del informe:"
#: templates/web/base/header_logo.html:2
-#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:19
+#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:18
#: templates/web/zurich/nav_over_content.html:4
msgid "Report a problem"
msgstr "Notificar un problema"
@@ -3032,7 +3062,7 @@ msgstr "Notificar un problema"
msgid "Report abuse"
msgstr "Denunciar abuso"
-#: templates/web/base/report/new/form_user_loggedin.html:16
+#: templates/web/base/report/new/form_user_loggedin.html:17
msgid "Report as"
msgstr "Notificar como:"
@@ -3041,9 +3071,8 @@ msgid "Report on %s"
msgstr "Notificar sobre %s"
#: templates/web/base/dashboard/index.html:137
-#, fuzzy
msgid "Report state:"
-msgstr "Notificar como:"
+msgstr ""
#: templates/web/base/report/new/fill_in_details_form.html:1
#: templates/web/base/report/new/login_success_form.html:1
@@ -3056,7 +3085,7 @@ msgstr "Notifique su incidencia"
msgid "Report, view, or discuss local problems"
msgstr "Notifique, consulte o discuta problemas locales"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:653
+#: perllib/FixMyStreet/DB/Result/Problem.pm:590
#: templates/web/base/contact/index.html:55
msgid "Reported anonymously at %s"
msgstr "Notificado anónimamente en %s"
@@ -3066,7 +3095,7 @@ msgstr "Notificado anónimamente en %s"
msgid "Reported before"
msgstr "Notificado con anterioridad"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:677
+#: perllib/FixMyStreet/DB/Result/Problem.pm:614
#: templates/web/base/contact/index.html:57
msgid "Reported by %s at %s"
msgstr "Notificado por %s en %s"
@@ -3080,34 +3109,30 @@ msgstr "Notificado por:"
msgid "Reported in the %s category"
msgstr "Notificado en la categoría %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:650
+#: perllib/FixMyStreet/DB/Result/Problem.pm:587
msgid "Reported in the %s category anonymously at %s"
msgstr "Notificado anónimamente en la categoría %s en %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:611
msgid "Reported in the %s category by %s at %s"
msgstr "Notificado en la categoría %s por %s en %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:647
+#: perllib/FixMyStreet/DB/Result/Problem.pm:584
msgid "Reported via %s anonymously at %s"
msgstr "Notificado anónimamente vía %s en %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:671
+#: perllib/FixMyStreet/DB/Result/Problem.pm:608
msgid "Reported via %s by %s at %s"
msgstr "Notificado vía %s por %s en %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:644
+#: perllib/FixMyStreet/DB/Result/Problem.pm:581
msgid "Reported via %s in the %s category anonymously at %s"
msgstr "Notificado anónimamente vía %s en la categoría %s en %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:666
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
msgid "Reported via %s in the %s category by %s at %s"
msgstr "Notificado vía %s en la categoría %s por %s en %s"
-#: templates/web/base/reports/index.html:24
-msgid "Reported within the last four weeks"
-msgstr "Notificado en las últimas cuatro semanas"
-
#: templates/web/zurich/admin/report_edit-sdm.html:38
#: templates/web/zurich/admin/report_edit.html:57
msgid "Reported:"
@@ -3123,13 +3148,13 @@ msgid "Reporting a problem"
msgstr "Notificando un problema"
#: perllib/FixMyStreet/Cobrand/Default.pm:655
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:383
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:388
#: templates/web/base/dashboard/index.html:134
#: templates/web/zurich/header.html:52
msgid "Reports"
msgstr "Informes"
-#: perllib/FixMyStreet/Cobrand/UK.pm:329 perllib/FixMyStreet/Cobrand/UK.pm:333
+#: perllib/FixMyStreet/Cobrand/UK.pm:333 perllib/FixMyStreet/Cobrand/UK.pm:335
msgid "Reports are limited to %s characters in length. Please shorten your report"
msgstr "Las notificaciones tienen una longitud máxima de %s. Por favor, acorte su notificación."
@@ -3137,31 +3162,54 @@ msgstr "Las notificaciones tienen una longitud máxima de %s. Por favor, acorte
msgid "Reports awaiting approval"
msgstr "Informes en espera de aprobación"
+#: templates/web/base/alert/_list.html:54
+#, fuzzy
+msgid "Reports by destination"
+msgstr "Notificado por %s en %s"
+
#: templates/web/base/admin/user-form.html:107
msgid "Reports made by trusted users will be sent to the responsible body without being inspected first."
msgstr "Lo informes hechos por usuarios acreditados serán enviados al organismo administrativo responsable sin ser antes inspeccionados."
+#: templates/web/base/alert/_list.html:15
+msgid "Reports near %s are sent to different councils, depending on the type of problem."
+msgstr ""
+
#: templates/web/zurich/admin/index-sdm.html:10
msgid "Reports published"
msgstr "Notificaciones publicadas"
-#: templates/web/base/js/translation_strings.html:68
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:71
msgid "Reports saved offline."
-msgstr "Notificar un problema"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#, fuzzy
+msgid "Reports sent to %s"
+msgstr "Notificar sobre %s"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:290 perllib/FixMyStreet/Cobrand/UK.pm:302
+#, fuzzy
+msgid "Reports sent to %s, within %s ward"
+msgstr "Listado RSS para %s, en el barrio %s"
#: templates/web/base/admin/index.html:56
msgid "Reports waiting to be sent"
msgstr "Informes esperando a ser enviados"
-#: templates/web/base/admin/contact-form.html:89
+#: templates/web/base/admin/contact-form.html:90
msgid "Reports will automatically be sent without needing to be inspected if the user's <strong>reputation</strong> is at or above this value. Set to <strong>0</strong> if all reports must be inspected regardless."
msgstr "Los informes serán automáticamente enviados sin necesidad de verificar si <strong>la reputación</strong> del usuario está al nivel o más de este valor. Ajustar a strong>0</strong> si todos los informes deben ser verificados sí o sí. "
-#: templates/web/base/admin/contact-form.html:94
+#: templates/web/base/admin/contact-form.html:95
msgid "Reputation threshold"
msgstr "Umbral de reputación"
+#: templates/web/base/admin/extra-metadata-form.html:20
+#, fuzzy
+msgid "Required"
+msgstr "requerido"
+
#: templates/web/base/admin/report_edit.html:84
msgid "Resend report"
msgstr "Vuelva a enviar la notificación"
@@ -3197,7 +3245,7 @@ msgstr "Plantillas de respuesta por %s"
msgid "Revert to original"
msgstr "Volver al texto original"
-#: templates/web/base/report/_main.html:95
+#: templates/web/base/report/_main.html:99
msgid "Revert to original text"
msgstr "Volver al texto original"
@@ -3220,16 +3268,16 @@ msgstr "Operador responsable de este camino (derivado del número de referencia
msgid "Road operator for this named road (from OpenStreetMap): %s"
msgstr "Operador responsable de este camino (de OpenStreetMap): %s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1747
-#: templates/web/base/admin/report_edit.html:163
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1852
+#: templates/web/base/admin/report_edit.html:151
#: templates/web/base/admin/update_edit.html:66
#: templates/web/zurich/admin/report_edit.html:118
msgid "Rotate Left"
msgstr "Rotar a la izquierda"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: templates/web/base/admin/report_edit.html:164
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: templates/web/base/admin/report_edit.html:152
#: templates/web/base/admin/update_edit.html:67
#: templates/web/zurich/admin/report_edit.html:119
msgid "Rotate Right"
@@ -3244,33 +3292,41 @@ msgstr "Rotar esta foto eliminará los cambios no guardados al informe."
msgid "Satellite"
msgstr "Satélite"
-#: templates/web/base/report/_inspect.html:168
-#, fuzzy
+#: templates/web/base/report/_inspect.html:182
msgid "Save + close as duplicate"
-msgstr "marcado como un informe duplicado"
+msgstr ""
-#: templates/web/base/admin/contact-form.html:137
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/contact-form.html:138
+#: templates/web/base/admin/reportextrafields/edit.html:64
+#: templates/web/base/admin/responsepriorities/edit.html:58
#: templates/web/base/admin/template_edit.html:46
-#: templates/web/base/report/_inspect.html:168
-#: templates/web/base/report/_main.html:113
-#: templates/web/base/report/update.html:60
+#: templates/web/base/report/_inspect.html:182
+#: templates/web/base/report/_main.html:117
+#: templates/web/base/report/update.html:69
#: templates/web/zurich/admin/body.html:62
-#: templates/web/zurich/admin/contact-form.html:20
+#: templates/web/zurich/admin/contact-form.html:22
#: templates/web/zurich/admin/template_edit.html:29
msgid "Save changes"
msgstr "Guardar cambios"
-#: templates/web/base/report/_inspect.html:148
+#: templates/web/base/admin/reportextrafields/edit.html:64
+msgid "Save new fields"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:158
msgid "Save with a public update"
msgstr "Guardar con una actualización pública"
-#. ('This is followed by a progress count, e.g. 3/5')
#. ("This is followed by a progress count, e.g. 3/5")
-#: templates/web/base/js/translation_strings.html:69
+#: templates/web/base/js/translation_strings.html:72
msgid "Saving reports offline"
msgstr "Guardando reportes sin conexión"
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:132
+#, fuzzy
+msgid "Scheduled"
+msgstr "Acción programada"
+
#: templates/web/base/admin/index.html:26
#: templates/web/base/admin/reports.html:1
#: templates/web/zurich/admin/reports.html:1
@@ -3304,42 +3360,41 @@ msgstr "La búsqueda no encontró usuarios."
msgid "See our privacy policy"
msgstr "Ver nuestra política de privacidad"
-#: perllib/FixMyStreet/Cobrand/Default.pm:715
-#, fuzzy
+#: perllib/FixMyStreet/Cobrand/Default.pm:720
msgid "See user detail for reports created as the council"
-msgstr "Crear informes/actualizaciones como ayuntamiento"
+msgstr ""
-#: templates/web/base/admin/body-form.html:39
+#: templates/web/base/admin/body-form.html:41
#: templates/web/zurich/admin/body-form.html:16
msgid "Select a body"
msgstr "Selecciona un órgano administrativo"
-#: templates/web/base/reports/index.html:12
-msgid "Select a particular council to see the reports sent there."
-msgstr "Seleccione un ayuntamiento para ver los informes que se le han enviado."
-
-#: templates/web/base/admin/body-form.html:77
+#: templates/web/base/admin/body-form.html:79
#: templates/web/zurich/admin/body-form.html:26
msgid "Select an area"
msgstr "Seleccione un área"
-#: templates/web/base/alert/_list.html:11
-msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
-msgstr "Seleccione qué tipo de alerta le gustaría recibir y haga click en el botón para un listado RSS, o escriba su dirección de email para suscribirse a una alerta por correo."
+#: templates/web/base/admin/responsepriorities/edit.html:33
+msgid "Select if this is the default priority"
+msgstr ""
#: templates/web/base/admin/category-checkboxes.html:6
msgid "Select:"
msgstr "Seleccionar:"
+#: templates/web/base/contact/index.html:107
+msgid "Send"
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:109
msgid "Send extended Open311 statuses with service request updates"
msgstr "Enviar estados Open311 extendidos con actualizaciones de pedidos de servicio"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:826
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:831
msgid "Sent report back"
msgstr "Devolver el informe"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:804
+#: perllib/FixMyStreet/DB/Result/Problem.pm:741
msgid "Sent to %s %s later"
msgstr "Enviado a %s %s después"
@@ -3352,7 +3407,7 @@ msgstr "Enviado:"
msgid "Service:"
msgstr "Servicio:"
-#: templates/web/base/report/_inspect.html:31
+#: templates/web/base/report/_inspect.html:41
msgid "Set to my current location"
msgstr "Ajustar a mi ubicación actual"
@@ -3361,20 +3416,25 @@ msgid "Share"
msgstr "Compartir"
#: templates/web/base/main_nav_items.html:10
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:21
#: templates/web/base/report/_main.html:29
msgid "Shortlist"
msgstr "Pre-seleccionados"
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/reports/body.html:32
+msgid "Shortlist all visible"
+msgstr ""
+
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:20
#: templates/web/base/report/_main.html:25
#: templates/web/base/reports/_list-filters.html:9
msgid "Shortlisted"
msgstr "Entre los pre-seleccionados"
-#: templates/web/base/report/_main.html:144
+#: templates/web/base/report/_item.html:15
+#: templates/web/base/report/_main.html:148
msgid "Shortlisted by %s"
msgstr "Pre-seleecionados por %s"
@@ -3382,9 +3442,13 @@ msgstr "Pre-seleecionados por %s"
msgid "Show Photo?"
msgstr "Mostrar foto"
-#: templates/web/base/report/new/form_user_loggedin.html:54
+#: templates/web/base/questionnaire/index.html:26
+msgid "Show all updates"
+msgstr ""
+
+#: templates/web/base/report/new/form_user_loggedin.html:56
#: templates/web/base/report/new/form_user_loggedout_by_email.html:22
-#: templates/web/base/report/update/form_name.html:33
+#: templates/web/base/report/update/form_name.html:37
msgid "Show my name publicly"
msgstr "Mostrar mi nombre públicamente"
@@ -3396,11 +3460,12 @@ msgstr "Mostrar el nombre públicamente"
msgid "Show old"
msgstr "Mostrar antiguos"
-#: templates/web/base/report/_main.html:79
+#: templates/web/base/report/_main.html:83
msgid "Show photo"
msgstr "Mostrar foto"
#: templates/web/base/around/display_location.html:60
+#: templates/web/base/js/translation_strings.html:54
msgid "Show pins"
msgstr "Mostrar marcadores"
@@ -3408,16 +3473,20 @@ msgstr "Mostrar marcadores"
msgid "Show reporter&rsquo;s name"
msgstr "Mostrar el nombre del reportero"
-#: templates/web/base/auth/general.html:117
+#: templates/web/base/reports/index.html:62
+msgid "Show reports in your area"
+msgstr ""
+
+#: templates/web/base/auth/general.html:119
#: templates/web/base/auth/general.html:3
-#: templates/web/base/auth/general.html:86
+#: templates/web/base/auth/general.html:88
#: templates/web/base/main_nav_items.html:6
#: templates/web/zurich/auth/general.html:18
#: templates/web/zurich/auth/general.html:35
msgid "Sign in"
msgstr "Iniciar sesión"
-#: templates/web/base/auth/general.html:96
+#: templates/web/base/auth/general.html:98
msgid "Sign in by email instead, providing a new password. When you click the link in your email, your password will be updated."
msgstr "Inicie sesión con su dirección de email, proporcionando una nueva contraseña. Cuando haga click en el enlace en su correo electrónico su clave será actualizada."
@@ -3465,14 +3534,14 @@ msgstr "Lo sentimos, este no fue&rsquo; un enlace válido"
msgid "Sorry, there has been an error confirming your problem."
msgstr "Lo sentimos, hubo un error confirmando su notificación."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:230
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:235
#: perllib/FixMyStreet/Geocode.pm:37 perllib/FixMyStreet/Geocode/Bing.pm:38
#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:56
#: perllib/FixMyStreet/Geocode/OSM.pm:48
msgid "Sorry, we could not find that location."
msgstr "Lo sentimos, no hemos podido encontrar ese lugar."
-#: templates/web/base/auth/general.html:9
+#: templates/web/base/auth/general.html:11
#: templates/web/base/report/display.html:29
#: templates/web/base/report/new/fill_in_details_form.html:15
msgid "Sorry, we could not log you in. Please fill in the form below."
@@ -3494,11 +3563,11 @@ msgid ""
"page wasn’t found or there was a server error. Please try again later."
msgstr "Disculpa, no tenemos una buena conexión de internet para grabar este página, o no encontremos la página, o era un fallo del servidor. Por favor, inténtalo de nuevo más tarde."
-#: perllib/FixMyStreet/App/Controller/Root.pm:107
+#: perllib/FixMyStreet/App/Controller/Root.pm:124
msgid "Sorry, you don't have permission to do that."
msgstr "Lo sentimos, no tiene permiso para hacer eso."
-#: templates/web/base/reports/_list-filters.html:42
+#: templates/web/base/reports/_list-filters.html:53
msgid "Sort by"
msgstr "Seleccionado por"
@@ -3515,17 +3584,25 @@ msgid "Start Date:"
msgstr "Fecha de inicio:"
#: templates/web/base/admin/body.html:73
+#: templates/web/base/admin/category_edit.html:29
+#: templates/web/base/admin/contact-form.html:53
#: templates/web/base/admin/flagged.html:18
#: templates/web/base/admin/index.html:64
#: templates/web/base/admin/list_updates.html:11
#: templates/web/base/admin/reports.html:16
#: templates/web/base/admin/template_edit.html:40
-#: templates/web/base/report/_inspect.html:83
-#: templates/web/base/report/_item.html:94
+#: templates/web/base/report/_inspect.html:82
+#: templates/web/base/report/_item.html:96
#: templates/web/base/report/update/form_update.html:39
+#: templates/web/zurich/admin/contact-form.html:10
msgid "State"
msgstr "Estado"
+#: templates/web/base/report/update.html:48
+#, fuzzy
+msgid "State changed to:"
+msgstr "Guardar cambios"
+
#: templates/web/base/admin/report_edit.html:116
#: templates/web/base/admin/update_edit.html:28
#: templates/web/zurich/admin/report_edit-sdm.html:75
@@ -3535,8 +3612,14 @@ msgstr "Estado"
msgid "State:"
msgstr "Estado/Prov.:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:640
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:386
+#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: templates/web/base/admin/states/index.html:1
+#, fuzzy
+msgid "States"
+msgstr "Estado"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
#: templates/web/base/admin/index.html:71 templates/web/base/admin/stats.html:1
#: templates/web/base/admin/stats_by_state.html:1
#: templates/web/zurich/admin/stats.html:1 templates/web/zurich/header.html:65
@@ -3558,6 +3641,10 @@ msgstr "Sigue abierta, a través de cuestionario, %s"
msgid "Street View"
msgstr "Vista de calle"
+#: templates/web/base/admin/extra-metadata-form.html:46
+msgid "String"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:192
msgid "Subcategory: %s"
msgstr "Subcategoria: %s"
@@ -3566,7 +3653,7 @@ msgstr "Subcategoria: %s"
msgid "Subdivision/Body"
msgstr "Subdivisión/Órgano"
-#: templates/web/base/contact/index.html:88
+#: templates/web/base/contact/index.html:92
msgid "Subject"
msgstr "Título"
@@ -3576,14 +3663,14 @@ msgid "Subject:"
msgstr "Título:"
#: templates/web/base/questionnaire/creator_fixed.html:19
-#: templates/web/base/report/new/form_user_loggedin.html:61
+#: templates/web/base/report/new/form_user_loggedin.html:63
#: templates/web/base/report/new/form_user_loggedout_by_email.html:36
#: templates/web/base/report/new/form_user_loggedout_password.html:11
#: templates/web/zurich/report/new/fill_in_details_form.html:73
msgid "Submit"
msgstr "Enviar"
-#: templates/web/base/admin/report_edit.html:174
+#: templates/web/base/admin/report_edit.html:162
#: templates/web/base/admin/report_edit.html:24
#: templates/web/base/admin/update_edit.html:77
#: templates/web/base/admin/user-form.html:170
@@ -3597,8 +3684,8 @@ msgstr "Enviar cambios"
msgid "Submit questionnaire"
msgstr "Enviar cuestionario"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:164
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:893
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:898
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:6
#: templates/web/zurich/admin/index-dm.html:23
@@ -3608,36 +3695,38 @@ msgstr "Enviar cuestionario"
msgid "Submitted"
msgstr "Enviado"
+#: templates/web/base/alert/_list.html:77
+#: templates/web/base/alert/_list.html:80
#: templates/web/base/alert/updates.html:23
#: templates/web/base/report/display_tools.html:51
msgid "Subscribe"
msgstr "Suscribirse"
-#: templates/web/base/alert/_list.html:93
-msgid "Subscribe me to an email alert"
+#: templates/web/base/alert/_list.html:72
+#, fuzzy
+msgid "Subscribe by email"
msgstr "Suscríbeme a alertas por email"
#: templates/web/base/report/new/form_report.html:19
msgid "Summarise the problem"
msgstr "Resuma el problema"
-#: templates/web/base/admin/contact-form.html:129
+#: templates/web/base/admin/contact-form.html:130
msgid "Summarise your changes"
msgstr "Resuma sus cambios"
-#: perllib/FixMyStreet/Cobrand/Default.pm:638
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:382
+#: perllib/FixMyStreet/Cobrand/Default.pm:637
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:387
#: templates/web/base/admin/bodies.html:29
#: templates/web/base/admin/index.html:1 templates/web/base/status/index.html:1
#: templates/web/base/status/index.html:3
#: templates/web/zurich/admin/index-dm.html:1
#: templates/web/zurich/admin/index-sdm.html:1
-#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:13
+#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:12
#: templates/web/zurich/header.html:49
msgid "Summary"
msgstr "Resumen"
-#: templates/web/base/reports/index.html:4
#: templates/web/zurich/reports/index.html:0
#: templates/web/zurich/reports/index.html:4
msgid "Summary reports"
@@ -3661,7 +3750,7 @@ msgid "Template &laquo;%s&raquo;"
msgstr "Plantilla &laquo;%s&raquo;"
#: perllib/FixMyStreet/Cobrand/Default.pm:661
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:393
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
#: templates/web/zurich/header.html:69
msgid "Templates"
msgstr "Plantillas"
@@ -3690,7 +3779,7 @@ msgstr "¡Gracias por notificar esta incidencia!"
msgid "Thank you for trying to confirm your update or problem. We seem to have an error ourselves though, so <a href=\"%s\">please let us know what went on</a> and we'll look into it."
msgstr "Gracias por tratar de confirmar la actualización o problema. Parece que tenemos un error interno, así que <a href=\"%s\"> por favor, háganos saber lo que pasó </a> y echaremos un vistazo."
-#: templates/web/base/tokens/confirm_update.html:15
+#: templates/web/base/tokens/confirm_update.html:16
msgid "Thank you for updating this issue!"
msgstr "Gracias por actualizar esta incidencia!"
@@ -3718,7 +3807,7 @@ msgstr "La imagen no ha cargado correctamente (%s), por favor inténtelo de nuev
msgid "That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again."
msgstr "Esa localización no parece estar cubierta por un ayuntamiento, tal vez esté en alta mar o fuera del país. Por favor, inténtelo de nuevo."
-#: perllib/FixMyStreet/App/Controller/Location.pm:129
+#: perllib/FixMyStreet/App/Controller/Location.pm:127
msgid "That location does not appear to be in the UK; please try again."
msgstr "Esa localización no parece ser de UK, por favor inténtelo de nuevo."
@@ -3728,23 +3817,23 @@ msgstr "Esa localización no parece ser de UK, por favor inténtelo de nuevo."
msgid "That postcode was not recognised, sorry."
msgstr "Ese código postal no fue reconocido, lo siento."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:762
+#: perllib/FixMyStreet/App/Controller/Admin.pm:850
msgid "That problem has been marked as sent."
msgstr "El problema se ha marcado como enviado."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:755
+#: perllib/FixMyStreet/App/Controller/Admin.pm:843
msgid "That problem will now be resent."
msgstr "El problema ahora será reenviado."
-#: perllib/FixMyStreet/App/Controller/Report.pm:137
+#: perllib/FixMyStreet/App/Controller/Report.pm:134
msgid "That report cannot be viewed on %s."
msgstr "Esa notificación no se puede ver en %s."
-#: perllib/FixMyStreet/App/Controller/Report.pm:131
+#: perllib/FixMyStreet/App/Controller/Report.pm:128
msgid "That report has been removed from FixMyStreet."
msgstr "Esa notificación ha sido eliminada de CuidoMiCiudad."
-#: templates/web/base/admin/contact-form.html:25
+#: templates/web/base/admin/contact-form.html:27
msgid ""
"The <strong>email address</strong> is the destination to which reports about this category will be sent. \n"
" Other categories for this body may have the same email address."
@@ -3768,10 +3857,10 @@ msgid ""
" than one. If the body is running its own endpoint, you can usually leave this blank."
msgstr "La <strong>jurisdicción</strong> solo es necesaria si los límites incluyen a más de un municipio. Si el organismo administrativo funciona solo con sus propios límites puede dejar en blanco esto."
-#: templates/web/base/admin/body-form.html:100
-#: templates/web/base/admin/body-form.html:101
-#: templates/web/base/admin/contact-form.html:103
+#: templates/web/base/admin/body-form.html:102
+#: templates/web/base/admin/body-form.html:103
#: templates/web/base/admin/contact-form.html:104
+#: templates/web/base/admin/contact-form.html:105
msgid ""
"The <strong>send method</strong> determines how problem reports will be sent to the body.\n"
" If you leave this blank, <strong>send method defaults to email</strong>."
@@ -3792,6 +3881,10 @@ msgstr ""
"El <strong>nombre</strong> del organismo identifica al propio organismo administrativo (por ejemplo, <em>Ayuntamiento de Elche</em>)\n"
"y puede ser mostrado públicamente. "
+#: templates/web/base/admin/extra-metadata-form.html:12
+msgid "The code used to store this field value in the database. e.g. <code>address</code> would be available as <code>problem.extra.address</code> in the templates."
+msgstr ""
+
#: templates/web/base/report/new/fill_in_details_text.html:1
#: templates/web/base/report/new/fill_in_details_text.html:3
msgid "The council won&rsquo;t be able to help unless you leave as much detail as you can. Please describe the exact location of the problem (e.g. on a wall), what it is, how long it has been there, a description (and a photo of the problem if you have one), etc."
@@ -3802,11 +3895,15 @@ msgstr "El ayuntamiento necesita la mayor cantidad de detalles posibles para ate
msgid "The diligency prize league table shows editors' activity (who's been editing the most records)."
msgstr "Los premios a la responsabilidad muestran la actividad de los editores (quién ha editado más registros)."
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:61
-#: perllib/FixMyStreet/App/Controller/Reports.pm:82
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:63
+#: perllib/FixMyStreet/App/Controller/Reports.pm:103
msgid "The error was: %s"
msgstr "El error fue: %s"
+#: templates/web/base/admin/extra-metadata-form.html:30
+msgid "The field name as shown to the user on the report form."
+msgstr ""
+
#: templates/web/base/open311/index.html:78
msgid "The following Open311 v2 attributes are returned for each request: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
msgstr "Los siguientes atributos Open311 v2 son devueltos para cada petición: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code y service_name."
@@ -3845,10 +3942,14 @@ msgstr "Últimos problemas dentro de los límites de {{NAME}} notificados por lo
msgid "The link might have expired, or maybe you didn&rsquo;t quite copy and paste it correctly."
msgstr "El enlace podría haber caducado, o quizá usted no&rsquo; lo copió y pegó correctamente."
-#: templates/web/base/admin/body-form.html:64
+#: templates/web/base/admin/body-form.html:66
msgid "The list of available areas is being provided by the MapIt service at %s."
msgstr "La lista de áreas disponibles está siendo ofrecida por el servicio MapIt en %s."
+#: templates/web/base/admin/extra-metadata-form.html:6
+msgid "The ordering of this field on the report page. Fields are shown in ascending order according to this value."
+msgstr ""
+
#: templates/web/base/auth/change_password.html:22
#: templates/web/base/auth/change_password.html:26
msgid "The passwords do not match"
@@ -3858,9 +3959,9 @@ msgstr "Las contraseñas no coinciden."
msgid "The requested URL '%s' was not found on this server"
msgstr "La URL solicitada, '%s', no fue encontrada en el servidor"
-#: templates/web/base/alert/_list.html:17
-msgid "The simplest alert is our geographic one:"
-msgstr "La alerta más sencilla es nuestra alerta geográfica:"
+#: templates/web/base/admin/extra-metadata-form.html:42
+msgid "The type of input field to show to the user. <strong>Text</strong> is a simple text field, <strong>List</strong> is a drop-down selection."
+msgstr ""
#: perllib/FixMyStreet/Script/Reports.pm:96
msgid "The user could not locate the problem on a map, but to see the area around the location they entered"
@@ -3881,18 +3982,18 @@ msgstr ""
msgid "There are no reports to show."
msgstr "No hay ninguna notificación que mostrar."
-#: perllib/FixMyStreet/App/Controller/Reports.pm:79
+#: perllib/FixMyStreet/App/Controller/Reports.pm:100
msgid "There was a problem showing the All Reports page. Please try again later."
msgstr "Hubo un problema mostrando la página de Todas las Notificaciones. Por favor, inténtelo de nuevo más tarde."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:137
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:60
+#: perllib/FixMyStreet/App/Controller/Contact.pm:138
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:62
msgid "There was a problem showing this page. Please try again later."
msgstr "Hubo un problema mostrando esta página. Por favor, inténtelo de nuevo más tarde."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:758
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:785
#: perllib/FixMyStreet/App/Controller/Report/Update.pm:152
-#: templates/web/base/auth/general.html:53
+#: templates/web/base/auth/general.html:55
#: templates/web/zurich/auth/general.html:28
msgid "There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the &lsquo;sign in by email&rsquo; section of the form."
msgstr "Hubo un problema con su email/contraseña. Si no recuerda o no tiene contraseña, por favor rellene la sección 'registrarme con email' del formulario."
@@ -3905,7 +4006,7 @@ msgstr "Hubo un problema con su email/contraseña. Por favor, inténtelo de nuev
msgid "There was a problem with your update. Please try again."
msgstr "Hubo un problema con su actualización. Por favor, inténtelo de nuevo."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:141
+#: perllib/FixMyStreet/App/Controller/Contact.pm:142
msgid "There were problems with your report. Please see below."
msgstr "Hubo problemas con su notificación. Por favor, vea más abajo."
@@ -3964,8 +4065,8 @@ msgstr ""
msgid "This body has no contacts. This means that currently problems reported to this body <strong>will not be sent</strong>."
msgstr "Este órgano no tiene contactos. Esto significa que en la actualidad las incidencias notificadas a este organismo <strong>no son enviadas</strong>."
-#: templates/web/base/admin/body-form.html:58
-#: templates/web/base/admin/body-form.html:59
+#: templates/web/base/admin/body-form.html:60
+#: templates/web/base/admin/body-form.html:61
msgid ""
"This body will only be sent reports for problems that are located in the <strong>area covered</strong>.\n"
" A body will not receive any reports unless it covers at least one area."
@@ -3981,8 +4082,9 @@ msgstr "Este correo electrónico ha sido enviado a los dos ayuntamientos que cub
msgid "This email has been sent to several councils covering the location of the problem, as the category selected is provided for all of them; please ignore it if you're not the correct council to deal with the issue."
msgstr "Este correo electrónico ha sido enviado a varios consejos que cubren la ubicación del problema, pues la categoría de problema seleccionada por el usuario se proporciona para todos ellos. Por favor, si usted no pertenece al órgano administrativo responsable de resolver esta incidencia haga caso omiso de este mensaje."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:881
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:925
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1017
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:910
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:954
#: perllib/FixMyStreet/App/Controller/Report/New.pm:971
#: perllib/FixMyStreet/Cobrand/UK.pm:45
msgid "This information is required"
@@ -3992,46 +4094,41 @@ msgstr "Esta información es necesaria"
msgid "This is a developer site; things might break at any time, and the database will be periodically deleted."
msgstr "Este es un sitio para desarrolladores, las cosas podrían romperse en cualquier momento, y la base de datos se eliminará periódicamente."
-#: templates/web/base/reports/index.html:10
-msgid "This is a summary of all reports on this site."
-msgstr "Este es un resumen de todos los informes en CuidoMiCiudad."
-
-#: templates/web/base/report/new/form_report.html:56
+#: templates/web/base/report/new/form_report.html:58
msgid "This pothole has been here for two months and…"
msgstr "Este bache ha estado aquí dos meses y ..."
-#: templates/web/base/report/update/form_update.html:63
+#: templates/web/base/report/update/form_update.html:55
msgid "This problem has been fixed"
msgstr "Este problema se ha arreglado"
-#: templates/web/base/report/update/form_update.html:56
+#: templates/web/base/report/update/form_update.html:48
msgid "This problem has not been fixed"
msgstr "Este problema no se ha arreglado"
-#: templates/web/base/report/update/form_update.html:54
-#, fuzzy
+#: templates/web/base/report/update/form_update.html:46
msgid "This problem is still ongoing"
-msgstr "Este problema no se ha arreglado"
+msgstr ""
#: templates/web/base/report/duplicate-no-updates.html:3
msgid "This report is a duplicate. Please leave updates on the original report:"
msgstr "Ese reporte es duplicado. Por favor, actualizar el reporte original:"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:161
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:162
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:166
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:167
#: templates/web/zurich/report/_main.html:14
msgid "This report is awaiting moderation."
msgstr "Esta notificación está pendiente de moderación."
-#: perllib/FixMyStreet/Script/Alerts.pm:101
+#: perllib/FixMyStreet/Script/Alerts.pm:98
msgid "This report is currently marked as closed."
msgstr "Esta notificación está marcada como cerrada."
-#: perllib/FixMyStreet/Script/Alerts.pm:99
+#: perllib/FixMyStreet/Script/Alerts.pm:96
msgid "This report is currently marked as fixed."
msgstr "Esta notificación está marcada como arreglada."
-#: perllib/FixMyStreet/Script/Alerts.pm:103
+#: perllib/FixMyStreet/Script/Alerts.pm:100
msgid "This report is currently marked as open."
msgstr "Esta notificación está marcada como abierta."
@@ -4050,7 +4147,7 @@ msgstr "Esta página web también contiene una foto del problema, proporcionada
msgid "Time spent (in minutes):"
msgstr "Tiempo invertido (en minutos):"
-#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Default.pm:638
#: templates/web/base/admin/timeline.html:1
msgid "Timeline"
msgstr "Cronología"
@@ -4079,10 +4176,26 @@ msgstr "Para averiguar cuáles alertas locales tenemos para usted, por favor esc
msgid "To find out what local alerts we have for you, please enter your postcode or street name and area"
msgstr "Para saber cuáles son las alertas locales que tenemos para usted, por favor introduzca su código postal o el nombre de la calle y el área"
+#: templates/web/base/admin/reportextrafields/edit.html:19
+msgid "To limit this collection of fields to a single cobrand, select it here."
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:40
+msgid "To limit this collection of fields to a single language, select it here."
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:95
msgid "To view a map of the precise location of this issue"
msgstr "Para ver un mapa de la ubicación precisa de este problema"
+#: templates/web/base/reports/index.html:97
+msgid "Top 5 most used categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:83
+msgid "Top 5 responsive councils"
+msgstr ""
+
#: templates/web/base/admin/questionnaire.html:24
#: templates/web/base/admin/stats.html:24
#: templates/web/base/admin/stats.html:43
@@ -4096,9 +4209,8 @@ msgid "Total marked"
msgstr "Total señalado"
#: templates/web/base/dashboard/index.html:71
-#, fuzzy
msgid "Total marked as fixed"
-msgstr "marcado como arreglado"
+msgstr ""
#: templates/web/base/dashboard/index.html:125
msgid "Total not marked"
@@ -4109,16 +4221,24 @@ msgstr "Total sin señalización"
msgid "Total reports received"
msgstr "Total de reporte recibidos"
-#: templates/web/base/report/_inspect.html:124
-#: templates/web/base/report/_item.html:102
+#: templates/web/base/report/_inspect.html:134
+#: templates/web/base/report/_item.html:104
msgid "Traffic management required?"
msgstr "¿Se necesita administración del tráfico?"
+#: templates/web/base/admin/_translations.html:7
+msgid "Translation"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:2
+msgid "Translations"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:111
msgid "Trusted by bodies:"
msgstr "Confiables por los organismos administrativos:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:721
+#: perllib/FixMyStreet/Cobrand/Default.pm:726
msgid "Trusted to make reports that don't need to be inspected"
msgstr "Acreditado para hacer informes que no requieren inspección"
@@ -4134,8 +4254,14 @@ msgstr "Inténtelo de nuevo"
msgid "Try emailing us directly:"
msgstr "Pruebe enviándonos un correo directamente:"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:21
+#: templates/web/base/admin/extra-metadata-form.html:44
+#: templates/web/base/admin/states/index.html:10
+#: templates/web/base/admin/states/index.html:100
+msgid "Type"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:59
+#: templates/web/base/admin/contact-form.html:55
#: templates/web/base/admin/update_edit.html:30
#: templates/web/zurich/admin/report_edit-sdm.html:66
#: templates/web/zurich/admin/report_edit.html:94
@@ -4143,7 +4269,6 @@ msgstr "Pruebe enviándonos un correo directamente:"
msgid "Unconfirmed"
msgstr "Sin confirmar"
-#: templates/web/base/reports/_list-filters.html:12
#: templates/web/base/reports/_list-filters.html:5
msgid "Unfixed reports"
msgstr "Informes sin arreglar"
@@ -4157,26 +4282,26 @@ msgid "Unknown alert type"
msgstr "Tipo de alerta desconocida"
#: perllib/FixMyStreet/App/Controller/Photo.pm:109
-#: perllib/FixMyStreet/App/Controller/Root.pm:124
+#: perllib/FixMyStreet/App/Controller/Root.pm:141
#: templates/web/base/js/translation_strings.html:38
msgid "Unknown error"
msgstr "Error desconocido"
-#: perllib/FixMyStreet/App/Controller/Report.pm:115
+#: perllib/FixMyStreet/App/Controller/Report.pm:112
+#: perllib/FixMyStreet/App/Controller/Report.pm:118
#: perllib/FixMyStreet/App/Controller/Report.pm:121
-#: perllib/FixMyStreet/App/Controller/Report.pm:124
msgid "Unknown problem ID"
msgstr "ID de problema desconocido"
#: templates/web/base/reports/_list-filters.html:10
-#, fuzzy
msgid "Unshortlisted"
-msgstr "Entre los pre-seleccionados"
+msgstr ""
-#: templates/web/base/report/_item.html:24
+#: templates/web/base/report/_item.html:26
msgid "Up one"
msgstr ""
+#: templates/web/base/admin/states/index.html:76
#: templates/web/base/report/update/form_update.html:29
msgid "Update"
msgstr "Actualizar"
@@ -4193,7 +4318,7 @@ msgstr "La actualización de abajo fue añadida de forma anónima en %s"
msgid "Update below added by %s at %s"
msgstr "La actualización de abajo fue añadida por %s en %s"
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Update body"
msgstr "Actualizar órgano"
@@ -4229,13 +4354,23 @@ msgstr "Actualización de estados"
msgid "Updated"
msgstr "Actualizado"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1157
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1221
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1384
-#: perllib/FixMyStreet/App/Controller/Admin.pm:822
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:762
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:787
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:857
+#: perllib/FixMyStreet/DB/Result/Comment.pm:249
+#, fuzzy
+msgid "Updated by <strong>%s</strong> (%s) at %s"
+msgstr "Publicado por <strong>%s</strong> (%s) - %s"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:251
+#, fuzzy
+msgid "Updated by <strong>%s</strong> at %s"
+msgstr "Publicado por <strong>%s</strong> - %s"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1262
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1326
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1489
+#: perllib/FixMyStreet/App/Controller/Admin.pm:910
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:767
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:792
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:862
msgid "Updated!"
msgstr "¡Actualizado!"
@@ -4245,7 +4380,7 @@ msgstr "¡Actualizado!"
msgid "Updates"
msgstr "Actualizaciones"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:133
+#: perllib/FixMyStreet/DB/Result/Comment.pm:134
msgid "Updates are limited to %s characters in length. Please shorten your update"
msgstr "Las actualizaciones están limitadas a %s caracteres. Por favor acorte su actualización."
@@ -4259,11 +4394,22 @@ msgstr "Actualizaciones en {{title}}"
msgid "Updates to this problem, %s"
msgstr "Actualizaciones a este problema, %s"
+#: templates/web/base/admin/contact-form.html:43
+#: templates/web/base/admin/contact-form.html:44
+msgid ""
+"Use <strong>confirmed</strong> to indicate that this contact has been\n"
+"confirmed as correct. If you are not sure of the origin or validity of the\n"
+"contact, use <strong>unconfirmed</strong>. <strong>inactive</strong> will\n"
+"remove the category from use when reporting problems, but keep it available in\n"
+"map filters, and <strong>deleted</strong> will remove the category from there\n"
+"as well."
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:65
msgid "Use Open311 update-sending extension"
msgstr "Abrir la extension Open311 de envío de actualización"
-#: templates/web/base/admin/contact-form.html:124
+#: templates/web/base/admin/contact-form.html:125
msgid "Use this field to record details that are only displayed in the admin. Input is not shown publicly, and is not sent to the body."
msgstr "Use este campo para registrar detalles que solo se muestran en el administrador. Estas entradas no son públicas y no se enviarán al organismo administrativo."
@@ -4276,27 +4422,26 @@ msgstr "Mapa usado"
msgid "User ID to attribute fetched comments to"
msgstr "ID de usuario a quien atribuir los comentarios obtenidos"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1700
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1805
msgid "User flag removed"
msgstr "Eliminada marca de usuario"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1672
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1777
msgid "User flagged"
msgstr "Usuario marcado"
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:58
-#, fuzzy
msgid "User has marked as fixed"
-msgstr "marcado como arreglado"
+msgstr ""
#: templates/web/base/admin/users.html:5
msgid "User search finds matches in users' names and email addresses."
msgstr "La búsqueda ha encontrado coincidencias en nombres de usuarios y direcciones de email."
#: perllib/FixMyStreet/Cobrand/Default.pm:669
-#: perllib/FixMyStreet/Cobrand/Default.pm:723
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
+#: perllib/FixMyStreet/Cobrand/Default.pm:728
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:403
#: templates/web/base/admin/flagged.html:29 templates/web/zurich/header.html:61
msgid "Users"
msgstr "Usuarios"
@@ -4305,9 +4450,9 @@ msgstr "Usuarios"
msgid "Users can perform the following actions within their assigned body or area."
msgstr "Los usuarios pueden realizar las siguientes acciones dentro de sus organismos administrativos o áreas asignadas. "
-#: perllib/FixMyStreet/App/Controller/Admin.pm:400
-#: perllib/FixMyStreet/App/Controller/Admin.pm:430
-#: perllib/FixMyStreet/App/Controller/Admin.pm:448
+#: perllib/FixMyStreet/App/Controller/Admin.pm:381
+#: perllib/FixMyStreet/App/Controller/Admin.pm:417
+#: perllib/FixMyStreet/App/Controller/Admin.pm:439
msgid "Values updated"
msgstr "Valores actualizados"
@@ -4354,7 +4499,7 @@ msgstr "Hemos encontrado más de una coincidencia para esa ubicación. Se muestr
msgid "We found more than one match for that problem reference:"
msgstr "Hemos encontrado más de una coincidencia para el problema de referencia:"
-#: templates/web/base/auth/general.html:6
+#: templates/web/base/auth/general.html:8
#: templates/web/base/report/display.html:35
#: templates/web/base/report/new/oauth_email_form.html:5
msgid "We need your email address, please give it below."
@@ -4389,7 +4534,7 @@ msgstr "Gracias por sus comentarios. ¡Nos pondremos en contacto con usted tan p
msgid "What was your experience of getting the problem fixed?"
msgstr "¿Cómo fue su experiencia durante el proceso de solución del problema?"
-#: templates/web/base/admin/category_edit.html:52
+#: templates/web/base/admin/category_edit.html:27
#: templates/web/zurich/admin/body.html:18
msgid "When edited"
msgstr "Una vez editada"
@@ -4398,11 +4543,19 @@ msgstr "Una vez editada"
msgid "When sent"
msgstr "Una vez enviada"
-#: templates/web/base/report/_inspect.html:89
+#: templates/web/base/admin/extra-metadata-form.html:18
+msgid "Whether the user is required to provide a value for this field."
+msgstr ""
+
+#: templates/web/base/alert/_list.html:9
+msgid "Which problems do you want alerts about?"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:99
msgid "Which report is it a duplicate of?"
msgstr "¿Ese reporte es un reporte duplicado de qué reporte?"
-#: templates/web/base/js/translation_strings.html:54
+#: templates/web/base/js/translation_strings.html:57
msgid "Whoa there Testino! Three photos are enough."
msgstr "¡Espere! Tres fotos son suficientes."
@@ -4410,8 +4563,8 @@ msgstr "¡Espere! Tres fotos son suficientes."
msgid "Why stop there? <a href=\"/alert\">Set up more alerts</a> for free."
msgstr "¿Por qué detenerse ahí? <a href=\"/alert\">Configure más alertas</a> gratis."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:185
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:190
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:14
msgid "Wish"
@@ -4421,7 +4574,7 @@ msgstr "Deseo"
msgid "With request searches, it is also possible to search for agency_responsible to limit the requests to those sent to a single administration. The search term is the administration ID provided by <a href=\"%s\">MaPit</a>."
msgstr "En las búsquedas de solicitudes, es también posible buscar por agency_responsible para limitar las solicitudes a las enviados a una sola administración. El término de búsqueda es el ID de administración proporcionada por <a href=\"%s\">MapIT</a>."
-#: templates/web/base/front/footer-marketing.html:17
+#: templates/web/base/front/footer-marketing.html:3
msgid "Would you like to contribute to FixMyStreet? Our code is open source and <a href=\"http://fixmystreet.org\">available at fixmystreet.org</a>."
msgstr "¿Quieres contribuir a mejorar FixMyStreet? Nuestro código es abierto y está <a href=\"http://fixmystreet.org\">disponible en fixmystreet.org</a>."
@@ -4446,23 +4599,22 @@ msgstr "El año pasado"
msgid "Year"
msgstr "Año"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1202
+#: perllib/FixMyStreet/Cobrand/Default.pm:1236
#: templates/web/base/admin/bodies.html:70
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
#: templates/web/base/admin/category_edit.html:5
#: templates/web/base/admin/flagged.html:47
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:136
+#: templates/web/base/admin/report_edit.html:124
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:25
#: templates/web/base/admin/users.html:32
#: templates/web/base/questionnaire/creator_fixed.html:14
#: templates/web/base/questionnaire/index.html:104
#: templates/web/base/questionnaire/index.html:53
+#: templates/web/base/report/_inspect.html:90
msgid "Yes"
msgstr "SÃ"
@@ -4475,7 +4627,7 @@ msgstr "Sí, tengo una contraseña"
msgid "You are complaining that this problem report was unnecessarily moderated:"
msgstr "Usted se está quejando de que la notificación fue innecesariamente moderada:"
-#: templates/web/base/js/translation_strings.html:70
+#: templates/web/base/js/translation_strings.html:73
msgid "You are offline"
msgstr "Está sin conexion"
@@ -4496,7 +4648,11 @@ msgstr "Usted puede <a href=\"%s%s\">ver el problema en este sitio</a>."
msgid "You can add an abusive user's email to the abuse list, which automatically hides (and never sends) reports they create."
msgstr "Puede agregar email del usuario abusivo a la lista de abusones, que oculta de forma automática (y nunca envía) los informes que crean."
-#: templates/web/base/contact/index.html:111
+#: templates/web/base/alert/_list.html:18
+msgid "You can choose to subscribe to all problems reported in an area, or reports based on their destination."
+msgstr ""
+
+#: templates/web/base/contact/index.html:115
msgid "You can contact technical support on <a href='mailto:%s'>%s</a>"
msgstr "Puede ponerse en contacto con el soporte técnico en <a href='mailto:%s'>%s</a>"
@@ -4517,7 +4673,7 @@ msgstr ""
msgid "You can help us by finding a contact email address for local problems for %s and emailing it to us at <a href='mailto:%s'>%s</a>."
msgstr "Puede ayudarnos a encontrar una dirección de email de contacto para los problemas locales para %s y enviárnosla a <a href='mailto:%s'>%s</a>."
-#: templates/web/base/admin/body-form.html:91
+#: templates/web/base/admin/body-form.html:93
msgid "You can mark a body as deleted if you do not want it to be active on the site."
msgstr "Puede marcar un organismo como eliminado si no quiere que aparezca activo en este sitio."
@@ -4525,7 +4681,7 @@ msgstr "Puede marcar un organismo como eliminado si no quiere que aparezca activ
msgid "You declined; please fill in the box above"
msgstr "Usted rechazó finalmente; por favor, rellene el formulario de arriba"
-#: templates/web/base/js/translation_strings.html:72
+#: templates/web/base/js/translation_strings.html:75
msgid "You have <a id=\"oFN\" href=\"\"><span>%s</span> saved to submit</a>."
msgstr ""
@@ -4533,7 +4689,7 @@ msgstr ""
msgid "You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"
msgstr "Ya respondió a esta encuesta. Si tiene alguna pregunta, por favor, <a href='%s'>póngase en contacto con nosotros</a>, o <a href ='%s'>vea su problema</a>.\n"
-#: templates/web/base/report/new/form_report.html:37
+#: templates/web/base/report/new/form_report.html:39
#: templates/web/zurich/report/new/fill_in_details_form.html:30
msgid "You have already attached photos to this report. Note that you can attach a maximum of 3 to this report (if you try to upload more, the oldest will be removed)."
msgstr "Ya ha adjuntado fotos a este informe. Tenga en cuenta que solo puede adjuntar un máximo de 3 a este informe (si intenta subir más, las más antiguas serán desechadas)."
@@ -4594,10 +4750,9 @@ msgstr "Sus notificaciones"
msgid "Your account"
msgstr "Su cuenta"
-#: templates/web/base/alert/_list.html:90
#: templates/web/base/alert/updates.html:19
#: templates/web/base/alert/updates.html:22
-#: templates/web/base/contact/index.html:81
+#: templates/web/base/contact/index.html:80
#: templates/web/base/report/display_tools.html:46
#: templates/web/base/report/display_tools.html:49
#: templates/web/base/report/new/form_user_loggedout_email.html:1
@@ -4607,7 +4762,7 @@ msgid "Your email"
msgstr "Su email:"
#: templates/web/base/auth/change_email.html:9
-#: templates/web/base/auth/general.html:55
+#: templates/web/base/auth/general.html:57
#: templates/web/base/report/update/form_user_loggedout_email.html:5
#: templates/web/zurich/auth/general.html:30
#: templates/web/zurich/auth/general.html:58
@@ -4618,21 +4773,32 @@ msgstr "Su dirección de email"
msgid "Your information will only be used in accordance with our <a href=\"/privacy\">privacy policy</a>"
msgstr "Su información sólo será usada de acuerdo con nuestra <a href=\"/privacy\">política de privacidad</a>"
-#: templates/web/base/auth/general.html:107
+#: templates/web/base/auth/general.html:109
#: templates/web/base/contact/index.html:74
#: templates/web/base/report/new/form_user_loggedout_by_email.html:17
-#: templates/web/base/report/update/form_name.html:29
+#: templates/web/base/report/update/form_name.html:33
#: templates/web/zurich/auth/general.html:61
#: templates/web/zurich/report/new/fill_in_details_form.html:63
msgid "Your name"
msgstr "Su nombre"
-#: templates/web/base/js/translation_strings.html:62
-#, fuzzy
+#: templates/web/base/my/anonymize.html:13
+msgid "Your name has already been sent to %s, but we can hide it on this page:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:264
+msgid "Your name has been hidden from all your reports and updates."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:260
+msgid "Your name has been hidden."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:65
msgid "Your offline reports"
-msgstr "Sus notificaciones"
+msgstr ""
-#: templates/web/base/auth/general.html:85
+#: templates/web/base/auth/general.html:87
#: templates/web/base/report/new/form_user_loggedout_password.html:10
#: templates/web/base/report/update/form_user_loggedout_password.html:9
#: templates/web/zurich/auth/general.html:34
@@ -4643,6 +4809,7 @@ msgstr "Su contraseña"
msgid "Your password has been changed"
msgstr "Su contraseña ha cambiado"
+#: templates/web/base/contact/index.html:87
#: templates/web/base/report/new/form_user_loggedout_by_email.html:26
#: templates/web/zurich/report/new/fill_in_details_form.html:69
msgid "Your phone number"
@@ -4661,7 +4828,7 @@ msgstr "Sus notificaciones"
msgid "Your shortlist"
msgstr "Sus pre-seleccionados"
-#: templates/web/base/js/translation_strings.html:63
+#: templates/web/base/js/translation_strings.html:66
msgid "Your update has been saved offline for submission when back online."
msgstr "Su reporte está guardado para subir cuando tenga una conexión internet."
@@ -4669,8 +4836,8 @@ msgstr "Su reporte está guardado para subir cuando tenga una conexión internet
msgid "Your updates"
msgstr "Sus actualizaciones"
-#: templates/web/base/report/new/form_user_loggedin.html:18
-#: templates/web/base/report/update/form_name.html:11
+#: templates/web/base/report/new/form_user_loggedin.html:19
+#: templates/web/base/report/update/form_name.html:12
msgid "Yourself"
msgstr "Usted mismo"
@@ -4679,14 +4846,14 @@ msgstr "Usted mismo"
msgid "all"
msgstr "todo"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:259
+msgid "and a defect raised"
+msgstr ""
+
#: templates/web/base/admin/timeline.html:4
msgid "by %s"
msgstr "por %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:290
-msgid "closed as a duplicate report"
-msgstr "marcado como un informe duplicado"
-
#: templates/web/base/reports/body.html:6
#: templates/web/base/reports/body.html:7
msgid "council"
@@ -4711,7 +4878,7 @@ msgstr "editar usuario"
msgid "from %s different users"
msgstr "de %s usuarios diferentes"
-#: templates/web/base/report/_item.html:61
+#: templates/web/base/report/_item.html:63
#: templates/web/zurich/report/_item.html:14
msgid "last updated %s"
msgstr "ultima actualización %s"
@@ -4720,44 +4887,7 @@ msgstr "ultima actualización %s"
msgid "less than a minute"
msgstr "menos de un minuto"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:280
-msgid "marked as action scheduled"
-msgstr "marcado como acción programada"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:292
-msgid "marked as an internal referral"
-msgstr "marcado como una referencia interna"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:282
-msgid "marked as closed"
-msgstr "marcado como cerrado"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:263
-#: perllib/FixMyStreet/DB/Result/Comment.pm:284
-msgid "marked as fixed"
-msgstr "marcado como arreglado"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:278
-msgid "marked as in progress"
-msgstr "marcado como en progreso"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:274
-msgid "marked as investigating"
-msgstr "marcado como en investigación"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:286
-msgid "marked as no further action"
-msgstr "marcado como que no se puede arreglar"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:288
-msgid "marked as not the council's responsibility"
-msgstr "marcado como que el ayuntamiento no es responsable"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:276
-msgid "marked as planned"
-msgstr "marcado como planificado"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:122
+#: perllib/FixMyStreet/App/Controller/Admin.pm:119
#: templates/web/base/admin/questionnaire.html:15
#: templates/web/base/admin/questionnaire.html:16
msgid "n/a"
@@ -4768,13 +4898,10 @@ msgstr "n/a"
msgid "none"
msgstr "nada"
-#: templates/web/base/admin/category_edit.html:35
-msgid "optional"
-msgstr "opcional"
-
-#: templates/web/base/alert/_list.html:86
-msgid "or"
-msgstr "o"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:278
+#, fuzzy
+msgid "not the council's responsibility"
+msgstr "marcado como que el ayuntamiento no es responsable"
#: templates/web/base/js/translation_strings.html:27
msgid "or locate me automatically"
@@ -4799,16 +4926,7 @@ msgstr "consignados inicialmente:"
msgid "other areas:"
msgstr "otras áreas:"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:265
-#: perllib/FixMyStreet/DB/Result/Comment.pm:271
-msgid "reopened"
-msgstr "reabierto"
-
-#: templates/web/base/admin/category_edit.html:35
-msgid "required"
-msgstr "requerido"
-
-#: templates/web/zurich/footer.html:13
+#: templates/web/zurich/footer.html:12
msgid "sign out"
msgstr "salir"
@@ -4816,11 +4934,16 @@ msgstr "salir"
msgid "the local council"
msgstr "ayuntamiento"
-#: templates/web/base/report/_report_meta_info.html:2
+#: templates/web/base/report/_report_meta_info.html:5
#: templates/web/zurich/report/_main.html:5
msgid "there is no pin shown as the user did not use the map"
msgstr "no hay marcador porque el usuario no usó el mapa"
+#: templates/web/base/alert/_list.html:1
+#, fuzzy
+msgid "this location"
+msgstr "Visualizando una ubicación"
+
#: perllib/FixMyStreet/Script/Reports.pm:184
msgid "this type of local problem"
msgstr "este tipo de problema local"
@@ -4829,15 +4952,13 @@ msgstr "este tipo de problema local"
msgid "today"
msgstr "hoy"
-#: templates/web/base/js/translation_strings.html:73
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:76
msgid "update"
-msgstr "Actualizar"
+msgstr ""
-#: templates/web/base/js/translation_strings.html:74
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:77
msgid "updates"
-msgstr "Actualizaciones"
+msgstr ""
#: templates/web/base/admin/report_edit.html:52
msgid "used map"
@@ -4857,11 +4978,11 @@ msgid "ward"
msgstr "barrio"
#: templates/web/base/admin/bodies.html:56
-#, fuzzy, perl-format
+#, perl-format
msgid "%d address"
msgid_plural "%d addresses"
-msgstr[0] "Dirección de email"
-msgstr[1] "Dirección de email"
+msgstr[0] ""
+msgstr[1] ""
#: perllib/Utils.pm:250
#, perl-format
@@ -4885,11 +5006,11 @@ msgstr[0] "%d minuto"
msgstr[1] "%d minutos"
#: perllib/Utils.pm:246
-#, fuzzy, perl-format
+#, perl-format
msgid "%d month"
msgid_plural "%d months"
-msgstr[0] "%d minuto"
-msgstr[1] "%d minutos"
+msgstr[0] ""
+msgstr[1] ""
#: templates/web/base/report/_support.html:6
#, perl-format
@@ -4912,6 +5033,41 @@ msgid_plural "%d years"
msgstr[0] "%d año"
msgstr[1] "%d años"
+#: templates/web/base/reports/index.html:92
+#, perl-format
+msgid "%s day"
+msgid_plural "%s days"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:55
+#, perl-format
+msgid "%s problem marked as fixed"
+msgid_plural "%s problems marked as fixed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:43
+#, perl-format
+msgid "%s problem reported"
+msgid_plural "%s problems reported"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:107
+#, perl-format
+msgid "%s report"
+msgid_plural "%s reports"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:49
+#, perl-format
+msgid "%s update on problems"
+msgid_plural "%s updates on problems"
+msgstr[0] ""
+msgstr[1] ""
+
#: templates/web/base/front/stats.html:19
#, perl-format
msgid "<big>%s</big> fixed in past month"
@@ -4940,12 +5096,12 @@ msgid_plural "<big>%s</big> updates on reports"
msgstr[0] "<big>%s</big> notificaciones actualizadas"
msgstr[1] "<big>%s</big> notificaciones actualizadas"
-#: templates/web/base/report/_item.html:49
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:51
+#, perl-format
msgid "Reported %d day ago"
msgid_plural "Reported %d days ago"
-msgstr[0] "Notificado por %s en %s"
-msgstr[1] "Notificado por %s en %s"
+msgstr[0] ""
+msgstr[1] ""
#: templates/web/base/report/new/top_message_some.html:3
#, perl-format
@@ -4961,49 +5117,127 @@ msgid_plural "We do not yet have details for the councils that cover this locati
msgstr[0] "Todavía no tenemos detalles para el Ayuntamiento que cubre esta zona."
msgstr[1] "Todavía no tenemos información de qué ayuntamientos cubren este área."
-#: templates/web/base/report/_item.html:59
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:61
+#, perl-format
msgid "last updated %d day ago"
msgid_plural "last updated %d days ago"
-msgstr[0] "ultima actualización %s"
-msgstr[1] "ultima actualización %s"
+msgstr[0] ""
+msgstr[1] ""
#: templates/email/oxfordshire/archive.txt:9
-#, fuzzy, perl-format
+#, perl-format
msgid "report"
msgid_plural "reports"
-msgstr[0] "Notificar"
-msgstr[1] "Notificar"
+msgstr[0] ""
+msgstr[1] ""
-#, fuzzy
-#~ msgid "All inspectors"
-#~ msgstr "Todas las categorías"
+#~ msgid ""
+#~ "%s sends different categories of problem\n"
+#~ "to the appropriate council, so problems within the boundary of a particular council\n"
+#~ "might not match the problems sent to that council. For example, a graffiti report\n"
+#~ "will be sent to the district council, so will appear in both of the district\n"
+#~ "council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
+#~ "for the county council."
+#~ msgstr ""
+#~ "%s envía diferentes categorías de problemas\n"
+#~ "al ayuntamiento apropiado, de manera que los problemas dentro de las fronteras de cierto ayuntamiento\n"
+#~ "no podrían coincidir con los problemas enviados a ese ayuntamiento. Por ejemplo, un reporte de grafiti\n"
+#~ "será enviado al ayuntamiento del distrito, de manera que aparecerá en ambas alertas del distrito\n"
+#~ "council&amp;rsquo;s, pero solo aparecerá en la alerta \"Dentro de la frontera\"\n"
+#~ "para el ayuntamiento del municipio."
-#, fuzzy
-#~ msgid "External ID:"
-#~ msgstr "ID externo"
+#~ msgid "%s ward, %s"
+#~ msgstr "%s barrio, %s"
-#, fuzzy
-#~ msgid "Inspector:"
-#~ msgstr "Inspección requerida"
+#~ msgid "%s, within %s ward"
+#~ msgstr "%s, en %s barrio"
-#, fuzzy
-#~ msgid "Report category:"
-#~ msgstr "Editar la categoría del informe"
+#~ msgid "(alternatively the RSS feed can be customised, within %s)"
+#~ msgstr "(un listado RSS podría ser diseñado alternativamente, dentro de %es)"
-#, fuzzy
-#~ msgid "Reported %d days ago"
-#~ msgstr "Notificado por %s en %s"
+#~ msgid "-- Pick a property type --"
+#~ msgstr "-- Escoja un tipo de propiedad --"
-#, fuzzy
-#~ msgid "last updated %d days ago"
-#~ msgstr "ultima actualización %s"
+#~ msgid "Closed reports"
+#~ msgstr "Informes cerrados"
+
+#~ msgid "Closed:"
+#~ msgstr "Cerrada:"
+
+#~ msgid "Duplicate"
+#~ msgstr "Duplicado"
+
+#~ msgid "Fixed reports"
+#~ msgstr "Informes arreglados"
+
+#~ msgid "Fixed:"
+#~ msgstr "Arreglado:"
+
+#~ msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
+#~ msgstr "Estos son los tipos de notificaciones de incidencias locales para '%s'."
+
+#~ msgid "In Progress"
+#~ msgstr "Procesando"
+
+#~ msgid "Internal referral"
+#~ msgstr "Remisión interna"
+
+#~ msgid "Investigating"
+#~ msgstr "Investigando"
+
+#~ msgid "No further action"
+#~ msgstr "Incapaz de arreglarlo"
+
+#~ msgid "Not Responsible"
+#~ msgstr "No responsable"
+
+#~ msgid "Or problems reported to:"
+#~ msgstr "O problemas notificados a:"
+
+#~ msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
+#~ msgstr "O puede suscribirse a una alerta basada en el barrio o ayuntamiento en que te encuentras:"
+
+#~ msgid "Please choose a property type"
+#~ msgstr "Por favor, elija un tipo de propiedad"
+
+#~ msgid "Problems within the boundary of:"
+#~ msgstr "Problemas en:"
+
+#~ msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
+#~ msgstr "Seleccione qué tipo de alerta le gustaría recibir y haga click en el botón para un listado RSS, o escriba su dirección de email para suscribirse a una alerta por correo."
+
+#~ msgid "The simplest alert is our geographic one:"
+#~ msgstr "La alerta más sencilla es nuestra alerta geográfica:"
+
+#~ msgid "closed as a duplicate report"
+#~ msgstr "marcado como un informe duplicado"
+
+#~ msgid "marked as action scheduled"
+#~ msgstr "marcado como acción programada"
+
+#~ msgid "marked as an internal referral"
+#~ msgstr "marcado como una referencia interna"
+
+#~ msgid "marked as closed"
+#~ msgstr "marcado como cerrado"
+
+#~ msgid "marked as fixed"
+#~ msgstr "marcado como arreglado"
+
+#~ msgid "marked as in progress"
+#~ msgstr "marcado como en progreso"
+
+#~ msgid "marked as investigating"
+#~ msgstr "marcado como en investigación"
+
+#~ msgid "marked as no further action"
+#~ msgstr "marcado como que no se puede arreglar"
-#~ msgid "Reports from users with high enough reputation will be sent immediately without requiring inspection. Each category's threshold can be managed on its edit page. Users earn reputation when a report they have made is marked as inspected by inspectors."
-#~ msgstr "Los informes de usuarios con una reputación suficientemente alta serán enviados inmediatamente sin requerir inspección. Cada umbral de categoría puede ser administrado en su página de edición. Los usuarios ganan reputación cuando un reporte que hayan hecho sea marcado como inspeccionado por los inspectores."
+#~ msgid "marked as planned"
+#~ msgstr "marcado como planificado"
-#~ msgid "Reputation:"
-#~ msgstr "Reputación:"
+#~ msgid "or"
+#~ msgstr "o"
-#~ msgid "Cancel"
-#~ msgstr "Cancelar"
+#~ msgid "reopened"
+#~ msgstr "reabierto"
diff --git a/locale/fr_FR.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/fr_FR.UTF-8/LC_MESSAGES/FixMyStreet.po
index 7f25b66fe..e96147d56 100644
--- a/locale/fr_FR.UTF-8/LC_MESSAGES/FixMyStreet.po
+++ b/locale/fr_FR.UTF-8/LC_MESSAGES/FixMyStreet.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
-"POT-Creation-Date: 2017-03-30 17:33+0100\n"
+"POT-Creation-Date: 2017-09-13 15:40+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: fixmystreetfr <fixmystreet@fixmystreet.fr>, 2016\n"
+"Last-Translator: mySociety <transifex@mysociety.org>, 2017\n"
"Language-Team: French (France) (https://www.transifex.com/mysociety/teams/12067/fr_FR/)\n"
"Language: fr_FR\n"
"MIME-Version: 1.0\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:695
+#: perllib/FixMyStreet/DB/Result/Problem.pm:632
#: perllib/FixMyStreet/Script/Reports.pm:197
msgid " and "
msgstr " et "
@@ -97,29 +97,6 @@ msgstr "%s questionnaires envoyés &ndash; %s complétés (%s%%)"
msgid "%s ref:&nbsp;%s"
msgstr "%s réf&nbsp;:&nbsp;%s"
-#. ("%s is the site name")
-#: templates/web/base/alert/_list.html:74
-msgid ""
-"%s sends different categories of problem\n"
-"to the appropriate council, so problems within the boundary of a particular council\n"
-"might not match the problems sent to that council. For example, a graffiti report\n"
-"will be sent to the district council, so will appear in both of the district\n"
-"council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
-"for the county council."
-msgstr ""
-"%s envoie différentes catégories de problèmes \n"
-"à l'administration appropriée. Les problèmes situés sur le territoire d'une administration pourraient ne pas correspondre aux problèmes envoyés à cette administration.\n"
-" Par exemple, un rapport graffiti sera envoyé à l'administration\n"
-" de district, et apparaîtrait dans les deux administrations."
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:257 perllib/FixMyStreet/Cobrand/UK.pm:269
-msgid "%s ward, %s"
-msgstr "Localité %s, %s"
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
-msgid "%s, within %s ward"
-msgstr "%s, dans la localité %s"
-
#: perllib/FixMyStreet/Map/OSM.pm:38
msgid "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"
msgstr "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributeurs"
@@ -128,7 +105,7 @@ msgstr "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap<
msgid "(Defect &amp; location of defect)"
msgstr "(Défaut & amp; emplacement du défaut)"
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
#: templates/web/base/admin/users.html:32
msgid "(Email in abuse table)"
msgstr "(email dans la liste des abus)"
@@ -143,28 +120,36 @@ msgstr "(Sans Nom)"
msgid "(No phone number)"
msgstr "(Sans numéro de téléphone)"
-#: templates/web/base/alert/_list.html:25
-msgid "(a default distance which covers roughly 200,000 people)"
-msgstr "(une distance par défaut qui couvre environ 200 000 personnes)"
-
-#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
-#: templates/web/base/alert/_list.html:30
-msgid "(alternatively the RSS feed can be customised, within %s)"
-msgstr "(alternativement le flux RSS peut être personnalisé, dans %s)"
+#: templates/web/base/admin/states/index.html:95
+msgid "(a-z and space only)"
+msgstr ""
#: templates/web/zurich/report/_item.html:19
msgid "(closed)"
msgstr "(fermé)"
+#: templates/web/base/alert/_list.html:30
+#, fuzzy
+msgid "(covers roughly 200,000 people)"
+msgstr "(une distance par défaut qui couvre environ 200 000 personnes)"
+
#: templates/web/zurich/report/_item.html:17
msgid "(fixed)"
msgstr "(résolu)"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "(ignored if type is \"String\")"
+msgstr ""
+
#: templates/web/base/around/intro.html:2
msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
msgstr "(comme des graffitis, immondices, trottoirs abimés ou éclairage public)"
-#: templates/web/base/report/_item.html:68
+#: templates/web/base/reports/index.html:69
+msgid "(no longer exists)"
+msgstr ""
+
+#: templates/web/base/report/_item.html:70
msgid "(not sent to council)"
msgstr "(non signalé à l&rsquo;administration)"
@@ -172,20 +157,22 @@ msgstr "(non signalé à l&rsquo;administration)"
msgid "(optional)"
msgstr "(facultatif)"
-#: templates/web/base/report/_item.html:67
+#: templates/web/base/report/_item.html:69
msgid "(sent to both)"
msgstr "(envoyé aux deux)"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:239
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/DB/Result/Problem.pm:454
+#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
+#: templates/web/base/alert/_list.html:36
+#, fuzzy
+msgid "(we also have RSS feeds for problems within %s)"
+msgstr "Flux RSS des problèmes à l'intérieur de %s"
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:245
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:381
msgid "-- Pick a category --"
msgstr "-- Choisissez une catégorie --"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:460
-msgid "-- Pick a property type --"
-msgstr "-- Choisissez un type de propriété --"
-
#: templates/web/base/admin/response_templates_select.html:3
msgid "--Choose a template--"
msgstr "--Choisissez un modèle--"
@@ -194,16 +181,16 @@ msgstr "--Choisissez un modèle--"
msgid "10 inch pothole on Example St, near post box"
msgstr "Nid de poule de 10cm près de la boîte postale"
-#: templates/web/base/dashboard/index.html:152
+#: templates/web/base/dashboard/index.html:153
msgid "14-30 days old"
msgstr ""
-#: templates/web/base/dashboard/index.html:151
+#: templates/web/base/dashboard/index.html:152
msgid "7-14 days old"
msgstr ""
-#: templates/web/base/admin/body-form.html:48
-#: templates/web/base/admin/body-form.html:49
+#: templates/web/base/admin/body-form.html:50
+#: templates/web/base/admin/body-form.html:51
msgid ""
"<code>MAPIT_URL</code> is set (<code>%s</code>) but no <code>MAPIT_TYPES</code>.<br>\n"
" This is probably why \"area covered\" is empty (below).<br>\n"
@@ -217,13 +204,13 @@ msgstr ""
msgid "<h2>Reports, Statistics and Actions for</h2> <h1>%s</h1>"
msgstr ""
-#. ('The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories')
#. ("The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories")
-#: templates/web/base/reports/_list-filters.html:37
-msgid "<label for=\"statuses\">Show</label> %s <label for=\"filter_categories\">about</label> %s"
+#: templates/web/base/reports/_list-filters.html:48
+#, fuzzy
+msgid "<label for=\"statuses\">Show</label> %s reports <label for=\"filter_categories\">about</label> %s"
msgstr "<label for=\"statuses\">Afficher</label> %s <label for=\"filter_categories\">à propos de</label> %s"
-#: templates/web/base/js/translation_strings.html:71
+#: templates/web/base/js/translation_strings.html:74
msgid "<span>%s</span> saved."
msgstr ""
@@ -240,34 +227,25 @@ msgstr "<strong>Non</strong>, laissez-moi confirmer mon rapport par email :"
msgid "<strong>No</strong> Let me confirm my update by email"
msgstr "<strong>Non</strong>, laissez-moi confirmer ma mise à jour par email :"
-#: templates/web/base/auth/general.html:104
+#: templates/web/base/auth/general.html:106
#: templates/web/zurich/auth/general.html:51
msgid "<strong>No</strong> let me sign in by email"
msgstr "<strong>Non</strong>, laissez-moi m'authentifier par email :"
-#: templates/web/base/report/_inspect.html:160
+#: templates/web/base/report/_inspect.html:170
msgid "<strong>Note:</strong> This report has been sent onwards for action. Any changes made won't be passed on."
msgstr "<strong> Remarque: </strong> Ce rapport a été envoyé pour action. Toutes les modifications apportées ne seront pas transmises."
-#: templates/web/base/report/_inspect.html:162
+#: templates/web/base/report/_inspect.html:172
msgid "<strong>Note:</strong> This report hasn't yet been sent onwards for action. Any changes made may not be passed on."
msgstr "<strong> Remarque: </strong> Ce rapport n'a pas encore été envoyé pour action. Toutes les modifications apportées ne peuvent pas être transmises."
-#: templates/web/base/auth/general.html:80
+#: templates/web/base/auth/general.html:82
#: templates/web/base/report/new/form_user_loggedout_password.html:3
#: templates/web/base/report/update/form_user_loggedout_password.html:2
msgid "<strong>Yes</strong> I have a password"
msgstr "<strong>Oui</strong>, j'ai un mot de passe :"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:10
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:6
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Action Scheduled"
-msgstr "Action programmée"
-
#: templates/web/base/admin/body-form.html:3
#: templates/web/base/admin/body-form.html:4
msgid ""
@@ -284,19 +262,36 @@ msgid "Add a contact using the form below."
msgstr "Ajouter un contact en utilisant le formulaire ci-dessous."
#: templates/web/base/admin/bodies.html:78
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Add body"
msgstr "Ajouter un interlocuteur"
+#: templates/web/base/admin/reportextrafields/index.html:24
+msgid "Add extra fields"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:79
+msgid "Add field"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:85
+msgid "Add fixed state"
+msgstr ""
+
#: templates/web/base/admin/body.html:126
#: templates/web/zurich/admin/body.html:31
msgid "Add new category"
msgstr "Ajouter une nouvelle catégorie"
+#: templates/web/base/admin/extra-metadata-form.html:72
+#, fuzzy
+msgid "Add option"
+msgstr "optionnel"
+
#: templates/web/base/report/_item.html:10
-#: templates/web/base/report/_item.html:14
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_item.html:16
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:19
#: templates/web/base/report/_main.html:30
msgid "Add to shortlist"
@@ -308,15 +303,15 @@ msgstr "Ajouter à la liste"
msgid "Add user"
msgstr "Ajouter un utilisateur"
-#: perllib/FixMyStreet/Cobrand/Default.pm:730
+#: perllib/FixMyStreet/Cobrand/Default.pm:735
msgid "Add/edit problem categories"
msgstr "Ajouter/modifier des catégories de problèmes"
-#: perllib/FixMyStreet/Cobrand/Default.pm:732
+#: perllib/FixMyStreet/Cobrand/Default.pm:737
msgid "Add/edit response priorities"
msgstr "Ajouter/modifier les priorités de réponse"
-#: perllib/FixMyStreet/Cobrand/Default.pm:731
+#: perllib/FixMyStreet/Cobrand/Default.pm:736
msgid "Add/edit response templates"
msgstr "Ajouter/modifier des modèles de réponse"
@@ -324,7 +319,7 @@ msgstr "Ajouter/modifier des modèles de réponse"
msgid "Added %s"
msgstr "Ajouté %s"
-#: templates/web/base/report/_main.html:145
+#: templates/web/base/report/_main.html:149
msgid "Adding this report to your shortlist will remove it from %s’s shortlist."
msgstr "L'ajout de ce rapport à votre liste va le supprimer de la liste %s’s."
@@ -344,18 +339,17 @@ msgstr "Alerte %d créée pour %s, type %s, paramètres %s / %s"
msgid "Alert %d disabled (created %s)"
msgstr "Alerte %d désactivée (création %s)"
-#: templates/web/base/report/update/form_name.html:38
+#: templates/web/base/report/update/form_name.html:42
msgid "Alert me to future updates"
msgstr "M'alerter de futures mises à jour"
#: templates/web/base/dashboard/index.html:138
#: templates/web/base/dashboard/index.html:21
#: templates/web/base/dashboard/index.html:30
-#, fuzzy
+#: templates/web/base/reports/_list-filters.html:3
msgid "All"
-msgstr "Tous"
+msgstr ""
-#: templates/web/base/reports/index.html:6
#: templates/web/zurich/reports/index.html:13
msgid "All Reports"
msgstr "Tous les rapports"
@@ -365,15 +359,23 @@ msgid "All Reports as CSV"
msgstr "Tous les rapports au format CSV"
#: templates/web/base/admin/category-multiselect.html:5
-#: templates/web/base/admin/responsepriorities/list.html:19
+#: templates/web/base/admin/responsepriorities/list.html:20
msgid "All categories"
msgstr "Toutes catégories"
+#: templates/web/base/admin/reportextrafields/edit.html:26
+#, fuzzy
+msgid "All cobrands"
+msgstr "Collaboration"
+
+#: templates/web/base/admin/reportextrafields/edit.html:47
+msgid "All languages"
+msgstr ""
+
#: templates/web/base/main_nav_items.html:0
#: templates/web/base/main_nav_items.html:27
-#: templates/web/base/reports/_list-filters.html:3
#: templates/web/zurich/admin/index-dm.html:12
-#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:21
+#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:20
#: templates/web/zurich/nav_over_content.html:6
msgid "All reports"
msgstr "Tous les rapports"
@@ -383,6 +385,14 @@ msgstr "Tous les rapports"
msgid "All reports between %s and %s"
msgstr "Tous les rapports entre %s et %s"
+#: templates/web/base/reports/index.html:23
+msgid "All time"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:20
+msgid "Alternatively, we can hide your name on <strong>all of your reports and updates</strong> across the site:"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:47
msgid "An update marked this problem as fixed."
msgstr "Une mise à jour a marqué ce problème comme résolu"
@@ -392,31 +402,33 @@ msgstr "Une mise à jour a marqué ce problème comme résolu"
msgid "Anonymous"
msgstr "Anonyme"
-#: templates/web/base/admin/report_edit.html:134
+#: templates/web/base/report/new/form_user_loggedin.html:21
+#: templates/web/base/report/update/form_name.html:17
+#, fuzzy
+msgid "Anonymous user"
+msgstr "Anonyme"
+
+#: templates/web/base/admin/report_edit.html:122
#: templates/web/base/admin/update_edit.html:23
msgid "Anonymous:"
msgstr "Anonyme :"
-#: templates/web/base/report/new/form_user_loggedin.html:20
-#: templates/web/base/report/update/form_name.html:13
+#: templates/web/base/report/new/form_user_loggedin.html:24
+#: templates/web/base/report/update/form_name.html:14
msgid "Another user"
msgstr "un autre utilisateur"
-#: templates/web/base/front/footer-marketing.html:16
-msgid "Are you a developer?"
-msgstr "Vous êtes un développeur ?"
-
-#: templates/web/base/js/translation_strings.html:56
+#: templates/web/base/js/translation_strings.html:59
msgid "Are you sure you want to cancel this upload?"
msgstr "Êtes-vous sûr de vouloir annuler cet envoi ?"
#: templates/web/base/admin/report_edit.html:84
-#: templates/web/base/js/translation_strings.html:66
+#: templates/web/base/js/translation_strings.html:69
#: templates/web/base/report/display_tools.html:6
msgid "Are you sure?"
msgstr "Êtes-vous sûr ?"
-#: templates/web/base/admin/body-form.html:75
+#: templates/web/base/admin/body-form.html:77
#: templates/web/base/admin/body.html:20
#: templates/web/zurich/admin/body-form.html:24
msgid "Area covered"
@@ -448,11 +460,11 @@ msgstr "Affecté à un \"interlocuteur\" externe:"
msgid "Assign to subdivision:"
msgstr "Affecté à la subdivision:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:727
+#: perllib/FixMyStreet/Cobrand/Default.pm:732
msgid "Assign users to areas"
msgstr "Affecter des utilisateurs aux zones"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:214
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:219
msgid "Assigned to %s"
msgstr "Affecté à %s"
@@ -473,11 +485,14 @@ msgstr "Les utilisateurs autorisés peuvent être associés aux catégories sur
msgid "Auto-response:"
msgstr "Réponse automatique:"
-#: templates/web/base/admin/report_edit.html:127
-#: templates/web/base/report/_inspect.html:47
+#: templates/web/base/admin/report-category.html:8
msgid "Available categories"
msgstr "Catégories disponibles"
+#: templates/web/base/reports/index.html:84
+msgid "Average time between a problem being reported and being fixed, last 100 reports."
+msgstr ""
+
#: templates/web/base/dashboard/index.html:109
msgid "Average time to council marking fixed (days)"
msgstr ""
@@ -490,7 +505,7 @@ msgstr ""
msgid "Avoid personal information and vehicle number plates"
msgstr "Évitez les renseignements personnels et les plaques d'immatriculation"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:417
+#: perllib/FixMyStreet/DB/Result/Problem.pm:344
#: templates/web/zurich/report/_item.html:9
msgid "Awaiting moderation"
msgstr "En attente de modération"
@@ -503,13 +518,13 @@ msgstr "Retour"
msgid "Back to all reports"
msgstr "Retour vers tous les rapports"
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
msgid "Ban email address"
msgstr "Bannir l'adresse mail"
#: perllib/FixMyStreet/Cobrand/Default.pm:650
-#: perllib/FixMyStreet/Cobrand/Default.pm:729
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
+#: perllib/FixMyStreet/Cobrand/Default.pm:734
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:396
#: templates/web/base/admin/bodies.html:1
#: templates/web/base/admin/report_edit.html:55
#: templates/web/zurich/header.html:56
@@ -531,7 +546,11 @@ msgstr "Interlocuteur:"
msgid "By Date"
msgstr "Par Date"
-#: templates/web/base/auth/token.html:21 templates/web/base/email_sent.html:18
+#: templates/web/base/admin/extra-metadata-form.html:36
+msgid "Can be used to display extra text to the user alongside the field. The default template does not show this (<code>meta.datatype_description</code>), you must add it in <code>category_extras_fields.html</code>"
+msgstr ""
+
+#: templates/web/base/auth/token.html:27 templates/web/base/email_sent.html:20
msgid "Can&rsquo;t find our email? Check your spam folder&nbsp;&ndash; that&rsquo;s the solution 99% of the time."
msgstr "Si vous ne trouvez pas notre e-mail? Vérifiez dans votre dossier spam."
@@ -552,8 +571,8 @@ msgstr "Catégories:"
#: templates/web/base/admin/body.html:72
#: templates/web/base/admin/contact-form.html:19
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/report/_inspect.html:38
-#: templates/web/base/report/_item.html:90
+#: templates/web/base/report/_inspect.html:48
+#: templates/web/base/report/_item.html:92
#: templates/web/base/report/new/category.html:6
#: templates/web/base/report/new/category_wrapper.html:3
#: templates/web/zurich/admin/body.html:14
@@ -564,7 +583,7 @@ msgstr "Catégories:"
msgid "Category"
msgstr "Catégorie"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:852
+#: perllib/FixMyStreet/App/Controller/Admin.pm:956
msgid "Category changed from ‘%s’ to ‘%s’"
msgstr "Changement de catégorie de ‘%s’ à ‘%s’"
@@ -604,27 +623,11 @@ msgstr "Changer l'adresse email"
msgid "Change password"
msgstr "Changer le mot de passe"
-#: templates/web/base/admin/contact-form.html:41
-msgid ""
-"Check <strong>confirmed</strong> to indicate that this contact has been confirmed as correct.\n"
-" If you are not sure of the origin or validity of the contact, leave this unchecked."
-msgstr ""
-"Cochez <strong>confirmé</strong> pour signaler que ce contact a été confirmé comme correct.\n"
-"Si vous n'êtes pas sûr de l'origine ou de la validité du contact, laissez le décoché."
-
-#: templates/web/base/admin/contact-form.html:52
-msgid ""
-"Check <strong>deleted</strong> to remove the category from use. \n"
-" It will not appear as an available category in the drop-down menu on the report-a-problem page."
-msgstr ""
-"Cochez <strong>supprimé</strong> pour rendre la catégorie inutilisable. \n"
-"Elle n'apparaitra plus dans le menu déroulant de la page rapporter-un-problème."
-
-#: templates/web/base/admin/contact-form.html:79
+#: templates/web/base/admin/contact-form.html:80
msgid "Check <strong>inspection required</strong> if reports in this category <strong>must be inspected</strong> before being sent."
msgstr "Vérifiez <strong> inspection requise </strong> si les rapports dans cette catégorie <strong> doivent être inspectés </strong> avant d'être envoyés."
-#: templates/web/base/admin/contact-form.html:63
+#: templates/web/base/admin/contact-form.html:64
msgid ""
"Check <strong>private</strong> if reports in this category should <strong>never be displayed on the website</strong>.\n"
" <br>\n"
@@ -651,11 +654,11 @@ msgstr ""
"public (ex., \"nid de poule\", \"éclairage public\") mais est aussi utile pour l'interlocuteur.\n"
" Elle apparaitra dans le menu déroulant sur la page \"Rapporter-un-problème\"."
-#: templates/web/base/report/_inspect.html:93
+#: templates/web/base/report/_inspect.html:103
msgid "Choose another"
msgstr ""
-#: templates/web/base/js/translation_strings.html:65
+#: templates/web/base/js/translation_strings.html:68
msgid "Clear offline data"
msgstr ""
@@ -680,21 +683,22 @@ msgstr "Cliquez sur le lien dans notre courriel de confirmation pour publier vot
msgid "Click the link in our confirmation email to publish your update."
msgstr "Cliquez sur le lien dans notre courriel de confirmation pour publier votre mise à jour."
-#: templates/web/base/auth/token.html:18
+#: templates/web/base/auth/token.html:23
msgid "Click the link in our confirmation email to sign in."
msgstr "Cliquez sur le lien dans notre courriel de confirmation pour vous connecter."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:189
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:960
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:17
-#: templates/web/base/admin/report_blocks.html:27
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:43
-#: templates/web/base/report/banner.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:18
+#: templates/web/base/auth/token.html:20
+#, fuzzy
+msgid "Click the link in that email to sign in."
+msgstr "Cliquez sur le lien dans notre courriel de confirmation pour vous connecter."
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:134
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:194
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:965
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:11
+#: templates/web/base/admin/states/index.html:103
+#: templates/web/base/admin/states/index.html:27
+#: templates/web/base/admin/states/index.html:33
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:10
#: templates/web/zurich/admin/header.html:16
@@ -702,23 +706,17 @@ msgstr "Cliquez sur le lien dans notre courriel de confirmation pour vous connec
msgid "Closed"
msgstr "Clos"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:889
+#: perllib/FixMyStreet/DB/Result/Problem.pm:826
msgid "Closed by council"
msgstr "Clos par l'administration"
-#: templates/web/base/reports/_list-filters.html:13
-msgid "Closed reports"
-msgstr "rapports fermés"
-
-#: templates/web/base/admin/problem_row.html:38
-msgid "Closed:"
-msgstr "Clos :"
-
#: templates/web/base/admin/report_edit.html:37
msgid "Co-ordinates:"
msgstr "Coordonnées"
#: templates/web/base/admin/list_updates.html:10
+#: templates/web/base/admin/reportextrafields/edit.html:24
+#: templates/web/base/admin/reportextrafields/index.html:7
msgid "Cobrand"
msgstr "Collaboration"
@@ -732,10 +730,13 @@ msgstr "Données de collaboration :"
msgid "Cobrand:"
msgstr "Collaboration :"
+#: templates/web/base/admin/extra-metadata-form.html:14
+msgid "Code"
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:50
-#, fuzzy
msgid "Collapse map"
-msgstr "Carte utilisée"
+msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:646
#: templates/web/base/admin/config_page.html:1
@@ -763,9 +764,8 @@ msgstr "Confirmez par email à la place, Si vous fournissez un nouveau mot de pa
msgid "Confirmation"
msgstr "Confirmation"
-#: templates/web/base/admin/body.html:85
-#: templates/web/base/admin/category_edit.html:54
-#: templates/web/base/admin/contact-form.html:47
+#: templates/web/base/admin/contact-form.html:56
+#: templates/web/zurich/admin/contact-form.html:12
#: templates/web/zurich/admin/stats.html:40
msgid "Confirmed"
msgstr "Confirmé"
@@ -800,8 +800,8 @@ msgstr "Contacter l'équipe"
msgid "Coordinates:"
msgstr "Coordonnées:"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1668
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1696
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1773
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1801
msgid "Could not find user"
msgstr "Impossible de trouver l'utilisateur"
@@ -821,33 +821,28 @@ msgstr "Contacts de l'administration pour %s"
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:83
-#, fuzzy
msgid "Council has marked as closed"
-msgstr "marqué comme terminé"
+msgstr ""
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:57
-#, fuzzy
msgid "Council has marked as fixed"
-msgstr "marqué(s) comme réglé(s)"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:80
-#, fuzzy
msgid "Council has marked as in progress"
-msgstr "marqué comme en cours"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:82
-#, fuzzy
msgid "Council has marked as investigating"
-msgstr "marqué comme en cours d'investigation"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:81
-#, fuzzy
msgid "Council has marked as planned"
-msgstr "marqué comme planifié"
+msgstr ""
#: templates/web/base/report/_council_sent_info.html:6
msgid "Council ref:&nbsp;%s"
@@ -864,24 +859,34 @@ msgstr "Administration :"
msgid "Count"
msgstr "Nombre"
+#: templates/web/base/admin/states/index.html:114
+#, fuzzy
+msgid "Create"
+msgstr "Créé"
+
#: templates/web/base/email_sent.html:1
msgid "Create a report"
msgstr "Créer un rapport"
-#: templates/web/base/admin/contact-form.html:137
+#: templates/web/base/admin/contact-form.html:138
#: templates/web/zurich/admin/body.html:62
msgid "Create category"
msgstr "Créer une catégorie"
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/responsepriorities/edit.html:58
msgid "Create priority"
msgstr "Créer une priorité"
-#: perllib/FixMyStreet/Cobrand/Default.pm:714
+#: perllib/FixMyStreet/Cobrand/Default.pm:718
+#, fuzzy
+msgid "Create reports/updates as anonymous user"
+msgstr "Créer des rapports/mises à jour pour le compte d'un utilisateur"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:719
msgid "Create reports/updates as the council"
msgstr "Créer des rapports/mises à jour de l'administration"
-#: perllib/FixMyStreet/Cobrand/Default.pm:713
+#: perllib/FixMyStreet/Cobrand/Default.pm:717
msgid "Create reports/updates on a user's behalf"
msgstr "Créer des rapports/mises à jour pour le compte d'un utilisateur"
@@ -911,13 +916,15 @@ msgstr "État actuel"
msgid "Currently no bodies have been created."
msgstr "Pour l'instant, aucun intelocuteur n'a été créé."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:825
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:830
#: templates/web/zurich/admin/report_edit-sdm.html:105
msgid "Customer not contactable"
msgstr "Le client est injoignable"
#: templates/web/base/dashboard/index.html:5
#: templates/web/base/dashboard/index.html:7
+#: templates/web/base/reports/index.html:15
+#: templates/web/base/reports/index.html:18
msgid "Dashboard"
msgstr "Tableau de bord"
@@ -925,29 +932,37 @@ msgstr "Tableau de bord"
msgid "Dealt with by subdivision within 5 working days"
msgstr "Traité par la subdivision dans les 5 jours ouvrables"
-#: templates/web/base/report/_inspect.html:73
+#: templates/web/base/admin/responsepriorities/list.html:9
+msgid "Default"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:39
+#, fuzzy
+msgid "Default priority"
+msgstr "Créer une priorité"
+
+#: templates/web/base/report/_inspect.html:72
msgid "Defect type"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:973
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1078
#: templates/web/base/admin/template_edit.html:50
#: templates/web/zurich/admin/template_edit.html:33
msgid "Delete template"
msgstr "Supprimer le modèle"
#: templates/web/base/admin/bodies.html:31
-#: templates/web/base/admin/body.html:87
-#: templates/web/base/admin/category_edit.html:55
#: templates/web/base/admin/contact-form.html:58
-#: templates/web/zurich/admin/contact-form.html:12
+#: templates/web/zurich/admin/contact-form.html:13
msgid "Deleted"
msgstr "Effacé"
-#: templates/web/base/report/_main.html:110
-#: templates/web/base/report/update.html:59
+#: templates/web/base/report/_main.html:114
+#: templates/web/base/report/update.html:68
msgid "Describe why you are moderating this"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:32
#: templates/web/base/admin/responsepriorities/list.html:7
#: templates/web/zurich/admin/index-dm.html:22
#: templates/web/zurich/admin/index-sdm.html:20
@@ -971,7 +986,7 @@ msgstr "Détails :"
msgid "Details:"
msgstr "Détails :"
-#: templates/web/base/admin/body.html:93
+#: templates/web/base/admin/body.html:92
msgid "Devolved"
msgstr "Transféré(e)"
@@ -984,18 +999,17 @@ msgstr "Ne pas utiliser la carte"
msgid "Diligency prize league table"
msgstr "Tableau d'honneur de la réactivité"
-#: templates/web/base/report/_main.html:114
-#: templates/web/base/report/update.html:61
-#, fuzzy
+#: templates/web/base/report/_main.html:118
+#: templates/web/base/report/update.html:70
msgid "Discard changes"
-msgstr "Enregistrer les modifications"
+msgstr ""
#: templates/web/base/admin/open311-form-fields.html:95
msgid "Do not send email alerts on fetched comments to problem creator"
msgstr "Ne pas envoyer d'alertes par email concernant les commentaires sur le problème au créateur"
#. ("%s is the site name")
-#: templates/web/base/auth/general.html:58
+#: templates/web/base/auth/general.html:60
#: templates/web/base/report/new/form_user_loggedout.html:25
#: templates/web/base/report/new/oauth_email_form.html:18
#: templates/web/base/report/update-form.html:30
@@ -1003,40 +1017,33 @@ msgstr "Ne pas envoyer d'alertes par email concernant les commentaires sur le pr
msgid "Do you have a %s password?"
msgstr "Avez-vous un mot de passe %s ?"
+#: templates/web/base/report/_inspect.html:87
+msgid "Do you want to automatically raise a defect?"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:57
msgid "Don&rsquo;t know"
msgstr "Je ne sais pas"
-#: templates/web/base/contact/index.html:108
+#: templates/web/base/contact/index.html:112
msgid "Don't like forms?"
msgstr "Vous n'aimez pas les formulaires ?"
-#: templates/web/base/report/_item.html:25
+#: templates/web/base/report/_item.html:27
msgid "Down one"
msgstr ""
-#: templates/web/base/js/translation_strings.html:55
+#: templates/web/base/js/translation_strings.html:58
msgid "Drag and drop photos here or <u>click to upload</u>"
msgstr "Glissez et déposez les photos ici ou <u> cliquer pour les envoyer </ u>"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:10
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "Duplicate"
-msgstr "Dupliqué"
-
-#: templates/web/base/report/_inspect.html:88
-#, fuzzy
+#: templates/web/base/report/_inspect.html:98
msgid "Duplicate of"
-msgstr "Dupliqué"
+msgstr ""
-#: templates/web/base/report/_inspect.html:98
-#, fuzzy
+#: templates/web/base/report/_inspect.html:108
msgid "Duplicates"
-msgstr "Dupliqué"
+msgstr ""
#: templates/web/base/admin/body.html:116
msgid ""
@@ -1049,43 +1056,43 @@ msgstr ""
"Des catégories différents <strong>peuvent avoir le même contact</strong> (adresse email).\n"
"Cela signifie que vous pouvez ajouter plusieurs catégories même si vous n'avez qu'un contact pour l'interlocuteur."
-#: templates/web/base/report/_inspect.html:16
-#: templates/web/base/report/_item.html:81
+#: templates/web/base/report/_inspect.html:26
+#: templates/web/base/report/_item.html:83
msgid "Easting/Northing:"
msgstr "Abscisse/Ordonnée :"
#: templates/web/base/admin/list_updates.html:42
#: templates/web/base/admin/problem_row.html:41
-#: templates/web/base/admin/responsepriorities/list.html:26
+#: templates/web/base/admin/responsepriorities/list.html:28
#: templates/web/base/admin/templates.html:22
#: templates/web/base/admin/users.html:34
#: templates/web/zurich/admin/problem_row.html:48
msgid "Edit"
msgstr "Éditer"
-#: templates/web/base/admin/body.html:140
+#: templates/web/base/admin/body.html:141
#: templates/web/base/admin/index.html:39
#: templates/web/zurich/admin/body.html:69
msgid "Edit body details"
msgstr "Editer les détails de l'intelocuteur"
-#: perllib/FixMyStreet/Cobrand/Default.pm:724
+#: perllib/FixMyStreet/Cobrand/Default.pm:729
msgid "Edit other users' details"
msgstr "Modifier les détails des autres utilisateurs"
-#: perllib/FixMyStreet/Cobrand/Default.pm:725
+#: perllib/FixMyStreet/Cobrand/Default.pm:730
msgid "Edit other users' permissions"
msgstr "Modifier les autorisations des autres utilisateurs"
-#: perllib/FixMyStreet/Cobrand/Default.pm:708
+#: perllib/FixMyStreet/Cobrand/Default.pm:712
msgid "Edit report category"
msgstr "Éditer la catégorie des rapports"
-#: perllib/FixMyStreet/Cobrand/Default.pm:709
+#: perllib/FixMyStreet/Cobrand/Default.pm:713
msgid "Edit report priority"
msgstr "Éditer la priorité des rapports"
-#: perllib/FixMyStreet/Cobrand/Default.pm:707
+#: perllib/FixMyStreet/Cobrand/Default.pm:711
msgid "Edit reports"
msgstr "Éditer les rapports"
@@ -1108,15 +1115,15 @@ msgstr "Édition de la mise à jour %d"
msgid "Editing user %d"
msgstr "Édition de l'utilisateur %d'"
-#: templates/web/base/admin/category_edit.html:56
+#: templates/web/base/admin/category_edit.html:30
msgid "Editor"
msgstr "Éditeur"
#: templates/web/base/admin/bodies.html:27
-#: templates/web/base/admin/category_edit.html:53
+#: templates/web/base/admin/category_edit.html:28
#: templates/web/base/admin/flagged.html:38
#: templates/web/base/admin/users.html:17
-#: templates/web/base/auth/general.html:49
+#: templates/web/base/auth/general.html:51
#: templates/web/zurich/admin/body-form.html:9
#: templates/web/zurich/admin/body.html:15
#: templates/web/zurich/auth/general.html:24
@@ -1124,13 +1131,14 @@ msgstr "Éditeur"
msgid "Email"
msgstr "Email"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1644
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1749
msgid "Email added to abuse list"
msgstr "Email rajouté à la liste des abus"
-#: templates/web/base/admin/contact-form.html:36
-#: templates/web/base/report/new/form_user_loggedin.html:28
-#: templates/web/base/report/update/form_name.html:19
+#: templates/web/base/admin/contact-form.html:38
+#: templates/web/base/alert/_list.html:74
+#: templates/web/base/report/new/form_user_loggedin.html:32
+#: templates/web/base/report/update/form_name.html:23
msgid "Email address"
msgstr "Adresse e-mail"
@@ -1142,11 +1150,11 @@ msgstr "Alerte E-mail créé"
msgid "Email alert deleted"
msgstr "Alerte E-mail supprimé"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1641
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1746
msgid "Email already in abuse list"
msgstr "Email déjà présent dans la liste des abus"
-#: templates/web/base/admin/report_edit.html:141
+#: templates/web/base/admin/report_edit.html:129
#: templates/web/base/admin/update_edit.html:35
#: templates/web/base/admin/user-form.html:19
#: templates/web/zurich/admin/body.html:48
@@ -1170,8 +1178,8 @@ msgstr ""
"Pour plus d' information, lire \n"
"<a href='https://www.mysociety.org/2013/02/20/open311-extended/' class='admin-offsite-link'>cet article</a>. %s"
-#: templates/web/base/admin/body-form.html:120
-#: templates/web/base/admin/body-form.html:121
+#: templates/web/base/admin/body-form.html:122
+#: templates/web/base/admin/body-form.html:123
msgid ""
"Enable this <strong>can be devolved</strong> setting if one or more contacts have a \n"
" different endpoint (and send method) from the body's. For example, if reports for some categories of\n"
@@ -1189,11 +1197,11 @@ msgstr "Date de fin:"
msgid "Endpoint"
msgstr "destinataire"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:76
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:81
msgid "Enter a Z&uuml;rich street name"
msgstr "Saisir un nom de rue Z&uuml;complet"
-#: perllib/FixMyStreet/Cobrand/UK.pm:15
+#: perllib/FixMyStreet/Cobrand/UK.pm:16
msgid "Enter a nearby UK postcode, or street name and area"
msgstr "Saisir un code postal proche, ou un nom de rue ou de localité"
@@ -1202,12 +1210,13 @@ msgstr "Saisir un code postal proche, ou un nom de rue ou de localité"
msgid "Enter a nearby postcode, or street name and area"
msgstr "Saisir un code postal proche, ou une rue et une localité"
+#: perllib/FixMyStreet/Cobrand/DansMonQwat.pm:14
#: templates/web/base/around/postcode_form.html:5
#: templates/web/base/around/postcode_form.html:6
msgid "Enter a nearby street name and area"
msgstr "Saisissez un nom de rue proche, la localité ou le code postal"
-#: templates/web/base/auth/general.html:116
+#: templates/web/base/auth/general.html:118
#: templates/web/base/report/new/form_user_loggedout_by_email.html:35
#: templates/web/base/report/update/form_user_loggedout_by_email.html:13
#: templates/web/zurich/auth/general.html:65
@@ -1227,8 +1236,8 @@ msgstr "Saisissez les détails du problème"
msgid "Error"
msgstr "Erreur"
-#: templates/web/base/reports/_list-filters.html:20
-#: templates/web/base/reports/_list-filters.html:28
+#: templates/web/base/reports/_list-filters.html:31
+#: templates/web/base/reports/_list-filters.html:39
msgid "Everything"
msgstr "Tout"
@@ -1241,8 +1250,7 @@ msgstr "Exemple de code postal %s"
msgid "Examples:"
msgstr "Exemples :"
-#: templates/web/base/admin/report_edit.html:122
-#: templates/web/base/report/_inspect.html:42
+#: templates/web/base/admin/report-category.html:3
msgid "Existing category"
msgstr "Catégorie existante"
@@ -1250,17 +1258,16 @@ msgstr "Catégorie existante"
msgid "Expand map"
msgstr ""
-#: templates/web/base/report/new/form_report.html:52
+#: templates/web/base/report/new/form_report.html:54
msgid "Explain what’s wrong"
msgstr "Expliquez le problème"
-#: templates/web/base/dashboard/index.html:146
-#, fuzzy
+#: templates/web/base/dashboard/index.html:147
msgid "Export as CSV"
-msgstr "Tous les rapports au format CSV"
+msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:913
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:179
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:12
msgid "Extern"
@@ -1271,7 +1278,7 @@ msgstr "Externe"
msgid "External ID"
msgstr "ID externe"
-#: templates/web/base/admin/body-form.html:87
+#: templates/web/base/admin/body-form.html:89
msgid "External URL"
msgstr "URL externe"
@@ -1283,13 +1290,20 @@ msgstr "Body extérieur"
msgid "External team"
msgstr "Équipe externe"
-#: templates/web/base/admin/category_edit.html:25
+#: perllib/FixMyStreet/Cobrand/Default.pm:673
+#: templates/web/base/admin/reportextrafields/edit.html:1
+#: templates/web/base/admin/reportextrafields/index.html:1
+#, fuzzy
+msgid "Extra Fields"
+msgstr "Précisions supplémentaires"
+
+#: templates/web/base/admin/contact-form.html:141
#: templates/web/base/admin/report_edit.html:94
msgid "Extra data:"
msgstr "Donnée supplémentaire:"
-#: templates/web/base/report/_inspect.html:134
-#: templates/web/base/report/_item.html:106
+#: templates/web/base/report/_inspect.html:144
+#: templates/web/base/report/_item.html:108
msgid "Extra details"
msgstr "Précisions supplémentaires"
@@ -1297,6 +1311,11 @@ msgstr "Précisions supplémentaires"
msgid "Failed to send message"
msgstr "Échec de l'envoi du message"
+#: templates/web/base/admin/reportextrafields/edit.html:58
+#: templates/web/base/admin/reportextrafields/index.html:9
+msgid "Fields"
+msgstr ""
+
#: templates/web/zurich/admin/index-dm.html:33
#: templates/web/zurich/admin/index-sdm.html:30
msgid "Filter report list"
@@ -1310,52 +1329,32 @@ msgstr "Première fois"
msgid "Fix this by choosing an <strong>area covered</strong> in the <em>Edit body details</em> form below."
msgstr "Résoudre ceci en chosissant une <strong>zone couverte</strong> dans le formulaire <em>Saisie des détails interlocuteur</em> ci-dessous."
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:11
-#: templates/web/base/admin/report_blocks.html:26
+#: perllib/FixMyStreet/App/Controller/Admin/States.pm:35
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:133
+#: templates/web/base/admin/states/index.html:29
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:41
-#: templates/web/base/report/banner.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:17
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:45
msgid "Fixed"
msgstr "Résolu"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:13
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:7
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:62
msgid "Fixed - Council"
msgstr "Résolu - Administration"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:12
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:63
msgid "Fixed - User"
msgstr "Résolu - Usager"
-#: templates/web/base/reports/_list-filters.html:14
-msgid "Fixed reports"
-msgstr "rapports résolus"
-
-#: templates/web/base/admin/problem_row.html:37
-msgid "Fixed:"
-msgstr "Résolu :"
-
-#: templates/web/base/admin/body-form.html:95
-#: templates/web/base/admin/responsepriorities/edit.html:41
+#: templates/web/base/admin/body-form.html:97
+#: templates/web/base/admin/responsepriorities/edit.html:53
#: templates/web/zurich/admin/body-form.html:36
msgid "Flag as deleted"
msgstr "Signaler comme supprimé"
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/report_blocks.html:23
msgid "Flag user"
msgstr "Signaler l'usager"
-#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: perllib/FixMyStreet/Cobrand/Default.pm:644
#: templates/web/base/admin/users.html:20
msgid "Flagged"
msgstr "Signalé"
@@ -1372,7 +1371,7 @@ msgstr "Les utilisateurs signalés sont listés dans la page <a href='%s'>signal
msgid "Flagged users are not restricted in any way. This is just a list of users that have been marked for attention."
msgstr "Les utilisateurs signalés ne sont pas restreints en aucune façon. il s'agit juste d'une liste d'utilisateurs qui ont été marqués pour attention."
-#: templates/web/base/admin/report_edit.html:147
+#: templates/web/base/admin/report_edit.html:135
#: templates/web/base/admin/user-form.html:100
msgid "Flagged:"
msgstr "Signalé :"
@@ -1385,21 +1384,25 @@ msgstr "Suivez un lien de localité pour voir uniquement les rapports à l'inté
msgid "For best results include a close-up and a wide shot"
msgstr "Pour de meilleurs résultats veuillez joindre un gros plan et un plan large"
-#: templates/web/base/admin/body-form.html:71
+#: templates/web/base/admin/extra-metadata-form.html:52
+msgid "For each option, <strong>Key</strong> is the value which is stored in the database for that option and <strong>Name</strong> is the value displayed to the user."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:73
msgid "For more information, see <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
msgstr "Pour plus d'information, Lire <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>comment FixMyStreet utilise Mapit</a>."
-#: templates/web/base/auth/general.html:95
+#: templates/web/base/auth/general.html:97
#: templates/web/base/report/new/form_user_loggedout_password.html:20
#: templates/web/base/report/update/form_user_loggedout_password.html:19
msgid "Forgotten your password?"
msgstr "Vous avez oublié votre mot de passe? "
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:743
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:748
msgid "Forwarded to external body"
msgstr "Transmis à l'administration"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:744
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:749
msgid "Forwarded wish to external body"
msgstr "Souhait transmis à l'administration"
@@ -1409,6 +1412,10 @@ msgstr "Souhait transmis à l'administration"
msgid "Frequently Asked Questions"
msgstr "Foire Aux Questions"
+#: templates/web/base/admin/stats.html:102
+msgid "Get Count"
+msgstr ""
+
#: templates/web/base/around/_updates.html:3
#: templates/web/base/report/display_tools.html:14
msgid "Get updates"
@@ -1424,10 +1431,14 @@ msgstr "Recevoir les mises à jours de %s problèmes"
msgid "Get updates of problems in this %s"
msgstr "Recevez les mises à jour pour les problèmes dans cette %s"
-#: templates/web/base/alert/_list.html:83
+#: templates/web/base/alert/_list.html:85
msgid "Give me an RSS feed"
msgstr "Donnez-moi un flux RSS"
+#: templates/web/base/admin/reportextrafields/edit.html:6
+msgid "Give this collection of fields a name. It is not shown publicly, just here in the admin."
+msgstr ""
+
#: templates/web/base/questionnaire/completed.html:14
msgid "Glad to hear it’s been fixed!"
msgstr "Heureux d'entendre qu'il a été résolu!"
@@ -1437,8 +1448,9 @@ msgstr "Heureux d'entendre qu'il a été résolu!"
#: templates/web/base/admin/index.html:49
#: templates/web/base/alert/index.html:34
#: templates/web/base/around/postcode_form.html:13
-#: templates/web/base/reports/_list-filters.html:38
-#: templates/web/base/reports/_list-filters.html:53
+#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:64
+#: templates/web/base/reports/index.html:75
#: templates/web/zurich/admin/stats.html:26
msgid "Go"
msgstr "Ok"
@@ -1447,7 +1459,7 @@ msgstr "Ok"
msgid "Going to send questionnaire?"
msgstr "Envoi du questionnaire ?"
-#: perllib/FixMyStreet/Cobrand/Default.pm:726
+#: perllib/FixMyStreet/Cobrand/Default.pm:731
msgid "Grant access to the admin"
msgstr "Accorder l'accès à l'admin"
@@ -1455,10 +1467,6 @@ msgstr "Accorder l'accès à l'admin"
msgid "Graph of problem creation by status over time"
msgstr "Graphique historique des problèmes créés, par statut"
-#: templates/web/base/reports/index.html:15
-msgid "Greyed-out lines are councils that no longer exist."
-msgstr "Les lignes grisées sont des communes qui n'existent plus"
-
#: templates/web/base/questionnaire/index.html:48
msgid "Has this problem been fixed?"
msgstr "Est-ce que le problème a été réglé ?"
@@ -1469,7 +1477,7 @@ msgstr "Est-ce que vous aviez déjà signalé un problème à une administration
#: templates/web/base/main_nav_items.html:40
#: templates/web/zurich/about/faq-de-ch.html:1
-#: templates/web/zurich/footer.html:23
+#: templates/web/zurich/footer.html:22
#: templates/web/zurich/nav_over_content.html:8
msgid "Help"
msgstr "Aide"
@@ -1479,22 +1487,13 @@ msgstr "Aide"
msgid "Help <strong>%s</strong> resolve your problem quicker, by providing some extra detail. This extra information will not be published online."
msgstr "Aide <strong>%s </ strong> résoud votre problème plus rapidement, en fournissant quelques détails supplémentaires. Cette information supplémentaire ne sera pas publié en ligne."
-#: templates/web/base/alert/_list.html:9
-msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
-msgstr "Voici les types de problèmes locaux pour « %s »."
-
-#: templates/web/zurich/footer.html:12
+#: templates/web/zurich/footer.html:11
msgid "Hi %s"
msgstr "Bienvenue %s"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:906
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:19
-#: templates/web/base/admin/report_blocks.html:28
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:911
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:60
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:19
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:11
#: templates/web/zurich/admin/stats.html:32
@@ -1502,16 +1501,33 @@ msgstr "Bienvenue %s"
msgid "Hidden"
msgstr "Caché(s)"
-#: templates/web/base/report/_main.html:105
-#, fuzzy
+#: templates/web/base/report/_main.html:109
msgid "Hide entire report"
-msgstr "Renvoyer le rapport"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:1
+#: templates/web/base/my/anonymize.html:2
+msgid "Hide my name"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:21
+msgid "Hide my name everywhere"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:10
+msgid "Hide my name in this update"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:16
+msgid "Hide my name on this report"
+msgstr ""
#: templates/web/base/around/display_location.html:67
msgid "Hide old"
msgstr "Cacher les anciens"
#: templates/web/base/around/display_location.html:62
+#: templates/web/base/js/translation_strings.html:55
msgid "Hide pins"
msgstr "Cacher les épingles"
@@ -1519,7 +1535,16 @@ msgstr "Cacher les épingles"
msgid "Hide update completely?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:49
+#: templates/web/base/report/_report_meta_info.html:3
+#: templates/web/base/report/update.html:55
+msgid "Hide your name?"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:38
+msgid "Hint"
+msgstr ""
+
+#: templates/web/base/admin/category_edit.html:24
msgid "History"
msgstr "Historique"
@@ -1536,12 +1561,12 @@ msgid "How to send successful reports"
msgstr "Comment envoyer des rapports réussis"
#: templates/web/base/tokens/confirm_problem.html:36
-#: templates/web/base/tokens/confirm_problem.html:40
+#: templates/web/base/tokens/confirm_problem.html:41
msgid "I just reported a problem on @fixmystreet"
msgstr "Je viens de signaler un problème sur @fixmystreet"
-#: templates/web/base/tokens/confirm_update.html:19
-#: templates/web/base/tokens/confirm_update.html:23
+#: templates/web/base/tokens/confirm_update.html:20
+#: templates/web/base/tokens/confirm_update.html:25
msgid "I just updated a problem on @fixmystreet"
msgstr "Je viens de mettre à jour un problème sur @fixmystreet"
@@ -1561,17 +1586,25 @@ msgstr "Je suis désolé, nous n'avons pas trouvé votre problème dans notre ba
msgid "ID"
msgstr "ID"
-#: templates/web/base/admin/body-form.html:30
-#: templates/web/base/admin/body-form.html:31
+#: templates/web/base/admin/body-form.html:32
+#: templates/web/base/admin/body-form.html:33
msgid ""
"Identify a <strong>parent</strong> if this body is itself part of another body.\n"
" For basic installations, you don't need to join bodies in this way."
msgstr "Identifier un <strong>parent</strong> si cet interlocuteur fait lui-même partie d'un autre intelocuteur. Pour des installations basiques, vous n'avez pas besoin de joindre des interlocuteurs de cette manière."
+#: templates/web/base/auth/token.html:19
+msgid "If there's a user associated with the address you entered, we've sent a confirmation email."
+msgstr ""
+
#: templates/web/base/admin/responsepriorities/edit.html:23
msgid "If this priority is passed to an external service (e.g. Exor/Confirm) enter the priority code to use with that service here."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:24
+msgid "If ticked the user won’t see an input field, just the ‘Description’ text."
+msgstr ""
+
#: templates/web/base/admin/contact-form.html:14
msgid ""
"If two or more bodies serve the same location, FixMyStreet combines identical categories into a single entry in\n"
@@ -1582,7 +1615,7 @@ msgstr "Si deux interlocuteurs ou plus servent le même lieu, FixMyStreet combin
msgid "If you get some more information about the status of your problem, please come back to the site and leave an update."
msgstr "Si vous obtenez un peu plus d'informations sur l'état de votre problème, s'il vous plaît revenez sur le site et effectuez une mise à jour."
-#: templates/web/base/admin/responsepriorities/edit.html:33
+#: templates/web/base/admin/responsepriorities/edit.html:45
msgid "If you only want this priority to be an option for specific categories, pick them here. By default they will show for all categories."
msgstr "Si vous voulez que seulement cette priorité soit une option pour des catégories spécifiques, choisissez-les ici. Par défaut, elles seront visibles pour toutes les catégories."
@@ -1607,7 +1640,7 @@ msgstr ""
"Si vous souhaitez effectuer une mise à jour publique concernant ce problème, s'il vous plaît renseigné le ici\n"
"(Veuillez noter qu'elle ne sera pas envoyée à l'administration)."
-#: templates/web/base/admin/contact-form.html:30
+#: templates/web/base/admin/contact-form.html:32
msgid "If you're using <strong>a send method that is not email</strong>, enter the service ID (Open311) or equivalent identifier here."
msgstr "Si vous utilisez <strong>une méthode d'envoi autre que le courriel</strong>, saisissez le service ID (Open311) ou un identifiant équivalent ici."
@@ -1641,7 +1674,7 @@ msgstr ""
"Si vous avez activer Open311 update-sending plus haut, vous devez identifier quel <strong>utlisateur</strong> FixMyStreet sera défini comme le créateur de ces mises à jour.\n"
"Lorsqu'elles sont montrées sur le site. saisir l' ID (nombre) de cet utilisateur."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:133
+#: perllib/FixMyStreet/App/Controller/Contact.pm:134
msgid "Illegal ID"
msgstr "ID invalide"
@@ -1649,13 +1682,6 @@ msgstr "ID invalide"
msgid "Illegal feed selection"
msgstr "Sélection de flux invalide"
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "In Progress"
-msgstr "En cours"
-
#: templates/web/base/admin/flagged.html:39
msgid "In abuse table?"
msgstr "En table d'abus ?"
@@ -1664,18 +1690,17 @@ msgstr "En table d'abus ?"
msgid "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
msgstr "En plus, les attributs suivants qui ne font pas partie de la spécification Open311 v2 sont renvoyés : agency_sent_datetime, title (qui est aussi renvoyé dans la description), interface_used, comment_count, requestor_name (seulement s'il est présent et que le requérant nous a autorisé à l'afficher sur le site)"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:192
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:954
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:9
-#: templates/web/base/report/banner.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:5
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:197
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:959
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:8
msgid "In progress"
msgstr "En cours"
+#: templates/web/base/admin/contact-form.html:57
+msgid "Inactive"
+msgstr ""
+
#: templates/web/base/tokens/confirm_alert.html:11
msgid "Inbox zero, here we come!"
msgstr "Boîte de réception zéro, nous voilà!"
@@ -1692,11 +1717,15 @@ msgstr "Inclure les rapports non confirmés"
msgid "Incorrect has_photo value \"%s\""
msgstr "Valeur has_photo invalide \"%s\""
-#: templates/web/base/admin/contact-form.html:84
+#: templates/web/base/report/_inspect.html:5
+msgid "Inspect report"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:85
msgid "Inspection required"
msgstr "inspection requise"
-#: perllib/FixMyStreet/Cobrand/Default.pm:711
+#: perllib/FixMyStreet/Cobrand/Default.pm:715
msgid "Instruct contractors to fix problems"
msgstr "Instruire entrepreneurs pour résoudre les problèmes"
@@ -1704,13 +1733,6 @@ msgstr "Instruire entrepreneurs pour résoudre les problèmes"
msgid "Internal notes"
msgstr "Notes internes"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:11
-msgid "Internal referral"
-msgstr "Référence interne"
-
#: templates/web/base/offline/appcache.html:3
msgid "Internet glitch"
msgstr ""
@@ -1719,7 +1741,7 @@ msgstr ""
msgid "Invalid agency_responsible value %s"
msgstr "Valeur agency_responsible invalide \"%s\""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1502
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1607
msgid "Invalid end date"
msgstr "Date de fin invalide"
@@ -1727,26 +1749,15 @@ msgstr "Date de fin invalide"
msgid "Invalid format %s specified."
msgstr "Format spécifié %s invalide"
-#: perllib/FixMyStreet/App/Controller/Report.pm:398
+#: perllib/FixMyStreet/App/Controller/Report.pm:409
msgid "Invalid location. New location must be covered by the same council."
msgstr "Location invalide. Le nouvel emplacement doit être couvert par la même administration."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1498
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1603
msgid "Invalid start date"
msgstr "Date de début invalide"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:7
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:4
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Investigating"
-msgstr "En examen"
-
-#: templates/web/base/contact/blurb.html:8
+#: templates/web/base/contact/blurb.html:2
msgid "It's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there."
msgstr "Il est souvent plus rapide <a href=\"%s\">de parcourir notre FAQs</a> et d'y chercher la réponse."
@@ -1754,37 +1765,59 @@ msgstr "Il est souvent plus rapide <a href=\"%s\">de parcourir notre FAQs</a> et
msgid "It’s on its way to the council right now."
msgstr "Il est sur le chemin de l&rsquo;administration en ce moment."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:177
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:182
msgid "Jurisdiction Unknown"
msgstr "Zone d'administration Inconnue"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:15
msgid "Jurisdiction unknown"
msgstr "Zone d'administration Inconnue"
-#: templates/web/base/auth/general.html:91
+#: templates/web/base/auth/general.html:93
#: templates/web/base/report/new/form_user_loggedout_password.html:16
#: templates/web/base/report/update/form_user_loggedout_password.html:15
#: templates/web/zurich/auth/general.html:40
msgid "Keep me signed in on this computer"
msgstr "Se souvenir de moi sur cet ordinateur"
+#: templates/web/base/admin/extra-metadata-form.html:61
+msgid "Key"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:9
+#: templates/web/base/admin/states/index.html:95
+msgid "Label"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:6
+#: templates/web/base/admin/reportextrafields/edit.html:45
+msgid "Language"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/index.html:8
+msgid "Languages"
+msgstr ""
+
#: templates/web/base/dashboard/index.html:50
msgid "Last 4 weeks"
msgstr ""
#: templates/web/base/dashboard/index.html:49
-#, fuzzy
+#: templates/web/base/reports/index.html:38
msgid "Last 7 days"
-msgstr "Dernière actualisation :"
+msgstr ""
#: templates/web/base/admin/body.html:74
#: templates/web/zurich/admin/body.html:16
msgid "Last editor"
msgstr "Dernier auteur"
+#: templates/web/base/questionnaire/index.html:25
+msgid "Last update"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:89
msgid "Last update:"
msgstr "Dernière actualisation :"
@@ -1793,23 +1826,27 @@ msgstr "Dernière actualisation :"
msgid "Last&nbsp;update:"
msgstr "Dernière&nbsp;actualisation :"
-#: templates/web/base/report/_inspect.html:20
-#: templates/web/base/report/_item.html:86
+#: templates/web/base/report/_inspect.html:30
+#: templates/web/base/report/_item.html:88
msgid "Latitude/Longitude:"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:50
+#: templates/web/base/reports/_list-filters.html:61
msgid "Least recently updated"
msgstr "Moins récemment mis à jour"
-#: templates/web/base/admin/body-form.html:127
+#: templates/web/base/admin/body-form.html:129
msgid "Leave this blank if all reports to this body should be sent using the same send method (e.g., \"%s\")."
msgstr "Laisser ce champ vide si tous les rapports pour cet interlocuteur doivent être envoyés en utilisant la même méthode (cead, \"%s\")."
-#: templates/web/base/dashboard/index.html:150
+#: templates/web/base/dashboard/index.html:151
msgid "Less than 7 days old"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:47
+msgid "List"
+msgstr ""
+
#: templates/web/base/admin/body.html:31
msgid "List all reported problems"
msgstr "Lister tous les problèmes rapportés"
@@ -1840,23 +1877,23 @@ msgstr "Alertes locales"
msgid "Locate the problem on a map of the area"
msgstr "Localisez le problème sur un plan des alentours"
-#: templates/web/base/auth/general.html:22
+#: templates/web/base/auth/general.html:24
#: templates/web/base/report/new/form_user_loggedout.html:6
#: templates/web/base/report/update/form_user_loggedout.html:7
msgid "Log in with Facebook"
msgstr ""
-#: templates/web/base/auth/general.html:30
+#: templates/web/base/auth/general.html:32
#: templates/web/base/report/new/form_user_loggedout.html:14
#: templates/web/base/report/update/form_user_loggedout.html:15
msgid "Log in with Twitter"
msgstr ""
-#: templates/web/base/js/translation_strings.html:59
+#: templates/web/base/js/translation_strings.html:62
msgid "Log in with email"
msgstr ""
-#: templates/web/base/dashboard/index.html:145
+#: templates/web/base/dashboard/index.html:146
#: templates/web/base/dashboard/index.html:38
msgid "Look up"
msgstr ""
@@ -1865,11 +1902,11 @@ msgstr ""
msgid "MAP"
msgstr "CARTE"
-#: perllib/FixMyStreet/Cobrand/Default.pm:712
+#: perllib/FixMyStreet/Cobrand/Default.pm:716
msgid "Manage shortlist"
msgstr "Gérer la liste"
-#: templates/web/base/reports/_list-filters.html:45
+#: templates/web/base/reports/_list-filters.html:56
msgid "Manual order"
msgstr ""
@@ -1885,19 +1922,11 @@ msgstr "Marqué comme envoyé"
msgid "Mark users whose behaviour you want to keep a check on as <strong>flagged</strong>."
msgstr "Marquer les utilisateurs dont vous voulez surveiller le comportement comme <strong>cochés</strong>."
-#: templates/web/base/reports/index.html:27
-msgid "Marked fixed/closed in the past eight weeks"
-msgstr "Marqué fixé / fermé depuis les huit dernières semaines"
-
-#: templates/web/base/reports/index.html:28
-msgid "Marked fixed/closed more than eight weeks ago"
-msgstr "Marqué fixé / fermé depuis plus de huit semaines"
-
-#: perllib/FixMyStreet/Cobrand/Default.pm:710
+#: perllib/FixMyStreet/Cobrand/Default.pm:714
msgid "Markup problem details"
msgstr "Marquer les détails du problème"
-#: templates/web/base/contact/index.html:96
+#: templates/web/base/contact/index.html:100
msgid "Message"
msgstr "Message"
@@ -1917,68 +1946,69 @@ msgstr "Organismes disparus :"
msgid "Missing jurisdiction_id"
msgstr "jurisdiction_id manquant"
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate"
msgstr "Modérer"
-#: perllib/FixMyStreet/Cobrand/Default.pm:706
+#: perllib/FixMyStreet/Cobrand/Default.pm:710
msgid "Moderate report details"
msgstr "Modérer les détails du rapport"
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate this report"
msgstr "Modérer ce rapport"
#: templates/web/base/report/update.html:12
-#, fuzzy
msgid "Moderate this update"
-msgstr "Modérer ce rapport"
+msgstr ""
-#: templates/web/base/report/_main.html:69
-#: templates/web/base/report/update.html:49
-#, fuzzy
+#: templates/web/base/report/_main.html:73
+#: templates/web/base/report/update.html:58
msgid "Moderated by %s at %s"
-msgstr "Signalé par %s à %s"
+msgstr ""
#: templates/web/zurich/admin/stats.html:34
msgid "Moderated by division within one working day"
msgstr "Modéré par division dans le délai d'un jour ouvrable"
-#: templates/web/base/report/_main.html:109
-#: templates/web/base/report/update.html:57
-#, fuzzy
+#: templates/web/base/report/_main.html:113
+#: templates/web/base/report/update.html:66
msgid "Moderation reason:"
-msgstr "Modérer ce rapport"
+msgstr ""
#: templates/web/base/admin/stats.html:11
msgid "Month"
msgstr "Mois"
-#: templates/web/base/reports/_list-filters.html:51
+#: templates/web/base/reports/_list-filters.html:62
msgid "Most commented"
msgstr "Les plus commentés"
#: templates/web/base/admin/bodies.html:25
#: templates/web/base/admin/body-form.html:24
+#: templates/web/base/admin/extra-metadata-form.html:65
#: templates/web/base/admin/flagged.html:16
#: templates/web/base/admin/flagged.html:37
#: templates/web/base/admin/index.html:62
#: templates/web/base/admin/list_updates.html:7
+#: templates/web/base/admin/reportextrafields/edit.html:11
+#: templates/web/base/admin/reportextrafields/index.html:6
#: templates/web/base/admin/reports.html:14
#: templates/web/base/admin/responsepriorities/list.html:6
+#: templates/web/base/admin/states/index.html:108
+#: templates/web/base/admin/states/index.html:11
#: templates/web/base/admin/users.html:16
-#: templates/web/base/auth/general.html:106
-#: templates/web/base/report/new/form_user_loggedin.html:40
+#: templates/web/base/auth/general.html:108
+#: templates/web/base/report/new/form_user_loggedin.html:42
#: templates/web/base/report/new/form_user_loggedout_by_email.html:7
-#: templates/web/base/report/update/form_name.html:23
-#: templates/web/base/reports/index.html:23
+#: templates/web/base/report/update/form_name.html:27
#: templates/web/zurich/admin/body-form.html:4
#: templates/web/zurich/auth/general.html:60
#: templates/web/zurich/report/new/fill_in_details_form.html:59
msgid "Name"
msgstr "Nom"
-#: templates/web/base/admin/report_edit.html:139
+#: templates/web/base/admin/report_edit.html:127
#: templates/web/base/admin/responsepriorities/edit.html:13
#: templates/web/base/admin/update_edit.html:34
#: templates/web/base/admin/user-form.html:16
@@ -1990,7 +2020,7 @@ msgstr "Nom :"
msgid "Name: %s"
msgstr "Nom: %s"
-#: templates/web/base/report/_inspect.html:28
+#: templates/web/base/report/_inspect.html:38
msgid "Navigate to this problem"
msgstr "Accédez à ce problème"
@@ -1999,16 +2029,16 @@ msgstr "Accédez à ce problème"
msgid "Nearest named road to the pin placed on the map (automatically generated using OpenStreetMap): %s%s"
msgstr "Route la plus proche de l'épingle placée sur le plan (génerée automatiquement à partir d'OpenStreetMap): %s%s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:129
+#: perllib/FixMyStreet/Cobrand/UK.pm:134
msgid "Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"
msgstr "Code postal le plus proche de l'épingle placée sur le plan (géneré automatiquement): %s (à %sm d'ici)"
-#: perllib/FixMyStreet/Cobrand/Default.pm:527
-#: perllib/FixMyStreet/Cobrand/Default.pm:567
+#: perllib/FixMyStreet/Cobrand/Default.pm:538
+#: perllib/FixMyStreet/Cobrand/Default.pm:566
msgid "Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"
msgstr "Route la plus proche de l'épingle placée sur le plan (génerée automatiquement à partir de Bing Maps): %s"
-#: perllib/FixMyStreet/Script/Alerts.pm:319
+#: perllib/FixMyStreet/Script/Alerts.pm:316
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s\n"
"\n"
@@ -2016,19 +2046,24 @@ msgstr ""
"Route la plus proche de l'épingle placée sur le plan (génerée automatiquement à partir de Bing Maps): %s\n"
"\n"
-#: templates/web/base/auth/token.html:17 templates/web/base/email_sent.html:5
+#: templates/web/base/auth/token.html:18
+msgid "Nearly done!"
+msgstr ""
+
+#: templates/web/base/auth/token.html:22 templates/web/base/email_sent.html:5
msgid "Nearly done! Now check your email&hellip;"
msgstr "Presque fini! Maintenant, veuillez vérifier votre email"
-#: templates/web/base/reports/index.html:24
-msgid "New <br>problems"
-msgstr "Nouveaux <br />problèmes"
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:131
+#, fuzzy
+msgid "New"
+msgstr "Plus récents"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:259
+#: perllib/FixMyStreet/App/Controller/Admin.pm:262
msgid "New body added"
msgstr "Nouveau body ajouté"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:405
+#: perllib/FixMyStreet/App/Controller/Admin.pm:386
msgid "New category contact added"
msgstr "Nouveau contact de catégorie rajouté"
@@ -2054,7 +2089,7 @@ msgid "New password:"
msgstr "Nouveau mot de passe :"
#: templates/web/base/admin/responsepriorities/edit.html:4
-#: templates/web/base/admin/responsepriorities/list.html:32
+#: templates/web/base/admin/responsepriorities/list.html:34
msgid "New priority"
msgstr "Nouvelle priorité"
@@ -2083,6 +2118,7 @@ msgid "New reports"
msgstr "Nouveaux rapports"
#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/states/index.html:91
msgid "New state"
msgstr "Nouvel état"
@@ -2092,7 +2128,7 @@ msgstr "Nouvel état"
msgid "New template"
msgstr "Nouveau modèle"
-#: templates/web/base/reports/_list-filters.html:47
+#: templates/web/base/reports/_list-filters.html:58
msgid "Newest"
msgstr "Plus récents"
@@ -2100,20 +2136,19 @@ msgstr "Plus récents"
msgid "Next"
msgstr "Suivant"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1203
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
+#: perllib/FixMyStreet/Cobrand/Default.pm:1237
#: templates/web/base/admin/category_edit.html:4
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:137
+#: templates/web/base/admin/report_edit.html:125
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:26
#: templates/web/base/questionnaire/creator_fixed.html:16
#: templates/web/base/questionnaire/index.html:106
#: templates/web/base/questionnaire/index.html:55
+#: templates/web/base/report/_inspect.html:92
msgid "No"
msgstr "Non"
@@ -2129,7 +2164,7 @@ msgstr "Aucun intelocuteur"
msgid "No council"
msgstr "Pas d'administration"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:445
+#: perllib/FixMyStreet/DB/Result/Problem.pm:372
msgid "No council selected"
msgstr "Aucune administration sélectionnée"
@@ -2145,25 +2180,16 @@ msgstr "Aucun problème coché trouvé."
msgid "No flagged users found."
msgstr "Aucun utilisateur coché trouvé."
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:14
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:8
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "No further action"
-msgstr "Ne peut être résolu"
-
#: templates/web/zurich/admin/report_edit-sdm.html:125
#: templates/web/zurich/admin/report_edit.html:259
msgid "No further updates"
msgstr "Pas d'autres mises à jour"
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:84
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:68
msgid "No inspections by that inspector in the selected date range."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:86
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:70
msgid "No inspections in the selected date range."
msgstr ""
@@ -2171,8 +2197,8 @@ msgstr ""
msgid "No result returned"
msgstr "Aucun résultat retourné"
-#: templates/web/base/admin/body-form.html:66
-#: templates/web/base/admin/body-form.html:67
+#: templates/web/base/admin/body-form.html:68
+#: templates/web/base/admin/body-form.html:69
msgid ""
"No specific areas are currently available, because the <code>MAPIT_URL</code> in\n"
" your config file is not pointing to a live MapIt service."
@@ -2213,17 +2239,8 @@ msgstr ""
"Suivant l'implémentation, les utilisateurs autorisés peuvent avoir accès au tableau de bord (résumé de \n"
"l'activité concernant leur interloculteur), et la faculté de cacher des rapports ou de définir des statuts spéciaux pour les rapports."
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:9
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "Not Responsible"
-msgstr "Pas responsable"
-
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:181
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:186
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:933
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:13
msgid "Not contactable"
@@ -2242,7 +2259,7 @@ msgid "Not reported to council"
msgstr "Non signalé à l'administration"
#: templates/web/base/admin/body.html:75
-#: templates/web/base/admin/category_edit.html:57
+#: templates/web/base/admin/category_edit.html:31
#: templates/web/zurich/admin/body.html:17
msgid "Note"
msgstr "Note"
@@ -2252,7 +2269,7 @@ msgid "Note that when including unconfirmed reports we use the date the report w
msgstr "Notez que quand les rapports non confirmés sont inclus nous utilisons la date de création du rapport, qui peut être dans un autre mois que la date de confirmation, ce qui peut légèrement faire varier les chiffres."
#: templates/web/zurich/admin/body.html:55
-#: templates/web/zurich/admin/contact-form.html:17
+#: templates/web/zurich/admin/contact-form.html:19
msgid "Note:"
msgstr "Note :"
@@ -2264,6 +2281,10 @@ msgstr "Note : <strong>%s</strong>"
msgid "Notes from SDM to DM"
msgstr "Notes du SDM pour DM"
+#: templates/web/base/admin/extra-metadata-form.html:26
+msgid "Notice"
+msgstr ""
+
#: templates/web/base/report/new/oauth_email_form.html:17
msgid "Now to submit your report&hellip;"
msgstr "Maintenant pour envoyer votre rapport&hellip;"
@@ -2274,63 +2295,43 @@ msgstr "Maintenant pour envoyer votre rapport&hellip;"
msgid "Now to submit your update&hellip;"
msgstr "Maintenant pour envoyer votre mise à jour&hellip;"
+#: templates/web/base/reports/index.html:98
+msgid "Number of problems reported in each category, in the last 7 days."
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:43
msgid "OK"
msgstr "OK"
-#: templates/web/base/js/translation_strings.html:67
+#: templates/web/base/js/translation_strings.html:70
msgid "Offline data cleared"
msgstr ""
-#: templates/web/base/js/translation_strings.html:64
+#: templates/web/base/js/translation_strings.html:67
msgid "Offline update data saved"
msgstr ""
-#: templates/web/base/reports/index.html:26
-msgid "Old / unknown <br>problems"
-msgstr "Probèmes<br /> anciens / inconnus"
-
#: templates/web/base/admin/questionnaire.html:24
msgid "Old state"
msgstr "Ancien état"
-#: templates/web/base/reports/index.html:28
-msgid "Older <br>fixed"
-msgstr "Anciens <br />résolus"
-
-#: templates/web/base/reports/index.html:25
-msgid "Older <br>problems"
-msgstr "Anciens <br />problèmes"
-
-#: templates/web/base/reports/_list-filters.html:48
+#: templates/web/base/reports/_list-filters.html:59
msgid "Oldest"
msgstr "Plus anciens"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:900
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:25
-#: templates/web/base/admin/report_blocks.html:6
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:905
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:10
+#: templates/web/base/admin/states/index.html:102
+#: templates/web/base/admin/states/index.html:25
+#: templates/web/base/admin/states/index.html:32
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:3
-#: templates/web/base/report/update/form_update.html:41
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:7
#: templates/web/zurich/admin/update_edit.html:18
msgid "Open"
msgstr "Ouvert"
-#: templates/web/base/reports/index.html:25
-msgid "Open for more than four weeks, with an update within the past eight weeks"
-msgstr "Ouvrez pendant plus de quatre semaines, avec une mise à jour au cours des huit dernières semaines"
-
-#: templates/web/base/reports/index.html:26
-msgid "Open, but not had any update in eight weeks"
-msgstr "Ouvert, mais sans mise à jour depuis huit semaines"
-
#: templates/web/base/admin/open311-form-fields.html:47
msgid "Open311 API Key"
msgstr "Open311 API Key"
@@ -2351,26 +2352,39 @@ msgstr "Page web de l'initiative Open311"
msgid "Open311 specification"
msgstr "Spécification Open311"
-#: templates/web/base/alert/_list.html:61
-msgid "Or problems reported to:"
-msgstr "Ou problèmes signalés à :"
-
-#: templates/web/base/alert/_list.html:37
-msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
-msgstr "Ou vous pouvez vous abonner à une alerte en fonction de la commune dans laquelle vous êtes :"
-
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:1061
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:659
-#: perllib/FixMyStreet/DB/Result/Problem.pm:642
-#: perllib/FixMyStreet/DB/Result/Problem.pm:649
-#: perllib/FixMyStreet/DB/Result/Problem.pm:664
-#: perllib/FixMyStreet/DB/Result/Problem.pm:673
+#: templates/web/base/admin/extra-metadata-form.html:53
+#, fuzzy
+msgid "Options"
+msgstr "optionnel"
+
+#: templates/web/base/alert/_list.html:84
+msgid "Or subscribe by RSS"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:8
+msgid "Order"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1107
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:675
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:676
+#: perllib/FixMyStreet/DB/Result/Problem.pm:579
+#: perllib/FixMyStreet/DB/Result/Problem.pm:586
+#: perllib/FixMyStreet/DB/Result/Problem.pm:601
+#: perllib/FixMyStreet/DB/Result/Problem.pm:610
#: perllib/FixMyStreet/Script/Reports.pm:183
#: perllib/FixMyStreet/Script/Reports.pm:198
msgid "Other"
msgstr "Autres"
+#: templates/web/base/reports/index.html:107
+msgid "Other categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:92
+msgid "Overall average"
+msgstr ""
+
#: templates/web/base/admin/list_updates.html:8
msgid "Owner"
msgstr "Propriétaire"
@@ -2380,17 +2394,16 @@ msgstr "Propriétaire"
msgid "Page Not Found"
msgstr "Page Introuvable"
-#: templates/web/base/admin/body-form.html:37
+#: templates/web/base/admin/body-form.html:39
#: templates/web/zurich/admin/body-form.html:14
msgid "Parent"
msgstr "Parent"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:20
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:61
msgid "Partial"
msgstr "Partiel"
-#: templates/web/base/auth/general.html:109
+#: templates/web/base/auth/general.html:111
#: templates/web/base/report/new/form_user_loggedout_by_email.html:28
#: templates/web/base/report/update/form_user_loggedout_by_email.html:6
#: templates/web/zurich/auth/general.html:32
@@ -2398,7 +2411,7 @@ msgstr "Partiel"
msgid "Password (optional)"
msgstr "Mot de passe (facultatif)"
-#: templates/web/base/auth/general.html:82
+#: templates/web/base/auth/general.html:84
msgid "Password:"
msgstr "Mot de passe :"
@@ -2410,17 +2423,22 @@ msgstr "Lien permanent"
msgid "Permissions:"
msgstr "Autorisations :"
+#: templates/web/base/report/_inspect.html:19
+#, fuzzy
+msgid "Phone Reporter:"
+msgstr "Remis:"
+
#: templates/web/zurich/report/new/fill_in_details_form.html:65
msgid "Phone number"
msgstr "Numéro de téléphone"
-#: templates/web/base/report/new/form_user_loggedin.html:57
+#: templates/web/base/report/new/form_user_loggedin.html:59
#: templates/web/base/report/new/form_user_loggedout_by_email.html:25
msgid "Phone number (optional)"
msgstr "Téléphone (facultatif)"
#: perllib/FixMyStreet/Script/Reports.pm:87
-#: templates/web/base/admin/report_edit.html:146
+#: templates/web/base/admin/report_edit.html:134
#: templates/web/base/admin/user-form.html:21
#: templates/web/zurich/admin/stats.html:39
msgid "Phone:"
@@ -2429,9 +2447,9 @@ msgstr "Téléphone"
#: templates/web/base/questionnaire/index.html:78
#: templates/web/base/questionnaire/index.html:93
#: templates/web/base/questionnaire/index.html:95
-#: templates/web/base/report/new/form_report.html:28
-#: templates/web/base/report/new/form_report.html:43
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/new/form_report.html:45
+#: templates/web/base/report/new/form_report.html:47
#: templates/web/base/report/update/form_update.html:22
#: templates/web/base/report/update/form_update.html:24
#: templates/web/base/report/update/form_update.html:7
@@ -2449,12 +2467,12 @@ msgstr "Photo"
msgid "Photo is required."
msgstr "La photo est nécessaire."
-#: templates/web/zurich/admin/contact-form.html:14
+#: templates/web/zurich/admin/contact-form.html:16
msgid "Photo required"
msgstr "Photo requise"
#: templates/web/base/questionnaire/index.html:78
-#: templates/web/base/report/new/form_report.html:28
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/update/form_update.html:7
#: templates/web/zurich/report/new/fill_in_details_form.html:20
msgid "Photos"
@@ -2464,17 +2482,18 @@ msgstr "Photos"
msgid "Photos of recent nearby reports"
msgstr "Photos de rapports récents à proximité"
+#: templates/web/base/reports/index.html:63
+#: templates/web/base/reports/index.html:66
+msgid "Pick your council"
+msgstr ""
+
#: templates/web/base/around/display_location.html:76
#: templates/web/base/js/translation_strings.html:30
msgid "Place pin on map"
msgstr "Placer l'épingle sur la carte"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:940
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:946
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:8
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:945
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:951
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:9
#: templates/web/zurich/admin/index-dm.html:9
@@ -2492,31 +2511,27 @@ msgstr "Merci de vérifier les mots de passe et de réessayer"
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:18
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:43
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:45
#: templates/web/zurich/auth/general.html:3
#: templates/web/zurich/auth/general.html:9
msgid "Please check your email address is correct"
msgstr "Merci de vérifier que votre adresse email est correcte"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:350
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:844
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:867
-#: perllib/FixMyStreet/DB/Result/Problem.pm:456
+#: perllib/FixMyStreet/App/Controller/Admin.pm:329
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:873
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:896
+#: perllib/FixMyStreet/DB/Result/Problem.pm:383
#: templates/web/base/js/translation_strings.html:9
msgid "Please choose a category"
msgstr "Merci de sélectionner une catégorie"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:462
-msgid "Please choose a property type"
-msgstr "Merci de choisir un type de propriété"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:396
+#: perllib/FixMyStreet/App/Controller/Admin.pm:377
#: templates/web/base/admin/bodies.html:4 templates/web/base/admin/body.html:11
msgid "Please correct the errors below"
msgstr "Merci de corriger les erreurs ci-dessous"
-#: templates/web/base/contact/blurb.html:12
+#: templates/web/base/contact/blurb.html:6
msgid ""
"Please do <strong>not</strong> report problems through this form; messages go to\n"
"the team behind this site, not a council. To report a problem,\n"
@@ -2530,18 +2545,18 @@ msgstr ""
msgid "Please do not be abusive&nbsp;&mdash; abusing your council devalues the service for all users."
msgstr "Merci de ne pas être injurieux&nbsp;&mdash; Calomnier l'administration dévalue le service pour tous les utilisateurs."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:351
-#: perllib/FixMyStreet/DB/Result/Comment.pm:127
+#: perllib/FixMyStreet/App/Controller/Admin.pm:330
+#: perllib/FixMyStreet/DB/Result/Comment.pm:128
#: templates/web/base/js/translation_strings.html:2
msgid "Please enter a message"
msgstr "Merci d'entrer un message"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1200
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1364
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1305
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1469
msgid "Please enter a name"
msgstr "Merci d'entrer un nom"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:478
+#: perllib/FixMyStreet/App/Controller/Admin.pm:497
msgid "Please enter a name for this body"
msgstr "S'il vous plaît entrez un nom pour cet organisme"
@@ -2551,15 +2566,15 @@ msgstr "S'il vous plaît entrez un nom pour cet organisme"
msgid "Please enter a password"
msgstr "Merci d'entrer un mot de passe :"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:114
-#: perllib/FixMyStreet/DB/Result/Problem.pm:439
+#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/DB/Result/Problem.pm:366
#: templates/web/base/js/translation_strings.html:3
msgid "Please enter a subject"
msgstr "Merci d'enter un sujet"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1197
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1361
-#: perllib/FixMyStreet/App/Controller/Admin.pm:363
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1302
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1466
+#: perllib/FixMyStreet/App/Controller/Admin.pm:343
#: perllib/FixMyStreet/DB/Result/User.pm:164
#: templates/web/base/js/translation_strings.html:12
#: templates/web/base/js/translation_strings.html:16
@@ -2567,21 +2582,21 @@ msgid "Please enter a valid email"
msgstr "Merci d'entrer un email valide"
#: perllib/FixMyStreet/App/Controller/Alert.pm:350
-#: perllib/FixMyStreet/App/Controller/Contact.pm:124
+#: perllib/FixMyStreet/App/Controller/Contact.pm:125
msgid "Please enter a valid email address"
msgstr "Merci d'entrer une adresse email valide"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:442
+#: perllib/FixMyStreet/DB/Result/Problem.pm:369
#: templates/web/base/js/translation_strings.html:4
msgid "Please enter some details"
msgstr "Merci d'entrer quelques détails"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/App/Controller/Contact.pm:114
#: perllib/FixMyStreet/DB/Result/User.pm:161
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:17
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:42
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:44
#: templates/web/base/js/translation_strings.html:11
#: templates/web/base/js/translation_strings.html:15
#: templates/web/zurich/auth/general.html:3
@@ -2598,14 +2613,14 @@ msgstr "Merci d'entrer votre adresse email"
msgid "Please enter your first name"
msgstr "Saisissez votre prénom"
-#: perllib/FixMyStreet/Cobrand/UK.pm:320
+#: perllib/FixMyStreet/Cobrand/UK.pm:326
#: templates/web/base/js/translation_strings.html:7
msgid "Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below"
msgstr "Merci de saisir votre nom complet, les administrations ont besoin de cette information. Si vous ne souhaitez pas que votre nom soit affiché sur ce site, décochez la case ci-dessous"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:112
-#: perllib/FixMyStreet/DB/Result/Comment.pm:124
-#: perllib/FixMyStreet/DB/Result/Problem.pm:450
+#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/DB/Result/Comment.pm:125
+#: perllib/FixMyStreet/DB/Result/Problem.pm:377
#: perllib/FixMyStreet/DB/Result/User.pm:157
#: templates/web/base/js/translation_strings.html:6
msgid "Please enter your name"
@@ -2668,7 +2683,7 @@ msgstr "Veuillez noter que votre mise à jour n'a <strong> pas encore été post
msgid "Please note:"
msgstr "Quelques remarques :"
-#: perllib/FixMyStreet/App/Controller/Report.pm:358
+#: perllib/FixMyStreet/App/Controller/Report.pm:353
msgid "Please provide a public update for this report."
msgstr "Veuillez fournir une mise à jour publique de ce rapport."
@@ -2704,11 +2719,11 @@ msgstr "Merci de préciser si le problème a été réglé ou non."
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:122
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:156
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:158
-#: templates/web/base/js/translation_strings.html:57
+#: templates/web/base/js/translation_strings.html:60
msgid "Please upload an image only"
msgstr "Veuillez uniquement envoyer une image"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/App/Controller/Contact.pm:116
msgid "Please write a message"
msgstr "Merci de saisir un message"
@@ -2716,30 +2731,29 @@ msgstr "Merci de saisir un message"
msgid "Please write your update here"
msgstr "Merci d'écrire votre mise à jour ici"
-#: templates/web/base/contact/index.html:103
#: templates/web/base/report/update-form.html:25
#: templates/web/base/report/update/form_user_loggedout_by_email.html:14
#: templates/web/base/report/update/form_user_loggedout_password.html:10
msgid "Post"
msgstr "Envoyer"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:242
+#: perllib/FixMyStreet/DB/Result/Comment.pm:231
msgid "Posted anonymously at %s"
msgstr "Signalé anonymement à %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:257
+#: perllib/FixMyStreet/DB/Result/Comment.pm:255
msgid "Posted by %s at %s"
msgstr "Signalé par %s à %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:252
+#: perllib/FixMyStreet/DB/Result/Comment.pm:243
msgid "Posted by <strong>%s</strong> (%s) at %s"
msgstr "Envoyé par <strong>%s</strong> (%s) à %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:254
+#: perllib/FixMyStreet/DB/Result/Comment.pm:245
msgid "Posted by <strong>%s</strong> at %s"
msgstr "Envoyé par <strong>%s</strong> à %s"
-#: templates/web/base/front/footer-marketing.html:12
+#: templates/web/base/front/footer-marketing.html:6
msgid "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
msgstr "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
@@ -2751,8 +2765,8 @@ msgstr "Précédent"
msgid "Priorities"
msgstr "Priorités"
-#: templates/web/base/report/_inspect.html:113
-#: templates/web/base/report/_item.html:98
+#: templates/web/base/report/_inspect.html:123
+#: templates/web/base/report/_item.html:100
msgid "Priority"
msgstr "Priorité"
@@ -2766,16 +2780,15 @@ msgstr "Confidentialité"
msgid "Privacy and cookies"
msgstr "Vie privée et cookies"
-#: templates/web/base/admin/body.html:91
-#: templates/web/base/admin/contact-form.html:74
-#: templates/web/base/admin/report_edit.html:149
+#: templates/web/base/admin/body.html:88
+#: templates/web/base/admin/contact-form.html:75
+#: templates/web/base/admin/report_edit.html:137
msgid "Private"
msgstr "Privé"
#: templates/web/base/report/new/form_user.html:1
-#, fuzzy
msgid "Private details"
-msgstr "Précisions supplémentaires"
+msgstr ""
#: templates/web/base/maps/pin.html:13
msgid "Problem"
@@ -2799,7 +2812,7 @@ msgstr "Problème %d signalé à l&rsquo;administration %s"
msgid "Problem breakdown by state"
msgstr "Répartition des problèmes par état"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1167
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1272
msgid "Problem marked as open."
msgstr "Problème signalé comme ouvert."
@@ -2807,11 +2820,16 @@ msgstr "Problème signalé comme ouvert."
msgid "Problem state change based on survey results"
msgstr "Changement état des problèmes d'après résultats sondage"
-#: perllib/FixMyStreet/Cobrand/Default.pm:705
+#: perllib/FixMyStreet/Cobrand/Default.pm:709
#: templates/web/base/admin/flagged.html:10
msgid "Problems"
msgstr "Problèmes"
+#: templates/web/base/alert/_list.html:22
+#, fuzzy
+msgid "Problems in an area"
+msgstr "Problèmes dans la localité %s"
+
#: templates/web/base/report/display_tools.html:22
msgid "Problems nearby"
msgstr "Problèmes aux alentours"
@@ -2824,30 +2842,33 @@ msgstr "Problèmes sur la carte"
msgid "Problems recently reported fixed on FixMyStreet"
msgstr "Problèmes récemment signalés sur FixMyStreet.fr"
-#: templates/web/base/alert/_list.html:22
-msgid "Problems within %.1fkm of this location"
+#: templates/web/base/alert/_list.html:29
+#, fuzzy
+msgid "Problems within %.1fkm of %s"
msgstr "Problèmes à moins de %.1fkm de ce lieu"
-#: perllib/FixMyStreet/Cobrand/Default.pm:833
+#: perllib/FixMyStreet/Cobrand/Default.pm:838
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:137
-#: perllib/FixMyStreet/Cobrand/UK.pm:209
+#: perllib/FixMyStreet/Cobrand/UK.pm:215 perllib/FixMyStreet/Cobrand/UK.pm:257
+#: perllib/FixMyStreet/Cobrand/UK.pm:269
msgid "Problems within %s"
msgstr "Problèmes à l'intérieur de %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:223
+#: perllib/FixMyStreet/Cobrand/UK.pm:229
msgid "Problems within %s ward"
msgstr "Problèmes dans la localité %s"
+#: perllib/FixMyStreet/Cobrand/UK.pm:263 perllib/FixMyStreet/Cobrand/UK.pm:275
+#, fuzzy
+msgid "Problems within %s ward, %s"
+msgstr "Problèmes dans la localité %s"
+
#. ("First %s is the body name, second %s the site name")
#: templates/web/base/reports/body.html:0
#: templates/web/base/reports/body.html:25
msgid "Problems within %s, %s"
msgstr "Problèmes dans %s, %s"
-#: templates/web/base/alert/_list.html:43
-msgid "Problems within the boundary of:"
-msgstr "Problèmes à l'intérieur des limites de :"
-
#: templates/web/base/admin/report_edit.html:74
msgid "Property address:"
msgstr "Adresse de propriété:"
@@ -2857,11 +2878,11 @@ msgstr "Adresse de propriété:"
msgid "Provide an update"
msgstr "Apporter une mise à jour"
-#: templates/web/base/report/update/form_name.html:9
+#: templates/web/base/report/update/form_name.html:10
msgid "Provide update as"
msgstr "Fournir la mise à jour comme"
-#: templates/web/base/auth/general.html:112
+#: templates/web/base/auth/general.html:114
msgid "Providing a name and password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
msgstr "Fournir un nom et un mot de passe est optionnel, mais cela vous permettra de soumettre des problèmes, faire des mises à jour et gérer les rapports plus facilement."
@@ -2871,16 +2892,15 @@ msgid "Providing a password is optional, but doing so will allow you to more eas
msgstr "Un mot de passe n'est pas obligatoire, mais vous permettra de créer, mettre à jour et administrer vos rapports plus facilement."
#: templates/web/base/report/new/form_report.html:10
-#, fuzzy
msgid "Public details"
-msgstr "Mise à jour publique :"
+msgstr ""
#: templates/web/zurich/admin/report_edit.html:241
#: templates/web/zurich/admin/report_edit.html:268
msgid "Public response:"
msgstr "Réponse publique:"
-#: templates/web/base/report/_inspect.html:152
+#: templates/web/base/report/_inspect.html:162
msgid "Public update:"
msgstr "Mise à jour publique :"
@@ -2908,7 +2928,7 @@ msgstr "Questionnaire %d envoyé pour le problème %s"
msgid "Questionnaire filled in by problem reporter"
msgstr "Questionnaire rempli par le requérant"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
#: templates/web/base/alert/updates.html:9
#: templates/web/base/around/display_location.html:1
#: templates/web/base/around/display_location.html:3
@@ -2916,11 +2936,11 @@ msgstr "Questionnaire rempli par le requérant"
msgid "RSS feed"
msgstr "Flux RSS"
-#: perllib/FixMyStreet/Cobrand/UK.pm:252 perllib/FixMyStreet/Cobrand/UK.pm:264
+#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
msgid "RSS feed for %s"
msgstr "Flux RSS pour %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
+#: perllib/FixMyStreet/Cobrand/UK.pm:264 perllib/FixMyStreet/Cobrand/UK.pm:276
msgid "RSS feed for %s ward, %s"
msgstr "Flux RSS pour la localité %s, %s"
@@ -2928,25 +2948,25 @@ msgstr "Flux RSS pour la localité %s, %s"
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:179
-#: perllib/FixMyStreet/Cobrand/UK.pm:278 perllib/FixMyStreet/Cobrand/UK.pm:290
+#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
msgid "RSS feed of %s"
msgstr "Flux RSS de %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
msgid "RSS feed of %s, within %s ward"
msgstr "Flux RSS de %s, dans la localité %s"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
msgid "RSS feed of nearby problems"
msgstr "Flux RSS de problèmes à proximité"
-#: perllib/FixMyStreet/Cobrand/Default.pm:834
+#: perllib/FixMyStreet/Cobrand/Default.pm:839
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:136
-#: perllib/FixMyStreet/Cobrand/UK.pm:216
+#: perllib/FixMyStreet/Cobrand/UK.pm:222
msgid "RSS feed of problems within %s"
msgstr "Flux RSS des problèmes à l'intérieur de %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:222
+#: perllib/FixMyStreet/Cobrand/UK.pm:228
msgid "RSS feed of problems within %s ward"
msgstr "Flux RSS de problèmes à l'intérieur de la localité %s"
@@ -2965,7 +2985,7 @@ msgstr "Flux RSS des mises à jour pour ce problème"
msgid "Receive email when updates are left on this problem."
msgstr "Etre informé par courriel lorsque ce problème est mis à jour."
-#: perllib/FixMyStreet/DB/Result/Problem.pm:801
+#: perllib/FixMyStreet/DB/Result/Problem.pm:738
msgid "Received by %s moments later"
msgstr "Reçu par %s un peu plus tard"
@@ -2975,15 +2995,11 @@ msgstr "Reçu par %s un peu plus tard"
msgid "Recent local problems, %s"
msgstr "Les problèmes récents, %s"
-#: templates/web/base/reports/index.html:27
-msgid "Recently <br>fixed"
-msgstr "Récemment<br />résolus"
-
#: templates/web/base/front/recent.html:11
msgid "Recently reported problems"
msgstr "Problèmes signalés récemment"
-#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:60
msgid "Recently updated"
msgstr "Récemment mis à jour"
@@ -2991,13 +3007,23 @@ msgstr "Récemment mis à jour"
msgid "Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. If your problem is not appropriate for submission via this site remember that you can contact your council directly using their own website."
msgstr "Rappelez-vous que FixMyStreet est principalement destiné au signalement de problèmes physiques qui peuvent être résolus. Si votre problème ne convient pas pour être soumis via ce site, n'oubliez pas que vous pouvez contacter votre administration directement à l'aide de leur propre site web."
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/extra-metadata-form.html:68
+#, fuzzy
+msgid "Remove"
+msgstr "Effacer le signalement"
+
+#: templates/web/base/admin/extra-metadata-form.html:4
+#, fuzzy
+msgid "Remove field"
+msgstr "Effacer le signalement"
+
+#: templates/web/base/admin/report_blocks.html:23
msgid "Remove flag"
msgstr "Effacer le signalement"
#: templates/web/base/report/_item.html:12
#: templates/web/base/report/_item.html:9
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:18
#: templates/web/base/report/_main.html:26
msgid "Remove from shortlist"
@@ -3007,7 +3033,7 @@ msgstr "Supprimer de votre liste"
msgid "Remove from site"
msgstr "Retirer du site"
-#: templates/web/base/admin/report_edit.html:166
+#: templates/web/base/admin/report_edit.html:154
#: templates/web/base/admin/update_edit.html:69
#: templates/web/zurich/admin/update_edit.html:35
msgid "Remove photo (can't be undone!)"
@@ -3021,13 +3047,13 @@ msgstr "Répondre à l'utilisateur:"
msgid "Report"
msgstr "Rapport"
-#: templates/web/base/report/_inspect.html:10
-#: templates/web/base/report/_item.html:76
+#: templates/web/base/report/_inspect.html:14
+#: templates/web/base/report/_item.html:78
msgid "Report ID:"
msgstr "Rapport ID :"
#: templates/web/base/header_logo.html:2
-#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:19
+#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:18
#: templates/web/zurich/nav_over_content.html:4
msgid "Report a problem"
msgstr "Signaler un problème"
@@ -3037,7 +3063,7 @@ msgstr "Signaler un problème"
msgid "Report abuse"
msgstr "Signaler un abus"
-#: templates/web/base/report/new/form_user_loggedin.html:16
+#: templates/web/base/report/new/form_user_loggedin.html:17
msgid "Report as"
msgstr "Signaler comme"
@@ -3046,9 +3072,8 @@ msgid "Report on %s"
msgstr "Signaler sur %s"
#: templates/web/base/dashboard/index.html:137
-#, fuzzy
msgid "Report state:"
-msgstr "Signaler comme"
+msgstr ""
#: templates/web/base/report/new/fill_in_details_form.html:1
#: templates/web/base/report/new/login_success_form.html:1
@@ -3061,7 +3086,7 @@ msgstr "Signaler votre problème"
msgid "Report, view, or discuss local problems"
msgstr "Signalez et suivez les problèmes locaux"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:653
+#: perllib/FixMyStreet/DB/Result/Problem.pm:590
#: templates/web/base/contact/index.html:55
msgid "Reported anonymously at %s"
msgstr "Signalé anonymement à %s"
@@ -3071,7 +3096,7 @@ msgstr "Signalé anonymement à %s"
msgid "Reported before"
msgstr "Signalé avant"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:677
+#: perllib/FixMyStreet/DB/Result/Problem.pm:614
#: templates/web/base/contact/index.html:57
msgid "Reported by %s at %s"
msgstr "Signalé par %s à %s"
@@ -3085,34 +3110,30 @@ msgstr "Rapporté par:"
msgid "Reported in the %s category"
msgstr "Rapporté dans la catégorie %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:650
+#: perllib/FixMyStreet/DB/Result/Problem.pm:587
msgid "Reported in the %s category anonymously at %s"
msgstr "Signalé dans la catégorie %s anonymement à %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:611
msgid "Reported in the %s category by %s at %s"
msgstr "Signalé dans la catégorie %s par %s à %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:647
+#: perllib/FixMyStreet/DB/Result/Problem.pm:584
msgid "Reported via %s anonymously at %s"
msgstr "Signalé par %s anonymement à %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:671
+#: perllib/FixMyStreet/DB/Result/Problem.pm:608
msgid "Reported via %s by %s at %s"
msgstr "Signalé par %s par %s à %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:644
+#: perllib/FixMyStreet/DB/Result/Problem.pm:581
msgid "Reported via %s in the %s category anonymously at %s"
msgstr "Signalé par %s dans la catégorie %s anonymement à %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:666
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
msgid "Reported via %s in the %s category by %s at %s"
msgstr "Signalé par %s dans la catégorie %s par %s"
-#: templates/web/base/reports/index.html:24
-msgid "Reported within the last four weeks"
-msgstr "Publié depuis quatre semaines"
-
#: templates/web/zurich/admin/report_edit-sdm.html:38
#: templates/web/zurich/admin/report_edit.html:57
msgid "Reported:"
@@ -3128,13 +3149,13 @@ msgid "Reporting a problem"
msgstr "Signalisation d'un problème"
#: perllib/FixMyStreet/Cobrand/Default.pm:655
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:383
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:388
#: templates/web/base/dashboard/index.html:134
#: templates/web/zurich/header.html:52
msgid "Reports"
msgstr "Rapports"
-#: perllib/FixMyStreet/Cobrand/UK.pm:329 perllib/FixMyStreet/Cobrand/UK.pm:333
+#: perllib/FixMyStreet/Cobrand/UK.pm:333 perllib/FixMyStreet/Cobrand/UK.pm:335
msgid "Reports are limited to %s characters in length. Please shorten your report"
msgstr "Les rapports sont limités à %s caractères de long. Merci de raccourcir votre texte"
@@ -3142,31 +3163,54 @@ msgstr "Les rapports sont limités à %s caractères de long. Merci de raccourci
msgid "Reports awaiting approval"
msgstr "Rapports attendant une validation"
+#: templates/web/base/alert/_list.html:54
+#, fuzzy
+msgid "Reports by destination"
+msgstr "Signalé par %s à %s"
+
#: templates/web/base/admin/user-form.html:107
msgid "Reports made by trusted users will be sent to the responsible body without being inspected first."
msgstr "Les déclarations faites par les utilisateurs de confiance seront envoyés à l'organisme responsable sans être inspecté en premier."
+#: templates/web/base/alert/_list.html:15
+msgid "Reports near %s are sent to different councils, depending on the type of problem."
+msgstr ""
+
#: templates/web/zurich/admin/index-sdm.html:10
msgid "Reports published"
msgstr "Rapports publiés"
-#: templates/web/base/js/translation_strings.html:68
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:71
msgid "Reports saved offline."
-msgstr "Signaler un problème"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#, fuzzy
+msgid "Reports sent to %s"
+msgstr "Signaler sur %s"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:290 perllib/FixMyStreet/Cobrand/UK.pm:302
+#, fuzzy
+msgid "Reports sent to %s, within %s ward"
+msgstr "Flux RSS de %s, dans la localité %s"
#: templates/web/base/admin/index.html:56
msgid "Reports waiting to be sent"
msgstr "Rapports en attente d'être envoyés"
-#: templates/web/base/admin/contact-form.html:89
+#: templates/web/base/admin/contact-form.html:90
msgid "Reports will automatically be sent without needing to be inspected if the user's <strong>reputation</strong> is at or above this value. Set to <strong>0</strong> if all reports must be inspected regardless."
msgstr "Les rapports seront automatiquement envoyés sans avoir besoin d'être inspecté si <strong> la réputation de l'utilisateur </strong> est égale ou supérieure à cette valeur. Réglez sur <strong> 0 </strong> si tous les rapports doivent être inspectés indépendamment."
-#: templates/web/base/admin/contact-form.html:94
+#: templates/web/base/admin/contact-form.html:95
msgid "Reputation threshold"
msgstr "Seuil de réputation"
+#: templates/web/base/admin/extra-metadata-form.html:20
+#, fuzzy
+msgid "Required"
+msgstr "obligatoire"
+
#: templates/web/base/admin/report_edit.html:84
msgid "Resend report"
msgstr "Renvoyer le rapport"
@@ -3202,7 +3246,7 @@ msgstr "Modèles de réponse pour %s"
msgid "Revert to original"
msgstr ""
-#: templates/web/base/report/_main.html:95
+#: templates/web/base/report/_main.html:99
msgid "Revert to original text"
msgstr ""
@@ -3225,16 +3269,16 @@ msgstr "L'opérateur pour cette route (déterminé à partir de la référence e
msgid "Road operator for this named road (from OpenStreetMap): %s"
msgstr "L'opérateur pour cette route (selon OpenStreetMAp): %s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1747
-#: templates/web/base/admin/report_edit.html:163
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1852
+#: templates/web/base/admin/report_edit.html:151
#: templates/web/base/admin/update_edit.html:66
#: templates/web/zurich/admin/report_edit.html:118
msgid "Rotate Left"
msgstr "Pivoter à gauche"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: templates/web/base/admin/report_edit.html:164
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: templates/web/base/admin/report_edit.html:152
#: templates/web/base/admin/update_edit.html:67
#: templates/web/zurich/admin/report_edit.html:119
msgid "Rotate Right"
@@ -3249,33 +3293,41 @@ msgstr "La rotation de cette photo annulera les modifications non enregistrées
msgid "Satellite"
msgstr "Satellite"
-#: templates/web/base/report/_inspect.html:168
-#, fuzzy
+#: templates/web/base/report/_inspect.html:182
msgid "Save + close as duplicate"
-msgstr "rapport marqué comme dupliqué"
+msgstr ""
-#: templates/web/base/admin/contact-form.html:137
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/contact-form.html:138
+#: templates/web/base/admin/reportextrafields/edit.html:64
+#: templates/web/base/admin/responsepriorities/edit.html:58
#: templates/web/base/admin/template_edit.html:46
-#: templates/web/base/report/_inspect.html:168
-#: templates/web/base/report/_main.html:113
-#: templates/web/base/report/update.html:60
+#: templates/web/base/report/_inspect.html:182
+#: templates/web/base/report/_main.html:117
+#: templates/web/base/report/update.html:69
#: templates/web/zurich/admin/body.html:62
-#: templates/web/zurich/admin/contact-form.html:20
+#: templates/web/zurich/admin/contact-form.html:22
#: templates/web/zurich/admin/template_edit.html:29
msgid "Save changes"
msgstr "Enregistrer les modifications"
-#: templates/web/base/report/_inspect.html:148
+#: templates/web/base/admin/reportextrafields/edit.html:64
+msgid "Save new fields"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:158
msgid "Save with a public update"
msgstr "Sauvegardez avec une mise à jour publique"
-#. ('This is followed by a progress count, e.g. 3/5')
#. ("This is followed by a progress count, e.g. 3/5")
-#: templates/web/base/js/translation_strings.html:69
+#: templates/web/base/js/translation_strings.html:72
msgid "Saving reports offline"
msgstr ""
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:132
+#, fuzzy
+msgid "Scheduled"
+msgstr "Action programmée"
+
#: templates/web/base/admin/index.html:26
#: templates/web/base/admin/reports.html:1
#: templates/web/zurich/admin/reports.html:1
@@ -3309,42 +3361,41 @@ msgstr "Aucun utilisateur trouvé lors de la recherche."
msgid "See our privacy policy"
msgstr "Voir notre politique de confidentialité"
-#: perllib/FixMyStreet/Cobrand/Default.pm:715
-#, fuzzy
+#: perllib/FixMyStreet/Cobrand/Default.pm:720
msgid "See user detail for reports created as the council"
-msgstr "Créer des rapports/mises à jour de l'administration"
+msgstr ""
-#: templates/web/base/admin/body-form.html:39
+#: templates/web/base/admin/body-form.html:41
#: templates/web/zurich/admin/body-form.html:16
msgid "Select a body"
msgstr "Sélectionnez un interlocuteur"
-#: templates/web/base/reports/index.html:12
-msgid "Select a particular council to see the reports sent there."
-msgstr "Sélectionnez une administration pour voir les rapports qui lui ont été envoyés."
-
-#: templates/web/base/admin/body-form.html:77
+#: templates/web/base/admin/body-form.html:79
#: templates/web/zurich/admin/body-form.html:26
msgid "Select an area"
msgstr "Sélectionnez une zone"
-#: templates/web/base/alert/_list.html:11
-msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
-msgstr "Sélectionnez le type d'alerte que vous souhaitez et cliquez sur le bouton pour obtenir un flux RSS ou entrez votre adresse e-mail pour vous abonner à une alerte email."
+#: templates/web/base/admin/responsepriorities/edit.html:33
+msgid "Select if this is the default priority"
+msgstr ""
#: templates/web/base/admin/category-checkboxes.html:6
msgid "Select:"
msgstr "Sélectionner :"
+#: templates/web/base/contact/index.html:107
+msgid "Send"
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:109
msgid "Send extended Open311 statuses with service request updates"
msgstr "Envoyer un statuts Open311 étendus avec des mises à jour de demande de service"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:826
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:831
msgid "Sent report back"
msgstr "Envoyé le rapport en retour"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:804
+#: perllib/FixMyStreet/DB/Result/Problem.pm:741
msgid "Sent to %s %s later"
msgstr "Envoyé à %s %s plus tard)"
@@ -3357,7 +3408,7 @@ msgstr "Envoyé :"
msgid "Service:"
msgstr "Service:"
-#: templates/web/base/report/_inspect.html:31
+#: templates/web/base/report/_inspect.html:41
msgid "Set to my current location"
msgstr "Situé à mon emplacement actuel"
@@ -3366,49 +3417,56 @@ msgid "Share"
msgstr "Partagez"
#: templates/web/base/main_nav_items.html:10
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:21
#: templates/web/base/report/_main.html:29
msgid "Shortlist"
msgstr "Liste"
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/reports/body.html:32
+msgid "Shortlist all visible"
+msgstr ""
+
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:20
#: templates/web/base/report/_main.html:25
#: templates/web/base/reports/_list-filters.html:9
msgid "Shortlisted"
msgstr "Shortlisté"
-#: templates/web/base/report/_main.html:144
+#: templates/web/base/report/_item.html:15
+#: templates/web/base/report/_main.html:148
msgid "Shortlisted by %s"
msgstr "Shortlisté par %s"
#: templates/web/base/report/update.html:20
-#, fuzzy
msgid "Show Photo?"
-msgstr "Montrer les anciens"
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:26
+msgid "Show all updates"
+msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:54
+#: templates/web/base/report/new/form_user_loggedin.html:56
#: templates/web/base/report/new/form_user_loggedout_by_email.html:22
-#: templates/web/base/report/update/form_name.html:33
+#: templates/web/base/report/update/form_name.html:37
msgid "Show my name publicly"
msgstr "Afficher mon nom publiquement"
#: templates/web/base/report/update.html:17
-#, fuzzy
msgid "Show name publicly?"
-msgstr "Afficher mon nom publiquement"
+msgstr ""
#: templates/web/base/around/display_location.html:69
msgid "Show old"
msgstr "Montrer les anciens"
-#: templates/web/base/report/_main.html:79
-#, fuzzy
+#: templates/web/base/report/_main.html:83
msgid "Show photo"
-msgstr "Montrer les anciens"
+msgstr ""
#: templates/web/base/around/display_location.html:60
+#: templates/web/base/js/translation_strings.html:54
msgid "Show pins"
msgstr "Montrer les épingles"
@@ -3416,16 +3474,20 @@ msgstr "Montrer les épingles"
msgid "Show reporter&rsquo;s name"
msgstr ""
-#: templates/web/base/auth/general.html:117
+#: templates/web/base/reports/index.html:62
+msgid "Show reports in your area"
+msgstr ""
+
+#: templates/web/base/auth/general.html:119
#: templates/web/base/auth/general.html:3
-#: templates/web/base/auth/general.html:86
+#: templates/web/base/auth/general.html:88
#: templates/web/base/main_nav_items.html:6
#: templates/web/zurich/auth/general.html:18
#: templates/web/zurich/auth/general.html:35
msgid "Sign in"
msgstr "S'authentifier"
-#: templates/web/base/auth/general.html:96
+#: templates/web/base/auth/general.html:98
msgid "Sign in by email instead, providing a new password. When you click the link in your email, your password will be updated."
msgstr "Connectez-vous par e-mail à la place en fournissant un nouveau mot de passe. Lorsque vous cliquez sur le lien dans votre e-mail, votre mot de passe sera mis à jour."
@@ -3473,14 +3535,14 @@ msgstr "Désolé, cela n'est pas un lien valide"
msgid "Sorry, there has been an error confirming your problem."
msgstr "Désolé, il n'y a eu une erreur lors de la confirmation de votre problème."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:230
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:235
#: perllib/FixMyStreet/Geocode.pm:37 perllib/FixMyStreet/Geocode/Bing.pm:38
#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:56
#: perllib/FixMyStreet/Geocode/OSM.pm:48
msgid "Sorry, we could not find that location."
msgstr "Désolé, nous n'avons pas pu trouver cet emplacement."
-#: templates/web/base/auth/general.html:9
+#: templates/web/base/auth/general.html:11
#: templates/web/base/report/display.html:29
#: templates/web/base/report/new/fill_in_details_form.html:15
msgid "Sorry, we could not log you in. Please fill in the form below."
@@ -3502,11 +3564,11 @@ msgid ""
"page wasn’t found or there was a server error. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Root.pm:107
+#: perllib/FixMyStreet/App/Controller/Root.pm:124
msgid "Sorry, you don't have permission to do that."
msgstr "Désolé, vous n'êtes pas autorisé à faire cette action."
-#: templates/web/base/reports/_list-filters.html:42
+#: templates/web/base/reports/_list-filters.html:53
msgid "Sort by"
msgstr "Trier par"
@@ -3523,17 +3585,25 @@ msgid "Start Date:"
msgstr "Date de début:"
#: templates/web/base/admin/body.html:73
+#: templates/web/base/admin/category_edit.html:29
+#: templates/web/base/admin/contact-form.html:53
#: templates/web/base/admin/flagged.html:18
#: templates/web/base/admin/index.html:64
#: templates/web/base/admin/list_updates.html:11
#: templates/web/base/admin/reports.html:16
#: templates/web/base/admin/template_edit.html:40
-#: templates/web/base/report/_inspect.html:83
-#: templates/web/base/report/_item.html:94
+#: templates/web/base/report/_inspect.html:82
+#: templates/web/base/report/_item.html:96
#: templates/web/base/report/update/form_update.html:39
+#: templates/web/zurich/admin/contact-form.html:10
msgid "State"
msgstr "État actuel"
+#: templates/web/base/report/update.html:48
+#, fuzzy
+msgid "State changed to:"
+msgstr "Enregistrer les modifications"
+
#: templates/web/base/admin/report_edit.html:116
#: templates/web/base/admin/update_edit.html:28
#: templates/web/zurich/admin/report_edit-sdm.html:75
@@ -3543,8 +3613,14 @@ msgstr "État actuel"
msgid "State:"
msgstr "État actuel :"
-#: perllib/FixMyStreet/Cobrand/Default.pm:640
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:386
+#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: templates/web/base/admin/states/index.html:1
+#, fuzzy
+msgid "States"
+msgstr "État actuel"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
#: templates/web/base/admin/index.html:71 templates/web/base/admin/stats.html:1
#: templates/web/base/admin/stats_by_state.html:1
#: templates/web/zurich/admin/stats.html:1 templates/web/zurich/header.html:65
@@ -3566,6 +3642,10 @@ msgstr "Encore ouvert, via le questionnaire, %s"
msgid "Street View"
msgstr "Street View"
+#: templates/web/base/admin/extra-metadata-form.html:46
+msgid "String"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:192
msgid "Subcategory: %s"
msgstr "Sous-catégorie: %s"
@@ -3574,7 +3654,7 @@ msgstr "Sous-catégorie: %s"
msgid "Subdivision/Body"
msgstr "Subdivision/Interlocuteur"
-#: templates/web/base/contact/index.html:88
+#: templates/web/base/contact/index.html:92
msgid "Subject"
msgstr "Sujet"
@@ -3584,14 +3664,14 @@ msgid "Subject:"
msgstr "Sujet :"
#: templates/web/base/questionnaire/creator_fixed.html:19
-#: templates/web/base/report/new/form_user_loggedin.html:61
+#: templates/web/base/report/new/form_user_loggedin.html:63
#: templates/web/base/report/new/form_user_loggedout_by_email.html:36
#: templates/web/base/report/new/form_user_loggedout_password.html:11
#: templates/web/zurich/report/new/fill_in_details_form.html:73
msgid "Submit"
msgstr "Envoyer"
-#: templates/web/base/admin/report_edit.html:174
+#: templates/web/base/admin/report_edit.html:162
#: templates/web/base/admin/report_edit.html:24
#: templates/web/base/admin/update_edit.html:77
#: templates/web/base/admin/user-form.html:170
@@ -3605,8 +3685,8 @@ msgstr "Envoyer les modifications"
msgid "Submit questionnaire"
msgstr "Envoi du questionnaire"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:164
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:893
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:898
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:6
#: templates/web/zurich/admin/index-dm.html:23
@@ -3616,36 +3696,38 @@ msgstr "Envoi du questionnaire"
msgid "Submitted"
msgstr "Soumis"
+#: templates/web/base/alert/_list.html:77
+#: templates/web/base/alert/_list.html:80
#: templates/web/base/alert/updates.html:23
#: templates/web/base/report/display_tools.html:51
msgid "Subscribe"
msgstr "S'abonner"
-#: templates/web/base/alert/_list.html:93
-msgid "Subscribe me to an email alert"
+#: templates/web/base/alert/_list.html:72
+#, fuzzy
+msgid "Subscribe by email"
msgstr "Abonnez moi à une alerte par email"
#: templates/web/base/report/new/form_report.html:19
msgid "Summarise the problem"
msgstr "Résumer le problème"
-#: templates/web/base/admin/contact-form.html:129
+#: templates/web/base/admin/contact-form.html:130
msgid "Summarise your changes"
msgstr "Résumez vos modifications"
-#: perllib/FixMyStreet/Cobrand/Default.pm:638
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:382
+#: perllib/FixMyStreet/Cobrand/Default.pm:637
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:387
#: templates/web/base/admin/bodies.html:29
#: templates/web/base/admin/index.html:1 templates/web/base/status/index.html:1
#: templates/web/base/status/index.html:3
#: templates/web/zurich/admin/index-dm.html:1
#: templates/web/zurich/admin/index-sdm.html:1
-#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:13
+#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:12
#: templates/web/zurich/header.html:49
msgid "Summary"
msgstr "Résumé"
-#: templates/web/base/reports/index.html:4
#: templates/web/zurich/reports/index.html:0
#: templates/web/zurich/reports/index.html:4
msgid "Summary reports"
@@ -3669,7 +3751,7 @@ msgid "Template &laquo;%s&raquo;"
msgstr "Modèle &laquo;%s&raquo;"
#: perllib/FixMyStreet/Cobrand/Default.pm:661
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:393
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
#: templates/web/zurich/header.html:69
msgid "Templates"
msgstr "Modèles"
@@ -3698,7 +3780,7 @@ msgstr "Merci d&rsquo;avoir signalé ce problème!"
msgid "Thank you for trying to confirm your update or problem. We seem to have an error ourselves though, so <a href=\"%s\">please let us know what went on</a> and we'll look into it."
msgstr "Merci d'essayer de confirmer votre mise à jour ou un problème. Nous semblons rencontrer une erreur de notre côté ; s'il vous plaît, <a href=\"%s\">dites-nous nous ce qui s'est passé</a> et nous nous pencherons sur la question."
-#: templates/web/base/tokens/confirm_update.html:15
+#: templates/web/base/tokens/confirm_update.html:16
msgid "Thank you for updating this issue!"
msgstr "Merci d'&rsquo;avoir mis à jour ce problème!"
@@ -3726,7 +3808,7 @@ msgstr "Cette image ne ​​semble pas avoir été chargée correctement (% s),
msgid "That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again."
msgstr "Ce lieu ne semble pas être couvert par une administration; peut-être est elle en dehors de la zone couverte. Merci de le saisir à nouveau."
-#: perllib/FixMyStreet/App/Controller/Location.pm:129
+#: perllib/FixMyStreet/App/Controller/Location.pm:127
msgid "That location does not appear to be in the UK; please try again."
msgstr "Ce lieu ne semble pas ce trouver au Royaume-Uni; Merci de le saisir à nouveau."
@@ -3736,23 +3818,23 @@ msgstr "Ce lieu ne semble pas ce trouver au Royaume-Uni; Merci de le saisir à n
msgid "That postcode was not recognised, sorry."
msgstr "Ce code postal n'a pas été reconnu, désolé."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:762
+#: perllib/FixMyStreet/App/Controller/Admin.pm:850
msgid "That problem has been marked as sent."
msgstr "Ce problème a été marqué comme envoyé."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:755
+#: perllib/FixMyStreet/App/Controller/Admin.pm:843
msgid "That problem will now be resent."
msgstr "Ce problème va maintenant être renvoyé."
-#: perllib/FixMyStreet/App/Controller/Report.pm:137
+#: perllib/FixMyStreet/App/Controller/Report.pm:134
msgid "That report cannot be viewed on %s."
msgstr "Ce rapport ne peut pas être vu sur %s."
-#: perllib/FixMyStreet/App/Controller/Report.pm:131
+#: perllib/FixMyStreet/App/Controller/Report.pm:128
msgid "That report has been removed from FixMyStreet."
msgstr "Ce rapport a été retiré de FixMyStreet.fr."
-#: templates/web/base/admin/contact-form.html:25
+#: templates/web/base/admin/contact-form.html:27
msgid ""
"The <strong>email address</strong> is the destination to which reports about this category will be sent. \n"
" Other categories for this body may have the same email address."
@@ -3778,10 +3860,10 @@ msgstr ""
"La <strong>juridiction</strong> est seulement nécessaire si le destinataire en gère plus d'une.\n"
" Si l'interlocuteur possède son propre destinataire, vous pouvez laisser ce champ vide."
-#: templates/web/base/admin/body-form.html:100
-#: templates/web/base/admin/body-form.html:101
-#: templates/web/base/admin/contact-form.html:103
+#: templates/web/base/admin/body-form.html:102
+#: templates/web/base/admin/body-form.html:103
#: templates/web/base/admin/contact-form.html:104
+#: templates/web/base/admin/contact-form.html:105
msgid ""
"The <strong>send method</strong> determines how problem reports will be sent to the body.\n"
" If you leave this blank, <strong>send method defaults to email</strong>."
@@ -3802,6 +3884,10 @@ msgstr ""
"Le <strong>nom</strong> identifie l'interlocuteur (par exemple, <em>La communauté de communes du Borsetshire</em>)\n"
"et peut être affichée au public."
+#: templates/web/base/admin/extra-metadata-form.html:12
+msgid "The code used to store this field value in the database. e.g. <code>address</code> would be available as <code>problem.extra.address</code> in the templates."
+msgstr ""
+
#: templates/web/base/report/new/fill_in_details_text.html:1
#: templates/web/base/report/new/fill_in_details_text.html:3
msgid "The council won&rsquo;t be able to help unless you leave as much detail as you can. Please describe the exact location of the problem (e.g. on a wall), what it is, how long it has been there, a description (and a photo of the problem if you have one), etc."
@@ -3812,11 +3898,15 @@ msgstr "L'administration ne pourra intervenir que si vous laissez autant de dét
msgid "The diligency prize league table shows editors' activity (who's been editing the most records)."
msgstr "Le classement du prix d'assiduité montre l'activité des utilisateurs (qui écrit le plus de rapports)."
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:61
-#: perllib/FixMyStreet/App/Controller/Reports.pm:82
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:63
+#: perllib/FixMyStreet/App/Controller/Reports.pm:103
msgid "The error was: %s"
msgstr "L'erreur était : %s"
+#: templates/web/base/admin/extra-metadata-form.html:30
+msgid "The field name as shown to the user on the report form."
+msgstr ""
+
#: templates/web/base/open311/index.html:78
msgid "The following Open311 v2 attributes are returned for each request: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
msgstr "Les attributs Open311 v2 suivants sont retournés pour chaque requête : service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code et service_name."
@@ -3855,10 +3945,14 @@ msgstr "Les derniers problèmes à l'intérieur de {{NAME}} rapportés par les u
msgid "The link might have expired, or maybe you didn&rsquo;t quite copy and paste it correctly."
msgstr "Le lien à expiré, ou peut-être vous ne l&rsquo;avez pas copier coller correctement."
-#: templates/web/base/admin/body-form.html:64
+#: templates/web/base/admin/body-form.html:66
msgid "The list of available areas is being provided by the MapIt service at %s."
msgstr "La liste des zones disponibles est donnée par le service Mapit de %s. "
+#: templates/web/base/admin/extra-metadata-form.html:6
+msgid "The ordering of this field on the report page. Fields are shown in ascending order according to this value."
+msgstr ""
+
#: templates/web/base/auth/change_password.html:22
#: templates/web/base/auth/change_password.html:26
msgid "The passwords do not match"
@@ -3868,9 +3962,9 @@ msgstr "Les mots de passe ne correspondent pas"
msgid "The requested URL '%s' was not found on this server"
msgstr "L'URL demandée « %s » n'a pas été trouvée sur ce serveur"
-#: templates/web/base/alert/_list.html:17
-msgid "The simplest alert is our geographic one:"
-msgstr "La plus simple de nos alertes est la géographique :"
+#: templates/web/base/admin/extra-metadata-form.html:42
+msgid "The type of input field to show to the user. <strong>Text</strong> is a simple text field, <strong>List</strong> is a drop-down selection."
+msgstr ""
#: perllib/FixMyStreet/Script/Reports.pm:96
msgid "The user could not locate the problem on a map, but to see the area around the location they entered"
@@ -3891,18 +3985,18 @@ msgstr ""
msgid "There are no reports to show."
msgstr "Il n'y a pas de rapports à montrer."
-#: perllib/FixMyStreet/App/Controller/Reports.pm:79
+#: perllib/FixMyStreet/App/Controller/Reports.pm:100
msgid "There was a problem showing the All Reports page. Please try again later."
msgstr "Il y a eu un problème pour montrer la page tous les rapports. Réessayez s'il vous plaît ultérieurement."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:137
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:60
+#: perllib/FixMyStreet/App/Controller/Contact.pm:138
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:62
msgid "There was a problem showing this page. Please try again later."
msgstr "Il y a eu un problème pour afficher cette page. Merci de réessayer ultérieurement."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:758
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:785
#: perllib/FixMyStreet/App/Controller/Report/Update.pm:152
-#: templates/web/base/auth/general.html:53
+#: templates/web/base/auth/general.html:55
#: templates/web/zurich/auth/general.html:28
msgid "There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the &lsquo;sign in by email&rsquo; section of the form."
msgstr "Il y a un problème avec votre combinaison email / mot de passe. Si vous ne pouvez pas vous souvenir de votre mot de passe, ou n'en avez pas, remplissez s'il vous plaît la section « s'authentifier par email » du formulaire."
@@ -3915,7 +4009,7 @@ msgstr "Il y a un problème avec votre combinaison email / mot de passe. Réessa
msgid "There was a problem with your update. Please try again."
msgstr "Il y a un problème avec votre mise à jour. Réessayez s'il vous plaît."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:141
+#: perllib/FixMyStreet/App/Controller/Contact.pm:142
msgid "There were problems with your report. Please see below."
msgstr "Il y a un problème avec votre rapport. Voir s'il vous plaît plus bas."
@@ -3973,8 +4067,8 @@ msgstr ""
msgid "This body has no contacts. This means that currently problems reported to this body <strong>will not be sent</strong>."
msgstr "Cet interlocuteur n'a aucun contact. Donc, les problèmes rapportés actuellement à cet interlocuteur <strong>ne seront pas envoyés</strong>."
-#: templates/web/base/admin/body-form.html:58
-#: templates/web/base/admin/body-form.html:59
+#: templates/web/base/admin/body-form.html:60
+#: templates/web/base/admin/body-form.html:61
msgid ""
"This body will only be sent reports for problems that are located in the <strong>area covered</strong>.\n"
" A body will not receive any reports unless it covers at least one area."
@@ -3990,8 +4084,9 @@ msgstr "Cet email a été envoyé aux deux administrations couvrant l'emplacemen
msgid "This email has been sent to several councils covering the location of the problem, as the category selected is provided for all of them; please ignore it if you're not the correct council to deal with the issue."
msgstr "Cet email a été envoyé à plus d'une administration couvrant l'emplacement du problème, la catégorie de problème choisie par l'utilisateur étant présente pour chacune d'entre elles ; ignorez-le s'il vous plaît si vous n'êtes pas l'administration responsable pour la question."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:881
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:925
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1017
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:910
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:954
#: perllib/FixMyStreet/App/Controller/Report/New.pm:971
#: perllib/FixMyStreet/Cobrand/UK.pm:45
msgid "This information is required"
@@ -4001,46 +4096,41 @@ msgstr "Ces renseignements sont nécessaires"
msgid "This is a developer site; things might break at any time, and the database will be periodically deleted."
msgstr "Ceci est un site en développement, le service peut être interrompu à tout moment, et la base de données sera régulièrement effacée."
-#: templates/web/base/reports/index.html:10
-msgid "This is a summary of all reports on this site."
-msgstr "Ceci est un résumé de tous les rapports pour ce site."
-
-#: templates/web/base/report/new/form_report.html:56
+#: templates/web/base/report/new/form_report.html:58
msgid "This pothole has been here for two months and…"
msgstr "Ce nid de poule est ici depuis deux mois et ..."
-#: templates/web/base/report/update/form_update.html:63
+#: templates/web/base/report/update/form_update.html:55
msgid "This problem has been fixed"
msgstr "Ce problème a été résolu"
-#: templates/web/base/report/update/form_update.html:56
+#: templates/web/base/report/update/form_update.html:48
msgid "This problem has not been fixed"
msgstr "Ce problème n'a pas été résolu"
-#: templates/web/base/report/update/form_update.html:54
-#, fuzzy
+#: templates/web/base/report/update/form_update.html:46
msgid "This problem is still ongoing"
-msgstr "Ce problème n'a pas été résolu"
+msgstr ""
#: templates/web/base/report/duplicate-no-updates.html:3
msgid "This report is a duplicate. Please leave updates on the original report:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:161
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:162
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:166
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:167
#: templates/web/zurich/report/_main.html:14
msgid "This report is awaiting moderation."
msgstr "Ce rapport attend une modération."
-#: perllib/FixMyStreet/Script/Alerts.pm:101
+#: perllib/FixMyStreet/Script/Alerts.pm:98
msgid "This report is currently marked as closed."
msgstr "Ce rapport est actuellement marqué comme fermé."
-#: perllib/FixMyStreet/Script/Alerts.pm:99
+#: perllib/FixMyStreet/Script/Alerts.pm:96
msgid "This report is currently marked as fixed."
msgstr "Ce rapport est actuellement marqué comme résolu."
-#: perllib/FixMyStreet/Script/Alerts.pm:103
+#: perllib/FixMyStreet/Script/Alerts.pm:100
msgid "This report is currently marked as open."
msgstr "Ce rapport est actuellement marqué comme ouvert."
@@ -4059,7 +4149,7 @@ msgstr "Cette page Web contient également une photo du problème, fournie par l
msgid "Time spent (in minutes):"
msgstr "Le temps passé (en minutes):"
-#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Default.pm:638
#: templates/web/base/admin/timeline.html:1
msgid "Timeline"
msgstr "Chronologie"
@@ -4088,10 +4178,26 @@ msgstr "Pour savoir quelles sont les alertes locales pour vous, s'il vous plaît
msgid "To find out what local alerts we have for you, please enter your postcode or street name and area"
msgstr "Pour afficher les alertes qui vous concernent, saisissez votre code postal ou le nom d'une rue et une localité"
+#: templates/web/base/admin/reportextrafields/edit.html:19
+msgid "To limit this collection of fields to a single cobrand, select it here."
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:40
+msgid "To limit this collection of fields to a single language, select it here."
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:95
msgid "To view a map of the precise location of this issue"
msgstr "Pour voir une carte de l'emplacement précis de ce problème"
+#: templates/web/base/reports/index.html:97
+msgid "Top 5 most used categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:83
+msgid "Top 5 responsive councils"
+msgstr ""
+
#: templates/web/base/admin/questionnaire.html:24
#: templates/web/base/admin/stats.html:24
#: templates/web/base/admin/stats.html:43
@@ -4105,9 +4211,8 @@ msgid "Total marked"
msgstr ""
#: templates/web/base/dashboard/index.html:71
-#, fuzzy
msgid "Total marked as fixed"
-msgstr "marqué(s) comme réglé(s)"
+msgstr ""
#: templates/web/base/dashboard/index.html:125
msgid "Total not marked"
@@ -4118,16 +4223,24 @@ msgstr ""
msgid "Total reports received"
msgstr ""
-#: templates/web/base/report/_inspect.html:124
-#: templates/web/base/report/_item.html:102
+#: templates/web/base/report/_inspect.html:134
+#: templates/web/base/report/_item.html:104
msgid "Traffic management required?"
msgstr "La gestion du trafic est nécessaire ?"
+#: templates/web/base/admin/_translations.html:7
+msgid "Translation"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:2
+msgid "Translations"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:111
msgid "Trusted by bodies:"
msgstr "Accrédité par les organismes:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:721
+#: perllib/FixMyStreet/Cobrand/Default.pm:726
msgid "Trusted to make reports that don't need to be inspected"
msgstr "Accrédité pour faire des rapports sans être inspectés"
@@ -4143,8 +4256,14 @@ msgstr "Essayez à nouveau"
msgid "Try emailing us directly:"
msgstr "Essayez en nous envoyant un e-mail directement:"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:21
+#: templates/web/base/admin/extra-metadata-form.html:44
+#: templates/web/base/admin/states/index.html:10
+#: templates/web/base/admin/states/index.html:100
+msgid "Type"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:59
+#: templates/web/base/admin/contact-form.html:55
#: templates/web/base/admin/update_edit.html:30
#: templates/web/zurich/admin/report_edit-sdm.html:66
#: templates/web/zurich/admin/report_edit.html:94
@@ -4152,7 +4271,6 @@ msgstr "Essayez en nous envoyant un e-mail directement:"
msgid "Unconfirmed"
msgstr "Non confirmé"
-#: templates/web/base/reports/_list-filters.html:12
#: templates/web/base/reports/_list-filters.html:5
msgid "Unfixed reports"
msgstr "rapports non résolus"
@@ -4166,26 +4284,26 @@ msgid "Unknown alert type"
msgstr "Type d'alerte inconnu"
#: perllib/FixMyStreet/App/Controller/Photo.pm:109
-#: perllib/FixMyStreet/App/Controller/Root.pm:124
+#: perllib/FixMyStreet/App/Controller/Root.pm:141
#: templates/web/base/js/translation_strings.html:38
msgid "Unknown error"
msgstr "erreur inconnue"
-#: perllib/FixMyStreet/App/Controller/Report.pm:115
+#: perllib/FixMyStreet/App/Controller/Report.pm:112
+#: perllib/FixMyStreet/App/Controller/Report.pm:118
#: perllib/FixMyStreet/App/Controller/Report.pm:121
-#: perllib/FixMyStreet/App/Controller/Report.pm:124
msgid "Unknown problem ID"
msgstr "ID de problème inconnu"
#: templates/web/base/reports/_list-filters.html:10
-#, fuzzy
msgid "Unshortlisted"
-msgstr "Shortlisté"
+msgstr ""
-#: templates/web/base/report/_item.html:24
+#: templates/web/base/report/_item.html:26
msgid "Up one"
msgstr ""
+#: templates/web/base/admin/states/index.html:76
#: templates/web/base/report/update/form_update.html:29
msgid "Update"
msgstr "Mise à jour"
@@ -4202,7 +4320,7 @@ msgstr "Mise à jour ci-dessous ajoutée anonymement à %s"
msgid "Update below added by %s at %s"
msgstr "Mise à jour ci-dessous ajoutée par %s à %s"
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Update body"
msgstr "Interlocuteur pour la mise à jour "
@@ -4238,13 +4356,23 @@ msgstr "Mettre à jour les statuts"
msgid "Updated"
msgstr "Mis à jour"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1157
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1221
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1384
-#: perllib/FixMyStreet/App/Controller/Admin.pm:822
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:762
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:787
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:857
+#: perllib/FixMyStreet/DB/Result/Comment.pm:249
+#, fuzzy
+msgid "Updated by <strong>%s</strong> (%s) at %s"
+msgstr "Envoyé par <strong>%s</strong> (%s) à %s"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:251
+#, fuzzy
+msgid "Updated by <strong>%s</strong> at %s"
+msgstr "Envoyé par <strong>%s</strong> à %s"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1262
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1326
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1489
+#: perllib/FixMyStreet/App/Controller/Admin.pm:910
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:767
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:792
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:862
msgid "Updated!"
msgstr "Mis à jour !"
@@ -4254,7 +4382,7 @@ msgstr "Mis à jour !"
msgid "Updates"
msgstr "Mises à jour"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:133
+#: perllib/FixMyStreet/DB/Result/Comment.pm:134
msgid "Updates are limited to %s characters in length. Please shorten your update"
msgstr "Les mises à jour sont limitées à %s caractères de long. Merci de raccourcir votre texte"
@@ -4268,11 +4396,22 @@ msgstr "Mises à jour sur {{title}}"
msgid "Updates to this problem, %s"
msgstr "Mises à jour de ce problème, %s"
+#: templates/web/base/admin/contact-form.html:43
+#: templates/web/base/admin/contact-form.html:44
+msgid ""
+"Use <strong>confirmed</strong> to indicate that this contact has been\n"
+"confirmed as correct. If you are not sure of the origin or validity of the\n"
+"contact, use <strong>unconfirmed</strong>. <strong>inactive</strong> will\n"
+"remove the category from use when reporting problems, but keep it available in\n"
+"map filters, and <strong>deleted</strong> will remove the category from there\n"
+"as well."
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:65
msgid "Use Open311 update-sending extension"
msgstr "Utiliser l'extension de mise à jour d'envoi Open311"
-#: templates/web/base/admin/contact-form.html:124
+#: templates/web/base/admin/contact-form.html:125
msgid "Use this field to record details that are only displayed in the admin. Input is not shown publicly, and is not sent to the body."
msgstr "Utilisez ce champ pour enregistrer les détails qui sont affichés uniquement dans le portail d'admin du site. L'entrée n'est pas affichée publiquement, et n'est pas envoyée à l'administration."
@@ -4285,27 +4424,26 @@ msgstr "Carte utilisée"
msgid "User ID to attribute fetched comments to"
msgstr "ID utilisateur de récupération des commentaires à"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1700
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1805
msgid "User flag removed"
msgstr "Utilisateur dé–signalé"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1672
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1777
msgid "User flagged"
msgstr "Utilisateur signalé"
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:58
-#, fuzzy
msgid "User has marked as fixed"
-msgstr "marqué(s) comme réglé(s)"
+msgstr ""
#: templates/web/base/admin/users.html:5
msgid "User search finds matches in users' names and email addresses."
msgstr "La recherche utilisateurs parcourt les noms et adresses courriel."
#: perllib/FixMyStreet/Cobrand/Default.pm:669
-#: perllib/FixMyStreet/Cobrand/Default.pm:723
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
+#: perllib/FixMyStreet/Cobrand/Default.pm:728
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:403
#: templates/web/base/admin/flagged.html:29 templates/web/zurich/header.html:61
msgid "Users"
msgstr "Utilisateurs"
@@ -4314,9 +4452,9 @@ msgstr "Utilisateurs"
msgid "Users can perform the following actions within their assigned body or area."
msgstr "Les utilisateurs peuvent effectuer les actions suivantes concernant leur administration ou dans la zone affectée."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:400
-#: perllib/FixMyStreet/App/Controller/Admin.pm:430
-#: perllib/FixMyStreet/App/Controller/Admin.pm:448
+#: perllib/FixMyStreet/App/Controller/Admin.pm:381
+#: perllib/FixMyStreet/App/Controller/Admin.pm:417
+#: perllib/FixMyStreet/App/Controller/Admin.pm:439
msgid "Values updated"
msgstr "Valeurs mises à jour"
@@ -4363,7 +4501,7 @@ msgstr "Nous avons trouvé plus d'une correspondance pour cet endroit. Nous mont
msgid "We found more than one match for that problem reference:"
msgstr "Nous avons trouvé plus d'une correspondance pour cette référence de problème :"
-#: templates/web/base/auth/general.html:6
+#: templates/web/base/auth/general.html:8
#: templates/web/base/report/display.html:35
#: templates/web/base/report/new/oauth_email_form.html:5
msgid "We need your email address, please give it below."
@@ -4398,7 +4536,7 @@ msgstr "Nous reviendrons vers vous dès que nous le pouvons."
msgid "What was your experience of getting the problem fixed?"
msgstr "Quelle a été votre expérience concernant la résolution du problème?"
-#: templates/web/base/admin/category_edit.html:52
+#: templates/web/base/admin/category_edit.html:27
#: templates/web/zurich/admin/body.html:18
msgid "When edited"
msgstr "Édité le"
@@ -4407,11 +4545,19 @@ msgstr "Édité le"
msgid "When sent"
msgstr "Envoyé le"
-#: templates/web/base/report/_inspect.html:89
+#: templates/web/base/admin/extra-metadata-form.html:18
+msgid "Whether the user is required to provide a value for this field."
+msgstr ""
+
+#: templates/web/base/alert/_list.html:9
+msgid "Which problems do you want alerts about?"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:99
msgid "Which report is it a duplicate of?"
msgstr ""
-#: templates/web/base/js/translation_strings.html:54
+#: templates/web/base/js/translation_strings.html:57
msgid "Whoa there Testino! Three photos are enough."
msgstr "Trois photos suffisent."
@@ -4419,8 +4565,8 @@ msgstr "Trois photos suffisent."
msgid "Why stop there? <a href=\"/alert\">Set up more alerts</a> for free."
msgstr "Pourquoi arrêter là ? <a href=\"/alert\"> déclarer plus d&rsquo;alertes </a> gratuitement."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:185
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:190
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:14
msgid "Wish"
@@ -4430,7 +4576,7 @@ msgstr "Souhait"
msgid "With request searches, it is also possible to search for agency_responsible to limit the requests to those sent to a single administration. The search term is the administration ID provided by <a href=\"%s\">MaPit</a>."
msgstr "Avec les recherches à requètes, il est également possible de rechercher des agency_responsible pour limiter les demandes à celles qui sont envoyées à une administration unique. Le terme de recherche est l'ID de l'administration fourni par <a href=\"%s\">MapIt</a>."
-#: templates/web/base/front/footer-marketing.html:17
+#: templates/web/base/front/footer-marketing.html:3
msgid "Would you like to contribute to FixMyStreet? Our code is open source and <a href=\"http://fixmystreet.org\">available at fixmystreet.org</a>."
msgstr "Aimeriez-vous contribuer à FixMyStreet? Notre code est open source et <a href=\"http://fixmystreetf.org\"> disponible sur fixmystreet.org </a>"
@@ -4455,23 +4601,22 @@ msgstr ""
msgid "Year"
msgstr "Année"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1202
+#: perllib/FixMyStreet/Cobrand/Default.pm:1236
#: templates/web/base/admin/bodies.html:70
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
#: templates/web/base/admin/category_edit.html:5
#: templates/web/base/admin/flagged.html:47
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:136
+#: templates/web/base/admin/report_edit.html:124
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:25
#: templates/web/base/admin/users.html:32
#: templates/web/base/questionnaire/creator_fixed.html:14
#: templates/web/base/questionnaire/index.html:104
#: templates/web/base/questionnaire/index.html:53
+#: templates/web/base/report/_inspect.html:90
msgid "Yes"
msgstr "Oui"
@@ -4484,7 +4629,7 @@ msgstr "Oui j'ai un mot de passe"
msgid "You are complaining that this problem report was unnecessarily moderated:"
msgstr "Vous ne comprenez pas les raisons pour lesquelles ce rapport a été inutilement retiré:"
-#: templates/web/base/js/translation_strings.html:70
+#: templates/web/base/js/translation_strings.html:73
msgid "You are offline"
msgstr ""
@@ -4505,7 +4650,11 @@ msgstr "Vous pouvez <a href=\"%s%s\">consulter le problème sur ce site</a>."
msgid "You can add an abusive user's email to the abuse list, which automatically hides (and never sends) reports they create."
msgstr "Vous pouvez ajouter un courriel d'utilisateur abusif dans la liste des abus, qui cache automatiquement (et n'envoie jamais) les rapports qu'ils crèent."
-#: templates/web/base/contact/index.html:111
+#: templates/web/base/alert/_list.html:18
+msgid "You can choose to subscribe to all problems reported in an area, or reports based on their destination."
+msgstr ""
+
+#: templates/web/base/contact/index.html:115
msgid "You can contact technical support on <a href='mailto:%s'>%s</a>"
msgstr "Vous pouvez contacte le support technique par le courriel <a href='mailto:%s'>%s</a>"
@@ -4526,7 +4675,7 @@ msgstr ""
msgid "You can help us by finding a contact email address for local problems for %s and emailing it to us at <a href='mailto:%s'>%s</a>."
msgstr "Vous pouvez nous aider en trouvant une adresse e-mail de contact pour les problèmes locaux pour %s et en nous l'envoyant à <a href='mailto:%s'>%s</a>."
-#: templates/web/base/admin/body-form.html:91
+#: templates/web/base/admin/body-form.html:93
msgid "You can mark a body as deleted if you do not want it to be active on the site."
msgstr "Vous pouvez marqué un interlocuteur comme supprimé si vous ne voulez pas qu'il soit actif sur le site."
@@ -4534,7 +4683,7 @@ msgstr "Vous pouvez marqué un interlocuteur comme supprimé si vous ne voulez p
msgid "You declined; please fill in the box above"
msgstr "Vous avez refusé; merci de remplir le champ ci-dessus"
-#: templates/web/base/js/translation_strings.html:72
+#: templates/web/base/js/translation_strings.html:75
msgid "You have <a id=\"oFN\" href=\"\"><span>%s</span> saved to submit</a>."
msgstr ""
@@ -4542,7 +4691,7 @@ msgstr ""
msgid "You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"
msgstr "Vous avez déjà répondu à ce questionnaire. Si vous avez une question, <a href='%s'>entrez en contact avec nous</a>, ou <a href='%s'>affichez votre problème</a>.\n"
-#: templates/web/base/report/new/form_report.html:37
+#: templates/web/base/report/new/form_report.html:39
#: templates/web/zurich/report/new/fill_in_details_form.html:30
msgid "You have already attached photos to this report. Note that you can attach a maximum of 3 to this report (if you try to upload more, the oldest will be removed)."
msgstr "Vous avez déjà joint les photos de ce rapport. Notez que vous pouvez joindre un maximum de 3 photos par déclaration (si vous en télécharger plus, le plus ancien est supprimé)."
@@ -4600,10 +4749,9 @@ msgstr "Vos rapports"
msgid "Your account"
msgstr "Votre compte"
-#: templates/web/base/alert/_list.html:90
#: templates/web/base/alert/updates.html:19
#: templates/web/base/alert/updates.html:22
-#: templates/web/base/contact/index.html:81
+#: templates/web/base/contact/index.html:80
#: templates/web/base/report/display_tools.html:46
#: templates/web/base/report/display_tools.html:49
#: templates/web/base/report/new/form_user_loggedout_email.html:1
@@ -4613,7 +4761,7 @@ msgid "Your email"
msgstr "Votre email"
#: templates/web/base/auth/change_email.html:9
-#: templates/web/base/auth/general.html:55
+#: templates/web/base/auth/general.html:57
#: templates/web/base/report/update/form_user_loggedout_email.html:5
#: templates/web/zurich/auth/general.html:30
#: templates/web/zurich/auth/general.html:58
@@ -4624,21 +4772,32 @@ msgstr "Votre adresse email"
msgid "Your information will only be used in accordance with our <a href=\"/privacy\">privacy policy</a>"
msgstr "Votre information sera utilisée seulement en accord avec notre <a href=\"/privacy\">politique de confidentialité</a>"
-#: templates/web/base/auth/general.html:107
+#: templates/web/base/auth/general.html:109
#: templates/web/base/contact/index.html:74
#: templates/web/base/report/new/form_user_loggedout_by_email.html:17
-#: templates/web/base/report/update/form_name.html:29
+#: templates/web/base/report/update/form_name.html:33
#: templates/web/zurich/auth/general.html:61
#: templates/web/zurich/report/new/fill_in_details_form.html:63
msgid "Your name"
msgstr "Votre nom"
-#: templates/web/base/js/translation_strings.html:62
-#, fuzzy
+#: templates/web/base/my/anonymize.html:13
+msgid "Your name has already been sent to %s, but we can hide it on this page:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:264
+msgid "Your name has been hidden from all your reports and updates."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:260
+msgid "Your name has been hidden."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:65
msgid "Your offline reports"
-msgstr "Vos rapports"
+msgstr ""
-#: templates/web/base/auth/general.html:85
+#: templates/web/base/auth/general.html:87
#: templates/web/base/report/new/form_user_loggedout_password.html:10
#: templates/web/base/report/update/form_user_loggedout_password.html:9
#: templates/web/zurich/auth/general.html:34
@@ -4649,6 +4808,7 @@ msgstr "Votre mot de passe"
msgid "Your password has been changed"
msgstr "Votre mot de passe a été changé"
+#: templates/web/base/contact/index.html:87
#: templates/web/base/report/new/form_user_loggedout_by_email.html:26
#: templates/web/zurich/report/new/fill_in_details_form.html:69
msgid "Your phone number"
@@ -4667,7 +4827,7 @@ msgstr "Vos rapports"
msgid "Your shortlist"
msgstr "Votre liste"
-#: templates/web/base/js/translation_strings.html:63
+#: templates/web/base/js/translation_strings.html:66
msgid "Your update has been saved offline for submission when back online."
msgstr ""
@@ -4675,8 +4835,8 @@ msgstr ""
msgid "Your updates"
msgstr "Vos mises à jour"
-#: templates/web/base/report/new/form_user_loggedin.html:18
-#: templates/web/base/report/update/form_name.html:11
+#: templates/web/base/report/new/form_user_loggedin.html:19
+#: templates/web/base/report/update/form_name.html:12
msgid "Yourself"
msgstr "Vous"
@@ -4685,14 +4845,14 @@ msgstr "Vous"
msgid "all"
msgstr "Tous"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:259
+msgid "and a defect raised"
+msgstr ""
+
#: templates/web/base/admin/timeline.html:4
msgid "by %s"
msgstr "par %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:290
-msgid "closed as a duplicate report"
-msgstr "rapport marqué comme dupliqué"
-
#: templates/web/base/reports/body.html:6
#: templates/web/base/reports/body.html:7
msgid "council"
@@ -4717,7 +4877,7 @@ msgstr "saisissez l'utilisateur"
msgid "from %s different users"
msgstr "de %s utilisateurs différents"
-#: templates/web/base/report/_item.html:61
+#: templates/web/base/report/_item.html:63
#: templates/web/zurich/report/_item.html:14
msgid "last updated %s"
msgstr "dernière mise à jour %s"
@@ -4726,44 +4886,7 @@ msgstr "dernière mise à jour %s"
msgid "less than a minute"
msgstr "moins d'une minute"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:280
-msgid "marked as action scheduled"
-msgstr "action marquée comme établie"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:292
-msgid "marked as an internal referral"
-msgstr "marqué comme une référence interne"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:282
-msgid "marked as closed"
-msgstr "marqué comme terminé"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:263
-#: perllib/FixMyStreet/DB/Result/Comment.pm:284
-msgid "marked as fixed"
-msgstr "marqué(s) comme réglé(s)"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:278
-msgid "marked as in progress"
-msgstr "marqué comme en cours"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:274
-msgid "marked as investigating"
-msgstr "marqué comme en cours d'investigation"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:286
-msgid "marked as no further action"
-msgstr "marqué comme impossible à résoudre"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:288
-msgid "marked as not the council's responsibility"
-msgstr "marqué comme n'étant pas de la responsabilité de la commune"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:276
-msgid "marked as planned"
-msgstr "marqué comme planifié"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:122
+#: perllib/FixMyStreet/App/Controller/Admin.pm:119
#: templates/web/base/admin/questionnaire.html:15
#: templates/web/base/admin/questionnaire.html:16
msgid "n/a"
@@ -4774,13 +4897,10 @@ msgstr "s.o."
msgid "none"
msgstr "aucun"
-#: templates/web/base/admin/category_edit.html:35
-msgid "optional"
-msgstr "optionnel"
-
-#: templates/web/base/alert/_list.html:86
-msgid "or"
-msgstr " ou "
+#: perllib/FixMyStreet/DB/Result/Comment.pm:278
+#, fuzzy
+msgid "not the council's responsibility"
+msgstr "marqué comme n'étant pas de la responsabilité de la commune"
#: templates/web/base/js/translation_strings.html:27
msgid "or locate me automatically"
@@ -4805,16 +4925,7 @@ msgstr "saisi initialement: &ldquo;%s&rdquo;"
msgid "other areas:"
msgstr "autres lieux:"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:265
-#: perllib/FixMyStreet/DB/Result/Comment.pm:271
-msgid "reopened"
-msgstr "réouvert"
-
-#: templates/web/base/admin/category_edit.html:35
-msgid "required"
-msgstr "obligatoire"
-
-#: templates/web/zurich/footer.html:13
+#: templates/web/zurich/footer.html:12
msgid "sign out"
msgstr "déconnexion"
@@ -4822,11 +4933,16 @@ msgstr "déconnexion"
msgid "the local council"
msgstr "L'administration locale"
-#: templates/web/base/report/_report_meta_info.html:2
+#: templates/web/base/report/_report_meta_info.html:5
#: templates/web/zurich/report/_main.html:5
msgid "there is no pin shown as the user did not use the map"
msgstr "Il n'y a aucune épingle affichée parce que l'utilisateur n'a pas utilisé la carte"
+#: templates/web/base/alert/_list.html:1
+#, fuzzy
+msgid "this location"
+msgstr "Consultation d'un lieu"
+
#: perllib/FixMyStreet/Script/Reports.pm:184
msgid "this type of local problem"
msgstr "Ce type de problème local"
@@ -4835,15 +4951,13 @@ msgstr "Ce type de problème local"
msgid "today"
msgstr "aujourd'hui"
-#: templates/web/base/js/translation_strings.html:73
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:76
msgid "update"
-msgstr "Mise à jour"
+msgstr ""
-#: templates/web/base/js/translation_strings.html:74
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:77
msgid "updates"
-msgstr "Mises à jour"
+msgstr ""
#: templates/web/base/admin/report_edit.html:52
msgid "used map"
@@ -4863,11 +4977,11 @@ msgid "ward"
msgstr "localité"
#: templates/web/base/admin/bodies.html:56
-#, fuzzy, perl-format
+#, perl-format
msgid "%d address"
msgid_plural "%d addresses"
-msgstr[0] "Adresse e-mail"
-msgstr[1] "Adresse e-mail"
+msgstr[0] ""
+msgstr[1] ""
#: perllib/Utils.pm:250
#, perl-format
@@ -4891,11 +5005,11 @@ msgstr[0] "%d minute"
msgstr[1] "%d minutes"
#: perllib/Utils.pm:246
-#, fuzzy, perl-format
+#, perl-format
msgid "%d month"
msgid_plural "%d months"
-msgstr[0] "%d minute"
-msgstr[1] "%d minutes"
+msgstr[0] ""
+msgstr[1] ""
#: templates/web/base/report/_support.html:6
#, perl-format
@@ -4918,6 +5032,41 @@ msgid_plural "%d years"
msgstr[0] ""
msgstr[1] ""
+#: templates/web/base/reports/index.html:92
+#, perl-format
+msgid "%s day"
+msgid_plural "%s days"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:55
+#, perl-format
+msgid "%s problem marked as fixed"
+msgid_plural "%s problems marked as fixed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:43
+#, perl-format
+msgid "%s problem reported"
+msgid_plural "%s problems reported"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:107
+#, perl-format
+msgid "%s report"
+msgid_plural "%s reports"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:49
+#, perl-format
+msgid "%s update on problems"
+msgid_plural "%s updates on problems"
+msgstr[0] ""
+msgstr[1] ""
+
#: templates/web/base/front/stats.html:19
#, perl-format
msgid "<big>%s</big> fixed in past month"
@@ -4946,12 +5095,12 @@ msgid_plural "<big>%s</big> updates on reports"
msgstr[0] "<big>%s</big> mise à jour de rapport"
msgstr[1] "<big>%s</big> mises à jour de rapports"
-#: templates/web/base/report/_item.html:49
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:51
+#, perl-format
msgid "Reported %d day ago"
msgid_plural "Reported %d days ago"
-msgstr[0] "Signalé par %s à %s"
-msgstr[1] "Signalé par %s à %s"
+msgstr[0] ""
+msgstr[1] ""
#: templates/web/base/report/new/top_message_some.html:3
#, perl-format
@@ -4967,49 +5116,125 @@ msgid_plural "We do not yet have details for the councils that cover this locati
msgstr[0] "Nous n'avons pas encore de détails pour l'administration responsable de ce lieu."
msgstr[1] "Nous n'avons pas encore de détails pour les administrations responsables de ce lieu."
-#: templates/web/base/report/_item.html:59
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:61
+#, perl-format
msgid "last updated %d day ago"
msgid_plural "last updated %d days ago"
-msgstr[0] "dernière mise à jour %s"
-msgstr[1] "dernière mise à jour %s"
+msgstr[0] ""
+msgstr[1] ""
#: templates/email/oxfordshire/archive.txt:9
-#, fuzzy, perl-format
+#, perl-format
msgid "report"
msgid_plural "reports"
-msgstr[0] "Rapport"
-msgstr[1] "Rapport"
+msgstr[0] ""
+msgstr[1] ""
-#, fuzzy
-#~ msgid "All inspectors"
-#~ msgstr "Toutes catégories"
+#~ msgid ""
+#~ "%s sends different categories of problem\n"
+#~ "to the appropriate council, so problems within the boundary of a particular council\n"
+#~ "might not match the problems sent to that council. For example, a graffiti report\n"
+#~ "will be sent to the district council, so will appear in both of the district\n"
+#~ "council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
+#~ "for the county council."
+#~ msgstr ""
+#~ "%s envoie différentes catégories de problèmes \n"
+#~ "à l'administration appropriée. Les problèmes situés sur le territoire d'une administration pourraient ne pas correspondre aux problèmes envoyés à cette administration.\n"
+#~ " Par exemple, un rapport graffiti sera envoyé à l'administration\n"
+#~ " de district, et apparaîtrait dans les deux administrations."
-#, fuzzy
-#~ msgid "External ID:"
-#~ msgstr "ID externe"
+#~ msgid "%s ward, %s"
+#~ msgstr "Localité %s, %s"
-#, fuzzy
-#~ msgid "Inspector:"
-#~ msgstr "inspection requise"
+#~ msgid "%s, within %s ward"
+#~ msgstr "%s, dans la localité %s"
-#, fuzzy
-#~ msgid "Report category:"
-#~ msgstr "Éditer la catégorie des rapports"
+#~ msgid "(alternatively the RSS feed can be customised, within %s)"
+#~ msgstr "(alternativement le flux RSS peut être personnalisé, dans %s)"
-#, fuzzy
-#~ msgid "Reported %d days ago"
-#~ msgstr "Signalé par %s à %s"
+#~ msgid "-- Pick a property type --"
+#~ msgstr "-- Choisissez un type de propriété --"
-#, fuzzy
-#~ msgid "last updated %d days ago"
-#~ msgstr "dernière mise à jour %s"
+#~ msgid "Closed reports"
+#~ msgstr "rapports fermés"
+
+#~ msgid "Closed:"
+#~ msgstr "Clos :"
+
+#~ msgid "Duplicate"
+#~ msgstr "Dupliqué"
+
+#~ msgid "Fixed reports"
+#~ msgstr "rapports résolus"
+
+#~ msgid "Fixed:"
+#~ msgstr "Résolu :"
+
+#~ msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
+#~ msgstr "Voici les types de problèmes locaux pour « %s »."
+
+#~ msgid "In Progress"
+#~ msgstr "En cours"
+
+#~ msgid "Internal referral"
+#~ msgstr "Référence interne"
+
+#~ msgid "Investigating"
+#~ msgstr "En examen"
+
+#~ msgid "No further action"
+#~ msgstr "Ne peut être résolu"
+
+#~ msgid "Not Responsible"
+#~ msgstr "Pas responsable"
+
+#~ msgid "Or problems reported to:"
+#~ msgstr "Ou problèmes signalés à :"
+
+#~ msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
+#~ msgstr "Ou vous pouvez vous abonner à une alerte en fonction de la commune dans laquelle vous êtes :"
+
+#~ msgid "Please choose a property type"
+#~ msgstr "Merci de choisir un type de propriété"
+
+#~ msgid "Problems within the boundary of:"
+#~ msgstr "Problèmes à l'intérieur des limites de :"
+
+#~ msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
+#~ msgstr "Sélectionnez le type d'alerte que vous souhaitez et cliquez sur le bouton pour obtenir un flux RSS ou entrez votre adresse e-mail pour vous abonner à une alerte email."
+
+#~ msgid "The simplest alert is our geographic one:"
+#~ msgstr "La plus simple de nos alertes est la géographique :"
+
+#~ msgid "closed as a duplicate report"
+#~ msgstr "rapport marqué comme dupliqué"
+
+#~ msgid "marked as action scheduled"
+#~ msgstr "action marquée comme établie"
+
+#~ msgid "marked as an internal referral"
+#~ msgstr "marqué comme une référence interne"
+
+#~ msgid "marked as closed"
+#~ msgstr "marqué comme terminé"
+
+#~ msgid "marked as fixed"
+#~ msgstr "marqué(s) comme réglé(s)"
+
+#~ msgid "marked as in progress"
+#~ msgstr "marqué comme en cours"
+
+#~ msgid "marked as investigating"
+#~ msgstr "marqué comme en cours d'investigation"
+
+#~ msgid "marked as no further action"
+#~ msgstr "marqué comme impossible à résoudre"
-#~ msgid "Reports from users with high enough reputation will be sent immediately without requiring inspection. Each category's threshold can be managed on its edit page. Users earn reputation when a report they have made is marked as inspected by inspectors."
-#~ msgstr "les rapports des utilisateurs ayant une réputation élevée seront envoyés immédiatement sans exiger l'inspection. le seuil de chaque catégorie peut être géré sur sa page d'édition. Les utilisateurs gagnent en réputation quand un rapport qu'ils ont fait est marqué comme inspectés par les inspecteurs."
+#~ msgid "marked as planned"
+#~ msgstr "marqué comme planifié"
-#~ msgid "Reputation:"
-#~ msgstr "Réputation :"
+#~ msgid "or"
+#~ msgstr " ou "
-#~ msgid "Cancel"
-#~ msgstr "Annuler"
+#~ msgid "reopened"
+#~ msgstr "réouvert"
diff --git a/locale/he_IL.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/he_IL.UTF-8/LC_MESSAGES/FixMyStreet.po
index 7a7c0a274..8275a2d69 100644
--- a/locale/he_IL.UTF-8/LC_MESSAGES/FixMyStreet.po
+++ b/locale/he_IL.UTF-8/LC_MESSAGES/FixMyStreet.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
-"POT-Creation-Date: 2017-03-30 17:33+0100\n"
+"POT-Creation-Date: 2017-09-13 15:40+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: mySociety <transifex@mysociety.org>, 2016\n"
+"Last-Translator: mySociety <transifex@mysociety.org>, 2017\n"
"Language-Team: Hebrew (Israel) (https://www.transifex.com/mysociety/teams/12067/he_IL/)\n"
"Language: he_IL\n"
"MIME-Version: 1.0\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:695
+#: perllib/FixMyStreet/DB/Result/Problem.pm:632
#: perllib/FixMyStreet/Script/Reports.pm:197
msgid " and "
msgstr ""
@@ -91,25 +91,6 @@ msgstr ""
msgid "%s ref:&nbsp;%s"
msgstr ""
-#. ("%s is the site name")
-#: templates/web/base/alert/_list.html:74
-msgid ""
-"%s sends different categories of problem\n"
-"to the appropriate council, so problems within the boundary of a particular council\n"
-"might not match the problems sent to that council. For example, a graffiti report\n"
-"will be sent to the district council, so will appear in both of the district\n"
-"council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
-"for the county council."
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:257 perllib/FixMyStreet/Cobrand/UK.pm:269
-msgid "%s ward, %s"
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
-msgid "%s, within %s ward"
-msgstr ""
-
#: perllib/FixMyStreet/Map/OSM.pm:38
msgid "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"
msgstr ""
@@ -118,7 +99,7 @@ msgstr ""
msgid "(Defect &amp; location of defect)"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
#: templates/web/base/admin/users.html:32
msgid "(Email in abuse table)"
msgstr ""
@@ -133,28 +114,35 @@ msgstr ""
msgid "(No phone number)"
msgstr ""
-#: templates/web/base/alert/_list.html:25
-msgid "(a default distance which covers roughly 200,000 people)"
-msgstr ""
-
-#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
-#: templates/web/base/alert/_list.html:30
-msgid "(alternatively the RSS feed can be customised, within %s)"
+#: templates/web/base/admin/states/index.html:95
+msgid "(a-z and space only)"
msgstr ""
#: templates/web/zurich/report/_item.html:19
msgid "(closed)"
msgstr ""
+#: templates/web/base/alert/_list.html:30
+msgid "(covers roughly 200,000 people)"
+msgstr ""
+
#: templates/web/zurich/report/_item.html:17
msgid "(fixed)"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "(ignored if type is \"String\")"
+msgstr ""
+
#: templates/web/base/around/intro.html:2
msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
msgstr ""
-#: templates/web/base/report/_item.html:68
+#: templates/web/base/reports/index.html:69
+msgid "(no longer exists)"
+msgstr ""
+
+#: templates/web/base/report/_item.html:70
msgid "(not sent to council)"
msgstr ""
@@ -162,18 +150,19 @@ msgstr ""
msgid "(optional)"
msgstr ""
-#: templates/web/base/report/_item.html:67
+#: templates/web/base/report/_item.html:69
msgid "(sent to both)"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:239
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/DB/Result/Problem.pm:454
-msgid "-- Pick a category --"
+#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
+#: templates/web/base/alert/_list.html:36
+msgid "(we also have RSS feeds for problems within %s)"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:460
-msgid "-- Pick a property type --"
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:245
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:381
+msgid "-- Pick a category --"
msgstr ""
#: templates/web/base/admin/response_templates_select.html:3
@@ -184,16 +173,16 @@ msgstr ""
msgid "10 inch pothole on Example St, near post box"
msgstr ""
-#: templates/web/base/dashboard/index.html:152
+#: templates/web/base/dashboard/index.html:153
msgid "14-30 days old"
msgstr ""
-#: templates/web/base/dashboard/index.html:151
+#: templates/web/base/dashboard/index.html:152
msgid "7-14 days old"
msgstr ""
-#: templates/web/base/admin/body-form.html:48
-#: templates/web/base/admin/body-form.html:49
+#: templates/web/base/admin/body-form.html:50
+#: templates/web/base/admin/body-form.html:51
msgid ""
"<code>MAPIT_URL</code> is set (<code>%s</code>) but no <code>MAPIT_TYPES</code>.<br>\n"
" This is probably why \"area covered\" is empty (below).<br>\n"
@@ -204,13 +193,12 @@ msgstr ""
msgid "<h2>Reports, Statistics and Actions for</h2> <h1>%s</h1>"
msgstr ""
-#. ('The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories')
#. ("The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories")
-#: templates/web/base/reports/_list-filters.html:37
-msgid "<label for=\"statuses\">Show</label> %s <label for=\"filter_categories\">about</label> %s"
+#: templates/web/base/reports/_list-filters.html:48
+msgid "<label for=\"statuses\">Show</label> %s reports <label for=\"filter_categories\">about</label> %s"
msgstr ""
-#: templates/web/base/js/translation_strings.html:71
+#: templates/web/base/js/translation_strings.html:74
msgid "<span>%s</span> saved."
msgstr ""
@@ -227,34 +215,25 @@ msgstr ""
msgid "<strong>No</strong> Let me confirm my update by email"
msgstr ""
-#: templates/web/base/auth/general.html:104
+#: templates/web/base/auth/general.html:106
#: templates/web/zurich/auth/general.html:51
msgid "<strong>No</strong> let me sign in by email"
msgstr ""
-#: templates/web/base/report/_inspect.html:160
+#: templates/web/base/report/_inspect.html:170
msgid "<strong>Note:</strong> This report has been sent onwards for action. Any changes made won't be passed on."
msgstr ""
-#: templates/web/base/report/_inspect.html:162
+#: templates/web/base/report/_inspect.html:172
msgid "<strong>Note:</strong> This report hasn't yet been sent onwards for action. Any changes made may not be passed on."
msgstr ""
-#: templates/web/base/auth/general.html:80
+#: templates/web/base/auth/general.html:82
#: templates/web/base/report/new/form_user_loggedout_password.html:3
#: templates/web/base/report/update/form_user_loggedout_password.html:2
msgid "<strong>Yes</strong> I have a password"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:10
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:6
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Action Scheduled"
-msgstr ""
-
#: templates/web/base/admin/body-form.html:3
#: templates/web/base/admin/body-form.html:4
msgid ""
@@ -268,19 +247,35 @@ msgid "Add a contact using the form below."
msgstr ""
#: templates/web/base/admin/bodies.html:78
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Add body"
msgstr ""
+#: templates/web/base/admin/reportextrafields/index.html:24
+msgid "Add extra fields"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:79
+msgid "Add field"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:85
+msgid "Add fixed state"
+msgstr ""
+
#: templates/web/base/admin/body.html:126
#: templates/web/zurich/admin/body.html:31
msgid "Add new category"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:72
+msgid "Add option"
+msgstr ""
+
#: templates/web/base/report/_item.html:10
-#: templates/web/base/report/_item.html:14
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_item.html:16
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:19
#: templates/web/base/report/_main.html:30
msgid "Add to shortlist"
@@ -292,15 +287,15 @@ msgstr ""
msgid "Add user"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:730
+#: perllib/FixMyStreet/Cobrand/Default.pm:735
msgid "Add/edit problem categories"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:732
+#: perllib/FixMyStreet/Cobrand/Default.pm:737
msgid "Add/edit response priorities"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:731
+#: perllib/FixMyStreet/Cobrand/Default.pm:736
msgid "Add/edit response templates"
msgstr ""
@@ -308,7 +303,7 @@ msgstr ""
msgid "Added %s"
msgstr ""
-#: templates/web/base/report/_main.html:145
+#: templates/web/base/report/_main.html:149
msgid "Adding this report to your shortlist will remove it from %s’s shortlist."
msgstr ""
@@ -328,17 +323,17 @@ msgstr ""
msgid "Alert %d disabled (created %s)"
msgstr ""
-#: templates/web/base/report/update/form_name.html:38
+#: templates/web/base/report/update/form_name.html:42
msgid "Alert me to future updates"
msgstr ""
#: templates/web/base/dashboard/index.html:138
#: templates/web/base/dashboard/index.html:21
#: templates/web/base/dashboard/index.html:30
+#: templates/web/base/reports/_list-filters.html:3
msgid "All"
msgstr ""
-#: templates/web/base/reports/index.html:6
#: templates/web/zurich/reports/index.html:13
msgid "All Reports"
msgstr ""
@@ -348,15 +343,22 @@ msgid "All Reports as CSV"
msgstr ""
#: templates/web/base/admin/category-multiselect.html:5
-#: templates/web/base/admin/responsepriorities/list.html:19
+#: templates/web/base/admin/responsepriorities/list.html:20
msgid "All categories"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:26
+msgid "All cobrands"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:47
+msgid "All languages"
+msgstr ""
+
#: templates/web/base/main_nav_items.html:0
#: templates/web/base/main_nav_items.html:27
-#: templates/web/base/reports/_list-filters.html:3
#: templates/web/zurich/admin/index-dm.html:12
-#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:21
+#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:20
#: templates/web/zurich/nav_over_content.html:6
msgid "All reports"
msgstr ""
@@ -366,6 +368,14 @@ msgstr ""
msgid "All reports between %s and %s"
msgstr ""
+#: templates/web/base/reports/index.html:23
+msgid "All time"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:20
+msgid "Alternatively, we can hide your name on <strong>all of your reports and updates</strong> across the site:"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:47
msgid "An update marked this problem as fixed."
msgstr ""
@@ -375,31 +385,32 @@ msgstr ""
msgid "Anonymous"
msgstr ""
-#: templates/web/base/admin/report_edit.html:134
+#: templates/web/base/report/new/form_user_loggedin.html:21
+#: templates/web/base/report/update/form_name.html:17
+msgid "Anonymous user"
+msgstr ""
+
+#: templates/web/base/admin/report_edit.html:122
#: templates/web/base/admin/update_edit.html:23
msgid "Anonymous:"
msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:20
-#: templates/web/base/report/update/form_name.html:13
+#: templates/web/base/report/new/form_user_loggedin.html:24
+#: templates/web/base/report/update/form_name.html:14
msgid "Another user"
msgstr ""
-#: templates/web/base/front/footer-marketing.html:16
-msgid "Are you a developer?"
-msgstr ""
-
-#: templates/web/base/js/translation_strings.html:56
+#: templates/web/base/js/translation_strings.html:59
msgid "Are you sure you want to cancel this upload?"
msgstr ""
#: templates/web/base/admin/report_edit.html:84
-#: templates/web/base/js/translation_strings.html:66
+#: templates/web/base/js/translation_strings.html:69
#: templates/web/base/report/display_tools.html:6
msgid "Are you sure?"
msgstr ""
-#: templates/web/base/admin/body-form.html:75
+#: templates/web/base/admin/body-form.html:77
#: templates/web/base/admin/body.html:20
#: templates/web/zurich/admin/body-form.html:24
msgid "Area covered"
@@ -431,11 +442,11 @@ msgstr ""
msgid "Assign to subdivision:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:727
+#: perllib/FixMyStreet/Cobrand/Default.pm:732
msgid "Assign users to areas"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:214
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:219
msgid "Assigned to %s"
msgstr ""
@@ -456,11 +467,14 @@ msgstr ""
msgid "Auto-response:"
msgstr ""
-#: templates/web/base/admin/report_edit.html:127
-#: templates/web/base/report/_inspect.html:47
+#: templates/web/base/admin/report-category.html:8
msgid "Available categories"
msgstr ""
+#: templates/web/base/reports/index.html:84
+msgid "Average time between a problem being reported and being fixed, last 100 reports."
+msgstr ""
+
#: templates/web/base/dashboard/index.html:109
msgid "Average time to council marking fixed (days)"
msgstr ""
@@ -473,7 +487,7 @@ msgstr ""
msgid "Avoid personal information and vehicle number plates"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:417
+#: perllib/FixMyStreet/DB/Result/Problem.pm:344
#: templates/web/zurich/report/_item.html:9
msgid "Awaiting moderation"
msgstr ""
@@ -486,13 +500,13 @@ msgstr ""
msgid "Back to all reports"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
msgid "Ban email address"
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:650
-#: perllib/FixMyStreet/Cobrand/Default.pm:729
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
+#: perllib/FixMyStreet/Cobrand/Default.pm:734
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:396
#: templates/web/base/admin/bodies.html:1
#: templates/web/base/admin/report_edit.html:55
#: templates/web/zurich/header.html:56
@@ -514,7 +528,11 @@ msgstr ""
msgid "By Date"
msgstr ""
-#: templates/web/base/auth/token.html:21 templates/web/base/email_sent.html:18
+#: templates/web/base/admin/extra-metadata-form.html:36
+msgid "Can be used to display extra text to the user alongside the field. The default template does not show this (<code>meta.datatype_description</code>), you must add it in <code>category_extras_fields.html</code>"
+msgstr ""
+
+#: templates/web/base/auth/token.html:27 templates/web/base/email_sent.html:20
msgid "Can&rsquo;t find our email? Check your spam folder&nbsp;&ndash; that&rsquo;s the solution 99% of the time."
msgstr ""
@@ -535,8 +553,8 @@ msgstr ""
#: templates/web/base/admin/body.html:72
#: templates/web/base/admin/contact-form.html:19
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/report/_inspect.html:38
-#: templates/web/base/report/_item.html:90
+#: templates/web/base/report/_inspect.html:48
+#: templates/web/base/report/_item.html:92
#: templates/web/base/report/new/category.html:6
#: templates/web/base/report/new/category_wrapper.html:3
#: templates/web/zurich/admin/body.html:14
@@ -547,7 +565,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:852
+#: perllib/FixMyStreet/App/Controller/Admin.pm:956
msgid "Category changed from ‘%s’ to ‘%s’"
msgstr ""
@@ -587,23 +605,11 @@ msgstr ""
msgid "Change password"
msgstr "החלף ססמ×"
-#: templates/web/base/admin/contact-form.html:41
-msgid ""
-"Check <strong>confirmed</strong> to indicate that this contact has been confirmed as correct.\n"
-" If you are not sure of the origin or validity of the contact, leave this unchecked."
-msgstr ""
-
-#: templates/web/base/admin/contact-form.html:52
-msgid ""
-"Check <strong>deleted</strong> to remove the category from use. \n"
-" It will not appear as an available category in the drop-down menu on the report-a-problem page."
-msgstr ""
-
-#: templates/web/base/admin/contact-form.html:79
+#: templates/web/base/admin/contact-form.html:80
msgid "Check <strong>inspection required</strong> if reports in this category <strong>must be inspected</strong> before being sent."
msgstr ""
-#: templates/web/base/admin/contact-form.html:63
+#: templates/web/base/admin/contact-form.html:64
msgid ""
"Check <strong>private</strong> if reports in this category should <strong>never be displayed on the website</strong>.\n"
" <br>\n"
@@ -620,11 +626,11 @@ msgid ""
" to the body too. These will appear in the drop-down menu on the report-a-problem page."
msgstr ""
-#: templates/web/base/report/_inspect.html:93
+#: templates/web/base/report/_inspect.html:103
msgid "Choose another"
msgstr ""
-#: templates/web/base/js/translation_strings.html:65
+#: templates/web/base/js/translation_strings.html:68
msgid "Clear offline data"
msgstr ""
@@ -649,21 +655,21 @@ msgstr ""
msgid "Click the link in our confirmation email to publish your update."
msgstr ""
-#: templates/web/base/auth/token.html:18
+#: templates/web/base/auth/token.html:23
msgid "Click the link in our confirmation email to sign in."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:189
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:960
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:17
-#: templates/web/base/admin/report_blocks.html:27
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:43
-#: templates/web/base/report/banner.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:18
+#: templates/web/base/auth/token.html:20
+msgid "Click the link in that email to sign in."
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:134
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:194
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:965
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:11
+#: templates/web/base/admin/states/index.html:103
+#: templates/web/base/admin/states/index.html:27
+#: templates/web/base/admin/states/index.html:33
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:10
#: templates/web/zurich/admin/header.html:16
@@ -671,23 +677,17 @@ msgstr ""
msgid "Closed"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:889
+#: perllib/FixMyStreet/DB/Result/Problem.pm:826
msgid "Closed by council"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:13
-msgid "Closed reports"
-msgstr ""
-
-#: templates/web/base/admin/problem_row.html:38
-msgid "Closed:"
-msgstr ""
-
#: templates/web/base/admin/report_edit.html:37
msgid "Co-ordinates:"
msgstr ""
#: templates/web/base/admin/list_updates.html:10
+#: templates/web/base/admin/reportextrafields/edit.html:24
+#: templates/web/base/admin/reportextrafields/index.html:7
msgid "Cobrand"
msgstr ""
@@ -701,6 +701,10 @@ msgstr ""
msgid "Cobrand:"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:14
+msgid "Code"
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:50
msgid "Collapse map"
msgstr ""
@@ -731,9 +735,8 @@ msgstr ""
msgid "Confirmation"
msgstr "×ישור"
-#: templates/web/base/admin/body.html:85
-#: templates/web/base/admin/category_edit.html:54
-#: templates/web/base/admin/contact-form.html:47
+#: templates/web/base/admin/contact-form.html:56
+#: templates/web/zurich/admin/contact-form.html:12
#: templates/web/zurich/admin/stats.html:40
msgid "Confirmed"
msgstr "×ישר"
@@ -768,8 +771,8 @@ msgstr ""
msgid "Coordinates:"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1668
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1696
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1773
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1801
msgid "Could not find user"
msgstr ""
@@ -827,24 +830,32 @@ msgstr ""
msgid "Count"
msgstr "ספירה"
+#: templates/web/base/admin/states/index.html:114
+msgid "Create"
+msgstr ""
+
#: templates/web/base/email_sent.html:1
msgid "Create a report"
msgstr "צור דו\"ח"
-#: templates/web/base/admin/contact-form.html:137
+#: templates/web/base/admin/contact-form.html:138
#: templates/web/zurich/admin/body.html:62
msgid "Create category"
msgstr "צור קטגוריה"
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/responsepriorities/edit.html:58
msgid "Create priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:714
+#: perllib/FixMyStreet/Cobrand/Default.pm:718
+msgid "Create reports/updates as anonymous user"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:719
msgid "Create reports/updates as the council"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:713
+#: perllib/FixMyStreet/Cobrand/Default.pm:717
msgid "Create reports/updates on a user's behalf"
msgstr ""
@@ -874,13 +885,15 @@ msgstr ""
msgid "Currently no bodies have been created."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:825
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:830
#: templates/web/zurich/admin/report_edit-sdm.html:105
msgid "Customer not contactable"
msgstr ""
#: templates/web/base/dashboard/index.html:5
#: templates/web/base/dashboard/index.html:7
+#: templates/web/base/reports/index.html:15
+#: templates/web/base/reports/index.html:18
msgid "Dashboard"
msgstr ""
@@ -888,29 +901,36 @@ msgstr ""
msgid "Dealt with by subdivision within 5 working days"
msgstr ""
-#: templates/web/base/report/_inspect.html:73
+#: templates/web/base/admin/responsepriorities/list.html:9
+msgid "Default"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:39
+msgid "Default priority"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:72
msgid "Defect type"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:973
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1078
#: templates/web/base/admin/template_edit.html:50
#: templates/web/zurich/admin/template_edit.html:33
msgid "Delete template"
msgstr ""
#: templates/web/base/admin/bodies.html:31
-#: templates/web/base/admin/body.html:87
-#: templates/web/base/admin/category_edit.html:55
#: templates/web/base/admin/contact-form.html:58
-#: templates/web/zurich/admin/contact-form.html:12
+#: templates/web/zurich/admin/contact-form.html:13
msgid "Deleted"
msgstr "נמחק"
-#: templates/web/base/report/_main.html:110
-#: templates/web/base/report/update.html:59
+#: templates/web/base/report/_main.html:114
+#: templates/web/base/report/update.html:68
msgid "Describe why you are moderating this"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:32
#: templates/web/base/admin/responsepriorities/list.html:7
#: templates/web/zurich/admin/index-dm.html:22
#: templates/web/zurich/admin/index-sdm.html:20
@@ -934,7 +954,7 @@ msgstr "פרטי×"
msgid "Details:"
msgstr ""
-#: templates/web/base/admin/body.html:93
+#: templates/web/base/admin/body.html:92
msgid "Devolved"
msgstr ""
@@ -947,8 +967,8 @@ msgstr ""
msgid "Diligency prize league table"
msgstr ""
-#: templates/web/base/report/_main.html:114
-#: templates/web/base/report/update.html:61
+#: templates/web/base/report/_main.html:118
+#: templates/web/base/report/update.html:70
msgid "Discard changes"
msgstr ""
@@ -957,7 +977,7 @@ msgid "Do not send email alerts on fetched comments to problem creator"
msgstr ""
#. ("%s is the site name")
-#: templates/web/base/auth/general.html:58
+#: templates/web/base/auth/general.html:60
#: templates/web/base/report/new/form_user_loggedout.html:25
#: templates/web/base/report/new/oauth_email_form.html:18
#: templates/web/base/report/update-form.html:30
@@ -965,40 +985,33 @@ msgstr ""
msgid "Do you have a %s password?"
msgstr ""
+#: templates/web/base/report/_inspect.html:87
+msgid "Do you want to automatically raise a defect?"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:57
msgid "Don&rsquo;t know"
msgstr ""
-#: templates/web/base/contact/index.html:108
+#: templates/web/base/contact/index.html:112
msgid "Don't like forms?"
msgstr "×œ× ×והב טפסי×?"
-#: templates/web/base/report/_item.html:25
+#: templates/web/base/report/_item.html:27
msgid "Down one"
msgstr ""
-#: templates/web/base/js/translation_strings.html:55
+#: templates/web/base/js/translation_strings.html:58
msgid "Drag and drop photos here or <u>click to upload</u>"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:10
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "Duplicate"
-msgstr "כפול"
-
-#: templates/web/base/report/_inspect.html:88
-#, fuzzy
+#: templates/web/base/report/_inspect.html:98
msgid "Duplicate of"
-msgstr "כפול"
+msgstr ""
-#: templates/web/base/report/_inspect.html:98
-#, fuzzy
+#: templates/web/base/report/_inspect.html:108
msgid "Duplicates"
-msgstr "כפול"
+msgstr ""
#: templates/web/base/admin/body.html:116
msgid ""
@@ -1008,43 +1021,43 @@ msgid ""
" "
msgstr ""
-#: templates/web/base/report/_inspect.html:16
-#: templates/web/base/report/_item.html:81
+#: templates/web/base/report/_inspect.html:26
+#: templates/web/base/report/_item.html:83
msgid "Easting/Northing:"
msgstr ""
#: templates/web/base/admin/list_updates.html:42
#: templates/web/base/admin/problem_row.html:41
-#: templates/web/base/admin/responsepriorities/list.html:26
+#: templates/web/base/admin/responsepriorities/list.html:28
#: templates/web/base/admin/templates.html:22
#: templates/web/base/admin/users.html:34
#: templates/web/zurich/admin/problem_row.html:48
msgid "Edit"
msgstr "ערוך"
-#: templates/web/base/admin/body.html:140
+#: templates/web/base/admin/body.html:141
#: templates/web/base/admin/index.html:39
#: templates/web/zurich/admin/body.html:69
msgid "Edit body details"
msgstr "ערוך פרטי גוף"
-#: perllib/FixMyStreet/Cobrand/Default.pm:724
+#: perllib/FixMyStreet/Cobrand/Default.pm:729
msgid "Edit other users' details"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:725
+#: perllib/FixMyStreet/Cobrand/Default.pm:730
msgid "Edit other users' permissions"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:708
+#: perllib/FixMyStreet/Cobrand/Default.pm:712
msgid "Edit report category"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:709
+#: perllib/FixMyStreet/Cobrand/Default.pm:713
msgid "Edit report priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:707
+#: perllib/FixMyStreet/Cobrand/Default.pm:711
msgid "Edit reports"
msgstr ""
@@ -1067,15 +1080,15 @@ msgstr "ערוך עידכון %d"
msgid "Editing user %d"
msgstr "ערוך משתמש %d"
-#: templates/web/base/admin/category_edit.html:56
+#: templates/web/base/admin/category_edit.html:30
msgid "Editor"
msgstr "עורך"
#: templates/web/base/admin/bodies.html:27
-#: templates/web/base/admin/category_edit.html:53
+#: templates/web/base/admin/category_edit.html:28
#: templates/web/base/admin/flagged.html:38
#: templates/web/base/admin/users.html:17
-#: templates/web/base/auth/general.html:49
+#: templates/web/base/auth/general.html:51
#: templates/web/zurich/admin/body-form.html:9
#: templates/web/zurich/admin/body.html:15
#: templates/web/zurich/auth/general.html:24
@@ -1083,13 +1096,14 @@ msgstr "עורך"
msgid "Email"
msgstr "דו×ר ×לקטרוני"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1644
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1749
msgid "Email added to abuse list"
msgstr "דו×ר ×לקטרוני הוסף לרשימת ×”×ž×©×ª×ž×©×™× ×œ×¨×¢×”"
-#: templates/web/base/admin/contact-form.html:36
-#: templates/web/base/report/new/form_user_loggedin.html:28
-#: templates/web/base/report/update/form_name.html:19
+#: templates/web/base/admin/contact-form.html:38
+#: templates/web/base/alert/_list.html:74
+#: templates/web/base/report/new/form_user_loggedin.html:32
+#: templates/web/base/report/update/form_name.html:23
msgid "Email address"
msgstr ""
@@ -1101,11 +1115,11 @@ msgstr ""
msgid "Email alert deleted"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1641
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1746
msgid "Email already in abuse list"
msgstr "דו×ר ×לקטרוני כבר ברשימת ×”×ž×©×ª×ž×©×™× ×œ×¨×¢×”"
-#: templates/web/base/admin/report_edit.html:141
+#: templates/web/base/admin/report_edit.html:129
#: templates/web/base/admin/update_edit.html:35
#: templates/web/base/admin/user-form.html:19
#: templates/web/zurich/admin/body.html:48
@@ -1126,8 +1140,8 @@ msgid ""
" <a href='https://www.mysociety.org/2013/02/20/open311-extended/' class='admin-offsite-link'>this article</a>."
msgstr ""
-#: templates/web/base/admin/body-form.html:120
-#: templates/web/base/admin/body-form.html:121
+#: templates/web/base/admin/body-form.html:122
+#: templates/web/base/admin/body-form.html:123
msgid ""
"Enable this <strong>can be devolved</strong> setting if one or more contacts have a \n"
" different endpoint (and send method) from the body's. For example, if reports for some categories of\n"
@@ -1142,11 +1156,11 @@ msgstr ""
msgid "Endpoint"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:76
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:81
msgid "Enter a Z&uuml;rich street name"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:15
+#: perllib/FixMyStreet/Cobrand/UK.pm:16
msgid "Enter a nearby UK postcode, or street name and area"
msgstr ""
@@ -1155,12 +1169,13 @@ msgstr ""
msgid "Enter a nearby postcode, or street name and area"
msgstr ""
+#: perllib/FixMyStreet/Cobrand/DansMonQwat.pm:14
#: templates/web/base/around/postcode_form.html:5
#: templates/web/base/around/postcode_form.html:6
msgid "Enter a nearby street name and area"
msgstr ""
-#: templates/web/base/auth/general.html:116
+#: templates/web/base/auth/general.html:118
#: templates/web/base/report/new/form_user_loggedout_by_email.html:35
#: templates/web/base/report/update/form_user_loggedout_by_email.html:13
#: templates/web/zurich/auth/general.html:65
@@ -1180,8 +1195,8 @@ msgstr ""
msgid "Error"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:20
-#: templates/web/base/reports/_list-filters.html:28
+#: templates/web/base/reports/_list-filters.html:31
+#: templates/web/base/reports/_list-filters.html:39
msgid "Everything"
msgstr ""
@@ -1194,8 +1209,7 @@ msgstr ""
msgid "Examples:"
msgstr ""
-#: templates/web/base/admin/report_edit.html:122
-#: templates/web/base/report/_inspect.html:42
+#: templates/web/base/admin/report-category.html:3
msgid "Existing category"
msgstr ""
@@ -1203,16 +1217,16 @@ msgstr ""
msgid "Expand map"
msgstr ""
-#: templates/web/base/report/new/form_report.html:52
+#: templates/web/base/report/new/form_report.html:54
msgid "Explain what’s wrong"
msgstr ""
-#: templates/web/base/dashboard/index.html:146
+#: templates/web/base/dashboard/index.html:147
msgid "Export as CSV"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:913
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:179
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:12
msgid "Extern"
@@ -1223,7 +1237,7 @@ msgstr ""
msgid "External ID"
msgstr ""
-#: templates/web/base/admin/body-form.html:87
+#: templates/web/base/admin/body-form.html:89
msgid "External URL"
msgstr ""
@@ -1235,13 +1249,19 @@ msgstr ""
msgid "External team"
msgstr ""
-#: templates/web/base/admin/category_edit.html:25
+#: perllib/FixMyStreet/Cobrand/Default.pm:673
+#: templates/web/base/admin/reportextrafields/edit.html:1
+#: templates/web/base/admin/reportextrafields/index.html:1
+msgid "Extra Fields"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:141
#: templates/web/base/admin/report_edit.html:94
msgid "Extra data:"
msgstr ""
-#: templates/web/base/report/_inspect.html:134
-#: templates/web/base/report/_item.html:106
+#: templates/web/base/report/_inspect.html:144
+#: templates/web/base/report/_item.html:108
msgid "Extra details"
msgstr ""
@@ -1249,6 +1269,11 @@ msgstr ""
msgid "Failed to send message"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:58
+#: templates/web/base/admin/reportextrafields/index.html:9
+msgid "Fields"
+msgstr ""
+
#: templates/web/zurich/admin/index-dm.html:33
#: templates/web/zurich/admin/index-sdm.html:30
msgid "Filter report list"
@@ -1262,52 +1287,32 @@ msgstr ""
msgid "Fix this by choosing an <strong>area covered</strong> in the <em>Edit body details</em> form below."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:11
-#: templates/web/base/admin/report_blocks.html:26
+#: perllib/FixMyStreet/App/Controller/Admin/States.pm:35
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:133
+#: templates/web/base/admin/states/index.html:29
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:41
-#: templates/web/base/report/banner.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:17
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:45
msgid "Fixed"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:13
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:7
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:62
msgid "Fixed - Council"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:12
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:63
msgid "Fixed - User"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:14
-msgid "Fixed reports"
-msgstr ""
-
-#: templates/web/base/admin/problem_row.html:37
-msgid "Fixed:"
-msgstr ""
-
-#: templates/web/base/admin/body-form.html:95
-#: templates/web/base/admin/responsepriorities/edit.html:41
+#: templates/web/base/admin/body-form.html:97
+#: templates/web/base/admin/responsepriorities/edit.html:53
#: templates/web/zurich/admin/body-form.html:36
msgid "Flag as deleted"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/report_blocks.html:23
msgid "Flag user"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: perllib/FixMyStreet/Cobrand/Default.pm:644
#: templates/web/base/admin/users.html:20
msgid "Flagged"
msgstr ""
@@ -1324,7 +1329,7 @@ msgstr ""
msgid "Flagged users are not restricted in any way. This is just a list of users that have been marked for attention."
msgstr ""
-#: templates/web/base/admin/report_edit.html:147
+#: templates/web/base/admin/report_edit.html:135
#: templates/web/base/admin/user-form.html:100
msgid "Flagged:"
msgstr ""
@@ -1337,21 +1342,25 @@ msgstr ""
msgid "For best results include a close-up and a wide shot"
msgstr ""
-#: templates/web/base/admin/body-form.html:71
+#: templates/web/base/admin/extra-metadata-form.html:52
+msgid "For each option, <strong>Key</strong> is the value which is stored in the database for that option and <strong>Name</strong> is the value displayed to the user."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:73
msgid "For more information, see <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
msgstr ""
-#: templates/web/base/auth/general.html:95
+#: templates/web/base/auth/general.html:97
#: templates/web/base/report/new/form_user_loggedout_password.html:20
#: templates/web/base/report/update/form_user_loggedout_password.html:19
msgid "Forgotten your password?"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:743
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:748
msgid "Forwarded to external body"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:744
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:749
msgid "Forwarded wish to external body"
msgstr ""
@@ -1361,6 +1370,10 @@ msgstr ""
msgid "Frequently Asked Questions"
msgstr ""
+#: templates/web/base/admin/stats.html:102
+msgid "Get Count"
+msgstr ""
+
#: templates/web/base/around/_updates.html:3
#: templates/web/base/report/display_tools.html:14
msgid "Get updates"
@@ -1376,10 +1389,14 @@ msgstr ""
msgid "Get updates of problems in this %s"
msgstr ""
-#: templates/web/base/alert/_list.html:83
+#: templates/web/base/alert/_list.html:85
msgid "Give me an RSS feed"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:6
+msgid "Give this collection of fields a name. It is not shown publicly, just here in the admin."
+msgstr ""
+
#: templates/web/base/questionnaire/completed.html:14
msgid "Glad to hear it’s been fixed!"
msgstr ""
@@ -1389,8 +1406,9 @@ msgstr ""
#: templates/web/base/admin/index.html:49
#: templates/web/base/alert/index.html:34
#: templates/web/base/around/postcode_form.html:13
-#: templates/web/base/reports/_list-filters.html:38
-#: templates/web/base/reports/_list-filters.html:53
+#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:64
+#: templates/web/base/reports/index.html:75
#: templates/web/zurich/admin/stats.html:26
msgid "Go"
msgstr ""
@@ -1399,7 +1417,7 @@ msgstr ""
msgid "Going to send questionnaire?"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:726
+#: perllib/FixMyStreet/Cobrand/Default.pm:731
msgid "Grant access to the admin"
msgstr ""
@@ -1407,10 +1425,6 @@ msgstr ""
msgid "Graph of problem creation by status over time"
msgstr ""
-#: templates/web/base/reports/index.html:15
-msgid "Greyed-out lines are councils that no longer exist."
-msgstr ""
-
#: templates/web/base/questionnaire/index.html:48
msgid "Has this problem been fixed?"
msgstr ""
@@ -1421,7 +1435,7 @@ msgstr ""
#: templates/web/base/main_nav_items.html:40
#: templates/web/zurich/about/faq-de-ch.html:1
-#: templates/web/zurich/footer.html:23
+#: templates/web/zurich/footer.html:22
#: templates/web/zurich/nav_over_content.html:8
msgid "Help"
msgstr ""
@@ -1431,22 +1445,13 @@ msgstr ""
msgid "Help <strong>%s</strong> resolve your problem quicker, by providing some extra detail. This extra information will not be published online."
msgstr ""
-#: templates/web/base/alert/_list.html:9
-msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
-msgstr ""
-
-#: templates/web/zurich/footer.html:12
+#: templates/web/zurich/footer.html:11
msgid "Hi %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:906
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:19
-#: templates/web/base/admin/report_blocks.html:28
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:911
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:60
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:19
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:11
#: templates/web/zurich/admin/stats.html:32
@@ -1454,16 +1459,33 @@ msgstr ""
msgid "Hidden"
msgstr ""
-#: templates/web/base/report/_main.html:105
-#, fuzzy
+#: templates/web/base/report/_main.html:109
msgid "Hide entire report"
-msgstr "צור דו\"ח"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:1
+#: templates/web/base/my/anonymize.html:2
+msgid "Hide my name"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:21
+msgid "Hide my name everywhere"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:10
+msgid "Hide my name in this update"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:16
+msgid "Hide my name on this report"
+msgstr ""
#: templates/web/base/around/display_location.html:67
msgid "Hide old"
msgstr ""
#: templates/web/base/around/display_location.html:62
+#: templates/web/base/js/translation_strings.html:55
msgid "Hide pins"
msgstr ""
@@ -1471,7 +1493,16 @@ msgstr ""
msgid "Hide update completely?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:49
+#: templates/web/base/report/_report_meta_info.html:3
+#: templates/web/base/report/update.html:55
+msgid "Hide your name?"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:38
+msgid "Hint"
+msgstr ""
+
+#: templates/web/base/admin/category_edit.html:24
msgid "History"
msgstr ""
@@ -1488,12 +1519,12 @@ msgid "How to send successful reports"
msgstr ""
#: templates/web/base/tokens/confirm_problem.html:36
-#: templates/web/base/tokens/confirm_problem.html:40
+#: templates/web/base/tokens/confirm_problem.html:41
msgid "I just reported a problem on @fixmystreet"
msgstr ""
-#: templates/web/base/tokens/confirm_update.html:19
-#: templates/web/base/tokens/confirm_update.html:23
+#: templates/web/base/tokens/confirm_update.html:20
+#: templates/web/base/tokens/confirm_update.html:25
msgid "I just updated a problem on @fixmystreet"
msgstr ""
@@ -1513,17 +1544,25 @@ msgstr ""
msgid "ID"
msgstr ""
-#: templates/web/base/admin/body-form.html:30
-#: templates/web/base/admin/body-form.html:31
+#: templates/web/base/admin/body-form.html:32
+#: templates/web/base/admin/body-form.html:33
msgid ""
"Identify a <strong>parent</strong> if this body is itself part of another body.\n"
" For basic installations, you don't need to join bodies in this way."
msgstr ""
+#: templates/web/base/auth/token.html:19
+msgid "If there's a user associated with the address you entered, we've sent a confirmation email."
+msgstr ""
+
#: templates/web/base/admin/responsepriorities/edit.html:23
msgid "If this priority is passed to an external service (e.g. Exor/Confirm) enter the priority code to use with that service here."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:24
+msgid "If ticked the user won’t see an input field, just the ‘Description’ text."
+msgstr ""
+
#: templates/web/base/admin/contact-form.html:14
msgid ""
"If two or more bodies serve the same location, FixMyStreet combines identical categories into a single entry in\n"
@@ -1534,7 +1573,7 @@ msgstr ""
msgid "If you get some more information about the status of your problem, please come back to the site and leave an update."
msgstr ""
-#: templates/web/base/admin/responsepriorities/edit.html:33
+#: templates/web/base/admin/responsepriorities/edit.html:45
msgid "If you only want this priority to be an option for specific categories, pick them here. By default they will show for all categories."
msgstr ""
@@ -1557,7 +1596,7 @@ msgid ""
"(please note it will not be sent to the council)."
msgstr ""
-#: templates/web/base/admin/contact-form.html:30
+#: templates/web/base/admin/contact-form.html:32
msgid "If you're using <strong>a send method that is not email</strong>, enter the service ID (Open311) or equivalent identifier here."
msgstr ""
@@ -1584,7 +1623,7 @@ msgid ""
" when they are shown on the site. Enter the ID (number) of that user."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:133
+#: perllib/FixMyStreet/App/Controller/Contact.pm:134
msgid "Illegal ID"
msgstr ""
@@ -1592,13 +1631,6 @@ msgstr ""
msgid "Illegal feed selection"
msgstr ""
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "In Progress"
-msgstr ""
-
#: templates/web/base/admin/flagged.html:39
msgid "In abuse table?"
msgstr ""
@@ -1607,18 +1639,17 @@ msgstr ""
msgid "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:192
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:954
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:9
-#: templates/web/base/report/banner.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:5
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:197
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:959
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:8
msgid "In progress"
msgstr ""
+#: templates/web/base/admin/contact-form.html:57
+msgid "Inactive"
+msgstr ""
+
#: templates/web/base/tokens/confirm_alert.html:11
msgid "Inbox zero, here we come!"
msgstr ""
@@ -1635,11 +1666,15 @@ msgstr ""
msgid "Incorrect has_photo value \"%s\""
msgstr ""
-#: templates/web/base/admin/contact-form.html:84
+#: templates/web/base/report/_inspect.html:5
+msgid "Inspect report"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:85
msgid "Inspection required"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:711
+#: perllib/FixMyStreet/Cobrand/Default.pm:715
msgid "Instruct contractors to fix problems"
msgstr ""
@@ -1647,13 +1682,6 @@ msgstr ""
msgid "Internal notes"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:11
-msgid "Internal referral"
-msgstr ""
-
#: templates/web/base/offline/appcache.html:3
msgid "Internet glitch"
msgstr ""
@@ -1662,7 +1690,7 @@ msgstr ""
msgid "Invalid agency_responsible value %s"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1502
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1607
msgid "Invalid end date"
msgstr ""
@@ -1670,26 +1698,15 @@ msgstr ""
msgid "Invalid format %s specified."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report.pm:398
+#: perllib/FixMyStreet/App/Controller/Report.pm:409
msgid "Invalid location. New location must be covered by the same council."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1498
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1603
msgid "Invalid start date"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:7
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:4
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Investigating"
-msgstr ""
-
-#: templates/web/base/contact/blurb.html:8
+#: templates/web/base/contact/blurb.html:2
msgid "It's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there."
msgstr ""
@@ -1697,28 +1714,47 @@ msgstr ""
msgid "It’s on its way to the council right now."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:177
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:182
msgid "Jurisdiction Unknown"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:15
msgid "Jurisdiction unknown"
msgstr ""
-#: templates/web/base/auth/general.html:91
+#: templates/web/base/auth/general.html:93
#: templates/web/base/report/new/form_user_loggedout_password.html:16
#: templates/web/base/report/update/form_user_loggedout_password.html:15
#: templates/web/zurich/auth/general.html:40
msgid "Keep me signed in on this computer"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:61
+msgid "Key"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:9
+#: templates/web/base/admin/states/index.html:95
+msgid "Label"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:6
+#: templates/web/base/admin/reportextrafields/edit.html:45
+msgid "Language"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/index.html:8
+msgid "Languages"
+msgstr ""
+
#: templates/web/base/dashboard/index.html:50
msgid "Last 4 weeks"
msgstr ""
#: templates/web/base/dashboard/index.html:49
+#: templates/web/base/reports/index.html:38
msgid "Last 7 days"
msgstr ""
@@ -1727,6 +1763,10 @@ msgstr ""
msgid "Last editor"
msgstr ""
+#: templates/web/base/questionnaire/index.html:25
+msgid "Last update"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:89
msgid "Last update:"
msgstr ""
@@ -1735,23 +1775,27 @@ msgstr ""
msgid "Last&nbsp;update:"
msgstr ""
-#: templates/web/base/report/_inspect.html:20
-#: templates/web/base/report/_item.html:86
+#: templates/web/base/report/_inspect.html:30
+#: templates/web/base/report/_item.html:88
msgid "Latitude/Longitude:"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:50
+#: templates/web/base/reports/_list-filters.html:61
msgid "Least recently updated"
msgstr ""
-#: templates/web/base/admin/body-form.html:127
+#: templates/web/base/admin/body-form.html:129
msgid "Leave this blank if all reports to this body should be sent using the same send method (e.g., \"%s\")."
msgstr ""
-#: templates/web/base/dashboard/index.html:150
+#: templates/web/base/dashboard/index.html:151
msgid "Less than 7 days old"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:47
+msgid "List"
+msgstr ""
+
#: templates/web/base/admin/body.html:31
msgid "List all reported problems"
msgstr ""
@@ -1782,23 +1826,23 @@ msgstr ""
msgid "Locate the problem on a map of the area"
msgstr ""
-#: templates/web/base/auth/general.html:22
+#: templates/web/base/auth/general.html:24
#: templates/web/base/report/new/form_user_loggedout.html:6
#: templates/web/base/report/update/form_user_loggedout.html:7
msgid "Log in with Facebook"
msgstr ""
-#: templates/web/base/auth/general.html:30
+#: templates/web/base/auth/general.html:32
#: templates/web/base/report/new/form_user_loggedout.html:14
#: templates/web/base/report/update/form_user_loggedout.html:15
msgid "Log in with Twitter"
msgstr ""
-#: templates/web/base/js/translation_strings.html:59
+#: templates/web/base/js/translation_strings.html:62
msgid "Log in with email"
msgstr ""
-#: templates/web/base/dashboard/index.html:145
+#: templates/web/base/dashboard/index.html:146
#: templates/web/base/dashboard/index.html:38
msgid "Look up"
msgstr ""
@@ -1807,11 +1851,11 @@ msgstr ""
msgid "MAP"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:712
+#: perllib/FixMyStreet/Cobrand/Default.pm:716
msgid "Manage shortlist"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:45
+#: templates/web/base/reports/_list-filters.html:56
msgid "Manual order"
msgstr ""
@@ -1827,19 +1871,11 @@ msgstr ""
msgid "Mark users whose behaviour you want to keep a check on as <strong>flagged</strong>."
msgstr ""
-#: templates/web/base/reports/index.html:27
-msgid "Marked fixed/closed in the past eight weeks"
-msgstr ""
-
-#: templates/web/base/reports/index.html:28
-msgid "Marked fixed/closed more than eight weeks ago"
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/Default.pm:710
+#: perllib/FixMyStreet/Cobrand/Default.pm:714
msgid "Markup problem details"
msgstr ""
-#: templates/web/base/contact/index.html:96
+#: templates/web/base/contact/index.html:100
msgid "Message"
msgstr ""
@@ -1859,15 +1895,15 @@ msgstr ""
msgid "Missing jurisdiction_id"
msgstr ""
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:706
+#: perllib/FixMyStreet/Cobrand/Default.pm:710
msgid "Moderate report details"
msgstr ""
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate this report"
msgstr ""
@@ -1875,8 +1911,8 @@ msgstr ""
msgid "Moderate this update"
msgstr ""
-#: templates/web/base/report/_main.html:69
-#: templates/web/base/report/update.html:49
+#: templates/web/base/report/_main.html:73
+#: templates/web/base/report/update.html:58
msgid "Moderated by %s at %s"
msgstr ""
@@ -1884,8 +1920,8 @@ msgstr ""
msgid "Moderated by division within one working day"
msgstr ""
-#: templates/web/base/report/_main.html:109
-#: templates/web/base/report/update.html:57
+#: templates/web/base/report/_main.html:113
+#: templates/web/base/report/update.html:66
msgid "Moderation reason:"
msgstr ""
@@ -1893,31 +1929,35 @@ msgstr ""
msgid "Month"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:51
+#: templates/web/base/reports/_list-filters.html:62
msgid "Most commented"
msgstr ""
#: templates/web/base/admin/bodies.html:25
#: templates/web/base/admin/body-form.html:24
+#: templates/web/base/admin/extra-metadata-form.html:65
#: templates/web/base/admin/flagged.html:16
#: templates/web/base/admin/flagged.html:37
#: templates/web/base/admin/index.html:62
#: templates/web/base/admin/list_updates.html:7
+#: templates/web/base/admin/reportextrafields/edit.html:11
+#: templates/web/base/admin/reportextrafields/index.html:6
#: templates/web/base/admin/reports.html:14
#: templates/web/base/admin/responsepriorities/list.html:6
+#: templates/web/base/admin/states/index.html:108
+#: templates/web/base/admin/states/index.html:11
#: templates/web/base/admin/users.html:16
-#: templates/web/base/auth/general.html:106
-#: templates/web/base/report/new/form_user_loggedin.html:40
+#: templates/web/base/auth/general.html:108
+#: templates/web/base/report/new/form_user_loggedin.html:42
#: templates/web/base/report/new/form_user_loggedout_by_email.html:7
-#: templates/web/base/report/update/form_name.html:23
-#: templates/web/base/reports/index.html:23
+#: templates/web/base/report/update/form_name.html:27
#: templates/web/zurich/admin/body-form.html:4
#: templates/web/zurich/auth/general.html:60
#: templates/web/zurich/report/new/fill_in_details_form.html:59
msgid "Name"
msgstr ""
-#: templates/web/base/admin/report_edit.html:139
+#: templates/web/base/admin/report_edit.html:127
#: templates/web/base/admin/responsepriorities/edit.html:13
#: templates/web/base/admin/update_edit.html:34
#: templates/web/base/admin/user-form.html:16
@@ -1929,7 +1969,7 @@ msgstr ""
msgid "Name: %s"
msgstr ""
-#: templates/web/base/report/_inspect.html:28
+#: templates/web/base/report/_inspect.html:38
msgid "Navigate to this problem"
msgstr ""
@@ -1938,34 +1978,38 @@ msgstr ""
msgid "Nearest named road to the pin placed on the map (automatically generated using OpenStreetMap): %s%s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:129
+#: perllib/FixMyStreet/Cobrand/UK.pm:134
msgid "Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:527
-#: perllib/FixMyStreet/Cobrand/Default.pm:567
+#: perllib/FixMyStreet/Cobrand/Default.pm:538
+#: perllib/FixMyStreet/Cobrand/Default.pm:566
msgid "Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"
msgstr ""
-#: perllib/FixMyStreet/Script/Alerts.pm:319
+#: perllib/FixMyStreet/Script/Alerts.pm:316
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s\n"
"\n"
msgstr ""
-#: templates/web/base/auth/token.html:17 templates/web/base/email_sent.html:5
+#: templates/web/base/auth/token.html:18
+msgid "Nearly done!"
+msgstr ""
+
+#: templates/web/base/auth/token.html:22 templates/web/base/email_sent.html:5
msgid "Nearly done! Now check your email&hellip;"
msgstr ""
-#: templates/web/base/reports/index.html:24
-msgid "New <br>problems"
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:131
+msgid "New"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:259
+#: perllib/FixMyStreet/App/Controller/Admin.pm:262
msgid "New body added"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:405
+#: perllib/FixMyStreet/App/Controller/Admin.pm:386
msgid "New category contact added"
msgstr ""
@@ -1991,7 +2035,7 @@ msgid "New password:"
msgstr ""
#: templates/web/base/admin/responsepriorities/edit.html:4
-#: templates/web/base/admin/responsepriorities/list.html:32
+#: templates/web/base/admin/responsepriorities/list.html:34
msgid "New priority"
msgstr ""
@@ -2020,6 +2064,7 @@ msgid "New reports"
msgstr ""
#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/states/index.html:91
msgid "New state"
msgstr ""
@@ -2029,7 +2074,7 @@ msgstr ""
msgid "New template"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:47
+#: templates/web/base/reports/_list-filters.html:58
msgid "Newest"
msgstr ""
@@ -2037,20 +2082,19 @@ msgstr ""
msgid "Next"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:1203
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
+#: perllib/FixMyStreet/Cobrand/Default.pm:1237
#: templates/web/base/admin/category_edit.html:4
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:137
+#: templates/web/base/admin/report_edit.html:125
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:26
#: templates/web/base/questionnaire/creator_fixed.html:16
#: templates/web/base/questionnaire/index.html:106
#: templates/web/base/questionnaire/index.html:55
+#: templates/web/base/report/_inspect.html:92
msgid "No"
msgstr ""
@@ -2066,7 +2110,7 @@ msgstr ""
msgid "No council"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:445
+#: perllib/FixMyStreet/DB/Result/Problem.pm:372
msgid "No council selected"
msgstr ""
@@ -2082,25 +2126,16 @@ msgstr ""
msgid "No flagged users found."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:14
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:8
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "No further action"
-msgstr ""
-
#: templates/web/zurich/admin/report_edit-sdm.html:125
#: templates/web/zurich/admin/report_edit.html:259
msgid "No further updates"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:84
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:68
msgid "No inspections by that inspector in the selected date range."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:86
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:70
msgid "No inspections in the selected date range."
msgstr ""
@@ -2108,8 +2143,8 @@ msgstr ""
msgid "No result returned"
msgstr ""
-#: templates/web/base/admin/body-form.html:66
-#: templates/web/base/admin/body-form.html:67
+#: templates/web/base/admin/body-form.html:68
+#: templates/web/base/admin/body-form.html:69
msgid ""
"No specific areas are currently available, because the <code>MAPIT_URL</code> in\n"
" your config file is not pointing to a live MapIt service."
@@ -2142,17 +2177,8 @@ msgid ""
" activity across their body), the ability to hide reports or set special report statuses."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:9
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "Not Responsible"
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:181
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:186
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:933
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:13
msgid "Not contactable"
@@ -2171,7 +2197,7 @@ msgid "Not reported to council"
msgstr ""
#: templates/web/base/admin/body.html:75
-#: templates/web/base/admin/category_edit.html:57
+#: templates/web/base/admin/category_edit.html:31
#: templates/web/zurich/admin/body.html:17
msgid "Note"
msgstr ""
@@ -2181,7 +2207,7 @@ msgid "Note that when including unconfirmed reports we use the date the report w
msgstr ""
#: templates/web/zurich/admin/body.html:55
-#: templates/web/zurich/admin/contact-form.html:17
+#: templates/web/zurich/admin/contact-form.html:19
msgid "Note:"
msgstr ""
@@ -2193,6 +2219,10 @@ msgstr ""
msgid "Notes from SDM to DM"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:26
+msgid "Notice"
+msgstr ""
+
#: templates/web/base/report/new/oauth_email_form.html:17
msgid "Now to submit your report&hellip;"
msgstr ""
@@ -2203,63 +2233,43 @@ msgstr ""
msgid "Now to submit your update&hellip;"
msgstr ""
+#: templates/web/base/reports/index.html:98
+msgid "Number of problems reported in each category, in the last 7 days."
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:43
msgid "OK"
msgstr ""
-#: templates/web/base/js/translation_strings.html:67
+#: templates/web/base/js/translation_strings.html:70
msgid "Offline data cleared"
msgstr ""
-#: templates/web/base/js/translation_strings.html:64
+#: templates/web/base/js/translation_strings.html:67
msgid "Offline update data saved"
msgstr ""
-#: templates/web/base/reports/index.html:26
-msgid "Old / unknown <br>problems"
-msgstr ""
-
#: templates/web/base/admin/questionnaire.html:24
msgid "Old state"
msgstr ""
-#: templates/web/base/reports/index.html:28
-msgid "Older <br>fixed"
-msgstr ""
-
-#: templates/web/base/reports/index.html:25
-msgid "Older <br>problems"
-msgstr ""
-
-#: templates/web/base/reports/_list-filters.html:48
+#: templates/web/base/reports/_list-filters.html:59
msgid "Oldest"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:900
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:25
-#: templates/web/base/admin/report_blocks.html:6
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:905
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:10
+#: templates/web/base/admin/states/index.html:102
+#: templates/web/base/admin/states/index.html:25
+#: templates/web/base/admin/states/index.html:32
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:3
-#: templates/web/base/report/update/form_update.html:41
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:7
#: templates/web/zurich/admin/update_edit.html:18
msgid "Open"
msgstr ""
-#: templates/web/base/reports/index.html:25
-msgid "Open for more than four weeks, with an update within the past eight weeks"
-msgstr ""
-
-#: templates/web/base/reports/index.html:26
-msgid "Open, but not had any update in eight weeks"
-msgstr ""
-
#: templates/web/base/admin/open311-form-fields.html:47
msgid "Open311 API Key"
msgstr ""
@@ -2280,26 +2290,38 @@ msgstr ""
msgid "Open311 specification"
msgstr ""
-#: templates/web/base/alert/_list.html:61
-msgid "Or problems reported to:"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "Options"
msgstr ""
-#: templates/web/base/alert/_list.html:37
-msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
+#: templates/web/base/alert/_list.html:84
+msgid "Or subscribe by RSS"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:1061
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:659
-#: perllib/FixMyStreet/DB/Result/Problem.pm:642
-#: perllib/FixMyStreet/DB/Result/Problem.pm:649
-#: perllib/FixMyStreet/DB/Result/Problem.pm:664
-#: perllib/FixMyStreet/DB/Result/Problem.pm:673
+#: templates/web/base/admin/extra-metadata-form.html:8
+msgid "Order"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1107
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:675
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:676
+#: perllib/FixMyStreet/DB/Result/Problem.pm:579
+#: perllib/FixMyStreet/DB/Result/Problem.pm:586
+#: perllib/FixMyStreet/DB/Result/Problem.pm:601
+#: perllib/FixMyStreet/DB/Result/Problem.pm:610
#: perllib/FixMyStreet/Script/Reports.pm:183
#: perllib/FixMyStreet/Script/Reports.pm:198
msgid "Other"
msgstr ""
+#: templates/web/base/reports/index.html:107
+msgid "Other categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:92
+msgid "Overall average"
+msgstr ""
+
#: templates/web/base/admin/list_updates.html:8
msgid "Owner"
msgstr ""
@@ -2309,17 +2331,16 @@ msgstr ""
msgid "Page Not Found"
msgstr ""
-#: templates/web/base/admin/body-form.html:37
+#: templates/web/base/admin/body-form.html:39
#: templates/web/zurich/admin/body-form.html:14
msgid "Parent"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:20
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:61
msgid "Partial"
msgstr ""
-#: templates/web/base/auth/general.html:109
+#: templates/web/base/auth/general.html:111
#: templates/web/base/report/new/form_user_loggedout_by_email.html:28
#: templates/web/base/report/update/form_user_loggedout_by_email.html:6
#: templates/web/zurich/auth/general.html:32
@@ -2327,7 +2348,7 @@ msgstr ""
msgid "Password (optional)"
msgstr ""
-#: templates/web/base/auth/general.html:82
+#: templates/web/base/auth/general.html:84
msgid "Password:"
msgstr ""
@@ -2339,17 +2360,21 @@ msgstr ""
msgid "Permissions:"
msgstr ""
+#: templates/web/base/report/_inspect.html:19
+msgid "Phone Reporter:"
+msgstr ""
+
#: templates/web/zurich/report/new/fill_in_details_form.html:65
msgid "Phone number"
msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:57
+#: templates/web/base/report/new/form_user_loggedin.html:59
#: templates/web/base/report/new/form_user_loggedout_by_email.html:25
msgid "Phone number (optional)"
msgstr ""
#: perllib/FixMyStreet/Script/Reports.pm:87
-#: templates/web/base/admin/report_edit.html:146
+#: templates/web/base/admin/report_edit.html:134
#: templates/web/base/admin/user-form.html:21
#: templates/web/zurich/admin/stats.html:39
msgid "Phone:"
@@ -2358,9 +2383,9 @@ msgstr ""
#: templates/web/base/questionnaire/index.html:78
#: templates/web/base/questionnaire/index.html:93
#: templates/web/base/questionnaire/index.html:95
-#: templates/web/base/report/new/form_report.html:28
-#: templates/web/base/report/new/form_report.html:43
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/new/form_report.html:45
+#: templates/web/base/report/new/form_report.html:47
#: templates/web/base/report/update/form_update.html:22
#: templates/web/base/report/update/form_update.html:24
#: templates/web/base/report/update/form_update.html:7
@@ -2378,12 +2403,12 @@ msgstr ""
msgid "Photo is required."
msgstr ""
-#: templates/web/zurich/admin/contact-form.html:14
+#: templates/web/zurich/admin/contact-form.html:16
msgid "Photo required"
msgstr ""
#: templates/web/base/questionnaire/index.html:78
-#: templates/web/base/report/new/form_report.html:28
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/update/form_update.html:7
#: templates/web/zurich/report/new/fill_in_details_form.html:20
msgid "Photos"
@@ -2393,17 +2418,18 @@ msgstr ""
msgid "Photos of recent nearby reports"
msgstr ""
+#: templates/web/base/reports/index.html:63
+#: templates/web/base/reports/index.html:66
+msgid "Pick your council"
+msgstr ""
+
#: templates/web/base/around/display_location.html:76
#: templates/web/base/js/translation_strings.html:30
msgid "Place pin on map"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:940
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:946
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:8
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:945
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:951
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:9
#: templates/web/zurich/admin/index-dm.html:9
@@ -2421,31 +2447,27 @@ msgstr ""
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:18
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:43
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:45
#: templates/web/zurich/auth/general.html:3
#: templates/web/zurich/auth/general.html:9
msgid "Please check your email address is correct"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:350
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:844
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:867
-#: perllib/FixMyStreet/DB/Result/Problem.pm:456
+#: perllib/FixMyStreet/App/Controller/Admin.pm:329
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:873
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:896
+#: perllib/FixMyStreet/DB/Result/Problem.pm:383
#: templates/web/base/js/translation_strings.html:9
msgid "Please choose a category"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:462
-msgid "Please choose a property type"
-msgstr ""
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:396
+#: perllib/FixMyStreet/App/Controller/Admin.pm:377
#: templates/web/base/admin/bodies.html:4 templates/web/base/admin/body.html:11
msgid "Please correct the errors below"
msgstr ""
-#: templates/web/base/contact/blurb.html:12
+#: templates/web/base/contact/blurb.html:6
msgid ""
"Please do <strong>not</strong> report problems through this form; messages go to\n"
"the team behind this site, not a council. To report a problem,\n"
@@ -2456,18 +2478,18 @@ msgstr ""
msgid "Please do not be abusive&nbsp;&mdash; abusing your council devalues the service for all users."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:351
-#: perllib/FixMyStreet/DB/Result/Comment.pm:127
+#: perllib/FixMyStreet/App/Controller/Admin.pm:330
+#: perllib/FixMyStreet/DB/Result/Comment.pm:128
#: templates/web/base/js/translation_strings.html:2
msgid "Please enter a message"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1200
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1364
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1305
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1469
msgid "Please enter a name"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:478
+#: perllib/FixMyStreet/App/Controller/Admin.pm:497
msgid "Please enter a name for this body"
msgstr ""
@@ -2477,15 +2499,15 @@ msgstr ""
msgid "Please enter a password"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:114
-#: perllib/FixMyStreet/DB/Result/Problem.pm:439
+#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/DB/Result/Problem.pm:366
#: templates/web/base/js/translation_strings.html:3
msgid "Please enter a subject"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1197
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1361
-#: perllib/FixMyStreet/App/Controller/Admin.pm:363
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1302
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1466
+#: perllib/FixMyStreet/App/Controller/Admin.pm:343
#: perllib/FixMyStreet/DB/Result/User.pm:164
#: templates/web/base/js/translation_strings.html:12
#: templates/web/base/js/translation_strings.html:16
@@ -2493,21 +2515,21 @@ msgid "Please enter a valid email"
msgstr ""
#: perllib/FixMyStreet/App/Controller/Alert.pm:350
-#: perllib/FixMyStreet/App/Controller/Contact.pm:124
+#: perllib/FixMyStreet/App/Controller/Contact.pm:125
msgid "Please enter a valid email address"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:442
+#: perllib/FixMyStreet/DB/Result/Problem.pm:369
#: templates/web/base/js/translation_strings.html:4
msgid "Please enter some details"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/App/Controller/Contact.pm:114
#: perllib/FixMyStreet/DB/Result/User.pm:161
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:17
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:42
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:44
#: templates/web/base/js/translation_strings.html:11
#: templates/web/base/js/translation_strings.html:15
#: templates/web/zurich/auth/general.html:3
@@ -2524,14 +2546,14 @@ msgstr ""
msgid "Please enter your first name"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:320
+#: perllib/FixMyStreet/Cobrand/UK.pm:326
#: templates/web/base/js/translation_strings.html:7
msgid "Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:112
-#: perllib/FixMyStreet/DB/Result/Comment.pm:124
-#: perllib/FixMyStreet/DB/Result/Problem.pm:450
+#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/DB/Result/Comment.pm:125
+#: perllib/FixMyStreet/DB/Result/Problem.pm:377
#: perllib/FixMyStreet/DB/Result/User.pm:157
#: templates/web/base/js/translation_strings.html:6
msgid "Please enter your name"
@@ -2594,7 +2616,7 @@ msgstr ""
msgid "Please note:"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report.pm:358
+#: perllib/FixMyStreet/App/Controller/Report.pm:353
msgid "Please provide a public update for this report."
msgstr ""
@@ -2630,11 +2652,11 @@ msgstr ""
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:122
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:156
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:158
-#: templates/web/base/js/translation_strings.html:57
+#: templates/web/base/js/translation_strings.html:60
msgid "Please upload an image only"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/App/Controller/Contact.pm:116
msgid "Please write a message"
msgstr ""
@@ -2642,30 +2664,29 @@ msgstr ""
msgid "Please write your update here"
msgstr ""
-#: templates/web/base/contact/index.html:103
#: templates/web/base/report/update-form.html:25
#: templates/web/base/report/update/form_user_loggedout_by_email.html:14
#: templates/web/base/report/update/form_user_loggedout_password.html:10
msgid "Post"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:242
+#: perllib/FixMyStreet/DB/Result/Comment.pm:231
msgid "Posted anonymously at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:257
+#: perllib/FixMyStreet/DB/Result/Comment.pm:255
msgid "Posted by %s at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:252
+#: perllib/FixMyStreet/DB/Result/Comment.pm:243
msgid "Posted by <strong>%s</strong> (%s) at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:254
+#: perllib/FixMyStreet/DB/Result/Comment.pm:245
msgid "Posted by <strong>%s</strong> at %s"
msgstr ""
-#: templates/web/base/front/footer-marketing.html:12
+#: templates/web/base/front/footer-marketing.html:6
msgid "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
msgstr ""
@@ -2677,8 +2698,8 @@ msgstr ""
msgid "Priorities"
msgstr ""
-#: templates/web/base/report/_inspect.html:113
-#: templates/web/base/report/_item.html:98
+#: templates/web/base/report/_inspect.html:123
+#: templates/web/base/report/_item.html:100
msgid "Priority"
msgstr ""
@@ -2692,16 +2713,15 @@ msgstr ""
msgid "Privacy and cookies"
msgstr ""
-#: templates/web/base/admin/body.html:91
-#: templates/web/base/admin/contact-form.html:74
-#: templates/web/base/admin/report_edit.html:149
+#: templates/web/base/admin/body.html:88
+#: templates/web/base/admin/contact-form.html:75
+#: templates/web/base/admin/report_edit.html:137
msgid "Private"
msgstr ""
#: templates/web/base/report/new/form_user.html:1
-#, fuzzy
msgid "Private details"
-msgstr "ערוך פרטי גוף"
+msgstr ""
#: templates/web/base/maps/pin.html:13
msgid "Problem"
@@ -2725,7 +2745,7 @@ msgstr ""
msgid "Problem breakdown by state"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1167
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1272
msgid "Problem marked as open."
msgstr ""
@@ -2733,11 +2753,15 @@ msgstr ""
msgid "Problem state change based on survey results"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:705
+#: perllib/FixMyStreet/Cobrand/Default.pm:709
#: templates/web/base/admin/flagged.html:10
msgid "Problems"
msgstr ""
+#: templates/web/base/alert/_list.html:22
+msgid "Problems in an area"
+msgstr ""
+
#: templates/web/base/report/display_tools.html:22
msgid "Problems nearby"
msgstr ""
@@ -2750,30 +2774,31 @@ msgstr ""
msgid "Problems recently reported fixed on FixMyStreet"
msgstr ""
-#: templates/web/base/alert/_list.html:22
-msgid "Problems within %.1fkm of this location"
+#: templates/web/base/alert/_list.html:29
+msgid "Problems within %.1fkm of %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:833
+#: perllib/FixMyStreet/Cobrand/Default.pm:838
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:137
-#: perllib/FixMyStreet/Cobrand/UK.pm:209
+#: perllib/FixMyStreet/Cobrand/UK.pm:215 perllib/FixMyStreet/Cobrand/UK.pm:257
+#: perllib/FixMyStreet/Cobrand/UK.pm:269
msgid "Problems within %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:223
+#: perllib/FixMyStreet/Cobrand/UK.pm:229
msgid "Problems within %s ward"
msgstr ""
+#: perllib/FixMyStreet/Cobrand/UK.pm:263 perllib/FixMyStreet/Cobrand/UK.pm:275
+msgid "Problems within %s ward, %s"
+msgstr ""
+
#. ("First %s is the body name, second %s the site name")
#: templates/web/base/reports/body.html:0
#: templates/web/base/reports/body.html:25
msgid "Problems within %s, %s"
msgstr ""
-#: templates/web/base/alert/_list.html:43
-msgid "Problems within the boundary of:"
-msgstr ""
-
#: templates/web/base/admin/report_edit.html:74
msgid "Property address:"
msgstr ""
@@ -2783,11 +2808,11 @@ msgstr ""
msgid "Provide an update"
msgstr ""
-#: templates/web/base/report/update/form_name.html:9
+#: templates/web/base/report/update/form_name.html:10
msgid "Provide update as"
msgstr ""
-#: templates/web/base/auth/general.html:112
+#: templates/web/base/auth/general.html:114
msgid "Providing a name and password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
msgstr ""
@@ -2805,7 +2830,7 @@ msgstr ""
msgid "Public response:"
msgstr ""
-#: templates/web/base/report/_inspect.html:152
+#: templates/web/base/report/_inspect.html:162
msgid "Public update:"
msgstr ""
@@ -2833,7 +2858,7 @@ msgstr ""
msgid "Questionnaire filled in by problem reporter"
msgstr ""
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
#: templates/web/base/alert/updates.html:9
#: templates/web/base/around/display_location.html:1
#: templates/web/base/around/display_location.html:3
@@ -2841,11 +2866,11 @@ msgstr ""
msgid "RSS feed"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:252 perllib/FixMyStreet/Cobrand/UK.pm:264
+#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
msgid "RSS feed for %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
+#: perllib/FixMyStreet/Cobrand/UK.pm:264 perllib/FixMyStreet/Cobrand/UK.pm:276
msgid "RSS feed for %s ward, %s"
msgstr ""
@@ -2853,25 +2878,25 @@ msgstr ""
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:179
-#: perllib/FixMyStreet/Cobrand/UK.pm:278 perllib/FixMyStreet/Cobrand/UK.pm:290
+#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
msgid "RSS feed of %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
msgid "RSS feed of %s, within %s ward"
msgstr ""
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
msgid "RSS feed of nearby problems"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:834
+#: perllib/FixMyStreet/Cobrand/Default.pm:839
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:136
-#: perllib/FixMyStreet/Cobrand/UK.pm:216
+#: perllib/FixMyStreet/Cobrand/UK.pm:222
msgid "RSS feed of problems within %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:222
+#: perllib/FixMyStreet/Cobrand/UK.pm:228
msgid "RSS feed of problems within %s ward"
msgstr ""
@@ -2890,7 +2915,7 @@ msgstr ""
msgid "Receive email when updates are left on this problem."
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:801
+#: perllib/FixMyStreet/DB/Result/Problem.pm:738
msgid "Received by %s moments later"
msgstr ""
@@ -2900,15 +2925,11 @@ msgstr ""
msgid "Recent local problems, %s"
msgstr ""
-#: templates/web/base/reports/index.html:27
-msgid "Recently <br>fixed"
-msgstr ""
-
#: templates/web/base/front/recent.html:11
msgid "Recently reported problems"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:60
msgid "Recently updated"
msgstr ""
@@ -2916,13 +2937,21 @@ msgstr ""
msgid "Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. If your problem is not appropriate for submission via this site remember that you can contact your council directly using their own website."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/extra-metadata-form.html:68
+msgid "Remove"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:4
+msgid "Remove field"
+msgstr ""
+
+#: templates/web/base/admin/report_blocks.html:23
msgid "Remove flag"
msgstr ""
#: templates/web/base/report/_item.html:12
#: templates/web/base/report/_item.html:9
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:18
#: templates/web/base/report/_main.html:26
msgid "Remove from shortlist"
@@ -2932,7 +2961,7 @@ msgstr ""
msgid "Remove from site"
msgstr ""
-#: templates/web/base/admin/report_edit.html:166
+#: templates/web/base/admin/report_edit.html:154
#: templates/web/base/admin/update_edit.html:69
#: templates/web/zurich/admin/update_edit.html:35
msgid "Remove photo (can't be undone!)"
@@ -2946,13 +2975,13 @@ msgstr ""
msgid "Report"
msgstr ""
-#: templates/web/base/report/_inspect.html:10
-#: templates/web/base/report/_item.html:76
+#: templates/web/base/report/_inspect.html:14
+#: templates/web/base/report/_item.html:78
msgid "Report ID:"
msgstr ""
#: templates/web/base/header_logo.html:2
-#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:19
+#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:18
#: templates/web/zurich/nav_over_content.html:4
msgid "Report a problem"
msgstr ""
@@ -2962,7 +2991,7 @@ msgstr ""
msgid "Report abuse"
msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:16
+#: templates/web/base/report/new/form_user_loggedin.html:17
msgid "Report as"
msgstr ""
@@ -2985,7 +3014,7 @@ msgstr ""
msgid "Report, view, or discuss local problems"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:653
+#: perllib/FixMyStreet/DB/Result/Problem.pm:590
#: templates/web/base/contact/index.html:55
msgid "Reported anonymously at %s"
msgstr ""
@@ -2995,7 +3024,7 @@ msgstr ""
msgid "Reported before"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:677
+#: perllib/FixMyStreet/DB/Result/Problem.pm:614
#: templates/web/base/contact/index.html:57
msgid "Reported by %s at %s"
msgstr ""
@@ -3009,34 +3038,30 @@ msgstr ""
msgid "Reported in the %s category"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:650
+#: perllib/FixMyStreet/DB/Result/Problem.pm:587
msgid "Reported in the %s category anonymously at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:611
msgid "Reported in the %s category by %s at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:647
+#: perllib/FixMyStreet/DB/Result/Problem.pm:584
msgid "Reported via %s anonymously at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:671
+#: perllib/FixMyStreet/DB/Result/Problem.pm:608
msgid "Reported via %s by %s at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:644
+#: perllib/FixMyStreet/DB/Result/Problem.pm:581
msgid "Reported via %s in the %s category anonymously at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:666
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
msgid "Reported via %s in the %s category by %s at %s"
msgstr ""
-#: templates/web/base/reports/index.html:24
-msgid "Reported within the last four weeks"
-msgstr ""
-
#: templates/web/zurich/admin/report_edit-sdm.html:38
#: templates/web/zurich/admin/report_edit.html:57
msgid "Reported:"
@@ -3052,13 +3077,13 @@ msgid "Reporting a problem"
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:655
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:383
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:388
#: templates/web/base/dashboard/index.html:134
#: templates/web/zurich/header.html:52
msgid "Reports"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:329 perllib/FixMyStreet/Cobrand/UK.pm:333
+#: perllib/FixMyStreet/Cobrand/UK.pm:333 perllib/FixMyStreet/Cobrand/UK.pm:335
msgid "Reports are limited to %s characters in length. Please shorten your report"
msgstr ""
@@ -3066,30 +3091,50 @@ msgstr ""
msgid "Reports awaiting approval"
msgstr ""
+#: templates/web/base/alert/_list.html:54
+msgid "Reports by destination"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:107
msgid "Reports made by trusted users will be sent to the responsible body without being inspected first."
msgstr ""
+#: templates/web/base/alert/_list.html:15
+msgid "Reports near %s are sent to different councils, depending on the type of problem."
+msgstr ""
+
#: templates/web/zurich/admin/index-sdm.html:10
msgid "Reports published"
msgstr ""
-#: templates/web/base/js/translation_strings.html:68
+#: templates/web/base/js/translation_strings.html:71
msgid "Reports saved offline."
msgstr ""
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+msgid "Reports sent to %s"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:290 perllib/FixMyStreet/Cobrand/UK.pm:302
+msgid "Reports sent to %s, within %s ward"
+msgstr ""
+
#: templates/web/base/admin/index.html:56
msgid "Reports waiting to be sent"
msgstr ""
-#: templates/web/base/admin/contact-form.html:89
+#: templates/web/base/admin/contact-form.html:90
msgid "Reports will automatically be sent without needing to be inspected if the user's <strong>reputation</strong> is at or above this value. Set to <strong>0</strong> if all reports must be inspected regardless."
msgstr ""
-#: templates/web/base/admin/contact-form.html:94
+#: templates/web/base/admin/contact-form.html:95
msgid "Reputation threshold"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:20
+msgid "Required"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:84
msgid "Resend report"
msgstr ""
@@ -3125,7 +3170,7 @@ msgstr ""
msgid "Revert to original"
msgstr ""
-#: templates/web/base/report/_main.html:95
+#: templates/web/base/report/_main.html:99
msgid "Revert to original text"
msgstr ""
@@ -3148,16 +3193,16 @@ msgstr ""
msgid "Road operator for this named road (from OpenStreetMap): %s"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1747
-#: templates/web/base/admin/report_edit.html:163
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1852
+#: templates/web/base/admin/report_edit.html:151
#: templates/web/base/admin/update_edit.html:66
#: templates/web/zurich/admin/report_edit.html:118
msgid "Rotate Left"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: templates/web/base/admin/report_edit.html:164
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: templates/web/base/admin/report_edit.html:152
#: templates/web/base/admin/update_edit.html:67
#: templates/web/zurich/admin/report_edit.html:119
msgid "Rotate Right"
@@ -3172,32 +3217,40 @@ msgstr ""
msgid "Satellite"
msgstr ""
-#: templates/web/base/report/_inspect.html:168
+#: templates/web/base/report/_inspect.html:182
msgid "Save + close as duplicate"
msgstr ""
-#: templates/web/base/admin/contact-form.html:137
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/contact-form.html:138
+#: templates/web/base/admin/reportextrafields/edit.html:64
+#: templates/web/base/admin/responsepriorities/edit.html:58
#: templates/web/base/admin/template_edit.html:46
-#: templates/web/base/report/_inspect.html:168
-#: templates/web/base/report/_main.html:113
-#: templates/web/base/report/update.html:60
+#: templates/web/base/report/_inspect.html:182
+#: templates/web/base/report/_main.html:117
+#: templates/web/base/report/update.html:69
#: templates/web/zurich/admin/body.html:62
-#: templates/web/zurich/admin/contact-form.html:20
+#: templates/web/zurich/admin/contact-form.html:22
#: templates/web/zurich/admin/template_edit.html:29
msgid "Save changes"
msgstr ""
-#: templates/web/base/report/_inspect.html:148
+#: templates/web/base/admin/reportextrafields/edit.html:64
+msgid "Save new fields"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:158
msgid "Save with a public update"
msgstr ""
-#. ('This is followed by a progress count, e.g. 3/5')
#. ("This is followed by a progress count, e.g. 3/5")
-#: templates/web/base/js/translation_strings.html:69
+#: templates/web/base/js/translation_strings.html:72
msgid "Saving reports offline"
msgstr ""
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:132
+msgid "Scheduled"
+msgstr ""
+
#: templates/web/base/admin/index.html:26
#: templates/web/base/admin/reports.html:1
#: templates/web/zurich/admin/reports.html:1
@@ -3231,41 +3284,41 @@ msgstr ""
msgid "See our privacy policy"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:715
+#: perllib/FixMyStreet/Cobrand/Default.pm:720
msgid "See user detail for reports created as the council"
msgstr ""
-#: templates/web/base/admin/body-form.html:39
+#: templates/web/base/admin/body-form.html:41
#: templates/web/zurich/admin/body-form.html:16
msgid "Select a body"
msgstr ""
-#: templates/web/base/reports/index.html:12
-msgid "Select a particular council to see the reports sent there."
-msgstr ""
-
-#: templates/web/base/admin/body-form.html:77
+#: templates/web/base/admin/body-form.html:79
#: templates/web/zurich/admin/body-form.html:26
msgid "Select an area"
msgstr ""
-#: templates/web/base/alert/_list.html:11
-msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
+#: templates/web/base/admin/responsepriorities/edit.html:33
+msgid "Select if this is the default priority"
msgstr ""
#: templates/web/base/admin/category-checkboxes.html:6
msgid "Select:"
msgstr ""
+#: templates/web/base/contact/index.html:107
+msgid "Send"
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:109
msgid "Send extended Open311 statuses with service request updates"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:826
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:831
msgid "Sent report back"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:804
+#: perllib/FixMyStreet/DB/Result/Problem.pm:741
msgid "Sent to %s %s later"
msgstr ""
@@ -3278,7 +3331,7 @@ msgstr ""
msgid "Service:"
msgstr ""
-#: templates/web/base/report/_inspect.html:31
+#: templates/web/base/report/_inspect.html:41
msgid "Set to my current location"
msgstr ""
@@ -3287,20 +3340,25 @@ msgid "Share"
msgstr ""
#: templates/web/base/main_nav_items.html:10
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:21
#: templates/web/base/report/_main.html:29
msgid "Shortlist"
msgstr ""
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/reports/body.html:32
+msgid "Shortlist all visible"
+msgstr ""
+
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:20
#: templates/web/base/report/_main.html:25
#: templates/web/base/reports/_list-filters.html:9
msgid "Shortlisted"
msgstr ""
-#: templates/web/base/report/_main.html:144
+#: templates/web/base/report/_item.html:15
+#: templates/web/base/report/_main.html:148
msgid "Shortlisted by %s"
msgstr ""
@@ -3308,9 +3366,13 @@ msgstr ""
msgid "Show Photo?"
msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:54
+#: templates/web/base/questionnaire/index.html:26
+msgid "Show all updates"
+msgstr ""
+
+#: templates/web/base/report/new/form_user_loggedin.html:56
#: templates/web/base/report/new/form_user_loggedout_by_email.html:22
-#: templates/web/base/report/update/form_name.html:33
+#: templates/web/base/report/update/form_name.html:37
msgid "Show my name publicly"
msgstr ""
@@ -3322,11 +3384,12 @@ msgstr ""
msgid "Show old"
msgstr ""
-#: templates/web/base/report/_main.html:79
+#: templates/web/base/report/_main.html:83
msgid "Show photo"
msgstr ""
#: templates/web/base/around/display_location.html:60
+#: templates/web/base/js/translation_strings.html:54
msgid "Show pins"
msgstr ""
@@ -3334,16 +3397,20 @@ msgstr ""
msgid "Show reporter&rsquo;s name"
msgstr ""
-#: templates/web/base/auth/general.html:117
+#: templates/web/base/reports/index.html:62
+msgid "Show reports in your area"
+msgstr ""
+
+#: templates/web/base/auth/general.html:119
#: templates/web/base/auth/general.html:3
-#: templates/web/base/auth/general.html:86
+#: templates/web/base/auth/general.html:88
#: templates/web/base/main_nav_items.html:6
#: templates/web/zurich/auth/general.html:18
#: templates/web/zurich/auth/general.html:35
msgid "Sign in"
msgstr ""
-#: templates/web/base/auth/general.html:96
+#: templates/web/base/auth/general.html:98
msgid "Sign in by email instead, providing a new password. When you click the link in your email, your password will be updated."
msgstr ""
@@ -3389,14 +3456,14 @@ msgstr ""
msgid "Sorry, there has been an error confirming your problem."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:230
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:235
#: perllib/FixMyStreet/Geocode.pm:37 perllib/FixMyStreet/Geocode/Bing.pm:38
#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:56
#: perllib/FixMyStreet/Geocode/OSM.pm:48
msgid "Sorry, we could not find that location."
msgstr ""
-#: templates/web/base/auth/general.html:9
+#: templates/web/base/auth/general.html:11
#: templates/web/base/report/display.html:29
#: templates/web/base/report/new/fill_in_details_form.html:15
msgid "Sorry, we could not log you in. Please fill in the form below."
@@ -3418,11 +3485,11 @@ msgid ""
"page wasn’t found or there was a server error. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Root.pm:107
+#: perllib/FixMyStreet/App/Controller/Root.pm:124
msgid "Sorry, you don't have permission to do that."
msgstr ""
-#: templates/web/base/reports/_list-filters.html:42
+#: templates/web/base/reports/_list-filters.html:53
msgid "Sort by"
msgstr ""
@@ -3439,17 +3506,24 @@ msgid "Start Date:"
msgstr ""
#: templates/web/base/admin/body.html:73
+#: templates/web/base/admin/category_edit.html:29
+#: templates/web/base/admin/contact-form.html:53
#: templates/web/base/admin/flagged.html:18
#: templates/web/base/admin/index.html:64
#: templates/web/base/admin/list_updates.html:11
#: templates/web/base/admin/reports.html:16
#: templates/web/base/admin/template_edit.html:40
-#: templates/web/base/report/_inspect.html:83
-#: templates/web/base/report/_item.html:94
+#: templates/web/base/report/_inspect.html:82
+#: templates/web/base/report/_item.html:96
#: templates/web/base/report/update/form_update.html:39
+#: templates/web/zurich/admin/contact-form.html:10
msgid "State"
msgstr ""
+#: templates/web/base/report/update.html:48
+msgid "State changed to:"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:116
#: templates/web/base/admin/update_edit.html:28
#: templates/web/zurich/admin/report_edit-sdm.html:75
@@ -3459,8 +3533,13 @@ msgstr ""
msgid "State:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:640
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:386
+#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: templates/web/base/admin/states/index.html:1
+msgid "States"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
#: templates/web/base/admin/index.html:71 templates/web/base/admin/stats.html:1
#: templates/web/base/admin/stats_by_state.html:1
#: templates/web/zurich/admin/stats.html:1 templates/web/zurich/header.html:65
@@ -3482,6 +3561,10 @@ msgstr ""
msgid "Street View"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:46
+msgid "String"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:192
msgid "Subcategory: %s"
msgstr ""
@@ -3490,7 +3573,7 @@ msgstr ""
msgid "Subdivision/Body"
msgstr ""
-#: templates/web/base/contact/index.html:88
+#: templates/web/base/contact/index.html:92
msgid "Subject"
msgstr ""
@@ -3500,14 +3583,14 @@ msgid "Subject:"
msgstr ""
#: templates/web/base/questionnaire/creator_fixed.html:19
-#: templates/web/base/report/new/form_user_loggedin.html:61
+#: templates/web/base/report/new/form_user_loggedin.html:63
#: templates/web/base/report/new/form_user_loggedout_by_email.html:36
#: templates/web/base/report/new/form_user_loggedout_password.html:11
#: templates/web/zurich/report/new/fill_in_details_form.html:73
msgid "Submit"
msgstr ""
-#: templates/web/base/admin/report_edit.html:174
+#: templates/web/base/admin/report_edit.html:162
#: templates/web/base/admin/report_edit.html:24
#: templates/web/base/admin/update_edit.html:77
#: templates/web/base/admin/user-form.html:170
@@ -3521,8 +3604,8 @@ msgstr ""
msgid "Submit questionnaire"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:164
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:893
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:898
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:6
#: templates/web/zurich/admin/index-dm.html:23
@@ -3532,36 +3615,37 @@ msgstr ""
msgid "Submitted"
msgstr ""
+#: templates/web/base/alert/_list.html:77
+#: templates/web/base/alert/_list.html:80
#: templates/web/base/alert/updates.html:23
#: templates/web/base/report/display_tools.html:51
msgid "Subscribe"
msgstr ""
-#: templates/web/base/alert/_list.html:93
-msgid "Subscribe me to an email alert"
+#: templates/web/base/alert/_list.html:72
+msgid "Subscribe by email"
msgstr ""
#: templates/web/base/report/new/form_report.html:19
msgid "Summarise the problem"
msgstr ""
-#: templates/web/base/admin/contact-form.html:129
+#: templates/web/base/admin/contact-form.html:130
msgid "Summarise your changes"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:638
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:382
+#: perllib/FixMyStreet/Cobrand/Default.pm:637
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:387
#: templates/web/base/admin/bodies.html:29
#: templates/web/base/admin/index.html:1 templates/web/base/status/index.html:1
#: templates/web/base/status/index.html:3
#: templates/web/zurich/admin/index-dm.html:1
#: templates/web/zurich/admin/index-sdm.html:1
-#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:13
+#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:12
#: templates/web/zurich/header.html:49
msgid "Summary"
msgstr ""
-#: templates/web/base/reports/index.html:4
#: templates/web/zurich/reports/index.html:0
#: templates/web/zurich/reports/index.html:4
msgid "Summary reports"
@@ -3585,7 +3669,7 @@ msgid "Template &laquo;%s&raquo;"
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:661
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:393
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
#: templates/web/zurich/header.html:69
msgid "Templates"
msgstr ""
@@ -3614,7 +3698,7 @@ msgstr ""
msgid "Thank you for trying to confirm your update or problem. We seem to have an error ourselves though, so <a href=\"%s\">please let us know what went on</a> and we'll look into it."
msgstr ""
-#: templates/web/base/tokens/confirm_update.html:15
+#: templates/web/base/tokens/confirm_update.html:16
msgid "Thank you for updating this issue!"
msgstr ""
@@ -3642,7 +3726,7 @@ msgstr ""
msgid "That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Location.pm:129
+#: perllib/FixMyStreet/App/Controller/Location.pm:127
msgid "That location does not appear to be in the UK; please try again."
msgstr ""
@@ -3652,23 +3736,23 @@ msgstr ""
msgid "That postcode was not recognised, sorry."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:762
+#: perllib/FixMyStreet/App/Controller/Admin.pm:850
msgid "That problem has been marked as sent."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:755
+#: perllib/FixMyStreet/App/Controller/Admin.pm:843
msgid "That problem will now be resent."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report.pm:137
+#: perllib/FixMyStreet/App/Controller/Report.pm:134
msgid "That report cannot be viewed on %s."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report.pm:131
+#: perllib/FixMyStreet/App/Controller/Report.pm:128
msgid "That report has been removed from FixMyStreet."
msgstr ""
-#: templates/web/base/admin/contact-form.html:25
+#: templates/web/base/admin/contact-form.html:27
msgid ""
"The <strong>email address</strong> is the destination to which reports about this category will be sent. \n"
" Other categories for this body may have the same email address."
@@ -3688,10 +3772,10 @@ msgid ""
" than one. If the body is running its own endpoint, you can usually leave this blank."
msgstr ""
-#: templates/web/base/admin/body-form.html:100
-#: templates/web/base/admin/body-form.html:101
-#: templates/web/base/admin/contact-form.html:103
+#: templates/web/base/admin/body-form.html:102
+#: templates/web/base/admin/body-form.html:103
#: templates/web/base/admin/contact-form.html:104
+#: templates/web/base/admin/contact-form.html:105
msgid ""
"The <strong>send method</strong> determines how problem reports will be sent to the body.\n"
" If you leave this blank, <strong>send method defaults to email</strong>."
@@ -3708,6 +3792,10 @@ msgid ""
" and may be displayed publically."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:12
+msgid "The code used to store this field value in the database. e.g. <code>address</code> would be available as <code>problem.extra.address</code> in the templates."
+msgstr ""
+
#: templates/web/base/report/new/fill_in_details_text.html:1
#: templates/web/base/report/new/fill_in_details_text.html:3
msgid "The council won&rsquo;t be able to help unless you leave as much detail as you can. Please describe the exact location of the problem (e.g. on a wall), what it is, how long it has been there, a description (and a photo of the problem if you have one), etc."
@@ -3718,11 +3806,15 @@ msgstr ""
msgid "The diligency prize league table shows editors' activity (who's been editing the most records)."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:61
-#: perllib/FixMyStreet/App/Controller/Reports.pm:82
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:63
+#: perllib/FixMyStreet/App/Controller/Reports.pm:103
msgid "The error was: %s"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:30
+msgid "The field name as shown to the user on the report form."
+msgstr ""
+
#: templates/web/base/open311/index.html:78
msgid "The following Open311 v2 attributes are returned for each request: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
msgstr ""
@@ -3761,10 +3853,14 @@ msgstr ""
msgid "The link might have expired, or maybe you didn&rsquo;t quite copy and paste it correctly."
msgstr ""
-#: templates/web/base/admin/body-form.html:64
+#: templates/web/base/admin/body-form.html:66
msgid "The list of available areas is being provided by the MapIt service at %s."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:6
+msgid "The ordering of this field on the report page. Fields are shown in ascending order according to this value."
+msgstr ""
+
#: templates/web/base/auth/change_password.html:22
#: templates/web/base/auth/change_password.html:26
msgid "The passwords do not match"
@@ -3774,8 +3870,8 @@ msgstr ""
msgid "The requested URL '%s' was not found on this server"
msgstr ""
-#: templates/web/base/alert/_list.html:17
-msgid "The simplest alert is our geographic one:"
+#: templates/web/base/admin/extra-metadata-form.html:42
+msgid "The type of input field to show to the user. <strong>Text</strong> is a simple text field, <strong>List</strong> is a drop-down selection."
msgstr ""
#: perllib/FixMyStreet/Script/Reports.pm:96
@@ -3795,18 +3891,18 @@ msgstr ""
msgid "There are no reports to show."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Reports.pm:79
+#: perllib/FixMyStreet/App/Controller/Reports.pm:100
msgid "There was a problem showing the All Reports page. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:137
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:60
+#: perllib/FixMyStreet/App/Controller/Contact.pm:138
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:62
msgid "There was a problem showing this page. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:758
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:785
#: perllib/FixMyStreet/App/Controller/Report/Update.pm:152
-#: templates/web/base/auth/general.html:53
+#: templates/web/base/auth/general.html:55
#: templates/web/zurich/auth/general.html:28
msgid "There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the &lsquo;sign in by email&rsquo; section of the form."
msgstr ""
@@ -3819,7 +3915,7 @@ msgstr ""
msgid "There was a problem with your update. Please try again."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:141
+#: perllib/FixMyStreet/App/Controller/Contact.pm:142
msgid "There were problems with your report. Please see below."
msgstr ""
@@ -3871,8 +3967,8 @@ msgstr ""
msgid "This body has no contacts. This means that currently problems reported to this body <strong>will not be sent</strong>."
msgstr ""
-#: templates/web/base/admin/body-form.html:58
-#: templates/web/base/admin/body-form.html:59
+#: templates/web/base/admin/body-form.html:60
+#: templates/web/base/admin/body-form.html:61
msgid ""
"This body will only be sent reports for problems that are located in the <strong>area covered</strong>.\n"
" A body will not receive any reports unless it covers at least one area."
@@ -3886,8 +3982,9 @@ msgstr ""
msgid "This email has been sent to several councils covering the location of the problem, as the category selected is provided for all of them; please ignore it if you're not the correct council to deal with the issue."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:881
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:925
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1017
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:910
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:954
#: perllib/FixMyStreet/App/Controller/Report/New.pm:971
#: perllib/FixMyStreet/Cobrand/UK.pm:45
msgid "This information is required"
@@ -3897,23 +3994,19 @@ msgstr ""
msgid "This is a developer site; things might break at any time, and the database will be periodically deleted."
msgstr ""
-#: templates/web/base/reports/index.html:10
-msgid "This is a summary of all reports on this site."
-msgstr ""
-
-#: templates/web/base/report/new/form_report.html:56
+#: templates/web/base/report/new/form_report.html:58
msgid "This pothole has been here for two months and…"
msgstr ""
-#: templates/web/base/report/update/form_update.html:63
+#: templates/web/base/report/update/form_update.html:55
msgid "This problem has been fixed"
msgstr ""
-#: templates/web/base/report/update/form_update.html:56
+#: templates/web/base/report/update/form_update.html:48
msgid "This problem has not been fixed"
msgstr ""
-#: templates/web/base/report/update/form_update.html:54
+#: templates/web/base/report/update/form_update.html:46
msgid "This problem is still ongoing"
msgstr ""
@@ -3921,21 +4014,21 @@ msgstr ""
msgid "This report is a duplicate. Please leave updates on the original report:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:161
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:162
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:166
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:167
#: templates/web/zurich/report/_main.html:14
msgid "This report is awaiting moderation."
msgstr ""
-#: perllib/FixMyStreet/Script/Alerts.pm:101
+#: perllib/FixMyStreet/Script/Alerts.pm:98
msgid "This report is currently marked as closed."
msgstr ""
-#: perllib/FixMyStreet/Script/Alerts.pm:99
+#: perllib/FixMyStreet/Script/Alerts.pm:96
msgid "This report is currently marked as fixed."
msgstr ""
-#: perllib/FixMyStreet/Script/Alerts.pm:103
+#: perllib/FixMyStreet/Script/Alerts.pm:100
msgid "This report is currently marked as open."
msgstr ""
@@ -3954,7 +4047,7 @@ msgstr ""
msgid "Time spent (in minutes):"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Default.pm:638
#: templates/web/base/admin/timeline.html:1
msgid "Timeline"
msgstr ""
@@ -3983,10 +4076,26 @@ msgstr ""
msgid "To find out what local alerts we have for you, please enter your postcode or street name and area"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:19
+msgid "To limit this collection of fields to a single cobrand, select it here."
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:40
+msgid "To limit this collection of fields to a single language, select it here."
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:95
msgid "To view a map of the precise location of this issue"
msgstr ""
+#: templates/web/base/reports/index.html:97
+msgid "Top 5 most used categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:83
+msgid "Top 5 responsive councils"
+msgstr ""
+
#: templates/web/base/admin/questionnaire.html:24
#: templates/web/base/admin/stats.html:24
#: templates/web/base/admin/stats.html:43
@@ -4012,16 +4121,24 @@ msgstr ""
msgid "Total reports received"
msgstr ""
-#: templates/web/base/report/_inspect.html:124
-#: templates/web/base/report/_item.html:102
+#: templates/web/base/report/_inspect.html:134
+#: templates/web/base/report/_item.html:104
msgid "Traffic management required?"
msgstr ""
+#: templates/web/base/admin/_translations.html:7
+msgid "Translation"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:2
+msgid "Translations"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:111
msgid "Trusted by bodies:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:721
+#: perllib/FixMyStreet/Cobrand/Default.pm:726
msgid "Trusted to make reports that don't need to be inspected"
msgstr ""
@@ -4037,8 +4154,14 @@ msgstr ""
msgid "Try emailing us directly:"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:21
+#: templates/web/base/admin/extra-metadata-form.html:44
+#: templates/web/base/admin/states/index.html:10
+#: templates/web/base/admin/states/index.html:100
+msgid "Type"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:59
+#: templates/web/base/admin/contact-form.html:55
#: templates/web/base/admin/update_edit.html:30
#: templates/web/zurich/admin/report_edit-sdm.html:66
#: templates/web/zurich/admin/report_edit.html:94
@@ -4046,7 +4169,6 @@ msgstr ""
msgid "Unconfirmed"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:12
#: templates/web/base/reports/_list-filters.html:5
msgid "Unfixed reports"
msgstr ""
@@ -4060,14 +4182,14 @@ msgid "Unknown alert type"
msgstr ""
#: perllib/FixMyStreet/App/Controller/Photo.pm:109
-#: perllib/FixMyStreet/App/Controller/Root.pm:124
+#: perllib/FixMyStreet/App/Controller/Root.pm:141
#: templates/web/base/js/translation_strings.html:38
msgid "Unknown error"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report.pm:115
+#: perllib/FixMyStreet/App/Controller/Report.pm:112
+#: perllib/FixMyStreet/App/Controller/Report.pm:118
#: perllib/FixMyStreet/App/Controller/Report.pm:121
-#: perllib/FixMyStreet/App/Controller/Report.pm:124
msgid "Unknown problem ID"
msgstr ""
@@ -4075,10 +4197,11 @@ msgstr ""
msgid "Unshortlisted"
msgstr ""
-#: templates/web/base/report/_item.html:24
+#: templates/web/base/report/_item.html:26
msgid "Up one"
msgstr ""
+#: templates/web/base/admin/states/index.html:76
#: templates/web/base/report/update/form_update.html:29
msgid "Update"
msgstr ""
@@ -4095,7 +4218,7 @@ msgstr ""
msgid "Update below added by %s at %s"
msgstr ""
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Update body"
msgstr ""
@@ -4131,13 +4254,21 @@ msgstr ""
msgid "Updated"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1157
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1221
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1384
-#: perllib/FixMyStreet/App/Controller/Admin.pm:822
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:762
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:787
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:857
+#: perllib/FixMyStreet/DB/Result/Comment.pm:249
+msgid "Updated by <strong>%s</strong> (%s) at %s"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:251
+msgid "Updated by <strong>%s</strong> at %s"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1262
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1326
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1489
+#: perllib/FixMyStreet/App/Controller/Admin.pm:910
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:767
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:792
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:862
msgid "Updated!"
msgstr ""
@@ -4147,7 +4278,7 @@ msgstr ""
msgid "Updates"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:133
+#: perllib/FixMyStreet/DB/Result/Comment.pm:134
msgid "Updates are limited to %s characters in length. Please shorten your update"
msgstr ""
@@ -4161,11 +4292,22 @@ msgstr ""
msgid "Updates to this problem, %s"
msgstr ""
+#: templates/web/base/admin/contact-form.html:43
+#: templates/web/base/admin/contact-form.html:44
+msgid ""
+"Use <strong>confirmed</strong> to indicate that this contact has been\n"
+"confirmed as correct. If you are not sure of the origin or validity of the\n"
+"contact, use <strong>unconfirmed</strong>. <strong>inactive</strong> will\n"
+"remove the category from use when reporting problems, but keep it available in\n"
+"map filters, and <strong>deleted</strong> will remove the category from there\n"
+"as well."
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:65
msgid "Use Open311 update-sending extension"
msgstr ""
-#: templates/web/base/admin/contact-form.html:124
+#: templates/web/base/admin/contact-form.html:125
msgid "Use this field to record details that are only displayed in the admin. Input is not shown publicly, and is not sent to the body."
msgstr ""
@@ -4178,11 +4320,11 @@ msgstr ""
msgid "User ID to attribute fetched comments to"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1700
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1805
msgid "User flag removed"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1672
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1777
msgid "User flagged"
msgstr ""
@@ -4196,8 +4338,8 @@ msgid "User search finds matches in users' names and email addresses."
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:669
-#: perllib/FixMyStreet/Cobrand/Default.pm:723
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
+#: perllib/FixMyStreet/Cobrand/Default.pm:728
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:403
#: templates/web/base/admin/flagged.html:29 templates/web/zurich/header.html:61
msgid "Users"
msgstr ""
@@ -4206,9 +4348,9 @@ msgstr ""
msgid "Users can perform the following actions within their assigned body or area."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:400
-#: perllib/FixMyStreet/App/Controller/Admin.pm:430
-#: perllib/FixMyStreet/App/Controller/Admin.pm:448
+#: perllib/FixMyStreet/App/Controller/Admin.pm:381
+#: perllib/FixMyStreet/App/Controller/Admin.pm:417
+#: perllib/FixMyStreet/App/Controller/Admin.pm:439
msgid "Values updated"
msgstr ""
@@ -4255,7 +4397,7 @@ msgstr ""
msgid "We found more than one match for that problem reference:"
msgstr ""
-#: templates/web/base/auth/general.html:6
+#: templates/web/base/auth/general.html:8
#: templates/web/base/report/display.html:35
#: templates/web/base/report/new/oauth_email_form.html:5
msgid "We need your email address, please give it below."
@@ -4290,7 +4432,7 @@ msgstr ""
msgid "What was your experience of getting the problem fixed?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:52
+#: templates/web/base/admin/category_edit.html:27
#: templates/web/zurich/admin/body.html:18
msgid "When edited"
msgstr ""
@@ -4299,11 +4441,19 @@ msgstr ""
msgid "When sent"
msgstr ""
-#: templates/web/base/report/_inspect.html:89
+#: templates/web/base/admin/extra-metadata-form.html:18
+msgid "Whether the user is required to provide a value for this field."
+msgstr ""
+
+#: templates/web/base/alert/_list.html:9
+msgid "Which problems do you want alerts about?"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:99
msgid "Which report is it a duplicate of?"
msgstr ""
-#: templates/web/base/js/translation_strings.html:54
+#: templates/web/base/js/translation_strings.html:57
msgid "Whoa there Testino! Three photos are enough."
msgstr ""
@@ -4311,8 +4461,8 @@ msgstr ""
msgid "Why stop there? <a href=\"/alert\">Set up more alerts</a> for free."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:185
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:190
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:14
msgid "Wish"
@@ -4322,7 +4472,7 @@ msgstr ""
msgid "With request searches, it is also possible to search for agency_responsible to limit the requests to those sent to a single administration. The search term is the administration ID provided by <a href=\"%s\">MaPit</a>."
msgstr ""
-#: templates/web/base/front/footer-marketing.html:17
+#: templates/web/base/front/footer-marketing.html:3
msgid "Would you like to contribute to FixMyStreet? Our code is open source and <a href=\"http://fixmystreet.org\">available at fixmystreet.org</a>."
msgstr ""
@@ -4347,23 +4497,22 @@ msgstr ""
msgid "Year"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:1202
+#: perllib/FixMyStreet/Cobrand/Default.pm:1236
#: templates/web/base/admin/bodies.html:70
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
#: templates/web/base/admin/category_edit.html:5
#: templates/web/base/admin/flagged.html:47
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:136
+#: templates/web/base/admin/report_edit.html:124
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:25
#: templates/web/base/admin/users.html:32
#: templates/web/base/questionnaire/creator_fixed.html:14
#: templates/web/base/questionnaire/index.html:104
#: templates/web/base/questionnaire/index.html:53
+#: templates/web/base/report/_inspect.html:90
msgid "Yes"
msgstr ""
@@ -4376,7 +4525,7 @@ msgstr ""
msgid "You are complaining that this problem report was unnecessarily moderated:"
msgstr ""
-#: templates/web/base/js/translation_strings.html:70
+#: templates/web/base/js/translation_strings.html:73
msgid "You are offline"
msgstr ""
@@ -4397,7 +4546,11 @@ msgstr ""
msgid "You can add an abusive user's email to the abuse list, which automatically hides (and never sends) reports they create."
msgstr ""
-#: templates/web/base/contact/index.html:111
+#: templates/web/base/alert/_list.html:18
+msgid "You can choose to subscribe to all problems reported in an area, or reports based on their destination."
+msgstr ""
+
+#: templates/web/base/contact/index.html:115
msgid "You can contact technical support on <a href='mailto:%s'>%s</a>"
msgstr ""
@@ -4415,7 +4568,7 @@ msgstr ""
msgid "You can help us by finding a contact email address for local problems for %s and emailing it to us at <a href='mailto:%s'>%s</a>."
msgstr ""
-#: templates/web/base/admin/body-form.html:91
+#: templates/web/base/admin/body-form.html:93
msgid "You can mark a body as deleted if you do not want it to be active on the site."
msgstr ""
@@ -4423,7 +4576,7 @@ msgstr ""
msgid "You declined; please fill in the box above"
msgstr ""
-#: templates/web/base/js/translation_strings.html:72
+#: templates/web/base/js/translation_strings.html:75
msgid "You have <a id=\"oFN\" href=\"\"><span>%s</span> saved to submit</a>."
msgstr ""
@@ -4431,7 +4584,7 @@ msgstr ""
msgid "You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"
msgstr ""
-#: templates/web/base/report/new/form_report.html:37
+#: templates/web/base/report/new/form_report.html:39
#: templates/web/zurich/report/new/fill_in_details_form.html:30
msgid "You have already attached photos to this report. Note that you can attach a maximum of 3 to this report (if you try to upload more, the oldest will be removed)."
msgstr ""
@@ -4489,10 +4642,9 @@ msgstr ""
msgid "Your account"
msgstr ""
-#: templates/web/base/alert/_list.html:90
#: templates/web/base/alert/updates.html:19
#: templates/web/base/alert/updates.html:22
-#: templates/web/base/contact/index.html:81
+#: templates/web/base/contact/index.html:80
#: templates/web/base/report/display_tools.html:46
#: templates/web/base/report/display_tools.html:49
#: templates/web/base/report/new/form_user_loggedout_email.html:1
@@ -4502,7 +4654,7 @@ msgid "Your email"
msgstr ""
#: templates/web/base/auth/change_email.html:9
-#: templates/web/base/auth/general.html:55
+#: templates/web/base/auth/general.html:57
#: templates/web/base/report/update/form_user_loggedout_email.html:5
#: templates/web/zurich/auth/general.html:30
#: templates/web/zurich/auth/general.html:58
@@ -4513,20 +4665,32 @@ msgstr ""
msgid "Your information will only be used in accordance with our <a href=\"/privacy\">privacy policy</a>"
msgstr ""
-#: templates/web/base/auth/general.html:107
+#: templates/web/base/auth/general.html:109
#: templates/web/base/contact/index.html:74
#: templates/web/base/report/new/form_user_loggedout_by_email.html:17
-#: templates/web/base/report/update/form_name.html:29
+#: templates/web/base/report/update/form_name.html:33
#: templates/web/zurich/auth/general.html:61
#: templates/web/zurich/report/new/fill_in_details_form.html:63
msgid "Your name"
msgstr ""
-#: templates/web/base/js/translation_strings.html:62
+#: templates/web/base/my/anonymize.html:13
+msgid "Your name has already been sent to %s, but we can hide it on this page:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:264
+msgid "Your name has been hidden from all your reports and updates."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:260
+msgid "Your name has been hidden."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:65
msgid "Your offline reports"
msgstr ""
-#: templates/web/base/auth/general.html:85
+#: templates/web/base/auth/general.html:87
#: templates/web/base/report/new/form_user_loggedout_password.html:10
#: templates/web/base/report/update/form_user_loggedout_password.html:9
#: templates/web/zurich/auth/general.html:34
@@ -4537,6 +4701,7 @@ msgstr ""
msgid "Your password has been changed"
msgstr ""
+#: templates/web/base/contact/index.html:87
#: templates/web/base/report/new/form_user_loggedout_by_email.html:26
#: templates/web/zurich/report/new/fill_in_details_form.html:69
msgid "Your phone number"
@@ -4555,7 +4720,7 @@ msgstr ""
msgid "Your shortlist"
msgstr ""
-#: templates/web/base/js/translation_strings.html:63
+#: templates/web/base/js/translation_strings.html:66
msgid "Your update has been saved offline for submission when back online."
msgstr ""
@@ -4563,8 +4728,8 @@ msgstr ""
msgid "Your updates"
msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:18
-#: templates/web/base/report/update/form_name.html:11
+#: templates/web/base/report/new/form_user_loggedin.html:19
+#: templates/web/base/report/update/form_name.html:12
msgid "Yourself"
msgstr ""
@@ -4573,12 +4738,12 @@ msgstr ""
msgid "all"
msgstr ""
-#: templates/web/base/admin/timeline.html:4
-msgid "by %s"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:259
+msgid "and a defect raised"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:290
-msgid "closed as a duplicate report"
+#: templates/web/base/admin/timeline.html:4
+msgid "by %s"
msgstr ""
#: templates/web/base/reports/body.html:6
@@ -4605,7 +4770,7 @@ msgstr ""
msgid "from %s different users"
msgstr ""
-#: templates/web/base/report/_item.html:61
+#: templates/web/base/report/_item.html:63
#: templates/web/zurich/report/_item.html:14
msgid "last updated %s"
msgstr ""
@@ -4614,44 +4779,7 @@ msgstr ""
msgid "less than a minute"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:280
-msgid "marked as action scheduled"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:292
-msgid "marked as an internal referral"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:282
-msgid "marked as closed"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:263
-#: perllib/FixMyStreet/DB/Result/Comment.pm:284
-msgid "marked as fixed"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:278
-msgid "marked as in progress"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:274
-msgid "marked as investigating"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:286
-msgid "marked as no further action"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:288
-msgid "marked as not the council's responsibility"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:276
-msgid "marked as planned"
-msgstr ""
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:122
+#: perllib/FixMyStreet/App/Controller/Admin.pm:119
#: templates/web/base/admin/questionnaire.html:15
#: templates/web/base/admin/questionnaire.html:16
msgid "n/a"
@@ -4662,12 +4790,8 @@ msgstr ""
msgid "none"
msgstr ""
-#: templates/web/base/admin/category_edit.html:35
-msgid "optional"
-msgstr ""
-
-#: templates/web/base/alert/_list.html:86
-msgid "or"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:278
+msgid "not the council's responsibility"
msgstr ""
#: templates/web/base/js/translation_strings.html:27
@@ -4693,16 +4817,7 @@ msgstr ""
msgid "other areas:"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:265
-#: perllib/FixMyStreet/DB/Result/Comment.pm:271
-msgid "reopened"
-msgstr ""
-
-#: templates/web/base/admin/category_edit.html:35
-msgid "required"
-msgstr ""
-
-#: templates/web/zurich/footer.html:13
+#: templates/web/zurich/footer.html:12
msgid "sign out"
msgstr ""
@@ -4710,11 +4825,15 @@ msgstr ""
msgid "the local council"
msgstr ""
-#: templates/web/base/report/_report_meta_info.html:2
+#: templates/web/base/report/_report_meta_info.html:5
#: templates/web/zurich/report/_main.html:5
msgid "there is no pin shown as the user did not use the map"
msgstr ""
+#: templates/web/base/alert/_list.html:1
+msgid "this location"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:184
msgid "this type of local problem"
msgstr ""
@@ -4723,14 +4842,13 @@ msgstr ""
msgid "today"
msgstr ""
-#: templates/web/base/js/translation_strings.html:73
+#: templates/web/base/js/translation_strings.html:76
msgid "update"
msgstr ""
-#: templates/web/base/js/translation_strings.html:74
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:77
msgid "updates"
-msgstr "כפול"
+msgstr ""
#: templates/web/base/admin/report_edit.html:52
msgid "used map"
@@ -4805,6 +4923,41 @@ msgid_plural "%d years"
msgstr[0] ""
msgstr[1] ""
+#: templates/web/base/reports/index.html:92
+#, perl-format
+msgid "%s day"
+msgid_plural "%s days"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:55
+#, perl-format
+msgid "%s problem marked as fixed"
+msgid_plural "%s problems marked as fixed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:43
+#, perl-format
+msgid "%s problem reported"
+msgid_plural "%s problems reported"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:107
+#, perl-format
+msgid "%s report"
+msgid_plural "%s reports"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:49
+#, perl-format
+msgid "%s update on problems"
+msgid_plural "%s updates on problems"
+msgstr[0] ""
+msgstr[1] ""
+
#: templates/web/base/front/stats.html:19
#, perl-format
msgid "<big>%s</big> fixed in past month"
@@ -4833,7 +4986,7 @@ msgid_plural "<big>%s</big> updates on reports"
msgstr[0] ""
msgstr[1] ""
-#: templates/web/base/report/_item.html:49
+#: templates/web/base/report/_item.html:51
#, perl-format
msgid "Reported %d day ago"
msgid_plural "Reported %d days ago"
@@ -4854,7 +5007,7 @@ msgid_plural "We do not yet have details for the councils that cover this locati
msgstr[0] ""
msgstr[1] ""
-#: templates/web/base/report/_item.html:59
+#: templates/web/base/report/_item.html:61
#, perl-format
msgid "last updated %d day ago"
msgid_plural "last updated %d days ago"
@@ -4868,6 +5021,5 @@ msgid_plural "reports"
msgstr[0] ""
msgstr[1] ""
-#, fuzzy
-#~ msgid "Report category:"
-#~ msgstr "צור קטגוריה"
+#~ msgid "Duplicate"
+#~ msgstr "כפול"
diff --git a/locale/hr.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/hr.UTF-8/LC_MESSAGES/FixMyStreet.po
index 37b2203f7..427e37d57 100644
--- a/locale/hr.UTF-8/LC_MESSAGES/FixMyStreet.po
+++ b/locale/hr.UTF-8/LC_MESSAGES/FixMyStreet.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
-"POT-Creation-Date: 2017-03-30 17:33+0100\n"
+"POT-Creation-Date: 2017-09-13 15:40+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: mySociety <transifex@mysociety.org>, 2016\n"
+"Last-Translator: mySociety <transifex@mysociety.org>, 2017\n"
"Language-Team: Croatian (https://www.transifex.com/mysociety/teams/12067/hr/)\n"
"Language: hr\n"
"MIME-Version: 1.0\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"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"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:695
+#: perllib/FixMyStreet/DB/Result/Problem.pm:632
#: perllib/FixMyStreet/Script/Reports.pm:197
msgid " and "
msgstr "i"
@@ -91,25 +91,6 @@ msgstr "%s Upitnici poslani &ndash; %s odgovoreno (%s%%)"
msgid "%s ref:&nbsp;%s"
msgstr "%s ref:&nbsp;%s"
-#. ("%s is the site name")
-#: templates/web/base/alert/_list.html:74
-msgid ""
-"%s sends different categories of problem\n"
-"to the appropriate council, so problems within the boundary of a particular council\n"
-"might not match the problems sent to that council. For example, a graffiti report\n"
-"will be sent to the district council, so will appear in both of the district\n"
-"council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
-"for the county council."
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:257 perllib/FixMyStreet/Cobrand/UK.pm:269
-msgid "%s ward, %s"
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
-msgid "%s, within %s ward"
-msgstr ""
-
#: perllib/FixMyStreet/Map/OSM.pm:38
msgid "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"
msgstr ""
@@ -118,7 +99,7 @@ msgstr ""
msgid "(Defect &amp; location of defect)"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
#: templates/web/base/admin/users.html:32
msgid "(Email in abuse table)"
msgstr "(Email na crnoj listi)"
@@ -133,28 +114,36 @@ msgstr ""
msgid "(No phone number)"
msgstr ""
-#: templates/web/base/alert/_list.html:25
-msgid "(a default distance which covers roughly 200,000 people)"
-msgstr "(zadana udaljenost koja obuhvaća približno 200,000 stanovnika)"
-
-#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
-#: templates/web/base/alert/_list.html:30
-msgid "(alternatively the RSS feed can be customised, within %s)"
+#: templates/web/base/admin/states/index.html:95
+msgid "(a-z and space only)"
msgstr ""
#: templates/web/zurich/report/_item.html:19
msgid "(closed)"
msgstr "(zatvoreno)"
+#: templates/web/base/alert/_list.html:30
+#, fuzzy
+msgid "(covers roughly 200,000 people)"
+msgstr "(zadana udaljenost koja obuhvaća približno 200,000 stanovnika)"
+
#: templates/web/zurich/report/_item.html:17
msgid "(fixed)"
msgstr "(popravljeno)"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "(ignored if type is \"String\")"
+msgstr ""
+
#: templates/web/base/around/intro.html:2
msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
msgstr "(grafiti, ilegalno odlaganje otpada, oštećeni kolnici, klupe, lampe...)"
-#: templates/web/base/report/_item.html:68
+#: templates/web/base/reports/index.html:69
+msgid "(no longer exists)"
+msgstr ""
+
+#: templates/web/base/report/_item.html:70
msgid "(not sent to council)"
msgstr "(nije poslano odgovornom tijelu)"
@@ -162,20 +151,22 @@ msgstr "(nije poslano odgovornom tijelu)"
msgid "(optional)"
msgstr "(nije obavezno)"
-#: templates/web/base/report/_item.html:67
+#: templates/web/base/report/_item.html:69
msgid "(sent to both)"
msgstr "(poslano na obje adrese)"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:239
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/DB/Result/Problem.pm:454
+#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
+#: templates/web/base/alert/_list.html:36
+#, fuzzy
+msgid "(we also have RSS feeds for problems within %s)"
+msgstr "RSS izvor za probleme unutar %s"
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:245
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:381
msgid "-- Pick a category --"
msgstr "-- Izaberi kategoriju --"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:460
-msgid "-- Pick a property type --"
-msgstr "-- Izaberite vrstu posjeda --"
-
#: templates/web/base/admin/response_templates_select.html:3
msgid "--Choose a template--"
msgstr ""
@@ -184,16 +175,16 @@ msgstr ""
msgid "10 inch pothole on Example St, near post box"
msgstr ""
-#: templates/web/base/dashboard/index.html:152
+#: templates/web/base/dashboard/index.html:153
msgid "14-30 days old"
msgstr ""
-#: templates/web/base/dashboard/index.html:151
+#: templates/web/base/dashboard/index.html:152
msgid "7-14 days old"
msgstr ""
-#: templates/web/base/admin/body-form.html:48
-#: templates/web/base/admin/body-form.html:49
+#: templates/web/base/admin/body-form.html:50
+#: templates/web/base/admin/body-form.html:51
msgid ""
"<code>MAPIT_URL</code> is set (<code>%s</code>) but no <code>MAPIT_TYPES</code>.<br>\n"
" This is probably why \"area covered\" is empty (below).<br>\n"
@@ -204,13 +195,12 @@ msgstr ""
msgid "<h2>Reports, Statistics and Actions for</h2> <h1>%s</h1>"
msgstr ""
-#. ('The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories')
#. ("The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories")
-#: templates/web/base/reports/_list-filters.html:37
-msgid "<label for=\"statuses\">Show</label> %s <label for=\"filter_categories\">about</label> %s"
+#: templates/web/base/reports/_list-filters.html:48
+msgid "<label for=\"statuses\">Show</label> %s reports <label for=\"filter_categories\">about</label> %s"
msgstr ""
-#: templates/web/base/js/translation_strings.html:71
+#: templates/web/base/js/translation_strings.html:74
msgid "<span>%s</span> saved."
msgstr ""
@@ -227,34 +217,25 @@ msgstr "<strong>No</strong> Potvrdi moju prijavu e-mailom"
msgid "<strong>No</strong> Let me confirm my update by email"
msgstr "<strong>No</strong> Potvrdi moje ažuriranje e-mailom"
-#: templates/web/base/auth/general.html:104
+#: templates/web/base/auth/general.html:106
#: templates/web/zurich/auth/general.html:51
msgid "<strong>No</strong> let me sign in by email"
msgstr "<strong>No</strong> prijavi se e-mailom"
-#: templates/web/base/report/_inspect.html:160
+#: templates/web/base/report/_inspect.html:170
msgid "<strong>Note:</strong> This report has been sent onwards for action. Any changes made won't be passed on."
msgstr ""
-#: templates/web/base/report/_inspect.html:162
+#: templates/web/base/report/_inspect.html:172
msgid "<strong>Note:</strong> This report hasn't yet been sent onwards for action. Any changes made may not be passed on."
msgstr ""
-#: templates/web/base/auth/general.html:80
+#: templates/web/base/auth/general.html:82
#: templates/web/base/report/new/form_user_loggedout_password.html:3
#: templates/web/base/report/update/form_user_loggedout_password.html:2
msgid "<strong>Yes</strong> I have a password"
msgstr "<strong>Da</strong> Imam password"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:10
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:6
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Action Scheduled"
-msgstr ""
-
#: templates/web/base/admin/body-form.html:3
#: templates/web/base/admin/body-form.html:4
msgid ""
@@ -268,19 +249,36 @@ msgid "Add a contact using the form below."
msgstr ""
#: templates/web/base/admin/bodies.html:78
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Add body"
msgstr ""
+#: templates/web/base/admin/reportextrafields/index.html:24
+msgid "Add extra fields"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:79
+msgid "Add field"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:85
+msgid "Add fixed state"
+msgstr ""
+
#: templates/web/base/admin/body.html:126
#: templates/web/zurich/admin/body.html:31
msgid "Add new category"
msgstr "Dodaj novu kategoriju"
+#: templates/web/base/admin/extra-metadata-form.html:72
+#, fuzzy
+msgid "Add option"
+msgstr "(nije obavezno)"
+
#: templates/web/base/report/_item.html:10
-#: templates/web/base/report/_item.html:14
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_item.html:16
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:19
#: templates/web/base/report/_main.html:30
msgid "Add to shortlist"
@@ -292,15 +290,15 @@ msgstr ""
msgid "Add user"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:730
+#: perllib/FixMyStreet/Cobrand/Default.pm:735
msgid "Add/edit problem categories"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:732
+#: perllib/FixMyStreet/Cobrand/Default.pm:737
msgid "Add/edit response priorities"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:731
+#: perllib/FixMyStreet/Cobrand/Default.pm:736
msgid "Add/edit response templates"
msgstr ""
@@ -308,7 +306,7 @@ msgstr ""
msgid "Added %s"
msgstr "Dodano %s"
-#: templates/web/base/report/_main.html:145
+#: templates/web/base/report/_main.html:149
msgid "Adding this report to your shortlist will remove it from %s’s shortlist."
msgstr ""
@@ -328,17 +326,17 @@ msgstr "Upozorenje %d kreirano za %s, tip %s, parametri%s / %s"
msgid "Alert %d disabled (created %s)"
msgstr "Upozorenje %d onemogućeno (kreirano%s)"
-#: templates/web/base/report/update/form_name.html:38
+#: templates/web/base/report/update/form_name.html:42
msgid "Alert me to future updates"
msgstr "Javi mi buduće promjene"
#: templates/web/base/dashboard/index.html:138
#: templates/web/base/dashboard/index.html:21
#: templates/web/base/dashboard/index.html:30
+#: templates/web/base/reports/_list-filters.html:3
msgid "All"
msgstr ""
-#: templates/web/base/reports/index.html:6
#: templates/web/zurich/reports/index.html:13
msgid "All Reports"
msgstr "Sve Prijave"
@@ -348,15 +346,23 @@ msgid "All Reports as CSV"
msgstr ""
#: templates/web/base/admin/category-multiselect.html:5
-#: templates/web/base/admin/responsepriorities/list.html:19
+#: templates/web/base/admin/responsepriorities/list.html:20
msgid "All categories"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:26
+#, fuzzy
+msgid "All cobrands"
+msgstr "Cobrand"
+
+#: templates/web/base/admin/reportextrafields/edit.html:47
+msgid "All languages"
+msgstr ""
+
#: templates/web/base/main_nav_items.html:0
#: templates/web/base/main_nav_items.html:27
-#: templates/web/base/reports/_list-filters.html:3
#: templates/web/zurich/admin/index-dm.html:12
-#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:21
+#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:20
#: templates/web/zurich/nav_over_content.html:6
msgid "All reports"
msgstr "Sve prijave"
@@ -366,6 +372,14 @@ msgstr "Sve prijave"
msgid "All reports between %s and %s"
msgstr "Sve prijave između %s i %s"
+#: templates/web/base/reports/index.html:23
+msgid "All time"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:20
+msgid "Alternatively, we can hide your name on <strong>all of your reports and updates</strong> across the site:"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:47
msgid "An update marked this problem as fixed."
msgstr "Ažuriranjem je ovaj problem evidentiran kao popravljen."
@@ -375,31 +389,33 @@ msgstr "Ažuriranjem je ovaj problem evidentiran kao popravljen."
msgid "Anonymous"
msgstr "Anonimno"
-#: templates/web/base/admin/report_edit.html:134
+#: templates/web/base/report/new/form_user_loggedin.html:21
+#: templates/web/base/report/update/form_name.html:17
+#, fuzzy
+msgid "Anonymous user"
+msgstr "Anonimno"
+
+#: templates/web/base/admin/report_edit.html:122
#: templates/web/base/admin/update_edit.html:23
msgid "Anonymous:"
msgstr "Anonimno:"
-#: templates/web/base/report/new/form_user_loggedin.html:20
-#: templates/web/base/report/update/form_name.html:13
+#: templates/web/base/report/new/form_user_loggedin.html:24
+#: templates/web/base/report/update/form_name.html:14
msgid "Another user"
msgstr ""
-#: templates/web/base/front/footer-marketing.html:16
-msgid "Are you a developer?"
-msgstr "Jeste li programer?"
-
-#: templates/web/base/js/translation_strings.html:56
+#: templates/web/base/js/translation_strings.html:59
msgid "Are you sure you want to cancel this upload?"
msgstr ""
#: templates/web/base/admin/report_edit.html:84
-#: templates/web/base/js/translation_strings.html:66
+#: templates/web/base/js/translation_strings.html:69
#: templates/web/base/report/display_tools.html:6
msgid "Are you sure?"
msgstr ""
-#: templates/web/base/admin/body-form.html:75
+#: templates/web/base/admin/body-form.html:77
#: templates/web/base/admin/body.html:20
#: templates/web/zurich/admin/body-form.html:24
msgid "Area covered"
@@ -431,11 +447,11 @@ msgstr ""
msgid "Assign to subdivision:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:727
+#: perllib/FixMyStreet/Cobrand/Default.pm:732
msgid "Assign users to areas"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:214
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:219
msgid "Assigned to %s"
msgstr ""
@@ -456,11 +472,14 @@ msgstr ""
msgid "Auto-response:"
msgstr ""
-#: templates/web/base/admin/report_edit.html:127
-#: templates/web/base/report/_inspect.html:47
+#: templates/web/base/admin/report-category.html:8
msgid "Available categories"
msgstr ""
+#: templates/web/base/reports/index.html:84
+msgid "Average time between a problem being reported and being fixed, last 100 reports."
+msgstr ""
+
#: templates/web/base/dashboard/index.html:109
msgid "Average time to council marking fixed (days)"
msgstr ""
@@ -473,7 +492,7 @@ msgstr ""
msgid "Avoid personal information and vehicle number plates"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:417
+#: perllib/FixMyStreet/DB/Result/Problem.pm:344
#: templates/web/zurich/report/_item.html:9
msgid "Awaiting moderation"
msgstr ""
@@ -486,13 +505,13 @@ msgstr ""
msgid "Back to all reports"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
msgid "Ban email address"
msgstr "Onemogući e-mail adrese"
#: perllib/FixMyStreet/Cobrand/Default.pm:650
-#: perllib/FixMyStreet/Cobrand/Default.pm:729
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
+#: perllib/FixMyStreet/Cobrand/Default.pm:734
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:396
#: templates/web/base/admin/bodies.html:1
#: templates/web/base/admin/report_edit.html:55
#: templates/web/zurich/header.html:56
@@ -514,7 +533,11 @@ msgstr ""
msgid "By Date"
msgstr "Po datumu"
-#: templates/web/base/auth/token.html:21 templates/web/base/email_sent.html:18
+#: templates/web/base/admin/extra-metadata-form.html:36
+msgid "Can be used to display extra text to the user alongside the field. The default template does not show this (<code>meta.datatype_description</code>), you must add it in <code>category_extras_fields.html</code>"
+msgstr ""
+
+#: templates/web/base/auth/token.html:27 templates/web/base/email_sent.html:20
msgid "Can&rsquo;t find our email? Check your spam folder&nbsp;&ndash; that&rsquo;s the solution 99% of the time."
msgstr ""
@@ -535,8 +558,8 @@ msgstr ""
#: templates/web/base/admin/body.html:72
#: templates/web/base/admin/contact-form.html:19
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/report/_inspect.html:38
-#: templates/web/base/report/_item.html:90
+#: templates/web/base/report/_inspect.html:48
+#: templates/web/base/report/_item.html:92
#: templates/web/base/report/new/category.html:6
#: templates/web/base/report/new/category_wrapper.html:3
#: templates/web/zurich/admin/body.html:14
@@ -547,7 +570,7 @@ msgstr ""
msgid "Category"
msgstr "Kategorija"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:852
+#: perllib/FixMyStreet/App/Controller/Admin.pm:956
msgid "Category changed from ‘%s’ to ‘%s’"
msgstr ""
@@ -587,23 +610,11 @@ msgstr ""
msgid "Change password"
msgstr "Promijeni lozinku"
-#: templates/web/base/admin/contact-form.html:41
-msgid ""
-"Check <strong>confirmed</strong> to indicate that this contact has been confirmed as correct.\n"
-" If you are not sure of the origin or validity of the contact, leave this unchecked."
-msgstr ""
-
-#: templates/web/base/admin/contact-form.html:52
-msgid ""
-"Check <strong>deleted</strong> to remove the category from use. \n"
-" It will not appear as an available category in the drop-down menu on the report-a-problem page."
-msgstr ""
-
-#: templates/web/base/admin/contact-form.html:79
+#: templates/web/base/admin/contact-form.html:80
msgid "Check <strong>inspection required</strong> if reports in this category <strong>must be inspected</strong> before being sent."
msgstr ""
-#: templates/web/base/admin/contact-form.html:63
+#: templates/web/base/admin/contact-form.html:64
msgid ""
"Check <strong>private</strong> if reports in this category should <strong>never be displayed on the website</strong>.\n"
" <br>\n"
@@ -620,11 +631,11 @@ msgid ""
" to the body too. These will appear in the drop-down menu on the report-a-problem page."
msgstr ""
-#: templates/web/base/report/_inspect.html:93
+#: templates/web/base/report/_inspect.html:103
msgid "Choose another"
msgstr ""
-#: templates/web/base/js/translation_strings.html:65
+#: templates/web/base/js/translation_strings.html:68
msgid "Clear offline data"
msgstr ""
@@ -649,21 +660,21 @@ msgstr ""
msgid "Click the link in our confirmation email to publish your update."
msgstr ""
-#: templates/web/base/auth/token.html:18
+#: templates/web/base/auth/token.html:23
msgid "Click the link in our confirmation email to sign in."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:189
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:960
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:17
-#: templates/web/base/admin/report_blocks.html:27
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:43
-#: templates/web/base/report/banner.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:18
+#: templates/web/base/auth/token.html:20
+msgid "Click the link in that email to sign in."
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:134
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:194
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:965
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:11
+#: templates/web/base/admin/states/index.html:103
+#: templates/web/base/admin/states/index.html:27
+#: templates/web/base/admin/states/index.html:33
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:10
#: templates/web/zurich/admin/header.html:16
@@ -671,23 +682,17 @@ msgstr ""
msgid "Closed"
msgstr "Zatvoreno"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:889
+#: perllib/FixMyStreet/DB/Result/Problem.pm:826
msgid "Closed by council"
msgstr "Zatvorilo je odgovorno tijelo"
-#: templates/web/base/reports/_list-filters.html:13
-msgid "Closed reports"
-msgstr ""
-
-#: templates/web/base/admin/problem_row.html:38
-msgid "Closed:"
-msgstr "Zatvoreno:"
-
#: templates/web/base/admin/report_edit.html:37
msgid "Co-ordinates:"
msgstr "Koordinate:"
#: templates/web/base/admin/list_updates.html:10
+#: templates/web/base/admin/reportextrafields/edit.html:24
+#: templates/web/base/admin/reportextrafields/index.html:7
msgid "Cobrand"
msgstr "Cobrand"
@@ -701,10 +706,13 @@ msgstr "Cobrand podaci:"
msgid "Cobrand:"
msgstr "Cobrand:"
+#: templates/web/base/admin/extra-metadata-form.html:14
+msgid "Code"
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:50
-#, fuzzy
msgid "Collapse map"
-msgstr "korištena karta"
+msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:646
#: templates/web/base/admin/config_page.html:1
@@ -732,9 +740,8 @@ msgstr ""
msgid "Confirmation"
msgstr "Potvrda"
-#: templates/web/base/admin/body.html:85
-#: templates/web/base/admin/category_edit.html:54
-#: templates/web/base/admin/contact-form.html:47
+#: templates/web/base/admin/contact-form.html:56
+#: templates/web/zurich/admin/contact-form.html:12
#: templates/web/zurich/admin/stats.html:40
msgid "Confirmed"
msgstr "Potvrđeno"
@@ -769,8 +776,8 @@ msgstr "Kontaktiraj tim"
msgid "Coordinates:"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1668
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1696
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1773
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1801
msgid "Could not find user"
msgstr "Nepoznati korisnik"
@@ -790,15 +797,13 @@ msgstr "Kontakti vijeća za %s"
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:83
-#, fuzzy
msgid "Council has marked as closed"
-msgstr "Ova prijava je trenutno oznaÄena kao zatvorena."
+msgstr ""
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:57
-#, fuzzy
msgid "Council has marked as fixed"
-msgstr "oznaÄeno kao popravljeno"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:80
@@ -830,24 +835,33 @@ msgstr "Vijeće:"
msgid "Count"
msgstr "BrojaÄ"
+#: templates/web/base/admin/states/index.html:114
+#, fuzzy
+msgid "Create"
+msgstr "Kreirano"
+
#: templates/web/base/email_sent.html:1
msgid "Create a report"
msgstr "Kreiraj izvješće"
-#: templates/web/base/admin/contact-form.html:137
+#: templates/web/base/admin/contact-form.html:138
#: templates/web/zurich/admin/body.html:62
msgid "Create category"
msgstr "Kreiraj kategoriju"
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/responsepriorities/edit.html:58
msgid "Create priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:714
+#: perllib/FixMyStreet/Cobrand/Default.pm:718
+msgid "Create reports/updates as anonymous user"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:719
msgid "Create reports/updates as the council"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:713
+#: perllib/FixMyStreet/Cobrand/Default.pm:717
msgid "Create reports/updates on a user's behalf"
msgstr ""
@@ -877,13 +891,15 @@ msgstr "Trenutno stanje"
msgid "Currently no bodies have been created."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:825
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:830
#: templates/web/zurich/admin/report_edit-sdm.html:105
msgid "Customer not contactable"
msgstr ""
#: templates/web/base/dashboard/index.html:5
#: templates/web/base/dashboard/index.html:7
+#: templates/web/base/reports/index.html:15
+#: templates/web/base/reports/index.html:18
msgid "Dashboard"
msgstr "Nadzorna ploÄa"
@@ -891,29 +907,36 @@ msgstr "Nadzorna ploÄa"
msgid "Dealt with by subdivision within 5 working days"
msgstr ""
-#: templates/web/base/report/_inspect.html:73
+#: templates/web/base/admin/responsepriorities/list.html:9
+msgid "Default"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:39
+msgid "Default priority"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:72
msgid "Defect type"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:973
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1078
#: templates/web/base/admin/template_edit.html:50
#: templates/web/zurich/admin/template_edit.html:33
msgid "Delete template"
msgstr ""
#: templates/web/base/admin/bodies.html:31
-#: templates/web/base/admin/body.html:87
-#: templates/web/base/admin/category_edit.html:55
#: templates/web/base/admin/contact-form.html:58
-#: templates/web/zurich/admin/contact-form.html:12
+#: templates/web/zurich/admin/contact-form.html:13
msgid "Deleted"
msgstr "Izbrisano"
-#: templates/web/base/report/_main.html:110
-#: templates/web/base/report/update.html:59
+#: templates/web/base/report/_main.html:114
+#: templates/web/base/report/update.html:68
msgid "Describe why you are moderating this"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:32
#: templates/web/base/admin/responsepriorities/list.html:7
#: templates/web/zurich/admin/index-dm.html:22
#: templates/web/zurich/admin/index-sdm.html:20
@@ -937,7 +960,7 @@ msgstr "Detalji"
msgid "Details:"
msgstr "Detalji:"
-#: templates/web/base/admin/body.html:93
+#: templates/web/base/admin/body.html:92
msgid "Devolved"
msgstr "Prenešeno"
@@ -950,18 +973,17 @@ msgstr ""
msgid "Diligency prize league table"
msgstr ""
-#: templates/web/base/report/_main.html:114
-#: templates/web/base/report/update.html:61
-#, fuzzy
+#: templates/web/base/report/_main.html:118
+#: templates/web/base/report/update.html:70
msgid "Discard changes"
-msgstr "Spremi promjene"
+msgstr ""
#: templates/web/base/admin/open311-form-fields.html:95
msgid "Do not send email alerts on fetched comments to problem creator"
msgstr ""
#. ("%s is the site name")
-#: templates/web/base/auth/general.html:58
+#: templates/web/base/auth/general.html:60
#: templates/web/base/report/new/form_user_loggedout.html:25
#: templates/web/base/report/new/oauth_email_form.html:18
#: templates/web/base/report/update-form.html:30
@@ -969,36 +991,31 @@ msgstr ""
msgid "Do you have a %s password?"
msgstr ""
+#: templates/web/base/report/_inspect.html:87
+msgid "Do you want to automatically raise a defect?"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:57
msgid "Don&rsquo;t know"
msgstr "Ne&rsquo;znam"
-#: templates/web/base/contact/index.html:108
+#: templates/web/base/contact/index.html:112
msgid "Don't like forms?"
msgstr ""
-#: templates/web/base/report/_item.html:25
+#: templates/web/base/report/_item.html:27
msgid "Down one"
msgstr ""
-#: templates/web/base/js/translation_strings.html:55
+#: templates/web/base/js/translation_strings.html:58
msgid "Drag and drop photos here or <u>click to upload</u>"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:10
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "Duplicate"
-msgstr ""
-
-#: templates/web/base/report/_inspect.html:88
+#: templates/web/base/report/_inspect.html:98
msgid "Duplicate of"
msgstr ""
-#: templates/web/base/report/_inspect.html:98
+#: templates/web/base/report/_inspect.html:108
msgid "Duplicates"
msgstr ""
@@ -1010,43 +1027,43 @@ msgid ""
" "
msgstr ""
-#: templates/web/base/report/_inspect.html:16
-#: templates/web/base/report/_item.html:81
+#: templates/web/base/report/_inspect.html:26
+#: templates/web/base/report/_item.html:83
msgid "Easting/Northing:"
msgstr ""
#: templates/web/base/admin/list_updates.html:42
#: templates/web/base/admin/problem_row.html:41
-#: templates/web/base/admin/responsepriorities/list.html:26
+#: templates/web/base/admin/responsepriorities/list.html:28
#: templates/web/base/admin/templates.html:22
#: templates/web/base/admin/users.html:34
#: templates/web/zurich/admin/problem_row.html:48
msgid "Edit"
msgstr "Uredi"
-#: templates/web/base/admin/body.html:140
+#: templates/web/base/admin/body.html:141
#: templates/web/base/admin/index.html:39
#: templates/web/zurich/admin/body.html:69
msgid "Edit body details"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:724
+#: perllib/FixMyStreet/Cobrand/Default.pm:729
msgid "Edit other users' details"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:725
+#: perllib/FixMyStreet/Cobrand/Default.pm:730
msgid "Edit other users' permissions"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:708
+#: perllib/FixMyStreet/Cobrand/Default.pm:712
msgid "Edit report category"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:709
+#: perllib/FixMyStreet/Cobrand/Default.pm:713
msgid "Edit report priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:707
+#: perllib/FixMyStreet/Cobrand/Default.pm:711
msgid "Edit reports"
msgstr ""
@@ -1069,15 +1086,15 @@ msgstr "Uređivanje ažuriranja %d"
msgid "Editing user %d"
msgstr "Uređivane korisnika %d"
-#: templates/web/base/admin/category_edit.html:56
+#: templates/web/base/admin/category_edit.html:30
msgid "Editor"
msgstr "Urednik"
#: templates/web/base/admin/bodies.html:27
-#: templates/web/base/admin/category_edit.html:53
+#: templates/web/base/admin/category_edit.html:28
#: templates/web/base/admin/flagged.html:38
#: templates/web/base/admin/users.html:17
-#: templates/web/base/auth/general.html:49
+#: templates/web/base/auth/general.html:51
#: templates/web/zurich/admin/body-form.html:9
#: templates/web/zurich/admin/body.html:15
#: templates/web/zurich/auth/general.html:24
@@ -1085,13 +1102,14 @@ msgstr "Urednik"
msgid "Email"
msgstr "E-mail"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1644
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1749
msgid "Email added to abuse list"
msgstr "E-mail dodan na listu zloupotrebe"
-#: templates/web/base/admin/contact-form.html:36
-#: templates/web/base/report/new/form_user_loggedin.html:28
-#: templates/web/base/report/update/form_name.html:19
+#: templates/web/base/admin/contact-form.html:38
+#: templates/web/base/alert/_list.html:74
+#: templates/web/base/report/new/form_user_loggedin.html:32
+#: templates/web/base/report/update/form_name.html:23
msgid "Email address"
msgstr ""
@@ -1103,11 +1121,11 @@ msgstr ""
msgid "Email alert deleted"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1641
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1746
msgid "Email already in abuse list"
msgstr "E-mail je već na listi zloupotrebe"
-#: templates/web/base/admin/report_edit.html:141
+#: templates/web/base/admin/report_edit.html:129
#: templates/web/base/admin/update_edit.html:35
#: templates/web/base/admin/user-form.html:19
#: templates/web/zurich/admin/body.html:48
@@ -1128,8 +1146,8 @@ msgid ""
" <a href='https://www.mysociety.org/2013/02/20/open311-extended/' class='admin-offsite-link'>this article</a>."
msgstr ""
-#: templates/web/base/admin/body-form.html:120
-#: templates/web/base/admin/body-form.html:121
+#: templates/web/base/admin/body-form.html:122
+#: templates/web/base/admin/body-form.html:123
msgid ""
"Enable this <strong>can be devolved</strong> setting if one or more contacts have a \n"
" different endpoint (and send method) from the body's. For example, if reports for some categories of\n"
@@ -1144,11 +1162,11 @@ msgstr ""
msgid "Endpoint"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:76
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:81
msgid "Enter a Z&uuml;rich street name"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:15
+#: perllib/FixMyStreet/Cobrand/UK.pm:16
msgid "Enter a nearby UK postcode, or street name and area"
msgstr "Unesi obližnji poštanski broj ili ime ulice i kvarta"
@@ -1157,12 +1175,13 @@ msgstr "Unesi obližnji poštanski broj ili ime ulice i kvarta"
msgid "Enter a nearby postcode, or street name and area"
msgstr "Unesi obližnji poštanski broj ili ime ulice i kvarta"
+#: perllib/FixMyStreet/Cobrand/DansMonQwat.pm:14
#: templates/web/base/around/postcode_form.html:5
#: templates/web/base/around/postcode_form.html:6
msgid "Enter a nearby street name and area"
msgstr "Unesi ime obližnje ulice i kvarta"
-#: templates/web/base/auth/general.html:116
+#: templates/web/base/auth/general.html:118
#: templates/web/base/report/new/form_user_loggedout_by_email.html:35
#: templates/web/base/report/update/form_user_loggedout_by_email.html:13
#: templates/web/zurich/auth/general.html:65
@@ -1182,8 +1201,8 @@ msgstr "Unesi detalje o problemu"
msgid "Error"
msgstr "Greška"
-#: templates/web/base/reports/_list-filters.html:20
-#: templates/web/base/reports/_list-filters.html:28
+#: templates/web/base/reports/_list-filters.html:31
+#: templates/web/base/reports/_list-filters.html:39
msgid "Everything"
msgstr ""
@@ -1196,8 +1215,7 @@ msgstr "Primjer poštanskog broja %s"
msgid "Examples:"
msgstr "Primjeri:"
-#: templates/web/base/admin/report_edit.html:122
-#: templates/web/base/report/_inspect.html:42
+#: templates/web/base/admin/report-category.html:3
msgid "Existing category"
msgstr ""
@@ -1205,16 +1223,16 @@ msgstr ""
msgid "Expand map"
msgstr ""
-#: templates/web/base/report/new/form_report.html:52
+#: templates/web/base/report/new/form_report.html:54
msgid "Explain what’s wrong"
msgstr ""
-#: templates/web/base/dashboard/index.html:146
+#: templates/web/base/dashboard/index.html:147
msgid "Export as CSV"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:913
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:179
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:12
msgid "Extern"
@@ -1225,7 +1243,7 @@ msgstr ""
msgid "External ID"
msgstr ""
-#: templates/web/base/admin/body-form.html:87
+#: templates/web/base/admin/body-form.html:89
msgid "External URL"
msgstr ""
@@ -1237,13 +1255,20 @@ msgstr ""
msgid "External team"
msgstr ""
-#: templates/web/base/admin/category_edit.html:25
+#: perllib/FixMyStreet/Cobrand/Default.pm:673
+#: templates/web/base/admin/reportextrafields/edit.html:1
+#: templates/web/base/admin/reportextrafields/index.html:1
+#, fuzzy
+msgid "Extra Fields"
+msgstr "Dodatni podaci:"
+
+#: templates/web/base/admin/contact-form.html:141
#: templates/web/base/admin/report_edit.html:94
msgid "Extra data:"
msgstr "Dodatni podaci:"
-#: templates/web/base/report/_inspect.html:134
-#: templates/web/base/report/_item.html:106
+#: templates/web/base/report/_inspect.html:144
+#: templates/web/base/report/_item.html:108
msgid "Extra details"
msgstr ""
@@ -1251,6 +1276,11 @@ msgstr ""
msgid "Failed to send message"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:58
+#: templates/web/base/admin/reportextrafields/index.html:9
+msgid "Fields"
+msgstr ""
+
#: templates/web/zurich/admin/index-dm.html:33
#: templates/web/zurich/admin/index-sdm.html:30
msgid "Filter report list"
@@ -1264,52 +1294,32 @@ msgstr "Prvi put"
msgid "Fix this by choosing an <strong>area covered</strong> in the <em>Edit body details</em> form below."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:11
-#: templates/web/base/admin/report_blocks.html:26
+#: perllib/FixMyStreet/App/Controller/Admin/States.pm:35
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:133
+#: templates/web/base/admin/states/index.html:29
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:41
-#: templates/web/base/report/banner.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:17
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:45
msgid "Fixed"
msgstr "Popravljeno"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:13
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:7
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:62
msgid "Fixed - Council"
msgstr "Popravljeno - odgovorno tijelo"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:12
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:63
msgid "Fixed - User"
msgstr "Popravljeno - Korisnik"
-#: templates/web/base/reports/_list-filters.html:14
-msgid "Fixed reports"
-msgstr ""
-
-#: templates/web/base/admin/problem_row.html:37
-msgid "Fixed:"
-msgstr "Popravljeno:"
-
-#: templates/web/base/admin/body-form.html:95
-#: templates/web/base/admin/responsepriorities/edit.html:41
+#: templates/web/base/admin/body-form.html:97
+#: templates/web/base/admin/responsepriorities/edit.html:53
#: templates/web/zurich/admin/body-form.html:36
msgid "Flag as deleted"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/report_blocks.html:23
msgid "Flag user"
msgstr "OznaÄi korisnika"
-#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: perllib/FixMyStreet/Cobrand/Default.pm:644
#: templates/web/base/admin/users.html:20
msgid "Flagged"
msgstr "OznaÄen"
@@ -1326,7 +1336,7 @@ msgstr ""
msgid "Flagged users are not restricted in any way. This is just a list of users that have been marked for attention."
msgstr ""
-#: templates/web/base/admin/report_edit.html:147
+#: templates/web/base/admin/report_edit.html:135
#: templates/web/base/admin/user-form.html:100
msgid "Flagged:"
msgstr "OznaÄen:"
@@ -1339,21 +1349,25 @@ msgstr ""
msgid "For best results include a close-up and a wide shot"
msgstr ""
-#: templates/web/base/admin/body-form.html:71
+#: templates/web/base/admin/extra-metadata-form.html:52
+msgid "For each option, <strong>Key</strong> is the value which is stored in the database for that option and <strong>Name</strong> is the value displayed to the user."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:73
msgid "For more information, see <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
msgstr ""
-#: templates/web/base/auth/general.html:95
+#: templates/web/base/auth/general.html:97
#: templates/web/base/report/new/form_user_loggedout_password.html:20
#: templates/web/base/report/update/form_user_loggedout_password.html:19
msgid "Forgotten your password?"
msgstr "Zaboravili ste šifru?"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:743
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:748
msgid "Forwarded to external body"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:744
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:749
msgid "Forwarded wish to external body"
msgstr ""
@@ -1363,6 +1377,10 @@ msgstr ""
msgid "Frequently Asked Questions"
msgstr "ÄŒesto postavljana pitanja"
+#: templates/web/base/admin/stats.html:102
+msgid "Get Count"
+msgstr ""
+
#: templates/web/base/around/_updates.html:3
#: templates/web/base/report/display_tools.html:14
msgid "Get updates"
@@ -1378,10 +1396,14 @@ msgstr "Primite ažuriranja %s problema"
msgid "Get updates of problems in this %s"
msgstr "Primite ažuriranja problema u ovom %s"
-#: templates/web/base/alert/_list.html:83
+#: templates/web/base/alert/_list.html:85
msgid "Give me an RSS feed"
msgstr "Prijavi se na RSS izvor"
+#: templates/web/base/admin/reportextrafields/edit.html:6
+msgid "Give this collection of fields a name. It is not shown publicly, just here in the admin."
+msgstr ""
+
#: templates/web/base/questionnaire/completed.html:14
msgid "Glad to hear it’s been fixed!"
msgstr ""
@@ -1391,8 +1413,9 @@ msgstr ""
#: templates/web/base/admin/index.html:49
#: templates/web/base/alert/index.html:34
#: templates/web/base/around/postcode_form.html:13
-#: templates/web/base/reports/_list-filters.html:38
-#: templates/web/base/reports/_list-filters.html:53
+#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:64
+#: templates/web/base/reports/index.html:75
#: templates/web/zurich/admin/stats.html:26
msgid "Go"
msgstr "Idi"
@@ -1401,7 +1424,7 @@ msgstr "Idi"
msgid "Going to send questionnaire?"
msgstr "Pošalji upitnik?"
-#: perllib/FixMyStreet/Cobrand/Default.pm:726
+#: perllib/FixMyStreet/Cobrand/Default.pm:731
msgid "Grant access to the admin"
msgstr ""
@@ -1409,10 +1432,6 @@ msgstr ""
msgid "Graph of problem creation by status over time"
msgstr "Grafikon nastanka problema prema položaju tijekom vremena"
-#: templates/web/base/reports/index.html:15
-msgid "Greyed-out lines are councils that no longer exist."
-msgstr "Sivo osjenÄani su councils koji viÅ¡e ne postoje"
-
#: templates/web/base/questionnaire/index.html:48
msgid "Has this problem been fixed?"
msgstr "Je li ovaj problem popravljen?"
@@ -1423,7 +1442,7 @@ msgstr "Jeste li prije prijavljivali problem odgovornom tijelu ili je ovo prvi p
#: templates/web/base/main_nav_items.html:40
#: templates/web/zurich/about/faq-de-ch.html:1
-#: templates/web/zurich/footer.html:23
+#: templates/web/zurich/footer.html:22
#: templates/web/zurich/nav_over_content.html:8
msgid "Help"
msgstr "Pomoć"
@@ -1433,22 +1452,13 @@ msgstr "Pomoć"
msgid "Help <strong>%s</strong> resolve your problem quicker, by providing some extra detail. This extra information will not be published online."
msgstr ""
-#: templates/web/base/alert/_list.html:9
-msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
-msgstr "Vrste upozorenja za lokalne probleme &lsquo;%s&rsquo;."
-
-#: templates/web/zurich/footer.html:12
+#: templates/web/zurich/footer.html:11
msgid "Hi %s"
msgstr "Zdravo %s"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:906
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:19
-#: templates/web/base/admin/report_blocks.html:28
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:911
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:60
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:19
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:11
#: templates/web/zurich/admin/stats.html:32
@@ -1456,16 +1466,33 @@ msgstr "Zdravo %s"
msgid "Hidden"
msgstr "Skriveno"
-#: templates/web/base/report/_main.html:105
-#, fuzzy
+#: templates/web/base/report/_main.html:109
msgid "Hide entire report"
-msgstr "Ponovno pošalji prijavu"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:1
+#: templates/web/base/my/anonymize.html:2
+msgid "Hide my name"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:21
+msgid "Hide my name everywhere"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:10
+msgid "Hide my name in this update"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:16
+msgid "Hide my name on this report"
+msgstr ""
#: templates/web/base/around/display_location.html:67
msgid "Hide old"
msgstr "Sakrij staro"
#: templates/web/base/around/display_location.html:62
+#: templates/web/base/js/translation_strings.html:55
msgid "Hide pins"
msgstr "Sakrij pinove"
@@ -1473,7 +1500,16 @@ msgstr "Sakrij pinove"
msgid "Hide update completely?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:49
+#: templates/web/base/report/_report_meta_info.html:3
+#: templates/web/base/report/update.html:55
+msgid "Hide your name?"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:38
+msgid "Hint"
+msgstr ""
+
+#: templates/web/base/admin/category_edit.html:24
msgid "History"
msgstr "Povijest"
@@ -1490,12 +1526,12 @@ msgid "How to send successful reports"
msgstr ""
#: templates/web/base/tokens/confirm_problem.html:36
-#: templates/web/base/tokens/confirm_problem.html:40
+#: templates/web/base/tokens/confirm_problem.html:41
msgid "I just reported a problem on @fixmystreet"
msgstr ""
-#: templates/web/base/tokens/confirm_update.html:19
-#: templates/web/base/tokens/confirm_update.html:23
+#: templates/web/base/tokens/confirm_update.html:20
+#: templates/web/base/tokens/confirm_update.html:25
msgid "I just updated a problem on @fixmystreet"
msgstr ""
@@ -1515,17 +1551,25 @@ msgstr "Nažalost, ne možemo locirati tvoj problem u bazi podataka.âŽ\n"
msgid "ID"
msgstr "ID"
-#: templates/web/base/admin/body-form.html:30
-#: templates/web/base/admin/body-form.html:31
+#: templates/web/base/admin/body-form.html:32
+#: templates/web/base/admin/body-form.html:33
msgid ""
"Identify a <strong>parent</strong> if this body is itself part of another body.\n"
" For basic installations, you don't need to join bodies in this way."
msgstr ""
+#: templates/web/base/auth/token.html:19
+msgid "If there's a user associated with the address you entered, we've sent a confirmation email."
+msgstr ""
+
#: templates/web/base/admin/responsepriorities/edit.html:23
msgid "If this priority is passed to an external service (e.g. Exor/Confirm) enter the priority code to use with that service here."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:24
+msgid "If ticked the user won’t see an input field, just the ‘Description’ text."
+msgstr ""
+
#: templates/web/base/admin/contact-form.html:14
msgid ""
"If two or more bodies serve the same location, FixMyStreet combines identical categories into a single entry in\n"
@@ -1536,7 +1580,7 @@ msgstr ""
msgid "If you get some more information about the status of your problem, please come back to the site and leave an update."
msgstr ""
-#: templates/web/base/admin/responsepriorities/edit.html:33
+#: templates/web/base/admin/responsepriorities/edit.html:45
msgid "If you only want this priority to be an option for specific categories, pick them here. By default they will show for all categories."
msgstr ""
@@ -1559,7 +1603,7 @@ msgid ""
"(please note it will not be sent to the council)."
msgstr ""
-#: templates/web/base/admin/contact-form.html:30
+#: templates/web/base/admin/contact-form.html:32
msgid "If you're using <strong>a send method that is not email</strong>, enter the service ID (Open311) or equivalent identifier here."
msgstr ""
@@ -1586,7 +1630,7 @@ msgid ""
" when they are shown on the site. Enter the ID (number) of that user."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:133
+#: perllib/FixMyStreet/App/Controller/Contact.pm:134
msgid "Illegal ID"
msgstr "Ilegalan ID"
@@ -1594,13 +1638,6 @@ msgstr "Ilegalan ID"
msgid "Illegal feed selection"
msgstr "Ilegalan odabir izvora"
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "In Progress"
-msgstr "U tijeku"
-
#: templates/web/base/admin/flagged.html:39
msgid "In abuse table?"
msgstr ""
@@ -1609,18 +1646,17 @@ msgstr ""
msgid "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
msgstr "Nadalje, sljedeća svojstva koja nisu dio Open311 v2 specifikacija su vraćena: agencijski _poslano_datum-vrijeme, naslov (takoÄ‘er vraćen kao dio opisa), suÄelje_koriÅ¡teno, brojaÄ_komentara, ime_pretražitelja(prisutno samo ako je tražitelj dopustio prikaz imena na ovoj stranici)."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:192
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:954
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:9
-#: templates/web/base/report/banner.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:5
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:197
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:959
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:8
msgid "In progress"
msgstr "U tijeku"
+#: templates/web/base/admin/contact-form.html:57
+msgid "Inactive"
+msgstr ""
+
#: templates/web/base/tokens/confirm_alert.html:11
msgid "Inbox zero, here we come!"
msgstr ""
@@ -1637,11 +1673,15 @@ msgstr "UkljuÄi nepotvrÄ‘ene prijave"
msgid "Incorrect has_photo value \"%s\""
msgstr "Pogrešno ima_foto vrijednost\"%s\""
-#: templates/web/base/admin/contact-form.html:84
+#: templates/web/base/report/_inspect.html:5
+msgid "Inspect report"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:85
msgid "Inspection required"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:711
+#: perllib/FixMyStreet/Cobrand/Default.pm:715
msgid "Instruct contractors to fix problems"
msgstr ""
@@ -1649,13 +1689,6 @@ msgstr ""
msgid "Internal notes"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:11
-msgid "Internal referral"
-msgstr ""
-
#: templates/web/base/offline/appcache.html:3
msgid "Internet glitch"
msgstr ""
@@ -1664,7 +1697,7 @@ msgstr ""
msgid "Invalid agency_responsible value %s"
msgstr "Nevažeća odgovorna_vrijednost agencije %s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1502
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1607
msgid "Invalid end date"
msgstr "Nevažeći datum završetka"
@@ -1672,26 +1705,15 @@ msgstr "Nevažeći datum završetka"
msgid "Invalid format %s specified."
msgstr "Naveden nevažeći %s format."
-#: perllib/FixMyStreet/App/Controller/Report.pm:398
+#: perllib/FixMyStreet/App/Controller/Report.pm:409
msgid "Invalid location. New location must be covered by the same council."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1498
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1603
msgid "Invalid start date"
msgstr "Nevažeći datum poÄetka"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:7
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:4
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Investigating"
-msgstr "Istražujem"
-
-#: templates/web/base/contact/blurb.html:8
+#: templates/web/base/contact/blurb.html:2
msgid "It's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there."
msgstr ""
@@ -1699,37 +1721,59 @@ msgstr ""
msgid "It’s on its way to the council right now."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:177
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:182
msgid "Jurisdiction Unknown"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:15
msgid "Jurisdiction unknown"
msgstr ""
-#: templates/web/base/auth/general.html:91
+#: templates/web/base/auth/general.html:93
#: templates/web/base/report/new/form_user_loggedout_password.html:16
#: templates/web/base/report/update/form_user_loggedout_password.html:15
#: templates/web/zurich/auth/general.html:40
msgid "Keep me signed in on this computer"
msgstr "Ostani prijavljen na ovom raÄunalu"
+#: templates/web/base/admin/extra-metadata-form.html:61
+msgid "Key"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:9
+#: templates/web/base/admin/states/index.html:95
+msgid "Label"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:6
+#: templates/web/base/admin/reportextrafields/edit.html:45
+msgid "Language"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/index.html:8
+msgid "Languages"
+msgstr ""
+
#: templates/web/base/dashboard/index.html:50
msgid "Last 4 weeks"
msgstr ""
#: templates/web/base/dashboard/index.html:49
-#, fuzzy
+#: templates/web/base/reports/index.html:38
msgid "Last 7 days"
-msgstr "Posljednje ažuriranje"
+msgstr ""
#: templates/web/base/admin/body.html:74
#: templates/web/zurich/admin/body.html:16
msgid "Last editor"
msgstr "Posljednji "
+#: templates/web/base/questionnaire/index.html:25
+msgid "Last update"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:89
msgid "Last update:"
msgstr "Posljednje ažuriranje"
@@ -1738,23 +1782,27 @@ msgstr "Posljednje ažuriranje"
msgid "Last&nbsp;update:"
msgstr "Posljednje&nbsp;ažuriranje:"
-#: templates/web/base/report/_inspect.html:20
-#: templates/web/base/report/_item.html:86
+#: templates/web/base/report/_inspect.html:30
+#: templates/web/base/report/_item.html:88
msgid "Latitude/Longitude:"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:50
+#: templates/web/base/reports/_list-filters.html:61
msgid "Least recently updated"
msgstr ""
-#: templates/web/base/admin/body-form.html:127
+#: templates/web/base/admin/body-form.html:129
msgid "Leave this blank if all reports to this body should be sent using the same send method (e.g., \"%s\")."
msgstr ""
-#: templates/web/base/dashboard/index.html:150
+#: templates/web/base/dashboard/index.html:151
msgid "Less than 7 days old"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:47
+msgid "List"
+msgstr ""
+
#: templates/web/base/admin/body.html:31
msgid "List all reported problems"
msgstr "Izlistaj sve prijavljenje probleme"
@@ -1785,23 +1833,23 @@ msgstr "Lokalna upozorenja"
msgid "Locate the problem on a map of the area"
msgstr "Lociraj problem na mapi podruÄja"
-#: templates/web/base/auth/general.html:22
+#: templates/web/base/auth/general.html:24
#: templates/web/base/report/new/form_user_loggedout.html:6
#: templates/web/base/report/update/form_user_loggedout.html:7
msgid "Log in with Facebook"
msgstr ""
-#: templates/web/base/auth/general.html:30
+#: templates/web/base/auth/general.html:32
#: templates/web/base/report/new/form_user_loggedout.html:14
#: templates/web/base/report/update/form_user_loggedout.html:15
msgid "Log in with Twitter"
msgstr ""
-#: templates/web/base/js/translation_strings.html:59
+#: templates/web/base/js/translation_strings.html:62
msgid "Log in with email"
msgstr ""
-#: templates/web/base/dashboard/index.html:145
+#: templates/web/base/dashboard/index.html:146
#: templates/web/base/dashboard/index.html:38
msgid "Look up"
msgstr ""
@@ -1810,11 +1858,11 @@ msgstr ""
msgid "MAP"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:712
+#: perllib/FixMyStreet/Cobrand/Default.pm:716
msgid "Manage shortlist"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:45
+#: templates/web/base/reports/_list-filters.html:56
msgid "Manual order"
msgstr ""
@@ -1830,19 +1878,11 @@ msgstr ""
msgid "Mark users whose behaviour you want to keep a check on as <strong>flagged</strong>."
msgstr ""
-#: templates/web/base/reports/index.html:27
-msgid "Marked fixed/closed in the past eight weeks"
-msgstr ""
-
-#: templates/web/base/reports/index.html:28
-msgid "Marked fixed/closed more than eight weeks ago"
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/Default.pm:710
+#: perllib/FixMyStreet/Cobrand/Default.pm:714
msgid "Markup problem details"
msgstr ""
-#: templates/web/base/contact/index.html:96
+#: templates/web/base/contact/index.html:100
msgid "Message"
msgstr "Poruka"
@@ -1862,68 +1902,69 @@ msgstr ""
msgid "Missing jurisdiction_id"
msgstr "Nedostaje nadležni_ID"
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:706
+#: perllib/FixMyStreet/Cobrand/Default.pm:710
msgid "Moderate report details"
msgstr ""
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate this report"
msgstr ""
#: templates/web/base/report/update.html:12
-#, fuzzy
msgid "Moderate this update"
-msgstr "Prijavio %s za %s"
+msgstr ""
-#: templates/web/base/report/_main.html:69
-#: templates/web/base/report/update.html:49
-#, fuzzy
+#: templates/web/base/report/_main.html:73
+#: templates/web/base/report/update.html:58
msgid "Moderated by %s at %s"
-msgstr "Prijavio %s za %s"
+msgstr ""
#: templates/web/zurich/admin/stats.html:34
msgid "Moderated by division within one working day"
msgstr ""
-#: templates/web/base/report/_main.html:109
-#: templates/web/base/report/update.html:57
-#, fuzzy
+#: templates/web/base/report/_main.html:113
+#: templates/web/base/report/update.html:66
msgid "Moderation reason:"
-msgstr "druga podruÄja:"
+msgstr ""
#: templates/web/base/admin/stats.html:11
msgid "Month"
msgstr "Mjesec"
-#: templates/web/base/reports/_list-filters.html:51
+#: templates/web/base/reports/_list-filters.html:62
msgid "Most commented"
msgstr ""
#: templates/web/base/admin/bodies.html:25
#: templates/web/base/admin/body-form.html:24
+#: templates/web/base/admin/extra-metadata-form.html:65
#: templates/web/base/admin/flagged.html:16
#: templates/web/base/admin/flagged.html:37
#: templates/web/base/admin/index.html:62
#: templates/web/base/admin/list_updates.html:7
+#: templates/web/base/admin/reportextrafields/edit.html:11
+#: templates/web/base/admin/reportextrafields/index.html:6
#: templates/web/base/admin/reports.html:14
#: templates/web/base/admin/responsepriorities/list.html:6
+#: templates/web/base/admin/states/index.html:108
+#: templates/web/base/admin/states/index.html:11
#: templates/web/base/admin/users.html:16
-#: templates/web/base/auth/general.html:106
-#: templates/web/base/report/new/form_user_loggedin.html:40
+#: templates/web/base/auth/general.html:108
+#: templates/web/base/report/new/form_user_loggedin.html:42
#: templates/web/base/report/new/form_user_loggedout_by_email.html:7
-#: templates/web/base/report/update/form_name.html:23
-#: templates/web/base/reports/index.html:23
+#: templates/web/base/report/update/form_name.html:27
#: templates/web/zurich/admin/body-form.html:4
#: templates/web/zurich/auth/general.html:60
#: templates/web/zurich/report/new/fill_in_details_form.html:59
msgid "Name"
msgstr "Ime"
-#: templates/web/base/admin/report_edit.html:139
+#: templates/web/base/admin/report_edit.html:127
#: templates/web/base/admin/responsepriorities/edit.html:13
#: templates/web/base/admin/update_edit.html:34
#: templates/web/base/admin/user-form.html:16
@@ -1935,7 +1976,7 @@ msgstr "Ime:"
msgid "Name: %s"
msgstr ""
-#: templates/web/base/report/_inspect.html:28
+#: templates/web/base/report/_inspect.html:38
msgid "Navigate to this problem"
msgstr ""
@@ -1944,16 +1985,16 @@ msgstr ""
msgid "Nearest named road to the pin placed on the map (automatically generated using OpenStreetMap): %s%s"
msgstr "Najbliža imenovana cesta smještena pokraj oznake na mapi (automatski generirano pomoću OpenStreetMap): %s%s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:129
+#: perllib/FixMyStreet/Cobrand/UK.pm:134
msgid "Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"
msgstr "Najbliži poštanski broj pokraj oznake na mapi (automatski generiran): %s (%sm away)"
-#: perllib/FixMyStreet/Cobrand/Default.pm:527
-#: perllib/FixMyStreet/Cobrand/Default.pm:567
+#: perllib/FixMyStreet/Cobrand/Default.pm:538
+#: perllib/FixMyStreet/Cobrand/Default.pm:566
msgid "Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"
msgstr "Najbliža cesta smještena pokraj oznake na mapi (automatski generirano pomoću Bing Maps): %s"
-#: perllib/FixMyStreet/Script/Alerts.pm:319
+#: perllib/FixMyStreet/Script/Alerts.pm:316
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s\n"
"\n"
@@ -1961,19 +2002,23 @@ msgstr ""
"Najbliža cesta smještena pokraj oznake na mapi (automatically generated by Bing Maps): %s\n"
"\n"
-#: templates/web/base/auth/token.html:17 templates/web/base/email_sent.html:5
+#: templates/web/base/auth/token.html:18
+msgid "Nearly done!"
+msgstr ""
+
+#: templates/web/base/auth/token.html:22 templates/web/base/email_sent.html:5
msgid "Nearly done! Now check your email&hellip;"
msgstr ""
-#: templates/web/base/reports/index.html:24
-msgid "New <br>problems"
-msgstr "Novi <br>problemi"
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:131
+msgid "New"
+msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:259
+#: perllib/FixMyStreet/App/Controller/Admin.pm:262
msgid "New body added"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:405
+#: perllib/FixMyStreet/App/Controller/Admin.pm:386
msgid "New category contact added"
msgstr "Novi kontakt dodan u kategoriju"
@@ -1999,7 +2044,7 @@ msgid "New password:"
msgstr ""
#: templates/web/base/admin/responsepriorities/edit.html:4
-#: templates/web/base/admin/responsepriorities/list.html:32
+#: templates/web/base/admin/responsepriorities/list.html:34
msgid "New priority"
msgstr ""
@@ -2028,6 +2073,7 @@ msgid "New reports"
msgstr ""
#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/states/index.html:91
msgid "New state"
msgstr "Novo stanje"
@@ -2037,7 +2083,7 @@ msgstr "Novo stanje"
msgid "New template"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:47
+#: templates/web/base/reports/_list-filters.html:58
msgid "Newest"
msgstr ""
@@ -2045,20 +2091,19 @@ msgstr ""
msgid "Next"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:1203
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
+#: perllib/FixMyStreet/Cobrand/Default.pm:1237
#: templates/web/base/admin/category_edit.html:4
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:137
+#: templates/web/base/admin/report_edit.html:125
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:26
#: templates/web/base/questionnaire/creator_fixed.html:16
#: templates/web/base/questionnaire/index.html:106
#: templates/web/base/questionnaire/index.html:55
+#: templates/web/base/report/_inspect.html:92
msgid "No"
msgstr "Ne"
@@ -2074,7 +2119,7 @@ msgstr ""
msgid "No council"
msgstr "Nema odgovornog tijela"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:445
+#: perllib/FixMyStreet/DB/Result/Problem.pm:372
msgid "No council selected"
msgstr "Nije odabrano odgovorno tijelo"
@@ -2090,25 +2135,16 @@ msgstr ""
msgid "No flagged users found."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:14
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:8
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "No further action"
-msgstr ""
-
#: templates/web/zurich/admin/report_edit-sdm.html:125
#: templates/web/zurich/admin/report_edit.html:259
msgid "No further updates"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:84
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:68
msgid "No inspections by that inspector in the selected date range."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:86
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:70
msgid "No inspections in the selected date range."
msgstr ""
@@ -2116,8 +2152,8 @@ msgstr ""
msgid "No result returned"
msgstr ""
-#: templates/web/base/admin/body-form.html:66
-#: templates/web/base/admin/body-form.html:67
+#: templates/web/base/admin/body-form.html:68
+#: templates/web/base/admin/body-form.html:69
msgid ""
"No specific areas are currently available, because the <code>MAPIT_URL</code> in\n"
" your config file is not pointing to a live MapIt service."
@@ -2150,17 +2186,8 @@ msgid ""
" activity across their body), the ability to hide reports or set special report statuses."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:9
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "Not Responsible"
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:181
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:186
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:933
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:13
msgid "Not contactable"
@@ -2179,7 +2206,7 @@ msgid "Not reported to council"
msgstr "Nije prijavljeno odgovornom tijelu"
#: templates/web/base/admin/body.html:75
-#: templates/web/base/admin/category_edit.html:57
+#: templates/web/base/admin/category_edit.html:31
#: templates/web/zurich/admin/body.html:17
msgid "Note"
msgstr "Napomena"
@@ -2189,7 +2216,7 @@ msgid "Note that when including unconfirmed reports we use the date the report w
msgstr "Imajte na umu da kada ukljuÄujemo nepotvrÄ‘ene prijave koristimo datum kada je prijava napravljena koji ne mora biti u istom mjesecu kada je prijava potvrÄ‘ena pa stoga datumi mogu varirati"
#: templates/web/zurich/admin/body.html:55
-#: templates/web/zurich/admin/contact-form.html:17
+#: templates/web/zurich/admin/contact-form.html:19
msgid "Note:"
msgstr "Napomena:"
@@ -2201,6 +2228,10 @@ msgstr "Napomena: <strong>%s</strong>"
msgid "Notes from SDM to DM"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:26
+msgid "Notice"
+msgstr ""
+
#: templates/web/base/report/new/oauth_email_form.html:17
msgid "Now to submit your report&hellip;"
msgstr "Podnesite svoju prijavu&hellip;"
@@ -2211,63 +2242,43 @@ msgstr "Podnesite svoju prijavu&hellip;"
msgid "Now to submit your update&hellip;"
msgstr "Pošaljite svoje ažuriranje&hellip;"
+#: templates/web/base/reports/index.html:98
+msgid "Number of problems reported in each category, in the last 7 days."
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:43
msgid "OK"
msgstr ""
-#: templates/web/base/js/translation_strings.html:67
+#: templates/web/base/js/translation_strings.html:70
msgid "Offline data cleared"
msgstr ""
-#: templates/web/base/js/translation_strings.html:64
+#: templates/web/base/js/translation_strings.html:67
msgid "Offline update data saved"
msgstr ""
-#: templates/web/base/reports/index.html:26
-msgid "Old / unknown <br>problems"
-msgstr "Stari / nepoznati <br>problemi"
-
#: templates/web/base/admin/questionnaire.html:24
msgid "Old state"
msgstr "Staro stanje"
-#: templates/web/base/reports/index.html:28
-msgid "Older <br>fixed"
-msgstr "Starije <br>popravljeno"
-
-#: templates/web/base/reports/index.html:25
-msgid "Older <br>problems"
-msgstr "Stariji <br>problemi"
-
-#: templates/web/base/reports/_list-filters.html:48
+#: templates/web/base/reports/_list-filters.html:59
msgid "Oldest"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:900
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:25
-#: templates/web/base/admin/report_blocks.html:6
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:905
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:10
+#: templates/web/base/admin/states/index.html:102
+#: templates/web/base/admin/states/index.html:25
+#: templates/web/base/admin/states/index.html:32
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:3
-#: templates/web/base/report/update/form_update.html:41
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:7
#: templates/web/zurich/admin/update_edit.html:18
msgid "Open"
msgstr "Otvori"
-#: templates/web/base/reports/index.html:25
-msgid "Open for more than four weeks, with an update within the past eight weeks"
-msgstr ""
-
-#: templates/web/base/reports/index.html:26
-msgid "Open, but not had any update in eight weeks"
-msgstr ""
-
#: templates/web/base/admin/open311-form-fields.html:47
msgid "Open311 API Key"
msgstr ""
@@ -2288,26 +2299,38 @@ msgstr "Open311 prvotna web stranica"
msgid "Open311 specification"
msgstr "Open311 specifikacija"
-#: templates/web/base/alert/_list.html:61
-msgid "Or problems reported to:"
-msgstr "Ili problemi prijavljeni:"
-
-#: templates/web/base/alert/_list.html:37
-msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
-msgstr "Ili se možete pretplatiti na upozorenja unutar vašeg vijeća &rsquo;:"
-
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:1061
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:659
-#: perllib/FixMyStreet/DB/Result/Problem.pm:642
-#: perllib/FixMyStreet/DB/Result/Problem.pm:649
-#: perllib/FixMyStreet/DB/Result/Problem.pm:664
-#: perllib/FixMyStreet/DB/Result/Problem.pm:673
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "Options"
+msgstr ""
+
+#: templates/web/base/alert/_list.html:84
+msgid "Or subscribe by RSS"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:8
+msgid "Order"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1107
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:675
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:676
+#: perllib/FixMyStreet/DB/Result/Problem.pm:579
+#: perllib/FixMyStreet/DB/Result/Problem.pm:586
+#: perllib/FixMyStreet/DB/Result/Problem.pm:601
+#: perllib/FixMyStreet/DB/Result/Problem.pm:610
#: perllib/FixMyStreet/Script/Reports.pm:183
#: perllib/FixMyStreet/Script/Reports.pm:198
msgid "Other"
msgstr "Drugo"
+#: templates/web/base/reports/index.html:107
+msgid "Other categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:92
+msgid "Overall average"
+msgstr ""
+
#: templates/web/base/admin/list_updates.html:8
msgid "Owner"
msgstr "Vlasnik"
@@ -2317,17 +2340,16 @@ msgstr "Vlasnik"
msgid "Page Not Found"
msgstr "Stranica nije pronađena"
-#: templates/web/base/admin/body-form.html:37
+#: templates/web/base/admin/body-form.html:39
#: templates/web/zurich/admin/body-form.html:14
msgid "Parent"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:20
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:61
msgid "Partial"
msgstr "DjelomiÄno"
-#: templates/web/base/auth/general.html:109
+#: templates/web/base/auth/general.html:111
#: templates/web/base/report/new/form_user_loggedout_by_email.html:28
#: templates/web/base/report/update/form_user_loggedout_by_email.html:6
#: templates/web/zurich/auth/general.html:32
@@ -2335,7 +2357,7 @@ msgstr "DjelomiÄno"
msgid "Password (optional)"
msgstr "Lozinka (neobvezno)"
-#: templates/web/base/auth/general.html:82
+#: templates/web/base/auth/general.html:84
msgid "Password:"
msgstr "Lozinka:"
@@ -2347,17 +2369,21 @@ msgstr ""
msgid "Permissions:"
msgstr ""
+#: templates/web/base/report/_inspect.html:19
+msgid "Phone Reporter:"
+msgstr ""
+
#: templates/web/zurich/report/new/fill_in_details_form.html:65
msgid "Phone number"
msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:57
+#: templates/web/base/report/new/form_user_loggedin.html:59
#: templates/web/base/report/new/form_user_loggedout_by_email.html:25
msgid "Phone number (optional)"
msgstr "Telefonski broj (neobavezan)"
#: perllib/FixMyStreet/Script/Reports.pm:87
-#: templates/web/base/admin/report_edit.html:146
+#: templates/web/base/admin/report_edit.html:134
#: templates/web/base/admin/user-form.html:21
#: templates/web/zurich/admin/stats.html:39
msgid "Phone:"
@@ -2366,9 +2392,9 @@ msgstr "Telefon:"
#: templates/web/base/questionnaire/index.html:78
#: templates/web/base/questionnaire/index.html:93
#: templates/web/base/questionnaire/index.html:95
-#: templates/web/base/report/new/form_report.html:28
-#: templates/web/base/report/new/form_report.html:43
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/new/form_report.html:45
+#: templates/web/base/report/new/form_report.html:47
#: templates/web/base/report/update/form_update.html:22
#: templates/web/base/report/update/form_update.html:24
#: templates/web/base/report/update/form_update.html:7
@@ -2386,12 +2412,12 @@ msgstr "Slika"
msgid "Photo is required."
msgstr ""
-#: templates/web/zurich/admin/contact-form.html:14
+#: templates/web/zurich/admin/contact-form.html:16
msgid "Photo required"
msgstr ""
#: templates/web/base/questionnaire/index.html:78
-#: templates/web/base/report/new/form_report.html:28
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/update/form_update.html:7
#: templates/web/zurich/report/new/fill_in_details_form.html:20
msgid "Photos"
@@ -2401,17 +2427,18 @@ msgstr ""
msgid "Photos of recent nearby reports"
msgstr "Fotografije posljednjih obližnjih prijava"
+#: templates/web/base/reports/index.html:63
+#: templates/web/base/reports/index.html:66
+msgid "Pick your council"
+msgstr ""
+
#: templates/web/base/around/display_location.html:76
#: templates/web/base/js/translation_strings.html:30
msgid "Place pin on map"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:940
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:946
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:8
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:945
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:951
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:9
#: templates/web/zurich/admin/index-dm.html:9
@@ -2429,31 +2456,27 @@ msgstr "Provjeri lozinku i pokušaj ponovno"
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:18
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:43
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:45
#: templates/web/zurich/auth/general.html:3
#: templates/web/zurich/auth/general.html:9
msgid "Please check your email address is correct"
msgstr "Provjerite je li vaÅ¡a e-mail adresa toÄna"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:350
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:844
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:867
-#: perllib/FixMyStreet/DB/Result/Problem.pm:456
+#: perllib/FixMyStreet/App/Controller/Admin.pm:329
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:873
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:896
+#: perllib/FixMyStreet/DB/Result/Problem.pm:383
#: templates/web/base/js/translation_strings.html:9
msgid "Please choose a category"
msgstr "Izaberi kategoriju"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:462
-msgid "Please choose a property type"
-msgstr "Izaberi tip imovine"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:396
+#: perllib/FixMyStreet/App/Controller/Admin.pm:377
#: templates/web/base/admin/bodies.html:4 templates/web/base/admin/body.html:11
msgid "Please correct the errors below"
msgstr ""
-#: templates/web/base/contact/blurb.html:12
+#: templates/web/base/contact/blurb.html:6
msgid ""
"Please do <strong>not</strong> report problems through this form; messages go to\n"
"the team behind this site, not a council. To report a problem,\n"
@@ -2464,18 +2487,18 @@ msgstr ""
msgid "Please do not be abusive&nbsp;&mdash; abusing your council devalues the service for all users."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:351
-#: perllib/FixMyStreet/DB/Result/Comment.pm:127
+#: perllib/FixMyStreet/App/Controller/Admin.pm:330
+#: perllib/FixMyStreet/DB/Result/Comment.pm:128
#: templates/web/base/js/translation_strings.html:2
msgid "Please enter a message"
msgstr "Unesi poruku"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1200
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1364
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1305
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1469
msgid "Please enter a name"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:478
+#: perllib/FixMyStreet/App/Controller/Admin.pm:497
msgid "Please enter a name for this body"
msgstr ""
@@ -2485,15 +2508,15 @@ msgstr ""
msgid "Please enter a password"
msgstr "Unesi lozinku"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:114
-#: perllib/FixMyStreet/DB/Result/Problem.pm:439
+#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/DB/Result/Problem.pm:366
#: templates/web/base/js/translation_strings.html:3
msgid "Please enter a subject"
msgstr "Unesi predmet"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1197
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1361
-#: perllib/FixMyStreet/App/Controller/Admin.pm:363
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1302
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1466
+#: perllib/FixMyStreet/App/Controller/Admin.pm:343
#: perllib/FixMyStreet/DB/Result/User.pm:164
#: templates/web/base/js/translation_strings.html:12
#: templates/web/base/js/translation_strings.html:16
@@ -2501,21 +2524,21 @@ msgid "Please enter a valid email"
msgstr "Unesi valjani e-mail"
#: perllib/FixMyStreet/App/Controller/Alert.pm:350
-#: perllib/FixMyStreet/App/Controller/Contact.pm:124
+#: perllib/FixMyStreet/App/Controller/Contact.pm:125
msgid "Please enter a valid email address"
msgstr "Unesi valjanu e-mail adresu"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:442
+#: perllib/FixMyStreet/DB/Result/Problem.pm:369
#: templates/web/base/js/translation_strings.html:4
msgid "Please enter some details"
msgstr "Unesi detalje"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/App/Controller/Contact.pm:114
#: perllib/FixMyStreet/DB/Result/User.pm:161
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:17
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:42
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:44
#: templates/web/base/js/translation_strings.html:11
#: templates/web/base/js/translation_strings.html:15
#: templates/web/zurich/auth/general.html:3
@@ -2532,14 +2555,14 @@ msgstr "Unesi svoju e-mail adresu"
msgid "Please enter your first name"
msgstr "Unesi svoje ime"
-#: perllib/FixMyStreet/Cobrand/UK.pm:320
+#: perllib/FixMyStreet/Cobrand/UK.pm:326
#: templates/web/base/js/translation_strings.html:7
msgid "Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below"
msgstr "Molimo unesite svoje puno ime, odgovorno tijelo treba ovu informaciju – ako ne želite da vaÅ¡e ime bude prikazano na stranici, odznaÄite kvadratić ispod"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:112
-#: perllib/FixMyStreet/DB/Result/Comment.pm:124
-#: perllib/FixMyStreet/DB/Result/Problem.pm:450
+#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/DB/Result/Comment.pm:125
+#: perllib/FixMyStreet/DB/Result/Problem.pm:377
#: perllib/FixMyStreet/DB/Result/User.pm:157
#: templates/web/base/js/translation_strings.html:6
msgid "Please enter your name"
@@ -2602,7 +2625,7 @@ msgstr ""
msgid "Please note:"
msgstr "Napominjemo:"
-#: perllib/FixMyStreet/App/Controller/Report.pm:358
+#: perllib/FixMyStreet/App/Controller/Report.pm:353
msgid "Please provide a public update for this report."
msgstr ""
@@ -2638,11 +2661,11 @@ msgstr "Navedite je li problem rješen "
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:122
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:156
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:158
-#: templates/web/base/js/translation_strings.html:57
+#: templates/web/base/js/translation_strings.html:60
msgid "Please upload an image only"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/App/Controller/Contact.pm:116
msgid "Please write a message"
msgstr "Napiši poruku"
@@ -2650,30 +2673,29 @@ msgstr "Napiši poruku"
msgid "Please write your update here"
msgstr "Ovdje ažurirajte"
-#: templates/web/base/contact/index.html:103
#: templates/web/base/report/update-form.html:25
#: templates/web/base/report/update/form_user_loggedout_by_email.html:14
#: templates/web/base/report/update/form_user_loggedout_password.html:10
msgid "Post"
msgstr "Objavi"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:242
+#: perllib/FixMyStreet/DB/Result/Comment.pm:231
msgid "Posted anonymously at %s"
msgstr "Objavljeno anonimno na %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:257
+#: perllib/FixMyStreet/DB/Result/Comment.pm:255
msgid "Posted by %s at %s"
msgstr "Objavio %s na %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:252
+#: perllib/FixMyStreet/DB/Result/Comment.pm:243
msgid "Posted by <strong>%s</strong> (%s) at %s"
msgstr "Objavio <strong>%s</strong> (%s) na %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:254
+#: perllib/FixMyStreet/DB/Result/Comment.pm:245
msgid "Posted by <strong>%s</strong> at %s"
msgstr "Objavio <strong>%s</strong> na %s"
-#: templates/web/base/front/footer-marketing.html:12
+#: templates/web/base/front/footer-marketing.html:6
msgid "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
msgstr ""
@@ -2685,8 +2707,8 @@ msgstr ""
msgid "Priorities"
msgstr ""
-#: templates/web/base/report/_inspect.html:113
-#: templates/web/base/report/_item.html:98
+#: templates/web/base/report/_inspect.html:123
+#: templates/web/base/report/_item.html:100
msgid "Priority"
msgstr ""
@@ -2700,16 +2722,15 @@ msgstr ""
msgid "Privacy and cookies"
msgstr ""
-#: templates/web/base/admin/body.html:91
-#: templates/web/base/admin/contact-form.html:74
-#: templates/web/base/admin/report_edit.html:149
+#: templates/web/base/admin/body.html:88
+#: templates/web/base/admin/contact-form.html:75
+#: templates/web/base/admin/report_edit.html:137
msgid "Private"
msgstr "Privatno"
#: templates/web/base/report/new/form_user.html:1
-#, fuzzy
msgid "Private details"
-msgstr "Privatno"
+msgstr ""
#: templates/web/base/maps/pin.html:13
msgid "Problem"
@@ -2733,7 +2754,7 @@ msgstr "Problem %s poslan odgovornom tijelu %s"
msgid "Problem breakdown by state"
msgstr "Analiza problema prema stanju"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1167
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1272
msgid "Problem marked as open."
msgstr "Problem oznaÄen kao otvoren."
@@ -2741,11 +2762,16 @@ msgstr "Problem oznaÄen kao otvoren."
msgid "Problem state change based on survey results"
msgstr "Stanje problema izmijenjeno na temelju rezultata ankete"
-#: perllib/FixMyStreet/Cobrand/Default.pm:705
+#: perllib/FixMyStreet/Cobrand/Default.pm:709
#: templates/web/base/admin/flagged.html:10
msgid "Problems"
msgstr "Problemi"
+#: templates/web/base/alert/_list.html:22
+#, fuzzy
+msgid "Problems in an area"
+msgstr "Problemi unutar %s ward"
+
#: templates/web/base/report/display_tools.html:22
msgid "Problems nearby"
msgstr "Okolni problemi"
@@ -2758,30 +2784,33 @@ msgstr "Problemi na mapi"
msgid "Problems recently reported fixed on FixMyStreet"
msgstr "Problems nedavno prijavljeni kao popravljeni na Popravi.to"
-#: templates/web/base/alert/_list.html:22
-msgid "Problems within %.1fkm of this location"
+#: templates/web/base/alert/_list.html:29
+#, fuzzy
+msgid "Problems within %.1fkm of %s"
msgstr "Problemi unutar%.1fkm od ove lokacije"
-#: perllib/FixMyStreet/Cobrand/Default.pm:833
+#: perllib/FixMyStreet/Cobrand/Default.pm:838
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:137
-#: perllib/FixMyStreet/Cobrand/UK.pm:209
+#: perllib/FixMyStreet/Cobrand/UK.pm:215 perllib/FixMyStreet/Cobrand/UK.pm:257
+#: perllib/FixMyStreet/Cobrand/UK.pm:269
msgid "Problems within %s"
msgstr "Problemi unutar %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:223
+#: perllib/FixMyStreet/Cobrand/UK.pm:229
msgid "Problems within %s ward"
msgstr "Problemi unutar %s ward"
+#: perllib/FixMyStreet/Cobrand/UK.pm:263 perllib/FixMyStreet/Cobrand/UK.pm:275
+#, fuzzy
+msgid "Problems within %s ward, %s"
+msgstr "Problemi unutar %s ward"
+
#. ("First %s is the body name, second %s the site name")
#: templates/web/base/reports/body.html:0
#: templates/web/base/reports/body.html:25
msgid "Problems within %s, %s"
msgstr ""
-#: templates/web/base/alert/_list.html:43
-msgid "Problems within the boundary of:"
-msgstr "Problemi unutar granice:"
-
#: templates/web/base/admin/report_edit.html:74
msgid "Property address:"
msgstr ""
@@ -2791,11 +2820,11 @@ msgstr ""
msgid "Provide an update"
msgstr "Ažuriranje"
-#: templates/web/base/report/update/form_name.html:9
+#: templates/web/base/report/update/form_name.html:10
msgid "Provide update as"
msgstr ""
-#: templates/web/base/auth/general.html:112
+#: templates/web/base/auth/general.html:114
msgid "Providing a name and password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
msgstr ""
@@ -2813,7 +2842,7 @@ msgstr ""
msgid "Public response:"
msgstr ""
-#: templates/web/base/report/_inspect.html:152
+#: templates/web/base/report/_inspect.html:162
msgid "Public update:"
msgstr ""
@@ -2841,7 +2870,7 @@ msgstr "Upitnik %d poslan za problem %d"
msgid "Questionnaire filled in by problem reporter"
msgstr "Upitnik popunila osoba koja je prijavila problem"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
#: templates/web/base/alert/updates.html:9
#: templates/web/base/around/display_location.html:1
#: templates/web/base/around/display_location.html:3
@@ -2849,11 +2878,11 @@ msgstr "Upitnik popunila osoba koja je prijavila problem"
msgid "RSS feed"
msgstr "RSS izvor"
-#: perllib/FixMyStreet/Cobrand/UK.pm:252 perllib/FixMyStreet/Cobrand/UK.pm:264
+#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
msgid "RSS feed for %s"
msgstr "RSS izvor za %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
+#: perllib/FixMyStreet/Cobrand/UK.pm:264 perllib/FixMyStreet/Cobrand/UK.pm:276
msgid "RSS feed for %s ward, %s"
msgstr "RSS izvor za %s ward, %s"
@@ -2861,25 +2890,25 @@ msgstr "RSS izvor za %s ward, %s"
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:179
-#: perllib/FixMyStreet/Cobrand/UK.pm:278 perllib/FixMyStreet/Cobrand/UK.pm:290
+#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
msgid "RSS feed of %s"
msgstr "RSS izvor za %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
msgid "RSS feed of %s, within %s ward"
msgstr "RSS izvor za %s, unutar %s ward"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
msgid "RSS feed of nearby problems"
msgstr "RSS izvor za okolne probleme"
-#: perllib/FixMyStreet/Cobrand/Default.pm:834
+#: perllib/FixMyStreet/Cobrand/Default.pm:839
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:136
-#: perllib/FixMyStreet/Cobrand/UK.pm:216
+#: perllib/FixMyStreet/Cobrand/UK.pm:222
msgid "RSS feed of problems within %s"
msgstr "RSS izvor za probleme unutar %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:222
+#: perllib/FixMyStreet/Cobrand/UK.pm:228
msgid "RSS feed of problems within %s ward"
msgstr "RSS izvor za probleme unutar %s ward"
@@ -2898,7 +2927,7 @@ msgstr "RSS izvor za ažuriranja ovog problema"
msgid "Receive email when updates are left on this problem."
msgstr "Primite e-mail s ažuriranjima ovog problema"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:801
+#: perllib/FixMyStreet/DB/Result/Problem.pm:738
msgid "Received by %s moments later"
msgstr ""
@@ -2908,15 +2937,11 @@ msgstr ""
msgid "Recent local problems, %s"
msgstr ""
-#: templates/web/base/reports/index.html:27
-msgid "Recently <br>fixed"
-msgstr "Nedavno<br>popravljeno"
-
#: templates/web/base/front/recent.html:11
msgid "Recently reported problems"
msgstr "Nedavno prijavljeni problemi"
-#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:60
msgid "Recently updated"
msgstr ""
@@ -2924,13 +2949,23 @@ msgstr ""
msgid "Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. If your problem is not appropriate for submission via this site remember that you can contact your council directly using their own website."
msgstr "Popravi.to prvenstveno služi za izvjeÅ¡tavanje fiziÄkih problema koji se mogu popraviti. Ako vaÅ¡ problem nije prikladan za prijavljivanje preko ove stranice, uvijek se možete obratiti direktno svom vijeću preko njihove web stranice."
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/extra-metadata-form.html:68
+#, fuzzy
+msgid "Remove"
+msgstr "Ukloni oznaku"
+
+#: templates/web/base/admin/extra-metadata-form.html:4
+#, fuzzy
+msgid "Remove field"
+msgstr "Ukloni oznaku"
+
+#: templates/web/base/admin/report_blocks.html:23
msgid "Remove flag"
msgstr "Ukloni oznaku"
#: templates/web/base/report/_item.html:12
#: templates/web/base/report/_item.html:9
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:18
#: templates/web/base/report/_main.html:26
msgid "Remove from shortlist"
@@ -2940,7 +2975,7 @@ msgstr ""
msgid "Remove from site"
msgstr ""
-#: templates/web/base/admin/report_edit.html:166
+#: templates/web/base/admin/report_edit.html:154
#: templates/web/base/admin/update_edit.html:69
#: templates/web/zurich/admin/update_edit.html:35
msgid "Remove photo (can't be undone!)"
@@ -2954,13 +2989,13 @@ msgstr ""
msgid "Report"
msgstr ""
-#: templates/web/base/report/_inspect.html:10
-#: templates/web/base/report/_item.html:76
+#: templates/web/base/report/_inspect.html:14
+#: templates/web/base/report/_item.html:78
msgid "Report ID:"
msgstr ""
#: templates/web/base/header_logo.html:2
-#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:19
+#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:18
#: templates/web/zurich/nav_over_content.html:4
msgid "Report a problem"
msgstr "Prijavi problem"
@@ -2970,7 +3005,7 @@ msgstr "Prijavi problem"
msgid "Report abuse"
msgstr "Prijavi zloupotrebu"
-#: templates/web/base/report/new/form_user_loggedin.html:16
+#: templates/web/base/report/new/form_user_loggedin.html:17
msgid "Report as"
msgstr ""
@@ -2979,9 +3014,8 @@ msgid "Report on %s"
msgstr "Prijava za %s"
#: templates/web/base/dashboard/index.html:137
-#, fuzzy
msgid "Report state:"
-msgstr "Prijavi zloupotrebu"
+msgstr ""
#: templates/web/base/report/new/fill_in_details_form.html:1
#: templates/web/base/report/new/login_success_form.html:1
@@ -2994,7 +3028,7 @@ msgstr ""
msgid "Report, view, or discuss local problems"
msgstr "Prijavi, pregledaj ili raspravljaj o lokalnim problemima"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:653
+#: perllib/FixMyStreet/DB/Result/Problem.pm:590
#: templates/web/base/contact/index.html:55
msgid "Reported anonymously at %s"
msgstr "Prijavljeno anonimno %s"
@@ -3004,7 +3038,7 @@ msgstr "Prijavljeno anonimno %s"
msgid "Reported before"
msgstr "Prije prijavljeno"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:677
+#: perllib/FixMyStreet/DB/Result/Problem.pm:614
#: templates/web/base/contact/index.html:57
msgid "Reported by %s at %s"
msgstr "Prijavio %s za %s"
@@ -3018,34 +3052,30 @@ msgstr ""
msgid "Reported in the %s category"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:650
+#: perllib/FixMyStreet/DB/Result/Problem.pm:587
msgid "Reported in the %s category anonymously at %s"
msgstr "Prijavljeno %s u kategoriju anonimno u %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:611
msgid "Reported in the %s category by %s at %s"
msgstr "Prijavio %s u kategoriju %s u %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:647
+#: perllib/FixMyStreet/DB/Result/Problem.pm:584
msgid "Reported via %s anonymously at %s"
msgstr "Prijavio %s anonimno %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:671
+#: perllib/FixMyStreet/DB/Result/Problem.pm:608
msgid "Reported via %s by %s at %s"
msgstr "Prijavio %s %s u %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:644
+#: perllib/FixMyStreet/DB/Result/Problem.pm:581
msgid "Reported via %s in the %s category anonymously at %s"
msgstr "Prijavio %s u kategoriju %s anonimno u %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:666
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
msgid "Reported via %s in the %s category by %s at %s"
msgstr "Prijavio %s u %s kategoriju %s u %s"
-#: templates/web/base/reports/index.html:24
-msgid "Reported within the last four weeks"
-msgstr ""
-
#: templates/web/zurich/admin/report_edit-sdm.html:38
#: templates/web/zurich/admin/report_edit.html:57
msgid "Reported:"
@@ -3061,13 +3091,13 @@ msgid "Reporting a problem"
msgstr "Prijavljivanje problema"
#: perllib/FixMyStreet/Cobrand/Default.pm:655
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:383
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:388
#: templates/web/base/dashboard/index.html:134
#: templates/web/zurich/header.html:52
msgid "Reports"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:329 perllib/FixMyStreet/Cobrand/UK.pm:333
+#: perllib/FixMyStreet/Cobrand/UK.pm:333 perllib/FixMyStreet/Cobrand/UK.pm:335
msgid "Reports are limited to %s characters in length. Please shorten your report"
msgstr ""
@@ -3075,31 +3105,53 @@ msgstr ""
msgid "Reports awaiting approval"
msgstr ""
+#: templates/web/base/alert/_list.html:54
+#, fuzzy
+msgid "Reports by destination"
+msgstr "Prijavio %s za %s"
+
#: templates/web/base/admin/user-form.html:107
msgid "Reports made by trusted users will be sent to the responsible body without being inspected first."
msgstr ""
+#: templates/web/base/alert/_list.html:15
+msgid "Reports near %s are sent to different councils, depending on the type of problem."
+msgstr ""
+
#: templates/web/zurich/admin/index-sdm.html:10
msgid "Reports published"
msgstr ""
-#: templates/web/base/js/translation_strings.html:68
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:71
msgid "Reports saved offline."
-msgstr "Prijavi problem"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#, fuzzy
+msgid "Reports sent to %s"
+msgstr "Prijava za %s"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:290 perllib/FixMyStreet/Cobrand/UK.pm:302
+#, fuzzy
+msgid "Reports sent to %s, within %s ward"
+msgstr "RSS izvor za %s, unutar %s ward"
#: templates/web/base/admin/index.html:56
msgid "Reports waiting to be sent"
msgstr ""
-#: templates/web/base/admin/contact-form.html:89
+#: templates/web/base/admin/contact-form.html:90
msgid "Reports will automatically be sent without needing to be inspected if the user's <strong>reputation</strong> is at or above this value. Set to <strong>0</strong> if all reports must be inspected regardless."
msgstr ""
-#: templates/web/base/admin/contact-form.html:94
+#: templates/web/base/admin/contact-form.html:95
msgid "Reputation threshold"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:20
+msgid "Required"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:84
msgid "Resend report"
msgstr "Ponovno pošalji prijavu"
@@ -3135,7 +3187,7 @@ msgstr ""
msgid "Revert to original"
msgstr ""
-#: templates/web/base/report/_main.html:95
+#: templates/web/base/report/_main.html:99
msgid "Revert to original text"
msgstr ""
@@ -3158,16 +3210,16 @@ msgstr "Cestovni operater za ovu imenovanu cestu (izveden iz cestovnog referentn
msgid "Road operator for this named road (from OpenStreetMap): %s"
msgstr "Cestovni operater za ovu imenovanu cestu (sa OpenStreetMap): %s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1747
-#: templates/web/base/admin/report_edit.html:163
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1852
+#: templates/web/base/admin/report_edit.html:151
#: templates/web/base/admin/update_edit.html:66
#: templates/web/zurich/admin/report_edit.html:118
msgid "Rotate Left"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: templates/web/base/admin/report_edit.html:164
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: templates/web/base/admin/report_edit.html:152
#: templates/web/base/admin/update_edit.html:67
#: templates/web/zurich/admin/report_edit.html:119
msgid "Rotate Right"
@@ -3182,32 +3234,40 @@ msgstr ""
msgid "Satellite"
msgstr ""
-#: templates/web/base/report/_inspect.html:168
+#: templates/web/base/report/_inspect.html:182
msgid "Save + close as duplicate"
msgstr ""
-#: templates/web/base/admin/contact-form.html:137
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/contact-form.html:138
+#: templates/web/base/admin/reportextrafields/edit.html:64
+#: templates/web/base/admin/responsepriorities/edit.html:58
#: templates/web/base/admin/template_edit.html:46
-#: templates/web/base/report/_inspect.html:168
-#: templates/web/base/report/_main.html:113
-#: templates/web/base/report/update.html:60
+#: templates/web/base/report/_inspect.html:182
+#: templates/web/base/report/_main.html:117
+#: templates/web/base/report/update.html:69
#: templates/web/zurich/admin/body.html:62
-#: templates/web/zurich/admin/contact-form.html:20
+#: templates/web/zurich/admin/contact-form.html:22
#: templates/web/zurich/admin/template_edit.html:29
msgid "Save changes"
msgstr "Spremi promjene"
-#: templates/web/base/report/_inspect.html:148
+#: templates/web/base/admin/reportextrafields/edit.html:64
+msgid "Save new fields"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:158
msgid "Save with a public update"
msgstr ""
-#. ('This is followed by a progress count, e.g. 3/5')
#. ("This is followed by a progress count, e.g. 3/5")
-#: templates/web/base/js/translation_strings.html:69
+#: templates/web/base/js/translation_strings.html:72
msgid "Saving reports offline"
msgstr ""
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:132
+msgid "Scheduled"
+msgstr ""
+
#: templates/web/base/admin/index.html:26
#: templates/web/base/admin/reports.html:1
#: templates/web/zurich/admin/reports.html:1
@@ -3241,41 +3301,41 @@ msgstr ""
msgid "See our privacy policy"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:715
+#: perllib/FixMyStreet/Cobrand/Default.pm:720
msgid "See user detail for reports created as the council"
msgstr ""
-#: templates/web/base/admin/body-form.html:39
+#: templates/web/base/admin/body-form.html:41
#: templates/web/zurich/admin/body-form.html:16
msgid "Select a body"
msgstr ""
-#: templates/web/base/reports/index.html:12
-msgid "Select a particular council to see the reports sent there."
-msgstr ""
-
-#: templates/web/base/admin/body-form.html:77
+#: templates/web/base/admin/body-form.html:79
#: templates/web/zurich/admin/body-form.html:26
msgid "Select an area"
msgstr ""
-#: templates/web/base/alert/_list.html:11
-msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
+#: templates/web/base/admin/responsepriorities/edit.html:33
+msgid "Select if this is the default priority"
msgstr ""
#: templates/web/base/admin/category-checkboxes.html:6
msgid "Select:"
msgstr ""
+#: templates/web/base/contact/index.html:107
+msgid "Send"
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:109
msgid "Send extended Open311 statuses with service request updates"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:826
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:831
msgid "Sent report back"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:804
+#: perllib/FixMyStreet/DB/Result/Problem.pm:741
msgid "Sent to %s %s later"
msgstr "Pošalji %s %s naknadno"
@@ -3288,7 +3348,7 @@ msgstr "Poslano:"
msgid "Service:"
msgstr "Servis:"
-#: templates/web/base/report/_inspect.html:31
+#: templates/web/base/report/_inspect.html:41
msgid "Set to my current location"
msgstr ""
@@ -3297,49 +3357,56 @@ msgid "Share"
msgstr "Podijeli"
#: templates/web/base/main_nav_items.html:10
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:21
#: templates/web/base/report/_main.html:29
msgid "Shortlist"
msgstr ""
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/reports/body.html:32
+msgid "Shortlist all visible"
+msgstr ""
+
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:20
#: templates/web/base/report/_main.html:25
#: templates/web/base/reports/_list-filters.html:9
msgid "Shortlisted"
msgstr ""
-#: templates/web/base/report/_main.html:144
+#: templates/web/base/report/_item.html:15
+#: templates/web/base/report/_main.html:148
msgid "Shortlisted by %s"
msgstr ""
#: templates/web/base/report/update.html:20
-#, fuzzy
msgid "Show Photo?"
-msgstr "Prikaži staro"
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:26
+msgid "Show all updates"
+msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:54
+#: templates/web/base/report/new/form_user_loggedin.html:56
#: templates/web/base/report/new/form_user_loggedout_by_email.html:22
-#: templates/web/base/report/update/form_name.html:33
+#: templates/web/base/report/update/form_name.html:37
msgid "Show my name publicly"
msgstr "Prikaži moje ime javno"
#: templates/web/base/report/update.html:17
-#, fuzzy
msgid "Show name publicly?"
-msgstr "Prikaži moje ime javno"
+msgstr ""
#: templates/web/base/around/display_location.html:69
msgid "Show old"
msgstr "Prikaži staro"
-#: templates/web/base/report/_main.html:79
-#, fuzzy
+#: templates/web/base/report/_main.html:83
msgid "Show photo"
-msgstr "Prikaži staro"
+msgstr ""
#: templates/web/base/around/display_location.html:60
+#: templates/web/base/js/translation_strings.html:54
msgid "Show pins"
msgstr "Prikaži pinove"
@@ -3347,16 +3414,20 @@ msgstr "Prikaži pinove"
msgid "Show reporter&rsquo;s name"
msgstr ""
-#: templates/web/base/auth/general.html:117
+#: templates/web/base/reports/index.html:62
+msgid "Show reports in your area"
+msgstr ""
+
+#: templates/web/base/auth/general.html:119
#: templates/web/base/auth/general.html:3
-#: templates/web/base/auth/general.html:86
+#: templates/web/base/auth/general.html:88
#: templates/web/base/main_nav_items.html:6
#: templates/web/zurich/auth/general.html:18
#: templates/web/zurich/auth/general.html:35
msgid "Sign in"
msgstr "Prijavi se"
-#: templates/web/base/auth/general.html:96
+#: templates/web/base/auth/general.html:98
msgid "Sign in by email instead, providing a new password. When you click the link in your email, your password will be updated."
msgstr ""
@@ -3402,14 +3473,14 @@ msgstr ""
msgid "Sorry, there has been an error confirming your problem."
msgstr "Žao nam je, došlo je do greške pri potvrđivanju problema."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:230
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:235
#: perllib/FixMyStreet/Geocode.pm:37 perllib/FixMyStreet/Geocode/Bing.pm:38
#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:56
#: perllib/FixMyStreet/Geocode/OSM.pm:48
msgid "Sorry, we could not find that location."
msgstr "Žao nam je, ne možemo pronaći tu lokaciju."
-#: templates/web/base/auth/general.html:9
+#: templates/web/base/auth/general.html:11
#: templates/web/base/report/display.html:29
#: templates/web/base/report/new/fill_in_details_form.html:15
msgid "Sorry, we could not log you in. Please fill in the form below."
@@ -3431,11 +3502,11 @@ msgid ""
"page wasn’t found or there was a server error. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Root.pm:107
+#: perllib/FixMyStreet/App/Controller/Root.pm:124
msgid "Sorry, you don't have permission to do that."
msgstr ""
-#: templates/web/base/reports/_list-filters.html:42
+#: templates/web/base/reports/_list-filters.html:53
msgid "Sort by"
msgstr ""
@@ -3452,17 +3523,25 @@ msgid "Start Date:"
msgstr ""
#: templates/web/base/admin/body.html:73
+#: templates/web/base/admin/category_edit.html:29
+#: templates/web/base/admin/contact-form.html:53
#: templates/web/base/admin/flagged.html:18
#: templates/web/base/admin/index.html:64
#: templates/web/base/admin/list_updates.html:11
#: templates/web/base/admin/reports.html:16
#: templates/web/base/admin/template_edit.html:40
-#: templates/web/base/report/_inspect.html:83
-#: templates/web/base/report/_item.html:94
+#: templates/web/base/report/_inspect.html:82
+#: templates/web/base/report/_item.html:96
#: templates/web/base/report/update/form_update.html:39
+#: templates/web/zurich/admin/contact-form.html:10
msgid "State"
msgstr "Stanje"
+#: templates/web/base/report/update.html:48
+#, fuzzy
+msgid "State changed to:"
+msgstr "Spremi promjene"
+
#: templates/web/base/admin/report_edit.html:116
#: templates/web/base/admin/update_edit.html:28
#: templates/web/zurich/admin/report_edit-sdm.html:75
@@ -3472,8 +3551,14 @@ msgstr "Stanje"
msgid "State:"
msgstr "Stanje:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:640
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:386
+#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: templates/web/base/admin/states/index.html:1
+#, fuzzy
+msgid "States"
+msgstr "Stanje"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
#: templates/web/base/admin/index.html:71 templates/web/base/admin/stats.html:1
#: templates/web/base/admin/stats_by_state.html:1
#: templates/web/zurich/admin/stats.html:1 templates/web/zurich/header.html:65
@@ -3495,6 +3580,10 @@ msgstr "I dalje otvoreno, putem upitnika %s"
msgid "Street View"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:46
+msgid "String"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:192
msgid "Subcategory: %s"
msgstr ""
@@ -3503,7 +3592,7 @@ msgstr ""
msgid "Subdivision/Body"
msgstr ""
-#: templates/web/base/contact/index.html:88
+#: templates/web/base/contact/index.html:92
msgid "Subject"
msgstr "Predmet"
@@ -3513,14 +3602,14 @@ msgid "Subject:"
msgstr "Predmet:"
#: templates/web/base/questionnaire/creator_fixed.html:19
-#: templates/web/base/report/new/form_user_loggedin.html:61
+#: templates/web/base/report/new/form_user_loggedin.html:63
#: templates/web/base/report/new/form_user_loggedout_by_email.html:36
#: templates/web/base/report/new/form_user_loggedout_password.html:11
#: templates/web/zurich/report/new/fill_in_details_form.html:73
msgid "Submit"
msgstr "Pošalji"
-#: templates/web/base/admin/report_edit.html:174
+#: templates/web/base/admin/report_edit.html:162
#: templates/web/base/admin/report_edit.html:24
#: templates/web/base/admin/update_edit.html:77
#: templates/web/base/admin/user-form.html:170
@@ -3534,8 +3623,8 @@ msgstr "Pošalji promjene"
msgid "Submit questionnaire"
msgstr "Pošalji upitnik"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:164
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:893
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:898
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:6
#: templates/web/zurich/admin/index-dm.html:23
@@ -3545,36 +3634,38 @@ msgstr "Pošalji upitnik"
msgid "Submitted"
msgstr ""
+#: templates/web/base/alert/_list.html:77
+#: templates/web/base/alert/_list.html:80
#: templates/web/base/alert/updates.html:23
#: templates/web/base/report/display_tools.html:51
msgid "Subscribe"
msgstr "Pretplati se"
-#: templates/web/base/alert/_list.html:93
-msgid "Subscribe me to an email alert"
+#: templates/web/base/alert/_list.html:72
+#, fuzzy
+msgid "Subscribe by email"
msgstr "Pretplati se na e-mail upozorenja"
#: templates/web/base/report/new/form_report.html:19
msgid "Summarise the problem"
msgstr ""
-#: templates/web/base/admin/contact-form.html:129
+#: templates/web/base/admin/contact-form.html:130
msgid "Summarise your changes"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:638
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:382
+#: perllib/FixMyStreet/Cobrand/Default.pm:637
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:387
#: templates/web/base/admin/bodies.html:29
#: templates/web/base/admin/index.html:1 templates/web/base/status/index.html:1
#: templates/web/base/status/index.html:3
#: templates/web/zurich/admin/index-dm.html:1
#: templates/web/zurich/admin/index-sdm.html:1
-#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:13
+#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:12
#: templates/web/zurich/header.html:49
msgid "Summary"
msgstr "Sažetak"
-#: templates/web/base/reports/index.html:4
#: templates/web/zurich/reports/index.html:0
#: templates/web/zurich/reports/index.html:4
msgid "Summary reports"
@@ -3598,7 +3689,7 @@ msgid "Template &laquo;%s&raquo;"
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:661
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:393
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
#: templates/web/zurich/header.html:69
msgid "Templates"
msgstr ""
@@ -3627,7 +3718,7 @@ msgstr ""
msgid "Thank you for trying to confirm your update or problem. We seem to have an error ourselves though, so <a href=\"%s\">please let us know what went on</a> and we'll look into it."
msgstr "Zahvaljujemo se na pokušaju slanja vaše nadopune ili problema. Izgleda da imamo problem pa<a href=\"%s\">vas molimo da nam pojasnite što se dogodilo</a> te ćemo pokušati popraviti."
-#: templates/web/base/tokens/confirm_update.html:15
+#: templates/web/base/tokens/confirm_update.html:16
msgid "Thank you for updating this issue!"
msgstr ""
@@ -3655,7 +3746,7 @@ msgstr "Slika nije ispravno uÄitana (%s), molimo pokuÅ¡ajte ponovno."
msgid "That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again."
msgstr "Odgovorno tijelo ne pokriva navedenu lokaciju, možda je rijeÄ o obalnom dijelu ili je izvan zemlje. Molimo pokuÅ¡ajte ponovno."
-#: perllib/FixMyStreet/App/Controller/Location.pm:129
+#: perllib/FixMyStreet/App/Controller/Location.pm:127
msgid "That location does not appear to be in the UK; please try again."
msgstr "Lokacija se ne nalazi u Hrvatskoj. Molimo pokušajte ponovno."
@@ -3665,23 +3756,23 @@ msgstr "Lokacija se ne nalazi u Hrvatskoj. Molimo pokušajte ponovno."
msgid "That postcode was not recognised, sorry."
msgstr "Žao nam je, poštanski broj nije prepoznat."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:762
+#: perllib/FixMyStreet/App/Controller/Admin.pm:850
msgid "That problem has been marked as sent."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:755
+#: perllib/FixMyStreet/App/Controller/Admin.pm:843
msgid "That problem will now be resent."
msgstr "Navedeni problem će biti ponovno poslan"
-#: perllib/FixMyStreet/App/Controller/Report.pm:137
+#: perllib/FixMyStreet/App/Controller/Report.pm:134
msgid "That report cannot be viewed on %s."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report.pm:131
+#: perllib/FixMyStreet/App/Controller/Report.pm:128
msgid "That report has been removed from FixMyStreet."
msgstr "Navedena prijava je uklonjena s Popravi.to"
-#: templates/web/base/admin/contact-form.html:25
+#: templates/web/base/admin/contact-form.html:27
msgid ""
"The <strong>email address</strong> is the destination to which reports about this category will be sent. \n"
" Other categories for this body may have the same email address."
@@ -3701,10 +3792,10 @@ msgid ""
" than one. If the body is running its own endpoint, you can usually leave this blank."
msgstr ""
-#: templates/web/base/admin/body-form.html:100
-#: templates/web/base/admin/body-form.html:101
-#: templates/web/base/admin/contact-form.html:103
+#: templates/web/base/admin/body-form.html:102
+#: templates/web/base/admin/body-form.html:103
#: templates/web/base/admin/contact-form.html:104
+#: templates/web/base/admin/contact-form.html:105
msgid ""
"The <strong>send method</strong> determines how problem reports will be sent to the body.\n"
" If you leave this blank, <strong>send method defaults to email</strong>."
@@ -3721,6 +3812,10 @@ msgid ""
" and may be displayed publically."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:12
+msgid "The code used to store this field value in the database. e.g. <code>address</code> would be available as <code>problem.extra.address</code> in the templates."
+msgstr ""
+
#: templates/web/base/report/new/fill_in_details_text.html:1
#: templates/web/base/report/new/fill_in_details_text.html:3
msgid "The council won&rsquo;t be able to help unless you leave as much detail as you can. Please describe the exact location of the problem (e.g. on a wall), what it is, how long it has been there, a description (and a photo of the problem if you have one), etc."
@@ -3731,11 +3826,15 @@ msgstr ""
msgid "The diligency prize league table shows editors' activity (who's been editing the most records)."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:61
-#: perllib/FixMyStreet/App/Controller/Reports.pm:82
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:63
+#: perllib/FixMyStreet/App/Controller/Reports.pm:103
msgid "The error was: %s"
msgstr "Greška je: %s"
+#: templates/web/base/admin/extra-metadata-form.html:30
+msgid "The field name as shown to the user on the report form."
+msgstr ""
+
#: templates/web/base/open311/index.html:78
msgid "The following Open311 v2 attributes are returned for each request: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
msgstr ""
@@ -3774,10 +3873,14 @@ msgstr "Posljednji prijavljeni problemi za {{IME}}"
msgid "The link might have expired, or maybe you didn&rsquo;t quite copy and paste it correctly."
msgstr ""
-#: templates/web/base/admin/body-form.html:64
+#: templates/web/base/admin/body-form.html:66
msgid "The list of available areas is being provided by the MapIt service at %s."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:6
+msgid "The ordering of this field on the report page. Fields are shown in ascending order according to this value."
+msgstr ""
+
#: templates/web/base/auth/change_password.html:22
#: templates/web/base/auth/change_password.html:26
msgid "The passwords do not match"
@@ -3787,9 +3890,9 @@ msgstr "Lozinke se ne podudaraju"
msgid "The requested URL '%s' was not found on this server"
msgstr "Traženi URL '%s' nije pronađen na ovom serveru"
-#: templates/web/base/alert/_list.html:17
-msgid "The simplest alert is our geographic one:"
-msgstr "Dojavljivanja problema preko karte:"
+#: templates/web/base/admin/extra-metadata-form.html:42
+msgid "The type of input field to show to the user. <strong>Text</strong> is a simple text field, <strong>List</strong> is a drop-down selection."
+msgstr ""
#: perllib/FixMyStreet/Script/Reports.pm:96
msgid "The user could not locate the problem on a map, but to see the area around the location they entered"
@@ -3808,18 +3911,18 @@ msgstr ""
msgid "There are no reports to show."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Reports.pm:79
+#: perllib/FixMyStreet/App/Controller/Reports.pm:100
msgid "There was a problem showing the All Reports page. Please try again later."
msgstr "DoÅ¡lo je do problema pri uÄitavanju svih prijava. Molimo pokuÅ¡ajte ponovno."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:137
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:60
+#: perllib/FixMyStreet/App/Controller/Contact.pm:138
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:62
msgid "There was a problem showing this page. Please try again later."
msgstr "DoÅ¡lo je do problema pri uÄitavanju ove stranice. Molimo pokuÅ¡ajte ponovno."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:758
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:785
#: perllib/FixMyStreet/App/Controller/Report/Update.pm:152
-#: templates/web/base/auth/general.html:53
+#: templates/web/base/auth/general.html:55
#: templates/web/zurich/auth/general.html:28
msgid "There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the &lsquo;sign in by email&rsquo; section of the form."
msgstr "Došlo je do problema s kombinacijom Vašeg e-maila i lozinke.Ako se ne možete sjetiti ili nemate lozinku, molimo odaberite &lsquo; model prijave putem e-maila &rsquo;."
@@ -3832,7 +3935,7 @@ msgstr "Došlo je do problema s kombinacijom Vaše e-maila i lozinke. Molimo pok
msgid "There was a problem with your update. Please try again."
msgstr "Došlo je do problema pri ažuriranju. Molimo pokušajte ponovno."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:141
+#: perllib/FixMyStreet/App/Controller/Contact.pm:142
msgid "There were problems with your report. Please see below."
msgstr "Došlo je do problema pri prijavi. Detalje pogledajte u nastavku."
@@ -3884,8 +3987,8 @@ msgstr ""
msgid "This body has no contacts. This means that currently problems reported to this body <strong>will not be sent</strong>."
msgstr ""
-#: templates/web/base/admin/body-form.html:58
-#: templates/web/base/admin/body-form.html:59
+#: templates/web/base/admin/body-form.html:60
+#: templates/web/base/admin/body-form.html:61
msgid ""
"This body will only be sent reports for problems that are located in the <strong>area covered</strong>.\n"
" A body will not receive any reports unless it covers at least one area."
@@ -3899,8 +4002,9 @@ msgstr "Kako korisnik nije kategorizirao problem ,ovaj e-mail poslan je oboma od
msgid "This email has been sent to several councils covering the location of the problem, as the category selected is provided for all of them; please ignore it if you're not the correct council to deal with the issue."
msgstr "Kako je odabrana kategorija predviđena za više odgovornih tijela, ovaj e-mail poslan je na adrese nekoliko ureda koje prekrivaju mjesto problema. Molimo vas da zanemarite e-mail ukoliko niste nadležni za ovaj problem."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:881
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:925
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1017
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:910
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:954
#: perllib/FixMyStreet/App/Controller/Report/New.pm:971
#: perllib/FixMyStreet/Cobrand/UK.pm:45
msgid "This information is required"
@@ -3910,46 +4014,41 @@ msgstr "Potrebna informacija"
msgid "This is a developer site; things might break at any time, and the database will be periodically deleted."
msgstr "Ovo je stranica za razvojne programere; ovdje se sve može prekinuti u bilo kojem trenutku. Baza će biti povremeno izbrisana."
-#: templates/web/base/reports/index.html:10
-msgid "This is a summary of all reports on this site."
-msgstr ""
-
-#: templates/web/base/report/new/form_report.html:56
+#: templates/web/base/report/new/form_report.html:58
msgid "This pothole has been here for two months and…"
msgstr ""
-#: templates/web/base/report/update/form_update.html:63
+#: templates/web/base/report/update/form_update.html:55
msgid "This problem has been fixed"
msgstr "Problem je riješen"
-#: templates/web/base/report/update/form_update.html:56
+#: templates/web/base/report/update/form_update.html:48
msgid "This problem has not been fixed"
msgstr "Problem još nije riješen"
-#: templates/web/base/report/update/form_update.html:54
-#, fuzzy
+#: templates/web/base/report/update/form_update.html:46
msgid "This problem is still ongoing"
-msgstr "Problem još nije riješen"
+msgstr ""
#: templates/web/base/report/duplicate-no-updates.html:3
msgid "This report is a duplicate. Please leave updates on the original report:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:161
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:162
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:166
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:167
#: templates/web/zurich/report/_main.html:14
msgid "This report is awaiting moderation."
msgstr ""
-#: perllib/FixMyStreet/Script/Alerts.pm:101
+#: perllib/FixMyStreet/Script/Alerts.pm:98
msgid "This report is currently marked as closed."
msgstr "Ova prijava je trenutno oznaÄena kao zatvorena."
-#: perllib/FixMyStreet/Script/Alerts.pm:99
+#: perllib/FixMyStreet/Script/Alerts.pm:96
msgid "This report is currently marked as fixed."
msgstr "Prijava je trenutno oznaÄena kao popravljena."
-#: perllib/FixMyStreet/Script/Alerts.pm:103
+#: perllib/FixMyStreet/Script/Alerts.pm:100
msgid "This report is currently marked as open."
msgstr "Prijava je trenutno oznaÄena kao otvorena."
@@ -3968,7 +4067,7 @@ msgstr "Stranica sadrži i fotografiju problem, dodanu od strane korisnika."
msgid "Time spent (in minutes):"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Default.pm:638
#: templates/web/base/admin/timeline.html:1
msgid "Timeline"
msgstr "Vremenska skala"
@@ -3997,10 +4096,26 @@ msgstr ""
msgid "To find out what local alerts we have for you, please enter your postcode or street name and area"
msgstr "Kako biste vidjeli lokalne probleme,molimo Vas da unesete poÅ¡tanski broj ili naziv ulice i podruÄje."
+#: templates/web/base/admin/reportextrafields/edit.html:19
+msgid "To limit this collection of fields to a single cobrand, select it here."
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:40
+msgid "To limit this collection of fields to a single language, select it here."
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:95
msgid "To view a map of the precise location of this issue"
msgstr "Karta toÄne lokacije ovog problema"
+#: templates/web/base/reports/index.html:97
+msgid "Top 5 most used categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:83
+msgid "Top 5 responsive councils"
+msgstr ""
+
#: templates/web/base/admin/questionnaire.html:24
#: templates/web/base/admin/stats.html:24
#: templates/web/base/admin/stats.html:43
@@ -4014,9 +4129,8 @@ msgid "Total marked"
msgstr ""
#: templates/web/base/dashboard/index.html:71
-#, fuzzy
msgid "Total marked as fixed"
-msgstr "oznaÄeno kao popravljeno"
+msgstr ""
#: templates/web/base/dashboard/index.html:125
msgid "Total not marked"
@@ -4027,16 +4141,24 @@ msgstr ""
msgid "Total reports received"
msgstr ""
-#: templates/web/base/report/_inspect.html:124
-#: templates/web/base/report/_item.html:102
+#: templates/web/base/report/_inspect.html:134
+#: templates/web/base/report/_item.html:104
msgid "Traffic management required?"
msgstr ""
+#: templates/web/base/admin/_translations.html:7
+msgid "Translation"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:2
+msgid "Translations"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:111
msgid "Trusted by bodies:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:721
+#: perllib/FixMyStreet/Cobrand/Default.pm:726
msgid "Trusted to make reports that don't need to be inspected"
msgstr ""
@@ -4052,8 +4174,14 @@ msgstr ""
msgid "Try emailing us directly:"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:21
+#: templates/web/base/admin/extra-metadata-form.html:44
+#: templates/web/base/admin/states/index.html:10
+#: templates/web/base/admin/states/index.html:100
+msgid "Type"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:59
+#: templates/web/base/admin/contact-form.html:55
#: templates/web/base/admin/update_edit.html:30
#: templates/web/zurich/admin/report_edit-sdm.html:66
#: templates/web/zurich/admin/report_edit.html:94
@@ -4061,7 +4189,6 @@ msgstr ""
msgid "Unconfirmed"
msgstr "Nepotvrđeno"
-#: templates/web/base/reports/_list-filters.html:12
#: templates/web/base/reports/_list-filters.html:5
msgid "Unfixed reports"
msgstr ""
@@ -4075,14 +4202,14 @@ msgid "Unknown alert type"
msgstr "Nepoznat tip upozorenja"
#: perllib/FixMyStreet/App/Controller/Photo.pm:109
-#: perllib/FixMyStreet/App/Controller/Root.pm:124
+#: perllib/FixMyStreet/App/Controller/Root.pm:141
#: templates/web/base/js/translation_strings.html:38
msgid "Unknown error"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report.pm:115
+#: perllib/FixMyStreet/App/Controller/Report.pm:112
+#: perllib/FixMyStreet/App/Controller/Report.pm:118
#: perllib/FixMyStreet/App/Controller/Report.pm:121
-#: perllib/FixMyStreet/App/Controller/Report.pm:124
msgid "Unknown problem ID"
msgstr "Nepoznat IB problema"
@@ -4090,10 +4217,11 @@ msgstr "Nepoznat IB problema"
msgid "Unshortlisted"
msgstr ""
-#: templates/web/base/report/_item.html:24
+#: templates/web/base/report/_item.html:26
msgid "Up one"
msgstr ""
+#: templates/web/base/admin/states/index.html:76
#: templates/web/base/report/update/form_update.html:29
msgid "Update"
msgstr "Ažuriranje"
@@ -4110,7 +4238,7 @@ msgstr "Ažuriranje u nastavku dodao je anonimni korisnik u %s"
msgid "Update below added by %s at %s"
msgstr "Ažuriranje u nastavku dodao %s u %s"
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Update body"
msgstr ""
@@ -4146,13 +4274,23 @@ msgstr "Status ažuriranja"
msgid "Updated"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1157
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1221
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1384
-#: perllib/FixMyStreet/App/Controller/Admin.pm:822
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:762
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:787
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:857
+#: perllib/FixMyStreet/DB/Result/Comment.pm:249
+#, fuzzy
+msgid "Updated by <strong>%s</strong> (%s) at %s"
+msgstr "Objavio <strong>%s</strong> (%s) na %s"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:251
+#, fuzzy
+msgid "Updated by <strong>%s</strong> at %s"
+msgstr "Objavio <strong>%s</strong> na %s"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1262
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1326
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1489
+#: perllib/FixMyStreet/App/Controller/Admin.pm:910
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:767
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:792
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:862
msgid "Updated!"
msgstr "Ažurirano!"
@@ -4162,7 +4300,7 @@ msgstr "Ažurirano!"
msgid "Updates"
msgstr "Ažuriranja"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:133
+#: perllib/FixMyStreet/DB/Result/Comment.pm:134
msgid "Updates are limited to %s characters in length. Please shorten your update"
msgstr ""
@@ -4176,11 +4314,22 @@ msgstr "Ažuriranja za {{naslov}}"
msgid "Updates to this problem, %s"
msgstr ""
+#: templates/web/base/admin/contact-form.html:43
+#: templates/web/base/admin/contact-form.html:44
+msgid ""
+"Use <strong>confirmed</strong> to indicate that this contact has been\n"
+"confirmed as correct. If you are not sure of the origin or validity of the\n"
+"contact, use <strong>unconfirmed</strong>. <strong>inactive</strong> will\n"
+"remove the category from use when reporting problems, but keep it available in\n"
+"map filters, and <strong>deleted</strong> will remove the category from there\n"
+"as well."
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:65
msgid "Use Open311 update-sending extension"
msgstr ""
-#: templates/web/base/admin/contact-form.html:124
+#: templates/web/base/admin/contact-form.html:125
msgid "Use this field to record details that are only displayed in the admin. Input is not shown publicly, and is not sent to the body."
msgstr ""
@@ -4193,27 +4342,26 @@ msgstr ""
msgid "User ID to attribute fetched comments to"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1700
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1805
msgid "User flag removed"
msgstr "KorisniÄka oznaka uklonjena"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1672
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1777
msgid "User flagged"
msgstr "Korisnik oznaÄen"
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:58
-#, fuzzy
msgid "User has marked as fixed"
-msgstr "oznaÄeno kao popravljeno"
+msgstr ""
#: templates/web/base/admin/users.html:5
msgid "User search finds matches in users' names and email addresses."
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:669
-#: perllib/FixMyStreet/Cobrand/Default.pm:723
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
+#: perllib/FixMyStreet/Cobrand/Default.pm:728
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:403
#: templates/web/base/admin/flagged.html:29 templates/web/zurich/header.html:61
msgid "Users"
msgstr "Korisnici"
@@ -4222,9 +4370,9 @@ msgstr "Korisnici"
msgid "Users can perform the following actions within their assigned body or area."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:400
-#: perllib/FixMyStreet/App/Controller/Admin.pm:430
-#: perllib/FixMyStreet/App/Controller/Admin.pm:448
+#: perllib/FixMyStreet/App/Controller/Admin.pm:381
+#: perllib/FixMyStreet/App/Controller/Admin.pm:417
+#: perllib/FixMyStreet/App/Controller/Admin.pm:439
msgid "Values updated"
msgstr "Vrijednosti ažurirane"
@@ -4271,7 +4419,7 @@ msgstr "Pronađeno je više rezultata za tnavedenulokaciju. Prikazano je do dese
msgid "We found more than one match for that problem reference:"
msgstr ""
-#: templates/web/base/auth/general.html:6
+#: templates/web/base/auth/general.html:8
#: templates/web/base/report/display.html:35
#: templates/web/base/report/new/oauth_email_form.html:5
msgid "We need your email address, please give it below."
@@ -4306,7 +4454,7 @@ msgstr ""
msgid "What was your experience of getting the problem fixed?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:52
+#: templates/web/base/admin/category_edit.html:27
#: templates/web/zurich/admin/body.html:18
msgid "When edited"
msgstr "Prilikom ažuriranja"
@@ -4315,11 +4463,19 @@ msgstr "Prilikom ažuriranja"
msgid "When sent"
msgstr "Prilikom slanja"
-#: templates/web/base/report/_inspect.html:89
+#: templates/web/base/admin/extra-metadata-form.html:18
+msgid "Whether the user is required to provide a value for this field."
+msgstr ""
+
+#: templates/web/base/alert/_list.html:9
+msgid "Which problems do you want alerts about?"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:99
msgid "Which report is it a duplicate of?"
msgstr ""
-#: templates/web/base/js/translation_strings.html:54
+#: templates/web/base/js/translation_strings.html:57
msgid "Whoa there Testino! Three photos are enough."
msgstr ""
@@ -4327,8 +4483,8 @@ msgstr ""
msgid "Why stop there? <a href=\"/alert\">Set up more alerts</a> for free."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:185
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:190
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:14
msgid "Wish"
@@ -4338,7 +4494,7 @@ msgstr ""
msgid "With request searches, it is also possible to search for agency_responsible to limit the requests to those sent to a single administration. The search term is the administration ID provided by <a href=\"%s\">MaPit</a>."
msgstr "Osim pretraživanja prijava, moguće je pretražiti i odgovorne_agencije kako biste ograniÄili prijave na one poslane odreÄ‘enom uredu. Pojam za pretraživanje je IB pojedinog ureda kojeg možete saznati pomoću <a href=\"%s\">MaPit</a>."
-#: templates/web/base/front/footer-marketing.html:17
+#: templates/web/base/front/footer-marketing.html:3
msgid "Would you like to contribute to FixMyStreet? Our code is open source and <a href=\"http://fixmystreet.org\">available at fixmystreet.org</a>."
msgstr ""
@@ -4363,23 +4519,22 @@ msgstr ""
msgid "Year"
msgstr "Godina"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1202
+#: perllib/FixMyStreet/Cobrand/Default.pm:1236
#: templates/web/base/admin/bodies.html:70
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
#: templates/web/base/admin/category_edit.html:5
#: templates/web/base/admin/flagged.html:47
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:136
+#: templates/web/base/admin/report_edit.html:124
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:25
#: templates/web/base/admin/users.html:32
#: templates/web/base/questionnaire/creator_fixed.html:14
#: templates/web/base/questionnaire/index.html:104
#: templates/web/base/questionnaire/index.html:53
+#: templates/web/base/report/_inspect.html:90
msgid "Yes"
msgstr "Da"
@@ -4392,7 +4547,7 @@ msgstr "Da, imam lozinku"
msgid "You are complaining that this problem report was unnecessarily moderated:"
msgstr ""
-#: templates/web/base/js/translation_strings.html:70
+#: templates/web/base/js/translation_strings.html:73
msgid "You are offline"
msgstr ""
@@ -4413,7 +4568,11 @@ msgstr ""
msgid "You can add an abusive user's email to the abuse list, which automatically hides (and never sends) reports they create."
msgstr ""
-#: templates/web/base/contact/index.html:111
+#: templates/web/base/alert/_list.html:18
+msgid "You can choose to subscribe to all problems reported in an area, or reports based on their destination."
+msgstr ""
+
+#: templates/web/base/contact/index.html:115
msgid "You can contact technical support on <a href='mailto:%s'>%s</a>"
msgstr ""
@@ -4431,7 +4590,7 @@ msgstr ""
msgid "You can help us by finding a contact email address for local problems for %s and emailing it to us at <a href='mailto:%s'>%s</a>."
msgstr "Možete nam pomoći u pronalaženju kontakt e-mail adresa za lokalne probleme %s i poslati nam ih e-mailom na <a href='mailto:%s'>%s</a>."
-#: templates/web/base/admin/body-form.html:91
+#: templates/web/base/admin/body-form.html:93
msgid "You can mark a body as deleted if you do not want it to be active on the site."
msgstr ""
@@ -4439,7 +4598,7 @@ msgstr ""
msgid "You declined; please fill in the box above"
msgstr ""
-#: templates/web/base/js/translation_strings.html:72
+#: templates/web/base/js/translation_strings.html:75
msgid "You have <a id=\"oFN\" href=\"\"><span>%s</span> saved to submit</a>."
msgstr ""
@@ -4447,7 +4606,7 @@ msgstr ""
msgid "You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"
msgstr "Već ste ogovorili na upitnik. Ako imate nekih pitanja, molimo da nam<a href='%s'>se javite</a>, ili<a href='%s'>pregledate problem koji vas zanima</a>.\n"
-#: templates/web/base/report/new/form_report.html:37
+#: templates/web/base/report/new/form_report.html:39
#: templates/web/zurich/report/new/fill_in_details_form.html:30
msgid "You have already attached photos to this report. Note that you can attach a maximum of 3 to this report (if you try to upload more, the oldest will be removed)."
msgstr ""
@@ -4505,10 +4664,9 @@ msgstr "Vaše prijave"
msgid "Your account"
msgstr ""
-#: templates/web/base/alert/_list.html:90
#: templates/web/base/alert/updates.html:19
#: templates/web/base/alert/updates.html:22
-#: templates/web/base/contact/index.html:81
+#: templates/web/base/contact/index.html:80
#: templates/web/base/report/display_tools.html:46
#: templates/web/base/report/display_tools.html:49
#: templates/web/base/report/new/form_user_loggedout_email.html:1
@@ -4518,7 +4676,7 @@ msgid "Your email"
msgstr "Vaš e-mail"
#: templates/web/base/auth/change_email.html:9
-#: templates/web/base/auth/general.html:55
+#: templates/web/base/auth/general.html:57
#: templates/web/base/report/update/form_user_loggedout_email.html:5
#: templates/web/zurich/auth/general.html:30
#: templates/web/zurich/auth/general.html:58
@@ -4529,21 +4687,32 @@ msgstr "Vaša e-mail adresa"
msgid "Your information will only be used in accordance with our <a href=\"/privacy\">privacy policy</a>"
msgstr "VaÅ¡e informacije će se koristiti iskljuÄivo u skladu s naÅ¡im<a href=\"/privacy\">pravilima o privatnosti</a>"
-#: templates/web/base/auth/general.html:107
+#: templates/web/base/auth/general.html:109
#: templates/web/base/contact/index.html:74
#: templates/web/base/report/new/form_user_loggedout_by_email.html:17
-#: templates/web/base/report/update/form_name.html:29
+#: templates/web/base/report/update/form_name.html:33
#: templates/web/zurich/auth/general.html:61
#: templates/web/zurich/report/new/fill_in_details_form.html:63
msgid "Your name"
msgstr "Ime"
-#: templates/web/base/js/translation_strings.html:62
-#, fuzzy
+#: templates/web/base/my/anonymize.html:13
+msgid "Your name has already been sent to %s, but we can hide it on this page:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:264
+msgid "Your name has been hidden from all your reports and updates."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:260
+msgid "Your name has been hidden."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:65
msgid "Your offline reports"
-msgstr "Vaše prijave"
+msgstr ""
-#: templates/web/base/auth/general.html:85
+#: templates/web/base/auth/general.html:87
#: templates/web/base/report/new/form_user_loggedout_password.html:10
#: templates/web/base/report/update/form_user_loggedout_password.html:9
#: templates/web/zurich/auth/general.html:34
@@ -4554,6 +4723,7 @@ msgstr "Lozinka"
msgid "Your password has been changed"
msgstr "Vaša lozinka je promijenjena"
+#: templates/web/base/contact/index.html:87
#: templates/web/base/report/new/form_user_loggedout_by_email.html:26
#: templates/web/zurich/report/new/fill_in_details_form.html:69
msgid "Your phone number"
@@ -4572,7 +4742,7 @@ msgstr "Vaše prijave"
msgid "Your shortlist"
msgstr ""
-#: templates/web/base/js/translation_strings.html:63
+#: templates/web/base/js/translation_strings.html:66
msgid "Your update has been saved offline for submission when back online."
msgstr ""
@@ -4580,8 +4750,8 @@ msgstr ""
msgid "Your updates"
msgstr "Vaša ažuriranja"
-#: templates/web/base/report/new/form_user_loggedin.html:18
-#: templates/web/base/report/update/form_name.html:11
+#: templates/web/base/report/new/form_user_loggedin.html:19
+#: templates/web/base/report/update/form_name.html:12
msgid "Yourself"
msgstr ""
@@ -4590,14 +4760,14 @@ msgstr ""
msgid "all"
msgstr ""
+#: perllib/FixMyStreet/DB/Result/Comment.pm:259
+msgid "and a defect raised"
+msgstr ""
+
#: templates/web/base/admin/timeline.html:4
msgid "by %s"
msgstr "od %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:290
-msgid "closed as a duplicate report"
-msgstr ""
-
#: templates/web/base/reports/body.html:6
#: templates/web/base/reports/body.html:7
msgid "council"
@@ -4622,7 +4792,7 @@ msgstr ""
msgid "from %s different users"
msgstr "od %s razliÄitih korisnika"
-#: templates/web/base/report/_item.html:61
+#: templates/web/base/report/_item.html:63
#: templates/web/zurich/report/_item.html:14
msgid "last updated %s"
msgstr ""
@@ -4631,44 +4801,7 @@ msgstr ""
msgid "less than a minute"
msgstr "manje od minute"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:280
-msgid "marked as action scheduled"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:292
-msgid "marked as an internal referral"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:282
-msgid "marked as closed"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:263
-#: perllib/FixMyStreet/DB/Result/Comment.pm:284
-msgid "marked as fixed"
-msgstr "oznaÄeno kao popravljeno"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:278
-msgid "marked as in progress"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:274
-msgid "marked as investigating"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:286
-msgid "marked as no further action"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:288
-msgid "marked as not the council's responsibility"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:276
-msgid "marked as planned"
-msgstr ""
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:122
+#: perllib/FixMyStreet/App/Controller/Admin.pm:119
#: templates/web/base/admin/questionnaire.html:15
#: templates/web/base/admin/questionnaire.html:16
msgid "n/a"
@@ -4679,14 +4812,10 @@ msgstr "n/a"
msgid "none"
msgstr ""
-#: templates/web/base/admin/category_edit.html:35
-msgid "optional"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:278
+msgid "not the council's responsibility"
msgstr ""
-#: templates/web/base/alert/_list.html:86
-msgid "or"
-msgstr "ili"
-
#: templates/web/base/js/translation_strings.html:27
msgid "or locate me automatically"
msgstr ""
@@ -4710,16 +4839,7 @@ msgstr ""
msgid "other areas:"
msgstr "druga podruÄja:"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:265
-#: perllib/FixMyStreet/DB/Result/Comment.pm:271
-msgid "reopened"
-msgstr "ponovno otvoreno"
-
-#: templates/web/base/admin/category_edit.html:35
-msgid "required"
-msgstr ""
-
-#: templates/web/zurich/footer.html:13
+#: templates/web/zurich/footer.html:12
msgid "sign out"
msgstr "odjavi se"
@@ -4727,11 +4847,16 @@ msgstr "odjavi se"
msgid "the local council"
msgstr "lokalno odgovorno tijelo"
-#: templates/web/base/report/_report_meta_info.html:2
+#: templates/web/base/report/_report_meta_info.html:5
#: templates/web/zurich/report/_main.html:5
msgid "there is no pin shown as the user did not use the map"
msgstr "nema oznake jer korisnik nije oznaÄio problem na karti"
+#: templates/web/base/alert/_list.html:1
+#, fuzzy
+msgid "this location"
+msgstr "Prikaz lokacije"
+
#: perllib/FixMyStreet/Script/Reports.pm:184
msgid "this type of local problem"
msgstr "ovaj tip "
@@ -4740,15 +4865,13 @@ msgstr "ovaj tip "
msgid "today"
msgstr "danas"
-#: templates/web/base/js/translation_strings.html:73
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:76
msgid "update"
-msgstr "Ažuriranje"
+msgstr ""
-#: templates/web/base/js/translation_strings.html:74
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:77
msgid "updates"
-msgstr "Ažuriranja"
+msgstr ""
#: templates/web/base/admin/report_edit.html:52
msgid "used map"
@@ -4800,12 +4923,12 @@ msgstr[1] "%d minute"
msgstr[2] "%d minute"
#: perllib/Utils.pm:246
-#, fuzzy, perl-format
+#, perl-format
msgid "%d month"
msgid_plural "%d months"
-msgstr[0] "%d minuta"
-msgstr[1] "%d minute"
-msgstr[2] "%d minute"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
#: templates/web/base/report/_support.html:6
#, perl-format
@@ -4831,6 +4954,46 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
+#: templates/web/base/reports/index.html:92
+#, perl-format
+msgid "%s day"
+msgid_plural "%s days"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/web/base/reports/index.html:55
+#, perl-format
+msgid "%s problem marked as fixed"
+msgid_plural "%s problems marked as fixed"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/web/base/reports/index.html:43
+#, perl-format
+msgid "%s problem reported"
+msgid_plural "%s problems reported"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/web/base/reports/index.html:107
+#, perl-format
+msgid "%s report"
+msgid_plural "%s reports"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/web/base/reports/index.html:49
+#, perl-format
+msgid "%s update on problems"
+msgid_plural "%s updates on problems"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
#: templates/web/base/front/stats.html:19
#, perl-format
msgid "<big>%s</big> fixed in past month"
@@ -4863,13 +5026,13 @@ msgstr[0] "<big>%s</big> ažuriranje za prijavu"
msgstr[1] "<big>%s</big> ažuriranja za prijavu"
msgstr[2] "<big>%s</big> ažuriranja za prijavu"
-#: templates/web/base/report/_item.html:49
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:51
+#, perl-format
msgid "Reported %d day ago"
msgid_plural "Reported %d days ago"
-msgstr[0] "Prijavio %s za %s"
-msgstr[1] "Prijavio %s za %s"
-msgstr[2] "Prijavio %s za %s"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
#: templates/web/base/report/new/top_message_some.html:3
#, perl-format
@@ -4887,7 +5050,7 @@ msgstr[0] "Još uvijek nemamo podatke za odgovorno tijelo koja pokriva ovu lokac
msgstr[1] "Još uvijek nemamo podatke za odgovorna tijela koja pokrivaju ovu lokaciju."
msgstr[2] "Još uvijek nemamo podatke za odgovorna tijela koja pokrivaju ovu lokaciju."
-#: templates/web/base/report/_item.html:59
+#: templates/web/base/report/_item.html:61
#, perl-format
msgid "last updated %d day ago"
msgid_plural "last updated %d days ago"
@@ -4896,21 +5059,51 @@ msgstr[1] ""
msgstr[2] ""
#: templates/email/oxfordshire/archive.txt:9
-#, fuzzy, perl-format
+#, perl-format
msgid "report"
msgid_plural "reports"
-msgstr[0] "Sve prijave"
-msgstr[1] "Sve prijave"
-msgstr[2] "Sve prijave"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
-#, fuzzy
-#~ msgid "All inspectors"
-#~ msgstr "Sve Prijave"
+#~ msgid "-- Pick a property type --"
+#~ msgstr "-- Izaberite vrstu posjeda --"
-#, fuzzy
-#~ msgid "Report category:"
-#~ msgstr "Kreiraj kategoriju"
+#~ msgid "Closed:"
+#~ msgstr "Zatvoreno:"
-#, fuzzy
-#~ msgid "Reported %d days ago"
-#~ msgstr "Prijavio %s za %s"
+#~ msgid "Fixed:"
+#~ msgstr "Popravljeno:"
+
+#~ msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
+#~ msgstr "Vrste upozorenja za lokalne probleme &lsquo;%s&rsquo;."
+
+#~ msgid "In Progress"
+#~ msgstr "U tijeku"
+
+#~ msgid "Investigating"
+#~ msgstr "Istražujem"
+
+#~ msgid "Or problems reported to:"
+#~ msgstr "Ili problemi prijavljeni:"
+
+#~ msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
+#~ msgstr "Ili se možete pretplatiti na upozorenja unutar vašeg vijeća &rsquo;:"
+
+#~ msgid "Please choose a property type"
+#~ msgstr "Izaberi tip imovine"
+
+#~ msgid "Problems within the boundary of:"
+#~ msgstr "Problemi unutar granice:"
+
+#~ msgid "The simplest alert is our geographic one:"
+#~ msgstr "Dojavljivanja problema preko karte:"
+
+#~ msgid "marked as fixed"
+#~ msgstr "oznaÄeno kao popravljeno"
+
+#~ msgid "or"
+#~ msgstr "ili"
+
+#~ msgid "reopened"
+#~ msgstr "ponovno otvoreno"
diff --git a/locale/id_ID.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/id_ID.UTF-8/LC_MESSAGES/FixMyStreet.po
new file mode 100644
index 000000000..c3506fc21
--- /dev/null
+++ b/locale/id_ID.UTF-8/LC_MESSAGES/FixMyStreet.po
@@ -0,0 +1,5237 @@
+# FixMyStreet original .po file, autogenerated by gettext-extract.
+# Copyright (C) 2011 UK Citizens Online Democracy
+# This file is distributed under the same license as the main FixMyStreet code.
+# Matthew Somerville <matthew@mysociety.org>, 2011-06-03.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: 1.0\n"
+"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
+"POT-Creation-Date: 2017-09-13 15:40+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Gengo Projects Team <lian.abadia@gengo.com>, 2017\n"
+"Language-Team: Indonesian (Indonesia) (https://www.transifex.com/mysociety/teams/12067/id_ID/)\n"
+"Language: id_ID\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"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:632
+#: perllib/FixMyStreet/Script/Reports.pm:197
+msgid " and "
+msgstr "dan"
+
+#: templates/web/base/report/new/category_extras.html:13
+#: templates/web/base/report/new/councils_text_all.html:4
+#: templates/web/base/report/new/top_message_none.html:12
+#: templates/web/base/report/new/top_message_none.html:15
+#: templates/web/base/report/new/top_message_some.html:12
+#: templates/web/base/report/new/top_message_some.html:9
+msgid " or "
+msgstr "atau"
+
+#: templates/web/base/admin/edit-league.html:12
+msgid "%d edits by %s"
+msgstr "%d suntingan oleh %s"
+
+#: templates/web/base/pagination.html:7
+msgid "%d to %d of %d"
+msgstr "%d sampai %d dari %d"
+
+#: templates/web/base/reports/body.html:0
+#: templates/web/base/reports/body.html:24
+msgid "%s - Summary reports"
+msgstr "%s - Laporan ringkasan"
+
+#. ("%s here is the site name")
+#: templates/web/base/admin/navigation.html:3
+msgid "%s admin:"
+msgstr "%s admin:"
+
+#: templates/web/base/status/stats.html:26
+msgid "%s bodies"
+msgstr "%s badan"
+
+#: templates/web/base/status/stats.html:24
+msgid "%s confirmed alerts, %s unconfirmed"
+msgstr "%s peringatan dikonfirmasi, %s belum dikonfirmasi"
+
+#: templates/web/base/status/stats.html:27
+#: templates/web/zurich/admin/index.html:6
+msgid "%s council contacts &ndash; %s confirmed, %s unconfirmed"
+msgstr "%s kontak dewan &ndash; %s dikonfirmasi, %s belum dikonfirmasi"
+
+#. ("%s is the site name")
+#: templates/web/base/alert/index.html:7
+msgid ""
+"%s has a variety of RSS feeds and email alerts for local\n"
+"problems, including alerts for all problems within a particular ward, or all\n"
+"problems within a certain distance of a particular location."
+msgstr ""
+"%s memiliki bermacam-macam umpan RSS dan surel peringatan untuk \n"
+"masalah lokal, termasuk peringatan untuk semua masalah di kelurahan tertentu, atau semua \n"
+"masalah dalam jarak tertentu dari suatu lokasi."
+
+#. ("%s is the site name")
+#: templates/web/base/alert/index.html:11
+msgid ""
+"%s has a variety of RSS feeds and email alerts for local problems, including\n"
+"alerts for all problems within a particular ward or council, or all problems\n"
+"within a certain distance of a particular location."
+msgstr ""
+"%s memiliki bermacam-macam umpan RSS dan surel peringatan untuk masalah lokal, termasuk\n"
+"peringatan untuk semua masalah di kelurahan atau dewan tertentu, atau semua masalah\n"
+"dalam jarak tertentu dari suatu lokasi."
+
+#: templates/web/base/status/stats.html:23
+msgid "%s live updates"
+msgstr "%s pembaruan langsung"
+
+#: templates/web/base/status/stats.html:25
+msgid "%s questionnaires sent &ndash; %s answered (%s%%)"
+msgstr "%s kuesioner dikirim &ndash; %s dijawab (%s%%)"
+
+#: templates/web/base/report/_council_sent_info.html:8
+msgid "%s ref:&nbsp;%s"
+msgstr "%s ref:&nbsp;%s"
+
+#: perllib/FixMyStreet/Map/OSM.pm:38
+msgid "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"
+msgstr "Kontributor &copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a>"
+
+#: templates/web/zurich/report/new/fill_in_details_form.html:21
+msgid "(Defect &amp; location of defect)"
+msgstr "(Kerusakan&amp; lokasi kerusakan)"
+
+#: templates/web/base/admin/report_blocks.html:18
+#: templates/web/base/admin/users.html:32
+msgid "(Email in abuse table)"
+msgstr "(Surel di tabel penyalahgunaan)"
+
+#: templates/web/zurich/admin/report_edit-sdm.html:62
+#: templates/web/zurich/admin/report_edit.html:90
+msgid "(No name)"
+msgstr "(Tidak ada nama)"
+
+#: templates/web/zurich/admin/report_edit-sdm.html:69
+#: templates/web/zurich/admin/report_edit.html:97
+msgid "(No phone number)"
+msgstr "(Tidak ada nomor telepon)"
+
+#: templates/web/base/admin/states/index.html:95
+msgid "(a-z and space only)"
+msgstr ""
+
+#: templates/web/zurich/report/_item.html:19
+msgid "(closed)"
+msgstr "(ditutup)"
+
+#: templates/web/base/alert/_list.html:30
+#, fuzzy
+msgid "(covers roughly 200,000 people)"
+msgstr "(jarak default yang mencakup kurang lebih 200.000 orang)"
+
+#: templates/web/zurich/report/_item.html:17
+msgid "(fixed)"
+msgstr "(diatasi)"
+
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "(ignored if type is \"String\")"
+msgstr ""
+
+#: templates/web/base/around/intro.html:2
+msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
+msgstr "(seperti grafiti, pembuangan ilegal, pelat beton rusak, atau lampu jalan)"
+
+#: templates/web/base/reports/index.html:69
+msgid "(no longer exists)"
+msgstr "(tidak ada lagi)"
+
+#: templates/web/base/report/_item.html:70
+msgid "(not sent to council)"
+msgstr "(tidak dikirim ke dewan)"
+
+#: templates/web/zurich/report/new/fill_in_details_form.html:59
+msgid "(optional)"
+msgstr "(opsional)"
+
+#: templates/web/base/report/_item.html:69
+msgid "(sent to both)"
+msgstr "(dikirim ke dua-duanya)"
+
+#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
+#: templates/web/base/alert/_list.html:36
+#, fuzzy
+msgid "(we also have RSS feeds for problems within %s)"
+msgstr "Umpan RSS dari masalah dalam %s"
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:245
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:381
+msgid "-- Pick a category --"
+msgstr "-- Pilih kategori --"
+
+#: templates/web/base/admin/response_templates_select.html:3
+msgid "--Choose a template--"
+msgstr "--Pilih template--"
+
+#: templates/web/base/report/new/form_report.html:23
+msgid "10 inch pothole on Example St, near post box"
+msgstr "Lubang jalan sebesar 10 inci di Jalan Contoh, dekat kotak pos"
+
+#: templates/web/base/dashboard/index.html:153
+msgid "14-30 days old"
+msgstr "14-30 hari lamanya"
+
+#: templates/web/base/dashboard/index.html:152
+msgid "7-14 days old"
+msgstr "7-14 hari lamanya"
+
+#: templates/web/base/admin/body-form.html:50
+#: templates/web/base/admin/body-form.html:51
+msgid ""
+"<code>MAPIT_URL</code> is set (<code>%s</code>) but no <code>MAPIT_TYPES</code>.<br>\n"
+" This is probably why \"area covered\" is empty (below).<br>\n"
+" Maybe add some <code>MAPIT_TYPES</code> to your config file?"
+msgstr ""
+"<code>MAPIT_URL</code> diatur (<code>%s</code>) tetapi tidak disertai <code>MAPIT_TYPES</code>.<br>\n"
+" Mungkin ini sebabnya \"area cakupan\" kosong (di bawah).<br>\n"
+" Mungkin Anda dapat menambahkan <code>MAPIT_TYPES</code> ke berkas konfigurasi?"
+
+#: templates/web/base/dashboard/index.html:15
+msgid "<h2>Reports, Statistics and Actions for</h2> <h1>%s</h1>"
+msgstr "<h2>Laporan, Statistik, dan Tindakan untuk</h2> <h1>%s</h1>"
+
+#. ("The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories")
+#: templates/web/base/reports/_list-filters.html:48
+#, fuzzy
+msgid "<label for=\"statuses\">Show</label> %s reports <label for=\"filter_categories\">about</label> %s"
+msgstr "<label for=\"statuses\">Tampilkan</label> %s <label for=\"filter_categories\">tentang</label> %s"
+
+#: templates/web/base/js/translation_strings.html:74
+msgid "<span>%s</span> saved."
+msgstr "<span>%s</span> disimpan."
+
+#: templates/web/base/status/stats.html:18
+#: templates/web/zurich/admin/index.html:4
+msgid "<strong>%s</strong> live problems"
+msgstr "<strong>%s</strong> masalah yang sedang berlangsung"
+
+#: templates/web/base/report/new/form_user_loggedout_by_email.html:2
+msgid "<strong>No</strong> Let me confirm my report by email"
+msgstr "<strong>Tidak</strong> Biarkan saya mengonfirmasikan laporan saya melalui surel"
+
+#: templates/web/base/report/update/form_user_loggedout_by_email.html:2
+msgid "<strong>No</strong> Let me confirm my update by email"
+msgstr "<strong>Tidak</strong> Biarkan saya mengonfirmasikan pembaruan saya melalui surel"
+
+#: templates/web/base/auth/general.html:106
+#: templates/web/zurich/auth/general.html:51
+msgid "<strong>No</strong> let me sign in by email"
+msgstr "<strong>Tidak</strong> biarkan saya masuk dengan surel"
+
+#: templates/web/base/report/_inspect.html:170
+msgid "<strong>Note:</strong> This report has been sent onwards for action. Any changes made won't be passed on."
+msgstr "<strong>Catatan:</strong> Laporan ini telah diteruskan untuk ditindaki. Perubahan apa pun yang dibuat tidak akan diteruskan."
+
+#: templates/web/base/report/_inspect.html:172
+msgid "<strong>Note:</strong> This report hasn't yet been sent onwards for action. Any changes made may not be passed on."
+msgstr "<strong>Catatan:</strong> Laporan ini belum diteruskan untuk ditindaki. Perubahan apa pun yang dibuat tidak akan diteruskan."
+
+#: templates/web/base/auth/general.html:82
+#: templates/web/base/report/new/form_user_loggedout_password.html:3
+#: templates/web/base/report/update/form_user_loggedout_password.html:2
+msgid "<strong>Yes</strong> I have a password"
+msgstr "<strong>Ya</strong> Saya punya kata sandi"
+
+#: templates/web/base/admin/body-form.html:3
+#: templates/web/base/admin/body-form.html:4
+msgid ""
+"Add a <strong>body</strong> for each administrative body, such as a council or department\n"
+" to which problem reports can be sent. You can add one or more contacts (for different\n"
+" categories of problem) to each body."
+msgstr ""
+"Tambahkan sebuah <strong>badan</strong> untuk setiap badan administrasi, seperti dewan atau departemen \n"
+"ke mana laporan masalah dapat dikirimkan. Anda dapat menambahkan satu kontak atau lebih \n"
+"(untuk bermacam-macam kategori masalah) di setiap badan."
+
+#: templates/web/base/admin/body.html:60
+msgid "Add a contact using the form below."
+msgstr "Tambahkan kontak dengan menggunakan formulir di bawah ini."
+
+#: templates/web/base/admin/bodies.html:78
+#: templates/web/base/admin/body-form.html:140
+#: templates/web/zurich/admin/body-form.html:52
+msgid "Add body"
+msgstr "Tambahkan badan"
+
+#: templates/web/base/admin/reportextrafields/index.html:24
+msgid "Add extra fields"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:79
+msgid "Add field"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:85
+msgid "Add fixed state"
+msgstr ""
+
+#: templates/web/base/admin/body.html:126
+#: templates/web/zurich/admin/body.html:31
+msgid "Add new category"
+msgstr "Tambahkan kategori baru"
+
+#: templates/web/base/admin/extra-metadata-form.html:72
+#, fuzzy
+msgid "Add option"
+msgstr "opsional"
+
+#: templates/web/base/report/_item.html:10
+#: templates/web/base/report/_item.html:16
+#: templates/web/base/report/_main.html:140
+#: templates/web/base/report/_main.html:19
+#: templates/web/base/report/_main.html:30
+msgid "Add to shortlist"
+msgstr "Tambahkan ke daftar pendek"
+
+#: templates/web/base/admin/user_edit.html:4
+#: templates/web/base/admin/users.html:48
+#: templates/web/base/admin/users.html:51
+msgid "Add user"
+msgstr "Tambahkan pengguna"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:735
+msgid "Add/edit problem categories"
+msgstr "Tambah/sunting kategori masalah"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:737
+msgid "Add/edit response priorities"
+msgstr "Tambah/sunting prioritas tanggapan"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:736
+msgid "Add/edit response templates"
+msgstr "Tambah/sunting template tanggapan"
+
+#: templates/web/base/my/my.html:67
+msgid "Added %s"
+msgstr "%s ditambahkan"
+
+#: templates/web/base/report/_main.html:149
+msgid "Adding this report to your shortlist will remove it from %s’s shortlist."
+msgstr "Menambahkan laporan ini ke daftar pendek Anda akan menghapusnya dari daftar pendek %s."
+
+#: templates/web/base/main_nav_items.html:47
+msgid "Admin"
+msgstr "Admin"
+
+#: templates/web/base/auth/change_password.html:39
+msgid "Again:"
+msgstr "Lagi:"
+
+#: templates/web/base/admin/timeline.html:35
+msgid "Alert %d created for %s, type %s, parameters %s / %s"
+msgstr "Peringatan %d dibuat untuk %s, tipe %s, parameter %s / %s"
+
+#: templates/web/base/admin/timeline.html:37
+msgid "Alert %d disabled (created %s)"
+msgstr "Peringatan %d dinonaktifkan (dibuat %s)"
+
+#: templates/web/base/report/update/form_name.html:42
+msgid "Alert me to future updates"
+msgstr "Beri tahu saya tentang pembaruan mendatang"
+
+#: templates/web/base/dashboard/index.html:138
+#: templates/web/base/dashboard/index.html:21
+#: templates/web/base/dashboard/index.html:30
+#: templates/web/base/reports/_list-filters.html:3
+msgid "All"
+msgstr "Semua"
+
+#: templates/web/zurich/reports/index.html:13
+msgid "All Reports"
+msgstr "Semua Laporan"
+
+#: templates/web/zurich/admin/stats.html:5
+msgid "All Reports as CSV"
+msgstr "Semua Laporan sebagai CSV"
+
+#: templates/web/base/admin/category-multiselect.html:5
+#: templates/web/base/admin/responsepriorities/list.html:20
+msgid "All categories"
+msgstr "Semua kategori"
+
+#: templates/web/base/admin/reportextrafields/edit.html:26
+#, fuzzy
+msgid "All cobrands"
+msgstr "Cobrand"
+
+#: templates/web/base/admin/reportextrafields/edit.html:47
+msgid "All languages"
+msgstr ""
+
+#: templates/web/base/main_nav_items.html:0
+#: templates/web/base/main_nav_items.html:27
+#: templates/web/zurich/admin/index-dm.html:12
+#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:20
+#: templates/web/zurich/nav_over_content.html:6
+msgid "All reports"
+msgstr "Semua laporan"
+
+#: templates/web/base/admin/stats.html:5
+#: templates/web/zurich/admin/stats.html:8
+msgid "All reports between %s and %s"
+msgstr "Semua laporan di antara %sdan %s"
+
+#: templates/web/base/reports/index.html:23
+msgid "All time"
+msgstr "Sepanjang waktu"
+
+#: templates/web/base/my/anonymize.html:20
+msgid "Alternatively, we can hide your name on <strong>all of your reports and updates</strong> across the site:"
+msgstr "Atau, kami dapat menyembunyikan nama Anda pada <strong>semua laporan dan pembaruan Anda</strong> di seluruh situs:"
+
+#: templates/web/base/questionnaire/index.html:47
+msgid "An update marked this problem as fixed."
+msgstr "Satu pembaruan menandai masalah ini sebagai diatasi."
+
+#: templates/web/base/admin/list_updates.html:32
+#: templates/web/base/admin/problem_row.html:20
+msgid "Anonymous"
+msgstr "Anonim"
+
+#: templates/web/base/report/new/form_user_loggedin.html:21
+#: templates/web/base/report/update/form_name.html:17
+#, fuzzy
+msgid "Anonymous user"
+msgstr "Anonim"
+
+#: templates/web/base/admin/report_edit.html:122
+#: templates/web/base/admin/update_edit.html:23
+msgid "Anonymous:"
+msgstr "Anonim:"
+
+#: templates/web/base/report/new/form_user_loggedin.html:24
+#: templates/web/base/report/update/form_name.html:14
+msgid "Another user"
+msgstr "Pengguna lain"
+
+#: templates/web/base/js/translation_strings.html:59
+msgid "Are you sure you want to cancel this upload?"
+msgstr "Apakah Anda yakin ingin membatalkan unggahan ini?"
+
+#: templates/web/base/admin/report_edit.html:84
+#: templates/web/base/js/translation_strings.html:69
+#: templates/web/base/report/display_tools.html:6
+msgid "Are you sure?"
+msgstr "Apakah Anda yakin?"
+
+#: templates/web/base/admin/body-form.html:77
+#: templates/web/base/admin/body.html:20
+#: templates/web/zurich/admin/body-form.html:24
+msgid "Area covered"
+msgstr "Area cakupan"
+
+#: templates/web/base/admin/user-form.html:64
+msgid "Area:"
+msgstr "Area:"
+
+#: templates/web/base/admin/bodies.html:19
+#: templates/web/base/admin/body.html:64
+msgid "As this is a staging site and %s is false, reports made on this site will be sent to the problem reporter, not the contact given for the report’s category."
+msgstr "Karena ini adalah situs persiapan dan %s keliru, laporan yang dibuat di situs ini akan dikirimkan ke pelapor masalah, dan bukan kepada kontak yang diberikan untuk kategori laporan."
+
+#: templates/web/zurich/admin/report_edit.html:209
+msgid "Assign to competent body:"
+msgstr "Tetapkan ke badan kompeten:"
+
+#: templates/web/zurich/admin/report_edit.html:169
+#: templates/web/zurich/admin/stats.html:36
+msgid "Assign to different category:"
+msgstr "Tetapkan ke kategori lain:"
+
+#: templates/web/zurich/admin/report_edit.html:207
+msgid "Assign to external body:"
+msgstr "Tetapkan ke badan eksternal:"
+
+#: templates/web/zurich/admin/report_edit.html:186
+msgid "Assign to subdivision:"
+msgstr "Tetapkan ke subdivisi:"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:732
+msgid "Assign users to areas"
+msgstr "Tetapkan pengguna pada area"
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:219
+msgid "Assigned to %s"
+msgstr "Ditetapkan ke %s"
+
+#: templates/web/base/open311/index.html:76
+msgid "At most %d requests are returned in each query. The returned requests are ordered by requested_datetime, so to get all requests, do several searches with rolling start_date and end_date."
+msgstr "Sebagian besar permintaan %d dikembalikan ke setiap kueri. Permintaan yang dikembalikan diminta berdasarkan requested_datetime, jadi untuk mendapatkan seluruh permintaan, lakukan beberapa pencarian dengan rolling start_date dan end_date."
+
+#: templates/web/base/open311/index.html:68
+msgid "At the moment only searching for and looking at reports work."
+msgstr "Untuk saat ini fungsi yang dapat digunakan hanya mencari dan menampilkan laporan."
+
+#: templates/web/base/admin/user-form.html:78
+#: templates/web/base/admin/user-form.html:79
+msgid "Authorised staff users can be associated with the categories in which they operate."
+msgstr "Staf pengguna yang berwenang dapat dihubungkan dengan kategori yang dioperasikannya."
+
+#: templates/web/base/admin/template_edit.html:22
+msgid "Auto-response:"
+msgstr "Tanggapan otomatis:"
+
+#: templates/web/base/admin/report-category.html:8
+msgid "Available categories"
+msgstr "Kategori yang tersedia"
+
+#: templates/web/base/reports/index.html:84
+msgid "Average time between a problem being reported and being fixed, last 100 reports."
+msgstr "Waktu rata-rata antara pelaporan masalah dan penyelesaian masalah, 100 laporan terakhir."
+
+#: templates/web/base/dashboard/index.html:109
+msgid "Average time to council marking fixed (days)"
+msgstr "Waktu rata-rata dewan menandai masalah diatasi (hari)"
+
+#: templates/web/base/dashboard/index.html:117
+msgid "Average time to first council state change (days)"
+msgstr "Waktu rata-rata perubahan wilayah pertama oleh dewan (hari)"
+
+#: templates/web/base/report/new/after_photo.html:6
+msgid "Avoid personal information and vehicle number plates"
+msgstr "Hindari informasi pribadi dan pelat nomor kendaraan"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:344
+#: templates/web/zurich/report/_item.html:9
+msgid "Awaiting moderation"
+msgstr "Menunggu moderasi"
+
+#: templates/web/base/js/translation_strings.html:31
+msgid "Back"
+msgstr "Kembali"
+
+#: templates/web/base/report/_main.html:6
+msgid "Back to all reports"
+msgstr "Kembali ke semua laporan"
+
+#: templates/web/base/admin/report_blocks.html:18
+msgid "Ban email address"
+msgstr "Blokir alamat surel"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:650
+#: perllib/FixMyStreet/Cobrand/Default.pm:734
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:396
+#: templates/web/base/admin/bodies.html:1
+#: templates/web/base/admin/report_edit.html:55
+#: templates/web/zurich/header.html:56
+msgid "Bodies"
+msgstr "Badan"
+
+#: templates/web/base/admin/flagged.html:17
+#: templates/web/base/admin/index.html:63
+#: templates/web/base/admin/reports.html:15
+#: templates/web/base/admin/users.html:18
+msgid "Body"
+msgstr "Badan"
+
+#: templates/web/base/admin/user-form.html:36
+msgid "Body:"
+msgstr "Badan:"
+
+#: templates/web/base/admin/stats.html:87
+msgid "By Date"
+msgstr "Berdasarkan Tanggal"
+
+#: templates/web/base/admin/extra-metadata-form.html:36
+msgid "Can be used to display extra text to the user alongside the field. The default template does not show this (<code>meta.datatype_description</code>), you must add it in <code>category_extras_fields.html</code>"
+msgstr ""
+
+#: templates/web/base/auth/token.html:27 templates/web/base/email_sent.html:20
+msgid "Can&rsquo;t find our email? Check your spam folder&nbsp;&ndash; that&rsquo;s the solution 99% of the time."
+msgstr "Tidak dapat menemukan surel kami? Periksa folder spam Anda &nbsp;&ndash; ini solusi yang tepat di sebagian besar waktu."
+
+#: templates/web/base/around/_report_banner.html:5
+msgid "Can't see the map? <em>Skip this step</em>"
+msgstr "Tidak dapat melihat peta? <em>Lewati langkah ini</em>"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:650
+#: templates/web/base/admin/responsepriorities/list.html:8
+msgid "Categories"
+msgstr "Kategori"
+
+#: templates/web/base/admin/category-checkboxes.html:2
+#: templates/web/base/admin/category-multiselect.html:2
+msgid "Categories:"
+msgstr "Kategori:"
+
+#: templates/web/base/admin/body.html:72
+#: templates/web/base/admin/contact-form.html:19
+#: templates/web/base/admin/stats_fix_rate.html:4
+#: templates/web/base/report/_inspect.html:48
+#: templates/web/base/report/_item.html:92
+#: templates/web/base/report/new/category.html:6
+#: templates/web/base/report/new/category_wrapper.html:3
+#: templates/web/zurich/admin/body.html:14
+#: templates/web/zurich/admin/index-dm.html:23
+#: templates/web/zurich/admin/index-sdm.html:21
+#: templates/web/zurich/admin/reports.html:13
+#: templates/web/zurich/admin/stats.html:50
+msgid "Category"
+msgstr "Kategori"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:956
+msgid "Category changed from ‘%s’ to ‘%s’"
+msgstr "Kategori diubah dari ‘%s’ menjadi ‘%s’"
+
+#: templates/web/base/admin/stats.html:58
+#: templates/web/base/admin/stats_fix_rate.html:1
+msgid "Category fix rate for problems > 4 weeks old"
+msgstr "Tingkat perbaikan kategori untuk masalah > 4 minggu lamanya"
+
+#: templates/web/base/admin/report_edit.html:119
+#: templates/web/base/dashboard/index.html:29
+#: templates/web/zurich/admin/body.html:43
+#: templates/web/zurich/admin/contact-form.html:2
+#: templates/web/zurich/admin/report_edit-sdm.html:72
+#: templates/web/zurich/admin/report_edit.html:100
+msgid "Category:"
+msgstr "Kategori:"
+
+#: perllib/FixMyStreet/Script/Reports.pm:188
+msgid "Category: %s"
+msgstr "Kategori: %s"
+
+#: templates/web/base/my/my.html:24
+msgid "Change email"
+msgstr "Ubah surel"
+
+#: templates/web/base/auth/change_email.html:1
+#: templates/web/base/auth/change_email.html:3
+#: templates/web/base/auth/change_email.html:30
+msgid "Change email address"
+msgstr "Ubah alamat surel"
+
+#: templates/web/base/auth/change_password.html:1
+#: templates/web/base/auth/change_password.html:16
+#: templates/web/base/auth/change_password.html:4
+#: templates/web/base/auth/change_password.html:43
+#: templates/web/base/my/my.html:23
+msgid "Change password"
+msgstr "Ubah kata sandi"
+
+#: templates/web/base/admin/contact-form.html:80
+msgid "Check <strong>inspection required</strong> if reports in this category <strong>must be inspected</strong> before being sent."
+msgstr "Beri centang pada <strong>inspeksi diperlukan</strong> jika laporan dalam kategori ini<strong>harus diinspeksi</strong> sebelum dikirim."
+
+#: templates/web/base/admin/contact-form.html:64
+msgid ""
+"Check <strong>private</strong> if reports in this category should <strong>never be displayed on the website</strong>.\n"
+" <br>\n"
+" Normally, categories are not private.\n"
+" <br>\n"
+" This is suitable for issues that you want to allow users to report to the body, but for which there is no public\n"
+" interest in displaying the report. In the UK, we've used this for services like requesting an extra rubbish bin\n"
+" at a specific address."
+msgstr ""
+"Beri centang pada <strong>pribadi</strong> jika laporan dalam kategori ini <strong>tidak perlu ditampilkan di situs web</strong>.\n"
+" <br>\n"
+" Pada umumnya, kategori tidak diatur ke pribadi.\n"
+" <br>\n"
+" Ini cocok untuk masalah yang dapat dilaporkan oleh pengguna kepada badan, tetapi laporannya\n"
+" bukan merupakan kepentingan publik. Di UK, kami menggunakan ini untuk melayani permohonan seperti tempat sampah tambahan\n"
+"di alamat tertentu."
+
+#: templates/web/base/admin/contact-form.html:11
+msgid ""
+"Choose a <strong>category</strong> name that makes sense to the public (e.g., \"Pothole\", \"Street lighting\") but is helpful\n"
+" to the body too. These will appear in the drop-down menu on the report-a-problem page."
+msgstr ""
+"Pilih nama <strong>kategori</strong> yang dapat dipahami oleh publik (misal, \"Lubang jalan\", \"Lampu jalan\") tetapi juga berguna\n"
+" bagi badan. Ini akan ditampilkan pada menu dropdown di halaman laporkan-masalah."
+
+#: templates/web/base/report/_inspect.html:103
+msgid "Choose another"
+msgstr "Pilih lainnya"
+
+#: templates/web/base/js/translation_strings.html:68
+msgid "Clear offline data"
+msgstr "Hapus data offline"
+
+#: templates/web/base/admin/stats.html:72
+#: templates/web/base/admin/stats.html:78
+msgid "Click here or enter as dd/mm/yyyy"
+msgstr "Klik di sini atau masukkan dalam format dd/mm/yyyy"
+
+#: templates/web/base/around/_report_banner.html:2
+msgid "Click map to report a problem"
+msgstr "Klik peta untuk melaporkan masalah"
+
+#: templates/web/base/email_sent.html:13
+msgid "Click the link in our confirmation email to activate your alert."
+msgstr "Klik tautan pada surel konfirmasi kami untuk mengaktifkan peringatan Anda."
+
+#: templates/web/base/email_sent.html:9
+msgid "Click the link in our confirmation email to publish your problem."
+msgstr "Klik tautan pada surel konfirmasi kami untuk menerbitkan masalah Anda."
+
+#: templates/web/base/email_sent.html:11
+msgid "Click the link in our confirmation email to publish your update."
+msgstr "Klik tautan pada surel konfirmasi kami untuk menerbitkan pembaruan Anda."
+
+#: templates/web/base/auth/token.html:23
+msgid "Click the link in our confirmation email to sign in."
+msgstr "Klik tautan pada surel konfirmasi kami untuk masuk."
+
+#: templates/web/base/auth/token.html:20
+#, fuzzy
+msgid "Click the link in that email to sign in."
+msgstr "Klik tautan pada surel konfirmasi kami untuk masuk."
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:134
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:194
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:965
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:11
+#: templates/web/base/admin/states/index.html:103
+#: templates/web/base/admin/states/index.html:27
+#: templates/web/base/admin/states/index.html:33
+#: templates/web/zurich/admin/header.html:1
+#: templates/web/zurich/admin/header.html:10
+#: templates/web/zurich/admin/header.html:16
+#: templates/web/zurich/admin/stats.html:31
+msgid "Closed"
+msgstr "Ditutup"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:826
+msgid "Closed by council"
+msgstr "Ditutup oleh dewan"
+
+#: templates/web/base/admin/report_edit.html:37
+msgid "Co-ordinates:"
+msgstr "Koordinasi:"
+
+#: templates/web/base/admin/list_updates.html:10
+#: templates/web/base/admin/reportextrafields/edit.html:24
+#: templates/web/base/admin/reportextrafields/index.html:7
+msgid "Cobrand"
+msgstr "Cobrand"
+
+#: templates/web/base/admin/report_edit.html:92
+#: templates/web/base/admin/update_edit.html:52
+msgid "Cobrand data:"
+msgstr "Data cobrand:"
+
+#: templates/web/base/admin/report_edit.html:91
+#: templates/web/base/admin/update_edit.html:51
+msgid "Cobrand:"
+msgstr "Cobrand:"
+
+#: templates/web/base/admin/extra-metadata-form.html:14
+msgid "Code"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:50
+msgid "Collapse map"
+msgstr "Ciutkan peta"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:646
+#: templates/web/base/admin/config_page.html:1
+msgid "Configuration"
+msgstr "Konfigurasi"
+
+#: templates/web/base/admin/body.html:77
+msgid "Confirm"
+msgstr "Konfirmasikan"
+
+#: templates/web/base/auth/token.html:1
+msgid "Confirm account"
+msgstr "Konfirmasikan akun"
+
+#: templates/web/base/report/new/form_user_loggedout_password.html:21
+#: templates/web/base/report/update/form_user_loggedout_password.html:20
+msgid "Confirm by email instead, providing a new password at that point. When you confirm, your password will be updated."
+msgstr "Sebaliknya, konfirmasikan melalui surel dan berikan kata sandi yang baru. Saat Anda memberikan konfirmasi, kata sandi Anda akan diperbarui."
+
+#: templates/web/base/questionnaire/creator_fixed.html:1
+#: templates/web/base/tokens/confirm_problem.html:1
+#: templates/web/base/tokens/confirm_update.html:1
+#: templates/web/zurich/tokens/confirm_problem.html:1
+#: templates/web/zurich/tokens/confirm_problem.html:3
+msgid "Confirmation"
+msgstr "Konfirmasi"
+
+#: templates/web/base/admin/contact-form.html:56
+#: templates/web/zurich/admin/contact-form.html:12
+#: templates/web/zurich/admin/stats.html:40
+msgid "Confirmed"
+msgstr "Dikonfirmasi"
+
+#: templates/web/base/admin/stats.html:5
+msgid "Confirmed reports between %s and %s"
+msgstr "Laporan yang dikonfirmasi antara %s dan %s"
+
+#: templates/web/base/admin/list_updates.html:39
+#: templates/web/base/admin/problem_row.html:36
+#: templates/web/base/admin/report_edit.html:78
+msgid "Confirmed:"
+msgstr "Dikonfirmasi:"
+
+#. ("%s is the site name")
+#: templates/web/base/about/_sidebar.html:6
+msgid "Contact %s"
+msgstr "Hubungi %s"
+
+#: templates/web/base/contact/index.html:1
+#: templates/web/base/contact/index.html:2
+#: templates/web/base/contact/submit.html:1
+msgid "Contact Us"
+msgstr "Hubungi Kami"
+
+#: templates/web/base/contact/index.html:12
+msgid "Contact the team"
+msgstr "Hubungi tim"
+
+#: templates/web/zurich/admin/report_edit-sdm.html:42
+#: templates/web/zurich/admin/report_edit.html:61
+msgid "Coordinates:"
+msgstr "Koordinat:"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1773
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1801
+msgid "Could not find user"
+msgstr "Tidak dapat menemukan pengguna"
+
+#: templates/web/base/js/translation_strings.html:36
+msgid "Could not look up location"
+msgstr "Tidak dapat menemukan lokasi"
+
+#: templates/web/base/admin/list_updates.html:9
+msgid "Council"
+msgstr "Dewan"
+
+#: templates/web/base/admin/body.html:1
+#: templates/web/base/admin/category_edit.html:1
+#: templates/web/zurich/admin/body.html:1
+msgid "Council contacts for %s"
+msgstr "Kontak dewan untuk %s"
+
+#: templates/web/base/dashboard/index.html:78
+#: templates/web/base/dashboard/index.html:83
+msgid "Council has marked as closed"
+msgstr "Dewan telah menandainya ditutup"
+
+#: templates/web/base/dashboard/index.html:54
+#: templates/web/base/dashboard/index.html:57
+msgid "Council has marked as fixed"
+msgstr "Dewan telah menandainya diatasi"
+
+#: templates/web/base/dashboard/index.html:78
+#: templates/web/base/dashboard/index.html:80
+msgid "Council has marked as in progress"
+msgstr "Dewan telah menandainya dalam proses"
+
+#: templates/web/base/dashboard/index.html:78
+#: templates/web/base/dashboard/index.html:82
+msgid "Council has marked as investigating"
+msgstr "Dewan telah menandainya dalam investigasi"
+
+#: templates/web/base/dashboard/index.html:78
+#: templates/web/base/dashboard/index.html:81
+msgid "Council has marked as planned"
+msgstr "Dewan telah menandainya direncanakan"
+
+#: templates/web/base/report/_council_sent_info.html:6
+msgid "Council ref:&nbsp;%s"
+msgstr "Referensi dewan:&nbsp;%s"
+
+#: templates/web/base/admin/stats.html:92
+msgid "Council:"
+msgstr "Dewan:"
+
+#: templates/web/base/admin/stats.html:12
+#: templates/web/base/admin/stats.html:32
+#: templates/web/zurich/admin/stats.html:45
+#: templates/web/zurich/admin/stats.html:50
+msgid "Count"
+msgstr "Jumlah"
+
+#: templates/web/base/admin/states/index.html:114
+#, fuzzy
+msgid "Create"
+msgstr "Dibuat"
+
+#: templates/web/base/email_sent.html:1
+msgid "Create a report"
+msgstr "Buat laporan"
+
+#: templates/web/base/admin/contact-form.html:138
+#: templates/web/zurich/admin/body.html:62
+msgid "Create category"
+msgstr "Buat kategori"
+
+#: templates/web/base/admin/responsepriorities/edit.html:58
+msgid "Create priority"
+msgstr "Buat prioritas"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:718
+#, fuzzy
+msgid "Create reports/updates as anonymous user"
+msgstr "Buat laporan/pembaruan mewakili pengguna"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:719
+msgid "Create reports/updates as the council"
+msgstr "Buat laporan/pembaruan sebagai dewan"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:717
+msgid "Create reports/updates on a user's behalf"
+msgstr "Buat laporan/pembaruan mewakili pengguna"
+
+#: templates/web/base/admin/template_edit.html:46
+#: templates/web/zurich/admin/template_edit.html:29
+msgid "Create template"
+msgstr "Buat template"
+
+#: templates/web/base/admin/problem_row.html:34
+#: templates/web/base/admin/templates.html:12
+msgid "Created"
+msgstr "Dibuat"
+
+#: templates/web/base/admin/list_updates.html:38
+#: templates/web/base/admin/report_edit.html:77
+#: templates/web/base/admin/update_edit.html:53
+#: templates/web/zurich/admin/update_edit.html:29
+msgid "Created:"
+msgstr "Dibuat:"
+
+#: templates/web/base/admin/stats.html:31
+msgid "Current state"
+msgstr "Wilayah saat ini"
+
+#: templates/web/base/admin/bodies.html:9
+#: templates/web/base/admin/index.html:17
+msgid "Currently no bodies have been created."
+msgstr "Saat ini belum ada badan dibuat."
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:830
+#: templates/web/zurich/admin/report_edit-sdm.html:105
+msgid "Customer not contactable"
+msgstr "Pelanggan tidak dapat dihubungi"
+
+#: templates/web/base/dashboard/index.html:5
+#: templates/web/base/dashboard/index.html:7
+#: templates/web/base/reports/index.html:15
+#: templates/web/base/reports/index.html:18
+msgid "Dashboard"
+msgstr "Dasbor"
+
+#: templates/web/zurich/admin/stats.html:35
+msgid "Dealt with by subdivision within 5 working days"
+msgstr "Diatasi oleh subdivisi dalam 5 hari kerja"
+
+#: templates/web/base/admin/responsepriorities/list.html:9
+msgid "Default"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:39
+#, fuzzy
+msgid "Default priority"
+msgstr "Buat prioritas"
+
+#: templates/web/base/report/_inspect.html:72
+msgid "Defect type"
+msgstr "Tipe kerusakan"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1078
+#: templates/web/base/admin/template_edit.html:50
+#: templates/web/zurich/admin/template_edit.html:33
+msgid "Delete template"
+msgstr "Hapus template"
+
+#: templates/web/base/admin/bodies.html:31
+#: templates/web/base/admin/contact-form.html:58
+#: templates/web/zurich/admin/contact-form.html:13
+msgid "Deleted"
+msgstr "Dihapus"
+
+#: templates/web/base/report/_main.html:114
+#: templates/web/base/report/update.html:68
+msgid "Describe why you are moderating this"
+msgstr "Jelaskan mengapa Anda memoderasi ini"
+
+#: templates/web/base/admin/extra-metadata-form.html:32
+#: templates/web/base/admin/responsepriorities/list.html:7
+#: templates/web/zurich/admin/index-dm.html:22
+#: templates/web/zurich/admin/index-sdm.html:20
+#: templates/web/zurich/admin/reports.html:12
+msgid "Description"
+msgstr "Deskripsi"
+
+#: templates/web/base/admin/responsepriorities/edit.html:17
+msgid "Description:"
+msgstr "Deskripsi:"
+
+#: templates/web/base/js/translation_strings.html:33
+#: templates/web/zurich/report/new/fill_in_details_form.html:45
+msgid "Details"
+msgstr "Detail"
+
+#: templates/web/base/admin/report_edit.html:112
+#: templates/web/zurich/admin/report_edit-sdm.html:29
+#: templates/web/zurich/admin/report_edit.html:31
+#: templates/web/zurich/admin/report_edit.html:45
+msgid "Details:"
+msgstr "Detail:"
+
+#: templates/web/base/admin/body.html:92
+msgid "Devolved"
+msgstr "Dilimpahkan"
+
+#: templates/web/zurich/admin/report_edit-sdm.html:52
+#: templates/web/zurich/admin/report_edit.html:71
+msgid "Didn't use map"
+msgstr "Tidak menggunakan peta"
+
+#: templates/web/base/admin/edit-league.html:8
+msgid "Diligency prize league table"
+msgstr "Tabel liga kerajinan"
+
+#: templates/web/base/report/_main.html:118
+#: templates/web/base/report/update.html:70
+msgid "Discard changes"
+msgstr "Buang perubahan"
+
+#: templates/web/base/admin/open311-form-fields.html:95
+msgid "Do not send email alerts on fetched comments to problem creator"
+msgstr "Jangan kirimkan surel peringatan atas komentar yang diambil ke pembuat masalah"
+
+#. ("%s is the site name")
+#: templates/web/base/auth/general.html:60
+#: templates/web/base/report/new/form_user_loggedout.html:25
+#: templates/web/base/report/new/oauth_email_form.html:18
+#: templates/web/base/report/update-form.html:30
+#: templates/web/base/report/update/form_user_loggedout.html:27
+msgid "Do you have a %s password?"
+msgstr "Apakah Anda punya kata sandi %s?"
+
+#: templates/web/base/report/_inspect.html:87
+msgid "Do you want to automatically raise a defect?"
+msgstr "Apakah Anda ingin melaporkan kerusakan secara otomatis?"
+
+#: templates/web/base/questionnaire/index.html:57
+msgid "Don&rsquo;t know"
+msgstr "Tidak tahu"
+
+#: templates/web/base/contact/index.html:112
+msgid "Don't like forms?"
+msgstr "Tidak suka formulir?"
+
+#: templates/web/base/report/_item.html:27
+msgid "Down one"
+msgstr "Turun satu tingkat"
+
+#: templates/web/base/js/translation_strings.html:58
+msgid "Drag and drop photos here or <u>click to upload</u>"
+msgstr "Tarik dan lepaskan foto di sini atau <u>klik untuk mengunggah</u>"
+
+#: templates/web/base/report/_inspect.html:98
+msgid "Duplicate of"
+msgstr "Duplikat dari"
+
+#: templates/web/base/report/_inspect.html:108
+msgid "Duplicates"
+msgstr "Duplikat"
+
+#: templates/web/base/admin/body.html:116
+msgid ""
+"Each contact for the body has a category, which is displayed to the public. \n"
+" Different categories <strong>can have the same contact</strong> (email address).\n"
+" This means you can add many categories even if you only have one contact for the body.\n"
+" "
+msgstr ""
+"Setiap kontak untuk badan memiliki kategori, yang ditampilkan ke publik.\n"
+"Kategori yang berbeda <strong>dapat berisi kontak yang sama</strong> (alamat surel).\n"
+"Ini berarti Anda dapat menambahkan banyak kategori sekalipun Anda hanya memiliki satu kontak untuk badan."
+
+#: templates/web/base/report/_inspect.html:26
+#: templates/web/base/report/_item.html:83
+msgid "Easting/Northing:"
+msgstr "Ketimuran/Keutaraan:"
+
+#: templates/web/base/admin/list_updates.html:42
+#: templates/web/base/admin/problem_row.html:41
+#: templates/web/base/admin/responsepriorities/list.html:28
+#: templates/web/base/admin/templates.html:22
+#: templates/web/base/admin/users.html:34
+#: templates/web/zurich/admin/problem_row.html:48
+msgid "Edit"
+msgstr "Sunting"
+
+#: templates/web/base/admin/body.html:141
+#: templates/web/base/admin/index.html:39
+#: templates/web/zurich/admin/body.html:69
+msgid "Edit body details"
+msgstr "Sunting detail badan"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:729
+msgid "Edit other users' details"
+msgstr "Sunting detail pengguna lain"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:730
+msgid "Edit other users' permissions"
+msgstr "Sunting perizinan pengguna lain"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:712
+msgid "Edit report category"
+msgstr "Sunting kategori laporan"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:713
+msgid "Edit report priority"
+msgstr "Sunting prioritas laporan"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:711
+msgid "Edit reports"
+msgstr "Sunting laporan"
+
+#: templates/web/base/admin/report_edit.html:0
+#: templates/web/base/admin/report_edit.html:14
+#: templates/web/base/admin/report_edit.html:4
+#: templates/web/zurich/admin/report_edit-sdm.html:1
+#: templates/web/zurich/admin/report_edit-sdm.html:5
+#: templates/web/zurich/admin/report_edit.html:1
+#: templates/web/zurich/admin/report_edit.html:5
+msgid "Editing problem %d"
+msgstr "Menyunting masalah %d"
+
+#: templates/web/base/admin/update_edit.html:1
+#: templates/web/zurich/admin/update_edit.html:1
+msgid "Editing update %d"
+msgstr "Menyunting pembaruan %d"
+
+#: templates/web/base/admin/user_edit.html:2
+msgid "Editing user %d"
+msgstr "Menyunting pengguna %d"
+
+#: templates/web/base/admin/category_edit.html:30
+msgid "Editor"
+msgstr "Penyunting"
+
+#: templates/web/base/admin/bodies.html:27
+#: templates/web/base/admin/category_edit.html:28
+#: templates/web/base/admin/flagged.html:38
+#: templates/web/base/admin/users.html:17
+#: templates/web/base/auth/general.html:51
+#: templates/web/zurich/admin/body-form.html:9
+#: templates/web/zurich/admin/body.html:15
+#: templates/web/zurich/auth/general.html:24
+#: templates/web/zurich/auth/general.html:54
+msgid "Email"
+msgstr "Surel"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1749
+msgid "Email added to abuse list"
+msgstr "Surel ditambahkan ke daftar penyalahgunaan"
+
+#: templates/web/base/admin/contact-form.html:38
+#: templates/web/base/alert/_list.html:74
+#: templates/web/base/report/new/form_user_loggedin.html:32
+#: templates/web/base/report/update/form_name.html:23
+msgid "Email address"
+msgstr "Alamat surel"
+
+#: templates/web/base/tokens/confirm_alert.html:6
+msgid "Email alert created"
+msgstr "Surel peringatan dibuat"
+
+#: templates/web/base/tokens/confirm_alert.html:10
+msgid "Email alert deleted"
+msgstr "Surel peringatan dihapus"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1746
+msgid "Email already in abuse list"
+msgstr "Surel sudah ada di daftar penyalahgunaan"
+
+#: templates/web/base/admin/report_edit.html:129
+#: templates/web/base/admin/update_edit.html:35
+#: templates/web/base/admin/user-form.html:19
+#: templates/web/zurich/admin/body.html:48
+#: templates/web/zurich/admin/contact-form.html:6
+msgid "Email:"
+msgstr "Surel:"
+
+#: perllib/FixMyStreet/Script/Reports.pm:112
+msgid "Email: %s"
+msgstr "Surel: %s"
+
+#: templates/web/base/admin/open311-form-fields.html:55
+#: templates/web/base/admin/open311-form-fields.html:56
+msgid ""
+"Enable <strong>Open311 update-sending</strong> if the endpoint will send and receive\n"
+" updates to existing reports. If you're not sure, it probably does not, so leave this unchecked.\n"
+" For more information, see \n"
+" <a href='https://www.mysociety.org/2013/02/20/open311-extended/' class='admin-offsite-link'>this article</a>."
+msgstr ""
+"Aktifkan <strong>pengiriman pembaruan Open311</strong> jika titik akhir akan mengirim dan menerima\n"
+" pembaruan atas laporan yang ada. Jika Anda tidak yakin, titik akhir mungkin tidak mengirim dan menerima pembaruan, oleh karena itu biarkan kotak ini kosong.\n"
+" Untuk informasi lebih lanjut, simak \n"
+" <a href='https://www.mysociety.org/2013/02/20/open311-extended/' class='admin-offsite-link'>artikel ini</a>."
+
+#: templates/web/base/admin/body-form.html:122
+#: templates/web/base/admin/body-form.html:123
+msgid ""
+"Enable this <strong>can be devolved</strong> setting if one or more contacts have a \n"
+" different endpoint (and send method) from the body's. For example, if reports for some categories of\n"
+" problem must be emailed, while others can be sent over Open311."
+msgstr ""
+"Aktifkan pengaturan <strong>dapat dilimpahkan</strong> ini jika satu kontak atau lebih memiliki \n"
+" titik akhir (dan metode pengiriman) yang berbeda dari badan. Sebagai contoh, jika laporan untuk beberapa kategori\n"
+" masalah harus dikirimkan melalui surel, sementara yang lainnya dapat dikirimkan melalui Open311."
+
+#: templates/web/base/admin/stats.html:77
+msgid "End Date:"
+msgstr "Tanggal Akhir:"
+
+#: templates/web/base/admin/open311-form-fields.html:21
+msgid "Endpoint"
+msgstr "Titik Akhir"
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:81
+msgid "Enter a Z&uuml;rich street name"
+msgstr "Masukkan sebuah nama jalan di Zurich"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:16
+msgid "Enter a nearby UK postcode, or street name and area"
+msgstr "Masukkan kode pos UK, atau nama jalan dan kawasan di sekitar"
+
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:20
+#: perllib/FixMyStreet/Cobrand/FixaMinGata.pm:21
+msgid "Enter a nearby postcode, or street name and area"
+msgstr "Masukkan kode pos, atau nama jalan dan kawasan di sekitar"
+
+#: perllib/FixMyStreet/Cobrand/DansMonQwat.pm:14
+#: templates/web/base/around/postcode_form.html:5
+#: templates/web/base/around/postcode_form.html:6
+msgid "Enter a nearby street name and area"
+msgstr "Masukkan nama jalan dan kawasan di sekitar"
+
+#: templates/web/base/auth/general.html:118
+#: templates/web/base/report/new/form_user_loggedout_by_email.html:35
+#: templates/web/base/report/update/form_user_loggedout_by_email.html:13
+#: templates/web/zurich/auth/general.html:65
+msgid "Enter a password"
+msgstr "Masukkan kata sandi"
+
+#: templates/web/base/index-steps.html:6
+msgid "Enter details of the problem"
+msgstr "Masukkan detail masalah"
+
+#: templates/web/base/errors/generic.html:1
+#: templates/web/base/errors/generic.html:8
+#: templates/web/base/tokens/abuse.html:1
+#: templates/web/base/tokens/abuse.html:3
+#: templates/web/base/tokens/error.html:1
+#: templates/web/base/tokens/error.html:5
+msgid "Error"
+msgstr "Galat"
+
+#: templates/web/base/reports/_list-filters.html:31
+#: templates/web/base/reports/_list-filters.html:39
+msgid "Everything"
+msgstr "Semuanya"
+
+#: templates/web/base/admin/body.html:18
+#: templates/web/base/admin/category_edit.html:18
+msgid "Example postcode %s"
+msgstr "Contoh kode pos %s"
+
+#: templates/web/base/open311/index.html:86
+msgid "Examples:"
+msgstr "Contoh:"
+
+#: templates/web/base/admin/report-category.html:3
+msgid "Existing category"
+msgstr "Kategori yang ada"
+
+#: templates/web/base/js/translation_strings.html:49
+msgid "Expand map"
+msgstr "Perluas peta"
+
+#: templates/web/base/report/new/form_report.html:54
+msgid "Explain what’s wrong"
+msgstr "Jelaskan apa yang salah"
+
+#: templates/web/base/dashboard/index.html:147
+msgid "Export as CSV"
+msgstr "Ekspor sebagai CSV"
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:179
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
+#: templates/web/zurich/admin/header.html:1
+#: templates/web/zurich/admin/header.html:12
+msgid "Extern"
+msgstr "Eksternal"
+
+#: templates/web/base/admin/report_edit.html:97
+#: templates/web/base/admin/responsepriorities/edit.html:27
+msgid "External ID"
+msgstr "ID eksternal"
+
+#: templates/web/base/admin/body-form.html:89
+msgid "External URL"
+msgstr "URL eksternal"
+
+#: templates/web/base/admin/report_edit.html:99
+msgid "External body"
+msgstr "Badan eksternal"
+
+#: templates/web/base/admin/report_edit.html:101
+msgid "External team"
+msgstr "Tim eksternal"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:673
+#: templates/web/base/admin/reportextrafields/edit.html:1
+#: templates/web/base/admin/reportextrafields/index.html:1
+#, fuzzy
+msgid "Extra Fields"
+msgstr "Detail tambahan:"
+
+#: templates/web/base/admin/contact-form.html:141
+#: templates/web/base/admin/report_edit.html:94
+msgid "Extra data:"
+msgstr "Data tambahan:"
+
+#: templates/web/base/report/_inspect.html:144
+#: templates/web/base/report/_item.html:108
+msgid "Extra details"
+msgstr "Detail tambahan:"
+
+#: templates/web/base/contact/submit.html:13
+msgid "Failed to send message"
+msgstr "Gagal mengirim pesan"
+
+#: templates/web/base/admin/reportextrafields/edit.html:58
+#: templates/web/base/admin/reportextrafields/index.html:9
+msgid "Fields"
+msgstr ""
+
+#: templates/web/zurich/admin/index-dm.html:33
+#: templates/web/zurich/admin/index-sdm.html:30
+msgid "Filter report list"
+msgstr "Filter daftar laporan"
+
+#: templates/web/base/questionnaire/index.html:66
+msgid "First time"
+msgstr "Pertama kali"
+
+#: templates/web/base/admin/body.html:52
+msgid "Fix this by choosing an <strong>area covered</strong> in the <em>Edit body details</em> form below."
+msgstr "Atasi ini dengan memilih sebuah <strong>area cakupan</strong> pada formulir <em>Sunting detail badan</em> di bawah ini."
+
+#: perllib/FixMyStreet/App/Controller/Admin/States.pm:35
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:133
+#: templates/web/base/admin/states/index.html:29
+#: templates/web/base/admin/stats_fix_rate.html:4
+msgid "Fixed"
+msgstr "Diatasi"
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:62
+msgid "Fixed - Council"
+msgstr "Diatasi - Dewan"
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:63
+msgid "Fixed - User"
+msgstr "Diatasi - Pengguna"
+
+#: templates/web/base/admin/body-form.html:97
+#: templates/web/base/admin/responsepriorities/edit.html:53
+#: templates/web/zurich/admin/body-form.html:36
+msgid "Flag as deleted"
+msgstr "Tandai dihapus"
+
+#: templates/web/base/admin/report_blocks.html:23
+msgid "Flag user"
+msgstr "Tandai pengguna"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:644
+#: templates/web/base/admin/users.html:20
+msgid "Flagged"
+msgstr "Ditandai"
+
+#: templates/web/base/admin/flagged.html:1
+msgid "Flagged reports and users"
+msgstr "Laporan dan pengguna ditandai"
+
+#: templates/web/base/admin/user-form.html:94
+msgid "Flagged users are listed on the <a href='%s'>flagged</a> page."
+msgstr "Pengguna yang ditandai ditampilkan pada halaman <a href='%s'>ditandai</a>."
+
+#: templates/web/base/admin/flagged.html:31
+msgid "Flagged users are not restricted in any way. This is just a list of users that have been marked for attention."
+msgstr "Pengguna yang ditandai sama sekali tidak dikenakan batasan. Ini hanyalah daftar pengguna yang telah ditandai untuk dipantau."
+
+#: templates/web/base/admin/report_edit.html:135
+#: templates/web/base/admin/user-form.html:100
+msgid "Flagged:"
+msgstr "Ditandai:"
+
+#: templates/web/base/reports/_ward-list.html:4
+msgid "Follow a ward link to view only reports within that ward."
+msgstr "Ikuti tautan kelurahan untuk menampilkan hanya laporan di dalam kelurahan tersebut."
+
+#: templates/web/base/report/new/after_photo.html:3
+msgid "For best results include a close-up and a wide shot"
+msgstr "Untuk hasil terbaik, sertakan foto jarak dekat dan jarak jauh"
+
+#: templates/web/base/admin/extra-metadata-form.html:52
+msgid "For each option, <strong>Key</strong> is the value which is stored in the database for that option and <strong>Name</strong> is the value displayed to the user."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:73
+msgid "For more information, see <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
+msgstr "Untuk informasi lebih lanjut, lihat <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>Bagaimana FixMyStreet menggunakan Mapit</a>."
+
+#: templates/web/base/auth/general.html:97
+#: templates/web/base/report/new/form_user_loggedout_password.html:20
+#: templates/web/base/report/update/form_user_loggedout_password.html:19
+msgid "Forgotten your password?"
+msgstr "Lupa kata sandi Anda?"
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:748
+msgid "Forwarded to external body"
+msgstr "Diteruskan ke badan eksternal"
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:749
+msgid "Forwarded wish to external body"
+msgstr "Meneruskan permohonan ke badan eksternal"
+
+#: templates/web/base/about/_sidebar.html:4
+#: templates/web/base/about/faq-en-gb.html:1
+#: templates/web/base/about/faq-en-gb.html:5
+msgid "Frequently Asked Questions"
+msgstr "Tanya Jawab Umum"
+
+#: templates/web/base/admin/stats.html:102
+msgid "Get Count"
+msgstr "Dapatkan Jumlah"
+
+#: templates/web/base/around/_updates.html:3
+#: templates/web/base/report/display_tools.html:14
+msgid "Get updates"
+msgstr "Dapatkan pembaruan"
+
+#: templates/web/base/reports/_rss.html:3
+#: templates/web/base/reports/_rss.html:9
+msgid "Get updates of %s problems"
+msgstr "Dapatkan pembaruan atas %s masalah"
+
+#: templates/web/base/reports/_rss.html:11
+#: templates/web/base/reports/_rss.html:3
+msgid "Get updates of problems in this %s"
+msgstr "Dapatkan pembaruan masalah dalam %s ini"
+
+#: templates/web/base/alert/_list.html:85
+msgid "Give me an RSS feed"
+msgstr "Beri saya umpan RSS"
+
+#: templates/web/base/admin/reportextrafields/edit.html:6
+msgid "Give this collection of fields a name. It is not shown publicly, just here in the admin."
+msgstr ""
+
+#: templates/web/base/questionnaire/completed.html:14
+msgid "Glad to hear it’s been fixed!"
+msgstr "Senang mengetahui masalah telah diatasi!"
+
+#: templates/web/base/admin/index.html:28
+#: templates/web/base/admin/index.html:34
+#: templates/web/base/admin/index.html:49
+#: templates/web/base/alert/index.html:34
+#: templates/web/base/around/postcode_form.html:13
+#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:64
+#: templates/web/base/reports/index.html:75
+#: templates/web/zurich/admin/stats.html:26
+msgid "Go"
+msgstr "Mulai"
+
+#: templates/web/base/admin/report_edit.html:95
+msgid "Going to send questionnaire?"
+msgstr "Akan mengirim kuesioner?"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:731
+msgid "Grant access to the admin"
+msgstr "Berikan izin akses untuk admin"
+
+#: templates/web/base/admin/index.html:76
+msgid "Graph of problem creation by status over time"
+msgstr "Grafik pembuatan masalah berdasarkan status sepanjang waktu"
+
+#: templates/web/base/questionnaire/index.html:48
+msgid "Has this problem been fixed?"
+msgstr "Sudahkah masalah ini diatasi?"
+
+#: templates/web/base/questionnaire/index.html:61
+msgid "Have you ever reported a problem to a council before, or is this your first time?"
+msgstr "Pernahkah Anda melaporkan masalah kepada dewan sebelumnya, atau apakah ini yang pertama kalinya?"
+
+#: templates/web/base/main_nav_items.html:40
+#: templates/web/zurich/about/faq-de-ch.html:1
+#: templates/web/zurich/footer.html:22
+#: templates/web/zurich/nav_over_content.html:8
+msgid "Help"
+msgstr "Bantuan"
+
+#: templates/web/base/report/new/category_extras.html:13
+#: templates/web/base/report/new/category_extras.html:14
+msgid "Help <strong>%s</strong> resolve your problem quicker, by providing some extra detail. This extra information will not be published online."
+msgstr "Bantu <strong>%s</strong> mengatasi masalah Anda lebih cepat, dengan memberikan sejumlah detail tambahan. Informasi tambahan ini tidak akan diterbitkan secara online."
+
+#: templates/web/zurich/footer.html:11
+msgid "Hi %s"
+msgstr "Hai %s"
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:911
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:60
+#: templates/web/base/admin/update_edit.html:30
+#: templates/web/zurich/admin/header.html:1
+#: templates/web/zurich/admin/header.html:11
+#: templates/web/zurich/admin/stats.html:32
+#: templates/web/zurich/admin/update_edit.html:18
+msgid "Hidden"
+msgstr "Tersembunyi"
+
+#: templates/web/base/report/_main.html:109
+msgid "Hide entire report"
+msgstr "Sembunyikan seluruh laporan"
+
+#: templates/web/base/my/anonymize.html:1
+#: templates/web/base/my/anonymize.html:2
+msgid "Hide my name"
+msgstr "Sembunyikan nama saya"
+
+#: templates/web/base/my/anonymize.html:21
+msgid "Hide my name everywhere"
+msgstr "Sembunyikan nama saya di mana saja"
+
+#: templates/web/base/my/anonymize.html:10
+msgid "Hide my name in this update"
+msgstr "Sembunyikan nama saya dalam pembaruan ini"
+
+#: templates/web/base/my/anonymize.html:16
+msgid "Hide my name on this report"
+msgstr "Sembunyikan nama saya dalam laporan ini"
+
+#: templates/web/base/around/display_location.html:67
+msgid "Hide old"
+msgstr "Sembunyikan yang lama"
+
+#: templates/web/base/around/display_location.html:62
+#: templates/web/base/js/translation_strings.html:55
+msgid "Hide pins"
+msgstr "Sembunyikan pin"
+
+#: templates/web/base/report/update.html:15
+msgid "Hide update completely?"
+msgstr "Sembunyikan seluruh pembaruan?"
+
+#: templates/web/base/report/_report_meta_info.html:3
+#: templates/web/base/report/update.html:55
+msgid "Hide your name?"
+msgstr "Sembunyikan nama Anda?"
+
+#: templates/web/base/admin/extra-metadata-form.html:38
+msgid "Hint"
+msgstr ""
+
+#: templates/web/base/admin/category_edit.html:24
+msgid "History"
+msgstr "Riwayat"
+
+#: templates/web/base/around/display_location.html:75
+msgid "Home"
+msgstr "Beranda"
+
+#: templates/web/base/index-steps.html:1
+msgid "How to report a problem"
+msgstr "Cara melaporkan masalah"
+
+#: templates/web/base/js/translation_strings.html:32
+msgid "How to send successful reports"
+msgstr "Cara mengirimkan laporan yang sukses"
+
+#: templates/web/base/tokens/confirm_problem.html:36
+#: templates/web/base/tokens/confirm_problem.html:41
+msgid "I just reported a problem on @fixmystreet"
+msgstr "Saya baru saja melaporkan sebuah masalah di @fixmystreet"
+
+#: templates/web/base/tokens/confirm_update.html:20
+#: templates/web/base/tokens/confirm_update.html:25
+msgid "I just updated a problem on @fixmystreet"
+msgstr "Saya baru saja memperbarui sebuah masalah di @fixmystreet"
+
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:87
+msgid "I'm afraid we couldn't locate your problem in the database.\n"
+msgstr "Saya khawatir kami tidak dapat melacak masalah Anda di basis data.\n"
+
+#: templates/web/base/admin/flagged.html:14
+#: templates/web/base/admin/index.html:60
+#: templates/web/base/admin/list_updates.html:6
+#: templates/web/base/admin/reports.html:12
+#: templates/web/zurich/admin/index-dm.html:21
+#: templates/web/zurich/admin/index-sdm.html:19
+#: templates/web/zurich/admin/list_updates.html:24
+#: templates/web/zurich/admin/list_updates.html:38
+#: templates/web/zurich/admin/reports.html:11
+msgid "ID"
+msgstr "ID"
+
+#: templates/web/base/admin/body-form.html:32
+#: templates/web/base/admin/body-form.html:33
+msgid ""
+"Identify a <strong>parent</strong> if this body is itself part of another body.\n"
+" For basic installations, you don't need to join bodies in this way."
+msgstr ""
+"Identifikasi <strong>induk</strong> jika badan ini adalah bagian dari badan lainnya\n"
+" Untuk instalasi standar, Anda tidak perlu menggabungkan badan dengan cara ini."
+
+#: templates/web/base/auth/token.html:19
+msgid "If there's a user associated with the address you entered, we've sent a confirmation email."
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:23
+msgid "If this priority is passed to an external service (e.g. Exor/Confirm) enter the priority code to use with that service here."
+msgstr "Jika prioritas ini diteruskan ke layanan eksternal (mis. Exor/Confirm) masukkan kode prioritas untuk digunakan dengan layanan tersebut di sini."
+
+#: templates/web/base/admin/extra-metadata-form.html:24
+msgid "If ticked the user won’t see an input field, just the ‘Description’ text."
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:14
+msgid ""
+"If two or more bodies serve the same location, FixMyStreet combines identical categories into a single entry in\n"
+" the menu. Make sure you use the same category name in the bodies if you want this to happen."
+msgstr ""
+"Jika dua badan atau lebih melayani lokasi yang sama, FixMyStreet menggabungkan kategori yang identik menjadi satu entri pada\n"
+"menu. Pastikan Anda menggunakan nama kategori yang sama pada badan jika Anda ingin menggabungkannya."
+
+#: templates/web/base/questionnaire/completed.html:8
+msgid "If you get some more information about the status of your problem, please come back to the site and leave an update."
+msgstr "Jika Anda mendapatkan informasi mengenai status masalah Anda, mohon kembali ke situs dan buat pembaruan."
+
+#: templates/web/base/admin/responsepriorities/edit.html:45
+msgid "If you only want this priority to be an option for specific categories, pick them here. By default they will show for all categories."
+msgstr "Jika Anda hanya ingin prioritas ini menjadi opsi untuk kategori tertentu, pilih kategorinya di sini. Secara default, prioritas akan ditampilkan untuk semua kategori."
+
+#: templates/web/base/admin/template_edit.html:29
+msgid "If you only want this template to be an option for specific categories, pick them here. By default they will show for all categories."
+msgstr "Jika Anda hanya ingin template ini menjadi opsi untuk kategori tertentu, pilih kategorinya di sini. Secara default, template akan ditampilkan untuk semua kategori."
+
+#: templates/web/base/report/new/top_message_none.html:10
+#: templates/web/base/report/new/top_message_none.html:9
+msgid "If you submit a problem here the problem will <strong>not</strong> be reported to the council."
+msgstr "Jika Anda memasukkan masalah di sini, masalah tersebut <strong>tidak</strong> akan dilaporkan kepada dewan."
+
+#: templates/web/base/admin/template_edit.html:36
+msgid "If you want to use this template to prefill the update field when changing a report&rsquo;s state, select the state here."
+msgstr "Jika Anda ingin menggunakan template ini sebagai isian default pada kolom pembaruan saat mengubah wilayah laporan, pilih wilayah di sini."
+
+#: templates/web/base/questionnaire/index.html:70
+msgid ""
+"If you wish to leave a public update on the problem, please enter it here\n"
+"(please note it will not be sent to the council)."
+msgstr ""
+"Jika Anda ingin menambahkan pembaruan publik pada masalah, silakan masukkan di sini\n"
+"(harap perhatikan bahwa ini tidak akan dikirimkan ke dewan)."
+
+#: templates/web/base/admin/contact-form.html:32
+msgid "If you're using <strong>a send method that is not email</strong>, enter the service ID (Open311) or equivalent identifier here."
+msgstr "Jika Anda <strong>tidak menggunakan surel sebagai metode pengiriman</strong>, masukkan ID layanan (Open311) atau pengenal yang setara di sini."
+
+#: templates/web/base/admin/open311-form-fields.html:100
+#: templates/web/base/admin/open311-form-fields.html:101
+msgid ""
+"If you've enabled Open311 update-sending above, Open311 usually only accepts OPEN or CLOSED status in \n"
+" its updates. Enable <strong>extended Open311 stauses</strong> if you want to allow extra states to be passed.\n"
+" Check that your cobrand supports this feature before switching it on."
+msgstr ""
+"Jika Anda mengaktifkan pengiriman pembaruan dengan Open311 di atas, Open311 biasanya hanya menerima status TERBUKA atau DITUTUP dalam \n"
+" pembaruannya. Aktifkan <strong>penambahan status Open311 </strong> jika Anda ingin mengizinkan status tambahan untuk diteruskan.\n"
+" Periksa apakah cobrand Anda mendukung fitur ini sebelum mengaktifkannya."
+
+#: templates/web/base/admin/open311-form-fields.html:87
+#: templates/web/base/admin/open311-form-fields.html:88
+msgid ""
+"If you've enabled Open311 update-sending above, enable <strong>suppression of alerts</strong> \n"
+" if you do <strong>not</strong> want that user to be notified whenever these updates are created."
+msgstr ""
+"Jika Anda mengaktifkan pengiriman pembaruan dengan Open311 di atas, aktifkan <strong>pencegahan peringatan</strong> \n"
+" jika Anda <strong>tidak</strong> ingin pengguna diberi tahu saat pembaruan ini dibuat."
+
+#: templates/web/base/admin/open311-form-fields.html:70
+#: templates/web/base/admin/open311-form-fields.html:71
+msgid ""
+"If you've enabled Open311 update-sending above, you must identify which \n"
+" FixMyStreet <strong>user</strong> will be attributed as the creator of those updates\n"
+" when they are shown on the site. Enter the ID (number) of that user."
+msgstr ""
+"Jika Anda mengaktifkan pengiriman pembaruan dengan Open311 di atas, Anda harus mengidentifikasi \n"
+" <strong>pengguna</strong> FixMyStreet mana yang akan ditetapkan sebagai pembuat pembaruan\n"
+" saat ditampilkan di situs. Masukkan (nomor) ID pengguna tersebut."
+
+#: perllib/FixMyStreet/App/Controller/Contact.pm:134
+msgid "Illegal ID"
+msgstr "ID tidak sah"
+
+#: perllib/FixMyStreet/App/Controller/Alert.pm:103
+msgid "Illegal feed selection"
+msgstr "Pemilihan umpan tidak sah"
+
+#: templates/web/base/admin/flagged.html:39
+msgid "In abuse table?"
+msgstr "Pada tabel penyalahgunaan?"
+
+#: templates/web/base/open311/index.html:80
+msgid "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
+msgstr "Sebagai tambahan, atribut berikut yang bukan merupakan bagian dari spesifikasi Open311 v2 dikembalikan: agency_sent_datetime, judul (juga dikembalikan sebagai bagian dari deskripsi), interface_used, comment_count, requestor_name (hanya tersedia jika pemohon mengizinkan namanya ditampilkan di situs ini)."
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:197
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:959
+#: templates/web/zurich/admin/header.html:1
+#: templates/web/zurich/admin/header.html:8
+msgid "In progress"
+msgstr "Dalam proses"
+
+#: templates/web/base/admin/contact-form.html:57
+msgid "Inactive"
+msgstr "Tidak aktif"
+
+#: templates/web/base/tokens/confirm_alert.html:11
+msgid "Inbox zero, here we come!"
+msgstr "Kotak masuk kosong, tunggulah kami!"
+
+#: templates/web/zurich/admin/report_edit.html:223
+msgid "Include reporter personal details"
+msgstr "Sertakan detail pribadi pelapor"
+
+#: templates/web/base/admin/stats.html:83
+msgid "Include unconfirmed reports"
+msgstr "Sertakan laporan yang belum dikonfirmasi"
+
+#: perllib/FixMyStreet/App/Controller/Open311.pm:351
+msgid "Incorrect has_photo value \"%s\""
+msgstr "Nilai has_photo keliru \"%s\""
+
+#: templates/web/base/report/_inspect.html:5
+msgid "Inspect report"
+msgstr "Inspeksi laporan"
+
+#: templates/web/base/admin/contact-form.html:85
+msgid "Inspection required"
+msgstr "Diperlukan inspeksi"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:715
+msgid "Instruct contractors to fix problems"
+msgstr "Instruksikan kontraktor untuk mengatasi masalah"
+
+#: templates/web/zurich/admin/list_updates.html:35
+msgid "Internal notes"
+msgstr "Catatan internal"
+
+#: templates/web/base/offline/appcache.html:3
+msgid "Internet glitch"
+msgstr "Kesalahan sistem pada internet"
+
+#: perllib/FixMyStreet/App/Controller/Open311.pm:336
+msgid "Invalid agency_responsible value %s"
+msgstr "Nilai agency_responsible keliru %s"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1607
+msgid "Invalid end date"
+msgstr "Tanggal akhir keliru"
+
+#: perllib/FixMyStreet/App/Controller/Open311.pm:429
+msgid "Invalid format %s specified."
+msgstr "Format %s yang disebutkan keliru."
+
+#: perllib/FixMyStreet/App/Controller/Report.pm:409
+msgid "Invalid location. New location must be covered by the same council."
+msgstr "Lokasi keliru. Lokasi baru harus dicakup oleh dewan yang sama."
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1603
+msgid "Invalid start date"
+msgstr "Tanggal mulai keliru"
+
+#: templates/web/base/contact/blurb.html:2
+msgid "It's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there."
+msgstr "Biasanya, cara yang tercepat adalah dengan <a href=\"%s\">memeriksa TJU kami</a> dan mencari tahu apakah jawabannya ada di sana."
+
+#: templates/web/base/tokens/confirm_problem.html:27
+msgid "It’s on its way to the council right now."
+msgstr "Sedang dikirimkan ke dewan saat ini."
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:182
+msgid "Jurisdiction Unknown"
+msgstr "Yurisdiksi Tidak Diketahui"
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
+#: templates/web/zurich/admin/header.html:1
+#: templates/web/zurich/admin/header.html:15
+msgid "Jurisdiction unknown"
+msgstr "Yurisdiksi tidak diketahui"
+
+#: templates/web/base/auth/general.html:93
+#: templates/web/base/report/new/form_user_loggedout_password.html:16
+#: templates/web/base/report/update/form_user_loggedout_password.html:15
+#: templates/web/zurich/auth/general.html:40
+msgid "Keep me signed in on this computer"
+msgstr "Buat saya tetap masuk di komputer ini"
+
+#: templates/web/base/admin/extra-metadata-form.html:61
+msgid "Key"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:9
+#: templates/web/base/admin/states/index.html:95
+msgid "Label"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:6
+#: templates/web/base/admin/reportextrafields/edit.html:45
+msgid "Language"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/index.html:8
+msgid "Languages"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:50
+msgid "Last 4 weeks"
+msgstr "4 minggu terakhir"
+
+#: templates/web/base/dashboard/index.html:49
+#: templates/web/base/reports/index.html:38
+msgid "Last 7 days"
+msgstr "7 hari terakhir"
+
+#: templates/web/base/admin/body.html:74
+#: templates/web/zurich/admin/body.html:16
+msgid "Last editor"
+msgstr "Penyunting terakhir"
+
+#: templates/web/base/questionnaire/index.html:25
+msgid "Last update"
+msgstr "Pembaruan terakhir"
+
+#: templates/web/base/admin/report_edit.html:89
+msgid "Last update:"
+msgstr "Pembaruan terakhir:"
+
+#: templates/web/base/admin/problem_row.html:39
+msgid "Last&nbsp;update:"
+msgstr "Pembaruan terakhir:"
+
+#: templates/web/base/report/_inspect.html:30
+#: templates/web/base/report/_item.html:88
+msgid "Latitude/Longitude:"
+msgstr "Lintang/Bujur:"
+
+#: templates/web/base/reports/_list-filters.html:61
+msgid "Least recently updated"
+msgstr "Terlama dari yang baru-baru ini diperbarui"
+
+#: templates/web/base/admin/body-form.html:129
+msgid "Leave this blank if all reports to this body should be sent using the same send method (e.g., \"%s\")."
+msgstr "Biarkan ini tetap kosong jika semua laporan ke badan ini harus dikirim menggunakan metode pengiriman yang sama (mis., \"%s\")."
+
+#: templates/web/base/dashboard/index.html:151
+msgid "Less than 7 days old"
+msgstr "Kurang dari 7 hari lamanya"
+
+#: templates/web/base/admin/extra-metadata-form.html:47
+msgid "List"
+msgstr ""
+
+#: templates/web/base/admin/body.html:31
+msgid "List all reported problems"
+msgstr "Tampilkan semua masalah yang dilaporkan"
+
+#: templates/web/base/report/new/category_wrapper.html:4
+msgid "Loading..."
+msgstr "Memuat..."
+
+#: templates/web/base/alert/choose.html:1
+#: templates/web/base/alert/choose.html:3 templates/web/base/alert/index.html:1
+#: templates/web/base/alert/index.html:3 templates/web/base/alert/list.html:1
+#: templates/web/base/alert/list.html:5 templates/web/base/alert/updates.html:1
+#: templates/web/base/tokens/confirm_alert.html:1
+msgid "Local RSS feeds and email alerts"
+msgstr "Umpan RSS lokal dan surel peringatan"
+
+#: templates/web/base/alert/list.html:1 templates/web/base/alert/list.html:12
+#: templates/web/base/alert/list.html:14 templates/web/base/alert/list.html:3
+msgid "Local RSS feeds and email alerts for ‘%s’"
+msgstr "Umpan RSS lokal dan surel peringatan untuk '%s'"
+
+#: templates/web/base/main_nav_items.html:31
+#: templates/web/base/main_nav_items.html:37
+msgid "Local alerts"
+msgstr "Peringatan lokal"
+
+#: templates/web/base/index-steps.html:5
+msgid "Locate the problem on a map of the area"
+msgstr "Lacak masalah pada peta area"
+
+#: templates/web/base/auth/general.html:24
+#: templates/web/base/report/new/form_user_loggedout.html:6
+#: templates/web/base/report/update/form_user_loggedout.html:7
+msgid "Log in with Facebook"
+msgstr "Masuk dengan Facebook"
+
+#: templates/web/base/auth/general.html:32
+#: templates/web/base/report/new/form_user_loggedout.html:14
+#: templates/web/base/report/update/form_user_loggedout.html:15
+msgid "Log in with Twitter"
+msgstr "Masuk dengan Twitter"
+
+#: templates/web/base/js/translation_strings.html:62
+msgid "Log in with email"
+msgstr "Masuk dengan surel"
+
+#: templates/web/base/dashboard/index.html:146
+#: templates/web/base/dashboard/index.html:38
+msgid "Look up"
+msgstr "Cari"
+
+#: templates/web/base/js/translation_strings.html:44
+msgid "MAP"
+msgstr "PETA"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:716
+msgid "Manage shortlist"
+msgstr "Kelola daftar pendek"
+
+#: templates/web/base/reports/_list-filters.html:56
+msgid "Manual order"
+msgstr "Permintaan manual"
+
+#: templates/web/base/js/translation_strings.html:46
+msgid "Map"
+msgstr "Peta"
+
+#: templates/web/base/admin/report_edit.html:86
+msgid "Mark as sent"
+msgstr "Tandai sebagai dikirim"
+
+#: templates/web/base/admin/user-form.html:92
+msgid "Mark users whose behaviour you want to keep a check on as <strong>flagged</strong>."
+msgstr "<strong>Tandai</strong> pengguna yang perilakunya ingin Anda pantau."
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:714
+msgid "Markup problem details"
+msgstr "Detail masalah penggelembungan"
+
+#: templates/web/base/contact/index.html:100
+msgid "Message"
+msgstr "Pesan"
+
+#: templates/web/zurich/admin/report_edit.html:280
+msgid "Message to competent body:"
+msgstr "Kirim pesan ke badan kompeten:"
+
+#: templates/web/zurich/admin/report_edit.html:278
+msgid "Message to external body:"
+msgstr "Kirim pesan ke badan eksternal:"
+
+#: templates/web/base/admin/report_edit.html:71
+msgid "Missing bodies:"
+msgstr "Badan tidak ditemukan:"
+
+#: perllib/FixMyStreet/App/Controller/Open311.pm:437
+msgid "Missing jurisdiction_id"
+msgstr "jurisdiction_id tidak ditemukan"
+
+#: templates/web/base/report/_main.html:134
+msgid "Moderate"
+msgstr "Moderasi"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:710
+msgid "Moderate report details"
+msgstr "Detail laporan moderasi"
+
+#: templates/web/base/report/_main.html:134
+msgid "Moderate this report"
+msgstr "Moderasi laporan ini"
+
+#: templates/web/base/report/update.html:12
+msgid "Moderate this update"
+msgstr "Moderasi pembaruan ini"
+
+#: templates/web/base/report/_main.html:73
+#: templates/web/base/report/update.html:58
+msgid "Moderated by %s at %s"
+msgstr "Dimoderasi oleh %s pada %s"
+
+#: templates/web/zurich/admin/stats.html:34
+msgid "Moderated by division within one working day"
+msgstr "Dimoderasi oleh divisi dalam satu hari kerja"
+
+#: templates/web/base/report/_main.html:113
+#: templates/web/base/report/update.html:66
+msgid "Moderation reason:"
+msgstr "Alasan moderasi:"
+
+#: templates/web/base/admin/stats.html:11
+msgid "Month"
+msgstr "Bulan"
+
+#: templates/web/base/reports/_list-filters.html:62
+msgid "Most commented"
+msgstr "Komentar terbanyak"
+
+#: templates/web/base/admin/bodies.html:25
+#: templates/web/base/admin/body-form.html:24
+#: templates/web/base/admin/extra-metadata-form.html:65
+#: templates/web/base/admin/flagged.html:16
+#: templates/web/base/admin/flagged.html:37
+#: templates/web/base/admin/index.html:62
+#: templates/web/base/admin/list_updates.html:7
+#: templates/web/base/admin/reportextrafields/edit.html:11
+#: templates/web/base/admin/reportextrafields/index.html:6
+#: templates/web/base/admin/reports.html:14
+#: templates/web/base/admin/responsepriorities/list.html:6
+#: templates/web/base/admin/states/index.html:108
+#: templates/web/base/admin/states/index.html:11
+#: templates/web/base/admin/users.html:16
+#: templates/web/base/auth/general.html:108
+#: templates/web/base/report/new/form_user_loggedin.html:42
+#: templates/web/base/report/new/form_user_loggedout_by_email.html:7
+#: templates/web/base/report/update/form_name.html:27
+#: templates/web/zurich/admin/body-form.html:4
+#: templates/web/zurich/auth/general.html:60
+#: templates/web/zurich/report/new/fill_in_details_form.html:59
+msgid "Name"
+msgstr "Nama"
+
+#: templates/web/base/admin/report_edit.html:127
+#: templates/web/base/admin/responsepriorities/edit.html:13
+#: templates/web/base/admin/update_edit.html:34
+#: templates/web/base/admin/user-form.html:16
+#: templates/web/zurich/admin/stats.html:41
+msgid "Name:"
+msgstr "Nama:"
+
+#: perllib/FixMyStreet/Script/Reports.pm:111
+msgid "Name: %s"
+msgstr "Nama: %s"
+
+#: templates/web/base/report/_inspect.html:38
+msgid "Navigate to this problem"
+msgstr "Beralih ke masalah ini"
+
+#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:160
+#: perllib/FixMyStreet/Geocode/OSM.pm:145
+msgid "Nearest named road to the pin placed on the map (automatically generated using OpenStreetMap): %s%s"
+msgstr "Jalan bernama terdekat dengan pin yang dipasang di peta (dibuat otomatis dengan OpenStreetMap): %s %s"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:134
+msgid "Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"
+msgstr "Kode pos terdekat dengan pin yang dipasang di peta (dibuat otomatis): %s (%s m jauhnya)"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:538
+#: perllib/FixMyStreet/Cobrand/Default.pm:566
+msgid "Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"
+msgstr "Jalan terdekat dengan pin yang dipasang di peta (dibuat otomatis dengan Bing Maps): %s"
+
+#: perllib/FixMyStreet/Script/Alerts.pm:316
+msgid ""
+"Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s\n"
+"\n"
+msgstr ""
+"Jalan terdekat dengan pin yang dipasang di peta (dibuat otomatis): %s\n"
+"\n"
+
+#: templates/web/base/auth/token.html:18
+msgid "Nearly done!"
+msgstr ""
+
+#: templates/web/base/auth/token.html:22 templates/web/base/email_sent.html:5
+msgid "Nearly done! Now check your email&hellip;"
+msgstr "Hampir selesai! Sekarang, periksa surel Anda&hellip;"
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:131
+#, fuzzy
+msgid "New"
+msgstr "Terbaru"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:262
+msgid "New body added"
+msgstr "Badan baru ditambahkan"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:386
+msgid "New category contact added"
+msgstr "Kontak kategori baru ditambahkan"
+
+#: templates/web/base/auth/change_email.html:26
+msgid "New email address:"
+msgstr "Alamat surel baru:"
+
+#: templates/web/zurich/admin/report_edit-sdm.html:109
+#: templates/web/zurich/admin/report_edit.html:137
+msgid "New internal note:"
+msgstr "Catatan internal baru:"
+
+#: db/alert_types.pl:18 db/alert_types.pl:22
+msgid "New local problems on FixMyStreet"
+msgstr "Masalah lokal baru di FixMyStreet"
+
+#: templates/web/zurich/admin/report_edit-sdm.html:113
+msgid "New note to DM:"
+msgstr "Catatan baru untuk DM:"
+
+#: templates/web/base/auth/change_password.html:35
+msgid "New password:"
+msgstr "Kata sandi baru:"
+
+#: templates/web/base/admin/responsepriorities/edit.html:4
+#: templates/web/base/admin/responsepriorities/list.html:34
+msgid "New priority"
+msgstr "Prioritas baru"
+
+#: db/alert_types.pl:38
+msgid "New problems for {{COUNCIL}} within {{WARD}} ward on FixMyStreet"
+msgstr "Masalah baru untuk {{COUNCIL}} di kelurahan {{WARD}} di FixMyStreet"
+
+#: db/alert_types.pl:26 db/alert_types.pl:30
+msgid "New problems near {{POSTCODE}} on FixMyStreet"
+msgstr "Masalah baru di dekat {{POSTCODE}} di FixMyStreet"
+
+#: db/alert_types.pl:10
+msgid "New problems on FixMyStreet"
+msgstr "Masalah baru di FixMyStreet"
+
+#: db/alert_types.pl:34
+msgid "New problems to {{COUNCIL}} on FixMyStreet"
+msgstr "Masalah baru untuk {{COUNCIL}} di FixMyStreet"
+
+#: db/alert_types.pl:42
+msgid "New problems within {{NAME}}'s boundary on FixMyStreet"
+msgstr "Masalah baru dalam cakupan {{NAME}} di FixMyStreet"
+
+#: templates/web/zurich/admin/index-sdm.html:4
+msgid "New reports"
+msgstr "Laporan baru"
+
+#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/states/index.html:91
+msgid "New state"
+msgstr "Wilayah baru"
+
+#: templates/web/base/admin/template_edit.html:4
+#: templates/web/base/admin/templates.html:28
+#: templates/web/zurich/admin/template_edit.html:9
+msgid "New template"
+msgstr "Template baru"
+
+#: templates/web/base/reports/_list-filters.html:58
+msgid "Newest"
+msgstr "Terbaru"
+
+#: templates/web/base/pagination.html:10
+msgid "Next"
+msgstr "Selanjutnya"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:1237
+#: templates/web/base/admin/category_edit.html:4
+#: templates/web/base/admin/list_updates.html:32
+#: templates/web/base/admin/list_updates.html:34
+#: templates/web/base/admin/list_updates.html:35
+#: templates/web/base/admin/problem_row.html:20
+#: templates/web/base/admin/report_edit.html:125
+#: templates/web/base/admin/report_edit.html:95
+#: templates/web/base/admin/update_edit.html:26
+#: templates/web/base/questionnaire/creator_fixed.html:16
+#: templates/web/base/questionnaire/index.html:106
+#: templates/web/base/questionnaire/index.html:55
+#: templates/web/base/report/_inspect.html:92
+msgid "No"
+msgstr "Tidak"
+
+#: templates/web/base/admin/user-form.html:66
+msgid "No area"
+msgstr "Tidak ada area"
+
+#: templates/web/base/admin/user-form.html:37
+msgid "No body"
+msgstr "Tidak ada badan"
+
+#: templates/web/base/admin/stats.html:93
+msgid "No council"
+msgstr "Tidak ada dewan"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:372
+msgid "No council selected"
+msgstr "Tidak ada dewan dipilih"
+
+#: templates/web/base/admin/edit-league.html:17
+msgid "No edits have yet been made."
+msgstr "Belum ada penyuntingan."
+
+#: templates/web/base/admin/flagged.html:25
+msgid "No flagged problems found."
+msgstr "Tidak ditemukan masalah ditandai."
+
+#: templates/web/base/admin/flagged.html:58
+msgid "No flagged users found."
+msgstr "Tidak ditemukan pengguna ditandai."
+
+#: templates/web/zurich/admin/report_edit-sdm.html:125
+#: templates/web/zurich/admin/report_edit.html:259
+msgid "No further updates"
+msgstr "Tidak ada pembaruan lebih lanjut"
+
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:68
+msgid "No inspections by that inspector in the selected date range."
+msgstr "Tidak dilakukan inspeksi oleh inspektor pada kisaran tanggal yang dipilih."
+
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:70
+msgid "No inspections in the selected date range."
+msgstr "Tidak dilakukan inspeksi pada kisaran tanggal yang dipilih."
+
+#: templates/web/base/js/translation_strings.html:37
+msgid "No result returned"
+msgstr "Tidak ada hasil dikembalikan"
+
+#: templates/web/base/admin/body-form.html:68
+#: templates/web/base/admin/body-form.html:69
+msgid ""
+"No specific areas are currently available, because the <code>MAPIT_URL</code> in\n"
+" your config file is not pointing to a live MapIt service."
+msgstr ""
+"Tidak ada area spesifik yang tersedia saat ini, karena <code>MAPIT_URL</code> pada\n"
+" berkas konfigurasi Anda tidak menunjuk pada layanan langsung MapIt."
+
+#: templates/web/base/report/_support.html:2
+#: templates/web/base/report/_support.html:4
+msgid "No supporters"
+msgstr "Tidak ada pendukung"
+
+#: templates/web/base/admin/report_edit.html:66
+#: templates/web/base/admin/report_edit.html:90
+#: templates/web/base/admin/report_edit.html:92
+msgid "None"
+msgstr "Tidak Ada"
+
+#: templates/web/base/admin/user-form.html:58
+#: templates/web/base/admin/user-form.html:59
+msgid ""
+"Normal (public) users should not be associated with any <strong>area</strong>.<br>\n"
+" Authorised staff users can be associated with the area in which they operate."
+msgstr ""
+"Pengguna normal (publik) tidak boleh dihubungkan dengan <strong>area</strong> mana pun.<br>\n"
+" Staf pengguna berwenang dapat dihubungkan dengan area yang dioperasikannya."
+
+#: templates/web/base/admin/user-form.html:28
+#: templates/web/base/admin/user-form.html:29
+msgid ""
+"Normal (public) users should not be associated with any <strong>body</strong>.<br>\n"
+" Authorised staff users can be associated with the body they represent.<br>\n"
+" Depending on the implementation, staff users may have access to the dashboard (summary of\n"
+" activity across their body), the ability to hide reports or set special report statuses."
+msgstr ""
+"Pengguna normal (publik) tidak boleh dihubungkan dengan <strong>badan</strong> mana pun.<br>\n"
+" Staf pengguna berwenang dapat dihubungkan dengan badan yang diwakilinya.<br>\n"
+" Tergantung kepada implementasinya, staf pengguna dapat memiliki akses ke dasbor (ringkasan\n"
+" aktivitas di seluruh badan), kemampuan untuk menyembunyikan laporan atau mengatur status laporan khusus."
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:186
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:933
+#: templates/web/zurich/admin/header.html:1
+#: templates/web/zurich/admin/header.html:13
+msgid "Not contactable"
+msgstr "Tidak dapat dihubungi"
+
+#: templates/web/zurich/admin/report_edit-sdm.html:104
+msgid "Not for my subdivision"
+msgstr "Bukan untuk subdivisi saya"
+
+#: templates/web/base/admin/questionnaire.html:6
+msgid "Not reported before"
+msgstr "Tidak dilaporkan sebelumnya"
+
+#: templates/web/base/report/_main_sent_info.html:4
+msgid "Not reported to council"
+msgstr "Tidak dilaporkan ke dewan"
+
+#: templates/web/base/admin/body.html:75
+#: templates/web/base/admin/category_edit.html:31
+#: templates/web/zurich/admin/body.html:17
+msgid "Note"
+msgstr "Catatan"
+
+#: templates/web/base/admin/stats.html:51
+msgid "Note that when including unconfirmed reports we use the date the report was created which may not be in the same month the report was confirmed so the numbers may jump about a little"
+msgstr "Perhatikan bahwa saat menyertakan laporan yang belum dikonfirmasi, kami menggunakan tanggal laporan dibuat, yang mungkin bukan di bulan yang sama dengan waktu laporan dikonfirmasi, sehingga angkanya mungkin sedikit berbeda"
+
+#: templates/web/zurich/admin/body.html:55
+#: templates/web/zurich/admin/contact-form.html:19
+msgid "Note:"
+msgstr "Catatan:"
+
+#: templates/web/base/open311/index.html:65
+msgid "Note: <strong>%s</strong>"
+msgstr "Catatan: <strong>%s</strong>"
+
+#: templates/web/zurich/admin/list_updates.html:21
+msgid "Notes from SDM to DM"
+msgstr "Catatan dari SDM ke DM"
+
+#: templates/web/base/admin/extra-metadata-form.html:26
+msgid "Notice"
+msgstr ""
+
+#: templates/web/base/report/new/oauth_email_form.html:17
+msgid "Now to submit your report&hellip;"
+msgstr "Sekarang saatnya memasukkan laporan Anda&hellip;"
+
+#: templates/web/base/report/update-form.html:29
+#: templates/web/base/report/update/form_user_loggedout.html:2
+#: templates/web/base/report/update/form_user_loggedout.html:23
+msgid "Now to submit your update&hellip;"
+msgstr "Sekarang untuk memasukkan pembaruan Anda&hellip;"
+
+#: templates/web/base/reports/index.html:98
+msgid "Number of problems reported in each category, in the last 7 days."
+msgstr "Jumlah masalah yang dilaporkan di setiap kategori, selama 7 hari terakhir."
+
+#: templates/web/base/js/translation_strings.html:43
+msgid "OK"
+msgstr "Oke"
+
+#: templates/web/base/js/translation_strings.html:70
+msgid "Offline data cleared"
+msgstr "Data offline dihapus"
+
+#: templates/web/base/js/translation_strings.html:67
+msgid "Offline update data saved"
+msgstr "Data pembaruan offline disimpan"
+
+#: templates/web/base/admin/questionnaire.html:24
+msgid "Old state"
+msgstr "Wilayah lama"
+
+#: templates/web/base/reports/_list-filters.html:59
+msgid "Oldest"
+msgstr "Terlama"
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:905
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:10
+#: templates/web/base/admin/states/index.html:102
+#: templates/web/base/admin/states/index.html:25
+#: templates/web/base/admin/states/index.html:32
+#: templates/web/base/admin/update_edit.html:30
+#: templates/web/zurich/admin/header.html:1
+#: templates/web/zurich/admin/header.html:7
+#: templates/web/zurich/admin/update_edit.html:18
+msgid "Open"
+msgstr "Buka"
+
+#: templates/web/base/admin/open311-form-fields.html:47
+msgid "Open311 API Key"
+msgstr "Kunci API Open311"
+
+#: templates/web/base/open311/index.html:62
+msgid "Open311 API for the mySociety FixMyStreet server"
+msgstr "API Open311 untuk server mySociety FixMyStreet"
+
+#: templates/web/base/admin/open311-form-fields.html:34
+msgid "Open311 Jurisdiction"
+msgstr "Yurisdiksi Open311"
+
+#: templates/web/base/open311/index.html:72
+msgid "Open311 initiative web page"
+msgstr "Halaman web inisiatif Open311"
+
+#: templates/web/base/open311/index.html:73
+msgid "Open311 specification"
+msgstr "Spesifikasi Open311"
+
+#: templates/web/base/admin/extra-metadata-form.html:53
+#, fuzzy
+msgid "Options"
+msgstr "opsional"
+
+#: templates/web/base/alert/_list.html:84
+msgid "Or subscribe by RSS"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:8
+msgid "Order"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1107
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:675
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:676
+#: perllib/FixMyStreet/DB/Result/Problem.pm:579
+#: perllib/FixMyStreet/DB/Result/Problem.pm:586
+#: perllib/FixMyStreet/DB/Result/Problem.pm:601
+#: perllib/FixMyStreet/DB/Result/Problem.pm:610
+#: perllib/FixMyStreet/Script/Reports.pm:183
+#: perllib/FixMyStreet/Script/Reports.pm:198
+msgid "Other"
+msgstr "Lainnya"
+
+#: templates/web/base/reports/index.html:107
+msgid "Other categories"
+msgstr "Kategori lainnya"
+
+#: templates/web/base/reports/index.html:92
+msgid "Overall average"
+msgstr "Rata-rata keseluruhan"
+
+#: templates/web/base/admin/list_updates.html:8
+msgid "Owner"
+msgstr "Pemilik"
+
+#: templates/web/base/errors/page_error_404_not_found.html:1
+#: templates/web/base/errors/page_error_404_not_found.html:4
+msgid "Page Not Found"
+msgstr "Halaman Tidak Ditemukan"
+
+#: templates/web/base/admin/body-form.html:39
+#: templates/web/zurich/admin/body-form.html:14
+msgid "Parent"
+msgstr "Induk"
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:61
+msgid "Partial"
+msgstr "Parsial"
+
+#: templates/web/base/auth/general.html:111
+#: templates/web/base/report/new/form_user_loggedout_by_email.html:28
+#: templates/web/base/report/update/form_user_loggedout_by_email.html:6
+#: templates/web/zurich/auth/general.html:32
+#: templates/web/zurich/auth/general.html:63
+msgid "Password (optional)"
+msgstr "Kata sandi (opsional)"
+
+#: templates/web/base/auth/general.html:84
+msgid "Password:"
+msgstr "Kata sandi:"
+
+#: templates/web/base/js/translation_strings.html:52
+msgid "Permalink"
+msgstr "Permalink:"
+
+#: templates/web/base/admin/user-form.html:144
+msgid "Permissions:"
+msgstr "Perizinan:"
+
+#: templates/web/base/report/_inspect.html:19
+#, fuzzy
+msgid "Phone Reporter:"
+msgstr "Dilaporkan:"
+
+#: templates/web/zurich/report/new/fill_in_details_form.html:65
+msgid "Phone number"
+msgstr "Nomor telepon"
+
+#: templates/web/base/report/new/form_user_loggedin.html:59
+#: templates/web/base/report/new/form_user_loggedout_by_email.html:25
+msgid "Phone number (optional)"
+msgstr "Nomor telepon (opsional)"
+
+#: perllib/FixMyStreet/Script/Reports.pm:87
+#: templates/web/base/admin/report_edit.html:134
+#: templates/web/base/admin/user-form.html:21
+#: templates/web/zurich/admin/stats.html:39
+msgid "Phone:"
+msgstr "Telepon:"
+
+#: templates/web/base/questionnaire/index.html:78
+#: templates/web/base/questionnaire/index.html:93
+#: templates/web/base/questionnaire/index.html:95
+#: templates/web/base/report/new/form_report.html:30
+#: templates/web/base/report/new/form_report.html:45
+#: templates/web/base/report/new/form_report.html:47
+#: templates/web/base/report/update/form_update.html:22
+#: templates/web/base/report/update/form_update.html:24
+#: templates/web/base/report/update/form_update.html:7
+#: templates/web/zurich/admin/index-dm.html:29
+#: templates/web/zurich/admin/index-sdm.html:24
+#: templates/web/zurich/admin/reports.html:16
+#: templates/web/zurich/admin/stats.html:37
+#: templates/web/zurich/report/new/fill_in_details_form.html:20
+#: templates/web/zurich/report/new/fill_in_details_form.html:36
+#: templates/web/zurich/report/new/fill_in_details_form.html:38
+msgid "Photo"
+msgstr "Foto"
+
+#: perllib/FixMyStreet/App/Controller/Photo.pm:186
+msgid "Photo is required."
+msgstr "Foto diperlukan."
+
+#: templates/web/zurich/admin/contact-form.html:16
+msgid "Photo required"
+msgstr "Foto diperlukan"
+
+#: templates/web/base/questionnaire/index.html:78
+#: templates/web/base/report/new/form_report.html:30
+#: templates/web/base/report/update/form_update.html:7
+#: templates/web/zurich/report/new/fill_in_details_form.html:20
+msgid "Photos"
+msgstr "Foto"
+
+#: templates/web/base/alert/list.html:23
+msgid "Photos of recent nearby reports"
+msgstr "Foto dari laporan baru-baru ini di sekitar"
+
+#: templates/web/base/reports/index.html:63
+#: templates/web/base/reports/index.html:66
+msgid "Pick your council"
+msgstr "Pilih dewan Anda"
+
+#: templates/web/base/around/display_location.html:76
+#: templates/web/base/js/translation_strings.html:30
+msgid "Place pin on map"
+msgstr "Pasang pin di peta"
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:945
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:951
+#: templates/web/zurich/admin/header.html:1
+#: templates/web/zurich/admin/header.html:9
+#: templates/web/zurich/admin/index-dm.html:9
+msgid "Planned"
+msgstr "Direncanakan"
+
+#: templates/web/base/report/new/notes.html:5
+msgid "Please be polite, concise and to the point."
+msgstr "Mohon untuk sopan, singkat, dan langsung ke intinya."
+
+#: templates/web/base/auth/change_password.html:22
+#: templates/web/base/auth/change_password.html:27
+msgid "Please check the passwords and try again"
+msgstr "Silakan periksa kata sandi dan coba lagi"
+
+#: templates/web/base/auth/change_email.html:15
+#: templates/web/base/auth/change_email.html:18
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:45
+#: templates/web/zurich/auth/general.html:3
+#: templates/web/zurich/auth/general.html:9
+msgid "Please check your email address is correct"
+msgstr "Silakan periksa apakah alamat surel Anda benar"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:329
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:873
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:896
+#: perllib/FixMyStreet/DB/Result/Problem.pm:383
+#: templates/web/base/js/translation_strings.html:9
+msgid "Please choose a category"
+msgstr "Silakan pilih kategori"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:377
+#: templates/web/base/admin/bodies.html:4 templates/web/base/admin/body.html:11
+msgid "Please correct the errors below"
+msgstr "Mohon koreksi kesalahan-kesalahan di bawah ini"
+
+#: templates/web/base/contact/blurb.html:6
+msgid ""
+"Please do <strong>not</strong> report problems through this form; messages go to\n"
+"the team behind this site, not a council. To report a problem,\n"
+"please <a href=\"/\">go to the front page</a> and follow the instructions."
+msgstr ""
+"Mohon untuk <strong>tidak</strong> melaporkan masalah melalui formulir ini; pesan Anda dikirimkan kepada\n"
+"tim yang mengerjakan situs ini dan bukan kepada dewan. Untuk melaporkan masalah,\n"
+"silakan <a href=\"/\">buka halaman utama</a> dan ikuti petunjuknya."
+
+#: templates/web/base/report/new/notes.html:6
+msgid "Please do not be abusive&nbsp;&mdash; abusing your council devalues the service for all users."
+msgstr "Mohon untuk tidak menggunakan bahasa yang kasar&nbsp;&mdash; menggunakan bahasa yang kasar terhadap dewan Anda akan menurunkan mutu layanan bagi semua pengguna."
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:330
+#: perllib/FixMyStreet/DB/Result/Comment.pm:128
+#: templates/web/base/js/translation_strings.html:2
+msgid "Please enter a message"
+msgstr "Silakan masukkan pesan"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1305
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1469
+msgid "Please enter a name"
+msgstr "Silakan masukkan nama baru"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:497
+msgid "Please enter a name for this body"
+msgstr "Silakan masukkan nama untuk badan ini"
+
+#: templates/web/base/auth/change_password.html:22
+#: templates/web/base/auth/change_password.html:25
+#: templates/web/base/js/translation_strings.html:19
+msgid "Please enter a password"
+msgstr "Silakan masukkan kata sandi"
+
+#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/DB/Result/Problem.pm:366
+#: templates/web/base/js/translation_strings.html:3
+msgid "Please enter a subject"
+msgstr "Silakan masukkan subjek"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1302
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1466
+#: perllib/FixMyStreet/App/Controller/Admin.pm:343
+#: perllib/FixMyStreet/DB/Result/User.pm:164
+#: templates/web/base/js/translation_strings.html:12
+#: templates/web/base/js/translation_strings.html:16
+msgid "Please enter a valid email"
+msgstr "Silakan masukkan surel yang valid"
+
+#: perllib/FixMyStreet/App/Controller/Alert.pm:350
+#: perllib/FixMyStreet/App/Controller/Contact.pm:125
+msgid "Please enter a valid email address"
+msgstr "Silakan masukkan alamat surel yang valid"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:369
+#: templates/web/base/js/translation_strings.html:4
+msgid "Please enter some details"
+msgstr "Silakan masukkan detail"
+
+#: perllib/FixMyStreet/App/Controller/Contact.pm:114
+#: perllib/FixMyStreet/DB/Result/User.pm:161
+#: templates/web/base/auth/change_email.html:15
+#: templates/web/base/auth/change_email.html:17
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:44
+#: templates/web/base/js/translation_strings.html:11
+#: templates/web/base/js/translation_strings.html:15
+#: templates/web/zurich/auth/general.html:3
+#: templates/web/zurich/auth/general.html:8
+msgid "Please enter your email"
+msgstr "Silakan masukkan surel Anda"
+
+#: templates/web/base/report/new/form_user_loggedout_email.html:5
+#: templates/web/zurich/report/new/fill_in_details_form.html:57
+msgid "Please enter your email address"
+msgstr "Silakan masukkan alamat surel Anda"
+
+#: templates/web/base/js/translation_strings.html:25
+msgid "Please enter your first name"
+msgstr "Silakan masukkan nama depan Anda"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:326
+#: templates/web/base/js/translation_strings.html:7
+msgid "Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below"
+msgstr "Silakan masukkan nama lengkap Anda, dewan membutuhkan informasi ini – jika Anda tidak ingin nama Anda ditampilkan di situs, hapus centang pada kotak di bawah"
+
+#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/DB/Result/Comment.pm:125
+#: perllib/FixMyStreet/DB/Result/Problem.pm:377
+#: perllib/FixMyStreet/DB/Result/User.pm:157
+#: templates/web/base/js/translation_strings.html:6
+msgid "Please enter your name"
+msgstr "Silakan masukkan nama Anda"
+
+#: templates/web/base/js/translation_strings.html:22
+msgid "Please enter your phone number"
+msgstr "Silakan masukkan nomor telepon Anda"
+
+#: templates/web/base/js/translation_strings.html:26
+msgid "Please enter your second name"
+msgstr "Silakan masukkan nama kedua Anda"
+
+#: templates/web/base/js/translation_strings.html:24
+msgid "Please enter your title"
+msgstr "Silakan masukkan sapaan Anda"
+
+#: templates/web/base/auth/sign_out.html:5
+#: templates/web/zurich/auth/sign_out.html:5
+msgid "Please feel free to <a href=\"%s\">sign in again</a>, or go back to the <a href=\"/\">front page</a>."
+msgstr "Silakan <a href=\"%s\">masuk lagi</a>, atau kembali ke <a href=\"/\">halaman utama</a>."
+
+#: templates/web/base/report/new/fill_in_details_text.html:1
+#: templates/web/base/report/new/fill_in_details_text.html:8
+msgid "Please fill in details of the problem below."
+msgstr "Silakan masukkan detail masalah di bawah."
+
+#: templates/web/zurich/report/new/fill_in_details_form.html:49
+msgid "Please fill in details of the problem."
+msgstr "Silakan masukkan detail masalah."
+
+#: templates/web/base/report/new/sidebar.html:7
+#: templates/web/zurich/report/new/sidebar.html:14
+msgid "Please fill in the form below with details of the problem, and describe the location as precisely as possible in the details box."
+msgstr "Silakan isi formulir di bawah dengan detail masalah, dan jelaskan lokasinya setepat mungkin pada kotak detail."
+
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:239
+msgid "Please indicate whether you'd like to receive another questionnaire"
+msgstr "Mohon beri tahukan apakah Anda ingin menerima kuesioner lainnya"
+
+#: templates/web/base/report/updates-sidebar-notes.html:2
+msgid "Please note that updates are not sent to the council."
+msgstr "Harap perhatikan bahwa pembaruan tidak dikirimkan ke dewan."
+
+#: templates/web/base/report/new/oauth_email_form.html:4
+msgid "Please note your report has <strong>not yet been sent</strong>."
+msgstr "Harap perhatikan bahwa laporan Anda <strong>belum terkirim</strong>."
+
+#: templates/web/base/report/new/fill_in_details_form.html:12
+#: templates/web/zurich/report/new/sidebar.html:5
+msgid "Please note your report has <strong>not yet been sent</strong>. Choose a category and add further information below, then submit."
+msgstr "Harap perhatikan bahwa laporan Anda <strong>belum terkirim. Pilih sebuah kategori dan tambahkan informasi lebih lanjut di bawah, lalu kirimkan."
+
+#: templates/web/base/report/display.html:34
+msgid "Please note your update has <strong>not yet been posted</strong>."
+msgstr "Harap perhatikan bahwa pembaruan Anda <strong>belum terkirim</strong>."
+
+#: templates/web/base/report/new/notes.html:1
+#: templates/web/zurich/report/new/notes.html:1
+msgid "Please note:"
+msgstr "Harap perhatikan:"
+
+#: perllib/FixMyStreet/App/Controller/Report.pm:353
+msgid "Please provide a public update for this report."
+msgstr "Mohon berikan pembaruan publik untuk laporan ini."
+
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:242
+msgid "Please provide some explanation as to why you're reopening this report"
+msgstr "Mohon jelaskan mengapa Anda membuka kembali laporan ini"
+
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:249
+msgid "Please provide some text as well as a photo"
+msgstr "Mohon berikan teks dan juga foto"
+
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:115
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:235
+msgid "Please say whether you've ever reported a problem to your council before"
+msgstr "Mohon beri tahu apakah Anda pernah melaporkan masalah kepada dewan Anda sebelumnya"
+
+#: templates/web/zurich/admin/report_edit.html:204
+msgid "Please select a body."
+msgstr "Silakan pilih badan."
+
+#: perllib/FixMyStreet/App/Controller/Alert.pm:83
+msgid "Please select the feed you want"
+msgstr "Silakan pilih umpan yang Anda inginkan"
+
+#: perllib/FixMyStreet/App/Controller/Alert.pm:131
+msgid "Please select the type of alert you want"
+msgstr "Silakan pilih tipe peringatan yang Anda inginkan"
+
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:231
+msgid "Please state whether or not the problem has been fixed"
+msgstr "Mohon beri tahu apakah masalah telah diatasi atau belum"
+
+#: perllib/FixMyStreet/App/Model/PhotoSet.pm:122
+#: perllib/FixMyStreet/App/Model/PhotoSet.pm:156
+#: perllib/FixMyStreet/App/Model/PhotoSet.pm:158
+#: templates/web/base/js/translation_strings.html:60
+msgid "Please upload an image only"
+msgstr "Mohon untuk hanya mengunggah gambar"
+
+#: perllib/FixMyStreet/App/Controller/Contact.pm:116
+msgid "Please write a message"
+msgstr "Silakan tuliskan pesan"
+
+#: templates/web/base/report/update/form_update.html:36
+msgid "Please write your update here"
+msgstr "Silakan tuliskan pembaruan Anda di sini"
+
+#: templates/web/base/report/update-form.html:25
+#: templates/web/base/report/update/form_user_loggedout_by_email.html:14
+#: templates/web/base/report/update/form_user_loggedout_password.html:10
+msgid "Post"
+msgstr "Kirim"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:231
+msgid "Posted anonymously at %s"
+msgstr "Dikirim secara anonim pada %s"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:255
+msgid "Posted by %s at %s"
+msgstr "Dikirim oleh %s pada %s"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:243
+msgid "Posted by <strong>%s</strong> (%s) at %s"
+msgstr "Dikirim oleh <strong>%s</strong> (%s) pada %s"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:245
+msgid "Posted by <strong>%s</strong> at %s"
+msgstr "Dikirim oleh <strong>%s</strong> pada %s"
+
+#: templates/web/base/front/footer-marketing.html:6
+msgid "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
+msgstr "Didukung oleh <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">Platform FixMyStreet</a>"
+
+#: templates/web/base/pagination.html:4
+msgid "Previous"
+msgstr "Sebelumnya"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:665
+msgid "Priorities"
+msgstr "Prioritas"
+
+#: templates/web/base/report/_inspect.html:123
+#: templates/web/base/report/_item.html:100
+msgid "Priority"
+msgstr "Prioritas"
+
+#: templates/web/base/main_nav_items.html:43
+msgid "Privacy"
+msgstr "Privasi"
+
+#: templates/web/base/about/_sidebar.html:5
+#: templates/web/base/about/privacy.html:1
+#: templates/web/base/about/privacy.html:2
+msgid "Privacy and cookies"
+msgstr "Privasi dan kuki"
+
+#: templates/web/base/admin/body.html:88
+#: templates/web/base/admin/contact-form.html:75
+#: templates/web/base/admin/report_edit.html:137
+msgid "Private"
+msgstr "Pribadi"
+
+#: templates/web/base/report/new/form_user.html:1
+msgid "Private details"
+msgstr "Detail pribadi"
+
+#: templates/web/base/maps/pin.html:13
+msgid "Problem"
+msgstr "Masalah"
+
+#: templates/web/base/admin/timeline.html:22
+msgid "Problem %d created"
+msgstr "Masalah %d dibuat"
+
+#: templates/web/base/admin/timeline.html:24
+msgid "Problem %s confirmed"
+msgstr "Masalah %s dikonfirmasi"
+
+#: templates/web/base/admin/timeline.html:26
+msgid "Problem %s sent to council %s"
+msgstr "Masalah %s dikirim ke dewan %s"
+
+#: templates/web/base/admin/stats.html:57
+#: templates/web/base/admin/stats_by_state.html:12
+#: templates/web/zurich/admin/index.html:9
+msgid "Problem breakdown by state"
+msgstr "Uraian masalah berdasarkan wilayah"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1272
+msgid "Problem marked as open."
+msgstr "Masalah ditandai terbuka."
+
+#: templates/web/base/admin/questionnaire.html:21
+msgid "Problem state change based on survey results"
+msgstr "Perubahan wilayah masalah berdasarkan hasil survei"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:709
+#: templates/web/base/admin/flagged.html:10
+msgid "Problems"
+msgstr "Masalah"
+
+#: templates/web/base/alert/_list.html:22
+#, fuzzy
+msgid "Problems in an area"
+msgstr "Masalah di kelurahan %s"
+
+#: templates/web/base/report/display_tools.html:22
+msgid "Problems nearby"
+msgstr "Masalah di sekitar"
+
+#: templates/web/base/report/display_tools.html:20
+msgid "Problems on the map"
+msgstr "Masalah di peta"
+
+#: db/alert_types.pl:14
+msgid "Problems recently reported fixed on FixMyStreet"
+msgstr "Masalah yang baru-baru ini dilaporkan diatasi di FixMyStreet"
+
+#: templates/web/base/alert/_list.html:29
+#, fuzzy
+msgid "Problems within %.1fkm of %s"
+msgstr "Masalah dalam jarak %.1fkm dari lokasi ini"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:838
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:137
+#: perllib/FixMyStreet/Cobrand/UK.pm:215 perllib/FixMyStreet/Cobrand/UK.pm:257
+#: perllib/FixMyStreet/Cobrand/UK.pm:269
+msgid "Problems within %s"
+msgstr "Masalah dalam %s"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:229
+msgid "Problems within %s ward"
+msgstr "Masalah di kelurahan %s"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:263 perllib/FixMyStreet/Cobrand/UK.pm:275
+#, fuzzy
+msgid "Problems within %s ward, %s"
+msgstr "Masalah di kelurahan %s"
+
+#. ("First %s is the body name, second %s the site name")
+#: templates/web/base/reports/body.html:0
+#: templates/web/base/reports/body.html:25
+msgid "Problems within %s, %s"
+msgstr "Masalah dalam %s, %s"
+
+#: templates/web/base/admin/report_edit.html:74
+msgid "Property address:"
+msgstr "Alamat properti:"
+
+#: templates/web/base/report/duplicate-no-updates.html:2
+#: templates/web/base/report/update-form.html:6
+msgid "Provide an update"
+msgstr "Berikan pembaruan"
+
+#: templates/web/base/report/update/form_name.html:10
+msgid "Provide update as"
+msgstr "Berikan pembaruan sebagai"
+
+#: templates/web/base/auth/general.html:114
+msgid "Providing a name and password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
+msgstr "Memberikan nama dan kata sandi adalah opsional, tetapi dengan begitu Anda akan lebih mudah melaporkan masalah, menambahkan pembaruan, dan mengelola laporan Anda."
+
+#: templates/web/base/report/new/form_user_loggedout_by_email.html:31
+#: templates/web/base/report/update/form_user_loggedout_by_email.html:9
+msgid "Providing a password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
+msgstr "Memberikan kata sandi adalah opsional, tetapi dengan begitu Anda akan lebih mudah melaporkan masalah, menambahkan pembaruan, dan mengelola laporan Anda."
+
+#: templates/web/base/report/new/form_report.html:10
+msgid "Public details"
+msgstr "Detail publik"
+
+#: templates/web/zurich/admin/report_edit.html:241
+#: templates/web/zurich/admin/report_edit.html:268
+msgid "Public response:"
+msgstr "Tanggapan publik:"
+
+#: templates/web/base/report/_inspect.html:162
+msgid "Public update:"
+msgstr "Pembaruan publik:"
+
+#: templates/web/zurich/admin/report_edit.html:123
+#: templates/web/zurich/admin/stats.html:38
+msgid "Publish photo"
+msgstr "Terbitkan foto"
+
+#: templates/web/base/questionnaire/completed.html:1
+#: templates/web/base/questionnaire/index.html:0
+#: templates/web/base/questionnaire/index.html:14
+#: templates/web/base/questionnaire/index.html:5
+msgid "Questionnaire"
+msgstr "Kuesioner"
+
+#: templates/web/base/admin/timeline.html:30
+msgid "Questionnaire %d answered for problem %d, %s to %s"
+msgstr "Kuesioner%d dijawab untuk masalah %d, %s sampai %s"
+
+#: templates/web/base/admin/timeline.html:28
+msgid "Questionnaire %d sent for problem %d"
+msgstr "Kuesioner %d dikirim untuk masalah %d"
+
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:191
+msgid "Questionnaire filled in by problem reporter"
+msgstr "Kuesioner diisi oleh pelapor masalah"
+
+#: templates/web/base/alert/_list.html:26
+#: templates/web/base/alert/updates.html:9
+#: templates/web/base/around/display_location.html:1
+#: templates/web/base/around/display_location.html:3
+#: templates/web/base/report/display_tools.html:42
+msgid "RSS feed"
+msgstr "Umpan RSS"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
+msgid "RSS feed for %s"
+msgstr "Umpan RSS untuk %s"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:264 perllib/FixMyStreet/Cobrand/UK.pm:276
+msgid "RSS feed for %s ward, %s"
+msgstr "Umpan RSS untuk kelurahan %s, %s"
+
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:153
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:179
+#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
+msgid "RSS feed of %s"
+msgstr "Umpan RSS dari %s"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
+msgid "RSS feed of %s, within %s ward"
+msgstr "Umpan RSS dari %s, di kelurahan %s"
+
+#: templates/web/base/alert/_list.html:26
+msgid "RSS feed of nearby problems"
+msgstr "Umpan RSS dari masalah di sekitar"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:839
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:136
+#: perllib/FixMyStreet/Cobrand/UK.pm:222
+msgid "RSS feed of problems within %s"
+msgstr "Umpan RSS dari masalah dalam %s"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:228
+msgid "RSS feed of problems within %s ward"
+msgstr "Umpan RSS dari masalah di kelurahan %s"
+
+#: templates/web/base/around/display_location.html:1
+#: templates/web/base/around/display_location.html:4
+msgid "RSS feed of recent local problems"
+msgstr "Umpan RSS dari masalah lokal baru-baru ini"
+
+#: templates/web/base/alert/updates.html:9
+#: templates/web/base/report/display_tools.html:42
+msgid "RSS feed of updates to this problem"
+msgstr "Umpan RSS dari pembaruan terhadap masalah ini"
+
+#: templates/web/base/alert/updates.html:14
+#: templates/web/base/report/display_tools.html:44
+msgid "Receive email when updates are left on this problem."
+msgstr "Terima surel saat pembaruan ditambahkan pada masalah ini."
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:738
+msgid "Received by %s moments later"
+msgstr "Diterima oleh %s beberapa saat kemudian"
+
+#. ("%s is the site name")
+#: templates/web/base/around/display_location.html:0
+#: templates/web/base/around/display_location.html:35
+msgid "Recent local problems, %s"
+msgstr "Masalah lokal baru-baru ini, %s"
+
+#: templates/web/base/front/recent.html:11
+msgid "Recently reported problems"
+msgstr "Masalah yang baru saja dilaporkan"
+
+#: templates/web/base/reports/_list-filters.html:60
+msgid "Recently updated"
+msgstr "Baru saja diperbarui"
+
+#: templates/web/zurich/report/new/notes.html:5
+msgid "Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. If your problem is not appropriate for submission via this site remember that you can contact your council directly using their own website."
+msgstr "Ingatlah bahwa FixMyStreet terutama bertujuan untuk melaporkan masalah fisik yang dapat diperbaiki. Jika masalah Anda tidak sesuai untuk dikirimkan ke situs ini, harap ingat bahwa Anda dapat langsung menghubungi dewan Anda melalui situs web mereka."
+
+#: templates/web/base/admin/extra-metadata-form.html:68
+#, fuzzy
+msgid "Remove"
+msgstr "Hapus tanda"
+
+#: templates/web/base/admin/extra-metadata-form.html:4
+#, fuzzy
+msgid "Remove field"
+msgstr "Hapus tanda"
+
+#: templates/web/base/admin/report_blocks.html:23
+msgid "Remove flag"
+msgstr "Hapus tanda"
+
+#: templates/web/base/report/_item.html:12
+#: templates/web/base/report/_item.html:9
+#: templates/web/base/report/_main.html:138
+#: templates/web/base/report/_main.html:18
+#: templates/web/base/report/_main.html:26
+msgid "Remove from shortlist"
+msgstr "Hapus dari daftar pendek"
+
+#: templates/web/base/report/display_tools.html:6
+msgid "Remove from site"
+msgstr "Hapus dari situs"
+
+#: templates/web/base/admin/report_edit.html:154
+#: templates/web/base/admin/update_edit.html:69
+#: templates/web/zurich/admin/update_edit.html:35
+msgid "Remove photo (can't be undone!)"
+msgstr "Hapus foto (tidak dapat dibatalkan!)"
+
+#: templates/web/zurich/admin/report_edit.html:239
+msgid "Reply to user:"
+msgstr "Balas pengguna:"
+
+#: templates/web/base/header_logo.html:2
+msgid "Report"
+msgstr "Laporan"
+
+#: templates/web/base/report/_inspect.html:14
+#: templates/web/base/report/_item.html:78
+msgid "Report ID:"
+msgstr "ID Laporan:"
+
+#: templates/web/base/header_logo.html:2
+#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:18
+#: templates/web/zurich/nav_over_content.html:4
+msgid "Report a problem"
+msgstr "Laporkan masalah"
+
+#: templates/web/base/report/display_tools.html:10
+#: templates/web/base/report/display_tools.html:9
+msgid "Report abuse"
+msgstr "Laporkan penyalahgunaan"
+
+#: templates/web/base/report/new/form_user_loggedin.html:17
+msgid "Report as"
+msgstr "Laporkan sebagai"
+
+#: perllib/FixMyStreet/App/Controller/Rss.pm:298
+msgid "Report on %s"
+msgstr "Laporkan tentang %s"
+
+#: templates/web/base/dashboard/index.html:137
+msgid "Report state:"
+msgstr "Wilayah laporan:"
+
+#: templates/web/base/report/new/fill_in_details_form.html:1
+#: templates/web/base/report/new/login_success_form.html:1
+#: templates/web/base/report/new/oauth_email_form.html:1
+msgid "Report your problem"
+msgstr "Laporkan masalah Anda"
+
+#: templates/web/base/around/intro.html:1
+#: templates/web/zurich/around/intro.html:1
+msgid "Report, view, or discuss local problems"
+msgstr "Laporkan, tampilkan, atau diskusikan masalah lokal"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:590
+#: templates/web/base/contact/index.html:55
+msgid "Reported anonymously at %s"
+msgstr "Dilaporkan secara anonim pada %s"
+
+#: templates/web/base/admin/questionnaire.html:5
+#: templates/web/base/questionnaire/index.html:64
+msgid "Reported before"
+msgstr "Telah dilaporkan sebelumnya"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:614
+#: templates/web/base/contact/index.html:57
+msgid "Reported by %s at %s"
+msgstr "Dilaporkan oleh %s pada %s"
+
+#: templates/web/zurich/admin/report_edit-sdm.html:60
+#: templates/web/zurich/admin/report_edit.html:88
+msgid "Reported by:"
+msgstr "Dilaporkan oleh:"
+
+#: templates/web/zurich/report/_main.html:2
+msgid "Reported in the %s category"
+msgstr "Dilaporkan dalam kategori %s"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:587
+msgid "Reported in the %s category anonymously at %s"
+msgstr "Dilaporkan dalam kategori %s secara anonim pada %s"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:611
+msgid "Reported in the %s category by %s at %s"
+msgstr "Dilaporkan dalam kategori %s oleh %s pada %s"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:584
+msgid "Reported via %s anonymously at %s"
+msgstr "Dilaporkan melalui %s secara anonim pada %s"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:608
+msgid "Reported via %s by %s at %s"
+msgstr "Dilaporkan melalui %s oleh %s pada %s"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:581
+msgid "Reported via %s in the %s category anonymously at %s"
+msgstr "Dilaporkan melalui %s dalam kategori %s secara anonim pada %s"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
+msgid "Reported via %s in the %s category by %s at %s"
+msgstr "Dilaporkan melalui %s dalam kategori %s oleh %s pada %s"
+
+#: templates/web/zurich/admin/report_edit-sdm.html:38
+#: templates/web/zurich/admin/report_edit.html:57
+msgid "Reported:"
+msgstr "Dilaporkan:"
+
+#: templates/web/base/around/index.html:2
+#: templates/web/base/around/lookup_by_ref.html:2
+#: templates/web/base/js/translation_strings.html:42
+#: templates/web/base/report/new/fill_in_details.html:0
+#: templates/web/base/report/new/fill_in_details.html:8
+#: templates/web/zurich/report/new/fill_in_details_form.html:4
+msgid "Reporting a problem"
+msgstr "Melaporkan masalah"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:655
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:388
+#: templates/web/base/dashboard/index.html:134
+#: templates/web/zurich/header.html:52
+msgid "Reports"
+msgstr "Laporan"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:333 perllib/FixMyStreet/Cobrand/UK.pm:335
+msgid "Reports are limited to %s characters in length. Please shorten your report"
+msgstr "Panjang laporan dibatasi hingga %s karakter. Mohon persingkat laporan Anda"
+
+#: templates/web/zurich/admin/index-sdm.html:7
+msgid "Reports awaiting approval"
+msgstr "Laporan menunggu persetujuan"
+
+#: templates/web/base/alert/_list.html:54
+#, fuzzy
+msgid "Reports by destination"
+msgstr "Wilayah laporan:"
+
+#: templates/web/base/admin/user-form.html:107
+msgid "Reports made by trusted users will be sent to the responsible body without being inspected first."
+msgstr "Laporan yang dibuat oleh pengguna tepercaya akan dikirimkan ke badan yang bertanggung jawab tanpa diinspeksi terlebih dulu."
+
+#: templates/web/base/alert/_list.html:15
+msgid "Reports near %s are sent to different councils, depending on the type of problem."
+msgstr ""
+
+#: templates/web/zurich/admin/index-sdm.html:10
+msgid "Reports published"
+msgstr "Laporan diterbitkan"
+
+#: templates/web/base/js/translation_strings.html:71
+msgid "Reports saved offline."
+msgstr "Laporan disimpan secara offline."
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#, fuzzy
+msgid "Reports sent to %s"
+msgstr "Laporkan tentang %s"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:290 perllib/FixMyStreet/Cobrand/UK.pm:302
+#, fuzzy
+msgid "Reports sent to %s, within %s ward"
+msgstr "Umpan RSS dari %s, di kelurahan %s"
+
+#: templates/web/base/admin/index.html:56
+msgid "Reports waiting to be sent"
+msgstr "Laporan menunggu untuk dikirim"
+
+#: templates/web/base/admin/contact-form.html:90
+msgid "Reports will automatically be sent without needing to be inspected if the user's <strong>reputation</strong> is at or above this value. Set to <strong>0</strong> if all reports must be inspected regardless."
+msgstr "Laporan akan otomatis dikirim tanpa memerlukan inspeksi jika <strong>reputasi</strong> pengguna setara dengan atau lebih dari nilai ini. Atur ke <strong>0</strong> jika semua laporan harus diinspeksi tanpa terkecuali."
+
+#: templates/web/base/admin/contact-form.html:95
+msgid "Reputation threshold"
+msgstr "Batas reputasi"
+
+#: templates/web/base/admin/extra-metadata-form.html:20
+#, fuzzy
+msgid "Required"
+msgstr "diperlukan"
+
+#: templates/web/base/admin/report_edit.html:84
+msgid "Resend report"
+msgstr "Kirim ulang laporan"
+
+#: templates/web/base/admin/responsepriorities/index.html:1
+msgid "Response Priorities"
+msgstr "Prioritas Tanggapan"
+
+#: templates/web/base/admin/responsepriorities/list.html:1
+msgid "Response Priorities for %s"
+msgstr "Prioritas Tanggapan untuk %s"
+
+#: templates/web/base/admin/responsepriorities/edit.html:1
+msgid "Response Priority for %s"
+msgstr "Prioritas Tanggapan untuk %s"
+
+#: templates/web/base/admin/template_edit.html:1
+msgid "Response Template for %s"
+msgstr "Template Tanggapan untuk %s"
+
+#: templates/web/base/admin/templates_index.html:1
+msgid "Response Templates"
+msgstr "Template Tanggapan"
+
+#: templates/web/base/admin/templates.html:1
+#: templates/web/base/admin/templates.html:4
+#: templates/web/zurich/admin/template_edit.html:1
+#: templates/web/zurich/admin/template_edit.html:4
+msgid "Response Templates for %s"
+msgstr "Template Tanggapan untuk %s"
+
+#: templates/web/base/report/update.html:40
+msgid "Revert to original"
+msgstr "Kembalikan ke awal"
+
+#: templates/web/base/report/_main.html:99
+msgid "Revert to original text"
+msgstr "Kembalikan ke teks awal"
+
+#: templates/web/base/report/_main.html:50
+msgid "Revert to original title"
+msgstr "Kembalikan ke judul awal"
+
+#: templates/web/base/js/translation_strings.html:28
+#: templates/web/base/js/translation_strings.html:40
+msgid "Right place?"
+msgstr "Tempat yang benar?"
+
+#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:167
+#: perllib/FixMyStreet/Geocode/OSM.pm:152
+msgid "Road operator for this named road (derived from road reference number and type): %s"
+msgstr "Operator jalan untuk jalan bernama ini (diambil dari tipe dan nomor referensi jalan): %s"
+
+#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:164
+#: perllib/FixMyStreet/Geocode/OSM.pm:149
+msgid "Road operator for this named road (from OpenStreetMap): %s"
+msgstr "Operator jalan untuk jalan bernama ini (dari OpenStreetMap): %s"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1852
+#: templates/web/base/admin/report_edit.html:151
+#: templates/web/base/admin/update_edit.html:66
+#: templates/web/zurich/admin/report_edit.html:118
+msgid "Rotate Left"
+msgstr "Putar Kiri"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: templates/web/base/admin/report_edit.html:152
+#: templates/web/base/admin/update_edit.html:67
+#: templates/web/zurich/admin/report_edit.html:119
+msgid "Rotate Right"
+msgstr "Putar Kanan"
+
+#: templates/web/zurich/admin/report_edit.html:110
+msgid "Rotating this photo will discard unsaved changes to the report."
+msgstr "Memutar foto ini akan membuang perubahan yang belum disimpan pada laporan."
+
+#: templates/web/base/js/translation_strings.html:47
+#: templates/web/base/maps/google-ol.html:16
+msgid "Satellite"
+msgstr "Satelit"
+
+#: templates/web/base/report/_inspect.html:182
+msgid "Save + close as duplicate"
+msgstr "Simpan + tutup sebagai duplikat"
+
+#: templates/web/base/admin/contact-form.html:138
+#: templates/web/base/admin/reportextrafields/edit.html:64
+#: templates/web/base/admin/responsepriorities/edit.html:58
+#: templates/web/base/admin/template_edit.html:46
+#: templates/web/base/report/_inspect.html:182
+#: templates/web/base/report/_main.html:117
+#: templates/web/base/report/update.html:69
+#: templates/web/zurich/admin/body.html:62
+#: templates/web/zurich/admin/contact-form.html:22
+#: templates/web/zurich/admin/template_edit.html:29
+msgid "Save changes"
+msgstr "Simpan perubahan"
+
+#: templates/web/base/admin/reportextrafields/edit.html:64
+msgid "Save new fields"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:158
+msgid "Save with a public update"
+msgstr "Simpan dengan pembaruan publik"
+
+#. ("This is followed by a progress count, e.g. 3/5")
+#: templates/web/base/js/translation_strings.html:72
+msgid "Saving reports offline"
+msgstr "Bagikan laporan offline"
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:132
+#, fuzzy
+msgid "Scheduled"
+msgstr "Tindakan Dijadwalkan"
+
+#: templates/web/base/admin/index.html:26
+#: templates/web/base/admin/reports.html:1
+#: templates/web/zurich/admin/reports.html:1
+msgid "Search Reports"
+msgstr "Cari Laporan"
+
+#: templates/web/base/admin/index.html:32 templates/web/base/admin/users.html:1
+msgid "Search Users"
+msgstr "Cari Pengguna"
+
+#: templates/web/zurich/header.html:74
+msgid "Search reports"
+msgstr "Cari laporan"
+
+#: templates/web/base/admin/reports.html:5
+#: templates/web/base/admin/users.html:8
+#: templates/web/zurich/admin/reports.html:5
+msgid "Search:"
+msgstr "Cari:"
+
+#: templates/web/base/admin/reports.html:27
+msgid "Searching found no reports."
+msgstr "Tidak ditemukan laporan."
+
+#: templates/web/base/admin/users.html:42
+msgid "Searching found no users."
+msgstr "Tidak ditemukan pengguna."
+
+#: templates/web/base/report/new/councils_text_private.html:7
+#: templates/web/base/report/new/form_user.html:5
+msgid "See our privacy policy"
+msgstr "Lihat kebijakan privasi kami."
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:720
+msgid "See user detail for reports created as the council"
+msgstr "Lihat detail pengguna untuk laporan yang dibuat sebagai dewan"
+
+#: templates/web/base/admin/body-form.html:41
+#: templates/web/zurich/admin/body-form.html:16
+msgid "Select a body"
+msgstr "Pilih badan"
+
+#: templates/web/base/admin/body-form.html:79
+#: templates/web/zurich/admin/body-form.html:26
+msgid "Select an area"
+msgstr "Pilih area"
+
+#: templates/web/base/admin/responsepriorities/edit.html:33
+msgid "Select if this is the default priority"
+msgstr ""
+
+#: templates/web/base/admin/category-checkboxes.html:6
+msgid "Select:"
+msgstr "Pilih:"
+
+#: templates/web/base/contact/index.html:107
+msgid "Send"
+msgstr "Kirim"
+
+#: templates/web/base/admin/open311-form-fields.html:109
+msgid "Send extended Open311 statuses with service request updates"
+msgstr "Kirim status Open311 yang ditambahkan dengan pembaruan permintaan layanan"
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:831
+msgid "Sent report back"
+msgstr "Laporan dikirim kembali"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:741
+msgid "Sent to %s %s later"
+msgstr "Dikirimkan ke %s %s kemudian"
+
+#: templates/web/base/admin/report_edit.html:79
+msgid "Sent:"
+msgstr "Terkirim:"
+
+#: templates/web/base/admin/report_edit.html:90
+#: templates/web/zurich/admin/stats.html:45
+msgid "Service:"
+msgstr "Layanan:"
+
+#: templates/web/base/report/_inspect.html:41
+msgid "Set to my current location"
+msgstr "Atur ke lokasi saya saat ini"
+
+#: templates/web/base/report/display_tools.html:17
+msgid "Share"
+msgstr "Bagikan"
+
+#: templates/web/base/main_nav_items.html:10
+#: templates/web/base/report/_main.html:140
+#: templates/web/base/report/_main.html:21
+#: templates/web/base/report/_main.html:29
+msgid "Shortlist"
+msgstr "Daftar Pendek"
+
+#: templates/web/base/reports/body.html:32
+msgid "Shortlist all visible"
+msgstr "Tampilkan semua dalam daftar pendek"
+
+#: templates/web/base/report/_main.html:138
+#: templates/web/base/report/_main.html:20
+#: templates/web/base/report/_main.html:25
+#: templates/web/base/reports/_list-filters.html:9
+msgid "Shortlisted"
+msgstr "Dimasukkan ke daftar pendek"
+
+#: templates/web/base/report/_item.html:15
+#: templates/web/base/report/_main.html:148
+msgid "Shortlisted by %s"
+msgstr "Dimasukkan ke daftar pendek oleh %s"
+
+#: templates/web/base/report/update.html:20
+msgid "Show Photo?"
+msgstr "Tampilkan Foto?"
+
+#: templates/web/base/questionnaire/index.html:26
+msgid "Show all updates"
+msgstr "Tampilkan semua pembaruan"
+
+#: templates/web/base/report/new/form_user_loggedin.html:56
+#: templates/web/base/report/new/form_user_loggedout_by_email.html:22
+#: templates/web/base/report/update/form_name.html:37
+msgid "Show my name publicly"
+msgstr "Tampilkan nama saya ke publik"
+
+#: templates/web/base/report/update.html:17
+msgid "Show name publicly?"
+msgstr "Tampilkan nama ke publik?"
+
+#: templates/web/base/around/display_location.html:69
+msgid "Show old"
+msgstr "Tampilkan yang lama"
+
+#: templates/web/base/report/_main.html:83
+msgid "Show photo"
+msgstr "Tampilkan foto"
+
+#: templates/web/base/around/display_location.html:60
+#: templates/web/base/js/translation_strings.html:54
+msgid "Show pins"
+msgstr "Tampilkan pin"
+
+#: templates/web/base/report/_main.html:60
+msgid "Show reporter&rsquo;s name"
+msgstr "Tampilkan nama pelapor"
+
+#: templates/web/base/reports/index.html:62
+msgid "Show reports in your area"
+msgstr "Tampilkan laporan di area Anda"
+
+#: templates/web/base/auth/general.html:119
+#: templates/web/base/auth/general.html:3
+#: templates/web/base/auth/general.html:88
+#: templates/web/base/main_nav_items.html:6
+#: templates/web/zurich/auth/general.html:18
+#: templates/web/zurich/auth/general.html:35
+msgid "Sign in"
+msgstr "Masuk"
+
+#: templates/web/base/auth/general.html:98
+msgid "Sign in by email instead, providing a new password. When you click the link in your email, your password will be updated."
+msgstr "Sebaliknya, masuk dengan surel dan berikan kata sandi baru. Saat Anda mengeklik tautan di surel Anda, kata sandi Anda akan diperbarui."
+
+#: templates/web/base/auth/general.html:1
+#: templates/web/zurich/auth/general.html:1
+msgid "Sign in or create an account"
+msgstr "Masuk atau buat akun"
+
+#: templates/web/base/auth/sign_out.html:1 templates/web/base/my/my.html:25
+#: templates/web/zurich/auth/sign_out.html:1
+msgid "Sign out"
+msgstr "Keluar"
+
+#: templates/web/base/report/new/fill_in_details_text.html:1
+msgid "Some categories may require additional information."
+msgstr "Beberapa kategori mungkin membutuhkan informasi tambahan."
+
+#: templates/web/base/admin/open311-form-fields.html:40
+#: templates/web/base/admin/open311-form-fields.html:41
+msgid ""
+"Some endpoints require an <strong>API key</strong> to indicate that the reports are being\n"
+" sent from your FixMyStreet installation."
+msgstr ""
+"Beberapa titik akhir membutuhkan <strong>kunci API</strong> untuk menunjukkan bahwa laporan\n"
+" dikirim dari instalasi FixMyStreet Anda."
+
+#: templates/web/base/alert/index.html:40
+msgid "Some photos of recent reports"
+msgstr "Beberapa foto dari laporan terbaru"
+
+#. ('Optional comment for translator')
+#: perllib/FixMyStreet/Template.pm:53
+msgid "Some text to localize"
+msgstr "Sejumlah teks untuk dilokalisasikan"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:80
+msgid "Sorry, that appears to be a Crown dependency postcode, which we don't cover."
+msgstr "Maaf, tampaknya ini adalah kode pos Dependensi Kerajaan, yang tidak dicakup oleh layanan kami."
+
+#: templates/web/base/auth/token.html:8
+msgid "Sorry, that wasn&rsquo;t a valid link"
+msgstr "Maaf, itu bukan tautan yang valid"
+
+#: templates/web/base/tokens/abuse.html:5
+msgid "Sorry, there has been an error confirming your problem."
+msgstr "Maaf, terjadi kesalahan saat mengonfirmasikan masalah Anda."
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:235
+#: perllib/FixMyStreet/Geocode.pm:37 perllib/FixMyStreet/Geocode/Bing.pm:38
+#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:56
+#: perllib/FixMyStreet/Geocode/OSM.pm:48
+msgid "Sorry, we could not find that location."
+msgstr "Maaf, kami tidak dapat menemukan lokasi tersebut."
+
+#: templates/web/base/auth/general.html:11
+#: templates/web/base/report/display.html:29
+#: templates/web/base/report/new/fill_in_details_form.html:15
+msgid "Sorry, we could not log you in. Please fill in the form below."
+msgstr "Maaf, kami tidak dapat memasukkan Anda ke akun. Silakan isi formulir di bawah ini."
+
+#: perllib/FixMyStreet/Geocode/Bing.pm:35
+#: perllib/FixMyStreet/Geocode/Google.pm:45
+#: perllib/FixMyStreet/Geocode/Zurich.pm:88
+msgid "Sorry, we could not parse that location. Please try again."
+msgstr "Maaf, kami tidak dapat mengurai lokasi tersebut. Silakan coba lagi."
+
+#: perllib/FixMyStreet/App/Model/PhotoSet.pm:139
+msgid "Sorry, we couldn't save your image(s), please try again."
+msgstr "Maaf, kami tidak dapat menyimpan gambar Anda, silakan coba lagi."
+
+#: templates/web/base/offline/appcache.html:5
+msgid ""
+"Sorry, we don’t have a good enough connection to fetch that page, or the\n"
+"page wasn’t found or there was a server error. Please try again later."
+msgstr ""
+"Maaf, koneksi kami tidak cukup baik untuk menampilkan halaman tersebut, atau\n"
+"halaman tidak ditemukan atau telah terjadi kesalahan server. Silakan coba lagi nanti."
+
+#: perllib/FixMyStreet/App/Controller/Root.pm:124
+msgid "Sorry, you don't have permission to do that."
+msgstr "Maaf, Anda tidak memiliki izin untuk melakukannya."
+
+#: templates/web/base/reports/_list-filters.html:53
+msgid "Sort by"
+msgstr "Sortir berdasarkan"
+
+#: templates/web/base/admin/user-form.html:47
+msgid "Staff users have permission to log in to the admin."
+msgstr "Staf pengguna memiliki izin untuk masuk sebagai admin."
+
+#: templates/web/base/admin/user-form.html:50
+msgid "Staff:"
+msgstr "Staf:"
+
+#: templates/web/base/admin/stats.html:71
+msgid "Start Date:"
+msgstr "Tanggal Mulai:"
+
+#: templates/web/base/admin/body.html:73
+#: templates/web/base/admin/category_edit.html:29
+#: templates/web/base/admin/contact-form.html:53
+#: templates/web/base/admin/flagged.html:18
+#: templates/web/base/admin/index.html:64
+#: templates/web/base/admin/list_updates.html:11
+#: templates/web/base/admin/reports.html:16
+#: templates/web/base/admin/template_edit.html:40
+#: templates/web/base/report/_inspect.html:82
+#: templates/web/base/report/_item.html:96
+#: templates/web/base/report/update/form_update.html:39
+#: templates/web/zurich/admin/contact-form.html:10
+msgid "State"
+msgstr "Wilayah"
+
+#: templates/web/base/report/update.html:48
+#, fuzzy
+msgid "State changed to:"
+msgstr "Simpan perubahan"
+
+#: templates/web/base/admin/report_edit.html:116
+#: templates/web/base/admin/update_edit.html:28
+#: templates/web/zurich/admin/report_edit-sdm.html:75
+#: templates/web/zurich/admin/report_edit.html:103
+#: templates/web/zurich/admin/report_edit.html:151
+#: templates/web/zurich/admin/update_edit.html:17
+msgid "State:"
+msgstr "Wilayah:"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: templates/web/base/admin/states/index.html:1
+#, fuzzy
+msgid "States"
+msgstr "Wilayah"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
+#: templates/web/base/admin/index.html:71 templates/web/base/admin/stats.html:1
+#: templates/web/base/admin/stats_by_state.html:1
+#: templates/web/zurich/admin/stats.html:1 templates/web/zurich/header.html:65
+msgid "Stats"
+msgstr "Statistik"
+
+#: templates/web/zurich/admin/index-dm.html:23
+#: templates/web/zurich/admin/index-sdm.html:21
+#: templates/web/zurich/admin/reports.html:13
+msgid "Status"
+msgstr "Status"
+
+#: templates/web/base/report/updates.html:10
+msgid "Still open, via questionnaire, %s"
+msgstr "Masih terbuka, melalui kuesioner, %s"
+
+#: templates/web/zurich/admin/report_edit-sdm.html:27
+#: templates/web/zurich/admin/report_edit.html:28
+msgid "Street View"
+msgstr "Tampilan Jalan"
+
+#: templates/web/base/admin/extra-metadata-form.html:46
+msgid "String"
+msgstr ""
+
+#: perllib/FixMyStreet/Script/Reports.pm:192
+msgid "Subcategory: %s"
+msgstr "Subkategori: %s"
+
+#: templates/web/zurich/admin/index-dm.html:27
+msgid "Subdivision/Body"
+msgstr "Subdivisi/Badan"
+
+#: templates/web/base/contact/index.html:92
+msgid "Subject"
+msgstr "Subjek"
+
+#: templates/web/base/admin/report_edit.html:110
+#: templates/web/zurich/admin/report_edit.html:41
+msgid "Subject:"
+msgstr "Subjek:"
+
+#: templates/web/base/questionnaire/creator_fixed.html:19
+#: templates/web/base/report/new/form_user_loggedin.html:63
+#: templates/web/base/report/new/form_user_loggedout_by_email.html:36
+#: templates/web/base/report/new/form_user_loggedout_password.html:11
+#: templates/web/zurich/report/new/fill_in_details_form.html:73
+msgid "Submit"
+msgstr "Masukkan"
+
+#: templates/web/base/admin/report_edit.html:162
+#: templates/web/base/admin/report_edit.html:24
+#: templates/web/base/admin/update_edit.html:77
+#: templates/web/base/admin/user-form.html:170
+#: templates/web/zurich/admin/report_edit-sdm.html:124
+#: templates/web/zurich/admin/report_edit.html:264
+#: templates/web/zurich/admin/update_edit.html:38
+msgid "Submit changes"
+msgstr "Masukkan perubahan"
+
+#: templates/web/base/questionnaire/index.html:110
+msgid "Submit questionnaire"
+msgstr "Masukkan kuesioner"
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:898
+#: templates/web/zurich/admin/header.html:1
+#: templates/web/zurich/admin/header.html:6
+#: templates/web/zurich/admin/index-dm.html:23
+#: templates/web/zurich/admin/index-dm.html:6
+#: templates/web/zurich/admin/index-sdm.html:21
+#: templates/web/zurich/admin/reports.html:13
+msgid "Submitted"
+msgstr "Dimasukkan"
+
+#: templates/web/base/alert/_list.html:77
+#: templates/web/base/alert/_list.html:80
+#: templates/web/base/alert/updates.html:23
+#: templates/web/base/report/display_tools.html:51
+msgid "Subscribe"
+msgstr "Berlangganan"
+
+#: templates/web/base/alert/_list.html:72
+#, fuzzy
+msgid "Subscribe by email"
+msgstr "Berlangganan ke surel peringatan"
+
+#: templates/web/base/report/new/form_report.html:19
+msgid "Summarise the problem"
+msgstr "Buat ringkasan masalah"
+
+#: templates/web/base/admin/contact-form.html:130
+msgid "Summarise your changes"
+msgstr "Buat ringkasan tentang perubahan Anda"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:637
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:387
+#: templates/web/base/admin/bodies.html:29
+#: templates/web/base/admin/index.html:1 templates/web/base/status/index.html:1
+#: templates/web/base/status/index.html:3
+#: templates/web/zurich/admin/index-dm.html:1
+#: templates/web/zurich/admin/index-sdm.html:1
+#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:12
+#: templates/web/zurich/header.html:49
+msgid "Summary"
+msgstr "Ringkasan"
+
+#: templates/web/zurich/reports/index.html:0
+#: templates/web/zurich/reports/index.html:4
+msgid "Summary reports"
+msgstr "Laporan ringkasan"
+
+#: templates/web/base/admin/user-form.html:133
+msgid "Superuser:"
+msgstr "Pengguna Super:"
+
+#: templates/web/base/admin/user-form.html:130
+msgid "Superusers have permission to perform <strong>all actions</strong> within the admin."
+msgstr "Pengguna Super memiliki izin untuk melakukan <strong>semua tindakan</strong> sebagai admin."
+
+#: templates/web/base/admin/questionnaire.html:1
+#: templates/web/base/admin/stats.html:56
+msgid "Survey Results"
+msgstr "Hasil Survei"
+
+#: templates/web/zurich/admin/template_edit.html:7
+msgid "Template &laquo;%s&raquo;"
+msgstr "Template &laquo;%s&raquo;"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:661
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
+#: templates/web/zurich/header.html:69
+msgid "Templates"
+msgstr "Template"
+
+#: templates/web/base/admin/list_updates.html:12
+#: templates/web/base/admin/templates.html:11
+msgid "Text"
+msgstr "Teks"
+
+#: templates/web/base/admin/body.html:32
+msgid "Text only version"
+msgstr "Versi teks saja"
+
+#: templates/web/base/admin/template_edit.html:17
+#: templates/web/base/admin/update_edit.html:20
+#: templates/web/zurich/admin/template_edit.html:24
+#: templates/web/zurich/admin/update_edit.html:12
+msgid "Text:"
+msgstr "Teks:"
+
+#: templates/web/base/tokens/confirm_problem.html:25
+msgid "Thank you for reporting this issue!"
+msgstr "Terima kasih telah melaporkan masalah ini!"
+
+#: templates/web/base/tokens/error.html:6
+msgid "Thank you for trying to confirm your update or problem. We seem to have an error ourselves though, so <a href=\"%s\">please let us know what went on</a> and we'll look into it."
+msgstr "Terima kasih telah mencoba mengonfirmasikan pembaruan atau masalah Anda. Tampaknya kami mengalami masalah, oleh karena itu <a href=\"%s\">mohon beri tahu kami apa yang terjadi</a> dan kami akan memeriksanya."
+
+#: templates/web/base/tokens/confirm_update.html:16
+msgid "Thank you for updating this issue!"
+msgstr "Terima kasih telah memperbarui masalah ini!"
+
+#: templates/web/base/contact/submit.html:6
+msgid "Thank you for your enquiry"
+msgstr "Terima kasih atas pertanyaan Anda"
+
+#: templates/web/base/questionnaire/completed.html:5
+msgid "Thank you for your feedback"
+msgstr "Terima kasih atas umpan balik Anda"
+
+#: templates/web/base/around/_error_multiple.html:17
+msgid "Thanks for uploading your photo. We now need to locate your problem, so please enter a nearby street name or postcode in the box above&nbsp;:"
+msgstr "Terima kasih telah mengunggah foto Anda. Sekarang kami perlu melacak masalah Anda, oleh karena itu mohon masukkan nama jalan terdekat atau kode pos pada kotak di atas&nbsp;:"
+
+#: templates/web/base/questionnaire/creator_fixed.html:9
+msgid "Thanks, glad to hear it's been fixed! Could we just ask if you have ever reported a problem to a council before?"
+msgstr "Terima kasih, kami senang mendengar masalahnya telah diatasi! Dapatkah kami bertanya apakah Anda sudah pernah melaporkan sebuah masalah kepada dewan sebelumnya?"
+
+#: perllib/FixMyStreet/App/Model/PhotoSet.pm:163
+msgid "That image doesn't appear to have uploaded correctly (%s), please try again."
+msgstr "Gambar tersebut tampaknya tidak terunggah dengan benar (%s), silakan coba lagi."
+
+#: perllib/FixMyStreet/App/Controller/Council.pm:102
+msgid "That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again."
+msgstr "Lokasi tersebut tampaknya tidak dicakup oleh dewan; mungkin lokasinya terletak di lepas pantai atau di luar negeri. Silakan coba lagi."
+
+#: perllib/FixMyStreet/App/Controller/Location.pm:127
+msgid "That location does not appear to be in the UK; please try again."
+msgstr "Lokasi tersebut tampaknya bukan di UK; silakan coba lagi."
+
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:45
+#: perllib/FixMyStreet/Cobrand/FixaMinGata.pm:50
+#: perllib/FixMyStreet/Cobrand/UK.pm:73
+msgid "That postcode was not recognised, sorry."
+msgstr "Maaf, kode pos tersebut tidak dikenali."
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:850
+msgid "That problem has been marked as sent."
+msgstr "Masalah tersebut telah ditandai sebagai terkirim."
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:843
+msgid "That problem will now be resent."
+msgstr "Masalah tersebut sekarang akan dikirim ulang."
+
+#: perllib/FixMyStreet/App/Controller/Report.pm:134
+msgid "That report cannot be viewed on %s."
+msgstr "Laporan tersebut tidak dapat ditampilkan di %s."
+
+#: perllib/FixMyStreet/App/Controller/Report.pm:128
+msgid "That report has been removed from FixMyStreet."
+msgstr "Laporan tersebut telah dihapus dari FixMyStreet."
+
+#: templates/web/base/admin/contact-form.html:27
+msgid ""
+"The <strong>email address</strong> is the destination to which reports about this category will be sent. \n"
+" Other categories for this body may have the same email address."
+msgstr ""
+"<strong>Alamat surel</strong> adalah tujuan pengiriman laporan dalam kategori ini. \n"
+" Kategori lain untuk badan ini mungkin memiliki alamat surel yang sama."
+
+#: templates/web/base/admin/open311-form-fields.html:14
+#: templates/web/base/admin/open311-form-fields.html:15
+msgid ""
+"The <strong>endpoint</strong> is the URL of the service that FixMyStreet will connect to \n"
+" when sending reports to this body."
+msgstr ""
+"<strong>Titik akhir</strong> adalah URL layanan yang akan terhubung dengan FixMyStreet \n"
+" saat mengirimkan laporan ke badan in."
+
+#: templates/web/base/admin/open311-form-fields.html:27
+#: templates/web/base/admin/open311-form-fields.html:28
+msgid ""
+"The <strong>jurisdiction</strong> is only needed if the endpoint is serving more\n"
+" than one. If the body is running its own endpoint, you can usually leave this blank."
+msgstr ""
+"<strong>Yurisdiksi</strong> hanya dibutuhkan jika titik akhir melayani lebih\n"
+" dari satu. Jika badan memiliki titik akhirnya sendiri, biasanya Anda dapat membiarkan ini tetap kosong."
+
+#: templates/web/base/admin/body-form.html:102
+#: templates/web/base/admin/body-form.html:103
+#: templates/web/base/admin/contact-form.html:104
+#: templates/web/base/admin/contact-form.html:105
+msgid ""
+"The <strong>send method</strong> determines how problem reports will be sent to the body.\n"
+" If you leave this blank, <strong>send method defaults to email</strong>."
+msgstr ""
+"<strong>Metode pengiriman</strong> menentukan bagaimana laporan masalah dikirim ke badan.\n"
+" Jika Anda membiarkan ini kosong, <strong>surel akan menjadi metode pengiriman default</strong>."
+
+#: templates/web/base/open311/index.html:82
+msgid "The Open311 v2 attribute agency_responsible is used to list the administrations that received the problem report, which is not quite the way the attribute is defined in the Open311 v2 specification."
+msgstr "Atribut agency_responsible pada Open311 v2 digunakan untuk mendata administrasi yang menerima laporan masalah, yang cukup berbeda dengan penjelasan atribut dalam spesifikasi Open311 v2."
+
+#: templates/web/base/admin/body-form.html:17
+#: templates/web/base/admin/body-form.html:18
+msgid ""
+"The body's <strong>name</strong> identifies the body (for example, <em>Borsetshire District Council</em>)\n"
+" and may be displayed publically."
+msgstr ""
+"<strong>Nama</strong> badan adalah pengenalnya (misalnya, <em>Dewan Kecamatan Borsetshire</em>)\n"
+" dan dapat ditampilkan ke publik."
+
+#: templates/web/base/admin/extra-metadata-form.html:12
+msgid "The code used to store this field value in the database. e.g. <code>address</code> would be available as <code>problem.extra.address</code> in the templates."
+msgstr ""
+
+#: templates/web/base/report/new/fill_in_details_text.html:1
+#: templates/web/base/report/new/fill_in_details_text.html:3
+msgid "The council won&rsquo;t be able to help unless you leave as much detail as you can. Please describe the exact location of the problem (e.g. on a wall), what it is, how long it has been there, a description (and a photo of the problem if you have one), etc."
+msgstr "Dewan tidak akan dapat membantu kecuali Anda menyediakan sebanyak mungkin detail. Mohon jelaskan lokasi tepat dari masalah (misal, di dinding), apa masalah tersebut, berapa lama masalah telah berlangsung, berikan keterangan (dan foto masalah jika Anda memilikinya), dan lain-lain."
+
+#: templates/web/base/admin/edit-league.html:3
+#: templates/web/base/admin/edit-league.html:4
+msgid "The diligency prize league table shows editors' activity (who's been editing the most records)."
+msgstr "Tabel liga kerajinan menampilkan aktivitas penyunting (siapa yang paling banyak menyunting data)."
+
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:63
+#: perllib/FixMyStreet/App/Controller/Reports.pm:103
+msgid "The error was: %s"
+msgstr "Kesalahannya adalah: %s"
+
+#: templates/web/base/admin/extra-metadata-form.html:30
+msgid "The field name as shown to the user on the report form."
+msgstr ""
+
+#: templates/web/base/open311/index.html:78
+msgid "The following Open311 v2 attributes are returned for each request: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
+msgstr "Atribut Open311 v2 berikut ini dikembalikan untuk setiap permintaan:: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code dan service_name."
+
+#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:159
+#: perllib/FixMyStreet/Geocode/OSM.pm:144
+msgid "The following information about the nearest road might be inaccurate or irrelevant, if the problem is close to several roads or close to a road without a name registered in OpenStreetMap."
+msgstr "Informasi berikut ini mengenai jalan terdekat mungkin tidak akurat atau tidak relevan, jika lokasi masalah dekat dengan beberapa jalan atau dekat dengan jalan tanpa nama yang terdaftar di OpenStreetMap."
+
+#: db/alert_types.pl:19 db/alert_types.pl:23 db/alert_types.pl:27
+#: db/alert_types.pl:31
+msgid "The latest local problems reported by users"
+msgstr "Masalah lokal terbaru yang dilaporkan oleh pengguna"
+
+#: db/alert_types.pl:35
+msgid "The latest problems for {{COUNCIL}} reported by users"
+msgstr "Masalah terbaru untuk {{COUNCIL}} yang dilaporkan oleh pengguna"
+
+#: db/alert_types.pl:39
+msgid "The latest problems for {{COUNCIL}} within {{WARD}} ward reported by users"
+msgstr "Masalah terbaru untuk {{COUNCIL}} di kelurahan {{WARD}} yang dilaporkan oleh pengguna"
+
+#: db/alert_types.pl:11
+msgid "The latest problems reported by users"
+msgstr "Masalah terbaru yang dilaporkan oleh pengguna"
+
+#: db/alert_types.pl:15
+msgid "The latest problems reported fixed by users"
+msgstr "Masalah terbaru yang dilaporkan telah diatasi oleh pengguna"
+
+#: db/alert_types.pl:43
+msgid "The latest problems within {{NAME}}'s boundary reported by users"
+msgstr "Masalah terbaru dalam cakupan {{NAME}} yang dilaporkan oleh pengguna"
+
+#: templates/web/base/auth/token.html:9
+msgid "The link might have expired, or maybe you didn&rsquo;t quite copy and paste it correctly."
+msgstr "Tautan ini mungkin telah kedaluwarsa, atau Anda mungkin tidak menyalin dan merekatkannya dengan benar."
+
+#: templates/web/base/admin/body-form.html:66
+msgid "The list of available areas is being provided by the MapIt service at %s."
+msgstr "Daftar area yang tersedia sedang disiapkan oleh layanan MapIt pada %s."
+
+#: templates/web/base/admin/extra-metadata-form.html:6
+msgid "The ordering of this field on the report page. Fields are shown in ascending order according to this value."
+msgstr ""
+
+#: templates/web/base/auth/change_password.html:22
+#: templates/web/base/auth/change_password.html:26
+msgid "The passwords do not match"
+msgstr "Kata sandi tidak cocok"
+
+#: templates/web/base/errors/page_error_404_not_found.html:9
+msgid "The requested URL '%s' was not found on this server"
+msgstr "URL yang diminta '%s' tidak ditemukan di server ini"
+
+#: templates/web/base/admin/extra-metadata-form.html:42
+msgid "The type of input field to show to the user. <strong>Text</strong> is a simple text field, <strong>List</strong> is a drop-down selection."
+msgstr ""
+
+#: perllib/FixMyStreet/Script/Reports.pm:96
+msgid "The user could not locate the problem on a map, but to see the area around the location they entered"
+msgstr "Pengguna tidak dapat melacak masalah pada peta, tetapi untuk melihat area di sekitar lokasi yang mereka masukkan"
+
+#: templates/web/base/admin/user-form.html:10
+#: templates/web/base/admin/user-form.html:11
+msgid ""
+"The user's <strong>name</strong> is displayed publicly on reports that have not been marked <em>anonymous</em>.\n"
+" Names are not necessarily unique."
+msgstr ""
+"<strong>Nama</strong> pengguna ditampilkan ke publik pada laporan yang tidak ditandai <em>anonim</em>.\n"
+" Nama tidak harus unik."
+
+#: templates/web/base/around/on_map_list_items.html:12
+#: templates/web/base/my/_problem-list.html:8
+#: templates/web/base/reports/_problem-list.html:13
+msgid "There are no reports to show."
+msgstr "Tidak ada laporan untuk ditampilkan."
+
+#: perllib/FixMyStreet/App/Controller/Reports.pm:100
+msgid "There was a problem showing the All Reports page. Please try again later."
+msgstr "Terdapat masalah saat menampilkan halaman Semua Laporan. Silakan coba lagi nanti."
+
+#: perllib/FixMyStreet/App/Controller/Contact.pm:138
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:62
+msgid "There was a problem showing this page. Please try again later."
+msgstr "Terdapat masalah saat menampilkan halaman ini. Silakan coba lagi nanti."
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:785
+#: perllib/FixMyStreet/App/Controller/Report/Update.pm:152
+#: templates/web/base/auth/general.html:55
+#: templates/web/zurich/auth/general.html:28
+msgid "There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the &lsquo;sign in by email&rsquo; section of the form."
+msgstr "Terdapat masalah dengan kombinasi surel/kata sandi Anda. Jika Anda tidak dapat mengingat kata sandi Anda, atau Anda tidak memilikinya, silakan isi formulir pada bagian &lsquo;masuk dengan surel&rsquo;."
+
+#: perllib/FixMyStreet/App/Controller/Alert.pm:359
+msgid "There was a problem with your email/password combination. Please try again."
+msgstr "Terdapat masalah dengan kombinasi surel/kata sandi Anda. Silakan coba lagi."
+
+#: perllib/FixMyStreet/App/Controller/Report/Update.pm:357
+msgid "There was a problem with your update. Please try again."
+msgstr "Terdapat masalah dengan pembaruan Anda. Silakan coba lagi."
+
+#: perllib/FixMyStreet/App/Controller/Contact.pm:142
+msgid "There were problems with your report. Please see below."
+msgstr "Terdapat masalah dengan laporan Anda. Silakan lihat di bawah ini."
+
+#: perllib/FixMyStreet/App/Controller/Report/Update.pm:392
+msgid "There were problems with your update. Please see below."
+msgstr "Terdapat masalah dengan pembaruan Anda. Silakan lihat di bawah ini."
+
+#: templates/web/base/admin/open311-form-fields.html:3
+#: templates/web/base/admin/open311-form-fields.html:4
+msgid ""
+"These settings are for bodies that use Open311 (or other back-end integration) to receive problem reports.<br>\n"
+" <strong>You don't need to set them if the Send Method is email.</strong>.\n"
+" For more information on Open311, see \n"
+" <a href='https://www.mysociety.org/2013/01/17/open311-explained/' class='admin-offsite-link'>this article</a>.\n"
+" "
+msgstr ""
+"Pengaturan ini adalah untuk badan yang menggunakan Open311 (atau integrasi back-end lainnya) untuk menerima laporan masalah.<br>\n"
+" <strong>Anda tidak perlu mengaturnya jika Metode Pengiriman adalah surel.</strong>.\n"
+" Untuk informasi lebih lanjut mengenai Open311, simak \n"
+" <a href='https://www.mysociety.org/2013/01/17/open311-explained/' class='admin-offsite-link'>artikel ini</a>.\n"
+" "
+
+#: templates/web/base/report/new/councils_text.html:3
+#: templates/web/base/report/new/councils_text.html:4
+msgid "These will be published online for others to see, in accordance with our <a href=\"%s\">privacy policy</a>."
+msgstr "Ini akan diterbitkan secara online untuk dilihat oleh orang lain, sesuai dengan <a href=\"%s\">kebijakan privasi</a> kami."
+
+#: templates/web/base/report/new/councils_text_all.html:4
+#: templates/web/base/report/new/councils_text_all.html:6
+msgid "These will be sent to <strong>%s</strong> and also published online for others to see, in accordance with our <a href=\"%s\">privacy policy</a>."
+msgstr "Ini akan dikirimkan kepada <strong>%s</strong> dan juga diterbitkan secara online untuk dilihat oleh orang lain, sesuai dengan <a href=\"%s\">kebijakan privasi</a> kami."
+
+#: templates/web/base/report/new/councils_text_private.html:5
+#: templates/web/base/report/new/form_user.html:4
+msgid "These will be sent to the council, but will never be shown online."
+msgstr "Ini akan dikirimkan kepada dewan, tetapi tidak akan ditampilkan secara online."
+
+#: templates/web/base/report/new/councils_text_private.html:3
+msgid "These will never be shown online."
+msgstr "Ini tidak akan pernah ditampilkan secara online."
+
+#: templates/web/base/open311/index.html:69
+msgid "This API implementation is work in progress and not yet stabilized. It will change without warnings in the future."
+msgstr "Implementasi API sedang dalam pengerjaan dan belum stabil. Ini akan berubah tanpa pemberitahuan sebelumnya di masa mendatang."
+
+#: templates/web/base/admin/body.html:48
+msgid ""
+"This body covers no area. This means that it has no jurisdiction over problems reported <em>at any location</em>.\n"
+" Consequently, none of its categories will appear in the drop-down category menu when users report problems.\n"
+" Currently, users <strong>cannot report problems to this body</strong>."
+msgstr ""
+"Badan ini tidak memiliki area cakupan. Ini berarti bahwa badan ini tidak memiliki yurisdiksi atas masalah yang dilaporkan <em>di lokasi mana saja</em>.\n"
+" Oleh karenanya, tidak satu pun kategorinya akan ditampilkan pada menu dropdown kategori saat pengguna melaporkan masalah.\n"
+" Saat ini, pengguna <strong>tidak dapat melaporkan masalah kepada badan ini</strong>."
+
+#: templates/web/base/admin/body.html:58
+msgid "This body has no contacts. This means that currently problems reported to this body <strong>will not be sent</strong>."
+msgstr "Badan ini tidak memiliki kontak. Ini berarti bahwa saat ini masalah yang dilaporkan ke badan ini <strong>tidak akan dikirimkan</strong>."
+
+#: templates/web/base/admin/body-form.html:60
+#: templates/web/base/admin/body-form.html:61
+msgid ""
+"This body will only be sent reports for problems that are located in the <strong>area covered</strong>.\n"
+" A body will not receive any reports unless it covers at least one area."
+msgstr ""
+"Badan ini hanya akan dikirimi laporan tentang masalah yang berlokasi di <strong>area cakupannya</strong>.\n"
+" Sebuah badan tidak akan menerima laporan kecuali badan mencakup paling tidak satu area."
+
+#: perllib/FixMyStreet/Script/Reports.pm:199
+msgid "This email has been sent to both councils covering the location of the problem, as the user did not categorise it; please ignore it if you're not the correct council to deal with the issue, or let us know what category of problem this is so we can add it to our system."
+msgstr "Surel ini telah dikirimkan kepada kedua dewan yang mencakup lokasi masalah, karena pengguna tidak memilih kategorinya; silakan abaikan jika Anda bukan dewan yang tepat untuk menangani masalah ini, atau beri tahu kami termasuk ke dalam kategori apakah masalah ini agar kami dapat menambahkannya ke sistem kami."
+
+#: perllib/FixMyStreet/Script/Reports.pm:202
+msgid "This email has been sent to several councils covering the location of the problem, as the category selected is provided for all of them; please ignore it if you're not the correct council to deal with the issue."
+msgstr "Surel ini telah dikirimkan kepada beberapa dewan yang mencakup lokasi masalah, karena kategori yang dipilih tersedia untuk semua dewan ini; silakan abaikan jika Anda bukan dewan yang tepat untuk menangani masalah ini."
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1017
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:910
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:954
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:971
+#: perllib/FixMyStreet/Cobrand/UK.pm:45
+msgid "This information is required"
+msgstr "Informasi ini diperlukan"
+
+#: templates/web/base/debug_header.html:3
+msgid "This is a developer site; things might break at any time, and the database will be periodically deleted."
+msgstr "Ini adalah situs pengembang; kesalahan mungkin terjadi kapan saja, dan basis data akan dihapus secara berkala."
+
+#: templates/web/base/report/new/form_report.html:58
+msgid "This pothole has been here for two months and…"
+msgstr "Lubang jalan ini sudah berada di sini selama dua bulan dan..."
+
+#: templates/web/base/report/update/form_update.html:55
+msgid "This problem has been fixed"
+msgstr "Masalah ini telah diatasi"
+
+#: templates/web/base/report/update/form_update.html:48
+msgid "This problem has not been fixed"
+msgstr "Masalah ini belum diatasi"
+
+#: templates/web/base/report/update/form_update.html:46
+msgid "This problem is still ongoing"
+msgstr "Masalah ini masih berlangsung"
+
+#: templates/web/base/report/duplicate-no-updates.html:3
+msgid "This report is a duplicate. Please leave updates on the original report:"
+msgstr "Laporan ini adalah duplikat. Silakan tambahkan pembaruan pada laporan asli:"
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:166
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:167
+#: templates/web/zurich/report/_main.html:14
+msgid "This report is awaiting moderation."
+msgstr "Laporan ini menunggu moderasi."
+
+#: perllib/FixMyStreet/Script/Alerts.pm:98
+msgid "This report is currently marked as closed."
+msgstr "Laporan ini saat ini ditandai sebagai ditutup."
+
+#: perllib/FixMyStreet/Script/Alerts.pm:96
+msgid "This report is currently marked as fixed."
+msgstr "Laporan ini saat ini ditandai sebagai diatasi."
+
+#: perllib/FixMyStreet/Script/Alerts.pm:100
+msgid "This report is currently marked as open."
+msgstr "Laporan ini saat ini ditandai sebagai terbuka."
+
+#: perllib/FixMyStreet/Script/Reports.pm:109
+msgid "This report was submitted anonymously"
+msgstr "Laporan ini dikirim secara anonim."
+
+#: perllib/FixMyStreet/Script/Reports.pm:89
+msgid "This web page also contains a photo of the problem, provided by the user."
+msgstr "Halaman web ini juga berisi foto masalah yang disediakan oleh pengguna."
+
+#: templates/web/zurich/admin/report_edit-sdm.html:119
+#: templates/web/zurich/admin/report_edit-sdm.html:78
+#: templates/web/zurich/admin/report_edit.html:106
+#: templates/web/zurich/admin/report_edit.html:144
+msgid "Time spent (in minutes):"
+msgstr "Waktu yang dihabiskan (dalam menit):"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:638
+#: templates/web/base/admin/timeline.html:1
+msgid "Timeline"
+msgstr "Kronologi"
+
+#: templates/web/base/report/new/after_photo.html:1
+msgid "Tips for perfect photos"
+msgstr "Kiat untuk foto yang sempurna"
+
+#: templates/web/base/admin/flagged.html:15
+#: templates/web/base/admin/index.html:61
+#: templates/web/base/admin/reports.html:13
+#: templates/web/base/admin/templates.html:10
+msgid "Title"
+msgstr "Judul"
+
+#: templates/web/base/admin/template_edit.html:13
+#: templates/web/zurich/admin/template_edit.html:20
+msgid "Title:"
+msgstr "Judul:"
+
+#: templates/web/base/alert/index.html:25
+msgid "To find out what local alerts we have for you, please enter your %s postcode or street name and area:"
+msgstr "Untuk mencari tahu peringatan lokal apa saja yang tersedia untuk Anda, silakan masukkan %s kode pos atau nama jalan dan kawasan Anda:"
+
+#: templates/web/base/alert/index.html:27
+msgid "To find out what local alerts we have for you, please enter your postcode or street name and area"
+msgstr "Untuk mencari tahu peringatan lokal apa saja yang tersedia untuk Anda, silakan masukkan kode pos atau nama jalan dan kawasan Anda"
+
+#: templates/web/base/admin/reportextrafields/edit.html:19
+msgid "To limit this collection of fields to a single cobrand, select it here."
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:40
+msgid "To limit this collection of fields to a single language, select it here."
+msgstr ""
+
+#: perllib/FixMyStreet/Script/Reports.pm:95
+msgid "To view a map of the precise location of this issue"
+msgstr "Untuk melihat peta dari lokasi tepat dari masalah ini"
+
+#: templates/web/base/reports/index.html:97
+msgid "Top 5 most used categories"
+msgstr "5 kategori yang paling banyak digunakan"
+
+#: templates/web/base/reports/index.html:83
+msgid "Top 5 responsive councils"
+msgstr "5 dewan yang paling responsif"
+
+#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/stats.html:24
+#: templates/web/base/admin/stats.html:43
+#: templates/web/base/admin/stats_fix_rate.html:4
+#: templates/web/zurich/admin/stats.html:30
+msgid "Total"
+msgstr "Total"
+
+#: templates/web/base/dashboard/index.html:97
+msgid "Total marked"
+msgstr "Total ditandai"
+
+#: templates/web/base/dashboard/index.html:71
+msgid "Total marked as fixed"
+msgstr "Total ditandai sebagai diatasi"
+
+#: templates/web/base/dashboard/index.html:125
+msgid "Total not marked"
+msgstr "Total tidak ditandai"
+
+#: templates/web/base/dashboard/index.html:54
+#: templates/web/base/dashboard/index.html:56
+msgid "Total reports received"
+msgstr "Total laporan diterima"
+
+#: templates/web/base/report/_inspect.html:134
+#: templates/web/base/report/_item.html:104
+msgid "Traffic management required?"
+msgstr "Perlu manajemen lalu lintas?"
+
+#: templates/web/base/admin/_translations.html:7
+msgid "Translation"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:2
+msgid "Translations"
+msgstr ""
+
+#: templates/web/base/admin/user-form.html:111
+msgid "Trusted by bodies:"
+msgstr "Dipercaya oleh badan:"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:726
+msgid "Trusted to make reports that don't need to be inspected"
+msgstr "Dipercaya membuat laporan yang tidak perlu diinspeksi"
+
+#: templates/web/base/admin/user-form.html:119
+msgid "Trusted:"
+msgstr "Dipercaya:"
+
+#: templates/web/base/js/translation_strings.html:29
+msgid "Try again"
+msgstr "Coba lagi"
+
+#: templates/web/base/contact/submit.html:14
+msgid "Try emailing us directly:"
+msgstr "Cobalah mengirimkan surel langsung kepada kami:"
+
+#: templates/web/base/admin/extra-metadata-form.html:44
+#: templates/web/base/admin/states/index.html:10
+#: templates/web/base/admin/states/index.html:100
+msgid "Type"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:59
+#: templates/web/base/admin/contact-form.html:55
+#: templates/web/base/admin/update_edit.html:30
+#: templates/web/zurich/admin/report_edit-sdm.html:66
+#: templates/web/zurich/admin/report_edit.html:94
+#: templates/web/zurich/admin/update_edit.html:18
+msgid "Unconfirmed"
+msgstr "Belum dikonfirmasi"
+
+#: templates/web/base/reports/_list-filters.html:5
+msgid "Unfixed reports"
+msgstr "Laporan yang belum diatasi"
+
+#: templates/web/base/report/banner.html:9
+msgid "Unknown"
+msgstr "Tidak diketahui"
+
+#: perllib/FixMyStreet/App/Controller/Rss.pm:174
+msgid "Unknown alert type"
+msgstr "Tipe peringatan tidak diketahui"
+
+#: perllib/FixMyStreet/App/Controller/Photo.pm:109
+#: perllib/FixMyStreet/App/Controller/Root.pm:141
+#: templates/web/base/js/translation_strings.html:38
+msgid "Unknown error"
+msgstr "Kesalahan tidak diketahui"
+
+#: perllib/FixMyStreet/App/Controller/Report.pm:112
+#: perllib/FixMyStreet/App/Controller/Report.pm:118
+#: perllib/FixMyStreet/App/Controller/Report.pm:121
+msgid "Unknown problem ID"
+msgstr "ID masalah tidak diketahui"
+
+#: templates/web/base/reports/_list-filters.html:10
+msgid "Unshortlisted"
+msgstr "Dihapus dari daftar pendek"
+
+#: templates/web/base/report/_item.html:26
+msgid "Up one"
+msgstr "Naik satu tingkat"
+
+#: templates/web/base/admin/states/index.html:76
+#: templates/web/base/report/update/form_update.html:29
+msgid "Update"
+msgstr "Pembaruan"
+
+#: templates/web/base/admin/timeline.html:33
+msgid "Update %s created for problem %d; by %s"
+msgstr "Pembaruan %s dibuat untuk masalah %d; oleh %s"
+
+#: templates/web/base/contact/index.html:28
+msgid "Update below added anonymously at %s"
+msgstr "Pembaruan di bawah ini ditambahkan secara anonim pada %s"
+
+#: templates/web/base/contact/index.html:30
+msgid "Update below added by %s at %s"
+msgstr "Pembaruan di bawah ini ditambahkan oleh %s pada %s"
+
+#: templates/web/base/admin/body-form.html:140
+#: templates/web/zurich/admin/body-form.html:52
+msgid "Update body"
+msgstr "Perbarui badan"
+
+#: templates/web/base/admin/stats_by_state.html:21
+msgid "Update breakdown by state"
+msgstr "Perincian pembaruan berdasarkan wilayah"
+
+#: db/alert_types.pl:7
+msgid "Update by {{name}}"
+msgstr "Pembaruan berdasarkan {{name}}"
+
+#: templates/web/base/admin/update_edit.html:44
+#: templates/web/zurich/admin/update_edit.html:25
+msgid "Update changed problem state to %s"
+msgstr "Pembaruan mengubah wilayah masalah menjadi %s"
+
+#: templates/web/base/admin/update_edit.html:46
+msgid "Update marked problem as fixed"
+msgstr "Pembaruan menandai masalah sebagai diatasi"
+
+#: templates/web/base/admin/update_edit.html:48
+msgid "Update reopened problem"
+msgstr "Pembaruan membuka kembali masalah"
+
+#: templates/web/base/admin/body.html:110
+msgid "Update statuses"
+msgstr "Perbarui status"
+
+#: templates/web/zurich/admin/index-dm.html:23
+#: templates/web/zurich/admin/index-sdm.html:21
+#: templates/web/zurich/admin/reports.html:13
+msgid "Updated"
+msgstr "Diperbarui"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:249
+#, fuzzy
+msgid "Updated by <strong>%s</strong> (%s) at %s"
+msgstr "Dikirim oleh <strong>%s</strong> (%s) pada %s"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:251
+#, fuzzy
+msgid "Updated by <strong>%s</strong> at %s"
+msgstr "Dikirim oleh <strong>%s</strong> pada %s"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1262
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1326
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1489
+#: perllib/FixMyStreet/App/Controller/Admin.pm:910
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:767
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:792
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:862
+msgid "Updated!"
+msgstr "Diperbarui!"
+
+#: templates/web/base/admin/list_updates.html:2
+#: templates/web/base/report/update.html:5
+#: templates/web/zurich/report/updates.html:2
+msgid "Updates"
+msgstr "Pembaruan"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:134
+msgid "Updates are limited to %s characters in length. Please shorten your update"
+msgstr "Panjang pembaruan dibatasi hingga %s karakter. Mohon persingkat pembaruan Anda."
+
+#: db/alert_types.pl:5 db/alert_types.pl:6
+msgid "Updates on {{title}}"
+msgstr "Pembaruan pada {{title}}"
+
+#. ("%s is the site name")
+#: templates/web/base/report/display.html:0
+#: templates/web/base/report/display.html:9
+msgid "Updates to this problem, %s"
+msgstr "Pembaruan pada masalah ini, %s"
+
+#: templates/web/base/admin/contact-form.html:43
+#: templates/web/base/admin/contact-form.html:44
+msgid ""
+"Use <strong>confirmed</strong> to indicate that this contact has been\n"
+"confirmed as correct. If you are not sure of the origin or validity of the\n"
+"contact, use <strong>unconfirmed</strong>. <strong>inactive</strong> will\n"
+"remove the category from use when reporting problems, but keep it available in\n"
+"map filters, and <strong>deleted</strong> will remove the category from there\n"
+"as well."
+msgstr ""
+"Gunakan <strong>dikonfirmasi</strong> untuk menunjukkan bahwa kontak ini telah\n"
+"dikonfirmasikan benar. Jika Anda tidak yakin mengenai asal atau keabsahan\n"
+"kontak, gunakan <strong>belum dikonfirmasi</strong>. <strong>tidak aktif</strong> akan\n"
+"menghapus kategori sehingga tidak dapat digunakan pada saat melaporkan masalah, tetapi tetap tersedia pada\n"
+"filter peta, dan <strong>dihapus</strong> juga akan menghapus kategori\n"
+"dari menu."
+
+#: templates/web/base/admin/open311-form-fields.html:65
+msgid "Use Open311 update-sending extension"
+msgstr "Gunakan ekstensi pengiriman pembaruan Open311"
+
+#: templates/web/base/admin/contact-form.html:125
+msgid "Use this field to record details that are only displayed in the admin. Input is not shown publicly, and is not sent to the body."
+msgstr "Gunakan kolom ini untuk menyimpan detail yang hanya ditampilkan pada admin. Inputan tidak ditampilkan ke publik, dan tidak dikirimkan ke badan."
+
+#: templates/web/zurich/admin/report_edit-sdm.html:50
+#: templates/web/zurich/admin/report_edit.html:69
+msgid "Used map"
+msgstr "Peta digunakan"
+
+#: templates/web/base/admin/open311-form-fields.html:78
+msgid "User ID to attribute fetched comments to"
+msgstr "ID Pengguna untuk dikaitkan dengan komentar yang diambil"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1805
+msgid "User flag removed"
+msgstr "Tanda pada pengguna dihapus"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1777
+msgid "User flagged"
+msgstr "Pengguna ditandai"
+
+#: templates/web/base/dashboard/index.html:54
+#: templates/web/base/dashboard/index.html:58
+msgid "User has marked as fixed"
+msgstr "Pengguna telah ditandai sebagai diatasi"
+
+#: templates/web/base/admin/users.html:5
+msgid "User search finds matches in users' names and email addresses."
+msgstr "Pencarian pengguna menemukan kecocokan pada nama pengguna dan alamat surel."
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:669
+#: perllib/FixMyStreet/Cobrand/Default.pm:728
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:403
+#: templates/web/base/admin/flagged.html:29 templates/web/zurich/header.html:61
+msgid "Users"
+msgstr "Pengguna"
+
+#: templates/web/base/admin/user-form.html:141
+msgid "Users can perform the following actions within their assigned body or area."
+msgstr "Pengguna dapat melakukan tindakan berikut ini dalam badan atau area yang ditetapkan untuknya."
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:381
+#: perllib/FixMyStreet/App/Controller/Admin.pm:417
+#: perllib/FixMyStreet/App/Controller/Admin.pm:439
+msgid "Values updated"
+msgstr "Nilai diperbarui"
+
+#: templates/web/base/admin/report_edit.html:35
+#: templates/web/base/admin/update_edit.html:18
+#: templates/web/zurich/admin/report_edit-sdm.html:23
+#: templates/web/zurich/admin/report_edit.html:24
+#: templates/web/zurich/admin/update_edit.html:10
+msgid "View report on site"
+msgstr "Tampilkan laporan di situs"
+
+#: templates/web/base/reports/body.html:14
+msgid "View reports by ward"
+msgstr "Tampilkan laporan berdasarkan kelurahan"
+
+#: templates/web/base/around/display_location.html:0
+#: templates/web/base/around/display_location.html:37
+msgid "Viewing a location"
+msgstr "Menampilkan lokasi"
+
+#: templates/web/base/report/display.html:0
+msgid "Viewing a problem"
+msgstr "Menampilkan masalah"
+
+#. ("Week to date")
+#: templates/web/base/dashboard/index.html:48
+msgid "WTD"
+msgstr "WTD"
+
+#: templates/web/base/dashboard/index.html:20
+msgid "Ward:"
+msgstr "Kelurahan:"
+
+#: templates/web/base/reports/body.html:16
+msgid "Wards of this council"
+msgstr "Kelurahan di dewan ini"
+
+#: templates/web/base/alert/choose.html:6
+#: templates/web/base/around/_error_multiple.html:6
+msgid "We found more than one match for that location. We show up to ten matches, please try a different search if yours is not here."
+msgstr "Kami menemukan lebih dari satu hasil yang cocok untuk lokasi tersebut. Kami menampilkan sampai 10 hasil yang cocok, silakan coba pencarian yang berbeda jika apa yang Anda cari tidak ditampilkan di sini."
+
+#: templates/web/base/around/lookup_by_ref.html:5
+msgid "We found more than one match for that problem reference:"
+msgstr "Kami menemukan lebih dari satu hasil yang cocok untuk referensi masalah tersebut:"
+
+#: templates/web/base/auth/general.html:8
+#: templates/web/base/report/display.html:35
+#: templates/web/base/report/new/oauth_email_form.html:5
+msgid "We need your email address, please give it below."
+msgstr "Kami memerlukan alamat surel Anda, silakan masukkan di bawah."
+
+#: perllib/FixMyStreet/Script/Reports.pm:208
+msgid "We realise this problem might be the responsibility of %s; however, we don't currently have any contact details for them. If you know of an appropriate contact address, please do get in touch."
+msgstr "Kami menyadari bahwa masalah ini mungkin merupakan tanggung jawab%s; meski begitu, saat ini kami tidak memiliki detail kontaknya. Jika Anda mengetahui alamat kontak yang tepat, silakan hubungi kami."
+
+#: templates/web/base/index-steps.html:11
+msgid "We send it to the council on your behalf"
+msgstr "Kami telah mengirimkannya kepada dewan untuk mewakili Anda"
+
+#: templates/web/base/report/new/notes.html:4
+#: templates/web/zurich/report/new/notes.html:4
+msgid "We will only use your personal information in accordance with our <a href=\"/privacy\">privacy policy.</a>"
+msgstr "Kami hanya akan menggunakan informasi pribadi Anda sesuai dengan <a href=\"/privacy\">kebijakan privasi</a> kami."
+
+#: templates/web/base/questionnaire/completed-open.html:2
+msgid "We&rsquo;re sorry to hear the problem’s not fixed. Why not try writing to your local representatives?"
+msgstr "Kami turut menyesal karena masalah belum diatasi. Bagaimana kalau Anda mencoba mengirimkan pesan kepada perwakilan setempat Anda?"
+
+#: templates/web/base/dashboard/index.html:48
+msgid "Week To Date"
+msgstr "Week to Date"
+
+#: templates/web/base/contact/submit.html:7
+msgid "We’ll get back to you as soon as we can."
+msgstr "Kami akan menghubungi Anda kembali sesegera mungkin."
+
+#: templates/web/base/questionnaire/index.html:73
+msgid "What was your experience of getting the problem fixed?"
+msgstr "Bagaimana pengalaman Anda dalam menyelesaikan masalah ini?"
+
+#: templates/web/base/admin/category_edit.html:27
+#: templates/web/zurich/admin/body.html:18
+msgid "When edited"
+msgstr "Saat disunting"
+
+#: templates/web/base/admin/problem_row.html:35
+msgid "When sent"
+msgstr "Saat dikirim"
+
+#: templates/web/base/admin/extra-metadata-form.html:18
+msgid "Whether the user is required to provide a value for this field."
+msgstr ""
+
+#: templates/web/base/alert/_list.html:9
+msgid "Which problems do you want alerts about?"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:99
+msgid "Which report is it a duplicate of?"
+msgstr "Duplikat dari laporan yang manakah ini?"
+
+#: templates/web/base/js/translation_strings.html:57
+msgid "Whoa there Testino! Three photos are enough."
+msgstr "Wah, kawan! Tiga foto sudah cukup."
+
+#: templates/web/base/tokens/confirm_alert.html:7
+msgid "Why stop there? <a href=\"/alert\">Set up more alerts</a> for free."
+msgstr "Mengapa berhenti di sana? <a href=\"/alert\">Atur lebih banyak peringatan</a> dengan gratis."
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:190
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
+#: templates/web/zurich/admin/header.html:1
+#: templates/web/zurich/admin/header.html:14
+msgid "Wish"
+msgstr "Permohonan"
+
+#: templates/web/base/open311/index.html:84
+msgid "With request searches, it is also possible to search for agency_responsible to limit the requests to those sent to a single administration. The search term is the administration ID provided by <a href=\"%s\">MaPit</a>."
+msgstr "Dengan pencarian permintaan, Anda juga dapat mencari agency_responsible untuk membatasi permintaan pada yang dikirimkan ke satu administrasi. Kata kunci pencarian adalah ID administrasi yang disediakan oleh MapIt<a href=\"%s\">."
+
+#: templates/web/base/front/footer-marketing.html:3
+msgid "Would you like to contribute to FixMyStreet? Our code is open source and <a href=\"http://fixmystreet.org\">available at fixmystreet.org</a>."
+msgstr "Inginkah Anda berkontribusi di FixMyStreet? Kode kami adalah sumber terbuka dan <a href=\"http://fixmystreet.org\">tersedia di fixmystreet.org</a>."
+
+#: templates/web/base/questionnaire/index.html:101
+msgid "Would you like to receive another questionnaire in 4 weeks, reminding you to check the status?"
+msgstr "Inginkah Anda menerima kuesioner lain dalam 4 minggu, mengingatkan Anda untuk memeriksa statusnya?"
+
+#: templates/web/base/report/new/notes.html:7
+msgid "Writing your message entirely in block capitals makes it hard to read, as does a lack of punctuation."
+msgstr "Menuliskan pesan Anda seluruhnya dalam huruf kapital membuatnya sulit dibaca, begitu juga dengan kurangnya tanda baca."
+
+#: templates/web/base/report/new/fill_in_details_form.html:4
+msgid "Wrong location? Just click again on the map."
+msgstr "Lokasi salah? Cukup klik lagi di peta."
+
+#. ("Year to date")
+#: templates/web/base/dashboard/index.html:51
+msgid "YTD"
+msgstr "YTD"
+
+#: templates/web/base/admin/stats.html:10
+msgid "Year"
+msgstr "Tahun"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:1236
+#: templates/web/base/admin/bodies.html:70
+#: templates/web/base/admin/category_edit.html:5
+#: templates/web/base/admin/flagged.html:47
+#: templates/web/base/admin/list_updates.html:32
+#: templates/web/base/admin/list_updates.html:34
+#: templates/web/base/admin/list_updates.html:35
+#: templates/web/base/admin/problem_row.html:20
+#: templates/web/base/admin/report_edit.html:124
+#: templates/web/base/admin/report_edit.html:95
+#: templates/web/base/admin/update_edit.html:25
+#: templates/web/base/admin/users.html:32
+#: templates/web/base/questionnaire/creator_fixed.html:14
+#: templates/web/base/questionnaire/index.html:104
+#: templates/web/base/questionnaire/index.html:53
+#: templates/web/base/report/_inspect.html:90
+msgid "Yes"
+msgstr "Ya"
+
+#: templates/web/base/report/new/form_user_loggedout_password.html:5
+#: templates/web/base/report/update/form_user_loggedout_password.html:4
+msgid "Yes I have a password"
+msgstr "Ya, saya punya kata sandi"
+
+#: templates/web/base/contact/index.html:45
+msgid "You are complaining that this problem report was unnecessarily moderated:"
+msgstr "Anda mengeluhkan bahwa laporan masalah ini dimoderasi meskipun tidak perlu:"
+
+#: templates/web/base/js/translation_strings.html:73
+msgid "You are offline"
+msgstr "Anda sedang offline"
+
+#: templates/web/base/contact/unsuitable-text.html:2
+msgid "You are reporting the following problem report for being abusive, containing personal information, or similar:"
+msgstr "Anda melaporkan laporan masalah berikut ini karena menggunakan kata-kata kasar, berisi informasi pribadi, atau yang serupa:"
+
+#: templates/web/base/contact/index.html:22
+msgid "You are reporting the following update for being abusive, containing personal information, or similar:"
+msgstr "Anda melaporkan pembaruan berikut ini karena menggunakan kata-kata kasar, berisi informasi pribadi, atau yang serupa;"
+
+#: templates/web/zurich/tokens/confirm_problem.html:5
+#: templates/web/zurich/tokens/confirm_problem.html:8
+msgid "You can <a href=\"%s%s\">view the problem on this site</a>."
+msgstr "Anda dapat <a href=\"%s%s\">menampilkan masalah di situs ini</a>."
+
+#: templates/web/base/admin/user-form.html:96
+msgid "You can add an abusive user's email to the abuse list, which automatically hides (and never sends) reports they create."
+msgstr "Anda dapat menambahkan surel pengguna yang melanggar aturan ke daftar penyalahgunaan, yang akan otomatis menyembunyikan (dan tidak pernah mengirimkan) laporan yang dibuatnya."
+
+#: templates/web/base/alert/_list.html:18
+msgid "You can choose to subscribe to all problems reported in an area, or reports based on their destination."
+msgstr ""
+
+#: templates/web/base/contact/index.html:115
+msgid "You can contact technical support on <a href='mailto:%s'>%s</a>"
+msgstr "Anda dapat menghubungi dukungan teknis di <a href='mailto:%s'>%s</a>"
+
+#: templates/web/base/admin/flagged.html:5
+msgid ""
+"You can flag any report or user by editing them, and they will be listed on this page.\n"
+" For example, this can useful if you want to keep an eye on a user who has posted inappropriate\n"
+" reports in the past."
+msgstr ""
+"Anda dapat menandai laporan atau pengguna mana pun dengan menyuntingnya, dan laporan atau pengguna tersebut akan ditampilkan dalam daftar di halaman ini.\n"
+" Sebagai contoh, ini dapat berguna jika Anda ingin memantau seorang pengguna yang pernah mengirimkan laporan\n"
+" yang tidak pantas."
+
+#: templates/web/base/report/new/top_message_none.html:12
+#: templates/web/base/report/new/top_message_none.html:14
+#: templates/web/base/report/new/top_message_some.html:11
+#: templates/web/base/report/new/top_message_some.html:9
+msgid "You can help us by finding a contact email address for local problems for %s and emailing it to us at <a href='mailto:%s'>%s</a>."
+msgstr "Anda dapat membantu kami dengan menemukan alamat surel kontak untuk masalah lokal untuk %s dan mengirimkannya kepada kami melalui surel di <a href='mailto:%s'>%s</a>."
+
+#: templates/web/base/admin/body-form.html:93
+msgid "You can mark a body as deleted if you do not want it to be active on the site."
+msgstr "Anda dapat menandai sebuah badan sebagai dihapus jika Anda tidak ingin badan ini aktif di situs."
+
+#: templates/web/base/js/translation_strings.html:35
+msgid "You declined; please fill in the box above"
+msgstr "Anda menolak; mohon isi kotak di atas"
+
+#: templates/web/base/js/translation_strings.html:75
+msgid "You have <a id=\"oFN\" href=\"\"><span>%s</span> saved to submit</a>."
+msgstr "Anda punya <a id=\"oFN\" href=\"\"><span>%s</span> yang disimpan untuk dikirim</a>."
+
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:38
+msgid "You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"
+msgstr "Anda sudah menjawab kuesioner ini. Jika Anda punya pertanyaan, silakan <a href='%s'>hubungi kami</a>, atau <a href='%s'>tampilkan masalah Anda</a>.\n"
+
+#: templates/web/base/report/new/form_report.html:39
+#: templates/web/zurich/report/new/fill_in_details_form.html:30
+msgid "You have already attached photos to this report. Note that you can attach a maximum of 3 to this report (if you try to upload more, the oldest will be removed)."
+msgstr "Anda sudah melampirkan foto pada laporan ini. Harap perhatikan bahwa Anda dapat melampirkan maksimal 3 foto pada laporan ini (jika Anda mencoba untuk mengunggah lebih banyak, foto terlama akan dihapus)."
+
+#: templates/web/base/questionnaire/index.html:87
+#: templates/web/base/report/update/form_update.html:16
+msgid "You have already attached photos to this update. Note that you can attach a maximum of 3 to this update (if you try to upload more, the oldest will be removed)."
+msgstr "Anda sudah melampirkan foto pada pembaruan ini. Harap perhatikan bahwa Anda dapat melampirkan maksimal 3 foto pada pembaruan ini (jika Anda mencoba untuk mengunggah lebih banyak, foto terlama akan dihapus)."
+
+#: templates/web/base/auth/sign_out.html:4
+#: templates/web/zurich/auth/sign_out.html:3
+msgid "You have been signed out"
+msgstr "Anda sudah keluar dari akun"
+
+#: templates/web/zurich/report/new/sidebar.html:7
+msgid "You have located the problem at the point marked with a green pin on the map. If this is not the correct location, simply click on the map again. "
+msgstr "Anda telah melacak masalah pada titik yang ditandai dengan pin berwarna hijau di peta. Jika ini bukan lokasi yang tepat, cukup klik pada peta lagi."
+
+#: templates/web/base/auth/change_email.html:6
+#: templates/web/zurich/tokens/confirm_problem.html:5
+#: templates/web/zurich/tokens/confirm_problem.html:6
+msgid "You have successfully confirmed your email address."
+msgstr "Anda telah berhasil mengonfirmasikan alamat surel Anda."
+
+#: templates/web/base/report/display.html:25
+#: templates/web/base/report/new/login_success_form.html:3
+msgid "You have successfully signed in; please check and confirm your details are accurate:"
+msgstr "Anda telah berhasil masuk; silakan periksa dan konfirmasikan bahwa detail Anda sudah benar:"
+
+#: templates/web/base/my/my.html:31
+msgid "You haven&rsquo;t created any reports yet. <a href=\"%s\">Report a problem now.</a>"
+msgstr "Anda belum membuat satu pun laporan. <a href=\"%s\">Laporkan sebuah masalah sekarang.</a>"
+
+#: templates/web/base/my/planned.html:21
+msgid "You haven&rsquo;t shortlisted any reports yet."
+msgstr "Anda belum memasukkan laporan mana pun ke daftar pendek."
+
+#: templates/web/base/admin/index.html:19
+msgid "You need to <a href=\"%s\">add some bodies</a> (such as councils or departments) before any reports can be sent."
+msgstr "Anda perlu <a href=\"%s\">menambahkan beberapa badan</a> (seperti dewan atau departemen) sebelum laporan mana pun dapat dikirimkan."
+
+#: templates/web/base/admin/bodies.html:11
+msgid ""
+"You need to add bodies (such as councils or departments) so that you can then add\n"
+" the categories of problems they can handle (such as potholes or streetlights) and the\n"
+" contacts (such as an email address) to which reports are sent."
+msgstr ""
+"Anda perlu menambahkan badan (seperti dewan atau departemen) agar Anda dapat menambahkan\n"
+"kategori masalah yang dapat mereka tangani (seperti lubang atau lampu jalan) dan kontak (seperti alamat surel) untuk mengirimkan laporan."
+
+#: templates/web/base/my/my.html:0 templates/web/base/my/my.html:5
+msgid "Your Reports"
+msgstr "Laporan Anda"
+
+#: templates/web/base/auth/change_password.html:11
+#: templates/web/base/main_nav_items.html:4 templates/web/base/my/my.html:18
+msgid "Your account"
+msgstr "Akun Anda"
+
+#: templates/web/base/alert/updates.html:19
+#: templates/web/base/alert/updates.html:22
+#: templates/web/base/contact/index.html:80
+#: templates/web/base/report/display_tools.html:46
+#: templates/web/base/report/display_tools.html:49
+#: templates/web/base/report/new/form_user_loggedout_email.html:1
+#: templates/web/base/report/update/form_user_loggedout_email.html:1
+#: templates/web/zurich/report/new/fill_in_details_form.html:53
+msgid "Your email"
+msgstr "Surel Anda"
+
+#: templates/web/base/auth/change_email.html:9
+#: templates/web/base/auth/general.html:57
+#: templates/web/base/report/update/form_user_loggedout_email.html:5
+#: templates/web/zurich/auth/general.html:30
+#: templates/web/zurich/auth/general.html:58
+msgid "Your email address"
+msgstr "Alamat surel Anda"
+
+#: templates/web/base/report/updates-sidebar-notes.html:3
+msgid "Your information will only be used in accordance with our <a href=\"/privacy\">privacy policy</a>"
+msgstr "Informasi Anda hanya akan digunakan sesuai dengan <a href=\"/privacy\">kebijakan privasi</a> kami"
+
+#: templates/web/base/auth/general.html:109
+#: templates/web/base/contact/index.html:74
+#: templates/web/base/report/new/form_user_loggedout_by_email.html:17
+#: templates/web/base/report/update/form_name.html:33
+#: templates/web/zurich/auth/general.html:61
+#: templates/web/zurich/report/new/fill_in_details_form.html:63
+msgid "Your name"
+msgstr "Nama Anda"
+
+#: templates/web/base/my/anonymize.html:13
+msgid "Your name has already been sent to %s, but we can hide it on this page:"
+msgstr "Nama Anda sudah dikirim ke %s, tetapi kami dapat menyembunyikannya di halaman ini:"
+
+#: perllib/FixMyStreet/App/Controller/My.pm:264
+msgid "Your name has been hidden from all your reports and updates."
+msgstr "Nama Anda telah disembunyikan pada semua laporan dan pembaruan Anda."
+
+#: perllib/FixMyStreet/App/Controller/My.pm:260
+msgid "Your name has been hidden."
+msgstr "Nama Anda telah disembunyikan"
+
+#: templates/web/base/js/translation_strings.html:65
+msgid "Your offline reports"
+msgstr "Laporan offline Anda"
+
+#: templates/web/base/auth/general.html:87
+#: templates/web/base/report/new/form_user_loggedout_password.html:10
+#: templates/web/base/report/update/form_user_loggedout_password.html:9
+#: templates/web/zurich/auth/general.html:34
+msgid "Your password"
+msgstr "Kata sandi Anda"
+
+#: templates/web/base/auth/change_password.html:10
+msgid "Your password has been changed"
+msgstr "Kata sandi Anda telah diubah"
+
+#: templates/web/base/contact/index.html:87
+#: templates/web/base/report/new/form_user_loggedout_by_email.html:26
+#: templates/web/zurich/report/new/fill_in_details_form.html:69
+msgid "Your phone number"
+msgstr "Nomor telepon Anda"
+
+#: templates/web/base/questionnaire/index.html:16
+msgid "Your report"
+msgstr "Laporan Anda"
+
+#: templates/web/base/my/my.html:28
+msgid "Your reports"
+msgstr "Laporan Anda"
+
+#: templates/web/base/my/planned.html:0 templates/web/base/my/planned.html:18
+#: templates/web/base/my/planned.html:5
+msgid "Your shortlist"
+msgstr "Daftar pendek Anda"
+
+#: templates/web/base/js/translation_strings.html:66
+msgid "Your update has been saved offline for submission when back online."
+msgstr "Pembaruan Anda telah disimpan secara offline untuk dikirim saat Anda kembali online."
+
+#: templates/web/base/my/my.html:51
+msgid "Your updates"
+msgstr "Pembaruan Anda"
+
+#: templates/web/base/report/new/form_user_loggedin.html:19
+#: templates/web/base/report/update/form_name.html:12
+msgid "Yourself"
+msgstr "Anda"
+
+#: templates/web/base/admin/category-checkboxes.html:7
+#: templates/web/base/admin/user-form.html:151
+msgid "all"
+msgstr "semua"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:259
+msgid "and a defect raised"
+msgstr ""
+
+#: templates/web/base/admin/timeline.html:4
+msgid "by %s"
+msgstr "oleh %s"
+
+#: templates/web/base/reports/body.html:6
+#: templates/web/base/reports/body.html:7
+msgid "council"
+msgstr "dewan"
+
+#: templates/web/base/admin/report_edit.html:52
+msgid "didn't use map"
+msgstr "tidak menggunakan peta"
+
+#: templates/web/base/alert/index.html:33
+#: templates/web/base/around/postcode_form.html:12
+msgid "e.g. ‘%s’ or ‘%s’"
+msgstr "mis. ‘%s’ atau ‘%s’"
+
+#: templates/web/base/admin/flagged.html:51
+#: templates/web/base/admin/open311-form-fields.html:81
+msgid "edit user"
+msgstr "sunting pengguna"
+
+#: templates/web/base/status/stats.html:20
+#: templates/web/zurich/admin/index.html:5
+msgid "from %s different users"
+msgstr "dari %s pengguna berbeda"
+
+#: templates/web/base/report/_item.html:63
+#: templates/web/zurich/report/_item.html:14
+msgid "last updated %s"
+msgstr "terakhir diperbarui %s"
+
+#: perllib/Utils.pm:227
+msgid "less than a minute"
+msgstr "kurang dari satu menit"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:119
+#: templates/web/base/admin/questionnaire.html:15
+#: templates/web/base/admin/questionnaire.html:16
+msgid "n/a"
+msgstr "n/a"
+
+#: templates/web/base/admin/category-checkboxes.html:8
+#: templates/web/base/admin/user-form.html:152
+msgid "none"
+msgstr "tidak ada"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:278
+#, fuzzy
+msgid "not the council's responsibility"
+msgstr "ditandai sebagai bukan tanggung jawab dewan"
+
+#: templates/web/base/js/translation_strings.html:27
+msgid "or locate me automatically"
+msgstr "atau lacak saya secara otomatis"
+
+#: templates/web/base/admin/report_edit.html:48
+#: templates/web/base/admin/report_edit.html:50
+#: templates/web/zurich/admin/report_edit-sdm.html:32
+#: templates/web/zurich/admin/report_edit-sdm.html:34
+#: templates/web/zurich/admin/report_edit-sdm.html:55
+#: templates/web/zurich/admin/report_edit-sdm.html:57
+#: templates/web/zurich/admin/report_edit.html:34
+#: templates/web/zurich/admin/report_edit.html:36
+#: templates/web/zurich/admin/report_edit.html:50
+#: templates/web/zurich/admin/report_edit.html:52
+#: templates/web/zurich/admin/report_edit.html:74
+#: templates/web/zurich/admin/report_edit.html:76
+msgid "originally entered: &ldquo;%s&rdquo;"
+msgstr "awalnya dimasukkan: &ldquo;%s&rdquo;"
+
+#: templates/web/base/admin/report_edit.html:68
+msgid "other areas:"
+msgstr "area lainnya:"
+
+#: templates/web/zurich/footer.html:12
+msgid "sign out"
+msgstr "keluar"
+
+#: templates/web/base/report/new/form_report.html:13
+msgid "the local council"
+msgstr "dewan lokal"
+
+#: templates/web/base/report/_report_meta_info.html:5
+#: templates/web/zurich/report/_main.html:5
+msgid "there is no pin shown as the user did not use the map"
+msgstr "tidak ada pin ditampilkan karena pengguna tidak menggunakan peta"
+
+#: templates/web/base/alert/_list.html:1
+#, fuzzy
+msgid "this location"
+msgstr "Menampilkan lokasi"
+
+#: perllib/FixMyStreet/Script/Reports.pm:184
+msgid "this type of local problem"
+msgstr "tipe masalah lokal ini"
+
+#: perllib/Utils.pm:177
+msgid "today"
+msgstr "hari ini"
+
+#: templates/web/base/js/translation_strings.html:76
+msgid "update"
+msgstr "pembaruan"
+
+#: templates/web/base/js/translation_strings.html:77
+msgid "updates"
+msgstr "pembaruan"
+
+#: templates/web/base/admin/report_edit.html:52
+msgid "used map"
+msgstr "peta digunakan"
+
+#: templates/web/base/admin/update_edit.html:37
+msgid "user is from same council as problem - %d"
+msgstr "pengguna dari dewan yang sama dengan masalah - %d"
+
+#: templates/web/base/admin/update_edit.html:40
+msgid "user is problem owner"
+msgstr "pengguna adalah pemilik masalah"
+
+#: templates/web/base/reports/body.html:0
+#: templates/web/base/reports/body.html:3
+msgid "ward"
+msgstr "kelurahan"
+
+#: templates/web/base/admin/bodies.html:56
+#, perl-format
+msgid "%d address"
+msgid_plural "%d addresses"
+msgstr[0] "%d alamat"
+
+#: perllib/Utils.pm:250
+#, perl-format
+msgid "%d day"
+msgid_plural "%d days"
+msgstr[0] "%d hari"
+
+#: perllib/Utils.pm:252
+#, perl-format
+msgid "%d hour"
+msgid_plural "%d hours"
+msgstr[0] "%d jam"
+
+#: perllib/Utils.pm:254
+#, perl-format
+msgid "%d minute"
+msgid_plural "%d minutes"
+msgstr[0] "%d menit"
+
+#: perllib/Utils.pm:246
+#, perl-format
+msgid "%d month"
+msgid_plural "%d months"
+msgstr[0] "%d bulan"
+
+#: templates/web/base/report/_support.html:6
+#, perl-format
+msgid "%d supporter"
+msgid_plural "%d supporters"
+msgstr[0] "%d pendukung"
+
+#: perllib/Utils.pm:248
+#, perl-format
+msgid "%d week"
+msgid_plural "%d weeks"
+msgstr[0] "%d minggu"
+
+#: perllib/Utils.pm:244
+#, perl-format
+msgid "%d year"
+msgid_plural "%d years"
+msgstr[0] "%d tahun"
+
+#: templates/web/base/reports/index.html:92
+#, perl-format
+msgid "%s day"
+msgid_plural "%s days"
+msgstr[0] "%s hari"
+
+#: templates/web/base/reports/index.html:55
+#, perl-format
+msgid "%s problem marked as fixed"
+msgid_plural "%s problems marked as fixed"
+msgstr[0] "%s masalah ditandai sebagai diatasi"
+
+#: templates/web/base/reports/index.html:43
+#, perl-format
+msgid "%s problem reported"
+msgid_plural "%s problems reported"
+msgstr[0] "%s masalah dilaporkan"
+
+#: templates/web/base/reports/index.html:107
+#, perl-format
+msgid "%s report"
+msgid_plural "%s reports"
+msgstr[0] "%s laporan"
+
+#: templates/web/base/reports/index.html:49
+#, perl-format
+msgid "%s update on problems"
+msgid_plural "%s updates on problems"
+msgstr[0] "%s pembaruan atas masalah"
+
+#: templates/web/base/front/stats.html:19
+#, perl-format
+msgid "<big>%s</big> fixed in past month"
+msgid_plural "<big>%s</big> fixed in past month"
+msgstr[0] "<big>%s</big> diatasi dalam bulan terakhir"
+
+#: templates/web/base/front/stats.html:8
+#, perl-format
+msgid "<big>%s</big> report in past week"
+msgid_plural "<big>%s</big> reports in past week"
+msgstr[0] "<big>%s</big> laporan dalam minggu terakhir"
+
+#: templates/web/base/front/stats.html:13
+#, perl-format
+msgid "<big>%s</big> report recently"
+msgid_plural "<big>%s</big> reports recently"
+msgstr[0] "<big>%s</big> laporan baru-baru ini"
+
+#: templates/web/base/front/stats.html:25
+#, perl-format
+msgid "<big>%s</big> update on reports"
+msgid_plural "<big>%s</big> updates on reports"
+msgstr[0] "<big>%s</big> pembaruan atas laporan"
+
+#: templates/web/base/report/_item.html:51
+#, perl-format
+msgid "Reported %d day ago"
+msgid_plural "Reported %d days ago"
+msgstr[0] "Dilaporkan %d hari yang lalu"
+
+#: templates/web/base/report/new/top_message_some.html:3
+#, perl-format
+msgid "We do <strong>not</strong> yet have details for the other council that covers this location."
+msgid_plural "We do <strong>not</strong> yet have details for the other councils that cover this location."
+msgstr[0] "Kami <strong>belum</strong> memiliki detail mengenai dewan lainnya yang mencakup lokasi ini."
+
+#: templates/web/base/report/new/top_message_none.html:3
+#, perl-format
+msgid "We do not yet have details for the council that covers this location."
+msgid_plural "We do not yet have details for the councils that cover this location."
+msgstr[0] "Kami belum memiliki detail mengenai dewan yang mencakup lokasi ini,"
+
+#: templates/web/base/report/_item.html:61
+#, perl-format
+msgid "last updated %d day ago"
+msgid_plural "last updated %d days ago"
+msgstr[0] "terakhir diperbarui %d hari yang lalu"
+
+#: templates/email/oxfordshire/archive.txt:9
+#, perl-format
+msgid "report"
+msgid_plural "reports"
+msgstr[0] "laporan"
+
+#~ msgid ""
+#~ "%s sends different categories of problem\n"
+#~ "to the appropriate council, so problems within the boundary of a particular council\n"
+#~ "might not match the problems sent to that council. For example, a graffiti report\n"
+#~ "will be sent to the district council, so will appear in both of the district\n"
+#~ "council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
+#~ "for the county council."
+#~ msgstr ""
+#~ "%s mengirimkan kategori masalah yang berbeda-beda\n"
+#~ "ke dewan yang bersangkutan, sehingga masalah dalam cakupan dewan tertentu\n"
+#~ "mungkin tidak sama dengan masalah yang dikirimkan kepada dewan tersebut. Sebagai contoh, laporan mengenai grafiti\n"
+#~ "akan dikirimkan ke dewan kecamatan, sehingga akan muncul pada kedua peringatan\n"
+#~ "di dewan kecamatan, tetapi hanya akan muncul pada peringatan \"Di dalam cakupan\"\n"
+#~ "untuk dewan kabupaten."
+
+#~ msgid "%s ward, %s"
+#~ msgstr "Kelurahan %s, %s"
+
+#~ msgid "%s, within %s ward"
+#~ msgstr "%s, di kelurahan %s"
+
+#~ msgid "(alternatively the RSS feed can be customised, within %s)"
+#~ msgstr "(atau umpan RSS dapat dikustomisasikan, dalam %s)"
+
+#~ msgid "-- Pick a property type --"
+#~ msgstr "-- Pilih tipe properti --"
+
+#~ msgid "Closed reports"
+#~ msgstr "Laporan ditutup"
+
+#~ msgid "Closed:"
+#~ msgstr "Ditutup:"
+
+#~ msgid "Duplicate"
+#~ msgstr "Duplikat"
+
+#~ msgid "Fixed reports"
+#~ msgstr "Laporan diatasi"
+
+#~ msgid "Fixed:"
+#~ msgstr "Diatasi:"
+
+#~ msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
+#~ msgstr "Berikut ini tipe peringatan masalah lokal untuk &lsquo;%s&rsquo;."
+
+#~ msgid "In Progress"
+#~ msgstr "Dalam Proses"
+
+#~ msgid "Internal referral"
+#~ msgstr "Referal internal"
+
+#~ msgid "Investigating"
+#~ msgstr "Dalam investigasi"
+
+#~ msgid "No further action"
+#~ msgstr "Tidak ada tindakan lebih lanjut"
+
+#~ msgid "Not Responsible"
+#~ msgstr "Tidak Bertanggung Jawab"
+
+#~ msgid "Or problems reported to:"
+#~ msgstr "Atau laporan yang dilaporkan ke:"
+
+#~ msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
+#~ msgstr "Atau Anda dapat berlangganan untuk menerima peringatan berdasarkan kelurahan atau dewan tempat Anda berada:"
+
+#~ msgid "Please choose a property type"
+#~ msgstr "Silakan pilih tipe properti"
+
+#~ msgid "Problems within the boundary of:"
+#~ msgstr "Masalah dalam cakupan:"
+
+#~ msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
+#~ msgstr "Pilih tipe peringatan yang Anda inginkan dan klik tombol untuk umpan RSS, atau masukkan alamat surel Anda untuk berlangganan ke surel peringatan."
+
+#~ msgid "The simplest alert is our geographic one:"
+#~ msgstr "Peringatan yang paling sederhana adalah peringatan geografis kami:"
+
+#~ msgid "closed as a duplicate report"
+#~ msgstr "ditutup sebagai laporan duplikat"
+
+#~ msgid "marked as action scheduled"
+#~ msgstr "ditandai sebagai tindakan dijadwalkan"
+
+#~ msgid "marked as an internal referral"
+#~ msgstr "ditandai sebagai referal internal"
+
+#~ msgid "marked as closed"
+#~ msgstr "ditandai sebagai ditutup"
+
+#~ msgid "marked as fixed"
+#~ msgstr "ditandai sebagai diatasi"
+
+#~ msgid "marked as in progress"
+#~ msgstr "ditandai sebagai dalam proses"
+
+#~ msgid "marked as investigating"
+#~ msgstr "ditandai sebagai dalam investigasi"
+
+#~ msgid "marked as no further action"
+#~ msgstr "ditandai sebagai tidak ada tindakan lebih lanjut"
+
+#~ msgid "marked as planned"
+#~ msgstr "ditandai sebagai direncanakan"
+
+#~ msgid "or"
+#~ msgstr "atau"
+
+#~ msgid "reopened"
+#~ msgstr "dibuka kembali"
diff --git a/locale/it.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/it.UTF-8/LC_MESSAGES/FixMyStreet.po
index 35cfe9a68..fb4e537e8 100644
--- a/locale/it.UTF-8/LC_MESSAGES/FixMyStreet.po
+++ b/locale/it.UTF-8/LC_MESSAGES/FixMyStreet.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
-"POT-Creation-Date: 2017-03-30 17:33+0100\n"
+"POT-Creation-Date: 2017-09-13 15:40+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: mySociety <transifex@mysociety.org>, 2016\n"
+"Last-Translator: mySociety <transifex@mysociety.org>, 2017\n"
"Language-Team: Italian (https://www.transifex.com/mysociety/teams/12067/it/)\n"
"Language: it\n"
"MIME-Version: 1.0\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:695
+#: perllib/FixMyStreet/DB/Result/Problem.pm:632
#: perllib/FixMyStreet/Script/Reports.pm:197
msgid " and "
msgstr "e"
@@ -91,25 +91,6 @@ msgstr "%s questionari inviati &ndash; %s compilati (%s%%)"
msgid "%s ref:&nbsp;%s"
msgstr "%s ref:&nbsp;%s"
-#. ("%s is the site name")
-#: templates/web/base/alert/_list.html:74
-msgid ""
-"%s sends different categories of problem\n"
-"to the appropriate council, so problems within the boundary of a particular council\n"
-"might not match the problems sent to that council. For example, a graffiti report\n"
-"will be sent to the district council, so will appear in both of the district\n"
-"council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
-"for the county council."
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:257 perllib/FixMyStreet/Cobrand/UK.pm:269
-msgid "%s ward, %s"
-msgstr "%s quartiere, %s"
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
-msgid "%s, within %s ward"
-msgstr "%s dentro al quartiere %s"
-
#: perllib/FixMyStreet/Map/OSM.pm:38
msgid "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"
msgstr ""
@@ -118,7 +99,7 @@ msgstr ""
msgid "(Defect &amp; location of defect)"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
#: templates/web/base/admin/users.html:32
msgid "(Email in abuse table)"
msgstr "(Email nella tabella degli abusi)"
@@ -126,35 +107,43 @@ msgstr "(Email nella tabella degli abusi)"
#: templates/web/zurich/admin/report_edit-sdm.html:62
#: templates/web/zurich/admin/report_edit.html:90
msgid "(No name)"
-msgstr ""
+msgstr "(Nessun nome)"
#: templates/web/zurich/admin/report_edit-sdm.html:69
#: templates/web/zurich/admin/report_edit.html:97
msgid "(No phone number)"
-msgstr ""
+msgstr "(Nessun recapito)"
-#: templates/web/base/alert/_list.html:25
-msgid "(a default distance which covers roughly 200,000 people)"
-msgstr "(una distanza predefinita che copre approssimativamente 200,000 persone)"
-
-#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
-#: templates/web/base/alert/_list.html:30
-msgid "(alternatively the RSS feed can be customised, within %s)"
+#: templates/web/base/admin/states/index.html:95
+msgid "(a-z and space only)"
msgstr ""
#: templates/web/zurich/report/_item.html:19
msgid "(closed)"
msgstr "(chiuso)"
+#: templates/web/base/alert/_list.html:30
+#, fuzzy
+msgid "(covers roughly 200,000 people)"
+msgstr "(una distanza predefinita che copre approssimativamente 200,000 persone)"
+
#: templates/web/zurich/report/_item.html:17
msgid "(fixed)"
msgstr "(risolto)"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "(ignored if type is \"String\")"
+msgstr ""
+
#: templates/web/base/around/intro.html:2
msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
msgstr "(come gli atti vandalici, le discariche abusive, la pavimentazione e l'illuminazione stradale rotta)"
-#: templates/web/base/report/_item.html:68
+#: templates/web/base/reports/index.html:69
+msgid "(no longer exists)"
+msgstr ""
+
+#: templates/web/base/report/_item.html:70
msgid "(not sent to council)"
msgstr "(non inviato al Comune)"
@@ -162,38 +151,40 @@ msgstr "(non inviato al Comune)"
msgid "(optional)"
msgstr "(opzionale)"
-#: templates/web/base/report/_item.html:67
+#: templates/web/base/report/_item.html:69
msgid "(sent to both)"
msgstr "(inviato ad entrambi)"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:239
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/DB/Result/Problem.pm:454
+#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
+#: templates/web/base/alert/_list.html:36
+#, fuzzy
+msgid "(we also have RSS feeds for problems within %s)"
+msgstr "RSS feed dei problemi dentro %s"
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:245
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:381
msgid "-- Pick a category --"
msgstr "-- Scegli una categoria --"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:460
-msgid "-- Pick a property type --"
-msgstr "-- Scegli un tipo di proprietà --"
-
#: templates/web/base/admin/response_templates_select.html:3
msgid "--Choose a template--"
-msgstr ""
+msgstr "--Scegli un template--"
#: templates/web/base/report/new/form_report.html:23
msgid "10 inch pothole on Example St, near post box"
msgstr ""
-#: templates/web/base/dashboard/index.html:152
+#: templates/web/base/dashboard/index.html:153
msgid "14-30 days old"
msgstr ""
-#: templates/web/base/dashboard/index.html:151
+#: templates/web/base/dashboard/index.html:152
msgid "7-14 days old"
msgstr ""
-#: templates/web/base/admin/body-form.html:48
-#: templates/web/base/admin/body-form.html:49
+#: templates/web/base/admin/body-form.html:50
+#: templates/web/base/admin/body-form.html:51
msgid ""
"<code>MAPIT_URL</code> is set (<code>%s</code>) but no <code>MAPIT_TYPES</code>.<br>\n"
" This is probably why \"area covered\" is empty (below).<br>\n"
@@ -204,13 +195,12 @@ msgstr ""
msgid "<h2>Reports, Statistics and Actions for</h2> <h1>%s</h1>"
msgstr ""
-#. ('The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories')
#. ("The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories")
-#: templates/web/base/reports/_list-filters.html:37
-msgid "<label for=\"statuses\">Show</label> %s <label for=\"filter_categories\">about</label> %s"
+#: templates/web/base/reports/_list-filters.html:48
+msgid "<label for=\"statuses\">Show</label> %s reports <label for=\"filter_categories\">about</label> %s"
msgstr ""
-#: templates/web/base/js/translation_strings.html:71
+#: templates/web/base/js/translation_strings.html:74
msgid "<span>%s</span> saved."
msgstr ""
@@ -227,34 +217,25 @@ msgstr "<strong>No</strong> Lasciami confermare la mia segnalazione via email"
msgid "<strong>No</strong> Let me confirm my update by email"
msgstr "<strong>No</strong> Lasciami confermare il mio aggiornamento via email"
-#: templates/web/base/auth/general.html:104
+#: templates/web/base/auth/general.html:106
#: templates/web/zurich/auth/general.html:51
msgid "<strong>No</strong> let me sign in by email"
msgstr "<strong>No</strong> lasciami entrare con l'email"
-#: templates/web/base/report/_inspect.html:160
+#: templates/web/base/report/_inspect.html:170
msgid "<strong>Note:</strong> This report has been sent onwards for action. Any changes made won't be passed on."
msgstr ""
-#: templates/web/base/report/_inspect.html:162
+#: templates/web/base/report/_inspect.html:172
msgid "<strong>Note:</strong> This report hasn't yet been sent onwards for action. Any changes made may not be passed on."
msgstr ""
-#: templates/web/base/auth/general.html:80
+#: templates/web/base/auth/general.html:82
#: templates/web/base/report/new/form_user_loggedout_password.html:3
#: templates/web/base/report/update/form_user_loggedout_password.html:2
msgid "<strong>Yes</strong> I have a password"
msgstr "<strong>Si</strong> Ho già la password"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:10
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:6
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Action Scheduled"
-msgstr ""
-
#: templates/web/base/admin/body-form.html:3
#: templates/web/base/admin/body-form.html:4
msgid ""
@@ -268,19 +249,36 @@ msgid "Add a contact using the form below."
msgstr ""
#: templates/web/base/admin/bodies.html:78
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Add body"
msgstr "Aggiungi un corpo"
+#: templates/web/base/admin/reportextrafields/index.html:24
+msgid "Add extra fields"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:79
+msgid "Add field"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:85
+msgid "Add fixed state"
+msgstr ""
+
#: templates/web/base/admin/body.html:126
#: templates/web/zurich/admin/body.html:31
msgid "Add new category"
msgstr "Aggiungi una nuova categoria"
+#: templates/web/base/admin/extra-metadata-form.html:72
+#, fuzzy
+msgid "Add option"
+msgstr "(opzionale)"
+
#: templates/web/base/report/_item.html:10
-#: templates/web/base/report/_item.html:14
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_item.html:16
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:19
#: templates/web/base/report/_main.html:30
msgid "Add to shortlist"
@@ -292,15 +290,15 @@ msgstr ""
msgid "Add user"
msgstr "Aggiungi un'utente"
-#: perllib/FixMyStreet/Cobrand/Default.pm:730
+#: perllib/FixMyStreet/Cobrand/Default.pm:735
msgid "Add/edit problem categories"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:732
+#: perllib/FixMyStreet/Cobrand/Default.pm:737
msgid "Add/edit response priorities"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:731
+#: perllib/FixMyStreet/Cobrand/Default.pm:736
msgid "Add/edit response templates"
msgstr ""
@@ -308,7 +306,7 @@ msgstr ""
msgid "Added %s"
msgstr "Aggiunti %s"
-#: templates/web/base/report/_main.html:145
+#: templates/web/base/report/_main.html:149
msgid "Adding this report to your shortlist will remove it from %s’s shortlist."
msgstr ""
@@ -328,17 +326,17 @@ msgstr "Segnalazione %d creata per %s tipo %s, parametri %s / %s"
msgid "Alert %d disabled (created %s)"
msgstr "Segnalazione %d disabilitata (creata %s)"
-#: templates/web/base/report/update/form_name.html:38
+#: templates/web/base/report/update/form_name.html:42
msgid "Alert me to future updates"
msgstr "Avvisami su futuri aggiornamenti"
#: templates/web/base/dashboard/index.html:138
#: templates/web/base/dashboard/index.html:21
#: templates/web/base/dashboard/index.html:30
+#: templates/web/base/reports/_list-filters.html:3
msgid "All"
msgstr ""
-#: templates/web/base/reports/index.html:6
#: templates/web/zurich/reports/index.html:13
msgid "All Reports"
msgstr "Tutte le segnalazioni"
@@ -348,15 +346,23 @@ msgid "All Reports as CSV"
msgstr ""
#: templates/web/base/admin/category-multiselect.html:5
-#: templates/web/base/admin/responsepriorities/list.html:19
+#: templates/web/base/admin/responsepriorities/list.html:20
msgid "All categories"
+msgstr "Tutte le categorie"
+
+#: templates/web/base/admin/reportextrafields/edit.html:26
+#, fuzzy
+msgid "All cobrands"
+msgstr "Cobrand"
+
+#: templates/web/base/admin/reportextrafields/edit.html:47
+msgid "All languages"
msgstr ""
#: templates/web/base/main_nav_items.html:0
#: templates/web/base/main_nav_items.html:27
-#: templates/web/base/reports/_list-filters.html:3
#: templates/web/zurich/admin/index-dm.html:12
-#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:21
+#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:20
#: templates/web/zurich/nav_over_content.html:6
msgid "All reports"
msgstr "Tutte le segnalazioni"
@@ -366,6 +372,14 @@ msgstr "Tutte le segnalazioni"
msgid "All reports between %s and %s"
msgstr "Tutte le segnalazioni tra %s e %s"
+#: templates/web/base/reports/index.html:23
+msgid "All time"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:20
+msgid "Alternatively, we can hide your name on <strong>all of your reports and updates</strong> across the site:"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:47
msgid "An update marked this problem as fixed."
msgstr "Un aggiornamento ha riportato questo problema come risolto."
@@ -375,31 +389,33 @@ msgstr "Un aggiornamento ha riportato questo problema come risolto."
msgid "Anonymous"
msgstr "Anonimo"
-#: templates/web/base/admin/report_edit.html:134
+#: templates/web/base/report/new/form_user_loggedin.html:21
+#: templates/web/base/report/update/form_name.html:17
+#, fuzzy
+msgid "Anonymous user"
+msgstr "Anonimo"
+
+#: templates/web/base/admin/report_edit.html:122
#: templates/web/base/admin/update_edit.html:23
msgid "Anonymous:"
msgstr "Anonimo:"
-#: templates/web/base/report/new/form_user_loggedin.html:20
-#: templates/web/base/report/update/form_name.html:13
+#: templates/web/base/report/new/form_user_loggedin.html:24
+#: templates/web/base/report/update/form_name.html:14
msgid "Another user"
msgstr ""
-#: templates/web/base/front/footer-marketing.html:16
-msgid "Are you a developer?"
-msgstr "Sei uno sviluppatore?"
-
-#: templates/web/base/js/translation_strings.html:56
+#: templates/web/base/js/translation_strings.html:59
msgid "Are you sure you want to cancel this upload?"
msgstr ""
#: templates/web/base/admin/report_edit.html:84
-#: templates/web/base/js/translation_strings.html:66
+#: templates/web/base/js/translation_strings.html:69
#: templates/web/base/report/display_tools.html:6
msgid "Are you sure?"
msgstr ""
-#: templates/web/base/admin/body-form.html:75
+#: templates/web/base/admin/body-form.html:77
#: templates/web/base/admin/body.html:20
#: templates/web/zurich/admin/body-form.html:24
msgid "Area covered"
@@ -431,11 +447,11 @@ msgstr "Assegna ad un corpo esterno:"
msgid "Assign to subdivision:"
msgstr "Assegna ad una subdivisione:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:727
+#: perllib/FixMyStreet/Cobrand/Default.pm:732
msgid "Assign users to areas"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:214
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:219
msgid "Assigned to %s"
msgstr "Assegnato a %s"
@@ -456,9 +472,12 @@ msgstr ""
msgid "Auto-response:"
msgstr ""
-#: templates/web/base/admin/report_edit.html:127
-#: templates/web/base/report/_inspect.html:47
+#: templates/web/base/admin/report-category.html:8
msgid "Available categories"
+msgstr "Categorie disponibili"
+
+#: templates/web/base/reports/index.html:84
+msgid "Average time between a problem being reported and being fixed, last 100 reports."
msgstr ""
#: templates/web/base/dashboard/index.html:109
@@ -473,7 +492,7 @@ msgstr ""
msgid "Avoid personal information and vehicle number plates"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:417
+#: perllib/FixMyStreet/DB/Result/Problem.pm:344
#: templates/web/zurich/report/_item.html:9
msgid "Awaiting moderation"
msgstr ""
@@ -486,13 +505,13 @@ msgstr "Indietro"
msgid "Back to all reports"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
msgid "Ban email address"
msgstr "Vietare l'indirizzo email"
#: perllib/FixMyStreet/Cobrand/Default.pm:650
-#: perllib/FixMyStreet/Cobrand/Default.pm:729
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
+#: perllib/FixMyStreet/Cobrand/Default.pm:734
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:396
#: templates/web/base/admin/bodies.html:1
#: templates/web/base/admin/report_edit.html:55
#: templates/web/zurich/header.html:56
@@ -514,7 +533,11 @@ msgstr "Corpo:"
msgid "By Date"
msgstr "Per data"
-#: templates/web/base/auth/token.html:21 templates/web/base/email_sent.html:18
+#: templates/web/base/admin/extra-metadata-form.html:36
+msgid "Can be used to display extra text to the user alongside the field. The default template does not show this (<code>meta.datatype_description</code>), you must add it in <code>category_extras_fields.html</code>"
+msgstr ""
+
+#: templates/web/base/auth/token.html:27 templates/web/base/email_sent.html:20
msgid "Can&rsquo;t find our email? Check your spam folder&nbsp;&ndash; that&rsquo;s the solution 99% of the time."
msgstr ""
@@ -535,8 +558,8 @@ msgstr ""
#: templates/web/base/admin/body.html:72
#: templates/web/base/admin/contact-form.html:19
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/report/_inspect.html:38
-#: templates/web/base/report/_item.html:90
+#: templates/web/base/report/_inspect.html:48
+#: templates/web/base/report/_item.html:92
#: templates/web/base/report/new/category.html:6
#: templates/web/base/report/new/category_wrapper.html:3
#: templates/web/zurich/admin/body.html:14
@@ -547,7 +570,7 @@ msgstr ""
msgid "Category"
msgstr "Categoria"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:852
+#: perllib/FixMyStreet/App/Controller/Admin.pm:956
msgid "Category changed from ‘%s’ to ‘%s’"
msgstr ""
@@ -587,23 +610,11 @@ msgstr ""
msgid "Change password"
msgstr "Cambia la Password"
-#: templates/web/base/admin/contact-form.html:41
-msgid ""
-"Check <strong>confirmed</strong> to indicate that this contact has been confirmed as correct.\n"
-" If you are not sure of the origin or validity of the contact, leave this unchecked."
-msgstr ""
-
-#: templates/web/base/admin/contact-form.html:52
-msgid ""
-"Check <strong>deleted</strong> to remove the category from use. \n"
-" It will not appear as an available category in the drop-down menu on the report-a-problem page."
-msgstr ""
-
-#: templates/web/base/admin/contact-form.html:79
+#: templates/web/base/admin/contact-form.html:80
msgid "Check <strong>inspection required</strong> if reports in this category <strong>must be inspected</strong> before being sent."
msgstr ""
-#: templates/web/base/admin/contact-form.html:63
+#: templates/web/base/admin/contact-form.html:64
msgid ""
"Check <strong>private</strong> if reports in this category should <strong>never be displayed on the website</strong>.\n"
" <br>\n"
@@ -620,11 +631,11 @@ msgid ""
" to the body too. These will appear in the drop-down menu on the report-a-problem page."
msgstr ""
-#: templates/web/base/report/_inspect.html:93
+#: templates/web/base/report/_inspect.html:103
msgid "Choose another"
msgstr ""
-#: templates/web/base/js/translation_strings.html:65
+#: templates/web/base/js/translation_strings.html:68
msgid "Clear offline data"
msgstr ""
@@ -649,21 +660,21 @@ msgstr ""
msgid "Click the link in our confirmation email to publish your update."
msgstr ""
-#: templates/web/base/auth/token.html:18
+#: templates/web/base/auth/token.html:23
msgid "Click the link in our confirmation email to sign in."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:189
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:960
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:17
-#: templates/web/base/admin/report_blocks.html:27
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:43
-#: templates/web/base/report/banner.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:18
+#: templates/web/base/auth/token.html:20
+msgid "Click the link in that email to sign in."
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:134
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:194
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:965
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:11
+#: templates/web/base/admin/states/index.html:103
+#: templates/web/base/admin/states/index.html:27
+#: templates/web/base/admin/states/index.html:33
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:10
#: templates/web/zurich/admin/header.html:16
@@ -671,23 +682,17 @@ msgstr ""
msgid "Closed"
msgstr "Chiuso"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:889
+#: perllib/FixMyStreet/DB/Result/Problem.pm:826
msgid "Closed by council"
msgstr "Chiuso dal comune"
-#: templates/web/base/reports/_list-filters.html:13
-msgid "Closed reports"
-msgstr ""
-
-#: templates/web/base/admin/problem_row.html:38
-msgid "Closed:"
-msgstr "Chiuso:"
-
#: templates/web/base/admin/report_edit.html:37
msgid "Co-ordinates:"
msgstr "Coordinate:"
#: templates/web/base/admin/list_updates.html:10
+#: templates/web/base/admin/reportextrafields/edit.html:24
+#: templates/web/base/admin/reportextrafields/index.html:7
msgid "Cobrand"
msgstr "Cobrand"
@@ -701,10 +706,13 @@ msgstr "Dati del Cobrand:"
msgid "Cobrand:"
msgstr "Cobrand:"
+#: templates/web/base/admin/extra-metadata-form.html:14
+msgid "Code"
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:50
-#, fuzzy
msgid "Collapse map"
-msgstr "mappa usata"
+msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:646
#: templates/web/base/admin/config_page.html:1
@@ -732,9 +740,8 @@ msgstr ""
msgid "Confirmation"
msgstr "Conferma"
-#: templates/web/base/admin/body.html:85
-#: templates/web/base/admin/category_edit.html:54
-#: templates/web/base/admin/contact-form.html:47
+#: templates/web/base/admin/contact-form.html:56
+#: templates/web/zurich/admin/contact-form.html:12
#: templates/web/zurich/admin/stats.html:40
msgid "Confirmed"
msgstr "Confermato"
@@ -769,8 +776,8 @@ msgstr "Contatta il team"
msgid "Coordinates:"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1668
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1696
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1773
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1801
msgid "Could not find user"
msgstr "Non posso trovare l'utente"
@@ -828,24 +835,33 @@ msgstr "Comune:"
msgid "Count"
msgstr "Contare"
+#: templates/web/base/admin/states/index.html:114
+#, fuzzy
+msgid "Create"
+msgstr "Creato"
+
#: templates/web/base/email_sent.html:1
msgid "Create a report"
msgstr "Crea una segnalazione"
-#: templates/web/base/admin/contact-form.html:137
+#: templates/web/base/admin/contact-form.html:138
#: templates/web/zurich/admin/body.html:62
msgid "Create category"
msgstr "Crea una categoria"
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/responsepriorities/edit.html:58
msgid "Create priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:714
+#: perllib/FixMyStreet/Cobrand/Default.pm:718
+msgid "Create reports/updates as anonymous user"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:719
msgid "Create reports/updates as the council"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:713
+#: perllib/FixMyStreet/Cobrand/Default.pm:717
msgid "Create reports/updates on a user's behalf"
msgstr ""
@@ -875,13 +891,15 @@ msgstr "Stato corrente"
msgid "Currently no bodies have been created."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:825
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:830
#: templates/web/zurich/admin/report_edit-sdm.html:105
msgid "Customer not contactable"
msgstr ""
#: templates/web/base/dashboard/index.html:5
#: templates/web/base/dashboard/index.html:7
+#: templates/web/base/reports/index.html:15
+#: templates/web/base/reports/index.html:18
msgid "Dashboard"
msgstr "Pannello di controllo"
@@ -889,29 +907,36 @@ msgstr "Pannello di controllo"
msgid "Dealt with by subdivision within 5 working days"
msgstr ""
-#: templates/web/base/report/_inspect.html:73
+#: templates/web/base/admin/responsepriorities/list.html:9
+msgid "Default"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:39
+msgid "Default priority"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:72
msgid "Defect type"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:973
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1078
#: templates/web/base/admin/template_edit.html:50
#: templates/web/zurich/admin/template_edit.html:33
msgid "Delete template"
msgstr ""
#: templates/web/base/admin/bodies.html:31
-#: templates/web/base/admin/body.html:87
-#: templates/web/base/admin/category_edit.html:55
#: templates/web/base/admin/contact-form.html:58
-#: templates/web/zurich/admin/contact-form.html:12
+#: templates/web/zurich/admin/contact-form.html:13
msgid "Deleted"
msgstr "Eliminato"
-#: templates/web/base/report/_main.html:110
-#: templates/web/base/report/update.html:59
+#: templates/web/base/report/_main.html:114
+#: templates/web/base/report/update.html:68
msgid "Describe why you are moderating this"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:32
#: templates/web/base/admin/responsepriorities/list.html:7
#: templates/web/zurich/admin/index-dm.html:22
#: templates/web/zurich/admin/index-sdm.html:20
@@ -935,7 +960,7 @@ msgstr "Dettagli"
msgid "Details:"
msgstr "Dettagli:"
-#: templates/web/base/admin/body.html:93
+#: templates/web/base/admin/body.html:92
msgid "Devolved"
msgstr "Devoluto:"
@@ -948,18 +973,17 @@ msgstr ""
msgid "Diligency prize league table"
msgstr ""
-#: templates/web/base/report/_main.html:114
-#: templates/web/base/report/update.html:61
-#, fuzzy
+#: templates/web/base/report/_main.html:118
+#: templates/web/base/report/update.html:70
msgid "Discard changes"
-msgstr "Salva modifiche"
+msgstr ""
#: templates/web/base/admin/open311-form-fields.html:95
msgid "Do not send email alerts on fetched comments to problem creator"
msgstr ""
#. ("%s is the site name")
-#: templates/web/base/auth/general.html:58
+#: templates/web/base/auth/general.html:60
#: templates/web/base/report/new/form_user_loggedout.html:25
#: templates/web/base/report/new/oauth_email_form.html:18
#: templates/web/base/report/update-form.html:30
@@ -967,40 +991,33 @@ msgstr ""
msgid "Do you have a %s password?"
msgstr ""
+#: templates/web/base/report/_inspect.html:87
+msgid "Do you want to automatically raise a defect?"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:57
msgid "Don&rsquo;t know"
msgstr "Non lo so"
-#: templates/web/base/contact/index.html:108
+#: templates/web/base/contact/index.html:112
msgid "Don't like forms?"
msgstr ""
-#: templates/web/base/report/_item.html:25
+#: templates/web/base/report/_item.html:27
msgid "Down one"
msgstr ""
-#: templates/web/base/js/translation_strings.html:55
+#: templates/web/base/js/translation_strings.html:58
msgid "Drag and drop photos here or <u>click to upload</u>"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:10
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "Duplicate"
-msgstr "Duplica"
-
-#: templates/web/base/report/_inspect.html:88
-#, fuzzy
+#: templates/web/base/report/_inspect.html:98
msgid "Duplicate of"
-msgstr "Duplica"
+msgstr ""
-#: templates/web/base/report/_inspect.html:98
-#, fuzzy
+#: templates/web/base/report/_inspect.html:108
msgid "Duplicates"
-msgstr "Duplica"
+msgstr ""
#: templates/web/base/admin/body.html:116
msgid ""
@@ -1010,43 +1027,43 @@ msgid ""
" "
msgstr ""
-#: templates/web/base/report/_inspect.html:16
-#: templates/web/base/report/_item.html:81
+#: templates/web/base/report/_inspect.html:26
+#: templates/web/base/report/_item.html:83
msgid "Easting/Northing:"
msgstr ""
#: templates/web/base/admin/list_updates.html:42
#: templates/web/base/admin/problem_row.html:41
-#: templates/web/base/admin/responsepriorities/list.html:26
+#: templates/web/base/admin/responsepriorities/list.html:28
#: templates/web/base/admin/templates.html:22
#: templates/web/base/admin/users.html:34
#: templates/web/zurich/admin/problem_row.html:48
msgid "Edit"
msgstr "Modifica"
-#: templates/web/base/admin/body.html:140
+#: templates/web/base/admin/body.html:141
#: templates/web/base/admin/index.html:39
#: templates/web/zurich/admin/body.html:69
msgid "Edit body details"
msgstr "Modifica dettagli corpo"
-#: perllib/FixMyStreet/Cobrand/Default.pm:724
+#: perllib/FixMyStreet/Cobrand/Default.pm:729
msgid "Edit other users' details"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:725
+#: perllib/FixMyStreet/Cobrand/Default.pm:730
msgid "Edit other users' permissions"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:708
+#: perllib/FixMyStreet/Cobrand/Default.pm:712
msgid "Edit report category"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:709
+#: perllib/FixMyStreet/Cobrand/Default.pm:713
msgid "Edit report priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:707
+#: perllib/FixMyStreet/Cobrand/Default.pm:711
msgid "Edit reports"
msgstr ""
@@ -1069,15 +1086,15 @@ msgstr "Modifica aggiornamento %d"
msgid "Editing user %d"
msgstr "Modifica utente %d"
-#: templates/web/base/admin/category_edit.html:56
+#: templates/web/base/admin/category_edit.html:30
msgid "Editor"
msgstr "Editor"
#: templates/web/base/admin/bodies.html:27
-#: templates/web/base/admin/category_edit.html:53
+#: templates/web/base/admin/category_edit.html:28
#: templates/web/base/admin/flagged.html:38
#: templates/web/base/admin/users.html:17
-#: templates/web/base/auth/general.html:49
+#: templates/web/base/auth/general.html:51
#: templates/web/zurich/admin/body-form.html:9
#: templates/web/zurich/admin/body.html:15
#: templates/web/zurich/auth/general.html:24
@@ -1085,13 +1102,14 @@ msgstr "Editor"
msgid "Email"
msgstr "Email"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1644
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1749
msgid "Email added to abuse list"
msgstr "Email aggiunta alla lista abusi"
-#: templates/web/base/admin/contact-form.html:36
-#: templates/web/base/report/new/form_user_loggedin.html:28
-#: templates/web/base/report/update/form_name.html:19
+#: templates/web/base/admin/contact-form.html:38
+#: templates/web/base/alert/_list.html:74
+#: templates/web/base/report/new/form_user_loggedin.html:32
+#: templates/web/base/report/update/form_name.html:23
msgid "Email address"
msgstr ""
@@ -1103,11 +1121,11 @@ msgstr ""
msgid "Email alert deleted"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1641
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1746
msgid "Email already in abuse list"
msgstr "Email già presente nella lista abusi"
-#: templates/web/base/admin/report_edit.html:141
+#: templates/web/base/admin/report_edit.html:129
#: templates/web/base/admin/update_edit.html:35
#: templates/web/base/admin/user-form.html:19
#: templates/web/zurich/admin/body.html:48
@@ -1128,8 +1146,8 @@ msgid ""
" <a href='https://www.mysociety.org/2013/02/20/open311-extended/' class='admin-offsite-link'>this article</a>."
msgstr ""
-#: templates/web/base/admin/body-form.html:120
-#: templates/web/base/admin/body-form.html:121
+#: templates/web/base/admin/body-form.html:122
+#: templates/web/base/admin/body-form.html:123
msgid ""
"Enable this <strong>can be devolved</strong> setting if one or more contacts have a \n"
" different endpoint (and send method) from the body's. For example, if reports for some categories of\n"
@@ -1144,11 +1162,11 @@ msgstr "Data di fine"
msgid "Endpoint"
msgstr "Punto finale"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:76
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:81
msgid "Enter a Z&uuml;rich street name"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:15
+#: perllib/FixMyStreet/Cobrand/UK.pm:16
msgid "Enter a nearby UK postcode, or street name and area"
msgstr "Inserisci il piu vicino codice postale UK, o il nome di una strada e una città "
@@ -1157,12 +1175,13 @@ msgstr "Inserisci il piu vicino codice postale UK, o il nome di una strada e una
msgid "Enter a nearby postcode, or street name and area"
msgstr "Inserisci il piu vicino codice postale UK o il nome di una strada e l'area"
+#: perllib/FixMyStreet/Cobrand/DansMonQwat.pm:14
#: templates/web/base/around/postcode_form.html:5
#: templates/web/base/around/postcode_form.html:6
msgid "Enter a nearby street name and area"
msgstr "Inserisci il nome di una strada nelle vicinanze e una città o solo in nome della città "
-#: templates/web/base/auth/general.html:116
+#: templates/web/base/auth/general.html:118
#: templates/web/base/report/new/form_user_loggedout_by_email.html:35
#: templates/web/base/report/update/form_user_loggedout_by_email.html:13
#: templates/web/zurich/auth/general.html:65
@@ -1182,8 +1201,8 @@ msgstr "Inserisci i dettagli del problema"
msgid "Error"
msgstr "Errore"
-#: templates/web/base/reports/_list-filters.html:20
-#: templates/web/base/reports/_list-filters.html:28
+#: templates/web/base/reports/_list-filters.html:31
+#: templates/web/base/reports/_list-filters.html:39
msgid "Everything"
msgstr ""
@@ -1196,8 +1215,7 @@ msgstr "Esempio codice postale %s"
msgid "Examples:"
msgstr "Esempi:"
-#: templates/web/base/admin/report_edit.html:122
-#: templates/web/base/report/_inspect.html:42
+#: templates/web/base/admin/report-category.html:3
msgid "Existing category"
msgstr ""
@@ -1205,16 +1223,16 @@ msgstr ""
msgid "Expand map"
msgstr ""
-#: templates/web/base/report/new/form_report.html:52
+#: templates/web/base/report/new/form_report.html:54
msgid "Explain what’s wrong"
msgstr ""
-#: templates/web/base/dashboard/index.html:146
+#: templates/web/base/dashboard/index.html:147
msgid "Export as CSV"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:913
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:179
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:12
msgid "Extern"
@@ -1225,7 +1243,7 @@ msgstr ""
msgid "External ID"
msgstr ""
-#: templates/web/base/admin/body-form.html:87
+#: templates/web/base/admin/body-form.html:89
msgid "External URL"
msgstr ""
@@ -1237,13 +1255,20 @@ msgstr ""
msgid "External team"
msgstr ""
-#: templates/web/base/admin/category_edit.html:25
+#: perllib/FixMyStreet/Cobrand/Default.pm:673
+#: templates/web/base/admin/reportextrafields/edit.html:1
+#: templates/web/base/admin/reportextrafields/index.html:1
+#, fuzzy
+msgid "Extra Fields"
+msgstr "Dati extra:"
+
+#: templates/web/base/admin/contact-form.html:141
#: templates/web/base/admin/report_edit.html:94
msgid "Extra data:"
msgstr "Dati extra:"
-#: templates/web/base/report/_inspect.html:134
-#: templates/web/base/report/_item.html:106
+#: templates/web/base/report/_inspect.html:144
+#: templates/web/base/report/_item.html:108
msgid "Extra details"
msgstr ""
@@ -1251,6 +1276,11 @@ msgstr ""
msgid "Failed to send message"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:58
+#: templates/web/base/admin/reportextrafields/index.html:9
+msgid "Fields"
+msgstr ""
+
#: templates/web/zurich/admin/index-dm.html:33
#: templates/web/zurich/admin/index-sdm.html:30
msgid "Filter report list"
@@ -1264,52 +1294,32 @@ msgstr "Prima volta"
msgid "Fix this by choosing an <strong>area covered</strong> in the <em>Edit body details</em> form below."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:11
-#: templates/web/base/admin/report_blocks.html:26
+#: perllib/FixMyStreet/App/Controller/Admin/States.pm:35
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:133
+#: templates/web/base/admin/states/index.html:29
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:41
-#: templates/web/base/report/banner.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:17
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:45
msgid "Fixed"
msgstr "Risolto"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:13
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:7
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:62
msgid "Fixed - Council"
msgstr "Risolto - Comune"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:12
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:63
msgid "Fixed - User"
msgstr "Risolto - Utente"
-#: templates/web/base/reports/_list-filters.html:14
-msgid "Fixed reports"
-msgstr ""
-
-#: templates/web/base/admin/problem_row.html:37
-msgid "Fixed:"
-msgstr "Risolto:"
-
-#: templates/web/base/admin/body-form.html:95
-#: templates/web/base/admin/responsepriorities/edit.html:41
+#: templates/web/base/admin/body-form.html:97
+#: templates/web/base/admin/responsepriorities/edit.html:53
#: templates/web/zurich/admin/body-form.html:36
msgid "Flag as deleted"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/report_blocks.html:23
msgid "Flag user"
msgstr "Utente segnalato"
-#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: perllib/FixMyStreet/Cobrand/Default.pm:644
#: templates/web/base/admin/users.html:20
msgid "Flagged"
msgstr "Segnalato"
@@ -1326,7 +1336,7 @@ msgstr ""
msgid "Flagged users are not restricted in any way. This is just a list of users that have been marked for attention."
msgstr ""
-#: templates/web/base/admin/report_edit.html:147
+#: templates/web/base/admin/report_edit.html:135
#: templates/web/base/admin/user-form.html:100
msgid "Flagged:"
msgstr "Segnalato:"
@@ -1339,21 +1349,25 @@ msgstr ""
msgid "For best results include a close-up and a wide shot"
msgstr ""
-#: templates/web/base/admin/body-form.html:71
+#: templates/web/base/admin/extra-metadata-form.html:52
+msgid "For each option, <strong>Key</strong> is the value which is stored in the database for that option and <strong>Name</strong> is the value displayed to the user."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:73
msgid "For more information, see <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
msgstr ""
-#: templates/web/base/auth/general.html:95
+#: templates/web/base/auth/general.html:97
#: templates/web/base/report/new/form_user_loggedout_password.html:20
#: templates/web/base/report/update/form_user_loggedout_password.html:19
msgid "Forgotten your password?"
msgstr "Hai dimenticato la tua password?"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:743
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:748
msgid "Forwarded to external body"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:744
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:749
msgid "Forwarded wish to external body"
msgstr ""
@@ -1363,6 +1377,10 @@ msgstr ""
msgid "Frequently Asked Questions"
msgstr "Domande Frequenti"
+#: templates/web/base/admin/stats.html:102
+msgid "Get Count"
+msgstr ""
+
#: templates/web/base/around/_updates.html:3
#: templates/web/base/report/display_tools.html:14
msgid "Get updates"
@@ -1378,10 +1396,14 @@ msgstr "Ottieni gli aggiornamenti di %s problemi"
msgid "Get updates of problems in this %s"
msgstr "Ottieni gli aggiornamenti dei problemi in questo %s"
-#: templates/web/base/alert/_list.html:83
+#: templates/web/base/alert/_list.html:85
msgid "Give me an RSS feed"
msgstr "Dammi un' RSS feed"
+#: templates/web/base/admin/reportextrafields/edit.html:6
+msgid "Give this collection of fields a name. It is not shown publicly, just here in the admin."
+msgstr ""
+
#: templates/web/base/questionnaire/completed.html:14
msgid "Glad to hear it’s been fixed!"
msgstr ""
@@ -1391,8 +1413,9 @@ msgstr ""
#: templates/web/base/admin/index.html:49
#: templates/web/base/alert/index.html:34
#: templates/web/base/around/postcode_form.html:13
-#: templates/web/base/reports/_list-filters.html:38
-#: templates/web/base/reports/_list-filters.html:53
+#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:64
+#: templates/web/base/reports/index.html:75
#: templates/web/zurich/admin/stats.html:26
msgid "Go"
msgstr "Vai"
@@ -1401,7 +1424,7 @@ msgstr "Vai"
msgid "Going to send questionnaire?"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:726
+#: perllib/FixMyStreet/Cobrand/Default.pm:731
msgid "Grant access to the admin"
msgstr ""
@@ -1409,10 +1432,6 @@ msgstr ""
msgid "Graph of problem creation by status over time"
msgstr ""
-#: templates/web/base/reports/index.html:15
-msgid "Greyed-out lines are councils that no longer exist."
-msgstr "Le linee evidenziate in grigio sono i comuni che non esistono più."
-
#: templates/web/base/questionnaire/index.html:48
msgid "Has this problem been fixed?"
msgstr "E' stato risolto questo problema?"
@@ -1423,7 +1442,7 @@ msgstr "Avevi mai segnalato un problema ad un comune precedentemente, o questa Ã
#: templates/web/base/main_nav_items.html:40
#: templates/web/zurich/about/faq-de-ch.html:1
-#: templates/web/zurich/footer.html:23
+#: templates/web/zurich/footer.html:22
#: templates/web/zurich/nav_over_content.html:8
msgid "Help"
msgstr "Aiuto"
@@ -1433,22 +1452,13 @@ msgstr "Aiuto"
msgid "Help <strong>%s</strong> resolve your problem quicker, by providing some extra detail. This extra information will not be published online."
msgstr ""
-#: templates/web/base/alert/_list.html:9
-msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
-msgstr "Qui trovi i tipi di avvertimenti sui problemi locali per &lsquo;%s&rsquo;."
-
-#: templates/web/zurich/footer.html:12
+#: templates/web/zurich/footer.html:11
msgid "Hi %s"
msgstr "Ciao %s"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:906
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:19
-#: templates/web/base/admin/report_blocks.html:28
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:911
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:60
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:19
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:11
#: templates/web/zurich/admin/stats.html:32
@@ -1456,16 +1466,33 @@ msgstr "Ciao %s"
msgid "Hidden"
msgstr "Nascosto"
-#: templates/web/base/report/_main.html:105
-#, fuzzy
+#: templates/web/base/report/_main.html:109
msgid "Hide entire report"
-msgstr "Rinvia la segnalazione"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:1
+#: templates/web/base/my/anonymize.html:2
+msgid "Hide my name"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:21
+msgid "Hide my name everywhere"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:10
+msgid "Hide my name in this update"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:16
+msgid "Hide my name on this report"
+msgstr ""
#: templates/web/base/around/display_location.html:67
msgid "Hide old"
msgstr ""
#: templates/web/base/around/display_location.html:62
+#: templates/web/base/js/translation_strings.html:55
msgid "Hide pins"
msgstr ""
@@ -1473,7 +1500,16 @@ msgstr ""
msgid "Hide update completely?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:49
+#: templates/web/base/report/_report_meta_info.html:3
+#: templates/web/base/report/update.html:55
+msgid "Hide your name?"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:38
+msgid "Hint"
+msgstr ""
+
+#: templates/web/base/admin/category_edit.html:24
msgid "History"
msgstr "Cronologia"
@@ -1490,12 +1526,12 @@ msgid "How to send successful reports"
msgstr "Come inviare segnalazioni di successo"
#: templates/web/base/tokens/confirm_problem.html:36
-#: templates/web/base/tokens/confirm_problem.html:40
+#: templates/web/base/tokens/confirm_problem.html:41
msgid "I just reported a problem on @fixmystreet"
msgstr ""
-#: templates/web/base/tokens/confirm_update.html:19
-#: templates/web/base/tokens/confirm_update.html:23
+#: templates/web/base/tokens/confirm_update.html:20
+#: templates/web/base/tokens/confirm_update.html:25
msgid "I just updated a problem on @fixmystreet"
msgstr ""
@@ -1515,17 +1551,25 @@ msgstr "Mi spiace non possiamo localizzare il tuo problema nel database.\n"
msgid "ID"
msgstr "ID"
-#: templates/web/base/admin/body-form.html:30
-#: templates/web/base/admin/body-form.html:31
+#: templates/web/base/admin/body-form.html:32
+#: templates/web/base/admin/body-form.html:33
msgid ""
"Identify a <strong>parent</strong> if this body is itself part of another body.\n"
" For basic installations, you don't need to join bodies in this way."
msgstr ""
+#: templates/web/base/auth/token.html:19
+msgid "If there's a user associated with the address you entered, we've sent a confirmation email."
+msgstr ""
+
#: templates/web/base/admin/responsepriorities/edit.html:23
msgid "If this priority is passed to an external service (e.g. Exor/Confirm) enter the priority code to use with that service here."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:24
+msgid "If ticked the user won’t see an input field, just the ‘Description’ text."
+msgstr ""
+
#: templates/web/base/admin/contact-form.html:14
msgid ""
"If two or more bodies serve the same location, FixMyStreet combines identical categories into a single entry in\n"
@@ -1536,7 +1580,7 @@ msgstr ""
msgid "If you get some more information about the status of your problem, please come back to the site and leave an update."
msgstr ""
-#: templates/web/base/admin/responsepriorities/edit.html:33
+#: templates/web/base/admin/responsepriorities/edit.html:45
msgid "If you only want this priority to be an option for specific categories, pick them here. By default they will show for all categories."
msgstr ""
@@ -1559,7 +1603,7 @@ msgid ""
"(please note it will not be sent to the council)."
msgstr ""
-#: templates/web/base/admin/contact-form.html:30
+#: templates/web/base/admin/contact-form.html:32
msgid "If you're using <strong>a send method that is not email</strong>, enter the service ID (Open311) or equivalent identifier here."
msgstr ""
@@ -1586,7 +1630,7 @@ msgid ""
" when they are shown on the site. Enter the ID (number) of that user."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:133
+#: perllib/FixMyStreet/App/Controller/Contact.pm:134
msgid "Illegal ID"
msgstr "ID illegale"
@@ -1594,13 +1638,6 @@ msgstr "ID illegale"
msgid "Illegal feed selection"
msgstr "Selezione feed illegale"
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "In Progress"
-msgstr "In progresso"
-
#: templates/web/base/admin/flagged.html:39
msgid "In abuse table?"
msgstr ""
@@ -1609,18 +1646,17 @@ msgstr ""
msgid "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:192
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:954
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:9
-#: templates/web/base/report/banner.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:5
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:197
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:959
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:8
msgid "In progress"
msgstr "In corso"
+#: templates/web/base/admin/contact-form.html:57
+msgid "Inactive"
+msgstr ""
+
#: templates/web/base/tokens/confirm_alert.html:11
msgid "Inbox zero, here we come!"
msgstr ""
@@ -1637,11 +1673,15 @@ msgstr "Includi segnalazioni non confermate"
msgid "Incorrect has_photo value \"%s\""
msgstr ""
-#: templates/web/base/admin/contact-form.html:84
+#: templates/web/base/report/_inspect.html:5
+msgid "Inspect report"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:85
msgid "Inspection required"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:711
+#: perllib/FixMyStreet/Cobrand/Default.pm:715
msgid "Instruct contractors to fix problems"
msgstr ""
@@ -1649,13 +1689,6 @@ msgstr ""
msgid "Internal notes"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:11
-msgid "Internal referral"
-msgstr ""
-
#: templates/web/base/offline/appcache.html:3
msgid "Internet glitch"
msgstr ""
@@ -1664,7 +1697,7 @@ msgstr ""
msgid "Invalid agency_responsible value %s"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1502
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1607
msgid "Invalid end date"
msgstr ""
@@ -1672,26 +1705,15 @@ msgstr ""
msgid "Invalid format %s specified."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report.pm:398
+#: perllib/FixMyStreet/App/Controller/Report.pm:409
msgid "Invalid location. New location must be covered by the same council."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1498
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1603
msgid "Invalid start date"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:7
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:4
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Investigating"
-msgstr "Investigando"
-
-#: templates/web/base/contact/blurb.html:8
+#: templates/web/base/contact/blurb.html:2
msgid "It's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there."
msgstr ""
@@ -1699,37 +1721,59 @@ msgstr ""
msgid "It’s on its way to the council right now."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:177
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:182
msgid "Jurisdiction Unknown"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:15
msgid "Jurisdiction unknown"
msgstr ""
-#: templates/web/base/auth/general.html:91
+#: templates/web/base/auth/general.html:93
#: templates/web/base/report/new/form_user_loggedout_password.html:16
#: templates/web/base/report/update/form_user_loggedout_password.html:15
#: templates/web/zurich/auth/general.html:40
msgid "Keep me signed in on this computer"
msgstr "Lasciami loggato su questo computer"
+#: templates/web/base/admin/extra-metadata-form.html:61
+msgid "Key"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:9
+#: templates/web/base/admin/states/index.html:95
+msgid "Label"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:6
+#: templates/web/base/admin/reportextrafields/edit.html:45
+msgid "Language"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/index.html:8
+msgid "Languages"
+msgstr ""
+
#: templates/web/base/dashboard/index.html:50
msgid "Last 4 weeks"
msgstr ""
#: templates/web/base/dashboard/index.html:49
-#, fuzzy
+#: templates/web/base/reports/index.html:38
msgid "Last 7 days"
-msgstr "Ultimo aggiornamento:"
+msgstr ""
#: templates/web/base/admin/body.html:74
#: templates/web/zurich/admin/body.html:16
msgid "Last editor"
msgstr "Ultima modifica"
+#: templates/web/base/questionnaire/index.html:25
+msgid "Last update"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:89
msgid "Last update:"
msgstr "Ultimo aggiornamento:"
@@ -1738,23 +1782,27 @@ msgstr "Ultimo aggiornamento:"
msgid "Last&nbsp;update:"
msgstr "Ultimo&nbsp;aggiornamento:"
-#: templates/web/base/report/_inspect.html:20
-#: templates/web/base/report/_item.html:86
+#: templates/web/base/report/_inspect.html:30
+#: templates/web/base/report/_item.html:88
msgid "Latitude/Longitude:"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:50
+#: templates/web/base/reports/_list-filters.html:61
msgid "Least recently updated"
msgstr ""
-#: templates/web/base/admin/body-form.html:127
+#: templates/web/base/admin/body-form.html:129
msgid "Leave this blank if all reports to this body should be sent using the same send method (e.g., \"%s\")."
msgstr ""
-#: templates/web/base/dashboard/index.html:150
+#: templates/web/base/dashboard/index.html:151
msgid "Less than 7 days old"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:47
+msgid "List"
+msgstr ""
+
#: templates/web/base/admin/body.html:31
msgid "List all reported problems"
msgstr "Lista di tutti i problemi segnalati"
@@ -1785,23 +1833,23 @@ msgstr "Segnalazioni locali"
msgid "Locate the problem on a map of the area"
msgstr "Localizza il problema nella mappa della zona"
-#: templates/web/base/auth/general.html:22
+#: templates/web/base/auth/general.html:24
#: templates/web/base/report/new/form_user_loggedout.html:6
#: templates/web/base/report/update/form_user_loggedout.html:7
msgid "Log in with Facebook"
msgstr ""
-#: templates/web/base/auth/general.html:30
+#: templates/web/base/auth/general.html:32
#: templates/web/base/report/new/form_user_loggedout.html:14
#: templates/web/base/report/update/form_user_loggedout.html:15
msgid "Log in with Twitter"
msgstr ""
-#: templates/web/base/js/translation_strings.html:59
+#: templates/web/base/js/translation_strings.html:62
msgid "Log in with email"
msgstr ""
-#: templates/web/base/dashboard/index.html:145
+#: templates/web/base/dashboard/index.html:146
#: templates/web/base/dashboard/index.html:38
msgid "Look up"
msgstr ""
@@ -1810,11 +1858,11 @@ msgstr ""
msgid "MAP"
msgstr "MAPPA"
-#: perllib/FixMyStreet/Cobrand/Default.pm:712
+#: perllib/FixMyStreet/Cobrand/Default.pm:716
msgid "Manage shortlist"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:45
+#: templates/web/base/reports/_list-filters.html:56
msgid "Manual order"
msgstr ""
@@ -1830,19 +1878,11 @@ msgstr ""
msgid "Mark users whose behaviour you want to keep a check on as <strong>flagged</strong>."
msgstr ""
-#: templates/web/base/reports/index.html:27
-msgid "Marked fixed/closed in the past eight weeks"
-msgstr ""
-
-#: templates/web/base/reports/index.html:28
-msgid "Marked fixed/closed more than eight weeks ago"
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/Default.pm:710
+#: perllib/FixMyStreet/Cobrand/Default.pm:714
msgid "Markup problem details"
msgstr ""
-#: templates/web/base/contact/index.html:96
+#: templates/web/base/contact/index.html:100
msgid "Message"
msgstr "Messaggio"
@@ -1862,68 +1902,69 @@ msgstr ""
msgid "Missing jurisdiction_id"
msgstr ""
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:706
+#: perllib/FixMyStreet/Cobrand/Default.pm:710
msgid "Moderate report details"
msgstr ""
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate this report"
msgstr ""
#: templates/web/base/report/update.html:12
-#, fuzzy
msgid "Moderate this update"
-msgstr "Segnalato da %s al %s"
+msgstr ""
-#: templates/web/base/report/_main.html:69
-#: templates/web/base/report/update.html:49
-#, fuzzy
+#: templates/web/base/report/_main.html:73
+#: templates/web/base/report/update.html:58
msgid "Moderated by %s at %s"
-msgstr "Segnalato da %s al %s"
+msgstr ""
#: templates/web/zurich/admin/stats.html:34
msgid "Moderated by division within one working day"
msgstr ""
-#: templates/web/base/report/_main.html:109
-#: templates/web/base/report/update.html:57
-#, fuzzy
+#: templates/web/base/report/_main.html:113
+#: templates/web/base/report/update.html:66
msgid "Moderation reason:"
-msgstr "altre aree:"
+msgstr ""
#: templates/web/base/admin/stats.html:11
msgid "Month"
msgstr "Mese"
-#: templates/web/base/reports/_list-filters.html:51
+#: templates/web/base/reports/_list-filters.html:62
msgid "Most commented"
msgstr ""
#: templates/web/base/admin/bodies.html:25
#: templates/web/base/admin/body-form.html:24
+#: templates/web/base/admin/extra-metadata-form.html:65
#: templates/web/base/admin/flagged.html:16
#: templates/web/base/admin/flagged.html:37
#: templates/web/base/admin/index.html:62
#: templates/web/base/admin/list_updates.html:7
+#: templates/web/base/admin/reportextrafields/edit.html:11
+#: templates/web/base/admin/reportextrafields/index.html:6
#: templates/web/base/admin/reports.html:14
#: templates/web/base/admin/responsepriorities/list.html:6
+#: templates/web/base/admin/states/index.html:108
+#: templates/web/base/admin/states/index.html:11
#: templates/web/base/admin/users.html:16
-#: templates/web/base/auth/general.html:106
-#: templates/web/base/report/new/form_user_loggedin.html:40
+#: templates/web/base/auth/general.html:108
+#: templates/web/base/report/new/form_user_loggedin.html:42
#: templates/web/base/report/new/form_user_loggedout_by_email.html:7
-#: templates/web/base/report/update/form_name.html:23
-#: templates/web/base/reports/index.html:23
+#: templates/web/base/report/update/form_name.html:27
#: templates/web/zurich/admin/body-form.html:4
#: templates/web/zurich/auth/general.html:60
#: templates/web/zurich/report/new/fill_in_details_form.html:59
msgid "Name"
msgstr "Nome"
-#: templates/web/base/admin/report_edit.html:139
+#: templates/web/base/admin/report_edit.html:127
#: templates/web/base/admin/responsepriorities/edit.html:13
#: templates/web/base/admin/update_edit.html:34
#: templates/web/base/admin/user-form.html:16
@@ -1935,7 +1976,7 @@ msgstr "Nome:"
msgid "Name: %s"
msgstr "Nome: %s"
-#: templates/web/base/report/_inspect.html:28
+#: templates/web/base/report/_inspect.html:38
msgid "Navigate to this problem"
msgstr ""
@@ -1944,34 +1985,38 @@ msgstr ""
msgid "Nearest named road to the pin placed on the map (automatically generated using OpenStreetMap): %s%s"
msgstr "Il più vicino nome della strada al segno posizionato sulla mappa (automaticamente generato usando OpenStreetMap): %s%s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:129
+#: perllib/FixMyStreet/Cobrand/UK.pm:134
msgid "Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:527
-#: perllib/FixMyStreet/Cobrand/Default.pm:567
+#: perllib/FixMyStreet/Cobrand/Default.pm:538
+#: perllib/FixMyStreet/Cobrand/Default.pm:566
msgid "Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"
msgstr ""
-#: perllib/FixMyStreet/Script/Alerts.pm:319
+#: perllib/FixMyStreet/Script/Alerts.pm:316
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s\n"
"\n"
msgstr ""
-#: templates/web/base/auth/token.html:17 templates/web/base/email_sent.html:5
+#: templates/web/base/auth/token.html:18
+msgid "Nearly done!"
+msgstr ""
+
+#: templates/web/base/auth/token.html:22 templates/web/base/email_sent.html:5
msgid "Nearly done! Now check your email&hellip;"
msgstr ""
-#: templates/web/base/reports/index.html:24
-msgid "New <br>problems"
-msgstr "Nuovi <br>problemi"
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:131
+msgid "New"
+msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:259
+#: perllib/FixMyStreet/App/Controller/Admin.pm:262
msgid "New body added"
msgstr "Nuovo corpo aggiunto"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:405
+#: perllib/FixMyStreet/App/Controller/Admin.pm:386
msgid "New category contact added"
msgstr "Nuova categoria contatto aggiunta"
@@ -1997,7 +2042,7 @@ msgid "New password:"
msgstr ""
#: templates/web/base/admin/responsepriorities/edit.html:4
-#: templates/web/base/admin/responsepriorities/list.html:32
+#: templates/web/base/admin/responsepriorities/list.html:34
msgid "New priority"
msgstr ""
@@ -2026,6 +2071,7 @@ msgid "New reports"
msgstr ""
#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/states/index.html:91
msgid "New state"
msgstr "Nuovo stato"
@@ -2035,7 +2081,7 @@ msgstr "Nuovo stato"
msgid "New template"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:47
+#: templates/web/base/reports/_list-filters.html:58
msgid "Newest"
msgstr ""
@@ -2043,20 +2089,19 @@ msgstr ""
msgid "Next"
msgstr "Prossimo"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1203
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
+#: perllib/FixMyStreet/Cobrand/Default.pm:1237
#: templates/web/base/admin/category_edit.html:4
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:137
+#: templates/web/base/admin/report_edit.html:125
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:26
#: templates/web/base/questionnaire/creator_fixed.html:16
#: templates/web/base/questionnaire/index.html:106
#: templates/web/base/questionnaire/index.html:55
+#: templates/web/base/report/_inspect.html:92
msgid "No"
msgstr "No"
@@ -2072,7 +2117,7 @@ msgstr "Nessun corpo"
msgid "No council"
msgstr "Nessuno comune"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:445
+#: perllib/FixMyStreet/DB/Result/Problem.pm:372
msgid "No council selected"
msgstr "Nessun comune selezionato"
@@ -2088,25 +2133,16 @@ msgstr ""
msgid "No flagged users found."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:14
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:8
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "No further action"
-msgstr ""
-
#: templates/web/zurich/admin/report_edit-sdm.html:125
#: templates/web/zurich/admin/report_edit.html:259
msgid "No further updates"
msgstr "Nessun ulteriore aggiornamento"
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:84
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:68
msgid "No inspections by that inspector in the selected date range."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:86
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:70
msgid "No inspections in the selected date range."
msgstr ""
@@ -2114,8 +2150,8 @@ msgstr ""
msgid "No result returned"
msgstr "Nessun risultato ritornato"
-#: templates/web/base/admin/body-form.html:66
-#: templates/web/base/admin/body-form.html:67
+#: templates/web/base/admin/body-form.html:68
+#: templates/web/base/admin/body-form.html:69
msgid ""
"No specific areas are currently available, because the <code>MAPIT_URL</code> in\n"
" your config file is not pointing to a live MapIt service."
@@ -2148,17 +2184,8 @@ msgid ""
" activity across their body), the ability to hide reports or set special report statuses."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:9
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "Not Responsible"
-msgstr "Non responsabile"
-
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:181
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:186
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:933
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:13
msgid "Not contactable"
@@ -2177,7 +2204,7 @@ msgid "Not reported to council"
msgstr "Non segnalato al comune"
#: templates/web/base/admin/body.html:75
-#: templates/web/base/admin/category_edit.html:57
+#: templates/web/base/admin/category_edit.html:31
#: templates/web/zurich/admin/body.html:17
msgid "Note"
msgstr "Nota"
@@ -2187,7 +2214,7 @@ msgid "Note that when including unconfirmed reports we use the date the report w
msgstr "Tieni presente che per includere delle segnalazioni non confermate, usiamo la data della creazione della segnalazione, la quale potrebbe non essere nello stesso mese in cui la segnalazione stessa è stata poi confermata, quindi i numeri potrebbero saltare un po."
#: templates/web/zurich/admin/body.html:55
-#: templates/web/zurich/admin/contact-form.html:17
+#: templates/web/zurich/admin/contact-form.html:19
msgid "Note:"
msgstr "Nota:"
@@ -2199,6 +2226,10 @@ msgstr "Nota: <strong>%s</strong>"
msgid "Notes from SDM to DM"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:26
+msgid "Notice"
+msgstr ""
+
#: templates/web/base/report/new/oauth_email_form.html:17
msgid "Now to submit your report&hellip;"
msgstr "Ora per inserire la tua segnalazione&hellip;"
@@ -2209,63 +2240,43 @@ msgstr "Ora per inserire la tua segnalazione&hellip;"
msgid "Now to submit your update&hellip;"
msgstr "Ora per inserire il tuo aggiornamento&hellip;"
+#: templates/web/base/reports/index.html:98
+msgid "Number of problems reported in each category, in the last 7 days."
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:43
msgid "OK"
msgstr "OK"
-#: templates/web/base/js/translation_strings.html:67
+#: templates/web/base/js/translation_strings.html:70
msgid "Offline data cleared"
msgstr ""
-#: templates/web/base/js/translation_strings.html:64
+#: templates/web/base/js/translation_strings.html:67
msgid "Offline update data saved"
msgstr ""
-#: templates/web/base/reports/index.html:26
-msgid "Old / unknown <br>problems"
-msgstr "Vecchi / sconosciuti <br>problemi"
-
#: templates/web/base/admin/questionnaire.html:24
msgid "Old state"
msgstr "Vecchio stato"
-#: templates/web/base/reports/index.html:28
-msgid "Older <br>fixed"
-msgstr "Più vecchi <br> risolti"
-
-#: templates/web/base/reports/index.html:25
-msgid "Older <br>problems"
-msgstr "Vecchi <br>problemi"
-
-#: templates/web/base/reports/_list-filters.html:48
+#: templates/web/base/reports/_list-filters.html:59
msgid "Oldest"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:900
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:25
-#: templates/web/base/admin/report_blocks.html:6
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:905
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:10
+#: templates/web/base/admin/states/index.html:102
+#: templates/web/base/admin/states/index.html:25
+#: templates/web/base/admin/states/index.html:32
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:3
-#: templates/web/base/report/update/form_update.html:41
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:7
#: templates/web/zurich/admin/update_edit.html:18
msgid "Open"
msgstr "Aperto"
-#: templates/web/base/reports/index.html:25
-msgid "Open for more than four weeks, with an update within the past eight weeks"
-msgstr ""
-
-#: templates/web/base/reports/index.html:26
-msgid "Open, but not had any update in eight weeks"
-msgstr ""
-
#: templates/web/base/admin/open311-form-fields.html:47
msgid "Open311 API Key"
msgstr ""
@@ -2286,26 +2297,38 @@ msgstr ""
msgid "Open311 specification"
msgstr ""
-#: templates/web/base/alert/_list.html:61
-msgid "Or problems reported to:"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "Options"
msgstr ""
-#: templates/web/base/alert/_list.html:37
-msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
-msgstr "O puoi iscriverti agli avvisi basati sul tuo quartiere o comune di appartenenza:"
+#: templates/web/base/alert/_list.html:84
+msgid "Or subscribe by RSS"
+msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:1061
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:659
-#: perllib/FixMyStreet/DB/Result/Problem.pm:642
-#: perllib/FixMyStreet/DB/Result/Problem.pm:649
-#: perllib/FixMyStreet/DB/Result/Problem.pm:664
-#: perllib/FixMyStreet/DB/Result/Problem.pm:673
+#: templates/web/base/admin/extra-metadata-form.html:8
+msgid "Order"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1107
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:675
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:676
+#: perllib/FixMyStreet/DB/Result/Problem.pm:579
+#: perllib/FixMyStreet/DB/Result/Problem.pm:586
+#: perllib/FixMyStreet/DB/Result/Problem.pm:601
+#: perllib/FixMyStreet/DB/Result/Problem.pm:610
#: perllib/FixMyStreet/Script/Reports.pm:183
#: perllib/FixMyStreet/Script/Reports.pm:198
msgid "Other"
msgstr "Altro"
+#: templates/web/base/reports/index.html:107
+msgid "Other categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:92
+msgid "Overall average"
+msgstr ""
+
#: templates/web/base/admin/list_updates.html:8
msgid "Owner"
msgstr "Proprietario"
@@ -2315,17 +2338,16 @@ msgstr "Proprietario"
msgid "Page Not Found"
msgstr "Pagina non trovata"
-#: templates/web/base/admin/body-form.html:37
+#: templates/web/base/admin/body-form.html:39
#: templates/web/zurich/admin/body-form.html:14
msgid "Parent"
msgstr "Parente"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:20
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:61
msgid "Partial"
msgstr "Parziale"
-#: templates/web/base/auth/general.html:109
+#: templates/web/base/auth/general.html:111
#: templates/web/base/report/new/form_user_loggedout_by_email.html:28
#: templates/web/base/report/update/form_user_loggedout_by_email.html:6
#: templates/web/zurich/auth/general.html:32
@@ -2333,7 +2355,7 @@ msgstr "Parziale"
msgid "Password (optional)"
msgstr "Password (opzionale)"
-#: templates/web/base/auth/general.html:82
+#: templates/web/base/auth/general.html:84
msgid "Password:"
msgstr "Password:"
@@ -2345,17 +2367,21 @@ msgstr ""
msgid "Permissions:"
msgstr ""
+#: templates/web/base/report/_inspect.html:19
+msgid "Phone Reporter:"
+msgstr ""
+
#: templates/web/zurich/report/new/fill_in_details_form.html:65
msgid "Phone number"
msgstr "Numero di telefono"
-#: templates/web/base/report/new/form_user_loggedin.html:57
+#: templates/web/base/report/new/form_user_loggedin.html:59
#: templates/web/base/report/new/form_user_loggedout_by_email.html:25
msgid "Phone number (optional)"
msgstr "Numero di telefono (opzionale)"
#: perllib/FixMyStreet/Script/Reports.pm:87
-#: templates/web/base/admin/report_edit.html:146
+#: templates/web/base/admin/report_edit.html:134
#: templates/web/base/admin/user-form.html:21
#: templates/web/zurich/admin/stats.html:39
msgid "Phone:"
@@ -2364,9 +2390,9 @@ msgstr "Telefono:"
#: templates/web/base/questionnaire/index.html:78
#: templates/web/base/questionnaire/index.html:93
#: templates/web/base/questionnaire/index.html:95
-#: templates/web/base/report/new/form_report.html:28
-#: templates/web/base/report/new/form_report.html:43
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/new/form_report.html:45
+#: templates/web/base/report/new/form_report.html:47
#: templates/web/base/report/update/form_update.html:22
#: templates/web/base/report/update/form_update.html:24
#: templates/web/base/report/update/form_update.html:7
@@ -2384,12 +2410,12 @@ msgstr "Foto"
msgid "Photo is required."
msgstr ""
-#: templates/web/zurich/admin/contact-form.html:14
+#: templates/web/zurich/admin/contact-form.html:16
msgid "Photo required"
msgstr ""
#: templates/web/base/questionnaire/index.html:78
-#: templates/web/base/report/new/form_report.html:28
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/update/form_update.html:7
#: templates/web/zurich/report/new/fill_in_details_form.html:20
msgid "Photos"
@@ -2399,17 +2425,18 @@ msgstr ""
msgid "Photos of recent nearby reports"
msgstr "Foto delle piu vicine e recenti segnalazioni"
+#: templates/web/base/reports/index.html:63
+#: templates/web/base/reports/index.html:66
+msgid "Pick your council"
+msgstr ""
+
#: templates/web/base/around/display_location.html:76
#: templates/web/base/js/translation_strings.html:30
msgid "Place pin on map"
msgstr "Inserisci il cursore sulla mappa"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:940
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:946
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:8
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:945
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:951
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:9
#: templates/web/zurich/admin/index-dm.html:9
@@ -2427,31 +2454,27 @@ msgstr "Per favore controlla la password e prova ancora"
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:18
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:43
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:45
#: templates/web/zurich/auth/general.html:3
#: templates/web/zurich/auth/general.html:9
msgid "Please check your email address is correct"
msgstr "Per favore controlla che il tuo indirizzo email è corretto"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:350
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:844
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:867
-#: perllib/FixMyStreet/DB/Result/Problem.pm:456
+#: perllib/FixMyStreet/App/Controller/Admin.pm:329
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:873
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:896
+#: perllib/FixMyStreet/DB/Result/Problem.pm:383
#: templates/web/base/js/translation_strings.html:9
msgid "Please choose a category"
msgstr "Per favore scegli una categoria"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:462
-msgid "Please choose a property type"
-msgstr "Per favore scegli un tipo di proprietà"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:396
+#: perllib/FixMyStreet/App/Controller/Admin.pm:377
#: templates/web/base/admin/bodies.html:4 templates/web/base/admin/body.html:11
msgid "Please correct the errors below"
msgstr ""
-#: templates/web/base/contact/blurb.html:12
+#: templates/web/base/contact/blurb.html:6
msgid ""
"Please do <strong>not</strong> report problems through this form; messages go to\n"
"the team behind this site, not a council. To report a problem,\n"
@@ -2462,18 +2485,18 @@ msgstr ""
msgid "Please do not be abusive&nbsp;&mdash; abusing your council devalues the service for all users."
msgstr "Per favore non abusarne&nbsp;&mdash; abusandone il comune svaluterà il servizio per tutti gli utenti."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:351
-#: perllib/FixMyStreet/DB/Result/Comment.pm:127
+#: perllib/FixMyStreet/App/Controller/Admin.pm:330
+#: perllib/FixMyStreet/DB/Result/Comment.pm:128
#: templates/web/base/js/translation_strings.html:2
msgid "Please enter a message"
msgstr "Per favore inserisci un messaggio"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1200
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1364
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1305
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1469
msgid "Please enter a name"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:478
+#: perllib/FixMyStreet/App/Controller/Admin.pm:497
msgid "Please enter a name for this body"
msgstr ""
@@ -2483,15 +2506,15 @@ msgstr ""
msgid "Please enter a password"
msgstr "Per favore inserisci la password"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:114
-#: perllib/FixMyStreet/DB/Result/Problem.pm:439
+#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/DB/Result/Problem.pm:366
#: templates/web/base/js/translation_strings.html:3
msgid "Please enter a subject"
msgstr "Per favore inserisci il soggetto"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1197
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1361
-#: perllib/FixMyStreet/App/Controller/Admin.pm:363
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1302
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1466
+#: perllib/FixMyStreet/App/Controller/Admin.pm:343
#: perllib/FixMyStreet/DB/Result/User.pm:164
#: templates/web/base/js/translation_strings.html:12
#: templates/web/base/js/translation_strings.html:16
@@ -2499,21 +2522,21 @@ msgid "Please enter a valid email"
msgstr "Per favore inserire un email valida"
#: perllib/FixMyStreet/App/Controller/Alert.pm:350
-#: perllib/FixMyStreet/App/Controller/Contact.pm:124
+#: perllib/FixMyStreet/App/Controller/Contact.pm:125
msgid "Please enter a valid email address"
msgstr "Per favore inserire un indirizzo email valido"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:442
+#: perllib/FixMyStreet/DB/Result/Problem.pm:369
#: templates/web/base/js/translation_strings.html:4
msgid "Please enter some details"
msgstr "Per favore inserire qualche dettaglio "
-#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/App/Controller/Contact.pm:114
#: perllib/FixMyStreet/DB/Result/User.pm:161
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:17
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:42
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:44
#: templates/web/base/js/translation_strings.html:11
#: templates/web/base/js/translation_strings.html:15
#: templates/web/zurich/auth/general.html:3
@@ -2530,14 +2553,14 @@ msgstr "Per favore inserisci il tuo indirizzo email"
msgid "Please enter your first name"
msgstr "Per favore inserisci il tuo nome"
-#: perllib/FixMyStreet/Cobrand/UK.pm:320
+#: perllib/FixMyStreet/Cobrand/UK.pm:326
#: templates/web/base/js/translation_strings.html:7
msgid "Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below"
msgstr "Per favore inserisci il tuo nome completo, i comuni hanno bisogno di questa informazione - Se non vuoi che il tuo nome venga mostrato sul sito, deseleziona il box qui sotto"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:112
-#: perllib/FixMyStreet/DB/Result/Comment.pm:124
-#: perllib/FixMyStreet/DB/Result/Problem.pm:450
+#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/DB/Result/Comment.pm:125
+#: perllib/FixMyStreet/DB/Result/Problem.pm:377
#: perllib/FixMyStreet/DB/Result/User.pm:157
#: templates/web/base/js/translation_strings.html:6
msgid "Please enter your name"
@@ -2600,7 +2623,7 @@ msgstr ""
msgid "Please note:"
msgstr "Attenzione:"
-#: perllib/FixMyStreet/App/Controller/Report.pm:358
+#: perllib/FixMyStreet/App/Controller/Report.pm:353
msgid "Please provide a public update for this report."
msgstr ""
@@ -2636,11 +2659,11 @@ msgstr "Si prega di indicare se il problema è stato risolto"
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:122
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:156
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:158
-#: templates/web/base/js/translation_strings.html:57
+#: templates/web/base/js/translation_strings.html:60
msgid "Please upload an image only"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/App/Controller/Contact.pm:116
msgid "Please write a message"
msgstr "Per favore scrivi un messaggio"
@@ -2648,30 +2671,29 @@ msgstr "Per favore scrivi un messaggio"
msgid "Please write your update here"
msgstr "Per favore scrivi il tuo aggiornamento qui"
-#: templates/web/base/contact/index.html:103
#: templates/web/base/report/update-form.html:25
#: templates/web/base/report/update/form_user_loggedout_by_email.html:14
#: templates/web/base/report/update/form_user_loggedout_password.html:10
msgid "Post"
msgstr "Posta"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:242
+#: perllib/FixMyStreet/DB/Result/Comment.pm:231
msgid "Posted anonymously at %s"
msgstr "Postato anonimamente al %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:257
+#: perllib/FixMyStreet/DB/Result/Comment.pm:255
msgid "Posted by %s at %s"
msgstr "Postato da %s al %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:252
+#: perllib/FixMyStreet/DB/Result/Comment.pm:243
msgid "Posted by <strong>%s</strong> (%s) at %s"
msgstr "Postato da <strong>%s</strong> (%s) al %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:254
+#: perllib/FixMyStreet/DB/Result/Comment.pm:245
msgid "Posted by <strong>%s</strong> at %s"
msgstr "Postato da <strong>%s</strong> al %s"
-#: templates/web/base/front/footer-marketing.html:12
+#: templates/web/base/front/footer-marketing.html:6
msgid "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
msgstr ""
@@ -2683,8 +2705,8 @@ msgstr "Precedente"
msgid "Priorities"
msgstr ""
-#: templates/web/base/report/_inspect.html:113
-#: templates/web/base/report/_item.html:98
+#: templates/web/base/report/_inspect.html:123
+#: templates/web/base/report/_item.html:100
msgid "Priority"
msgstr ""
@@ -2698,16 +2720,15 @@ msgstr "Privacy"
msgid "Privacy and cookies"
msgstr ""
-#: templates/web/base/admin/body.html:91
-#: templates/web/base/admin/contact-form.html:74
-#: templates/web/base/admin/report_edit.html:149
+#: templates/web/base/admin/body.html:88
+#: templates/web/base/admin/contact-form.html:75
+#: templates/web/base/admin/report_edit.html:137
msgid "Private"
msgstr "Privato"
#: templates/web/base/report/new/form_user.html:1
-#, fuzzy
msgid "Private details"
-msgstr "Privato"
+msgstr ""
#: templates/web/base/maps/pin.html:13
msgid "Problem"
@@ -2731,7 +2752,7 @@ msgstr "Problema %s inviato al comune %s"
msgid "Problem breakdown by state"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1167
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1272
msgid "Problem marked as open."
msgstr "Problema marcato come aperto."
@@ -2739,11 +2760,16 @@ msgstr "Problema marcato come aperto."
msgid "Problem state change based on survey results"
msgstr "Il cambio di stato del problema è basato sui risultati del sondaggio"
-#: perllib/FixMyStreet/Cobrand/Default.pm:705
+#: perllib/FixMyStreet/Cobrand/Default.pm:709
#: templates/web/base/admin/flagged.html:10
msgid "Problems"
msgstr "Problemi"
+#: templates/web/base/alert/_list.html:22
+#, fuzzy
+msgid "Problems in an area"
+msgstr "Problemi dentro %s quartiere"
+
#: templates/web/base/report/display_tools.html:22
msgid "Problems nearby"
msgstr "Problemi vicino"
@@ -2756,30 +2782,33 @@ msgstr "Problemi sulla mappa"
msgid "Problems recently reported fixed on FixMyStreet"
msgstr "Problemi recentemente segnalati e risolti su FIxMyStreet"
-#: templates/web/base/alert/_list.html:22
-msgid "Problems within %.1fkm of this location"
-msgstr ""
+#: templates/web/base/alert/_list.html:29
+#, fuzzy
+msgid "Problems within %.1fkm of %s"
+msgstr "Problemi dentro %s"
-#: perllib/FixMyStreet/Cobrand/Default.pm:833
+#: perllib/FixMyStreet/Cobrand/Default.pm:838
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:137
-#: perllib/FixMyStreet/Cobrand/UK.pm:209
+#: perllib/FixMyStreet/Cobrand/UK.pm:215 perllib/FixMyStreet/Cobrand/UK.pm:257
+#: perllib/FixMyStreet/Cobrand/UK.pm:269
msgid "Problems within %s"
msgstr "Problemi dentro %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:223
+#: perllib/FixMyStreet/Cobrand/UK.pm:229
msgid "Problems within %s ward"
msgstr "Problemi dentro %s quartiere"
+#: perllib/FixMyStreet/Cobrand/UK.pm:263 perllib/FixMyStreet/Cobrand/UK.pm:275
+#, fuzzy
+msgid "Problems within %s ward, %s"
+msgstr "Problemi dentro %s quartiere"
+
#. ("First %s is the body name, second %s the site name")
#: templates/web/base/reports/body.html:0
#: templates/web/base/reports/body.html:25
msgid "Problems within %s, %s"
msgstr ""
-#: templates/web/base/alert/_list.html:43
-msgid "Problems within the boundary of:"
-msgstr "Problemi dentro i confini di:"
-
#: templates/web/base/admin/report_edit.html:74
msgid "Property address:"
msgstr "L'indirizzo della proprietà:"
@@ -2789,11 +2818,11 @@ msgstr "L'indirizzo della proprietà:"
msgid "Provide an update"
msgstr "Fornisci un'aggiornamento"
-#: templates/web/base/report/update/form_name.html:9
+#: templates/web/base/report/update/form_name.html:10
msgid "Provide update as"
msgstr ""
-#: templates/web/base/auth/general.html:112
+#: templates/web/base/auth/general.html:114
msgid "Providing a name and password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
msgstr ""
@@ -2803,16 +2832,15 @@ msgid "Providing a password is optional, but doing so will allow you to more eas
msgstr "Scegliere una password è opzionale, ma farlo ti acconsentirà di riportare più facilmente le future segnalazioni, di aggiungere degli aggiornamenti e gestire le tue segnalazioni."
#: templates/web/base/report/new/form_report.html:10
-#, fuzzy
msgid "Public details"
-msgstr "Risposte pubbliche:"
+msgstr ""
#: templates/web/zurich/admin/report_edit.html:241
#: templates/web/zurich/admin/report_edit.html:268
msgid "Public response:"
msgstr "Risposte pubbliche:"
-#: templates/web/base/report/_inspect.html:152
+#: templates/web/base/report/_inspect.html:162
msgid "Public update:"
msgstr ""
@@ -2840,7 +2868,7 @@ msgstr "Questionario %d inviato per il problema %d"
msgid "Questionnaire filled in by problem reporter"
msgstr ""
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
#: templates/web/base/alert/updates.html:9
#: templates/web/base/around/display_location.html:1
#: templates/web/base/around/display_location.html:3
@@ -2848,11 +2876,11 @@ msgstr ""
msgid "RSS feed"
msgstr "RSS feed"
-#: perllib/FixMyStreet/Cobrand/UK.pm:252 perllib/FixMyStreet/Cobrand/UK.pm:264
+#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
msgid "RSS feed for %s"
msgstr "RSS feed per %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
+#: perllib/FixMyStreet/Cobrand/UK.pm:264 perllib/FixMyStreet/Cobrand/UK.pm:276
msgid "RSS feed for %s ward, %s"
msgstr ""
@@ -2860,25 +2888,25 @@ msgstr ""
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:179
-#: perllib/FixMyStreet/Cobrand/UK.pm:278 perllib/FixMyStreet/Cobrand/UK.pm:290
+#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
msgid "RSS feed of %s"
msgstr "RSS feed di %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
msgid "RSS feed of %s, within %s ward"
msgstr "RSS feed di %s, dentro al quartiere %s "
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
msgid "RSS feed of nearby problems"
msgstr "RSS feed dei problemi vicino"
-#: perllib/FixMyStreet/Cobrand/Default.pm:834
+#: perllib/FixMyStreet/Cobrand/Default.pm:839
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:136
-#: perllib/FixMyStreet/Cobrand/UK.pm:216
+#: perllib/FixMyStreet/Cobrand/UK.pm:222
msgid "RSS feed of problems within %s"
msgstr "RSS feed dei problemi dentro %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:222
+#: perllib/FixMyStreet/Cobrand/UK.pm:228
msgid "RSS feed of problems within %s ward"
msgstr "RSS feed di problemi dentro al quartiere %s "
@@ -2897,7 +2925,7 @@ msgstr "RSS feed degli aggiornamenti su questa segnalazione"
msgid "Receive email when updates are left on this problem."
msgstr "Ricevi un'email quando gli aggiornamenti sono aggiunti su questa segnalazione."
-#: perllib/FixMyStreet/DB/Result/Problem.pm:801
+#: perllib/FixMyStreet/DB/Result/Problem.pm:738
msgid "Received by %s moments later"
msgstr ""
@@ -2907,15 +2935,11 @@ msgstr ""
msgid "Recent local problems, %s"
msgstr ""
-#: templates/web/base/reports/index.html:27
-msgid "Recently <br>fixed"
-msgstr "Recentemente <br>risolti"
-
#: templates/web/base/front/recent.html:11
msgid "Recently reported problems"
msgstr "Problemi segnalati di recente"
-#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:60
msgid "Recently updated"
msgstr ""
@@ -2923,13 +2947,21 @@ msgstr ""
msgid "Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. If your problem is not appropriate for submission via this site remember that you can contact your council directly using their own website."
msgstr "Ricorda che FIxMyStreet serve per segnalare problemi materiali che possono essere risolti. Se il tuo non è un problema appropriato, da segnalare attraverso questo sito, ti ricordiamo che puoi sempre contattare tu direttamente il comune attraverso il suo sito internet."
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/extra-metadata-form.html:68
+msgid "Remove"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:4
+msgid "Remove field"
+msgstr ""
+
+#: templates/web/base/admin/report_blocks.html:23
msgid "Remove flag"
msgstr ""
#: templates/web/base/report/_item.html:12
#: templates/web/base/report/_item.html:9
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:18
#: templates/web/base/report/_main.html:26
msgid "Remove from shortlist"
@@ -2939,7 +2971,7 @@ msgstr ""
msgid "Remove from site"
msgstr ""
-#: templates/web/base/admin/report_edit.html:166
+#: templates/web/base/admin/report_edit.html:154
#: templates/web/base/admin/update_edit.html:69
#: templates/web/zurich/admin/update_edit.html:35
msgid "Remove photo (can't be undone!)"
@@ -2953,13 +2985,13 @@ msgstr ""
msgid "Report"
msgstr ""
-#: templates/web/base/report/_inspect.html:10
-#: templates/web/base/report/_item.html:76
+#: templates/web/base/report/_inspect.html:14
+#: templates/web/base/report/_item.html:78
msgid "Report ID:"
msgstr ""
#: templates/web/base/header_logo.html:2
-#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:19
+#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:18
#: templates/web/zurich/nav_over_content.html:4
msgid "Report a problem"
msgstr "Segnala un problema"
@@ -2969,7 +3001,7 @@ msgstr "Segnala un problema"
msgid "Report abuse"
msgstr "Segnala un abuso"
-#: templates/web/base/report/new/form_user_loggedin.html:16
+#: templates/web/base/report/new/form_user_loggedin.html:17
msgid "Report as"
msgstr ""
@@ -2978,9 +3010,8 @@ msgid "Report on %s"
msgstr ""
#: templates/web/base/dashboard/index.html:137
-#, fuzzy
msgid "Report state:"
-msgstr "Segnala un abuso"
+msgstr ""
#: templates/web/base/report/new/fill_in_details_form.html:1
#: templates/web/base/report/new/login_success_form.html:1
@@ -2993,7 +3024,7 @@ msgstr ""
msgid "Report, view, or discuss local problems"
msgstr "Segnala, conosci e discuti sui problemi della tua città "
-#: perllib/FixMyStreet/DB/Result/Problem.pm:653
+#: perllib/FixMyStreet/DB/Result/Problem.pm:590
#: templates/web/base/contact/index.html:55
msgid "Reported anonymously at %s"
msgstr "Riportati anonimamente al %s"
@@ -3003,7 +3034,7 @@ msgstr "Riportati anonimamente al %s"
msgid "Reported before"
msgstr "Segnalati prima"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:677
+#: perllib/FixMyStreet/DB/Result/Problem.pm:614
#: templates/web/base/contact/index.html:57
msgid "Reported by %s at %s"
msgstr "Segnalato da %s al %s"
@@ -3017,34 +3048,30 @@ msgstr ""
msgid "Reported in the %s category"
msgstr "Riportato nella categoria %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:650
+#: perllib/FixMyStreet/DB/Result/Problem.pm:587
msgid "Reported in the %s category anonymously at %s"
msgstr "Riportato nella categoria %s anonimamente alle %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:611
msgid "Reported in the %s category by %s at %s"
msgstr "Riportato nella categoria %s da %s alle %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:647
+#: perllib/FixMyStreet/DB/Result/Problem.pm:584
msgid "Reported via %s anonymously at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:671
+#: perllib/FixMyStreet/DB/Result/Problem.pm:608
msgid "Reported via %s by %s at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:644
+#: perllib/FixMyStreet/DB/Result/Problem.pm:581
msgid "Reported via %s in the %s category anonymously at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:666
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
msgid "Reported via %s in the %s category by %s at %s"
msgstr ""
-#: templates/web/base/reports/index.html:24
-msgid "Reported within the last four weeks"
-msgstr ""
-
#: templates/web/zurich/admin/report_edit-sdm.html:38
#: templates/web/zurich/admin/report_edit.html:57
msgid "Reported:"
@@ -3060,13 +3087,13 @@ msgid "Reporting a problem"
msgstr "Stai segnalando un problema"
#: perllib/FixMyStreet/Cobrand/Default.pm:655
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:383
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:388
#: templates/web/base/dashboard/index.html:134
#: templates/web/zurich/header.html:52
msgid "Reports"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:329 perllib/FixMyStreet/Cobrand/UK.pm:333
+#: perllib/FixMyStreet/Cobrand/UK.pm:333 perllib/FixMyStreet/Cobrand/UK.pm:335
msgid "Reports are limited to %s characters in length. Please shorten your report"
msgstr ""
@@ -3074,31 +3101,53 @@ msgstr ""
msgid "Reports awaiting approval"
msgstr "Segnalazioni in attesa di approvazione"
+#: templates/web/base/alert/_list.html:54
+#, fuzzy
+msgid "Reports by destination"
+msgstr "Segnalato da %s al %s"
+
#: templates/web/base/admin/user-form.html:107
msgid "Reports made by trusted users will be sent to the responsible body without being inspected first."
msgstr ""
+#: templates/web/base/alert/_list.html:15
+msgid "Reports near %s are sent to different councils, depending on the type of problem."
+msgstr ""
+
#: templates/web/zurich/admin/index-sdm.html:10
msgid "Reports published"
msgstr "Segnalazioni pubblicate"
-#: templates/web/base/js/translation_strings.html:68
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:71
msgid "Reports saved offline."
-msgstr "Segnala un problema"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#, fuzzy
+msgid "Reports sent to %s"
+msgstr "Segnalato da %s al %s"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:290 perllib/FixMyStreet/Cobrand/UK.pm:302
+#, fuzzy
+msgid "Reports sent to %s, within %s ward"
+msgstr "RSS feed di %s, dentro al quartiere %s "
#: templates/web/base/admin/index.html:56
msgid "Reports waiting to be sent"
msgstr ""
-#: templates/web/base/admin/contact-form.html:89
+#: templates/web/base/admin/contact-form.html:90
msgid "Reports will automatically be sent without needing to be inspected if the user's <strong>reputation</strong> is at or above this value. Set to <strong>0</strong> if all reports must be inspected regardless."
msgstr ""
-#: templates/web/base/admin/contact-form.html:94
+#: templates/web/base/admin/contact-form.html:95
msgid "Reputation threshold"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:20
+msgid "Required"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:84
msgid "Resend report"
msgstr "Rinvia la segnalazione"
@@ -3134,7 +3183,7 @@ msgstr ""
msgid "Revert to original"
msgstr ""
-#: templates/web/base/report/_main.html:95
+#: templates/web/base/report/_main.html:99
msgid "Revert to original text"
msgstr ""
@@ -3157,16 +3206,16 @@ msgstr ""
msgid "Road operator for this named road (from OpenStreetMap): %s"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1747
-#: templates/web/base/admin/report_edit.html:163
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1852
+#: templates/web/base/admin/report_edit.html:151
#: templates/web/base/admin/update_edit.html:66
#: templates/web/zurich/admin/report_edit.html:118
msgid "Rotate Left"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: templates/web/base/admin/report_edit.html:164
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: templates/web/base/admin/report_edit.html:152
#: templates/web/base/admin/update_edit.html:67
#: templates/web/zurich/admin/report_edit.html:119
msgid "Rotate Right"
@@ -3181,32 +3230,40 @@ msgstr ""
msgid "Satellite"
msgstr ""
-#: templates/web/base/report/_inspect.html:168
+#: templates/web/base/report/_inspect.html:182
msgid "Save + close as duplicate"
msgstr ""
-#: templates/web/base/admin/contact-form.html:137
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/contact-form.html:138
+#: templates/web/base/admin/reportextrafields/edit.html:64
+#: templates/web/base/admin/responsepriorities/edit.html:58
#: templates/web/base/admin/template_edit.html:46
-#: templates/web/base/report/_inspect.html:168
-#: templates/web/base/report/_main.html:113
-#: templates/web/base/report/update.html:60
+#: templates/web/base/report/_inspect.html:182
+#: templates/web/base/report/_main.html:117
+#: templates/web/base/report/update.html:69
#: templates/web/zurich/admin/body.html:62
-#: templates/web/zurich/admin/contact-form.html:20
+#: templates/web/zurich/admin/contact-form.html:22
#: templates/web/zurich/admin/template_edit.html:29
msgid "Save changes"
msgstr "Salva modifiche"
-#: templates/web/base/report/_inspect.html:148
+#: templates/web/base/admin/reportextrafields/edit.html:64
+msgid "Save new fields"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:158
msgid "Save with a public update"
msgstr ""
-#. ('This is followed by a progress count, e.g. 3/5')
#. ("This is followed by a progress count, e.g. 3/5")
-#: templates/web/base/js/translation_strings.html:69
+#: templates/web/base/js/translation_strings.html:72
msgid "Saving reports offline"
msgstr ""
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:132
+msgid "Scheduled"
+msgstr ""
+
#: templates/web/base/admin/index.html:26
#: templates/web/base/admin/reports.html:1
#: templates/web/zurich/admin/reports.html:1
@@ -3240,41 +3297,41 @@ msgstr ""
msgid "See our privacy policy"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:715
+#: perllib/FixMyStreet/Cobrand/Default.pm:720
msgid "See user detail for reports created as the council"
msgstr ""
-#: templates/web/base/admin/body-form.html:39
+#: templates/web/base/admin/body-form.html:41
#: templates/web/zurich/admin/body-form.html:16
msgid "Select a body"
msgstr ""
-#: templates/web/base/reports/index.html:12
-msgid "Select a particular council to see the reports sent there."
-msgstr ""
-
-#: templates/web/base/admin/body-form.html:77
+#: templates/web/base/admin/body-form.html:79
#: templates/web/zurich/admin/body-form.html:26
msgid "Select an area"
msgstr "Seleziona un'area"
-#: templates/web/base/alert/_list.html:11
-msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
+#: templates/web/base/admin/responsepriorities/edit.html:33
+msgid "Select if this is the default priority"
msgstr ""
#: templates/web/base/admin/category-checkboxes.html:6
msgid "Select:"
msgstr ""
+#: templates/web/base/contact/index.html:107
+msgid "Send"
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:109
msgid "Send extended Open311 statuses with service request updates"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:826
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:831
msgid "Sent report back"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:804
+#: perllib/FixMyStreet/DB/Result/Problem.pm:741
msgid "Sent to %s %s later"
msgstr ""
@@ -3287,7 +3344,7 @@ msgstr "Inviato:"
msgid "Service:"
msgstr ""
-#: templates/web/base/report/_inspect.html:31
+#: templates/web/base/report/_inspect.html:41
msgid "Set to my current location"
msgstr ""
@@ -3296,49 +3353,56 @@ msgid "Share"
msgstr "Condividi"
#: templates/web/base/main_nav_items.html:10
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:21
#: templates/web/base/report/_main.html:29
msgid "Shortlist"
msgstr ""
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/reports/body.html:32
+msgid "Shortlist all visible"
+msgstr ""
+
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:20
#: templates/web/base/report/_main.html:25
#: templates/web/base/reports/_list-filters.html:9
msgid "Shortlisted"
msgstr ""
-#: templates/web/base/report/_main.html:144
+#: templates/web/base/report/_item.html:15
+#: templates/web/base/report/_main.html:148
msgid "Shortlisted by %s"
msgstr ""
#: templates/web/base/report/update.html:20
-#, fuzzy
msgid "Show Photo?"
-msgstr "Pubblica la foto"
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:26
+msgid "Show all updates"
+msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:54
+#: templates/web/base/report/new/form_user_loggedin.html:56
#: templates/web/base/report/new/form_user_loggedout_by_email.html:22
-#: templates/web/base/report/update/form_name.html:33
+#: templates/web/base/report/update/form_name.html:37
msgid "Show my name publicly"
msgstr "Mostra il mio nome pubblicamente"
#: templates/web/base/report/update.html:17
-#, fuzzy
msgid "Show name publicly?"
-msgstr "Mostra il mio nome pubblicamente"
+msgstr ""
#: templates/web/base/around/display_location.html:69
msgid "Show old"
msgstr ""
-#: templates/web/base/report/_main.html:79
-#, fuzzy
+#: templates/web/base/report/_main.html:83
msgid "Show photo"
-msgstr "Pubblica la foto"
+msgstr ""
#: templates/web/base/around/display_location.html:60
+#: templates/web/base/js/translation_strings.html:54
msgid "Show pins"
msgstr ""
@@ -3346,16 +3410,20 @@ msgstr ""
msgid "Show reporter&rsquo;s name"
msgstr ""
-#: templates/web/base/auth/general.html:117
+#: templates/web/base/reports/index.html:62
+msgid "Show reports in your area"
+msgstr ""
+
+#: templates/web/base/auth/general.html:119
#: templates/web/base/auth/general.html:3
-#: templates/web/base/auth/general.html:86
+#: templates/web/base/auth/general.html:88
#: templates/web/base/main_nav_items.html:6
#: templates/web/zurich/auth/general.html:18
#: templates/web/zurich/auth/general.html:35
msgid "Sign in"
msgstr "Entra"
-#: templates/web/base/auth/general.html:96
+#: templates/web/base/auth/general.html:98
msgid "Sign in by email instead, providing a new password. When you click the link in your email, your password will be updated."
msgstr ""
@@ -3401,14 +3469,14 @@ msgstr ""
msgid "Sorry, there has been an error confirming your problem."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:230
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:235
#: perllib/FixMyStreet/Geocode.pm:37 perllib/FixMyStreet/Geocode/Bing.pm:38
#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:56
#: perllib/FixMyStreet/Geocode/OSM.pm:48
msgid "Sorry, we could not find that location."
msgstr "Ci scusiamo, non possiamo trovare questa zona."
-#: templates/web/base/auth/general.html:9
+#: templates/web/base/auth/general.html:11
#: templates/web/base/report/display.html:29
#: templates/web/base/report/new/fill_in_details_form.html:15
msgid "Sorry, we could not log you in. Please fill in the form below."
@@ -3430,11 +3498,11 @@ msgid ""
"page wasn’t found or there was a server error. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Root.pm:107
+#: perllib/FixMyStreet/App/Controller/Root.pm:124
msgid "Sorry, you don't have permission to do that."
msgstr ""
-#: templates/web/base/reports/_list-filters.html:42
+#: templates/web/base/reports/_list-filters.html:53
msgid "Sort by"
msgstr ""
@@ -3451,17 +3519,25 @@ msgid "Start Date:"
msgstr "Data di inizio:"
#: templates/web/base/admin/body.html:73
+#: templates/web/base/admin/category_edit.html:29
+#: templates/web/base/admin/contact-form.html:53
#: templates/web/base/admin/flagged.html:18
#: templates/web/base/admin/index.html:64
#: templates/web/base/admin/list_updates.html:11
#: templates/web/base/admin/reports.html:16
#: templates/web/base/admin/template_edit.html:40
-#: templates/web/base/report/_inspect.html:83
-#: templates/web/base/report/_item.html:94
+#: templates/web/base/report/_inspect.html:82
+#: templates/web/base/report/_item.html:96
#: templates/web/base/report/update/form_update.html:39
+#: templates/web/zurich/admin/contact-form.html:10
msgid "State"
msgstr "Stato"
+#: templates/web/base/report/update.html:48
+#, fuzzy
+msgid "State changed to:"
+msgstr "Salva modifiche"
+
#: templates/web/base/admin/report_edit.html:116
#: templates/web/base/admin/update_edit.html:28
#: templates/web/zurich/admin/report_edit-sdm.html:75
@@ -3471,8 +3547,14 @@ msgstr "Stato"
msgid "State:"
msgstr "Stato:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:640
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:386
+#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: templates/web/base/admin/states/index.html:1
+#, fuzzy
+msgid "States"
+msgstr "Stato"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
#: templates/web/base/admin/index.html:71 templates/web/base/admin/stats.html:1
#: templates/web/base/admin/stats_by_state.html:1
#: templates/web/zurich/admin/stats.html:1 templates/web/zurich/header.html:65
@@ -3494,6 +3576,10 @@ msgstr "Ancora aperto, attraverso il questionario %s"
msgid "Street View"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:46
+msgid "String"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:192
msgid "Subcategory: %s"
msgstr "Sottocategoria: %s"
@@ -3502,7 +3588,7 @@ msgstr "Sottocategoria: %s"
msgid "Subdivision/Body"
msgstr "Sottodivisione/Corpo"
-#: templates/web/base/contact/index.html:88
+#: templates/web/base/contact/index.html:92
msgid "Subject"
msgstr "Soggetto"
@@ -3512,14 +3598,14 @@ msgid "Subject:"
msgstr "Soggetto:"
#: templates/web/base/questionnaire/creator_fixed.html:19
-#: templates/web/base/report/new/form_user_loggedin.html:61
+#: templates/web/base/report/new/form_user_loggedin.html:63
#: templates/web/base/report/new/form_user_loggedout_by_email.html:36
#: templates/web/base/report/new/form_user_loggedout_password.html:11
#: templates/web/zurich/report/new/fill_in_details_form.html:73
msgid "Submit"
msgstr "Invia"
-#: templates/web/base/admin/report_edit.html:174
+#: templates/web/base/admin/report_edit.html:162
#: templates/web/base/admin/report_edit.html:24
#: templates/web/base/admin/update_edit.html:77
#: templates/web/base/admin/user-form.html:170
@@ -3533,8 +3619,8 @@ msgstr "Invia modifiche"
msgid "Submit questionnaire"
msgstr "Invia questionario"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:164
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:893
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:898
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:6
#: templates/web/zurich/admin/index-dm.html:23
@@ -3544,36 +3630,38 @@ msgstr "Invia questionario"
msgid "Submitted"
msgstr "Inviato"
+#: templates/web/base/alert/_list.html:77
+#: templates/web/base/alert/_list.html:80
#: templates/web/base/alert/updates.html:23
#: templates/web/base/report/display_tools.html:51
msgid "Subscribe"
msgstr "Sottoscrivi"
-#: templates/web/base/alert/_list.html:93
-msgid "Subscribe me to an email alert"
+#: templates/web/base/alert/_list.html:72
+#, fuzzy
+msgid "Subscribe by email"
msgstr "Iscrivimi alle email di avviso"
#: templates/web/base/report/new/form_report.html:19
msgid "Summarise the problem"
msgstr ""
-#: templates/web/base/admin/contact-form.html:129
+#: templates/web/base/admin/contact-form.html:130
msgid "Summarise your changes"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:638
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:382
+#: perllib/FixMyStreet/Cobrand/Default.pm:637
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:387
#: templates/web/base/admin/bodies.html:29
#: templates/web/base/admin/index.html:1 templates/web/base/status/index.html:1
#: templates/web/base/status/index.html:3
#: templates/web/zurich/admin/index-dm.html:1
#: templates/web/zurich/admin/index-sdm.html:1
-#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:13
+#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:12
#: templates/web/zurich/header.html:49
msgid "Summary"
msgstr "Sommario"
-#: templates/web/base/reports/index.html:4
#: templates/web/zurich/reports/index.html:0
#: templates/web/zurich/reports/index.html:4
msgid "Summary reports"
@@ -3597,7 +3685,7 @@ msgid "Template &laquo;%s&raquo;"
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:661
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:393
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
#: templates/web/zurich/header.html:69
msgid "Templates"
msgstr ""
@@ -3626,7 +3714,7 @@ msgstr ""
msgid "Thank you for trying to confirm your update or problem. We seem to have an error ourselves though, so <a href=\"%s\">please let us know what went on</a> and we'll look into it."
msgstr ""
-#: templates/web/base/tokens/confirm_update.html:15
+#: templates/web/base/tokens/confirm_update.html:16
msgid "Thank you for updating this issue!"
msgstr ""
@@ -3654,7 +3742,7 @@ msgstr ""
msgid "That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again."
msgstr "Questa posizione non sembra essere coperta da un comune; forse è in mare aperto o all'esterno del paese. Riprova."
-#: perllib/FixMyStreet/App/Controller/Location.pm:129
+#: perllib/FixMyStreet/App/Controller/Location.pm:127
msgid "That location does not appear to be in the UK; please try again."
msgstr "Questa posizione non sembra essere nel Regno Unito, si prega di riprovare."
@@ -3664,23 +3752,23 @@ msgstr "Questa posizione non sembra essere nel Regno Unito, si prega di riprovar
msgid "That postcode was not recognised, sorry."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:762
+#: perllib/FixMyStreet/App/Controller/Admin.pm:850
msgid "That problem has been marked as sent."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:755
+#: perllib/FixMyStreet/App/Controller/Admin.pm:843
msgid "That problem will now be resent."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report.pm:137
+#: perllib/FixMyStreet/App/Controller/Report.pm:134
msgid "That report cannot be viewed on %s."
msgstr "La segnalazione non può essere vista su %s."
-#: perllib/FixMyStreet/App/Controller/Report.pm:131
+#: perllib/FixMyStreet/App/Controller/Report.pm:128
msgid "That report has been removed from FixMyStreet."
msgstr "Quella segnalazione è stata rimossa da FixMyStreet"
-#: templates/web/base/admin/contact-form.html:25
+#: templates/web/base/admin/contact-form.html:27
msgid ""
"The <strong>email address</strong> is the destination to which reports about this category will be sent. \n"
" Other categories for this body may have the same email address."
@@ -3700,10 +3788,10 @@ msgid ""
" than one. If the body is running its own endpoint, you can usually leave this blank."
msgstr ""
-#: templates/web/base/admin/body-form.html:100
-#: templates/web/base/admin/body-form.html:101
-#: templates/web/base/admin/contact-form.html:103
+#: templates/web/base/admin/body-form.html:102
+#: templates/web/base/admin/body-form.html:103
#: templates/web/base/admin/contact-form.html:104
+#: templates/web/base/admin/contact-form.html:105
msgid ""
"The <strong>send method</strong> determines how problem reports will be sent to the body.\n"
" If you leave this blank, <strong>send method defaults to email</strong>."
@@ -3720,6 +3808,10 @@ msgid ""
" and may be displayed publically."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:12
+msgid "The code used to store this field value in the database. e.g. <code>address</code> would be available as <code>problem.extra.address</code> in the templates."
+msgstr ""
+
#: templates/web/base/report/new/fill_in_details_text.html:1
#: templates/web/base/report/new/fill_in_details_text.html:3
msgid "The council won&rsquo;t be able to help unless you leave as much detail as you can. Please describe the exact location of the problem (e.g. on a wall), what it is, how long it has been there, a description (and a photo of the problem if you have one), etc."
@@ -3730,11 +3822,15 @@ msgstr "Il comune non sarà in grado di fare qualcosa finchè non lascerai più
msgid "The diligency prize league table shows editors' activity (who's been editing the most records)."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:61
-#: perllib/FixMyStreet/App/Controller/Reports.pm:82
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:63
+#: perllib/FixMyStreet/App/Controller/Reports.pm:103
msgid "The error was: %s"
msgstr "L'errore era: %s"
+#: templates/web/base/admin/extra-metadata-form.html:30
+msgid "The field name as shown to the user on the report form."
+msgstr ""
+
#: templates/web/base/open311/index.html:78
msgid "The following Open311 v2 attributes are returned for each request: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
msgstr ""
@@ -3773,10 +3869,14 @@ msgstr "Gli ultimi problemi dentro i confini di {{NAME}} segnalati dagli utenti"
msgid "The link might have expired, or maybe you didn&rsquo;t quite copy and paste it correctly."
msgstr ""
-#: templates/web/base/admin/body-form.html:64
+#: templates/web/base/admin/body-form.html:66
msgid "The list of available areas is being provided by the MapIt service at %s."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:6
+msgid "The ordering of this field on the report page. Fields are shown in ascending order according to this value."
+msgstr ""
+
#: templates/web/base/auth/change_password.html:22
#: templates/web/base/auth/change_password.html:26
msgid "The passwords do not match"
@@ -3786,8 +3886,8 @@ msgstr "Le passwords non corrispondono"
msgid "The requested URL '%s' was not found on this server"
msgstr "L'URL richiesta '%s' non è stata trovata su questo serverjavascript:;"
-#: templates/web/base/alert/_list.html:17
-msgid "The simplest alert is our geographic one:"
+#: templates/web/base/admin/extra-metadata-form.html:42
+msgid "The type of input field to show to the user. <strong>Text</strong> is a simple text field, <strong>List</strong> is a drop-down selection."
msgstr ""
#: perllib/FixMyStreet/Script/Reports.pm:96
@@ -3807,18 +3907,18 @@ msgstr ""
msgid "There are no reports to show."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Reports.pm:79
+#: perllib/FixMyStreet/App/Controller/Reports.pm:100
msgid "There was a problem showing the All Reports page. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:137
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:60
+#: perllib/FixMyStreet/App/Controller/Contact.pm:138
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:62
msgid "There was a problem showing this page. Please try again later."
msgstr "E' accaduto un problema visualizzando questa pagine. Per favore riprova ancora più tardi"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:758
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:785
#: perllib/FixMyStreet/App/Controller/Report/Update.pm:152
-#: templates/web/base/auth/general.html:53
+#: templates/web/base/auth/general.html:55
#: templates/web/zurich/auth/general.html:28
msgid "There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the &lsquo;sign in by email&rsquo; section of the form."
msgstr "E' accaduto un problema con la tua combinazione email/password. Se non ti ricordi la password, o non né hai ancora una, per favore riempi qui gli &lsquo; ed entra con l'email&rsquo, nella sezione del form"
@@ -3831,7 +3931,7 @@ msgstr "E' accaduto un problema con la tua combinazione email/password. Per favo
msgid "There was a problem with your update. Please try again."
msgstr "C'è stato un problema con il tuo aggiornamento. Per favore prova ancora."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:141
+#: perllib/FixMyStreet/App/Controller/Contact.pm:142
msgid "There were problems with your report. Please see below."
msgstr "Ci sono stati dei problemi con la tua segnalazione. Per favore guarda qui sotto."
@@ -3883,8 +3983,8 @@ msgstr ""
msgid "This body has no contacts. This means that currently problems reported to this body <strong>will not be sent</strong>."
msgstr ""
-#: templates/web/base/admin/body-form.html:58
-#: templates/web/base/admin/body-form.html:59
+#: templates/web/base/admin/body-form.html:60
+#: templates/web/base/admin/body-form.html:61
msgid ""
"This body will only be sent reports for problems that are located in the <strong>area covered</strong>.\n"
" A body will not receive any reports unless it covers at least one area."
@@ -3898,8 +3998,9 @@ msgstr "Questa email è stata inviata ad entrambi i comuni che coprono la zona d
msgid "This email has been sent to several councils covering the location of the problem, as the category selected is provided for all of them; please ignore it if you're not the correct council to deal with the issue."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:881
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:925
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1017
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:910
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:954
#: perllib/FixMyStreet/App/Controller/Report/New.pm:971
#: perllib/FixMyStreet/Cobrand/UK.pm:45
msgid "This information is required"
@@ -3909,46 +4010,41 @@ msgstr "Questa informazione è richiesta"
msgid "This is a developer site; things might break at any time, and the database will be periodically deleted."
msgstr ""
-#: templates/web/base/reports/index.html:10
-msgid "This is a summary of all reports on this site."
-msgstr ""
-
-#: templates/web/base/report/new/form_report.html:56
+#: templates/web/base/report/new/form_report.html:58
msgid "This pothole has been here for two months and…"
msgstr ""
-#: templates/web/base/report/update/form_update.html:63
+#: templates/web/base/report/update/form_update.html:55
msgid "This problem has been fixed"
msgstr "Questo problema è stato risolto"
-#: templates/web/base/report/update/form_update.html:56
+#: templates/web/base/report/update/form_update.html:48
msgid "This problem has not been fixed"
msgstr "Questo problema non è stato risolto"
-#: templates/web/base/report/update/form_update.html:54
-#, fuzzy
+#: templates/web/base/report/update/form_update.html:46
msgid "This problem is still ongoing"
-msgstr "Questo problema non è stato risolto"
+msgstr ""
#: templates/web/base/report/duplicate-no-updates.html:3
msgid "This report is a duplicate. Please leave updates on the original report:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:161
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:162
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:166
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:167
#: templates/web/zurich/report/_main.html:14
msgid "This report is awaiting moderation."
msgstr ""
-#: perllib/FixMyStreet/Script/Alerts.pm:101
+#: perllib/FixMyStreet/Script/Alerts.pm:98
msgid "This report is currently marked as closed."
msgstr ""
-#: perllib/FixMyStreet/Script/Alerts.pm:99
+#: perllib/FixMyStreet/Script/Alerts.pm:96
msgid "This report is currently marked as fixed."
msgstr ""
-#: perllib/FixMyStreet/Script/Alerts.pm:103
+#: perllib/FixMyStreet/Script/Alerts.pm:100
msgid "This report is currently marked as open."
msgstr ""
@@ -3967,7 +4063,7 @@ msgstr ""
msgid "Time spent (in minutes):"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Default.pm:638
#: templates/web/base/admin/timeline.html:1
msgid "Timeline"
msgstr ""
@@ -3996,10 +4092,26 @@ msgstr ""
msgid "To find out what local alerts we have for you, please enter your postcode or street name and area"
msgstr "Per sapere quali segnalazioni locali abbiamo per te, inserisci per favore il tuo codice postale o il nome della via e della zona"
+#: templates/web/base/admin/reportextrafields/edit.html:19
+msgid "To limit this collection of fields to a single cobrand, select it here."
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:40
+msgid "To limit this collection of fields to a single language, select it here."
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:95
msgid "To view a map of the precise location of this issue"
msgstr ""
+#: templates/web/base/reports/index.html:97
+msgid "Top 5 most used categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:83
+msgid "Top 5 responsive councils"
+msgstr ""
+
#: templates/web/base/admin/questionnaire.html:24
#: templates/web/base/admin/stats.html:24
#: templates/web/base/admin/stats.html:43
@@ -4013,9 +4125,8 @@ msgid "Total marked"
msgstr ""
#: templates/web/base/dashboard/index.html:71
-#, fuzzy
msgid "Total marked as fixed"
-msgstr "Aggiorna segnalazione come risolta"
+msgstr ""
#: templates/web/base/dashboard/index.html:125
msgid "Total not marked"
@@ -4026,16 +4137,24 @@ msgstr ""
msgid "Total reports received"
msgstr ""
-#: templates/web/base/report/_inspect.html:124
-#: templates/web/base/report/_item.html:102
+#: templates/web/base/report/_inspect.html:134
+#: templates/web/base/report/_item.html:104
msgid "Traffic management required?"
msgstr ""
+#: templates/web/base/admin/_translations.html:7
+msgid "Translation"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:2
+msgid "Translations"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:111
msgid "Trusted by bodies:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:721
+#: perllib/FixMyStreet/Cobrand/Default.pm:726
msgid "Trusted to make reports that don't need to be inspected"
msgstr ""
@@ -4051,8 +4170,14 @@ msgstr "Prova ancora"
msgid "Try emailing us directly:"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:21
+#: templates/web/base/admin/extra-metadata-form.html:44
+#: templates/web/base/admin/states/index.html:10
+#: templates/web/base/admin/states/index.html:100
+msgid "Type"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:59
+#: templates/web/base/admin/contact-form.html:55
#: templates/web/base/admin/update_edit.html:30
#: templates/web/zurich/admin/report_edit-sdm.html:66
#: templates/web/zurich/admin/report_edit.html:94
@@ -4060,7 +4185,6 @@ msgstr ""
msgid "Unconfirmed"
msgstr "Non confermato"
-#: templates/web/base/reports/_list-filters.html:12
#: templates/web/base/reports/_list-filters.html:5
msgid "Unfixed reports"
msgstr ""
@@ -4074,14 +4198,14 @@ msgid "Unknown alert type"
msgstr ""
#: perllib/FixMyStreet/App/Controller/Photo.pm:109
-#: perllib/FixMyStreet/App/Controller/Root.pm:124
+#: perllib/FixMyStreet/App/Controller/Root.pm:141
#: templates/web/base/js/translation_strings.html:38
msgid "Unknown error"
msgstr "Errore sconosciuto"
-#: perllib/FixMyStreet/App/Controller/Report.pm:115
+#: perllib/FixMyStreet/App/Controller/Report.pm:112
+#: perllib/FixMyStreet/App/Controller/Report.pm:118
#: perllib/FixMyStreet/App/Controller/Report.pm:121
-#: perllib/FixMyStreet/App/Controller/Report.pm:124
msgid "Unknown problem ID"
msgstr ""
@@ -4089,10 +4213,11 @@ msgstr ""
msgid "Unshortlisted"
msgstr ""
-#: templates/web/base/report/_item.html:24
+#: templates/web/base/report/_item.html:26
msgid "Up one"
msgstr ""
+#: templates/web/base/admin/states/index.html:76
#: templates/web/base/report/update/form_update.html:29
msgid "Update"
msgstr ""
@@ -4109,7 +4234,7 @@ msgstr ""
msgid "Update below added by %s at %s"
msgstr ""
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Update body"
msgstr ""
@@ -4145,13 +4270,23 @@ msgstr ""
msgid "Updated"
msgstr "Aggiornato"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1157
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1221
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1384
-#: perllib/FixMyStreet/App/Controller/Admin.pm:822
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:762
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:787
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:857
+#: perllib/FixMyStreet/DB/Result/Comment.pm:249
+#, fuzzy
+msgid "Updated by <strong>%s</strong> (%s) at %s"
+msgstr "Postato da <strong>%s</strong> (%s) al %s"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:251
+#, fuzzy
+msgid "Updated by <strong>%s</strong> at %s"
+msgstr "Postato da <strong>%s</strong> al %s"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1262
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1326
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1489
+#: perllib/FixMyStreet/App/Controller/Admin.pm:910
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:767
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:792
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:862
msgid "Updated!"
msgstr "Aggiornato!"
@@ -4161,7 +4296,7 @@ msgstr "Aggiornato!"
msgid "Updates"
msgstr "Aggiornamenti"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:133
+#: perllib/FixMyStreet/DB/Result/Comment.pm:134
msgid "Updates are limited to %s characters in length. Please shorten your update"
msgstr ""
@@ -4175,11 +4310,22 @@ msgstr ""
msgid "Updates to this problem, %s"
msgstr ""
+#: templates/web/base/admin/contact-form.html:43
+#: templates/web/base/admin/contact-form.html:44
+msgid ""
+"Use <strong>confirmed</strong> to indicate that this contact has been\n"
+"confirmed as correct. If you are not sure of the origin or validity of the\n"
+"contact, use <strong>unconfirmed</strong>. <strong>inactive</strong> will\n"
+"remove the category from use when reporting problems, but keep it available in\n"
+"map filters, and <strong>deleted</strong> will remove the category from there\n"
+"as well."
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:65
msgid "Use Open311 update-sending extension"
msgstr ""
-#: templates/web/base/admin/contact-form.html:124
+#: templates/web/base/admin/contact-form.html:125
msgid "Use this field to record details that are only displayed in the admin. Input is not shown publicly, and is not sent to the body."
msgstr ""
@@ -4192,27 +4338,26 @@ msgstr ""
msgid "User ID to attribute fetched comments to"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1700
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1805
msgid "User flag removed"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1672
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1777
msgid "User flagged"
msgstr ""
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:58
-#, fuzzy
msgid "User has marked as fixed"
-msgstr "Aggiorna segnalazione come risolta"
+msgstr ""
#: templates/web/base/admin/users.html:5
msgid "User search finds matches in users' names and email addresses."
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:669
-#: perllib/FixMyStreet/Cobrand/Default.pm:723
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
+#: perllib/FixMyStreet/Cobrand/Default.pm:728
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:403
#: templates/web/base/admin/flagged.html:29 templates/web/zurich/header.html:61
msgid "Users"
msgstr "Utenti"
@@ -4221,9 +4366,9 @@ msgstr "Utenti"
msgid "Users can perform the following actions within their assigned body or area."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:400
-#: perllib/FixMyStreet/App/Controller/Admin.pm:430
-#: perllib/FixMyStreet/App/Controller/Admin.pm:448
+#: perllib/FixMyStreet/App/Controller/Admin.pm:381
+#: perllib/FixMyStreet/App/Controller/Admin.pm:417
+#: perllib/FixMyStreet/App/Controller/Admin.pm:439
msgid "Values updated"
msgstr ""
@@ -4270,7 +4415,7 @@ msgstr "Abbiamo trovato più di una corrispondenza per questa posizione. Mostria
msgid "We found more than one match for that problem reference:"
msgstr ""
-#: templates/web/base/auth/general.html:6
+#: templates/web/base/auth/general.html:8
#: templates/web/base/report/display.html:35
#: templates/web/base/report/new/oauth_email_form.html:5
msgid "We need your email address, please give it below."
@@ -4305,7 +4450,7 @@ msgstr ""
msgid "What was your experience of getting the problem fixed?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:52
+#: templates/web/base/admin/category_edit.html:27
#: templates/web/zurich/admin/body.html:18
msgid "When edited"
msgstr ""
@@ -4314,11 +4459,19 @@ msgstr ""
msgid "When sent"
msgstr ""
-#: templates/web/base/report/_inspect.html:89
+#: templates/web/base/admin/extra-metadata-form.html:18
+msgid "Whether the user is required to provide a value for this field."
+msgstr ""
+
+#: templates/web/base/alert/_list.html:9
+msgid "Which problems do you want alerts about?"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:99
msgid "Which report is it a duplicate of?"
msgstr ""
-#: templates/web/base/js/translation_strings.html:54
+#: templates/web/base/js/translation_strings.html:57
msgid "Whoa there Testino! Three photos are enough."
msgstr ""
@@ -4326,8 +4479,8 @@ msgstr ""
msgid "Why stop there? <a href=\"/alert\">Set up more alerts</a> for free."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:185
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:190
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:14
msgid "Wish"
@@ -4337,7 +4490,7 @@ msgstr ""
msgid "With request searches, it is also possible to search for agency_responsible to limit the requests to those sent to a single administration. The search term is the administration ID provided by <a href=\"%s\">MaPit</a>."
msgstr ""
-#: templates/web/base/front/footer-marketing.html:17
+#: templates/web/base/front/footer-marketing.html:3
msgid "Would you like to contribute to FixMyStreet? Our code is open source and <a href=\"http://fixmystreet.org\">available at fixmystreet.org</a>."
msgstr ""
@@ -4362,23 +4515,22 @@ msgstr ""
msgid "Year"
msgstr "Anno"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1202
+#: perllib/FixMyStreet/Cobrand/Default.pm:1236
#: templates/web/base/admin/bodies.html:70
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
#: templates/web/base/admin/category_edit.html:5
#: templates/web/base/admin/flagged.html:47
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:136
+#: templates/web/base/admin/report_edit.html:124
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:25
#: templates/web/base/admin/users.html:32
#: templates/web/base/questionnaire/creator_fixed.html:14
#: templates/web/base/questionnaire/index.html:104
#: templates/web/base/questionnaire/index.html:53
+#: templates/web/base/report/_inspect.html:90
msgid "Yes"
msgstr "Si"
@@ -4391,7 +4543,7 @@ msgstr "Si ho già la password"
msgid "You are complaining that this problem report was unnecessarily moderated:"
msgstr ""
-#: templates/web/base/js/translation_strings.html:70
+#: templates/web/base/js/translation_strings.html:73
msgid "You are offline"
msgstr ""
@@ -4412,7 +4564,11 @@ msgstr ""
msgid "You can add an abusive user's email to the abuse list, which automatically hides (and never sends) reports they create."
msgstr ""
-#: templates/web/base/contact/index.html:111
+#: templates/web/base/alert/_list.html:18
+msgid "You can choose to subscribe to all problems reported in an area, or reports based on their destination."
+msgstr ""
+
+#: templates/web/base/contact/index.html:115
msgid "You can contact technical support on <a href='mailto:%s'>%s</a>"
msgstr ""
@@ -4430,7 +4586,7 @@ msgstr ""
msgid "You can help us by finding a contact email address for local problems for %s and emailing it to us at <a href='mailto:%s'>%s</a>."
msgstr ""
-#: templates/web/base/admin/body-form.html:91
+#: templates/web/base/admin/body-form.html:93
msgid "You can mark a body as deleted if you do not want it to be active on the site."
msgstr ""
@@ -4438,7 +4594,7 @@ msgstr ""
msgid "You declined; please fill in the box above"
msgstr "Hai rifiutato; Per favore riempi il box qui sopra "
-#: templates/web/base/js/translation_strings.html:72
+#: templates/web/base/js/translation_strings.html:75
msgid "You have <a id=\"oFN\" href=\"\"><span>%s</span> saved to submit</a>."
msgstr ""
@@ -4446,7 +4602,7 @@ msgstr ""
msgid "You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"
msgstr ""
-#: templates/web/base/report/new/form_report.html:37
+#: templates/web/base/report/new/form_report.html:39
#: templates/web/zurich/report/new/fill_in_details_form.html:30
msgid "You have already attached photos to this report. Note that you can attach a maximum of 3 to this report (if you try to upload more, the oldest will be removed)."
msgstr ""
@@ -4504,10 +4660,9 @@ msgstr "Tue segnalazioni"
msgid "Your account"
msgstr ""
-#: templates/web/base/alert/_list.html:90
#: templates/web/base/alert/updates.html:19
#: templates/web/base/alert/updates.html:22
-#: templates/web/base/contact/index.html:81
+#: templates/web/base/contact/index.html:80
#: templates/web/base/report/display_tools.html:46
#: templates/web/base/report/display_tools.html:49
#: templates/web/base/report/new/form_user_loggedout_email.html:1
@@ -4517,7 +4672,7 @@ msgid "Your email"
msgstr "La tua email"
#: templates/web/base/auth/change_email.html:9
-#: templates/web/base/auth/general.html:55
+#: templates/web/base/auth/general.html:57
#: templates/web/base/report/update/form_user_loggedout_email.html:5
#: templates/web/zurich/auth/general.html:30
#: templates/web/zurich/auth/general.html:58
@@ -4528,21 +4683,32 @@ msgstr "Tuo indirizzo email"
msgid "Your information will only be used in accordance with our <a href=\"/privacy\">privacy policy</a>"
msgstr ""
-#: templates/web/base/auth/general.html:107
+#: templates/web/base/auth/general.html:109
#: templates/web/base/contact/index.html:74
#: templates/web/base/report/new/form_user_loggedout_by_email.html:17
-#: templates/web/base/report/update/form_name.html:29
+#: templates/web/base/report/update/form_name.html:33
#: templates/web/zurich/auth/general.html:61
#: templates/web/zurich/report/new/fill_in_details_form.html:63
msgid "Your name"
msgstr "Il tuo nome"
-#: templates/web/base/js/translation_strings.html:62
-#, fuzzy
+#: templates/web/base/my/anonymize.html:13
+msgid "Your name has already been sent to %s, but we can hide it on this page:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:264
+msgid "Your name has been hidden from all your reports and updates."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:260
+msgid "Your name has been hidden."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:65
msgid "Your offline reports"
-msgstr "Tue segnalazioni"
+msgstr ""
-#: templates/web/base/auth/general.html:85
+#: templates/web/base/auth/general.html:87
#: templates/web/base/report/new/form_user_loggedout_password.html:10
#: templates/web/base/report/update/form_user_loggedout_password.html:9
#: templates/web/zurich/auth/general.html:34
@@ -4553,6 +4719,7 @@ msgstr "Tua password"
msgid "Your password has been changed"
msgstr "La tua password è stata cambiata"
+#: templates/web/base/contact/index.html:87
#: templates/web/base/report/new/form_user_loggedout_by_email.html:26
#: templates/web/zurich/report/new/fill_in_details_form.html:69
msgid "Your phone number"
@@ -4571,7 +4738,7 @@ msgstr "Tue segnalazioni"
msgid "Your shortlist"
msgstr ""
-#: templates/web/base/js/translation_strings.html:63
+#: templates/web/base/js/translation_strings.html:66
msgid "Your update has been saved offline for submission when back online."
msgstr ""
@@ -4579,8 +4746,8 @@ msgstr ""
msgid "Your updates"
msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:18
-#: templates/web/base/report/update/form_name.html:11
+#: templates/web/base/report/new/form_user_loggedin.html:19
+#: templates/web/base/report/update/form_name.html:12
msgid "Yourself"
msgstr ""
@@ -4589,14 +4756,14 @@ msgstr ""
msgid "all"
msgstr ""
+#: perllib/FixMyStreet/DB/Result/Comment.pm:259
+msgid "and a defect raised"
+msgstr ""
+
#: templates/web/base/admin/timeline.html:4
msgid "by %s"
msgstr "da %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:290
-msgid "closed as a duplicate report"
-msgstr ""
-
#: templates/web/base/reports/body.html:6
#: templates/web/base/reports/body.html:7
msgid "council"
@@ -4621,7 +4788,7 @@ msgstr "Modifica utente"
msgid "from %s different users"
msgstr "da %s utenti differenti"
-#: templates/web/base/report/_item.html:61
+#: templates/web/base/report/_item.html:63
#: templates/web/zurich/report/_item.html:14
msgid "last updated %s"
msgstr "ultimo aggiornamento %s"
@@ -4630,44 +4797,7 @@ msgstr "ultimo aggiornamento %s"
msgid "less than a minute"
msgstr "meno di un minuto"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:280
-msgid "marked as action scheduled"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:292
-msgid "marked as an internal referral"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:282
-msgid "marked as closed"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:263
-#: perllib/FixMyStreet/DB/Result/Comment.pm:284
-msgid "marked as fixed"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:278
-msgid "marked as in progress"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:274
-msgid "marked as investigating"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:286
-msgid "marked as no further action"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:288
-msgid "marked as not the council's responsibility"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:276
-msgid "marked as planned"
-msgstr ""
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:122
+#: perllib/FixMyStreet/App/Controller/Admin.pm:119
#: templates/web/base/admin/questionnaire.html:15
#: templates/web/base/admin/questionnaire.html:16
msgid "n/a"
@@ -4678,14 +4808,10 @@ msgstr "non disponibile"
msgid "none"
msgstr ""
-#: templates/web/base/admin/category_edit.html:35
-msgid "optional"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:278
+msgid "not the council's responsibility"
msgstr ""
-#: templates/web/base/alert/_list.html:86
-msgid "or"
-msgstr "o"
-
#: templates/web/base/js/translation_strings.html:27
msgid "or locate me automatically"
msgstr "oppure fatti localizzare automaticamente"
@@ -4709,16 +4835,7 @@ msgstr ""
msgid "other areas:"
msgstr "altre aree:"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:265
-#: perllib/FixMyStreet/DB/Result/Comment.pm:271
-msgid "reopened"
-msgstr "riaperto"
-
-#: templates/web/base/admin/category_edit.html:35
-msgid "required"
-msgstr ""
-
-#: templates/web/zurich/footer.html:13
+#: templates/web/zurich/footer.html:12
msgid "sign out"
msgstr ""
@@ -4726,11 +4843,15 @@ msgstr ""
msgid "the local council"
msgstr ""
-#: templates/web/base/report/_report_meta_info.html:2
+#: templates/web/base/report/_report_meta_info.html:5
#: templates/web/zurich/report/_main.html:5
msgid "there is no pin shown as the user did not use the map"
msgstr ""
+#: templates/web/base/alert/_list.html:1
+msgid "this location"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:184
msgid "this type of local problem"
msgstr ""
@@ -4739,15 +4860,13 @@ msgstr ""
msgid "today"
msgstr "oggi"
-#: templates/web/base/js/translation_strings.html:73
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:76
msgid "update"
-msgstr "Aggiornato"
+msgstr ""
-#: templates/web/base/js/translation_strings.html:74
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:77
msgid "updates"
-msgstr "Aggiornamenti"
+msgstr ""
#: templates/web/base/admin/report_edit.html:52
msgid "used map"
@@ -4795,11 +4914,11 @@ msgstr[0] "%d minuto"
msgstr[1] "%d minuti"
#: perllib/Utils.pm:246
-#, fuzzy, perl-format
+#, perl-format
msgid "%d month"
msgid_plural "%d months"
-msgstr[0] "%d minuto"
-msgstr[1] "%d minuti"
+msgstr[0] ""
+msgstr[1] ""
#: templates/web/base/report/_support.html:6
#, perl-format
@@ -4822,6 +4941,41 @@ msgid_plural "%d years"
msgstr[0] ""
msgstr[1] ""
+#: templates/web/base/reports/index.html:92
+#, perl-format
+msgid "%s day"
+msgid_plural "%s days"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:55
+#, perl-format
+msgid "%s problem marked as fixed"
+msgid_plural "%s problems marked as fixed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:43
+#, perl-format
+msgid "%s problem reported"
+msgid_plural "%s problems reported"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:107
+#, perl-format
+msgid "%s report"
+msgid_plural "%s reports"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:49
+#, perl-format
+msgid "%s update on problems"
+msgid_plural "%s updates on problems"
+msgstr[0] ""
+msgstr[1] ""
+
#: templates/web/base/front/stats.html:19
#, perl-format
msgid "<big>%s</big> fixed in past month"
@@ -4850,12 +5004,12 @@ msgid_plural "<big>%s</big> updates on reports"
msgstr[0] "<big>%s</big> aggiornamento sulle segnalazioni"
msgstr[1] "<big>%s</big> aggiornamenti sulle segnalazioni"
-#: templates/web/base/report/_item.html:49
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:51
+#, perl-format
msgid "Reported %d day ago"
msgid_plural "Reported %d days ago"
-msgstr[0] "Segnalato da %s al %s"
-msgstr[1] "Segnalato da %s al %s"
+msgstr[0] ""
+msgstr[1] ""
#: templates/web/base/report/new/top_message_some.html:3
#, perl-format
@@ -4871,32 +5025,61 @@ msgid_plural "We do not yet have details for the councils that cover this locati
msgstr[0] "Non abbiamo ancora i dettagli sul comune che copre questa zona."
msgstr[1] "Non abbiamo ancora i dettagli sui comuni che coprono questa zona."
-#: templates/web/base/report/_item.html:59
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:61
+#, perl-format
msgid "last updated %d day ago"
msgid_plural "last updated %d days ago"
-msgstr[0] "ultimo aggiornamento %s"
-msgstr[1] "ultimo aggiornamento %s"
+msgstr[0] ""
+msgstr[1] ""
#: templates/email/oxfordshire/archive.txt:9
-#, fuzzy, perl-format
+#, perl-format
msgid "report"
msgid_plural "reports"
-msgstr[0] "Tutte le segnalazioni"
-msgstr[1] "Tutte le segnalazioni"
+msgstr[0] ""
+msgstr[1] ""
-#, fuzzy
-#~ msgid "All inspectors"
-#~ msgstr "Tutte le segnalazioni"
+#~ msgid "%s ward, %s"
+#~ msgstr "%s quartiere, %s"
-#, fuzzy
-#~ msgid "Report category:"
-#~ msgstr "Crea una categoria"
+#~ msgid "%s, within %s ward"
+#~ msgstr "%s dentro al quartiere %s"
-#, fuzzy
-#~ msgid "Reported %d days ago"
-#~ msgstr "Segnalato da %s al %s"
+#~ msgid "-- Pick a property type --"
+#~ msgstr "-- Scegli un tipo di proprietà --"
-#, fuzzy
-#~ msgid "last updated %d days ago"
-#~ msgstr "ultimo aggiornamento %s"
+#~ msgid "Closed:"
+#~ msgstr "Chiuso:"
+
+#~ msgid "Duplicate"
+#~ msgstr "Duplica"
+
+#~ msgid "Fixed:"
+#~ msgstr "Risolto:"
+
+#~ msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
+#~ msgstr "Qui trovi i tipi di avvertimenti sui problemi locali per &lsquo;%s&rsquo;."
+
+#~ msgid "In Progress"
+#~ msgstr "In progresso"
+
+#~ msgid "Investigating"
+#~ msgstr "Investigando"
+
+#~ msgid "Not Responsible"
+#~ msgstr "Non responsabile"
+
+#~ msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
+#~ msgstr "O puoi iscriverti agli avvisi basati sul tuo quartiere o comune di appartenenza:"
+
+#~ msgid "Please choose a property type"
+#~ msgstr "Per favore scegli un tipo di proprietà"
+
+#~ msgid "Problems within the boundary of:"
+#~ msgstr "Problemi dentro i confini di:"
+
+#~ msgid "or"
+#~ msgstr "o"
+
+#~ msgid "reopened"
+#~ msgstr "riaperto"
diff --git a/locale/lt_LT.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/lt_LT.UTF-8/LC_MESSAGES/FixMyStreet.po
index 87569324f..2a5e5277d 100644
--- a/locale/lt_LT.UTF-8/LC_MESSAGES/FixMyStreet.po
+++ b/locale/lt_LT.UTF-8/LC_MESSAGES/FixMyStreet.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
-"POT-Creation-Date: 2017-03-30 17:33+0100\n"
+"POT-Creation-Date: 2017-09-13 15:40+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: Paulius Zaleckas <paulius.zaleckas@gmail.com>, 2017\n"
+"Last-Translator: mySociety <transifex@mysociety.org>, 2017\n"
"Language-Team: Lithuanian (Lithuania) (https://www.transifex.com/mysociety/teams/12067/lt_LT/)\n"
"Language: lt_LT\n"
"MIME-Version: 1.0\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:695
+#: perllib/FixMyStreet/DB/Result/Problem.pm:632
#: perllib/FixMyStreet/Script/Reports.pm:197
msgid " and "
msgstr "ir"
@@ -91,25 +91,6 @@ msgstr "%s klausimynai išsiųsti &ndash; %s atsakyti (%s%%)"
msgid "%s ref:&nbsp;%s"
msgstr "%s ref:&nbsp;%s"
-#. ("%s is the site name")
-#: templates/web/base/alert/_list.html:74
-msgid ""
-"%s sends different categories of problem\n"
-"to the appropriate council, so problems within the boundary of a particular council\n"
-"might not match the problems sent to that council. For example, a graffiti report\n"
-"will be sent to the district council, so will appear in both of the district\n"
-"council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
-"for the county council."
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:257 perllib/FixMyStreet/Cobrand/UK.pm:269
-msgid "%s ward, %s"
-msgstr "%s rajonas, %s"
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
-msgid "%s, within %s ward"
-msgstr "%s, viduje %s rajonas"
-
#: perllib/FixMyStreet/Map/OSM.pm:38
msgid "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"
msgstr ""
@@ -118,7 +99,7 @@ msgstr ""
msgid "(Defect &amp; location of defect)"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
#: templates/web/base/admin/users.html:32
msgid "(Email in abuse table)"
msgstr "(Elektroninis paštas piktnaudžiavo lentelėje)"
@@ -133,49 +114,58 @@ msgstr "(NÄ—ra vardo)"
msgid "(No phone number)"
msgstr "(NÄ—ra telefono numerio)"
-#: templates/web/base/alert/_list.html:25
-msgid "(a default distance which covers roughly 200,000 people)"
-msgstr "(numatytasis atstumas, kuris apima maždaug 200.000 žmonių)"
-
-#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
-#: templates/web/base/alert/_list.html:30
-msgid "(alternatively the RSS feed can be customised, within %s)"
+#: templates/web/base/admin/states/index.html:95
+msgid "(a-z and space only)"
msgstr ""
#: templates/web/zurich/report/_item.html:19
msgid "(closed)"
msgstr "(uždaryta)"
+#: templates/web/base/alert/_list.html:30
+#, fuzzy
+msgid "(covers roughly 200,000 people)"
+msgstr "(numatytasis atstumas, kuris apima maždaug 200.000 žmonių)"
+
#: templates/web/zurich/report/_item.html:17
msgid "(fixed)"
msgstr "(atlikta)"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "(ignored if type is \"String\")"
+msgstr ""
+
#: templates/web/base/around/intro.html:2
msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
msgstr "(pavyzdžiui, grafitis, šiukšlės, duobė kelyje ar gatvės apšvietimas)"
-#: templates/web/base/report/_item.html:68
+#: templates/web/base/reports/index.html:69
+msgid "(no longer exists)"
+msgstr ""
+
+#: templates/web/base/report/_item.html:70
msgid "(not sent to council)"
-msgstr "(neišsiųsta savivaldybei)"
+msgstr "(neišsiųsta tarybai)"
#: templates/web/zurich/report/new/fill_in_details_form.html:59
msgid "(optional)"
msgstr "(pasirinktinai)"
-#: templates/web/base/report/_item.html:67
+#: templates/web/base/report/_item.html:69
msgid "(sent to both)"
msgstr "(išsiųsta į abu)"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:239
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/DB/Result/Problem.pm:454
+#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
+#: templates/web/base/alert/_list.html:36
+msgid "(we also have RSS feeds for problems within %s)"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:245
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:381
msgid "-- Pick a category --"
msgstr "-- Išsirinktite kategorija --"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:460
-msgid "-- Pick a property type --"
-msgstr "-- Pasirinkite nuosavybÄ—s tipÄ… --"
-
#: templates/web/base/admin/response_templates_select.html:3
msgid "--Choose a template--"
msgstr "--Išsirinkinte šabloną--"
@@ -184,16 +174,16 @@ msgstr "--Išsirinkinte šabloną--"
msgid "10 inch pothole on Example St, near post box"
msgstr ""
-#: templates/web/base/dashboard/index.html:152
+#: templates/web/base/dashboard/index.html:153
msgid "14-30 days old"
msgstr ""
-#: templates/web/base/dashboard/index.html:151
+#: templates/web/base/dashboard/index.html:152
msgid "7-14 days old"
msgstr ""
-#: templates/web/base/admin/body-form.html:48
-#: templates/web/base/admin/body-form.html:49
+#: templates/web/base/admin/body-form.html:50
+#: templates/web/base/admin/body-form.html:51
msgid ""
"<code>MAPIT_URL</code> is set (<code>%s</code>) but no <code>MAPIT_TYPES</code>.<br>\n"
" This is probably why \"area covered\" is empty (below).<br>\n"
@@ -207,13 +197,12 @@ msgstr ""
msgid "<h2>Reports, Statistics and Actions for</h2> <h1>%s</h1>"
msgstr ""
-#. ('The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories')
#. ("The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories")
-#: templates/web/base/reports/_list-filters.html:37
-msgid "<label for=\"statuses\">Show</label> %s <label for=\"filter_categories\">about</label> %s"
+#: templates/web/base/reports/_list-filters.html:48
+msgid "<label for=\"statuses\">Show</label> %s reports <label for=\"filter_categories\">about</label> %s"
msgstr ""
-#: templates/web/base/js/translation_strings.html:71
+#: templates/web/base/js/translation_strings.html:74
msgid "<span>%s</span> saved."
msgstr ""
@@ -230,34 +219,25 @@ msgstr "<strong>Ne</strong> Leisti patvirtinti mano pranešimą el. paštu"
msgid "<strong>No</strong> Let me confirm my update by email"
msgstr "<strong>Ne</strong> Leisti patvirtinti mano atnaujinimą el. paštu"
-#: templates/web/base/auth/general.html:104
+#: templates/web/base/auth/general.html:106
#: templates/web/zurich/auth/general.html:51
msgid "<strong>No</strong> let me sign in by email"
msgstr "<strong>Ne</strong> leisti man prisijungti el. paštu"
-#: templates/web/base/report/_inspect.html:160
+#: templates/web/base/report/_inspect.html:170
msgid "<strong>Note:</strong> This report has been sent onwards for action. Any changes made won't be passed on."
msgstr "<strong>Pastaba:</strong> Šis pranešimas jau išsiūstas vykdymui. Bet kokie pakeitimai nebus perduoti."
-#: templates/web/base/report/_inspect.html:162
+#: templates/web/base/report/_inspect.html:172
msgid "<strong>Note:</strong> This report hasn't yet been sent onwards for action. Any changes made may not be passed on."
msgstr "<strong>Pastaba:</strong> Šis pranešimas dar neišsiūstas vykdymui. Bet kokie pakeitimai nebūtinai bus perduoti."
-#: templates/web/base/auth/general.html:80
+#: templates/web/base/auth/general.html:82
#: templates/web/base/report/new/form_user_loggedout_password.html:3
#: templates/web/base/report/update/form_user_loggedout_password.html:2
msgid "<strong>Yes</strong> I have a password"
msgstr "<strong>Taip</strong> Aš turiu slaptažodį"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:10
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:6
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Action Scheduled"
-msgstr "Veiksmas suplanuotas"
-
#: templates/web/base/admin/body-form.html:3
#: templates/web/base/admin/body-form.html:4
msgid ""
@@ -274,19 +254,36 @@ msgid "Add a contact using the form below."
msgstr "Pridėkite kontaktą naudodami žemiau pateikta anketa"
#: templates/web/base/admin/bodies.html:78
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Add body"
msgstr "pridÄ—ti institucijÄ…"
+#: templates/web/base/admin/reportextrafields/index.html:24
+msgid "Add extra fields"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:79
+msgid "Add field"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:85
+msgid "Add fixed state"
+msgstr ""
+
#: templates/web/base/admin/body.html:126
#: templates/web/zurich/admin/body.html:31
msgid "Add new category"
msgstr "PridÄ—ti naujÄ… kategorijÄ…"
+#: templates/web/base/admin/extra-metadata-form.html:72
+#, fuzzy
+msgid "Add option"
+msgstr "(pasirinktinai)"
+
#: templates/web/base/report/_item.html:10
-#: templates/web/base/report/_item.html:14
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_item.html:16
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:19
#: templates/web/base/report/_main.html:30
msgid "Add to shortlist"
@@ -298,15 +295,15 @@ msgstr "Įdėti į trumpajį sąrašą"
msgid "Add user"
msgstr "PridÄ—ti vartotojÄ…"
-#: perllib/FixMyStreet/Cobrand/Default.pm:730
+#: perllib/FixMyStreet/Cobrand/Default.pm:735
msgid "Add/edit problem categories"
msgstr "Pridėti/redaguoti problemų kategorijas"
-#: perllib/FixMyStreet/Cobrand/Default.pm:732
+#: perllib/FixMyStreet/Cobrand/Default.pm:737
msgid "Add/edit response priorities"
msgstr "Pridėti/redaguoti atsakymų prioritetus"
-#: perllib/FixMyStreet/Cobrand/Default.pm:731
+#: perllib/FixMyStreet/Cobrand/Default.pm:736
msgid "Add/edit response templates"
msgstr "Pridėti/redaguoti atsakymo šablonus"
@@ -314,7 +311,7 @@ msgstr "Pridėti/redaguoti atsakymo šablonus"
msgid "Added %s"
msgstr "PridÄ—ta %s"
-#: templates/web/base/report/_main.html:145
+#: templates/web/base/report/_main.html:149
msgid "Adding this report to your shortlist will remove it from %s’s shortlist."
msgstr ""
@@ -334,17 +331,17 @@ msgstr ""
msgid "Alert %d disabled (created %s)"
msgstr ""
-#: templates/web/base/report/update/form_name.html:38
+#: templates/web/base/report/update/form_name.html:42
msgid "Alert me to future updates"
msgstr "Įspėti mane apie atnaujinimus"
#: templates/web/base/dashboard/index.html:138
#: templates/web/base/dashboard/index.html:21
#: templates/web/base/dashboard/index.html:30
+#: templates/web/base/reports/_list-filters.html:3
msgid "All"
msgstr ""
-#: templates/web/base/reports/index.html:6
#: templates/web/zurich/reports/index.html:13
msgid "All Reports"
msgstr "Visi Pranešimai"
@@ -354,15 +351,23 @@ msgid "All Reports as CSV"
msgstr ""
#: templates/web/base/admin/category-multiselect.html:5
-#: templates/web/base/admin/responsepriorities/list.html:19
+#: templates/web/base/admin/responsepriorities/list.html:20
msgid "All categories"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:26
+#, fuzzy
+msgid "All cobrands"
+msgstr "Cobrand"
+
+#: templates/web/base/admin/reportextrafields/edit.html:47
+msgid "All languages"
+msgstr ""
+
#: templates/web/base/main_nav_items.html:0
#: templates/web/base/main_nav_items.html:27
-#: templates/web/base/reports/_list-filters.html:3
#: templates/web/zurich/admin/index-dm.html:12
-#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:21
+#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:20
#: templates/web/zurich/nav_over_content.html:6
msgid "All reports"
msgstr "Visi pranešimai"
@@ -372,6 +377,14 @@ msgstr "Visi pranešimai"
msgid "All reports between %s and %s"
msgstr "Visi pranešimai nuo %s ir %s"
+#: templates/web/base/reports/index.html:23
+msgid "All time"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:20
+msgid "Alternatively, we can hide your name on <strong>all of your reports and updates</strong> across the site:"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:47
msgid "An update marked this problem as fixed."
msgstr "Atnaujinimas - Problema sutvarkyta"
@@ -381,31 +394,33 @@ msgstr "Atnaujinimas - Problema sutvarkyta"
msgid "Anonymous"
msgstr "Anoniminis"
-#: templates/web/base/admin/report_edit.html:134
+#: templates/web/base/report/new/form_user_loggedin.html:21
+#: templates/web/base/report/update/form_name.html:17
+#, fuzzy
+msgid "Anonymous user"
+msgstr "Anoniminis"
+
+#: templates/web/base/admin/report_edit.html:122
#: templates/web/base/admin/update_edit.html:23
msgid "Anonymous:"
msgstr "Anoniminis:"
-#: templates/web/base/report/new/form_user_loggedin.html:20
-#: templates/web/base/report/update/form_name.html:13
+#: templates/web/base/report/new/form_user_loggedin.html:24
+#: templates/web/base/report/update/form_name.html:14
msgid "Another user"
msgstr ""
-#: templates/web/base/front/footer-marketing.html:16
-msgid "Are you a developer?"
-msgstr "Ar esi aplikacijų kūrėjas?"
-
-#: templates/web/base/js/translation_strings.html:56
+#: templates/web/base/js/translation_strings.html:59
msgid "Are you sure you want to cancel this upload?"
msgstr ""
#: templates/web/base/admin/report_edit.html:84
-#: templates/web/base/js/translation_strings.html:66
+#: templates/web/base/js/translation_strings.html:69
#: templates/web/base/report/display_tools.html:6
msgid "Are you sure?"
msgstr ""
-#: templates/web/base/admin/body-form.html:75
+#: templates/web/base/admin/body-form.html:77
#: templates/web/base/admin/body.html:20
#: templates/web/zurich/admin/body-form.html:24
msgid "Area covered"
@@ -437,11 +452,11 @@ msgstr "Priskirti išoriniai institucijai:"
msgid "Assign to subdivision:"
msgstr "Priskirti padaliniui:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:727
+#: perllib/FixMyStreet/Cobrand/Default.pm:732
msgid "Assign users to areas"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:214
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:219
msgid "Assigned to %s"
msgstr "Priskirta to %s"
@@ -462,11 +477,14 @@ msgstr ""
msgid "Auto-response:"
msgstr ""
-#: templates/web/base/admin/report_edit.html:127
-#: templates/web/base/report/_inspect.html:47
+#: templates/web/base/admin/report-category.html:8
msgid "Available categories"
msgstr ""
+#: templates/web/base/reports/index.html:84
+msgid "Average time between a problem being reported and being fixed, last 100 reports."
+msgstr ""
+
#: templates/web/base/dashboard/index.html:109
msgid "Average time to council marking fixed (days)"
msgstr ""
@@ -479,7 +497,7 @@ msgstr ""
msgid "Avoid personal information and vehicle number plates"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:417
+#: perllib/FixMyStreet/DB/Result/Problem.pm:344
#: templates/web/zurich/report/_item.html:9
msgid "Awaiting moderation"
msgstr "Laukiama "
@@ -492,13 +510,13 @@ msgstr "Atgal"
msgid "Back to all reports"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
msgid "Ban email address"
msgstr "Drausti el. paštą"
#: perllib/FixMyStreet/Cobrand/Default.pm:650
-#: perllib/FixMyStreet/Cobrand/Default.pm:729
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
+#: perllib/FixMyStreet/Cobrand/Default.pm:734
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:396
#: templates/web/base/admin/bodies.html:1
#: templates/web/base/admin/report_edit.html:55
#: templates/web/zurich/header.html:56
@@ -520,7 +538,11 @@ msgstr "Institucija:"
msgid "By Date"
msgstr "Pagal DatÄ…"
-#: templates/web/base/auth/token.html:21 templates/web/base/email_sent.html:18
+#: templates/web/base/admin/extra-metadata-form.html:36
+msgid "Can be used to display extra text to the user alongside the field. The default template does not show this (<code>meta.datatype_description</code>), you must add it in <code>category_extras_fields.html</code>"
+msgstr ""
+
+#: templates/web/base/auth/token.html:27 templates/web/base/email_sent.html:20
msgid "Can&rsquo;t find our email? Check your spam folder&nbsp;&ndash; that&rsquo;s the solution 99% of the time."
msgstr ""
@@ -541,8 +563,8 @@ msgstr ""
#: templates/web/base/admin/body.html:72
#: templates/web/base/admin/contact-form.html:19
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/report/_inspect.html:38
-#: templates/web/base/report/_item.html:90
+#: templates/web/base/report/_inspect.html:48
+#: templates/web/base/report/_item.html:92
#: templates/web/base/report/new/category.html:6
#: templates/web/base/report/new/category_wrapper.html:3
#: templates/web/zurich/admin/body.html:14
@@ -553,7 +575,7 @@ msgstr ""
msgid "Category"
msgstr "Kategorija"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:852
+#: perllib/FixMyStreet/App/Controller/Admin.pm:956
msgid "Category changed from ‘%s’ to ‘%s’"
msgstr ""
@@ -593,27 +615,11 @@ msgstr ""
msgid "Change password"
msgstr "Pakeisti slaptažodį"
-#: templates/web/base/admin/contact-form.html:41
-msgid ""
-"Check <strong>confirmed</strong> to indicate that this contact has been confirmed as correct.\n"
-" If you are not sure of the origin or validity of the contact, leave this unchecked."
-msgstr ""
-"Pažymėti <strong>patvirtinta</strong> norint nurodyti, kad kontaktas yra teisingas.\n"
-"Jeigu abejojate kontakto tikrumoÄ siÅ«lome palikti nežymÄ—ta."
-
-#: templates/web/base/admin/contact-form.html:52
-msgid ""
-"Check <strong>deleted</strong> to remove the category from use. \n"
-" It will not appear as an available category in the drop-down menu on the report-a-problem page."
-msgstr ""
-"Check <strong>deleted</strong> to remove the category from use. \n"
-"It will not appear as an available category in the drop-down menu on the report-a-problem page."
-
-#: templates/web/base/admin/contact-form.html:79
+#: templates/web/base/admin/contact-form.html:80
msgid "Check <strong>inspection required</strong> if reports in this category <strong>must be inspected</strong> before being sent."
msgstr ""
-#: templates/web/base/admin/contact-form.html:63
+#: templates/web/base/admin/contact-form.html:64
msgid ""
"Check <strong>private</strong> if reports in this category should <strong>never be displayed on the website</strong>.\n"
" <br>\n"
@@ -639,11 +645,11 @@ msgstr ""
"Choose a <strong>category</strong> name that makes sense to the public (e.g., \"Pothole\", \"Street lighting\") but is helpful\n"
"to the body too. These will appear in the drop-down menu on the report-a-problem page."
-#: templates/web/base/report/_inspect.html:93
+#: templates/web/base/report/_inspect.html:103
msgid "Choose another"
msgstr ""
-#: templates/web/base/js/translation_strings.html:65
+#: templates/web/base/js/translation_strings.html:68
msgid "Clear offline data"
msgstr ""
@@ -668,21 +674,21 @@ msgstr ""
msgid "Click the link in our confirmation email to publish your update."
msgstr ""
-#: templates/web/base/auth/token.html:18
+#: templates/web/base/auth/token.html:23
msgid "Click the link in our confirmation email to sign in."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:189
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:960
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:17
-#: templates/web/base/admin/report_blocks.html:27
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:43
-#: templates/web/base/report/banner.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:18
+#: templates/web/base/auth/token.html:20
+msgid "Click the link in that email to sign in."
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:134
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:194
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:965
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:11
+#: templates/web/base/admin/states/index.html:103
+#: templates/web/base/admin/states/index.html:27
+#: templates/web/base/admin/states/index.html:33
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:10
#: templates/web/zurich/admin/header.html:16
@@ -690,23 +696,17 @@ msgstr ""
msgid "Closed"
msgstr "Uždaryta"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:889
+#: perllib/FixMyStreet/DB/Result/Problem.pm:826
msgid "Closed by council"
msgstr "Uždaryta "
-#: templates/web/base/reports/_list-filters.html:13
-msgid "Closed reports"
-msgstr ""
-
-#: templates/web/base/admin/problem_row.html:38
-msgid "Closed:"
-msgstr "Uždaryta:"
-
#: templates/web/base/admin/report_edit.html:37
msgid "Co-ordinates:"
msgstr "KoordinatÄ—s:"
#: templates/web/base/admin/list_updates.html:10
+#: templates/web/base/admin/reportextrafields/edit.html:24
+#: templates/web/base/admin/reportextrafields/index.html:7
msgid "Cobrand"
msgstr "Cobrand"
@@ -720,6 +720,10 @@ msgstr "Cobrand informacija:"
msgid "Cobrand:"
msgstr "Cobrand:"
+#: templates/web/base/admin/extra-metadata-form.html:14
+msgid "Code"
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:50
msgid "Collapse map"
msgstr ""
@@ -750,9 +754,8 @@ msgstr ""
msgid "Confirmation"
msgstr "Patvirtinimas"
-#: templates/web/base/admin/body.html:85
-#: templates/web/base/admin/category_edit.html:54
-#: templates/web/base/admin/contact-form.html:47
+#: templates/web/base/admin/contact-form.html:56
+#: templates/web/zurich/admin/contact-form.html:12
#: templates/web/zurich/admin/stats.html:40
msgid "Confirmed"
msgstr "Patvirtinta"
@@ -787,8 +790,8 @@ msgstr "Susisiekite su komanda"
msgid "Coordinates:"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1668
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1696
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1773
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1801
msgid "Could not find user"
msgstr "Vartotojas nerastas"
@@ -798,7 +801,7 @@ msgstr "Vieta nenustatyta"
#: templates/web/base/admin/list_updates.html:9
msgid "Council"
-msgstr "SavivaldybÄ—"
+msgstr "Taryba"
#: templates/web/base/admin/body.html:1
#: templates/web/base/admin/category_edit.html:1
@@ -837,7 +840,7 @@ msgstr ""
#: templates/web/base/admin/stats.html:92
msgid "Council:"
-msgstr "SavivaldybÄ—:"
+msgstr "Taryba:"
#: templates/web/base/admin/stats.html:12
#: templates/web/base/admin/stats.html:32
@@ -846,24 +849,33 @@ msgstr "SavivaldybÄ—:"
msgid "Count"
msgstr "SkaiÄiavimas"
+#: templates/web/base/admin/states/index.html:114
+#, fuzzy
+msgid "Create"
+msgstr "Sukurta"
+
#: templates/web/base/email_sent.html:1
msgid "Create a report"
msgstr "Sukurti pranešimą"
-#: templates/web/base/admin/contact-form.html:137
+#: templates/web/base/admin/contact-form.html:138
#: templates/web/zurich/admin/body.html:62
msgid "Create category"
msgstr "Sukurti kategorijÄ…"
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/responsepriorities/edit.html:58
msgid "Create priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:714
+#: perllib/FixMyStreet/Cobrand/Default.pm:718
+msgid "Create reports/updates as anonymous user"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:719
msgid "Create reports/updates as the council"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:713
+#: perllib/FixMyStreet/Cobrand/Default.pm:717
msgid "Create reports/updates on a user's behalf"
msgstr ""
@@ -893,13 +905,15 @@ msgstr "Esama būsena"
msgid "Currently no bodies have been created."
msgstr "Å iuo metu ne viena institucija nÄ—ra sukurta."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:825
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:830
#: templates/web/zurich/admin/report_edit-sdm.html:105
msgid "Customer not contactable"
msgstr ""
#: templates/web/base/dashboard/index.html:5
#: templates/web/base/dashboard/index.html:7
+#: templates/web/base/reports/index.html:15
+#: templates/web/base/reports/index.html:18
msgid "Dashboard"
msgstr "Įrankių juosta"
@@ -907,29 +921,36 @@ msgstr "Įrankių juosta"
msgid "Dealt with by subdivision within 5 working days"
msgstr "Padalinys atliko per 5 darbo dienas"
-#: templates/web/base/report/_inspect.html:73
+#: templates/web/base/admin/responsepriorities/list.html:9
+msgid "Default"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:39
+msgid "Default priority"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:72
msgid "Defect type"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:973
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1078
#: templates/web/base/admin/template_edit.html:50
#: templates/web/zurich/admin/template_edit.html:33
msgid "Delete template"
msgstr "Pašalinti šabloną"
#: templates/web/base/admin/bodies.html:31
-#: templates/web/base/admin/body.html:87
-#: templates/web/base/admin/category_edit.html:55
#: templates/web/base/admin/contact-form.html:58
-#: templates/web/zurich/admin/contact-form.html:12
+#: templates/web/zurich/admin/contact-form.html:13
msgid "Deleted"
msgstr "Ištrinta"
-#: templates/web/base/report/_main.html:110
-#: templates/web/base/report/update.html:59
+#: templates/web/base/report/_main.html:114
+#: templates/web/base/report/update.html:68
msgid "Describe why you are moderating this"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:32
#: templates/web/base/admin/responsepriorities/list.html:7
#: templates/web/zurich/admin/index-dm.html:22
#: templates/web/zurich/admin/index-sdm.html:20
@@ -953,7 +974,7 @@ msgstr "Išsamiau"
msgid "Details:"
msgstr "Išsamiau:"
-#: templates/web/base/admin/body.html:93
+#: templates/web/base/admin/body.html:92
msgid "Devolved"
msgstr "Perduota"
@@ -966,8 +987,8 @@ msgstr ""
msgid "Diligency prize league table"
msgstr "Diligency prize league table"
-#: templates/web/base/report/_main.html:114
-#: templates/web/base/report/update.html:61
+#: templates/web/base/report/_main.html:118
+#: templates/web/base/report/update.html:70
msgid "Discard changes"
msgstr ""
@@ -976,7 +997,7 @@ msgid "Do not send email alerts on fetched comments to problem creator"
msgstr ""
#. ("%s is the site name")
-#: templates/web/base/auth/general.html:58
+#: templates/web/base/auth/general.html:60
#: templates/web/base/report/new/form_user_loggedout.html:25
#: templates/web/base/report/new/oauth_email_form.html:18
#: templates/web/base/report/update-form.html:30
@@ -984,40 +1005,33 @@ msgstr ""
msgid "Do you have a %s password?"
msgstr ""
+#: templates/web/base/report/_inspect.html:87
+msgid "Do you want to automatically raise a defect?"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:57
msgid "Don&rsquo;t know"
msgstr "Don&rsquo;t nežinau"
-#: templates/web/base/contact/index.html:108
+#: templates/web/base/contact/index.html:112
msgid "Don't like forms?"
msgstr "Nepatinka anketos?"
-#: templates/web/base/report/_item.html:25
+#: templates/web/base/report/_item.html:27
msgid "Down one"
msgstr ""
-#: templates/web/base/js/translation_strings.html:55
+#: templates/web/base/js/translation_strings.html:58
msgid "Drag and drop photos here or <u>click to upload</u>"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:10
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "Duplicate"
-msgstr "Kopija"
-
-#: templates/web/base/report/_inspect.html:88
-#, fuzzy
+#: templates/web/base/report/_inspect.html:98
msgid "Duplicate of"
-msgstr "Kopija"
+msgstr ""
-#: templates/web/base/report/_inspect.html:98
-#, fuzzy
+#: templates/web/base/report/_inspect.html:108
msgid "Duplicates"
-msgstr "Kopija"
+msgstr ""
#: templates/web/base/admin/body.html:116
msgid ""
@@ -1030,43 +1044,43 @@ msgstr ""
"Different categories <strong>can have the same contact</strong> (email address).\n"
"This means you can add many categories even if you only have one contact for the body."
-#: templates/web/base/report/_inspect.html:16
-#: templates/web/base/report/_item.html:81
+#: templates/web/base/report/_inspect.html:26
+#: templates/web/base/report/_item.html:83
msgid "Easting/Northing:"
msgstr ""
#: templates/web/base/admin/list_updates.html:42
#: templates/web/base/admin/problem_row.html:41
-#: templates/web/base/admin/responsepriorities/list.html:26
+#: templates/web/base/admin/responsepriorities/list.html:28
#: templates/web/base/admin/templates.html:22
#: templates/web/base/admin/users.html:34
#: templates/web/zurich/admin/problem_row.html:48
msgid "Edit"
msgstr "Redaguoti"
-#: templates/web/base/admin/body.html:140
+#: templates/web/base/admin/body.html:141
#: templates/web/base/admin/index.html:39
#: templates/web/zurich/admin/body.html:69
msgid "Edit body details"
msgstr "Redaguoti institucijos informacijÄ…"
-#: perllib/FixMyStreet/Cobrand/Default.pm:724
+#: perllib/FixMyStreet/Cobrand/Default.pm:729
msgid "Edit other users' details"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:725
+#: perllib/FixMyStreet/Cobrand/Default.pm:730
msgid "Edit other users' permissions"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:708
+#: perllib/FixMyStreet/Cobrand/Default.pm:712
msgid "Edit report category"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:709
+#: perllib/FixMyStreet/Cobrand/Default.pm:713
msgid "Edit report priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:707
+#: perllib/FixMyStreet/Cobrand/Default.pm:711
msgid "Edit reports"
msgstr ""
@@ -1089,15 +1103,15 @@ msgstr "Atnaujinimo redagavimas %d"
msgid "Editing user %d"
msgstr "Redaguoti vartotojÄ… %d"
-#: templates/web/base/admin/category_edit.html:56
+#: templates/web/base/admin/category_edit.html:30
msgid "Editor"
msgstr "Redaktorius"
#: templates/web/base/admin/bodies.html:27
-#: templates/web/base/admin/category_edit.html:53
+#: templates/web/base/admin/category_edit.html:28
#: templates/web/base/admin/flagged.html:38
#: templates/web/base/admin/users.html:17
-#: templates/web/base/auth/general.html:49
+#: templates/web/base/auth/general.html:51
#: templates/web/zurich/admin/body-form.html:9
#: templates/web/zurich/admin/body.html:15
#: templates/web/zurich/auth/general.html:24
@@ -1105,13 +1119,14 @@ msgstr "Redaktorius"
msgid "Email"
msgstr "El. paštas"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1644
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1749
msgid "Email added to abuse list"
msgstr "El. paštas pridėtas prie piktnaudžiavimo sąrašo"
-#: templates/web/base/admin/contact-form.html:36
-#: templates/web/base/report/new/form_user_loggedin.html:28
-#: templates/web/base/report/update/form_name.html:19
+#: templates/web/base/admin/contact-form.html:38
+#: templates/web/base/alert/_list.html:74
+#: templates/web/base/report/new/form_user_loggedin.html:32
+#: templates/web/base/report/update/form_name.html:23
msgid "Email address"
msgstr ""
@@ -1123,11 +1138,11 @@ msgstr ""
msgid "Email alert deleted"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1641
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1746
msgid "Email already in abuse list"
msgstr "El. paštas jau yra piktnaudžiavimo sąraše"
-#: templates/web/base/admin/report_edit.html:141
+#: templates/web/base/admin/report_edit.html:129
#: templates/web/base/admin/update_edit.html:35
#: templates/web/base/admin/user-form.html:19
#: templates/web/zurich/admin/body.html:48
@@ -1152,8 +1167,8 @@ msgstr ""
"For more information, see \n"
"<a href='https://www.mysociety.org/2013/02/20/open311-extended/' class='admin-offsite-link'>this article</a>."
-#: templates/web/base/admin/body-form.html:120
-#: templates/web/base/admin/body-form.html:121
+#: templates/web/base/admin/body-form.html:122
+#: templates/web/base/admin/body-form.html:123
msgid ""
"Enable this <strong>can be devolved</strong> setting if one or more contacts have a \n"
" different endpoint (and send method) from the body's. For example, if reports for some categories of\n"
@@ -1171,11 +1186,11 @@ msgstr "Pabaigos Data:"
msgid "Endpoint"
msgstr "Pabaigos taškas"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:76
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:81
msgid "Enter a Z&uuml;rich street name"
msgstr "Įveskite Z&uuml;rich gatvės pavadinimą"
-#: perllib/FixMyStreet/Cobrand/UK.pm:15
+#: perllib/FixMyStreet/Cobrand/UK.pm:16
msgid "Enter a nearby UK postcode, or street name and area"
msgstr "Įveskite artimiausia pašto kodą arba gatvės pavadinimą ir rajoną"
@@ -1184,12 +1199,13 @@ msgstr "Įveskite artimiausia pašto kodą arba gatvės pavadinimą ir rajoną"
msgid "Enter a nearby postcode, or street name and area"
msgstr "Įveskite artimiausia pašto kodą arba gatvės pavadinimą ir rajoną"
+#: perllib/FixMyStreet/Cobrand/DansMonQwat.pm:14
#: templates/web/base/around/postcode_form.html:5
#: templates/web/base/around/postcode_form.html:6
msgid "Enter a nearby street name and area"
msgstr "Įveskite artimiausios gatvės pavadinimą ir rajoną"
-#: templates/web/base/auth/general.html:116
+#: templates/web/base/auth/general.html:118
#: templates/web/base/report/new/form_user_loggedout_by_email.html:35
#: templates/web/base/report/update/form_user_loggedout_by_email.html:13
#: templates/web/zurich/auth/general.html:65
@@ -1209,8 +1225,8 @@ msgstr "įveskite problemos detales"
msgid "Error"
msgstr "Klaida"
-#: templates/web/base/reports/_list-filters.html:20
-#: templates/web/base/reports/_list-filters.html:28
+#: templates/web/base/reports/_list-filters.html:31
+#: templates/web/base/reports/_list-filters.html:39
msgid "Everything"
msgstr ""
@@ -1223,8 +1239,7 @@ msgstr "Pašto kodo pavyzdys %s"
msgid "Examples:"
msgstr "Pavyzdžiai:"
-#: templates/web/base/admin/report_edit.html:122
-#: templates/web/base/report/_inspect.html:42
+#: templates/web/base/admin/report-category.html:3
msgid "Existing category"
msgstr ""
@@ -1232,16 +1247,16 @@ msgstr ""
msgid "Expand map"
msgstr ""
-#: templates/web/base/report/new/form_report.html:52
+#: templates/web/base/report/new/form_report.html:54
msgid "Explain what’s wrong"
msgstr ""
-#: templates/web/base/dashboard/index.html:146
+#: templates/web/base/dashboard/index.html:147
msgid "Export as CSV"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:913
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:179
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:12
msgid "Extern"
@@ -1252,7 +1267,7 @@ msgstr ""
msgid "External ID"
msgstr ""
-#: templates/web/base/admin/body-form.html:87
+#: templates/web/base/admin/body-form.html:89
msgid "External URL"
msgstr ""
@@ -1264,13 +1279,20 @@ msgstr ""
msgid "External team"
msgstr ""
-#: templates/web/base/admin/category_edit.html:25
+#: perllib/FixMyStreet/Cobrand/Default.pm:673
+#: templates/web/base/admin/reportextrafields/edit.html:1
+#: templates/web/base/admin/reportextrafields/index.html:1
+#, fuzzy
+msgid "Extra Fields"
+msgstr "Papildoma informacija:"
+
+#: templates/web/base/admin/contact-form.html:141
#: templates/web/base/admin/report_edit.html:94
msgid "Extra data:"
msgstr "Papildoma informacija:"
-#: templates/web/base/report/_inspect.html:134
-#: templates/web/base/report/_item.html:106
+#: templates/web/base/report/_inspect.html:144
+#: templates/web/base/report/_item.html:108
msgid "Extra details"
msgstr ""
@@ -1278,6 +1300,11 @@ msgstr ""
msgid "Failed to send message"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:58
+#: templates/web/base/admin/reportextrafields/index.html:9
+msgid "Fields"
+msgstr ""
+
#: templates/web/zurich/admin/index-dm.html:33
#: templates/web/zurich/admin/index-sdm.html:30
msgid "Filter report list"
@@ -1291,52 +1318,32 @@ msgstr "Pirmas kartas"
msgid "Fix this by choosing an <strong>area covered</strong> in the <em>Edit body details</em> form below."
msgstr "Suvarkyti tai pasirenkant <strong>pažymėta vietovę</strong> <em>Redaguoti informaciją</em>formą."
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:11
-#: templates/web/base/admin/report_blocks.html:26
+#: perllib/FixMyStreet/App/Controller/Admin/States.pm:35
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:133
+#: templates/web/base/admin/states/index.html:29
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:41
-#: templates/web/base/report/banner.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:17
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:45
msgid "Fixed"
msgstr "Sutvarkyta"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:13
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:7
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:62
msgid "Fixed - Council"
msgstr "Sutvarkyta - Savivaldybe"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:12
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:63
msgid "Fixed - User"
msgstr "Sutvarkyta - Vartotojas"
-#: templates/web/base/reports/_list-filters.html:14
-msgid "Fixed reports"
-msgstr ""
-
-#: templates/web/base/admin/problem_row.html:37
-msgid "Fixed:"
-msgstr "Sutvarkyta:"
-
-#: templates/web/base/admin/body-form.html:95
-#: templates/web/base/admin/responsepriorities/edit.html:41
+#: templates/web/base/admin/body-form.html:97
+#: templates/web/base/admin/responsepriorities/edit.html:53
#: templates/web/zurich/admin/body-form.html:36
msgid "Flag as deleted"
msgstr "Pažymeti kaip ištrinta"
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/report_blocks.html:23
msgid "Flag user"
msgstr "Pažymėti vartotoją"
-#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: perllib/FixMyStreet/Cobrand/Default.pm:644
#: templates/web/base/admin/users.html:20
msgid "Flagged"
msgstr "Pažymėta"
@@ -1353,7 +1360,7 @@ msgstr "Flagged users are listed on the <a href='%s'>flagged</a> page."
msgid "Flagged users are not restricted in any way. This is just a list of users that have been marked for attention."
msgstr "Flagged users are not restricted in any way. This is just a list of users that have been marked for attention."
-#: templates/web/base/admin/report_edit.html:147
+#: templates/web/base/admin/report_edit.html:135
#: templates/web/base/admin/user-form.html:100
msgid "Flagged:"
msgstr "Pažymėta:"
@@ -1366,21 +1373,25 @@ msgstr "Follow a ward link to view only reports within that ward."
msgid "For best results include a close-up and a wide shot"
msgstr ""
-#: templates/web/base/admin/body-form.html:71
+#: templates/web/base/admin/extra-metadata-form.html:52
+msgid "For each option, <strong>Key</strong> is the value which is stored in the database for that option and <strong>Name</strong> is the value displayed to the user."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:73
msgid "For more information, see <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
msgstr "Daugiau informacijos rasite <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
-#: templates/web/base/auth/general.html:95
+#: templates/web/base/auth/general.html:97
#: templates/web/base/report/new/form_user_loggedout_password.html:20
#: templates/web/base/report/update/form_user_loggedout_password.html:19
msgid "Forgotten your password?"
msgstr "Pamiršote slaptažodį?"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:743
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:748
msgid "Forwarded to external body"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:744
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:749
msgid "Forwarded wish to external body"
msgstr ""
@@ -1390,6 +1401,10 @@ msgstr ""
msgid "Frequently Asked Questions"
msgstr "Dažniausiai Užduodami Klausimai"
+#: templates/web/base/admin/stats.html:102
+msgid "Get Count"
+msgstr ""
+
#: templates/web/base/around/_updates.html:3
#: templates/web/base/report/display_tools.html:14
msgid "Get updates"
@@ -1405,10 +1420,14 @@ msgstr "Gauti šių problemų %s atnaujinimus"
msgid "Get updates of problems in this %s"
msgstr "Gauti problemų atnaujinimus iš %s"
-#: templates/web/base/alert/_list.html:83
+#: templates/web/base/alert/_list.html:85
msgid "Give me an RSS feed"
msgstr "Suteikti man RSS srautÄ…"
+#: templates/web/base/admin/reportextrafields/edit.html:6
+msgid "Give this collection of fields a name. It is not shown publicly, just here in the admin."
+msgstr ""
+
#: templates/web/base/questionnaire/completed.html:14
msgid "Glad to hear it’s been fixed!"
msgstr ""
@@ -1418,8 +1437,9 @@ msgstr ""
#: templates/web/base/admin/index.html:49
#: templates/web/base/alert/index.html:34
#: templates/web/base/around/postcode_form.html:13
-#: templates/web/base/reports/_list-filters.html:38
-#: templates/web/base/reports/_list-filters.html:53
+#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:64
+#: templates/web/base/reports/index.html:75
#: templates/web/zurich/admin/stats.html:26
msgid "Go"
msgstr "Pirmyn"
@@ -1428,7 +1448,7 @@ msgstr "Pirmyn"
msgid "Going to send questionnaire?"
msgstr "Ar ruošiates išsiųsti klausimyną?"
-#: perllib/FixMyStreet/Cobrand/Default.pm:726
+#: perllib/FixMyStreet/Cobrand/Default.pm:731
msgid "Grant access to the admin"
msgstr ""
@@ -1436,10 +1456,6 @@ msgstr ""
msgid "Graph of problem creation by status over time"
msgstr "Problemų sukurimo grafikas pagal statusą per laiką"
-#: templates/web/base/reports/index.html:15
-msgid "Greyed-out lines are councils that no longer exist."
-msgstr "Pilkos eilutÄ—s nurodo nebeegsituojanÄius savivaldybÄ—s narius."
-
#: templates/web/base/questionnaire/index.html:48
msgid "Has this problem been fixed?"
msgstr "Ar ši problema buvo sutvarkyta?"
@@ -1450,7 +1466,7 @@ msgstr "Ar esate pranešęs apie problema anksÄiau, o gal tai pirmas kartas?"
#: templates/web/base/main_nav_items.html:40
#: templates/web/zurich/about/faq-de-ch.html:1
-#: templates/web/zurich/footer.html:23
+#: templates/web/zurich/footer.html:22
#: templates/web/zurich/nav_over_content.html:8
msgid "Help"
msgstr "Pagalba"
@@ -1460,22 +1476,13 @@ msgstr "Pagalba"
msgid "Help <strong>%s</strong> resolve your problem quicker, by providing some extra detail. This extra information will not be published online."
msgstr ""
-#: templates/web/base/alert/_list.html:9
-msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
-msgstr "Čia pateikti vietinių problemų tipų pranešimai skirti &lsquo;%s&rsquo;."
-
-#: templates/web/zurich/footer.html:12
+#: templates/web/zurich/footer.html:11
msgid "Hi %s"
msgstr "Labas %s"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:906
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:19
-#: templates/web/base/admin/report_blocks.html:28
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:911
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:60
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:19
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:11
#: templates/web/zurich/admin/stats.html:32
@@ -1483,16 +1490,33 @@ msgstr "Labas %s"
msgid "Hidden"
msgstr "PaslÄ—pta"
-#: templates/web/base/report/_main.html:105
-#, fuzzy
+#: templates/web/base/report/_main.html:109
msgid "Hide entire report"
-msgstr "Pridėti nepatvirtintus pranešimus"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:1
+#: templates/web/base/my/anonymize.html:2
+msgid "Hide my name"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:21
+msgid "Hide my name everywhere"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:10
+msgid "Hide my name in this update"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:16
+msgid "Hide my name on this report"
+msgstr ""
#: templates/web/base/around/display_location.html:67
msgid "Hide old"
msgstr "PaslÄ—pti senus"
#: templates/web/base/around/display_location.html:62
+#: templates/web/base/js/translation_strings.html:55
msgid "Hide pins"
msgstr "PaslÄ—pti smeigtukus"
@@ -1500,7 +1524,16 @@ msgstr "PaslÄ—pti smeigtukus"
msgid "Hide update completely?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:49
+#: templates/web/base/report/_report_meta_info.html:3
+#: templates/web/base/report/update.html:55
+msgid "Hide your name?"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:38
+msgid "Hint"
+msgstr ""
+
+#: templates/web/base/admin/category_edit.html:24
msgid "History"
msgstr "Istorija"
@@ -1517,12 +1550,12 @@ msgid "How to send successful reports"
msgstr "Kaip išsiųsti sėkminga pranešimą"
#: templates/web/base/tokens/confirm_problem.html:36
-#: templates/web/base/tokens/confirm_problem.html:40
+#: templates/web/base/tokens/confirm_problem.html:41
msgid "I just reported a problem on @fixmystreet"
msgstr ""
-#: templates/web/base/tokens/confirm_update.html:19
-#: templates/web/base/tokens/confirm_update.html:23
+#: templates/web/base/tokens/confirm_update.html:20
+#: templates/web/base/tokens/confirm_update.html:25
msgid "I just updated a problem on @fixmystreet"
msgstr ""
@@ -1542,8 +1575,8 @@ msgstr "Apgailestaujame, bet jūsų problema nebuvo rasta duomenų bazėje.\n"
msgid "ID"
msgstr "ID"
-#: templates/web/base/admin/body-form.html:30
-#: templates/web/base/admin/body-form.html:31
+#: templates/web/base/admin/body-form.html:32
+#: templates/web/base/admin/body-form.html:33
msgid ""
"Identify a <strong>parent</strong> if this body is itself part of another body.\n"
" For basic installations, you don't need to join bodies in this way."
@@ -1551,10 +1584,18 @@ msgstr ""
"Identify a <strong>parent</strong> if this body is itself part of another body.\n"
"For basic installations, you don't need to join bodies in this way."
+#: templates/web/base/auth/token.html:19
+msgid "If there's a user associated with the address you entered, we've sent a confirmation email."
+msgstr ""
+
#: templates/web/base/admin/responsepriorities/edit.html:23
msgid "If this priority is passed to an external service (e.g. Exor/Confirm) enter the priority code to use with that service here."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:24
+msgid "If ticked the user won’t see an input field, just the ‘Description’ text."
+msgstr ""
+
#: templates/web/base/admin/contact-form.html:14
msgid ""
"If two or more bodies serve the same location, FixMyStreet combines identical categories into a single entry in\n"
@@ -1567,7 +1608,7 @@ msgstr ""
msgid "If you get some more information about the status of your problem, please come back to the site and leave an update."
msgstr ""
-#: templates/web/base/admin/responsepriorities/edit.html:33
+#: templates/web/base/admin/responsepriorities/edit.html:45
msgid "If you only want this priority to be an option for specific categories, pick them here. By default they will show for all categories."
msgstr ""
@@ -1590,7 +1631,7 @@ msgid ""
"(please note it will not be sent to the council)."
msgstr ""
-#: templates/web/base/admin/contact-form.html:30
+#: templates/web/base/admin/contact-form.html:32
msgid "If you're using <strong>a send method that is not email</strong>, enter the service ID (Open311) or equivalent identifier here."
msgstr "If you're using <strong>a send method that is not email</strong>, enter the service ID (Open311) or equivalent identifier here."
@@ -1625,7 +1666,7 @@ msgstr ""
"FixMyStreet <strong>user</strong> will be attributed as the creator of those updates\n"
"when they are shown on the site. Enter the ID (number) of that user."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:133
+#: perllib/FixMyStreet/App/Controller/Contact.pm:134
msgid "Illegal ID"
msgstr "NeteisÄ—tas ID"
@@ -1633,13 +1674,6 @@ msgstr "NeteisÄ—tas ID"
msgid "Illegal feed selection"
msgstr "NeteisÄ—tas srauto pasirinkimas"
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "In Progress"
-msgstr "Apdorojama"
-
#: templates/web/base/admin/flagged.html:39
msgid "In abuse table?"
msgstr "į piknaudžiavimo lentelę?"
@@ -1648,18 +1682,17 @@ msgstr "į piknaudžiavimo lentelę?"
msgid "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
msgstr "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:192
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:954
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:9
-#: templates/web/base/report/banner.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:5
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:197
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:959
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:8
msgid "In progress"
msgstr "Apdorojama"
+#: templates/web/base/admin/contact-form.html:57
+msgid "Inactive"
+msgstr ""
+
#: templates/web/base/tokens/confirm_alert.html:11
msgid "Inbox zero, here we come!"
msgstr ""
@@ -1676,11 +1709,15 @@ msgstr "Pridėti nepatvirtintus pranešimus"
msgid "Incorrect has_photo value \"%s\""
msgstr "Incorrect has_photo value \"%s\""
-#: templates/web/base/admin/contact-form.html:84
+#: templates/web/base/report/_inspect.html:5
+msgid "Inspect report"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:85
msgid "Inspection required"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:711
+#: perllib/FixMyStreet/Cobrand/Default.pm:715
msgid "Instruct contractors to fix problems"
msgstr ""
@@ -1688,13 +1725,6 @@ msgstr ""
msgid "Internal notes"
msgstr "Internal notes"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:11
-msgid "Internal referral"
-msgstr "Internal referral"
-
#: templates/web/base/offline/appcache.html:3
msgid "Internet glitch"
msgstr ""
@@ -1703,7 +1733,7 @@ msgstr ""
msgid "Invalid agency_responsible value %s"
msgstr "Invalid agency_responsible value %s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1502
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1607
msgid "Invalid end date"
msgstr "Klaidina pabaigos data"
@@ -1711,26 +1741,15 @@ msgstr "Klaidina pabaigos data"
msgid "Invalid format %s specified."
msgstr "Pasirinktas klaidingas formatas %s."
-#: perllib/FixMyStreet/App/Controller/Report.pm:398
+#: perllib/FixMyStreet/App/Controller/Report.pm:409
msgid "Invalid location. New location must be covered by the same council."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1498
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1603
msgid "Invalid start date"
msgstr "Klaidinga pradžios data"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:7
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:4
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Investigating"
-msgstr "Tyriama"
-
-#: templates/web/base/contact/blurb.html:8
+#: templates/web/base/contact/blurb.html:2
msgid "It's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there."
msgstr "Patikrinkite <a href=\"%s\">mūsų D.U.K</a> gal atsakymas yra ten."
@@ -1738,37 +1757,59 @@ msgstr "Patikrinkite <a href=\"%s\">mūsų D.U.K</a> gal atsakymas yra ten."
msgid "It’s on its way to the council right now."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:177
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:182
msgid "Jurisdiction Unknown"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:15
msgid "Jurisdiction unknown"
msgstr ""
-#: templates/web/base/auth/general.html:91
+#: templates/web/base/auth/general.html:93
#: templates/web/base/report/new/form_user_loggedout_password.html:16
#: templates/web/base/report/update/form_user_loggedout_password.html:15
#: templates/web/zurich/auth/general.html:40
msgid "Keep me signed in on this computer"
msgstr "Palikti mane prisijungusi su šiuo komputeriu"
+#: templates/web/base/admin/extra-metadata-form.html:61
+msgid "Key"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:9
+#: templates/web/base/admin/states/index.html:95
+msgid "Label"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:6
+#: templates/web/base/admin/reportextrafields/edit.html:45
+msgid "Language"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/index.html:8
+msgid "Languages"
+msgstr ""
+
#: templates/web/base/dashboard/index.html:50
msgid "Last 4 weeks"
msgstr ""
#: templates/web/base/dashboard/index.html:49
-#, fuzzy
+#: templates/web/base/reports/index.html:38
msgid "Last 7 days"
-msgstr "Paskutinis atnaujinimas:"
+msgstr ""
#: templates/web/base/admin/body.html:74
#: templates/web/zurich/admin/body.html:16
msgid "Last editor"
msgstr "Paskutinis redaktorius"
+#: templates/web/base/questionnaire/index.html:25
+msgid "Last update"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:89
msgid "Last update:"
msgstr "Paskutinis atnaujinimas:"
@@ -1777,23 +1818,27 @@ msgstr "Paskutinis atnaujinimas:"
msgid "Last&nbsp;update:"
msgstr "Last&nbsp;update:"
-#: templates/web/base/report/_inspect.html:20
-#: templates/web/base/report/_item.html:86
+#: templates/web/base/report/_inspect.html:30
+#: templates/web/base/report/_item.html:88
msgid "Latitude/Longitude:"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:50
+#: templates/web/base/reports/_list-filters.html:61
msgid "Least recently updated"
msgstr ""
-#: templates/web/base/admin/body-form.html:127
+#: templates/web/base/admin/body-form.html:129
msgid "Leave this blank if all reports to this body should be sent using the same send method (e.g., \"%s\")."
msgstr "Palikite neužpildyta jeigu visi pranešimai šioje dalyje turi buti išsiųsti naudojant tą patį siuntimo metodą (pvz, \"%s\")."
-#: templates/web/base/dashboard/index.html:150
+#: templates/web/base/dashboard/index.html:151
msgid "Less than 7 days old"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:47
+msgid "List"
+msgstr ""
+
#: templates/web/base/admin/body.html:31
msgid "List all reported problems"
msgstr "Pateikti visas praneštas problemas"
@@ -1824,23 +1869,23 @@ msgstr "Vietiniai pranešimai"
msgid "Locate the problem on a map of the area"
msgstr "Nustatytį problemos vietą žemėlapyje"
-#: templates/web/base/auth/general.html:22
+#: templates/web/base/auth/general.html:24
#: templates/web/base/report/new/form_user_loggedout.html:6
#: templates/web/base/report/update/form_user_loggedout.html:7
msgid "Log in with Facebook"
msgstr ""
-#: templates/web/base/auth/general.html:30
+#: templates/web/base/auth/general.html:32
#: templates/web/base/report/new/form_user_loggedout.html:14
#: templates/web/base/report/update/form_user_loggedout.html:15
msgid "Log in with Twitter"
msgstr ""
-#: templates/web/base/js/translation_strings.html:59
+#: templates/web/base/js/translation_strings.html:62
msgid "Log in with email"
msgstr ""
-#: templates/web/base/dashboard/index.html:145
+#: templates/web/base/dashboard/index.html:146
#: templates/web/base/dashboard/index.html:38
msgid "Look up"
msgstr ""
@@ -1849,11 +1894,11 @@ msgstr ""
msgid "MAP"
msgstr "MAP"
-#: perllib/FixMyStreet/Cobrand/Default.pm:712
+#: perllib/FixMyStreet/Cobrand/Default.pm:716
msgid "Manage shortlist"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:45
+#: templates/web/base/reports/_list-filters.html:56
msgid "Manual order"
msgstr ""
@@ -1869,19 +1914,11 @@ msgstr ""
msgid "Mark users whose behaviour you want to keep a check on as <strong>flagged</strong>."
msgstr "Mark users whose behaviour you want to keep a check on as <strong>flagged</strong>."
-#: templates/web/base/reports/index.html:27
-msgid "Marked fixed/closed in the past eight weeks"
-msgstr ""
-
-#: templates/web/base/reports/index.html:28
-msgid "Marked fixed/closed more than eight weeks ago"
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/Default.pm:710
+#: perllib/FixMyStreet/Cobrand/Default.pm:714
msgid "Markup problem details"
msgstr ""
-#: templates/web/base/contact/index.html:96
+#: templates/web/base/contact/index.html:100
msgid "Message"
msgstr "Žinutė"
@@ -1901,15 +1938,15 @@ msgstr ""
msgid "Missing jurisdiction_id"
msgstr "Missing jurisdiction_id"
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:706
+#: perllib/FixMyStreet/Cobrand/Default.pm:710
msgid "Moderate report details"
msgstr ""
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate this report"
msgstr ""
@@ -1917,8 +1954,8 @@ msgstr ""
msgid "Moderate this update"
msgstr ""
-#: templates/web/base/report/_main.html:69
-#: templates/web/base/report/update.html:49
+#: templates/web/base/report/_main.html:73
+#: templates/web/base/report/update.html:58
msgid "Moderated by %s at %s"
msgstr ""
@@ -1926,8 +1963,8 @@ msgstr ""
msgid "Moderated by division within one working day"
msgstr "Moderated by division within one working day"
-#: templates/web/base/report/_main.html:109
-#: templates/web/base/report/update.html:57
+#: templates/web/base/report/_main.html:113
+#: templates/web/base/report/update.html:66
msgid "Moderation reason:"
msgstr ""
@@ -1935,31 +1972,35 @@ msgstr ""
msgid "Month"
msgstr "MÄ—nuo"
-#: templates/web/base/reports/_list-filters.html:51
+#: templates/web/base/reports/_list-filters.html:62
msgid "Most commented"
msgstr ""
#: templates/web/base/admin/bodies.html:25
#: templates/web/base/admin/body-form.html:24
+#: templates/web/base/admin/extra-metadata-form.html:65
#: templates/web/base/admin/flagged.html:16
#: templates/web/base/admin/flagged.html:37
#: templates/web/base/admin/index.html:62
#: templates/web/base/admin/list_updates.html:7
+#: templates/web/base/admin/reportextrafields/edit.html:11
+#: templates/web/base/admin/reportextrafields/index.html:6
#: templates/web/base/admin/reports.html:14
#: templates/web/base/admin/responsepriorities/list.html:6
+#: templates/web/base/admin/states/index.html:108
+#: templates/web/base/admin/states/index.html:11
#: templates/web/base/admin/users.html:16
-#: templates/web/base/auth/general.html:106
-#: templates/web/base/report/new/form_user_loggedin.html:40
+#: templates/web/base/auth/general.html:108
+#: templates/web/base/report/new/form_user_loggedin.html:42
#: templates/web/base/report/new/form_user_loggedout_by_email.html:7
-#: templates/web/base/report/update/form_name.html:23
-#: templates/web/base/reports/index.html:23
+#: templates/web/base/report/update/form_name.html:27
#: templates/web/zurich/admin/body-form.html:4
#: templates/web/zurich/auth/general.html:60
#: templates/web/zurich/report/new/fill_in_details_form.html:59
msgid "Name"
msgstr "Vardas"
-#: templates/web/base/admin/report_edit.html:139
+#: templates/web/base/admin/report_edit.html:127
#: templates/web/base/admin/responsepriorities/edit.html:13
#: templates/web/base/admin/update_edit.html:34
#: templates/web/base/admin/user-form.html:16
@@ -1971,7 +2012,7 @@ msgstr "Vardas:"
msgid "Name: %s"
msgstr "Vardas: %s"
-#: templates/web/base/report/_inspect.html:28
+#: templates/web/base/report/_inspect.html:38
msgid "Navigate to this problem"
msgstr ""
@@ -1980,16 +2021,16 @@ msgstr ""
msgid "Nearest named road to the pin placed on the map (automatically generated using OpenStreetMap): %s%s"
msgstr "Artimiausia gatvė esanti šalia smeigtuko (automatiškai sugeneruota naudojant OpenStreetMap): %s%s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:129
+#: perllib/FixMyStreet/Cobrand/UK.pm:134
msgid "Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"
msgstr "Artimiausias pašto kodas esantis šalia smeigtuko žemėlapyje (sugeneruota automatiškai): %s (%sm toliau)"
-#: perllib/FixMyStreet/Cobrand/Default.pm:527
-#: perllib/FixMyStreet/Cobrand/Default.pm:567
+#: perllib/FixMyStreet/Cobrand/Default.pm:538
+#: perllib/FixMyStreet/Cobrand/Default.pm:566
msgid "Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"
msgstr "Artimiausia gavtė esanti šalia smeigtuko žemėlapyje (sugeneruota automatiškai naudojant Bing Maps): %s "
-#: perllib/FixMyStreet/Script/Alerts.pm:319
+#: perllib/FixMyStreet/Script/Alerts.pm:316
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s\n"
"\n"
@@ -1997,19 +2038,23 @@ msgstr ""
"Artimiausia gavtė esanti šalia smeigtuko žemėlapyje (sugeneruota automatiškai naudojant Bing Maps): %s \n"
"\n"
-#: templates/web/base/auth/token.html:17 templates/web/base/email_sent.html:5
+#: templates/web/base/auth/token.html:18
+msgid "Nearly done!"
+msgstr ""
+
+#: templates/web/base/auth/token.html:22 templates/web/base/email_sent.html:5
msgid "Nearly done! Now check your email&hellip;"
msgstr ""
-#: templates/web/base/reports/index.html:24
-msgid "New <br>problems"
-msgstr "Naujos <br>problemos"
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:131
+msgid "New"
+msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:259
+#: perllib/FixMyStreet/App/Controller/Admin.pm:262
msgid "New body added"
msgstr "Nauja dalis pridÄ—ta"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:405
+#: perllib/FixMyStreet/App/Controller/Admin.pm:386
msgid "New category contact added"
msgstr "Naujas kategorijos kontaktas pridetas"
@@ -2035,7 +2080,7 @@ msgid "New password:"
msgstr ""
#: templates/web/base/admin/responsepriorities/edit.html:4
-#: templates/web/base/admin/responsepriorities/list.html:32
+#: templates/web/base/admin/responsepriorities/list.html:34
msgid "New priority"
msgstr ""
@@ -2064,6 +2109,7 @@ msgid "New reports"
msgstr "Nauji pranešimai"
#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/states/index.html:91
msgid "New state"
msgstr "New state"
@@ -2073,7 +2119,7 @@ msgstr "New state"
msgid "New template"
msgstr "Naujas šablonas"
-#: templates/web/base/reports/_list-filters.html:47
+#: templates/web/base/reports/_list-filters.html:58
msgid "Newest"
msgstr ""
@@ -2081,20 +2127,19 @@ msgstr ""
msgid "Next"
msgstr "Kitas"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1203
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
+#: perllib/FixMyStreet/Cobrand/Default.pm:1237
#: templates/web/base/admin/category_edit.html:4
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:137
+#: templates/web/base/admin/report_edit.html:125
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:26
#: templates/web/base/questionnaire/creator_fixed.html:16
#: templates/web/base/questionnaire/index.html:106
#: templates/web/base/questionnaire/index.html:55
+#: templates/web/base/report/_inspect.html:92
msgid "No"
msgstr "Ne"
@@ -2110,7 +2155,7 @@ msgstr "NÄ—ra institucijos"
msgid "No council"
msgstr "NÄ—ra savivaldybÄ—s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:445
+#: perllib/FixMyStreet/DB/Result/Problem.pm:372
msgid "No council selected"
msgstr "Nepasirinkta savivaldybÄ—"
@@ -2126,25 +2171,16 @@ msgstr "Pažymėtos problemos nerastos"
msgid "No flagged users found."
msgstr "Pažymėti vartotojai nerasti."
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:14
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:8
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "No further action"
-msgstr ""
-
#: templates/web/zurich/admin/report_edit-sdm.html:125
#: templates/web/zurich/admin/report_edit.html:259
msgid "No further updates"
msgstr "Jokių kitų atnaujinimai"
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:84
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:68
msgid "No inspections by that inspector in the selected date range."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:86
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:70
msgid "No inspections in the selected date range."
msgstr ""
@@ -2152,8 +2188,8 @@ msgstr ""
msgid "No result returned"
msgstr "Jokių rezultatų"
-#: templates/web/base/admin/body-form.html:66
-#: templates/web/base/admin/body-form.html:67
+#: templates/web/base/admin/body-form.html:68
+#: templates/web/base/admin/body-form.html:69
msgid ""
"No specific areas are currently available, because the <code>MAPIT_URL</code> in\n"
" your config file is not pointing to a live MapIt service."
@@ -2192,17 +2228,8 @@ msgstr ""
" Depending on the implementation, staff users may have access to the dashboard (summary of\n"
" activity across their body), the ability to hide reports or set special report statuses."
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:9
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "Not Responsible"
-msgstr "Neatsakingas"
-
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:181
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:186
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:933
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:13
msgid "Not contactable"
@@ -2221,7 +2248,7 @@ msgid "Not reported to council"
msgstr "Nepranešta savivaldybei"
#: templates/web/base/admin/body.html:75
-#: templates/web/base/admin/category_edit.html:57
+#: templates/web/base/admin/category_edit.html:31
#: templates/web/zurich/admin/body.html:17
msgid "Note"
msgstr "Pastaba"
@@ -2231,7 +2258,7 @@ msgid "Note that when including unconfirmed reports we use the date the report w
msgstr "Note that when including unconfirmed reports we use the date the report was created which may not be in the same month the report was confirmed so the numbers may jump about a little"
#: templates/web/zurich/admin/body.html:55
-#: templates/web/zurich/admin/contact-form.html:17
+#: templates/web/zurich/admin/contact-form.html:19
msgid "Note:"
msgstr "Pastaba:"
@@ -2243,6 +2270,10 @@ msgstr "Pastaba: <strong>%s</strong>"
msgid "Notes from SDM to DM"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:26
+msgid "Notice"
+msgstr ""
+
#: templates/web/base/report/new/oauth_email_form.html:17
msgid "Now to submit your report&hellip;"
msgstr "Dabar patvirtinti jūsų report&hellip;"
@@ -2253,63 +2284,43 @@ msgstr "Dabar patvirtinti jūsų report&hellip;"
msgid "Now to submit your update&hellip;"
msgstr "Dabar patvirtinti jūsų update&hellip;"
+#: templates/web/base/reports/index.html:98
+msgid "Number of problems reported in each category, in the last 7 days."
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:43
msgid "OK"
msgstr "Gerai"
-#: templates/web/base/js/translation_strings.html:67
+#: templates/web/base/js/translation_strings.html:70
msgid "Offline data cleared"
msgstr ""
-#: templates/web/base/js/translation_strings.html:64
+#: templates/web/base/js/translation_strings.html:67
msgid "Offline update data saved"
msgstr ""
-#: templates/web/base/reports/index.html:26
-msgid "Old / unknown <br>problems"
-msgstr "Senos/ nežinomos <br>problemos"
-
#: templates/web/base/admin/questionnaire.html:24
msgid "Old state"
msgstr "Sena būklė"
-#: templates/web/base/reports/index.html:28
-msgid "Older <br>fixed"
-msgstr "Senesnis <br>sutvarkyta"
-
-#: templates/web/base/reports/index.html:25
-msgid "Older <br>problems"
-msgstr "SenesnÄ—s <br>problemos"
-
-#: templates/web/base/reports/_list-filters.html:48
+#: templates/web/base/reports/_list-filters.html:59
msgid "Oldest"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:900
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:25
-#: templates/web/base/admin/report_blocks.html:6
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:905
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:10
+#: templates/web/base/admin/states/index.html:102
+#: templates/web/base/admin/states/index.html:25
+#: templates/web/base/admin/states/index.html:32
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:3
-#: templates/web/base/report/update/form_update.html:41
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:7
#: templates/web/zurich/admin/update_edit.html:18
msgid "Open"
msgstr "Atidaryta"
-#: templates/web/base/reports/index.html:25
-msgid "Open for more than four weeks, with an update within the past eight weeks"
-msgstr ""
-
-#: templates/web/base/reports/index.html:26
-msgid "Open, but not had any update in eight weeks"
-msgstr ""
-
#: templates/web/base/admin/open311-form-fields.html:47
msgid "Open311 API Key"
msgstr ""
@@ -2330,26 +2341,38 @@ msgstr "Open311 initiative web page"
msgid "Open311 specification"
msgstr "Open311 specification"
-#: templates/web/base/alert/_list.html:61
-msgid "Or problems reported to:"
-msgstr "Arba problemos praneštos:"
-
-#: templates/web/base/alert/_list.html:37
-msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
-msgstr "Arba jūs galite prenumeruoti įspėjimą atsižvelgiant į jūsų rajoną arba savivaldybę:"
-
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:1061
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:659
-#: perllib/FixMyStreet/DB/Result/Problem.pm:642
-#: perllib/FixMyStreet/DB/Result/Problem.pm:649
-#: perllib/FixMyStreet/DB/Result/Problem.pm:664
-#: perllib/FixMyStreet/DB/Result/Problem.pm:673
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "Options"
+msgstr ""
+
+#: templates/web/base/alert/_list.html:84
+msgid "Or subscribe by RSS"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:8
+msgid "Order"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1107
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:675
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:676
+#: perllib/FixMyStreet/DB/Result/Problem.pm:579
+#: perllib/FixMyStreet/DB/Result/Problem.pm:586
+#: perllib/FixMyStreet/DB/Result/Problem.pm:601
+#: perllib/FixMyStreet/DB/Result/Problem.pm:610
#: perllib/FixMyStreet/Script/Reports.pm:183
#: perllib/FixMyStreet/Script/Reports.pm:198
msgid "Other"
msgstr "Kita"
+#: templates/web/base/reports/index.html:107
+msgid "Other categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:92
+msgid "Overall average"
+msgstr ""
+
#: templates/web/base/admin/list_updates.html:8
msgid "Owner"
msgstr "Savininkas"
@@ -2359,17 +2382,16 @@ msgstr "Savininkas"
msgid "Page Not Found"
msgstr "Puslapis nerastas"
-#: templates/web/base/admin/body-form.html:37
+#: templates/web/base/admin/body-form.html:39
#: templates/web/zurich/admin/body-form.html:14
msgid "Parent"
msgstr "Parent"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:20
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:61
msgid "Partial"
msgstr "Dalinis"
-#: templates/web/base/auth/general.html:109
+#: templates/web/base/auth/general.html:111
#: templates/web/base/report/new/form_user_loggedout_by_email.html:28
#: templates/web/base/report/update/form_user_loggedout_by_email.html:6
#: templates/web/zurich/auth/general.html:32
@@ -2377,7 +2399,7 @@ msgstr "Dalinis"
msgid "Password (optional)"
msgstr "Slaptažodis (nebūtina)"
-#: templates/web/base/auth/general.html:82
+#: templates/web/base/auth/general.html:84
msgid "Password:"
msgstr "Slaptažodis:"
@@ -2389,17 +2411,21 @@ msgstr "Permalink"
msgid "Permissions:"
msgstr ""
+#: templates/web/base/report/_inspect.html:19
+msgid "Phone Reporter:"
+msgstr ""
+
#: templates/web/zurich/report/new/fill_in_details_form.html:65
msgid "Phone number"
msgstr "Telefono numeris"
-#: templates/web/base/report/new/form_user_loggedin.html:57
+#: templates/web/base/report/new/form_user_loggedin.html:59
#: templates/web/base/report/new/form_user_loggedout_by_email.html:25
msgid "Phone number (optional)"
msgstr "Telefono numeris (nebūtina)"
#: perllib/FixMyStreet/Script/Reports.pm:87
-#: templates/web/base/admin/report_edit.html:146
+#: templates/web/base/admin/report_edit.html:134
#: templates/web/base/admin/user-form.html:21
#: templates/web/zurich/admin/stats.html:39
msgid "Phone:"
@@ -2408,9 +2434,9 @@ msgstr "Telefonas:"
#: templates/web/base/questionnaire/index.html:78
#: templates/web/base/questionnaire/index.html:93
#: templates/web/base/questionnaire/index.html:95
-#: templates/web/base/report/new/form_report.html:28
-#: templates/web/base/report/new/form_report.html:43
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/new/form_report.html:45
+#: templates/web/base/report/new/form_report.html:47
#: templates/web/base/report/update/form_update.html:22
#: templates/web/base/report/update/form_update.html:24
#: templates/web/base/report/update/form_update.html:7
@@ -2428,12 +2454,12 @@ msgstr "Nuotrauka"
msgid "Photo is required."
msgstr ""
-#: templates/web/zurich/admin/contact-form.html:14
+#: templates/web/zurich/admin/contact-form.html:16
msgid "Photo required"
msgstr ""
#: templates/web/base/questionnaire/index.html:78
-#: templates/web/base/report/new/form_report.html:28
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/update/form_update.html:7
#: templates/web/zurich/report/new/fill_in_details_form.html:20
msgid "Photos"
@@ -2443,17 +2469,18 @@ msgstr ""
msgid "Photos of recent nearby reports"
msgstr "Naujausios gretimų pranešimų nuotraukos"
+#: templates/web/base/reports/index.html:63
+#: templates/web/base/reports/index.html:66
+msgid "Pick your council"
+msgstr ""
+
#: templates/web/base/around/display_location.html:76
#: templates/web/base/js/translation_strings.html:30
msgid "Place pin on map"
msgstr "Padėkite smeigtuką ant žemėlapio"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:940
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:946
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:8
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:945
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:951
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:9
#: templates/web/zurich/admin/index-dm.html:9
@@ -2471,31 +2498,27 @@ msgstr "Prašome patikrinti slaptažodžius ir pabandykite dar kartą"
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:18
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:43
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:45
#: templates/web/zurich/auth/general.html:3
#: templates/web/zurich/auth/general.html:9
msgid "Please check your email address is correct"
msgstr "Prašome patikrinti ar jūsų el. pašto adresas teisingas "
-#: perllib/FixMyStreet/App/Controller/Admin.pm:350
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:844
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:867
-#: perllib/FixMyStreet/DB/Result/Problem.pm:456
+#: perllib/FixMyStreet/App/Controller/Admin.pm:329
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:873
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:896
+#: perllib/FixMyStreet/DB/Result/Problem.pm:383
#: templates/web/base/js/translation_strings.html:9
msgid "Please choose a category"
msgstr "Prašome pasirinkti kategoriją"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:462
-msgid "Please choose a property type"
-msgstr "Prašome pasirinkti nuosavybės tipą"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:396
+#: perllib/FixMyStreet/App/Controller/Admin.pm:377
#: templates/web/base/admin/bodies.html:4 templates/web/base/admin/body.html:11
msgid "Please correct the errors below"
msgstr "Prašome ištaisyti klaidas "
-#: templates/web/base/contact/blurb.html:12
+#: templates/web/base/contact/blurb.html:6
msgid ""
"Please do <strong>not</strong> report problems through this form; messages go to\n"
"the team behind this site, not a council. To report a problem,\n"
@@ -2506,18 +2529,18 @@ msgstr ""
msgid "Please do not be abusive&nbsp;&mdash; abusing your council devalues the service for all users."
msgstr "Prašome neįžeidinėti&nbsp;&mdash; įžeidinėjimai nuvertina paslaugą visiems vartotojams."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:351
-#: perllib/FixMyStreet/DB/Result/Comment.pm:127
+#: perllib/FixMyStreet/App/Controller/Admin.pm:330
+#: perllib/FixMyStreet/DB/Result/Comment.pm:128
#: templates/web/base/js/translation_strings.html:2
msgid "Please enter a message"
msgstr "Prašome įvesti žinutę"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1200
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1364
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1305
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1469
msgid "Please enter a name"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:478
+#: perllib/FixMyStreet/App/Controller/Admin.pm:497
msgid "Please enter a name for this body"
msgstr ""
@@ -2527,15 +2550,15 @@ msgstr ""
msgid "Please enter a password"
msgstr "Prašome įvesti slaptažodį"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:114
-#: perllib/FixMyStreet/DB/Result/Problem.pm:439
+#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/DB/Result/Problem.pm:366
#: templates/web/base/js/translation_strings.html:3
msgid "Please enter a subject"
msgstr "Prašome įvesti temą"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1197
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1361
-#: perllib/FixMyStreet/App/Controller/Admin.pm:363
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1302
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1466
+#: perllib/FixMyStreet/App/Controller/Admin.pm:343
#: perllib/FixMyStreet/DB/Result/User.pm:164
#: templates/web/base/js/translation_strings.html:12
#: templates/web/base/js/translation_strings.html:16
@@ -2543,21 +2566,21 @@ msgid "Please enter a valid email"
msgstr "Prašome įvesti galiojantį el. paštą"
#: perllib/FixMyStreet/App/Controller/Alert.pm:350
-#: perllib/FixMyStreet/App/Controller/Contact.pm:124
+#: perllib/FixMyStreet/App/Controller/Contact.pm:125
msgid "Please enter a valid email address"
msgstr "Prašome įvesti galiojantį el. pašto adresą"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:442
+#: perllib/FixMyStreet/DB/Result/Problem.pm:369
#: templates/web/base/js/translation_strings.html:4
msgid "Please enter some details"
msgstr "Prašome įvesti daugiau informacijos"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/App/Controller/Contact.pm:114
#: perllib/FixMyStreet/DB/Result/User.pm:161
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:17
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:42
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:44
#: templates/web/base/js/translation_strings.html:11
#: templates/web/base/js/translation_strings.html:15
#: templates/web/zurich/auth/general.html:3
@@ -2574,14 +2597,14 @@ msgstr "Prašome įvesti savo el. pašto adresą"
msgid "Please enter your first name"
msgstr "Prašome įvesti savo vardą"
-#: perllib/FixMyStreet/Cobrand/UK.pm:320
+#: perllib/FixMyStreet/Cobrand/UK.pm:326
#: templates/web/base/js/translation_strings.html:7
msgid "Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below"
msgstr "PraÅ¡ome įvesti savo vardÄ… ir pavardÄ™, savivalldybei reikalinga jÅ«sų informacija - jeigu pageidaujate, kad jÅ«sų vardas nebÅ«tu pateiktas puslapyje nužymÄ—kite langelį apaÄioje"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:112
-#: perllib/FixMyStreet/DB/Result/Comment.pm:124
-#: perllib/FixMyStreet/DB/Result/Problem.pm:450
+#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/DB/Result/Comment.pm:125
+#: perllib/FixMyStreet/DB/Result/Problem.pm:377
#: perllib/FixMyStreet/DB/Result/User.pm:157
#: templates/web/base/js/translation_strings.html:6
msgid "Please enter your name"
@@ -2644,7 +2667,7 @@ msgstr ""
msgid "Please note:"
msgstr "Atkreipkite dėmėsį:"
-#: perllib/FixMyStreet/App/Controller/Report.pm:358
+#: perllib/FixMyStreet/App/Controller/Report.pm:353
msgid "Please provide a public update for this report."
msgstr ""
@@ -2680,11 +2703,11 @@ msgstr "Prašome nurodyti, ar problema buvo sutvarkyta"
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:122
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:156
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:158
-#: templates/web/base/js/translation_strings.html:57
+#: templates/web/base/js/translation_strings.html:60
msgid "Please upload an image only"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/App/Controller/Contact.pm:116
msgid "Please write a message"
msgstr "Prašome įvesti žinutę"
@@ -2692,30 +2715,29 @@ msgstr "Prašome įvesti žinutę"
msgid "Please write your update here"
msgstr "PraÅ¡ome raÅ¡tyti savo naujinimÄ… Äia"
-#: templates/web/base/contact/index.html:103
#: templates/web/base/report/update-form.html:25
#: templates/web/base/report/update/form_user_loggedout_by_email.html:14
#: templates/web/base/report/update/form_user_loggedout_password.html:10
msgid "Post"
msgstr "Įkelti"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:242
+#: perllib/FixMyStreet/DB/Result/Comment.pm:231
msgid "Posted anonymously at %s"
msgstr "Pateikta anonimiškai %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:257
+#: perllib/FixMyStreet/DB/Result/Comment.pm:255
msgid "Posted by %s at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:252
+#: perllib/FixMyStreet/DB/Result/Comment.pm:243
msgid "Posted by <strong>%s</strong> (%s) at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:254
+#: perllib/FixMyStreet/DB/Result/Comment.pm:245
msgid "Posted by <strong>%s</strong> at %s"
msgstr ""
-#: templates/web/base/front/footer-marketing.html:12
+#: templates/web/base/front/footer-marketing.html:6
msgid "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
msgstr ""
@@ -2727,8 +2749,8 @@ msgstr "Ankstesnis"
msgid "Priorities"
msgstr ""
-#: templates/web/base/report/_inspect.html:113
-#: templates/web/base/report/_item.html:98
+#: templates/web/base/report/_inspect.html:123
+#: templates/web/base/report/_item.html:100
msgid "Priority"
msgstr ""
@@ -2742,16 +2764,15 @@ msgstr "Privatumas"
msgid "Privacy and cookies"
msgstr ""
-#: templates/web/base/admin/body.html:91
-#: templates/web/base/admin/contact-form.html:74
-#: templates/web/base/admin/report_edit.html:149
+#: templates/web/base/admin/body.html:88
+#: templates/web/base/admin/contact-form.html:75
+#: templates/web/base/admin/report_edit.html:137
msgid "Private"
msgstr "Privatus"
#: templates/web/base/report/new/form_user.html:1
-#, fuzzy
msgid "Private details"
-msgstr "Privatus"
+msgstr ""
#: templates/web/base/maps/pin.html:13
msgid "Problem"
@@ -2775,7 +2796,7 @@ msgstr "Problema %s išsiųsta savivaldybei %s"
msgid "Problem breakdown by state"
msgstr "Problemos pasiskirstymas pagal valstybÄ—s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1167
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1272
msgid "Problem marked as open."
msgstr "Problema pažymėta kaip atidaryta"
@@ -2783,11 +2804,16 @@ msgstr "Problema pažymėta kaip atidaryta"
msgid "Problem state change based on survey results"
msgstr "Problemos būklės pakeitimas remiantis tyrimo rezultatais"
-#: perllib/FixMyStreet/Cobrand/Default.pm:705
+#: perllib/FixMyStreet/Cobrand/Default.pm:709
#: templates/web/base/admin/flagged.html:10
msgid "Problems"
msgstr "Problemos"
+#: templates/web/base/alert/_list.html:22
+#, fuzzy
+msgid "Problems in an area"
+msgstr "Problemos %s rajone"
+
#: templates/web/base/report/display_tools.html:22
msgid "Problems nearby"
msgstr "Å alia esanÄios problemos"
@@ -2800,30 +2826,33 @@ msgstr "Problemos žemėlapyje"
msgid "Problems recently reported fixed on FixMyStreet"
msgstr "Neseniai praneštos problemos FixMyStreet"
-#: templates/web/base/alert/_list.html:22
-msgid "Problems within %.1fkm of this location"
+#: templates/web/base/alert/_list.html:29
+#, fuzzy
+msgid "Problems within %.1fkm of %s"
msgstr "Problemos %.1fkm atstumu aplink šią vietovę"
-#: perllib/FixMyStreet/Cobrand/Default.pm:833
+#: perllib/FixMyStreet/Cobrand/Default.pm:838
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:137
-#: perllib/FixMyStreet/Cobrand/UK.pm:209
+#: perllib/FixMyStreet/Cobrand/UK.pm:215 perllib/FixMyStreet/Cobrand/UK.pm:257
+#: perllib/FixMyStreet/Cobrand/UK.pm:269
msgid "Problems within %s"
msgstr "Problemos viduje %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:223
+#: perllib/FixMyStreet/Cobrand/UK.pm:229
msgid "Problems within %s ward"
msgstr "Problemos %s rajone"
+#: perllib/FixMyStreet/Cobrand/UK.pm:263 perllib/FixMyStreet/Cobrand/UK.pm:275
+#, fuzzy
+msgid "Problems within %s ward, %s"
+msgstr "Problemos %s rajone"
+
#. ("First %s is the body name, second %s the site name")
#: templates/web/base/reports/body.html:0
#: templates/web/base/reports/body.html:25
msgid "Problems within %s, %s"
msgstr ""
-#: templates/web/base/alert/_list.html:43
-msgid "Problems within the boundary of:"
-msgstr "Problemos apibrėžtose ribose:"
-
#: templates/web/base/admin/report_edit.html:74
msgid "Property address:"
msgstr "NuosavybÄ—s adresas:"
@@ -2833,11 +2862,11 @@ msgstr "NuosavybÄ—s adresas:"
msgid "Provide an update"
msgstr "Pateikti naujinimÄ…"
-#: templates/web/base/report/update/form_name.html:9
+#: templates/web/base/report/update/form_name.html:10
msgid "Provide update as"
msgstr ""
-#: templates/web/base/auth/general.html:112
+#: templates/web/base/auth/general.html:114
msgid "Providing a name and password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
msgstr "Pateikti vardÄ… ir slaptažodį yra nebÅ«tina, taÄiau pateiktus bus jums papraÅ¡Äiau praneÅ¡ti problemas, pateikti naujinimus ir tvarkyti savo praneÅ¡imus."
@@ -2847,16 +2876,15 @@ msgid "Providing a password is optional, but doing so will allow you to more eas
msgstr "Pateikti slaptažodį yra nebÅ«tina, taÄiau pateiktus bus jums papraÅ¡Äiau praneÅ¡ti problemas, pateikti naujinimus ir tvarkyti savo praneÅ¡imus."
#: templates/web/base/report/new/form_report.html:10
-#, fuzzy
msgid "Public details"
-msgstr "Viešas atsakymas:"
+msgstr ""
#: templates/web/zurich/admin/report_edit.html:241
#: templates/web/zurich/admin/report_edit.html:268
msgid "Public response:"
msgstr "Viešas atsakymas:"
-#: templates/web/base/report/_inspect.html:152
+#: templates/web/base/report/_inspect.html:162
msgid "Public update:"
msgstr ""
@@ -2884,7 +2912,7 @@ msgstr "Anketa %d išsiųsta dėl problemos %d"
msgid "Questionnaire filled in by problem reporter"
msgstr "Questionnaire filled in by problem reporter"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
#: templates/web/base/alert/updates.html:9
#: templates/web/base/around/display_location.html:1
#: templates/web/base/around/display_location.html:3
@@ -2892,11 +2920,11 @@ msgstr "Questionnaire filled in by problem reporter"
msgid "RSS feed"
msgstr "RSS srautas"
-#: perllib/FixMyStreet/Cobrand/UK.pm:252 perllib/FixMyStreet/Cobrand/UK.pm:264
+#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
msgid "RSS feed for %s"
msgstr "RSS srautas skirtas %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
+#: perllib/FixMyStreet/Cobrand/UK.pm:264 perllib/FixMyStreet/Cobrand/UK.pm:276
msgid "RSS feed for %s ward, %s"
msgstr "RSS srautas skirtas %s rajonui, %s"
@@ -2904,25 +2932,25 @@ msgstr "RSS srautas skirtas %s rajonui, %s"
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:179
-#: perllib/FixMyStreet/Cobrand/UK.pm:278 perllib/FixMyStreet/Cobrand/UK.pm:290
+#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
msgid "RSS feed of %s"
msgstr "RSS srautas %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
msgid "RSS feed of %s, within %s ward"
msgstr "RSS srautas %s, viduje %s rajono"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
msgid "RSS feed of nearby problems"
msgstr "Å alia esanÄių problemų RSS srautas"
-#: perllib/FixMyStreet/Cobrand/Default.pm:834
+#: perllib/FixMyStreet/Cobrand/Default.pm:839
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:136
-#: perllib/FixMyStreet/Cobrand/UK.pm:216
+#: perllib/FixMyStreet/Cobrand/UK.pm:222
msgid "RSS feed of problems within %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:222
+#: perllib/FixMyStreet/Cobrand/UK.pm:228
msgid "RSS feed of problems within %s ward"
msgstr ""
@@ -2941,7 +2969,7 @@ msgstr ""
msgid "Receive email when updates are left on this problem."
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:801
+#: perllib/FixMyStreet/DB/Result/Problem.pm:738
msgid "Received by %s moments later"
msgstr ""
@@ -2951,15 +2979,11 @@ msgstr ""
msgid "Recent local problems, %s"
msgstr ""
-#: templates/web/base/reports/index.html:27
-msgid "Recently <br>fixed"
-msgstr ""
-
#: templates/web/base/front/recent.html:11
msgid "Recently reported problems"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:60
msgid "Recently updated"
msgstr ""
@@ -2967,13 +2991,21 @@ msgstr ""
msgid "Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. If your problem is not appropriate for submission via this site remember that you can contact your council directly using their own website."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/extra-metadata-form.html:68
+msgid "Remove"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:4
+msgid "Remove field"
+msgstr ""
+
+#: templates/web/base/admin/report_blocks.html:23
msgid "Remove flag"
msgstr ""
#: templates/web/base/report/_item.html:12
#: templates/web/base/report/_item.html:9
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:18
#: templates/web/base/report/_main.html:26
msgid "Remove from shortlist"
@@ -2983,7 +3015,7 @@ msgstr ""
msgid "Remove from site"
msgstr ""
-#: templates/web/base/admin/report_edit.html:166
+#: templates/web/base/admin/report_edit.html:154
#: templates/web/base/admin/update_edit.html:69
#: templates/web/zurich/admin/update_edit.html:35
msgid "Remove photo (can't be undone!)"
@@ -2997,13 +3029,13 @@ msgstr ""
msgid "Report"
msgstr ""
-#: templates/web/base/report/_inspect.html:10
-#: templates/web/base/report/_item.html:76
+#: templates/web/base/report/_inspect.html:14
+#: templates/web/base/report/_item.html:78
msgid "Report ID:"
msgstr ""
#: templates/web/base/header_logo.html:2
-#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:19
+#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:18
#: templates/web/zurich/nav_over_content.html:4
msgid "Report a problem"
msgstr ""
@@ -3013,7 +3045,7 @@ msgstr ""
msgid "Report abuse"
msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:16
+#: templates/web/base/report/new/form_user_loggedin.html:17
msgid "Report as"
msgstr ""
@@ -3022,9 +3054,8 @@ msgid "Report on %s"
msgstr ""
#: templates/web/base/dashboard/index.html:137
-#, fuzzy
msgid "Report state:"
-msgstr "New state"
+msgstr ""
#: templates/web/base/report/new/fill_in_details_form.html:1
#: templates/web/base/report/new/login_success_form.html:1
@@ -3035,9 +3066,9 @@ msgstr ""
#: templates/web/base/around/intro.html:1
#: templates/web/zurich/around/intro.html:1
msgid "Report, view, or discuss local problems"
-msgstr ""
+msgstr "Praneškite, pamatykite arba diskutuokite apie vietines problemas"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:653
+#: perllib/FixMyStreet/DB/Result/Problem.pm:590
#: templates/web/base/contact/index.html:55
msgid "Reported anonymously at %s"
msgstr ""
@@ -3047,7 +3078,7 @@ msgstr ""
msgid "Reported before"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:677
+#: perllib/FixMyStreet/DB/Result/Problem.pm:614
#: templates/web/base/contact/index.html:57
msgid "Reported by %s at %s"
msgstr ""
@@ -3061,34 +3092,30 @@ msgstr ""
msgid "Reported in the %s category"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:650
+#: perllib/FixMyStreet/DB/Result/Problem.pm:587
msgid "Reported in the %s category anonymously at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:611
msgid "Reported in the %s category by %s at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:647
+#: perllib/FixMyStreet/DB/Result/Problem.pm:584
msgid "Reported via %s anonymously at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:671
+#: perllib/FixMyStreet/DB/Result/Problem.pm:608
msgid "Reported via %s by %s at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:644
+#: perllib/FixMyStreet/DB/Result/Problem.pm:581
msgid "Reported via %s in the %s category anonymously at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:666
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
msgid "Reported via %s in the %s category by %s at %s"
msgstr ""
-#: templates/web/base/reports/index.html:24
-msgid "Reported within the last four weeks"
-msgstr ""
-
#: templates/web/zurich/admin/report_edit-sdm.html:38
#: templates/web/zurich/admin/report_edit.html:57
msgid "Reported:"
@@ -3104,13 +3131,13 @@ msgid "Reporting a problem"
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:655
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:383
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:388
#: templates/web/base/dashboard/index.html:134
#: templates/web/zurich/header.html:52
msgid "Reports"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:329 perllib/FixMyStreet/Cobrand/UK.pm:333
+#: perllib/FixMyStreet/Cobrand/UK.pm:333 perllib/FixMyStreet/Cobrand/UK.pm:335
msgid "Reports are limited to %s characters in length. Please shorten your report"
msgstr ""
@@ -3118,30 +3145,51 @@ msgstr ""
msgid "Reports awaiting approval"
msgstr ""
+#: templates/web/base/alert/_list.html:54
+msgid "Reports by destination"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:107
msgid "Reports made by trusted users will be sent to the responsible body without being inspected first."
msgstr ""
+#: templates/web/base/alert/_list.html:15
+msgid "Reports near %s are sent to different councils, depending on the type of problem."
+msgstr ""
+
#: templates/web/zurich/admin/index-sdm.html:10
msgid "Reports published"
msgstr ""
-#: templates/web/base/js/translation_strings.html:68
+#: templates/web/base/js/translation_strings.html:71
msgid "Reports saved offline."
msgstr ""
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+msgid "Reports sent to %s"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:290 perllib/FixMyStreet/Cobrand/UK.pm:302
+#, fuzzy
+msgid "Reports sent to %s, within %s ward"
+msgstr "RSS srautas %s, viduje %s rajono"
+
#: templates/web/base/admin/index.html:56
msgid "Reports waiting to be sent"
msgstr ""
-#: templates/web/base/admin/contact-form.html:89
+#: templates/web/base/admin/contact-form.html:90
msgid "Reports will automatically be sent without needing to be inspected if the user's <strong>reputation</strong> is at or above this value. Set to <strong>0</strong> if all reports must be inspected regardless."
msgstr ""
-#: templates/web/base/admin/contact-form.html:94
+#: templates/web/base/admin/contact-form.html:95
msgid "Reputation threshold"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:20
+msgid "Required"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:84
msgid "Resend report"
msgstr ""
@@ -3177,7 +3225,7 @@ msgstr "%s Atsakymo Å ablonai"
msgid "Revert to original"
msgstr ""
-#: templates/web/base/report/_main.html:95
+#: templates/web/base/report/_main.html:99
msgid "Revert to original text"
msgstr ""
@@ -3200,16 +3248,16 @@ msgstr ""
msgid "Road operator for this named road (from OpenStreetMap): %s"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1747
-#: templates/web/base/admin/report_edit.html:163
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1852
+#: templates/web/base/admin/report_edit.html:151
#: templates/web/base/admin/update_edit.html:66
#: templates/web/zurich/admin/report_edit.html:118
msgid "Rotate Left"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: templates/web/base/admin/report_edit.html:164
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: templates/web/base/admin/report_edit.html:152
#: templates/web/base/admin/update_edit.html:67
#: templates/web/zurich/admin/report_edit.html:119
msgid "Rotate Right"
@@ -3224,32 +3272,41 @@ msgstr ""
msgid "Satellite"
msgstr ""
-#: templates/web/base/report/_inspect.html:168
+#: templates/web/base/report/_inspect.html:182
msgid "Save + close as duplicate"
msgstr ""
-#: templates/web/base/admin/contact-form.html:137
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/contact-form.html:138
+#: templates/web/base/admin/reportextrafields/edit.html:64
+#: templates/web/base/admin/responsepriorities/edit.html:58
#: templates/web/base/admin/template_edit.html:46
-#: templates/web/base/report/_inspect.html:168
-#: templates/web/base/report/_main.html:113
-#: templates/web/base/report/update.html:60
+#: templates/web/base/report/_inspect.html:182
+#: templates/web/base/report/_main.html:117
+#: templates/web/base/report/update.html:69
#: templates/web/zurich/admin/body.html:62
-#: templates/web/zurich/admin/contact-form.html:20
+#: templates/web/zurich/admin/contact-form.html:22
#: templates/web/zurich/admin/template_edit.html:29
msgid "Save changes"
msgstr ""
-#: templates/web/base/report/_inspect.html:148
+#: templates/web/base/admin/reportextrafields/edit.html:64
+msgid "Save new fields"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:158
msgid "Save with a public update"
msgstr ""
-#. ('This is followed by a progress count, e.g. 3/5')
#. ("This is followed by a progress count, e.g. 3/5")
-#: templates/web/base/js/translation_strings.html:69
+#: templates/web/base/js/translation_strings.html:72
msgid "Saving reports offline"
msgstr ""
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:132
+#, fuzzy
+msgid "Scheduled"
+msgstr "Veiksmas suplanuotas"
+
#: templates/web/base/admin/index.html:26
#: templates/web/base/admin/reports.html:1
#: templates/web/zurich/admin/reports.html:1
@@ -3283,41 +3340,41 @@ msgstr ""
msgid "See our privacy policy"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:715
+#: perllib/FixMyStreet/Cobrand/Default.pm:720
msgid "See user detail for reports created as the council"
msgstr ""
-#: templates/web/base/admin/body-form.html:39
+#: templates/web/base/admin/body-form.html:41
#: templates/web/zurich/admin/body-form.html:16
msgid "Select a body"
msgstr ""
-#: templates/web/base/reports/index.html:12
-msgid "Select a particular council to see the reports sent there."
-msgstr ""
-
-#: templates/web/base/admin/body-form.html:77
+#: templates/web/base/admin/body-form.html:79
#: templates/web/zurich/admin/body-form.html:26
msgid "Select an area"
msgstr ""
-#: templates/web/base/alert/_list.html:11
-msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
+#: templates/web/base/admin/responsepriorities/edit.html:33
+msgid "Select if this is the default priority"
msgstr ""
#: templates/web/base/admin/category-checkboxes.html:6
msgid "Select:"
msgstr ""
+#: templates/web/base/contact/index.html:107
+msgid "Send"
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:109
msgid "Send extended Open311 statuses with service request updates"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:826
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:831
msgid "Sent report back"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:804
+#: perllib/FixMyStreet/DB/Result/Problem.pm:741
msgid "Sent to %s %s later"
msgstr ""
@@ -3330,7 +3387,7 @@ msgstr ""
msgid "Service:"
msgstr ""
-#: templates/web/base/report/_inspect.html:31
+#: templates/web/base/report/_inspect.html:41
msgid "Set to my current location"
msgstr ""
@@ -3339,31 +3396,39 @@ msgid "Share"
msgstr ""
#: templates/web/base/main_nav_items.html:10
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:21
#: templates/web/base/report/_main.html:29
msgid "Shortlist"
msgstr ""
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/reports/body.html:32
+msgid "Shortlist all visible"
+msgstr ""
+
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:20
#: templates/web/base/report/_main.html:25
#: templates/web/base/reports/_list-filters.html:9
msgid "Shortlisted"
msgstr ""
-#: templates/web/base/report/_main.html:144
+#: templates/web/base/report/_item.html:15
+#: templates/web/base/report/_main.html:148
msgid "Shortlisted by %s"
msgstr ""
#: templates/web/base/report/update.html:20
-#, fuzzy
msgid "Show Photo?"
-msgstr "Paskelbti nuotraukÄ…"
+msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:54
+#: templates/web/base/questionnaire/index.html:26
+msgid "Show all updates"
+msgstr ""
+
+#: templates/web/base/report/new/form_user_loggedin.html:56
#: templates/web/base/report/new/form_user_loggedout_by_email.html:22
-#: templates/web/base/report/update/form_name.html:33
+#: templates/web/base/report/update/form_name.html:37
msgid "Show my name publicly"
msgstr ""
@@ -3375,12 +3440,12 @@ msgstr ""
msgid "Show old"
msgstr ""
-#: templates/web/base/report/_main.html:79
-#, fuzzy
+#: templates/web/base/report/_main.html:83
msgid "Show photo"
-msgstr "Paskelbti nuotraukÄ…"
+msgstr ""
#: templates/web/base/around/display_location.html:60
+#: templates/web/base/js/translation_strings.html:54
msgid "Show pins"
msgstr ""
@@ -3388,16 +3453,20 @@ msgstr ""
msgid "Show reporter&rsquo;s name"
msgstr ""
-#: templates/web/base/auth/general.html:117
+#: templates/web/base/reports/index.html:62
+msgid "Show reports in your area"
+msgstr ""
+
+#: templates/web/base/auth/general.html:119
#: templates/web/base/auth/general.html:3
-#: templates/web/base/auth/general.html:86
+#: templates/web/base/auth/general.html:88
#: templates/web/base/main_nav_items.html:6
#: templates/web/zurich/auth/general.html:18
#: templates/web/zurich/auth/general.html:35
msgid "Sign in"
msgstr ""
-#: templates/web/base/auth/general.html:96
+#: templates/web/base/auth/general.html:98
msgid "Sign in by email instead, providing a new password. When you click the link in your email, your password will be updated."
msgstr ""
@@ -3443,14 +3512,14 @@ msgstr ""
msgid "Sorry, there has been an error confirming your problem."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:230
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:235
#: perllib/FixMyStreet/Geocode.pm:37 perllib/FixMyStreet/Geocode/Bing.pm:38
#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:56
#: perllib/FixMyStreet/Geocode/OSM.pm:48
msgid "Sorry, we could not find that location."
msgstr ""
-#: templates/web/base/auth/general.html:9
+#: templates/web/base/auth/general.html:11
#: templates/web/base/report/display.html:29
#: templates/web/base/report/new/fill_in_details_form.html:15
msgid "Sorry, we could not log you in. Please fill in the form below."
@@ -3472,11 +3541,11 @@ msgid ""
"page wasn’t found or there was a server error. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Root.pm:107
+#: perllib/FixMyStreet/App/Controller/Root.pm:124
msgid "Sorry, you don't have permission to do that."
msgstr ""
-#: templates/web/base/reports/_list-filters.html:42
+#: templates/web/base/reports/_list-filters.html:53
msgid "Sort by"
msgstr ""
@@ -3493,17 +3562,24 @@ msgid "Start Date:"
msgstr ""
#: templates/web/base/admin/body.html:73
+#: templates/web/base/admin/category_edit.html:29
+#: templates/web/base/admin/contact-form.html:53
#: templates/web/base/admin/flagged.html:18
#: templates/web/base/admin/index.html:64
#: templates/web/base/admin/list_updates.html:11
#: templates/web/base/admin/reports.html:16
#: templates/web/base/admin/template_edit.html:40
-#: templates/web/base/report/_inspect.html:83
-#: templates/web/base/report/_item.html:94
+#: templates/web/base/report/_inspect.html:82
+#: templates/web/base/report/_item.html:96
#: templates/web/base/report/update/form_update.html:39
+#: templates/web/zurich/admin/contact-form.html:10
msgid "State"
msgstr ""
+#: templates/web/base/report/update.html:48
+msgid "State changed to:"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:116
#: templates/web/base/admin/update_edit.html:28
#: templates/web/zurich/admin/report_edit-sdm.html:75
@@ -3513,8 +3589,13 @@ msgstr ""
msgid "State:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:640
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:386
+#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: templates/web/base/admin/states/index.html:1
+msgid "States"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
#: templates/web/base/admin/index.html:71 templates/web/base/admin/stats.html:1
#: templates/web/base/admin/stats_by_state.html:1
#: templates/web/zurich/admin/stats.html:1 templates/web/zurich/header.html:65
@@ -3536,6 +3617,10 @@ msgstr ""
msgid "Street View"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:46
+msgid "String"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:192
msgid "Subcategory: %s"
msgstr ""
@@ -3544,7 +3629,7 @@ msgstr ""
msgid "Subdivision/Body"
msgstr ""
-#: templates/web/base/contact/index.html:88
+#: templates/web/base/contact/index.html:92
msgid "Subject"
msgstr ""
@@ -3554,14 +3639,14 @@ msgid "Subject:"
msgstr ""
#: templates/web/base/questionnaire/creator_fixed.html:19
-#: templates/web/base/report/new/form_user_loggedin.html:61
+#: templates/web/base/report/new/form_user_loggedin.html:63
#: templates/web/base/report/new/form_user_loggedout_by_email.html:36
#: templates/web/base/report/new/form_user_loggedout_password.html:11
#: templates/web/zurich/report/new/fill_in_details_form.html:73
msgid "Submit"
msgstr ""
-#: templates/web/base/admin/report_edit.html:174
+#: templates/web/base/admin/report_edit.html:162
#: templates/web/base/admin/report_edit.html:24
#: templates/web/base/admin/update_edit.html:77
#: templates/web/base/admin/user-form.html:170
@@ -3575,8 +3660,8 @@ msgstr ""
msgid "Submit questionnaire"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:164
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:893
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:898
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:6
#: templates/web/zurich/admin/index-dm.html:23
@@ -3586,36 +3671,37 @@ msgstr ""
msgid "Submitted"
msgstr ""
+#: templates/web/base/alert/_list.html:77
+#: templates/web/base/alert/_list.html:80
#: templates/web/base/alert/updates.html:23
#: templates/web/base/report/display_tools.html:51
msgid "Subscribe"
msgstr ""
-#: templates/web/base/alert/_list.html:93
-msgid "Subscribe me to an email alert"
+#: templates/web/base/alert/_list.html:72
+msgid "Subscribe by email"
msgstr ""
#: templates/web/base/report/new/form_report.html:19
msgid "Summarise the problem"
msgstr ""
-#: templates/web/base/admin/contact-form.html:129
+#: templates/web/base/admin/contact-form.html:130
msgid "Summarise your changes"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:638
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:382
+#: perllib/FixMyStreet/Cobrand/Default.pm:637
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:387
#: templates/web/base/admin/bodies.html:29
#: templates/web/base/admin/index.html:1 templates/web/base/status/index.html:1
#: templates/web/base/status/index.html:3
#: templates/web/zurich/admin/index-dm.html:1
#: templates/web/zurich/admin/index-sdm.html:1
-#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:13
+#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:12
#: templates/web/zurich/header.html:49
msgid "Summary"
msgstr ""
-#: templates/web/base/reports/index.html:4
#: templates/web/zurich/reports/index.html:0
#: templates/web/zurich/reports/index.html:4
msgid "Summary reports"
@@ -3639,7 +3725,7 @@ msgid "Template &laquo;%s&raquo;"
msgstr "Å ablonas &laquo;%s&raquo;"
#: perllib/FixMyStreet/Cobrand/Default.pm:661
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:393
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
#: templates/web/zurich/header.html:69
msgid "Templates"
msgstr "Å ablonai"
@@ -3668,7 +3754,7 @@ msgstr ""
msgid "Thank you for trying to confirm your update or problem. We seem to have an error ourselves though, so <a href=\"%s\">please let us know what went on</a> and we'll look into it."
msgstr ""
-#: templates/web/base/tokens/confirm_update.html:15
+#: templates/web/base/tokens/confirm_update.html:16
msgid "Thank you for updating this issue!"
msgstr ""
@@ -3696,7 +3782,7 @@ msgstr ""
msgid "That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Location.pm:129
+#: perllib/FixMyStreet/App/Controller/Location.pm:127
msgid "That location does not appear to be in the UK; please try again."
msgstr ""
@@ -3706,23 +3792,23 @@ msgstr ""
msgid "That postcode was not recognised, sorry."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:762
+#: perllib/FixMyStreet/App/Controller/Admin.pm:850
msgid "That problem has been marked as sent."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:755
+#: perllib/FixMyStreet/App/Controller/Admin.pm:843
msgid "That problem will now be resent."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report.pm:137
+#: perllib/FixMyStreet/App/Controller/Report.pm:134
msgid "That report cannot be viewed on %s."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report.pm:131
+#: perllib/FixMyStreet/App/Controller/Report.pm:128
msgid "That report has been removed from FixMyStreet."
msgstr ""
-#: templates/web/base/admin/contact-form.html:25
+#: templates/web/base/admin/contact-form.html:27
msgid ""
"The <strong>email address</strong> is the destination to which reports about this category will be sent. \n"
" Other categories for this body may have the same email address."
@@ -3742,10 +3828,10 @@ msgid ""
" than one. If the body is running its own endpoint, you can usually leave this blank."
msgstr ""
-#: templates/web/base/admin/body-form.html:100
-#: templates/web/base/admin/body-form.html:101
-#: templates/web/base/admin/contact-form.html:103
+#: templates/web/base/admin/body-form.html:102
+#: templates/web/base/admin/body-form.html:103
#: templates/web/base/admin/contact-form.html:104
+#: templates/web/base/admin/contact-form.html:105
msgid ""
"The <strong>send method</strong> determines how problem reports will be sent to the body.\n"
" If you leave this blank, <strong>send method defaults to email</strong>."
@@ -3762,6 +3848,10 @@ msgid ""
" and may be displayed publically."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:12
+msgid "The code used to store this field value in the database. e.g. <code>address</code> would be available as <code>problem.extra.address</code> in the templates."
+msgstr ""
+
#: templates/web/base/report/new/fill_in_details_text.html:1
#: templates/web/base/report/new/fill_in_details_text.html:3
msgid "The council won&rsquo;t be able to help unless you leave as much detail as you can. Please describe the exact location of the problem (e.g. on a wall), what it is, how long it has been there, a description (and a photo of the problem if you have one), etc."
@@ -3772,11 +3862,15 @@ msgstr ""
msgid "The diligency prize league table shows editors' activity (who's been editing the most records)."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:61
-#: perllib/FixMyStreet/App/Controller/Reports.pm:82
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:63
+#: perllib/FixMyStreet/App/Controller/Reports.pm:103
msgid "The error was: %s"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:30
+msgid "The field name as shown to the user on the report form."
+msgstr ""
+
#: templates/web/base/open311/index.html:78
msgid "The following Open311 v2 attributes are returned for each request: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
msgstr ""
@@ -3815,10 +3909,14 @@ msgstr ""
msgid "The link might have expired, or maybe you didn&rsquo;t quite copy and paste it correctly."
msgstr ""
-#: templates/web/base/admin/body-form.html:64
+#: templates/web/base/admin/body-form.html:66
msgid "The list of available areas is being provided by the MapIt service at %s."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:6
+msgid "The ordering of this field on the report page. Fields are shown in ascending order according to this value."
+msgstr ""
+
#: templates/web/base/auth/change_password.html:22
#: templates/web/base/auth/change_password.html:26
msgid "The passwords do not match"
@@ -3828,8 +3926,8 @@ msgstr ""
msgid "The requested URL '%s' was not found on this server"
msgstr ""
-#: templates/web/base/alert/_list.html:17
-msgid "The simplest alert is our geographic one:"
+#: templates/web/base/admin/extra-metadata-form.html:42
+msgid "The type of input field to show to the user. <strong>Text</strong> is a simple text field, <strong>List</strong> is a drop-down selection."
msgstr ""
#: perllib/FixMyStreet/Script/Reports.pm:96
@@ -3849,18 +3947,18 @@ msgstr ""
msgid "There are no reports to show."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Reports.pm:79
+#: perllib/FixMyStreet/App/Controller/Reports.pm:100
msgid "There was a problem showing the All Reports page. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:137
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:60
+#: perllib/FixMyStreet/App/Controller/Contact.pm:138
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:62
msgid "There was a problem showing this page. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:758
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:785
#: perllib/FixMyStreet/App/Controller/Report/Update.pm:152
-#: templates/web/base/auth/general.html:53
+#: templates/web/base/auth/general.html:55
#: templates/web/zurich/auth/general.html:28
msgid "There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the &lsquo;sign in by email&rsquo; section of the form."
msgstr ""
@@ -3873,7 +3971,7 @@ msgstr ""
msgid "There was a problem with your update. Please try again."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:141
+#: perllib/FixMyStreet/App/Controller/Contact.pm:142
msgid "There were problems with your report. Please see below."
msgstr ""
@@ -3925,8 +4023,8 @@ msgstr ""
msgid "This body has no contacts. This means that currently problems reported to this body <strong>will not be sent</strong>."
msgstr ""
-#: templates/web/base/admin/body-form.html:58
-#: templates/web/base/admin/body-form.html:59
+#: templates/web/base/admin/body-form.html:60
+#: templates/web/base/admin/body-form.html:61
msgid ""
"This body will only be sent reports for problems that are located in the <strong>area covered</strong>.\n"
" A body will not receive any reports unless it covers at least one area."
@@ -3940,8 +4038,9 @@ msgstr ""
msgid "This email has been sent to several councils covering the location of the problem, as the category selected is provided for all of them; please ignore it if you're not the correct council to deal with the issue."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:881
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:925
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1017
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:910
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:954
#: perllib/FixMyStreet/App/Controller/Report/New.pm:971
#: perllib/FixMyStreet/Cobrand/UK.pm:45
msgid "This information is required"
@@ -3951,23 +4050,19 @@ msgstr ""
msgid "This is a developer site; things might break at any time, and the database will be periodically deleted."
msgstr ""
-#: templates/web/base/reports/index.html:10
-msgid "This is a summary of all reports on this site."
-msgstr ""
-
-#: templates/web/base/report/new/form_report.html:56
+#: templates/web/base/report/new/form_report.html:58
msgid "This pothole has been here for two months and…"
msgstr ""
-#: templates/web/base/report/update/form_update.html:63
+#: templates/web/base/report/update/form_update.html:55
msgid "This problem has been fixed"
msgstr ""
-#: templates/web/base/report/update/form_update.html:56
+#: templates/web/base/report/update/form_update.html:48
msgid "This problem has not been fixed"
msgstr ""
-#: templates/web/base/report/update/form_update.html:54
+#: templates/web/base/report/update/form_update.html:46
msgid "This problem is still ongoing"
msgstr ""
@@ -3975,21 +4070,21 @@ msgstr ""
msgid "This report is a duplicate. Please leave updates on the original report:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:161
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:162
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:166
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:167
#: templates/web/zurich/report/_main.html:14
msgid "This report is awaiting moderation."
msgstr ""
-#: perllib/FixMyStreet/Script/Alerts.pm:101
+#: perllib/FixMyStreet/Script/Alerts.pm:98
msgid "This report is currently marked as closed."
msgstr ""
-#: perllib/FixMyStreet/Script/Alerts.pm:99
+#: perllib/FixMyStreet/Script/Alerts.pm:96
msgid "This report is currently marked as fixed."
msgstr ""
-#: perllib/FixMyStreet/Script/Alerts.pm:103
+#: perllib/FixMyStreet/Script/Alerts.pm:100
msgid "This report is currently marked as open."
msgstr ""
@@ -4008,7 +4103,7 @@ msgstr ""
msgid "Time spent (in minutes):"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Default.pm:638
#: templates/web/base/admin/timeline.html:1
msgid "Timeline"
msgstr ""
@@ -4037,10 +4132,26 @@ msgstr ""
msgid "To find out what local alerts we have for you, please enter your postcode or street name and area"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:19
+msgid "To limit this collection of fields to a single cobrand, select it here."
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:40
+msgid "To limit this collection of fields to a single language, select it here."
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:95
msgid "To view a map of the precise location of this issue"
msgstr ""
+#: templates/web/base/reports/index.html:97
+msgid "Top 5 most used categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:83
+msgid "Top 5 responsive councils"
+msgstr ""
+
#: templates/web/base/admin/questionnaire.html:24
#: templates/web/base/admin/stats.html:24
#: templates/web/base/admin/stats.html:43
@@ -4054,9 +4165,8 @@ msgid "Total marked"
msgstr ""
#: templates/web/base/dashboard/index.html:71
-#, fuzzy
msgid "Total marked as fixed"
-msgstr "Problema pažymėta kaip atidaryta"
+msgstr ""
#: templates/web/base/dashboard/index.html:125
msgid "Total not marked"
@@ -4067,16 +4177,24 @@ msgstr ""
msgid "Total reports received"
msgstr ""
-#: templates/web/base/report/_inspect.html:124
-#: templates/web/base/report/_item.html:102
+#: templates/web/base/report/_inspect.html:134
+#: templates/web/base/report/_item.html:104
msgid "Traffic management required?"
msgstr ""
+#: templates/web/base/admin/_translations.html:7
+msgid "Translation"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:2
+msgid "Translations"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:111
msgid "Trusted by bodies:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:721
+#: perllib/FixMyStreet/Cobrand/Default.pm:726
msgid "Trusted to make reports that don't need to be inspected"
msgstr ""
@@ -4092,8 +4210,14 @@ msgstr ""
msgid "Try emailing us directly:"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:21
+#: templates/web/base/admin/extra-metadata-form.html:44
+#: templates/web/base/admin/states/index.html:10
+#: templates/web/base/admin/states/index.html:100
+msgid "Type"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:59
+#: templates/web/base/admin/contact-form.html:55
#: templates/web/base/admin/update_edit.html:30
#: templates/web/zurich/admin/report_edit-sdm.html:66
#: templates/web/zurich/admin/report_edit.html:94
@@ -4101,7 +4225,6 @@ msgstr ""
msgid "Unconfirmed"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:12
#: templates/web/base/reports/_list-filters.html:5
msgid "Unfixed reports"
msgstr ""
@@ -4115,26 +4238,26 @@ msgid "Unknown alert type"
msgstr ""
#: perllib/FixMyStreet/App/Controller/Photo.pm:109
-#: perllib/FixMyStreet/App/Controller/Root.pm:124
+#: perllib/FixMyStreet/App/Controller/Root.pm:141
#: templates/web/base/js/translation_strings.html:38
msgid "Unknown error"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report.pm:115
+#: perllib/FixMyStreet/App/Controller/Report.pm:112
+#: perllib/FixMyStreet/App/Controller/Report.pm:118
#: perllib/FixMyStreet/App/Controller/Report.pm:121
-#: perllib/FixMyStreet/App/Controller/Report.pm:124
msgid "Unknown problem ID"
msgstr ""
#: templates/web/base/reports/_list-filters.html:10
-#, fuzzy
msgid "Unshortlisted"
-msgstr "Įdėti į trumpajį sąrašą"
+msgstr ""
-#: templates/web/base/report/_item.html:24
+#: templates/web/base/report/_item.html:26
msgid "Up one"
msgstr ""
+#: templates/web/base/admin/states/index.html:76
#: templates/web/base/report/update/form_update.html:29
msgid "Update"
msgstr ""
@@ -4151,7 +4274,7 @@ msgstr ""
msgid "Update below added by %s at %s"
msgstr ""
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Update body"
msgstr ""
@@ -4187,13 +4310,23 @@ msgstr ""
msgid "Updated"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1157
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1221
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1384
-#: perllib/FixMyStreet/App/Controller/Admin.pm:822
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:762
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:787
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:857
+#: perllib/FixMyStreet/DB/Result/Comment.pm:249
+#, fuzzy
+msgid "Updated by <strong>%s</strong> (%s) at %s"
+msgstr "Pastaba: <strong>%s</strong>"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:251
+#, fuzzy
+msgid "Updated by <strong>%s</strong> at %s"
+msgstr "Pastaba: <strong>%s</strong>"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1262
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1326
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1489
+#: perllib/FixMyStreet/App/Controller/Admin.pm:910
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:767
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:792
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:862
msgid "Updated!"
msgstr ""
@@ -4203,7 +4336,7 @@ msgstr ""
msgid "Updates"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:133
+#: perllib/FixMyStreet/DB/Result/Comment.pm:134
msgid "Updates are limited to %s characters in length. Please shorten your update"
msgstr ""
@@ -4217,11 +4350,22 @@ msgstr ""
msgid "Updates to this problem, %s"
msgstr ""
+#: templates/web/base/admin/contact-form.html:43
+#: templates/web/base/admin/contact-form.html:44
+msgid ""
+"Use <strong>confirmed</strong> to indicate that this contact has been\n"
+"confirmed as correct. If you are not sure of the origin or validity of the\n"
+"contact, use <strong>unconfirmed</strong>. <strong>inactive</strong> will\n"
+"remove the category from use when reporting problems, but keep it available in\n"
+"map filters, and <strong>deleted</strong> will remove the category from there\n"
+"as well."
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:65
msgid "Use Open311 update-sending extension"
msgstr ""
-#: templates/web/base/admin/contact-form.html:124
+#: templates/web/base/admin/contact-form.html:125
msgid "Use this field to record details that are only displayed in the admin. Input is not shown publicly, and is not sent to the body."
msgstr ""
@@ -4234,11 +4378,11 @@ msgstr ""
msgid "User ID to attribute fetched comments to"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1700
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1805
msgid "User flag removed"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1672
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1777
msgid "User flagged"
msgstr ""
@@ -4252,8 +4396,8 @@ msgid "User search finds matches in users' names and email addresses."
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:669
-#: perllib/FixMyStreet/Cobrand/Default.pm:723
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
+#: perllib/FixMyStreet/Cobrand/Default.pm:728
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:403
#: templates/web/base/admin/flagged.html:29 templates/web/zurich/header.html:61
msgid "Users"
msgstr ""
@@ -4262,9 +4406,9 @@ msgstr ""
msgid "Users can perform the following actions within their assigned body or area."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:400
-#: perllib/FixMyStreet/App/Controller/Admin.pm:430
-#: perllib/FixMyStreet/App/Controller/Admin.pm:448
+#: perllib/FixMyStreet/App/Controller/Admin.pm:381
+#: perllib/FixMyStreet/App/Controller/Admin.pm:417
+#: perllib/FixMyStreet/App/Controller/Admin.pm:439
msgid "Values updated"
msgstr ""
@@ -4311,7 +4455,7 @@ msgstr ""
msgid "We found more than one match for that problem reference:"
msgstr ""
-#: templates/web/base/auth/general.html:6
+#: templates/web/base/auth/general.html:8
#: templates/web/base/report/display.html:35
#: templates/web/base/report/new/oauth_email_form.html:5
msgid "We need your email address, please give it below."
@@ -4323,7 +4467,7 @@ msgstr ""
#: templates/web/base/index-steps.html:11
msgid "We send it to the council on your behalf"
-msgstr ""
+msgstr "Mes nusiūsime ją tarybai jūsų vardu"
#: templates/web/base/report/new/notes.html:4
#: templates/web/zurich/report/new/notes.html:4
@@ -4346,7 +4490,7 @@ msgstr ""
msgid "What was your experience of getting the problem fixed?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:52
+#: templates/web/base/admin/category_edit.html:27
#: templates/web/zurich/admin/body.html:18
msgid "When edited"
msgstr ""
@@ -4355,11 +4499,19 @@ msgstr ""
msgid "When sent"
msgstr ""
-#: templates/web/base/report/_inspect.html:89
+#: templates/web/base/admin/extra-metadata-form.html:18
+msgid "Whether the user is required to provide a value for this field."
+msgstr ""
+
+#: templates/web/base/alert/_list.html:9
+msgid "Which problems do you want alerts about?"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:99
msgid "Which report is it a duplicate of?"
msgstr ""
-#: templates/web/base/js/translation_strings.html:54
+#: templates/web/base/js/translation_strings.html:57
msgid "Whoa there Testino! Three photos are enough."
msgstr ""
@@ -4367,8 +4519,8 @@ msgstr ""
msgid "Why stop there? <a href=\"/alert\">Set up more alerts</a> for free."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:185
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:190
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:14
msgid "Wish"
@@ -4378,7 +4530,7 @@ msgstr ""
msgid "With request searches, it is also possible to search for agency_responsible to limit the requests to those sent to a single administration. The search term is the administration ID provided by <a href=\"%s\">MaPit</a>."
msgstr ""
-#: templates/web/base/front/footer-marketing.html:17
+#: templates/web/base/front/footer-marketing.html:3
msgid "Would you like to contribute to FixMyStreet? Our code is open source and <a href=\"http://fixmystreet.org\">available at fixmystreet.org</a>."
msgstr ""
@@ -4403,23 +4555,22 @@ msgstr ""
msgid "Year"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:1202
+#: perllib/FixMyStreet/Cobrand/Default.pm:1236
#: templates/web/base/admin/bodies.html:70
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
#: templates/web/base/admin/category_edit.html:5
#: templates/web/base/admin/flagged.html:47
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:136
+#: templates/web/base/admin/report_edit.html:124
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:25
#: templates/web/base/admin/users.html:32
#: templates/web/base/questionnaire/creator_fixed.html:14
#: templates/web/base/questionnaire/index.html:104
#: templates/web/base/questionnaire/index.html:53
+#: templates/web/base/report/_inspect.html:90
msgid "Yes"
msgstr ""
@@ -4432,7 +4583,7 @@ msgstr ""
msgid "You are complaining that this problem report was unnecessarily moderated:"
msgstr ""
-#: templates/web/base/js/translation_strings.html:70
+#: templates/web/base/js/translation_strings.html:73
msgid "You are offline"
msgstr ""
@@ -4453,7 +4604,11 @@ msgstr ""
msgid "You can add an abusive user's email to the abuse list, which automatically hides (and never sends) reports they create."
msgstr ""
-#: templates/web/base/contact/index.html:111
+#: templates/web/base/alert/_list.html:18
+msgid "You can choose to subscribe to all problems reported in an area, or reports based on their destination."
+msgstr ""
+
+#: templates/web/base/contact/index.html:115
msgid "You can contact technical support on <a href='mailto:%s'>%s</a>"
msgstr ""
@@ -4471,7 +4626,7 @@ msgstr ""
msgid "You can help us by finding a contact email address for local problems for %s and emailing it to us at <a href='mailto:%s'>%s</a>."
msgstr ""
-#: templates/web/base/admin/body-form.html:91
+#: templates/web/base/admin/body-form.html:93
msgid "You can mark a body as deleted if you do not want it to be active on the site."
msgstr ""
@@ -4479,7 +4634,7 @@ msgstr ""
msgid "You declined; please fill in the box above"
msgstr ""
-#: templates/web/base/js/translation_strings.html:72
+#: templates/web/base/js/translation_strings.html:75
msgid "You have <a id=\"oFN\" href=\"\"><span>%s</span> saved to submit</a>."
msgstr ""
@@ -4487,7 +4642,7 @@ msgstr ""
msgid "You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"
msgstr ""
-#: templates/web/base/report/new/form_report.html:37
+#: templates/web/base/report/new/form_report.html:39
#: templates/web/zurich/report/new/fill_in_details_form.html:30
msgid "You have already attached photos to this report. Note that you can attach a maximum of 3 to this report (if you try to upload more, the oldest will be removed)."
msgstr ""
@@ -4545,10 +4700,9 @@ msgstr ""
msgid "Your account"
msgstr ""
-#: templates/web/base/alert/_list.html:90
#: templates/web/base/alert/updates.html:19
#: templates/web/base/alert/updates.html:22
-#: templates/web/base/contact/index.html:81
+#: templates/web/base/contact/index.html:80
#: templates/web/base/report/display_tools.html:46
#: templates/web/base/report/display_tools.html:49
#: templates/web/base/report/new/form_user_loggedout_email.html:1
@@ -4558,7 +4712,7 @@ msgid "Your email"
msgstr ""
#: templates/web/base/auth/change_email.html:9
-#: templates/web/base/auth/general.html:55
+#: templates/web/base/auth/general.html:57
#: templates/web/base/report/update/form_user_loggedout_email.html:5
#: templates/web/zurich/auth/general.html:30
#: templates/web/zurich/auth/general.html:58
@@ -4569,20 +4723,32 @@ msgstr ""
msgid "Your information will only be used in accordance with our <a href=\"/privacy\">privacy policy</a>"
msgstr ""
-#: templates/web/base/auth/general.html:107
+#: templates/web/base/auth/general.html:109
#: templates/web/base/contact/index.html:74
#: templates/web/base/report/new/form_user_loggedout_by_email.html:17
-#: templates/web/base/report/update/form_name.html:29
+#: templates/web/base/report/update/form_name.html:33
#: templates/web/zurich/auth/general.html:61
#: templates/web/zurich/report/new/fill_in_details_form.html:63
msgid "Your name"
msgstr ""
-#: templates/web/base/js/translation_strings.html:62
+#: templates/web/base/my/anonymize.html:13
+msgid "Your name has already been sent to %s, but we can hide it on this page:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:264
+msgid "Your name has been hidden from all your reports and updates."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:260
+msgid "Your name has been hidden."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:65
msgid "Your offline reports"
msgstr ""
-#: templates/web/base/auth/general.html:85
+#: templates/web/base/auth/general.html:87
#: templates/web/base/report/new/form_user_loggedout_password.html:10
#: templates/web/base/report/update/form_user_loggedout_password.html:9
#: templates/web/zurich/auth/general.html:34
@@ -4593,6 +4759,7 @@ msgstr ""
msgid "Your password has been changed"
msgstr ""
+#: templates/web/base/contact/index.html:87
#: templates/web/base/report/new/form_user_loggedout_by_email.html:26
#: templates/web/zurich/report/new/fill_in_details_form.html:69
msgid "Your phone number"
@@ -4611,7 +4778,7 @@ msgstr ""
msgid "Your shortlist"
msgstr ""
-#: templates/web/base/js/translation_strings.html:63
+#: templates/web/base/js/translation_strings.html:66
msgid "Your update has been saved offline for submission when back online."
msgstr ""
@@ -4619,8 +4786,8 @@ msgstr ""
msgid "Your updates"
msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:18
-#: templates/web/base/report/update/form_name.html:11
+#: templates/web/base/report/new/form_user_loggedin.html:19
+#: templates/web/base/report/update/form_name.html:12
msgid "Yourself"
msgstr ""
@@ -4629,12 +4796,12 @@ msgstr ""
msgid "all"
msgstr ""
-#: templates/web/base/admin/timeline.html:4
-msgid "by %s"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:259
+msgid "and a defect raised"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:290
-msgid "closed as a duplicate report"
+#: templates/web/base/admin/timeline.html:4
+msgid "by %s"
msgstr ""
#: templates/web/base/reports/body.html:6
@@ -4661,7 +4828,7 @@ msgstr ""
msgid "from %s different users"
msgstr ""
-#: templates/web/base/report/_item.html:61
+#: templates/web/base/report/_item.html:63
#: templates/web/zurich/report/_item.html:14
msgid "last updated %s"
msgstr ""
@@ -4670,44 +4837,7 @@ msgstr ""
msgid "less than a minute"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:280
-msgid "marked as action scheduled"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:292
-msgid "marked as an internal referral"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:282
-msgid "marked as closed"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:263
-#: perllib/FixMyStreet/DB/Result/Comment.pm:284
-msgid "marked as fixed"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:278
-msgid "marked as in progress"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:274
-msgid "marked as investigating"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:286
-msgid "marked as no further action"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:288
-msgid "marked as not the council's responsibility"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:276
-msgid "marked as planned"
-msgstr ""
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:122
+#: perllib/FixMyStreet/App/Controller/Admin.pm:119
#: templates/web/base/admin/questionnaire.html:15
#: templates/web/base/admin/questionnaire.html:16
msgid "n/a"
@@ -4718,12 +4848,8 @@ msgstr ""
msgid "none"
msgstr ""
-#: templates/web/base/admin/category_edit.html:35
-msgid "optional"
-msgstr ""
-
-#: templates/web/base/alert/_list.html:86
-msgid "or"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:278
+msgid "not the council's responsibility"
msgstr ""
#: templates/web/base/js/translation_strings.html:27
@@ -4749,16 +4875,7 @@ msgstr ""
msgid "other areas:"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:265
-#: perllib/FixMyStreet/DB/Result/Comment.pm:271
-msgid "reopened"
-msgstr ""
-
-#: templates/web/base/admin/category_edit.html:35
-msgid "required"
-msgstr ""
-
-#: templates/web/zurich/footer.html:13
+#: templates/web/zurich/footer.html:12
msgid "sign out"
msgstr ""
@@ -4766,11 +4883,15 @@ msgstr ""
msgid "the local council"
msgstr ""
-#: templates/web/base/report/_report_meta_info.html:2
+#: templates/web/base/report/_report_meta_info.html:5
#: templates/web/zurich/report/_main.html:5
msgid "there is no pin shown as the user did not use the map"
msgstr ""
+#: templates/web/base/alert/_list.html:1
+msgid "this location"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:184
msgid "this type of local problem"
msgstr ""
@@ -4779,15 +4900,13 @@ msgstr ""
msgid "today"
msgstr ""
-#: templates/web/base/js/translation_strings.html:73
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:76
msgid "update"
-msgstr "Gauti atnaujinimus"
+msgstr ""
-#: templates/web/base/js/translation_strings.html:74
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:77
msgid "updates"
-msgstr "Gauti atnaujinimus"
+msgstr ""
#: templates/web/base/admin/report_edit.html:52
msgid "used map"
@@ -4839,12 +4958,12 @@ msgstr[1] ""
msgstr[2] ""
#: perllib/Utils.pm:246
-#, fuzzy, perl-format
+#, perl-format
msgid "%d month"
msgid_plural "%d months"
-msgstr[0] "MÄ—nuo"
-msgstr[1] "MÄ—nuo"
-msgstr[2] "MÄ—nuo"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
#: templates/web/base/report/_support.html:6
#, perl-format
@@ -4870,6 +4989,46 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
+#: templates/web/base/reports/index.html:92
+#, perl-format
+msgid "%s day"
+msgid_plural "%s days"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/web/base/reports/index.html:55
+#, perl-format
+msgid "%s problem marked as fixed"
+msgid_plural "%s problems marked as fixed"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/web/base/reports/index.html:43
+#, perl-format
+msgid "%s problem reported"
+msgid_plural "%s problems reported"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/web/base/reports/index.html:107
+#, perl-format
+msgid "%s report"
+msgid_plural "%s reports"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/web/base/reports/index.html:49
+#, perl-format
+msgid "%s update on problems"
+msgid_plural "%s updates on problems"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
#: templates/web/base/front/stats.html:19
#, perl-format
msgid "<big>%s</big> fixed in past month"
@@ -4902,7 +5061,7 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: templates/web/base/report/_item.html:49
+#: templates/web/base/report/_item.html:51
#, perl-format
msgid "Reported %d day ago"
msgid_plural "Reported %d days ago"
@@ -4926,7 +5085,7 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: templates/web/base/report/_item.html:59
+#: templates/web/base/report/_item.html:61
#, perl-format
msgid "last updated %d day ago"
msgid_plural "last updated %d days ago"
@@ -4935,17 +5094,54 @@ msgstr[1] ""
msgstr[2] ""
#: templates/email/oxfordshire/archive.txt:9
-#, fuzzy, perl-format
+#, perl-format
msgid "report"
msgid_plural "reports"
-msgstr[0] "Visi pranešimai"
-msgstr[1] "Visi pranešimai"
-msgstr[2] "Visi pranešimai"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
-#, fuzzy
-#~ msgid "All inspectors"
-#~ msgstr "Visi Pranešimai"
+#~ msgid "%s ward, %s"
+#~ msgstr "%s rajonas, %s"
-#, fuzzy
-#~ msgid "Report category:"
-#~ msgstr "Sukurti kategorijÄ…"
+#~ msgid "%s, within %s ward"
+#~ msgstr "%s, viduje %s rajonas"
+
+#~ msgid "-- Pick a property type --"
+#~ msgstr "-- Pasirinkite nuosavybÄ—s tipÄ… --"
+
+#~ msgid "Closed:"
+#~ msgstr "Uždaryta:"
+
+#~ msgid "Duplicate"
+#~ msgstr "Kopija"
+
+#~ msgid "Fixed:"
+#~ msgstr "Sutvarkyta:"
+
+#~ msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
+#~ msgstr "Čia pateikti vietinių problemų tipų pranešimai skirti &lsquo;%s&rsquo;."
+
+#~ msgid "In Progress"
+#~ msgstr "Apdorojama"
+
+#~ msgid "Internal referral"
+#~ msgstr "Internal referral"
+
+#~ msgid "Investigating"
+#~ msgstr "Tyriama"
+
+#~ msgid "Not Responsible"
+#~ msgstr "Neatsakingas"
+
+#~ msgid "Or problems reported to:"
+#~ msgstr "Arba problemos praneštos:"
+
+#~ msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
+#~ msgstr "Arba jūs galite prenumeruoti įspėjimą atsižvelgiant į jūsų rajoną arba savivaldybę:"
+
+#~ msgid "Please choose a property type"
+#~ msgstr "Prašome pasirinkti nuosavybės tipą"
+
+#~ msgid "Problems within the boundary of:"
+#~ msgstr "Problemos apibrėžtose ribose:"
diff --git a/locale/ms.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/ms.UTF-8/LC_MESSAGES/FixMyStreet.po
index 2071a76f2..9aaf9f886 100644
--- a/locale/ms.UTF-8/LC_MESSAGES/FixMyStreet.po
+++ b/locale/ms.UTF-8/LC_MESSAGES/FixMyStreet.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
-"POT-Creation-Date: 2017-03-30 17:33+0100\n"
+"POT-Creation-Date: 2017-09-13 15:40+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: mySociety <transifex@mysociety.org>, 2016\n"
+"Last-Translator: mySociety <transifex@mysociety.org>, 2017\n"
"Language-Team: Malay (https://www.transifex.com/mysociety/teams/12067/ms/)\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:695
+#: perllib/FixMyStreet/DB/Result/Problem.pm:632
#: perllib/FixMyStreet/Script/Reports.pm:197
msgid " and "
msgstr " dan "
@@ -91,25 +91,6 @@ msgstr "%s soalan selidik dihantar &ndash; %s dijawabi (%s%%)"
msgid "%s ref:&nbsp;%s"
msgstr "%s ruj;&nbsp;%s"
-#. ("%s is the site name")
-#: templates/web/base/alert/_list.html:74
-msgid ""
-"%s sends different categories of problem\n"
-"to the appropriate council, so problems within the boundary of a particular council\n"
-"might not match the problems sent to that council. For example, a graffiti report\n"
-"will be sent to the district council, so will appear in both of the district\n"
-"council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
-"for the county council."
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:257 perllib/FixMyStreet/Cobrand/UK.pm:269
-msgid "%s ward, %s"
-msgstr "%s kawasan pentadbiran, %s"
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
-msgid "%s, within %s ward"
-msgstr "%s, dalam kawasan pentadbiran %s"
-
#: perllib/FixMyStreet/Map/OSM.pm:38
msgid "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"
msgstr ""
@@ -118,7 +99,7 @@ msgstr ""
msgid "(Defect &amp; location of defect)"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
#: templates/web/base/admin/users.html:32
msgid "(Email in abuse table)"
msgstr "(Emel dalam jadual penyalahguna)"
@@ -133,28 +114,36 @@ msgstr ""
msgid "(No phone number)"
msgstr ""
-#: templates/web/base/alert/_list.html:25
-msgid "(a default distance which covers roughly 200,000 people)"
-msgstr "(jarak lalai mengandunging 200,000 orang secara kasar)"
-
-#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
-#: templates/web/base/alert/_list.html:30
-msgid "(alternatively the RSS feed can be customised, within %s)"
+#: templates/web/base/admin/states/index.html:95
+msgid "(a-z and space only)"
msgstr ""
#: templates/web/zurich/report/_item.html:19
msgid "(closed)"
msgstr "(ditutup)"
+#: templates/web/base/alert/_list.html:30
+#, fuzzy
+msgid "(covers roughly 200,000 people)"
+msgstr "(jarak lalai mengandunging 200,000 orang secara kasar)"
+
#: templates/web/zurich/report/_item.html:17
msgid "(fixed)"
msgstr "(tetap)"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "(ignored if type is \"String\")"
+msgstr ""
+
#: templates/web/base/around/intro.html:2
msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
msgstr "(seperti graffiti, fly tipping, paving slabs rosak, atau lampu jalan)"
-#: templates/web/base/report/_item.html:68
+#: templates/web/base/reports/index.html:69
+msgid "(no longer exists)"
+msgstr ""
+
+#: templates/web/base/report/_item.html:70
msgid "(not sent to council)"
msgstr "(tidak dihantar kepada majlis)"
@@ -162,20 +151,22 @@ msgstr "(tidak dihantar kepada majlis)"
msgid "(optional)"
msgstr "(tidak diwajibkan)"
-#: templates/web/base/report/_item.html:67
+#: templates/web/base/report/_item.html:69
msgid "(sent to both)"
msgstr "(hantar kepada kedua-dua)"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:239
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/DB/Result/Problem.pm:454
+#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
+#: templates/web/base/alert/_list.html:36
+#, fuzzy
+msgid "(we also have RSS feeds for problems within %s)"
+msgstr "Feed RSS untuk masalah dalam %s"
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:245
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:381
msgid "-- Pick a category --"
msgstr "-- Pilih kategori --"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:460
-msgid "-- Pick a property type --"
-msgstr "-- Pilih jenis harta --"
-
#: templates/web/base/admin/response_templates_select.html:3
msgid "--Choose a template--"
msgstr ""
@@ -184,16 +175,16 @@ msgstr ""
msgid "10 inch pothole on Example St, near post box"
msgstr ""
-#: templates/web/base/dashboard/index.html:152
+#: templates/web/base/dashboard/index.html:153
msgid "14-30 days old"
msgstr ""
-#: templates/web/base/dashboard/index.html:151
+#: templates/web/base/dashboard/index.html:152
msgid "7-14 days old"
msgstr ""
-#: templates/web/base/admin/body-form.html:48
-#: templates/web/base/admin/body-form.html:49
+#: templates/web/base/admin/body-form.html:50
+#: templates/web/base/admin/body-form.html:51
msgid ""
"<code>MAPIT_URL</code> is set (<code>%s</code>) but no <code>MAPIT_TYPES</code>.<br>\n"
" This is probably why \"area covered\" is empty (below).<br>\n"
@@ -207,13 +198,12 @@ msgstr ""
msgid "<h2>Reports, Statistics and Actions for</h2> <h1>%s</h1>"
msgstr ""
-#. ('The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories')
#. ("The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories")
-#: templates/web/base/reports/_list-filters.html:37
-msgid "<label for=\"statuses\">Show</label> %s <label for=\"filter_categories\">about</label> %s"
+#: templates/web/base/reports/_list-filters.html:48
+msgid "<label for=\"statuses\">Show</label> %s reports <label for=\"filter_categories\">about</label> %s"
msgstr ""
-#: templates/web/base/js/translation_strings.html:71
+#: templates/web/base/js/translation_strings.html:74
msgid "<span>%s</span> saved."
msgstr ""
@@ -230,34 +220,25 @@ msgstr "<strong>Tidak</strong> Benarkan aku mengesahkan laporanku dengan emel"
msgid "<strong>No</strong> Let me confirm my update by email"
msgstr "<strong>Tidak</strong> Benarkan aku mengesahkan kemas kiniku dengan emel"
-#: templates/web/base/auth/general.html:104
+#: templates/web/base/auth/general.html:106
#: templates/web/zurich/auth/general.html:51
msgid "<strong>No</strong> let me sign in by email"
msgstr "<strong>Tidak</strong> benarkan aku log masuk dengan emel"
-#: templates/web/base/report/_inspect.html:160
+#: templates/web/base/report/_inspect.html:170
msgid "<strong>Note:</strong> This report has been sent onwards for action. Any changes made won't be passed on."
msgstr ""
-#: templates/web/base/report/_inspect.html:162
+#: templates/web/base/report/_inspect.html:172
msgid "<strong>Note:</strong> This report hasn't yet been sent onwards for action. Any changes made may not be passed on."
msgstr ""
-#: templates/web/base/auth/general.html:80
+#: templates/web/base/auth/general.html:82
#: templates/web/base/report/new/form_user_loggedout_password.html:3
#: templates/web/base/report/update/form_user_loggedout_password.html:2
msgid "<strong>Yes</strong> I have a password"
msgstr "<strong>Ya</strong> Aku ada kata laluan"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:10
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:6
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Action Scheduled"
-msgstr "Jadual tindakan"
-
#: templates/web/base/admin/body-form.html:3
#: templates/web/base/admin/body-form.html:4
msgid ""
@@ -271,19 +252,36 @@ msgid "Add a contact using the form below."
msgstr "Tambahkan cara hubungan dengan borang dibawah"
#: templates/web/base/admin/bodies.html:78
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Add body"
msgstr "Tambah badan"
+#: templates/web/base/admin/reportextrafields/index.html:24
+msgid "Add extra fields"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:79
+msgid "Add field"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:85
+msgid "Add fixed state"
+msgstr ""
+
#: templates/web/base/admin/body.html:126
#: templates/web/zurich/admin/body.html:31
msgid "Add new category"
msgstr "Tambah kategori baru"
+#: templates/web/base/admin/extra-metadata-form.html:72
+#, fuzzy
+msgid "Add option"
+msgstr "(tidak diwajibkan)"
+
#: templates/web/base/report/_item.html:10
-#: templates/web/base/report/_item.html:14
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_item.html:16
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:19
#: templates/web/base/report/_main.html:30
msgid "Add to shortlist"
@@ -295,15 +293,15 @@ msgstr ""
msgid "Add user"
msgstr "Tambah pengguna"
-#: perllib/FixMyStreet/Cobrand/Default.pm:730
+#: perllib/FixMyStreet/Cobrand/Default.pm:735
msgid "Add/edit problem categories"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:732
+#: perllib/FixMyStreet/Cobrand/Default.pm:737
msgid "Add/edit response priorities"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:731
+#: perllib/FixMyStreet/Cobrand/Default.pm:736
msgid "Add/edit response templates"
msgstr ""
@@ -311,7 +309,7 @@ msgstr ""
msgid "Added %s"
msgstr "%s telah ditambahi"
-#: templates/web/base/report/_main.html:145
+#: templates/web/base/report/_main.html:149
msgid "Adding this report to your shortlist will remove it from %s’s shortlist."
msgstr ""
@@ -331,17 +329,17 @@ msgstr "Alert %d diciptakan untuk %s, jenis %s, parameter %s/%s"
msgid "Alert %d disabled (created %s)"
msgstr "Pemberitahuan %d dihenti (dibuat pada %s)"
-#: templates/web/base/report/update/form_name.html:38
+#: templates/web/base/report/update/form_name.html:42
msgid "Alert me to future updates"
msgstr "Maklumkan aku sebarang kemas kini masa depan"
#: templates/web/base/dashboard/index.html:138
#: templates/web/base/dashboard/index.html:21
#: templates/web/base/dashboard/index.html:30
+#: templates/web/base/reports/_list-filters.html:3
msgid "All"
msgstr ""
-#: templates/web/base/reports/index.html:6
#: templates/web/zurich/reports/index.html:13
msgid "All Reports"
msgstr "Semua Laporan"
@@ -351,15 +349,23 @@ msgid "All Reports as CSV"
msgstr ""
#: templates/web/base/admin/category-multiselect.html:5
-#: templates/web/base/admin/responsepriorities/list.html:19
+#: templates/web/base/admin/responsepriorities/list.html:20
msgid "All categories"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:26
+#, fuzzy
+msgid "All cobrands"
+msgstr "Cobrand"
+
+#: templates/web/base/admin/reportextrafields/edit.html:47
+msgid "All languages"
+msgstr ""
+
#: templates/web/base/main_nav_items.html:0
#: templates/web/base/main_nav_items.html:27
-#: templates/web/base/reports/_list-filters.html:3
#: templates/web/zurich/admin/index-dm.html:12
-#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:21
+#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:20
#: templates/web/zurich/nav_over_content.html:6
msgid "All reports"
msgstr "Semua laporan"
@@ -369,6 +375,14 @@ msgstr "Semua laporan"
msgid "All reports between %s and %s"
msgstr "Semua laporan antara %s dan %s"
+#: templates/web/base/reports/index.html:23
+msgid "All time"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:20
+msgid "Alternatively, we can hide your name on <strong>all of your reports and updates</strong> across the site:"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:47
msgid "An update marked this problem as fixed."
msgstr "Ada kemas kini menanda masalah ini sebagai diselesai."
@@ -378,31 +392,33 @@ msgstr "Ada kemas kini menanda masalah ini sebagai diselesai."
msgid "Anonymous"
msgstr "Tanpa nama"
-#: templates/web/base/admin/report_edit.html:134
+#: templates/web/base/report/new/form_user_loggedin.html:21
+#: templates/web/base/report/update/form_name.html:17
+#, fuzzy
+msgid "Anonymous user"
+msgstr "Tanpa nama"
+
+#: templates/web/base/admin/report_edit.html:122
#: templates/web/base/admin/update_edit.html:23
msgid "Anonymous:"
msgstr "Tanpa Nama:"
-#: templates/web/base/report/new/form_user_loggedin.html:20
-#: templates/web/base/report/update/form_name.html:13
+#: templates/web/base/report/new/form_user_loggedin.html:24
+#: templates/web/base/report/update/form_name.html:14
msgid "Another user"
msgstr ""
-#: templates/web/base/front/footer-marketing.html:16
-msgid "Are you a developer?"
-msgstr "Adakan anda developer?"
-
-#: templates/web/base/js/translation_strings.html:56
+#: templates/web/base/js/translation_strings.html:59
msgid "Are you sure you want to cancel this upload?"
msgstr ""
#: templates/web/base/admin/report_edit.html:84
-#: templates/web/base/js/translation_strings.html:66
+#: templates/web/base/js/translation_strings.html:69
#: templates/web/base/report/display_tools.html:6
msgid "Are you sure?"
msgstr ""
-#: templates/web/base/admin/body-form.html:75
+#: templates/web/base/admin/body-form.html:77
#: templates/web/base/admin/body.html:20
#: templates/web/zurich/admin/body-form.html:24
msgid "Area covered"
@@ -434,11 +450,11 @@ msgstr "Ditugaskan kepada badan luaran:"
msgid "Assign to subdivision:"
msgstr "Ditugaskan kepada bahagian bawah:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:727
+#: perllib/FixMyStreet/Cobrand/Default.pm:732
msgid "Assign users to areas"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:214
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:219
msgid "Assigned to %s"
msgstr "Ditugaskan kepada %s"
@@ -459,11 +475,14 @@ msgstr ""
msgid "Auto-response:"
msgstr ""
-#: templates/web/base/admin/report_edit.html:127
-#: templates/web/base/report/_inspect.html:47
+#: templates/web/base/admin/report-category.html:8
msgid "Available categories"
msgstr ""
+#: templates/web/base/reports/index.html:84
+msgid "Average time between a problem being reported and being fixed, last 100 reports."
+msgstr ""
+
#: templates/web/base/dashboard/index.html:109
msgid "Average time to council marking fixed (days)"
msgstr ""
@@ -476,7 +495,7 @@ msgstr ""
msgid "Avoid personal information and vehicle number plates"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:417
+#: perllib/FixMyStreet/DB/Result/Problem.pm:344
#: templates/web/zurich/report/_item.html:9
msgid "Awaiting moderation"
msgstr "Mengunggu penyederhanaan"
@@ -489,13 +508,13 @@ msgstr "Balik"
msgid "Back to all reports"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
msgid "Ban email address"
msgstr "Melarang alamat emel"
#: perllib/FixMyStreet/Cobrand/Default.pm:650
-#: perllib/FixMyStreet/Cobrand/Default.pm:729
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
+#: perllib/FixMyStreet/Cobrand/Default.pm:734
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:396
#: templates/web/base/admin/bodies.html:1
#: templates/web/base/admin/report_edit.html:55
#: templates/web/zurich/header.html:56
@@ -517,7 +536,11 @@ msgstr "Badan:"
msgid "By Date"
msgstr "Dengan Tarikh"
-#: templates/web/base/auth/token.html:21 templates/web/base/email_sent.html:18
+#: templates/web/base/admin/extra-metadata-form.html:36
+msgid "Can be used to display extra text to the user alongside the field. The default template does not show this (<code>meta.datatype_description</code>), you must add it in <code>category_extras_fields.html</code>"
+msgstr ""
+
+#: templates/web/base/auth/token.html:27 templates/web/base/email_sent.html:20
msgid "Can&rsquo;t find our email? Check your spam folder&nbsp;&ndash; that&rsquo;s the solution 99% of the time."
msgstr ""
@@ -538,8 +561,8 @@ msgstr ""
#: templates/web/base/admin/body.html:72
#: templates/web/base/admin/contact-form.html:19
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/report/_inspect.html:38
-#: templates/web/base/report/_item.html:90
+#: templates/web/base/report/_inspect.html:48
+#: templates/web/base/report/_item.html:92
#: templates/web/base/report/new/category.html:6
#: templates/web/base/report/new/category_wrapper.html:3
#: templates/web/zurich/admin/body.html:14
@@ -550,7 +573,7 @@ msgstr ""
msgid "Category"
msgstr "Kategori"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:852
+#: perllib/FixMyStreet/App/Controller/Admin.pm:956
msgid "Category changed from ‘%s’ to ‘%s’"
msgstr ""
@@ -590,23 +613,11 @@ msgstr ""
msgid "Change password"
msgstr "Menukar Kata Laluan"
-#: templates/web/base/admin/contact-form.html:41
-msgid ""
-"Check <strong>confirmed</strong> to indicate that this contact has been confirmed as correct.\n"
-" If you are not sure of the origin or validity of the contact, leave this unchecked."
-msgstr ""
-
-#: templates/web/base/admin/contact-form.html:52
-msgid ""
-"Check <strong>deleted</strong> to remove the category from use. \n"
-" It will not appear as an available category in the drop-down menu on the report-a-problem page."
-msgstr ""
-
-#: templates/web/base/admin/contact-form.html:79
+#: templates/web/base/admin/contact-form.html:80
msgid "Check <strong>inspection required</strong> if reports in this category <strong>must be inspected</strong> before being sent."
msgstr ""
-#: templates/web/base/admin/contact-form.html:63
+#: templates/web/base/admin/contact-form.html:64
msgid ""
"Check <strong>private</strong> if reports in this category should <strong>never be displayed on the website</strong>.\n"
" <br>\n"
@@ -623,11 +634,11 @@ msgid ""
" to the body too. These will appear in the drop-down menu on the report-a-problem page."
msgstr ""
-#: templates/web/base/report/_inspect.html:93
+#: templates/web/base/report/_inspect.html:103
msgid "Choose another"
msgstr ""
-#: templates/web/base/js/translation_strings.html:65
+#: templates/web/base/js/translation_strings.html:68
msgid "Clear offline data"
msgstr ""
@@ -652,21 +663,21 @@ msgstr ""
msgid "Click the link in our confirmation email to publish your update."
msgstr ""
-#: templates/web/base/auth/token.html:18
+#: templates/web/base/auth/token.html:23
msgid "Click the link in our confirmation email to sign in."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:189
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:960
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:17
-#: templates/web/base/admin/report_blocks.html:27
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:43
-#: templates/web/base/report/banner.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:18
+#: templates/web/base/auth/token.html:20
+msgid "Click the link in that email to sign in."
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:134
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:194
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:965
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:11
+#: templates/web/base/admin/states/index.html:103
+#: templates/web/base/admin/states/index.html:27
+#: templates/web/base/admin/states/index.html:33
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:10
#: templates/web/zurich/admin/header.html:16
@@ -674,23 +685,17 @@ msgstr ""
msgid "Closed"
msgstr "Ditutup"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:889
+#: perllib/FixMyStreet/DB/Result/Problem.pm:826
msgid "Closed by council"
msgstr "Ditutup oleh majlis"
-#: templates/web/base/reports/_list-filters.html:13
-msgid "Closed reports"
-msgstr ""
-
-#: templates/web/base/admin/problem_row.html:38
-msgid "Closed:"
-msgstr "Ditutup:"
-
#: templates/web/base/admin/report_edit.html:37
msgid "Co-ordinates:"
msgstr "Kordinat:"
#: templates/web/base/admin/list_updates.html:10
+#: templates/web/base/admin/reportextrafields/edit.html:24
+#: templates/web/base/admin/reportextrafields/index.html:7
msgid "Cobrand"
msgstr "Cobrand"
@@ -704,10 +709,13 @@ msgstr "Data Cobrand"
msgid "Cobrand:"
msgstr "Cobrand:"
+#: templates/web/base/admin/extra-metadata-form.html:14
+msgid "Code"
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:50
-#, fuzzy
msgid "Collapse map"
-msgstr "peta diguna"
+msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:646
#: templates/web/base/admin/config_page.html:1
@@ -735,9 +743,8 @@ msgstr ""
msgid "Confirmation"
msgstr "Pengesahan"
-#: templates/web/base/admin/body.html:85
-#: templates/web/base/admin/category_edit.html:54
-#: templates/web/base/admin/contact-form.html:47
+#: templates/web/base/admin/contact-form.html:56
+#: templates/web/zurich/admin/contact-form.html:12
#: templates/web/zurich/admin/stats.html:40
msgid "Confirmed"
msgstr "Disahkan"
@@ -772,8 +779,8 @@ msgstr "Menghubungi pasukan"
msgid "Coordinates:"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1668
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1696
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1773
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1801
msgid "Could not find user"
msgstr "Tidak dapat mencari pengguna"
@@ -793,33 +800,28 @@ msgstr "Hubungan Majlis untuk %s"
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:83
-#, fuzzy
msgid "Council has marked as closed"
-msgstr "ditanda sebagai ditutupi"
+msgstr ""
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:57
-#, fuzzy
msgid "Council has marked as fixed"
-msgstr "ditanda sebagai diselesai"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:80
-#, fuzzy
msgid "Council has marked as in progress"
-msgstr "ditanda sebagai dijalani"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:82
-#, fuzzy
msgid "Council has marked as investigating"
-msgstr "ditanda sebagai disiasati"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:81
-#, fuzzy
msgid "Council has marked as planned"
-msgstr "ditanda sebagai dijadual"
+msgstr ""
#: templates/web/base/report/_council_sent_info.html:6
msgid "Council ref:&nbsp;%s"
@@ -836,24 +838,33 @@ msgstr "Majlis:"
msgid "Count"
msgstr "Kiraan"
+#: templates/web/base/admin/states/index.html:114
+#, fuzzy
+msgid "Create"
+msgstr "Diwujudkan"
+
#: templates/web/base/email_sent.html:1
msgid "Create a report"
msgstr "Laporan baru"
-#: templates/web/base/admin/contact-form.html:137
+#: templates/web/base/admin/contact-form.html:138
#: templates/web/zurich/admin/body.html:62
msgid "Create category"
msgstr "Kategori baru"
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/responsepriorities/edit.html:58
msgid "Create priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:714
+#: perllib/FixMyStreet/Cobrand/Default.pm:718
+msgid "Create reports/updates as anonymous user"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:719
msgid "Create reports/updates as the council"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:713
+#: perllib/FixMyStreet/Cobrand/Default.pm:717
msgid "Create reports/updates on a user's behalf"
msgstr ""
@@ -883,13 +894,15 @@ msgstr "Keadaan semasa"
msgid "Currently no bodies have been created."
msgstr "Belum ada badan wujud pada masa kini."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:825
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:830
#: templates/web/zurich/admin/report_edit-sdm.html:105
msgid "Customer not contactable"
msgstr ""
#: templates/web/base/dashboard/index.html:5
#: templates/web/base/dashboard/index.html:7
+#: templates/web/base/reports/index.html:15
+#: templates/web/base/reports/index.html:18
msgid "Dashboard"
msgstr "Papan pemuka"
@@ -897,29 +910,36 @@ msgstr "Papan pemuka"
msgid "Dealt with by subdivision within 5 working days"
msgstr "Diuruskan oleh bahagian bawah dalam 5 hari bekerja"
-#: templates/web/base/report/_inspect.html:73
+#: templates/web/base/admin/responsepriorities/list.html:9
+msgid "Default"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:39
+msgid "Default priority"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:72
msgid "Defect type"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:973
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1078
#: templates/web/base/admin/template_edit.html:50
#: templates/web/zurich/admin/template_edit.html:33
msgid "Delete template"
msgstr ""
#: templates/web/base/admin/bodies.html:31
-#: templates/web/base/admin/body.html:87
-#: templates/web/base/admin/category_edit.html:55
#: templates/web/base/admin/contact-form.html:58
-#: templates/web/zurich/admin/contact-form.html:12
+#: templates/web/zurich/admin/contact-form.html:13
msgid "Deleted"
msgstr "Dipadam"
-#: templates/web/base/report/_main.html:110
-#: templates/web/base/report/update.html:59
+#: templates/web/base/report/_main.html:114
+#: templates/web/base/report/update.html:68
msgid "Describe why you are moderating this"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:32
#: templates/web/base/admin/responsepriorities/list.html:7
#: templates/web/zurich/admin/index-dm.html:22
#: templates/web/zurich/admin/index-sdm.html:20
@@ -943,7 +963,7 @@ msgstr "Perincian"
msgid "Details:"
msgstr "Perincian:"
-#: templates/web/base/admin/body.html:93
+#: templates/web/base/admin/body.html:92
msgid "Devolved"
msgstr "Didelegasikan"
@@ -956,18 +976,17 @@ msgstr ""
msgid "Diligency prize league table"
msgstr "Jadual liga hadiah ketekunan"
-#: templates/web/base/report/_main.html:114
-#: templates/web/base/report/update.html:61
-#, fuzzy
+#: templates/web/base/report/_main.html:118
+#: templates/web/base/report/update.html:70
msgid "Discard changes"
-msgstr "Hantar perubahan"
+msgstr ""
#: templates/web/base/admin/open311-form-fields.html:95
msgid "Do not send email alerts on fetched comments to problem creator"
msgstr ""
#. ("%s is the site name")
-#: templates/web/base/auth/general.html:58
+#: templates/web/base/auth/general.html:60
#: templates/web/base/report/new/form_user_loggedout.html:25
#: templates/web/base/report/new/oauth_email_form.html:18
#: templates/web/base/report/update-form.html:30
@@ -975,40 +994,33 @@ msgstr ""
msgid "Do you have a %s password?"
msgstr ""
+#: templates/web/base/report/_inspect.html:87
+msgid "Do you want to automatically raise a defect?"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:57
msgid "Don&rsquo;t know"
msgstr "Tidak tahu"
-#: templates/web/base/contact/index.html:108
+#: templates/web/base/contact/index.html:112
msgid "Don't like forms?"
msgstr ""
-#: templates/web/base/report/_item.html:25
+#: templates/web/base/report/_item.html:27
msgid "Down one"
msgstr ""
-#: templates/web/base/js/translation_strings.html:55
+#: templates/web/base/js/translation_strings.html:58
msgid "Drag and drop photos here or <u>click to upload</u>"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:10
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "Duplicate"
-msgstr "Salinan"
-
-#: templates/web/base/report/_inspect.html:88
-#, fuzzy
+#: templates/web/base/report/_inspect.html:98
msgid "Duplicate of"
-msgstr "Salinan"
+msgstr ""
-#: templates/web/base/report/_inspect.html:98
-#, fuzzy
+#: templates/web/base/report/_inspect.html:108
msgid "Duplicates"
-msgstr "Salinan"
+msgstr ""
#: templates/web/base/admin/body.html:116
msgid ""
@@ -1018,43 +1030,43 @@ msgid ""
" "
msgstr ""
-#: templates/web/base/report/_inspect.html:16
-#: templates/web/base/report/_item.html:81
+#: templates/web/base/report/_inspect.html:26
+#: templates/web/base/report/_item.html:83
msgid "Easting/Northing:"
msgstr ""
#: templates/web/base/admin/list_updates.html:42
#: templates/web/base/admin/problem_row.html:41
-#: templates/web/base/admin/responsepriorities/list.html:26
+#: templates/web/base/admin/responsepriorities/list.html:28
#: templates/web/base/admin/templates.html:22
#: templates/web/base/admin/users.html:34
#: templates/web/zurich/admin/problem_row.html:48
msgid "Edit"
msgstr "Menyunting"
-#: templates/web/base/admin/body.html:140
+#: templates/web/base/admin/body.html:141
#: templates/web/base/admin/index.html:39
#: templates/web/zurich/admin/body.html:69
msgid "Edit body details"
msgstr "Edit perincian badah"
-#: perllib/FixMyStreet/Cobrand/Default.pm:724
+#: perllib/FixMyStreet/Cobrand/Default.pm:729
msgid "Edit other users' details"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:725
+#: perllib/FixMyStreet/Cobrand/Default.pm:730
msgid "Edit other users' permissions"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:708
+#: perllib/FixMyStreet/Cobrand/Default.pm:712
msgid "Edit report category"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:709
+#: perllib/FixMyStreet/Cobrand/Default.pm:713
msgid "Edit report priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:707
+#: perllib/FixMyStreet/Cobrand/Default.pm:711
msgid "Edit reports"
msgstr ""
@@ -1077,15 +1089,15 @@ msgstr "Sedang mengemaskini %d"
msgid "Editing user %d"
msgstr "Sedang edit pengguna %d"
-#: templates/web/base/admin/category_edit.html:56
+#: templates/web/base/admin/category_edit.html:30
msgid "Editor"
msgstr "Editor"
#: templates/web/base/admin/bodies.html:27
-#: templates/web/base/admin/category_edit.html:53
+#: templates/web/base/admin/category_edit.html:28
#: templates/web/base/admin/flagged.html:38
#: templates/web/base/admin/users.html:17
-#: templates/web/base/auth/general.html:49
+#: templates/web/base/auth/general.html:51
#: templates/web/zurich/admin/body-form.html:9
#: templates/web/zurich/admin/body.html:15
#: templates/web/zurich/auth/general.html:24
@@ -1093,13 +1105,14 @@ msgstr "Editor"
msgid "Email"
msgstr "Emel"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1644
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1749
msgid "Email added to abuse list"
msgstr "Emel ditambahkan kepada senarai penyalahguna"
-#: templates/web/base/admin/contact-form.html:36
-#: templates/web/base/report/new/form_user_loggedin.html:28
-#: templates/web/base/report/update/form_name.html:19
+#: templates/web/base/admin/contact-form.html:38
+#: templates/web/base/alert/_list.html:74
+#: templates/web/base/report/new/form_user_loggedin.html:32
+#: templates/web/base/report/update/form_name.html:23
msgid "Email address"
msgstr ""
@@ -1111,11 +1124,11 @@ msgstr ""
msgid "Email alert deleted"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1641
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1746
msgid "Email already in abuse list"
msgstr "Emel telah dalam senarai penyalahguna"
-#: templates/web/base/admin/report_edit.html:141
+#: templates/web/base/admin/report_edit.html:129
#: templates/web/base/admin/update_edit.html:35
#: templates/web/base/admin/user-form.html:19
#: templates/web/zurich/admin/body.html:48
@@ -1136,8 +1149,8 @@ msgid ""
" <a href='https://www.mysociety.org/2013/02/20/open311-extended/' class='admin-offsite-link'>this article</a>."
msgstr ""
-#: templates/web/base/admin/body-form.html:120
-#: templates/web/base/admin/body-form.html:121
+#: templates/web/base/admin/body-form.html:122
+#: templates/web/base/admin/body-form.html:123
msgid ""
"Enable this <strong>can be devolved</strong> setting if one or more contacts have a \n"
" different endpoint (and send method) from the body's. For example, if reports for some categories of\n"
@@ -1152,11 +1165,11 @@ msgstr "Tarikh Akhir:"
msgid "Endpoint"
msgstr "Endpoint"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:76
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:81
msgid "Enter a Z&uuml;rich street name"
msgstr "Masukkan nama jalan Z&uuml;rich"
-#: perllib/FixMyStreet/Cobrand/UK.pm:15
+#: perllib/FixMyStreet/Cobrand/UK.pm:16
msgid "Enter a nearby UK postcode, or street name and area"
msgstr "Masukkan poskod UK terdekat, atau nama jalan dan kawasan"
@@ -1165,12 +1178,13 @@ msgstr "Masukkan poskod UK terdekat, atau nama jalan dan kawasan"
msgid "Enter a nearby postcode, or street name and area"
msgstr "Masukkan poskod terdekat, atau nama jalan dan kawasan"
+#: perllib/FixMyStreet/Cobrand/DansMonQwat.pm:14
#: templates/web/base/around/postcode_form.html:5
#: templates/web/base/around/postcode_form.html:6
msgid "Enter a nearby street name and area"
msgstr "Masukkan nama jalan dan kawasan terdekat"
-#: templates/web/base/auth/general.html:116
+#: templates/web/base/auth/general.html:118
#: templates/web/base/report/new/form_user_loggedout_by_email.html:35
#: templates/web/base/report/update/form_user_loggedout_by_email.html:13
#: templates/web/zurich/auth/general.html:65
@@ -1190,8 +1204,8 @@ msgstr "Masukkan perincian masalah tersebut"
msgid "Error"
msgstr "Ralat"
-#: templates/web/base/reports/_list-filters.html:20
-#: templates/web/base/reports/_list-filters.html:28
+#: templates/web/base/reports/_list-filters.html:31
+#: templates/web/base/reports/_list-filters.html:39
msgid "Everything"
msgstr ""
@@ -1204,8 +1218,7 @@ msgstr "Contoh poskod %s"
msgid "Examples:"
msgstr "Contoh:"
-#: templates/web/base/admin/report_edit.html:122
-#: templates/web/base/report/_inspect.html:42
+#: templates/web/base/admin/report-category.html:3
msgid "Existing category"
msgstr ""
@@ -1213,16 +1226,16 @@ msgstr ""
msgid "Expand map"
msgstr ""
-#: templates/web/base/report/new/form_report.html:52
+#: templates/web/base/report/new/form_report.html:54
msgid "Explain what’s wrong"
msgstr ""
-#: templates/web/base/dashboard/index.html:146
+#: templates/web/base/dashboard/index.html:147
msgid "Export as CSV"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:913
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:179
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:12
msgid "Extern"
@@ -1233,7 +1246,7 @@ msgstr ""
msgid "External ID"
msgstr ""
-#: templates/web/base/admin/body-form.html:87
+#: templates/web/base/admin/body-form.html:89
msgid "External URL"
msgstr ""
@@ -1245,13 +1258,20 @@ msgstr ""
msgid "External team"
msgstr ""
-#: templates/web/base/admin/category_edit.html:25
+#: perllib/FixMyStreet/Cobrand/Default.pm:673
+#: templates/web/base/admin/reportextrafields/edit.html:1
+#: templates/web/base/admin/reportextrafields/index.html:1
+#, fuzzy
+msgid "Extra Fields"
+msgstr "Data tambahan:"
+
+#: templates/web/base/admin/contact-form.html:141
#: templates/web/base/admin/report_edit.html:94
msgid "Extra data:"
msgstr "Data tambahan:"
-#: templates/web/base/report/_inspect.html:134
-#: templates/web/base/report/_item.html:106
+#: templates/web/base/report/_inspect.html:144
+#: templates/web/base/report/_item.html:108
msgid "Extra details"
msgstr ""
@@ -1259,6 +1279,11 @@ msgstr ""
msgid "Failed to send message"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:58
+#: templates/web/base/admin/reportextrafields/index.html:9
+msgid "Fields"
+msgstr ""
+
#: templates/web/zurich/admin/index-dm.html:33
#: templates/web/zurich/admin/index-sdm.html:30
msgid "Filter report list"
@@ -1272,52 +1297,32 @@ msgstr "Pertama kali"
msgid "Fix this by choosing an <strong>area covered</strong> in the <em>Edit body details</em> form below."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:11
-#: templates/web/base/admin/report_blocks.html:26
+#: perllib/FixMyStreet/App/Controller/Admin/States.pm:35
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:133
+#: templates/web/base/admin/states/index.html:29
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:41
-#: templates/web/base/report/banner.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:17
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:45
msgid "Fixed"
msgstr "Diselesai"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:13
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:7
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:62
msgid "Fixed - Council"
msgstr "Diselesai - Majlis"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:12
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:63
msgid "Fixed - User"
msgstr "Diselesai - Pengguna"
-#: templates/web/base/reports/_list-filters.html:14
-msgid "Fixed reports"
-msgstr ""
-
-#: templates/web/base/admin/problem_row.html:37
-msgid "Fixed:"
-msgstr "Selesai:"
-
-#: templates/web/base/admin/body-form.html:95
-#: templates/web/base/admin/responsepriorities/edit.html:41
+#: templates/web/base/admin/body-form.html:97
+#: templates/web/base/admin/responsepriorities/edit.html:53
#: templates/web/zurich/admin/body-form.html:36
msgid "Flag as deleted"
msgstr "Tanda sebagai dipadam"
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/report_blocks.html:23
msgid "Flag user"
msgstr "Tanda pengguna"
-#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: perllib/FixMyStreet/Cobrand/Default.pm:644
#: templates/web/base/admin/users.html:20
msgid "Flagged"
msgstr "Ditanda"
@@ -1334,7 +1339,7 @@ msgstr ""
msgid "Flagged users are not restricted in any way. This is just a list of users that have been marked for attention."
msgstr ""
-#: templates/web/base/admin/report_edit.html:147
+#: templates/web/base/admin/report_edit.html:135
#: templates/web/base/admin/user-form.html:100
msgid "Flagged:"
msgstr "Ditanda:"
@@ -1347,21 +1352,25 @@ msgstr "Ikuti link kawasan pentadbiran untuk melihat laporan dalam kawasan terse
msgid "For best results include a close-up and a wide shot"
msgstr ""
-#: templates/web/base/admin/body-form.html:71
+#: templates/web/base/admin/extra-metadata-form.html:52
+msgid "For each option, <strong>Key</strong> is the value which is stored in the database for that option and <strong>Name</strong> is the value displayed to the user."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:73
msgid "For more information, see <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
msgstr "Untuk maklumat lanjut, lihat <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>Bagaimana FixMyStreet mengguna Mapit</a>."
-#: templates/web/base/auth/general.html:95
+#: templates/web/base/auth/general.html:97
#: templates/web/base/report/new/form_user_loggedout_password.html:20
#: templates/web/base/report/update/form_user_loggedout_password.html:19
msgid "Forgotten your password?"
msgstr "Terlupai kata laluan anda?"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:743
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:748
msgid "Forwarded to external body"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:744
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:749
msgid "Forwarded wish to external body"
msgstr ""
@@ -1371,6 +1380,10 @@ msgstr ""
msgid "Frequently Asked Questions"
msgstr "Soalan lazim"
+#: templates/web/base/admin/stats.html:102
+msgid "Get Count"
+msgstr ""
+
#: templates/web/base/around/_updates.html:3
#: templates/web/base/report/display_tools.html:14
msgid "Get updates"
@@ -1386,10 +1399,14 @@ msgstr "Dapatkan kemas kini %s masalah"
msgid "Get updates of problems in this %s"
msgstr "Dapatkan kemas kini masalah di %"
-#: templates/web/base/alert/_list.html:83
+#: templates/web/base/alert/_list.html:85
msgid "Give me an RSS feed"
msgstr "Berikan aku RSS feed"
+#: templates/web/base/admin/reportextrafields/edit.html:6
+msgid "Give this collection of fields a name. It is not shown publicly, just here in the admin."
+msgstr ""
+
#: templates/web/base/questionnaire/completed.html:14
msgid "Glad to hear it’s been fixed!"
msgstr ""
@@ -1399,8 +1416,9 @@ msgstr ""
#: templates/web/base/admin/index.html:49
#: templates/web/base/alert/index.html:34
#: templates/web/base/around/postcode_form.html:13
-#: templates/web/base/reports/_list-filters.html:38
-#: templates/web/base/reports/_list-filters.html:53
+#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:64
+#: templates/web/base/reports/index.html:75
#: templates/web/zurich/admin/stats.html:26
msgid "Go"
msgstr "Pergi"
@@ -1409,7 +1427,7 @@ msgstr "Pergi"
msgid "Going to send questionnaire?"
msgstr "Teruskan dengan menghantar soalan selidik?"
-#: perllib/FixMyStreet/Cobrand/Default.pm:726
+#: perllib/FixMyStreet/Cobrand/Default.pm:731
msgid "Grant access to the admin"
msgstr ""
@@ -1417,10 +1435,6 @@ msgstr ""
msgid "Graph of problem creation by status over time"
msgstr "Graf masalah dibuat dengan status dari masa ke masa"
-#: templates/web/base/reports/index.html:15
-msgid "Greyed-out lines are councils that no longer exist."
-msgstr "Garis kelabu adalah majlis yang tidak laji wujud."
-
#: templates/web/base/questionnaire/index.html:48
msgid "Has this problem been fixed?"
msgstr "Adakan masalah ini telah diselesai?"
@@ -1431,7 +1445,7 @@ msgstr "Adakan anda pernah melaporkan masalah kepada majlis, atau inikah pertama
#: templates/web/base/main_nav_items.html:40
#: templates/web/zurich/about/faq-de-ch.html:1
-#: templates/web/zurich/footer.html:23
+#: templates/web/zurich/footer.html:22
#: templates/web/zurich/nav_over_content.html:8
msgid "Help"
msgstr "Bantuan"
@@ -1441,22 +1455,13 @@ msgstr "Bantuan"
msgid "Help <strong>%s</strong> resolve your problem quicker, by providing some extra detail. This extra information will not be published online."
msgstr ""
-#: templates/web/base/alert/_list.html:9
-msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
-msgstr ""
-
-#: templates/web/zurich/footer.html:12
+#: templates/web/zurich/footer.html:11
msgid "Hi %s"
msgstr "Hi %s"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:906
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:19
-#: templates/web/base/admin/report_blocks.html:28
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:911
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:60
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:19
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:11
#: templates/web/zurich/admin/stats.html:32
@@ -1464,16 +1469,33 @@ msgstr "Hi %s"
msgid "Hidden"
msgstr "Tersembunyi"
-#: templates/web/base/report/_main.html:105
-#, fuzzy
+#: templates/web/base/report/_main.html:109
msgid "Hide entire report"
-msgstr "Termasuk laporan yang belum disahkan"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:1
+#: templates/web/base/my/anonymize.html:2
+msgid "Hide my name"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:21
+msgid "Hide my name everywhere"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:10
+msgid "Hide my name in this update"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:16
+msgid "Hide my name on this report"
+msgstr ""
#: templates/web/base/around/display_location.html:67
msgid "Hide old"
msgstr "Sembunyikan lama"
#: templates/web/base/around/display_location.html:62
+#: templates/web/base/js/translation_strings.html:55
msgid "Hide pins"
msgstr "Sembunyikan pin"
@@ -1481,7 +1503,16 @@ msgstr "Sembunyikan pin"
msgid "Hide update completely?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:49
+#: templates/web/base/report/_report_meta_info.html:3
+#: templates/web/base/report/update.html:55
+msgid "Hide your name?"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:38
+msgid "Hint"
+msgstr ""
+
+#: templates/web/base/admin/category_edit.html:24
msgid "History"
msgstr "Sejarah"
@@ -1498,12 +1529,12 @@ msgid "How to send successful reports"
msgstr "Bagaimana untuk menghantar laporan berjaya"
#: templates/web/base/tokens/confirm_problem.html:36
-#: templates/web/base/tokens/confirm_problem.html:40
+#: templates/web/base/tokens/confirm_problem.html:41
msgid "I just reported a problem on @fixmystreet"
msgstr ""
-#: templates/web/base/tokens/confirm_update.html:19
-#: templates/web/base/tokens/confirm_update.html:23
+#: templates/web/base/tokens/confirm_update.html:20
+#: templates/web/base/tokens/confirm_update.html:25
msgid "I just updated a problem on @fixmystreet"
msgstr ""
@@ -1523,17 +1554,25 @@ msgstr "Masalah anda tidak dapat dijumpai dalam database.\n"
msgid "ID"
msgstr "ID"
-#: templates/web/base/admin/body-form.html:30
-#: templates/web/base/admin/body-form.html:31
+#: templates/web/base/admin/body-form.html:32
+#: templates/web/base/admin/body-form.html:33
msgid ""
"Identify a <strong>parent</strong> if this body is itself part of another body.\n"
" For basic installations, you don't need to join bodies in this way."
msgstr ""
+#: templates/web/base/auth/token.html:19
+msgid "If there's a user associated with the address you entered, we've sent a confirmation email."
+msgstr ""
+
#: templates/web/base/admin/responsepriorities/edit.html:23
msgid "If this priority is passed to an external service (e.g. Exor/Confirm) enter the priority code to use with that service here."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:24
+msgid "If ticked the user won’t see an input field, just the ‘Description’ text."
+msgstr ""
+
#: templates/web/base/admin/contact-form.html:14
msgid ""
"If two or more bodies serve the same location, FixMyStreet combines identical categories into a single entry in\n"
@@ -1544,7 +1583,7 @@ msgstr ""
msgid "If you get some more information about the status of your problem, please come back to the site and leave an update."
msgstr ""
-#: templates/web/base/admin/responsepriorities/edit.html:33
+#: templates/web/base/admin/responsepriorities/edit.html:45
msgid "If you only want this priority to be an option for specific categories, pick them here. By default they will show for all categories."
msgstr ""
@@ -1567,7 +1606,7 @@ msgid ""
"(please note it will not be sent to the council)."
msgstr ""
-#: templates/web/base/admin/contact-form.html:30
+#: templates/web/base/admin/contact-form.html:32
msgid "If you're using <strong>a send method that is not email</strong>, enter the service ID (Open311) or equivalent identifier here."
msgstr ""
@@ -1594,7 +1633,7 @@ msgid ""
" when they are shown on the site. Enter the ID (number) of that user."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:133
+#: perllib/FixMyStreet/App/Controller/Contact.pm:134
msgid "Illegal ID"
msgstr "ID tak sah"
@@ -1602,13 +1641,6 @@ msgstr "ID tak sah"
msgid "Illegal feed selection"
msgstr "Pilihan feed yang tak sah"
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "In Progress"
-msgstr "Dijalani"
-
#: templates/web/base/admin/flagged.html:39
msgid "In abuse table?"
msgstr "Dalam table penyalahguna?"
@@ -1617,18 +1649,17 @@ msgstr "Dalam table penyalahguna?"
msgid "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:192
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:954
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:9
-#: templates/web/base/report/banner.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:5
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:197
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:959
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:8
msgid "In progress"
msgstr "Dijalani"
+#: templates/web/base/admin/contact-form.html:57
+msgid "Inactive"
+msgstr ""
+
#: templates/web/base/tokens/confirm_alert.html:11
msgid "Inbox zero, here we come!"
msgstr ""
@@ -1645,11 +1676,15 @@ msgstr "Termasuk laporan yang belum disahkan"
msgid "Incorrect has_photo value \"%s\""
msgstr "Nilai has_photo \"%s\" salah"
-#: templates/web/base/admin/contact-form.html:84
+#: templates/web/base/report/_inspect.html:5
+msgid "Inspect report"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:85
msgid "Inspection required"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:711
+#: perllib/FixMyStreet/Cobrand/Default.pm:715
msgid "Instruct contractors to fix problems"
msgstr ""
@@ -1657,13 +1692,6 @@ msgstr ""
msgid "Internal notes"
msgstr "Nota dalaman"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:11
-msgid "Internal referral"
-msgstr "Rujukan dalaman"
-
#: templates/web/base/offline/appcache.html:3
msgid "Internet glitch"
msgstr ""
@@ -1672,7 +1700,7 @@ msgstr ""
msgid "Invalid agency_responsible value %s"
msgstr "Nilai agency_responsible %s salah"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1502
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1607
msgid "Invalid end date"
msgstr "Tarikh berakhir yang tak sah"
@@ -1680,26 +1708,15 @@ msgstr "Tarikh berakhir yang tak sah"
msgid "Invalid format %s specified."
msgstr "Format dinyatakan %s salah"
-#: perllib/FixMyStreet/App/Controller/Report.pm:398
+#: perllib/FixMyStreet/App/Controller/Report.pm:409
msgid "Invalid location. New location must be covered by the same council."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1498
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1603
msgid "Invalid start date"
msgstr "Tarikh mula yang tak sah"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:7
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:4
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Investigating"
-msgstr "Dalam siasatan"
-
-#: templates/web/base/contact/blurb.html:8
+#: templates/web/base/contact/blurb.html:2
msgid "It's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there."
msgstr ""
@@ -1707,37 +1724,59 @@ msgstr ""
msgid "It’s on its way to the council right now."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:177
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:182
msgid "Jurisdiction Unknown"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:15
msgid "Jurisdiction unknown"
msgstr ""
-#: templates/web/base/auth/general.html:91
+#: templates/web/base/auth/general.html:93
#: templates/web/base/report/new/form_user_loggedout_password.html:16
#: templates/web/base/report/update/form_user_loggedout_password.html:15
#: templates/web/zurich/auth/general.html:40
msgid "Keep me signed in on this computer"
msgstr "Teruskan log masuk aku dalam komputer ini"
+#: templates/web/base/admin/extra-metadata-form.html:61
+msgid "Key"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:9
+#: templates/web/base/admin/states/index.html:95
+msgid "Label"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:6
+#: templates/web/base/admin/reportextrafields/edit.html:45
+msgid "Language"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/index.html:8
+msgid "Languages"
+msgstr ""
+
#: templates/web/base/dashboard/index.html:50
msgid "Last 4 weeks"
msgstr ""
#: templates/web/base/dashboard/index.html:49
-#, fuzzy
+#: templates/web/base/reports/index.html:38
msgid "Last 7 days"
-msgstr "Kemas kini terakhir:"
+msgstr ""
#: templates/web/base/admin/body.html:74
#: templates/web/zurich/admin/body.html:16
msgid "Last editor"
msgstr "Editor terakhir"
+#: templates/web/base/questionnaire/index.html:25
+msgid "Last update"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:89
msgid "Last update:"
msgstr "Kemas kini terakhir:"
@@ -1746,23 +1785,27 @@ msgstr "Kemas kini terakhir:"
msgid "Last&nbsp;update:"
msgstr "Kemas kini terakhir:"
-#: templates/web/base/report/_inspect.html:20
-#: templates/web/base/report/_item.html:86
+#: templates/web/base/report/_inspect.html:30
+#: templates/web/base/report/_item.html:88
msgid "Latitude/Longitude:"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:50
+#: templates/web/base/reports/_list-filters.html:61
msgid "Least recently updated"
msgstr ""
-#: templates/web/base/admin/body-form.html:127
+#: templates/web/base/admin/body-form.html:129
msgid "Leave this blank if all reports to this body should be sent using the same send method (e.g., \"%s\")."
msgstr ""
-#: templates/web/base/dashboard/index.html:150
+#: templates/web/base/dashboard/index.html:151
msgid "Less than 7 days old"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:47
+msgid "List"
+msgstr ""
+
#: templates/web/base/admin/body.html:31
msgid "List all reported problems"
msgstr "Senaraikan semua laporan masalah"
@@ -1793,23 +1836,23 @@ msgstr "Pemberitahuan tempatan"
msgid "Locate the problem on a map of the area"
msgstr "Mengesan masalah dalam kawasan atas peta"
-#: templates/web/base/auth/general.html:22
+#: templates/web/base/auth/general.html:24
#: templates/web/base/report/new/form_user_loggedout.html:6
#: templates/web/base/report/update/form_user_loggedout.html:7
msgid "Log in with Facebook"
msgstr ""
-#: templates/web/base/auth/general.html:30
+#: templates/web/base/auth/general.html:32
#: templates/web/base/report/new/form_user_loggedout.html:14
#: templates/web/base/report/update/form_user_loggedout.html:15
msgid "Log in with Twitter"
msgstr ""
-#: templates/web/base/js/translation_strings.html:59
+#: templates/web/base/js/translation_strings.html:62
msgid "Log in with email"
msgstr ""
-#: templates/web/base/dashboard/index.html:145
+#: templates/web/base/dashboard/index.html:146
#: templates/web/base/dashboard/index.html:38
msgid "Look up"
msgstr ""
@@ -1818,11 +1861,11 @@ msgstr ""
msgid "MAP"
msgstr "PETA"
-#: perllib/FixMyStreet/Cobrand/Default.pm:712
+#: perllib/FixMyStreet/Cobrand/Default.pm:716
msgid "Manage shortlist"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:45
+#: templates/web/base/reports/_list-filters.html:56
msgid "Manual order"
msgstr ""
@@ -1838,19 +1881,11 @@ msgstr ""
msgid "Mark users whose behaviour you want to keep a check on as <strong>flagged</strong>."
msgstr ""
-#: templates/web/base/reports/index.html:27
-msgid "Marked fixed/closed in the past eight weeks"
-msgstr ""
-
-#: templates/web/base/reports/index.html:28
-msgid "Marked fixed/closed more than eight weeks ago"
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/Default.pm:710
+#: perllib/FixMyStreet/Cobrand/Default.pm:714
msgid "Markup problem details"
msgstr ""
-#: templates/web/base/contact/index.html:96
+#: templates/web/base/contact/index.html:100
msgid "Message"
msgstr "Pesanan"
@@ -1870,68 +1905,69 @@ msgstr ""
msgid "Missing jurisdiction_id"
msgstr "Kehilangan jurisdiction_id"
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:706
+#: perllib/FixMyStreet/Cobrand/Default.pm:710
msgid "Moderate report details"
msgstr ""
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate this report"
msgstr ""
#: templates/web/base/report/update.html:12
-#, fuzzy
msgid "Moderate this update"
-msgstr "Dipostkan oleh %s pada %s"
+msgstr ""
-#: templates/web/base/report/_main.html:69
-#: templates/web/base/report/update.html:49
-#, fuzzy
+#: templates/web/base/report/_main.html:73
+#: templates/web/base/report/update.html:58
msgid "Moderated by %s at %s"
-msgstr "Dipostkan oleh %s pada %s"
+msgstr ""
#: templates/web/zurich/admin/stats.html:34
msgid "Moderated by division within one working day"
msgstr ""
-#: templates/web/base/report/_main.html:109
-#: templates/web/base/report/update.html:57
-#, fuzzy
+#: templates/web/base/report/_main.html:113
+#: templates/web/base/report/update.html:66
msgid "Moderation reason:"
-msgstr "kawasan lain:"
+msgstr ""
#: templates/web/base/admin/stats.html:11
msgid "Month"
msgstr "Bulan"
-#: templates/web/base/reports/_list-filters.html:51
+#: templates/web/base/reports/_list-filters.html:62
msgid "Most commented"
msgstr ""
#: templates/web/base/admin/bodies.html:25
#: templates/web/base/admin/body-form.html:24
+#: templates/web/base/admin/extra-metadata-form.html:65
#: templates/web/base/admin/flagged.html:16
#: templates/web/base/admin/flagged.html:37
#: templates/web/base/admin/index.html:62
#: templates/web/base/admin/list_updates.html:7
+#: templates/web/base/admin/reportextrafields/edit.html:11
+#: templates/web/base/admin/reportextrafields/index.html:6
#: templates/web/base/admin/reports.html:14
#: templates/web/base/admin/responsepriorities/list.html:6
+#: templates/web/base/admin/states/index.html:108
+#: templates/web/base/admin/states/index.html:11
#: templates/web/base/admin/users.html:16
-#: templates/web/base/auth/general.html:106
-#: templates/web/base/report/new/form_user_loggedin.html:40
+#: templates/web/base/auth/general.html:108
+#: templates/web/base/report/new/form_user_loggedin.html:42
#: templates/web/base/report/new/form_user_loggedout_by_email.html:7
-#: templates/web/base/report/update/form_name.html:23
-#: templates/web/base/reports/index.html:23
+#: templates/web/base/report/update/form_name.html:27
#: templates/web/zurich/admin/body-form.html:4
#: templates/web/zurich/auth/general.html:60
#: templates/web/zurich/report/new/fill_in_details_form.html:59
msgid "Name"
msgstr "Nama"
-#: templates/web/base/admin/report_edit.html:139
+#: templates/web/base/admin/report_edit.html:127
#: templates/web/base/admin/responsepriorities/edit.html:13
#: templates/web/base/admin/update_edit.html:34
#: templates/web/base/admin/user-form.html:16
@@ -1943,7 +1979,7 @@ msgstr "Nama:"
msgid "Name: %s"
msgstr "Nama: %s"
-#: templates/web/base/report/_inspect.html:28
+#: templates/web/base/report/_inspect.html:38
msgid "Navigate to this problem"
msgstr ""
@@ -1952,34 +1988,38 @@ msgstr ""
msgid "Nearest named road to the pin placed on the map (automatically generated using OpenStreetMap): %s%s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:129
+#: perllib/FixMyStreet/Cobrand/UK.pm:134
msgid "Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:527
-#: perllib/FixMyStreet/Cobrand/Default.pm:567
+#: perllib/FixMyStreet/Cobrand/Default.pm:538
+#: perllib/FixMyStreet/Cobrand/Default.pm:566
msgid "Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"
msgstr ""
-#: perllib/FixMyStreet/Script/Alerts.pm:319
+#: perllib/FixMyStreet/Script/Alerts.pm:316
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s\n"
"\n"
msgstr ""
-#: templates/web/base/auth/token.html:17 templates/web/base/email_sent.html:5
+#: templates/web/base/auth/token.html:18
+msgid "Nearly done!"
+msgstr ""
+
+#: templates/web/base/auth/token.html:22 templates/web/base/email_sent.html:5
msgid "Nearly done! Now check your email&hellip;"
msgstr ""
-#: templates/web/base/reports/index.html:24
-msgid "New <br>problems"
-msgstr "Masalah<br>baru"
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:131
+msgid "New"
+msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:259
+#: perllib/FixMyStreet/App/Controller/Admin.pm:262
msgid "New body added"
msgstr "Badan baru ditambahi"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:405
+#: perllib/FixMyStreet/App/Controller/Admin.pm:386
msgid "New category contact added"
msgstr "Kategori hubungan baru ditambahi"
@@ -2005,7 +2045,7 @@ msgid "New password:"
msgstr ""
#: templates/web/base/admin/responsepriorities/edit.html:4
-#: templates/web/base/admin/responsepriorities/list.html:32
+#: templates/web/base/admin/responsepriorities/list.html:34
msgid "New priority"
msgstr ""
@@ -2034,6 +2074,7 @@ msgid "New reports"
msgstr "Laporan baru"
#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/states/index.html:91
msgid "New state"
msgstr "Negeri baru"
@@ -2043,7 +2084,7 @@ msgstr "Negeri baru"
msgid "New template"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:47
+#: templates/web/base/reports/_list-filters.html:58
msgid "Newest"
msgstr ""
@@ -2051,20 +2092,19 @@ msgstr ""
msgid "Next"
msgstr "Seterusnya"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1203
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
+#: perllib/FixMyStreet/Cobrand/Default.pm:1237
#: templates/web/base/admin/category_edit.html:4
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:137
+#: templates/web/base/admin/report_edit.html:125
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:26
#: templates/web/base/questionnaire/creator_fixed.html:16
#: templates/web/base/questionnaire/index.html:106
#: templates/web/base/questionnaire/index.html:55
+#: templates/web/base/report/_inspect.html:92
msgid "No"
msgstr "Tidak"
@@ -2080,7 +2120,7 @@ msgstr "Tiada badan"
msgid "No council"
msgstr "Tiada majlis"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:445
+#: perllib/FixMyStreet/DB/Result/Problem.pm:372
msgid "No council selected"
msgstr "Tiada majlis dipilihi"
@@ -2096,25 +2136,16 @@ msgstr "Belum ada masalah yang ditanda."
msgid "No flagged users found."
msgstr "Belum ada pengguna yang ditanda."
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:14
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:8
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "No further action"
-msgstr "Tidak dapat diselesai"
-
#: templates/web/zurich/admin/report_edit-sdm.html:125
#: templates/web/zurich/admin/report_edit.html:259
msgid "No further updates"
msgstr "Tiada kemaskini baru."
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:84
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:68
msgid "No inspections by that inspector in the selected date range."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:86
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:70
msgid "No inspections in the selected date range."
msgstr ""
@@ -2122,8 +2153,8 @@ msgstr ""
msgid "No result returned"
msgstr "Tiada keputusan."
-#: templates/web/base/admin/body-form.html:66
-#: templates/web/base/admin/body-form.html:67
+#: templates/web/base/admin/body-form.html:68
+#: templates/web/base/admin/body-form.html:69
msgid ""
"No specific areas are currently available, because the <code>MAPIT_URL</code> in\n"
" your config file is not pointing to a live MapIt service."
@@ -2156,17 +2187,8 @@ msgid ""
" activity across their body), the ability to hide reports or set special report statuses."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:9
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "Not Responsible"
-msgstr "Tidak Bertanggungjawab"
-
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:181
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:186
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:933
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:13
msgid "Not contactable"
@@ -2185,7 +2207,7 @@ msgid "Not reported to council"
msgstr "Tidak dilaporkan kepada majlis"
#: templates/web/base/admin/body.html:75
-#: templates/web/base/admin/category_edit.html:57
+#: templates/web/base/admin/category_edit.html:31
#: templates/web/zurich/admin/body.html:17
msgid "Note"
msgstr "Nota"
@@ -2195,7 +2217,7 @@ msgid "Note that when including unconfirmed reports we use the date the report w
msgstr ""
#: templates/web/zurich/admin/body.html:55
-#: templates/web/zurich/admin/contact-form.html:17
+#: templates/web/zurich/admin/contact-form.html:19
msgid "Note:"
msgstr "ta:"
@@ -2207,6 +2229,10 @@ msgstr "Nota: <strong>%s</strong>"
msgid "Notes from SDM to DM"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:26
+msgid "Notice"
+msgstr ""
+
#: templates/web/base/report/new/oauth_email_form.html:17
msgid "Now to submit your report&hellip;"
msgstr ""
@@ -2217,65 +2243,43 @@ msgstr ""
msgid "Now to submit your update&hellip;"
msgstr "Hantarkan kemas kini anda sekarang&hellip;"
+#: templates/web/base/reports/index.html:98
+msgid "Number of problems reported in each category, in the last 7 days."
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:43
msgid "OK"
msgstr "OK"
-#: templates/web/base/js/translation_strings.html:67
+#: templates/web/base/js/translation_strings.html:70
msgid "Offline data cleared"
msgstr ""
-#: templates/web/base/js/translation_strings.html:64
+#: templates/web/base/js/translation_strings.html:67
msgid "Offline update data saved"
msgstr ""
-#: templates/web/base/reports/index.html:26
-msgid "Old / unknown <br>problems"
-msgstr ""
-"Masalah <br>\n"
-"Lama/tidak diketahui"
-
#: templates/web/base/admin/questionnaire.html:24
msgid "Old state"
msgstr "Keadaan lama"
-#: templates/web/base/reports/index.html:28
-msgid "Older <br>fixed"
-msgstr "Lebih tua<br>diselesai"
-
-#: templates/web/base/reports/index.html:25
-msgid "Older <br>problems"
-msgstr "Lebih tua <br>masalah"
-
-#: templates/web/base/reports/_list-filters.html:48
+#: templates/web/base/reports/_list-filters.html:59
msgid "Oldest"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:900
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:25
-#: templates/web/base/admin/report_blocks.html:6
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:905
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:10
+#: templates/web/base/admin/states/index.html:102
+#: templates/web/base/admin/states/index.html:25
+#: templates/web/base/admin/states/index.html:32
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:3
-#: templates/web/base/report/update/form_update.html:41
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:7
#: templates/web/zurich/admin/update_edit.html:18
msgid "Open"
msgstr "Terbuka"
-#: templates/web/base/reports/index.html:25
-msgid "Open for more than four weeks, with an update within the past eight weeks"
-msgstr ""
-
-#: templates/web/base/reports/index.html:26
-msgid "Open, but not had any update in eight weeks"
-msgstr ""
-
#: templates/web/base/admin/open311-form-fields.html:47
msgid "Open311 API Key"
msgstr ""
@@ -2296,26 +2300,38 @@ msgstr "Laman web inisiatif Open311"
msgid "Open311 specification"
msgstr "Spesifikasi Open311"
-#: templates/web/base/alert/_list.html:61
-msgid "Or problems reported to:"
-msgstr "Atau masalah dilaporkan kepada:"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "Options"
+msgstr ""
-#: templates/web/base/alert/_list.html:37
-msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
+#: templates/web/base/alert/_list.html:84
+msgid "Or subscribe by RSS"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:1061
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:659
-#: perllib/FixMyStreet/DB/Result/Problem.pm:642
-#: perllib/FixMyStreet/DB/Result/Problem.pm:649
-#: perllib/FixMyStreet/DB/Result/Problem.pm:664
-#: perllib/FixMyStreet/DB/Result/Problem.pm:673
+#: templates/web/base/admin/extra-metadata-form.html:8
+msgid "Order"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1107
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:675
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:676
+#: perllib/FixMyStreet/DB/Result/Problem.pm:579
+#: perllib/FixMyStreet/DB/Result/Problem.pm:586
+#: perllib/FixMyStreet/DB/Result/Problem.pm:601
+#: perllib/FixMyStreet/DB/Result/Problem.pm:610
#: perllib/FixMyStreet/Script/Reports.pm:183
#: perllib/FixMyStreet/Script/Reports.pm:198
msgid "Other"
msgstr "Lain-lain"
+#: templates/web/base/reports/index.html:107
+msgid "Other categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:92
+msgid "Overall average"
+msgstr ""
+
#: templates/web/base/admin/list_updates.html:8
msgid "Owner"
msgstr "Pemilik"
@@ -2325,17 +2341,16 @@ msgstr "Pemilik"
msgid "Page Not Found"
msgstr "Laman Tidak Dijumpai"
-#: templates/web/base/admin/body-form.html:37
+#: templates/web/base/admin/body-form.html:39
#: templates/web/zurich/admin/body-form.html:14
msgid "Parent"
msgstr "Induk"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:20
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:61
msgid "Partial"
msgstr "Separa"
-#: templates/web/base/auth/general.html:109
+#: templates/web/base/auth/general.html:111
#: templates/web/base/report/new/form_user_loggedout_by_email.html:28
#: templates/web/base/report/update/form_user_loggedout_by_email.html:6
#: templates/web/zurich/auth/general.html:32
@@ -2343,7 +2358,7 @@ msgstr "Separa"
msgid "Password (optional)"
msgstr "Kata Laluan (tidah diwajibkan)"
-#: templates/web/base/auth/general.html:82
+#: templates/web/base/auth/general.html:84
msgid "Password:"
msgstr "Kata Laluan:"
@@ -2355,17 +2370,21 @@ msgstr "Permalink"
msgid "Permissions:"
msgstr ""
+#: templates/web/base/report/_inspect.html:19
+msgid "Phone Reporter:"
+msgstr ""
+
#: templates/web/zurich/report/new/fill_in_details_form.html:65
msgid "Phone number"
msgstr "Nombor telefon"
-#: templates/web/base/report/new/form_user_loggedin.html:57
+#: templates/web/base/report/new/form_user_loggedin.html:59
#: templates/web/base/report/new/form_user_loggedout_by_email.html:25
msgid "Phone number (optional)"
msgstr "Nombor telefon (tidak diwajibkan)"
#: perllib/FixMyStreet/Script/Reports.pm:87
-#: templates/web/base/admin/report_edit.html:146
+#: templates/web/base/admin/report_edit.html:134
#: templates/web/base/admin/user-form.html:21
#: templates/web/zurich/admin/stats.html:39
msgid "Phone:"
@@ -2374,9 +2393,9 @@ msgstr "Telefon:"
#: templates/web/base/questionnaire/index.html:78
#: templates/web/base/questionnaire/index.html:93
#: templates/web/base/questionnaire/index.html:95
-#: templates/web/base/report/new/form_report.html:28
-#: templates/web/base/report/new/form_report.html:43
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/new/form_report.html:45
+#: templates/web/base/report/new/form_report.html:47
#: templates/web/base/report/update/form_update.html:22
#: templates/web/base/report/update/form_update.html:24
#: templates/web/base/report/update/form_update.html:7
@@ -2394,12 +2413,12 @@ msgstr "Foto"
msgid "Photo is required."
msgstr ""
-#: templates/web/zurich/admin/contact-form.html:14
+#: templates/web/zurich/admin/contact-form.html:16
msgid "Photo required"
msgstr ""
#: templates/web/base/questionnaire/index.html:78
-#: templates/web/base/report/new/form_report.html:28
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/update/form_update.html:7
#: templates/web/zurich/report/new/fill_in_details_form.html:20
msgid "Photos"
@@ -2409,17 +2428,18 @@ msgstr ""
msgid "Photos of recent nearby reports"
msgstr "Foto laporan terdekat baru-baru ini "
+#: templates/web/base/reports/index.html:63
+#: templates/web/base/reports/index.html:66
+msgid "Pick your council"
+msgstr ""
+
#: templates/web/base/around/display_location.html:76
#: templates/web/base/js/translation_strings.html:30
msgid "Place pin on map"
msgstr "Letakkan pin atas peta"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:940
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:946
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:8
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:945
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:951
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:9
#: templates/web/zurich/admin/index-dm.html:9
@@ -2437,31 +2457,27 @@ msgstr "Sila periksa kata laluan dan cuba lagi"
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:18
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:43
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:45
#: templates/web/zurich/auth/general.html:3
#: templates/web/zurich/auth/general.html:9
msgid "Please check your email address is correct"
msgstr "Sila periksa sama ada alamat emel anda adalah betul"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:350
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:844
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:867
-#: perllib/FixMyStreet/DB/Result/Problem.pm:456
+#: perllib/FixMyStreet/App/Controller/Admin.pm:329
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:873
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:896
+#: perllib/FixMyStreet/DB/Result/Problem.pm:383
#: templates/web/base/js/translation_strings.html:9
msgid "Please choose a category"
msgstr "Sila pilihkan kategori"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:462
-msgid "Please choose a property type"
-msgstr "Sila pilihkan jenis bangunan"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:396
+#: perllib/FixMyStreet/App/Controller/Admin.pm:377
#: templates/web/base/admin/bodies.html:4 templates/web/base/admin/body.html:11
msgid "Please correct the errors below"
msgstr ""
-#: templates/web/base/contact/blurb.html:12
+#: templates/web/base/contact/blurb.html:6
msgid ""
"Please do <strong>not</strong> report problems through this form; messages go to\n"
"the team behind this site, not a council. To report a problem,\n"
@@ -2472,18 +2488,18 @@ msgstr ""
msgid "Please do not be abusive&nbsp;&mdash; abusing your council devalues the service for all users."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:351
-#: perllib/FixMyStreet/DB/Result/Comment.pm:127
+#: perllib/FixMyStreet/App/Controller/Admin.pm:330
+#: perllib/FixMyStreet/DB/Result/Comment.pm:128
#: templates/web/base/js/translation_strings.html:2
msgid "Please enter a message"
msgstr "Sila masukkan pesanan"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1200
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1364
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1305
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1469
msgid "Please enter a name"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:478
+#: perllib/FixMyStreet/App/Controller/Admin.pm:497
msgid "Please enter a name for this body"
msgstr ""
@@ -2493,15 +2509,15 @@ msgstr ""
msgid "Please enter a password"
msgstr "Sila masukkan kata laluan"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:114
-#: perllib/FixMyStreet/DB/Result/Problem.pm:439
+#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/DB/Result/Problem.pm:366
#: templates/web/base/js/translation_strings.html:3
msgid "Please enter a subject"
msgstr "Sila masukkan tajuk"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1197
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1361
-#: perllib/FixMyStreet/App/Controller/Admin.pm:363
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1302
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1466
+#: perllib/FixMyStreet/App/Controller/Admin.pm:343
#: perllib/FixMyStreet/DB/Result/User.pm:164
#: templates/web/base/js/translation_strings.html:12
#: templates/web/base/js/translation_strings.html:16
@@ -2509,21 +2525,21 @@ msgid "Please enter a valid email"
msgstr "Silah masukkan emel yang benar"
#: perllib/FixMyStreet/App/Controller/Alert.pm:350
-#: perllib/FixMyStreet/App/Controller/Contact.pm:124
+#: perllib/FixMyStreet/App/Controller/Contact.pm:125
msgid "Please enter a valid email address"
msgstr "Sila masukkan alamat emel yang benah"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:442
+#: perllib/FixMyStreet/DB/Result/Problem.pm:369
#: templates/web/base/js/translation_strings.html:4
msgid "Please enter some details"
msgstr "Sila masukkan perincian"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/App/Controller/Contact.pm:114
#: perllib/FixMyStreet/DB/Result/User.pm:161
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:17
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:42
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:44
#: templates/web/base/js/translation_strings.html:11
#: templates/web/base/js/translation_strings.html:15
#: templates/web/zurich/auth/general.html:3
@@ -2540,14 +2556,14 @@ msgstr "Sila masukkan alamat emel anda"
msgid "Please enter your first name"
msgstr "Sila masukkan nama pertama anda"
-#: perllib/FixMyStreet/Cobrand/UK.pm:320
+#: perllib/FixMyStreet/Cobrand/UK.pm:326
#: templates/web/base/js/translation_strings.html:7
msgid "Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below"
msgstr "Sila masukkan nama penuh anda, majlis memerlukan maklumat ini - Jika anda tidak ingin nama anda dikemukakan dalam laman, untik kota dibawah"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:112
-#: perllib/FixMyStreet/DB/Result/Comment.pm:124
-#: perllib/FixMyStreet/DB/Result/Problem.pm:450
+#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/DB/Result/Comment.pm:125
+#: perllib/FixMyStreet/DB/Result/Problem.pm:377
#: perllib/FixMyStreet/DB/Result/User.pm:157
#: templates/web/base/js/translation_strings.html:6
msgid "Please enter your name"
@@ -2610,7 +2626,7 @@ msgstr ""
msgid "Please note:"
msgstr "Sila nota:"
-#: perllib/FixMyStreet/App/Controller/Report.pm:358
+#: perllib/FixMyStreet/App/Controller/Report.pm:353
msgid "Please provide a public update for this report."
msgstr ""
@@ -2646,11 +2662,11 @@ msgstr ""
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:122
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:156
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:158
-#: templates/web/base/js/translation_strings.html:57
+#: templates/web/base/js/translation_strings.html:60
msgid "Please upload an image only"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/App/Controller/Contact.pm:116
msgid "Please write a message"
msgstr "Sila tuliskan pesanan"
@@ -2658,30 +2674,29 @@ msgstr "Sila tuliskan pesanan"
msgid "Please write your update here"
msgstr "Sila tuliskan kemas kini anda di sini"
-#: templates/web/base/contact/index.html:103
#: templates/web/base/report/update-form.html:25
#: templates/web/base/report/update/form_user_loggedout_by_email.html:14
#: templates/web/base/report/update/form_user_loggedout_password.html:10
msgid "Post"
msgstr "Post"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:242
+#: perllib/FixMyStreet/DB/Result/Comment.pm:231
msgid "Posted anonymously at %s"
msgstr "Post tanpa nama pada %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:257
+#: perllib/FixMyStreet/DB/Result/Comment.pm:255
msgid "Posted by %s at %s"
msgstr "Dipostkan oleh %s pada %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:252
+#: perllib/FixMyStreet/DB/Result/Comment.pm:243
msgid "Posted by <strong>%s</strong> (%s) at %s"
msgstr "Dipostkan oleh <strong>%s</strong> (%s) pada %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:254
+#: perllib/FixMyStreet/DB/Result/Comment.pm:245
msgid "Posted by <strong>%s</strong> at %s"
msgstr "Dipostkan oleh <strong>%s</strong> pada %s"
-#: templates/web/base/front/footer-marketing.html:12
+#: templates/web/base/front/footer-marketing.html:6
msgid "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
msgstr ""
@@ -2693,8 +2708,8 @@ msgstr "Sebelumnya"
msgid "Priorities"
msgstr ""
-#: templates/web/base/report/_inspect.html:113
-#: templates/web/base/report/_item.html:98
+#: templates/web/base/report/_inspect.html:123
+#: templates/web/base/report/_item.html:100
msgid "Priority"
msgstr ""
@@ -2708,16 +2723,15 @@ msgstr ""
msgid "Privacy and cookies"
msgstr ""
-#: templates/web/base/admin/body.html:91
-#: templates/web/base/admin/contact-form.html:74
-#: templates/web/base/admin/report_edit.html:149
+#: templates/web/base/admin/body.html:88
+#: templates/web/base/admin/contact-form.html:75
+#: templates/web/base/admin/report_edit.html:137
msgid "Private"
msgstr "Peribadi"
#: templates/web/base/report/new/form_user.html:1
-#, fuzzy
msgid "Private details"
-msgstr "Peribadi"
+msgstr ""
#: templates/web/base/maps/pin.html:13
msgid "Problem"
@@ -2741,7 +2755,7 @@ msgstr "Masalah %s dihantar kepada majlis %s"
msgid "Problem breakdown by state"
msgstr "Pecahan masalah bagi negeri"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1167
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1272
msgid "Problem marked as open."
msgstr "Masalah ditanda sebagai terbukan"
@@ -2749,11 +2763,16 @@ msgstr "Masalah ditanda sebagai terbukan"
msgid "Problem state change based on survey results"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:705
+#: perllib/FixMyStreet/Cobrand/Default.pm:709
#: templates/web/base/admin/flagged.html:10
msgid "Problems"
msgstr "Masalah-masalah"
+#: templates/web/base/alert/_list.html:22
+#, fuzzy
+msgid "Problems in an area"
+msgstr "Masalah dalam kawasan pentadbiran %s"
+
#: templates/web/base/report/display_tools.html:22
msgid "Problems nearby"
msgstr "Masalah terdekat"
@@ -2766,30 +2785,33 @@ msgstr "Masalah atas peta"
msgid "Problems recently reported fixed on FixMyStreet"
msgstr "Masalah yang dilaporkan diselesai pada FixMyStreet baru-baru ini"
-#: templates/web/base/alert/_list.html:22
-msgid "Problems within %.1fkm of this location"
+#: templates/web/base/alert/_list.html:29
+#, fuzzy
+msgid "Problems within %.1fkm of %s"
msgstr "Masalah dalam %.1fkm dalam lokasi ini"
-#: perllib/FixMyStreet/Cobrand/Default.pm:833
+#: perllib/FixMyStreet/Cobrand/Default.pm:838
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:137
-#: perllib/FixMyStreet/Cobrand/UK.pm:209
+#: perllib/FixMyStreet/Cobrand/UK.pm:215 perllib/FixMyStreet/Cobrand/UK.pm:257
+#: perllib/FixMyStreet/Cobrand/UK.pm:269
msgid "Problems within %s"
msgstr "Masalah dalam %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:223
+#: perllib/FixMyStreet/Cobrand/UK.pm:229
msgid "Problems within %s ward"
msgstr "Masalah dalam kawasan pentadbiran %s"
+#: perllib/FixMyStreet/Cobrand/UK.pm:263 perllib/FixMyStreet/Cobrand/UK.pm:275
+#, fuzzy
+msgid "Problems within %s ward, %s"
+msgstr "Masalah dalam kawasan pentadbiran %s"
+
#. ("First %s is the body name, second %s the site name")
#: templates/web/base/reports/body.html:0
#: templates/web/base/reports/body.html:25
msgid "Problems within %s, %s"
msgstr ""
-#: templates/web/base/alert/_list.html:43
-msgid "Problems within the boundary of:"
-msgstr "Masalah dalam sempadan"
-
#: templates/web/base/admin/report_edit.html:74
msgid "Property address:"
msgstr "Alamat bangunan"
@@ -2799,11 +2821,11 @@ msgstr "Alamat bangunan"
msgid "Provide an update"
msgstr "Sediakan kemas kini"
-#: templates/web/base/report/update/form_name.html:9
+#: templates/web/base/report/update/form_name.html:10
msgid "Provide update as"
msgstr ""
-#: templates/web/base/auth/general.html:112
+#: templates/web/base/auth/general.html:114
msgid "Providing a name and password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
msgstr ""
@@ -2813,16 +2835,15 @@ msgid "Providing a password is optional, but doing so will allow you to more eas
msgstr ""
#: templates/web/base/report/new/form_report.html:10
-#, fuzzy
msgid "Public details"
-msgstr "Tindak balas awam:"
+msgstr ""
#: templates/web/zurich/admin/report_edit.html:241
#: templates/web/zurich/admin/report_edit.html:268
msgid "Public response:"
msgstr "Tindak balas awam:"
-#: templates/web/base/report/_inspect.html:152
+#: templates/web/base/report/_inspect.html:162
msgid "Public update:"
msgstr ""
@@ -2850,7 +2871,7 @@ msgstr "Soalan selidik %d dihantar untuk masalah %d"
msgid "Questionnaire filled in by problem reporter"
msgstr "Soalan selidik diisikan oleh pelapor masalah"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
#: templates/web/base/alert/updates.html:9
#: templates/web/base/around/display_location.html:1
#: templates/web/base/around/display_location.html:3
@@ -2858,11 +2879,11 @@ msgstr "Soalan selidik diisikan oleh pelapor masalah"
msgid "RSS feed"
msgstr "Feed RSS"
-#: perllib/FixMyStreet/Cobrand/UK.pm:252 perllib/FixMyStreet/Cobrand/UK.pm:264
+#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
msgid "RSS feed for %s"
msgstr "Feed RSS untuk %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
+#: perllib/FixMyStreet/Cobrand/UK.pm:264 perllib/FixMyStreet/Cobrand/UK.pm:276
msgid "RSS feed for %s ward, %s"
msgstr "Feed RSS untuk kawasan pentadbiran %s, %s"
@@ -2870,25 +2891,25 @@ msgstr "Feed RSS untuk kawasan pentadbiran %s, %s"
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:179
-#: perllib/FixMyStreet/Cobrand/UK.pm:278 perllib/FixMyStreet/Cobrand/UK.pm:290
+#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
msgid "RSS feed of %s"
msgstr "Feed RSS untuk %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
msgid "RSS feed of %s, within %s ward"
msgstr "Feed RSS untuk %s, dalam kawasan pentadbiran %s"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
msgid "RSS feed of nearby problems"
msgstr "Feed RSS untuk masalah berdekatan"
-#: perllib/FixMyStreet/Cobrand/Default.pm:834
+#: perllib/FixMyStreet/Cobrand/Default.pm:839
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:136
-#: perllib/FixMyStreet/Cobrand/UK.pm:216
+#: perllib/FixMyStreet/Cobrand/UK.pm:222
msgid "RSS feed of problems within %s"
msgstr "Feed RSS untuk masalah dalam %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:222
+#: perllib/FixMyStreet/Cobrand/UK.pm:228
msgid "RSS feed of problems within %s ward"
msgstr "Feed RSS untuk masalah dalam kawasan pentadbiran %s"
@@ -2907,7 +2928,7 @@ msgstr "Feed RSS untuk kemas kini bagi masalah ini"
msgid "Receive email when updates are left on this problem."
msgstr "Terima emel semasa kemas kini ditinggalkan bagi masalah ini"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:801
+#: perllib/FixMyStreet/DB/Result/Problem.pm:738
msgid "Received by %s moments later"
msgstr ""
@@ -2917,15 +2938,11 @@ msgstr ""
msgid "Recent local problems, %s"
msgstr ""
-#: templates/web/base/reports/index.html:27
-msgid "Recently <br>fixed"
-msgstr "Diselesai <br>baru-baru ini"
-
#: templates/web/base/front/recent.html:11
msgid "Recently reported problems"
msgstr "Masalah yang dilaporkan baru-baru ini"
-#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:60
msgid "Recently updated"
msgstr ""
@@ -2933,13 +2950,21 @@ msgstr ""
msgid "Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. If your problem is not appropriate for submission via this site remember that you can contact your council directly using their own website."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/extra-metadata-form.html:68
+msgid "Remove"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:4
+msgid "Remove field"
+msgstr ""
+
+#: templates/web/base/admin/report_blocks.html:23
msgid "Remove flag"
msgstr ""
#: templates/web/base/report/_item.html:12
#: templates/web/base/report/_item.html:9
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:18
#: templates/web/base/report/_main.html:26
msgid "Remove from shortlist"
@@ -2949,7 +2974,7 @@ msgstr ""
msgid "Remove from site"
msgstr ""
-#: templates/web/base/admin/report_edit.html:166
+#: templates/web/base/admin/report_edit.html:154
#: templates/web/base/admin/update_edit.html:69
#: templates/web/zurich/admin/update_edit.html:35
msgid "Remove photo (can't be undone!)"
@@ -2963,13 +2988,13 @@ msgstr ""
msgid "Report"
msgstr ""
-#: templates/web/base/report/_inspect.html:10
-#: templates/web/base/report/_item.html:76
+#: templates/web/base/report/_inspect.html:14
+#: templates/web/base/report/_item.html:78
msgid "Report ID:"
msgstr ""
#: templates/web/base/header_logo.html:2
-#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:19
+#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:18
#: templates/web/zurich/nav_over_content.html:4
msgid "Report a problem"
msgstr ""
@@ -2979,7 +3004,7 @@ msgstr ""
msgid "Report abuse"
msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:16
+#: templates/web/base/report/new/form_user_loggedin.html:17
msgid "Report as"
msgstr ""
@@ -2988,9 +3013,8 @@ msgid "Report on %s"
msgstr ""
#: templates/web/base/dashboard/index.html:137
-#, fuzzy
msgid "Report state:"
-msgstr "Negeri baru"
+msgstr ""
#: templates/web/base/report/new/fill_in_details_form.html:1
#: templates/web/base/report/new/login_success_form.html:1
@@ -3003,7 +3027,7 @@ msgstr ""
msgid "Report, view, or discuss local problems"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:653
+#: perllib/FixMyStreet/DB/Result/Problem.pm:590
#: templates/web/base/contact/index.html:55
msgid "Reported anonymously at %s"
msgstr ""
@@ -3013,7 +3037,7 @@ msgstr ""
msgid "Reported before"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:677
+#: perllib/FixMyStreet/DB/Result/Problem.pm:614
#: templates/web/base/contact/index.html:57
msgid "Reported by %s at %s"
msgstr ""
@@ -3027,34 +3051,30 @@ msgstr ""
msgid "Reported in the %s category"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:650
+#: perllib/FixMyStreet/DB/Result/Problem.pm:587
msgid "Reported in the %s category anonymously at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:611
msgid "Reported in the %s category by %s at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:647
+#: perllib/FixMyStreet/DB/Result/Problem.pm:584
msgid "Reported via %s anonymously at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:671
+#: perllib/FixMyStreet/DB/Result/Problem.pm:608
msgid "Reported via %s by %s at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:644
+#: perllib/FixMyStreet/DB/Result/Problem.pm:581
msgid "Reported via %s in the %s category anonymously at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:666
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
msgid "Reported via %s in the %s category by %s at %s"
msgstr ""
-#: templates/web/base/reports/index.html:24
-msgid "Reported within the last four weeks"
-msgstr ""
-
#: templates/web/zurich/admin/report_edit-sdm.html:38
#: templates/web/zurich/admin/report_edit.html:57
msgid "Reported:"
@@ -3070,13 +3090,13 @@ msgid "Reporting a problem"
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:655
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:383
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:388
#: templates/web/base/dashboard/index.html:134
#: templates/web/zurich/header.html:52
msgid "Reports"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:329 perllib/FixMyStreet/Cobrand/UK.pm:333
+#: perllib/FixMyStreet/Cobrand/UK.pm:333 perllib/FixMyStreet/Cobrand/UK.pm:335
msgid "Reports are limited to %s characters in length. Please shorten your report"
msgstr ""
@@ -3084,30 +3104,51 @@ msgstr ""
msgid "Reports awaiting approval"
msgstr ""
+#: templates/web/base/alert/_list.html:54
+msgid "Reports by destination"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:107
msgid "Reports made by trusted users will be sent to the responsible body without being inspected first."
msgstr ""
+#: templates/web/base/alert/_list.html:15
+msgid "Reports near %s are sent to different councils, depending on the type of problem."
+msgstr ""
+
#: templates/web/zurich/admin/index-sdm.html:10
msgid "Reports published"
msgstr ""
-#: templates/web/base/js/translation_strings.html:68
+#: templates/web/base/js/translation_strings.html:71
msgid "Reports saved offline."
msgstr ""
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+msgid "Reports sent to %s"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:290 perllib/FixMyStreet/Cobrand/UK.pm:302
+#, fuzzy
+msgid "Reports sent to %s, within %s ward"
+msgstr "Feed RSS untuk %s, dalam kawasan pentadbiran %s"
+
#: templates/web/base/admin/index.html:56
msgid "Reports waiting to be sent"
msgstr ""
-#: templates/web/base/admin/contact-form.html:89
+#: templates/web/base/admin/contact-form.html:90
msgid "Reports will automatically be sent without needing to be inspected if the user's <strong>reputation</strong> is at or above this value. Set to <strong>0</strong> if all reports must be inspected regardless."
msgstr ""
-#: templates/web/base/admin/contact-form.html:94
+#: templates/web/base/admin/contact-form.html:95
msgid "Reputation threshold"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:20
+msgid "Required"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:84
msgid "Resend report"
msgstr ""
@@ -3143,7 +3184,7 @@ msgstr ""
msgid "Revert to original"
msgstr ""
-#: templates/web/base/report/_main.html:95
+#: templates/web/base/report/_main.html:99
msgid "Revert to original text"
msgstr ""
@@ -3166,16 +3207,16 @@ msgstr ""
msgid "Road operator for this named road (from OpenStreetMap): %s"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1747
-#: templates/web/base/admin/report_edit.html:163
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1852
+#: templates/web/base/admin/report_edit.html:151
#: templates/web/base/admin/update_edit.html:66
#: templates/web/zurich/admin/report_edit.html:118
msgid "Rotate Left"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: templates/web/base/admin/report_edit.html:164
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: templates/web/base/admin/report_edit.html:152
#: templates/web/base/admin/update_edit.html:67
#: templates/web/zurich/admin/report_edit.html:119
msgid "Rotate Right"
@@ -3190,33 +3231,41 @@ msgstr ""
msgid "Satellite"
msgstr ""
-#: templates/web/base/report/_inspect.html:168
-#, fuzzy
+#: templates/web/base/report/_inspect.html:182
msgid "Save + close as duplicate"
-msgstr "ditanda sebagai laporan salinan"
+msgstr ""
-#: templates/web/base/admin/contact-form.html:137
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/contact-form.html:138
+#: templates/web/base/admin/reportextrafields/edit.html:64
+#: templates/web/base/admin/responsepriorities/edit.html:58
#: templates/web/base/admin/template_edit.html:46
-#: templates/web/base/report/_inspect.html:168
-#: templates/web/base/report/_main.html:113
-#: templates/web/base/report/update.html:60
+#: templates/web/base/report/_inspect.html:182
+#: templates/web/base/report/_main.html:117
+#: templates/web/base/report/update.html:69
#: templates/web/zurich/admin/body.html:62
-#: templates/web/zurich/admin/contact-form.html:20
+#: templates/web/zurich/admin/contact-form.html:22
#: templates/web/zurich/admin/template_edit.html:29
msgid "Save changes"
msgstr ""
-#: templates/web/base/report/_inspect.html:148
+#: templates/web/base/admin/reportextrafields/edit.html:64
+msgid "Save new fields"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:158
msgid "Save with a public update"
msgstr ""
-#. ('This is followed by a progress count, e.g. 3/5')
#. ("This is followed by a progress count, e.g. 3/5")
-#: templates/web/base/js/translation_strings.html:69
+#: templates/web/base/js/translation_strings.html:72
msgid "Saving reports offline"
msgstr ""
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:132
+#, fuzzy
+msgid "Scheduled"
+msgstr "Jadual tindakan"
+
#: templates/web/base/admin/index.html:26
#: templates/web/base/admin/reports.html:1
#: templates/web/zurich/admin/reports.html:1
@@ -3250,41 +3299,41 @@ msgstr ""
msgid "See our privacy policy"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:715
+#: perllib/FixMyStreet/Cobrand/Default.pm:720
msgid "See user detail for reports created as the council"
msgstr ""
-#: templates/web/base/admin/body-form.html:39
+#: templates/web/base/admin/body-form.html:41
#: templates/web/zurich/admin/body-form.html:16
msgid "Select a body"
msgstr "Pilihkan badan"
-#: templates/web/base/reports/index.html:12
-msgid "Select a particular council to see the reports sent there."
-msgstr ""
-
-#: templates/web/base/admin/body-form.html:77
+#: templates/web/base/admin/body-form.html:79
#: templates/web/zurich/admin/body-form.html:26
msgid "Select an area"
msgstr "Pilihkan kawasan"
-#: templates/web/base/alert/_list.html:11
-msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
+#: templates/web/base/admin/responsepriorities/edit.html:33
+msgid "Select if this is the default priority"
msgstr ""
#: templates/web/base/admin/category-checkboxes.html:6
msgid "Select:"
msgstr ""
+#: templates/web/base/contact/index.html:107
+msgid "Send"
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:109
msgid "Send extended Open311 statuses with service request updates"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:826
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:831
msgid "Sent report back"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:804
+#: perllib/FixMyStreet/DB/Result/Problem.pm:741
msgid "Sent to %s %s later"
msgstr "Dihantar kepada %s %s kemudian"
@@ -3297,7 +3346,7 @@ msgstr "Dihantar:"
msgid "Service:"
msgstr "Servis:"
-#: templates/web/base/report/_inspect.html:31
+#: templates/web/base/report/_inspect.html:41
msgid "Set to my current location"
msgstr ""
@@ -3306,49 +3355,56 @@ msgid "Share"
msgstr "Kongsi"
#: templates/web/base/main_nav_items.html:10
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:21
#: templates/web/base/report/_main.html:29
msgid "Shortlist"
msgstr ""
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/reports/body.html:32
+msgid "Shortlist all visible"
+msgstr ""
+
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:20
#: templates/web/base/report/_main.html:25
#: templates/web/base/reports/_list-filters.html:9
msgid "Shortlisted"
msgstr ""
-#: templates/web/base/report/_main.html:144
+#: templates/web/base/report/_item.html:15
+#: templates/web/base/report/_main.html:148
msgid "Shortlisted by %s"
msgstr ""
#: templates/web/base/report/update.html:20
-#, fuzzy
msgid "Show Photo?"
-msgstr "Tunjukkan lama"
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:26
+msgid "Show all updates"
+msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:54
+#: templates/web/base/report/new/form_user_loggedin.html:56
#: templates/web/base/report/new/form_user_loggedout_by_email.html:22
-#: templates/web/base/report/update/form_name.html:33
+#: templates/web/base/report/update/form_name.html:37
msgid "Show my name publicly"
msgstr "Tunjukkan nama aku secara umum"
#: templates/web/base/report/update.html:17
-#, fuzzy
msgid "Show name publicly?"
-msgstr "Tunjukkan nama aku secara umum"
+msgstr ""
#: templates/web/base/around/display_location.html:69
msgid "Show old"
msgstr "Tunjukkan lama"
-#: templates/web/base/report/_main.html:79
-#, fuzzy
+#: templates/web/base/report/_main.html:83
msgid "Show photo"
-msgstr "Tunjukkan lama"
+msgstr ""
#: templates/web/base/around/display_location.html:60
+#: templates/web/base/js/translation_strings.html:54
msgid "Show pins"
msgstr "Tunjukkan pin"
@@ -3356,16 +3412,20 @@ msgstr "Tunjukkan pin"
msgid "Show reporter&rsquo;s name"
msgstr ""
-#: templates/web/base/auth/general.html:117
+#: templates/web/base/reports/index.html:62
+msgid "Show reports in your area"
+msgstr ""
+
+#: templates/web/base/auth/general.html:119
#: templates/web/base/auth/general.html:3
-#: templates/web/base/auth/general.html:86
+#: templates/web/base/auth/general.html:88
#: templates/web/base/main_nav_items.html:6
#: templates/web/zurich/auth/general.html:18
#: templates/web/zurich/auth/general.html:35
msgid "Sign in"
msgstr "Log masuk"
-#: templates/web/base/auth/general.html:96
+#: templates/web/base/auth/general.html:98
msgid "Sign in by email instead, providing a new password. When you click the link in your email, your password will be updated."
msgstr ""
@@ -3411,14 +3471,14 @@ msgstr ""
msgid "Sorry, there has been an error confirming your problem."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:230
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:235
#: perllib/FixMyStreet/Geocode.pm:37 perllib/FixMyStreet/Geocode/Bing.pm:38
#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:56
#: perllib/FixMyStreet/Geocode/OSM.pm:48
msgid "Sorry, we could not find that location."
msgstr ""
-#: templates/web/base/auth/general.html:9
+#: templates/web/base/auth/general.html:11
#: templates/web/base/report/display.html:29
#: templates/web/base/report/new/fill_in_details_form.html:15
msgid "Sorry, we could not log you in. Please fill in the form below."
@@ -3440,11 +3500,11 @@ msgid ""
"page wasn’t found or there was a server error. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Root.pm:107
+#: perllib/FixMyStreet/App/Controller/Root.pm:124
msgid "Sorry, you don't have permission to do that."
msgstr ""
-#: templates/web/base/reports/_list-filters.html:42
+#: templates/web/base/reports/_list-filters.html:53
msgid "Sort by"
msgstr ""
@@ -3461,17 +3521,24 @@ msgid "Start Date:"
msgstr "Tarikh bermula:"
#: templates/web/base/admin/body.html:73
+#: templates/web/base/admin/category_edit.html:29
+#: templates/web/base/admin/contact-form.html:53
#: templates/web/base/admin/flagged.html:18
#: templates/web/base/admin/index.html:64
#: templates/web/base/admin/list_updates.html:11
#: templates/web/base/admin/reports.html:16
#: templates/web/base/admin/template_edit.html:40
-#: templates/web/base/report/_inspect.html:83
-#: templates/web/base/report/_item.html:94
+#: templates/web/base/report/_inspect.html:82
+#: templates/web/base/report/_item.html:96
#: templates/web/base/report/update/form_update.html:39
+#: templates/web/zurich/admin/contact-form.html:10
msgid "State"
msgstr "Negeri"
+#: templates/web/base/report/update.html:48
+msgid "State changed to:"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:116
#: templates/web/base/admin/update_edit.html:28
#: templates/web/zurich/admin/report_edit-sdm.html:75
@@ -3481,8 +3548,14 @@ msgstr "Negeri"
msgid "State:"
msgstr "Negeri:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:640
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:386
+#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: templates/web/base/admin/states/index.html:1
+#, fuzzy
+msgid "States"
+msgstr "Negeri"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
#: templates/web/base/admin/index.html:71 templates/web/base/admin/stats.html:1
#: templates/web/base/admin/stats_by_state.html:1
#: templates/web/zurich/admin/stats.html:1 templates/web/zurich/header.html:65
@@ -3504,6 +3577,10 @@ msgstr "Masuk dibuka, melalui soalan selidik, %s"
msgid "Street View"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:46
+msgid "String"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:192
msgid "Subcategory: %s"
msgstr "Subkategori: %s"
@@ -3512,7 +3589,7 @@ msgstr "Subkategori: %s"
msgid "Subdivision/Body"
msgstr "Bahagian bawah/Badan"
-#: templates/web/base/contact/index.html:88
+#: templates/web/base/contact/index.html:92
msgid "Subject"
msgstr "Tajuk"
@@ -3522,14 +3599,14 @@ msgid "Subject:"
msgstr "Tajuk:"
#: templates/web/base/questionnaire/creator_fixed.html:19
-#: templates/web/base/report/new/form_user_loggedin.html:61
+#: templates/web/base/report/new/form_user_loggedin.html:63
#: templates/web/base/report/new/form_user_loggedout_by_email.html:36
#: templates/web/base/report/new/form_user_loggedout_password.html:11
#: templates/web/zurich/report/new/fill_in_details_form.html:73
msgid "Submit"
msgstr "Hantar"
-#: templates/web/base/admin/report_edit.html:174
+#: templates/web/base/admin/report_edit.html:162
#: templates/web/base/admin/report_edit.html:24
#: templates/web/base/admin/update_edit.html:77
#: templates/web/base/admin/user-form.html:170
@@ -3543,8 +3620,8 @@ msgstr "Hantar perubahan"
msgid "Submit questionnaire"
msgstr "Hantar soalan selidik"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:164
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:893
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:898
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:6
#: templates/web/zurich/admin/index-dm.html:23
@@ -3554,36 +3631,38 @@ msgstr "Hantar soalan selidik"
msgid "Submitted"
msgstr "Dihantarkan"
+#: templates/web/base/alert/_list.html:77
+#: templates/web/base/alert/_list.html:80
#: templates/web/base/alert/updates.html:23
#: templates/web/base/report/display_tools.html:51
msgid "Subscribe"
msgstr "Melanggan"
-#: templates/web/base/alert/_list.html:93
-msgid "Subscribe me to an email alert"
+#: templates/web/base/alert/_list.html:72
+#, fuzzy
+msgid "Subscribe by email"
msgstr "Langgankan pemberitahuan emel"
#: templates/web/base/report/new/form_report.html:19
msgid "Summarise the problem"
msgstr ""
-#: templates/web/base/admin/contact-form.html:129
+#: templates/web/base/admin/contact-form.html:130
msgid "Summarise your changes"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:638
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:382
+#: perllib/FixMyStreet/Cobrand/Default.pm:637
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:387
#: templates/web/base/admin/bodies.html:29
#: templates/web/base/admin/index.html:1 templates/web/base/status/index.html:1
#: templates/web/base/status/index.html:3
#: templates/web/zurich/admin/index-dm.html:1
#: templates/web/zurich/admin/index-sdm.html:1
-#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:13
+#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:12
#: templates/web/zurich/header.html:49
msgid "Summary"
msgstr "Ringkasan"
-#: templates/web/base/reports/index.html:4
#: templates/web/zurich/reports/index.html:0
#: templates/web/zurich/reports/index.html:4
msgid "Summary reports"
@@ -3607,7 +3686,7 @@ msgid "Template &laquo;%s&raquo;"
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:661
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:393
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
#: templates/web/zurich/header.html:69
msgid "Templates"
msgstr ""
@@ -3636,7 +3715,7 @@ msgstr ""
msgid "Thank you for trying to confirm your update or problem. We seem to have an error ourselves though, so <a href=\"%s\">please let us know what went on</a> and we'll look into it."
msgstr ""
-#: templates/web/base/tokens/confirm_update.html:15
+#: templates/web/base/tokens/confirm_update.html:16
msgid "Thank you for updating this issue!"
msgstr ""
@@ -3664,7 +3743,7 @@ msgstr ""
msgid "That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Location.pm:129
+#: perllib/FixMyStreet/App/Controller/Location.pm:127
msgid "That location does not appear to be in the UK; please try again."
msgstr ""
@@ -3674,23 +3753,23 @@ msgstr ""
msgid "That postcode was not recognised, sorry."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:762
+#: perllib/FixMyStreet/App/Controller/Admin.pm:850
msgid "That problem has been marked as sent."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:755
+#: perllib/FixMyStreet/App/Controller/Admin.pm:843
msgid "That problem will now be resent."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report.pm:137
+#: perllib/FixMyStreet/App/Controller/Report.pm:134
msgid "That report cannot be viewed on %s."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report.pm:131
+#: perllib/FixMyStreet/App/Controller/Report.pm:128
msgid "That report has been removed from FixMyStreet."
msgstr ""
-#: templates/web/base/admin/contact-form.html:25
+#: templates/web/base/admin/contact-form.html:27
msgid ""
"The <strong>email address</strong> is the destination to which reports about this category will be sent. \n"
" Other categories for this body may have the same email address."
@@ -3710,10 +3789,10 @@ msgid ""
" than one. If the body is running its own endpoint, you can usually leave this blank."
msgstr ""
-#: templates/web/base/admin/body-form.html:100
-#: templates/web/base/admin/body-form.html:101
-#: templates/web/base/admin/contact-form.html:103
+#: templates/web/base/admin/body-form.html:102
+#: templates/web/base/admin/body-form.html:103
#: templates/web/base/admin/contact-form.html:104
+#: templates/web/base/admin/contact-form.html:105
msgid ""
"The <strong>send method</strong> determines how problem reports will be sent to the body.\n"
" If you leave this blank, <strong>send method defaults to email</strong>."
@@ -3730,6 +3809,10 @@ msgid ""
" and may be displayed publically."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:12
+msgid "The code used to store this field value in the database. e.g. <code>address</code> would be available as <code>problem.extra.address</code> in the templates."
+msgstr ""
+
#: templates/web/base/report/new/fill_in_details_text.html:1
#: templates/web/base/report/new/fill_in_details_text.html:3
msgid "The council won&rsquo;t be able to help unless you leave as much detail as you can. Please describe the exact location of the problem (e.g. on a wall), what it is, how long it has been there, a description (and a photo of the problem if you have one), etc."
@@ -3740,11 +3823,15 @@ msgstr ""
msgid "The diligency prize league table shows editors' activity (who's been editing the most records)."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:61
-#: perllib/FixMyStreet/App/Controller/Reports.pm:82
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:63
+#: perllib/FixMyStreet/App/Controller/Reports.pm:103
msgid "The error was: %s"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:30
+msgid "The field name as shown to the user on the report form."
+msgstr ""
+
#: templates/web/base/open311/index.html:78
msgid "The following Open311 v2 attributes are returned for each request: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
msgstr ""
@@ -3783,10 +3870,14 @@ msgstr ""
msgid "The link might have expired, or maybe you didn&rsquo;t quite copy and paste it correctly."
msgstr ""
-#: templates/web/base/admin/body-form.html:64
+#: templates/web/base/admin/body-form.html:66
msgid "The list of available areas is being provided by the MapIt service at %s."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:6
+msgid "The ordering of this field on the report page. Fields are shown in ascending order according to this value."
+msgstr ""
+
#: templates/web/base/auth/change_password.html:22
#: templates/web/base/auth/change_password.html:26
msgid "The passwords do not match"
@@ -3796,9 +3887,9 @@ msgstr ""
msgid "The requested URL '%s' was not found on this server"
msgstr ""
-#: templates/web/base/alert/_list.html:17
-msgid "The simplest alert is our geographic one:"
-msgstr "Pemberitahuan yang paling mudah adalah jenis geografi kita:"
+#: templates/web/base/admin/extra-metadata-form.html:42
+msgid "The type of input field to show to the user. <strong>Text</strong> is a simple text field, <strong>List</strong> is a drop-down selection."
+msgstr ""
#: perllib/FixMyStreet/Script/Reports.pm:96
msgid "The user could not locate the problem on a map, but to see the area around the location they entered"
@@ -3817,18 +3908,18 @@ msgstr ""
msgid "There are no reports to show."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Reports.pm:79
+#: perllib/FixMyStreet/App/Controller/Reports.pm:100
msgid "There was a problem showing the All Reports page. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:137
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:60
+#: perllib/FixMyStreet/App/Controller/Contact.pm:138
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:62
msgid "There was a problem showing this page. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:758
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:785
#: perllib/FixMyStreet/App/Controller/Report/Update.pm:152
-#: templates/web/base/auth/general.html:53
+#: templates/web/base/auth/general.html:55
#: templates/web/zurich/auth/general.html:28
msgid "There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the &lsquo;sign in by email&rsquo; section of the form."
msgstr ""
@@ -3841,7 +3932,7 @@ msgstr ""
msgid "There was a problem with your update. Please try again."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:141
+#: perllib/FixMyStreet/App/Controller/Contact.pm:142
msgid "There were problems with your report. Please see below."
msgstr ""
@@ -3893,8 +3984,8 @@ msgstr ""
msgid "This body has no contacts. This means that currently problems reported to this body <strong>will not be sent</strong>."
msgstr ""
-#: templates/web/base/admin/body-form.html:58
-#: templates/web/base/admin/body-form.html:59
+#: templates/web/base/admin/body-form.html:60
+#: templates/web/base/admin/body-form.html:61
msgid ""
"This body will only be sent reports for problems that are located in the <strong>area covered</strong>.\n"
" A body will not receive any reports unless it covers at least one area."
@@ -3908,8 +3999,9 @@ msgstr ""
msgid "This email has been sent to several councils covering the location of the problem, as the category selected is provided for all of them; please ignore it if you're not the correct council to deal with the issue."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:881
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:925
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1017
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:910
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:954
#: perllib/FixMyStreet/App/Controller/Report/New.pm:971
#: perllib/FixMyStreet/Cobrand/UK.pm:45
msgid "This information is required"
@@ -3919,46 +4011,41 @@ msgstr ""
msgid "This is a developer site; things might break at any time, and the database will be periodically deleted."
msgstr ""
-#: templates/web/base/reports/index.html:10
-msgid "This is a summary of all reports on this site."
-msgstr ""
-
-#: templates/web/base/report/new/form_report.html:56
+#: templates/web/base/report/new/form_report.html:58
msgid "This pothole has been here for two months and…"
msgstr ""
-#: templates/web/base/report/update/form_update.html:63
+#: templates/web/base/report/update/form_update.html:55
msgid "This problem has been fixed"
msgstr "Masalah ini telah diselesai"
-#: templates/web/base/report/update/form_update.html:56
+#: templates/web/base/report/update/form_update.html:48
msgid "This problem has not been fixed"
msgstr "Masalah ini belum diselesai"
-#: templates/web/base/report/update/form_update.html:54
-#, fuzzy
+#: templates/web/base/report/update/form_update.html:46
msgid "This problem is still ongoing"
-msgstr "Masalah ini belum diselesai"
+msgstr ""
#: templates/web/base/report/duplicate-no-updates.html:3
msgid "This report is a duplicate. Please leave updates on the original report:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:161
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:162
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:166
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:167
#: templates/web/zurich/report/_main.html:14
msgid "This report is awaiting moderation."
msgstr "Laporan ini menunggui sederhana."
-#: perllib/FixMyStreet/Script/Alerts.pm:101
+#: perllib/FixMyStreet/Script/Alerts.pm:98
msgid "This report is currently marked as closed."
msgstr "Laporan ini ditanda sebagai ditutupi sekarang."
-#: perllib/FixMyStreet/Script/Alerts.pm:99
+#: perllib/FixMyStreet/Script/Alerts.pm:96
msgid "This report is currently marked as fixed."
msgstr "Laporan ini ditanda sebagai diselesai sekarang."
-#: perllib/FixMyStreet/Script/Alerts.pm:103
+#: perllib/FixMyStreet/Script/Alerts.pm:100
msgid "This report is currently marked as open."
msgstr "Laporan ini ditanda sebagai terbuka sekarang."
@@ -3977,7 +4064,7 @@ msgstr "Laman web tersebut juga mengandungi foto masalah, dibekalkan oleh penggu
msgid "Time spent (in minutes):"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Default.pm:638
#: templates/web/base/admin/timeline.html:1
msgid "Timeline"
msgstr "Garis masa"
@@ -4006,10 +4093,26 @@ msgstr ""
msgid "To find out what local alerts we have for you, please enter your postcode or street name and area"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:19
+msgid "To limit this collection of fields to a single cobrand, select it here."
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:40
+msgid "To limit this collection of fields to a single language, select it here."
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:95
msgid "To view a map of the precise location of this issue"
msgstr "Melihat lokasi tepat atas peta bagi isu ini"
+#: templates/web/base/reports/index.html:97
+msgid "Top 5 most used categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:83
+msgid "Top 5 responsive councils"
+msgstr ""
+
#: templates/web/base/admin/questionnaire.html:24
#: templates/web/base/admin/stats.html:24
#: templates/web/base/admin/stats.html:43
@@ -4023,9 +4126,8 @@ msgid "Total marked"
msgstr ""
#: templates/web/base/dashboard/index.html:71
-#, fuzzy
msgid "Total marked as fixed"
-msgstr "ditanda sebagai diselesai"
+msgstr ""
#: templates/web/base/dashboard/index.html:125
msgid "Total not marked"
@@ -4036,16 +4138,24 @@ msgstr ""
msgid "Total reports received"
msgstr ""
-#: templates/web/base/report/_inspect.html:124
-#: templates/web/base/report/_item.html:102
+#: templates/web/base/report/_inspect.html:134
+#: templates/web/base/report/_item.html:104
msgid "Traffic management required?"
msgstr ""
+#: templates/web/base/admin/_translations.html:7
+msgid "Translation"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:2
+msgid "Translations"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:111
msgid "Trusted by bodies:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:721
+#: perllib/FixMyStreet/Cobrand/Default.pm:726
msgid "Trusted to make reports that don't need to be inspected"
msgstr ""
@@ -4061,8 +4171,14 @@ msgstr "Cuba lagi"
msgid "Try emailing us directly:"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:21
+#: templates/web/base/admin/extra-metadata-form.html:44
+#: templates/web/base/admin/states/index.html:10
+#: templates/web/base/admin/states/index.html:100
+msgid "Type"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:59
+#: templates/web/base/admin/contact-form.html:55
#: templates/web/base/admin/update_edit.html:30
#: templates/web/zurich/admin/report_edit-sdm.html:66
#: templates/web/zurich/admin/report_edit.html:94
@@ -4070,7 +4186,6 @@ msgstr ""
msgid "Unconfirmed"
msgstr "Belum dipastikan"
-#: templates/web/base/reports/_list-filters.html:12
#: templates/web/base/reports/_list-filters.html:5
msgid "Unfixed reports"
msgstr ""
@@ -4084,14 +4199,14 @@ msgid "Unknown alert type"
msgstr "Jenis pemberitahuan tak diketahui"
#: perllib/FixMyStreet/App/Controller/Photo.pm:109
-#: perllib/FixMyStreet/App/Controller/Root.pm:124
+#: perllib/FixMyStreet/App/Controller/Root.pm:141
#: templates/web/base/js/translation_strings.html:38
msgid "Unknown error"
msgstr "Ralat tidak diketahui"
-#: perllib/FixMyStreet/App/Controller/Report.pm:115
+#: perllib/FixMyStreet/App/Controller/Report.pm:112
+#: perllib/FixMyStreet/App/Controller/Report.pm:118
#: perllib/FixMyStreet/App/Controller/Report.pm:121
-#: perllib/FixMyStreet/App/Controller/Report.pm:124
msgid "Unknown problem ID"
msgstr "ID masalah tidak diketahui"
@@ -4099,10 +4214,11 @@ msgstr "ID masalah tidak diketahui"
msgid "Unshortlisted"
msgstr ""
-#: templates/web/base/report/_item.html:24
+#: templates/web/base/report/_item.html:26
msgid "Up one"
msgstr ""
+#: templates/web/base/admin/states/index.html:76
#: templates/web/base/report/update/form_update.html:29
msgid "Update"
msgstr "Kemas kini"
@@ -4119,7 +4235,7 @@ msgstr "Kemaskini di bawah ditambahkan tanpa nama pada %s"
msgid "Update below added by %s at %s"
msgstr "Kemaskini di bawah ditambah oleh %s pada %s"
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Update body"
msgstr "Kemas kini badan"
@@ -4155,13 +4271,23 @@ msgstr "Status kemas kini"
msgid "Updated"
msgstr "Dikemas kinikan"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1157
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1221
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1384
-#: perllib/FixMyStreet/App/Controller/Admin.pm:822
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:762
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:787
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:857
+#: perllib/FixMyStreet/DB/Result/Comment.pm:249
+#, fuzzy
+msgid "Updated by <strong>%s</strong> (%s) at %s"
+msgstr "Dipostkan oleh <strong>%s</strong> (%s) pada %s"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:251
+#, fuzzy
+msgid "Updated by <strong>%s</strong> at %s"
+msgstr "Dipostkan oleh <strong>%s</strong> pada %s"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1262
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1326
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1489
+#: perllib/FixMyStreet/App/Controller/Admin.pm:910
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:767
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:792
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:862
msgid "Updated!"
msgstr "Dikemas kinikan!"
@@ -4171,7 +4297,7 @@ msgstr "Dikemas kinikan!"
msgid "Updates"
msgstr "Kemas kini"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:133
+#: perllib/FixMyStreet/DB/Result/Comment.pm:134
msgid "Updates are limited to %s characters in length. Please shorten your update"
msgstr ""
@@ -4185,11 +4311,22 @@ msgstr "Kemas kini atas {{title}}"
msgid "Updates to this problem, %s"
msgstr ""
+#: templates/web/base/admin/contact-form.html:43
+#: templates/web/base/admin/contact-form.html:44
+msgid ""
+"Use <strong>confirmed</strong> to indicate that this contact has been\n"
+"confirmed as correct. If you are not sure of the origin or validity of the\n"
+"contact, use <strong>unconfirmed</strong>. <strong>inactive</strong> will\n"
+"remove the category from use when reporting problems, but keep it available in\n"
+"map filters, and <strong>deleted</strong> will remove the category from there\n"
+"as well."
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:65
msgid "Use Open311 update-sending extension"
msgstr ""
-#: templates/web/base/admin/contact-form.html:124
+#: templates/web/base/admin/contact-form.html:125
msgid "Use this field to record details that are only displayed in the admin. Input is not shown publicly, and is not sent to the body."
msgstr ""
@@ -4202,27 +4339,26 @@ msgstr ""
msgid "User ID to attribute fetched comments to"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1700
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1805
msgid "User flag removed"
msgstr "Tanda pengguna dipadam"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1672
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1777
msgid "User flagged"
msgstr "Pengguna ditanda"
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:58
-#, fuzzy
msgid "User has marked as fixed"
-msgstr "ditanda sebagai diselesai"
+msgstr ""
#: templates/web/base/admin/users.html:5
msgid "User search finds matches in users' names and email addresses."
msgstr "Carian pengguna mencari padanan dalam nama dan alamat emel pengguna."
#: perllib/FixMyStreet/Cobrand/Default.pm:669
-#: perllib/FixMyStreet/Cobrand/Default.pm:723
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
+#: perllib/FixMyStreet/Cobrand/Default.pm:728
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:403
#: templates/web/base/admin/flagged.html:29 templates/web/zurich/header.html:61
msgid "Users"
msgstr "Pengguna"
@@ -4231,9 +4367,9 @@ msgstr "Pengguna"
msgid "Users can perform the following actions within their assigned body or area."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:400
-#: perllib/FixMyStreet/App/Controller/Admin.pm:430
-#: perllib/FixMyStreet/App/Controller/Admin.pm:448
+#: perllib/FixMyStreet/App/Controller/Admin.pm:381
+#: perllib/FixMyStreet/App/Controller/Admin.pm:417
+#: perllib/FixMyStreet/App/Controller/Admin.pm:439
msgid "Values updated"
msgstr "Nilai dikemaskinikan"
@@ -4280,7 +4416,7 @@ msgstr "Kita mendapati lebih daripada satu bersesuaian bagi lokasi tersebut. Kit
msgid "We found more than one match for that problem reference:"
msgstr ""
-#: templates/web/base/auth/general.html:6
+#: templates/web/base/auth/general.html:8
#: templates/web/base/report/display.html:35
#: templates/web/base/report/new/oauth_email_form.html:5
msgid "We need your email address, please give it below."
@@ -4315,7 +4451,7 @@ msgstr ""
msgid "What was your experience of getting the problem fixed?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:52
+#: templates/web/base/admin/category_edit.html:27
#: templates/web/zurich/admin/body.html:18
msgid "When edited"
msgstr "Bila diedit"
@@ -4324,11 +4460,19 @@ msgstr "Bila diedit"
msgid "When sent"
msgstr "Bila dihantar"
-#: templates/web/base/report/_inspect.html:89
+#: templates/web/base/admin/extra-metadata-form.html:18
+msgid "Whether the user is required to provide a value for this field."
+msgstr ""
+
+#: templates/web/base/alert/_list.html:9
+msgid "Which problems do you want alerts about?"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:99
msgid "Which report is it a duplicate of?"
msgstr ""
-#: templates/web/base/js/translation_strings.html:54
+#: templates/web/base/js/translation_strings.html:57
msgid "Whoa there Testino! Three photos are enough."
msgstr ""
@@ -4336,8 +4480,8 @@ msgstr ""
msgid "Why stop there? <a href=\"/alert\">Set up more alerts</a> for free."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:185
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:190
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:14
msgid "Wish"
@@ -4347,7 +4491,7 @@ msgstr ""
msgid "With request searches, it is also possible to search for agency_responsible to limit the requests to those sent to a single administration. The search term is the administration ID provided by <a href=\"%s\">MaPit</a>."
msgstr ""
-#: templates/web/base/front/footer-marketing.html:17
+#: templates/web/base/front/footer-marketing.html:3
msgid "Would you like to contribute to FixMyStreet? Our code is open source and <a href=\"http://fixmystreet.org\">available at fixmystreet.org</a>."
msgstr ""
@@ -4372,23 +4516,22 @@ msgstr ""
msgid "Year"
msgstr "Tahun"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1202
+#: perllib/FixMyStreet/Cobrand/Default.pm:1236
#: templates/web/base/admin/bodies.html:70
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
#: templates/web/base/admin/category_edit.html:5
#: templates/web/base/admin/flagged.html:47
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:136
+#: templates/web/base/admin/report_edit.html:124
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:25
#: templates/web/base/admin/users.html:32
#: templates/web/base/questionnaire/creator_fixed.html:14
#: templates/web/base/questionnaire/index.html:104
#: templates/web/base/questionnaire/index.html:53
+#: templates/web/base/report/_inspect.html:90
msgid "Yes"
msgstr "Ya"
@@ -4401,7 +4544,7 @@ msgstr "Ya aku ada kata laluan"
msgid "You are complaining that this problem report was unnecessarily moderated:"
msgstr ""
-#: templates/web/base/js/translation_strings.html:70
+#: templates/web/base/js/translation_strings.html:73
msgid "You are offline"
msgstr ""
@@ -4422,7 +4565,11 @@ msgstr ""
msgid "You can add an abusive user's email to the abuse list, which automatically hides (and never sends) reports they create."
msgstr ""
-#: templates/web/base/contact/index.html:111
+#: templates/web/base/alert/_list.html:18
+msgid "You can choose to subscribe to all problems reported in an area, or reports based on their destination."
+msgstr ""
+
+#: templates/web/base/contact/index.html:115
msgid "You can contact technical support on <a href='mailto:%s'>%s</a>"
msgstr ""
@@ -4440,7 +4587,7 @@ msgstr ""
msgid "You can help us by finding a contact email address for local problems for %s and emailing it to us at <a href='mailto:%s'>%s</a>."
msgstr ""
-#: templates/web/base/admin/body-form.html:91
+#: templates/web/base/admin/body-form.html:93
msgid "You can mark a body as deleted if you do not want it to be active on the site."
msgstr ""
@@ -4448,7 +4595,7 @@ msgstr ""
msgid "You declined; please fill in the box above"
msgstr "Anda menolak; sila isikan kotak di atas"
-#: templates/web/base/js/translation_strings.html:72
+#: templates/web/base/js/translation_strings.html:75
msgid "You have <a id=\"oFN\" href=\"\"><span>%s</span> saved to submit</a>."
msgstr ""
@@ -4456,7 +4603,7 @@ msgstr ""
msgid "You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"
msgstr ""
-#: templates/web/base/report/new/form_report.html:37
+#: templates/web/base/report/new/form_report.html:39
#: templates/web/zurich/report/new/fill_in_details_form.html:30
msgid "You have already attached photos to this report. Note that you can attach a maximum of 3 to this report (if you try to upload more, the oldest will be removed)."
msgstr ""
@@ -4517,10 +4664,9 @@ msgstr "Laporan Anda"
msgid "Your account"
msgstr ""
-#: templates/web/base/alert/_list.html:90
#: templates/web/base/alert/updates.html:19
#: templates/web/base/alert/updates.html:22
-#: templates/web/base/contact/index.html:81
+#: templates/web/base/contact/index.html:80
#: templates/web/base/report/display_tools.html:46
#: templates/web/base/report/display_tools.html:49
#: templates/web/base/report/new/form_user_loggedout_email.html:1
@@ -4530,7 +4676,7 @@ msgid "Your email"
msgstr "Emel Anda"
#: templates/web/base/auth/change_email.html:9
-#: templates/web/base/auth/general.html:55
+#: templates/web/base/auth/general.html:57
#: templates/web/base/report/update/form_user_loggedout_email.html:5
#: templates/web/zurich/auth/general.html:30
#: templates/web/zurich/auth/general.html:58
@@ -4541,21 +4687,32 @@ msgstr "Alamat emel anda"
msgid "Your information will only be used in accordance with our <a href=\"/privacy\">privacy policy</a>"
msgstr "Maklumat anda akan digunakan mengikuti <a href=\"/privacy\">dasar privasi</a> kita"
-#: templates/web/base/auth/general.html:107
+#: templates/web/base/auth/general.html:109
#: templates/web/base/contact/index.html:74
#: templates/web/base/report/new/form_user_loggedout_by_email.html:17
-#: templates/web/base/report/update/form_name.html:29
+#: templates/web/base/report/update/form_name.html:33
#: templates/web/zurich/auth/general.html:61
#: templates/web/zurich/report/new/fill_in_details_form.html:63
msgid "Your name"
msgstr "Nama anda"
-#: templates/web/base/js/translation_strings.html:62
-#, fuzzy
+#: templates/web/base/my/anonymize.html:13
+msgid "Your name has already been sent to %s, but we can hide it on this page:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:264
+msgid "Your name has been hidden from all your reports and updates."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:260
+msgid "Your name has been hidden."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:65
msgid "Your offline reports"
-msgstr "Laporan anda"
+msgstr ""
-#: templates/web/base/auth/general.html:85
+#: templates/web/base/auth/general.html:87
#: templates/web/base/report/new/form_user_loggedout_password.html:10
#: templates/web/base/report/update/form_user_loggedout_password.html:9
#: templates/web/zurich/auth/general.html:34
@@ -4566,6 +4723,7 @@ msgstr "Kata laluan anda"
msgid "Your password has been changed"
msgstr "Kata laluan anda telah diubahi"
+#: templates/web/base/contact/index.html:87
#: templates/web/base/report/new/form_user_loggedout_by_email.html:26
#: templates/web/zurich/report/new/fill_in_details_form.html:69
msgid "Your phone number"
@@ -4584,7 +4742,7 @@ msgstr "Laporan anda"
msgid "Your shortlist"
msgstr ""
-#: templates/web/base/js/translation_strings.html:63
+#: templates/web/base/js/translation_strings.html:66
msgid "Your update has been saved offline for submission when back online."
msgstr ""
@@ -4592,8 +4750,8 @@ msgstr ""
msgid "Your updates"
msgstr "Kemas kini anda"
-#: templates/web/base/report/new/form_user_loggedin.html:18
-#: templates/web/base/report/update/form_name.html:11
+#: templates/web/base/report/new/form_user_loggedin.html:19
+#: templates/web/base/report/update/form_name.html:12
msgid "Yourself"
msgstr ""
@@ -4602,14 +4760,14 @@ msgstr ""
msgid "all"
msgstr ""
+#: perllib/FixMyStreet/DB/Result/Comment.pm:259
+msgid "and a defect raised"
+msgstr ""
+
#: templates/web/base/admin/timeline.html:4
msgid "by %s"
msgstr "dari %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:290
-msgid "closed as a duplicate report"
-msgstr "ditanda sebagai laporan salinan"
-
#: templates/web/base/reports/body.html:6
#: templates/web/base/reports/body.html:7
msgid "council"
@@ -4634,7 +4792,7 @@ msgstr "edit pengguna"
msgid "from %s different users"
msgstr "dari %s pengguna lain"
-#: templates/web/base/report/_item.html:61
+#: templates/web/base/report/_item.html:63
#: templates/web/zurich/report/_item.html:14
msgid "last updated %s"
msgstr "kemaskini yang lepas %s"
@@ -4643,44 +4801,7 @@ msgstr "kemaskini yang lepas %s"
msgid "less than a minute"
msgstr "kurang dari seminit"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:280
-msgid "marked as action scheduled"
-msgstr "ditanda sebagai tindakan dijadualkan"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:292
-msgid "marked as an internal referral"
-msgstr "ditanda sebagai rujukan dalaman"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:282
-msgid "marked as closed"
-msgstr "ditanda sebagai ditutupi"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:263
-#: perllib/FixMyStreet/DB/Result/Comment.pm:284
-msgid "marked as fixed"
-msgstr "ditanda sebagai diselesai"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:278
-msgid "marked as in progress"
-msgstr "ditanda sebagai dijalani"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:274
-msgid "marked as investigating"
-msgstr "ditanda sebagai disiasati"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:286
-msgid "marked as no further action"
-msgstr "ditanda sebagai tak boleh dibaiki"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:288
-msgid "marked as not the council's responsibility"
-msgstr "ditanda sebagai bukan tanggungjawab majlis"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:276
-msgid "marked as planned"
-msgstr "ditanda sebagai dijadual"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:122
+#: perllib/FixMyStreet/App/Controller/Admin.pm:119
#: templates/web/base/admin/questionnaire.html:15
#: templates/web/base/admin/questionnaire.html:16
msgid "n/a"
@@ -4691,13 +4812,10 @@ msgstr "tiada"
msgid "none"
msgstr ""
-#: templates/web/base/admin/category_edit.html:35
-msgid "optional"
-msgstr ""
-
-#: templates/web/base/alert/_list.html:86
-msgid "or"
-msgstr "atau"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:278
+#, fuzzy
+msgid "not the council's responsibility"
+msgstr "ditanda sebagai bukan tanggungjawab majlis"
#: templates/web/base/js/translation_strings.html:27
msgid "or locate me automatically"
@@ -4722,16 +4840,7 @@ msgstr "pemasukan asal: &ldquo;%s&rdquo;"
msgid "other areas:"
msgstr "kawasan lain:"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:265
-#: perllib/FixMyStreet/DB/Result/Comment.pm:271
-msgid "reopened"
-msgstr "dibuka semula"
-
-#: templates/web/base/admin/category_edit.html:35
-msgid "required"
-msgstr ""
-
-#: templates/web/zurich/footer.html:13
+#: templates/web/zurich/footer.html:12
msgid "sign out"
msgstr "log keluar"
@@ -4739,11 +4848,16 @@ msgstr "log keluar"
msgid "the local council"
msgstr "majlis tempatan"
-#: templates/web/base/report/_report_meta_info.html:2
+#: templates/web/base/report/_report_meta_info.html:5
#: templates/web/zurich/report/_main.html:5
msgid "there is no pin shown as the user did not use the map"
msgstr "pin tidak ditunjukkan sebab pengguna tidak menggunakan peta"
+#: templates/web/base/alert/_list.html:1
+#, fuzzy
+msgid "this location"
+msgstr "Melihat lokasi"
+
#: perllib/FixMyStreet/Script/Reports.pm:184
msgid "this type of local problem"
msgstr "jenis masalah tempatan ini"
@@ -4752,15 +4866,13 @@ msgstr "jenis masalah tempatan ini"
msgid "today"
msgstr "hari ini"
-#: templates/web/base/js/translation_strings.html:73
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:76
msgid "update"
-msgstr "Kemas kini"
+msgstr ""
-#: templates/web/base/js/translation_strings.html:74
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:77
msgid "updates"
-msgstr "Kemas kini"
+msgstr ""
#: templates/web/base/admin/report_edit.html:52
msgid "used map"
@@ -4804,10 +4916,10 @@ msgid_plural "%d minutes"
msgstr[0] "%d minit"
#: perllib/Utils.pm:246
-#, fuzzy, perl-format
+#, perl-format
msgid "%d month"
msgid_plural "%d months"
-msgstr[0] "%d minit"
+msgstr[0] ""
#: templates/web/base/report/_support.html:6
#, perl-format
@@ -4827,6 +4939,36 @@ msgid "%d year"
msgid_plural "%d years"
msgstr[0] ""
+#: templates/web/base/reports/index.html:92
+#, perl-format
+msgid "%s day"
+msgid_plural "%s days"
+msgstr[0] ""
+
+#: templates/web/base/reports/index.html:55
+#, perl-format
+msgid "%s problem marked as fixed"
+msgid_plural "%s problems marked as fixed"
+msgstr[0] ""
+
+#: templates/web/base/reports/index.html:43
+#, perl-format
+msgid "%s problem reported"
+msgid_plural "%s problems reported"
+msgstr[0] ""
+
+#: templates/web/base/reports/index.html:107
+#, perl-format
+msgid "%s report"
+msgid_plural "%s reports"
+msgstr[0] ""
+
+#: templates/web/base/reports/index.html:49
+#, perl-format
+msgid "%s update on problems"
+msgid_plural "%s updates on problems"
+msgstr[0] ""
+
#: templates/web/base/front/stats.html:19
#, perl-format
msgid "<big>%s</big> fixed in past month"
@@ -4851,7 +4993,7 @@ msgid "<big>%s</big> update on reports"
msgid_plural "<big>%s</big> updates on reports"
msgstr[0] "<big>%s</big> laporan dikemaskini"
-#: templates/web/base/report/_item.html:49
+#: templates/web/base/report/_item.html:51
#, perl-format
msgid "Reported %d day ago"
msgid_plural "Reported %d days ago"
@@ -4869,26 +5011,92 @@ msgid "We do not yet have details for the council that covers this location."
msgid_plural "We do not yet have details for the councils that cover this location."
msgstr[0] "Kita belum ada maklumat tentang majlis yang menutupi lokasi ini"
-#: templates/web/base/report/_item.html:59
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:61
+#, perl-format
msgid "last updated %d day ago"
msgid_plural "last updated %d days ago"
-msgstr[0] "kemaskini yang lepas %s"
+msgstr[0] ""
#: templates/email/oxfordshire/archive.txt:9
-#, fuzzy, perl-format
+#, perl-format
msgid "report"
msgid_plural "reports"
-msgstr[0] "Semua laporan"
+msgstr[0] ""
-#, fuzzy
-#~ msgid "All inspectors"
-#~ msgstr "Semua Laporan"
+#~ msgid "%s ward, %s"
+#~ msgstr "%s kawasan pentadbiran, %s"
-#, fuzzy
-#~ msgid "Report category:"
-#~ msgstr "Kategori baru"
+#~ msgid "%s, within %s ward"
+#~ msgstr "%s, dalam kawasan pentadbiran %s"
-#, fuzzy
-#~ msgid "last updated %d days ago"
-#~ msgstr "kemaskini yang lepas %s"
+#~ msgid "-- Pick a property type --"
+#~ msgstr "-- Pilih jenis harta --"
+
+#~ msgid "Closed:"
+#~ msgstr "Ditutup:"
+
+#~ msgid "Duplicate"
+#~ msgstr "Salinan"
+
+#~ msgid "Fixed:"
+#~ msgstr "Selesai:"
+
+#~ msgid "In Progress"
+#~ msgstr "Dijalani"
+
+#~ msgid "Internal referral"
+#~ msgstr "Rujukan dalaman"
+
+#~ msgid "Investigating"
+#~ msgstr "Dalam siasatan"
+
+#~ msgid "No further action"
+#~ msgstr "Tidak dapat diselesai"
+
+#~ msgid "Not Responsible"
+#~ msgstr "Tidak Bertanggungjawab"
+
+#~ msgid "Or problems reported to:"
+#~ msgstr "Atau masalah dilaporkan kepada:"
+
+#~ msgid "Please choose a property type"
+#~ msgstr "Sila pilihkan jenis bangunan"
+
+#~ msgid "Problems within the boundary of:"
+#~ msgstr "Masalah dalam sempadan"
+
+#~ msgid "The simplest alert is our geographic one:"
+#~ msgstr "Pemberitahuan yang paling mudah adalah jenis geografi kita:"
+
+#~ msgid "closed as a duplicate report"
+#~ msgstr "ditanda sebagai laporan salinan"
+
+#~ msgid "marked as action scheduled"
+#~ msgstr "ditanda sebagai tindakan dijadualkan"
+
+#~ msgid "marked as an internal referral"
+#~ msgstr "ditanda sebagai rujukan dalaman"
+
+#~ msgid "marked as closed"
+#~ msgstr "ditanda sebagai ditutupi"
+
+#~ msgid "marked as fixed"
+#~ msgstr "ditanda sebagai diselesai"
+
+#~ msgid "marked as in progress"
+#~ msgstr "ditanda sebagai dijalani"
+
+#~ msgid "marked as investigating"
+#~ msgstr "ditanda sebagai disiasati"
+
+#~ msgid "marked as no further action"
+#~ msgstr "ditanda sebagai tak boleh dibaiki"
+
+#~ msgid "marked as planned"
+#~ msgstr "ditanda sebagai dijadual"
+
+#~ msgid "or"
+#~ msgstr "atau"
+
+#~ msgid "reopened"
+#~ msgstr "dibuka semula"
diff --git a/locale/my_MM.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/my_MM.UTF-8/LC_MESSAGES/FixMyStreet.po
index 9fd9436b5..9e59c5388 100644
--- a/locale/my_MM.UTF-8/LC_MESSAGES/FixMyStreet.po
+++ b/locale/my_MM.UTF-8/LC_MESSAGES/FixMyStreet.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
-"POT-Creation-Date: 2017-03-30 17:33+0100\n"
+"POT-Creation-Date: 2017-09-13 15:40+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: mySociety <transifex@mysociety.org>, 2016\n"
+"Last-Translator: mySociety <transifex@mysociety.org>, 2017\n"
"Language-Team: Burmese (Myanmar) (https://www.transifex.com/mysociety/teams/12067/my_MM/)\n"
"Language: my_MM\n"
"MIME-Version: 1.0\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:695
+#: perllib/FixMyStreet/DB/Result/Problem.pm:632
#: perllib/FixMyStreet/Script/Reports.pm:197
msgid " and "
msgstr "á‚ွင့္"
@@ -91,25 +91,6 @@ msgstr "%s စစ်á€á€™á€ºá€¸á€™á€±á€¸á€á€½á€”်းလွှာပို့
msgid "%s ref:&nbsp;%s"
msgstr ""
-#. ("%s is the site name")
-#: templates/web/base/alert/_list.html:74
-msgid ""
-"%s sends different categories of problem\n"
-"to the appropriate council, so problems within the boundary of a particular council\n"
-"might not match the problems sent to that council. For example, a graffiti report\n"
-"will be sent to the district council, so will appear in both of the district\n"
-"council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
-"for the county council."
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:257 perllib/FixMyStreet/Cobrand/UK.pm:269
-msgid "%s ward, %s"
-msgstr "%sရပ္ကြက္አ%s"
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
-msgid "%s, within %s ward"
-msgstr "%sአ%s ရပ္ကြက္အá€á€¼á€„္း"
-
#: perllib/FixMyStreet/Map/OSM.pm:38
msgid "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"
msgstr ""
@@ -118,7 +99,7 @@ msgstr ""
msgid "(Defect &amp; location of defect)"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
#: templates/web/base/admin/users.html:32
msgid "(Email in abuse table)"
msgstr "(ရိုင္းစိုင္းစြာေျပာသည့္ဇယားá€á€¼á€„္ရွိအီးေမးလ္)"
@@ -133,28 +114,36 @@ msgstr ""
msgid "(No phone number)"
msgstr ""
-#: templates/web/base/alert/_list.html:25
-msgid "(a default distance which covers roughly 200,000 people)"
-msgstr "(လူအေယာက္ á‚á€á€ á€á€á€ ကိုအá¾á€€á€™á€¹á€¸á€¡á€¬á€¸á€»á€–င့္လႊမ္းမိုးá‚ိုင္ေသာပံုမွန္အကြာအေá€á€¸)"
-
-#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
-#: templates/web/base/alert/_list.html:30
-msgid "(alternatively the RSS feed can be customised, within %s)"
+#: templates/web/base/admin/states/index.html:95
+msgid "(a-z and space only)"
msgstr ""
#: templates/web/zurich/report/_item.html:19
msgid "(closed)"
msgstr "(ပိá€á€¹á€‘ားသည္)"
+#: templates/web/base/alert/_list.html:30
+#, fuzzy
+msgid "(covers roughly 200,000 people)"
+msgstr "(လူအေယာက္ á‚á€á€ á€á€á€ ကိုအá¾á€€á€™á€¹á€¸á€¡á€¬á€¸á€»á€–င့္လႊမ္းမိုးá‚ိုင္ေသာပံုမွန္အကြာအေá€á€¸)"
+
#: templates/web/zurich/report/_item.html:17
msgid "(fixed)"
msgstr "(ျပင္ျပီးျပီ)"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "(ignored if type is \"String\")"
+msgstr ""
+
#: templates/web/base/around/intro.html:2
msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
msgstr "(ဂရပ္ဖီá€á€®áŠ á€…á€Šá€¹á€¸á€€á€™á€¹á€¸á€™á€²á€· အမိႈ္က္စြန္႔ပစ္ျá€á€„္းአလမ္းေဘးပလက္ေဖာင္းအုá€á€¹á€á€²á€™á€ºá€¬á€¸á€€á€ºá€­á€³á€¸á€•ဲ့မႈ သို႔မဟုá€á€¹ လမ္းမီးမလာျá€á€„္းကဲ့သို႔)"
-#: templates/web/base/report/_item.html:68
+#: templates/web/base/reports/index.html:69
+msgid "(no longer exists)"
+msgstr ""
+
+#: templates/web/base/report/_item.html:70
msgid "(not sent to council)"
msgstr "(ေကာင္စီသို႔မပို႔ပါ)"
@@ -162,20 +151,22 @@ msgstr "(ေကာင္စီသို႔မပို႔ပါ)"
msgid "(optional)"
msgstr "(ေရြးá€á€ºá€šá€¹á‚ိုင္á€á€¼á€„့္)"
-#: templates/web/base/report/_item.html:67
+#: templates/web/base/report/_item.html:69
msgid "(sent to both)"
msgstr "(á‚ွစ္á€á€¯á€œá€¶á€¯á€¸á€žá€­á€¯á‚”ပို႔မည္)"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:239
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/DB/Result/Problem.pm:454
+#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
+#: templates/web/base/alert/_list.html:36
+#, fuzzy
+msgid "(we also have RSS feeds for problems within %s)"
+msgstr "%s အá€á€¼á€„္းရိွ ျပႆနာမ်ားá RSS feed"
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:245
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:381
msgid "-- Pick a category --"
msgstr "-- ေá€á€«á€„္းစဥ္á€á€…္á€á€¯á€±á€›á€¼á€¸á€•ါ --"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:460
-msgid "-- Pick a property type --"
-msgstr "-- ပစá¥á€Šá€¹á€¸á€¡á€™á€ºá€­á€³á€¸á€¡á€…ားကိုေရြးပါ --"
-
#: templates/web/base/admin/response_templates_select.html:3
msgid "--Choose a template--"
msgstr ""
@@ -184,16 +175,16 @@ msgstr ""
msgid "10 inch pothole on Example St, near post box"
msgstr ""
-#: templates/web/base/dashboard/index.html:152
+#: templates/web/base/dashboard/index.html:153
msgid "14-30 days old"
msgstr ""
-#: templates/web/base/dashboard/index.html:151
+#: templates/web/base/dashboard/index.html:152
msgid "7-14 days old"
msgstr ""
-#: templates/web/base/admin/body-form.html:48
-#: templates/web/base/admin/body-form.html:49
+#: templates/web/base/admin/body-form.html:50
+#: templates/web/base/admin/body-form.html:51
msgid ""
"<code>MAPIT_URL</code> is set (<code>%s</code>) but no <code>MAPIT_TYPES</code>.<br>\n"
" This is probably why \"area covered\" is empty (below).<br>\n"
@@ -204,13 +195,12 @@ msgstr ""
msgid "<h2>Reports, Statistics and Actions for</h2> <h1>%s</h1>"
msgstr ""
-#. ('The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories')
#. ("The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories")
-#: templates/web/base/reports/_list-filters.html:37
-msgid "<label for=\"statuses\">Show</label> %s <label for=\"filter_categories\">about</label> %s"
+#: templates/web/base/reports/_list-filters.html:48
+msgid "<label for=\"statuses\">Show</label> %s reports <label for=\"filter_categories\">about</label> %s"
msgstr ""
-#: templates/web/base/js/translation_strings.html:71
+#: templates/web/base/js/translation_strings.html:74
msgid "<span>%s</span> saved."
msgstr ""
@@ -227,34 +217,25 @@ msgstr "<strong>မဟုá€á€¹á€•ါ</strong> ကá½á€¼á‚္ုပ္áအစ
msgid "<strong>No</strong> Let me confirm my update by email"
msgstr "<strong>မဟုá€á€¹á€•ါ</strong> ကá½á€¼á‚္ုပ္áအသစ္မြမ္းမံျá€á€„္းကိုအီးေမးလ္ျဖင့္အá€á€Šá€¹á€»á€•ဳမည္"
-#: templates/web/base/auth/general.html:104
+#: templates/web/base/auth/general.html:106
#: templates/web/zurich/auth/general.html:51
msgid "<strong>No</strong> let me sign in by email"
msgstr "<strong>မဟုá€á€¹á€•ါ</strong> အီးေမးလ္ျဖင့္á€á€„္မည္"
-#: templates/web/base/report/_inspect.html:160
+#: templates/web/base/report/_inspect.html:170
msgid "<strong>Note:</strong> This report has been sent onwards for action. Any changes made won't be passed on."
msgstr ""
-#: templates/web/base/report/_inspect.html:162
+#: templates/web/base/report/_inspect.html:172
msgid "<strong>Note:</strong> This report hasn't yet been sent onwards for action. Any changes made may not be passed on."
msgstr ""
-#: templates/web/base/auth/general.html:80
+#: templates/web/base/auth/general.html:82
#: templates/web/base/report/new/form_user_loggedout_password.html:3
#: templates/web/base/report/update/form_user_loggedout_password.html:2
msgid "<strong>Yes</strong> I have a password"
msgstr "<strong>ဟုá€á€¹á€€á€²á€·</strong> ကá½á€¼á‚္ုပ္á€á€¼á€„္စကားá€á€½á€€á€¹á€á€…္á€á€¯á€›á€½á€­á€žá€Šá€¹"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:10
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:6
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Action Scheduled"
-msgstr "လုပ္ေဆာင္မႈကိုအá€á€ºá€­á€”္ဇယားျဖင့္ျပဳလုပ္ျပီး"
-
#: templates/web/base/admin/body-form.html:3
#: templates/web/base/admin/body-form.html:4
msgid ""
@@ -268,19 +249,36 @@ msgid "Add a contact using the form below."
msgstr "ေအာက္ပါပံုစံကိုသံုးျပီးအဆက္အသြယ္á€á€…္á€á€¯á€‘ည့္မည္"
#: templates/web/base/admin/bodies.html:78
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Add body"
msgstr "စာကိုယ္ထည့္မည္"
+#: templates/web/base/admin/reportextrafields/index.html:24
+msgid "Add extra fields"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:79
+msgid "Add field"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:85
+msgid "Add fixed state"
+msgstr ""
+
#: templates/web/base/admin/body.html:126
#: templates/web/zurich/admin/body.html:31
msgid "Add new category"
msgstr "ေá€á€«á€„္းစဥ္အသစ္ထည့္မည္"
+#: templates/web/base/admin/extra-metadata-form.html:72
+#, fuzzy
+msgid "Add option"
+msgstr "(ေရြးá€á€ºá€šá€¹á‚ိုင္á€á€¼á€„့္)"
+
#: templates/web/base/report/_item.html:10
-#: templates/web/base/report/_item.html:14
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_item.html:16
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:19
#: templates/web/base/report/_main.html:30
msgid "Add to shortlist"
@@ -292,15 +290,15 @@ msgstr ""
msgid "Add user"
msgstr "အသံုးျပဳသူထည့္မည္"
-#: perllib/FixMyStreet/Cobrand/Default.pm:730
+#: perllib/FixMyStreet/Cobrand/Default.pm:735
msgid "Add/edit problem categories"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:732
+#: perllib/FixMyStreet/Cobrand/Default.pm:737
msgid "Add/edit response priorities"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:731
+#: perllib/FixMyStreet/Cobrand/Default.pm:736
msgid "Add/edit response templates"
msgstr ""
@@ -308,7 +306,7 @@ msgstr ""
msgid "Added %s"
msgstr "%sကိုထည့္ျပီးျပီ"
-#: templates/web/base/report/_main.html:145
+#: templates/web/base/report/_main.html:149
msgid "Adding this report to your shortlist will remove it from %s’s shortlist."
msgstr ""
@@ -328,17 +326,17 @@ msgstr "Parameters %s/%s አအမ်ိဳးအစား %s አ%s အá€á€¼á
msgid "Alert %d disabled (created %s)"
msgstr "အသိေပးá€á€ºá€€á€¹%dကိုပိá€á€¹á€‘ားသည္(%sကိုဖန္á€á€®á€¸á€»á€•ီး)"
-#: templates/web/base/report/update/form_name.html:38
+#: templates/web/base/report/update/form_name.html:42
msgid "Alert me to future updates"
msgstr "ေနာက္ထပ္အသစ္မ်ားအá€á€¼á€€á€¹á€œá€Šá€¹á€¸á€€á½á€¼á‚္ုပ္ကိုအသိေပးမည္"
#: templates/web/base/dashboard/index.html:138
#: templates/web/base/dashboard/index.html:21
#: templates/web/base/dashboard/index.html:30
+#: templates/web/base/reports/_list-filters.html:3
msgid "All"
msgstr ""
-#: templates/web/base/reports/index.html:6
#: templates/web/zurich/reports/index.html:13
msgid "All Reports"
msgstr "အစီရင္á€á€¶á€…ာအားလံုး"
@@ -348,15 +346,23 @@ msgid "All Reports as CSV"
msgstr ""
#: templates/web/base/admin/category-multiselect.html:5
-#: templates/web/base/admin/responsepriorities/list.html:19
+#: templates/web/base/admin/responsepriorities/list.html:20
msgid "All categories"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:26
+#, fuzzy
+msgid "All cobrands"
+msgstr "အစီရင္á€á€¶á€…ာအားလံုး"
+
+#: templates/web/base/admin/reportextrafields/edit.html:47
+msgid "All languages"
+msgstr ""
+
#: templates/web/base/main_nav_items.html:0
#: templates/web/base/main_nav_items.html:27
-#: templates/web/base/reports/_list-filters.html:3
#: templates/web/zurich/admin/index-dm.html:12
-#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:21
+#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:20
#: templates/web/zurich/nav_over_content.html:6
msgid "All reports"
msgstr "အစီရင္á€á€¶á€…ာအားလံုး"
@@ -366,6 +372,14 @@ msgstr "အစီရင္á€á€¶á€…ာအားလံုး"
msgid "All reports between %s and %s"
msgstr "%s á‚ွင့္ %s á¾á€€á€¬á€¸á€¡á€…ီရင္á€á€¶á€…ားအားလံုး"
+#: templates/web/base/reports/index.html:23
+msgid "All time"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:20
+msgid "Alternatively, we can hide your name on <strong>all of your reports and updates</strong> across the site:"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:47
msgid "An update marked this problem as fixed."
msgstr "ေျဖရွင္းထားသည့္ ျပႆနာကို အမွá€á€¹á€¡á€žá€¬á€¸á€»á€•ဳလုပ္ထားသည္á‹"
@@ -375,31 +389,33 @@ msgstr "ေျဖရွင္းထားသည့္ ျပႆနာကို á
msgid "Anonymous"
msgstr "အမည္မသိ"
-#: templates/web/base/admin/report_edit.html:134
+#: templates/web/base/report/new/form_user_loggedin.html:21
+#: templates/web/base/report/update/form_name.html:17
+#, fuzzy
+msgid "Anonymous user"
+msgstr "အမည္မသိ"
+
+#: templates/web/base/admin/report_edit.html:122
#: templates/web/base/admin/update_edit.html:23
msgid "Anonymous:"
msgstr "အမည္မသိ-"
-#: templates/web/base/report/new/form_user_loggedin.html:20
-#: templates/web/base/report/update/form_name.html:13
+#: templates/web/base/report/new/form_user_loggedin.html:24
+#: templates/web/base/report/update/form_name.html:14
msgid "Another user"
msgstr ""
-#: templates/web/base/front/footer-marketing.html:16
-msgid "Are you a developer?"
-msgstr "Developer လား"
-
-#: templates/web/base/js/translation_strings.html:56
+#: templates/web/base/js/translation_strings.html:59
msgid "Are you sure you want to cancel this upload?"
msgstr ""
#: templates/web/base/admin/report_edit.html:84
-#: templates/web/base/js/translation_strings.html:66
+#: templates/web/base/js/translation_strings.html:69
#: templates/web/base/report/display_tools.html:6
msgid "Are you sure?"
msgstr ""
-#: templates/web/base/admin/body-form.html:75
+#: templates/web/base/admin/body-form.html:77
#: templates/web/base/admin/body.html:20
#: templates/web/zurich/admin/body-form.html:24
msgid "Area covered"
@@ -431,11 +447,11 @@ msgstr "အပိုစာကိုယ္ကိုသá€á€¹á€™á€½á€á€¹á€™á€Šá€¹
msgid "Assign to subdivision:"
msgstr "အေသးစိá€á€¹á€”ယ္နမိá€á€¹á€žá€­á€¯á‚”သá€á€¹á€™á€½á€á€¹á€™á€Šá€¹-"
-#: perllib/FixMyStreet/Cobrand/Default.pm:727
+#: perllib/FixMyStreet/Cobrand/Default.pm:732
msgid "Assign users to areas"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:214
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:219
msgid "Assigned to %s"
msgstr "%s သို႔ လြဲအပ္မည္"
@@ -456,11 +472,14 @@ msgstr ""
msgid "Auto-response:"
msgstr ""
-#: templates/web/base/admin/report_edit.html:127
-#: templates/web/base/report/_inspect.html:47
+#: templates/web/base/admin/report-category.html:8
msgid "Available categories"
msgstr ""
+#: templates/web/base/reports/index.html:84
+msgid "Average time between a problem being reported and being fixed, last 100 reports."
+msgstr ""
+
#: templates/web/base/dashboard/index.html:109
msgid "Average time to council marking fixed (days)"
msgstr ""
@@ -473,7 +492,7 @@ msgstr ""
msgid "Avoid personal information and vehicle number plates"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:417
+#: perllib/FixMyStreet/DB/Result/Problem.pm:344
#: templates/web/zurich/report/_item.html:9
msgid "Awaiting moderation"
msgstr "စိစစ္ျá€á€„္းကိုေစာင့္ဆိုင္းေနá€á€¯á€”္း"
@@ -486,13 +505,13 @@ msgstr "ေနာက္သို႔"
msgid "Back to all reports"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
msgid "Ban email address"
msgstr "အီးေမးလ္လိပ္စာကိုပိ္á€á€¹á€•င္မည္"
#: perllib/FixMyStreet/Cobrand/Default.pm:650
-#: perllib/FixMyStreet/Cobrand/Default.pm:729
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
+#: perllib/FixMyStreet/Cobrand/Default.pm:734
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:396
#: templates/web/base/admin/bodies.html:1
#: templates/web/base/admin/report_edit.html:55
#: templates/web/zurich/header.html:56
@@ -514,7 +533,11 @@ msgstr "စာကိုယ္ -"
msgid "By Date"
msgstr "ေန႔စြဲအားျဖင့္"
-#: templates/web/base/auth/token.html:21 templates/web/base/email_sent.html:18
+#: templates/web/base/admin/extra-metadata-form.html:36
+msgid "Can be used to display extra text to the user alongside the field. The default template does not show this (<code>meta.datatype_description</code>), you must add it in <code>category_extras_fields.html</code>"
+msgstr ""
+
+#: templates/web/base/auth/token.html:27 templates/web/base/email_sent.html:20
msgid "Can&rsquo;t find our email? Check your spam folder&nbsp;&ndash; that&rsquo;s the solution 99% of the time."
msgstr ""
@@ -535,8 +558,8 @@ msgstr ""
#: templates/web/base/admin/body.html:72
#: templates/web/base/admin/contact-form.html:19
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/report/_inspect.html:38
-#: templates/web/base/report/_item.html:90
+#: templates/web/base/report/_inspect.html:48
+#: templates/web/base/report/_item.html:92
#: templates/web/base/report/new/category.html:6
#: templates/web/base/report/new/category_wrapper.html:3
#: templates/web/zurich/admin/body.html:14
@@ -547,7 +570,7 @@ msgstr ""
msgid "Category"
msgstr "အမ်ိဳးအစား"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:852
+#: perllib/FixMyStreet/App/Controller/Admin.pm:956
msgid "Category changed from ‘%s’ to ‘%s’"
msgstr ""
@@ -587,23 +610,11 @@ msgstr ""
msgid "Change password"
msgstr "စကားá€á€½á€€á€¹á€±á€»á€•ာင္းမည္"
-#: templates/web/base/admin/contact-form.html:41
-msgid ""
-"Check <strong>confirmed</strong> to indicate that this contact has been confirmed as correct.\n"
-" If you are not sure of the origin or validity of the contact, leave this unchecked."
-msgstr ""
-
-#: templates/web/base/admin/contact-form.html:52
-msgid ""
-"Check <strong>deleted</strong> to remove the category from use. \n"
-" It will not appear as an available category in the drop-down menu on the report-a-problem page."
-msgstr ""
-
-#: templates/web/base/admin/contact-form.html:79
+#: templates/web/base/admin/contact-form.html:80
msgid "Check <strong>inspection required</strong> if reports in this category <strong>must be inspected</strong> before being sent."
msgstr ""
-#: templates/web/base/admin/contact-form.html:63
+#: templates/web/base/admin/contact-form.html:64
msgid ""
"Check <strong>private</strong> if reports in this category should <strong>never be displayed on the website</strong>.\n"
" <br>\n"
@@ -620,11 +631,11 @@ msgid ""
" to the body too. These will appear in the drop-down menu on the report-a-problem page."
msgstr ""
-#: templates/web/base/report/_inspect.html:93
+#: templates/web/base/report/_inspect.html:103
msgid "Choose another"
msgstr ""
-#: templates/web/base/js/translation_strings.html:65
+#: templates/web/base/js/translation_strings.html:68
msgid "Clear offline data"
msgstr ""
@@ -649,21 +660,21 @@ msgstr ""
msgid "Click the link in our confirmation email to publish your update."
msgstr ""
-#: templates/web/base/auth/token.html:18
+#: templates/web/base/auth/token.html:23
msgid "Click the link in our confirmation email to sign in."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:189
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:960
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:17
-#: templates/web/base/admin/report_blocks.html:27
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:43
-#: templates/web/base/report/banner.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:18
+#: templates/web/base/auth/token.html:20
+msgid "Click the link in that email to sign in."
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:134
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:194
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:965
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:11
+#: templates/web/base/admin/states/index.html:103
+#: templates/web/base/admin/states/index.html:27
+#: templates/web/base/admin/states/index.html:33
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:10
#: templates/web/zurich/admin/header.html:16
@@ -671,23 +682,17 @@ msgstr ""
msgid "Closed"
msgstr "ပိá€á€¹á€™á€Šá€¹"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:889
+#: perllib/FixMyStreet/DB/Result/Problem.pm:826
msgid "Closed by council"
msgstr "ေကာင္စီမွပိá€á€¹á€‘ားသည္"
-#: templates/web/base/reports/_list-filters.html:13
-msgid "Closed reports"
-msgstr ""
-
-#: templates/web/base/admin/problem_row.html:38
-msgid "Closed:"
-msgstr "ပိá€á€¹á€™á€Šá€¹-"
-
#: templates/web/base/admin/report_edit.html:37
msgid "Co-ordinates:"
msgstr ""
#: templates/web/base/admin/list_updates.html:10
+#: templates/web/base/admin/reportextrafields/edit.html:24
+#: templates/web/base/admin/reportextrafields/index.html:7
msgid "Cobrand"
msgstr ""
@@ -701,10 +706,13 @@ msgstr ""
msgid "Cobrand:"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:14
+msgid "Code"
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:50
-#, fuzzy
msgid "Collapse map"
-msgstr "ေျမပံု အသံုးျပဳထားá¿á€•ီး"
+msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:646
#: templates/web/base/admin/config_page.html:1
@@ -732,9 +740,8 @@ msgstr ""
msgid "Confirmation"
msgstr "အá€á€Šá€¹á€»á€•ဳျá€á€„္း"
-#: templates/web/base/admin/body.html:85
-#: templates/web/base/admin/category_edit.html:54
-#: templates/web/base/admin/contact-form.html:47
+#: templates/web/base/admin/contact-form.html:56
+#: templates/web/zurich/admin/contact-form.html:12
#: templates/web/zurich/admin/stats.html:40
msgid "Confirmed"
msgstr "အá€á€Šá€¹á€»á€•ဳá€á€²á€·á€žá€Šá€¹"
@@ -769,8 +776,8 @@ msgstr "အဖြဲ႕á‚ွင့္ဆက္သြယ္ပါ"
msgid "Coordinates:"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1668
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1696
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1773
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1801
msgid "Could not find user"
msgstr "အသံုးျပဳသူရွာမေá€á€¼á‚•ပါ"
@@ -790,33 +797,28 @@ msgstr "%sအá€á€¼á€€á€¹á€±á€€á€¬á€„္စီအဆက္အသြယ္"
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:83
-#, fuzzy
msgid "Council has marked as closed"
-msgstr "ပိá€á€¹á€‘ားသည့္ အမွá€á€¹á€¡á€žá€¬á€¸ ျပဳလုပ္ထားသည္"
+msgstr ""
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:57
-#, fuzzy
msgid "Council has marked as fixed"
-msgstr "ျပင္ဆင္ထားသည့္ အမွá€á€¹á€¡á€žá€¬á€¸ ျပဳလုပ္ထားသည္"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:80
-#, fuzzy
msgid "Council has marked as in progress"
-msgstr "ဆက္လက္လုပ္ေဆာင္ေနဆဲ အမွá€á€¹á€¡á€žá€¬á€¸ ျပဳလုပ္ထားသည္"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:82
-#, fuzzy
msgid "Council has marked as investigating"
-msgstr "စံုစမ္းစစ္ေဆးေနဆဲ အမွá€á€¹á€¡á€žá€¬á€¸ ျပဳလုပ္ထားသည္"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:81
-#, fuzzy
msgid "Council has marked as planned"
-msgstr "စီစဥ္ထားá¿á€•ီးျဖစ္ေá¾á€€á€¬á€„္း အမွá€á€¹á€¡á€žá€¬á€¸ ျပဳလုပ္ထားသည္"
+msgstr ""
#: templates/web/base/report/_council_sent_info.html:6
msgid "Council ref:&nbsp;%s"
@@ -833,24 +835,33 @@ msgstr "ေကာင္စီ-"
msgid "Count"
msgstr "အေရအá€á€¼á€€á€¹"
+#: templates/web/base/admin/states/index.html:114
+#, fuzzy
+msgid "Create"
+msgstr "ဖန္á€á€®á€¸á€™á€Šá€¹"
+
#: templates/web/base/email_sent.html:1
msgid "Create a report"
msgstr "အစီရင္á€á€¶á€…ာá€á€…္á€á€¯á€€á€­á€¯á€–န္á€á€®á€¸á€™á€Šá€¹"
-#: templates/web/base/admin/contact-form.html:137
+#: templates/web/base/admin/contact-form.html:138
#: templates/web/zurich/admin/body.html:62
msgid "Create category"
msgstr "အမ်ိဳးအစားဖန္á€á€®á€¸á€™á€Šá€¹"
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/responsepriorities/edit.html:58
msgid "Create priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:714
+#: perllib/FixMyStreet/Cobrand/Default.pm:718
+msgid "Create reports/updates as anonymous user"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:719
msgid "Create reports/updates as the council"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:713
+#: perllib/FixMyStreet/Cobrand/Default.pm:717
msgid "Create reports/updates on a user's behalf"
msgstr ""
@@ -880,13 +891,15 @@ msgstr "ယá€á€¯á€¡á€±á€»á€á€¡á€±á€”"
msgid "Currently no bodies have been created."
msgstr "ယá€á€¯á€±á€œá€¬á€±á€œá€¬á€†á€šá€¹ စာကိုယ္ ကိုမဖန္á€á€®á€¸á€›á€±á€žá€¸á€•ါ"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:825
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:830
#: templates/web/zurich/admin/report_edit-sdm.html:105
msgid "Customer not contactable"
msgstr ""
#: templates/web/base/dashboard/index.html:5
#: templates/web/base/dashboard/index.html:7
+#: templates/web/base/reports/index.html:15
+#: templates/web/base/reports/index.html:18
msgid "Dashboard"
msgstr ""
@@ -894,29 +907,36 @@ msgstr ""
msgid "Dealt with by subdivision within 5 working days"
msgstr ""
-#: templates/web/base/report/_inspect.html:73
+#: templates/web/base/admin/responsepriorities/list.html:9
+msgid "Default"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:39
+msgid "Default priority"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:72
msgid "Defect type"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:973
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1078
#: templates/web/base/admin/template_edit.html:50
#: templates/web/zurich/admin/template_edit.html:33
msgid "Delete template"
msgstr ""
#: templates/web/base/admin/bodies.html:31
-#: templates/web/base/admin/body.html:87
-#: templates/web/base/admin/category_edit.html:55
#: templates/web/base/admin/contact-form.html:58
-#: templates/web/zurich/admin/contact-form.html:12
+#: templates/web/zurich/admin/contact-form.html:13
msgid "Deleted"
msgstr "ဖ်က္ျပီးျပီ"
-#: templates/web/base/report/_main.html:110
-#: templates/web/base/report/update.html:59
+#: templates/web/base/report/_main.html:114
+#: templates/web/base/report/update.html:68
msgid "Describe why you are moderating this"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:32
#: templates/web/base/admin/responsepriorities/list.html:7
#: templates/web/zurich/admin/index-dm.html:22
#: templates/web/zurich/admin/index-sdm.html:20
@@ -940,7 +960,7 @@ msgstr "အေသးစိá€á€¹á€¡á€á€ºá€€á€¹á€¡á€œá€€á€¹"
msgid "Details:"
msgstr "အေသးစိá€á€¹á€¡á€á€ºá€€á€¹á€¡á€œá€€á€¹á€™á€ºá€¬á€¸-"
-#: templates/web/base/admin/body.html:93
+#: templates/web/base/admin/body.html:92
msgid "Devolved"
msgstr "á€á€…္ေယာက္မွá€á€…္ေယာက္လက္လြဲျá€á€„္း"
@@ -953,18 +973,17 @@ msgstr ""
msgid "Diligency prize league table"
msgstr ""
-#: templates/web/base/report/_main.html:114
-#: templates/web/base/report/update.html:61
-#, fuzzy
+#: templates/web/base/report/_main.html:118
+#: templates/web/base/report/update.html:70
msgid "Discard changes"
-msgstr "ေျပာင္းလဲမႈမ်ားကို သိမ္းဆည္းရန္"
+msgstr ""
#: templates/web/base/admin/open311-form-fields.html:95
msgid "Do not send email alerts on fetched comments to problem creator"
msgstr ""
#. ("%s is the site name")
-#: templates/web/base/auth/general.html:58
+#: templates/web/base/auth/general.html:60
#: templates/web/base/report/new/form_user_loggedout.html:25
#: templates/web/base/report/new/oauth_email_form.html:18
#: templates/web/base/report/update-form.html:30
@@ -972,40 +991,33 @@ msgstr ""
msgid "Do you have a %s password?"
msgstr ""
+#: templates/web/base/report/_inspect.html:87
+msgid "Do you want to automatically raise a defect?"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:57
msgid "Don&rsquo;t know"
msgstr ""
-#: templates/web/base/contact/index.html:108
+#: templates/web/base/contact/index.html:112
msgid "Don't like forms?"
msgstr ""
-#: templates/web/base/report/_item.html:25
+#: templates/web/base/report/_item.html:27
msgid "Down one"
msgstr ""
-#: templates/web/base/js/translation_strings.html:55
+#: templates/web/base/js/translation_strings.html:58
msgid "Drag and drop photos here or <u>click to upload</u>"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:10
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "Duplicate"
-msgstr "á‚ွစ္á€á€¯á€»á€•ဳလုပ္မည္"
-
-#: templates/web/base/report/_inspect.html:88
-#, fuzzy
+#: templates/web/base/report/_inspect.html:98
msgid "Duplicate of"
-msgstr "á‚ွစ္á€á€¯á€»á€•ဳလုပ္မည္"
+msgstr ""
-#: templates/web/base/report/_inspect.html:98
-#, fuzzy
+#: templates/web/base/report/_inspect.html:108
msgid "Duplicates"
-msgstr "á‚ွစ္á€á€¯á€»á€•ဳလုပ္မည္"
+msgstr ""
#: templates/web/base/admin/body.html:116
msgid ""
@@ -1015,43 +1027,43 @@ msgid ""
" "
msgstr ""
-#: templates/web/base/report/_inspect.html:16
-#: templates/web/base/report/_item.html:81
+#: templates/web/base/report/_inspect.html:26
+#: templates/web/base/report/_item.html:83
msgid "Easting/Northing:"
msgstr ""
#: templates/web/base/admin/list_updates.html:42
#: templates/web/base/admin/problem_row.html:41
-#: templates/web/base/admin/responsepriorities/list.html:26
+#: templates/web/base/admin/responsepriorities/list.html:28
#: templates/web/base/admin/templates.html:22
#: templates/web/base/admin/users.html:34
#: templates/web/zurich/admin/problem_row.html:48
msgid "Edit"
msgstr "ျပင္ဆင္မည္"
-#: templates/web/base/admin/body.html:140
+#: templates/web/base/admin/body.html:141
#: templates/web/base/admin/index.html:39
#: templates/web/zurich/admin/body.html:69
msgid "Edit body details"
msgstr "စာကိုယ္ကိုအေသးစိá€á€¹á€»á€•င္မည္"
-#: perllib/FixMyStreet/Cobrand/Default.pm:724
+#: perllib/FixMyStreet/Cobrand/Default.pm:729
msgid "Edit other users' details"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:725
+#: perllib/FixMyStreet/Cobrand/Default.pm:730
msgid "Edit other users' permissions"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:708
+#: perllib/FixMyStreet/Cobrand/Default.pm:712
msgid "Edit report category"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:709
+#: perllib/FixMyStreet/Cobrand/Default.pm:713
msgid "Edit report priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:707
+#: perllib/FixMyStreet/Cobrand/Default.pm:711
msgid "Edit reports"
msgstr ""
@@ -1074,15 +1086,15 @@ msgstr "အသစ္မြမ္းမံျá€á€„္း %dကိုျပင္
msgid "Editing user %d"
msgstr "%dအသံုးျပဳသူကိုျပင္ဆင္ေနသည္"
-#: templates/web/base/admin/category_edit.html:56
+#: templates/web/base/admin/category_edit.html:30
msgid "Editor"
msgstr "အယ္ဒီá€á€¬"
#: templates/web/base/admin/bodies.html:27
-#: templates/web/base/admin/category_edit.html:53
+#: templates/web/base/admin/category_edit.html:28
#: templates/web/base/admin/flagged.html:38
#: templates/web/base/admin/users.html:17
-#: templates/web/base/auth/general.html:49
+#: templates/web/base/auth/general.html:51
#: templates/web/zurich/admin/body-form.html:9
#: templates/web/zurich/admin/body.html:15
#: templates/web/zurich/auth/general.html:24
@@ -1090,13 +1102,14 @@ msgstr "အယ္ဒီá€á€¬"
msgid "Email"
msgstr "အီးေမးလ္"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1644
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1749
msgid "Email added to abuse list"
msgstr "အလြဲသံုးသည့္စာရင္းထဲá€á€¼á€„္အီးေမးလ္ထည့္ျပီး"
-#: templates/web/base/admin/contact-form.html:36
-#: templates/web/base/report/new/form_user_loggedin.html:28
-#: templates/web/base/report/update/form_name.html:19
+#: templates/web/base/admin/contact-form.html:38
+#: templates/web/base/alert/_list.html:74
+#: templates/web/base/report/new/form_user_loggedin.html:32
+#: templates/web/base/report/update/form_name.html:23
msgid "Email address"
msgstr ""
@@ -1108,11 +1121,11 @@ msgstr ""
msgid "Email alert deleted"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1641
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1746
msgid "Email already in abuse list"
msgstr "အလြဲသံုးသည့္စာရင္းထဲá€á€¼á€„္အီးေမးလ္ရွိျပီး"
-#: templates/web/base/admin/report_edit.html:141
+#: templates/web/base/admin/report_edit.html:129
#: templates/web/base/admin/update_edit.html:35
#: templates/web/base/admin/user-form.html:19
#: templates/web/zurich/admin/body.html:48
@@ -1133,8 +1146,8 @@ msgid ""
" <a href='https://www.mysociety.org/2013/02/20/open311-extended/' class='admin-offsite-link'>this article</a>."
msgstr ""
-#: templates/web/base/admin/body-form.html:120
-#: templates/web/base/admin/body-form.html:121
+#: templates/web/base/admin/body-form.html:122
+#: templates/web/base/admin/body-form.html:123
msgid ""
"Enable this <strong>can be devolved</strong> setting if one or more contacts have a \n"
" different endpoint (and send method) from the body's. For example, if reports for some categories of\n"
@@ -1149,11 +1162,11 @@ msgstr "ျပီးသည့္ရက္-"
msgid "Endpoint"
msgstr "ျပီးဆံုးမွá€á€¹-"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:76
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:81
msgid "Enter a Z&uuml;rich street name"
msgstr "လမ္းနာမည္ ျဖည့္စြက္ပါ"
-#: perllib/FixMyStreet/Cobrand/UK.pm:15
+#: perllib/FixMyStreet/Cobrand/UK.pm:16
msgid "Enter a nearby UK postcode, or street name and area"
msgstr "ယူေကအနီးနားရွိ စာá€á€­á€¯á€€á€¹á€”ံပါá€á€¹áŠá€žá€­á€¯á‚”မဟုá€á€¹á€œá€™á€¹á€¸á€¡á€™á€Šá€¹á‚ွင့္ဧရိယာရိုက္ထည့္ပါ"
@@ -1162,12 +1175,13 @@ msgstr "ယူေကအနီးနားရွိ စာá€á€­á€¯á€€á€¹á€”ံá€
msgid "Enter a nearby postcode, or street name and area"
msgstr "အနီးနားရွိ စာá€á€­á€¯á€€á€¹á€”ံပါá€á€¹áŠá€žá€­á€¯á‚”မဟုá€á€¹á€œá€™á€¹á€¸á€¡á€™á€Šá€¹á‚ွင့္ဧရိယာရိုက္ထည့္ပါ"
+#: perllib/FixMyStreet/Cobrand/DansMonQwat.pm:14
#: templates/web/base/around/postcode_form.html:5
#: templates/web/base/around/postcode_form.html:6
msgid "Enter a nearby street name and area"
msgstr "အနီးနားရွိလမ္းအမည္á‚ွင့္ဧရိယာကိုရိုက္ထည့္ပါ"
-#: templates/web/base/auth/general.html:116
+#: templates/web/base/auth/general.html:118
#: templates/web/base/report/new/form_user_loggedout_by_email.html:35
#: templates/web/base/report/update/form_user_loggedout_by_email.html:13
#: templates/web/zurich/auth/general.html:65
@@ -1187,8 +1201,8 @@ msgstr "ျပႆနာáအေသးစိá€á€¹á€¡á€á€ºá€€á€¹á€¡á€œá€€á€¹á€™
msgid "Error"
msgstr "အမွားအယြင္း"
-#: templates/web/base/reports/_list-filters.html:20
-#: templates/web/base/reports/_list-filters.html:28
+#: templates/web/base/reports/_list-filters.html:31
+#: templates/web/base/reports/_list-filters.html:39
msgid "Everything"
msgstr ""
@@ -1201,8 +1215,7 @@ msgstr "နမူနာစာá€á€­á€¯á€€á€¹á€±á€žá€á±á€¬á€”ံပါá€á€¹ %s
msgid "Examples:"
msgstr "နမူနာမ်ား -"
-#: templates/web/base/admin/report_edit.html:122
-#: templates/web/base/report/_inspect.html:42
+#: templates/web/base/admin/report-category.html:3
msgid "Existing category"
msgstr ""
@@ -1210,16 +1223,16 @@ msgstr ""
msgid "Expand map"
msgstr ""
-#: templates/web/base/report/new/form_report.html:52
+#: templates/web/base/report/new/form_report.html:54
msgid "Explain what’s wrong"
msgstr ""
-#: templates/web/base/dashboard/index.html:146
+#: templates/web/base/dashboard/index.html:147
msgid "Export as CSV"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:913
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:179
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:12
msgid "Extern"
@@ -1230,7 +1243,7 @@ msgstr ""
msgid "External ID"
msgstr ""
-#: templates/web/base/admin/body-form.html:87
+#: templates/web/base/admin/body-form.html:89
msgid "External URL"
msgstr ""
@@ -1242,13 +1255,20 @@ msgstr ""
msgid "External team"
msgstr ""
-#: templates/web/base/admin/category_edit.html:25
+#: perllib/FixMyStreet/Cobrand/Default.pm:673
+#: templates/web/base/admin/reportextrafields/edit.html:1
+#: templates/web/base/admin/reportextrafields/index.html:1
+#, fuzzy
+msgid "Extra Fields"
+msgstr "ေနာက္ထပ္အá€á€ºá€€á€¹á€¡á€œá€€á€¹á€™á€ºá€¬á€¸-"
+
+#: templates/web/base/admin/contact-form.html:141
#: templates/web/base/admin/report_edit.html:94
msgid "Extra data:"
msgstr "ေနာက္ထပ္အá€á€ºá€€á€¹á€¡á€œá€€á€¹á€™á€ºá€¬á€¸-"
-#: templates/web/base/report/_inspect.html:134
-#: templates/web/base/report/_item.html:106
+#: templates/web/base/report/_inspect.html:144
+#: templates/web/base/report/_item.html:108
msgid "Extra details"
msgstr ""
@@ -1256,6 +1276,11 @@ msgstr ""
msgid "Failed to send message"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:58
+#: templates/web/base/admin/reportextrafields/index.html:9
+msgid "Fields"
+msgstr ""
+
#: templates/web/zurich/admin/index-dm.html:33
#: templates/web/zurich/admin/index-sdm.html:30
msgid "Filter report list"
@@ -1269,52 +1294,32 @@ msgstr "ပထမအá¾á€€á€­á€™á€¹"
msgid "Fix this by choosing an <strong>area covered</strong> in the <em>Edit body details</em> form below."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:11
-#: templates/web/base/admin/report_blocks.html:26
+#: perllib/FixMyStreet/App/Controller/Admin/States.pm:35
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:133
+#: templates/web/base/admin/states/index.html:29
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:41
-#: templates/web/base/report/banner.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:17
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:45
msgid "Fixed"
msgstr "ျပင္ျပီးျပီ"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:13
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:7
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:62
msgid "Fixed - Council"
msgstr "ျပင္ျပီးျပီ-ေကာင္စီ"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:12
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:63
msgid "Fixed - User"
msgstr "ျပင္ျပီးျပီ-အသံုးျပဳသူ"
-#: templates/web/base/reports/_list-filters.html:14
-msgid "Fixed reports"
-msgstr ""
-
-#: templates/web/base/admin/problem_row.html:37
-msgid "Fixed:"
-msgstr "ျပင္ျပီးျပီ"
-
-#: templates/web/base/admin/body-form.html:95
-#: templates/web/base/admin/responsepriorities/edit.html:41
+#: templates/web/base/admin/body-form.html:97
+#: templates/web/base/admin/responsepriorities/edit.html:53
#: templates/web/zurich/admin/body-form.html:36
msgid "Flag as deleted"
msgstr "ဖ်က္ျပီးျပီဟုသá€á€¹á€™á€½á€á€¹á€™á€Šá€¹"
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/report_blocks.html:23
msgid "Flag user"
msgstr "သá€á€¹á€™á€½á€á€¹á€žá€Šá€¹á€·á€¡á€žá€¶á€¯á€¸á€»á€•ဳသူ"
-#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: perllib/FixMyStreet/Cobrand/Default.pm:644
#: templates/web/base/admin/users.html:20
msgid "Flagged"
msgstr ""
@@ -1331,7 +1336,7 @@ msgstr ""
msgid "Flagged users are not restricted in any way. This is just a list of users that have been marked for attention."
msgstr ""
-#: templates/web/base/admin/report_edit.html:147
+#: templates/web/base/admin/report_edit.html:135
#: templates/web/base/admin/user-form.html:100
msgid "Flagged:"
msgstr "အမွá€á€¹á€¡á€žá€¬á€¸á€»á€•ဳလုပ္ထားျá€á€„္း"
@@ -1344,21 +1349,25 @@ msgstr "ရပ္ကြက္ထဲမွအစီရင္á€á€¶á€…ာမ်ာ
msgid "For best results include a close-up and a wide shot"
msgstr ""
-#: templates/web/base/admin/body-form.html:71
+#: templates/web/base/admin/extra-metadata-form.html:52
+msgid "For each option, <strong>Key</strong> is the value which is stored in the database for that option and <strong>Name</strong> is the value displayed to the user."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:73
msgid "For more information, see <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
msgstr ""
-#: templates/web/base/auth/general.html:95
+#: templates/web/base/auth/general.html:97
#: templates/web/base/report/new/form_user_loggedout_password.html:20
#: templates/web/base/report/update/form_user_loggedout_password.html:19
msgid "Forgotten your password?"
msgstr "သင္áစကားá€á€½á€€á€¹á€±á€™á€·á€žá€¼á€¬á€¸á€»á€•ီလားá‹"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:743
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:748
msgid "Forwarded to external body"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:744
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:749
msgid "Forwarded wish to external body"
msgstr ""
@@ -1368,6 +1377,10 @@ msgstr ""
msgid "Frequently Asked Questions"
msgstr "မá¾á€€á€¬á€á€á€±á€™á€¸á€±á€žá€¬á€±á€™á€¸á€á€¼á€”္းမ်ား"
+#: templates/web/base/admin/stats.html:102
+msgid "Get Count"
+msgstr ""
+
#: templates/web/base/around/_updates.html:3
#: templates/web/base/report/display_tools.html:14
msgid "Get updates"
@@ -1383,10 +1396,14 @@ msgstr "%ျပႆနာáအသစ္မြမ္းမံမႈမ်ားá€
msgid "Get updates of problems in this %s"
msgstr ""
-#: templates/web/base/alert/_list.html:83
+#: templates/web/base/alert/_list.html:85
msgid "Give me an RSS feed"
msgstr "ကá½á€¼á‚္ုပ္ကို RSS Feed ေပးပါ"
+#: templates/web/base/admin/reportextrafields/edit.html:6
+msgid "Give this collection of fields a name. It is not shown publicly, just here in the admin."
+msgstr ""
+
#: templates/web/base/questionnaire/completed.html:14
msgid "Glad to hear it’s been fixed!"
msgstr ""
@@ -1396,8 +1413,9 @@ msgstr ""
#: templates/web/base/admin/index.html:49
#: templates/web/base/alert/index.html:34
#: templates/web/base/around/postcode_form.html:13
-#: templates/web/base/reports/_list-filters.html:38
-#: templates/web/base/reports/_list-filters.html:53
+#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:64
+#: templates/web/base/reports/index.html:75
#: templates/web/zurich/admin/stats.html:26
msgid "Go"
msgstr "သြားမည္"
@@ -1406,7 +1424,7 @@ msgstr "သြားမည္"
msgid "Going to send questionnaire?"
msgstr "စစ္á€á€™á€¹á€¸á€€á€­á€¯á€•ို႔ေá€á€¬á€·á€™á€½á€¬á€œá€¬á€¸á‹"
-#: perllib/FixMyStreet/Cobrand/Default.pm:726
+#: perllib/FixMyStreet/Cobrand/Default.pm:731
msgid "Grant access to the admin"
msgstr ""
@@ -1414,10 +1432,6 @@ msgstr ""
msgid "Graph of problem creation by status over time"
msgstr ""
-#: templates/web/base/reports/index.html:15
-msgid "Greyed-out lines are councils that no longer exist."
-msgstr ""
-
#: templates/web/base/questionnaire/index.html:48
msgid "Has this problem been fixed?"
msgstr "ဒီျပႆနာကိုေျဖရွင္းျပီးျပီလား"
@@ -1428,7 +1442,7 @@ msgstr "ယá€á€„္က ေကာင္စီထံ ျပႆနာမ်ား
#: templates/web/base/main_nav_items.html:40
#: templates/web/zurich/about/faq-de-ch.html:1
-#: templates/web/zurich/footer.html:23
+#: templates/web/zurich/footer.html:22
#: templates/web/zurich/nav_over_content.html:8
msgid "Help"
msgstr "အကူအညီ"
@@ -1438,22 +1452,13 @@ msgstr "အကူအညီ"
msgid "Help <strong>%s</strong> resolve your problem quicker, by providing some extra detail. This extra information will not be published online."
msgstr ""
-#: templates/web/base/alert/_list.html:9
-msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
-msgstr ""
-
-#: templates/web/zurich/footer.html:12
+#: templates/web/zurich/footer.html:11
msgid "Hi %s"
msgstr "မဂá¤á€œá€¬á€•ါ%s"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:906
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:19
-#: templates/web/base/admin/report_blocks.html:28
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:911
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:60
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:19
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:11
#: templates/web/zurich/admin/stats.html:32
@@ -1461,16 +1466,33 @@ msgstr "မဂá¤á€œá€¬á€•ါ%s"
msgid "Hidden"
msgstr "ေဖ်ာက္ထားေသာ"
-#: templates/web/base/report/_main.html:105
-#, fuzzy
+#: templates/web/base/report/_main.html:109
msgid "Hide entire report"
-msgstr "အစီရင္á€á€¶ ျပန္လည္ေပးပို႔ရန္"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:1
+#: templates/web/base/my/anonymize.html:2
+msgid "Hide my name"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:21
+msgid "Hide my name everywhere"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:10
+msgid "Hide my name in this update"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:16
+msgid "Hide my name on this report"
+msgstr ""
#: templates/web/base/around/display_location.html:67
msgid "Hide old"
msgstr "အေဟာင္းေဖ်ာက္ထားေသာ"
#: templates/web/base/around/display_location.html:62
+#: templates/web/base/js/translation_strings.html:55
msgid "Hide pins"
msgstr ""
@@ -1478,7 +1500,16 @@ msgstr ""
msgid "Hide update completely?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:49
+#: templates/web/base/report/_report_meta_info.html:3
+#: templates/web/base/report/update.html:55
+msgid "Hide your name?"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:38
+msgid "Hint"
+msgstr ""
+
+#: templates/web/base/admin/category_edit.html:24
msgid "History"
msgstr "ရာဇá€á€„္"
@@ -1495,12 +1526,12 @@ msgid "How to send successful reports"
msgstr "ေကာင္းမြန္ေသာအစီရင္á€á€¶á€…ာကိုဘယ္လိုပို႔မလဲ"
#: templates/web/base/tokens/confirm_problem.html:36
-#: templates/web/base/tokens/confirm_problem.html:40
+#: templates/web/base/tokens/confirm_problem.html:41
msgid "I just reported a problem on @fixmystreet"
msgstr ""
-#: templates/web/base/tokens/confirm_update.html:19
-#: templates/web/base/tokens/confirm_update.html:23
+#: templates/web/base/tokens/confirm_update.html:20
+#: templates/web/base/tokens/confirm_update.html:25
msgid "I just updated a problem on @fixmystreet"
msgstr ""
@@ -1520,17 +1551,25 @@ msgstr ""
msgid "ID"
msgstr "အိုင္ဒီ"
-#: templates/web/base/admin/body-form.html:30
-#: templates/web/base/admin/body-form.html:31
+#: templates/web/base/admin/body-form.html:32
+#: templates/web/base/admin/body-form.html:33
msgid ""
"Identify a <strong>parent</strong> if this body is itself part of another body.\n"
" For basic installations, you don't need to join bodies in this way."
msgstr ""
+#: templates/web/base/auth/token.html:19
+msgid "If there's a user associated with the address you entered, we've sent a confirmation email."
+msgstr ""
+
#: templates/web/base/admin/responsepriorities/edit.html:23
msgid "If this priority is passed to an external service (e.g. Exor/Confirm) enter the priority code to use with that service here."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:24
+msgid "If ticked the user won’t see an input field, just the ‘Description’ text."
+msgstr ""
+
#: templates/web/base/admin/contact-form.html:14
msgid ""
"If two or more bodies serve the same location, FixMyStreet combines identical categories into a single entry in\n"
@@ -1541,7 +1580,7 @@ msgstr ""
msgid "If you get some more information about the status of your problem, please come back to the site and leave an update."
msgstr ""
-#: templates/web/base/admin/responsepriorities/edit.html:33
+#: templates/web/base/admin/responsepriorities/edit.html:45
msgid "If you only want this priority to be an option for specific categories, pick them here. By default they will show for all categories."
msgstr ""
@@ -1564,7 +1603,7 @@ msgid ""
"(please note it will not be sent to the council)."
msgstr ""
-#: templates/web/base/admin/contact-form.html:30
+#: templates/web/base/admin/contact-form.html:32
msgid "If you're using <strong>a send method that is not email</strong>, enter the service ID (Open311) or equivalent identifier here."
msgstr ""
@@ -1591,7 +1630,7 @@ msgid ""
" when they are shown on the site. Enter the ID (number) of that user."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:133
+#: perllib/FixMyStreet/App/Controller/Contact.pm:134
msgid "Illegal ID"
msgstr "á€á€›á€¬á€¸á€™á€á€„္ေသာအိုင္ဒီ"
@@ -1599,13 +1638,6 @@ msgstr "á€á€›á€¬á€¸á€™á€á€„္ေသာအိုင္ဒီ"
msgid "Illegal feed selection"
msgstr "á€á€›á€¬á€¸á€™á€á€„္ေသာအိုင္ဒီ"
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "In Progress"
-msgstr "လုပ္ေဆာင္ေနဆဲ"
-
#: templates/web/base/admin/flagged.html:39
msgid "In abuse table?"
msgstr ""
@@ -1614,18 +1646,17 @@ msgstr ""
msgid "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:192
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:954
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:9
-#: templates/web/base/report/banner.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:5
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:197
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:959
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:8
msgid "In progress"
msgstr "လုပ္ေဆာင္ေနဆဲ"
+#: templates/web/base/admin/contact-form.html:57
+msgid "Inactive"
+msgstr ""
+
#: templates/web/base/tokens/confirm_alert.html:11
msgid "Inbox zero, here we come!"
msgstr ""
@@ -1642,11 +1673,15 @@ msgstr ""
msgid "Incorrect has_photo value \"%s\""
msgstr ""
-#: templates/web/base/admin/contact-form.html:84
+#: templates/web/base/report/_inspect.html:5
+msgid "Inspect report"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:85
msgid "Inspection required"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:711
+#: perllib/FixMyStreet/Cobrand/Default.pm:715
msgid "Instruct contractors to fix problems"
msgstr ""
@@ -1654,13 +1689,6 @@ msgstr ""
msgid "Internal notes"
msgstr "အá€á€¼á€„္းမွá€á€¹á€…ု"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:11
-msgid "Internal referral"
-msgstr ""
-
#: templates/web/base/offline/appcache.html:3
msgid "Internet glitch"
msgstr ""
@@ -1669,7 +1697,7 @@ msgstr ""
msgid "Invalid agency_responsible value %s"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1502
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1607
msgid "Invalid end date"
msgstr "ေနာက္ဆံုးေန႔မမွန္ကန္ပါ"
@@ -1677,26 +1705,15 @@ msgstr "ေနာက္ဆံုးေန႔မမွန္ကန္ပါ"
msgid "Invalid format %s specified."
msgstr "ပံုစံ %s သည္မမွန္ကန္ပါ"
-#: perllib/FixMyStreet/App/Controller/Report.pm:398
+#: perllib/FixMyStreet/App/Controller/Report.pm:409
msgid "Invalid location. New location must be covered by the same council."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1498
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1603
msgid "Invalid start date"
msgstr "စမည့္ရက္မမွန္ကန္ပါ"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:7
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:4
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Investigating"
-msgstr "စံုစမ္းစစ္ေဆးေနဆဲ"
-
-#: templates/web/base/contact/blurb.html:8
+#: templates/web/base/contact/blurb.html:2
msgid "It's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there."
msgstr ""
@@ -1704,37 +1721,59 @@ msgstr ""
msgid "It’s on its way to the council right now."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:177
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:182
msgid "Jurisdiction Unknown"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:15
msgid "Jurisdiction unknown"
msgstr ""
-#: templates/web/base/auth/general.html:91
+#: templates/web/base/auth/general.html:93
#: templates/web/base/report/new/form_user_loggedout_password.html:16
#: templates/web/base/report/update/form_user_loggedout_password.html:15
#: templates/web/zurich/auth/general.html:40
msgid "Keep me signed in on this computer"
msgstr "ဒီကြန္ျပဴá€á€¬á€™á€½á€¬á€á€„္ေနေအာင္ျပဳလုပ္မည္"
+#: templates/web/base/admin/extra-metadata-form.html:61
+msgid "Key"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:9
+#: templates/web/base/admin/states/index.html:95
+msgid "Label"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:6
+#: templates/web/base/admin/reportextrafields/edit.html:45
+msgid "Language"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/index.html:8
+msgid "Languages"
+msgstr ""
+
#: templates/web/base/dashboard/index.html:50
msgid "Last 4 weeks"
msgstr ""
#: templates/web/base/dashboard/index.html:49
-#, fuzzy
+#: templates/web/base/reports/index.html:38
msgid "Last 7 days"
-msgstr "ေနာက္ဆံုးအသစ္မြမ္းမံျá€á€„္း-"
+msgstr ""
#: templates/web/base/admin/body.html:74
#: templates/web/zurich/admin/body.html:16
msgid "Last editor"
msgstr "ေနာက္ဆံုးအယ္ဒီá€á€¬"
+#: templates/web/base/questionnaire/index.html:25
+msgid "Last update"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:89
msgid "Last update:"
msgstr "ေနာက္ဆံုးအသစ္မြမ္းမံျá€á€„္း-"
@@ -1743,23 +1782,27 @@ msgstr "ေနာက္ဆံုးအသစ္မြမ္းမံျá€á€„္
msgid "Last&nbsp;update:"
msgstr ""
-#: templates/web/base/report/_inspect.html:20
-#: templates/web/base/report/_item.html:86
+#: templates/web/base/report/_inspect.html:30
+#: templates/web/base/report/_item.html:88
msgid "Latitude/Longitude:"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:50
+#: templates/web/base/reports/_list-filters.html:61
msgid "Least recently updated"
msgstr ""
-#: templates/web/base/admin/body-form.html:127
+#: templates/web/base/admin/body-form.html:129
msgid "Leave this blank if all reports to this body should be sent using the same send method (e.g., \"%s\")."
msgstr ""
-#: templates/web/base/dashboard/index.html:150
+#: templates/web/base/dashboard/index.html:151
msgid "Less than 7 days old"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:47
+msgid "List"
+msgstr ""
+
#: templates/web/base/admin/body.html:31
msgid "List all reported problems"
msgstr "အစီရင္á€á€¶á€…ာá€á€„္ျပီးေသာျပႆနာစာရင္းအားလံုး"
@@ -1790,23 +1833,23 @@ msgstr "ေဒသá€á€¼á€„္းအသိေပးá€á€ºá€€á€¹"
msgid "Locate the problem on a map of the area"
msgstr "ဧရိယာáေျမပံုá€á€…္á€á€¯á€á€¼á€„္ျပႆနာကိုေနရာသá€á€¹á€™á€½á€á€¹á€™á€Šá€¹"
-#: templates/web/base/auth/general.html:22
+#: templates/web/base/auth/general.html:24
#: templates/web/base/report/new/form_user_loggedout.html:6
#: templates/web/base/report/update/form_user_loggedout.html:7
msgid "Log in with Facebook"
msgstr ""
-#: templates/web/base/auth/general.html:30
+#: templates/web/base/auth/general.html:32
#: templates/web/base/report/new/form_user_loggedout.html:14
#: templates/web/base/report/update/form_user_loggedout.html:15
msgid "Log in with Twitter"
msgstr ""
-#: templates/web/base/js/translation_strings.html:59
+#: templates/web/base/js/translation_strings.html:62
msgid "Log in with email"
msgstr ""
-#: templates/web/base/dashboard/index.html:145
+#: templates/web/base/dashboard/index.html:146
#: templates/web/base/dashboard/index.html:38
msgid "Look up"
msgstr ""
@@ -1815,11 +1858,11 @@ msgstr ""
msgid "MAP"
msgstr "ေျမပံု"
-#: perllib/FixMyStreet/Cobrand/Default.pm:712
+#: perllib/FixMyStreet/Cobrand/Default.pm:716
msgid "Manage shortlist"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:45
+#: templates/web/base/reports/_list-filters.html:56
msgid "Manual order"
msgstr ""
@@ -1835,19 +1878,11 @@ msgstr ""
msgid "Mark users whose behaviour you want to keep a check on as <strong>flagged</strong>."
msgstr ""
-#: templates/web/base/reports/index.html:27
-msgid "Marked fixed/closed in the past eight weeks"
-msgstr ""
-
-#: templates/web/base/reports/index.html:28
-msgid "Marked fixed/closed more than eight weeks ago"
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/Default.pm:710
+#: perllib/FixMyStreet/Cobrand/Default.pm:714
msgid "Markup problem details"
msgstr ""
-#: templates/web/base/contact/index.html:96
+#: templates/web/base/contact/index.html:100
msgid "Message"
msgstr "စာ"
@@ -1867,68 +1902,69 @@ msgstr ""
msgid "Missing jurisdiction_id"
msgstr ""
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:706
+#: perllib/FixMyStreet/Cobrand/Default.pm:710
msgid "Moderate report details"
msgstr ""
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate this report"
msgstr ""
#: templates/web/base/report/update.html:12
-#, fuzzy
msgid "Moderate this update"
-msgstr "%s မွာ %s မွá€á€„္á€á€²á€·á€žá€Šá€¹"
+msgstr ""
-#: templates/web/base/report/_main.html:69
-#: templates/web/base/report/update.html:49
-#, fuzzy
+#: templates/web/base/report/_main.html:73
+#: templates/web/base/report/update.html:58
msgid "Moderated by %s at %s"
-msgstr "%s မွာ %s မွá€á€„္á€á€²á€·á€žá€Šá€¹"
+msgstr ""
#: templates/web/zurich/admin/stats.html:34
msgid "Moderated by division within one working day"
msgstr ""
-#: templates/web/base/report/_main.html:109
-#: templates/web/base/report/update.html:57
-#, fuzzy
+#: templates/web/base/report/_main.html:113
+#: templates/web/base/report/update.html:66
msgid "Moderation reason:"
-msgstr "အျá€á€¬á€¸ ဧရိယာမ်ား"
+msgstr ""
#: templates/web/base/admin/stats.html:11
msgid "Month"
msgstr "လ"
-#: templates/web/base/reports/_list-filters.html:51
+#: templates/web/base/reports/_list-filters.html:62
msgid "Most commented"
msgstr ""
#: templates/web/base/admin/bodies.html:25
#: templates/web/base/admin/body-form.html:24
+#: templates/web/base/admin/extra-metadata-form.html:65
#: templates/web/base/admin/flagged.html:16
#: templates/web/base/admin/flagged.html:37
#: templates/web/base/admin/index.html:62
#: templates/web/base/admin/list_updates.html:7
+#: templates/web/base/admin/reportextrafields/edit.html:11
+#: templates/web/base/admin/reportextrafields/index.html:6
#: templates/web/base/admin/reports.html:14
#: templates/web/base/admin/responsepriorities/list.html:6
+#: templates/web/base/admin/states/index.html:108
+#: templates/web/base/admin/states/index.html:11
#: templates/web/base/admin/users.html:16
-#: templates/web/base/auth/general.html:106
-#: templates/web/base/report/new/form_user_loggedin.html:40
+#: templates/web/base/auth/general.html:108
+#: templates/web/base/report/new/form_user_loggedin.html:42
#: templates/web/base/report/new/form_user_loggedout_by_email.html:7
-#: templates/web/base/report/update/form_name.html:23
-#: templates/web/base/reports/index.html:23
+#: templates/web/base/report/update/form_name.html:27
#: templates/web/zurich/admin/body-form.html:4
#: templates/web/zurich/auth/general.html:60
#: templates/web/zurich/report/new/fill_in_details_form.html:59
msgid "Name"
msgstr "အမည္"
-#: templates/web/base/admin/report_edit.html:139
+#: templates/web/base/admin/report_edit.html:127
#: templates/web/base/admin/responsepriorities/edit.html:13
#: templates/web/base/admin/update_edit.html:34
#: templates/web/base/admin/user-form.html:16
@@ -1940,7 +1976,7 @@ msgstr "အမည္-"
msgid "Name: %s"
msgstr "အမည္ - %s"
-#: templates/web/base/report/_inspect.html:28
+#: templates/web/base/report/_inspect.html:38
msgid "Navigate to this problem"
msgstr ""
@@ -1949,34 +1985,38 @@ msgstr ""
msgid "Nearest named road to the pin placed on the map (automatically generated using OpenStreetMap): %s%s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:129
+#: perllib/FixMyStreet/Cobrand/UK.pm:134
msgid "Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:527
-#: perllib/FixMyStreet/Cobrand/Default.pm:567
+#: perllib/FixMyStreet/Cobrand/Default.pm:538
+#: perllib/FixMyStreet/Cobrand/Default.pm:566
msgid "Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"
msgstr ""
-#: perllib/FixMyStreet/Script/Alerts.pm:319
+#: perllib/FixMyStreet/Script/Alerts.pm:316
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s\n"
"\n"
msgstr ""
-#: templates/web/base/auth/token.html:17 templates/web/base/email_sent.html:5
+#: templates/web/base/auth/token.html:18
+msgid "Nearly done!"
+msgstr ""
+
+#: templates/web/base/auth/token.html:22 templates/web/base/email_sent.html:5
msgid "Nearly done! Now check your email&hellip;"
msgstr ""
-#: templates/web/base/reports/index.html:24
-msgid "New <br>problems"
-msgstr "အသစ္<br>ျပႆနာမ်ား"
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:131
+msgid "New"
+msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:259
+#: perllib/FixMyStreet/App/Controller/Admin.pm:262
msgid "New body added"
msgstr "စာကိုယ္အသစ္ထည့္ျပီးျပီ"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:405
+#: perllib/FixMyStreet/App/Controller/Admin.pm:386
msgid "New category contact added"
msgstr "ေá€á€«á€„္းစဥ္အသစ္အဆက္အသြယ္ထည့္ျပီးျပီ"
@@ -2002,7 +2042,7 @@ msgid "New password:"
msgstr ""
#: templates/web/base/admin/responsepriorities/edit.html:4
-#: templates/web/base/admin/responsepriorities/list.html:32
+#: templates/web/base/admin/responsepriorities/list.html:34
msgid "New priority"
msgstr ""
@@ -2031,6 +2071,7 @@ msgid "New reports"
msgstr "အစီရင္á€á€¶á€…ာအသစ္မ်ား"
#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/states/index.html:91
msgid "New state"
msgstr "ျမိဳ႕အသစ္"
@@ -2040,7 +2081,7 @@ msgstr "ျမိဳ႕အသစ္"
msgid "New template"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:47
+#: templates/web/base/reports/_list-filters.html:58
msgid "Newest"
msgstr ""
@@ -2048,20 +2089,19 @@ msgstr ""
msgid "Next"
msgstr "ေနာက္သို႔"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1203
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
+#: perllib/FixMyStreet/Cobrand/Default.pm:1237
#: templates/web/base/admin/category_edit.html:4
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:137
+#: templates/web/base/admin/report_edit.html:125
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:26
#: templates/web/base/questionnaire/creator_fixed.html:16
#: templates/web/base/questionnaire/index.html:106
#: templates/web/base/questionnaire/index.html:55
+#: templates/web/base/report/_inspect.html:92
msgid "No"
msgstr "မရွိပါ"
@@ -2077,7 +2117,7 @@ msgstr "စာကိုယ္မရွိ"
msgid "No council"
msgstr "ေကာင္စီမရွိ"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:445
+#: perllib/FixMyStreet/DB/Result/Problem.pm:372
msgid "No council selected"
msgstr "မည္သည့္ေကာင္စီမွမေရြးရေသးပါ"
@@ -2093,25 +2133,16 @@ msgstr ""
msgid "No flagged users found."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:14
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:8
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "No further action"
-msgstr ""
-
#: templates/web/zurich/admin/report_edit-sdm.html:125
#: templates/web/zurich/admin/report_edit.html:259
msgid "No further updates"
msgstr "အသစ္မြမ္းမံမႈမ်ားမေá€á€¼á‚•ပါ"
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:84
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:68
msgid "No inspections by that inspector in the selected date range."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:86
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:70
msgid "No inspections in the selected date range."
msgstr ""
@@ -2119,8 +2150,8 @@ msgstr ""
msgid "No result returned"
msgstr "ရလဒ္မေá€á€¼á‚•ပါ"
-#: templates/web/base/admin/body-form.html:66
-#: templates/web/base/admin/body-form.html:67
+#: templates/web/base/admin/body-form.html:68
+#: templates/web/base/admin/body-form.html:69
msgid ""
"No specific areas are currently available, because the <code>MAPIT_URL</code> in\n"
" your config file is not pointing to a live MapIt service."
@@ -2153,17 +2184,8 @@ msgid ""
" activity across their body), the ability to hide reports or set special report statuses."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:9
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "Not Responsible"
-msgstr "á€á€¬á€á€”္ယူမႈမရွိျá€á€„္း"
-
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:181
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:186
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:933
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:13
msgid "Not contactable"
@@ -2182,7 +2204,7 @@ msgid "Not reported to council"
msgstr "ေကာင္စီသို႔အစီရင္မá€á€¶á€›á€±á€žá€¸"
#: templates/web/base/admin/body.html:75
-#: templates/web/base/admin/category_edit.html:57
+#: templates/web/base/admin/category_edit.html:31
#: templates/web/zurich/admin/body.html:17
msgid "Note"
msgstr "မွá€á€¹á€…ု"
@@ -2192,7 +2214,7 @@ msgid "Note that when including unconfirmed reports we use the date the report w
msgstr ""
#: templates/web/zurich/admin/body.html:55
-#: templates/web/zurich/admin/contact-form.html:17
+#: templates/web/zurich/admin/contact-form.html:19
msgid "Note:"
msgstr "မွá€á€¹á€…ု -"
@@ -2204,6 +2226,10 @@ msgstr "မွá€á€¹á€…ု <strong> %s </strong>"
msgid "Notes from SDM to DM"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:26
+msgid "Notice"
+msgstr ""
+
#: templates/web/base/report/new/oauth_email_form.html:17
msgid "Now to submit your report&hellip;"
msgstr "ယá€á€¯á€žá€„္áအစီရင္á€á€¶á€…ာကိုသြင္းá‚ိုင္ပါျပီ &hellip;"
@@ -2214,63 +2240,43 @@ msgstr "ယá€á€¯á€žá€„္áအစီရင္á€á€¶á€…ာကိုသြင္
msgid "Now to submit your update&hellip;"
msgstr ""
+#: templates/web/base/reports/index.html:98
+msgid "Number of problems reported in each category, in the last 7 days."
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:43
msgid "OK"
msgstr "အိုေက"
-#: templates/web/base/js/translation_strings.html:67
+#: templates/web/base/js/translation_strings.html:70
msgid "Offline data cleared"
msgstr ""
-#: templates/web/base/js/translation_strings.html:64
+#: templates/web/base/js/translation_strings.html:67
msgid "Offline update data saved"
msgstr ""
-#: templates/web/base/reports/index.html:26
-msgid "Old / unknown <br>problems"
-msgstr "အေဟာင္းáŠá€¡á€™á€Šá€¹á€™á€žá€­ <br>ျပႆနာမ်ား"
-
#: templates/web/base/admin/questionnaire.html:24
msgid "Old state"
msgstr "ျပည္နယ္အေဟာင္း"
-#: templates/web/base/reports/index.html:28
-msgid "Older <br>fixed"
-msgstr "ပိုáေဟာင္းေသာ <br> ျပင္ျပီးျပီ"
-
-#: templates/web/base/reports/index.html:25
-msgid "Older <br>problems"
-msgstr "ပိုáေဟာင္းေသာ<br>ျပႆနာမ်ား"
-
-#: templates/web/base/reports/_list-filters.html:48
+#: templates/web/base/reports/_list-filters.html:59
msgid "Oldest"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:900
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:25
-#: templates/web/base/admin/report_blocks.html:6
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:905
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:10
+#: templates/web/base/admin/states/index.html:102
+#: templates/web/base/admin/states/index.html:25
+#: templates/web/base/admin/states/index.html:32
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:3
-#: templates/web/base/report/update/form_update.html:41
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:7
#: templates/web/zurich/admin/update_edit.html:18
msgid "Open"
msgstr "ဖြင့္မည္"
-#: templates/web/base/reports/index.html:25
-msgid "Open for more than four weeks, with an update within the past eight weeks"
-msgstr ""
-
-#: templates/web/base/reports/index.html:26
-msgid "Open, but not had any update in eight weeks"
-msgstr ""
-
#: templates/web/base/admin/open311-form-fields.html:47
msgid "Open311 API Key"
msgstr ""
@@ -2291,26 +2297,38 @@ msgstr ""
msgid "Open311 specification"
msgstr ""
-#: templates/web/base/alert/_list.html:61
-msgid "Or problems reported to:"
-msgstr "သို႔မဟုá€á€¹ ျပႆနာမ်ားကိုá€á€„္ျပရန္ေနရာမွာ-"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "Options"
+msgstr ""
+
+#: templates/web/base/alert/_list.html:84
+msgid "Or subscribe by RSS"
+msgstr ""
-#: templates/web/base/alert/_list.html:37
-msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
+#: templates/web/base/admin/extra-metadata-form.html:8
+msgid "Order"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:1061
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:659
-#: perllib/FixMyStreet/DB/Result/Problem.pm:642
-#: perllib/FixMyStreet/DB/Result/Problem.pm:649
-#: perllib/FixMyStreet/DB/Result/Problem.pm:664
-#: perllib/FixMyStreet/DB/Result/Problem.pm:673
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1107
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:675
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:676
+#: perllib/FixMyStreet/DB/Result/Problem.pm:579
+#: perllib/FixMyStreet/DB/Result/Problem.pm:586
+#: perllib/FixMyStreet/DB/Result/Problem.pm:601
+#: perllib/FixMyStreet/DB/Result/Problem.pm:610
#: perllib/FixMyStreet/Script/Reports.pm:183
#: perllib/FixMyStreet/Script/Reports.pm:198
msgid "Other"
msgstr "á€á€»á€á€¬á€¸"
+#: templates/web/base/reports/index.html:107
+msgid "Other categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:92
+msgid "Overall average"
+msgstr ""
+
#: templates/web/base/admin/list_updates.html:8
msgid "Owner"
msgstr "ပိုင္ရွင္"
@@ -2320,17 +2338,16 @@ msgstr "ပိုင္ရွင္"
msgid "Page Not Found"
msgstr "စာမ်က္á‚ွာရွာမေá€á€¼á‚•ပါ"
-#: templates/web/base/admin/body-form.html:37
+#: templates/web/base/admin/body-form.html:39
#: templates/web/zurich/admin/body-form.html:14
msgid "Parent"
msgstr "ပင္မ"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:20
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:61
msgid "Partial"
msgstr "á€á€…္á€á€€á€¹"
-#: templates/web/base/auth/general.html:109
+#: templates/web/base/auth/general.html:111
#: templates/web/base/report/new/form_user_loggedout_by_email.html:28
#: templates/web/base/report/update/form_user_loggedout_by_email.html:6
#: templates/web/zurich/auth/general.html:32
@@ -2338,7 +2355,7 @@ msgstr "á€á€…္á€á€€á€¹"
msgid "Password (optional)"
msgstr "စကားá€á€½á€€á€¹(ထည့္á€á€ºá€„္မွထည့္ပါ)"
-#: templates/web/base/auth/general.html:82
+#: templates/web/base/auth/general.html:84
msgid "Password:"
msgstr "စကားá€á€½á€€á€¹-"
@@ -2350,17 +2367,21 @@ msgstr "အျမဲá€á€™á€¹á€¸á€œá€„့္á€á€¹"
msgid "Permissions:"
msgstr ""
+#: templates/web/base/report/_inspect.html:19
+msgid "Phone Reporter:"
+msgstr ""
+
#: templates/web/zurich/report/new/fill_in_details_form.html:65
msgid "Phone number"
msgstr "ဖုန္းနံပါá€á€¹"
-#: templates/web/base/report/new/form_user_loggedin.html:57
+#: templates/web/base/report/new/form_user_loggedin.html:59
#: templates/web/base/report/new/form_user_loggedout_by_email.html:25
msgid "Phone number (optional)"
msgstr "ဖုန္းနံပါá€á€¹(ထည့္á€á€ºá€„္မွထည့္ပါ)"
#: perllib/FixMyStreet/Script/Reports.pm:87
-#: templates/web/base/admin/report_edit.html:146
+#: templates/web/base/admin/report_edit.html:134
#: templates/web/base/admin/user-form.html:21
#: templates/web/zurich/admin/stats.html:39
msgid "Phone:"
@@ -2369,9 +2390,9 @@ msgstr "ဖုန္း-"
#: templates/web/base/questionnaire/index.html:78
#: templates/web/base/questionnaire/index.html:93
#: templates/web/base/questionnaire/index.html:95
-#: templates/web/base/report/new/form_report.html:28
-#: templates/web/base/report/new/form_report.html:43
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/new/form_report.html:45
+#: templates/web/base/report/new/form_report.html:47
#: templates/web/base/report/update/form_update.html:22
#: templates/web/base/report/update/form_update.html:24
#: templates/web/base/report/update/form_update.html:7
@@ -2389,12 +2410,12 @@ msgstr "ဓာá€á€¹á€•ံု"
msgid "Photo is required."
msgstr ""
-#: templates/web/zurich/admin/contact-form.html:14
+#: templates/web/zurich/admin/contact-form.html:16
msgid "Photo required"
msgstr ""
#: templates/web/base/questionnaire/index.html:78
-#: templates/web/base/report/new/form_report.html:28
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/update/form_update.html:7
#: templates/web/zurich/report/new/fill_in_details_form.html:20
msgid "Photos"
@@ -2404,17 +2425,18 @@ msgstr ""
msgid "Photos of recent nearby reports"
msgstr "မá¾á€€á€¬á€±á€žá€¸á€á€„္ကအနီးအနားက အစီရင္á€á€¶á€…ာမ်ားáဓာá€á€¹á€•ံု"
+#: templates/web/base/reports/index.html:63
+#: templates/web/base/reports/index.html:66
+msgid "Pick your council"
+msgstr ""
+
#: templates/web/base/around/display_location.html:76
#: templates/web/base/js/translation_strings.html:30
msgid "Place pin on map"
msgstr "ေျမပံုá€á€¼á€„္ပင္á€á€…္á€á€¯á€‘ားမည္"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:940
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:946
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:8
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:945
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:951
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:9
#: templates/web/zurich/admin/index-dm.html:9
@@ -2432,31 +2454,27 @@ msgstr "စကားá€á€½á€€á€¹á€€á€­á€¯á€»á€•န္စစ္ေဆးျပီ
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:18
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:43
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:45
#: templates/web/zurich/auth/general.html:3
#: templates/web/zurich/auth/general.html:9
msgid "Please check your email address is correct"
msgstr "သင္áအီးေမးလ္လိပ္စာမွန္áŠá€™á€™á€½á€”္ကိုစစ္ေဆးပါ"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:350
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:844
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:867
-#: perllib/FixMyStreet/DB/Result/Problem.pm:456
+#: perllib/FixMyStreet/App/Controller/Admin.pm:329
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:873
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:896
+#: perllib/FixMyStreet/DB/Result/Problem.pm:383
#: templates/web/base/js/translation_strings.html:9
msgid "Please choose a category"
msgstr "ေá€á€«á€„္းစဥ္á€á€…္á€á€¯á€€á€­á€¯á€±á€›á€¼á€¸á€•ါ"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:462
-msgid "Please choose a property type"
-msgstr "ပစá¥á€Šá€¹á€¸á€¡á€™á€ºá€­á€³á€¸á€¡á€…ားá€á€…္á€á€¯á€€á€­á€¯á€±á€›á€¼á€¸á€•ါ"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:396
+#: perllib/FixMyStreet/App/Controller/Admin.pm:377
#: templates/web/base/admin/bodies.html:4 templates/web/base/admin/body.html:11
msgid "Please correct the errors below"
msgstr ""
-#: templates/web/base/contact/blurb.html:12
+#: templates/web/base/contact/blurb.html:6
msgid ""
"Please do <strong>not</strong> report problems through this form; messages go to\n"
"the team behind this site, not a council. To report a problem,\n"
@@ -2467,18 +2485,18 @@ msgstr ""
msgid "Please do not be abusive&nbsp;&mdash; abusing your council devalues the service for all users."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:351
-#: perllib/FixMyStreet/DB/Result/Comment.pm:127
+#: perllib/FixMyStreet/App/Controller/Admin.pm:330
+#: perllib/FixMyStreet/DB/Result/Comment.pm:128
#: templates/web/base/js/translation_strings.html:2
msgid "Please enter a message"
msgstr "စာá€á€…္á€á€¯á€›á€­á€¯á€€á€¹á€‘ည့္ပါ"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1200
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1364
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1305
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1469
msgid "Please enter a name"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:478
+#: perllib/FixMyStreet/App/Controller/Admin.pm:497
msgid "Please enter a name for this body"
msgstr ""
@@ -2488,15 +2506,15 @@ msgstr ""
msgid "Please enter a password"
msgstr "စကားá€á€½á€€á€¹á€á€…္á€á€¯á€›á€­á€¯á€€á€¹á€‘ည့္ပါ"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:114
-#: perllib/FixMyStreet/DB/Result/Problem.pm:439
+#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/DB/Result/Problem.pm:366
#: templates/web/base/js/translation_strings.html:3
msgid "Please enter a subject"
msgstr "ေá€á€«á€„္းစီးá€á€…္á€á€¯á€›á€­á€¯á€€á€¹á€‘ည့္ပါ"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1197
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1361
-#: perllib/FixMyStreet/App/Controller/Admin.pm:363
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1302
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1466
+#: perllib/FixMyStreet/App/Controller/Admin.pm:343
#: perllib/FixMyStreet/DB/Result/User.pm:164
#: templates/web/base/js/translation_strings.html:12
#: templates/web/base/js/translation_strings.html:16
@@ -2504,21 +2522,21 @@ msgid "Please enter a valid email"
msgstr "မွန္ကန္ေသာအီးေမးလ္á€á€…္á€á€¯á€›á€­á€¯á€€á€¹á€‘ည့္ပါ"
#: perllib/FixMyStreet/App/Controller/Alert.pm:350
-#: perllib/FixMyStreet/App/Controller/Contact.pm:124
+#: perllib/FixMyStreet/App/Controller/Contact.pm:125
msgid "Please enter a valid email address"
msgstr "မွန္ကန္ေသာအီးေမးလ္လိပ္စာá€á€…္á€á€¯á€›á€­á€¯á€€á€¹á€‘ည့္ပါ"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:442
+#: perllib/FixMyStreet/DB/Result/Problem.pm:369
#: templates/web/base/js/translation_strings.html:4
msgid "Please enter some details"
msgstr "á€á€…္á€á€ºá€­á€³á‚•အá€á€ºá€€á€¹á€¡á€œá€€á€¹á€™á€ºá€¬á€¸á€€á€­á€¯á€›á€­á€¯á€€á€¹á€‘ည့္ပါ"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/App/Controller/Contact.pm:114
#: perllib/FixMyStreet/DB/Result/User.pm:161
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:17
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:42
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:44
#: templates/web/base/js/translation_strings.html:11
#: templates/web/base/js/translation_strings.html:15
#: templates/web/zurich/auth/general.html:3
@@ -2535,14 +2553,14 @@ msgstr "သင္áအီးေမးလ္လိပ္စာကိုရို
msgid "Please enter your first name"
msgstr "သင္áပထမအမည္ကိုရိုက္ထည့္ပါ"
-#: perllib/FixMyStreet/Cobrand/UK.pm:320
+#: perllib/FixMyStreet/Cobrand/UK.pm:326
#: templates/web/base/js/translation_strings.html:7
msgid "Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:112
-#: perllib/FixMyStreet/DB/Result/Comment.pm:124
-#: perllib/FixMyStreet/DB/Result/Problem.pm:450
+#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/DB/Result/Comment.pm:125
+#: perllib/FixMyStreet/DB/Result/Problem.pm:377
#: perllib/FixMyStreet/DB/Result/User.pm:157
#: templates/web/base/js/translation_strings.html:6
msgid "Please enter your name"
@@ -2605,7 +2623,7 @@ msgstr ""
msgid "Please note:"
msgstr "ေက်းဇူးျပဳျပီးမွá€á€¹á€žá€¬á€¸á€•ါ-"
-#: perllib/FixMyStreet/App/Controller/Report.pm:358
+#: perllib/FixMyStreet/App/Controller/Report.pm:353
msgid "Please provide a public update for this report."
msgstr ""
@@ -2641,11 +2659,11 @@ msgstr "ျပႆနာေျဖရွင္းျပီးျပီáŠá€™á€›á€½
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:122
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:156
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:158
-#: templates/web/base/js/translation_strings.html:57
+#: templates/web/base/js/translation_strings.html:60
msgid "Please upload an image only"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/App/Controller/Contact.pm:116
msgid "Please write a message"
msgstr "စာá€á€…္ေá¾á€€á€¬á€„္းေရးပါ"
@@ -2653,31 +2671,29 @@ msgstr "စာá€á€…္ေá¾á€€á€¬á€„္းေရးပါ"
msgid "Please write your update here"
msgstr "သင္áအသစ္မြမ္းမံမႈကိုဒီေနရာမွာေရးပါ"
-#: templates/web/base/contact/index.html:103
#: templates/web/base/report/update-form.html:25
#: templates/web/base/report/update/form_user_loggedout_by_email.html:14
#: templates/web/base/report/update/form_user_loggedout_password.html:10
msgid "Post"
msgstr "á€á€„္မည္"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:242
+#: perllib/FixMyStreet/DB/Result/Comment.pm:231
msgid "Posted anonymously at %s"
msgstr "%sမွာ အမည္မသိကဲ့သို႔á€á€„္မည္"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:257
+#: perllib/FixMyStreet/DB/Result/Comment.pm:255
msgid "Posted by %s at %s"
msgstr "%s မွာ %s မွá€á€„္á€á€²á€·á€žá€Šá€¹"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:252
+#: perllib/FixMyStreet/DB/Result/Comment.pm:243
msgid "Posted by <strong>%s</strong> (%s) at %s"
-msgstr "%s မွာ %s(<strong>%s</strong>)မွá€á€„္á€á€²á€·á€žá€Šá€¹"
+msgstr "%s မွာ <strong>%s</strong>(%s)မွá€á€„္á€á€²á€·á€žá€Šá€¹"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:254
-#, fuzzy
+#: perllib/FixMyStreet/DB/Result/Comment.pm:245
msgid "Posted by <strong>%s</strong> at %s"
-msgstr "%s မွာ %s(<strong>%s</strong>)မွá€á€„္á€á€²á€·á€žá€Šá€¹"
+msgstr "%s မွာ <strong>%s</strong>မွá€á€„္á€á€²á€·á€žá€Šá€¹"
-#: templates/web/base/front/footer-marketing.html:12
+#: templates/web/base/front/footer-marketing.html:6
msgid "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
msgstr ""
@@ -2689,8 +2705,8 @@ msgstr "ယá€á€„္က"
msgid "Priorities"
msgstr ""
-#: templates/web/base/report/_inspect.html:113
-#: templates/web/base/report/_item.html:98
+#: templates/web/base/report/_inspect.html:123
+#: templates/web/base/report/_item.html:100
msgid "Priority"
msgstr ""
@@ -2704,16 +2720,15 @@ msgstr ""
msgid "Privacy and cookies"
msgstr ""
-#: templates/web/base/admin/body.html:91
-#: templates/web/base/admin/contact-form.html:74
-#: templates/web/base/admin/report_edit.html:149
+#: templates/web/base/admin/body.html:88
+#: templates/web/base/admin/contact-form.html:75
+#: templates/web/base/admin/report_edit.html:137
msgid "Private"
msgstr "ကိုယ္ပိုင္"
#: templates/web/base/report/new/form_user.html:1
-#, fuzzy
msgid "Private details"
-msgstr "ကိုယ္ပိုင္"
+msgstr ""
#: templates/web/base/maps/pin.html:13
msgid "Problem"
@@ -2737,7 +2752,7 @@ msgstr "ေကာင္စီ %s သို႔ ျပႆနာ %s ကိုပိ
msgid "Problem breakdown by state"
msgstr "ျပည္နယ္မွ ျပႆနာကိုထပ္မံá€á€¼á€²á€…ိá€á€¹á€œá€­á€¯á€€á€¹á€žá€Šá€¹"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1167
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1272
msgid "Problem marked as open."
msgstr "ျပႆနာကို ဖြင့္ထားသည္"
@@ -2745,11 +2760,16 @@ msgstr "ျပႆနာကို ဖြင့္ထားသည္"
msgid "Problem state change based on survey results"
msgstr "စစ္ေဆးမႈရလဒ္မ်ားအေပášá€á€¼á€„္ မူá€á€Šá€¹á¿á€•ီး ျပႆနာ အေျá€á€¡á€±á€” ေျပာင္းလဲသည္á‹"
-#: perllib/FixMyStreet/Cobrand/Default.pm:705
+#: perllib/FixMyStreet/Cobrand/Default.pm:709
#: templates/web/base/admin/flagged.html:10
msgid "Problems"
msgstr "ျပႆနာမ်ား"
+#: templates/web/base/alert/_list.html:22
+#, fuzzy
+msgid "Problems in an area"
+msgstr "အနီးနားရွိျပႆနာမ်ား"
+
#: templates/web/base/report/display_tools.html:22
msgid "Problems nearby"
msgstr "အနီးနားရွိျပႆနာမ်ား"
@@ -2762,30 +2782,32 @@ msgstr "ေျမပံုေပášá€€ ျပႆနာမ်ား"
msgid "Problems recently reported fixed on FixMyStreet"
msgstr "FixMyStreet ေပášá€á€¼á€„္ လá€á€¹á€á€±á€œá€¬ á€á€„္ျပထားသည့္ ျပႆနာမ်ားကို ျပင္ဆင္ထားá¿á€•ီး ျဖစ္သည္á‹"
-#: templates/web/base/alert/_list.html:22
-msgid "Problems within %.1fkm of this location"
+#: templates/web/base/alert/_list.html:29
+msgid "Problems within %.1fkm of %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:833
+#: perllib/FixMyStreet/Cobrand/Default.pm:838
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:137
-#: perllib/FixMyStreet/Cobrand/UK.pm:209
+#: perllib/FixMyStreet/Cobrand/UK.pm:215 perllib/FixMyStreet/Cobrand/UK.pm:257
+#: perllib/FixMyStreet/Cobrand/UK.pm:269
msgid "Problems within %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:223
+#: perllib/FixMyStreet/Cobrand/UK.pm:229
msgid "Problems within %s ward"
msgstr ""
+#: perllib/FixMyStreet/Cobrand/UK.pm:263 perllib/FixMyStreet/Cobrand/UK.pm:275
+#, fuzzy
+msgid "Problems within %s ward, %s"
+msgstr "%sአ%s ရပ္ကြက္အá€á€¼á€„္း"
+
#. ("First %s is the body name, second %s the site name")
#: templates/web/base/reports/body.html:0
#: templates/web/base/reports/body.html:25
msgid "Problems within %s, %s"
msgstr ""
-#: templates/web/base/alert/_list.html:43
-msgid "Problems within the boundary of:"
-msgstr ""
-
#: templates/web/base/admin/report_edit.html:74
msgid "Property address:"
msgstr ""
@@ -2795,11 +2817,11 @@ msgstr ""
msgid "Provide an update"
msgstr ""
-#: templates/web/base/report/update/form_name.html:9
+#: templates/web/base/report/update/form_name.html:10
msgid "Provide update as"
msgstr ""
-#: templates/web/base/auth/general.html:112
+#: templates/web/base/auth/general.html:114
msgid "Providing a name and password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
msgstr "နာမည္á‚ွင့္ စကားá€á€½á€€á€¹á€€á€­á€¯ မထည့္သြင္းá€á€ºá€„္လွ်င္ ရသည္ዠနံပါá€á€¹á‚ွင့္ စကားá€á€½á€€á€¹ ထည့္သြင္းပါက ျပႆနာမ်ားကို á€á€„္ျပျá€á€„္းአupdate မ်ား ျပဳလုပ္ျá€á€„္းá‚ွင့္ အစီရင္á€á€¶á€…ာမ်ား စီမံá€á€”္႔á€á€¼á€²á€»á€á€„္းá€á€­á€¯á‚”ကို ပိုမိုလြယ္ကူစြာ ျပဳလုပ္á‚ိုင္မည္á‹"
@@ -2817,7 +2839,7 @@ msgstr ""
msgid "Public response:"
msgstr ""
-#: templates/web/base/report/_inspect.html:152
+#: templates/web/base/report/_inspect.html:162
msgid "Public update:"
msgstr ""
@@ -2845,7 +2867,7 @@ msgstr "%d ျပႆနာ အá€á€¼á€€á€¹ %d ေပးပို႔သည့္
msgid "Questionnaire filled in by problem reporter"
msgstr "ျပႆနာ အစီရင္á€á€¶á€žá€° ျဖည့္စြက္ရမည့္ စစ္á€á€™á€¹á€¸á€±á€™á€¸á€á€¼á€”္းလႊာ"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
#: templates/web/base/alert/updates.html:9
#: templates/web/base/around/display_location.html:1
#: templates/web/base/around/display_location.html:3
@@ -2853,11 +2875,11 @@ msgstr "ျပႆနာ အစီရင္á€á€¶á€žá€° ျဖည့္စြကá
msgid "RSS feed"
msgstr "RSS feed"
-#: perllib/FixMyStreet/Cobrand/UK.pm:252 perllib/FixMyStreet/Cobrand/UK.pm:264
+#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
msgid "RSS feed for %s"
msgstr "%s အá€á€¼á€€á€¹ RSS feed"
-#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
+#: perllib/FixMyStreet/Cobrand/UK.pm:264 perllib/FixMyStreet/Cobrand/UK.pm:276
msgid "RSS feed for %s ward, %s"
msgstr "%s အုပ္á€á€ºá€³á€³á€•္ေရးဌာန %s အá€á€¼á€€á€¹ RSS feed"
@@ -2865,25 +2887,25 @@ msgstr "%s အုပ္á€á€ºá€³á€³á€•္ေရးဌာန %s အá€á€¼á€€á€¹ R
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:179
-#: perllib/FixMyStreet/Cobrand/UK.pm:278 perllib/FixMyStreet/Cobrand/UK.pm:290
+#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
msgid "RSS feed of %s"
msgstr "%s á RSS feed"
-#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
msgid "RSS feed of %s, within %s ward"
msgstr "%s အုပ္á€á€ºá€³á€•္ေရးဌာန အá€á€¼á€„္းရိွ %s á RSS feed"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
msgid "RSS feed of nearby problems"
msgstr "အနီးအနားရိွ ျပႆနာမ်ားá RSS feed"
-#: perllib/FixMyStreet/Cobrand/Default.pm:834
+#: perllib/FixMyStreet/Cobrand/Default.pm:839
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:136
-#: perllib/FixMyStreet/Cobrand/UK.pm:216
+#: perllib/FixMyStreet/Cobrand/UK.pm:222
msgid "RSS feed of problems within %s"
msgstr "%s အá€á€¼á€„္းရိွ ျပႆနာမ်ားá RSS feed"
-#: perllib/FixMyStreet/Cobrand/UK.pm:222
+#: perllib/FixMyStreet/Cobrand/UK.pm:228
msgid "RSS feed of problems within %s ward"
msgstr "%s အုပ္á€á€ºá€³á€•္ေရးဌာန အá€á€¼á€„္းရိွ ျပႆနာမ်ားá RSS feed"
@@ -2902,7 +2924,7 @@ msgstr "လက္ရိွ ျပႆနာကို update ျပဳလုပ္
msgid "Receive email when updates are left on this problem."
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:801
+#: perllib/FixMyStreet/DB/Result/Problem.pm:738
msgid "Received by %s moments later"
msgstr ""
@@ -2912,15 +2934,11 @@ msgstr ""
msgid "Recent local problems, %s"
msgstr ""
-#: templates/web/base/reports/index.html:27
-msgid "Recently <br>fixed"
-msgstr "မá¾á€€á€¬á€±á€žá€¸á€™á€®á€€ <br> ျပင္ဆင္á¿á€•ီး"
-
#: templates/web/base/front/recent.html:11
msgid "Recently reported problems"
msgstr "ျပႆနာမ်ားကို မá¾á€€á€¬á€±á€žá€¸á€™á€®á€€ အစီရင္á€á€¶ á€á€„္ျပá¿á€•ီး"
-#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:60
msgid "Recently updated"
msgstr ""
@@ -2928,13 +2946,21 @@ msgstr ""
msgid "Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. If your problem is not appropriate for submission via this site remember that you can contact your council directly using their own website."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/extra-metadata-form.html:68
+msgid "Remove"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:4
+msgid "Remove field"
+msgstr ""
+
+#: templates/web/base/admin/report_blocks.html:23
msgid "Remove flag"
msgstr ""
#: templates/web/base/report/_item.html:12
#: templates/web/base/report/_item.html:9
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:18
#: templates/web/base/report/_main.html:26
msgid "Remove from shortlist"
@@ -2944,7 +2970,7 @@ msgstr ""
msgid "Remove from site"
msgstr ""
-#: templates/web/base/admin/report_edit.html:166
+#: templates/web/base/admin/report_edit.html:154
#: templates/web/base/admin/update_edit.html:69
#: templates/web/zurich/admin/update_edit.html:35
msgid "Remove photo (can't be undone!)"
@@ -2958,13 +2984,13 @@ msgstr ""
msgid "Report"
msgstr ""
-#: templates/web/base/report/_inspect.html:10
-#: templates/web/base/report/_item.html:76
+#: templates/web/base/report/_inspect.html:14
+#: templates/web/base/report/_item.html:78
msgid "Report ID:"
msgstr ""
#: templates/web/base/header_logo.html:2
-#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:19
+#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:18
#: templates/web/zurich/nav_over_content.html:4
msgid "Report a problem"
msgstr "ျပႆနာကို အစီရင္á€á€¶ á€á€„္ျပရန္"
@@ -2974,7 +3000,7 @@ msgstr "ျပႆနာကို အစီရင္á€á€¶ á€á€„္ျပရနá
msgid "Report abuse"
msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:16
+#: templates/web/base/report/new/form_user_loggedin.html:17
msgid "Report as"
msgstr ""
@@ -2983,9 +3009,8 @@ msgid "Report on %s"
msgstr ""
#: templates/web/base/dashboard/index.html:137
-#, fuzzy
msgid "Report state:"
-msgstr "ျမိဳ႕အသစ္"
+msgstr ""
#: templates/web/base/report/new/fill_in_details_form.html:1
#: templates/web/base/report/new/login_success_form.html:1
@@ -2998,7 +3023,7 @@ msgstr ""
msgid "Report, view, or discuss local problems"
msgstr "ေဒသá€á€¼á€„္း ျပႆနာမ်ားကို အစီရင္á€á€¶á€»á€á€„္းአá¾á€€á€Šá€¹á€·á‚ႈျá€á€„္းá‚ွင့္ ေဆြးေá‚ြးျá€á€„္း"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:653
+#: perllib/FixMyStreet/DB/Result/Problem.pm:590
#: templates/web/base/contact/index.html:55
msgid "Reported anonymously at %s"
msgstr ""
@@ -3008,7 +3033,7 @@ msgstr ""
msgid "Reported before"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:677
+#: perllib/FixMyStreet/DB/Result/Problem.pm:614
#: templates/web/base/contact/index.html:57
msgid "Reported by %s at %s"
msgstr ""
@@ -3022,34 +3047,30 @@ msgstr ""
msgid "Reported in the %s category"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:650
+#: perllib/FixMyStreet/DB/Result/Problem.pm:587
msgid "Reported in the %s category anonymously at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:611
msgid "Reported in the %s category by %s at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:647
+#: perllib/FixMyStreet/DB/Result/Problem.pm:584
msgid "Reported via %s anonymously at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:671
+#: perllib/FixMyStreet/DB/Result/Problem.pm:608
msgid "Reported via %s by %s at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:644
+#: perllib/FixMyStreet/DB/Result/Problem.pm:581
msgid "Reported via %s in the %s category anonymously at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:666
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
msgid "Reported via %s in the %s category by %s at %s"
msgstr ""
-#: templates/web/base/reports/index.html:24
-msgid "Reported within the last four weeks"
-msgstr ""
-
#: templates/web/zurich/admin/report_edit-sdm.html:38
#: templates/web/zurich/admin/report_edit.html:57
msgid "Reported:"
@@ -3065,13 +3086,13 @@ msgid "Reporting a problem"
msgstr "ျပႆနာကို အစီရင္á€á€¶ á€á€„္ျပျá€á€„္း"
#: perllib/FixMyStreet/Cobrand/Default.pm:655
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:383
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:388
#: templates/web/base/dashboard/index.html:134
#: templates/web/zurich/header.html:52
msgid "Reports"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:329 perllib/FixMyStreet/Cobrand/UK.pm:333
+#: perllib/FixMyStreet/Cobrand/UK.pm:333 perllib/FixMyStreet/Cobrand/UK.pm:335
msgid "Reports are limited to %s characters in length. Please shorten your report"
msgstr ""
@@ -3079,31 +3100,51 @@ msgstr ""
msgid "Reports awaiting approval"
msgstr ""
+#: templates/web/base/alert/_list.html:54
+msgid "Reports by destination"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:107
msgid "Reports made by trusted users will be sent to the responsible body without being inspected first."
msgstr ""
+#: templates/web/base/alert/_list.html:15
+msgid "Reports near %s are sent to different councils, depending on the type of problem."
+msgstr ""
+
#: templates/web/zurich/admin/index-sdm.html:10
msgid "Reports published"
msgstr ""
-#: templates/web/base/js/translation_strings.html:68
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:71
msgid "Reports saved offline."
-msgstr "ျပႆနာကို အစီရင္á€á€¶ á€á€„္ျပရန္"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+msgid "Reports sent to %s"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:290 perllib/FixMyStreet/Cobrand/UK.pm:302
+#, fuzzy
+msgid "Reports sent to %s, within %s ward"
+msgstr "%s အုပ္á€á€ºá€³á€•္ေရးဌာန အá€á€¼á€„္းရိွ %s á RSS feed"
#: templates/web/base/admin/index.html:56
msgid "Reports waiting to be sent"
msgstr ""
-#: templates/web/base/admin/contact-form.html:89
+#: templates/web/base/admin/contact-form.html:90
msgid "Reports will automatically be sent without needing to be inspected if the user's <strong>reputation</strong> is at or above this value. Set to <strong>0</strong> if all reports must be inspected regardless."
msgstr ""
-#: templates/web/base/admin/contact-form.html:94
+#: templates/web/base/admin/contact-form.html:95
msgid "Reputation threshold"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:20
+msgid "Required"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:84
msgid "Resend report"
msgstr "အစီရင္á€á€¶ ျပန္လည္ေပးပို႔ရန္"
@@ -3139,7 +3180,7 @@ msgstr ""
msgid "Revert to original"
msgstr ""
-#: templates/web/base/report/_main.html:95
+#: templates/web/base/report/_main.html:99
msgid "Revert to original text"
msgstr ""
@@ -3162,16 +3203,16 @@ msgstr ""
msgid "Road operator for this named road (from OpenStreetMap): %s"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1747
-#: templates/web/base/admin/report_edit.html:163
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1852
+#: templates/web/base/admin/report_edit.html:151
#: templates/web/base/admin/update_edit.html:66
#: templates/web/zurich/admin/report_edit.html:118
msgid "Rotate Left"
msgstr "ဘယ္ဘက္ကို လွည့္ပါ"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: templates/web/base/admin/report_edit.html:164
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: templates/web/base/admin/report_edit.html:152
#: templates/web/base/admin/update_edit.html:67
#: templates/web/zurich/admin/report_edit.html:119
msgid "Rotate Right"
@@ -3186,33 +3227,41 @@ msgstr ""
msgid "Satellite"
msgstr ""
-#: templates/web/base/report/_inspect.html:168
-#, fuzzy
+#: templates/web/base/report/_inspect.html:182
msgid "Save + close as duplicate"
-msgstr "အစီရင္á€á€¶á€…ာ á€á€°á€Šá€®á€±á€”ေá¾á€€á€¬á€„္း အမွá€á€¹á€¡á€žá€¬á€¸ ျပဳလုပ္ထားသည္"
+msgstr ""
-#: templates/web/base/admin/contact-form.html:137
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/contact-form.html:138
+#: templates/web/base/admin/reportextrafields/edit.html:64
+#: templates/web/base/admin/responsepriorities/edit.html:58
#: templates/web/base/admin/template_edit.html:46
-#: templates/web/base/report/_inspect.html:168
-#: templates/web/base/report/_main.html:113
-#: templates/web/base/report/update.html:60
+#: templates/web/base/report/_inspect.html:182
+#: templates/web/base/report/_main.html:117
+#: templates/web/base/report/update.html:69
#: templates/web/zurich/admin/body.html:62
-#: templates/web/zurich/admin/contact-form.html:20
+#: templates/web/zurich/admin/contact-form.html:22
#: templates/web/zurich/admin/template_edit.html:29
msgid "Save changes"
msgstr "ေျပာင္းလဲမႈမ်ားကို သိမ္းဆည္းရန္"
-#: templates/web/base/report/_inspect.html:148
+#: templates/web/base/admin/reportextrafields/edit.html:64
+msgid "Save new fields"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:158
msgid "Save with a public update"
msgstr ""
-#. ('This is followed by a progress count, e.g. 3/5')
#. ("This is followed by a progress count, e.g. 3/5")
-#: templates/web/base/js/translation_strings.html:69
+#: templates/web/base/js/translation_strings.html:72
msgid "Saving reports offline"
msgstr ""
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:132
+#, fuzzy
+msgid "Scheduled"
+msgstr "လုပ္ေဆာင္မႈကိုအá€á€ºá€­á€”္ဇယားျဖင့္ျပဳလုပ္ျပီး"
+
#: templates/web/base/admin/index.html:26
#: templates/web/base/admin/reports.html:1
#: templates/web/zurich/admin/reports.html:1
@@ -3246,41 +3295,41 @@ msgstr ""
msgid "See our privacy policy"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:715
+#: perllib/FixMyStreet/Cobrand/Default.pm:720
msgid "See user detail for reports created as the council"
msgstr ""
-#: templates/web/base/admin/body-form.html:39
+#: templates/web/base/admin/body-form.html:41
#: templates/web/zurich/admin/body-form.html:16
msgid "Select a body"
msgstr "စာကိုယ္á€á€…္á€á€¯á€€á€­á€¯ ေရြးပါá‹"
-#: templates/web/base/reports/index.html:12
-msgid "Select a particular council to see the reports sent there."
-msgstr ""
-
-#: templates/web/base/admin/body-form.html:77
+#: templates/web/base/admin/body-form.html:79
#: templates/web/zurich/admin/body-form.html:26
msgid "Select an area"
msgstr "ဧရိယာá€á€…္á€á€¯á€€á€­á€¯ ေရြးပါá‹"
-#: templates/web/base/alert/_list.html:11
-msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
+#: templates/web/base/admin/responsepriorities/edit.html:33
+msgid "Select if this is the default priority"
msgstr ""
#: templates/web/base/admin/category-checkboxes.html:6
msgid "Select:"
msgstr ""
+#: templates/web/base/contact/index.html:107
+msgid "Send"
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:109
msgid "Send extended Open311 statuses with service request updates"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:826
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:831
msgid "Sent report back"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:804
+#: perllib/FixMyStreet/DB/Result/Problem.pm:741
msgid "Sent to %s %s later"
msgstr ""
@@ -3293,7 +3342,7 @@ msgstr ""
msgid "Service:"
msgstr ""
-#: templates/web/base/report/_inspect.html:31
+#: templates/web/base/report/_inspect.html:41
msgid "Set to my current location"
msgstr ""
@@ -3302,31 +3351,39 @@ msgid "Share"
msgstr ""
#: templates/web/base/main_nav_items.html:10
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:21
#: templates/web/base/report/_main.html:29
msgid "Shortlist"
msgstr ""
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/reports/body.html:32
+msgid "Shortlist all visible"
+msgstr ""
+
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:20
#: templates/web/base/report/_main.html:25
#: templates/web/base/reports/_list-filters.html:9
msgid "Shortlisted"
msgstr ""
-#: templates/web/base/report/_main.html:144
+#: templates/web/base/report/_item.html:15
+#: templates/web/base/report/_main.html:148
msgid "Shortlisted by %s"
msgstr ""
#: templates/web/base/report/update.html:20
-#, fuzzy
msgid "Show Photo?"
-msgstr "ဓာá€á€¹á€•ံု"
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:26
+msgid "Show all updates"
+msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:54
+#: templates/web/base/report/new/form_user_loggedin.html:56
#: templates/web/base/report/new/form_user_loggedout_by_email.html:22
-#: templates/web/base/report/update/form_name.html:33
+#: templates/web/base/report/update/form_name.html:37
msgid "Show my name publicly"
msgstr ""
@@ -3338,11 +3395,12 @@ msgstr ""
msgid "Show old"
msgstr ""
-#: templates/web/base/report/_main.html:79
+#: templates/web/base/report/_main.html:83
msgid "Show photo"
msgstr ""
#: templates/web/base/around/display_location.html:60
+#: templates/web/base/js/translation_strings.html:54
msgid "Show pins"
msgstr ""
@@ -3350,16 +3408,20 @@ msgstr ""
msgid "Show reporter&rsquo;s name"
msgstr ""
-#: templates/web/base/auth/general.html:117
+#: templates/web/base/reports/index.html:62
+msgid "Show reports in your area"
+msgstr ""
+
+#: templates/web/base/auth/general.html:119
#: templates/web/base/auth/general.html:3
-#: templates/web/base/auth/general.html:86
+#: templates/web/base/auth/general.html:88
#: templates/web/base/main_nav_items.html:6
#: templates/web/zurich/auth/general.html:18
#: templates/web/zurich/auth/general.html:35
msgid "Sign in"
msgstr "á€á€„္ရန္"
-#: templates/web/base/auth/general.html:96
+#: templates/web/base/auth/general.html:98
msgid "Sign in by email instead, providing a new password. When you click the link in your email, your password will be updated."
msgstr ""
@@ -3405,14 +3467,14 @@ msgstr ""
msgid "Sorry, there has been an error confirming your problem."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:230
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:235
#: perllib/FixMyStreet/Geocode.pm:37 perllib/FixMyStreet/Geocode/Bing.pm:38
#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:56
#: perllib/FixMyStreet/Geocode/OSM.pm:48
msgid "Sorry, we could not find that location."
msgstr ""
-#: templates/web/base/auth/general.html:9
+#: templates/web/base/auth/general.html:11
#: templates/web/base/report/display.html:29
#: templates/web/base/report/new/fill_in_details_form.html:15
msgid "Sorry, we could not log you in. Please fill in the form below."
@@ -3434,11 +3496,11 @@ msgid ""
"page wasn’t found or there was a server error. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Root.pm:107
+#: perllib/FixMyStreet/App/Controller/Root.pm:124
msgid "Sorry, you don't have permission to do that."
msgstr ""
-#: templates/web/base/reports/_list-filters.html:42
+#: templates/web/base/reports/_list-filters.html:53
msgid "Sort by"
msgstr ""
@@ -3455,17 +3517,25 @@ msgid "Start Date:"
msgstr ""
#: templates/web/base/admin/body.html:73
+#: templates/web/base/admin/category_edit.html:29
+#: templates/web/base/admin/contact-form.html:53
#: templates/web/base/admin/flagged.html:18
#: templates/web/base/admin/index.html:64
#: templates/web/base/admin/list_updates.html:11
#: templates/web/base/admin/reports.html:16
#: templates/web/base/admin/template_edit.html:40
-#: templates/web/base/report/_inspect.html:83
-#: templates/web/base/report/_item.html:94
+#: templates/web/base/report/_inspect.html:82
+#: templates/web/base/report/_item.html:96
#: templates/web/base/report/update/form_update.html:39
+#: templates/web/zurich/admin/contact-form.html:10
msgid "State"
msgstr ""
+#: templates/web/base/report/update.html:48
+#, fuzzy
+msgid "State changed to:"
+msgstr "ေျပာင္းလဲမႈမ်ားကို သိမ္းဆည္းရန္"
+
#: templates/web/base/admin/report_edit.html:116
#: templates/web/base/admin/update_edit.html:28
#: templates/web/zurich/admin/report_edit-sdm.html:75
@@ -3475,8 +3545,13 @@ msgstr ""
msgid "State:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:640
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:386
+#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: templates/web/base/admin/states/index.html:1
+msgid "States"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
#: templates/web/base/admin/index.html:71 templates/web/base/admin/stats.html:1
#: templates/web/base/admin/stats_by_state.html:1
#: templates/web/zurich/admin/stats.html:1 templates/web/zurich/header.html:65
@@ -3498,6 +3573,10 @@ msgstr ""
msgid "Street View"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:46
+msgid "String"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:192
msgid "Subcategory: %s"
msgstr ""
@@ -3506,7 +3585,7 @@ msgstr ""
msgid "Subdivision/Body"
msgstr ""
-#: templates/web/base/contact/index.html:88
+#: templates/web/base/contact/index.html:92
msgid "Subject"
msgstr ""
@@ -3516,14 +3595,14 @@ msgid "Subject:"
msgstr ""
#: templates/web/base/questionnaire/creator_fixed.html:19
-#: templates/web/base/report/new/form_user_loggedin.html:61
+#: templates/web/base/report/new/form_user_loggedin.html:63
#: templates/web/base/report/new/form_user_loggedout_by_email.html:36
#: templates/web/base/report/new/form_user_loggedout_password.html:11
#: templates/web/zurich/report/new/fill_in_details_form.html:73
msgid "Submit"
msgstr ""
-#: templates/web/base/admin/report_edit.html:174
+#: templates/web/base/admin/report_edit.html:162
#: templates/web/base/admin/report_edit.html:24
#: templates/web/base/admin/update_edit.html:77
#: templates/web/base/admin/user-form.html:170
@@ -3537,8 +3616,8 @@ msgstr ""
msgid "Submit questionnaire"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:164
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:893
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:898
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:6
#: templates/web/zurich/admin/index-dm.html:23
@@ -3548,36 +3627,37 @@ msgstr ""
msgid "Submitted"
msgstr ""
+#: templates/web/base/alert/_list.html:77
+#: templates/web/base/alert/_list.html:80
#: templates/web/base/alert/updates.html:23
#: templates/web/base/report/display_tools.html:51
msgid "Subscribe"
msgstr ""
-#: templates/web/base/alert/_list.html:93
-msgid "Subscribe me to an email alert"
+#: templates/web/base/alert/_list.html:72
+msgid "Subscribe by email"
msgstr ""
#: templates/web/base/report/new/form_report.html:19
msgid "Summarise the problem"
msgstr ""
-#: templates/web/base/admin/contact-form.html:129
+#: templates/web/base/admin/contact-form.html:130
msgid "Summarise your changes"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:638
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:382
+#: perllib/FixMyStreet/Cobrand/Default.pm:637
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:387
#: templates/web/base/admin/bodies.html:29
#: templates/web/base/admin/index.html:1 templates/web/base/status/index.html:1
#: templates/web/base/status/index.html:3
#: templates/web/zurich/admin/index-dm.html:1
#: templates/web/zurich/admin/index-sdm.html:1
-#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:13
+#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:12
#: templates/web/zurich/header.html:49
msgid "Summary"
msgstr "အက်ဥ္းá€á€ºá€³á€•္"
-#: templates/web/base/reports/index.html:4
#: templates/web/zurich/reports/index.html:0
#: templates/web/zurich/reports/index.html:4
msgid "Summary reports"
@@ -3601,7 +3681,7 @@ msgid "Template &laquo;%s&raquo;"
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:661
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:393
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
#: templates/web/zurich/header.html:69
msgid "Templates"
msgstr ""
@@ -3630,7 +3710,7 @@ msgstr ""
msgid "Thank you for trying to confirm your update or problem. We seem to have an error ourselves though, so <a href=\"%s\">please let us know what went on</a> and we'll look into it."
msgstr ""
-#: templates/web/base/tokens/confirm_update.html:15
+#: templates/web/base/tokens/confirm_update.html:16
msgid "Thank you for updating this issue!"
msgstr ""
@@ -3658,7 +3738,7 @@ msgstr ""
msgid "That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Location.pm:129
+#: perllib/FixMyStreet/App/Controller/Location.pm:127
msgid "That location does not appear to be in the UK; please try again."
msgstr ""
@@ -3668,23 +3748,23 @@ msgstr ""
msgid "That postcode was not recognised, sorry."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:762
+#: perllib/FixMyStreet/App/Controller/Admin.pm:850
msgid "That problem has been marked as sent."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:755
+#: perllib/FixMyStreet/App/Controller/Admin.pm:843
msgid "That problem will now be resent."
msgstr "ထိုျပႆနာကိုယá€á€¯á€•င္ျပန္ပို႔ပါမည္"
-#: perllib/FixMyStreet/App/Controller/Report.pm:137
+#: perllib/FixMyStreet/App/Controller/Report.pm:134
msgid "That report cannot be viewed on %s."
msgstr "ဒီအစီရင္á€á€¶á€…ာကို %s ေပášá€á€¼á€„္မá¾á€€á€Šá€¹á€·á‚ိုင္ပါ"
-#: perllib/FixMyStreet/App/Controller/Report.pm:131
+#: perllib/FixMyStreet/App/Controller/Report.pm:128
msgid "That report has been removed from FixMyStreet."
msgstr "ကá½á€¼á‚္ုပ္လမ္းကိုျပင္ေပးပါ မွဒီအစီရင္á€á€¶á€…ာကိုဖယ္ျပီးပါျပီ"
-#: templates/web/base/admin/contact-form.html:25
+#: templates/web/base/admin/contact-form.html:27
msgid ""
"The <strong>email address</strong> is the destination to which reports about this category will be sent. \n"
" Other categories for this body may have the same email address."
@@ -3704,10 +3784,10 @@ msgid ""
" than one. If the body is running its own endpoint, you can usually leave this blank."
msgstr ""
-#: templates/web/base/admin/body-form.html:100
-#: templates/web/base/admin/body-form.html:101
-#: templates/web/base/admin/contact-form.html:103
+#: templates/web/base/admin/body-form.html:102
+#: templates/web/base/admin/body-form.html:103
#: templates/web/base/admin/contact-form.html:104
+#: templates/web/base/admin/contact-form.html:105
msgid ""
"The <strong>send method</strong> determines how problem reports will be sent to the body.\n"
" If you leave this blank, <strong>send method defaults to email</strong>."
@@ -3724,6 +3804,10 @@ msgid ""
" and may be displayed publically."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:12
+msgid "The code used to store this field value in the database. e.g. <code>address</code> would be available as <code>problem.extra.address</code> in the templates."
+msgstr ""
+
#: templates/web/base/report/new/fill_in_details_text.html:1
#: templates/web/base/report/new/fill_in_details_text.html:3
msgid "The council won&rsquo;t be able to help unless you leave as much detail as you can. Please describe the exact location of the problem (e.g. on a wall), what it is, how long it has been there, a description (and a photo of the problem if you have one), etc."
@@ -3734,11 +3818,15 @@ msgstr ""
msgid "The diligency prize league table shows editors' activity (who's been editing the most records)."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:61
-#: perllib/FixMyStreet/App/Controller/Reports.pm:82
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:63
+#: perllib/FixMyStreet/App/Controller/Reports.pm:103
msgid "The error was: %s"
msgstr "á€á€ºá€­á€³á‚•ယြင္းမႈမွာ - %s"
+#: templates/web/base/admin/extra-metadata-form.html:30
+msgid "The field name as shown to the user on the report form."
+msgstr ""
+
#: templates/web/base/open311/index.html:78
msgid "The following Open311 v2 attributes are returned for each request: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
msgstr ""
@@ -3777,10 +3865,14 @@ msgstr ""
msgid "The link might have expired, or maybe you didn&rsquo;t quite copy and paste it correctly."
msgstr ""
-#: templates/web/base/admin/body-form.html:64
+#: templates/web/base/admin/body-form.html:66
msgid "The list of available areas is being provided by the MapIt service at %s."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:6
+msgid "The ordering of this field on the report page. Fields are shown in ascending order according to this value."
+msgstr ""
+
#: templates/web/base/auth/change_password.html:22
#: templates/web/base/auth/change_password.html:26
msgid "The passwords do not match"
@@ -3790,8 +3882,8 @@ msgstr "စကားá€á€½á€€á€¹á€™á€ºá€¬á€¸á€žá€Šá€¹á€™á€á€°á€Šá€®á€•ါ"
msgid "The requested URL '%s' was not found on this server"
msgstr "သင္ေá€á€¬á€„္းဆိုေသာ URL %s ကိုဒီဆာဗာမွာရွာမေá€á€¼á‚•ပါ"
-#: templates/web/base/alert/_list.html:17
-msgid "The simplest alert is our geographic one:"
+#: templates/web/base/admin/extra-metadata-form.html:42
+msgid "The type of input field to show to the user. <strong>Text</strong> is a simple text field, <strong>List</strong> is a drop-down selection."
msgstr ""
#: perllib/FixMyStreet/Script/Reports.pm:96
@@ -3811,18 +3903,18 @@ msgstr ""
msgid "There are no reports to show."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Reports.pm:79
+#: perllib/FixMyStreet/App/Controller/Reports.pm:100
msgid "There was a problem showing the All Reports page. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:137
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:60
+#: perllib/FixMyStreet/App/Controller/Contact.pm:138
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:62
msgid "There was a problem showing this page. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:758
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:785
#: perllib/FixMyStreet/App/Controller/Report/Update.pm:152
-#: templates/web/base/auth/general.html:53
+#: templates/web/base/auth/general.html:55
#: templates/web/zurich/auth/general.html:28
msgid "There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the &lsquo;sign in by email&rsquo; section of the form."
msgstr "အီးေမးလ္á‚ွင့္ လ်ွိဳ႕á€á€½á€€á€¹á€”ံပါá€á€¹á€á€¼á€„္ ျပႆနာ ျဖစ္ေပášá€á€²á€·á€•ါသည္ዠသင္á လွ်ိဳ႕á€á€½á€€á€¹á€”ံပါá€á€¹á€€á€­á€¯ မမွá€á€¹á€™á€­á€•ါက သို႔မဟုá€á€¹ မရိွေသးပါက ေလွ်က္လႊာá \"အီးေမးလ္ျဖင့္ á€á€„္ရန္\" ေနရာá€á€¼á€„္ ျဖည့္ပါá‹"
@@ -3835,7 +3927,7 @@ msgstr "အီးေမးလ္ သို႔မဟုá€á€¹ စကားá€á€½á
msgid "There was a problem with your update. Please try again."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:141
+#: perllib/FixMyStreet/App/Controller/Contact.pm:142
msgid "There were problems with your report. Please see below."
msgstr ""
@@ -3887,8 +3979,8 @@ msgstr ""
msgid "This body has no contacts. This means that currently problems reported to this body <strong>will not be sent</strong>."
msgstr ""
-#: templates/web/base/admin/body-form.html:58
-#: templates/web/base/admin/body-form.html:59
+#: templates/web/base/admin/body-form.html:60
+#: templates/web/base/admin/body-form.html:61
msgid ""
"This body will only be sent reports for problems that are located in the <strong>area covered</strong>.\n"
" A body will not receive any reports unless it covers at least one area."
@@ -3902,8 +3994,9 @@ msgstr ""
msgid "This email has been sent to several councils covering the location of the problem, as the category selected is provided for all of them; please ignore it if you're not the correct council to deal with the issue."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:881
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:925
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1017
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:910
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:954
#: perllib/FixMyStreet/App/Controller/Report/New.pm:971
#: perllib/FixMyStreet/Cobrand/UK.pm:45
msgid "This information is required"
@@ -3913,46 +4006,41 @@ msgstr "ဒီအá€á€ºá€€á€¹á€¡á€œá€€á€¹ ျဖည့္စြက္ရန္ á
msgid "This is a developer site; things might break at any time, and the database will be periodically deleted."
msgstr ""
-#: templates/web/base/reports/index.html:10
-msgid "This is a summary of all reports on this site."
-msgstr ""
-
-#: templates/web/base/report/new/form_report.html:56
+#: templates/web/base/report/new/form_report.html:58
msgid "This pothole has been here for two months and…"
msgstr ""
-#: templates/web/base/report/update/form_update.html:63
+#: templates/web/base/report/update/form_update.html:55
msgid "This problem has been fixed"
msgstr "ဒီျပႆနာကိုေျဖရွင္းျပီးပါျပီ"
-#: templates/web/base/report/update/form_update.html:56
+#: templates/web/base/report/update/form_update.html:48
msgid "This problem has not been fixed"
msgstr "ဒီျပႆနာကိုမေျဖရွင္းရေသးပါ"
-#: templates/web/base/report/update/form_update.html:54
-#, fuzzy
+#: templates/web/base/report/update/form_update.html:46
msgid "This problem is still ongoing"
-msgstr "ဒီျပႆနာကိုမေျဖရွင္းရေသးပါ"
+msgstr ""
#: templates/web/base/report/duplicate-no-updates.html:3
msgid "This report is a duplicate. Please leave updates on the original report:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:161
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:162
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:166
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:167
#: templates/web/zurich/report/_main.html:14
msgid "This report is awaiting moderation."
msgstr "ဒီအစီရင္á€á€¶á€…ာသည္အá€á€Šá€¹á€»á€•ဳျá€á€„္းကိုေစာင့္ဆိုင္းေနဆဲျဖစ္သည္"
-#: perllib/FixMyStreet/Script/Alerts.pm:101
+#: perllib/FixMyStreet/Script/Alerts.pm:98
msgid "This report is currently marked as closed."
msgstr "ဒီျပႆနာကို ပိá€á€¹á€‘ားသည္ဟုေလာေလာဆယ္သá€á€¹á€™á€½á€á€¹á€‘ားသည္"
-#: perllib/FixMyStreet/Script/Alerts.pm:99
+#: perllib/FixMyStreet/Script/Alerts.pm:96
msgid "This report is currently marked as fixed."
msgstr "ဒီျပႆနာကိုေလာေလာဆယ္ေျဖရွင္းျပီးျပီဟုသá€á€¹á€™á€½á€á€¹á€‘ားသည္"
-#: perllib/FixMyStreet/Script/Alerts.pm:103
+#: perllib/FixMyStreet/Script/Alerts.pm:100
msgid "This report is currently marked as open."
msgstr "ဒီအစီရင္á€á€¶á€…ာကိုယá€á€¯á€±á€œá€¬á€±á€œá€¬á€†á€šá€¹á€–ြင့္ထားသည္"
@@ -3971,7 +4059,7 @@ msgstr "ဒီ web စာမ်က္á‚ွာသည္ အသံုးျပဳ
msgid "Time spent (in minutes):"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Default.pm:638
#: templates/web/base/admin/timeline.html:1
msgid "Timeline"
msgstr ""
@@ -4000,10 +4088,26 @@ msgstr ""
msgid "To find out what local alerts we have for you, please enter your postcode or street name and area"
msgstr "ျပည္á€á€¼á€„္း သá€á€­á€±á€•းá€á€ºá€€á€¹á€™á€ºá€¬á€¸ ေဖာ္ျပရန္အá€á€¼á€€á€¹ သင္á စာá€á€­á€¯á€€á€¹á€±á€žá€á²á€¬á€¡á€™á€½á€á€¹ သို႔မဟုá€á€¹ လမ္းနာမည္á‚ွင့္ ဧရိယာကို ထည့္သြင္းပါá‹"
+#: templates/web/base/admin/reportextrafields/edit.html:19
+msgid "To limit this collection of fields to a single cobrand, select it here."
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:40
+msgid "To limit this collection of fields to a single language, select it here."
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:95
msgid "To view a map of the precise location of this issue"
msgstr ""
+#: templates/web/base/reports/index.html:97
+msgid "Top 5 most used categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:83
+msgid "Top 5 responsive councils"
+msgstr ""
+
#: templates/web/base/admin/questionnaire.html:24
#: templates/web/base/admin/stats.html:24
#: templates/web/base/admin/stats.html:43
@@ -4017,9 +4121,8 @@ msgid "Total marked"
msgstr ""
#: templates/web/base/dashboard/index.html:71
-#, fuzzy
msgid "Total marked as fixed"
-msgstr "ျပင္ဆင္ထားသည့္ အမွá€á€¹á€¡á€žá€¬á€¸ ျပဳလုပ္ထားသည္"
+msgstr ""
#: templates/web/base/dashboard/index.html:125
msgid "Total not marked"
@@ -4030,16 +4133,24 @@ msgstr ""
msgid "Total reports received"
msgstr ""
-#: templates/web/base/report/_inspect.html:124
-#: templates/web/base/report/_item.html:102
+#: templates/web/base/report/_inspect.html:134
+#: templates/web/base/report/_item.html:104
msgid "Traffic management required?"
msgstr ""
+#: templates/web/base/admin/_translations.html:7
+msgid "Translation"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:2
+msgid "Translations"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:111
msgid "Trusted by bodies:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:721
+#: perllib/FixMyStreet/Cobrand/Default.pm:726
msgid "Trusted to make reports that don't need to be inspected"
msgstr ""
@@ -4055,8 +4166,14 @@ msgstr ""
msgid "Try emailing us directly:"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:21
+#: templates/web/base/admin/extra-metadata-form.html:44
+#: templates/web/base/admin/states/index.html:10
+#: templates/web/base/admin/states/index.html:100
+msgid "Type"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:59
+#: templates/web/base/admin/contact-form.html:55
#: templates/web/base/admin/update_edit.html:30
#: templates/web/zurich/admin/report_edit-sdm.html:66
#: templates/web/zurich/admin/report_edit.html:94
@@ -4064,7 +4181,6 @@ msgstr ""
msgid "Unconfirmed"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:12
#: templates/web/base/reports/_list-filters.html:5
msgid "Unfixed reports"
msgstr ""
@@ -4078,14 +4194,14 @@ msgid "Unknown alert type"
msgstr ""
#: perllib/FixMyStreet/App/Controller/Photo.pm:109
-#: perllib/FixMyStreet/App/Controller/Root.pm:124
+#: perllib/FixMyStreet/App/Controller/Root.pm:141
#: templates/web/base/js/translation_strings.html:38
msgid "Unknown error"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report.pm:115
+#: perllib/FixMyStreet/App/Controller/Report.pm:112
+#: perllib/FixMyStreet/App/Controller/Report.pm:118
#: perllib/FixMyStreet/App/Controller/Report.pm:121
-#: perllib/FixMyStreet/App/Controller/Report.pm:124
msgid "Unknown problem ID"
msgstr ""
@@ -4093,10 +4209,11 @@ msgstr ""
msgid "Unshortlisted"
msgstr ""
-#: templates/web/base/report/_item.html:24
+#: templates/web/base/report/_item.html:26
msgid "Up one"
msgstr ""
+#: templates/web/base/admin/states/index.html:76
#: templates/web/base/report/update/form_update.html:29
msgid "Update"
msgstr ""
@@ -4113,7 +4230,7 @@ msgstr ""
msgid "Update below added by %s at %s"
msgstr ""
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Update body"
msgstr ""
@@ -4149,13 +4266,23 @@ msgstr ""
msgid "Updated"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1157
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1221
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1384
-#: perllib/FixMyStreet/App/Controller/Admin.pm:822
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:762
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:787
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:857
+#: perllib/FixMyStreet/DB/Result/Comment.pm:249
+#, fuzzy
+msgid "Updated by <strong>%s</strong> (%s) at %s"
+msgstr "%s မွာ <strong>%s</strong>(%s)မွá€á€„္á€á€²á€·á€žá€Šá€¹"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:251
+#, fuzzy
+msgid "Updated by <strong>%s</strong> at %s"
+msgstr "%s မွာ <strong>%s</strong>မွá€á€„္á€á€²á€·á€žá€Šá€¹"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1262
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1326
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1489
+#: perllib/FixMyStreet/App/Controller/Admin.pm:910
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:767
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:792
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:862
msgid "Updated!"
msgstr ""
@@ -4165,7 +4292,7 @@ msgstr ""
msgid "Updates"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:133
+#: perllib/FixMyStreet/DB/Result/Comment.pm:134
msgid "Updates are limited to %s characters in length. Please shorten your update"
msgstr ""
@@ -4179,11 +4306,22 @@ msgstr ""
msgid "Updates to this problem, %s"
msgstr ""
+#: templates/web/base/admin/contact-form.html:43
+#: templates/web/base/admin/contact-form.html:44
+msgid ""
+"Use <strong>confirmed</strong> to indicate that this contact has been\n"
+"confirmed as correct. If you are not sure of the origin or validity of the\n"
+"contact, use <strong>unconfirmed</strong>. <strong>inactive</strong> will\n"
+"remove the category from use when reporting problems, but keep it available in\n"
+"map filters, and <strong>deleted</strong> will remove the category from there\n"
+"as well."
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:65
msgid "Use Open311 update-sending extension"
msgstr ""
-#: templates/web/base/admin/contact-form.html:124
+#: templates/web/base/admin/contact-form.html:125
msgid "Use this field to record details that are only displayed in the admin. Input is not shown publicly, and is not sent to the body."
msgstr ""
@@ -4196,27 +4334,26 @@ msgstr ""
msgid "User ID to attribute fetched comments to"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1700
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1805
msgid "User flag removed"
msgstr "သုံးစြဲသူ အမွá€á€¹á€¡á€žá€¬á€¸ ျပဳလုပ္ျá€á€„္းကို ဖယ္ရွားလိုက္သည္á‹"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1672
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1777
msgid "User flagged"
msgstr "သုုံးစြဲသူက အမွá€á€¹á€¡á€žá€¬á€¸ ျပဳလုပ္ျá€á€„္း"
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:58
-#, fuzzy
msgid "User has marked as fixed"
-msgstr "ျပင္ဆင္ထားသည့္ အမွá€á€¹á€¡á€žá€¬á€¸ ျပဳလုပ္ထားသည္"
+msgstr ""
#: templates/web/base/admin/users.html:5
msgid "User search finds matches in users' names and email addresses."
msgstr "သုံးစြဲသူရွာေဖြမႈသည္ áŽá€á€­á€¯á‚”á အီးေမးလိပ္စာá‚ွင့္ နာမည္မ်ားရွိ á€á€°á€Šá€®á€™á‚ˆá€™á€ºá€¬á€¸á€€á€­á€¯ ေá€á€¼á‚”ရွိá‚ိုင္သည္ዠ"
#: perllib/FixMyStreet/Cobrand/Default.pm:669
-#: perllib/FixMyStreet/Cobrand/Default.pm:723
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
+#: perllib/FixMyStreet/Cobrand/Default.pm:728
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:403
#: templates/web/base/admin/flagged.html:29 templates/web/zurich/header.html:61
msgid "Users"
msgstr "အသံုးျပဳသူမ်ား"
@@ -4225,9 +4362,9 @@ msgstr "အသံုးျပဳသူမ်ား"
msgid "Users can perform the following actions within their assigned body or area."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:400
-#: perllib/FixMyStreet/App/Controller/Admin.pm:430
-#: perllib/FixMyStreet/App/Controller/Admin.pm:448
+#: perllib/FixMyStreet/App/Controller/Admin.pm:381
+#: perllib/FixMyStreet/App/Controller/Admin.pm:417
+#: perllib/FixMyStreet/App/Controller/Admin.pm:439
msgid "Values updated"
msgstr ""
@@ -4274,7 +4411,7 @@ msgstr "ယá€á€¯á€á€Šá€¹á€±á€”ရာ အá€á€¼á€€á€¹ á€á€…္á€á€¯á€‘က္á
msgid "We found more than one match for that problem reference:"
msgstr ""
-#: templates/web/base/auth/general.html:6
+#: templates/web/base/auth/general.html:8
#: templates/web/base/report/display.html:35
#: templates/web/base/report/new/oauth_email_form.html:5
msgid "We need your email address, please give it below."
@@ -4309,7 +4446,7 @@ msgstr ""
msgid "What was your experience of getting the problem fixed?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:52
+#: templates/web/base/admin/category_edit.html:27
#: templates/web/zurich/admin/body.html:18
msgid "When edited"
msgstr "ျပင္ဆင္á€á€²á€·á€žá€Šá€¹á€· အá€á€ºá€­á€”္"
@@ -4318,11 +4455,19 @@ msgstr "ျပင္ဆင္á€á€²á€·á€žá€Šá€¹á€· အá€á€ºá€­á€”္"
msgid "When sent"
msgstr "ေပးပို႔á€á€²á€·á€žá€Šá€¹á€· အá€á€ºá€­á€”္"
-#: templates/web/base/report/_inspect.html:89
+#: templates/web/base/admin/extra-metadata-form.html:18
+msgid "Whether the user is required to provide a value for this field."
+msgstr ""
+
+#: templates/web/base/alert/_list.html:9
+msgid "Which problems do you want alerts about?"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:99
msgid "Which report is it a duplicate of?"
msgstr ""
-#: templates/web/base/js/translation_strings.html:54
+#: templates/web/base/js/translation_strings.html:57
msgid "Whoa there Testino! Three photos are enough."
msgstr ""
@@ -4330,8 +4475,8 @@ msgstr ""
msgid "Why stop there? <a href=\"/alert\">Set up more alerts</a> for free."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:185
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:190
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:14
msgid "Wish"
@@ -4343,7 +4488,7 @@ msgstr ""
"ေá€á€¬á€„္းဆို ရွာေဖြမႈမ်ားá‚ွင့္ အá€á€° အုပ္á€á€ºá€³á€•္ေရးá€á€…္á€á€¯á€…ီကို ေပးပို႔သည့္ ေá€á€¬á€„္းဆိုá€á€ºá€€á€¹á€™á€ºá€¬á€¸á€€á€­á€¯ ကန္႔သá€á€¹á€›á€”္ ေအဂ်င္စီá€á€¬á€á€”္ အá€á€¼á€€á€¹á€›á€½á€¬á€±á€–ြမႈမ်ားလည္း ျဖစ္\n"
"á‚ိုင္ေá€á€º ျဖစ္သည္ዠရွာေဖြမႈသည္ အုပ္á€á€ºá€³á€•္ေရး အေထာက္အထားျဖစ္á¿á€•ီး MaPit မွေထာက္ပံ့ ေပးထားသည္á‹"
-#: templates/web/base/front/footer-marketing.html:17
+#: templates/web/base/front/footer-marketing.html:3
msgid "Would you like to contribute to FixMyStreet? Our code is open source and <a href=\"http://fixmystreet.org\">available at fixmystreet.org</a>."
msgstr ""
@@ -4368,23 +4513,22 @@ msgstr ""
msgid "Year"
msgstr "á€á€¯á‚ွစ္"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1202
+#: perllib/FixMyStreet/Cobrand/Default.pm:1236
#: templates/web/base/admin/bodies.html:70
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
#: templates/web/base/admin/category_edit.html:5
#: templates/web/base/admin/flagged.html:47
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:136
+#: templates/web/base/admin/report_edit.html:124
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:25
#: templates/web/base/admin/users.html:32
#: templates/web/base/questionnaire/creator_fixed.html:14
#: templates/web/base/questionnaire/index.html:104
#: templates/web/base/questionnaire/index.html:53
+#: templates/web/base/report/_inspect.html:90
msgid "Yes"
msgstr "ဟုá€á€¹á€žá€Šá€¹á‹"
@@ -4397,7 +4541,7 @@ msgstr "ကá½á€¼á‚ု္ပ္á€á€¼á€„္ စကားá€á€½á€€á€¹á€á€…္á€
msgid "You are complaining that this problem report was unnecessarily moderated:"
msgstr ""
-#: templates/web/base/js/translation_strings.html:70
+#: templates/web/base/js/translation_strings.html:73
msgid "You are offline"
msgstr ""
@@ -4418,7 +4562,11 @@ msgstr "သင့္အေနျဖင့္ ယá€á€¯á€†á€­á€¯á€€á€¹á€á€¼á€„á€
msgid "You can add an abusive user's email to the abuse list, which automatically hides (and never sends) reports they create."
msgstr "သင့္အေနျဖင့္ ယဥ္ေက်းမႈမရွိေသာ သုံးစြဲသူá အီးေမးလ္ကို áŽá€á€­á€¯á‚”ဖန္á€á€®á€¸á€‘ားေသာ အလိုအေလ်ာက္ ဖုံးထားေသာ(မေပးပို႔ေသာ) အစီရင္á€á€¶á€…ာမ်ား ျဖစ္သည့္ ယဥ္ေက်းမႈမရွိေသာ စာရင္းá€á€¼á€„္ ထည့္သြင္းထားá‚ိုင္သည္á‹"
-#: templates/web/base/contact/index.html:111
+#: templates/web/base/alert/_list.html:18
+msgid "You can choose to subscribe to all problems reported in an area, or reports based on their destination."
+msgstr ""
+
+#: templates/web/base/contact/index.html:115
msgid "You can contact technical support on <a href='mailto:%s'>%s</a>"
msgstr ""
@@ -4436,7 +4584,7 @@ msgstr "သင့္အေနျဖင့္မည္သည့္ report ကိá
msgid "You can help us by finding a contact email address for local problems for %s and emailing it to us at <a href='mailto:%s'>%s</a>."
msgstr "သင့္အေနျဖင့္ ကá½á€¼á‚ု္ပ္á€á€­á€¯á‚”ကို %s အá€á€¼á€€á€¹ ျပည္á€á€¼á€„္း ျပႆနာမ်ားကို အီးေမးလ္ လိပ္စာျဖင့္ ဆက္သြယ္á ရွာေဖြá‚ိုင္á¿á€•ီး <a href='mailto:%s'>%s</a> ရွိ ကá½á€¼á‚ု္ပ္á€á€­á€¯á‚”ထံသို႔ အီးေမးလ္ ေပးပို႔á‚ိုင္သည္á‹"
-#: templates/web/base/admin/body-form.html:91
+#: templates/web/base/admin/body-form.html:93
msgid "You can mark a body as deleted if you do not want it to be active on the site."
msgstr "ဆိုက္ေပášá€á€¼á€„္ ရွိေနမေစá€á€ºá€„္လွ်င္ ဖ်က္ထားေသာ အဖြဲ႔ကို အမွá€á€¹á€¡á€žá€¬á€¸ ျပဳလုပ္á‚ိုင္သည္á‹"
@@ -4444,7 +4592,7 @@ msgstr "ဆိုက္ေပášá€á€¼á€„္ ရွိေနမေစá€á€ºá€„á€
msgid "You declined; please fill in the box above"
msgstr "ျငင္းပယ္လိုက္သည္ዠေက်းဇူးျပဳá အေပášá€€ အကြက္á€á€¼á€„္ ျဖည့္ေပးပါá‹"
-#: templates/web/base/js/translation_strings.html:72
+#: templates/web/base/js/translation_strings.html:75
msgid "You have <a id=\"oFN\" href=\"\"><span>%s</span> saved to submit</a>."
msgstr ""
@@ -4455,7 +4603,7 @@ msgstr ""
"မွာ သင့္ျပႆနာကို သြားေရာက္ á¾á€€á€Šá€¹á€·á€›á€°á‚ိုင္ပါသည္ዠ\n"
"\n"
-#: templates/web/base/report/new/form_report.html:37
+#: templates/web/base/report/new/form_report.html:39
#: templates/web/zurich/report/new/fill_in_details_form.html:30
msgid "You have already attached photos to this report. Note that you can attach a maximum of 3 to this report (if you try to upload more, the oldest will be removed)."
msgstr ""
@@ -4515,10 +4663,9 @@ msgstr "သင္á အစီရင္á€á€¶á€…ာမ်ား"
msgid "Your account"
msgstr ""
-#: templates/web/base/alert/_list.html:90
#: templates/web/base/alert/updates.html:19
#: templates/web/base/alert/updates.html:22
-#: templates/web/base/contact/index.html:81
+#: templates/web/base/contact/index.html:80
#: templates/web/base/report/display_tools.html:46
#: templates/web/base/report/display_tools.html:49
#: templates/web/base/report/new/form_user_loggedout_email.html:1
@@ -4528,7 +4675,7 @@ msgid "Your email"
msgstr "သင္á အီးေမးလ္"
#: templates/web/base/auth/change_email.html:9
-#: templates/web/base/auth/general.html:55
+#: templates/web/base/auth/general.html:57
#: templates/web/base/report/update/form_user_loggedout_email.html:5
#: templates/web/zurich/auth/general.html:30
#: templates/web/zurich/auth/general.html:58
@@ -4539,21 +4686,32 @@ msgstr "သင္á အီးေမးလ္လိပ္စာ"
msgid "Your information will only be used in accordance with our <a href=\"/privacy\">privacy policy</a>"
msgstr "သင့္áအá€á€ºá€€á€¹á€¡á€œá€€á€¹á€™á€ºá€¬á€¸á€€á€­á€¯ ကá½á€¼á‚ု္ပ္á€á€­á€¯á‚”á သီးသန္႔á€á€Šá€¹á€›á€½á€­á€™á‚ˆ ေပášá€œá€…ီ á‚ွင့္အညီ အသုံးျပဳသြားမည္ ျဖစ္သည္á‹"
-#: templates/web/base/auth/general.html:107
+#: templates/web/base/auth/general.html:109
#: templates/web/base/contact/index.html:74
#: templates/web/base/report/new/form_user_loggedout_by_email.html:17
-#: templates/web/base/report/update/form_name.html:29
+#: templates/web/base/report/update/form_name.html:33
#: templates/web/zurich/auth/general.html:61
#: templates/web/zurich/report/new/fill_in_details_form.html:63
msgid "Your name"
msgstr "သင့္အမည္"
-#: templates/web/base/js/translation_strings.html:62
-#, fuzzy
+#: templates/web/base/my/anonymize.html:13
+msgid "Your name has already been sent to %s, but we can hide it on this page:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:264
+msgid "Your name has been hidden from all your reports and updates."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:260
+msgid "Your name has been hidden."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:65
msgid "Your offline reports"
-msgstr "သင္á အစီရင္á€á€¶á€…ာမ်ား"
+msgstr ""
-#: templates/web/base/auth/general.html:85
+#: templates/web/base/auth/general.html:87
#: templates/web/base/report/new/form_user_loggedout_password.html:10
#: templates/web/base/report/update/form_user_loggedout_password.html:9
#: templates/web/zurich/auth/general.html:34
@@ -4564,6 +4722,7 @@ msgstr "သင္á စကားá€á€½á€€á€¹"
msgid "Your password has been changed"
msgstr "သင္á စကားá€á€½á€€á€¹á€€á€­á€¯ ေျပာင္းလဲá¿á€•ီးျဖစ္သည္"
+#: templates/web/base/contact/index.html:87
#: templates/web/base/report/new/form_user_loggedout_by_email.html:26
#: templates/web/zurich/report/new/fill_in_details_form.html:69
msgid "Your phone number"
@@ -4582,7 +4741,7 @@ msgstr "သင္á အစီရင္á€á€¶á€…ာမ်ား"
msgid "Your shortlist"
msgstr ""
-#: templates/web/base/js/translation_strings.html:63
+#: templates/web/base/js/translation_strings.html:66
msgid "Your update has been saved offline for submission when back online."
msgstr ""
@@ -4590,8 +4749,8 @@ msgstr ""
msgid "Your updates"
msgstr "သင္á မြမ္းမံျပင္ဆင္ထားမႈမ်ား"
-#: templates/web/base/report/new/form_user_loggedin.html:18
-#: templates/web/base/report/update/form_name.html:11
+#: templates/web/base/report/new/form_user_loggedin.html:19
+#: templates/web/base/report/update/form_name.html:12
msgid "Yourself"
msgstr ""
@@ -4600,14 +4759,14 @@ msgstr ""
msgid "all"
msgstr ""
+#: perllib/FixMyStreet/DB/Result/Comment.pm:259
+msgid "and a defect raised"
+msgstr ""
+
#: templates/web/base/admin/timeline.html:4
msgid "by %s"
msgstr "%s မွ"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:290
-msgid "closed as a duplicate report"
-msgstr "အစီရင္á€á€¶á€…ာ á€á€°á€Šá€®á€±á€”ေá¾á€€á€¬á€„္း အမွá€á€¹á€¡á€žá€¬á€¸ ျပဳလုပ္ထားသည္"
-
#: templates/web/base/reports/body.html:6
#: templates/web/base/reports/body.html:7
msgid "council"
@@ -4632,7 +4791,7 @@ msgstr "သုံးစြဲသူအား ျပင္ဆင္ျá€á€„္á€
msgid "from %s different users"
msgstr "%s မွ မá€á€°á€Šá€®á€±á€žá€¬ သုံးစြဲသူမ်ား"
-#: templates/web/base/report/_item.html:61
+#: templates/web/base/report/_item.html:63
#: templates/web/zurich/report/_item.html:14
msgid "last updated %s"
msgstr "ေနာက္ဆုံး ျပဳျပင္မြမ္းမံမႈမ်ား"
@@ -4641,44 +4800,7 @@ msgstr "ေနာက္ဆုံး ျပဳျပင္မြမ္းမံá€
msgid "less than a minute"
msgstr "á€á€…္မိနစ္á€á€”္႔သာ"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:280
-msgid "marked as action scheduled"
-msgstr "ျပဳျပင္ထားေသာ အá€á€ºá€­á€”္ဇယားကို အမွá€á€¹á€¡á€žá€¬á€¸á€»á€•ဳလုပ္ပါ"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:292
-msgid "marked as an internal referral"
-msgstr "အá€á€¼á€„္းá€á€¼á€„္ လႊဲေျပာင္းထားသည္ကို အမွá€á€¹á€¡á€žá€¬á€¸á€»á€•ဳလုပ္ပါ"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:282
-msgid "marked as closed"
-msgstr "ပိá€á€¹á€‘ားသည့္ အမွá€á€¹á€¡á€žá€¬á€¸ ျပဳလုပ္ထားသည္"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:263
-#: perllib/FixMyStreet/DB/Result/Comment.pm:284
-msgid "marked as fixed"
-msgstr "ျပင္ဆင္ထားသည့္ အမွá€á€¹á€¡á€žá€¬á€¸ ျပဳလုပ္ထားသည္"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:278
-msgid "marked as in progress"
-msgstr "ဆက္လက္လုပ္ေဆာင္ေနဆဲ အမွá€á€¹á€¡á€žá€¬á€¸ ျပဳလုပ္ထားသည္"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:274
-msgid "marked as investigating"
-msgstr "စံုစမ္းစစ္ေဆးေနဆဲ အမွá€á€¹á€¡á€žá€¬á€¸ ျပဳလုပ္ထားသည္"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:286
-msgid "marked as no further action"
-msgstr "ျပင္ဆင္á မရေá¾á€€á€¬á€„္း အမွá€á€¹á€¡á€žá€¬á€¸ ျပဳလုပ္ထားသည္"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:288
-msgid "marked as not the council's responsibility"
-msgstr "ေကာင္စီá á€á€¬á€á€”္မဟုá€á€¹á€±á¾á€€á€¬á€„္း အမွá€á€¹á€¡á€žá€¬á€¸ ျပဳလုပ္ထားသည္"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:276
-msgid "marked as planned"
-msgstr "စီစဥ္ထားá¿á€•ီးျဖစ္ေá¾á€€á€¬á€„္း အမွá€á€¹á€¡á€žá€¬á€¸ ျပဳလုပ္ထားသည္"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:122
+#: perllib/FixMyStreet/App/Controller/Admin.pm:119
#: templates/web/base/admin/questionnaire.html:15
#: templates/web/base/admin/questionnaire.html:16
msgid "n/a"
@@ -4689,13 +4811,10 @@ msgstr "မအားေသးပါ"
msgid "none"
msgstr ""
-#: templates/web/base/admin/category_edit.html:35
-msgid "optional"
-msgstr ""
-
-#: templates/web/base/alert/_list.html:86
-msgid "or"
-msgstr "သို႔မဟုá€á€¹"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:278
+#, fuzzy
+msgid "not the council's responsibility"
+msgstr "ေကာင္စီá á€á€¬á€á€”္မဟုá€á€¹á€±á¾á€€á€¬á€„္း အမွá€á€¹á€¡á€žá€¬á€¸ ျပဳလုပ္ထားသည္"
#: templates/web/base/js/translation_strings.html:27
msgid "or locate me automatically"
@@ -4720,16 +4839,7 @@ msgstr "နဂိုá€á€„္ေရာက္ထားမႈ: &ldquo;%s&rdquo;"
msgid "other areas:"
msgstr "အျá€á€¬á€¸ ဧရိယာမ်ား"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:265
-#: perllib/FixMyStreet/DB/Result/Comment.pm:271
-msgid "reopened"
-msgstr "ျပန္ဖြင့္ပါ"
-
-#: templates/web/base/admin/category_edit.html:35
-msgid "required"
-msgstr ""
-
-#: templates/web/zurich/footer.html:13
+#: templates/web/zurich/footer.html:12
msgid "sign out"
msgstr "ထြက္ရန္"
@@ -4737,11 +4847,16 @@ msgstr "ထြက္ရန္"
msgid "the local council"
msgstr "ျပည္á€á€¼á€„္းေကာင္စီ"
-#: templates/web/base/report/_report_meta_info.html:2
+#: templates/web/base/report/_report_meta_info.html:5
#: templates/web/zurich/report/_main.html:5
msgid "there is no pin shown as the user did not use the map"
msgstr "အသုံးျပဳသူ မသုံးသည့္ ေျမပုံကို ပင္အပ္ျဖင့္ မေဖာ္ျပထားပါ"
+#: templates/web/base/alert/_list.html:1
+#, fuzzy
+msgid "this location"
+msgstr "á€á€Šá€¹á€±á€”ရာကို စိစစ္ျá€á€„္း"
+
#: perllib/FixMyStreet/Script/Reports.pm:184
msgid "this type of local problem"
msgstr "ေဒသá€á€¼á€„္း ျပႆနာသာျဖစ္သည္á‹"
@@ -4750,15 +4865,13 @@ msgstr "ေဒသá€á€¼á€„္း ျပႆနာသာျဖစ္သည္á‹"
msgid "today"
msgstr "ယေန႔"
-#: templates/web/base/js/translation_strings.html:73
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:76
msgid "update"
-msgstr "မြမ္းမံထားေသာအသစ္မ်ားရယူရန္"
+msgstr ""
-#: templates/web/base/js/translation_strings.html:74
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:77
msgid "updates"
-msgstr "မြမ္းမံထားေသာအသစ္မ်ားရယူရန္"
+msgstr ""
#: templates/web/base/admin/report_edit.html:52
msgid "used map"
@@ -4802,10 +4915,10 @@ msgid_plural "%d minutes"
msgstr[0] "%d မိနစ္မ်ား"
#: perllib/Utils.pm:246
-#, fuzzy, perl-format
+#, perl-format
msgid "%d month"
msgid_plural "%d months"
-msgstr[0] "%d မိနစ္မ်ား"
+msgstr[0] ""
#: templates/web/base/report/_support.html:6
#, perl-format
@@ -4825,6 +4938,36 @@ msgid "%d year"
msgid_plural "%d years"
msgstr[0] ""
+#: templates/web/base/reports/index.html:92
+#, perl-format
+msgid "%s day"
+msgid_plural "%s days"
+msgstr[0] ""
+
+#: templates/web/base/reports/index.html:55
+#, perl-format
+msgid "%s problem marked as fixed"
+msgid_plural "%s problems marked as fixed"
+msgstr[0] ""
+
+#: templates/web/base/reports/index.html:43
+#, perl-format
+msgid "%s problem reported"
+msgid_plural "%s problems reported"
+msgstr[0] ""
+
+#: templates/web/base/reports/index.html:107
+#, perl-format
+msgid "%s report"
+msgid_plural "%s reports"
+msgstr[0] ""
+
+#: templates/web/base/reports/index.html:49
+#, perl-format
+msgid "%s update on problems"
+msgid_plural "%s updates on problems"
+msgstr[0] ""
+
#: templates/web/base/front/stats.html:19
#, perl-format
msgid "<big>%s</big> fixed in past month"
@@ -4849,7 +4992,7 @@ msgid "<big>%s</big> update on reports"
msgid_plural "<big>%s</big> updates on reports"
msgstr[0] "<big>%s</big> ျပဳျပင္မြမ္းမံထားသည့္ အစီရင္á€á€¶á€…ာမ်ား"
-#: templates/web/base/report/_item.html:49
+#: templates/web/base/report/_item.html:51
#, perl-format
msgid "Reported %d day ago"
msgid_plural "Reported %d days ago"
@@ -4867,26 +5010,77 @@ msgid "We do not yet have details for the council that covers this location."
msgid_plural "We do not yet have details for the councils that cover this location."
msgstr[0] "ကá½á€¼á‚ု္ပ္á€á€­á€¯á‚”သည္ ယá€á€¯á€±á€”ရာကိုá‚ွင့္ ပá€á€¹á€žá€€á€¹á€žá€Šá€¹á€· ေကာင္စီမ်ားအá€á€¼á€€á€¹ အေသးစိá€á€¹á€™á€›á€½á€­á€±á€žá€¸á€•ါ"
-#: templates/web/base/report/_item.html:59
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:61
+#, perl-format
msgid "last updated %d day ago"
msgid_plural "last updated %d days ago"
-msgstr[0] "ေနာက္ဆုံး ျပဳျပင္မြမ္းမံမႈမ်ား"
+msgstr[0] ""
#: templates/email/oxfordshire/archive.txt:9
-#, fuzzy, perl-format
+#, perl-format
msgid "report"
msgid_plural "reports"
-msgstr[0] "အစီရင္á€á€¶á€…ာအားလံုး"
+msgstr[0] ""
-#, fuzzy
-#~ msgid "All inspectors"
-#~ msgstr "အစီရင္á€á€¶á€…ာအားလံုး"
+#~ msgid "%s ward, %s"
+#~ msgstr "%sရပ္ကြက္አ%s"
-#, fuzzy
-#~ msgid "Report category:"
-#~ msgstr "အမ်ိဳးအစားဖန္á€á€®á€¸á€™á€Šá€¹"
+#~ msgid "-- Pick a property type --"
+#~ msgstr "-- ပစá¥á€Šá€¹á€¸á€¡á€™á€ºá€­á€³á€¸á€¡á€…ားကိုေရြးပါ --"
-#, fuzzy
-#~ msgid "last updated %d days ago"
-#~ msgstr "ေနာက္ဆုံး ျပဳျပင္မြမ္းမံမႈမ်ား"
+#~ msgid "Closed:"
+#~ msgstr "ပိá€á€¹á€™á€Šá€¹-"
+
+#~ msgid "Duplicate"
+#~ msgstr "á‚ွစ္á€á€¯á€»á€•ဳလုပ္မည္"
+
+#~ msgid "Fixed:"
+#~ msgstr "ျပင္ျပီးျပီ"
+
+#~ msgid "In Progress"
+#~ msgstr "လုပ္ေဆာင္ေနဆဲ"
+
+#~ msgid "Investigating"
+#~ msgstr "စံုစမ္းစစ္ေဆးေနဆဲ"
+
+#~ msgid "Not Responsible"
+#~ msgstr "á€á€¬á€á€”္ယူမႈမရွိျá€á€„္း"
+
+#~ msgid "Or problems reported to:"
+#~ msgstr "သို႔မဟုá€á€¹ ျပႆနာမ်ားကိုá€á€„္ျပရန္ေနရာမွာ-"
+
+#~ msgid "Please choose a property type"
+#~ msgstr "ပစá¥á€Šá€¹á€¸á€¡á€™á€ºá€­á€³á€¸á€¡á€…ားá€á€…္á€á€¯á€€á€­á€¯á€±á€›á€¼á€¸á€•ါ"
+
+#~ msgid "closed as a duplicate report"
+#~ msgstr "အစီရင္á€á€¶á€…ာ á€á€°á€Šá€®á€±á€”ေá¾á€€á€¬á€„္း အမွá€á€¹á€¡á€žá€¬á€¸ ျပဳလုပ္ထားသည္"
+
+#~ msgid "marked as action scheduled"
+#~ msgstr "ျပဳျပင္ထားေသာ အá€á€ºá€­á€”္ဇယားကို အမွá€á€¹á€¡á€žá€¬á€¸á€»á€•ဳလုပ္ပါ"
+
+#~ msgid "marked as an internal referral"
+#~ msgstr "အá€á€¼á€„္းá€á€¼á€„္ လႊဲေျပာင္းထားသည္ကို အမွá€á€¹á€¡á€žá€¬á€¸á€»á€•ဳလုပ္ပါ"
+
+#~ msgid "marked as closed"
+#~ msgstr "ပိá€á€¹á€‘ားသည့္ အမွá€á€¹á€¡á€žá€¬á€¸ ျပဳလုပ္ထားသည္"
+
+#~ msgid "marked as fixed"
+#~ msgstr "ျပင္ဆင္ထားသည့္ အမွá€á€¹á€¡á€žá€¬á€¸ ျပဳလုပ္ထားသည္"
+
+#~ msgid "marked as in progress"
+#~ msgstr "ဆက္လက္လုပ္ေဆာင္ေနဆဲ အမွá€á€¹á€¡á€žá€¬á€¸ ျပဳလုပ္ထားသည္"
+
+#~ msgid "marked as investigating"
+#~ msgstr "စံုစမ္းစစ္ေဆးေနဆဲ အမွá€á€¹á€¡á€žá€¬á€¸ ျပဳလုပ္ထားသည္"
+
+#~ msgid "marked as no further action"
+#~ msgstr "ျပင္ဆင္á မရေá¾á€€á€¬á€„္း အမွá€á€¹á€¡á€žá€¬á€¸ ျပဳလုပ္ထားသည္"
+
+#~ msgid "marked as planned"
+#~ msgstr "စီစဥ္ထားá¿á€•ီးျဖစ္ေá¾á€€á€¬á€„္း အမွá€á€¹á€¡á€žá€¬á€¸ ျပဳလုပ္ထားသည္"
+
+#~ msgid "or"
+#~ msgstr "သို႔မဟုá€á€¹"
+
+#~ msgid "reopened"
+#~ msgstr "ျပန္ဖြင့္ပါ"
diff --git a/locale/nb_NO.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/nb_NO.UTF-8/LC_MESSAGES/FixMyStreet.po
index 40516fd46..157f954ab 100644
--- a/locale/nb_NO.UTF-8/LC_MESSAGES/FixMyStreet.po
+++ b/locale/nb_NO.UTF-8/LC_MESSAGES/FixMyStreet.po
@@ -3,28 +3,32 @@
# This file is distributed under the same license as the main FixMyStreet code.
# Matthew Somerville <matthew@mysociety.org>, 2011-06-03.
#
+#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
-"POT-Creation-Date: 2017-05-30 23:30+0200\n"
-"PO-Revision-Date: 2017-05-31 01:04+0200\n"
-"Last-Translator: pere <pere-transifex@hungry.com>, 2016\n"
+"POT-Creation-Date: 2017-09-13 15:40+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: mySociety <transifex@mysociety.org>, 2017\n"
"Language-Team: Norwegian Bokmål (Norway) (https://www.transifex.com/mysociety/teams/12067/nb_NO/)\n"
"Language: nb_NO\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.8.12\n"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:695
+#: perllib/FixMyStreet/DB/Result/Problem.pm:632
#: perllib/FixMyStreet/Script/Reports.pm:197
msgid " and "
msgstr " og "
+#: templates/web/base/report/new/category_extras.html:13
+#: templates/web/base/report/new/councils_text_all.html:4
+#: templates/web/base/report/new/top_message_none.html:12
#: templates/web/base/report/new/top_message_none.html:15
#: templates/web/base/report/new/top_message_some.html:12
+#: templates/web/base/report/new/top_message_some.html:9
msgid " or "
msgstr " eller "
@@ -36,6 +40,7 @@ msgstr "%d redigeringer av %s"
msgid "%d to %d of %d"
msgstr "%d til %d av %d"
+#: templates/web/base/reports/body.html:0
#: templates/web/base/reports/body.html:24
msgid "%s - Summary reports"
msgstr "%s - oppsummeringsrapporter"
@@ -90,25 +95,6 @@ msgstr "%s spørreskjema sendt &ndash; %s besvart (%s%%)"
msgid "%s ref:&nbsp;%s"
msgstr "%s ref:&nbsp;%s"
-#. ("%s is the site name")
-#: templates/web/base/alert/_list.html:74
-msgid ""
-"%s sends different categories of problem\n"
-"to the appropriate council, so problems within the boundary of a particular council\n"
-"might not match the problems sent to that council. For example, a graffiti report\n"
-"will be sent to the district council, so will appear in both of the district\n"
-"council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
-"for the county council."
-msgstr "%s sender forskjellige kategorier problemer til rett administrasjon, så problemer innenfor grensene til en gitt administrasjon vil ikke alltid samsvare med problemrapporter sendt til den administrasjonen. For eksempel, en grafitti-rapport vil bli sendt til kommunen, og vil dukke opp på kommunens varsler, men vil kun vises i \"innenfor grensen\" varselet for fylket."
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:257 perllib/FixMyStreet/Cobrand/UK.pm:269
-msgid "%s ward, %s"
-msgstr "%s bydel, %s"
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
-msgid "%s, within %s ward"
-msgstr "%s, innefor bydel %s"
-
#: perllib/FixMyStreet/Map/OSM.pm:38
msgid "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"
msgstr "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> -bidragsytere"
@@ -117,7 +103,7 @@ msgstr "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap<
msgid "(Defect &amp; location of defect)"
msgstr "(Feil & lokasjon for feil)"
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
#: templates/web/base/admin/users.html:32
msgid "(Email in abuse table)"
msgstr "(Epost i misbrukstabellen)"
@@ -132,28 +118,36 @@ msgstr "(Uten navn)"
msgid "(No phone number)"
msgstr "(Uten telefonnummer)"
-#: templates/web/base/alert/_list.html:25
-msgid "(a default distance which covers roughly 200,000 people)"
-msgstr "(en standardavstand som dekker en befolkning på omtrent 200 000)"
-
-#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
-#: templates/web/base/alert/_list.html:30
-msgid "(alternatively the RSS feed can be customised, within %s)"
-msgstr "(alternativt kan RSS-strømmen tilpasses, innenfor %s)"
+#: templates/web/base/admin/states/index.html:95
+msgid "(a-z and space only)"
+msgstr ""
#: templates/web/zurich/report/_item.html:19
msgid "(closed)"
msgstr "(lukket)"
+#: templates/web/base/alert/_list.html:30
+#, fuzzy
+msgid "(covers roughly 200,000 people)"
+msgstr "(en standardavstand som dekker en befolkning på omtrent 200 000)"
+
#: templates/web/zurich/report/_item.html:17
msgid "(fixed)"
msgstr "(løst)"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "(ignored if type is \"String\")"
+msgstr ""
+
#: templates/web/base/around/intro.html:2
msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
msgstr "(som tagging, søppel, hull i veien, eller ødelagte gatelys)"
-#: templates/web/base/report/_item.html:68
+#: templates/web/base/reports/index.html:69
+msgid "(no longer exists)"
+msgstr ""
+
+#: templates/web/base/report/_item.html:70
msgid "(not sent to council)"
msgstr "(ikke rapportert til administrasjonen)"
@@ -161,20 +155,22 @@ msgstr "(ikke rapportert til administrasjonen)"
msgid "(optional)"
msgstr "(valgfritt)"
-#: templates/web/base/report/_item.html:67
+#: templates/web/base/report/_item.html:69
msgid "(sent to both)"
msgstr "(sendt til begge)"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:239
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/DB/Result/Problem.pm:454
+#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
+#: templates/web/base/alert/_list.html:36
+#, fuzzy
+msgid "(we also have RSS feeds for problems within %s)"
+msgstr "RSS-strøm for problemer innenfor %s"
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:245
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:381
msgid "-- Pick a category --"
msgstr "-- Velg en kategori --"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:460
-msgid "-- Pick a property type --"
-msgstr "-- Velg en eiendomsstype --"
-
#: templates/web/base/admin/response_templates_select.html:3
msgid "--Choose a template--"
msgstr "--Velg en mal--"
@@ -183,15 +179,16 @@ msgstr "--Velg en mal--"
msgid "10 inch pothole on Example St, near post box"
msgstr "20 cm dypt hull i Eksempelveien, nær postboks"
-#: templates/web/base/dashboard/index.html:152
+#: templates/web/base/dashboard/index.html:153
msgid "14-30 days old"
-msgstr "14-30 dager gammel"
+msgstr ""
-#: templates/web/base/dashboard/index.html:151
+#: templates/web/base/dashboard/index.html:152
msgid "7-14 days old"
-msgstr "7-14 dager gammel"
+msgstr ""
-#: templates/web/base/admin/body-form.html:49
+#: templates/web/base/admin/body-form.html:50
+#: templates/web/base/admin/body-form.html:51
msgid ""
"<code>MAPIT_URL</code> is set (<code>%s</code>) but no <code>MAPIT_TYPES</code>.<br>\n"
" This is probably why \"area covered\" is empty (below).<br>\n"
@@ -200,16 +197,17 @@ msgstr "<code>MAPIT_URL</code> er satt (<code>%s</code>) men ingen <code>MAPIT_T
#: templates/web/base/dashboard/index.html:15
msgid "<h2>Reports, Statistics and Actions for</h2> <h1>%s</h1>"
-msgstr "<h2>Rapporter, Statistikk og Handliger for</h2> <h1>%s</h1>"
+msgstr ""
-#. ('The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories')
-#: templates/web/base/reports/_list-filters.html:37
-msgid "<label for=\"statuses\">Show</label> %s <label for=\"filter_categories\">about</label> %s"
+#. ("The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories")
+#: templates/web/base/reports/_list-filters.html:48
+#, fuzzy
+msgid "<label for=\"statuses\">Show</label> %s reports <label for=\"filter_categories\">about</label> %s"
msgstr "<label for=\"statuses\">Vis</label> %s <label for=\"filter_categories\">om</label> %s"
-#: templates/web/base/js/translation_strings.html:71
+#: templates/web/base/js/translation_strings.html:74
msgid "<span>%s</span> saved."
-msgstr "<span>%s</span> lagret."
+msgstr ""
#: templates/web/base/status/stats.html:18
#: templates/web/zurich/admin/index.html:4
@@ -224,31 +222,26 @@ msgstr "<strong>Nei</strong> La meg bekrefte min rapport med e-post"
msgid "<strong>No</strong> Let me confirm my update by email"
msgstr "<strong>Nei</strong> La meg bekrefte min oppdatering med e-post"
-#: templates/web/base/auth/general.html:104
+#: templates/web/base/auth/general.html:106
#: templates/web/zurich/auth/general.html:51
msgid "<strong>No</strong> let me sign in by email"
msgstr "<strong>Nei</strong>, la meg logge inn med e-post:"
-#: templates/web/base/report/_inspect.html:146
+#: templates/web/base/report/_inspect.html:170
msgid "<strong>Note:</strong> This report has been sent onwards for action. Any changes made won't be passed on."
msgstr "<strong>Merk:</strong> Denne rapporten er sendt videre for å få noe til å skje. Ingen endringer sendes videre."
-#: templates/web/base/report/_inspect.html:148
+#: templates/web/base/report/_inspect.html:172
msgid "<strong>Note:</strong> This report hasn't yet been sent onwards for action. Any changes made may not be passed on."
msgstr "<strong>Merk:</strong> Denne rapporten har ikke blitt sent videre for handling. Det er ikke sikkert eventuelle endringer vil bli levert."
-#: templates/web/base/auth/general.html:80
+#: templates/web/base/auth/general.html:82
#: templates/web/base/report/new/form_user_loggedout_password.html:3
#: templates/web/base/report/update/form_user_loggedout_password.html:2
msgid "<strong>Yes</strong> I have a password"
msgstr "<strong>Ja</strong>, jeg har et passord"
-#: templates/web/base/admin/report_blocks.html:10
-#: templates/web/base/report/inspect/state_groups_select.html:6
-#: templates/web/base/report/update/form_update.html:42
-msgid "Action Scheduled"
-msgstr "Handling planlagt"
-
+#: templates/web/base/admin/body-form.html:3
#: templates/web/base/admin/body-form.html:4
msgid ""
"Add a <strong>body</strong> for each administrative body, such as a council or department\n"
@@ -261,19 +254,36 @@ msgid "Add a contact using the form below."
msgstr "Legg til en kontakt ved å bruke formen under."
#: templates/web/base/admin/bodies.html:78
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Add body"
msgstr "Legg til administrasjon"
+#: templates/web/base/admin/reportextrafields/index.html:24
+msgid "Add extra fields"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:79
+msgid "Add field"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:85
+msgid "Add fixed state"
+msgstr ""
+
#: templates/web/base/admin/body.html:126
#: templates/web/zurich/admin/body.html:31
msgid "Add new category"
msgstr "Legg til ny kategori"
+#: templates/web/base/admin/extra-metadata-form.html:72
+#, fuzzy
+msgid "Add option"
+msgstr "valgfri"
+
#: templates/web/base/report/_item.html:10
-#: templates/web/base/report/_item.html:14
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_item.html:16
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:19
#: templates/web/base/report/_main.html:30
msgid "Add to shortlist"
@@ -285,15 +295,15 @@ msgstr "Legg i hurtiglisten"
msgid "Add user"
msgstr "Legg til bruker"
-#: perllib/FixMyStreet/Cobrand/Default.pm:730
+#: perllib/FixMyStreet/Cobrand/Default.pm:735
msgid "Add/edit problem categories"
msgstr "Legg til / endre problemkategorier"
-#: perllib/FixMyStreet/Cobrand/Default.pm:732
+#: perllib/FixMyStreet/Cobrand/Default.pm:737
msgid "Add/edit response priorities"
msgstr "Legg til / endre responsprioriteter"
-#: perllib/FixMyStreet/Cobrand/Default.pm:731
+#: perllib/FixMyStreet/Cobrand/Default.pm:736
msgid "Add/edit response templates"
msgstr "Legg til / endre responsmaler"
@@ -301,13 +311,13 @@ msgstr "Legg til / endre responsmaler"
msgid "Added %s"
msgstr "La til %s"
-#: templates/web/base/report/_main.html:145
+#: templates/web/base/report/_main.html:149
msgid "Adding this report to your shortlist will remove it from %s’s shortlist."
msgstr "Ved å legge rapporten i hurtiglisten din vil fjerne den fra hurtiglisten til %s"
#: templates/web/base/main_nav_items.html:47
msgid "Admin"
-msgstr "Admin"
+msgstr ""
#: templates/web/base/auth/change_password.html:39
msgid "Again:"
@@ -321,17 +331,17 @@ msgstr "Varsel %d opprettet for %s, type %s, parameter %s / %s"
msgid "Alert %d disabled (created %s)"
msgstr "Varsel %d koblet ut (opprettet %s)"
-#: templates/web/base/report/update/form_name.html:38
+#: templates/web/base/report/update/form_name.html:42
msgid "Alert me to future updates"
msgstr "Send meg varsel ved fremtidige oppdateringer"
#: templates/web/base/dashboard/index.html:138
#: templates/web/base/dashboard/index.html:21
#: templates/web/base/dashboard/index.html:30
+#: templates/web/base/reports/_list-filters.html:3
msgid "All"
-msgstr "Alle"
+msgstr ""
-#: templates/web/base/reports/index.html:6
#: templates/web/zurich/reports/index.html:13
msgid "All Reports"
msgstr "Alle rapporter"
@@ -341,14 +351,23 @@ msgid "All Reports as CSV"
msgstr "Alle rapporter som CSV"
#: templates/web/base/admin/category-multiselect.html:5
-#: templates/web/base/admin/responsepriorities/list.html:19
+#: templates/web/base/admin/responsepriorities/list.html:20
msgid "All categories"
msgstr "Alle kategorier"
+#: templates/web/base/admin/reportextrafields/edit.html:26
+#, fuzzy
+msgid "All cobrands"
+msgstr "Merkevaresamarbeid"
+
+#: templates/web/base/admin/reportextrafields/edit.html:47
+msgid "All languages"
+msgstr ""
+
+#: templates/web/base/main_nav_items.html:0
#: templates/web/base/main_nav_items.html:27
-#: templates/web/base/reports/_list-filters.html:3
#: templates/web/zurich/admin/index-dm.html:12
-#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:21
+#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:20
#: templates/web/zurich/nav_over_content.html:6
msgid "All reports"
msgstr "Alle rapporter"
@@ -358,6 +377,14 @@ msgstr "Alle rapporter"
msgid "All reports between %s and %s"
msgstr "Alle rapporter mellom %s og %s"
+#: templates/web/base/reports/index.html:23
+msgid "All time"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:20
+msgid "Alternatively, we can hide your name on <strong>all of your reports and updates</strong> across the site:"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:47
msgid "An update marked this problem as fixed."
msgstr "En oppdatering markerte dette problemet som fikset."
@@ -367,31 +394,33 @@ msgstr "En oppdatering markerte dette problemet som fikset."
msgid "Anonymous"
msgstr "Anonym"
+#: templates/web/base/report/new/form_user_loggedin.html:21
+#: templates/web/base/report/update/form_name.html:17
+#, fuzzy
+msgid "Anonymous user"
+msgstr "Anonym"
+
#: templates/web/base/admin/report_edit.html:122
#: templates/web/base/admin/update_edit.html:23
msgid "Anonymous:"
msgstr "Anonym:"
-#: templates/web/base/report/new/form_user_loggedin.html:20
-#: templates/web/base/report/update/form_name.html:13
+#: templates/web/base/report/new/form_user_loggedin.html:24
+#: templates/web/base/report/update/form_name.html:14
msgid "Another user"
msgstr "En annen bruker"
-#: templates/web/base/front/footer-marketing.html:16
-msgid "Are you a developer?"
-msgstr "Er du en utvikler?"
-
-#: templates/web/base/js/translation_strings.html:56
+#: templates/web/base/js/translation_strings.html:59
msgid "Are you sure you want to cancel this upload?"
msgstr "Er du sikker på at du vil avbryte opplastingen?"
#: templates/web/base/admin/report_edit.html:84
-#: templates/web/base/js/translation_strings.html:66
+#: templates/web/base/js/translation_strings.html:69
#: templates/web/base/report/display_tools.html:6
msgid "Are you sure?"
msgstr "Er du sikker?"
-#: templates/web/base/admin/body-form.html:75
+#: templates/web/base/admin/body-form.html:77
#: templates/web/base/admin/body.html:20
#: templates/web/zurich/admin/body-form.html:24
msgid "Area covered"
@@ -423,11 +452,11 @@ msgstr "Tildel til ekstern administrasjon:"
msgid "Assign to subdivision:"
msgstr "Tildelt underavdeling:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:727
+#: perllib/FixMyStreet/Cobrand/Default.pm:732
msgid "Assign users to areas"
msgstr "Tilordne brukere til områder"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:214
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:219
msgid "Assigned to %s"
msgstr "Tildelt %s"
@@ -439,6 +468,7 @@ msgstr "På det meste blir %d forespørsler returnert i hver spørring. De retu
msgid "At the moment only searching for and looking at reports work."
msgstr "For øyeblikket er det kun søk etter og å se på rapporter som fungerer."
+#: templates/web/base/admin/user-form.html:78
#: templates/web/base/admin/user-form.html:79
msgid "Authorised staff users can be associated with the categories in which they operate."
msgstr "Autorisert personale kan bli assosiert med en kategori hvor de operer."
@@ -451,19 +481,23 @@ msgstr "Auto-svar:"
msgid "Available categories"
msgstr "Tilgjengelige kategorier"
+#: templates/web/base/reports/index.html:84
+msgid "Average time between a problem being reported and being fixed, last 100 reports."
+msgstr ""
+
#: templates/web/base/dashboard/index.html:109
msgid "Average time to council marking fixed (days)"
-msgstr "Gjennomsnittlig tid til administrasjon merker som løst (dager)"
+msgstr ""
#: templates/web/base/dashboard/index.html:117
msgid "Average time to first council state change (days)"
-msgstr "Gjennomsnittlig tid til første status endring gjort av administrasjon (dager)"
+msgstr ""
#: templates/web/base/report/new/after_photo.html:6
msgid "Avoid personal information and vehicle number plates"
msgstr "Unngå personlig informasjon og bilnummerskilt"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:417
+#: perllib/FixMyStreet/DB/Result/Problem.pm:344
#: templates/web/zurich/report/_item.html:9
msgid "Awaiting moderation"
msgstr "Avventer moderasjon"
@@ -476,13 +510,13 @@ msgstr "Tilbake"
msgid "Back to all reports"
msgstr "Tilbake til alle rapporter"
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
msgid "Ban email address"
msgstr "Bannlys epostadresse"
#: perllib/FixMyStreet/Cobrand/Default.pm:650
-#: perllib/FixMyStreet/Cobrand/Default.pm:729
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
+#: perllib/FixMyStreet/Cobrand/Default.pm:734
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:396
#: templates/web/base/admin/bodies.html:1
#: templates/web/base/admin/report_edit.html:55
#: templates/web/zurich/header.html:56
@@ -504,7 +538,11 @@ msgstr "Administrasjon:"
msgid "By Date"
msgstr "PÃ¥ dato"
-#: templates/web/base/auth/token.html:21 templates/web/base/email_sent.html:18
+#: templates/web/base/admin/extra-metadata-form.html:36
+msgid "Can be used to display extra text to the user alongside the field. The default template does not show this (<code>meta.datatype_description</code>), you must add it in <code>category_extras_fields.html</code>"
+msgstr ""
+
+#: templates/web/base/auth/token.html:27 templates/web/base/email_sent.html:20
msgid "Can&rsquo;t find our email? Check your spam folder&nbsp;&ndash; that&rsquo;s the solution 99% of the time."
msgstr "Finner du ikke e-posten? Sjekk mappen for uønsket post. Det løser problemet i 99% av tilfellene."
@@ -525,8 +563,8 @@ msgstr "Kategorier:"
#: templates/web/base/admin/body.html:72
#: templates/web/base/admin/contact-form.html:19
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/report/_inspect.html:38
-#: templates/web/base/report/_item.html:90
+#: templates/web/base/report/_inspect.html:48
+#: templates/web/base/report/_item.html:92
#: templates/web/base/report/new/category.html:6
#: templates/web/base/report/new/category_wrapper.html:3
#: templates/web/zurich/admin/body.html:14
@@ -537,7 +575,7 @@ msgstr "Kategorier:"
msgid "Category"
msgstr "Kategori"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:853
+#: perllib/FixMyStreet/App/Controller/Admin.pm:956
msgid "Category changed from ‘%s’ to ‘%s’"
msgstr "Kategori endret fra '%s' til '%s'"
@@ -569,6 +607,7 @@ msgstr "Endre epost"
msgid "Change email address"
msgstr "Endre epostadresse"
+#: templates/web/base/auth/change_password.html:1
#: templates/web/base/auth/change_password.html:16
#: templates/web/base/auth/change_password.html:4
#: templates/web/base/auth/change_password.html:43
@@ -576,27 +615,11 @@ msgstr "Endre epostadresse"
msgid "Change password"
msgstr "Bytt passord"
-#: templates/web/base/admin/contact-form.html:41
-msgid ""
-"Check <strong>confirmed</strong> to indicate that this contact has been confirmed as correct.\n"
-" If you are not sure of the origin or validity of the contact, leave this unchecked."
-msgstr ""
-"Marker <strong>bekreftet</strong> for å indikere at dette kontaktpunktet har blitt bekreftet som korrekt.\n"
-"Hvis du ikke er sikker på opprinnelsen eller gyldigheten til kontaktpunktet, ikke marker feltet."
-
-#: templates/web/base/admin/contact-form.html:52
-msgid ""
-"Check <strong>deleted</strong> to remove the category from use. \n"
-" It will not appear as an available category in the drop-down menu on the report-a-problem page."
-msgstr ""
-"Marker <strong>slettet</strong> for å ikke lenger bruke kategorien\n"
-"Den vil ikke lenger dukke opp som en tilgjengelig kategori i nedtrekksmenyen på rapporter-et-problem-siden."
-
-#: templates/web/base/admin/contact-form.html:79
+#: templates/web/base/admin/contact-form.html:80
msgid "Check <strong>inspection required</strong> if reports in this category <strong>must be inspected</strong> before being sent."
msgstr "Marker <strong>trenger inspeksjon</strong> hvis rapporter i denne kategorien <strong>må inspiseres</strong> før de sendes."
-#: templates/web/base/admin/contact-form.html:63
+#: templates/web/base/admin/contact-form.html:64
msgid ""
"Check <strong>private</strong> if reports in this category should <strong>never be displayed on the website</strong>.\n"
" <br>\n"
@@ -618,13 +641,13 @@ msgid ""
" to the body too. These will appear in the drop-down menu on the report-a-problem page."
msgstr "Velg et <strong>kategorinavn</strong> som gir mening for innbyggerne (f.eks. \"Hull i veien\", \"Gatelys\") men som også er nyttig for administrasjonen. Disse vil dukke opp i nedtrekksmenyen på rapporter-et-problem-siden."
-#: templates/web/base/report/_inspect.html:79
+#: templates/web/base/report/_inspect.html:103
msgid "Choose another"
-msgstr "Velg en annen"
+msgstr ""
-#: templates/web/base/js/translation_strings.html:65
+#: templates/web/base/js/translation_strings.html:68
msgid "Clear offline data"
-msgstr "Tøm offline data"
+msgstr ""
#: templates/web/base/admin/stats.html:72
#: templates/web/base/admin/stats.html:78
@@ -647,41 +670,40 @@ msgstr "Klikk lenken i bekreftelses-eposten for å publisere ditt problem."
msgid "Click the link in our confirmation email to publish your update."
msgstr "Klikk lenken i bekreftelses-eposten for å publisere din oppdatering."
-#: templates/web/base/auth/token.html:18
+#: templates/web/base/auth/token.html:23
msgid "Click the link in our confirmation email to sign in."
msgstr "Klikk lenken i bekreftelses-eposten for å logge inn."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:189
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:960
-#: templates/web/base/admin/report_blocks.html:17
-#: templates/web/base/admin/report_blocks.html:27
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:43
-#: templates/web/base/report/banner.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:18
+#: templates/web/base/auth/token.html:20
+#, fuzzy
+msgid "Click the link in that email to sign in."
+msgstr "Klikk lenken i bekreftelses-eposten for å logge inn."
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:134
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:194
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:965
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:11
+#: templates/web/base/admin/states/index.html:103
+#: templates/web/base/admin/states/index.html:27
+#: templates/web/base/admin/states/index.html:33
+#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:10
#: templates/web/zurich/admin/header.html:16
#: templates/web/zurich/admin/stats.html:31
msgid "Closed"
msgstr "Lukket"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:889
+#: perllib/FixMyStreet/DB/Result/Problem.pm:826
msgid "Closed by council"
msgstr "(ikke rapportert til administrasjonen)"
-#: templates/web/base/reports/_list-filters.html:13
-msgid "Closed reports"
-msgstr "lukkede rapporter"
-
-#: templates/web/base/admin/problem_row.html:38
-msgid "Closed:"
-msgstr "Lukket:"
-
#: templates/web/base/admin/report_edit.html:37
msgid "Co-ordinates:"
msgstr "Koordinater:"
#: templates/web/base/admin/list_updates.html:10
+#: templates/web/base/admin/reportextrafields/edit.html:24
+#: templates/web/base/admin/reportextrafields/index.html:7
msgid "Cobrand"
msgstr "Merkevaresamarbeid"
@@ -695,9 +717,13 @@ msgstr "Merkevaresamarbeidsdata:"
msgid "Cobrand:"
msgstr "Merkevaresamarbeid:"
+#: templates/web/base/admin/extra-metadata-form.html:14
+msgid "Code"
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:50
msgid "Collapse map"
-msgstr "Minimer kart"
+msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:646
#: templates/web/base/admin/config_page.html:1
@@ -725,9 +751,8 @@ msgstr "Bekreft via e-post isteden, ved å oppgi et nytt passord da. Når du bek
msgid "Confirmation"
msgstr "Bekreftelse"
-#: templates/web/base/admin/body.html:85
-#: templates/web/base/admin/category_edit.html:54
-#: templates/web/base/admin/contact-form.html:47
+#: templates/web/base/admin/contact-form.html:56
+#: templates/web/zurich/admin/contact-form.html:12
#: templates/web/zurich/admin/stats.html:40
msgid "Confirmed"
msgstr "Bekreftet"
@@ -747,6 +772,7 @@ msgstr "Bekreftet:"
msgid "Contact %s"
msgstr "Kontakt %s"
+#: templates/web/base/contact/index.html:1
#: templates/web/base/contact/index.html:2
#: templates/web/base/contact/submit.html:1
msgid "Contact Us"
@@ -761,8 +787,8 @@ msgstr "Kontakt prosjektgruppen"
msgid "Coordinates:"
msgstr "Koordinater:"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1670
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1698
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1773
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1801
msgid "Could not find user"
msgstr "Kunne ikke finne bruker"
@@ -780,25 +806,30 @@ msgstr "Administrasjon"
msgid "Council contacts for %s"
msgstr "Administrasjonskontakter for %s"
+#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:83
msgid "Council has marked as closed"
-msgstr "Administrasjon har markert som lukket"
+msgstr ""
+#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:57
msgid "Council has marked as fixed"
-msgstr "Administrasjon har merket som løst"
+msgstr ""
+#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:80
msgid "Council has marked as in progress"
-msgstr "Administrasjon har merket som under arbeid"
+msgstr ""
+#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:82
msgid "Council has marked as investigating"
-msgstr "Administrasjon har merket som undersøkes"
+msgstr ""
+#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:81
msgid "Council has marked as planned"
-msgstr "Administrasjon har merket som planlagt"
+msgstr ""
#: templates/web/base/report/_council_sent_info.html:6
msgid "Council ref:&nbsp;%s"
@@ -815,24 +846,34 @@ msgstr "Administrasjon:"
msgid "Count"
msgstr "Antall"
+#: templates/web/base/admin/states/index.html:114
+#, fuzzy
+msgid "Create"
+msgstr "Opprettet"
+
#: templates/web/base/email_sent.html:1
msgid "Create a report"
msgstr "Lag en rapport"
-#: templates/web/base/admin/contact-form.html:137
+#: templates/web/base/admin/contact-form.html:138
#: templates/web/zurich/admin/body.html:62
msgid "Create category"
msgstr "Lag kategori"
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/responsepriorities/edit.html:58
msgid "Create priority"
msgstr "Opprett prioritet"
-#: perllib/FixMyStreet/Cobrand/Default.pm:714
+#: perllib/FixMyStreet/Cobrand/Default.pm:718
+#, fuzzy
+msgid "Create reports/updates as anonymous user"
+msgstr "Opprett rapporter/oppdateringer på vegne av en bruker"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:719
msgid "Create reports/updates as the council"
msgstr "Opprett rapporter/oppdateringer som myndigheten"
-#: perllib/FixMyStreet/Cobrand/Default.pm:713
+#: perllib/FixMyStreet/Cobrand/Default.pm:717
msgid "Create reports/updates on a user's behalf"
msgstr "Opprett rapporter/oppdateringer på vegne av en bruker"
@@ -862,12 +903,15 @@ msgstr "Gjeldende tilstand"
msgid "Currently no bodies have been created."
msgstr "I øyeblikket er ikke laget noen instanser."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:825
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:830
#: templates/web/zurich/admin/report_edit-sdm.html:105
msgid "Customer not contactable"
msgstr "Kunden kan ikke kontaktes"
+#: templates/web/base/dashboard/index.html:5
#: templates/web/base/dashboard/index.html:7
+#: templates/web/base/reports/index.html:15
+#: templates/web/base/reports/index.html:18
msgid "Dashboard"
msgstr "Oversikt"
@@ -875,29 +919,37 @@ msgstr "Oversikt"
msgid "Dealt with by subdivision within 5 working days"
msgstr "Behandlet av underavdeling innen 5 arbeidsdager"
-#: templates/web/base/report/_inspect.html:59
+#: templates/web/base/admin/responsepriorities/list.html:9
+msgid "Default"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:39
+#, fuzzy
+msgid "Default priority"
+msgstr "Opprett prioritet"
+
+#: templates/web/base/report/_inspect.html:72
msgid "Defect type"
-msgstr "Defekt type"
+msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:975
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1078
#: templates/web/base/admin/template_edit.html:50
#: templates/web/zurich/admin/template_edit.html:33
msgid "Delete template"
msgstr "Slett mal"
#: templates/web/base/admin/bodies.html:31
-#: templates/web/base/admin/body.html:87
-#: templates/web/base/admin/category_edit.html:55
#: templates/web/base/admin/contact-form.html:58
-#: templates/web/zurich/admin/contact-form.html:12
+#: templates/web/zurich/admin/contact-form.html:13
msgid "Deleted"
msgstr "Slettet"
-#: templates/web/base/report/_main.html:110
-#: templates/web/base/report/update.html:59
+#: templates/web/base/report/_main.html:114
+#: templates/web/base/report/update.html:68
msgid "Describe why you are moderating this"
-msgstr "Beskriv hvorfor du moderer dette"
+msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:32
#: templates/web/base/admin/responsepriorities/list.html:7
#: templates/web/zurich/admin/index-dm.html:22
#: templates/web/zurich/admin/index-sdm.html:20
@@ -921,7 +973,7 @@ msgstr "Detaljer"
msgid "Details:"
msgstr "Detaljer:"
-#: templates/web/base/admin/body.html:93
+#: templates/web/base/admin/body.html:92
msgid "Devolved"
msgstr "Delegert"
@@ -934,17 +986,17 @@ msgstr "Brukte ikke kart"
msgid "Diligency prize league table"
msgstr "Arbeidshester"
-#: templates/web/base/report/_main.html:114
-#: templates/web/base/report/update.html:61
+#: templates/web/base/report/_main.html:118
+#: templates/web/base/report/update.html:70
msgid "Discard changes"
-msgstr "Forkast endringer"
+msgstr ""
#: templates/web/base/admin/open311-form-fields.html:95
msgid "Do not send email alerts on fetched comments to problem creator"
msgstr "Ikke send epostvarsel på innhentede kommentarer til den som opprettet problemet"
#. ("%s is the site name")
-#: templates/web/base/auth/general.html:58
+#: templates/web/base/auth/general.html:60
#: templates/web/base/report/new/form_user_loggedout.html:25
#: templates/web/base/report/new/oauth_email_form.html:18
#: templates/web/base/report/update-form.html:30
@@ -952,35 +1004,33 @@ msgstr "Ikke send epostvarsel på innhentede kommentarer til den som opprettet p
msgid "Do you have a %s password?"
msgstr "Har du et %s-passord?"
+#: templates/web/base/report/_inspect.html:87
+msgid "Do you want to automatically raise a defect?"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:57
msgid "Don&rsquo;t know"
msgstr "Vet ikke"
-#: templates/web/base/contact/index.html:108
+#: templates/web/base/contact/index.html:112
msgid "Don't like forms?"
msgstr "Liker ikke skjemaer?"
-#: templates/web/base/report/_item.html:25
+#: templates/web/base/report/_item.html:27
msgid "Down one"
-msgstr "Ned en"
+msgstr ""
-#: templates/web/base/js/translation_strings.html:55
+#: templates/web/base/js/translation_strings.html:58
msgid "Drag and drop photos here or <u>click to upload</u>"
msgstr "Dra og slipp bilder hit eller <u>klikk for å laste opp</u>"
-#: templates/web/base/admin/report_blocks.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:10
-#: templates/web/base/report/update/form_update.html:43
-msgid "Duplicate"
-msgstr "Duplikat"
-
-#: templates/web/base/report/_inspect.html:74
+#: templates/web/base/report/_inspect.html:98
msgid "Duplicate of"
-msgstr "Duplikat av"
+msgstr ""
-#: templates/web/base/report/_inspect.html:84
+#: templates/web/base/report/_inspect.html:108
msgid "Duplicates"
-msgstr "Duplikater"
+msgstr ""
#: templates/web/base/admin/body.html:116
msgid ""
@@ -993,49 +1043,52 @@ msgstr ""
"Ulike kategorier kan ha same kontakt</strong> (e-postadresse).\n"
"Dette betyr at du kan legge til mange grupper/kategorier selv om du bare har <strong>en<strong> kontakt for administrasjonen."
-#: templates/web/base/report/_inspect.html:16
-#: templates/web/base/report/_item.html:81
+#: templates/web/base/report/_inspect.html:26
+#: templates/web/base/report/_item.html:83
msgid "Easting/Northing:"
msgstr "Øst/Nord:"
#: templates/web/base/admin/list_updates.html:42
#: templates/web/base/admin/problem_row.html:41
-#: templates/web/base/admin/responsepriorities/list.html:26
+#: templates/web/base/admin/responsepriorities/list.html:28
#: templates/web/base/admin/templates.html:22
#: templates/web/base/admin/users.html:34
#: templates/web/zurich/admin/problem_row.html:48
msgid "Edit"
msgstr "Rediger"
-#: templates/web/base/admin/body.html:140
+#: templates/web/base/admin/body.html:141
#: templates/web/base/admin/index.html:39
#: templates/web/zurich/admin/body.html:69
msgid "Edit body details"
msgstr "Rediger detaljer for administrasjon"
-#: perllib/FixMyStreet/Cobrand/Default.pm:724
+#: perllib/FixMyStreet/Cobrand/Default.pm:729
msgid "Edit other users' details"
msgstr "Endre andre brukeres detaljer"
-#: perllib/FixMyStreet/Cobrand/Default.pm:725
+#: perllib/FixMyStreet/Cobrand/Default.pm:730
msgid "Edit other users' permissions"
msgstr "Endre andre brukeres rettigheter"
-#: perllib/FixMyStreet/Cobrand/Default.pm:708
+#: perllib/FixMyStreet/Cobrand/Default.pm:712
msgid "Edit report category"
msgstr "Endre rapportkategori"
-#: perllib/FixMyStreet/Cobrand/Default.pm:709
+#: perllib/FixMyStreet/Cobrand/Default.pm:713
msgid "Edit report priority"
msgstr "Endre rapportprioritet"
-#: perllib/FixMyStreet/Cobrand/Default.pm:707
+#: perllib/FixMyStreet/Cobrand/Default.pm:711
msgid "Edit reports"
msgstr "Endre rapporter"
+#: templates/web/base/admin/report_edit.html:0
#: templates/web/base/admin/report_edit.html:14
#: templates/web/base/admin/report_edit.html:4
+#: templates/web/zurich/admin/report_edit-sdm.html:1
#: templates/web/zurich/admin/report_edit-sdm.html:5
+#: templates/web/zurich/admin/report_edit.html:1
#: templates/web/zurich/admin/report_edit.html:5
msgid "Editing problem %d"
msgstr "Rediger problem %d"
@@ -1049,15 +1102,15 @@ msgstr "Redigerer oppdatering %d"
msgid "Editing user %d"
msgstr "Redigerer bruker %d"
-#: templates/web/base/admin/category_edit.html:56
+#: templates/web/base/admin/category_edit.html:30
msgid "Editor"
msgstr "Oppdatert av"
#: templates/web/base/admin/bodies.html:27
-#: templates/web/base/admin/category_edit.html:53
+#: templates/web/base/admin/category_edit.html:28
#: templates/web/base/admin/flagged.html:38
#: templates/web/base/admin/users.html:17
-#: templates/web/base/auth/general.html:49
+#: templates/web/base/auth/general.html:51
#: templates/web/zurich/admin/body-form.html:9
#: templates/web/zurich/admin/body.html:15
#: templates/web/zurich/auth/general.html:24
@@ -1065,13 +1118,14 @@ msgstr "Oppdatert av"
msgid "Email"
msgstr "E-post"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1646
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1749
msgid "Email added to abuse list"
msgstr "Epost lagt til misbruksliste"
-#: templates/web/base/admin/contact-form.html:36
-#: templates/web/base/report/new/form_user_loggedin.html:28
-#: templates/web/base/report/update/form_name.html:19
+#: templates/web/base/admin/contact-form.html:38
+#: templates/web/base/alert/_list.html:74
+#: templates/web/base/report/new/form_user_loggedin.html:32
+#: templates/web/base/report/update/form_name.html:23
msgid "Email address"
msgstr "Epostadresse"
@@ -1083,7 +1137,7 @@ msgstr "Epostvarsel laget"
msgid "Email alert deleted"
msgstr "Epostvarsel slettet"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1643
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1746
msgid "Email already in abuse list"
msgstr "Epost allerede i misbrukslisten"
@@ -1099,6 +1153,7 @@ msgstr "E-post:"
msgid "Email: %s"
msgstr "E-post: %s"
+#: templates/web/base/admin/open311-form-fields.html:55
#: templates/web/base/admin/open311-form-fields.html:56
msgid ""
"Enable <strong>Open311 update-sending</strong> if the endpoint will send and receive\n"
@@ -1110,7 +1165,8 @@ msgstr ""
"oppdateringer til eksisterende rapporter. Hvis du ikke er sikker, skjer det nok ikke, så la den forbli uavkrysset. For mer informasjon, se\n"
"<a href='https://www.mysociety.org/2013/02/20/open311-extended/' class='admin-offsite-link'>denne artikkelen</a>."
-#: templates/web/base/admin/body-form.html:121
+#: templates/web/base/admin/body-form.html:122
+#: templates/web/base/admin/body-form.html:123
msgid ""
"Enable this <strong>can be devolved</strong> setting if one or more contacts have a \n"
" different endpoint (and send method) from the body's. For example, if reports for some categories of\n"
@@ -1128,11 +1184,11 @@ msgstr "Slutt-dato:"
msgid "Endpoint"
msgstr "Endepunkt"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:76
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:81
msgid "Enter a Z&uuml;rich street name"
msgstr "Skriv inn et veinavn i Z&uuml;rich"
-#: perllib/FixMyStreet/Cobrand/UK.pm:15
+#: perllib/FixMyStreet/Cobrand/UK.pm:16
msgid "Enter a nearby UK postcode, or street name and area"
msgstr "Skriv inn et britisk postnummer i nærheten, eller veinavn og sted"
@@ -1141,11 +1197,13 @@ msgstr "Skriv inn et britisk postnummer i nærheten, eller veinavn og sted"
msgid "Enter a nearby postcode, or street name and area"
msgstr "Skriv inn postnummer i nærheten, eller veinavn og sted"
+#: perllib/FixMyStreet/Cobrand/DansMonQwat.pm:14
+#: templates/web/base/around/postcode_form.html:5
#: templates/web/base/around/postcode_form.html:6
msgid "Enter a nearby street name and area"
msgstr "Skriv inn et veinavn og sted"
-#: templates/web/base/auth/general.html:116
+#: templates/web/base/auth/general.html:118
#: templates/web/base/report/new/form_user_loggedout_by_email.html:35
#: templates/web/base/report/update/form_user_loggedout_by_email.html:13
#: templates/web/zurich/auth/general.html:65
@@ -1165,8 +1223,8 @@ msgstr "Legg inn detaljer om problemet"
msgid "Error"
msgstr "Feil"
-#: templates/web/base/reports/_list-filters.html:20
-#: templates/web/base/reports/_list-filters.html:28
+#: templates/web/base/reports/_list-filters.html:31
+#: templates/web/base/reports/_list-filters.html:39
msgid "Everything"
msgstr "Alt"
@@ -1185,18 +1243,19 @@ msgstr "Eksisterende kategori"
#: templates/web/base/js/translation_strings.html:49
msgid "Expand map"
-msgstr "Utvid kart"
+msgstr ""
-#: templates/web/base/report/new/form_report.html:52
+#: templates/web/base/report/new/form_report.html:54
msgid "Explain what’s wrong"
msgstr "Forklar hva som er galt"
-#: templates/web/base/dashboard/index.html:146
+#: templates/web/base/dashboard/index.html:147
msgid "Export as CSV"
-msgstr "Eksporter som CSV"
+msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:913
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:179
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
+#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:12
msgid "Extern"
msgstr "Ekstern"
@@ -1206,7 +1265,7 @@ msgstr "Ekstern"
msgid "External ID"
msgstr "Ekstern ID"
-#: templates/web/base/admin/body-form.html:87
+#: templates/web/base/admin/body-form.html:89
msgid "External URL"
msgstr "Ekstern URL"
@@ -1218,13 +1277,20 @@ msgstr "Ekstern administrasjon"
msgid "External team"
msgstr "Eksternt lag"
-#: templates/web/base/admin/category_edit.html:25
+#: perllib/FixMyStreet/Cobrand/Default.pm:673
+#: templates/web/base/admin/reportextrafields/edit.html:1
+#: templates/web/base/admin/reportextrafields/index.html:1
+#, fuzzy
+msgid "Extra Fields"
+msgstr "Ekstra detaljer"
+
+#: templates/web/base/admin/contact-form.html:141
#: templates/web/base/admin/report_edit.html:94
msgid "Extra data:"
msgstr "Ekstra data:"
-#: templates/web/base/report/_inspect.html:120
-#: templates/web/base/report/_item.html:106
+#: templates/web/base/report/_inspect.html:144
+#: templates/web/base/report/_item.html:108
msgid "Extra details"
msgstr "Ekstra detaljer"
@@ -1232,6 +1298,11 @@ msgstr "Ekstra detaljer"
msgid "Failed to send message"
msgstr "Klarte ikke sende melding"
+#: templates/web/base/admin/reportextrafields/edit.html:58
+#: templates/web/base/admin/reportextrafields/index.html:9
+msgid "Fields"
+msgstr ""
+
#: templates/web/zurich/admin/index-dm.html:33
#: templates/web/zurich/admin/index-sdm.html:30
msgid "Filter report list"
@@ -1245,45 +1316,32 @@ msgstr "Første gang"
msgid "Fix this by choosing an <strong>area covered</strong> in the <em>Edit body details</em> form below."
msgstr "Fiks dette ved å velge en <strong>area covered</strong> i <em> Edit body details</em>-skjemaet nedenfor."
-#: templates/web/base/admin/report_blocks.html:11
-#: templates/web/base/admin/report_blocks.html:26
+#: perllib/FixMyStreet/App/Controller/Admin/States.pm:35
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:133
+#: templates/web/base/admin/states/index.html:29
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:41
-#: templates/web/base/report/banner.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:17
-#: templates/web/base/report/update/form_update.html:45
msgid "Fixed"
msgstr "Løst"
-#: templates/web/base/admin/report_blocks.html:13
-#: templates/web/base/report/inspect/state_groups_select.html:7
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:62
msgid "Fixed - Council"
msgstr "Løst - Administrasjon"
-#: templates/web/base/admin/report_blocks.html:12
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:63
msgid "Fixed - User"
msgstr "Løst - Bruker"
-#: templates/web/base/reports/_list-filters.html:14
-msgid "Fixed reports"
-msgstr "løste rapporter"
-
-#: templates/web/base/admin/problem_row.html:37
-msgid "Fixed:"
-msgstr "Løst:"
-
-#: templates/web/base/admin/body-form.html:95
-#: templates/web/base/admin/responsepriorities/edit.html:41
+#: templates/web/base/admin/body-form.html:97
+#: templates/web/base/admin/responsepriorities/edit.html:53
#: templates/web/zurich/admin/body-form.html:36
msgid "Flag as deleted"
msgstr "Merk som slettet"
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/report_blocks.html:23
msgid "Flag user"
msgstr "Flag bruker"
-#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: perllib/FixMyStreet/Cobrand/Default.pm:644
#: templates/web/base/admin/users.html:20
msgid "Flagged"
msgstr "Flagget"
@@ -1313,21 +1371,25 @@ msgstr "Følg en bydelslenke for å kun se rapporter innenfor den bydelen."
msgid "For best results include a close-up and a wide shot"
msgstr "Ta med nærbilder og oversiktsbilder for best resultat"
-#: templates/web/base/admin/body-form.html:71
+#: templates/web/base/admin/extra-metadata-form.html:52
+msgid "For each option, <strong>Key</strong> is the value which is stored in the database for that option and <strong>Name</strong> is the value displayed to the user."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:73
msgid "For more information, see <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
msgstr "For mer informasjon, se <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>Hvordan FixMyStreet bruker Mapit</a>."
-#: templates/web/base/auth/general.html:95
+#: templates/web/base/auth/general.html:97
#: templates/web/base/report/new/form_user_loggedout_password.html:20
#: templates/web/base/report/update/form_user_loggedout_password.html:19
msgid "Forgotten your password?"
msgstr "Glemt passordet ditt?"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:743
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:748
msgid "Forwarded to external body"
msgstr "Tildelt til ekstern administrasjon"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:744
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:749
msgid "Forwarded wish to external body"
msgstr "Ønsket er sendt videre til ekstern administrasjon"
@@ -1337,23 +1399,33 @@ msgstr "Ønsket er sendt videre til ekstern administrasjon"
msgid "Frequently Asked Questions"
msgstr "Ofte spurte spørsmål"
+#: templates/web/base/admin/stats.html:102
+msgid "Get Count"
+msgstr ""
+
#: templates/web/base/around/_updates.html:3
#: templates/web/base/report/display_tools.html:14
msgid "Get updates"
msgstr "FÃ¥ oppdateringer"
+#: templates/web/base/reports/_rss.html:3
#: templates/web/base/reports/_rss.html:9
msgid "Get updates of %s problems"
msgstr "FÃ¥ oppdateringer for problemer i denne %s"
#: templates/web/base/reports/_rss.html:11
+#: templates/web/base/reports/_rss.html:3
msgid "Get updates of problems in this %s"
msgstr "FÃ¥ oppdateringer for problemer i denne %s"
-#: templates/web/base/alert/_list.html:83
+#: templates/web/base/alert/_list.html:85
msgid "Give me an RSS feed"
msgstr "Gi meg en RSS-strøm"
+#: templates/web/base/admin/reportextrafields/edit.html:6
+msgid "Give this collection of fields a name. It is not shown publicly, just here in the admin."
+msgstr ""
+
#: templates/web/base/questionnaire/completed.html:14
msgid "Glad to hear it’s been fixed!"
msgstr "Glad for å høre at det er i orden!"
@@ -1363,8 +1435,9 @@ msgstr "Glad for å høre at det er i orden!"
#: templates/web/base/admin/index.html:49
#: templates/web/base/alert/index.html:34
#: templates/web/base/around/postcode_form.html:13
-#: templates/web/base/reports/_list-filters.html:38
-#: templates/web/base/reports/_list-filters.html:53
+#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:64
+#: templates/web/base/reports/index.html:75
#: templates/web/zurich/admin/stats.html:26
msgid "Go"
msgstr "Fortsett"
@@ -1373,7 +1446,7 @@ msgstr "Fortsett"
msgid "Going to send questionnaire?"
msgstr "Skal det sendes spørreskjema?"
-#: perllib/FixMyStreet/Cobrand/Default.pm:726
+#: perllib/FixMyStreet/Cobrand/Default.pm:731
msgid "Grant access to the admin"
msgstr "Gi tilgang til administratoren"
@@ -1381,10 +1454,6 @@ msgstr "Gi tilgang til administratoren"
msgid "Graph of problem creation by status over time"
msgstr "Graf over problemoppretting fordelt på status over tid"
-#: templates/web/base/reports/index.html:15
-msgid "Greyed-out lines are councils that no longer exist."
-msgstr "Linjer med grå bakgrunn er administrasjoner som ikke lenger eksisterer."
-
#: templates/web/base/questionnaire/index.html:48
msgid "Has this problem been fixed?"
msgstr "Har dette problemet blitt løst?"
@@ -1395,52 +1464,74 @@ msgstr "Har du rapportert et problem til en administrasjon før, eller er dette
#: templates/web/base/main_nav_items.html:40
#: templates/web/zurich/about/faq-de-ch.html:1
-#: templates/web/zurich/footer.html:23
+#: templates/web/zurich/footer.html:22
#: templates/web/zurich/nav_over_content.html:8
msgid "Help"
msgstr "Hjelp"
+#: templates/web/base/report/new/category_extras.html:13
#: templates/web/base/report/new/category_extras.html:14
msgid "Help <strong>%s</strong> resolve your problem quicker, by providing some extra detail. This extra information will not be published online."
msgstr "Hjelp <strong>%s</strong> å løse problemet ditt fortere, ved å oppgi noen ekstra detaljer. Denne ekstra informasjonen vil ikke bli publisert på nettsiden."
-#: templates/web/base/alert/_list.html:9
-msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
-msgstr "Her er de forskjellige typene lokale problemvarsler for &lsquo;%s&rsquo;."
-
-#: templates/web/zurich/footer.html:12
+#: templates/web/zurich/footer.html:11
msgid "Hi %s"
msgstr "Hei, %s"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:906
-#: templates/web/base/admin/report_blocks.html:19
-#: templates/web/base/admin/report_blocks.html:28
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:911
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:60
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/report/inspect/state_groups_select.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:19
+#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:11
#: templates/web/zurich/admin/stats.html:32
#: templates/web/zurich/admin/update_edit.html:18
msgid "Hidden"
msgstr "Skjul"
-#: templates/web/base/report/_main.html:105
+#: templates/web/base/report/_main.html:109
msgid "Hide entire report"
-msgstr "Skjul hele rapporten"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:1
+#: templates/web/base/my/anonymize.html:2
+msgid "Hide my name"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:21
+msgid "Hide my name everywhere"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:10
+msgid "Hide my name in this update"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:16
+msgid "Hide my name on this report"
+msgstr ""
#: templates/web/base/around/display_location.html:67
msgid "Hide old"
msgstr "Skjul gamle"
#: templates/web/base/around/display_location.html:62
+#: templates/web/base/js/translation_strings.html:55
msgid "Hide pins"
msgstr "Skjul nåler"
#: templates/web/base/report/update.html:15
msgid "Hide update completely?"
-msgstr "Skjul oppdatering helt?"
+msgstr ""
-#: templates/web/base/admin/category_edit.html:49
+#: templates/web/base/report/_report_meta_info.html:3
+#: templates/web/base/report/update.html:55
+msgid "Hide your name?"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:38
+msgid "Hint"
+msgstr ""
+
+#: templates/web/base/admin/category_edit.html:24
msgid "History"
msgstr "Historie"
@@ -1456,11 +1547,13 @@ msgstr "Hvordan rapportere et problem"
msgid "How to send successful reports"
msgstr "Hvordan sende inn rapporter som løses"
-#: templates/web/base/tokens/confirm_problem.html:40
+#: templates/web/base/tokens/confirm_problem.html:36
+#: templates/web/base/tokens/confirm_problem.html:41
msgid "I just reported a problem on @fixmystreet"
msgstr "Jeg rapporterte akkurat et problem på @fiksgatami"
-#: templates/web/base/tokens/confirm_update.html:23
+#: templates/web/base/tokens/confirm_update.html:20
+#: templates/web/base/tokens/confirm_update.html:25
msgid "I just updated a problem on @fixmystreet"
msgstr "Jeg oppdaterte akkurat et problem på @fiksgatami"
@@ -1480,16 +1573,25 @@ msgstr "Jeg er redd vi ikke klarte å finne ditt problem i databasen.\n"
msgid "ID"
msgstr "ID"
-#: templates/web/base/admin/body-form.html:31
+#: templates/web/base/admin/body-form.html:32
+#: templates/web/base/admin/body-form.html:33
msgid ""
"Identify a <strong>parent</strong> if this body is itself part of another body.\n"
" For basic installations, you don't need to join bodies in this way."
msgstr "Identifiser en <strong>parent</strong> hvis instansen selv er en del av en annen administrasjon."
+#: templates/web/base/auth/token.html:19
+msgid "If there's a user associated with the address you entered, we've sent a confirmation email."
+msgstr ""
+
#: templates/web/base/admin/responsepriorities/edit.html:23
msgid "If this priority is passed to an external service (e.g. Exor/Confirm) enter the priority code to use with that service here."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:24
+msgid "If ticked the user won’t see an input field, just the ‘Description’ text."
+msgstr ""
+
#: templates/web/base/admin/contact-form.html:14
msgid ""
"If two or more bodies serve the same location, FixMyStreet combines identical categories into a single entry in\n"
@@ -1500,7 +1602,7 @@ msgstr "Hvis to eller flere instanser er lokalisert på samme sted, kombinerer
msgid "If you get some more information about the status of your problem, please come back to the site and leave an update."
msgstr "Hvis du får mer informasjon om status for problemet ditt, vær så snill å kom tilbake til nettstedet og legg igjen en oppdatering."
-#: templates/web/base/admin/responsepriorities/edit.html:33
+#: templates/web/base/admin/responsepriorities/edit.html:45
msgid "If you only want this priority to be an option for specific categories, pick them here. By default they will show for all categories."
msgstr "Hvis du kun ønsker at denne prioriteten skal være et valg for spesifikke kategorier, velg dem her. Som standard vil de vises for alle kategorier."
@@ -1509,12 +1611,13 @@ msgid "If you only want this template to be an option for specific categories, p
msgstr "Hvis du vil at denne malen skal være et valg for spesielle kategorier, velg dem her. Som standard vil de vises for alle kategorier."
#: templates/web/base/report/new/top_message_none.html:10
+#: templates/web/base/report/new/top_message_none.html:9
msgid "If you submit a problem here the problem will <strong>not</strong> be reported to the council."
msgstr "Hvis du legger inn en rapport her vil <strong>ikke</strong> rapporten bli sendt til administrasjonen."
#: templates/web/base/admin/template_edit.html:36
msgid "If you want to use this template to prefill the update field when changing a report&rsquo;s state, select the state here."
-msgstr "Hvis du ønsker å bruke denne malen til å forhåndsutfylle oppdateringsfeltet når du endrer en rapports status, velg status her."
+msgstr ""
#: templates/web/base/questionnaire/index.html:70
msgid ""
@@ -1522,10 +1625,11 @@ msgid ""
"(please note it will not be sent to the council)."
msgstr "Hvis du ønsker å legge til en offentlig kommentar på problemet, legg den til her (denne blir ikke sendt til administrasjonen)."
-#: templates/web/base/admin/contact-form.html:30
+#: templates/web/base/admin/contact-form.html:32
msgid "If you're using <strong>a send method that is not email</strong>, enter the service ID (Open311) or equivalent identifier here."
msgstr "Hvis du bruker <strong>en sendemetode som ikke er e-post</strong>, skriv inn tjeneste-ID (Open311) eller ekvivalent identifikator her."
+#: templates/web/base/admin/open311-form-fields.html:100
#: templates/web/base/admin/open311-form-fields.html:101
msgid ""
"If you've enabled Open311 update-sending above, Open311 usually only accepts OPEN or CLOSED status in \n"
@@ -1536,6 +1640,7 @@ msgstr ""
"sine oppdateringer. Aktiver <strong>extended Open311 statuses</strong> hvis du vil tillate ekstra tilstander.\n"
"Sjekk at cobrand støtter denne funksjonen før du slår den på."
+#: templates/web/base/admin/open311-form-fields.html:87
#: templates/web/base/admin/open311-form-fields.html:88
msgid ""
"If you've enabled Open311 update-sending above, enable <strong>suppression of alerts</strong> \n"
@@ -1544,6 +1649,7 @@ msgstr ""
"Hvis du har aktivert Open311 update-sending ovenfor, aktiver <strong>suppression of alerts</strong>,\n"
"hvis du <strong>ikke</strong> ønsker å varsle denne brukeren hver gang disse oppdateringene blir laget."
+#: templates/web/base/admin/open311-form-fields.html:70
#: templates/web/base/admin/open311-form-fields.html:71
msgid ""
"If you've enabled Open311 update-sending above, you must identify which \n"
@@ -1553,7 +1659,7 @@ msgstr ""
"Hvis du har aktivert Open311 update-sending ovenfor, må du identifisere hvilke FiksGataMi <strong>bruker</ strong> som blir kreditert for oppdateringer \n"
"når de blir vist på nettstedet. Vis ID (nummer) for denne brukeren."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:133
+#: perllib/FixMyStreet/App/Controller/Contact.pm:134
msgid "Illegal ID"
msgstr "Ugyldig ID"
@@ -1561,11 +1667,6 @@ msgstr "Ugyldig ID"
msgid "Illegal feed selection"
msgstr "Ugyldig valg av feed"
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/update/form_update.html:43
-msgid "In Progress"
-msgstr "Under arbeid"
-
#: templates/web/base/admin/flagged.html:39
msgid "In abuse table?"
msgstr "I misbrukstabell?"
@@ -1574,15 +1675,17 @@ msgstr "I misbrukstabell?"
msgid "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
msgstr "I tillegg er følgende attributter som ikke er del av Open311 v2-spesifikasjonen returnert: agency_sent_datetime, title (også returnert som del av description), interface_used, comment_count, requestor_name (kun tilstede hvis innsender tillot at navnet kunne vises på dette nettstedet)."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:192
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:954
-#: templates/web/base/admin/report_blocks.html:9
-#: templates/web/base/report/banner.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:5
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:197
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:959
+#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:8
msgid "In progress"
msgstr "Under arbeid"
+#: templates/web/base/admin/contact-form.html:57
+msgid "Inactive"
+msgstr ""
+
#: templates/web/base/tokens/confirm_alert.html:11
msgid "Inbox zero, here we come!"
msgstr "Tom innboks, her kommer vi!"
@@ -1599,11 +1702,15 @@ msgstr "Inkluder ubekreftede problemer"
msgid "Incorrect has_photo value \"%s\""
msgstr "Feil has_photo-verdi \"%s\""
-#: templates/web/base/admin/contact-form.html:84
+#: templates/web/base/report/_inspect.html:5
+msgid "Inspect report"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:85
msgid "Inspection required"
msgstr "Trenger inspeksjon"
-#: perllib/FixMyStreet/Cobrand/Default.pm:711
+#: perllib/FixMyStreet/Cobrand/Default.pm:715
msgid "Instruct contractors to fix problems"
msgstr "Instruer underleverandør til å fikse problemer"
@@ -1611,20 +1718,15 @@ msgstr "Instruer underleverandør til å fikse problemer"
msgid "Internal notes"
msgstr "Interne notater"
-#: templates/web/base/admin/report_blocks.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:11
-msgid "Internal referral"
-msgstr "Interne referanser"
-
#: templates/web/base/offline/appcache.html:3
msgid "Internet glitch"
-msgstr "Internettproblem"
+msgstr ""
#: perllib/FixMyStreet/App/Controller/Open311.pm:336
msgid "Invalid agency_responsible value %s"
msgstr "Ugyldig agency_responsible-verdi %s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1504
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1607
msgid "Invalid end date"
msgstr "Ugyldig slutt-dato"
@@ -1632,22 +1734,15 @@ msgstr "Ugyldig slutt-dato"
msgid "Invalid format %s specified."
msgstr "Ugyldig format %s oppgitt."
-#: perllib/FixMyStreet/App/Controller/Report.pm:398
+#: perllib/FixMyStreet/App/Controller/Report.pm:409
msgid "Invalid location. New location must be covered by the same council."
msgstr "Ugyldig plassering. Ny plassering må være dekket av den samme administrasjonen."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1500
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1603
msgid "Invalid start date"
msgstr "Ugyldig startdato"
-#: templates/web/base/admin/report_blocks.html:7
-#: templates/web/base/dashboard/index.html:140
-#: templates/web/base/report/inspect/state_groups_select.html:4
-#: templates/web/base/report/update/form_update.html:42
-msgid "Investigating"
-msgstr "Undersøkes"
-
-#: templates/web/base/contact/blurb.html:8
+#: templates/web/base/contact/blurb.html:2
msgid "It's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there."
msgstr "Det er ofte raskest å <a href=\"%s\">sjekke FAQ-en vår</a> og se om svaret er der."
@@ -1655,35 +1750,59 @@ msgstr "Det er ofte raskest å <a href=\"%s\">sjekke FAQ-en vår</a> og se om sv
msgid "It’s on its way to the council right now."
msgstr "Den er på tur mot myndigheten akkurat nå."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:177
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:182
msgid "Jurisdiction Unknown"
msgstr "Ukjent område"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
+#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:15
msgid "Jurisdiction unknown"
msgstr "Ukjent område"
-#: templates/web/base/auth/general.html:91
+#: templates/web/base/auth/general.html:93
#: templates/web/base/report/new/form_user_loggedout_password.html:16
#: templates/web/base/report/update/form_user_loggedout_password.html:15
#: templates/web/zurich/auth/general.html:40
msgid "Keep me signed in on this computer"
msgstr "Husk min innlogging på denne datamaskinen"
+#: templates/web/base/admin/extra-metadata-form.html:61
+msgid "Key"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:9
+#: templates/web/base/admin/states/index.html:95
+msgid "Label"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:6
+#: templates/web/base/admin/reportextrafields/edit.html:45
+msgid "Language"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/index.html:8
+msgid "Languages"
+msgstr ""
+
#: templates/web/base/dashboard/index.html:50
msgid "Last 4 weeks"
-msgstr "Siste fire uker"
+msgstr ""
#: templates/web/base/dashboard/index.html:49
+#: templates/web/base/reports/index.html:38
msgid "Last 7 days"
-msgstr "Siste syv dager"
+msgstr ""
#: templates/web/base/admin/body.html:74
#: templates/web/zurich/admin/body.html:16
msgid "Last editor"
msgstr "Sist redigert av"
+#: templates/web/base/questionnaire/index.html:25
+msgid "Last update"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:89
msgid "Last update:"
msgstr "Siste oppdatering:"
@@ -1692,22 +1811,26 @@ msgstr "Siste oppdatering:"
msgid "Last&nbsp;update:"
msgstr "Siste&nbsp;oppdatering:"
-#: templates/web/base/report/_inspect.html:20
-#: templates/web/base/report/_item.html:86
+#: templates/web/base/report/_inspect.html:30
+#: templates/web/base/report/_item.html:88
msgid "Latitude/Longitude:"
-msgstr "Breddegrad/Lengdegrad:"
+msgstr ""
-#: templates/web/base/reports/_list-filters.html:50
+#: templates/web/base/reports/_list-filters.html:61
msgid "Least recently updated"
msgstr "Minst nylig oppdatert"
-#: templates/web/base/admin/body-form.html:127
+#: templates/web/base/admin/body-form.html:129
msgid "Leave this blank if all reports to this body should be sent using the same send method (e.g., \"%s\")."
msgstr "La denne være blank hvis alle rapporter til denne administrasjonen skal sendes ved hjelp av samme sende-metode (dvs. \"%s\")."
-#: templates/web/base/dashboard/index.html:150
+#: templates/web/base/dashboard/index.html:151
msgid "Less than 7 days old"
-msgstr "Mindre en syv dager gammel"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:47
+msgid "List"
+msgstr ""
#: templates/web/base/admin/body.html:31
msgid "List all reported problems"
@@ -1719,16 +1842,18 @@ msgstr "Laster..."
#: templates/web/base/alert/choose.html:1
#: templates/web/base/alert/choose.html:3 templates/web/base/alert/index.html:1
-#: templates/web/base/alert/index.html:3 templates/web/base/alert/list.html:5
-#: templates/web/base/alert/updates.html:1
+#: templates/web/base/alert/index.html:3 templates/web/base/alert/list.html:1
+#: templates/web/base/alert/list.html:5 templates/web/base/alert/updates.html:1
#: templates/web/base/tokens/confirm_alert.html:1
msgid "Local RSS feeds and email alerts"
msgstr "Lokal RSS-strøm og e-postvarsel"
+#: templates/web/base/alert/list.html:1 templates/web/base/alert/list.html:12
#: templates/web/base/alert/list.html:14 templates/web/base/alert/list.html:3
msgid "Local RSS feeds and email alerts for ‘%s’"
msgstr "Lokal RSS-strøm og e-postvarsel for ‘%s’"
+#: templates/web/base/main_nav_items.html:31
#: templates/web/base/main_nav_items.html:37
msgid "Local alerts"
msgstr "Lokale varsler"
@@ -1737,38 +1862,38 @@ msgstr "Lokale varsler"
msgid "Locate the problem on a map of the area"
msgstr "Lokaliser problemet på kartet over området"
-#: templates/web/base/auth/general.html:22
+#: templates/web/base/auth/general.html:24
#: templates/web/base/report/new/form_user_loggedout.html:6
#: templates/web/base/report/update/form_user_loggedout.html:7
msgid "Log in with Facebook"
-msgstr "Logg inn med Facebook"
+msgstr ""
-#: templates/web/base/auth/general.html:30
+#: templates/web/base/auth/general.html:32
#: templates/web/base/report/new/form_user_loggedout.html:14
#: templates/web/base/report/update/form_user_loggedout.html:15
msgid "Log in with Twitter"
-msgstr "Logg inn med Twitter"
+msgstr ""
-#: templates/web/base/js/translation_strings.html:59
+#: templates/web/base/js/translation_strings.html:62
msgid "Log in with email"
-msgstr "Logg inn med e-post"
+msgstr ""
-#: templates/web/base/dashboard/index.html:145
+#: templates/web/base/dashboard/index.html:146
#: templates/web/base/dashboard/index.html:38
msgid "Look up"
-msgstr "Slå opp"
+msgstr ""
#: templates/web/base/js/translation_strings.html:44
msgid "MAP"
msgstr "KART"
-#: perllib/FixMyStreet/Cobrand/Default.pm:712
+#: perllib/FixMyStreet/Cobrand/Default.pm:716
msgid "Manage shortlist"
msgstr "Administrer hurtigliste"
-#: templates/web/base/reports/_list-filters.html:45
+#: templates/web/base/reports/_list-filters.html:56
msgid "Manual order"
-msgstr "Manuell ordre"
+msgstr ""
#: templates/web/base/js/translation_strings.html:46
msgid "Map"
@@ -1782,19 +1907,11 @@ msgstr "Marker som sendt"
msgid "Mark users whose behaviour you want to keep a check on as <strong>flagged</strong>."
msgstr "Merk brukere hvis adferd du ønsker å ha en sjekk på som <strong>flagget</strong>."
-#: templates/web/base/reports/index.html:27
-msgid "Marked fixed/closed in the past eight weeks"
-msgstr "Merket fikset/lukket i løpet av de siste åtte ukene"
-
-#: templates/web/base/reports/index.html:28
-msgid "Marked fixed/closed more than eight weeks ago"
-msgstr "Merket fikset/lukket mer enn åtte uker siden"
-
-#: perllib/FixMyStreet/Cobrand/Default.pm:710
+#: perllib/FixMyStreet/Cobrand/Default.pm:714
msgid "Markup problem details"
msgstr ""
-#: templates/web/base/contact/index.html:96
+#: templates/web/base/contact/index.html:100
msgid "Message"
msgstr "Melding"
@@ -1814,58 +1931,62 @@ msgstr "Manglende administrasjoner:"
msgid "Missing jurisdiction_id"
msgstr "Mangler jurisdiction_id"
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate"
msgstr "Moderer"
-#: perllib/FixMyStreet/Cobrand/Default.pm:706
+#: perllib/FixMyStreet/Cobrand/Default.pm:710
msgid "Moderate report details"
msgstr "Moderer detaljer i rapprten"
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate this report"
msgstr "Moderer denne rapporten"
#: templates/web/base/report/update.html:12
msgid "Moderate this update"
-msgstr "Moderer denne oppdateringen"
+msgstr ""
-#: templates/web/base/report/_main.html:69
-#: templates/web/base/report/update.html:49
+#: templates/web/base/report/_main.html:73
+#: templates/web/base/report/update.html:58
msgid "Moderated by %s at %s"
-msgstr "Moderert av %s, %s"
+msgstr ""
#: templates/web/zurich/admin/stats.html:34
msgid "Moderated by division within one working day"
msgstr "Moderert av avdeling innen en arbeidsdag"
-#: templates/web/base/report/_main.html:109
-#: templates/web/base/report/update.html:57
+#: templates/web/base/report/_main.html:113
+#: templates/web/base/report/update.html:66
msgid "Moderation reason:"
-msgstr "Grunn for moderering:"
+msgstr ""
#: templates/web/base/admin/stats.html:11
msgid "Month"
msgstr "MÃ¥ned"
-#: templates/web/base/reports/_list-filters.html:51
+#: templates/web/base/reports/_list-filters.html:62
msgid "Most commented"
msgstr "Mest kommentert"
#: templates/web/base/admin/bodies.html:25
#: templates/web/base/admin/body-form.html:24
+#: templates/web/base/admin/extra-metadata-form.html:65
#: templates/web/base/admin/flagged.html:16
#: templates/web/base/admin/flagged.html:37
#: templates/web/base/admin/index.html:62
#: templates/web/base/admin/list_updates.html:7
+#: templates/web/base/admin/reportextrafields/edit.html:11
+#: templates/web/base/admin/reportextrafields/index.html:6
#: templates/web/base/admin/reports.html:14
#: templates/web/base/admin/responsepriorities/list.html:6
+#: templates/web/base/admin/states/index.html:108
+#: templates/web/base/admin/states/index.html:11
#: templates/web/base/admin/users.html:16
-#: templates/web/base/auth/general.html:106
-#: templates/web/base/report/new/form_user_loggedin.html:40
+#: templates/web/base/auth/general.html:108
+#: templates/web/base/report/new/form_user_loggedin.html:42
#: templates/web/base/report/new/form_user_loggedout_by_email.html:7
-#: templates/web/base/report/update/form_name.html:23
-#: templates/web/base/reports/index.html:23
+#: templates/web/base/report/update/form_name.html:27
#: templates/web/zurich/admin/body-form.html:4
#: templates/web/zurich/auth/general.html:60
#: templates/web/zurich/report/new/fill_in_details_form.html:59
@@ -1884,7 +2005,7 @@ msgstr "Navn:"
msgid "Name: %s"
msgstr "Navn: %s"
-#: templates/web/base/report/_inspect.html:28
+#: templates/web/base/report/_inspect.html:38
msgid "Navigate to this problem"
msgstr "Naviger til dette problemet"
@@ -1893,16 +2014,16 @@ msgstr "Naviger til dette problemet"
msgid "Nearest named road to the pin placed on the map (automatically generated using OpenStreetMap): %s%s"
msgstr "Nærmeste navngitte vei til nålen plassert på kartet (automatisk generert ved hjelp av OpenStreetMap): %s%s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:129
+#: perllib/FixMyStreet/Cobrand/UK.pm:134
msgid "Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"
msgstr "Nærmeste postnummer til nålen plassert på kartet (automatisk generert): %s (%sm unna)"
-#: perllib/FixMyStreet/Cobrand/Default.pm:527
-#: perllib/FixMyStreet/Cobrand/Default.pm:567
+#: perllib/FixMyStreet/Cobrand/Default.pm:538
+#: perllib/FixMyStreet/Cobrand/Default.pm:566
msgid "Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"
msgstr "Nærmeste vei til nålen plassert på kartet (automatisk generert ved hjelp av Bing Maps): %s"
-#: perllib/FixMyStreet/Script/Alerts.pm:319
+#: perllib/FixMyStreet/Script/Alerts.pm:316
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s\n"
"\n"
@@ -1910,19 +2031,24 @@ msgstr ""
"Nærmeste vei til nålen plassert på kartet (automatisk generert ved hjelp av Bing Maps) er: %s\n"
"\n"
-#: templates/web/base/auth/token.html:17 templates/web/base/email_sent.html:5
+#: templates/web/base/auth/token.html:18
+msgid "Nearly done!"
+msgstr ""
+
+#: templates/web/base/auth/token.html:22 templates/web/base/email_sent.html:5
msgid "Nearly done! Now check your email&hellip;"
msgstr "Nesten ferdig! Nå må du sjekke e-posten din..."
-#: templates/web/base/reports/index.html:24
-msgid "New <br>problems"
-msgstr "Nye <br>problemer"
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:131
+#, fuzzy
+msgid "New"
+msgstr "Nyeste"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:259
+#: perllib/FixMyStreet/App/Controller/Admin.pm:262
msgid "New body added"
msgstr "Ny administrasjon lagt til"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:406
+#: perllib/FixMyStreet/App/Controller/Admin.pm:386
msgid "New category contact added"
msgstr "Ny kategorikontakt lagt til"
@@ -1948,7 +2074,7 @@ msgid "New password:"
msgstr "Nytt passord:"
#: templates/web/base/admin/responsepriorities/edit.html:4
-#: templates/web/base/admin/responsepriorities/list.html:32
+#: templates/web/base/admin/responsepriorities/list.html:34
msgid "New priority"
msgstr "Ny prioritet"
@@ -1977,6 +2103,7 @@ msgid "New reports"
msgstr "Nye rapporter"
#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/states/index.html:91
msgid "New state"
msgstr "Ny tilstand"
@@ -1986,7 +2113,7 @@ msgstr "Ny tilstand"
msgid "New template"
msgstr "Ny mal"
-#: templates/web/base/reports/_list-filters.html:47
+#: templates/web/base/reports/_list-filters.html:58
msgid "Newest"
msgstr "Nyeste"
@@ -1994,9 +2121,7 @@ msgstr "Nyeste"
msgid "Next"
msgstr "Neste"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1201
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
+#: perllib/FixMyStreet/Cobrand/Default.pm:1237
#: templates/web/base/admin/category_edit.html:4
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
@@ -2008,6 +2133,7 @@ msgstr "Neste"
#: templates/web/base/questionnaire/creator_fixed.html:16
#: templates/web/base/questionnaire/index.html:106
#: templates/web/base/questionnaire/index.html:55
+#: templates/web/base/report/_inspect.html:92
msgid "No"
msgstr "Nei"
@@ -2023,7 +2149,7 @@ msgstr "Ingen administrasjon"
msgid "No council"
msgstr "Ingen administrasjon"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:445
+#: perllib/FixMyStreet/DB/Result/Problem.pm:372
msgid "No council selected"
msgstr "Ingen administrasjon er valgt"
@@ -2039,30 +2165,25 @@ msgstr "Fant ingen flaggede problemer."
msgid "No flagged users found."
msgstr "Fant ingen flaggede brukere."
-#: templates/web/base/admin/report_blocks.html:14
-#: templates/web/base/report/inspect/state_groups_select.html:8
-#: templates/web/base/report/update/form_update.html:44
-msgid "No further action"
-msgstr "Ingen videre handling"
-
#: templates/web/zurich/admin/report_edit-sdm.html:125
#: templates/web/zurich/admin/report_edit.html:259
msgid "No further updates"
msgstr "Ingen flere oppdateringer"
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:84
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:68
msgid "No inspections by that inspector in the selected date range."
-msgstr "Ingen inspeksjoner av den inspøkter i det valgte tidsrommet."
+msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:86
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:70
msgid "No inspections in the selected date range."
-msgstr "Ingen inspeksjonen i det valgte tidsrommet."
+msgstr ""
#: templates/web/base/js/translation_strings.html:37
msgid "No result returned"
msgstr "Ingen resultater returnert"
-#: templates/web/base/admin/body-form.html:67
+#: templates/web/base/admin/body-form.html:68
+#: templates/web/base/admin/body-form.html:69
msgid ""
"No specific areas are currently available, because the <code>MAPIT_URL</code> in\n"
" your config file is not pointing to a live MapIt service."
@@ -2071,14 +2192,18 @@ msgstr ""
"<code>MAPIT_URL</code> i din \n"
"config-fil ikke peker til en live MapIt-tjeneste."
+#: templates/web/base/report/_support.html:2
#: templates/web/base/report/_support.html:4
msgid "No supporters"
msgstr "Ingen støttespillere"
#: templates/web/base/admin/report_edit.html:66
+#: templates/web/base/admin/report_edit.html:90
+#: templates/web/base/admin/report_edit.html:92
msgid "None"
msgstr "Ingen"
+#: templates/web/base/admin/user-form.html:58
#: templates/web/base/admin/user-form.html:59
msgid ""
"Normal (public) users should not be associated with any <strong>area</strong>.<br>\n"
@@ -2087,6 +2212,7 @@ msgstr ""
"Vanlige (offentlige) brukere bør ikke være tilknyttet noen <strong>områder</strong>.<br>\n"
"Autorisert personale kan være assosiert med området de operer i."
+#: templates/web/base/admin/user-form.html:28
#: templates/web/base/admin/user-form.html:29
msgid ""
"Normal (public) users should not be associated with any <strong>body</strong>.<br>\n"
@@ -2099,14 +2225,9 @@ msgstr ""
"Avhengig av implementeringen, kan ansatte brukere ha tilgang til dashbordet (sammendrag av \n"
"aktivitet for hele instansen), mulighet å skjule meldinger eller sette status for spesialrapporter."
-#: templates/web/base/admin/report_blocks.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:9
-#: templates/web/base/report/update/form_update.html:44
-msgid "Not Responsible"
-msgstr "Ikke ansvarlig"
-
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:181
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:186
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:933
+#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:13
msgid "Not contactable"
msgstr "Kan ikke kontaktes"
@@ -2124,7 +2245,7 @@ msgid "Not reported to council"
msgstr "Ikke rapportert til administrasjonen"
#: templates/web/base/admin/body.html:75
-#: templates/web/base/admin/category_edit.html:57
+#: templates/web/base/admin/category_edit.html:31
#: templates/web/zurich/admin/body.html:17
msgid "Note"
msgstr "Merk"
@@ -2134,7 +2255,7 @@ msgid "Note that when including unconfirmed reports we use the date the report w
msgstr "Merk at når vi tar med ubekreftede rapporter så brukes datoen rapporten var opprettet, hvilket ikke trenger være den samme måneden som rapporten var bekreftet, så tallene kan hoppe litt opp og ned."
#: templates/web/zurich/admin/body.html:55
-#: templates/web/zurich/admin/contact-form.html:17
+#: templates/web/zurich/admin/contact-form.html:19
msgid "Note:"
msgstr "Merk:"
@@ -2146,6 +2267,10 @@ msgstr "Note: <strong>%d</strong>"
msgid "Notes from SDM to DM"
msgstr "Notater fra SDM til DM"
+#: templates/web/base/admin/extra-metadata-form.html:26
+msgid "Notice"
+msgstr ""
+
#: templates/web/base/report/new/oauth_email_form.html:17
msgid "Now to submit your report&hellip;"
msgstr "På tide å sende din rapport&hellip;"
@@ -2156,60 +2281,43 @@ msgstr "På tide å sende din rapport&hellip;"
msgid "Now to submit your update&hellip;"
msgstr "På tide å registrere din oppdatering&hellip;"
+#: templates/web/base/reports/index.html:98
+msgid "Number of problems reported in each category, in the last 7 days."
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:43
msgid "OK"
msgstr "OK"
-#: templates/web/base/js/translation_strings.html:67
+#: templates/web/base/js/translation_strings.html:70
msgid "Offline data cleared"
-msgstr "Offlinedata har blitt tømt"
+msgstr ""
-#: templates/web/base/js/translation_strings.html:64
+#: templates/web/base/js/translation_strings.html:67
msgid "Offline update data saved"
-msgstr "Offlineoppdateringsdata lagret"
-
-#: templates/web/base/reports/index.html:26
-msgid "Old / unknown <br>problems"
-msgstr "Gamle / ukjente <br>problemer"
+msgstr ""
#: templates/web/base/admin/questionnaire.html:24
msgid "Old state"
msgstr "Gammel tilstand"
-#: templates/web/base/reports/index.html:28
-msgid "Older <br>fixed"
-msgstr "Eldre <br>løste"
-
-#: templates/web/base/reports/index.html:25
-msgid "Older <br>problems"
-msgstr "Eldre <br>problemer"
-
-#: templates/web/base/reports/_list-filters.html:48
+#: templates/web/base/reports/_list-filters.html:59
msgid "Oldest"
msgstr "Eldste"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:900
-#: templates/web/base/admin/report_blocks.html:25
-#: templates/web/base/admin/report_blocks.html:6
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:905
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:10
+#: templates/web/base/admin/states/index.html:102
+#: templates/web/base/admin/states/index.html:25
+#: templates/web/base/admin/states/index.html:32
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/report/inspect/state_groups_select.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:3
-#: templates/web/base/report/update/form_update.html:41
+#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:7
#: templates/web/zurich/admin/update_edit.html:18
msgid "Open"
msgstr "Ã…pen"
-#: templates/web/base/reports/index.html:25
-msgid "Open for more than four weeks, with an update within the past eight weeks"
-msgstr "Åpen i mer enn fire uker, med en oppdatering i løpet av de siste åtte ukene"
-
-#: templates/web/base/reports/index.html:26
-msgid "Open, but not had any update in eight weeks"
-msgstr "Åpen, men har ikke hatt noen oppdateringer på åtte uker"
-
#: templates/web/base/admin/open311-form-fields.html:47
msgid "Open311 API Key"
msgstr "Open311 API-nøkkel"
@@ -2230,26 +2338,39 @@ msgstr "Open311-initiativets nettside"
msgid "Open311 specification"
msgstr "Open311-spesifikasjon"
-#: templates/web/base/alert/_list.html:61
-msgid "Or problems reported to:"
-msgstr "Eller problemer meldt til:"
-
-#: templates/web/base/alert/_list.html:37
-msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
-msgstr "Eller du kan abonnere på varsel basert på bydel eller administrasjon du hører inn under:"
-
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:1061
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:659
-#: perllib/FixMyStreet/DB/Result/Problem.pm:642
-#: perllib/FixMyStreet/DB/Result/Problem.pm:649
-#: perllib/FixMyStreet/DB/Result/Problem.pm:664
-#: perllib/FixMyStreet/DB/Result/Problem.pm:673
+#: templates/web/base/admin/extra-metadata-form.html:53
+#, fuzzy
+msgid "Options"
+msgstr "valgfri"
+
+#: templates/web/base/alert/_list.html:84
+msgid "Or subscribe by RSS"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:8
+msgid "Order"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1107
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:675
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:676
+#: perllib/FixMyStreet/DB/Result/Problem.pm:579
+#: perllib/FixMyStreet/DB/Result/Problem.pm:586
+#: perllib/FixMyStreet/DB/Result/Problem.pm:601
+#: perllib/FixMyStreet/DB/Result/Problem.pm:610
#: perllib/FixMyStreet/Script/Reports.pm:183
#: perllib/FixMyStreet/Script/Reports.pm:198
msgid "Other"
msgstr "Annet"
+#: templates/web/base/reports/index.html:107
+msgid "Other categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:92
+msgid "Overall average"
+msgstr ""
+
#: templates/web/base/admin/list_updates.html:8
msgid "Owner"
msgstr "Eier"
@@ -2259,16 +2380,16 @@ msgstr "Eier"
msgid "Page Not Found"
msgstr "Fant ikke siden"
-#: templates/web/base/admin/body-form.html:37
+#: templates/web/base/admin/body-form.html:39
#: templates/web/zurich/admin/body-form.html:14
msgid "Parent"
msgstr "Forelder"
-#: templates/web/base/admin/report_blocks.html:20
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:61
msgid "Partial"
msgstr "Delvis"
-#: templates/web/base/auth/general.html:109
+#: templates/web/base/auth/general.html:111
#: templates/web/base/report/new/form_user_loggedout_by_email.html:28
#: templates/web/base/report/update/form_user_loggedout_by_email.html:6
#: templates/web/zurich/auth/general.html:32
@@ -2276,7 +2397,7 @@ msgstr "Delvis"
msgid "Password (optional)"
msgstr "Passord (valgfritt)"
-#: templates/web/base/auth/general.html:82
+#: templates/web/base/auth/general.html:84
msgid "Password:"
msgstr "Passord:"
@@ -2288,11 +2409,16 @@ msgstr "Permalink"
msgid "Permissions:"
msgstr "Rettigheter:"
+#: templates/web/base/report/_inspect.html:19
+#, fuzzy
+msgid "Phone Reporter:"
+msgstr "Rapportert:"
+
#: templates/web/zurich/report/new/fill_in_details_form.html:65
msgid "Phone number"
msgstr "Telefonnummer"
-#: templates/web/base/report/new/form_user_loggedin.html:57
+#: templates/web/base/report/new/form_user_loggedin.html:59
#: templates/web/base/report/new/form_user_loggedout_by_email.html:25
msgid "Phone number (optional)"
msgstr "Telefonnummer (valgfritt)"
@@ -2307,9 +2433,9 @@ msgstr "Telefon:"
#: templates/web/base/questionnaire/index.html:78
#: templates/web/base/questionnaire/index.html:93
#: templates/web/base/questionnaire/index.html:95
-#: templates/web/base/report/new/form_report.html:28
-#: templates/web/base/report/new/form_report.html:43
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/new/form_report.html:45
+#: templates/web/base/report/new/form_report.html:47
#: templates/web/base/report/update/form_update.html:22
#: templates/web/base/report/update/form_update.html:24
#: templates/web/base/report/update/form_update.html:7
@@ -2327,12 +2453,12 @@ msgstr "Bilde"
msgid "Photo is required."
msgstr "Foto er påkrevd."
-#: templates/web/zurich/admin/contact-form.html:14
+#: templates/web/zurich/admin/contact-form.html:16
msgid "Photo required"
msgstr "Foto kreves"
#: templates/web/base/questionnaire/index.html:78
-#: templates/web/base/report/new/form_report.html:28
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/update/form_update.html:7
#: templates/web/zurich/report/new/fill_in_details_form.html:20
msgid "Photos"
@@ -2342,15 +2468,19 @@ msgstr "Bilder"
msgid "Photos of recent nearby reports"
msgstr "Bilder av nye problemer i nærheten"
+#: templates/web/base/reports/index.html:63
+#: templates/web/base/reports/index.html:66
+msgid "Pick your council"
+msgstr ""
+
#: templates/web/base/around/display_location.html:76
#: templates/web/base/js/translation_strings.html:30
msgid "Place pin on map"
msgstr "Plasser tegnestiften på kartet"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:940
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:946
-#: templates/web/base/admin/report_blocks.html:8
-#: templates/web/base/dashboard/index.html:140
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:945
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:951
+#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:9
#: templates/web/zurich/admin/index-dm.html:9
msgid "Planned"
@@ -2360,34 +2490,34 @@ msgstr "Planlagt"
msgid "Please be polite, concise and to the point."
msgstr "Vær høflig, poengtert og kortfattet."
+#: templates/web/base/auth/change_password.html:22
#: templates/web/base/auth/change_password.html:27
msgid "Please check the passwords and try again"
msgstr "Vennligst sjekk passordene og prøv igjen"
+#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:18
-#: templates/web/base/auth/general.html:43
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:45
+#: templates/web/zurich/auth/general.html:3
#: templates/web/zurich/auth/general.html:9
msgid "Please check your email address is correct"
msgstr "Vennligst sjekk at du har skrevet en gyldig e-postadresse"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:350
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:844
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:867
-#: perllib/FixMyStreet/DB/Result/Problem.pm:456
+#: perllib/FixMyStreet/App/Controller/Admin.pm:329
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:873
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:896
+#: perllib/FixMyStreet/DB/Result/Problem.pm:383
#: templates/web/base/js/translation_strings.html:9
msgid "Please choose a category"
msgstr "Velg en kategori"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:462
-msgid "Please choose a property type"
-msgstr "Velg en type egenskap"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:397
+#: perllib/FixMyStreet/App/Controller/Admin.pm:377
#: templates/web/base/admin/bodies.html:4 templates/web/base/admin/body.html:11
msgid "Please correct the errors below"
msgstr "Husk å rette opp feilene nedenfor."
-#: templates/web/base/contact/blurb.html:12
+#: templates/web/base/contact/blurb.html:6
msgid ""
"Please do <strong>not</strong> report problems through this form; messages go to\n"
"the team behind this site, not a council. To report a problem,\n"
@@ -2401,35 +2531,36 @@ msgstr ""
msgid "Please do not be abusive&nbsp;&mdash; abusing your council devalues the service for all users."
msgstr "Ikke vær ufin &mdash; å kjefte på din administrasjon skader verdien av tjenesten for alle brukerne."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:351
-#: perllib/FixMyStreet/DB/Result/Comment.pm:127
+#: perllib/FixMyStreet/App/Controller/Admin.pm:330
+#: perllib/FixMyStreet/DB/Result/Comment.pm:128
#: templates/web/base/js/translation_strings.html:2
msgid "Please enter a message"
msgstr "Vennligst legg til en melding"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1202
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1366
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1305
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1469
msgid "Please enter a name"
msgstr "Vennligst skriv et navn"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:479
+#: perllib/FixMyStreet/App/Controller/Admin.pm:497
msgid "Please enter a name for this body"
msgstr "Vennligst legg inn et navn for administrasjonen"
+#: templates/web/base/auth/change_password.html:22
#: templates/web/base/auth/change_password.html:25
#: templates/web/base/js/translation_strings.html:19
msgid "Please enter a password"
msgstr "Skriv inn et passord"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:114
-#: perllib/FixMyStreet/DB/Result/Problem.pm:439
+#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/DB/Result/Problem.pm:366
#: templates/web/base/js/translation_strings.html:3
msgid "Please enter a subject"
msgstr "Vennligst legg inn et emne"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1199
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1363
-#: perllib/FixMyStreet/App/Controller/Admin.pm:364
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1302
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1466
+#: perllib/FixMyStreet/App/Controller/Admin.pm:343
#: perllib/FixMyStreet/DB/Result/User.pm:164
#: templates/web/base/js/translation_strings.html:12
#: templates/web/base/js/translation_strings.html:16
@@ -2437,21 +2568,24 @@ msgid "Please enter a valid email"
msgstr "Legg til en gyldig e-post"
#: perllib/FixMyStreet/App/Controller/Alert.pm:350
-#: perllib/FixMyStreet/App/Controller/Contact.pm:124
+#: perllib/FixMyStreet/App/Controller/Contact.pm:125
msgid "Please enter a valid email address"
msgstr "Legg inn din e-post"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:442
+#: perllib/FixMyStreet/DB/Result/Problem.pm:369
#: templates/web/base/js/translation_strings.html:4
msgid "Please enter some details"
msgstr "Legg inn opplysninger om problemet"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/App/Controller/Contact.pm:114
#: perllib/FixMyStreet/DB/Result/User.pm:161
+#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:17
-#: templates/web/base/auth/general.html:42
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:44
#: templates/web/base/js/translation_strings.html:11
#: templates/web/base/js/translation_strings.html:15
+#: templates/web/zurich/auth/general.html:3
#: templates/web/zurich/auth/general.html:8
msgid "Please enter your email"
msgstr "Legg inn din e-post"
@@ -2465,14 +2599,14 @@ msgstr "Vennligst tast inn din e-postadresse"
msgid "Please enter your first name"
msgstr "Vennligst tast inn ditt fornavn"
-#: perllib/FixMyStreet/Cobrand/UK.pm:320
+#: perllib/FixMyStreet/Cobrand/UK.pm:326
#: templates/web/base/js/translation_strings.html:7
msgid "Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below"
msgstr "Vennligst legg inn ditt fulle navn, administrasjoner som mottar ditt problem trenger dette - hvis du ikke ønsker at ditt navn skal vises, fjern haken under"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:112
-#: perllib/FixMyStreet/DB/Result/Comment.pm:124
-#: perllib/FixMyStreet/DB/Result/Problem.pm:450
+#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/DB/Result/Comment.pm:125
+#: perllib/FixMyStreet/DB/Result/Problem.pm:377
#: perllib/FixMyStreet/DB/Result/User.pm:157
#: templates/web/base/js/translation_strings.html:6
msgid "Please enter your name"
@@ -2495,6 +2629,7 @@ msgstr "Vennligst legg inn din tittel"
msgid "Please feel free to <a href=\"%s\">sign in again</a>, or go back to the <a href=\"/\">front page</a>."
msgstr "Du kan også <a href=\"%s\">logge inn igjen</a> eller gå tilbake til <a href=\"/\">framsiden</a>."
+#: templates/web/base/report/new/fill_in_details_text.html:1
#: templates/web/base/report/new/fill_in_details_text.html:8
msgid "Please fill in details of the problem below."
msgstr "Vennligst fyll ut detaljer om problemet under"
@@ -2536,7 +2671,7 @@ msgstr "Merk at din oppdatering <strong>enda ikke har blitt sendt</strong>."
msgid "Please note:"
msgstr "Vennligst merk deg:"
-#: perllib/FixMyStreet/App/Controller/Report.pm:358
+#: perllib/FixMyStreet/App/Controller/Report.pm:353
msgid "Please provide a public update for this report."
msgstr "Vennligst bidra med en offentlig oppdatering for denne rapporten."
@@ -2572,11 +2707,11 @@ msgstr "Vennligs oppgi om dette problemet er blitt fikset eller ikke"
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:122
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:156
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:158
-#: templates/web/base/js/translation_strings.html:57
+#: templates/web/base/js/translation_strings.html:60
msgid "Please upload an image only"
msgstr "Vennligst last opp kun bilder"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/App/Controller/Contact.pm:116
msgid "Please write a message"
msgstr "Skriv inn en melding"
@@ -2584,32 +2719,29 @@ msgstr "Skriv inn en melding"
msgid "Please write your update here"
msgstr "Vennligst skriv inn din oppdatering her"
-#: templates/web/base/contact/index.html:103
#: templates/web/base/report/update-form.html:25
#: templates/web/base/report/update/form_user_loggedout_by_email.html:14
#: templates/web/base/report/update/form_user_loggedout_password.html:10
msgid "Post"
msgstr "Send inn"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:242
+#: perllib/FixMyStreet/DB/Result/Comment.pm:231
msgid "Posted anonymously at %s"
msgstr "Publisert anonymt %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:257
+#: perllib/FixMyStreet/DB/Result/Comment.pm:255
msgid "Posted by %s at %s"
msgstr "Sendt inn av %s %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:252
-#, fuzzy
+#: perllib/FixMyStreet/DB/Result/Comment.pm:243
msgid "Posted by <strong>%s</strong> (%s) at %s"
-msgstr "Lagt inn av %s (<strong>%s</strong>) %s"
+msgstr "Lagt inn av <strong>%s</strong> (%s) %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:254
-#, fuzzy
+#: perllib/FixMyStreet/DB/Result/Comment.pm:245
msgid "Posted by <strong>%s</strong> at %s"
-msgstr "Lagt inn av %s (<strong>%s</strong>) %s"
+msgstr "Lagt inn av <strong>%s</strong> %s"
-#: templates/web/base/front/footer-marketing.html:12
+#: templates/web/base/front/footer-marketing.html:6
msgid "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
msgstr "Drevet av <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
@@ -2621,8 +2753,8 @@ msgstr "Forrige"
msgid "Priorities"
msgstr "Prioriteter"
-#: templates/web/base/report/_inspect.html:99
-#: templates/web/base/report/_item.html:98
+#: templates/web/base/report/_inspect.html:123
+#: templates/web/base/report/_item.html:100
msgid "Priority"
msgstr "Prioritet"
@@ -2631,19 +2763,20 @@ msgid "Privacy"
msgstr "Personvern"
#: templates/web/base/about/_sidebar.html:5
+#: templates/web/base/about/privacy.html:1
#: templates/web/base/about/privacy.html:2
msgid "Privacy and cookies"
msgstr "Personvern og cookies"
-#: templates/web/base/admin/body.html:91
-#: templates/web/base/admin/contact-form.html:74
+#: templates/web/base/admin/body.html:88
+#: templates/web/base/admin/contact-form.html:75
#: templates/web/base/admin/report_edit.html:137
msgid "Private"
msgstr "Privat"
#: templates/web/base/report/new/form_user.html:1
msgid "Private details"
-msgstr "Private detaljer"
+msgstr ""
#: templates/web/base/maps/pin.html:13
msgid "Problem"
@@ -2667,7 +2800,7 @@ msgstr "Problem %s sendt til administrasjon %s"
msgid "Problem breakdown by state"
msgstr "Tilstandsfordeling av problemer"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1169
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1272
msgid "Problem marked as open."
msgstr "Problem markert som åpent."
@@ -2675,11 +2808,16 @@ msgstr "Problem markert som åpent."
msgid "Problem state change based on survey results"
msgstr "Problemtilstandsendring basert på spørreundersøkelsesresultater"
-#: perllib/FixMyStreet/Cobrand/Default.pm:705
+#: perllib/FixMyStreet/Cobrand/Default.pm:709
#: templates/web/base/admin/flagged.html:10
msgid "Problems"
msgstr "Problemer"
+#: templates/web/base/alert/_list.html:22
+#, fuzzy
+msgid "Problems in an area"
+msgstr "Problemer innenfor %s bydel"
+
#: templates/web/base/report/display_tools.html:22
msgid "Problems nearby"
msgstr "Problemer i nærheten"
@@ -2692,29 +2830,33 @@ msgstr "Problemer på kartet"
msgid "Problems recently reported fixed on FixMyStreet"
msgstr "Problemer nylig rapportert fikset på FiksGataMi"
-#: templates/web/base/alert/_list.html:22
-msgid "Problems within %.1fkm of this location"
+#: templates/web/base/alert/_list.html:29
+#, fuzzy
+msgid "Problems within %.1fkm of %s"
msgstr "Problemer innenfor %.1fkm av denne posisjonen"
-#: perllib/FixMyStreet/Cobrand/Default.pm:833
-#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:147
-#: perllib/FixMyStreet/Cobrand/UK.pm:209
+#: perllib/FixMyStreet/Cobrand/Default.pm:838
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:137
+#: perllib/FixMyStreet/Cobrand/UK.pm:215 perllib/FixMyStreet/Cobrand/UK.pm:257
+#: perllib/FixMyStreet/Cobrand/UK.pm:269
msgid "Problems within %s"
msgstr "Problemer innenfor %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:223
+#: perllib/FixMyStreet/Cobrand/UK.pm:229
msgid "Problems within %s ward"
msgstr "Problemer innenfor %s bydel"
+#: perllib/FixMyStreet/Cobrand/UK.pm:263 perllib/FixMyStreet/Cobrand/UK.pm:275
+#, fuzzy
+msgid "Problems within %s ward, %s"
+msgstr "Problemer innenfor %s bydel"
+
#. ("First %s is the body name, second %s the site name")
+#: templates/web/base/reports/body.html:0
#: templates/web/base/reports/body.html:25
msgid "Problems within %s, %s"
msgstr "Problemer innenfor %s, %s"
-#: templates/web/base/alert/_list.html:43
-msgid "Problems within the boundary of:"
-msgstr "Problemer innenfor grensene av:"
-
#: templates/web/base/admin/report_edit.html:74
msgid "Property address:"
msgstr "Eiendomsadresse:"
@@ -2724,11 +2866,11 @@ msgstr "Eiendomsadresse:"
msgid "Provide an update"
msgstr "Bidra med en oppdatering"
-#: templates/web/base/report/update/form_name.html:9
+#: templates/web/base/report/update/form_name.html:10
msgid "Provide update as"
msgstr "Legg inn oppdatering som"
-#: templates/web/base/auth/general.html:112
+#: templates/web/base/auth/general.html:114
msgid "Providing a name and password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
msgstr "Det er valgfritt å oppgi navn og passord, men hvis du gjør det kan du enklere rapportere problemer, legge igjen oppdateringer og håndtere rapportene dine."
@@ -2739,14 +2881,14 @@ msgstr "Det er valgfritt å oppgi et passord, men hvis du gjør det vil det bli
#: templates/web/base/report/new/form_report.html:10
msgid "Public details"
-msgstr "Offentlig detaljer"
+msgstr ""
#: templates/web/zurich/admin/report_edit.html:241
#: templates/web/zurich/admin/report_edit.html:268
msgid "Public response:"
msgstr "Offentlig respons:"
-#: templates/web/base/report/_inspect.html:138
+#: templates/web/base/report/_inspect.html:162
msgid "Public update:"
msgstr "Offentlig oppdatering:"
@@ -2756,6 +2898,7 @@ msgid "Publish photo"
msgstr "Publiser bilde"
#: templates/web/base/questionnaire/completed.html:1
+#: templates/web/base/questionnaire/index.html:0
#: templates/web/base/questionnaire/index.html:14
#: templates/web/base/questionnaire/index.html:5
msgid "Questionnaire"
@@ -2773,47 +2916,49 @@ msgstr "Spørreskjema %d sendt for problem %d"
msgid "Questionnaire filled in by problem reporter"
msgstr "Spørreskjema fylt inn av feilrapportøren"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
#: templates/web/base/alert/updates.html:9
+#: templates/web/base/around/display_location.html:1
#: templates/web/base/around/display_location.html:3
#: templates/web/base/report/display_tools.html:42
msgid "RSS feed"
msgstr "RSS-strøm"
-#: perllib/FixMyStreet/Cobrand/UK.pm:252 perllib/FixMyStreet/Cobrand/UK.pm:264
+#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
msgid "RSS feed for %s"
msgstr "RSS-strøm for %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
+#: perllib/FixMyStreet/Cobrand/UK.pm:264 perllib/FixMyStreet/Cobrand/UK.pm:276
msgid "RSS feed for %s ward, %s"
msgstr "RSS-strøm for %s bydel, %s"
-#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:163
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:153
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171
-#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:181
-#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:189
-#: perllib/FixMyStreet/Cobrand/UK.pm:278 perllib/FixMyStreet/Cobrand/UK.pm:290
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:179
+#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
msgid "RSS feed of %s"
msgstr "RSS-strøm fra %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
msgid "RSS feed of %s, within %s ward"
msgstr "RSS-strøm av %s, innenfor %s bydel"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
msgid "RSS feed of nearby problems"
msgstr "RSS-strøm med problemer i nærheten"
-#: perllib/FixMyStreet/Cobrand/Default.pm:834
-#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:146
-#: perllib/FixMyStreet/Cobrand/UK.pm:216
+#: perllib/FixMyStreet/Cobrand/Default.pm:839
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:136
+#: perllib/FixMyStreet/Cobrand/UK.pm:222
msgid "RSS feed of problems within %s"
msgstr "RSS-strøm for problemer innenfor %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:222
+#: perllib/FixMyStreet/Cobrand/UK.pm:228
msgid "RSS feed of problems within %s ward"
msgstr "RSS-strøm for problemer innenfor %s bydel"
+#: templates/web/base/around/display_location.html:1
#: templates/web/base/around/display_location.html:4
msgid "RSS feed of recent local problems"
msgstr "RSS-strøm med nylige lokale problemer"
@@ -2828,24 +2973,21 @@ msgstr "RSS-strøm med oppdateringer for dette problemet"
msgid "Receive email when updates are left on this problem."
msgstr "Motta e-post når det er oppdateringer på dette problemet"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:801
+#: perllib/FixMyStreet/DB/Result/Problem.pm:738
msgid "Received by %s moments later"
msgstr "Mottatt av %s øyeblikk senere"
#. ("%s is the site name")
+#: templates/web/base/around/display_location.html:0
#: templates/web/base/around/display_location.html:35
msgid "Recent local problems, %s"
-msgstr "Nylige lokale problemer, FiksGataMi."
-
-#: templates/web/base/reports/index.html:27
-msgid "Recently <br>fixed"
-msgstr "Nylig løste <br>problemer"
+msgstr "Nylige lokale problemer, %s"
#: templates/web/base/front/recent.html:11
msgid "Recently reported problems"
msgstr "Nylig meldte problemer"
-#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:60
msgid "Recently updated"
msgstr "Nylig oppdatert"
@@ -2853,13 +2995,23 @@ msgstr "Nylig oppdatert"
msgid "Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. If your problem is not appropriate for submission via this site remember that you can contact your council directly using their own website."
msgstr "Husk at FiksGataMi primert er laget for å rapportere fysiske problemer som kan bli fikset. Hvis ditt problem ikke er egnet for å sende inn via denne tjenesten, så husk at du kan kontakte administrasjonen direkte via deres egen nettside."
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/extra-metadata-form.html:68
+#, fuzzy
+msgid "Remove"
+msgstr "Fjern flagg"
+
+#: templates/web/base/admin/extra-metadata-form.html:4
+#, fuzzy
+msgid "Remove field"
+msgstr "Fjern flagg"
+
+#: templates/web/base/admin/report_blocks.html:23
msgid "Remove flag"
msgstr "Fjern flagg"
#: templates/web/base/report/_item.html:12
#: templates/web/base/report/_item.html:9
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:18
#: templates/web/base/report/_main.html:26
msgid "Remove from shortlist"
@@ -2883,22 +3035,23 @@ msgstr "Svar til bruker:"
msgid "Report"
msgstr "Rapport"
-#: templates/web/base/report/_inspect.html:10
-#: templates/web/base/report/_item.html:76
+#: templates/web/base/report/_inspect.html:14
+#: templates/web/base/report/_item.html:78
msgid "Report ID:"
msgstr "Rapport-ID:"
#: templates/web/base/header_logo.html:2
-#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:19
+#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:18
#: templates/web/zurich/nav_over_content.html:4
msgid "Report a problem"
msgstr "Rapporter et problem"
#: templates/web/base/report/display_tools.html:10
+#: templates/web/base/report/display_tools.html:9
msgid "Report abuse"
msgstr "Rapporter misbruk"
-#: templates/web/base/report/new/form_user_loggedin.html:16
+#: templates/web/base/report/new/form_user_loggedin.html:17
msgid "Report as"
msgstr "Rapporter som"
@@ -2908,7 +3061,7 @@ msgstr "Rapport på %s"
#: templates/web/base/dashboard/index.html:137
msgid "Report state:"
-msgstr "Rapport status:"
+msgstr ""
#: templates/web/base/report/new/fill_in_details_form.html:1
#: templates/web/base/report/new/login_success_form.html:1
@@ -2921,7 +3074,7 @@ msgstr "Rapporter problemet ditt"
msgid "Report, view, or discuss local problems"
msgstr "Rapporter, finn eller diskuter lokale problemer"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:653
+#: perllib/FixMyStreet/DB/Result/Problem.pm:590
#: templates/web/base/contact/index.html:55
msgid "Reported anonymously at %s"
msgstr "Rapportert anonymt %s"
@@ -2931,7 +3084,7 @@ msgstr "Rapportert anonymt %s"
msgid "Reported before"
msgstr "Rapportert tidligere"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:677
+#: perllib/FixMyStreet/DB/Result/Problem.pm:614
#: templates/web/base/contact/index.html:57
msgid "Reported by %s at %s"
msgstr "Publisert av %s %s"
@@ -2945,34 +3098,30 @@ msgstr "Rapportert av:"
msgid "Reported in the %s category"
msgstr "Rapportert i kategorien %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:650
+#: perllib/FixMyStreet/DB/Result/Problem.pm:587
msgid "Reported in the %s category anonymously at %s"
msgstr "Rapportert i kategorien %s anonymt %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:611
msgid "Reported in the %s category by %s at %s"
msgstr "Rapportert i kategorien %s av %s %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:647
+#: perllib/FixMyStreet/DB/Result/Problem.pm:584
msgid "Reported via %s anonymously at %s"
msgstr "Publisert av %s anonymt %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:671
+#: perllib/FixMyStreet/DB/Result/Problem.pm:608
msgid "Reported via %s by %s at %s"
msgstr "Rapportert av %s av %s %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:644
+#: perllib/FixMyStreet/DB/Result/Problem.pm:581
msgid "Reported via %s in the %s category anonymously at %s"
msgstr "Rapportert av %s i kategorien %s anonymt %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:666
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
msgid "Reported via %s in the %s category by %s at %s"
msgstr "Rapportert av %s i kategorien %s av %s %s"
-#: templates/web/base/reports/index.html:24
-msgid "Reported within the last four weeks"
-msgstr "Rapportert i løpet av de siste fire ukene"
-
#: templates/web/zurich/admin/report_edit-sdm.html:38
#: templates/web/zurich/admin/report_edit.html:57
msgid "Reported:"
@@ -2981,19 +3130,20 @@ msgstr "Rapportert:"
#: templates/web/base/around/index.html:2
#: templates/web/base/around/lookup_by_ref.html:2
#: templates/web/base/js/translation_strings.html:42
+#: templates/web/base/report/new/fill_in_details.html:0
#: templates/web/base/report/new/fill_in_details.html:8
#: templates/web/zurich/report/new/fill_in_details_form.html:4
msgid "Reporting a problem"
msgstr "Legger til et problem"
#: perllib/FixMyStreet/Cobrand/Default.pm:655
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:383
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:388
#: templates/web/base/dashboard/index.html:134
#: templates/web/zurich/header.html:52
msgid "Reports"
msgstr "Rapporter"
-#: perllib/FixMyStreet/Cobrand/UK.pm:329 perllib/FixMyStreet/Cobrand/UK.pm:333
+#: perllib/FixMyStreet/Cobrand/UK.pm:333 perllib/FixMyStreet/Cobrand/UK.pm:335
msgid "Reports are limited to %s characters in length. Please shorten your report"
msgstr "Rapportene begrenses til %s tegn. Rapporten må forkortes."
@@ -3001,30 +3151,54 @@ msgstr "Rapportene begrenses til %s tegn. Rapporten må forkortes."
msgid "Reports awaiting approval"
msgstr "Rapporter som venter på godkjenning"
+#: templates/web/base/alert/_list.html:54
+#, fuzzy
+msgid "Reports by destination"
+msgstr "Publisert av %s %s"
+
#: templates/web/base/admin/user-form.html:107
msgid "Reports made by trusted users will be sent to the responsible body without being inspected first."
msgstr "Rapporter laget av klarerte brukere vil bli sendt til den ansvarlige administrasjonen uten å bli sjekket først."
+#: templates/web/base/alert/_list.html:15
+msgid "Reports near %s are sent to different councils, depending on the type of problem."
+msgstr ""
+
#: templates/web/zurich/admin/index-sdm.html:10
msgid "Reports published"
msgstr "Publiserte rapporter"
-#: templates/web/base/js/translation_strings.html:68
+#: templates/web/base/js/translation_strings.html:71
msgid "Reports saved offline."
-msgstr "Rapport lagret offline."
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#, fuzzy
+msgid "Reports sent to %s"
+msgstr "Rapport på %s"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:290 perllib/FixMyStreet/Cobrand/UK.pm:302
+#, fuzzy
+msgid "Reports sent to %s, within %s ward"
+msgstr "RSS-strøm av %s, innenfor %s bydel"
#: templates/web/base/admin/index.html:56
msgid "Reports waiting to be sent"
msgstr "Usendte rapporter"
-#: templates/web/base/admin/contact-form.html:89
+#: templates/web/base/admin/contact-form.html:90
msgid "Reports will automatically be sent without needing to be inspected if the user's <strong>reputation</strong> is at or above this value. Set to <strong>0</strong> if all reports must be inspected regardless."
msgstr "Rapporter vil automatisk bli send uten å måtte sjekkes hvis brukerens <strong>omdømme</strong> er på eller over denne verdien. Sett den til <strong>0</strong> hvis alle rapporter må sjekkes uansett."
-#: templates/web/base/admin/contact-form.html:94
+#: templates/web/base/admin/contact-form.html:95
msgid "Reputation threshold"
msgstr "Omdømme terskel"
+#: templates/web/base/admin/extra-metadata-form.html:20
+#, fuzzy
+msgid "Required"
+msgstr "påkrevd"
+
#: templates/web/base/admin/report_edit.html:84
msgid "Resend report"
msgstr "Send rapport på nytt"
@@ -3058,15 +3232,15 @@ msgstr "Svarmaler for %s"
#: templates/web/base/report/update.html:40
msgid "Revert to original"
-msgstr "Tilbakestill til original"
+msgstr ""
-#: templates/web/base/report/_main.html:95
+#: templates/web/base/report/_main.html:99
msgid "Revert to original text"
-msgstr "Tilbakestill til original tekst"
+msgstr ""
#: templates/web/base/report/_main.html:50
msgid "Revert to original title"
-msgstr "Tilbakestill til original tittel"
+msgstr ""
#: templates/web/base/js/translation_strings.html:28
#: templates/web/base/js/translation_strings.html:40
@@ -3083,15 +3257,15 @@ msgstr "Veioperatør for denne navngitte veien (utledet fra veiens referansenumm
msgid "Road operator for this named road (from OpenStreetMap): %s"
msgstr "Veioperatør for denne navngitte veien (fra OpenStreetMap): %s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1745
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1749
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1852
#: templates/web/base/admin/report_edit.html:151
#: templates/web/base/admin/update_edit.html:66
#: templates/web/zurich/admin/report_edit.html:118
msgid "Rotate Left"
msgstr "Roter til venstre"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1745
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
#: templates/web/base/admin/report_edit.html:152
#: templates/web/base/admin/update_edit.html:67
#: templates/web/zurich/admin/report_edit.html:119
@@ -3107,30 +3281,40 @@ msgstr "Hvis du roterer dette bildet, mister du ikke lagrede endringer til rappo
msgid "Satellite"
msgstr "Satelitt"
-#: templates/web/base/report/_inspect.html:154
+#: templates/web/base/report/_inspect.html:182
msgid "Save + close as duplicate"
-msgstr "Lagre og lukk som duplikat"
+msgstr ""
-#: templates/web/base/admin/contact-form.html:137
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/contact-form.html:138
+#: templates/web/base/admin/reportextrafields/edit.html:64
+#: templates/web/base/admin/responsepriorities/edit.html:58
#: templates/web/base/admin/template_edit.html:46
-#: templates/web/base/report/_inspect.html:154
-#: templates/web/base/report/_main.html:113
-#: templates/web/base/report/update.html:60
+#: templates/web/base/report/_inspect.html:182
+#: templates/web/base/report/_main.html:117
+#: templates/web/base/report/update.html:69
#: templates/web/zurich/admin/body.html:62
-#: templates/web/zurich/admin/contact-form.html:20
+#: templates/web/zurich/admin/contact-form.html:22
#: templates/web/zurich/admin/template_edit.html:29
msgid "Save changes"
msgstr "Lagre endringer"
-#: templates/web/base/report/_inspect.html:134
+#: templates/web/base/admin/reportextrafields/edit.html:64
+msgid "Save new fields"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:158
msgid "Save with a public update"
msgstr "Lagre med en offentlig oppdatering"
-#. ('This is followed by a progress count, e.g. 3/5')
-#: templates/web/base/js/translation_strings.html:69
+#. ("This is followed by a progress count, e.g. 3/5")
+#: templates/web/base/js/translation_strings.html:72
msgid "Saving reports offline"
-msgstr "Lagrer rapport offline"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:132
+#, fuzzy
+msgid "Scheduled"
+msgstr "Handling planlagt"
#: templates/web/base/admin/index.html:26
#: templates/web/base/admin/reports.html:1
@@ -3165,41 +3349,41 @@ msgstr "Søket fant ingen brukere."
msgid "See our privacy policy"
msgstr "Se personvernreglene våre"
-#: perllib/FixMyStreet/Cobrand/Default.pm:715
+#: perllib/FixMyStreet/Cobrand/Default.pm:720
msgid "See user detail for reports created as the council"
-msgstr "Se brukerdetaljer for rapporter laget som administrasjonen"
+msgstr ""
-#: templates/web/base/admin/body-form.html:39
+#: templates/web/base/admin/body-form.html:41
#: templates/web/zurich/admin/body-form.html:16
msgid "Select a body"
msgstr "Velg en administrasjon"
-#: templates/web/base/reports/index.html:12
-msgid "Select a particular council to see the reports sent there."
-msgstr "Velg en bestemt administrasjon for å se problemer som er sendt dit."
-
-#: templates/web/base/admin/body-form.html:77
+#: templates/web/base/admin/body-form.html:79
#: templates/web/zurich/admin/body-form.html:26
msgid "Select an area"
msgstr "Velg et område"
-#: templates/web/base/alert/_list.html:11
-msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
-msgstr "Velg hvilken type varsel du ønsker og klikk på knappen for en RSS-kilde, eller skriv inn din e-postadresse for å abonnere på et e-postvarsel."
+#: templates/web/base/admin/responsepriorities/edit.html:33
+msgid "Select if this is the default priority"
+msgstr ""
#: templates/web/base/admin/category-checkboxes.html:6
msgid "Select:"
msgstr "Velg:"
+#: templates/web/base/contact/index.html:107
+msgid "Send"
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:109
msgid "Send extended Open311 statuses with service request updates"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:826
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:831
msgid "Sent report back"
msgstr "Rapport sendt tilbake"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:804
+#: perllib/FixMyStreet/DB/Result/Problem.pm:741
msgid "Sent to %s %s later"
msgstr "Sendt til %s %s senere"
@@ -3212,7 +3396,7 @@ msgstr "Sendt:"
msgid "Service:"
msgstr "Tjeneste:"
-#: templates/web/base/report/_inspect.html:31
+#: templates/web/base/report/_inspect.html:41
msgid "Set to my current location"
msgstr "Sett til nåværende plassering"
@@ -3221,63 +3405,77 @@ msgid "Share"
msgstr "Dele"
#: templates/web/base/main_nav_items.html:10
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:21
#: templates/web/base/report/_main.html:29
msgid "Shortlist"
msgstr "Hurtigliste"
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/reports/body.html:32
+msgid "Shortlist all visible"
+msgstr ""
+
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:20
#: templates/web/base/report/_main.html:25
#: templates/web/base/reports/_list-filters.html:9
msgid "Shortlisted"
msgstr "I hurtiglisten"
-#: templates/web/base/report/_main.html:144
+#: templates/web/base/report/_item.html:15
+#: templates/web/base/report/_main.html:148
msgid "Shortlisted by %s"
msgstr "I hurtiglisten til %s"
#: templates/web/base/report/update.html:20
msgid "Show Photo?"
-msgstr "Vis bilde?"
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:26
+msgid "Show all updates"
+msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:54
+#: templates/web/base/report/new/form_user_loggedin.html:56
#: templates/web/base/report/new/form_user_loggedout_by_email.html:22
-#: templates/web/base/report/update/form_name.html:33
+#: templates/web/base/report/update/form_name.html:37
msgid "Show my name publicly"
msgstr "Vis mitt navn offentlig"
#: templates/web/base/report/update.html:17
msgid "Show name publicly?"
-msgstr "Vis mitt navn offentlig?"
+msgstr ""
#: templates/web/base/around/display_location.html:69
msgid "Show old"
msgstr "Vis gamle"
-#: templates/web/base/report/_main.html:79
+#: templates/web/base/report/_main.html:83
msgid "Show photo"
-msgstr "Vis bilde"
+msgstr ""
#: templates/web/base/around/display_location.html:60
+#: templates/web/base/js/translation_strings.html:54
msgid "Show pins"
msgstr "Vis nåler"
#: templates/web/base/report/_main.html:60
msgid "Show reporter&rsquo;s name"
-msgstr "Vis innraporterers navn"
+msgstr ""
-#: templates/web/base/auth/general.html:117
+#: templates/web/base/reports/index.html:62
+msgid "Show reports in your area"
+msgstr ""
+
+#: templates/web/base/auth/general.html:119
#: templates/web/base/auth/general.html:3
-#: templates/web/base/auth/general.html:86
+#: templates/web/base/auth/general.html:88
#: templates/web/base/main_nav_items.html:6
#: templates/web/zurich/auth/general.html:18
#: templates/web/zurich/auth/general.html:35
msgid "Sign in"
msgstr "Logg inn"
-#: templates/web/base/auth/general.html:96
+#: templates/web/base/auth/general.html:98
msgid "Sign in by email instead, providing a new password. When you click the link in your email, your password will be updated."
msgstr "Logg inn med epost is tedet, og oppgi et nytt passord. Når du besøker lenken du fikk i epost vil passordet ditt bli oppdatert."
@@ -3291,6 +3489,11 @@ msgstr "Logg inn eller opprett en konto"
msgid "Sign out"
msgstr "Logg ut"
+#: templates/web/base/report/new/fill_in_details_text.html:1
+msgid "Some categories may require additional information."
+msgstr "Noen kategorier krever kanskje mer informasjon"
+
+#: templates/web/base/admin/open311-form-fields.html:40
#: templates/web/base/admin/open311-form-fields.html:41
msgid ""
"Some endpoints require an <strong>API key</strong> to indicate that the reports are being\n"
@@ -3321,14 +3524,14 @@ msgstr "Beklager, det var ikke en gyldig lenke"
msgid "Sorry, there has been an error confirming your problem."
msgstr "Beklager, men det oppsto et problem når vi forsøkte å bekrefte problemrapporten din"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:230
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:235
#: perllib/FixMyStreet/Geocode.pm:37 perllib/FixMyStreet/Geocode/Bing.pm:38
#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:56
#: perllib/FixMyStreet/Geocode/OSM.pm:48
msgid "Sorry, we could not find that location."
msgstr "Beklager, vi kunne ikke finne det stedet."
-#: templates/web/base/auth/general.html:9
+#: templates/web/base/auth/general.html:11
#: templates/web/base/report/display.html:29
#: templates/web/base/report/new/fill_in_details_form.html:15
msgid "Sorry, we could not log you in. Please fill in the form below."
@@ -3349,14 +3552,12 @@ msgid ""
"Sorry, we don’t have a good enough connection to fetch that page, or the\n"
"page wasn’t found or there was a server error. Please try again later."
msgstr ""
-"Beklager, vi har ikke en god nok tilkobling til å hente den siden, eller siden\n"
-"var ikke funnet eller det var et server problem. Vennligst prøv igjen senere."
-#: perllib/FixMyStreet/App/Controller/Root.pm:107
+#: perllib/FixMyStreet/App/Controller/Root.pm:124
msgid "Sorry, you don't have permission to do that."
msgstr "Beklager, du mangler rettigheter til å gjøre dette."
-#: templates/web/base/reports/_list-filters.html:42
+#: templates/web/base/reports/_list-filters.html:53
msgid "Sort by"
msgstr "Sorter etter"
@@ -3373,17 +3574,25 @@ msgid "Start Date:"
msgstr "Start-dato:"
#: templates/web/base/admin/body.html:73
+#: templates/web/base/admin/category_edit.html:29
+#: templates/web/base/admin/contact-form.html:53
#: templates/web/base/admin/flagged.html:18
#: templates/web/base/admin/index.html:64
#: templates/web/base/admin/list_updates.html:11
#: templates/web/base/admin/reports.html:16
#: templates/web/base/admin/template_edit.html:40
-#: templates/web/base/report/_inspect.html:69
-#: templates/web/base/report/_item.html:94
+#: templates/web/base/report/_inspect.html:82
+#: templates/web/base/report/_item.html:96
#: templates/web/base/report/update/form_update.html:39
+#: templates/web/zurich/admin/contact-form.html:10
msgid "State"
msgstr "Tilstand"
+#: templates/web/base/report/update.html:48
+#, fuzzy
+msgid "State changed to:"
+msgstr "Lagre endringer"
+
#: templates/web/base/admin/report_edit.html:116
#: templates/web/base/admin/update_edit.html:28
#: templates/web/zurich/admin/report_edit-sdm.html:75
@@ -3393,8 +3602,14 @@ msgstr "Tilstand"
msgid "State:"
msgstr "Tilstand:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:640
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:386
+#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: templates/web/base/admin/states/index.html:1
+#, fuzzy
+msgid "States"
+msgstr "Tilstand"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
#: templates/web/base/admin/index.html:71 templates/web/base/admin/stats.html:1
#: templates/web/base/admin/stats_by_state.html:1
#: templates/web/zurich/admin/stats.html:1 templates/web/zurich/header.html:65
@@ -3416,6 +3631,10 @@ msgstr "Fortsatt åpen via spørreskjema, %s"
msgid "Street View"
msgstr "Gatevisning"
+#: templates/web/base/admin/extra-metadata-form.html:46
+msgid "String"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:192
msgid "Subcategory: %s"
msgstr "Underkategori: %s"
@@ -3424,7 +3643,7 @@ msgstr "Underkategori: %s"
msgid "Subdivision/Body"
msgstr "Underavdeling/administrasjon"
-#: templates/web/base/contact/index.html:88
+#: templates/web/base/contact/index.html:92
msgid "Subject"
msgstr "Emne"
@@ -3434,7 +3653,7 @@ msgid "Subject:"
msgstr "Emne:"
#: templates/web/base/questionnaire/creator_fixed.html:19
-#: templates/web/base/report/new/form_user_loggedin.html:61
+#: templates/web/base/report/new/form_user_loggedin.html:63
#: templates/web/base/report/new/form_user_loggedout_by_email.html:36
#: templates/web/base/report/new/form_user_loggedout_password.html:11
#: templates/web/zurich/report/new/fill_in_details_form.html:73
@@ -3455,8 +3674,9 @@ msgstr "Send inn endringer"
msgid "Submit questionnaire"
msgstr "Send inn spørreskjema"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:164
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:893
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:898
+#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:6
#: templates/web/zurich/admin/index-dm.html:23
#: templates/web/zurich/admin/index-dm.html:6
@@ -3465,36 +3685,39 @@ msgstr "Send inn spørreskjema"
msgid "Submitted"
msgstr "Sendt inn"
+#: templates/web/base/alert/_list.html:77
+#: templates/web/base/alert/_list.html:80
#: templates/web/base/alert/updates.html:23
#: templates/web/base/report/display_tools.html:51
msgid "Subscribe"
msgstr "Abonner"
-#: templates/web/base/alert/_list.html:93
-msgid "Subscribe me to an email alert"
+#: templates/web/base/alert/_list.html:72
+#, fuzzy
+msgid "Subscribe by email"
msgstr "Jeg ønsker å abonnere på e-postvarsel"
#: templates/web/base/report/new/form_report.html:19
msgid "Summarise the problem"
msgstr "Oppsummer problemet"
-#: templates/web/base/admin/contact-form.html:129
+#: templates/web/base/admin/contact-form.html:130
msgid "Summarise your changes"
msgstr "Oppsummer dine endringer"
-#: perllib/FixMyStreet/Cobrand/Default.pm:638
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:382
+#: perllib/FixMyStreet/Cobrand/Default.pm:637
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:387
#: templates/web/base/admin/bodies.html:29
#: templates/web/base/admin/index.html:1 templates/web/base/status/index.html:1
#: templates/web/base/status/index.html:3
#: templates/web/zurich/admin/index-dm.html:1
#: templates/web/zurich/admin/index-sdm.html:1
-#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:13
+#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:12
#: templates/web/zurich/header.html:49
msgid "Summary"
msgstr "Oppsummering"
-#: templates/web/base/reports/index.html:4
+#: templates/web/zurich/reports/index.html:0
#: templates/web/zurich/reports/index.html:4
msgid "Summary reports"
msgstr "Oppsummeringsrapporter"
@@ -3517,7 +3740,7 @@ msgid "Template &laquo;%s&raquo;"
msgstr "Mal &laquo;%s&raquo;"
#: perllib/FixMyStreet/Cobrand/Default.pm:661
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:393
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
#: templates/web/zurich/header.html:69
msgid "Templates"
msgstr "Maler"
@@ -3546,7 +3769,7 @@ msgstr "Takk for at du rapporterte dette problemet!"
msgid "Thank you for trying to confirm your update or problem. We seem to have an error ourselves though, so <a href=\"%s\">please let us know what went on</a> and we'll look into it."
msgstr "Takk for at du forsøker å bekrefte din oppdatering eller ditt problem. Vi ser ut til å ha en feil hos oss, så <a href=\"%s\">vær så snill å fortelle oss hva som skjedde</a> så skal vi se på saken."
-#: templates/web/base/tokens/confirm_update.html:15
+#: templates/web/base/tokens/confirm_update.html:16
msgid "Thank you for updating this issue!"
msgstr "Takk for at du oppdaterte dette problemet!"
@@ -3574,33 +3797,33 @@ msgstr "Bildet ser ikke ut til å ha blitt lastet opp riktig (%s), prøv på nyt
msgid "That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again."
msgstr "Det stedet dekkes ikke av noen administrasjon, kanskje det er til havs eller utenfor landet - vennligst forsøk et annet sted."
-#: perllib/FixMyStreet/App/Controller/Location.pm:129
+#: perllib/FixMyStreet/App/Controller/Location.pm:127
msgid "That location does not appear to be in the UK; please try again."
msgstr "Det stedet virker ikke å være i Storbritannia. Vennligst prøv igjen."
-#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:52
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:45
#: perllib/FixMyStreet/Cobrand/FixaMinGata.pm:50
#: perllib/FixMyStreet/Cobrand/UK.pm:73
msgid "That postcode was not recognised, sorry."
msgstr "Det postnummeret ble ikke gjenkjent, beklager."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:763
+#: perllib/FixMyStreet/App/Controller/Admin.pm:850
msgid "That problem has been marked as sent."
msgstr "Det problemer har blitt markert som sendt."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:756
+#: perllib/FixMyStreet/App/Controller/Admin.pm:843
msgid "That problem will now be resent."
msgstr "Det problemet vil nå bli sendt på nytt."
-#: perllib/FixMyStreet/App/Controller/Report.pm:137
+#: perllib/FixMyStreet/App/Controller/Report.pm:134
msgid "That report cannot be viewed on %s."
msgstr "Den rapporten kan ikke ses på %s."
-#: perllib/FixMyStreet/App/Controller/Report.pm:131
+#: perllib/FixMyStreet/App/Controller/Report.pm:128
msgid "That report has been removed from FixMyStreet."
msgstr "Den rapporten har blitt fjernet fra FiksGataMi."
-#: templates/web/base/admin/contact-form.html:25
+#: templates/web/base/admin/contact-form.html:27
msgid ""
"The <strong>email address</strong> is the destination to which reports about this category will be sent. \n"
" Other categories for this body may have the same email address."
@@ -3608,6 +3831,7 @@ msgstr ""
"Meldinger om denne kategorien blir sendt til <strong>E-postadressen</strong>.\n"
"For denne administrasjonen kan også andre kategorier ha samme e-postadresse."
+#: templates/web/base/admin/open311-form-fields.html:14
#: templates/web/base/admin/open311-form-fields.html:15
msgid ""
"The <strong>endpoint</strong> is the URL of the service that FixMyStreet will connect to \n"
@@ -3616,6 +3840,7 @@ msgstr ""
"<strong>Leveringspunktet</strong> er nettadressen til den tjenesten FiksGataMi vil koble seg til\n"
"for meldinger til denne instansen."
+#: templates/web/base/admin/open311-form-fields.html:27
#: templates/web/base/admin/open311-form-fields.html:28
msgid ""
"The <strong>jurisdiction</strong> is only needed if the endpoint is serving more\n"
@@ -3624,8 +3849,10 @@ msgstr ""
"<Strong>Jurisdiksjon</strong> er bare nødvendig om leveringspunktet betjener mer \n"
"enn en. Hvis administrasjonen har i gang sitt eget leveringspunkt, kan du vanligvis la dette stå tomt."
-#: templates/web/base/admin/body-form.html:101
+#: templates/web/base/admin/body-form.html:102
+#: templates/web/base/admin/body-form.html:103
#: templates/web/base/admin/contact-form.html:104
+#: templates/web/base/admin/contact-form.html:105
msgid ""
"The <strong>send method</strong> determines how problem reports will be sent to the body.\n"
" If you leave this blank, <strong>send method defaults to email</strong>."
@@ -3637,6 +3864,7 @@ msgstr ""
msgid "The Open311 v2 attribute agency_responsible is used to list the administrations that received the problem report, which is not quite the way the attribute is defined in the Open311 v2 specification."
msgstr "Open311 v2-atributten agency_responsible brukes for å liste opp administrasjonene som mottok problemrapporten, noe som ikke helt stemmer med hvordan atributten er definert i Open311 v2-spesifikasjonen."
+#: templates/web/base/admin/body-form.html:17
#: templates/web/base/admin/body-form.html:18
msgid ""
"The body's <strong>name</strong> identifies the body (for example, <em>Borsetshire District Council</em>)\n"
@@ -3645,6 +3873,11 @@ msgstr ""
"Administrasjonens <strong>navn</strong> identifiserer instansen (for eksempel, <em>Borsetshire District Council</em>)\n"
"og kan bli vist utad."
+#: templates/web/base/admin/extra-metadata-form.html:12
+msgid "The code used to store this field value in the database. e.g. <code>address</code> would be available as <code>problem.extra.address</code> in the templates."
+msgstr ""
+
+#: templates/web/base/report/new/fill_in_details_text.html:1
#: templates/web/base/report/new/fill_in_details_text.html:3
msgid "The council won&rsquo;t be able to help unless you leave as much detail as you can. Please describe the exact location of the problem (e.g. on a wall), what it is, how long it has been there, a description (and a photo of the problem if you have one), etc."
msgstr ""
@@ -3653,15 +3886,20 @@ msgstr ""
" vegg), hva det er, hvor lenge det har vært der, en beskrivelse (og et bilde av\n"
" problemet hvis du har et), osv."
+#: templates/web/base/admin/edit-league.html:3
#: templates/web/base/admin/edit-league.html:4
msgid "The diligency prize league table shows editors' activity (who's been editing the most records)."
msgstr "The diligency prize league tabellen viser redaktørenes aktivitet, (hvem som har redigert flest)."
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:61
-#: perllib/FixMyStreet/App/Controller/Reports.pm:82
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:63
+#: perllib/FixMyStreet/App/Controller/Reports.pm:103
msgid "The error was: %s"
msgstr "Feilen var: %s"
+#: templates/web/base/admin/extra-metadata-form.html:30
+msgid "The field name as shown to the user on the report form."
+msgstr ""
+
#: templates/web/base/open311/index.html:78
msgid "The following Open311 v2 attributes are returned for each request: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
msgstr "De følgende Open311 v2-atributtene blir returnert for hver forespørsel: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code og service_name."
@@ -3700,10 +3938,15 @@ msgstr "De siste problemer innenfor grensen til {{NAME}} rapportert av brukere"
msgid "The link might have expired, or maybe you didn&rsquo;t quite copy and paste it correctly."
msgstr "Denne lenken har kanskje gått ut på tid, eller kanskje du ikke kopierte og limte den inn korrekt."
-#: templates/web/base/admin/body-form.html:64
+#: templates/web/base/admin/body-form.html:66
msgid "The list of available areas is being provided by the MapIt service at %s."
msgstr "Listen over tilgjengelige områder kommer fra MapIt-tjenesten på %s."
+#: templates/web/base/admin/extra-metadata-form.html:6
+msgid "The ordering of this field on the report page. Fields are shown in ascending order according to this value."
+msgstr ""
+
+#: templates/web/base/auth/change_password.html:22
#: templates/web/base/auth/change_password.html:26
msgid "The passwords do not match"
msgstr "Passordene er ikke like"
@@ -3712,14 +3955,15 @@ msgstr "Passordene er ikke like"
msgid "The requested URL '%s' was not found on this server"
msgstr "Den forespurte URL '%s' ble ikke funnet på denne tjeneren"
-#: templates/web/base/alert/_list.html:17
-msgid "The simplest alert is our geographic one:"
-msgstr "Den enkleste meldingen er vår geografiske:"
+#: templates/web/base/admin/extra-metadata-form.html:42
+msgid "The type of input field to show to the user. <strong>Text</strong> is a simple text field, <strong>List</strong> is a drop-down selection."
+msgstr ""
#: perllib/FixMyStreet/Script/Reports.pm:96
msgid "The user could not locate the problem on a map, but to see the area around the location they entered"
msgstr "Brukeren kunne ikke plassere problemet på et kart, men sjekk området rundt stedet de skrev inn"
+#: templates/web/base/admin/user-form.html:10
#: templates/web/base/admin/user-form.html:11
msgid ""
"The user's <strong>name</strong> is displayed publicly on reports that have not been marked <em>anonymous</em>.\n"
@@ -3734,18 +3978,18 @@ msgstr ""
msgid "There are no reports to show."
msgstr "Det er ingen rapporter å vise."
-#: perllib/FixMyStreet/App/Controller/Reports.pm:79
+#: perllib/FixMyStreet/App/Controller/Reports.pm:100
msgid "There was a problem showing the All Reports page. Please try again later."
msgstr "Det var problemer med å vise 'Alle rapporter'-siden. Vennligst prøv igjen senere."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:137
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:60
+#: perllib/FixMyStreet/App/Controller/Contact.pm:138
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:62
msgid "There was a problem showing this page. Please try again later."
msgstr "Det var problemer med å vise denne siden. Vennligst prøv igjen senere."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:758
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:785
#: perllib/FixMyStreet/App/Controller/Report/Update.pm:152
-#: templates/web/base/auth/general.html:53
+#: templates/web/base/auth/general.html:55
#: templates/web/zurich/auth/general.html:28
msgid "There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the &lsquo;sign in by email&rsquo; section of the form."
msgstr "Det var problemer med din e-post/passord-kombinasjon. Hvis du har glemt ditt passord, eller hvis du ikke har et, vennligst fyll inn «Logg inn via e-post»-delen av skjemaet"
@@ -3758,7 +4002,7 @@ msgstr "Det var problemer med din epost/passord-kombinasjon. Vær så snill å
msgid "There was a problem with your update. Please try again."
msgstr "Det var problemer med din oppdatering. Vær så snill å forsøke igjen."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:141
+#: perllib/FixMyStreet/App/Controller/Contact.pm:142
msgid "There were problems with your report. Please see below."
msgstr "Det var problemer med din rapport. Vennligst se under."
@@ -3766,6 +4010,7 @@ msgstr "Det var problemer med din rapport. Vennligst se under."
msgid "There were problems with your update. Please see below."
msgstr "Det var problemer med din oppdatering. Vennligst se under."
+#: templates/web/base/admin/open311-form-fields.html:3
#: templates/web/base/admin/open311-form-fields.html:4
msgid ""
"These settings are for bodies that use Open311 (or other back-end integration) to receive problem reports.<br>\n"
@@ -3779,10 +4024,12 @@ msgstr ""
"For mer informasjon om Open311, se\n"
"<a href='https://www.mysociety.org/2013/01/17/open311-explained/' class='admin-offsite-link'>denne artikkelen</a>."
+#: templates/web/base/report/new/councils_text.html:3
#: templates/web/base/report/new/councils_text.html:4
msgid "These will be published online for others to see, in accordance with our <a href=\"%s\">privacy policy</a>."
msgstr "Disse vil bli publisert på nettsiden tilgjengelig for andre, i samsvar med <a href=\"/faq#privacy\">personvernreglene</a> våre."
+#: templates/web/base/report/new/councils_text_all.html:4
#: templates/web/base/report/new/councils_text_all.html:6
msgid "These will be sent to <strong>%s</strong> and also published online for others to see, in accordance with our <a href=\"%s\">privacy policy</a>."
msgstr "Disse vil bli sent til <strong>%s</strong> og vil også bli publisert på nettsiden tilgjengelig for andre, i samsvar med <a href=\"/faq#privacy\">personvernreglene</a> våre."
@@ -3814,7 +4061,8 @@ msgstr ""
msgid "This body has no contacts. This means that currently problems reported to this body <strong>will not be sent</strong>."
msgstr "Denne instansen har ingen kontakter. Det betyr at for tiden vil rapporterte problemer til denne instansen <strong>ikke bli sendt</strong>."
-#: templates/web/base/admin/body-form.html:59
+#: templates/web/base/admin/body-form.html:60
+#: templates/web/base/admin/body-form.html:61
msgid ""
"This body will only be sent reports for problems that are located in the <strong>area covered</strong>.\n"
" A body will not receive any reports unless it covers at least one area."
@@ -3830,8 +4078,9 @@ msgstr "Denne e-posten har blitt sendt til begge administrasjonene som dekker st
msgid "This email has been sent to several councils covering the location of the problem, as the category selected is provided for all of them; please ignore it if you're not the correct council to deal with the issue."
msgstr "Denne e-posten har blitt sendt til flere administrasjoner som dekker stedet for problemet, da den valgte kategorien er tilgjengelig for disse. Vær så snill å ignorere e-posten hvis dere ikke er korrekt administrasjon for å håndtere denne saken."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:881
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:925
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1017
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:910
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:954
#: perllib/FixMyStreet/App/Controller/Report/New.pm:971
#: perllib/FixMyStreet/Cobrand/UK.pm:45
msgid "This information is required"
@@ -3841,45 +4090,41 @@ msgstr "Denne informasjonen er påkrevd"
msgid "This is a developer site; things might break at any time, and the database will be periodically deleted."
msgstr "Dette er et utviklernettsted. Ting kan knekke når som helst og databasen vil bli periodisk slettet."
-#: templates/web/base/reports/index.html:10
-msgid "This is a summary of all reports on this site."
-msgstr "Dette er en opplisting av alle problemene i denne tjenesten."
-
-#: templates/web/base/report/new/form_report.html:56
+#: templates/web/base/report/new/form_report.html:58
msgid "This pothole has been here for two months and…"
msgstr "Det har vært et hull i veien i to måneder og..."
-#: templates/web/base/report/update/form_update.html:63
+#: templates/web/base/report/update/form_update.html:55
msgid "This problem has been fixed"
msgstr "Dette problemet er løst"
-#: templates/web/base/report/update/form_update.html:56
+#: templates/web/base/report/update/form_update.html:48
msgid "This problem has not been fixed"
msgstr "Dette problemet har ikke blitt løst"
-#: templates/web/base/report/update/form_update.html:54
+#: templates/web/base/report/update/form_update.html:46
msgid "This problem is still ongoing"
-msgstr "Dette problemet har ikke blitt løst"
+msgstr ""
#: templates/web/base/report/duplicate-no-updates.html:3
msgid "This report is a duplicate. Please leave updates on the original report:"
-msgstr "Denne rapporten er en duplikat. Vennligst legg igjen oppdateringer i den originale rapporten:"
+msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:161
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:162
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:166
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:167
#: templates/web/zurich/report/_main.html:14
msgid "This report is awaiting moderation."
msgstr "Denne rapporten avventer moderasjon"
-#: perllib/FixMyStreet/Script/Alerts.pm:101
+#: perllib/FixMyStreet/Script/Alerts.pm:98
msgid "This report is currently marked as closed."
msgstr "Denne rapporten er for tiden markert som lukket."
-#: perllib/FixMyStreet/Script/Alerts.pm:99
+#: perllib/FixMyStreet/Script/Alerts.pm:96
msgid "This report is currently marked as fixed."
msgstr "Denne rapporten er for tiden markert som fikset."
-#: perllib/FixMyStreet/Script/Alerts.pm:103
+#: perllib/FixMyStreet/Script/Alerts.pm:100
msgid "This report is currently marked as open."
msgstr "Denne rapporten er for tiden markert som åpen."
@@ -3898,7 +4143,7 @@ msgstr "Denne nettsiden inneholder også et bilde av problemet, sendt inn av bru
msgid "Time spent (in minutes):"
msgstr "Tid brukt (i minutter):"
-#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Default.pm:638
#: templates/web/base/admin/timeline.html:1
msgid "Timeline"
msgstr "Tidslinje"
@@ -3927,10 +4172,26 @@ msgstr "Du finner lokale problemer ved å søke på ditt postnummer eller veinav
msgid "To find out what local alerts we have for you, please enter your postcode or street name and area"
msgstr "Du finner lokale problemer ved å søke på ditt postnummer, veinavn eller sted"
+#: templates/web/base/admin/reportextrafields/edit.html:19
+msgid "To limit this collection of fields to a single cobrand, select it here."
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:40
+msgid "To limit this collection of fields to a single language, select it here."
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:95
msgid "To view a map of the precise location of this issue"
msgstr "For å se et kart med en mer presis plassering for dette problemet."
+#: templates/web/base/reports/index.html:97
+msgid "Top 5 most used categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:83
+msgid "Top 5 responsive councils"
+msgstr ""
+
#: templates/web/base/admin/questionnaire.html:24
#: templates/web/base/admin/stats.html:24
#: templates/web/base/admin/stats.html:43
@@ -3941,30 +4202,39 @@ msgstr "Totalt"
#: templates/web/base/dashboard/index.html:97
msgid "Total marked"
-msgstr "Totalt antall merket"
+msgstr ""
#: templates/web/base/dashboard/index.html:71
msgid "Total marked as fixed"
-msgstr "Markert som fikset"
+msgstr ""
#: templates/web/base/dashboard/index.html:125
msgid "Total not marked"
-msgstr "Totalt antall umerket"
+msgstr ""
+#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:56
msgid "Total reports received"
-msgstr "Rapporter mottatt"
+msgstr ""
-#: templates/web/base/report/_inspect.html:110
-#: templates/web/base/report/_item.html:102
+#: templates/web/base/report/_inspect.html:134
+#: templates/web/base/report/_item.html:104
msgid "Traffic management required?"
msgstr "Trafikkstyring kreves?"
+#: templates/web/base/admin/_translations.html:7
+msgid "Translation"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:2
+msgid "Translations"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:111
msgid "Trusted by bodies:"
msgstr "Klarert av administrasjoner:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:721
+#: perllib/FixMyStreet/Cobrand/Default.pm:726
msgid "Trusted to make reports that don't need to be inspected"
msgstr "Klarert til å lage rapporter som ikke må sjekkes"
@@ -3980,7 +4250,14 @@ msgstr "Prøv igjen"
msgid "Try emailing us directly:"
msgstr "Forsøk å sende epost direkte til oss:"
-#: templates/web/base/admin/report_blocks.html:21
+#: templates/web/base/admin/extra-metadata-form.html:44
+#: templates/web/base/admin/states/index.html:10
+#: templates/web/base/admin/states/index.html:100
+msgid "Type"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:59
+#: templates/web/base/admin/contact-form.html:55
#: templates/web/base/admin/update_edit.html:30
#: templates/web/zurich/admin/report_edit-sdm.html:66
#: templates/web/zurich/admin/report_edit.html:94
@@ -3988,7 +4265,6 @@ msgstr "Forsøk å sende epost direkte til oss:"
msgid "Unconfirmed"
msgstr "Ubekreftet"
-#: templates/web/base/reports/_list-filters.html:12
#: templates/web/base/reports/_list-filters.html:5
msgid "Unfixed reports"
msgstr "uløste rapporter"
@@ -4002,25 +4278,26 @@ msgid "Unknown alert type"
msgstr "Ukjent varsel-type"
#: perllib/FixMyStreet/App/Controller/Photo.pm:109
-#: perllib/FixMyStreet/App/Controller/Root.pm:124
+#: perllib/FixMyStreet/App/Controller/Root.pm:141
#: templates/web/base/js/translation_strings.html:38
msgid "Unknown error"
msgstr "Ukjent feil"
-#: perllib/FixMyStreet/App/Controller/Report.pm:115
+#: perllib/FixMyStreet/App/Controller/Report.pm:112
+#: perllib/FixMyStreet/App/Controller/Report.pm:118
#: perllib/FixMyStreet/App/Controller/Report.pm:121
-#: perllib/FixMyStreet/App/Controller/Report.pm:124
msgid "Unknown problem ID"
msgstr "Ukjent problem-Id"
#: templates/web/base/reports/_list-filters.html:10
msgid "Unshortlisted"
-msgstr "Ikke i hurtiglisten"
+msgstr ""
-#: templates/web/base/report/_item.html:24
+#: templates/web/base/report/_item.html:26
msgid "Up one"
-msgstr "Opp en"
+msgstr ""
+#: templates/web/base/admin/states/index.html:76
#: templates/web/base/report/update/form_update.html:29
msgid "Update"
msgstr "Oppdatering"
@@ -4037,7 +4314,7 @@ msgstr "Oppdateringen under lagt inn anonymt %s"
msgid "Update below added by %s at %s"
msgstr "Oppdateringen under lagt til av %s %s"
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Update body"
msgstr "Oppdater administrasjon"
@@ -4073,13 +4350,23 @@ msgstr "Oppdater tilstanden"
msgid "Updated"
msgstr "Oppdatert"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1159
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1223
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1386
-#: perllib/FixMyStreet/App/Controller/Admin.pm:823
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:762
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:787
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:857
+#: perllib/FixMyStreet/DB/Result/Comment.pm:249
+#, fuzzy
+msgid "Updated by <strong>%s</strong> (%s) at %s"
+msgstr "Lagt inn av <strong>%s</strong> (%s) %s"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:251
+#, fuzzy
+msgid "Updated by <strong>%s</strong> at %s"
+msgstr "Lagt inn av <strong>%s</strong> %s"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1262
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1326
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1489
+#: perllib/FixMyStreet/App/Controller/Admin.pm:910
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:767
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:792
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:862
msgid "Updated!"
msgstr "Oppdatert!"
@@ -4089,7 +4376,7 @@ msgstr "Oppdatert!"
msgid "Updates"
msgstr "Oppdateringer"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:133
+#: perllib/FixMyStreet/DB/Result/Comment.pm:134
msgid "Updates are limited to %s characters in length. Please shorten your update"
msgstr "Oppdateringer er begrenset til %s tegn i lengde. Vennligst skriv en kortere tekst."
@@ -4098,15 +4385,27 @@ msgid "Updates on {{title}}"
msgstr "Oppdateringer av {{title}}"
#. ("%s is the site name")
+#: templates/web/base/report/display.html:0
#: templates/web/base/report/display.html:9
msgid "Updates to this problem, %s"
-msgstr "Oppdateringer til dette problemet, FiksGataMi"
+msgstr "Oppdateringer til dette problemet, %s"
+
+#: templates/web/base/admin/contact-form.html:43
+#: templates/web/base/admin/contact-form.html:44
+msgid ""
+"Use <strong>confirmed</strong> to indicate that this contact has been\n"
+"confirmed as correct. If you are not sure of the origin or validity of the\n"
+"contact, use <strong>unconfirmed</strong>. <strong>inactive</strong> will\n"
+"remove the category from use when reporting problems, but keep it available in\n"
+"map filters, and <strong>deleted</strong> will remove the category from there\n"
+"as well."
+msgstr ""
#: templates/web/base/admin/open311-form-fields.html:65
msgid "Use Open311 update-sending extension"
msgstr ""
-#: templates/web/base/admin/contact-form.html:124
+#: templates/web/base/admin/contact-form.html:125
msgid "Use this field to record details that are only displayed in the admin. Input is not shown publicly, and is not sent to the body."
msgstr "Bruk dette feltet for å legge inn detaljer som kun blir vist i admingrensesnittet, og ikke blir sendt til administrasjonen."
@@ -4119,25 +4418,26 @@ msgstr "Brukte kart"
msgid "User ID to attribute fetched comments to"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1702
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1805
msgid "User flag removed"
msgstr "Brukerflagg fjernet"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1674
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1777
msgid "User flagged"
msgstr "Bruker flagget"
+#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:58
msgid "User has marked as fixed"
-msgstr "Bruker har markert som fikset"
+msgstr ""
#: templates/web/base/admin/users.html:5
msgid "User search finds matches in users' names and email addresses."
msgstr "Brukersøk leter etter treff gjennom brukernavn og epostadresser. "
#: perllib/FixMyStreet/Cobrand/Default.pm:669
-#: perllib/FixMyStreet/Cobrand/Default.pm:723
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
+#: perllib/FixMyStreet/Cobrand/Default.pm:728
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:403
#: templates/web/base/admin/flagged.html:29 templates/web/zurich/header.html:61
msgid "Users"
msgstr "Brukere"
@@ -4146,9 +4446,9 @@ msgstr "Brukere"
msgid "Users can perform the following actions within their assigned body or area."
msgstr "Brukere kan gjøre følgende handlinger innenfor deres tildelte administrasjon eller område"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:401
-#: perllib/FixMyStreet/App/Controller/Admin.pm:431
-#: perllib/FixMyStreet/App/Controller/Admin.pm:449
+#: perllib/FixMyStreet/App/Controller/Admin.pm:381
+#: perllib/FixMyStreet/App/Controller/Admin.pm:417
+#: perllib/FixMyStreet/App/Controller/Admin.pm:439
msgid "Values updated"
msgstr "Verdier oppdatert"
@@ -4164,19 +4464,23 @@ msgstr "Se rapport på nettstedet"
msgid "View reports by ward"
msgstr "Se rapport per bydel"
+#: templates/web/base/around/display_location.html:0
#: templates/web/base/around/display_location.html:37
msgid "Viewing a location"
msgstr "Ser på et sted"
+#: templates/web/base/report/display.html:0
+msgid "Viewing a problem"
+msgstr "Ser på et problem"
+
#. ("Week to date")
#: templates/web/base/dashboard/index.html:48
msgid "WTD"
msgstr ""
#: templates/web/base/dashboard/index.html:20
-#, fuzzy
msgid "Ward:"
-msgstr "Område:"
+msgstr ""
#: templates/web/base/reports/body.html:16
msgid "Wards of this council"
@@ -4191,7 +4495,7 @@ msgstr "Vi fant mer en ett treff for den plassen. Vi viser opp til ti treff, sÃ
msgid "We found more than one match for that problem reference:"
msgstr "Vi fant mer enn et treff for problemreferansen:"
-#: templates/web/base/auth/general.html:6
+#: templates/web/base/auth/general.html:8
#: templates/web/base/report/display.html:35
#: templates/web/base/report/new/oauth_email_form.html:5
msgid "We need your email address, please give it below."
@@ -4216,7 +4520,7 @@ msgstr "Det gjør oss triste å høre at problemet ikke er løst. Hva med å fo
#: templates/web/base/dashboard/index.html:48
msgid "Week To Date"
-msgstr "Uke til dags dato"
+msgstr ""
#: templates/web/base/contact/submit.html:7
msgid "We’ll get back to you as soon as we can."
@@ -4226,7 +4530,7 @@ msgstr "Vi tar kontakt med deg så snart vi kan."
msgid "What was your experience of getting the problem fixed?"
msgstr "Hvilken erfaring hadde du med å få løst dette problemet?"
-#: templates/web/base/admin/category_edit.html:52
+#: templates/web/base/admin/category_edit.html:27
#: templates/web/zurich/admin/body.html:18
msgid "When edited"
msgstr "NÃ¥r redigert"
@@ -4235,11 +4539,19 @@ msgstr "NÃ¥r redigert"
msgid "When sent"
msgstr "NÃ¥r sendt"
-#: templates/web/base/report/_inspect.html:75
+#: templates/web/base/admin/extra-metadata-form.html:18
+msgid "Whether the user is required to provide a value for this field."
+msgstr ""
+
+#: templates/web/base/alert/_list.html:9
+msgid "Which problems do you want alerts about?"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:99
msgid "Which report is it a duplicate of?"
-msgstr "Hvilken rapport er det en duplikat av?"
+msgstr ""
-#: templates/web/base/js/translation_strings.html:54
+#: templates/web/base/js/translation_strings.html:57
msgid "Whoa there Testino! Three photos are enough."
msgstr "Oj oj, brems ned! Tre bilder er nok."
@@ -4247,8 +4559,9 @@ msgstr "Oj oj, brems ned! Tre bilder er nok."
msgid "Why stop there? <a href=\"/alert\">Set up more alerts</a> for free."
msgstr "Hvorfor stoppe der? <a href=\"/alert\">Sett opp flere varsler</a> gratis."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:185
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:190
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
+#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:14
msgid "Wish"
msgstr "Ønske"
@@ -4257,7 +4570,7 @@ msgstr "Ønske"
msgid "With request searches, it is also possible to search for agency_responsible to limit the requests to those sent to a single administration. The search term is the administration ID provided by <a href=\"%s\">MaPit</a>."
msgstr "Når du søker etter forespørsler, så er det også mulig å søke etter agency_responsible for å begrense det til forespørsler som er sendt til en enkelt adminstrasjon. Søketermen er administrasjons-IDen som oppgitt av <a href=\"%s\">MaPit</a>."
-#: templates/web/base/front/footer-marketing.html:17
+#: templates/web/base/front/footer-marketing.html:3
msgid "Would you like to contribute to FixMyStreet? Our code is open source and <a href=\"http://fixmystreet.org\">available at fixmystreet.org</a>."
msgstr "Kunne du tenke deg å bidra til FiksGataMi? Kildekoden vår er fri programvare og <a href=\"http://fixmystreet.org\">tilgjengelig via fixmystreet.org</a>."
@@ -4282,10 +4595,8 @@ msgstr ""
msgid "Year"
msgstr "Ã…r"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1200
+#: perllib/FixMyStreet/Cobrand/Default.pm:1236
#: templates/web/base/admin/bodies.html:70
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
#: templates/web/base/admin/category_edit.html:5
#: templates/web/base/admin/flagged.html:47
#: templates/web/base/admin/list_updates.html:32
@@ -4299,6 +4610,7 @@ msgstr "Ã…r"
#: templates/web/base/questionnaire/creator_fixed.html:14
#: templates/web/base/questionnaire/index.html:104
#: templates/web/base/questionnaire/index.html:53
+#: templates/web/base/report/_inspect.html:90
msgid "Yes"
msgstr "Ja"
@@ -4311,9 +4623,9 @@ msgstr "Ja, jeg har et passord"
msgid "You are complaining that this problem report was unnecessarily moderated:"
msgstr "Du klager over at denne problemrapporten ble moderert uten grunn:"
-#: templates/web/base/js/translation_strings.html:70
+#: templates/web/base/js/translation_strings.html:73
msgid "You are offline"
-msgstr "Du er ikke tilkoblet nett"
+msgstr ""
#: templates/web/base/contact/unsuitable-text.html:2
msgid "You are reporting the following problem report for being abusive, containing personal information, or similar:"
@@ -4323,6 +4635,7 @@ msgstr "Du rapporterer at følgende problem er støtende, inneholder personlig i
msgid "You are reporting the following update for being abusive, containing personal information, or similar:"
msgstr "Du rapporterer at følgende oppdatering er støtende, inneholder personlig informasjon, eller lignende:"
+#: templates/web/zurich/tokens/confirm_problem.html:5
#: templates/web/zurich/tokens/confirm_problem.html:8
msgid "You can <a href=\"%s%s\">view the problem on this site</a>."
msgstr "Du kan <a href=\"%s%s\">lese om problemet på denne siden</a>."
@@ -4331,7 +4644,11 @@ msgstr "Du kan <a href=\"%s%s\">lese om problemet på denne siden</a>."
msgid "You can add an abusive user's email to the abuse list, which automatically hides (and never sends) reports they create."
msgstr "Du kan legge en misbrukers epostadresse til misbrukslista, hvilket automatisk skjuler (og aldri sender) rapporter vedkommende oppretter."
-#: templates/web/base/contact/index.html:111
+#: templates/web/base/alert/_list.html:18
+msgid "You can choose to subscribe to all problems reported in an area, or reports based on their destination."
+msgstr ""
+
+#: templates/web/base/contact/index.html:115
msgid "You can contact technical support on <a href='mailto:%s'>%s</a>"
msgstr "Du kan kontakte teknisk støtte via <a href='mailto:%s'>%s</a>"
@@ -4344,12 +4661,14 @@ msgstr ""
"Du kan flagge alle meldinger eller brukere ved å redigere dem, og de blir ført opp på denne siden.\n"
"For eksempel kan dette være nyttig hvis du ønsker å holde et øye med en bruker som tidligere har lagt ut uegnede meldinger. "
+#: templates/web/base/report/new/top_message_none.html:12
#: templates/web/base/report/new/top_message_none.html:14
#: templates/web/base/report/new/top_message_some.html:11
+#: templates/web/base/report/new/top_message_some.html:9
msgid "You can help us by finding a contact email address for local problems for %s and emailing it to us at <a href='mailto:%s'>%s</a>."
msgstr "Du kan hjelpe oss ved å finne en kontakt-e-post for lokale problemer i %s, og sende den via e-post til oss på <a href='mailto:%s'>%s</a>."
-#: templates/web/base/admin/body-form.html:91
+#: templates/web/base/admin/body-form.html:93
msgid "You can mark a body as deleted if you do not want it to be active on the site."
msgstr "Du kan markere en administrasjon som slettet hvis du ikke vil at den skal være aktiv på dette nettstedet."
@@ -4357,7 +4676,7 @@ msgstr "Du kan markere en administrasjon som slettet hvis du ikke vil at den ska
msgid "You declined; please fill in the box above"
msgstr "Du avviste; vennligst fyll inn boksen ovenfor"
-#: templates/web/base/js/translation_strings.html:72
+#: templates/web/base/js/translation_strings.html:75
msgid "You have <a id=\"oFN\" href=\"\"><span>%s</span> saved to submit</a>."
msgstr ""
@@ -4365,7 +4684,7 @@ msgstr ""
msgid "You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"
msgstr "Du har allerede besvart dette spørreskjemaet. Hvis du har spørsmål, vennligst <a href='%s'>ta kontakt</a>, eller <a href='%s'>se på ditt problem</a>.\n"
-#: templates/web/base/report/new/form_report.html:37
+#: templates/web/base/report/new/form_report.html:39
#: templates/web/zurich/report/new/fill_in_details_form.html:30
msgid "You have already attached photos to this report. Note that you can attach a maximum of 3 to this report (if you try to upload more, the oldest will be removed)."
msgstr "Du har allerede lagt ved bilder til denne rapporten. Merk at du kan maksimalt legge ved 3 til rapporten (hvis du laster opp flere blir det eldste slettet)."
@@ -4385,6 +4704,7 @@ msgid "You have located the problem at the point marked with a green pin on the
msgstr "Du har plassert problemet ved punktet i kartet som er markert med en grønn nål. Hvis dette ikke er korrekt plassering kan du klikke i kartet på nytt."
#: templates/web/base/auth/change_email.html:6
+#: templates/web/zurich/tokens/confirm_problem.html:5
#: templates/web/zurich/tokens/confirm_problem.html:6
msgid "You have successfully confirmed your email address."
msgstr "Du har nå lykkes med å bekrefte din e-postadresse."
@@ -4415,7 +4735,7 @@ msgstr ""
"Du må legge til instanser (for eksempel kommuner eller avdelinger), slik at du deretter kan legge til \n"
"grupper av problemer de kan håndtere (som hull i gater og veier, eller gatelys) og kontakter (som en e-postadresse) som meldinger kan sendes til."
-#: templates/web/base/my/my.html:5
+#: templates/web/base/my/my.html:0 templates/web/base/my/my.html:5
msgid "Your Reports"
msgstr "Dine rapporter"
@@ -4424,10 +4744,9 @@ msgstr "Dine rapporter"
msgid "Your account"
msgstr "Din konto"
-#: templates/web/base/alert/_list.html:90
#: templates/web/base/alert/updates.html:19
#: templates/web/base/alert/updates.html:22
-#: templates/web/base/contact/index.html:81
+#: templates/web/base/contact/index.html:80
#: templates/web/base/report/display_tools.html:46
#: templates/web/base/report/display_tools.html:49
#: templates/web/base/report/new/form_user_loggedout_email.html:1
@@ -4437,7 +4756,7 @@ msgid "Your email"
msgstr "Din e-post"
#: templates/web/base/auth/change_email.html:9
-#: templates/web/base/auth/general.html:55
+#: templates/web/base/auth/general.html:57
#: templates/web/base/report/update/form_user_loggedout_email.html:5
#: templates/web/zurich/auth/general.html:30
#: templates/web/zurich/auth/general.html:58
@@ -4448,20 +4767,32 @@ msgstr "Din e-postadresse"
msgid "Your information will only be used in accordance with our <a href=\"/privacy\">privacy policy</a>"
msgstr "Vi vil kun bruke personlig informasjon om deg i henhold til våre <a href=\"/faq#privacy\">personvernsregler.</a>"
-#: templates/web/base/auth/general.html:107
+#: templates/web/base/auth/general.html:109
#: templates/web/base/contact/index.html:74
#: templates/web/base/report/new/form_user_loggedout_by_email.html:17
-#: templates/web/base/report/update/form_name.html:29
+#: templates/web/base/report/update/form_name.html:33
#: templates/web/zurich/auth/general.html:61
#: templates/web/zurich/report/new/fill_in_details_form.html:63
msgid "Your name"
msgstr "Ditt navn"
-#: templates/web/base/js/translation_strings.html:62
+#: templates/web/base/my/anonymize.html:13
+msgid "Your name has already been sent to %s, but we can hide it on this page:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:264
+msgid "Your name has been hidden from all your reports and updates."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:260
+msgid "Your name has been hidden."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:65
msgid "Your offline reports"
-msgstr "Dine offline rapporter"
+msgstr ""
-#: templates/web/base/auth/general.html:85
+#: templates/web/base/auth/general.html:87
#: templates/web/base/report/new/form_user_loggedout_password.html:10
#: templates/web/base/report/update/form_user_loggedout_password.html:9
#: templates/web/zurich/auth/general.html:34
@@ -4472,6 +4803,7 @@ msgstr "Ditt passord"
msgid "Your password has been changed"
msgstr "Ditt passord har blitt endret"
+#: templates/web/base/contact/index.html:87
#: templates/web/base/report/new/form_user_loggedout_by_email.html:26
#: templates/web/zurich/report/new/fill_in_details_form.html:69
msgid "Your phone number"
@@ -4485,20 +4817,21 @@ msgstr "Din rapport"
msgid "Your reports"
msgstr "Dine oppdateringer"
-#: templates/web/base/my/planned.html:18 templates/web/base/my/planned.html:5
+#: templates/web/base/my/planned.html:0 templates/web/base/my/planned.html:18
+#: templates/web/base/my/planned.html:5
msgid "Your shortlist"
msgstr "Din hurtigliste"
-#: templates/web/base/js/translation_strings.html:63
+#: templates/web/base/js/translation_strings.html:66
msgid "Your update has been saved offline for submission when back online."
-msgstr "Oppdateringen din har blitt lagret offline for innsending når du er tilkoblet nett."
+msgstr ""
#: templates/web/base/my/my.html:51
msgid "Your updates"
msgstr "Dine oppdateringer"
-#: templates/web/base/report/new/form_user_loggedin.html:18
-#: templates/web/base/report/update/form_name.html:11
+#: templates/web/base/report/new/form_user_loggedin.html:19
+#: templates/web/base/report/update/form_name.html:12
msgid "Yourself"
msgstr "Deg"
@@ -4507,14 +4840,15 @@ msgstr "Deg"
msgid "all"
msgstr "alle"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:259
+msgid "and a defect raised"
+msgstr ""
+
#: templates/web/base/admin/timeline.html:4
msgid "by %s"
msgstr "av %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:290
-msgid "closed as a duplicate report"
-msgstr "lukket som duplisert rapport"
-
+#: templates/web/base/reports/body.html:6
#: templates/web/base/reports/body.html:7
msgid "council"
msgstr "administrasjon"
@@ -4538,7 +4872,7 @@ msgstr "rediger bruker"
msgid "from %s different users"
msgstr "fra %s forskjellige brukere"
-#: templates/web/base/report/_item.html:61
+#: templates/web/base/report/_item.html:63
#: templates/web/zurich/report/_item.html:14
msgid "last updated %s"
msgstr "sist oppdatert %s"
@@ -4547,44 +4881,7 @@ msgstr "sist oppdatert %s"
msgid "less than a minute"
msgstr "mindre enn et minutt"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:280
-msgid "marked as action scheduled"
-msgstr "markert som planlagt"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:292
-msgid "marked as an internal referral"
-msgstr "markert som en intern henvisning"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:282
-msgid "marked as closed"
-msgstr "markert som lukket"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:263
-#: perllib/FixMyStreet/DB/Result/Comment.pm:284
-msgid "marked as fixed"
-msgstr "markert som fikset"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:278
-msgid "marked as in progress"
-msgstr "markert som under arbeid"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:274
-msgid "marked as investigating"
-msgstr "markert som undersøkes"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:286
-msgid "marked as no further action"
-msgstr "markert som ingen videre handling"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:288
-msgid "marked as not the council's responsibility"
-msgstr "markert som ikke administrasjonens ansvar"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:276
-msgid "marked as planned"
-msgstr "markert som planlagt"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:122
+#: perllib/FixMyStreet/App/Controller/Admin.pm:119
#: templates/web/base/admin/questionnaire.html:15
#: templates/web/base/admin/questionnaire.html:16
msgid "n/a"
@@ -4595,23 +4892,26 @@ msgstr "n/a"
msgid "none"
msgstr "ingen"
-#: templates/web/base/admin/category_edit.html:35
-msgid "optional"
-msgstr "valgfri"
-
-#: templates/web/base/alert/_list.html:86
-msgid "or"
-msgstr "eller"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:278
+#, fuzzy
+msgid "not the council's responsibility"
+msgstr "markert som ikke administrasjonens ansvar"
#: templates/web/base/js/translation_strings.html:27
msgid "or locate me automatically"
msgstr "eller finn min posisjon automatisk"
+#: templates/web/base/admin/report_edit.html:48
#: templates/web/base/admin/report_edit.html:50
+#: templates/web/zurich/admin/report_edit-sdm.html:32
#: templates/web/zurich/admin/report_edit-sdm.html:34
+#: templates/web/zurich/admin/report_edit-sdm.html:55
#: templates/web/zurich/admin/report_edit-sdm.html:57
+#: templates/web/zurich/admin/report_edit.html:34
#: templates/web/zurich/admin/report_edit.html:36
+#: templates/web/zurich/admin/report_edit.html:50
#: templates/web/zurich/admin/report_edit.html:52
+#: templates/web/zurich/admin/report_edit.html:74
#: templates/web/zurich/admin/report_edit.html:76
msgid "originally entered: &ldquo;%s&rdquo;"
msgstr "opprinnelig lagt inn: &ldquo;%s&rdquo;"
@@ -4620,16 +4920,7 @@ msgstr "opprinnelig lagt inn: &ldquo;%s&rdquo;"
msgid "other areas:"
msgstr "andre områder:"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:265
-#: perllib/FixMyStreet/DB/Result/Comment.pm:271
-msgid "reopened"
-msgstr "åpnet på nytt"
-
-#: templates/web/base/admin/category_edit.html:35
-msgid "required"
-msgstr "påkrevd"
-
-#: templates/web/zurich/footer.html:13
+#: templates/web/zurich/footer.html:12
msgid "sign out"
msgstr "logg ut"
@@ -4637,11 +4928,16 @@ msgstr "logg ut"
msgid "the local council"
msgstr "den lokale administrasjonen"
-#: templates/web/base/report/_report_meta_info.html:2
+#: templates/web/base/report/_report_meta_info.html:5
#: templates/web/zurich/report/_main.html:5
msgid "there is no pin shown as the user did not use the map"
msgstr "Det vises ingen nål på grunn av at brukeren ikke brukte kartet"
+#: templates/web/base/alert/_list.html:1
+#, fuzzy
+msgid "this location"
+msgstr "Ser på et sted"
+
#: perllib/FixMyStreet/Script/Reports.pm:184
msgid "this type of local problem"
msgstr "denne type lokalt problem"
@@ -4650,14 +4946,13 @@ msgstr "denne type lokalt problem"
msgid "today"
msgstr "idag"
-#: templates/web/base/js/translation_strings.html:73
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:76
msgid "update"
-msgstr "Oppdatering"
+msgstr ""
-#: templates/web/base/js/translation_strings.html:74
+#: templates/web/base/js/translation_strings.html:77
msgid "updates"
-msgstr "oppdateringer"
+msgstr ""
#: templates/web/base/admin/report_edit.html:52
msgid "used map"
@@ -4667,6 +4962,11 @@ msgstr "brukte kart"
msgid "user is from same council as problem - %d"
msgstr "bruker er fra samme administrasjon som problemet - %d"
+#: templates/web/base/admin/update_edit.html:40
+msgid "user is problem owner"
+msgstr "bruker er eier av problemet"
+
+#: templates/web/base/reports/body.html:0
#: templates/web/base/reports/body.html:3
msgid "ward"
msgstr "bydel"
@@ -4675,8 +4975,8 @@ msgstr "bydel"
#, perl-format
msgid "%d address"
msgid_plural "%d addresses"
-msgstr[0] "%d adresse"
-msgstr[1] "%d adresser"
+msgstr[0] ""
+msgstr[1] ""
#: perllib/Utils.pm:250
#, perl-format
@@ -4703,8 +5003,8 @@ msgstr[1] "%d minutter"
#, perl-format
msgid "%d month"
msgid_plural "%d months"
-msgstr[0] "%d måned"
-msgstr[1] "%d måneder"
+msgstr[0] ""
+msgstr[1] ""
#: templates/web/base/report/_support.html:6
#, perl-format
@@ -4724,8 +5024,43 @@ msgstr[1] "%d uker"
#, perl-format
msgid "%d year"
msgid_plural "%d years"
-msgstr[0] "%d år"
-msgstr[1] "%d år"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:92
+#, perl-format
+msgid "%s day"
+msgid_plural "%s days"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:55
+#, perl-format
+msgid "%s problem marked as fixed"
+msgid_plural "%s problems marked as fixed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:43
+#, perl-format
+msgid "%s problem reported"
+msgid_plural "%s problems reported"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:107
+#, perl-format
+msgid "%s report"
+msgid_plural "%s reports"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:49
+#, perl-format
+msgid "%s update on problems"
+msgid_plural "%s updates on problems"
+msgstr[0] ""
+msgstr[1] ""
#: templates/web/base/front/stats.html:19
#, perl-format
@@ -4755,12 +5090,12 @@ msgid_plural "<big>%s</big> updates on reports"
msgstr[0] "<big>%s</big> rapport-<br>oppdatering"
msgstr[1] "<big>%s</big> rapport-<br>oppdateringer"
-#: templates/web/base/report/_item.html:49
+#: templates/web/base/report/_item.html:51
#, perl-format
msgid "Reported %d day ago"
msgid_plural "Reported %d days ago"
-msgstr[0] "Rapportert for %d dag siden"
-msgstr[1] "Rapportert for %d dager siden"
+msgstr[0] ""
+msgstr[1] ""
#: templates/web/base/report/new/top_message_some.html:3
#, perl-format
@@ -4776,40 +5111,121 @@ msgid_plural "We do not yet have details for the councils that cover this locati
msgstr[0] "Vi har ennå ikke detaljer for administrasjonen som dekker dette stedet."
msgstr[1] "Vi har ennå ikke detaljer for administrasjonene som dekker dette stedet."
-#: templates/web/base/report/_item.html:59
+#: templates/web/base/report/_item.html:61
#, perl-format
msgid "last updated %d day ago"
msgid_plural "last updated %d days ago"
-msgstr[0] "sist oppdatert %d dag siden"
-msgstr[1] "sist oppdatert %d dager siden"
+msgstr[0] ""
+msgstr[1] ""
-#: templates/email/oxfordshire/archive.html:25
+#: templates/email/oxfordshire/archive.txt:9
#, perl-format
msgid "report"
msgid_plural "reports"
-msgstr[0] "rapport"
-msgstr[1] "rapporter"
+msgstr[0] ""
+msgstr[1] ""
+
+#~ msgid ""
+#~ "%s sends different categories of problem\n"
+#~ "to the appropriate council, so problems within the boundary of a particular council\n"
+#~ "might not match the problems sent to that council. For example, a graffiti report\n"
+#~ "will be sent to the district council, so will appear in both of the district\n"
+#~ "council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
+#~ "for the county council."
+#~ msgstr "%s sender forskjellige kategorier problemer til rett administrasjon, så problemer innenfor grensene til en gitt administrasjon vil ikke alltid samsvare med problemrapporter sendt til den administrasjonen. For eksempel, en grafitti-rapport vil bli sendt til kommunen, og vil dukke opp på kommunens varsler, men vil kun vises i \"innenfor grensen\" varselet for fylket."
+
+#~ msgid "%s ward, %s"
+#~ msgstr "%s bydel, %s"
+
+#~ msgid "%s, within %s ward"
+#~ msgstr "%s, innefor bydel %s"
+
+#~ msgid "(alternatively the RSS feed can be customised, within %s)"
+#~ msgstr "(alternativt kan RSS-strømmen tilpasses, innenfor %s)"
+
+#~ msgid "-- Pick a property type --"
+#~ msgstr "-- Velg en eiendomsstype --"
+
+#~ msgid "Closed reports"
+#~ msgstr "lukkede rapporter"
+
+#~ msgid "Closed:"
+#~ msgstr "Lukket:"
+
+#~ msgid "Duplicate"
+#~ msgstr "Duplikat"
-#~ msgid "Cancel"
-#~ msgstr "Avbryt"
+#~ msgid "Fixed reports"
+#~ msgstr "løste rapporter"
-#~ msgid "Reports from users with high enough reputation will be sent immediately without requiring inspection. Each category's threshold can be managed on its edit page. Users earn reputation when a report they have made is marked as inspected by inspectors."
-#~ msgstr "Rapporter fra brukere med høyt nok omdømme vil bli sendt direkte uten å måtte sjekkes. Hver kategori har en terskel som kan endres. Brukere tjener omdømme når en rapport de har laget er merket som sjekket av en inspektør."
+#~ msgid "Fixed:"
+#~ msgstr "Løst:"
-#~ msgid "Reputation:"
-#~ msgstr "Omdømme:"
+#~ msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
+#~ msgstr "Her er de forskjellige typene lokale problemvarsler for &lsquo;%s&rsquo;."
-#~ msgid "Some categories may require additional information."
-#~ msgstr "Noen kategorier krever kanskje mer informasjon"
+#~ msgid "In Progress"
+#~ msgstr "Under arbeid"
-#~ msgid "Unable to fix"
+#~ msgid "Internal referral"
+#~ msgstr "Interne referanser"
+
+#~ msgid "Investigating"
+#~ msgstr "Undersøkes"
+
+#~ msgid "No further action"
#~ msgstr "Kan ikke fikses"
-#~ msgid "Viewing a problem"
-#~ msgstr "Ser på et problem"
+#~ msgid "Not Responsible"
+#~ msgstr "Ikke ansvarlig"
+
+#~ msgid "Or problems reported to:"
+#~ msgstr "Eller problemer meldt til:"
+
+#~ msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
+#~ msgstr "Eller du kan abonnere på varsel basert på bydel eller administrasjon du hører inn under:"
+
+#~ msgid "Please choose a property type"
+#~ msgstr "Velg en type egenskap"
+
+#~ msgid "Problems within the boundary of:"
+#~ msgstr "Problemer innenfor grensene av:"
+
+#~ msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
+#~ msgstr "Velg hvilken type varsel du ønsker og klikk på knappen for en RSS-kilde, eller skriv inn din e-postadresse for å abonnere på et e-postvarsel."
+
+#~ msgid "The simplest alert is our geographic one:"
+#~ msgstr "Den enkleste meldingen er vår geografiske:"
+
+#~ msgid "closed as a duplicate report"
+#~ msgstr "markert som duplisert rapport"
-#~ msgid "marked as unable to fix"
+#~ msgid "marked as action scheduled"
+#~ msgstr "markert som planlagt"
+
+#~ msgid "marked as an internal referral"
+#~ msgstr "markert som en intern henvisning"
+
+#~ msgid "marked as closed"
+#~ msgstr "markert som lukket"
+
+#~ msgid "marked as fixed"
+#~ msgstr "markert som fikset"
+
+#~ msgid "marked as in progress"
+#~ msgstr "markert som under arbeid"
+
+#~ msgid "marked as investigating"
+#~ msgstr "markert som undersøkes"
+
+#~ msgid "marked as no further action"
#~ msgstr "markert som uløselig"
-#~ msgid "user is problem owner"
-#~ msgstr "bruker er eier av problemet"
+#~ msgid "marked as planned"
+#~ msgstr "markert som planlagt"
+
+#~ msgid "or"
+#~ msgstr "eller"
+
+#~ msgid "reopened"
+#~ msgstr "åpnet på nytt"
diff --git a/locale/nl_NL.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/nl_NL.UTF-8/LC_MESSAGES/FixMyStreet.po
index 6426d2076..a0af0b4be 100644
--- a/locale/nl_NL.UTF-8/LC_MESSAGES/FixMyStreet.po
+++ b/locale/nl_NL.UTF-8/LC_MESSAGES/FixMyStreet.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
-"POT-Creation-Date: 2017-03-30 17:33+0100\n"
+"POT-Creation-Date: 2017-09-13 15:40+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: Jos Helmich <jos@valaquanta.fi>, 2016\n"
+"Last-Translator: mySociety <transifex@mysociety.org>, 2017\n"
"Language-Team: Dutch (Netherlands) (https://www.transifex.com/mysociety/teams/12067/nl_NL/)\n"
"Language: nl_NL\n"
"MIME-Version: 1.0\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:695
+#: perllib/FixMyStreet/DB/Result/Problem.pm:632
#: perllib/FixMyStreet/Script/Reports.pm:197
msgid " and "
msgstr "en"
@@ -91,25 +91,6 @@ msgstr "%s vragenlijsten verzonden &ndash; %s beantwoord (%s%%)"
msgid "%s ref:&nbsp;%s"
msgstr "%s ref:&nbsp;%s"
-#. ("%s is the site name")
-#: templates/web/base/alert/_list.html:74
-msgid ""
-"%s sends different categories of problem\n"
-"to the appropriate council, so problems within the boundary of a particular council\n"
-"might not match the problems sent to that council. For example, a graffiti report\n"
-"will be sent to the district council, so will appear in both of the district\n"
-"council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
-"for the county council."
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:257 perllib/FixMyStreet/Cobrand/UK.pm:269
-msgid "%s ward, %s"
-msgstr "%s district, %s"
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
-msgid "%s, within %s ward"
-msgstr "%s, in %s district"
-
#: perllib/FixMyStreet/Map/OSM.pm:38
msgid "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"
msgstr "&Rechten; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> bijdragende partijen"
@@ -118,7 +99,7 @@ msgstr "&Rechten; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetM
msgid "(Defect &amp; location of defect)"
msgstr "(Defect &amp; en locatie van het defect)"
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
#: templates/web/base/admin/users.html:32
msgid "(Email in abuse table)"
msgstr "(Email in misbruiktabel)"
@@ -133,28 +114,36 @@ msgstr "(Niet opgegeven)"
msgid "(No phone number)"
msgstr "(Niet opgegeven)"
-#: templates/web/base/alert/_list.html:25
-msgid "(a default distance which covers roughly 200,000 people)"
-msgstr "(een stand afstand waarbinnen ongeveer 200.000 mensen leven)"
-
-#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
-#: templates/web/base/alert/_list.html:30
-msgid "(alternatively the RSS feed can be customised, within %s)"
-msgstr "(als alternatief kan de RSS feed worden aangepast binnen %s)"
+#: templates/web/base/admin/states/index.html:95
+msgid "(a-z and space only)"
+msgstr ""
#: templates/web/zurich/report/_item.html:19
msgid "(closed)"
msgstr "(gesloten)"
+#: templates/web/base/alert/_list.html:30
+#, fuzzy
+msgid "(covers roughly 200,000 people)"
+msgstr "(een stand afstand waarbinnen ongeveer 200.000 mensen leven)"
+
#: templates/web/zurich/report/_item.html:17
msgid "(fixed)"
msgstr "(opgelost)"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "(ignored if type is \"String\")"
+msgstr ""
+
#: templates/web/base/around/intro.html:2
msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
msgstr "(zoals graffiti, zwerfafval, losliggende tegels of straatverlichting) "
-#: templates/web/base/report/_item.html:68
+#: templates/web/base/reports/index.html:69
+msgid "(no longer exists)"
+msgstr ""
+
+#: templates/web/base/report/_item.html:70
msgid "(not sent to council)"
msgstr "(niet verstuurd naar de gemeente)"
@@ -162,20 +151,22 @@ msgstr "(niet verstuurd naar de gemeente)"
msgid "(optional)"
msgstr "(optioneel)"
-#: templates/web/base/report/_item.html:67
+#: templates/web/base/report/_item.html:69
msgid "(sent to both)"
msgstr "(verstuurd naar beide)"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:239
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/DB/Result/Problem.pm:454
+#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
+#: templates/web/base/alert/_list.html:36
+#, fuzzy
+msgid "(we also have RSS feeds for problems within %s)"
+msgstr "RSS feed van problemen binnen %s"
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:245
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:381
msgid "-- Pick a category --"
msgstr "-- Kies een categorie --"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:460
-msgid "-- Pick a property type --"
-msgstr "-- Kies een woning type --"
-
#: templates/web/base/admin/response_templates_select.html:3
msgid "--Choose a template--"
msgstr "--Kies een website indeling--"
@@ -184,16 +175,16 @@ msgstr "--Kies een website indeling--"
msgid "10 inch pothole on Example St, near post box"
msgstr "Een 25 cm diep gat op voorbeeldstraat bij de brievenbus"
-#: templates/web/base/dashboard/index.html:152
+#: templates/web/base/dashboard/index.html:153
msgid "14-30 days old"
msgstr ""
-#: templates/web/base/dashboard/index.html:151
+#: templates/web/base/dashboard/index.html:152
msgid "7-14 days old"
msgstr ""
-#: templates/web/base/admin/body-form.html:48
-#: templates/web/base/admin/body-form.html:49
+#: templates/web/base/admin/body-form.html:50
+#: templates/web/base/admin/body-form.html:51
msgid ""
"<code>MAPIT_URL</code> is set (<code>%s</code>) but no <code>MAPIT_TYPES</code>.<br>\n"
" This is probably why \"area covered\" is empty (below).<br>\n"
@@ -207,13 +198,12 @@ msgstr ""
msgid "<h2>Reports, Statistics and Actions for</h2> <h1>%s</h1>"
msgstr ""
-#. ('The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories')
#. ("The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories")
-#: templates/web/base/reports/_list-filters.html:37
-msgid "<label for=\"statuses\">Show</label> %s <label for=\"filter_categories\">about</label> %s"
+#: templates/web/base/reports/_list-filters.html:48
+msgid "<label for=\"statuses\">Show</label> %s reports <label for=\"filter_categories\">about</label> %s"
msgstr ""
-#: templates/web/base/js/translation_strings.html:71
+#: templates/web/base/js/translation_strings.html:74
msgid "<span>%s</span> saved."
msgstr ""
@@ -230,34 +220,25 @@ msgstr "<strong>Nee</strong> Laat me mijn melding per e-mail bevestigen"
msgid "<strong>No</strong> Let me confirm my update by email"
msgstr "<strong>Nee</strong> Laat me mijn update per e-mail bevestigen"
-#: templates/web/base/auth/general.html:104
+#: templates/web/base/auth/general.html:106
#: templates/web/zurich/auth/general.html:51
msgid "<strong>No</strong> let me sign in by email"
msgstr "<strong>Nee</strong> Laat me inloggen per e-mail"
-#: templates/web/base/report/_inspect.html:160
+#: templates/web/base/report/_inspect.html:170
msgid "<strong>Note:</strong> This report has been sent onwards for action. Any changes made won't be passed on."
msgstr "<strong>N.B:</strong> Deze rapportage is verzonden opdat actie wordt ondernomen. Veranderingen worden daarom niet meer meegenomen."
-#: templates/web/base/report/_inspect.html:162
+#: templates/web/base/report/_inspect.html:172
msgid "<strong>Note:</strong> This report hasn't yet been sent onwards for action. Any changes made may not be passed on."
msgstr "<strong>N.B:</strong>Deze rapportage is nog niet verzonden om actie te ondernemen. Veranderingen worden mogelijk niet doorgegeven."
-#: templates/web/base/auth/general.html:80
+#: templates/web/base/auth/general.html:82
#: templates/web/base/report/new/form_user_loggedout_password.html:3
#: templates/web/base/report/update/form_user_loggedout_password.html:2
msgid "<strong>Yes</strong> I have a password"
msgstr "<strong>Ja</strong, ik heb een wachtwoord"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:10
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:6
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Action Scheduled"
-msgstr "Actie ingepland"
-
#: templates/web/base/admin/body-form.html:3
#: templates/web/base/admin/body-form.html:4
msgid ""
@@ -273,19 +254,36 @@ msgid "Add a contact using the form below."
msgstr "Voeg een contactpersoon toe"
#: templates/web/base/admin/bodies.html:78
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Add body"
msgstr "Voeg openbaar lichaam toe"
+#: templates/web/base/admin/reportextrafields/index.html:24
+msgid "Add extra fields"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:79
+msgid "Add field"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:85
+msgid "Add fixed state"
+msgstr ""
+
#: templates/web/base/admin/body.html:126
#: templates/web/zurich/admin/body.html:31
msgid "Add new category"
msgstr "Voeg een nieuwe categorie toe"
+#: templates/web/base/admin/extra-metadata-form.html:72
+#, fuzzy
+msgid "Add option"
+msgstr "(optioneel)"
+
#: templates/web/base/report/_item.html:10
-#: templates/web/base/report/_item.html:14
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_item.html:16
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:19
#: templates/web/base/report/_main.html:30
msgid "Add to shortlist"
@@ -297,15 +295,15 @@ msgstr "Voeg aan favorieten toe"
msgid "Add user"
msgstr "Gebruiker toevoegen"
-#: perllib/FixMyStreet/Cobrand/Default.pm:730
+#: perllib/FixMyStreet/Cobrand/Default.pm:735
msgid "Add/edit problem categories"
msgstr "Voeg toe/wijzig categoriën"
-#: perllib/FixMyStreet/Cobrand/Default.pm:732
+#: perllib/FixMyStreet/Cobrand/Default.pm:737
msgid "Add/edit response priorities"
msgstr "Voeg toe/wijzig beantwoordingsprioriteiten"
-#: perllib/FixMyStreet/Cobrand/Default.pm:731
+#: perllib/FixMyStreet/Cobrand/Default.pm:736
msgid "Add/edit response templates"
msgstr "Voeg toe/wijzig antwoordstramien"
@@ -313,7 +311,7 @@ msgstr "Voeg toe/wijzig antwoordstramien"
msgid "Added %s"
msgstr "%s toegevoegd"
-#: templates/web/base/report/_main.html:145
+#: templates/web/base/report/_main.html:149
msgid "Adding this report to your shortlist will remove it from %s’s shortlist."
msgstr "Als dit rapport aan jouw favorieten toevoegd wordt het verwijderd van %s zijn favorieten."
@@ -333,17 +331,17 @@ msgstr "Melding %d gemaakt voor %s, type %s, parameters %s / %s"
msgid "Alert %d disabled (created %s)"
msgstr "Melding %d inactief gemaakt (gemaakt %s)"
-#: templates/web/base/report/update/form_name.html:38
+#: templates/web/base/report/update/form_name.html:42
msgid "Alert me to future updates"
msgstr "Meld het me als er updates zijn"
#: templates/web/base/dashboard/index.html:138
#: templates/web/base/dashboard/index.html:21
#: templates/web/base/dashboard/index.html:30
+#: templates/web/base/reports/_list-filters.html:3
msgid "All"
msgstr ""
-#: templates/web/base/reports/index.html:6
#: templates/web/zurich/reports/index.html:13
msgid "All Reports"
msgstr "Alle meldingen"
@@ -353,15 +351,23 @@ msgid "All Reports as CSV"
msgstr "Alle rapporten als CSV"
#: templates/web/base/admin/category-multiselect.html:5
-#: templates/web/base/admin/responsepriorities/list.html:19
+#: templates/web/base/admin/responsepriorities/list.html:20
msgid "All categories"
msgstr "Alle categoriën"
+#: templates/web/base/admin/reportextrafields/edit.html:26
+#, fuzzy
+msgid "All cobrands"
+msgstr "Cobrand"
+
+#: templates/web/base/admin/reportextrafields/edit.html:47
+msgid "All languages"
+msgstr ""
+
#: templates/web/base/main_nav_items.html:0
#: templates/web/base/main_nav_items.html:27
-#: templates/web/base/reports/_list-filters.html:3
#: templates/web/zurich/admin/index-dm.html:12
-#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:21
+#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:20
#: templates/web/zurich/nav_over_content.html:6
msgid "All reports"
msgstr "Alle meldingen"
@@ -371,6 +377,14 @@ msgstr "Alle meldingen"
msgid "All reports between %s and %s"
msgstr "Alle rapporten tussen %s en %s"
+#: templates/web/base/reports/index.html:23
+msgid "All time"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:20
+msgid "Alternatively, we can hide your name on <strong>all of your reports and updates</strong> across the site:"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:47
msgid "An update marked this problem as fixed."
msgstr "Een update heeft dit probleem als opgelost gemarkeerd."
@@ -380,31 +394,33 @@ msgstr "Een update heeft dit probleem als opgelost gemarkeerd."
msgid "Anonymous"
msgstr "Anoniem"
-#: templates/web/base/admin/report_edit.html:134
+#: templates/web/base/report/new/form_user_loggedin.html:21
+#: templates/web/base/report/update/form_name.html:17
+#, fuzzy
+msgid "Anonymous user"
+msgstr "Anoniem"
+
+#: templates/web/base/admin/report_edit.html:122
#: templates/web/base/admin/update_edit.html:23
msgid "Anonymous:"
msgstr "Anoniem:"
-#: templates/web/base/report/new/form_user_loggedin.html:20
-#: templates/web/base/report/update/form_name.html:13
+#: templates/web/base/report/new/form_user_loggedin.html:24
+#: templates/web/base/report/update/form_name.html:14
msgid "Another user"
msgstr "Andere gebruiker"
-#: templates/web/base/front/footer-marketing.html:16
-msgid "Are you a developer?"
-msgstr "Ben je een ontwikkelaar?"
-
-#: templates/web/base/js/translation_strings.html:56
+#: templates/web/base/js/translation_strings.html:59
msgid "Are you sure you want to cancel this upload?"
msgstr "Weet je zeker dat je de bestandsoverdracht wil afbreken?"
#: templates/web/base/admin/report_edit.html:84
-#: templates/web/base/js/translation_strings.html:66
+#: templates/web/base/js/translation_strings.html:69
#: templates/web/base/report/display_tools.html:6
msgid "Are you sure?"
msgstr "Weet je het zeker?"
-#: templates/web/base/admin/body-form.html:75
+#: templates/web/base/admin/body-form.html:77
#: templates/web/base/admin/body.html:20
#: templates/web/zurich/admin/body-form.html:24
msgid "Area covered"
@@ -436,11 +452,11 @@ msgstr "Toegewezen aan:"
msgid "Assign to subdivision:"
msgstr "Toegewezen aan afdeling:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:727
+#: perllib/FixMyStreet/Cobrand/Default.pm:732
msgid "Assign users to areas"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:214
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:219
msgid "Assigned to %s"
msgstr "Toegewezen aan %s"
@@ -461,11 +477,14 @@ msgstr ""
msgid "Auto-response:"
msgstr "Automatisch antwoord:"
-#: templates/web/base/admin/report_edit.html:127
-#: templates/web/base/report/_inspect.html:47
+#: templates/web/base/admin/report-category.html:8
msgid "Available categories"
msgstr "Beschikbare categoriën"
+#: templates/web/base/reports/index.html:84
+msgid "Average time between a problem being reported and being fixed, last 100 reports."
+msgstr ""
+
#: templates/web/base/dashboard/index.html:109
msgid "Average time to council marking fixed (days)"
msgstr ""
@@ -478,7 +497,7 @@ msgstr ""
msgid "Avoid personal information and vehicle number plates"
msgstr "Zet hier geen persoonlijke informatie of nummerborden van autos neer"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:417
+#: perllib/FixMyStreet/DB/Result/Problem.pm:344
#: templates/web/zurich/report/_item.html:9
msgid "Awaiting moderation"
msgstr "Wacht op controle"
@@ -491,13 +510,13 @@ msgstr "Vorige"
msgid "Back to all reports"
msgstr "Terug naar alle rapportages"
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
msgid "Ban email address"
msgstr "Verban e-mailadres"
#: perllib/FixMyStreet/Cobrand/Default.pm:650
-#: perllib/FixMyStreet/Cobrand/Default.pm:729
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
+#: perllib/FixMyStreet/Cobrand/Default.pm:734
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:396
#: templates/web/base/admin/bodies.html:1
#: templates/web/base/admin/report_edit.html:55
#: templates/web/zurich/header.html:56
@@ -519,7 +538,11 @@ msgstr "Openbaar lichaam:"
msgid "By Date"
msgstr "Op datum"
-#: templates/web/base/auth/token.html:21 templates/web/base/email_sent.html:18
+#: templates/web/base/admin/extra-metadata-form.html:36
+msgid "Can be used to display extra text to the user alongside the field. The default template does not show this (<code>meta.datatype_description</code>), you must add it in <code>category_extras_fields.html</code>"
+msgstr ""
+
+#: templates/web/base/auth/token.html:27 templates/web/base/email_sent.html:20
msgid "Can&rsquo;t find our email? Check your spam folder&nbsp;&ndash; that&rsquo;s the solution 99% of the time."
msgstr "Kun je onze email niet vinden? Check je spamfolder. Dat is oplossing in 99% van de gevallen."
@@ -540,8 +563,8 @@ msgstr "Categoriën:"
#: templates/web/base/admin/body.html:72
#: templates/web/base/admin/contact-form.html:19
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/report/_inspect.html:38
-#: templates/web/base/report/_item.html:90
+#: templates/web/base/report/_inspect.html:48
+#: templates/web/base/report/_item.html:92
#: templates/web/base/report/new/category.html:6
#: templates/web/base/report/new/category_wrapper.html:3
#: templates/web/zurich/admin/body.html:14
@@ -552,7 +575,7 @@ msgstr "Categoriën:"
msgid "Category"
msgstr "Categorie"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:852
+#: perllib/FixMyStreet/App/Controller/Admin.pm:956
msgid "Category changed from ‘%s’ to ‘%s’"
msgstr "Categorie veranderd van '%s' in '%s'"
@@ -592,27 +615,11 @@ msgstr "Verander emailadres"
msgid "Change password"
msgstr "Verander Wachtwoord"
-#: templates/web/base/admin/contact-form.html:41
-msgid ""
-"Check <strong>confirmed</strong> to indicate that this contact has been confirmed as correct.\n"
-" If you are not sure of the origin or validity of the contact, leave this unchecked."
-msgstr ""
-"Vink <strong>Bevestigd</strong> aan om aan te geven dat dit aanspreekpunt klopt\n"
-"Als je geen absolute zekerheid hebt over de bron of de deugdelijkheid van dit aanspreekpunt laat het vinkje weg."
-
-#: templates/web/base/admin/contact-form.html:52
-msgid ""
-"Check <strong>deleted</strong> to remove the category from use. \n"
-" It will not appear as an available category in the drop-down menu on the report-a-problem page."
-msgstr ""
-"Vink <strong>verwijderen</strong> aan om een categorie buiten gebruik te stellen.\n"
-"Deze categorie zal niet meer als beschikbaar categorie worden weergeven bij het selectie-menu van de rapporteer pagina."
-
-#: templates/web/base/admin/contact-form.html:79
+#: templates/web/base/admin/contact-form.html:80
msgid "Check <strong>inspection required</strong> if reports in this category <strong>must be inspected</strong> before being sent."
msgstr ""
-#: templates/web/base/admin/contact-form.html:63
+#: templates/web/base/admin/contact-form.html:64
msgid ""
"Check <strong>private</strong> if reports in this category should <strong>never be displayed on the website</strong>.\n"
" <br>\n"
@@ -629,11 +636,11 @@ msgid ""
" to the body too. These will appear in the drop-down menu on the report-a-problem page."
msgstr ""
-#: templates/web/base/report/_inspect.html:93
+#: templates/web/base/report/_inspect.html:103
msgid "Choose another"
msgstr ""
-#: templates/web/base/js/translation_strings.html:65
+#: templates/web/base/js/translation_strings.html:68
msgid "Clear offline data"
msgstr ""
@@ -658,21 +665,22 @@ msgstr ""
msgid "Click the link in our confirmation email to publish your update."
msgstr "Klik op de link in onze bevestigingsemail om je wijzigingen te publiceren."
-#: templates/web/base/auth/token.html:18
+#: templates/web/base/auth/token.html:23
msgid "Click the link in our confirmation email to sign in."
msgstr "Klik op de link in onze bevestigingsemail om in te loggen."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:189
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:960
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:17
-#: templates/web/base/admin/report_blocks.html:27
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:43
-#: templates/web/base/report/banner.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:18
+#: templates/web/base/auth/token.html:20
+#, fuzzy
+msgid "Click the link in that email to sign in."
+msgstr "Klik op de link in onze bevestigingsemail om in te loggen."
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:134
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:194
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:965
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:11
+#: templates/web/base/admin/states/index.html:103
+#: templates/web/base/admin/states/index.html:27
+#: templates/web/base/admin/states/index.html:33
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:10
#: templates/web/zurich/admin/header.html:16
@@ -680,23 +688,17 @@ msgstr "Klik op de link in onze bevestigingsemail om in te loggen."
msgid "Closed"
msgstr "Gesloten"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:889
+#: perllib/FixMyStreet/DB/Result/Problem.pm:826
msgid "Closed by council"
msgstr "Gesloten door gemeente"
-#: templates/web/base/reports/_list-filters.html:13
-msgid "Closed reports"
-msgstr "Gesloten meldingen"
-
-#: templates/web/base/admin/problem_row.html:38
-msgid "Closed:"
-msgstr "Gesloten:"
-
#: templates/web/base/admin/report_edit.html:37
msgid "Co-ordinates:"
msgstr "Co&ouml;rdinaten:"
#: templates/web/base/admin/list_updates.html:10
+#: templates/web/base/admin/reportextrafields/edit.html:24
+#: templates/web/base/admin/reportextrafields/index.html:7
msgid "Cobrand"
msgstr "Cobrand"
@@ -710,10 +712,13 @@ msgstr "Cobrand data:"
msgid "Cobrand:"
msgstr "Cobrand:"
+#: templates/web/base/admin/extra-metadata-form.html:14
+msgid "Code"
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:50
-#, fuzzy
msgid "Collapse map"
-msgstr "Gebruikte kaart"
+msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:646
#: templates/web/base/admin/config_page.html:1
@@ -741,9 +746,8 @@ msgstr ""
msgid "Confirmation"
msgstr "Bevestiging"
-#: templates/web/base/admin/body.html:85
-#: templates/web/base/admin/category_edit.html:54
-#: templates/web/base/admin/contact-form.html:47
+#: templates/web/base/admin/contact-form.html:56
+#: templates/web/zurich/admin/contact-form.html:12
#: templates/web/zurich/admin/stats.html:40
msgid "Confirmed"
msgstr "Bevestigd"
@@ -778,8 +782,8 @@ msgstr "Neem contact op met het team"
msgid "Coordinates:"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1668
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1696
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1773
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1801
msgid "Could not find user"
msgstr "Kan de gebruiker niet vinden"
@@ -799,33 +803,28 @@ msgstr "Gemeente contactpersongen voor %s"
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:83
-#, fuzzy
msgid "Council has marked as closed"
-msgstr "gemarkeerd als gesloten"
+msgstr ""
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:57
-#, fuzzy
msgid "Council has marked as fixed"
-msgstr "gemarkeerd als opgelost"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:80
-#, fuzzy
msgid "Council has marked as in progress"
-msgstr "gemarkeerd als in behandeling"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:82
-#, fuzzy
msgid "Council has marked as investigating"
-msgstr "gemarkeerd als in onderzoek"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:81
-#, fuzzy
msgid "Council has marked as planned"
-msgstr "gemarkeerd als gepland"
+msgstr ""
#: templates/web/base/report/_council_sent_info.html:6
msgid "Council ref:&nbsp;%s"
@@ -842,24 +841,33 @@ msgstr "Gemeente:"
msgid "Count"
msgstr "Aantal"
+#: templates/web/base/admin/states/index.html:114
+#, fuzzy
+msgid "Create"
+msgstr "Aangemaakt"
+
#: templates/web/base/email_sent.html:1
msgid "Create a report"
msgstr "Maak een melding"
-#: templates/web/base/admin/contact-form.html:137
+#: templates/web/base/admin/contact-form.html:138
#: templates/web/zurich/admin/body.html:62
msgid "Create category"
msgstr "Maak een categorie"
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/responsepriorities/edit.html:58
msgid "Create priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:714
+#: perllib/FixMyStreet/Cobrand/Default.pm:718
+msgid "Create reports/updates as anonymous user"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:719
msgid "Create reports/updates as the council"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:713
+#: perllib/FixMyStreet/Cobrand/Default.pm:717
msgid "Create reports/updates on a user's behalf"
msgstr ""
@@ -889,13 +897,15 @@ msgstr "Huidige status"
msgid "Currently no bodies have been created."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:825
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:830
#: templates/web/zurich/admin/report_edit-sdm.html:105
msgid "Customer not contactable"
msgstr "Klant kan niet bereikt worden"
#: templates/web/base/dashboard/index.html:5
#: templates/web/base/dashboard/index.html:7
+#: templates/web/base/reports/index.html:15
+#: templates/web/base/reports/index.html:18
msgid "Dashboard"
msgstr "Dashboard"
@@ -903,29 +913,36 @@ msgstr "Dashboard"
msgid "Dealt with by subdivision within 5 working days"
msgstr "Door een afdeling behandeld binnen 5 werkdagen"
-#: templates/web/base/report/_inspect.html:73
+#: templates/web/base/admin/responsepriorities/list.html:9
+msgid "Default"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:39
+msgid "Default priority"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:72
msgid "Defect type"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:973
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1078
#: templates/web/base/admin/template_edit.html:50
#: templates/web/zurich/admin/template_edit.html:33
msgid "Delete template"
msgstr "Verwijder sjabloon"
#: templates/web/base/admin/bodies.html:31
-#: templates/web/base/admin/body.html:87
-#: templates/web/base/admin/category_edit.html:55
#: templates/web/base/admin/contact-form.html:58
-#: templates/web/zurich/admin/contact-form.html:12
+#: templates/web/zurich/admin/contact-form.html:13
msgid "Deleted"
msgstr "Verwijderd"
-#: templates/web/base/report/_main.html:110
-#: templates/web/base/report/update.html:59
+#: templates/web/base/report/_main.html:114
+#: templates/web/base/report/update.html:68
msgid "Describe why you are moderating this"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:32
#: templates/web/base/admin/responsepriorities/list.html:7
#: templates/web/zurich/admin/index-dm.html:22
#: templates/web/zurich/admin/index-sdm.html:20
@@ -949,7 +966,7 @@ msgstr "Details"
msgid "Details:"
msgstr "Details:"
-#: templates/web/base/admin/body.html:93
+#: templates/web/base/admin/body.html:92
msgid "Devolved"
msgstr "Overgedragen"
@@ -962,18 +979,17 @@ msgstr "Kaart niet gebruikt"
msgid "Diligency prize league table"
msgstr "Toewijdingsranglijst"
-#: templates/web/base/report/_main.html:114
-#: templates/web/base/report/update.html:61
-#, fuzzy
+#: templates/web/base/report/_main.html:118
+#: templates/web/base/report/update.html:70
msgid "Discard changes"
-msgstr "Wijzigingen opslaan"
+msgstr ""
#: templates/web/base/admin/open311-form-fields.html:95
msgid "Do not send email alerts on fetched comments to problem creator"
msgstr "Zend bij eventueel commentaar geen email waarschuwingen naar degene die probleem aanmaakte"
#. ("%s is the site name")
-#: templates/web/base/auth/general.html:58
+#: templates/web/base/auth/general.html:60
#: templates/web/base/report/new/form_user_loggedout.html:25
#: templates/web/base/report/new/oauth_email_form.html:18
#: templates/web/base/report/update-form.html:30
@@ -981,40 +997,33 @@ msgstr "Zend bij eventueel commentaar geen email waarschuwingen naar degene die
msgid "Do you have a %s password?"
msgstr "Heb je een %s wachtwoord?"
+#: templates/web/base/report/_inspect.html:87
+msgid "Do you want to automatically raise a defect?"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:57
msgid "Don&rsquo;t know"
msgstr "Geen idee"
-#: templates/web/base/contact/index.html:108
+#: templates/web/base/contact/index.html:112
msgid "Don't like forms?"
msgstr "Hou je niet van formulieren?"
-#: templates/web/base/report/_item.html:25
+#: templates/web/base/report/_item.html:27
msgid "Down one"
msgstr ""
-#: templates/web/base/js/translation_strings.html:55
+#: templates/web/base/js/translation_strings.html:58
msgid "Drag and drop photos here or <u>click to upload</u>"
msgstr "Plaats de fotos hier om ze te <u>verzenden</u>"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:10
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "Duplicate"
-msgstr "Dubbeling"
-
-#: templates/web/base/report/_inspect.html:88
-#, fuzzy
+#: templates/web/base/report/_inspect.html:98
msgid "Duplicate of"
-msgstr "Dubbeling"
+msgstr ""
-#: templates/web/base/report/_inspect.html:98
-#, fuzzy
+#: templates/web/base/report/_inspect.html:108
msgid "Duplicates"
-msgstr "Dubbeling"
+msgstr ""
#: templates/web/base/admin/body.html:116
msgid ""
@@ -1024,43 +1033,43 @@ msgid ""
" "
msgstr ""
-#: templates/web/base/report/_inspect.html:16
-#: templates/web/base/report/_item.html:81
+#: templates/web/base/report/_inspect.html:26
+#: templates/web/base/report/_item.html:83
msgid "Easting/Northing:"
msgstr "Oostwaarde/Noordwaarde"
#: templates/web/base/admin/list_updates.html:42
#: templates/web/base/admin/problem_row.html:41
-#: templates/web/base/admin/responsepriorities/list.html:26
+#: templates/web/base/admin/responsepriorities/list.html:28
#: templates/web/base/admin/templates.html:22
#: templates/web/base/admin/users.html:34
#: templates/web/zurich/admin/problem_row.html:48
msgid "Edit"
msgstr "Bewerk"
-#: templates/web/base/admin/body.html:140
+#: templates/web/base/admin/body.html:141
#: templates/web/base/admin/index.html:39
#: templates/web/zurich/admin/body.html:69
msgid "Edit body details"
msgstr "Wijzig openbaar lichaam details"
-#: perllib/FixMyStreet/Cobrand/Default.pm:724
+#: perllib/FixMyStreet/Cobrand/Default.pm:729
msgid "Edit other users' details"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:725
+#: perllib/FixMyStreet/Cobrand/Default.pm:730
msgid "Edit other users' permissions"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:708
+#: perllib/FixMyStreet/Cobrand/Default.pm:712
msgid "Edit report category"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:709
+#: perllib/FixMyStreet/Cobrand/Default.pm:713
msgid "Edit report priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:707
+#: perllib/FixMyStreet/Cobrand/Default.pm:711
msgid "Edit reports"
msgstr ""
@@ -1083,15 +1092,15 @@ msgstr "Bewerk update %d"
msgid "Editing user %d"
msgstr "Bewerk gebruiker %d"
-#: templates/web/base/admin/category_edit.html:56
+#: templates/web/base/admin/category_edit.html:30
msgid "Editor"
msgstr "Redacteur"
#: templates/web/base/admin/bodies.html:27
-#: templates/web/base/admin/category_edit.html:53
+#: templates/web/base/admin/category_edit.html:28
#: templates/web/base/admin/flagged.html:38
#: templates/web/base/admin/users.html:17
-#: templates/web/base/auth/general.html:49
+#: templates/web/base/auth/general.html:51
#: templates/web/zurich/admin/body-form.html:9
#: templates/web/zurich/admin/body.html:15
#: templates/web/zurich/auth/general.html:24
@@ -1099,13 +1108,14 @@ msgstr "Redacteur"
msgid "Email"
msgstr "Email"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1644
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1749
msgid "Email added to abuse list"
msgstr "Email toegevoegd aan zwarte lijst"
-#: templates/web/base/admin/contact-form.html:36
-#: templates/web/base/report/new/form_user_loggedin.html:28
-#: templates/web/base/report/update/form_name.html:19
+#: templates/web/base/admin/contact-form.html:38
+#: templates/web/base/alert/_list.html:74
+#: templates/web/base/report/new/form_user_loggedin.html:32
+#: templates/web/base/report/update/form_name.html:23
msgid "Email address"
msgstr ""
@@ -1117,11 +1127,11 @@ msgstr ""
msgid "Email alert deleted"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1641
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1746
msgid "Email already in abuse list"
msgstr "Email staat al op zwarte lijst"
-#: templates/web/base/admin/report_edit.html:141
+#: templates/web/base/admin/report_edit.html:129
#: templates/web/base/admin/update_edit.html:35
#: templates/web/base/admin/user-form.html:19
#: templates/web/zurich/admin/body.html:48
@@ -1142,8 +1152,8 @@ msgid ""
" <a href='https://www.mysociety.org/2013/02/20/open311-extended/' class='admin-offsite-link'>this article</a>."
msgstr ""
-#: templates/web/base/admin/body-form.html:120
-#: templates/web/base/admin/body-form.html:121
+#: templates/web/base/admin/body-form.html:122
+#: templates/web/base/admin/body-form.html:123
msgid ""
"Enable this <strong>can be devolved</strong> setting if one or more contacts have a \n"
" different endpoint (and send method) from the body's. For example, if reports for some categories of\n"
@@ -1158,11 +1168,11 @@ msgstr ""
msgid "Endpoint"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:76
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:81
msgid "Enter a Z&uuml;rich street name"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:15
+#: perllib/FixMyStreet/Cobrand/UK.pm:16
msgid "Enter a nearby UK postcode, or street name and area"
msgstr "Vul een dichtstbijzijnde UK postcode, of straatnaam en plaats in"
@@ -1171,12 +1181,13 @@ msgstr "Vul een dichtstbijzijnde UK postcode, of straatnaam en plaats in"
msgid "Enter a nearby postcode, or street name and area"
msgstr "Geef dichtstbijzijnde postcode, of straatnaam en plaats"
+#: perllib/FixMyStreet/Cobrand/DansMonQwat.pm:14
#: templates/web/base/around/postcode_form.html:5
#: templates/web/base/around/postcode_form.html:6
msgid "Enter a nearby street name and area"
msgstr "Geef dichtstbijzijnde straatnaam en plaats"
-#: templates/web/base/auth/general.html:116
+#: templates/web/base/auth/general.html:118
#: templates/web/base/report/new/form_user_loggedout_by_email.html:35
#: templates/web/base/report/update/form_user_loggedout_by_email.html:13
#: templates/web/zurich/auth/general.html:65
@@ -1196,8 +1207,8 @@ msgstr "Geef details van het probleem"
msgid "Error"
msgstr "Foutmelding"
-#: templates/web/base/reports/_list-filters.html:20
-#: templates/web/base/reports/_list-filters.html:28
+#: templates/web/base/reports/_list-filters.html:31
+#: templates/web/base/reports/_list-filters.html:39
msgid "Everything"
msgstr ""
@@ -1210,8 +1221,7 @@ msgstr "Voorbeeld van postcode %s"
msgid "Examples:"
msgstr "Voorbeelden:"
-#: templates/web/base/admin/report_edit.html:122
-#: templates/web/base/report/_inspect.html:42
+#: templates/web/base/admin/report-category.html:3
msgid "Existing category"
msgstr ""
@@ -1219,17 +1229,16 @@ msgstr ""
msgid "Expand map"
msgstr ""
-#: templates/web/base/report/new/form_report.html:52
+#: templates/web/base/report/new/form_report.html:54
msgid "Explain what’s wrong"
msgstr ""
-#: templates/web/base/dashboard/index.html:146
-#, fuzzy
+#: templates/web/base/dashboard/index.html:147
msgid "Export as CSV"
-msgstr "Alle rapporten als CSV"
+msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:913
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:179
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:12
msgid "Extern"
@@ -1240,7 +1249,7 @@ msgstr ""
msgid "External ID"
msgstr ""
-#: templates/web/base/admin/body-form.html:87
+#: templates/web/base/admin/body-form.html:89
msgid "External URL"
msgstr ""
@@ -1252,13 +1261,20 @@ msgstr ""
msgid "External team"
msgstr ""
-#: templates/web/base/admin/category_edit.html:25
+#: perllib/FixMyStreet/Cobrand/Default.pm:673
+#: templates/web/base/admin/reportextrafields/edit.html:1
+#: templates/web/base/admin/reportextrafields/index.html:1
+#, fuzzy
+msgid "Extra Fields"
+msgstr "Extra info:"
+
+#: templates/web/base/admin/contact-form.html:141
#: templates/web/base/admin/report_edit.html:94
msgid "Extra data:"
msgstr "Extra info:"
-#: templates/web/base/report/_inspect.html:134
-#: templates/web/base/report/_item.html:106
+#: templates/web/base/report/_inspect.html:144
+#: templates/web/base/report/_item.html:108
msgid "Extra details"
msgstr ""
@@ -1266,6 +1282,11 @@ msgstr ""
msgid "Failed to send message"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:58
+#: templates/web/base/admin/reportextrafields/index.html:9
+msgid "Fields"
+msgstr ""
+
#: templates/web/zurich/admin/index-dm.html:33
#: templates/web/zurich/admin/index-sdm.html:30
msgid "Filter report list"
@@ -1279,52 +1300,32 @@ msgstr "Eerste keer"
msgid "Fix this by choosing an <strong>area covered</strong> in the <em>Edit body details</em> form below."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:11
-#: templates/web/base/admin/report_blocks.html:26
+#: perllib/FixMyStreet/App/Controller/Admin/States.pm:35
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:133
+#: templates/web/base/admin/states/index.html:29
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:41
-#: templates/web/base/report/banner.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:17
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:45
msgid "Fixed"
msgstr "Opgelost"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:13
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:7
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:62
msgid "Fixed - Council"
msgstr "Opgelost - Gemeente"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:12
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:63
msgid "Fixed - User"
msgstr "Opgelost - Gebruiker"
-#: templates/web/base/reports/_list-filters.html:14
-msgid "Fixed reports"
-msgstr ""
-
-#: templates/web/base/admin/problem_row.html:37
-msgid "Fixed:"
-msgstr "Opgelost:"
-
-#: templates/web/base/admin/body-form.html:95
-#: templates/web/base/admin/responsepriorities/edit.html:41
+#: templates/web/base/admin/body-form.html:97
+#: templates/web/base/admin/responsepriorities/edit.html:53
#: templates/web/zurich/admin/body-form.html:36
msgid "Flag as deleted"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/report_blocks.html:23
msgid "Flag user"
msgstr "Gemarkeerde gebruikr"
-#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: perllib/FixMyStreet/Cobrand/Default.pm:644
#: templates/web/base/admin/users.html:20
msgid "Flagged"
msgstr "Gemarkeerd"
@@ -1341,7 +1342,7 @@ msgstr ""
msgid "Flagged users are not restricted in any way. This is just a list of users that have been marked for attention."
msgstr ""
-#: templates/web/base/admin/report_edit.html:147
+#: templates/web/base/admin/report_edit.html:135
#: templates/web/base/admin/user-form.html:100
msgid "Flagged:"
msgstr "Gemarkeerd:"
@@ -1354,21 +1355,25 @@ msgstr "Klik op de link voor een wijk om alleen problemen in die wijk te bekijke
msgid "For best results include a close-up and a wide shot"
msgstr ""
-#: templates/web/base/admin/body-form.html:71
+#: templates/web/base/admin/extra-metadata-form.html:52
+msgid "For each option, <strong>Key</strong> is the value which is stored in the database for that option and <strong>Name</strong> is the value displayed to the user."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:73
msgid "For more information, see <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
msgstr ""
-#: templates/web/base/auth/general.html:95
+#: templates/web/base/auth/general.html:97
#: templates/web/base/report/new/form_user_loggedout_password.html:20
#: templates/web/base/report/update/form_user_loggedout_password.html:19
msgid "Forgotten your password?"
msgstr "Wachtwoord vergeten?"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:743
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:748
msgid "Forwarded to external body"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:744
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:749
msgid "Forwarded wish to external body"
msgstr ""
@@ -1378,6 +1383,10 @@ msgstr ""
msgid "Frequently Asked Questions"
msgstr "Veelgestelde Vragen"
+#: templates/web/base/admin/stats.html:102
+msgid "Get Count"
+msgstr ""
+
#: templates/web/base/around/_updates.html:3
#: templates/web/base/report/display_tools.html:14
msgid "Get updates"
@@ -1393,10 +1402,14 @@ msgstr "Updates over %s problemen ontvangen"
msgid "Get updates of problems in this %s"
msgstr "Updates in deze %s ontvangen"
-#: templates/web/base/alert/_list.html:83
+#: templates/web/base/alert/_list.html:85
msgid "Give me an RSS feed"
msgstr "Geef me een RSS feed"
+#: templates/web/base/admin/reportextrafields/edit.html:6
+msgid "Give this collection of fields a name. It is not shown publicly, just here in the admin."
+msgstr ""
+
#: templates/web/base/questionnaire/completed.html:14
msgid "Glad to hear it’s been fixed!"
msgstr ""
@@ -1406,8 +1419,9 @@ msgstr ""
#: templates/web/base/admin/index.html:49
#: templates/web/base/alert/index.html:34
#: templates/web/base/around/postcode_form.html:13
-#: templates/web/base/reports/_list-filters.html:38
-#: templates/web/base/reports/_list-filters.html:53
+#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:64
+#: templates/web/base/reports/index.html:75
#: templates/web/zurich/admin/stats.html:26
msgid "Go"
msgstr "Gaan"
@@ -1416,7 +1430,7 @@ msgstr "Gaan"
msgid "Going to send questionnaire?"
msgstr "Vragenlijst versturen?"
-#: perllib/FixMyStreet/Cobrand/Default.pm:726
+#: perllib/FixMyStreet/Cobrand/Default.pm:731
msgid "Grant access to the admin"
msgstr ""
@@ -1424,10 +1438,6 @@ msgstr ""
msgid "Graph of problem creation by status over time"
msgstr "Grafiek van problemen aangemaakt per status na verloop van tijd"
-#: templates/web/base/reports/index.html:15
-msgid "Greyed-out lines are councils that no longer exist."
-msgstr "Grijze lijnen zijn gemeentes die niet meer bestaan."
-
#: templates/web/base/questionnaire/index.html:48
msgid "Has this problem been fixed?"
msgstr "Is dit probleem opgelost?"
@@ -1438,7 +1448,7 @@ msgstr "Heb je al eens eerder een probleem aan de gemeente gemeld, of is dit jou
#: templates/web/base/main_nav_items.html:40
#: templates/web/zurich/about/faq-de-ch.html:1
-#: templates/web/zurich/footer.html:23
+#: templates/web/zurich/footer.html:22
#: templates/web/zurich/nav_over_content.html:8
msgid "Help"
msgstr "Help"
@@ -1448,22 +1458,13 @@ msgstr "Help"
msgid "Help <strong>%s</strong> resolve your problem quicker, by providing some extra detail. This extra information will not be published online."
msgstr ""
-#: templates/web/base/alert/_list.html:9
-msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
-msgstr "Hier zijn de soorten meldingen van lokale problemen voor '%s'."
-
-#: templates/web/zurich/footer.html:12
+#: templates/web/zurich/footer.html:11
msgid "Hi %s"
msgstr "Hoi %s"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:906
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:19
-#: templates/web/base/admin/report_blocks.html:28
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:911
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:60
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:19
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:11
#: templates/web/zurich/admin/stats.html:32
@@ -1471,16 +1472,33 @@ msgstr "Hoi %s"
msgid "Hidden"
msgstr "Verborgen"
-#: templates/web/base/report/_main.html:105
-#, fuzzy
+#: templates/web/base/report/_main.html:109
msgid "Hide entire report"
-msgstr "Herstuur melding"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:1
+#: templates/web/base/my/anonymize.html:2
+msgid "Hide my name"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:21
+msgid "Hide my name everywhere"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:10
+msgid "Hide my name in this update"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:16
+msgid "Hide my name on this report"
+msgstr ""
#: templates/web/base/around/display_location.html:67
msgid "Hide old"
msgstr "Verberg oud"
#: templates/web/base/around/display_location.html:62
+#: templates/web/base/js/translation_strings.html:55
msgid "Hide pins"
msgstr "Verberg spelden"
@@ -1488,7 +1506,16 @@ msgstr "Verberg spelden"
msgid "Hide update completely?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:49
+#: templates/web/base/report/_report_meta_info.html:3
+#: templates/web/base/report/update.html:55
+msgid "Hide your name?"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:38
+msgid "Hint"
+msgstr ""
+
+#: templates/web/base/admin/category_edit.html:24
msgid "History"
msgstr "Geschiedenis"
@@ -1505,12 +1532,12 @@ msgid "How to send successful reports"
msgstr ""
#: templates/web/base/tokens/confirm_problem.html:36
-#: templates/web/base/tokens/confirm_problem.html:40
+#: templates/web/base/tokens/confirm_problem.html:41
msgid "I just reported a problem on @fixmystreet"
msgstr ""
-#: templates/web/base/tokens/confirm_update.html:19
-#: templates/web/base/tokens/confirm_update.html:23
+#: templates/web/base/tokens/confirm_update.html:20
+#: templates/web/base/tokens/confirm_update.html:25
msgid "I just updated a problem on @fixmystreet"
msgstr ""
@@ -1530,17 +1557,25 @@ msgstr "Ik ben bang dat we je melding niet kunnen vinden in onze database.\n"
msgid "ID"
msgstr "ID"
-#: templates/web/base/admin/body-form.html:30
-#: templates/web/base/admin/body-form.html:31
+#: templates/web/base/admin/body-form.html:32
+#: templates/web/base/admin/body-form.html:33
msgid ""
"Identify a <strong>parent</strong> if this body is itself part of another body.\n"
" For basic installations, you don't need to join bodies in this way."
msgstr ""
+#: templates/web/base/auth/token.html:19
+msgid "If there's a user associated with the address you entered, we've sent a confirmation email."
+msgstr ""
+
#: templates/web/base/admin/responsepriorities/edit.html:23
msgid "If this priority is passed to an external service (e.g. Exor/Confirm) enter the priority code to use with that service here."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:24
+msgid "If ticked the user won’t see an input field, just the ‘Description’ text."
+msgstr ""
+
#: templates/web/base/admin/contact-form.html:14
msgid ""
"If two or more bodies serve the same location, FixMyStreet combines identical categories into a single entry in\n"
@@ -1551,7 +1586,7 @@ msgstr ""
msgid "If you get some more information about the status of your problem, please come back to the site and leave an update."
msgstr ""
-#: templates/web/base/admin/responsepriorities/edit.html:33
+#: templates/web/base/admin/responsepriorities/edit.html:45
msgid "If you only want this priority to be an option for specific categories, pick them here. By default they will show for all categories."
msgstr ""
@@ -1574,7 +1609,7 @@ msgid ""
"(please note it will not be sent to the council)."
msgstr ""
-#: templates/web/base/admin/contact-form.html:30
+#: templates/web/base/admin/contact-form.html:32
msgid "If you're using <strong>a send method that is not email</strong>, enter the service ID (Open311) or equivalent identifier here."
msgstr ""
@@ -1601,7 +1636,7 @@ msgid ""
" when they are shown on the site. Enter the ID (number) of that user."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:133
+#: perllib/FixMyStreet/App/Controller/Contact.pm:134
msgid "Illegal ID"
msgstr "Illegaal ID"
@@ -1609,13 +1644,6 @@ msgstr "Illegaal ID"
msgid "Illegal feed selection"
msgstr "Illegale RSS feed selectie"
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "In Progress"
-msgstr "In Behandeling"
-
#: templates/web/base/admin/flagged.html:39
msgid "In abuse table?"
msgstr ""
@@ -1624,18 +1652,17 @@ msgstr ""
msgid "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
msgstr "Daarnaast worden de volgende attributen, die niet onderdeel zijn van de Open311 v2 specificatie meegestuurd: agency_sent_datetime, title (ook meegestuurd als onderdeel van de description), interface_used, comment_count, requestor_name (alleen aanwezig als deze getoond mag worden op de site)."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:192
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:954
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:9
-#: templates/web/base/report/banner.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:5
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:197
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:959
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:8
msgid "In progress"
msgstr "In Behandeling"
+#: templates/web/base/admin/contact-form.html:57
+msgid "Inactive"
+msgstr ""
+
#: templates/web/base/tokens/confirm_alert.html:11
msgid "Inbox zero, here we come!"
msgstr ""
@@ -1652,11 +1679,15 @@ msgstr "Ongeverifiëerde meldingen meesturen"
msgid "Incorrect has_photo value \"%s\""
msgstr "Ongeldige has_photo waarde \"%s\""
-#: templates/web/base/admin/contact-form.html:84
+#: templates/web/base/report/_inspect.html:5
+msgid "Inspect report"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:85
msgid "Inspection required"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:711
+#: perllib/FixMyStreet/Cobrand/Default.pm:715
msgid "Instruct contractors to fix problems"
msgstr ""
@@ -1664,13 +1695,6 @@ msgstr ""
msgid "Internal notes"
msgstr "Interne notities"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:11
-msgid "Internal referral"
-msgstr ""
-
#: templates/web/base/offline/appcache.html:3
msgid "Internet glitch"
msgstr ""
@@ -1679,7 +1703,7 @@ msgstr ""
msgid "Invalid agency_responsible value %s"
msgstr "Ongeldige agency_responsible waarde %s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1502
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1607
msgid "Invalid end date"
msgstr "Ongeldige einddatum"
@@ -1687,26 +1711,15 @@ msgstr "Ongeldige einddatum"
msgid "Invalid format %s specified."
msgstr "Ongeldig formaat %s gespecifieerd"
-#: perllib/FixMyStreet/App/Controller/Report.pm:398
+#: perllib/FixMyStreet/App/Controller/Report.pm:409
msgid "Invalid location. New location must be covered by the same council."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1498
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1603
msgid "Invalid start date"
msgstr "Ongeldige startdatum"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:7
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:4
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Investigating"
-msgstr "Onderzoeken"
-
-#: templates/web/base/contact/blurb.html:8
+#: templates/web/base/contact/blurb.html:2
msgid "It's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there."
msgstr ""
@@ -1714,37 +1727,59 @@ msgstr ""
msgid "It’s on its way to the council right now."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:177
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:182
msgid "Jurisdiction Unknown"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:15
msgid "Jurisdiction unknown"
msgstr ""
-#: templates/web/base/auth/general.html:91
+#: templates/web/base/auth/general.html:93
#: templates/web/base/report/new/form_user_loggedout_password.html:16
#: templates/web/base/report/update/form_user_loggedout_password.html:15
#: templates/web/zurich/auth/general.html:40
msgid "Keep me signed in on this computer"
msgstr "Hou me ingelogd op deze computer"
+#: templates/web/base/admin/extra-metadata-form.html:61
+msgid "Key"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:9
+#: templates/web/base/admin/states/index.html:95
+msgid "Label"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:6
+#: templates/web/base/admin/reportextrafields/edit.html:45
+msgid "Language"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/index.html:8
+msgid "Languages"
+msgstr ""
+
#: templates/web/base/dashboard/index.html:50
msgid "Last 4 weeks"
msgstr ""
#: templates/web/base/dashboard/index.html:49
-#, fuzzy
+#: templates/web/base/reports/index.html:38
msgid "Last 7 days"
-msgstr "Laatste update:"
+msgstr ""
#: templates/web/base/admin/body.html:74
#: templates/web/zurich/admin/body.html:16
msgid "Last editor"
msgstr "Laatste bewerker"
+#: templates/web/base/questionnaire/index.html:25
+msgid "Last update"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:89
msgid "Last update:"
msgstr "Laatste update:"
@@ -1753,23 +1788,27 @@ msgstr "Laatste update:"
msgid "Last&nbsp;update:"
msgstr "Laatste update:"
-#: templates/web/base/report/_inspect.html:20
-#: templates/web/base/report/_item.html:86
+#: templates/web/base/report/_inspect.html:30
+#: templates/web/base/report/_item.html:88
msgid "Latitude/Longitude:"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:50
+#: templates/web/base/reports/_list-filters.html:61
msgid "Least recently updated"
msgstr ""
-#: templates/web/base/admin/body-form.html:127
+#: templates/web/base/admin/body-form.html:129
msgid "Leave this blank if all reports to this body should be sent using the same send method (e.g., \"%s\")."
msgstr ""
-#: templates/web/base/dashboard/index.html:150
+#: templates/web/base/dashboard/index.html:151
msgid "Less than 7 days old"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:47
+msgid "List"
+msgstr ""
+
#: templates/web/base/admin/body.html:31
msgid "List all reported problems"
msgstr "Toon alle meldingen"
@@ -1800,23 +1839,23 @@ msgstr "Lokale melding"
msgid "Locate the problem on a map of the area"
msgstr "Vind het probleem op de kaart van de omgeving"
-#: templates/web/base/auth/general.html:22
+#: templates/web/base/auth/general.html:24
#: templates/web/base/report/new/form_user_loggedout.html:6
#: templates/web/base/report/update/form_user_loggedout.html:7
msgid "Log in with Facebook"
msgstr ""
-#: templates/web/base/auth/general.html:30
+#: templates/web/base/auth/general.html:32
#: templates/web/base/report/new/form_user_loggedout.html:14
#: templates/web/base/report/update/form_user_loggedout.html:15
msgid "Log in with Twitter"
msgstr ""
-#: templates/web/base/js/translation_strings.html:59
+#: templates/web/base/js/translation_strings.html:62
msgid "Log in with email"
msgstr ""
-#: templates/web/base/dashboard/index.html:145
+#: templates/web/base/dashboard/index.html:146
#: templates/web/base/dashboard/index.html:38
msgid "Look up"
msgstr ""
@@ -1825,11 +1864,11 @@ msgstr ""
msgid "MAP"
msgstr "Kaart"
-#: perllib/FixMyStreet/Cobrand/Default.pm:712
+#: perllib/FixMyStreet/Cobrand/Default.pm:716
msgid "Manage shortlist"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:45
+#: templates/web/base/reports/_list-filters.html:56
msgid "Manual order"
msgstr ""
@@ -1845,19 +1884,11 @@ msgstr "Markeren als verzonden"
msgid "Mark users whose behaviour you want to keep a check on as <strong>flagged</strong>."
msgstr ""
-#: templates/web/base/reports/index.html:27
-msgid "Marked fixed/closed in the past eight weeks"
-msgstr ""
-
-#: templates/web/base/reports/index.html:28
-msgid "Marked fixed/closed more than eight weeks ago"
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/Default.pm:710
+#: perllib/FixMyStreet/Cobrand/Default.pm:714
msgid "Markup problem details"
msgstr ""
-#: templates/web/base/contact/index.html:96
+#: templates/web/base/contact/index.html:100
msgid "Message"
msgstr "Bericht"
@@ -1877,35 +1908,33 @@ msgstr ""
msgid "Missing jurisdiction_id"
msgstr "Vermiste jurisdiction_id"
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:706
+#: perllib/FixMyStreet/Cobrand/Default.pm:710
msgid "Moderate report details"
msgstr ""
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate this report"
msgstr ""
#: templates/web/base/report/update.html:12
-#, fuzzy
msgid "Moderate this update"
-msgstr "Gemeld door %s bij %s"
+msgstr ""
-#: templates/web/base/report/_main.html:69
-#: templates/web/base/report/update.html:49
-#, fuzzy
+#: templates/web/base/report/_main.html:73
+#: templates/web/base/report/update.html:58
msgid "Moderated by %s at %s"
-msgstr "Gemeld door %s bij %s"
+msgstr ""
#: templates/web/zurich/admin/stats.html:34
msgid "Moderated by division within one working day"
msgstr ""
-#: templates/web/base/report/_main.html:109
-#: templates/web/base/report/update.html:57
+#: templates/web/base/report/_main.html:113
+#: templates/web/base/report/update.html:66
msgid "Moderation reason:"
msgstr ""
@@ -1913,31 +1942,35 @@ msgstr ""
msgid "Month"
msgstr "Maand"
-#: templates/web/base/reports/_list-filters.html:51
+#: templates/web/base/reports/_list-filters.html:62
msgid "Most commented"
msgstr ""
#: templates/web/base/admin/bodies.html:25
#: templates/web/base/admin/body-form.html:24
+#: templates/web/base/admin/extra-metadata-form.html:65
#: templates/web/base/admin/flagged.html:16
#: templates/web/base/admin/flagged.html:37
#: templates/web/base/admin/index.html:62
#: templates/web/base/admin/list_updates.html:7
+#: templates/web/base/admin/reportextrafields/edit.html:11
+#: templates/web/base/admin/reportextrafields/index.html:6
#: templates/web/base/admin/reports.html:14
#: templates/web/base/admin/responsepriorities/list.html:6
+#: templates/web/base/admin/states/index.html:108
+#: templates/web/base/admin/states/index.html:11
#: templates/web/base/admin/users.html:16
-#: templates/web/base/auth/general.html:106
-#: templates/web/base/report/new/form_user_loggedin.html:40
+#: templates/web/base/auth/general.html:108
+#: templates/web/base/report/new/form_user_loggedin.html:42
#: templates/web/base/report/new/form_user_loggedout_by_email.html:7
-#: templates/web/base/report/update/form_name.html:23
-#: templates/web/base/reports/index.html:23
+#: templates/web/base/report/update/form_name.html:27
#: templates/web/zurich/admin/body-form.html:4
#: templates/web/zurich/auth/general.html:60
#: templates/web/zurich/report/new/fill_in_details_form.html:59
msgid "Name"
msgstr "Naam"
-#: templates/web/base/admin/report_edit.html:139
+#: templates/web/base/admin/report_edit.html:127
#: templates/web/base/admin/responsepriorities/edit.html:13
#: templates/web/base/admin/update_edit.html:34
#: templates/web/base/admin/user-form.html:16
@@ -1949,7 +1982,7 @@ msgstr "Naam:"
msgid "Name: %s"
msgstr "Naam: %s"
-#: templates/web/base/report/_inspect.html:28
+#: templates/web/base/report/_inspect.html:38
msgid "Navigate to this problem"
msgstr ""
@@ -1958,16 +1991,16 @@ msgstr ""
msgid "Nearest named road to the pin placed on the map (automatically generated using OpenStreetMap): %s%s"
msgstr "Dichtstbijzijnde straat met naam voor lokatie op de kaart (automatisch gegenereerd via OpenStreetMap): %s%s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:129
+#: perllib/FixMyStreet/Cobrand/UK.pm:134
msgid "Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"
msgstr "Dichtstbijzijnde postcode voor lokatie op de kaart (automatisch gegenereerd): %s (%sm afstand)"
-#: perllib/FixMyStreet/Cobrand/Default.pm:527
-#: perllib/FixMyStreet/Cobrand/Default.pm:567
+#: perllib/FixMyStreet/Cobrand/Default.pm:538
+#: perllib/FixMyStreet/Cobrand/Default.pm:566
msgid "Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"
msgstr "Dichtstbijzijnde straat voor lokatie op de kaart (automatisch gegenereerd via Bing Maps): %s"
-#: perllib/FixMyStreet/Script/Alerts.pm:319
+#: perllib/FixMyStreet/Script/Alerts.pm:316
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s\n"
"\n"
@@ -1975,19 +2008,23 @@ msgstr ""
"Dichtstbijzijnde weg op basis van de gemarkeerde plek op de kaart (automatisch gegenereerd door Bing Maps): %s\n"
"\n"
-#: templates/web/base/auth/token.html:17 templates/web/base/email_sent.html:5
+#: templates/web/base/auth/token.html:18
+msgid "Nearly done!"
+msgstr ""
+
+#: templates/web/base/auth/token.html:22 templates/web/base/email_sent.html:5
msgid "Nearly done! Now check your email&hellip;"
msgstr ""
-#: templates/web/base/reports/index.html:24
-msgid "New <br>problems"
-msgstr "Nieuw <br>problemen"
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:131
+msgid "New"
+msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:259
+#: perllib/FixMyStreet/App/Controller/Admin.pm:262
msgid "New body added"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:405
+#: perllib/FixMyStreet/App/Controller/Admin.pm:386
msgid "New category contact added"
msgstr "Nieuw contactpersonen voor categorie toegevoegd"
@@ -2013,7 +2050,7 @@ msgid "New password:"
msgstr ""
#: templates/web/base/admin/responsepriorities/edit.html:4
-#: templates/web/base/admin/responsepriorities/list.html:32
+#: templates/web/base/admin/responsepriorities/list.html:34
msgid "New priority"
msgstr ""
@@ -2042,6 +2079,7 @@ msgid "New reports"
msgstr ""
#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/states/index.html:91
msgid "New state"
msgstr "Nieuwe status"
@@ -2051,7 +2089,7 @@ msgstr "Nieuwe status"
msgid "New template"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:47
+#: templates/web/base/reports/_list-filters.html:58
msgid "Newest"
msgstr ""
@@ -2059,20 +2097,19 @@ msgstr ""
msgid "Next"
msgstr "Volgende"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1203
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
+#: perllib/FixMyStreet/Cobrand/Default.pm:1237
#: templates/web/base/admin/category_edit.html:4
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:137
+#: templates/web/base/admin/report_edit.html:125
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:26
#: templates/web/base/questionnaire/creator_fixed.html:16
#: templates/web/base/questionnaire/index.html:106
#: templates/web/base/questionnaire/index.html:55
+#: templates/web/base/report/_inspect.html:92
msgid "No"
msgstr "Nee"
@@ -2088,7 +2125,7 @@ msgstr ""
msgid "No council"
msgstr "Geen gemeente"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:445
+#: perllib/FixMyStreet/DB/Result/Problem.pm:372
msgid "No council selected"
msgstr "Geen gemeente geselecteerd"
@@ -2104,25 +2141,16 @@ msgstr ""
msgid "No flagged users found."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:14
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:8
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "No further action"
-msgstr ""
-
#: templates/web/zurich/admin/report_edit-sdm.html:125
#: templates/web/zurich/admin/report_edit.html:259
msgid "No further updates"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:84
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:68
msgid "No inspections by that inspector in the selected date range."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:86
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:70
msgid "No inspections in the selected date range."
msgstr ""
@@ -2130,8 +2158,8 @@ msgstr ""
msgid "No result returned"
msgstr ""
-#: templates/web/base/admin/body-form.html:66
-#: templates/web/base/admin/body-form.html:67
+#: templates/web/base/admin/body-form.html:68
+#: templates/web/base/admin/body-form.html:69
msgid ""
"No specific areas are currently available, because the <code>MAPIT_URL</code> in\n"
" your config file is not pointing to a live MapIt service."
@@ -2164,17 +2192,8 @@ msgid ""
" activity across their body), the ability to hide reports or set special report statuses."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:9
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "Not Responsible"
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:181
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:186
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:933
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:13
msgid "Not contactable"
@@ -2193,7 +2212,7 @@ msgid "Not reported to council"
msgstr "Niet gemeld bij de gemeente"
#: templates/web/base/admin/body.html:75
-#: templates/web/base/admin/category_edit.html:57
+#: templates/web/base/admin/category_edit.html:31
#: templates/web/zurich/admin/body.html:17
msgid "Note"
msgstr "Opmerking"
@@ -2203,7 +2222,7 @@ msgid "Note that when including unconfirmed reports we use the date the report w
msgstr "Let op dat als je onbevestigde meldingen meeneemt we de datum gebruiken waarop de melding is gemaakt, dit kan afwijken van de maand waarin de melding is bevestigd dus dan kunnen de cijfers afwijken."
#: templates/web/zurich/admin/body.html:55
-#: templates/web/zurich/admin/contact-form.html:17
+#: templates/web/zurich/admin/contact-form.html:19
msgid "Note:"
msgstr "Opmerking:"
@@ -2215,6 +2234,10 @@ msgstr "Opmerking: <strong>%s</strong>"
msgid "Notes from SDM to DM"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:26
+msgid "Notice"
+msgstr ""
+
#: templates/web/base/report/new/oauth_email_form.html:17
msgid "Now to submit your report&hellip;"
msgstr "Nu om je melding te verzend&hellip;"
@@ -2225,63 +2248,43 @@ msgstr "Nu om je melding te verzend&hellip;"
msgid "Now to submit your update&hellip;"
msgstr "Nu om je update te verzend&hellip;"
+#: templates/web/base/reports/index.html:98
+msgid "Number of problems reported in each category, in the last 7 days."
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:43
msgid "OK"
msgstr ""
-#: templates/web/base/js/translation_strings.html:67
+#: templates/web/base/js/translation_strings.html:70
msgid "Offline data cleared"
msgstr ""
-#: templates/web/base/js/translation_strings.html:64
+#: templates/web/base/js/translation_strings.html:67
msgid "Offline update data saved"
msgstr ""
-#: templates/web/base/reports/index.html:26
-msgid "Old / unknown <br>problems"
-msgstr "Oude / onbekende <br>problemen"
-
#: templates/web/base/admin/questionnaire.html:24
msgid "Old state"
msgstr "Oude status"
-#: templates/web/base/reports/index.html:28
-msgid "Older <br>fixed"
-msgstr "Ouder<br>opgelost"
-
-#: templates/web/base/reports/index.html:25
-msgid "Older <br>problems"
-msgstr "Oudere<br>problemen"
-
-#: templates/web/base/reports/_list-filters.html:48
+#: templates/web/base/reports/_list-filters.html:59
msgid "Oldest"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:900
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:25
-#: templates/web/base/admin/report_blocks.html:6
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:905
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:10
+#: templates/web/base/admin/states/index.html:102
+#: templates/web/base/admin/states/index.html:25
+#: templates/web/base/admin/states/index.html:32
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:3
-#: templates/web/base/report/update/form_update.html:41
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:7
#: templates/web/zurich/admin/update_edit.html:18
msgid "Open"
msgstr "Open"
-#: templates/web/base/reports/index.html:25
-msgid "Open for more than four weeks, with an update within the past eight weeks"
-msgstr ""
-
-#: templates/web/base/reports/index.html:26
-msgid "Open, but not had any update in eight weeks"
-msgstr ""
-
#: templates/web/base/admin/open311-form-fields.html:47
msgid "Open311 API Key"
msgstr ""
@@ -2302,26 +2305,38 @@ msgstr "Open311 initiatief website"
msgid "Open311 specification"
msgstr "Open311 specificatie"
-#: templates/web/base/alert/_list.html:61
-msgid "Or problems reported to:"
-msgstr "Of problemen gemeld aan:"
-
-#: templates/web/base/alert/_list.html:37
-msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
-msgstr "Of je kan je abonneren op een melding gebaseerd op welke gemeente je woont:"
-
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:1061
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:659
-#: perllib/FixMyStreet/DB/Result/Problem.pm:642
-#: perllib/FixMyStreet/DB/Result/Problem.pm:649
-#: perllib/FixMyStreet/DB/Result/Problem.pm:664
-#: perllib/FixMyStreet/DB/Result/Problem.pm:673
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "Options"
+msgstr ""
+
+#: templates/web/base/alert/_list.html:84
+msgid "Or subscribe by RSS"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:8
+msgid "Order"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1107
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:675
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:676
+#: perllib/FixMyStreet/DB/Result/Problem.pm:579
+#: perllib/FixMyStreet/DB/Result/Problem.pm:586
+#: perllib/FixMyStreet/DB/Result/Problem.pm:601
+#: perllib/FixMyStreet/DB/Result/Problem.pm:610
#: perllib/FixMyStreet/Script/Reports.pm:183
#: perllib/FixMyStreet/Script/Reports.pm:198
msgid "Other"
msgstr "Anders"
+#: templates/web/base/reports/index.html:107
+msgid "Other categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:92
+msgid "Overall average"
+msgstr ""
+
#: templates/web/base/admin/list_updates.html:8
msgid "Owner"
msgstr "Eigenaar"
@@ -2331,17 +2346,16 @@ msgstr "Eigenaar"
msgid "Page Not Found"
msgstr "Pagina Niet Gevonden"
-#: templates/web/base/admin/body-form.html:37
+#: templates/web/base/admin/body-form.html:39
#: templates/web/zurich/admin/body-form.html:14
msgid "Parent"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:20
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:61
msgid "Partial"
msgstr "Gedeeltelijk"
-#: templates/web/base/auth/general.html:109
+#: templates/web/base/auth/general.html:111
#: templates/web/base/report/new/form_user_loggedout_by_email.html:28
#: templates/web/base/report/update/form_user_loggedout_by_email.html:6
#: templates/web/zurich/auth/general.html:32
@@ -2349,7 +2363,7 @@ msgstr "Gedeeltelijk"
msgid "Password (optional)"
msgstr "Wachtwoord (optioneel)"
-#: templates/web/base/auth/general.html:82
+#: templates/web/base/auth/general.html:84
msgid "Password:"
msgstr "Wachtwoord:"
@@ -2361,17 +2375,22 @@ msgstr ""
msgid "Permissions:"
msgstr ""
+#: templates/web/base/report/_inspect.html:19
+#, fuzzy
+msgid "Phone Reporter:"
+msgstr "Gemeld:"
+
#: templates/web/zurich/report/new/fill_in_details_form.html:65
msgid "Phone number"
msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:57
+#: templates/web/base/report/new/form_user_loggedin.html:59
#: templates/web/base/report/new/form_user_loggedout_by_email.html:25
msgid "Phone number (optional)"
msgstr "Telefoonnummer (optioneel)"
#: perllib/FixMyStreet/Script/Reports.pm:87
-#: templates/web/base/admin/report_edit.html:146
+#: templates/web/base/admin/report_edit.html:134
#: templates/web/base/admin/user-form.html:21
#: templates/web/zurich/admin/stats.html:39
msgid "Phone:"
@@ -2380,9 +2399,9 @@ msgstr "Telefoonnummer:"
#: templates/web/base/questionnaire/index.html:78
#: templates/web/base/questionnaire/index.html:93
#: templates/web/base/questionnaire/index.html:95
-#: templates/web/base/report/new/form_report.html:28
-#: templates/web/base/report/new/form_report.html:43
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/new/form_report.html:45
+#: templates/web/base/report/new/form_report.html:47
#: templates/web/base/report/update/form_update.html:22
#: templates/web/base/report/update/form_update.html:24
#: templates/web/base/report/update/form_update.html:7
@@ -2400,12 +2419,12 @@ msgstr "Foto"
msgid "Photo is required."
msgstr ""
-#: templates/web/zurich/admin/contact-form.html:14
+#: templates/web/zurich/admin/contact-form.html:16
msgid "Photo required"
msgstr ""
#: templates/web/base/questionnaire/index.html:78
-#: templates/web/base/report/new/form_report.html:28
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/update/form_update.html:7
#: templates/web/zurich/report/new/fill_in_details_form.html:20
msgid "Photos"
@@ -2415,17 +2434,18 @@ msgstr ""
msgid "Photos of recent nearby reports"
msgstr "Foto's van recente meldingen dichtbij"
+#: templates/web/base/reports/index.html:63
+#: templates/web/base/reports/index.html:66
+msgid "Pick your council"
+msgstr ""
+
#: templates/web/base/around/display_location.html:76
#: templates/web/base/js/translation_strings.html:30
msgid "Place pin on map"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:940
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:946
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:8
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:945
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:951
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:9
#: templates/web/zurich/admin/index-dm.html:9
@@ -2443,31 +2463,27 @@ msgstr "Controleer de wachtwoorden en probeer opnieuw"
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:18
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:43
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:45
#: templates/web/zurich/auth/general.html:3
#: templates/web/zurich/auth/general.html:9
msgid "Please check your email address is correct"
msgstr "Controleer of je e-mailadres klopt"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:350
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:844
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:867
-#: perllib/FixMyStreet/DB/Result/Problem.pm:456
+#: perllib/FixMyStreet/App/Controller/Admin.pm:329
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:873
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:896
+#: perllib/FixMyStreet/DB/Result/Problem.pm:383
#: templates/web/base/js/translation_strings.html:9
msgid "Please choose a category"
msgstr "Kies een categorie"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:462
-msgid "Please choose a property type"
-msgstr "Kies een pand type"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:396
+#: perllib/FixMyStreet/App/Controller/Admin.pm:377
#: templates/web/base/admin/bodies.html:4 templates/web/base/admin/body.html:11
msgid "Please correct the errors below"
msgstr ""
-#: templates/web/base/contact/blurb.html:12
+#: templates/web/base/contact/blurb.html:6
msgid ""
"Please do <strong>not</strong> report problems through this form; messages go to\n"
"the team behind this site, not a council. To report a problem,\n"
@@ -2478,18 +2494,18 @@ msgstr ""
msgid "Please do not be abusive&nbsp;&mdash; abusing your council devalues the service for all users."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:351
-#: perllib/FixMyStreet/DB/Result/Comment.pm:127
+#: perllib/FixMyStreet/App/Controller/Admin.pm:330
+#: perllib/FixMyStreet/DB/Result/Comment.pm:128
#: templates/web/base/js/translation_strings.html:2
msgid "Please enter a message"
msgstr "Geef bericht in"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1200
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1364
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1305
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1469
msgid "Please enter a name"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:478
+#: perllib/FixMyStreet/App/Controller/Admin.pm:497
msgid "Please enter a name for this body"
msgstr ""
@@ -2499,15 +2515,15 @@ msgstr ""
msgid "Please enter a password"
msgstr "Geef wachtwoord"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:114
-#: perllib/FixMyStreet/DB/Result/Problem.pm:439
+#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/DB/Result/Problem.pm:366
#: templates/web/base/js/translation_strings.html:3
msgid "Please enter a subject"
msgstr "Geef onderwerp"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1197
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1361
-#: perllib/FixMyStreet/App/Controller/Admin.pm:363
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1302
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1466
+#: perllib/FixMyStreet/App/Controller/Admin.pm:343
#: perllib/FixMyStreet/DB/Result/User.pm:164
#: templates/web/base/js/translation_strings.html:12
#: templates/web/base/js/translation_strings.html:16
@@ -2515,21 +2531,21 @@ msgid "Please enter a valid email"
msgstr "Geef een geldig e-mailadres"
#: perllib/FixMyStreet/App/Controller/Alert.pm:350
-#: perllib/FixMyStreet/App/Controller/Contact.pm:124
+#: perllib/FixMyStreet/App/Controller/Contact.pm:125
msgid "Please enter a valid email address"
msgstr "Geef een geldig e-mailadres"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:442
+#: perllib/FixMyStreet/DB/Result/Problem.pm:369
#: templates/web/base/js/translation_strings.html:4
msgid "Please enter some details"
msgstr "Geef details"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/App/Controller/Contact.pm:114
#: perllib/FixMyStreet/DB/Result/User.pm:161
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:17
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:42
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:44
#: templates/web/base/js/translation_strings.html:11
#: templates/web/base/js/translation_strings.html:15
#: templates/web/zurich/auth/general.html:3
@@ -2546,14 +2562,14 @@ msgstr "Geef een geldig e-mailadres"
msgid "Please enter your first name"
msgstr "Geef je voornaam"
-#: perllib/FixMyStreet/Cobrand/UK.pm:320
+#: perllib/FixMyStreet/Cobrand/UK.pm:326
#: templates/web/base/js/translation_strings.html:7
msgid "Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below"
msgstr "Geef je volledige naam, gemeentes hebben deze informatie nodig. Mocht je niet willen dat je naam op de site getoond wordt, haal dan de vink beneden weg."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:112
-#: perllib/FixMyStreet/DB/Result/Comment.pm:124
-#: perllib/FixMyStreet/DB/Result/Problem.pm:450
+#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/DB/Result/Comment.pm:125
+#: perllib/FixMyStreet/DB/Result/Problem.pm:377
#: perllib/FixMyStreet/DB/Result/User.pm:157
#: templates/web/base/js/translation_strings.html:6
msgid "Please enter your name"
@@ -2616,7 +2632,7 @@ msgstr ""
msgid "Please note:"
msgstr "Let op:"
-#: perllib/FixMyStreet/App/Controller/Report.pm:358
+#: perllib/FixMyStreet/App/Controller/Report.pm:353
msgid "Please provide a public update for this report."
msgstr ""
@@ -2652,11 +2668,11 @@ msgstr "Geef aan of het probleem is verholpen"
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:122
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:156
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:158
-#: templates/web/base/js/translation_strings.html:57
+#: templates/web/base/js/translation_strings.html:60
msgid "Please upload an image only"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/App/Controller/Contact.pm:116
msgid "Please write a message"
msgstr "Schrijf een bericht"
@@ -2664,30 +2680,29 @@ msgstr "Schrijf een bericht"
msgid "Please write your update here"
msgstr "Schrijf je update hier"
-#: templates/web/base/contact/index.html:103
#: templates/web/base/report/update-form.html:25
#: templates/web/base/report/update/form_user_loggedout_by_email.html:14
#: templates/web/base/report/update/form_user_loggedout_password.html:10
msgid "Post"
msgstr "Bericht"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:242
+#: perllib/FixMyStreet/DB/Result/Comment.pm:231
msgid "Posted anonymously at %s"
msgstr "Anoniem geplaatst bij %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:257
+#: perllib/FixMyStreet/DB/Result/Comment.pm:255
msgid "Posted by %s at %s"
msgstr "Geplaatst door %s bij %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:252
+#: perllib/FixMyStreet/DB/Result/Comment.pm:243
msgid "Posted by <strong>%s</strong> (%s) at %s"
msgstr "Geplaatst door <strong>%s</strong> (%s) bij %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:254
+#: perllib/FixMyStreet/DB/Result/Comment.pm:245
msgid "Posted by <strong>%s</strong> at %s"
msgstr "Geplaatst door <strong>%s</strong> bij %s"
-#: templates/web/base/front/footer-marketing.html:12
+#: templates/web/base/front/footer-marketing.html:6
msgid "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
msgstr ""
@@ -2699,8 +2714,8 @@ msgstr "Vorige"
msgid "Priorities"
msgstr ""
-#: templates/web/base/report/_inspect.html:113
-#: templates/web/base/report/_item.html:98
+#: templates/web/base/report/_inspect.html:123
+#: templates/web/base/report/_item.html:100
msgid "Priority"
msgstr ""
@@ -2714,16 +2729,15 @@ msgstr ""
msgid "Privacy and cookies"
msgstr ""
-#: templates/web/base/admin/body.html:91
-#: templates/web/base/admin/contact-form.html:74
-#: templates/web/base/admin/report_edit.html:149
+#: templates/web/base/admin/body.html:88
+#: templates/web/base/admin/contact-form.html:75
+#: templates/web/base/admin/report_edit.html:137
msgid "Private"
msgstr "Privé"
#: templates/web/base/report/new/form_user.html:1
-#, fuzzy
msgid "Private details"
-msgstr "Privé"
+msgstr ""
#: templates/web/base/maps/pin.html:13
msgid "Problem"
@@ -2747,7 +2761,7 @@ msgstr "Probleem %s verzonden naar gemeente %s"
msgid "Problem breakdown by state"
msgstr "Probleem verdeeld per status"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1167
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1272
msgid "Problem marked as open."
msgstr "Probleem gemarkeerd als open"
@@ -2755,11 +2769,16 @@ msgstr "Probleem gemarkeerd als open"
msgid "Problem state change based on survey results"
msgstr "Probleem status gewijzigd op basis van onderzoeksresultaten"
-#: perllib/FixMyStreet/Cobrand/Default.pm:705
+#: perllib/FixMyStreet/Cobrand/Default.pm:709
#: templates/web/base/admin/flagged.html:10
msgid "Problems"
msgstr "Problemen"
+#: templates/web/base/alert/_list.html:22
+#, fuzzy
+msgid "Problems in an area"
+msgstr "Problemen binnen wijk %s"
+
#: templates/web/base/report/display_tools.html:22
msgid "Problems nearby"
msgstr "Problemen dichtbij"
@@ -2772,30 +2791,33 @@ msgstr "Problemen op de kaart"
msgid "Problems recently reported fixed on FixMyStreet"
msgstr "Recent gemelde problemen op FixMyStreet"
-#: templates/web/base/alert/_list.html:22
-msgid "Problems within %.1fkm of this location"
+#: templates/web/base/alert/_list.html:29
+#, fuzzy
+msgid "Problems within %.1fkm of %s"
msgstr "Problemen binnen een straal van %.1fkm van deze lokatie"
-#: perllib/FixMyStreet/Cobrand/Default.pm:833
+#: perllib/FixMyStreet/Cobrand/Default.pm:838
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:137
-#: perllib/FixMyStreet/Cobrand/UK.pm:209
+#: perllib/FixMyStreet/Cobrand/UK.pm:215 perllib/FixMyStreet/Cobrand/UK.pm:257
+#: perllib/FixMyStreet/Cobrand/UK.pm:269
msgid "Problems within %s"
msgstr "Problemen binnen %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:223
+#: perllib/FixMyStreet/Cobrand/UK.pm:229
msgid "Problems within %s ward"
msgstr "Problemen binnen wijk %s"
+#: perllib/FixMyStreet/Cobrand/UK.pm:263 perllib/FixMyStreet/Cobrand/UK.pm:275
+#, fuzzy
+msgid "Problems within %s ward, %s"
+msgstr "Problemen binnen wijk %s"
+
#. ("First %s is the body name, second %s the site name")
#: templates/web/base/reports/body.html:0
#: templates/web/base/reports/body.html:25
msgid "Problems within %s, %s"
msgstr ""
-#: templates/web/base/alert/_list.html:43
-msgid "Problems within the boundary of:"
-msgstr "Problemen binnen de grenzen van:"
-
#: templates/web/base/admin/report_edit.html:74
msgid "Property address:"
msgstr ""
@@ -2805,11 +2827,11 @@ msgstr ""
msgid "Provide an update"
msgstr "Geef een update"
-#: templates/web/base/report/update/form_name.html:9
+#: templates/web/base/report/update/form_name.html:10
msgid "Provide update as"
msgstr ""
-#: templates/web/base/auth/general.html:112
+#: templates/web/base/auth/general.html:114
msgid "Providing a name and password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
msgstr ""
@@ -2827,7 +2849,7 @@ msgstr ""
msgid "Public response:"
msgstr ""
-#: templates/web/base/report/_inspect.html:152
+#: templates/web/base/report/_inspect.html:162
msgid "Public update:"
msgstr ""
@@ -2855,7 +2877,7 @@ msgstr "Vragenlijst %d verzonden voor probleem %d"
msgid "Questionnaire filled in by problem reporter"
msgstr "Vragenlijst ingevuld door melder"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
#: templates/web/base/alert/updates.html:9
#: templates/web/base/around/display_location.html:1
#: templates/web/base/around/display_location.html:3
@@ -2863,11 +2885,11 @@ msgstr "Vragenlijst ingevuld door melder"
msgid "RSS feed"
msgstr "RSS feed"
-#: perllib/FixMyStreet/Cobrand/UK.pm:252 perllib/FixMyStreet/Cobrand/UK.pm:264
+#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
msgid "RSS feed for %s"
msgstr "RSS feed voor %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
+#: perllib/FixMyStreet/Cobrand/UK.pm:264 perllib/FixMyStreet/Cobrand/UK.pm:276
msgid "RSS feed for %s ward, %s"
msgstr "RSS feed voor wijk %s, %s"
@@ -2875,25 +2897,25 @@ msgstr "RSS feed voor wijk %s, %s"
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:179
-#: perllib/FixMyStreet/Cobrand/UK.pm:278 perllib/FixMyStreet/Cobrand/UK.pm:290
+#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
msgid "RSS feed of %s"
msgstr "RSS feed van %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
msgid "RSS feed of %s, within %s ward"
msgstr "RSS feed van %s, binnen wijk %s"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
msgid "RSS feed of nearby problems"
msgstr "RSS feed van nabije problemen"
-#: perllib/FixMyStreet/Cobrand/Default.pm:834
+#: perllib/FixMyStreet/Cobrand/Default.pm:839
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:136
-#: perllib/FixMyStreet/Cobrand/UK.pm:216
+#: perllib/FixMyStreet/Cobrand/UK.pm:222
msgid "RSS feed of problems within %s"
msgstr "RSS feed van problemen binnen %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:222
+#: perllib/FixMyStreet/Cobrand/UK.pm:228
msgid "RSS feed of problems within %s ward"
msgstr "RSS feed van problemen in wijk %s"
@@ -2912,7 +2934,7 @@ msgstr "RSS feed van updates voor dit probleem"
msgid "Receive email when updates are left on this problem."
msgstr "Ontvang een e-mail als updates worden achtergelaten bij dit probleem."
-#: perllib/FixMyStreet/DB/Result/Problem.pm:801
+#: perllib/FixMyStreet/DB/Result/Problem.pm:738
msgid "Received by %s moments later"
msgstr ""
@@ -2922,15 +2944,11 @@ msgstr ""
msgid "Recent local problems, %s"
msgstr ""
-#: templates/web/base/reports/index.html:27
-msgid "Recently <br>fixed"
-msgstr "Recent <br>opgelost"
-
#: templates/web/base/front/recent.html:11
msgid "Recently reported problems"
msgstr "Recent gemelde problemen"
-#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:60
msgid "Recently updated"
msgstr ""
@@ -2938,13 +2956,23 @@ msgstr ""
msgid "Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. If your problem is not appropriate for submission via this site remember that you can contact your council directly using their own website."
msgstr "Onthoud dat FixMyStreet zich richt op het melden van fysieke problemen die opgelost kunnen worden. Als jouw probleem niet gepast is voor het melden via onze site kun je altijd direct contact opnemen met de gemeente via hun eigen website."
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/extra-metadata-form.html:68
+#, fuzzy
+msgid "Remove"
+msgstr "Verwijder markering"
+
+#: templates/web/base/admin/extra-metadata-form.html:4
+#, fuzzy
+msgid "Remove field"
+msgstr "Verwijder markering"
+
+#: templates/web/base/admin/report_blocks.html:23
msgid "Remove flag"
msgstr "Verwijder markering"
#: templates/web/base/report/_item.html:12
#: templates/web/base/report/_item.html:9
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:18
#: templates/web/base/report/_main.html:26
msgid "Remove from shortlist"
@@ -2954,7 +2982,7 @@ msgstr ""
msgid "Remove from site"
msgstr ""
-#: templates/web/base/admin/report_edit.html:166
+#: templates/web/base/admin/report_edit.html:154
#: templates/web/base/admin/update_edit.html:69
#: templates/web/zurich/admin/update_edit.html:35
msgid "Remove photo (can't be undone!)"
@@ -2968,13 +2996,13 @@ msgstr "Beantwoord"
msgid "Report"
msgstr "Melding"
-#: templates/web/base/report/_inspect.html:10
-#: templates/web/base/report/_item.html:76
+#: templates/web/base/report/_inspect.html:14
+#: templates/web/base/report/_item.html:78
msgid "Report ID:"
msgstr ""
#: templates/web/base/header_logo.html:2
-#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:19
+#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:18
#: templates/web/zurich/nav_over_content.html:4
msgid "Report a problem"
msgstr "Meld een probleem"
@@ -2984,7 +3012,7 @@ msgstr "Meld een probleem"
msgid "Report abuse"
msgstr "Meld misbruik"
-#: templates/web/base/report/new/form_user_loggedin.html:16
+#: templates/web/base/report/new/form_user_loggedin.html:17
msgid "Report as"
msgstr ""
@@ -2993,9 +3021,8 @@ msgid "Report on %s"
msgstr "Meld op %s"
#: templates/web/base/dashboard/index.html:137
-#, fuzzy
msgid "Report state:"
-msgstr "Gemeld:"
+msgstr ""
#: templates/web/base/report/new/fill_in_details_form.html:1
#: templates/web/base/report/new/login_success_form.html:1
@@ -3008,7 +3035,7 @@ msgstr "Probleem melden"
msgid "Report, view, or discuss local problems"
msgstr "Meld, bekijk of discussier over lokale problemen"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:653
+#: perllib/FixMyStreet/DB/Result/Problem.pm:590
#: templates/web/base/contact/index.html:55
msgid "Reported anonymously at %s"
msgstr "Anoniem gemeld bij %s"
@@ -3018,7 +3045,7 @@ msgstr "Anoniem gemeld bij %s"
msgid "Reported before"
msgstr "Eerder gemeld"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:677
+#: perllib/FixMyStreet/DB/Result/Problem.pm:614
#: templates/web/base/contact/index.html:57
msgid "Reported by %s at %s"
msgstr "Gemeld door %s bij %s"
@@ -3032,34 +3059,30 @@ msgstr "Gemeld door:"
msgid "Reported in the %s category"
msgstr "Toegewezen aan categorie %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:650
+#: perllib/FixMyStreet/DB/Result/Problem.pm:587
msgid "Reported in the %s category anonymously at %s"
msgstr "Anoniem gemeld in de categorie %s bij %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:611
msgid "Reported in the %s category by %s at %s"
msgstr "Gemeld in de categorie %s door %s bij %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:647
+#: perllib/FixMyStreet/DB/Result/Problem.pm:584
msgid "Reported via %s anonymously at %s"
msgstr "Anoniem door %s gemeld bij %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:671
+#: perllib/FixMyStreet/DB/Result/Problem.pm:608
msgid "Reported via %s by %s at %s"
msgstr "Gemeld door %s door %s bij %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:644
+#: perllib/FixMyStreet/DB/Result/Problem.pm:581
msgid "Reported via %s in the %s category anonymously at %s"
msgstr "Anoniem gemeld bij %s in de categorie %s door %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:666
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
msgid "Reported via %s in the %s category by %s at %s"
msgstr "Gemeld door %s in de categorie %s door %s bij %s"
-#: templates/web/base/reports/index.html:24
-msgid "Reported within the last four weeks"
-msgstr "Gemeld in de afgelopen vier weken"
-
#: templates/web/zurich/admin/report_edit-sdm.html:38
#: templates/web/zurich/admin/report_edit.html:57
msgid "Reported:"
@@ -3075,13 +3098,13 @@ msgid "Reporting a problem"
msgstr "Meld een probleem"
#: perllib/FixMyStreet/Cobrand/Default.pm:655
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:383
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:388
#: templates/web/base/dashboard/index.html:134
#: templates/web/zurich/header.html:52
msgid "Reports"
msgstr "Meldingen"
-#: perllib/FixMyStreet/Cobrand/UK.pm:329 perllib/FixMyStreet/Cobrand/UK.pm:333
+#: perllib/FixMyStreet/Cobrand/UK.pm:333 perllib/FixMyStreet/Cobrand/UK.pm:335
msgid "Reports are limited to %s characters in length. Please shorten your report"
msgstr ""
@@ -3089,31 +3112,53 @@ msgstr ""
msgid "Reports awaiting approval"
msgstr ""
+#: templates/web/base/alert/_list.html:54
+#, fuzzy
+msgid "Reports by destination"
+msgstr "Gemeld door %s bij %s"
+
#: templates/web/base/admin/user-form.html:107
msgid "Reports made by trusted users will be sent to the responsible body without being inspected first."
msgstr ""
+#: templates/web/base/alert/_list.html:15
+msgid "Reports near %s are sent to different councils, depending on the type of problem."
+msgstr ""
+
#: templates/web/zurich/admin/index-sdm.html:10
msgid "Reports published"
msgstr ""
-#: templates/web/base/js/translation_strings.html:68
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:71
msgid "Reports saved offline."
-msgstr "Meld een probleem"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#, fuzzy
+msgid "Reports sent to %s"
+msgstr "Meld op %s"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:290 perllib/FixMyStreet/Cobrand/UK.pm:302
+#, fuzzy
+msgid "Reports sent to %s, within %s ward"
+msgstr "RSS feed van %s, binnen wijk %s"
#: templates/web/base/admin/index.html:56
msgid "Reports waiting to be sent"
msgstr ""
-#: templates/web/base/admin/contact-form.html:89
+#: templates/web/base/admin/contact-form.html:90
msgid "Reports will automatically be sent without needing to be inspected if the user's <strong>reputation</strong> is at or above this value. Set to <strong>0</strong> if all reports must be inspected regardless."
msgstr ""
-#: templates/web/base/admin/contact-form.html:94
+#: templates/web/base/admin/contact-form.html:95
msgid "Reputation threshold"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:20
+msgid "Required"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:84
msgid "Resend report"
msgstr "Herstuur melding"
@@ -3149,7 +3194,7 @@ msgstr ""
msgid "Revert to original"
msgstr ""
-#: templates/web/base/report/_main.html:95
+#: templates/web/base/report/_main.html:99
msgid "Revert to original text"
msgstr ""
@@ -3172,16 +3217,16 @@ msgstr "Wegbeheerder voor deze straat (afgeleid van wegnummer en type): %s"
msgid "Road operator for this named road (from OpenStreetMap): %s"
msgstr "Wegbeheerder voor deze straat (uit OpenStreetMap): %s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1747
-#: templates/web/base/admin/report_edit.html:163
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1852
+#: templates/web/base/admin/report_edit.html:151
#: templates/web/base/admin/update_edit.html:66
#: templates/web/zurich/admin/report_edit.html:118
msgid "Rotate Left"
msgstr "Linksom roteren"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: templates/web/base/admin/report_edit.html:164
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: templates/web/base/admin/report_edit.html:152
#: templates/web/base/admin/update_edit.html:67
#: templates/web/zurich/admin/report_edit.html:119
msgid "Rotate Right"
@@ -3196,32 +3241,41 @@ msgstr ""
msgid "Satellite"
msgstr ""
-#: templates/web/base/report/_inspect.html:168
+#: templates/web/base/report/_inspect.html:182
msgid "Save + close as duplicate"
msgstr ""
-#: templates/web/base/admin/contact-form.html:137
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/contact-form.html:138
+#: templates/web/base/admin/reportextrafields/edit.html:64
+#: templates/web/base/admin/responsepriorities/edit.html:58
#: templates/web/base/admin/template_edit.html:46
-#: templates/web/base/report/_inspect.html:168
-#: templates/web/base/report/_main.html:113
-#: templates/web/base/report/update.html:60
+#: templates/web/base/report/_inspect.html:182
+#: templates/web/base/report/_main.html:117
+#: templates/web/base/report/update.html:69
#: templates/web/zurich/admin/body.html:62
-#: templates/web/zurich/admin/contact-form.html:20
+#: templates/web/zurich/admin/contact-form.html:22
#: templates/web/zurich/admin/template_edit.html:29
msgid "Save changes"
msgstr "Wijzigingen opslaan"
-#: templates/web/base/report/_inspect.html:148
+#: templates/web/base/admin/reportextrafields/edit.html:64
+msgid "Save new fields"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:158
msgid "Save with a public update"
msgstr ""
-#. ('This is followed by a progress count, e.g. 3/5')
#. ("This is followed by a progress count, e.g. 3/5")
-#: templates/web/base/js/translation_strings.html:69
+#: templates/web/base/js/translation_strings.html:72
msgid "Saving reports offline"
msgstr ""
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:132
+#, fuzzy
+msgid "Scheduled"
+msgstr "Actie ingepland"
+
#: templates/web/base/admin/index.html:26
#: templates/web/base/admin/reports.html:1
#: templates/web/zurich/admin/reports.html:1
@@ -3255,41 +3309,41 @@ msgstr "Geen gebruikers gevonden."
msgid "See our privacy policy"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:715
+#: perllib/FixMyStreet/Cobrand/Default.pm:720
msgid "See user detail for reports created as the council"
msgstr ""
-#: templates/web/base/admin/body-form.html:39
+#: templates/web/base/admin/body-form.html:41
#: templates/web/zurich/admin/body-form.html:16
msgid "Select a body"
msgstr ""
-#: templates/web/base/reports/index.html:12
-msgid "Select a particular council to see the reports sent there."
-msgstr "Selecteer een gemeente om te zien welke rapporten hierheen zijn gestuurd."
-
-#: templates/web/base/admin/body-form.html:77
+#: templates/web/base/admin/body-form.html:79
#: templates/web/zurich/admin/body-form.html:26
msgid "Select an area"
msgstr "Selecteer een gebied"
-#: templates/web/base/alert/_list.html:11
-msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
+#: templates/web/base/admin/responsepriorities/edit.html:33
+msgid "Select if this is the default priority"
msgstr ""
#: templates/web/base/admin/category-checkboxes.html:6
msgid "Select:"
msgstr ""
+#: templates/web/base/contact/index.html:107
+msgid "Send"
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:109
msgid "Send extended Open311 statuses with service request updates"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:826
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:831
msgid "Sent report back"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:804
+#: perllib/FixMyStreet/DB/Result/Problem.pm:741
msgid "Sent to %s %s later"
msgstr "Verzonden aan %s %s later"
@@ -3302,7 +3356,7 @@ msgstr "Verzonden:"
msgid "Service:"
msgstr "Service:"
-#: templates/web/base/report/_inspect.html:31
+#: templates/web/base/report/_inspect.html:41
msgid "Set to my current location"
msgstr ""
@@ -3311,49 +3365,56 @@ msgid "Share"
msgstr "Deel"
#: templates/web/base/main_nav_items.html:10
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:21
#: templates/web/base/report/_main.html:29
msgid "Shortlist"
msgstr ""
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/reports/body.html:32
+msgid "Shortlist all visible"
+msgstr ""
+
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:20
#: templates/web/base/report/_main.html:25
#: templates/web/base/reports/_list-filters.html:9
msgid "Shortlisted"
msgstr ""
-#: templates/web/base/report/_main.html:144
+#: templates/web/base/report/_item.html:15
+#: templates/web/base/report/_main.html:148
msgid "Shortlisted by %s"
msgstr ""
#: templates/web/base/report/update.html:20
-#, fuzzy
msgid "Show Photo?"
-msgstr "Toon oud"
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:26
+msgid "Show all updates"
+msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:54
+#: templates/web/base/report/new/form_user_loggedin.html:56
#: templates/web/base/report/new/form_user_loggedout_by_email.html:22
-#: templates/web/base/report/update/form_name.html:33
+#: templates/web/base/report/update/form_name.html:37
msgid "Show my name publicly"
msgstr "Toon mijn naam publiekelijk"
#: templates/web/base/report/update.html:17
-#, fuzzy
msgid "Show name publicly?"
-msgstr "Toon mijn naam publiekelijk"
+msgstr ""
#: templates/web/base/around/display_location.html:69
msgid "Show old"
msgstr "Toon oud"
-#: templates/web/base/report/_main.html:79
-#, fuzzy
+#: templates/web/base/report/_main.html:83
msgid "Show photo"
-msgstr "Toon oud"
+msgstr ""
#: templates/web/base/around/display_location.html:60
+#: templates/web/base/js/translation_strings.html:54
msgid "Show pins"
msgstr "Toon spelden"
@@ -3361,16 +3422,20 @@ msgstr "Toon spelden"
msgid "Show reporter&rsquo;s name"
msgstr ""
-#: templates/web/base/auth/general.html:117
+#: templates/web/base/reports/index.html:62
+msgid "Show reports in your area"
+msgstr ""
+
+#: templates/web/base/auth/general.html:119
#: templates/web/base/auth/general.html:3
-#: templates/web/base/auth/general.html:86
+#: templates/web/base/auth/general.html:88
#: templates/web/base/main_nav_items.html:6
#: templates/web/zurich/auth/general.html:18
#: templates/web/zurich/auth/general.html:35
msgid "Sign in"
msgstr "Inloggen"
-#: templates/web/base/auth/general.html:96
+#: templates/web/base/auth/general.html:98
msgid "Sign in by email instead, providing a new password. When you click the link in your email, your password will be updated."
msgstr ""
@@ -3416,14 +3481,14 @@ msgstr ""
msgid "Sorry, there has been an error confirming your problem."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:230
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:235
#: perllib/FixMyStreet/Geocode.pm:37 perllib/FixMyStreet/Geocode/Bing.pm:38
#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:56
#: perllib/FixMyStreet/Geocode/OSM.pm:48
msgid "Sorry, we could not find that location."
msgstr ""
-#: templates/web/base/auth/general.html:9
+#: templates/web/base/auth/general.html:11
#: templates/web/base/report/display.html:29
#: templates/web/base/report/new/fill_in_details_form.html:15
msgid "Sorry, we could not log you in. Please fill in the form below."
@@ -3445,11 +3510,11 @@ msgid ""
"page wasn’t found or there was a server error. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Root.pm:107
+#: perllib/FixMyStreet/App/Controller/Root.pm:124
msgid "Sorry, you don't have permission to do that."
msgstr ""
-#: templates/web/base/reports/_list-filters.html:42
+#: templates/web/base/reports/_list-filters.html:53
msgid "Sort by"
msgstr ""
@@ -3466,17 +3531,25 @@ msgid "Start Date:"
msgstr "Startdatum:"
#: templates/web/base/admin/body.html:73
+#: templates/web/base/admin/category_edit.html:29
+#: templates/web/base/admin/contact-form.html:53
#: templates/web/base/admin/flagged.html:18
#: templates/web/base/admin/index.html:64
#: templates/web/base/admin/list_updates.html:11
#: templates/web/base/admin/reports.html:16
#: templates/web/base/admin/template_edit.html:40
-#: templates/web/base/report/_inspect.html:83
-#: templates/web/base/report/_item.html:94
+#: templates/web/base/report/_inspect.html:82
+#: templates/web/base/report/_item.html:96
#: templates/web/base/report/update/form_update.html:39
+#: templates/web/zurich/admin/contact-form.html:10
msgid "State"
msgstr "Staat"
+#: templates/web/base/report/update.html:48
+#, fuzzy
+msgid "State changed to:"
+msgstr "Wijzigingen opslaan"
+
#: templates/web/base/admin/report_edit.html:116
#: templates/web/base/admin/update_edit.html:28
#: templates/web/zurich/admin/report_edit-sdm.html:75
@@ -3486,8 +3559,14 @@ msgstr "Staat"
msgid "State:"
msgstr "Staat:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:640
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:386
+#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: templates/web/base/admin/states/index.html:1
+#, fuzzy
+msgid "States"
+msgstr "Staat"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
#: templates/web/base/admin/index.html:71 templates/web/base/admin/stats.html:1
#: templates/web/base/admin/stats_by_state.html:1
#: templates/web/zurich/admin/stats.html:1 templates/web/zurich/header.html:65
@@ -3509,6 +3588,10 @@ msgstr ""
msgid "Street View"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:46
+msgid "String"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:192
msgid "Subcategory: %s"
msgstr "Subcategorie: %s"
@@ -3517,7 +3600,7 @@ msgstr "Subcategorie: %s"
msgid "Subdivision/Body"
msgstr ""
-#: templates/web/base/contact/index.html:88
+#: templates/web/base/contact/index.html:92
msgid "Subject"
msgstr "Onderwerp"
@@ -3527,14 +3610,14 @@ msgid "Subject:"
msgstr "Onderwerp:"
#: templates/web/base/questionnaire/creator_fixed.html:19
-#: templates/web/base/report/new/form_user_loggedin.html:61
+#: templates/web/base/report/new/form_user_loggedin.html:63
#: templates/web/base/report/new/form_user_loggedout_by_email.html:36
#: templates/web/base/report/new/form_user_loggedout_password.html:11
#: templates/web/zurich/report/new/fill_in_details_form.html:73
msgid "Submit"
msgstr "Opslaan"
-#: templates/web/base/admin/report_edit.html:174
+#: templates/web/base/admin/report_edit.html:162
#: templates/web/base/admin/report_edit.html:24
#: templates/web/base/admin/update_edit.html:77
#: templates/web/base/admin/user-form.html:170
@@ -3548,8 +3631,8 @@ msgstr "Wijzigingen opslaan"
msgid "Submit questionnaire"
msgstr "Vragenlijst opslaan"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:164
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:893
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:898
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:6
#: templates/web/zurich/admin/index-dm.html:23
@@ -3559,36 +3642,37 @@ msgstr "Vragenlijst opslaan"
msgid "Submitted"
msgstr "Opgeslagen"
+#: templates/web/base/alert/_list.html:77
+#: templates/web/base/alert/_list.html:80
#: templates/web/base/alert/updates.html:23
#: templates/web/base/report/display_tools.html:51
msgid "Subscribe"
msgstr ""
-#: templates/web/base/alert/_list.html:93
-msgid "Subscribe me to an email alert"
+#: templates/web/base/alert/_list.html:72
+msgid "Subscribe by email"
msgstr ""
#: templates/web/base/report/new/form_report.html:19
msgid "Summarise the problem"
msgstr ""
-#: templates/web/base/admin/contact-form.html:129
+#: templates/web/base/admin/contact-form.html:130
msgid "Summarise your changes"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:638
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:382
+#: perllib/FixMyStreet/Cobrand/Default.pm:637
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:387
#: templates/web/base/admin/bodies.html:29
#: templates/web/base/admin/index.html:1 templates/web/base/status/index.html:1
#: templates/web/base/status/index.html:3
#: templates/web/zurich/admin/index-dm.html:1
#: templates/web/zurich/admin/index-sdm.html:1
-#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:13
+#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:12
#: templates/web/zurich/header.html:49
msgid "Summary"
msgstr "Samenvatting"
-#: templates/web/base/reports/index.html:4
#: templates/web/zurich/reports/index.html:0
#: templates/web/zurich/reports/index.html:4
msgid "Summary reports"
@@ -3612,7 +3696,7 @@ msgid "Template &laquo;%s&raquo;"
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:661
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:393
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
#: templates/web/zurich/header.html:69
msgid "Templates"
msgstr ""
@@ -3641,7 +3725,7 @@ msgstr ""
msgid "Thank you for trying to confirm your update or problem. We seem to have an error ourselves though, so <a href=\"%s\">please let us know what went on</a> and we'll look into it."
msgstr ""
-#: templates/web/base/tokens/confirm_update.html:15
+#: templates/web/base/tokens/confirm_update.html:16
msgid "Thank you for updating this issue!"
msgstr ""
@@ -3669,7 +3753,7 @@ msgstr ""
msgid "That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Location.pm:129
+#: perllib/FixMyStreet/App/Controller/Location.pm:127
msgid "That location does not appear to be in the UK; please try again."
msgstr ""
@@ -3679,23 +3763,23 @@ msgstr ""
msgid "That postcode was not recognised, sorry."
msgstr "De postcode is niet geldig."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:762
+#: perllib/FixMyStreet/App/Controller/Admin.pm:850
msgid "That problem has been marked as sent."
msgstr "Het probleem is gemarkeerd als verzonden."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:755
+#: perllib/FixMyStreet/App/Controller/Admin.pm:843
msgid "That problem will now be resent."
msgstr "Het probleem wordt opnieuw verzonden."
-#: perllib/FixMyStreet/App/Controller/Report.pm:137
+#: perllib/FixMyStreet/App/Controller/Report.pm:134
msgid "That report cannot be viewed on %s."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report.pm:131
+#: perllib/FixMyStreet/App/Controller/Report.pm:128
msgid "That report has been removed from FixMyStreet."
msgstr ""
-#: templates/web/base/admin/contact-form.html:25
+#: templates/web/base/admin/contact-form.html:27
msgid ""
"The <strong>email address</strong> is the destination to which reports about this category will be sent. \n"
" Other categories for this body may have the same email address."
@@ -3715,10 +3799,10 @@ msgid ""
" than one. If the body is running its own endpoint, you can usually leave this blank."
msgstr ""
-#: templates/web/base/admin/body-form.html:100
-#: templates/web/base/admin/body-form.html:101
-#: templates/web/base/admin/contact-form.html:103
+#: templates/web/base/admin/body-form.html:102
+#: templates/web/base/admin/body-form.html:103
#: templates/web/base/admin/contact-form.html:104
+#: templates/web/base/admin/contact-form.html:105
msgid ""
"The <strong>send method</strong> determines how problem reports will be sent to the body.\n"
" If you leave this blank, <strong>send method defaults to email</strong>."
@@ -3735,6 +3819,10 @@ msgid ""
" and may be displayed publically."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:12
+msgid "The code used to store this field value in the database. e.g. <code>address</code> would be available as <code>problem.extra.address</code> in the templates."
+msgstr ""
+
#: templates/web/base/report/new/fill_in_details_text.html:1
#: templates/web/base/report/new/fill_in_details_text.html:3
msgid "The council won&rsquo;t be able to help unless you leave as much detail as you can. Please describe the exact location of the problem (e.g. on a wall), what it is, how long it has been there, a description (and a photo of the problem if you have one), etc."
@@ -3745,11 +3833,15 @@ msgstr ""
msgid "The diligency prize league table shows editors' activity (who's been editing the most records)."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:61
-#: perllib/FixMyStreet/App/Controller/Reports.pm:82
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:63
+#: perllib/FixMyStreet/App/Controller/Reports.pm:103
msgid "The error was: %s"
msgstr "De foutmelding was: %s"
+#: templates/web/base/admin/extra-metadata-form.html:30
+msgid "The field name as shown to the user on the report form."
+msgstr ""
+
#: templates/web/base/open311/index.html:78
msgid "The following Open311 v2 attributes are returned for each request: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
msgstr "De volgende Open311 v2 attributen worden teruggegeven voor elke aanvraag: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code en service_name."
@@ -3788,10 +3880,14 @@ msgstr "Laatste problemen binnen de grenzen van {{NAME}} gemeld door gebruikers"
msgid "The link might have expired, or maybe you didn&rsquo;t quite copy and paste it correctly."
msgstr ""
-#: templates/web/base/admin/body-form.html:64
+#: templates/web/base/admin/body-form.html:66
msgid "The list of available areas is being provided by the MapIt service at %s."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:6
+msgid "The ordering of this field on the report page. Fields are shown in ascending order according to this value."
+msgstr ""
+
#: templates/web/base/auth/change_password.html:22
#: templates/web/base/auth/change_password.html:26
msgid "The passwords do not match"
@@ -3801,9 +3897,9 @@ msgstr "Wachtwoorden komen niet overeen"
msgid "The requested URL '%s' was not found on this server"
msgstr "De opgevraagde URL '%s' is niet gevonden op de server"
-#: templates/web/base/alert/_list.html:17
-msgid "The simplest alert is our geographic one:"
-msgstr "De simpelste melding is onze geografische:"
+#: templates/web/base/admin/extra-metadata-form.html:42
+msgid "The type of input field to show to the user. <strong>Text</strong> is a simple text field, <strong>List</strong> is a drop-down selection."
+msgstr ""
#: perllib/FixMyStreet/Script/Reports.pm:96
msgid "The user could not locate the problem on a map, but to see the area around the location they entered"
@@ -3822,18 +3918,18 @@ msgstr ""
msgid "There are no reports to show."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Reports.pm:79
+#: perllib/FixMyStreet/App/Controller/Reports.pm:100
msgid "There was a problem showing the All Reports page. Please try again later."
msgstr "Er was een probleem bij het tonen van de Alle Meldingen pagina. Probeer het later nog eens."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:137
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:60
+#: perllib/FixMyStreet/App/Controller/Contact.pm:138
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:62
msgid "There was a problem showing this page. Please try again later."
msgstr "Er was een probleem bij het tonen van deze pagina. Probeer het later nog eens."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:758
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:785
#: perllib/FixMyStreet/App/Controller/Report/Update.pm:152
-#: templates/web/base/auth/general.html:53
+#: templates/web/base/auth/general.html:55
#: templates/web/zurich/auth/general.html:28
msgid "There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the &lsquo;sign in by email&rsquo; section of the form."
msgstr "Er was een probleem met je e-mailadres/wachtwoord combinatie. Als je het wachtwoord niet kunt herinneren, of je hebt er geen een, vul dan het formulier &lsquo;inloggen via email&rsquo; in."
@@ -3846,7 +3942,7 @@ msgstr "Er was een probleem met je e-mailadres/wachtwoord combinatie. Probeer he
msgid "There was a problem with your update. Please try again."
msgstr "Er was een probleem met je update. Probeer het later nog eens."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:141
+#: perllib/FixMyStreet/App/Controller/Contact.pm:142
msgid "There were problems with your report. Please see below."
msgstr "Er was een probleem met je melding. Zie beneden."
@@ -3898,8 +3994,8 @@ msgstr ""
msgid "This body has no contacts. This means that currently problems reported to this body <strong>will not be sent</strong>."
msgstr ""
-#: templates/web/base/admin/body-form.html:58
-#: templates/web/base/admin/body-form.html:59
+#: templates/web/base/admin/body-form.html:60
+#: templates/web/base/admin/body-form.html:61
msgid ""
"This body will only be sent reports for problems that are located in the <strong>area covered</strong>.\n"
" A body will not receive any reports unless it covers at least one area."
@@ -3913,8 +4009,9 @@ msgstr "Deze e-mail is naar meerdere contactpersonen gestuurd die mogelijk geïn
msgid "This email has been sent to several councils covering the location of the problem, as the category selected is provided for all of them; please ignore it if you're not the correct council to deal with the issue."
msgstr "Deze e-mail is naar meerdere contactpersonen gestuurd die mogelijk geïnteresseerd zijn in deze lokatie. Negeer deze melding als je niet de juiste contactpersoon bent."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:881
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:925
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1017
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:910
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:954
#: perllib/FixMyStreet/App/Controller/Report/New.pm:971
#: perllib/FixMyStreet/Cobrand/UK.pm:45
msgid "This information is required"
@@ -3924,46 +4021,41 @@ msgstr "Deze informatie is verplicht"
msgid "This is a developer site; things might break at any time, and the database will be periodically deleted."
msgstr "Dit is een ontwikkelingssite; er kunnen mogelijk problemen optreden, en de database wordt regelmatig opgeschoond."
-#: templates/web/base/reports/index.html:10
-msgid "This is a summary of all reports on this site."
-msgstr "Dit is een samenvatting van alle meldingen op deze site."
-
-#: templates/web/base/report/new/form_report.html:56
+#: templates/web/base/report/new/form_report.html:58
msgid "This pothole has been here for two months and…"
msgstr ""
-#: templates/web/base/report/update/form_update.html:63
+#: templates/web/base/report/update/form_update.html:55
msgid "This problem has been fixed"
msgstr "Dit probleem is opgelost"
-#: templates/web/base/report/update/form_update.html:56
+#: templates/web/base/report/update/form_update.html:48
msgid "This problem has not been fixed"
msgstr "Dit probleem is niet opgelost"
-#: templates/web/base/report/update/form_update.html:54
-#, fuzzy
+#: templates/web/base/report/update/form_update.html:46
msgid "This problem is still ongoing"
-msgstr "Dit probleem is niet opgelost"
+msgstr ""
#: templates/web/base/report/duplicate-no-updates.html:3
msgid "This report is a duplicate. Please leave updates on the original report:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:161
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:162
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:166
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:167
#: templates/web/zurich/report/_main.html:14
msgid "This report is awaiting moderation."
msgstr ""
-#: perllib/FixMyStreet/Script/Alerts.pm:101
+#: perllib/FixMyStreet/Script/Alerts.pm:98
msgid "This report is currently marked as closed."
msgstr "Deze melding is momenteel gemarkeerd als gesloten."
-#: perllib/FixMyStreet/Script/Alerts.pm:99
+#: perllib/FixMyStreet/Script/Alerts.pm:96
msgid "This report is currently marked as fixed."
msgstr "Deze melding is momenteel gemarkeerd als opgelost."
-#: perllib/FixMyStreet/Script/Alerts.pm:103
+#: perllib/FixMyStreet/Script/Alerts.pm:100
msgid "This report is currently marked as open."
msgstr "Deze melding is momenteel gemarkeerd als openstaand."
@@ -3982,7 +4074,7 @@ msgstr "Deze pagina bevat een door de gebruiker aangeleverde foto van het proble
msgid "Time spent (in minutes):"
msgstr "Gespendeerde tijd (in minuten):"
-#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Default.pm:638
#: templates/web/base/admin/timeline.html:1
msgid "Timeline"
msgstr "Tijdslijn"
@@ -4011,10 +4103,26 @@ msgstr ""
msgid "To find out what local alerts we have for you, please enter your postcode or street name and area"
msgstr "Vul je postcode of straatnaam en plaats in om te kijken welke lokale meldingen we voor je hebben."
+#: templates/web/base/admin/reportextrafields/edit.html:19
+msgid "To limit this collection of fields to a single cobrand, select it here."
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:40
+msgid "To limit this collection of fields to a single language, select it here."
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:95
msgid "To view a map of the precise location of this issue"
msgstr ""
+#: templates/web/base/reports/index.html:97
+msgid "Top 5 most used categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:83
+msgid "Top 5 responsive councils"
+msgstr ""
+
#: templates/web/base/admin/questionnaire.html:24
#: templates/web/base/admin/stats.html:24
#: templates/web/base/admin/stats.html:43
@@ -4028,9 +4136,8 @@ msgid "Total marked"
msgstr ""
#: templates/web/base/dashboard/index.html:71
-#, fuzzy
msgid "Total marked as fixed"
-msgstr "gemarkeerd als opgelost"
+msgstr ""
#: templates/web/base/dashboard/index.html:125
msgid "Total not marked"
@@ -4041,16 +4148,24 @@ msgstr ""
msgid "Total reports received"
msgstr ""
-#: templates/web/base/report/_inspect.html:124
-#: templates/web/base/report/_item.html:102
+#: templates/web/base/report/_inspect.html:134
+#: templates/web/base/report/_item.html:104
msgid "Traffic management required?"
msgstr ""
+#: templates/web/base/admin/_translations.html:7
+msgid "Translation"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:2
+msgid "Translations"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:111
msgid "Trusted by bodies:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:721
+#: perllib/FixMyStreet/Cobrand/Default.pm:726
msgid "Trusted to make reports that don't need to be inspected"
msgstr ""
@@ -4066,8 +4181,14 @@ msgstr "Opnieuw proberen"
msgid "Try emailing us directly:"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:21
+#: templates/web/base/admin/extra-metadata-form.html:44
+#: templates/web/base/admin/states/index.html:10
+#: templates/web/base/admin/states/index.html:100
+msgid "Type"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:59
+#: templates/web/base/admin/contact-form.html:55
#: templates/web/base/admin/update_edit.html:30
#: templates/web/zurich/admin/report_edit-sdm.html:66
#: templates/web/zurich/admin/report_edit.html:94
@@ -4075,7 +4196,6 @@ msgstr ""
msgid "Unconfirmed"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:12
#: templates/web/base/reports/_list-filters.html:5
msgid "Unfixed reports"
msgstr "Onopgeloste meldingen"
@@ -4089,26 +4209,26 @@ msgid "Unknown alert type"
msgstr ""
#: perllib/FixMyStreet/App/Controller/Photo.pm:109
-#: perllib/FixMyStreet/App/Controller/Root.pm:124
+#: perllib/FixMyStreet/App/Controller/Root.pm:141
#: templates/web/base/js/translation_strings.html:38
msgid "Unknown error"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report.pm:115
+#: perllib/FixMyStreet/App/Controller/Report.pm:112
+#: perllib/FixMyStreet/App/Controller/Report.pm:118
#: perllib/FixMyStreet/App/Controller/Report.pm:121
-#: perllib/FixMyStreet/App/Controller/Report.pm:124
msgid "Unknown problem ID"
msgstr ""
#: templates/web/base/reports/_list-filters.html:10
-#, fuzzy
msgid "Unshortlisted"
-msgstr "Voeg aan favorieten toe"
+msgstr ""
-#: templates/web/base/report/_item.html:24
+#: templates/web/base/report/_item.html:26
msgid "Up one"
msgstr ""
+#: templates/web/base/admin/states/index.html:76
#: templates/web/base/report/update/form_update.html:29
msgid "Update"
msgstr ""
@@ -4125,7 +4245,7 @@ msgstr ""
msgid "Update below added by %s at %s"
msgstr ""
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Update body"
msgstr ""
@@ -4161,13 +4281,23 @@ msgstr ""
msgid "Updated"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1157
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1221
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1384
-#: perllib/FixMyStreet/App/Controller/Admin.pm:822
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:762
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:787
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:857
+#: perllib/FixMyStreet/DB/Result/Comment.pm:249
+#, fuzzy
+msgid "Updated by <strong>%s</strong> (%s) at %s"
+msgstr "Geplaatst door <strong>%s</strong> (%s) bij %s"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:251
+#, fuzzy
+msgid "Updated by <strong>%s</strong> at %s"
+msgstr "Geplaatst door <strong>%s</strong> bij %s"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1262
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1326
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1489
+#: perllib/FixMyStreet/App/Controller/Admin.pm:910
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:767
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:792
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:862
msgid "Updated!"
msgstr ""
@@ -4177,7 +4307,7 @@ msgstr ""
msgid "Updates"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:133
+#: perllib/FixMyStreet/DB/Result/Comment.pm:134
msgid "Updates are limited to %s characters in length. Please shorten your update"
msgstr ""
@@ -4191,11 +4321,22 @@ msgstr ""
msgid "Updates to this problem, %s"
msgstr ""
+#: templates/web/base/admin/contact-form.html:43
+#: templates/web/base/admin/contact-form.html:44
+msgid ""
+"Use <strong>confirmed</strong> to indicate that this contact has been\n"
+"confirmed as correct. If you are not sure of the origin or validity of the\n"
+"contact, use <strong>unconfirmed</strong>. <strong>inactive</strong> will\n"
+"remove the category from use when reporting problems, but keep it available in\n"
+"map filters, and <strong>deleted</strong> will remove the category from there\n"
+"as well."
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:65
msgid "Use Open311 update-sending extension"
msgstr ""
-#: templates/web/base/admin/contact-form.html:124
+#: templates/web/base/admin/contact-form.html:125
msgid "Use this field to record details that are only displayed in the admin. Input is not shown publicly, and is not sent to the body."
msgstr ""
@@ -4208,27 +4349,26 @@ msgstr "Gebruikte kaart"
msgid "User ID to attribute fetched comments to"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1700
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1805
msgid "User flag removed"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1672
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1777
msgid "User flagged"
msgstr ""
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:58
-#, fuzzy
msgid "User has marked as fixed"
-msgstr "gemarkeerd als opgelost"
+msgstr ""
#: templates/web/base/admin/users.html:5
msgid "User search finds matches in users' names and email addresses."
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:669
-#: perllib/FixMyStreet/Cobrand/Default.pm:723
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
+#: perllib/FixMyStreet/Cobrand/Default.pm:728
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:403
#: templates/web/base/admin/flagged.html:29 templates/web/zurich/header.html:61
msgid "Users"
msgstr "Gebruikers"
@@ -4237,9 +4377,9 @@ msgstr "Gebruikers"
msgid "Users can perform the following actions within their assigned body or area."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:400
-#: perllib/FixMyStreet/App/Controller/Admin.pm:430
-#: perllib/FixMyStreet/App/Controller/Admin.pm:448
+#: perllib/FixMyStreet/App/Controller/Admin.pm:381
+#: perllib/FixMyStreet/App/Controller/Admin.pm:417
+#: perllib/FixMyStreet/App/Controller/Admin.pm:439
msgid "Values updated"
msgstr ""
@@ -4286,7 +4426,7 @@ msgstr ""
msgid "We found more than one match for that problem reference:"
msgstr ""
-#: templates/web/base/auth/general.html:6
+#: templates/web/base/auth/general.html:8
#: templates/web/base/report/display.html:35
#: templates/web/base/report/new/oauth_email_form.html:5
msgid "We need your email address, please give it below."
@@ -4321,7 +4461,7 @@ msgstr ""
msgid "What was your experience of getting the problem fixed?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:52
+#: templates/web/base/admin/category_edit.html:27
#: templates/web/zurich/admin/body.html:18
msgid "When edited"
msgstr ""
@@ -4330,11 +4470,19 @@ msgstr ""
msgid "When sent"
msgstr ""
-#: templates/web/base/report/_inspect.html:89
+#: templates/web/base/admin/extra-metadata-form.html:18
+msgid "Whether the user is required to provide a value for this field."
+msgstr ""
+
+#: templates/web/base/alert/_list.html:9
+msgid "Which problems do you want alerts about?"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:99
msgid "Which report is it a duplicate of?"
msgstr ""
-#: templates/web/base/js/translation_strings.html:54
+#: templates/web/base/js/translation_strings.html:57
msgid "Whoa there Testino! Three photos are enough."
msgstr ""
@@ -4342,8 +4490,8 @@ msgstr ""
msgid "Why stop there? <a href=\"/alert\">Set up more alerts</a> for free."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:185
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:190
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:14
msgid "Wish"
@@ -4353,7 +4501,7 @@ msgstr ""
msgid "With request searches, it is also possible to search for agency_responsible to limit the requests to those sent to a single administration. The search term is the administration ID provided by <a href=\"%s\">MaPit</a>."
msgstr ""
-#: templates/web/base/front/footer-marketing.html:17
+#: templates/web/base/front/footer-marketing.html:3
msgid "Would you like to contribute to FixMyStreet? Our code is open source and <a href=\"http://fixmystreet.org\">available at fixmystreet.org</a>."
msgstr ""
@@ -4378,23 +4526,22 @@ msgstr ""
msgid "Year"
msgstr "Jaar"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1202
+#: perllib/FixMyStreet/Cobrand/Default.pm:1236
#: templates/web/base/admin/bodies.html:70
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
#: templates/web/base/admin/category_edit.html:5
#: templates/web/base/admin/flagged.html:47
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:136
+#: templates/web/base/admin/report_edit.html:124
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:25
#: templates/web/base/admin/users.html:32
#: templates/web/base/questionnaire/creator_fixed.html:14
#: templates/web/base/questionnaire/index.html:104
#: templates/web/base/questionnaire/index.html:53
+#: templates/web/base/report/_inspect.html:90
msgid "Yes"
msgstr "Ja"
@@ -4407,7 +4554,7 @@ msgstr "Ja, ik heb een wachtwoord"
msgid "You are complaining that this problem report was unnecessarily moderated:"
msgstr ""
-#: templates/web/base/js/translation_strings.html:70
+#: templates/web/base/js/translation_strings.html:73
msgid "You are offline"
msgstr ""
@@ -4428,7 +4575,11 @@ msgstr ""
msgid "You can add an abusive user's email to the abuse list, which automatically hides (and never sends) reports they create."
msgstr ""
-#: templates/web/base/contact/index.html:111
+#: templates/web/base/alert/_list.html:18
+msgid "You can choose to subscribe to all problems reported in an area, or reports based on their destination."
+msgstr ""
+
+#: templates/web/base/contact/index.html:115
msgid "You can contact technical support on <a href='mailto:%s'>%s</a>"
msgstr ""
@@ -4446,7 +4597,7 @@ msgstr ""
msgid "You can help us by finding a contact email address for local problems for %s and emailing it to us at <a href='mailto:%s'>%s</a>."
msgstr "Je kan ons helpen met het vinden van een e-mailadres voor lokale problemen voor %s door deze naar ons te mailen op <a href='mailto:%s'>%s</a>."
-#: templates/web/base/admin/body-form.html:91
+#: templates/web/base/admin/body-form.html:93
msgid "You can mark a body as deleted if you do not want it to be active on the site."
msgstr ""
@@ -4454,7 +4605,7 @@ msgstr ""
msgid "You declined; please fill in the box above"
msgstr ""
-#: templates/web/base/js/translation_strings.html:72
+#: templates/web/base/js/translation_strings.html:75
msgid "You have <a id=\"oFN\" href=\"\"><span>%s</span> saved to submit</a>."
msgstr ""
@@ -4462,7 +4613,7 @@ msgstr ""
msgid "You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"
msgstr "Je hebt deze vragenlijst al ingevuld. Als je vragen hebt kan je <a href='%s'>contact opnemen</a> of <a href='%s'>je probleem bekijken</a>.\n"
-#: templates/web/base/report/new/form_report.html:37
+#: templates/web/base/report/new/form_report.html:39
#: templates/web/zurich/report/new/fill_in_details_form.html:30
msgid "You have already attached photos to this report. Note that you can attach a maximum of 3 to this report (if you try to upload more, the oldest will be removed)."
msgstr ""
@@ -4520,10 +4671,9 @@ msgstr "Jouw meldingen"
msgid "Your account"
msgstr ""
-#: templates/web/base/alert/_list.html:90
#: templates/web/base/alert/updates.html:19
#: templates/web/base/alert/updates.html:22
-#: templates/web/base/contact/index.html:81
+#: templates/web/base/contact/index.html:80
#: templates/web/base/report/display_tools.html:46
#: templates/web/base/report/display_tools.html:49
#: templates/web/base/report/new/form_user_loggedout_email.html:1
@@ -4533,7 +4683,7 @@ msgid "Your email"
msgstr "Jouw e-mail"
#: templates/web/base/auth/change_email.html:9
-#: templates/web/base/auth/general.html:55
+#: templates/web/base/auth/general.html:57
#: templates/web/base/report/update/form_user_loggedout_email.html:5
#: templates/web/zurich/auth/general.html:30
#: templates/web/zurich/auth/general.html:58
@@ -4544,21 +4694,32 @@ msgstr "Jouw e-mailadres"
msgid "Your information will only be used in accordance with our <a href=\"/privacy\">privacy policy</a>"
msgstr "Je informatie wordt alleen gebruikt zoals vermeld in onze <a href=\"/privacy\">privacy policy</a>"
-#: templates/web/base/auth/general.html:107
+#: templates/web/base/auth/general.html:109
#: templates/web/base/contact/index.html:74
#: templates/web/base/report/new/form_user_loggedout_by_email.html:17
-#: templates/web/base/report/update/form_name.html:29
+#: templates/web/base/report/update/form_name.html:33
#: templates/web/zurich/auth/general.html:61
#: templates/web/zurich/report/new/fill_in_details_form.html:63
msgid "Your name"
msgstr "Jouw naam"
-#: templates/web/base/js/translation_strings.html:62
-#, fuzzy
+#: templates/web/base/my/anonymize.html:13
+msgid "Your name has already been sent to %s, but we can hide it on this page:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:264
+msgid "Your name has been hidden from all your reports and updates."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:260
+msgid "Your name has been hidden."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:65
msgid "Your offline reports"
-msgstr "Jouw meldingen"
+msgstr ""
-#: templates/web/base/auth/general.html:85
+#: templates/web/base/auth/general.html:87
#: templates/web/base/report/new/form_user_loggedout_password.html:10
#: templates/web/base/report/update/form_user_loggedout_password.html:9
#: templates/web/zurich/auth/general.html:34
@@ -4569,6 +4730,7 @@ msgstr "Jouw wachtwoord"
msgid "Your password has been changed"
msgstr "Je wachtwoord is gewijzigd"
+#: templates/web/base/contact/index.html:87
#: templates/web/base/report/new/form_user_loggedout_by_email.html:26
#: templates/web/zurich/report/new/fill_in_details_form.html:69
msgid "Your phone number"
@@ -4587,7 +4749,7 @@ msgstr "Jouw meldingen"
msgid "Your shortlist"
msgstr ""
-#: templates/web/base/js/translation_strings.html:63
+#: templates/web/base/js/translation_strings.html:66
msgid "Your update has been saved offline for submission when back online."
msgstr ""
@@ -4595,8 +4757,8 @@ msgstr ""
msgid "Your updates"
msgstr "Jouw updates"
-#: templates/web/base/report/new/form_user_loggedin.html:18
-#: templates/web/base/report/update/form_name.html:11
+#: templates/web/base/report/new/form_user_loggedin.html:19
+#: templates/web/base/report/update/form_name.html:12
msgid "Yourself"
msgstr ""
@@ -4605,14 +4767,14 @@ msgstr ""
msgid "all"
msgstr ""
+#: perllib/FixMyStreet/DB/Result/Comment.pm:259
+msgid "and a defect raised"
+msgstr ""
+
#: templates/web/base/admin/timeline.html:4
msgid "by %s"
msgstr "door %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:290
-msgid "closed as a duplicate report"
-msgstr ""
-
#: templates/web/base/reports/body.html:6
#: templates/web/base/reports/body.html:7
msgid "council"
@@ -4637,7 +4799,7 @@ msgstr ""
msgid "from %s different users"
msgstr "door %s verschillende gebruikers"
-#: templates/web/base/report/_item.html:61
+#: templates/web/base/report/_item.html:63
#: templates/web/zurich/report/_item.html:14
msgid "last updated %s"
msgstr ""
@@ -4646,44 +4808,7 @@ msgstr ""
msgid "less than a minute"
msgstr "minder dan een minuut"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:280
-msgid "marked as action scheduled"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:292
-msgid "marked as an internal referral"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:282
-msgid "marked as closed"
-msgstr "gemarkeerd als gesloten"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:263
-#: perllib/FixMyStreet/DB/Result/Comment.pm:284
-msgid "marked as fixed"
-msgstr "gemarkeerd als opgelost"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:278
-msgid "marked as in progress"
-msgstr "gemarkeerd als in behandeling"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:274
-msgid "marked as investigating"
-msgstr "gemarkeerd als in onderzoek"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:286
-msgid "marked as no further action"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:288
-msgid "marked as not the council's responsibility"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:276
-msgid "marked as planned"
-msgstr "gemarkeerd als gepland"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:122
+#: perllib/FixMyStreet/App/Controller/Admin.pm:119
#: templates/web/base/admin/questionnaire.html:15
#: templates/web/base/admin/questionnaire.html:16
msgid "n/a"
@@ -4694,14 +4819,10 @@ msgstr "n/b"
msgid "none"
msgstr ""
-#: templates/web/base/admin/category_edit.html:35
-msgid "optional"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:278
+msgid "not the council's responsibility"
msgstr ""
-#: templates/web/base/alert/_list.html:86
-msgid "or"
-msgstr "of"
-
#: templates/web/base/js/translation_strings.html:27
msgid "or locate me automatically"
msgstr ""
@@ -4725,16 +4846,7 @@ msgstr ""
msgid "other areas:"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:265
-#: perllib/FixMyStreet/DB/Result/Comment.pm:271
-msgid "reopened"
-msgstr ""
-
-#: templates/web/base/admin/category_edit.html:35
-msgid "required"
-msgstr ""
-
-#: templates/web/zurich/footer.html:13
+#: templates/web/zurich/footer.html:12
msgid "sign out"
msgstr ""
@@ -4742,11 +4854,15 @@ msgstr ""
msgid "the local council"
msgstr ""
-#: templates/web/base/report/_report_meta_info.html:2
+#: templates/web/base/report/_report_meta_info.html:5
#: templates/web/zurich/report/_main.html:5
msgid "there is no pin shown as the user did not use the map"
msgstr ""
+#: templates/web/base/alert/_list.html:1
+msgid "this location"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:184
msgid "this type of local problem"
msgstr ""
@@ -4755,15 +4871,13 @@ msgstr ""
msgid "today"
msgstr "vandaag"
-#: templates/web/base/js/translation_strings.html:73
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:76
msgid "update"
-msgstr "Updates ontvangen"
+msgstr ""
-#: templates/web/base/js/translation_strings.html:74
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:77
msgid "updates"
-msgstr "Updates ontvangen"
+msgstr ""
#: templates/web/base/admin/report_edit.html:52
msgid "used map"
@@ -4811,11 +4925,11 @@ msgstr[0] "%d minuut"
msgstr[1] "%d minuten"
#: perllib/Utils.pm:246
-#, fuzzy, perl-format
+#, perl-format
msgid "%d month"
msgid_plural "%d months"
-msgstr[0] "%d minuut"
-msgstr[1] "%d minuten"
+msgstr[0] ""
+msgstr[1] ""
#: templates/web/base/report/_support.html:6
#, perl-format
@@ -4838,6 +4952,41 @@ msgid_plural "%d years"
msgstr[0] ""
msgstr[1] ""
+#: templates/web/base/reports/index.html:92
+#, perl-format
+msgid "%s day"
+msgid_plural "%s days"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:55
+#, perl-format
+msgid "%s problem marked as fixed"
+msgid_plural "%s problems marked as fixed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:43
+#, perl-format
+msgid "%s problem reported"
+msgid_plural "%s problems reported"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:107
+#, perl-format
+msgid "%s report"
+msgid_plural "%s reports"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:49
+#, perl-format
+msgid "%s update on problems"
+msgid_plural "%s updates on problems"
+msgstr[0] ""
+msgstr[1] ""
+
#: templates/web/base/front/stats.html:19
#, perl-format
msgid "<big>%s</big> fixed in past month"
@@ -4866,12 +5015,12 @@ msgid_plural "<big>%s</big> updates on reports"
msgstr[0] ""
msgstr[1] ""
-#: templates/web/base/report/_item.html:49
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:51
+#, perl-format
msgid "Reported %d day ago"
msgid_plural "Reported %d days ago"
-msgstr[0] "Gemeld door %s bij %s"
-msgstr[1] "Gemeld door %s bij %s"
+msgstr[0] ""
+msgstr[1] ""
#: templates/web/base/report/new/top_message_some.html:3
#, perl-format
@@ -4887,7 +5036,7 @@ msgid_plural "We do not yet have details for the councils that cover this locati
msgstr[0] ""
msgstr[1] ""
-#: templates/web/base/report/_item.html:59
+#: templates/web/base/report/_item.html:61
#, perl-format
msgid "last updated %d day ago"
msgid_plural "last updated %d days ago"
@@ -4895,23 +5044,74 @@ msgstr[0] ""
msgstr[1] ""
#: templates/email/oxfordshire/archive.txt:9
-#, fuzzy, perl-format
+#, perl-format
msgid "report"
msgid_plural "reports"
-msgstr[0] "Melding"
-msgstr[1] "Melding"
+msgstr[0] ""
+msgstr[1] ""
-#, fuzzy
-#~ msgid "All inspectors"
-#~ msgstr "Alle categoriën"
+#~ msgid "%s ward, %s"
+#~ msgstr "%s district, %s"
-#, fuzzy
-#~ msgid "Report category:"
-#~ msgstr "Maak een categorie"
+#~ msgid "%s, within %s ward"
+#~ msgstr "%s, in %s district"
-#, fuzzy
-#~ msgid "Reported %d days ago"
-#~ msgstr "Gemeld door %s bij %s"
+#~ msgid "(alternatively the RSS feed can be customised, within %s)"
+#~ msgstr "(als alternatief kan de RSS feed worden aangepast binnen %s)"
+
+#~ msgid "-- Pick a property type --"
+#~ msgstr "-- Kies een woning type --"
+
+#~ msgid "Closed reports"
+#~ msgstr "Gesloten meldingen"
+
+#~ msgid "Closed:"
+#~ msgstr "Gesloten:"
+
+#~ msgid "Duplicate"
+#~ msgstr "Dubbeling"
+
+#~ msgid "Fixed:"
+#~ msgstr "Opgelost:"
+
+#~ msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
+#~ msgstr "Hier zijn de soorten meldingen van lokale problemen voor '%s'."
+
+#~ msgid "In Progress"
+#~ msgstr "In Behandeling"
+
+#~ msgid "Investigating"
+#~ msgstr "Onderzoeken"
+
+#~ msgid "Or problems reported to:"
+#~ msgstr "Of problemen gemeld aan:"
+
+#~ msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
+#~ msgstr "Of je kan je abonneren op een melding gebaseerd op welke gemeente je woont:"
+
+#~ msgid "Please choose a property type"
+#~ msgstr "Kies een pand type"
+
+#~ msgid "Problems within the boundary of:"
+#~ msgstr "Problemen binnen de grenzen van:"
+
+#~ msgid "The simplest alert is our geographic one:"
+#~ msgstr "De simpelste melding is onze geografische:"
+
+#~ msgid "marked as closed"
+#~ msgstr "gemarkeerd als gesloten"
+
+#~ msgid "marked as fixed"
+#~ msgstr "gemarkeerd als opgelost"
+
+#~ msgid "marked as in progress"
+#~ msgstr "gemarkeerd als in behandeling"
+
+#~ msgid "marked as investigating"
+#~ msgstr "gemarkeerd als in onderzoek"
+
+#~ msgid "marked as planned"
+#~ msgstr "gemarkeerd als gepland"
-#~ msgid "Cancel"
-#~ msgstr "Annuleren"
+#~ msgid "or"
+#~ msgstr "of"
diff --git a/locale/nn_NO.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/nn_NO.UTF-8/LC_MESSAGES/FixMyStreet.po
index 99eea0af6..aea98bab5 100644
--- a/locale/nn_NO.UTF-8/LC_MESSAGES/FixMyStreet.po
+++ b/locale/nn_NO.UTF-8/LC_MESSAGES/FixMyStreet.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
-"POT-Creation-Date: 2017-03-30 17:33+0100\n"
+"POT-Creation-Date: 2017-09-13 15:40+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: mySociety <transifex@mysociety.org>, 2016\n"
+"Last-Translator: mySociety <transifex@mysociety.org>, 2017\n"
"Language-Team: Norwegian Nynorsk (Norway) (https://www.transifex.com/mysociety/teams/12067/nn_NO/)\n"
"Language: nn_NO\n"
"MIME-Version: 1.0\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:695
+#: perllib/FixMyStreet/DB/Result/Problem.pm:632
#: perllib/FixMyStreet/Script/Reports.pm:197
msgid " and "
msgstr " og "
@@ -91,25 +91,6 @@ msgstr "%s spørjeskjema sendt &ndash; %s svart (%s%%)"
msgid "%s ref:&nbsp;%s"
msgstr "%s ref:&nbsp;%s"
-#. ("%s is the site name")
-#: templates/web/base/alert/_list.html:74
-msgid ""
-"%s sends different categories of problem\n"
-"to the appropriate council, so problems within the boundary of a particular council\n"
-"might not match the problems sent to that council. For example, a graffiti report\n"
-"will be sent to the district council, so will appear in both of the district\n"
-"council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
-"for the county council."
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:257 perllib/FixMyStreet/Cobrand/UK.pm:269
-msgid "%s ward, %s"
-msgstr "%s bydel, %s"
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
-msgid "%s, within %s ward"
-msgstr "%s, innanfor bydelen %s"
-
#: perllib/FixMyStreet/Map/OSM.pm:38
msgid "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"
msgstr ""
@@ -118,7 +99,7 @@ msgstr ""
msgid "(Defect &amp; location of defect)"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
#: templates/web/base/admin/users.html:32
msgid "(Email in abuse table)"
msgstr "(Epost i misbruktabellen)"
@@ -133,28 +114,36 @@ msgstr ""
msgid "(No phone number)"
msgstr ""
-#: templates/web/base/alert/_list.html:25
-msgid "(a default distance which covers roughly 200,000 people)"
-msgstr "(ein standardavstand som dekkjer ein folkesetnad på omtrent 200 000)"
-
-#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
-#: templates/web/base/alert/_list.html:30
-msgid "(alternatively the RSS feed can be customised, within %s)"
+#: templates/web/base/admin/states/index.html:95
+msgid "(a-z and space only)"
msgstr ""
#: templates/web/zurich/report/_item.html:19
msgid "(closed)"
msgstr "(lukka)"
+#: templates/web/base/alert/_list.html:30
+#, fuzzy
+msgid "(covers roughly 200,000 people)"
+msgstr "(ein standardavstand som dekkjer ein folkesetnad på omtrent 200 000)"
+
#: templates/web/zurich/report/_item.html:17
msgid "(fixed)"
msgstr "(løyst)"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "(ignored if type is \"String\")"
+msgstr ""
+
#: templates/web/base/around/intro.html:2
msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
msgstr "(som tagging, søppel, hol i vegen, eller øydelagte gatelys)"
-#: templates/web/base/report/_item.html:68
+#: templates/web/base/reports/index.html:69
+msgid "(no longer exists)"
+msgstr ""
+
+#: templates/web/base/report/_item.html:70
msgid "(not sent to council)"
msgstr "(ikkje rapportert til administrasjonen)"
@@ -162,20 +151,22 @@ msgstr "(ikkje rapportert til administrasjonen)"
msgid "(optional)"
msgstr "(valfritt)"
-#: templates/web/base/report/_item.html:67
+#: templates/web/base/report/_item.html:69
msgid "(sent to both)"
msgstr "(sendt til begge)"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:239
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/DB/Result/Problem.pm:454
+#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
+#: templates/web/base/alert/_list.html:36
+#, fuzzy
+msgid "(we also have RSS feeds for problems within %s)"
+msgstr "RSS-straum for problem innanfor %s"
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:245
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:381
msgid "-- Pick a category --"
msgstr "-- Vel ein kategori --"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:460
-msgid "-- Pick a property type --"
-msgstr "-- Vel ein eigedomstype --"
-
#: templates/web/base/admin/response_templates_select.html:3
msgid "--Choose a template--"
msgstr ""
@@ -184,16 +175,16 @@ msgstr ""
msgid "10 inch pothole on Example St, near post box"
msgstr ""
-#: templates/web/base/dashboard/index.html:152
+#: templates/web/base/dashboard/index.html:153
msgid "14-30 days old"
msgstr ""
-#: templates/web/base/dashboard/index.html:151
+#: templates/web/base/dashboard/index.html:152
msgid "7-14 days old"
msgstr ""
-#: templates/web/base/admin/body-form.html:48
-#: templates/web/base/admin/body-form.html:49
+#: templates/web/base/admin/body-form.html:50
+#: templates/web/base/admin/body-form.html:51
msgid ""
"<code>MAPIT_URL</code> is set (<code>%s</code>) but no <code>MAPIT_TYPES</code>.<br>\n"
" This is probably why \"area covered\" is empty (below).<br>\n"
@@ -204,13 +195,12 @@ msgstr ""
msgid "<h2>Reports, Statistics and Actions for</h2> <h1>%s</h1>"
msgstr ""
-#. ('The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories')
#. ("The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories")
-#: templates/web/base/reports/_list-filters.html:37
-msgid "<label for=\"statuses\">Show</label> %s <label for=\"filter_categories\">about</label> %s"
+#: templates/web/base/reports/_list-filters.html:48
+msgid "<label for=\"statuses\">Show</label> %s reports <label for=\"filter_categories\">about</label> %s"
msgstr ""
-#: templates/web/base/js/translation_strings.html:71
+#: templates/web/base/js/translation_strings.html:74
msgid "<span>%s</span> saved."
msgstr ""
@@ -227,34 +217,25 @@ msgstr ""
msgid "<strong>No</strong> Let me confirm my update by email"
msgstr ""
-#: templates/web/base/auth/general.html:104
+#: templates/web/base/auth/general.html:106
#: templates/web/zurich/auth/general.html:51
msgid "<strong>No</strong> let me sign in by email"
msgstr ""
-#: templates/web/base/report/_inspect.html:160
+#: templates/web/base/report/_inspect.html:170
msgid "<strong>Note:</strong> This report has been sent onwards for action. Any changes made won't be passed on."
msgstr ""
-#: templates/web/base/report/_inspect.html:162
+#: templates/web/base/report/_inspect.html:172
msgid "<strong>Note:</strong> This report hasn't yet been sent onwards for action. Any changes made may not be passed on."
msgstr ""
-#: templates/web/base/auth/general.html:80
+#: templates/web/base/auth/general.html:82
#: templates/web/base/report/new/form_user_loggedout_password.html:3
#: templates/web/base/report/update/form_user_loggedout_password.html:2
msgid "<strong>Yes</strong> I have a password"
msgstr "<strong>Ja</strong>, eg har eit passord"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:10
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:6
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Action Scheduled"
-msgstr ""
-
#: templates/web/base/admin/body-form.html:3
#: templates/web/base/admin/body-form.html:4
msgid ""
@@ -268,19 +249,36 @@ msgid "Add a contact using the form below."
msgstr ""
#: templates/web/base/admin/bodies.html:78
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Add body"
msgstr ""
+#: templates/web/base/admin/reportextrafields/index.html:24
+msgid "Add extra fields"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:79
+msgid "Add field"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:85
+msgid "Add fixed state"
+msgstr ""
+
#: templates/web/base/admin/body.html:126
#: templates/web/zurich/admin/body.html:31
msgid "Add new category"
msgstr "Legg til ny kategori"
+#: templates/web/base/admin/extra-metadata-form.html:72
+#, fuzzy
+msgid "Add option"
+msgstr "(valfritt)"
+
#: templates/web/base/report/_item.html:10
-#: templates/web/base/report/_item.html:14
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_item.html:16
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:19
#: templates/web/base/report/_main.html:30
msgid "Add to shortlist"
@@ -292,15 +290,15 @@ msgstr ""
msgid "Add user"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:730
+#: perllib/FixMyStreet/Cobrand/Default.pm:735
msgid "Add/edit problem categories"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:732
+#: perllib/FixMyStreet/Cobrand/Default.pm:737
msgid "Add/edit response priorities"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:731
+#: perllib/FixMyStreet/Cobrand/Default.pm:736
msgid "Add/edit response templates"
msgstr ""
@@ -308,7 +306,7 @@ msgstr ""
msgid "Added %s"
msgstr "La til %s"
-#: templates/web/base/report/_main.html:145
+#: templates/web/base/report/_main.html:149
msgid "Adding this report to your shortlist will remove it from %s’s shortlist."
msgstr ""
@@ -328,17 +326,17 @@ msgstr "Varsel %d oppretta for %s, type %s, parameter %s / %s"
msgid "Alert %d disabled (created %s)"
msgstr "Varsel %d kobla ut (oppretta %s)"
-#: templates/web/base/report/update/form_name.html:38
+#: templates/web/base/report/update/form_name.html:42
msgid "Alert me to future updates"
msgstr "Send meg varsel ved framtidige oppdateringar"
#: templates/web/base/dashboard/index.html:138
#: templates/web/base/dashboard/index.html:21
#: templates/web/base/dashboard/index.html:30
+#: templates/web/base/reports/_list-filters.html:3
msgid "All"
msgstr ""
-#: templates/web/base/reports/index.html:6
#: templates/web/zurich/reports/index.html:13
msgid "All Reports"
msgstr ""
@@ -348,15 +346,23 @@ msgid "All Reports as CSV"
msgstr ""
#: templates/web/base/admin/category-multiselect.html:5
-#: templates/web/base/admin/responsepriorities/list.html:19
+#: templates/web/base/admin/responsepriorities/list.html:20
msgid "All categories"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:26
+#, fuzzy
+msgid "All cobrands"
+msgstr "Merkevaresamarbeid"
+
+#: templates/web/base/admin/reportextrafields/edit.html:47
+msgid "All languages"
+msgstr ""
+
#: templates/web/base/main_nav_items.html:0
#: templates/web/base/main_nav_items.html:27
-#: templates/web/base/reports/_list-filters.html:3
#: templates/web/zurich/admin/index-dm.html:12
-#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:21
+#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:20
#: templates/web/zurich/nav_over_content.html:6
msgid "All reports"
msgstr "Alle rapportar"
@@ -366,6 +372,14 @@ msgstr "Alle rapportar"
msgid "All reports between %s and %s"
msgstr ""
+#: templates/web/base/reports/index.html:23
+msgid "All time"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:20
+msgid "Alternatively, we can hide your name on <strong>all of your reports and updates</strong> across the site:"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:47
msgid "An update marked this problem as fixed."
msgstr "Ei oppdatering markerte dette problemet som løyst."
@@ -375,31 +389,33 @@ msgstr "Ei oppdatering markerte dette problemet som løyst."
msgid "Anonymous"
msgstr "Anonym"
-#: templates/web/base/admin/report_edit.html:134
+#: templates/web/base/report/new/form_user_loggedin.html:21
+#: templates/web/base/report/update/form_name.html:17
+#, fuzzy
+msgid "Anonymous user"
+msgstr "Anonym"
+
+#: templates/web/base/admin/report_edit.html:122
#: templates/web/base/admin/update_edit.html:23
msgid "Anonymous:"
msgstr "Anonym:"
-#: templates/web/base/report/new/form_user_loggedin.html:20
-#: templates/web/base/report/update/form_name.html:13
+#: templates/web/base/report/new/form_user_loggedin.html:24
+#: templates/web/base/report/update/form_name.html:14
msgid "Another user"
msgstr ""
-#: templates/web/base/front/footer-marketing.html:16
-msgid "Are you a developer?"
-msgstr ""
-
-#: templates/web/base/js/translation_strings.html:56
+#: templates/web/base/js/translation_strings.html:59
msgid "Are you sure you want to cancel this upload?"
msgstr ""
#: templates/web/base/admin/report_edit.html:84
-#: templates/web/base/js/translation_strings.html:66
+#: templates/web/base/js/translation_strings.html:69
#: templates/web/base/report/display_tools.html:6
msgid "Are you sure?"
msgstr ""
-#: templates/web/base/admin/body-form.html:75
+#: templates/web/base/admin/body-form.html:77
#: templates/web/base/admin/body.html:20
#: templates/web/zurich/admin/body-form.html:24
msgid "Area covered"
@@ -431,11 +447,11 @@ msgstr ""
msgid "Assign to subdivision:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:727
+#: perllib/FixMyStreet/Cobrand/Default.pm:732
msgid "Assign users to areas"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:214
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:219
msgid "Assigned to %s"
msgstr ""
@@ -456,11 +472,14 @@ msgstr ""
msgid "Auto-response:"
msgstr ""
-#: templates/web/base/admin/report_edit.html:127
-#: templates/web/base/report/_inspect.html:47
+#: templates/web/base/admin/report-category.html:8
msgid "Available categories"
msgstr ""
+#: templates/web/base/reports/index.html:84
+msgid "Average time between a problem being reported and being fixed, last 100 reports."
+msgstr ""
+
#: templates/web/base/dashboard/index.html:109
msgid "Average time to council marking fixed (days)"
msgstr ""
@@ -473,7 +492,7 @@ msgstr ""
msgid "Avoid personal information and vehicle number plates"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:417
+#: perllib/FixMyStreet/DB/Result/Problem.pm:344
#: templates/web/zurich/report/_item.html:9
msgid "Awaiting moderation"
msgstr ""
@@ -486,13 +505,13 @@ msgstr ""
msgid "Back to all reports"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
msgid "Ban email address"
msgstr "Bannlys e-postadresse"
#: perllib/FixMyStreet/Cobrand/Default.pm:650
-#: perllib/FixMyStreet/Cobrand/Default.pm:729
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
+#: perllib/FixMyStreet/Cobrand/Default.pm:734
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:396
#: templates/web/base/admin/bodies.html:1
#: templates/web/base/admin/report_edit.html:55
#: templates/web/zurich/header.html:56
@@ -514,7 +533,11 @@ msgstr ""
msgid "By Date"
msgstr "PÃ¥ dato"
-#: templates/web/base/auth/token.html:21 templates/web/base/email_sent.html:18
+#: templates/web/base/admin/extra-metadata-form.html:36
+msgid "Can be used to display extra text to the user alongside the field. The default template does not show this (<code>meta.datatype_description</code>), you must add it in <code>category_extras_fields.html</code>"
+msgstr ""
+
+#: templates/web/base/auth/token.html:27 templates/web/base/email_sent.html:20
msgid "Can&rsquo;t find our email? Check your spam folder&nbsp;&ndash; that&rsquo;s the solution 99% of the time."
msgstr ""
@@ -535,8 +558,8 @@ msgstr ""
#: templates/web/base/admin/body.html:72
#: templates/web/base/admin/contact-form.html:19
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/report/_inspect.html:38
-#: templates/web/base/report/_item.html:90
+#: templates/web/base/report/_inspect.html:48
+#: templates/web/base/report/_item.html:92
#: templates/web/base/report/new/category.html:6
#: templates/web/base/report/new/category_wrapper.html:3
#: templates/web/zurich/admin/body.html:14
@@ -547,7 +570,7 @@ msgstr ""
msgid "Category"
msgstr "Kategori"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:852
+#: perllib/FixMyStreet/App/Controller/Admin.pm:956
msgid "Category changed from ‘%s’ to ‘%s’"
msgstr ""
@@ -587,23 +610,11 @@ msgstr ""
msgid "Change password"
msgstr "Byt passord"
-#: templates/web/base/admin/contact-form.html:41
-msgid ""
-"Check <strong>confirmed</strong> to indicate that this contact has been confirmed as correct.\n"
-" If you are not sure of the origin or validity of the contact, leave this unchecked."
-msgstr ""
-
-#: templates/web/base/admin/contact-form.html:52
-msgid ""
-"Check <strong>deleted</strong> to remove the category from use. \n"
-" It will not appear as an available category in the drop-down menu on the report-a-problem page."
-msgstr ""
-
-#: templates/web/base/admin/contact-form.html:79
+#: templates/web/base/admin/contact-form.html:80
msgid "Check <strong>inspection required</strong> if reports in this category <strong>must be inspected</strong> before being sent."
msgstr ""
-#: templates/web/base/admin/contact-form.html:63
+#: templates/web/base/admin/contact-form.html:64
msgid ""
"Check <strong>private</strong> if reports in this category should <strong>never be displayed on the website</strong>.\n"
" <br>\n"
@@ -620,11 +631,11 @@ msgid ""
" to the body too. These will appear in the drop-down menu on the report-a-problem page."
msgstr ""
-#: templates/web/base/report/_inspect.html:93
+#: templates/web/base/report/_inspect.html:103
msgid "Choose another"
msgstr ""
-#: templates/web/base/js/translation_strings.html:65
+#: templates/web/base/js/translation_strings.html:68
msgid "Clear offline data"
msgstr ""
@@ -649,21 +660,21 @@ msgstr ""
msgid "Click the link in our confirmation email to publish your update."
msgstr ""
-#: templates/web/base/auth/token.html:18
+#: templates/web/base/auth/token.html:23
msgid "Click the link in our confirmation email to sign in."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:189
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:960
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:17
-#: templates/web/base/admin/report_blocks.html:27
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:43
-#: templates/web/base/report/banner.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:18
+#: templates/web/base/auth/token.html:20
+msgid "Click the link in that email to sign in."
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:134
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:194
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:965
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:11
+#: templates/web/base/admin/states/index.html:103
+#: templates/web/base/admin/states/index.html:27
+#: templates/web/base/admin/states/index.html:33
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:10
#: templates/web/zurich/admin/header.html:16
@@ -671,23 +682,17 @@ msgstr ""
msgid "Closed"
msgstr "Lukka"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:889
+#: perllib/FixMyStreet/DB/Result/Problem.pm:826
msgid "Closed by council"
msgstr "(ikkje rapportert til administrasjonen)"
-#: templates/web/base/reports/_list-filters.html:13
-msgid "Closed reports"
-msgstr ""
-
-#: templates/web/base/admin/problem_row.html:38
-msgid "Closed:"
-msgstr "Lukka:"
-
#: templates/web/base/admin/report_edit.html:37
msgid "Co-ordinates:"
msgstr "Koordinatar:"
#: templates/web/base/admin/list_updates.html:10
+#: templates/web/base/admin/reportextrafields/edit.html:24
+#: templates/web/base/admin/reportextrafields/index.html:7
msgid "Cobrand"
msgstr "Merkevaresamarbeid"
@@ -701,10 +706,13 @@ msgstr "Data om merkevaresamarbeid:"
msgid "Cobrand:"
msgstr "Merkevaresamarbeid:"
+#: templates/web/base/admin/extra-metadata-form.html:14
+msgid "Code"
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:50
-#, fuzzy
msgid "Collapse map"
-msgstr "brukte kart"
+msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:646
#: templates/web/base/admin/config_page.html:1
@@ -732,9 +740,8 @@ msgstr ""
msgid "Confirmation"
msgstr "Stadfesting"
-#: templates/web/base/admin/body.html:85
-#: templates/web/base/admin/category_edit.html:54
-#: templates/web/base/admin/contact-form.html:47
+#: templates/web/base/admin/contact-form.html:56
+#: templates/web/zurich/admin/contact-form.html:12
#: templates/web/zurich/admin/stats.html:40
msgid "Confirmed"
msgstr "Stadfesta"
@@ -769,8 +776,8 @@ msgstr "Kontakt prosjektgruppa"
msgid "Coordinates:"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1668
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1696
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1773
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1801
msgid "Could not find user"
msgstr "Kunne ikkje finna brukaren"
@@ -790,15 +797,13 @@ msgstr "Administrasjonskontaktar for %s"
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:83
-#, fuzzy
msgid "Council has marked as closed"
-msgstr "Denne rapporten er for tida markert som lukka."
+msgstr ""
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:57
-#, fuzzy
msgid "Council has marked as fixed"
-msgstr "markert som løyst"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:80
@@ -830,24 +835,33 @@ msgstr "Administrasjon:"
msgid "Count"
msgstr "Mengd"
+#: templates/web/base/admin/states/index.html:114
+#, fuzzy
+msgid "Create"
+msgstr "Oppretta"
+
#: templates/web/base/email_sent.html:1
msgid "Create a report"
msgstr "Lag ein rapport"
-#: templates/web/base/admin/contact-form.html:137
+#: templates/web/base/admin/contact-form.html:138
#: templates/web/zurich/admin/body.html:62
msgid "Create category"
msgstr "Lag kategori"
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/responsepriorities/edit.html:58
msgid "Create priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:714
+#: perllib/FixMyStreet/Cobrand/Default.pm:718
+msgid "Create reports/updates as anonymous user"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:719
msgid "Create reports/updates as the council"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:713
+#: perllib/FixMyStreet/Cobrand/Default.pm:717
msgid "Create reports/updates on a user's behalf"
msgstr ""
@@ -877,13 +891,15 @@ msgstr "Gjeldande tilstand"
msgid "Currently no bodies have been created."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:825
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:830
#: templates/web/zurich/admin/report_edit-sdm.html:105
msgid "Customer not contactable"
msgstr ""
#: templates/web/base/dashboard/index.html:5
#: templates/web/base/dashboard/index.html:7
+#: templates/web/base/reports/index.html:15
+#: templates/web/base/reports/index.html:18
msgid "Dashboard"
msgstr ""
@@ -891,29 +907,36 @@ msgstr ""
msgid "Dealt with by subdivision within 5 working days"
msgstr ""
-#: templates/web/base/report/_inspect.html:73
+#: templates/web/base/admin/responsepriorities/list.html:9
+msgid "Default"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:39
+msgid "Default priority"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:72
msgid "Defect type"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:973
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1078
#: templates/web/base/admin/template_edit.html:50
#: templates/web/zurich/admin/template_edit.html:33
msgid "Delete template"
msgstr ""
#: templates/web/base/admin/bodies.html:31
-#: templates/web/base/admin/body.html:87
-#: templates/web/base/admin/category_edit.html:55
#: templates/web/base/admin/contact-form.html:58
-#: templates/web/zurich/admin/contact-form.html:12
+#: templates/web/zurich/admin/contact-form.html:13
msgid "Deleted"
msgstr "Sletta"
-#: templates/web/base/report/_main.html:110
-#: templates/web/base/report/update.html:59
+#: templates/web/base/report/_main.html:114
+#: templates/web/base/report/update.html:68
msgid "Describe why you are moderating this"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:32
#: templates/web/base/admin/responsepriorities/list.html:7
#: templates/web/zurich/admin/index-dm.html:22
#: templates/web/zurich/admin/index-sdm.html:20
@@ -937,7 +960,7 @@ msgstr ""
msgid "Details:"
msgstr "Detaljar:"
-#: templates/web/base/admin/body.html:93
+#: templates/web/base/admin/body.html:92
msgid "Devolved"
msgstr ""
@@ -950,18 +973,17 @@ msgstr ""
msgid "Diligency prize league table"
msgstr "Arbeidshestar"
-#: templates/web/base/report/_main.html:114
-#: templates/web/base/report/update.html:61
-#, fuzzy
+#: templates/web/base/report/_main.html:118
+#: templates/web/base/report/update.html:70
msgid "Discard changes"
-msgstr "Lagra endringar"
+msgstr ""
#: templates/web/base/admin/open311-form-fields.html:95
msgid "Do not send email alerts on fetched comments to problem creator"
msgstr ""
#. ("%s is the site name")
-#: templates/web/base/auth/general.html:58
+#: templates/web/base/auth/general.html:60
#: templates/web/base/report/new/form_user_loggedout.html:25
#: templates/web/base/report/new/oauth_email_form.html:18
#: templates/web/base/report/update-form.html:30
@@ -969,36 +991,31 @@ msgstr ""
msgid "Do you have a %s password?"
msgstr ""
+#: templates/web/base/report/_inspect.html:87
+msgid "Do you want to automatically raise a defect?"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:57
msgid "Don&rsquo;t know"
msgstr "Veit ikkje"
-#: templates/web/base/contact/index.html:108
+#: templates/web/base/contact/index.html:112
msgid "Don't like forms?"
msgstr ""
-#: templates/web/base/report/_item.html:25
+#: templates/web/base/report/_item.html:27
msgid "Down one"
msgstr ""
-#: templates/web/base/js/translation_strings.html:55
+#: templates/web/base/js/translation_strings.html:58
msgid "Drag and drop photos here or <u>click to upload</u>"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:10
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "Duplicate"
-msgstr ""
-
-#: templates/web/base/report/_inspect.html:88
+#: templates/web/base/report/_inspect.html:98
msgid "Duplicate of"
msgstr ""
-#: templates/web/base/report/_inspect.html:98
+#: templates/web/base/report/_inspect.html:108
msgid "Duplicates"
msgstr ""
@@ -1010,43 +1027,43 @@ msgid ""
" "
msgstr ""
-#: templates/web/base/report/_inspect.html:16
-#: templates/web/base/report/_item.html:81
+#: templates/web/base/report/_inspect.html:26
+#: templates/web/base/report/_item.html:83
msgid "Easting/Northing:"
msgstr ""
#: templates/web/base/admin/list_updates.html:42
#: templates/web/base/admin/problem_row.html:41
-#: templates/web/base/admin/responsepriorities/list.html:26
+#: templates/web/base/admin/responsepriorities/list.html:28
#: templates/web/base/admin/templates.html:22
#: templates/web/base/admin/users.html:34
#: templates/web/zurich/admin/problem_row.html:48
msgid "Edit"
msgstr "Rediger"
-#: templates/web/base/admin/body.html:140
+#: templates/web/base/admin/body.html:141
#: templates/web/base/admin/index.html:39
#: templates/web/zurich/admin/body.html:69
msgid "Edit body details"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:724
+#: perllib/FixMyStreet/Cobrand/Default.pm:729
msgid "Edit other users' details"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:725
+#: perllib/FixMyStreet/Cobrand/Default.pm:730
msgid "Edit other users' permissions"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:708
+#: perllib/FixMyStreet/Cobrand/Default.pm:712
msgid "Edit report category"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:709
+#: perllib/FixMyStreet/Cobrand/Default.pm:713
msgid "Edit report priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:707
+#: perllib/FixMyStreet/Cobrand/Default.pm:711
msgid "Edit reports"
msgstr ""
@@ -1069,15 +1086,15 @@ msgstr "Redigerer oppdatering %d"
msgid "Editing user %d"
msgstr "Redigerer brukar %d"
-#: templates/web/base/admin/category_edit.html:56
+#: templates/web/base/admin/category_edit.html:30
msgid "Editor"
msgstr "Oppdatert av"
#: templates/web/base/admin/bodies.html:27
-#: templates/web/base/admin/category_edit.html:53
+#: templates/web/base/admin/category_edit.html:28
#: templates/web/base/admin/flagged.html:38
#: templates/web/base/admin/users.html:17
-#: templates/web/base/auth/general.html:49
+#: templates/web/base/auth/general.html:51
#: templates/web/zurich/admin/body-form.html:9
#: templates/web/zurich/admin/body.html:15
#: templates/web/zurich/auth/general.html:24
@@ -1085,13 +1102,14 @@ msgstr "Oppdatert av"
msgid "Email"
msgstr "E-post"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1644
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1749
msgid "Email added to abuse list"
msgstr "E-post lagd til misbrukliste"
-#: templates/web/base/admin/contact-form.html:36
-#: templates/web/base/report/new/form_user_loggedin.html:28
-#: templates/web/base/report/update/form_name.html:19
+#: templates/web/base/admin/contact-form.html:38
+#: templates/web/base/alert/_list.html:74
+#: templates/web/base/report/new/form_user_loggedin.html:32
+#: templates/web/base/report/update/form_name.html:23
msgid "Email address"
msgstr ""
@@ -1103,11 +1121,11 @@ msgstr ""
msgid "Email alert deleted"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1641
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1746
msgid "Email already in abuse list"
msgstr "E-post allereie i misbruklista"
-#: templates/web/base/admin/report_edit.html:141
+#: templates/web/base/admin/report_edit.html:129
#: templates/web/base/admin/update_edit.html:35
#: templates/web/base/admin/user-form.html:19
#: templates/web/zurich/admin/body.html:48
@@ -1128,8 +1146,8 @@ msgid ""
" <a href='https://www.mysociety.org/2013/02/20/open311-extended/' class='admin-offsite-link'>this article</a>."
msgstr ""
-#: templates/web/base/admin/body-form.html:120
-#: templates/web/base/admin/body-form.html:121
+#: templates/web/base/admin/body-form.html:122
+#: templates/web/base/admin/body-form.html:123
msgid ""
"Enable this <strong>can be devolved</strong> setting if one or more contacts have a \n"
" different endpoint (and send method) from the body's. For example, if reports for some categories of\n"
@@ -1144,11 +1162,11 @@ msgstr ""
msgid "Endpoint"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:76
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:81
msgid "Enter a Z&uuml;rich street name"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:15
+#: perllib/FixMyStreet/Cobrand/UK.pm:16
msgid "Enter a nearby UK postcode, or street name and area"
msgstr ""
@@ -1157,12 +1175,13 @@ msgstr ""
msgid "Enter a nearby postcode, or street name and area"
msgstr "Skriv inn postnummer i nærleiken, eller vegnamn og stad"
+#: perllib/FixMyStreet/Cobrand/DansMonQwat.pm:14
#: templates/web/base/around/postcode_form.html:5
#: templates/web/base/around/postcode_form.html:6
msgid "Enter a nearby street name and area"
msgstr ""
-#: templates/web/base/auth/general.html:116
+#: templates/web/base/auth/general.html:118
#: templates/web/base/report/new/form_user_loggedout_by_email.html:35
#: templates/web/base/report/update/form_user_loggedout_by_email.html:13
#: templates/web/zurich/auth/general.html:65
@@ -1182,8 +1201,8 @@ msgstr "Legg inn detaljar om problemet"
msgid "Error"
msgstr "Feil"
-#: templates/web/base/reports/_list-filters.html:20
-#: templates/web/base/reports/_list-filters.html:28
+#: templates/web/base/reports/_list-filters.html:31
+#: templates/web/base/reports/_list-filters.html:39
msgid "Everything"
msgstr ""
@@ -1196,8 +1215,7 @@ msgstr "Postnummerdøme %s"
msgid "Examples:"
msgstr "Døme:"
-#: templates/web/base/admin/report_edit.html:122
-#: templates/web/base/report/_inspect.html:42
+#: templates/web/base/admin/report-category.html:3
msgid "Existing category"
msgstr ""
@@ -1205,16 +1223,16 @@ msgstr ""
msgid "Expand map"
msgstr ""
-#: templates/web/base/report/new/form_report.html:52
+#: templates/web/base/report/new/form_report.html:54
msgid "Explain what’s wrong"
msgstr ""
-#: templates/web/base/dashboard/index.html:146
+#: templates/web/base/dashboard/index.html:147
msgid "Export as CSV"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:913
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:179
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:12
msgid "Extern"
@@ -1225,7 +1243,7 @@ msgstr ""
msgid "External ID"
msgstr ""
-#: templates/web/base/admin/body-form.html:87
+#: templates/web/base/admin/body-form.html:89
msgid "External URL"
msgstr ""
@@ -1237,13 +1255,19 @@ msgstr ""
msgid "External team"
msgstr ""
-#: templates/web/base/admin/category_edit.html:25
+#: perllib/FixMyStreet/Cobrand/Default.pm:673
+#: templates/web/base/admin/reportextrafields/edit.html:1
+#: templates/web/base/admin/reportextrafields/index.html:1
+msgid "Extra Fields"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:141
#: templates/web/base/admin/report_edit.html:94
msgid "Extra data:"
msgstr ""
-#: templates/web/base/report/_inspect.html:134
-#: templates/web/base/report/_item.html:106
+#: templates/web/base/report/_inspect.html:144
+#: templates/web/base/report/_item.html:108
msgid "Extra details"
msgstr ""
@@ -1251,6 +1275,11 @@ msgstr ""
msgid "Failed to send message"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:58
+#: templates/web/base/admin/reportextrafields/index.html:9
+msgid "Fields"
+msgstr ""
+
#: templates/web/zurich/admin/index-dm.html:33
#: templates/web/zurich/admin/index-sdm.html:30
msgid "Filter report list"
@@ -1264,52 +1293,32 @@ msgstr "Første gong"
msgid "Fix this by choosing an <strong>area covered</strong> in the <em>Edit body details</em> form below."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:11
-#: templates/web/base/admin/report_blocks.html:26
+#: perllib/FixMyStreet/App/Controller/Admin/States.pm:35
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:133
+#: templates/web/base/admin/states/index.html:29
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:41
-#: templates/web/base/report/banner.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:17
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:45
msgid "Fixed"
msgstr "Løyst"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:13
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:7
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:62
msgid "Fixed - Council"
msgstr "Løyst – Administrasjon"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:12
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:63
msgid "Fixed - User"
msgstr "Løyst – Brukar"
-#: templates/web/base/reports/_list-filters.html:14
-msgid "Fixed reports"
-msgstr ""
-
-#: templates/web/base/admin/problem_row.html:37
-msgid "Fixed:"
-msgstr "Løyst:"
-
-#: templates/web/base/admin/body-form.html:95
-#: templates/web/base/admin/responsepriorities/edit.html:41
+#: templates/web/base/admin/body-form.html:97
+#: templates/web/base/admin/responsepriorities/edit.html:53
#: templates/web/zurich/admin/body-form.html:36
msgid "Flag as deleted"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/report_blocks.html:23
msgid "Flag user"
msgstr "Flagg brukar"
-#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: perllib/FixMyStreet/Cobrand/Default.pm:644
#: templates/web/base/admin/users.html:20
msgid "Flagged"
msgstr "Flagga:"
@@ -1326,7 +1335,7 @@ msgstr ""
msgid "Flagged users are not restricted in any way. This is just a list of users that have been marked for attention."
msgstr ""
-#: templates/web/base/admin/report_edit.html:147
+#: templates/web/base/admin/report_edit.html:135
#: templates/web/base/admin/user-form.html:100
msgid "Flagged:"
msgstr "Flagga:"
@@ -1339,21 +1348,25 @@ msgstr "Følg ei bydellenkje for å berre sjå rapportar innanfor den bydelen."
msgid "For best results include a close-up and a wide shot"
msgstr ""
-#: templates/web/base/admin/body-form.html:71
+#: templates/web/base/admin/extra-metadata-form.html:52
+msgid "For each option, <strong>Key</strong> is the value which is stored in the database for that option and <strong>Name</strong> is the value displayed to the user."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:73
msgid "For more information, see <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
msgstr ""
-#: templates/web/base/auth/general.html:95
+#: templates/web/base/auth/general.html:97
#: templates/web/base/report/new/form_user_loggedout_password.html:20
#: templates/web/base/report/update/form_user_loggedout_password.html:19
msgid "Forgotten your password?"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:743
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:748
msgid "Forwarded to external body"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:744
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:749
msgid "Forwarded wish to external body"
msgstr ""
@@ -1363,6 +1376,10 @@ msgstr ""
msgid "Frequently Asked Questions"
msgstr "Ofte spurde spurnader"
+#: templates/web/base/admin/stats.html:102
+msgid "Get Count"
+msgstr ""
+
#: templates/web/base/around/_updates.html:3
#: templates/web/base/report/display_tools.html:14
msgid "Get updates"
@@ -1378,10 +1395,14 @@ msgstr ""
msgid "Get updates of problems in this %s"
msgstr ""
-#: templates/web/base/alert/_list.html:83
+#: templates/web/base/alert/_list.html:85
msgid "Give me an RSS feed"
msgstr "Gje meg ein RSS-straum"
+#: templates/web/base/admin/reportextrafields/edit.html:6
+msgid "Give this collection of fields a name. It is not shown publicly, just here in the admin."
+msgstr ""
+
#: templates/web/base/questionnaire/completed.html:14
msgid "Glad to hear it’s been fixed!"
msgstr ""
@@ -1391,8 +1412,9 @@ msgstr ""
#: templates/web/base/admin/index.html:49
#: templates/web/base/alert/index.html:34
#: templates/web/base/around/postcode_form.html:13
-#: templates/web/base/reports/_list-filters.html:38
-#: templates/web/base/reports/_list-filters.html:53
+#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:64
+#: templates/web/base/reports/index.html:75
#: templates/web/zurich/admin/stats.html:26
msgid "Go"
msgstr "Hald fram"
@@ -1401,7 +1423,7 @@ msgstr "Hald fram"
msgid "Going to send questionnaire?"
msgstr "Skal spørjeskjemaet sendast?"
-#: perllib/FixMyStreet/Cobrand/Default.pm:726
+#: perllib/FixMyStreet/Cobrand/Default.pm:731
msgid "Grant access to the admin"
msgstr ""
@@ -1409,10 +1431,6 @@ msgstr ""
msgid "Graph of problem creation by status over time"
msgstr "Graf over problemoppretting fordelt på status over tid"
-#: templates/web/base/reports/index.html:15
-msgid "Greyed-out lines are councils that no longer exist."
-msgstr "Linjer med grå bakgrunn er administrasjonar som ikkje lenger eksisterer."
-
#: templates/web/base/questionnaire/index.html:48
msgid "Has this problem been fixed?"
msgstr "Har dette problemet vorte løyst?"
@@ -1423,7 +1441,7 @@ msgstr "Har du rapportert eit problem til ein administrasjon før, eller er dett
#: templates/web/base/main_nav_items.html:40
#: templates/web/zurich/about/faq-de-ch.html:1
-#: templates/web/zurich/footer.html:23
+#: templates/web/zurich/footer.html:22
#: templates/web/zurich/nav_over_content.html:8
msgid "Help"
msgstr "Hjelp"
@@ -1433,22 +1451,13 @@ msgstr "Hjelp"
msgid "Help <strong>%s</strong> resolve your problem quicker, by providing some extra detail. This extra information will not be published online."
msgstr ""
-#: templates/web/base/alert/_list.html:9
-msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
-msgstr "Her er dei ulike typane lokale problemvarsel for &laquo;%s&raquo;."
-
-#: templates/web/zurich/footer.html:12
+#: templates/web/zurich/footer.html:11
msgid "Hi %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:906
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:19
-#: templates/web/base/admin/report_blocks.html:28
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:911
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:60
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:19
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:11
#: templates/web/zurich/admin/stats.html:32
@@ -1456,16 +1465,33 @@ msgstr ""
msgid "Hidden"
msgstr "Skjult"
-#: templates/web/base/report/_main.html:105
-#, fuzzy
+#: templates/web/base/report/_main.html:109
msgid "Hide entire report"
-msgstr "Send rapport på nytt"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:1
+#: templates/web/base/my/anonymize.html:2
+msgid "Hide my name"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:21
+msgid "Hide my name everywhere"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:10
+msgid "Hide my name in this update"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:16
+msgid "Hide my name on this report"
+msgstr ""
#: templates/web/base/around/display_location.html:67
msgid "Hide old"
msgstr ""
#: templates/web/base/around/display_location.html:62
+#: templates/web/base/js/translation_strings.html:55
msgid "Hide pins"
msgstr "Skjul nåler"
@@ -1473,7 +1499,16 @@ msgstr "Skjul nåler"
msgid "Hide update completely?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:49
+#: templates/web/base/report/_report_meta_info.html:3
+#: templates/web/base/report/update.html:55
+msgid "Hide your name?"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:38
+msgid "Hint"
+msgstr ""
+
+#: templates/web/base/admin/category_edit.html:24
msgid "History"
msgstr "Historie"
@@ -1490,12 +1525,12 @@ msgid "How to send successful reports"
msgstr ""
#: templates/web/base/tokens/confirm_problem.html:36
-#: templates/web/base/tokens/confirm_problem.html:40
+#: templates/web/base/tokens/confirm_problem.html:41
msgid "I just reported a problem on @fixmystreet"
msgstr ""
-#: templates/web/base/tokens/confirm_update.html:19
-#: templates/web/base/tokens/confirm_update.html:23
+#: templates/web/base/tokens/confirm_update.html:20
+#: templates/web/base/tokens/confirm_update.html:25
msgid "I just updated a problem on @fixmystreet"
msgstr ""
@@ -1515,17 +1550,25 @@ msgstr "Eg er redd vi ikkje klarte å finna problemet ditt i databasen.\n"
msgid "ID"
msgstr "ID"
-#: templates/web/base/admin/body-form.html:30
-#: templates/web/base/admin/body-form.html:31
+#: templates/web/base/admin/body-form.html:32
+#: templates/web/base/admin/body-form.html:33
msgid ""
"Identify a <strong>parent</strong> if this body is itself part of another body.\n"
" For basic installations, you don't need to join bodies in this way."
msgstr ""
+#: templates/web/base/auth/token.html:19
+msgid "If there's a user associated with the address you entered, we've sent a confirmation email."
+msgstr ""
+
#: templates/web/base/admin/responsepriorities/edit.html:23
msgid "If this priority is passed to an external service (e.g. Exor/Confirm) enter the priority code to use with that service here."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:24
+msgid "If ticked the user won’t see an input field, just the ‘Description’ text."
+msgstr ""
+
#: templates/web/base/admin/contact-form.html:14
msgid ""
"If two or more bodies serve the same location, FixMyStreet combines identical categories into a single entry in\n"
@@ -1536,7 +1579,7 @@ msgstr ""
msgid "If you get some more information about the status of your problem, please come back to the site and leave an update."
msgstr ""
-#: templates/web/base/admin/responsepriorities/edit.html:33
+#: templates/web/base/admin/responsepriorities/edit.html:45
msgid "If you only want this priority to be an option for specific categories, pick them here. By default they will show for all categories."
msgstr ""
@@ -1559,7 +1602,7 @@ msgid ""
"(please note it will not be sent to the council)."
msgstr ""
-#: templates/web/base/admin/contact-form.html:30
+#: templates/web/base/admin/contact-form.html:32
msgid "If you're using <strong>a send method that is not email</strong>, enter the service ID (Open311) or equivalent identifier here."
msgstr ""
@@ -1586,7 +1629,7 @@ msgid ""
" when they are shown on the site. Enter the ID (number) of that user."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:133
+#: perllib/FixMyStreet/App/Controller/Contact.pm:134
msgid "Illegal ID"
msgstr "Ugyldig ID"
@@ -1594,13 +1637,6 @@ msgstr "Ugyldig ID"
msgid "Illegal feed selection"
msgstr "Ugyldig val av straum"
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "In Progress"
-msgstr "Under arbeid"
-
#: templates/web/base/admin/flagged.html:39
msgid "In abuse table?"
msgstr ""
@@ -1609,18 +1645,17 @@ msgstr ""
msgid "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
msgstr "I tillegg er følgjande attributt som ikkje er del av Open311 v2-spesifikasjonen returnert: agency_sent_datetime, title (òg returnert som del av description), interface_used, comment_count, requestor_name (berre tilstades viss innsendar tillét at namnet kunne visast på denne nettstaden)."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:192
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:954
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:9
-#: templates/web/base/report/banner.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:5
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:197
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:959
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:8
msgid "In progress"
msgstr ""
+#: templates/web/base/admin/contact-form.html:57
+msgid "Inactive"
+msgstr ""
+
#: templates/web/base/tokens/confirm_alert.html:11
msgid "Inbox zero, here we come!"
msgstr ""
@@ -1637,11 +1672,15 @@ msgstr "Inkluder ikkje-stadfesta problem"
msgid "Incorrect has_photo value \"%s\""
msgstr "Feil has_photo-verdi «%s»"
-#: templates/web/base/admin/contact-form.html:84
+#: templates/web/base/report/_inspect.html:5
+msgid "Inspect report"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:85
msgid "Inspection required"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:711
+#: perllib/FixMyStreet/Cobrand/Default.pm:715
msgid "Instruct contractors to fix problems"
msgstr ""
@@ -1649,13 +1688,6 @@ msgstr ""
msgid "Internal notes"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:11
-msgid "Internal referral"
-msgstr ""
-
#: templates/web/base/offline/appcache.html:3
msgid "Internet glitch"
msgstr ""
@@ -1664,7 +1696,7 @@ msgstr ""
msgid "Invalid agency_responsible value %s"
msgstr "Ugyldig agency_responsible-verdi %s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1502
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1607
msgid "Invalid end date"
msgstr "Ugyldig slutt-dato"
@@ -1672,26 +1704,15 @@ msgstr "Ugyldig slutt-dato"
msgid "Invalid format %s specified."
msgstr "Ugyldig format %s oppgjeve."
-#: perllib/FixMyStreet/App/Controller/Report.pm:398
+#: perllib/FixMyStreet/App/Controller/Report.pm:409
msgid "Invalid location. New location must be covered by the same council."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1498
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1603
msgid "Invalid start date"
msgstr "Ugyldig startdato"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:7
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:4
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Investigating"
-msgstr "Undersøkjer"
-
-#: templates/web/base/contact/blurb.html:8
+#: templates/web/base/contact/blurb.html:2
msgid "It's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there."
msgstr ""
@@ -1699,37 +1720,59 @@ msgstr ""
msgid "It’s on its way to the council right now."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:177
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:182
msgid "Jurisdiction Unknown"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:15
msgid "Jurisdiction unknown"
msgstr ""
-#: templates/web/base/auth/general.html:91
+#: templates/web/base/auth/general.html:93
#: templates/web/base/report/new/form_user_loggedout_password.html:16
#: templates/web/base/report/update/form_user_loggedout_password.html:15
#: templates/web/zurich/auth/general.html:40
msgid "Keep me signed in on this computer"
msgstr "Hugs mi innlogging på denne datamaskina"
+#: templates/web/base/admin/extra-metadata-form.html:61
+msgid "Key"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:9
+#: templates/web/base/admin/states/index.html:95
+msgid "Label"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:6
+#: templates/web/base/admin/reportextrafields/edit.html:45
+msgid "Language"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/index.html:8
+msgid "Languages"
+msgstr ""
+
#: templates/web/base/dashboard/index.html:50
msgid "Last 4 weeks"
msgstr ""
#: templates/web/base/dashboard/index.html:49
-#, fuzzy
+#: templates/web/base/reports/index.html:38
msgid "Last 7 days"
-msgstr "Siste oppdatering:"
+msgstr ""
#: templates/web/base/admin/body.html:74
#: templates/web/zurich/admin/body.html:16
msgid "Last editor"
msgstr "Sist redigert av"
+#: templates/web/base/questionnaire/index.html:25
+msgid "Last update"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:89
msgid "Last update:"
msgstr "Siste oppdatering:"
@@ -1738,23 +1781,27 @@ msgstr "Siste oppdatering:"
msgid "Last&nbsp;update:"
msgstr "Siste&nbsp;oppdatering:"
-#: templates/web/base/report/_inspect.html:20
-#: templates/web/base/report/_item.html:86
+#: templates/web/base/report/_inspect.html:30
+#: templates/web/base/report/_item.html:88
msgid "Latitude/Longitude:"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:50
+#: templates/web/base/reports/_list-filters.html:61
msgid "Least recently updated"
msgstr ""
-#: templates/web/base/admin/body-form.html:127
+#: templates/web/base/admin/body-form.html:129
msgid "Leave this blank if all reports to this body should be sent using the same send method (e.g., \"%s\")."
msgstr ""
-#: templates/web/base/dashboard/index.html:150
+#: templates/web/base/dashboard/index.html:151
msgid "Less than 7 days old"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:47
+msgid "List"
+msgstr ""
+
#: templates/web/base/admin/body.html:31
msgid "List all reported problems"
msgstr "Vis alle rapporterte problem"
@@ -1785,23 +1832,23 @@ msgstr "Lokale varsel"
msgid "Locate the problem on a map of the area"
msgstr "Lokaliser problemet på kartet over området"
-#: templates/web/base/auth/general.html:22
+#: templates/web/base/auth/general.html:24
#: templates/web/base/report/new/form_user_loggedout.html:6
#: templates/web/base/report/update/form_user_loggedout.html:7
msgid "Log in with Facebook"
msgstr ""
-#: templates/web/base/auth/general.html:30
+#: templates/web/base/auth/general.html:32
#: templates/web/base/report/new/form_user_loggedout.html:14
#: templates/web/base/report/update/form_user_loggedout.html:15
msgid "Log in with Twitter"
msgstr ""
-#: templates/web/base/js/translation_strings.html:59
+#: templates/web/base/js/translation_strings.html:62
msgid "Log in with email"
msgstr ""
-#: templates/web/base/dashboard/index.html:145
+#: templates/web/base/dashboard/index.html:146
#: templates/web/base/dashboard/index.html:38
msgid "Look up"
msgstr ""
@@ -1810,11 +1857,11 @@ msgstr ""
msgid "MAP"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:712
+#: perllib/FixMyStreet/Cobrand/Default.pm:716
msgid "Manage shortlist"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:45
+#: templates/web/base/reports/_list-filters.html:56
msgid "Manual order"
msgstr ""
@@ -1830,19 +1877,11 @@ msgstr ""
msgid "Mark users whose behaviour you want to keep a check on as <strong>flagged</strong>."
msgstr ""
-#: templates/web/base/reports/index.html:27
-msgid "Marked fixed/closed in the past eight weeks"
-msgstr ""
-
-#: templates/web/base/reports/index.html:28
-msgid "Marked fixed/closed more than eight weeks ago"
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/Default.pm:710
+#: perllib/FixMyStreet/Cobrand/Default.pm:714
msgid "Markup problem details"
msgstr ""
-#: templates/web/base/contact/index.html:96
+#: templates/web/base/contact/index.html:100
msgid "Message"
msgstr ""
@@ -1862,68 +1901,69 @@ msgstr ""
msgid "Missing jurisdiction_id"
msgstr "Manglar jurisdiction_id"
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:706
+#: perllib/FixMyStreet/Cobrand/Default.pm:710
msgid "Moderate report details"
msgstr ""
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate this report"
msgstr ""
#: templates/web/base/report/update.html:12
-#, fuzzy
msgid "Moderate this update"
-msgstr "Publisert av %s %s"
+msgstr ""
-#: templates/web/base/report/_main.html:69
-#: templates/web/base/report/update.html:49
-#, fuzzy
+#: templates/web/base/report/_main.html:73
+#: templates/web/base/report/update.html:58
msgid "Moderated by %s at %s"
-msgstr "Publisert av %s %s"
+msgstr ""
#: templates/web/zurich/admin/stats.html:34
msgid "Moderated by division within one working day"
msgstr ""
-#: templates/web/base/report/_main.html:109
-#: templates/web/base/report/update.html:57
-#, fuzzy
+#: templates/web/base/report/_main.html:113
+#: templates/web/base/report/update.html:66
msgid "Moderation reason:"
-msgstr "andre område:"
+msgstr ""
#: templates/web/base/admin/stats.html:11
msgid "Month"
msgstr "MÃ¥nad"
-#: templates/web/base/reports/_list-filters.html:51
+#: templates/web/base/reports/_list-filters.html:62
msgid "Most commented"
msgstr ""
#: templates/web/base/admin/bodies.html:25
#: templates/web/base/admin/body-form.html:24
+#: templates/web/base/admin/extra-metadata-form.html:65
#: templates/web/base/admin/flagged.html:16
#: templates/web/base/admin/flagged.html:37
#: templates/web/base/admin/index.html:62
#: templates/web/base/admin/list_updates.html:7
+#: templates/web/base/admin/reportextrafields/edit.html:11
+#: templates/web/base/admin/reportextrafields/index.html:6
#: templates/web/base/admin/reports.html:14
#: templates/web/base/admin/responsepriorities/list.html:6
+#: templates/web/base/admin/states/index.html:108
+#: templates/web/base/admin/states/index.html:11
#: templates/web/base/admin/users.html:16
-#: templates/web/base/auth/general.html:106
-#: templates/web/base/report/new/form_user_loggedin.html:40
+#: templates/web/base/auth/general.html:108
+#: templates/web/base/report/new/form_user_loggedin.html:42
#: templates/web/base/report/new/form_user_loggedout_by_email.html:7
-#: templates/web/base/report/update/form_name.html:23
-#: templates/web/base/reports/index.html:23
+#: templates/web/base/report/update/form_name.html:27
#: templates/web/zurich/admin/body-form.html:4
#: templates/web/zurich/auth/general.html:60
#: templates/web/zurich/report/new/fill_in_details_form.html:59
msgid "Name"
msgstr "Namn"
-#: templates/web/base/admin/report_edit.html:139
+#: templates/web/base/admin/report_edit.html:127
#: templates/web/base/admin/responsepriorities/edit.html:13
#: templates/web/base/admin/update_edit.html:34
#: templates/web/base/admin/user-form.html:16
@@ -1935,7 +1975,7 @@ msgstr "Namn:"
msgid "Name: %s"
msgstr ""
-#: templates/web/base/report/_inspect.html:28
+#: templates/web/base/report/_inspect.html:38
msgid "Navigate to this problem"
msgstr ""
@@ -1944,34 +1984,38 @@ msgstr ""
msgid "Nearest named road to the pin placed on the map (automatically generated using OpenStreetMap): %s%s"
msgstr "Næraste namngjevne veg til nålen plassert på kartet (automatisk generert ved hjelp av OpenStreetMap): %s%s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:129
+#: perllib/FixMyStreet/Cobrand/UK.pm:134
msgid "Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"
msgstr "Næraste postnummer til nålen plassert på kartet (automatisk generert): %s (%sm unna)"
-#: perllib/FixMyStreet/Cobrand/Default.pm:527
-#: perllib/FixMyStreet/Cobrand/Default.pm:567
+#: perllib/FixMyStreet/Cobrand/Default.pm:538
+#: perllib/FixMyStreet/Cobrand/Default.pm:566
msgid "Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"
msgstr "Næraste veg til nålen plassert på karta (automatisk generert ved hjelp av Bing Maps): %s"
-#: perllib/FixMyStreet/Script/Alerts.pm:319
+#: perllib/FixMyStreet/Script/Alerts.pm:316
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s\n"
"\n"
msgstr ""
-#: templates/web/base/auth/token.html:17 templates/web/base/email_sent.html:5
+#: templates/web/base/auth/token.html:18
+msgid "Nearly done!"
+msgstr ""
+
+#: templates/web/base/auth/token.html:22 templates/web/base/email_sent.html:5
msgid "Nearly done! Now check your email&hellip;"
msgstr ""
-#: templates/web/base/reports/index.html:24
-msgid "New <br>problems"
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:131
+msgid "New"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:259
+#: perllib/FixMyStreet/App/Controller/Admin.pm:262
msgid "New body added"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:405
+#: perllib/FixMyStreet/App/Controller/Admin.pm:386
msgid "New category contact added"
msgstr "Ny kategorikontakt lagt til"
@@ -1997,7 +2041,7 @@ msgid "New password:"
msgstr ""
#: templates/web/base/admin/responsepriorities/edit.html:4
-#: templates/web/base/admin/responsepriorities/list.html:32
+#: templates/web/base/admin/responsepriorities/list.html:34
msgid "New priority"
msgstr ""
@@ -2026,6 +2070,7 @@ msgid "New reports"
msgstr ""
#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/states/index.html:91
msgid "New state"
msgstr "Ny tilstand"
@@ -2035,7 +2080,7 @@ msgstr "Ny tilstand"
msgid "New template"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:47
+#: templates/web/base/reports/_list-filters.html:58
msgid "Newest"
msgstr ""
@@ -2043,20 +2088,19 @@ msgstr ""
msgid "Next"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:1203
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
+#: perllib/FixMyStreet/Cobrand/Default.pm:1237
#: templates/web/base/admin/category_edit.html:4
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:137
+#: templates/web/base/admin/report_edit.html:125
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:26
#: templates/web/base/questionnaire/creator_fixed.html:16
#: templates/web/base/questionnaire/index.html:106
#: templates/web/base/questionnaire/index.html:55
+#: templates/web/base/report/_inspect.html:92
msgid "No"
msgstr "Nei"
@@ -2072,7 +2116,7 @@ msgstr ""
msgid "No council"
msgstr "Ingen administrasjon"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:445
+#: perllib/FixMyStreet/DB/Result/Problem.pm:372
msgid "No council selected"
msgstr "Ingen administrasjon er vald"
@@ -2088,25 +2132,16 @@ msgstr ""
msgid "No flagged users found."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:14
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:8
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "No further action"
-msgstr ""
-
#: templates/web/zurich/admin/report_edit-sdm.html:125
#: templates/web/zurich/admin/report_edit.html:259
msgid "No further updates"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:84
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:68
msgid "No inspections by that inspector in the selected date range."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:86
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:70
msgid "No inspections in the selected date range."
msgstr ""
@@ -2114,8 +2149,8 @@ msgstr ""
msgid "No result returned"
msgstr ""
-#: templates/web/base/admin/body-form.html:66
-#: templates/web/base/admin/body-form.html:67
+#: templates/web/base/admin/body-form.html:68
+#: templates/web/base/admin/body-form.html:69
msgid ""
"No specific areas are currently available, because the <code>MAPIT_URL</code> in\n"
" your config file is not pointing to a live MapIt service."
@@ -2148,17 +2183,8 @@ msgid ""
" activity across their body), the ability to hide reports or set special report statuses."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:9
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "Not Responsible"
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:181
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:186
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:933
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:13
msgid "Not contactable"
@@ -2177,7 +2203,7 @@ msgid "Not reported to council"
msgstr "Ikkje rapportert til administrasjonen"
#: templates/web/base/admin/body.html:75
-#: templates/web/base/admin/category_edit.html:57
+#: templates/web/base/admin/category_edit.html:31
#: templates/web/zurich/admin/body.html:17
msgid "Note"
msgstr "Merk"
@@ -2187,7 +2213,7 @@ msgid "Note that when including unconfirmed reports we use the date the report w
msgstr "Merk at når vi tek med ustadfesta rapportar, så brukar vi datoen rapporten var oppretta. Det treng vera den same månaden som rapporten var stadfesta, så tala kan hoppa litt opp og ned."
#: templates/web/zurich/admin/body.html:55
-#: templates/web/zurich/admin/contact-form.html:17
+#: templates/web/zurich/admin/contact-form.html:19
msgid "Note:"
msgstr "Merk:"
@@ -2199,6 +2225,10 @@ msgstr "Merk: <strong>%s</strong>"
msgid "Notes from SDM to DM"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:26
+msgid "Notice"
+msgstr ""
+
#: templates/web/base/report/new/oauth_email_form.html:17
msgid "Now to submit your report&hellip;"
msgstr ""
@@ -2209,63 +2239,43 @@ msgstr ""
msgid "Now to submit your update&hellip;"
msgstr ""
+#: templates/web/base/reports/index.html:98
+msgid "Number of problems reported in each category, in the last 7 days."
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:43
msgid "OK"
msgstr ""
-#: templates/web/base/js/translation_strings.html:67
+#: templates/web/base/js/translation_strings.html:70
msgid "Offline data cleared"
msgstr ""
-#: templates/web/base/js/translation_strings.html:64
+#: templates/web/base/js/translation_strings.html:67
msgid "Offline update data saved"
msgstr ""
-#: templates/web/base/reports/index.html:26
-msgid "Old / unknown <br>problems"
-msgstr ""
-
#: templates/web/base/admin/questionnaire.html:24
msgid "Old state"
msgstr "Gammal tilstand"
-#: templates/web/base/reports/index.html:28
-msgid "Older <br>fixed"
-msgstr ""
-
-#: templates/web/base/reports/index.html:25
-msgid "Older <br>problems"
-msgstr ""
-
-#: templates/web/base/reports/_list-filters.html:48
+#: templates/web/base/reports/_list-filters.html:59
msgid "Oldest"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:900
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:25
-#: templates/web/base/admin/report_blocks.html:6
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:905
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:10
+#: templates/web/base/admin/states/index.html:102
+#: templates/web/base/admin/states/index.html:25
+#: templates/web/base/admin/states/index.html:32
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:3
-#: templates/web/base/report/update/form_update.html:41
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:7
#: templates/web/zurich/admin/update_edit.html:18
msgid "Open"
msgstr "Opne"
-#: templates/web/base/reports/index.html:25
-msgid "Open for more than four weeks, with an update within the past eight weeks"
-msgstr ""
-
-#: templates/web/base/reports/index.html:26
-msgid "Open, but not had any update in eight weeks"
-msgstr ""
-
#: templates/web/base/admin/open311-form-fields.html:47
msgid "Open311 API Key"
msgstr ""
@@ -2286,26 +2296,38 @@ msgstr "Nettsida til Open311-initiativet"
msgid "Open311 specification"
msgstr "Open311-spesifikasjon"
-#: templates/web/base/alert/_list.html:61
-msgid "Or problems reported to:"
-msgstr "Eller problem meldt til:"
-
-#: templates/web/base/alert/_list.html:37
-msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
-msgstr "Eller du kan abonnera på varsel basert på bydel eller administrasjon du høyrer til under:"
-
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:1061
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:659
-#: perllib/FixMyStreet/DB/Result/Problem.pm:642
-#: perllib/FixMyStreet/DB/Result/Problem.pm:649
-#: perllib/FixMyStreet/DB/Result/Problem.pm:664
-#: perllib/FixMyStreet/DB/Result/Problem.pm:673
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "Options"
+msgstr ""
+
+#: templates/web/base/alert/_list.html:84
+msgid "Or subscribe by RSS"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:8
+msgid "Order"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1107
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:675
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:676
+#: perllib/FixMyStreet/DB/Result/Problem.pm:579
+#: perllib/FixMyStreet/DB/Result/Problem.pm:586
+#: perllib/FixMyStreet/DB/Result/Problem.pm:601
+#: perllib/FixMyStreet/DB/Result/Problem.pm:610
#: perllib/FixMyStreet/Script/Reports.pm:183
#: perllib/FixMyStreet/Script/Reports.pm:198
msgid "Other"
msgstr "Anna"
+#: templates/web/base/reports/index.html:107
+msgid "Other categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:92
+msgid "Overall average"
+msgstr ""
+
#: templates/web/base/admin/list_updates.html:8
msgid "Owner"
msgstr "Eigar"
@@ -2315,17 +2337,16 @@ msgstr "Eigar"
msgid "Page Not Found"
msgstr "Fann ikkje sida"
-#: templates/web/base/admin/body-form.html:37
+#: templates/web/base/admin/body-form.html:39
#: templates/web/zurich/admin/body-form.html:14
msgid "Parent"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:20
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:61
msgid "Partial"
msgstr "Delvis"
-#: templates/web/base/auth/general.html:109
+#: templates/web/base/auth/general.html:111
#: templates/web/base/report/new/form_user_loggedout_by_email.html:28
#: templates/web/base/report/update/form_user_loggedout_by_email.html:6
#: templates/web/zurich/auth/general.html:32
@@ -2333,7 +2354,7 @@ msgstr "Delvis"
msgid "Password (optional)"
msgstr ""
-#: templates/web/base/auth/general.html:82
+#: templates/web/base/auth/general.html:84
msgid "Password:"
msgstr "Passord:"
@@ -2345,17 +2366,21 @@ msgstr ""
msgid "Permissions:"
msgstr ""
+#: templates/web/base/report/_inspect.html:19
+msgid "Phone Reporter:"
+msgstr ""
+
#: templates/web/zurich/report/new/fill_in_details_form.html:65
msgid "Phone number"
msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:57
+#: templates/web/base/report/new/form_user_loggedin.html:59
#: templates/web/base/report/new/form_user_loggedout_by_email.html:25
msgid "Phone number (optional)"
msgstr ""
#: perllib/FixMyStreet/Script/Reports.pm:87
-#: templates/web/base/admin/report_edit.html:146
+#: templates/web/base/admin/report_edit.html:134
#: templates/web/base/admin/user-form.html:21
#: templates/web/zurich/admin/stats.html:39
msgid "Phone:"
@@ -2364,9 +2389,9 @@ msgstr "Telefon:"
#: templates/web/base/questionnaire/index.html:78
#: templates/web/base/questionnaire/index.html:93
#: templates/web/base/questionnaire/index.html:95
-#: templates/web/base/report/new/form_report.html:28
-#: templates/web/base/report/new/form_report.html:43
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/new/form_report.html:45
+#: templates/web/base/report/new/form_report.html:47
#: templates/web/base/report/update/form_update.html:22
#: templates/web/base/report/update/form_update.html:24
#: templates/web/base/report/update/form_update.html:7
@@ -2384,12 +2409,12 @@ msgstr ""
msgid "Photo is required."
msgstr ""
-#: templates/web/zurich/admin/contact-form.html:14
+#: templates/web/zurich/admin/contact-form.html:16
msgid "Photo required"
msgstr ""
#: templates/web/base/questionnaire/index.html:78
-#: templates/web/base/report/new/form_report.html:28
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/update/form_update.html:7
#: templates/web/zurich/report/new/fill_in_details_form.html:20
msgid "Photos"
@@ -2399,17 +2424,18 @@ msgstr ""
msgid "Photos of recent nearby reports"
msgstr "Bilete av nye problem i nærleiken"
+#: templates/web/base/reports/index.html:63
+#: templates/web/base/reports/index.html:66
+msgid "Pick your council"
+msgstr ""
+
#: templates/web/base/around/display_location.html:76
#: templates/web/base/js/translation_strings.html:30
msgid "Place pin on map"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:940
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:946
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:8
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:945
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:951
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:9
#: templates/web/zurich/admin/index-dm.html:9
@@ -2427,31 +2453,27 @@ msgstr "Ver venleg og sjekk passorda og prøv igjen"
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:18
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:43
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:45
#: templates/web/zurich/auth/general.html:3
#: templates/web/zurich/auth/general.html:9
msgid "Please check your email address is correct"
msgstr "Ver venleg og sjekk at du har skrive ei gyldig e-postadresse"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:350
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:844
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:867
-#: perllib/FixMyStreet/DB/Result/Problem.pm:456
+#: perllib/FixMyStreet/App/Controller/Admin.pm:329
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:873
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:896
+#: perllib/FixMyStreet/DB/Result/Problem.pm:383
#: templates/web/base/js/translation_strings.html:9
msgid "Please choose a category"
msgstr "Vel ein kategori"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:462
-msgid "Please choose a property type"
-msgstr "Vel ein type eigenskap"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:396
+#: perllib/FixMyStreet/App/Controller/Admin.pm:377
#: templates/web/base/admin/bodies.html:4 templates/web/base/admin/body.html:11
msgid "Please correct the errors below"
msgstr ""
-#: templates/web/base/contact/blurb.html:12
+#: templates/web/base/contact/blurb.html:6
msgid ""
"Please do <strong>not</strong> report problems through this form; messages go to\n"
"the team behind this site, not a council. To report a problem,\n"
@@ -2462,18 +2484,18 @@ msgstr ""
msgid "Please do not be abusive&nbsp;&mdash; abusing your council devalues the service for all users."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:351
-#: perllib/FixMyStreet/DB/Result/Comment.pm:127
+#: perllib/FixMyStreet/App/Controller/Admin.pm:330
+#: perllib/FixMyStreet/DB/Result/Comment.pm:128
#: templates/web/base/js/translation_strings.html:2
msgid "Please enter a message"
msgstr "Ver venleg og skriv ei melding"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1200
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1364
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1305
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1469
msgid "Please enter a name"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:478
+#: perllib/FixMyStreet/App/Controller/Admin.pm:497
msgid "Please enter a name for this body"
msgstr ""
@@ -2483,15 +2505,15 @@ msgstr ""
msgid "Please enter a password"
msgstr "Skriv inn eit passord"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:114
-#: perllib/FixMyStreet/DB/Result/Problem.pm:439
+#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/DB/Result/Problem.pm:366
#: templates/web/base/js/translation_strings.html:3
msgid "Please enter a subject"
msgstr "Ver venleg og legg inn eit emne"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1197
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1361
-#: perllib/FixMyStreet/App/Controller/Admin.pm:363
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1302
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1466
+#: perllib/FixMyStreet/App/Controller/Admin.pm:343
#: perllib/FixMyStreet/DB/Result/User.pm:164
#: templates/web/base/js/translation_strings.html:12
#: templates/web/base/js/translation_strings.html:16
@@ -2499,21 +2521,21 @@ msgid "Please enter a valid email"
msgstr "Ver venleg og legg til ein gyldig e-post"
#: perllib/FixMyStreet/App/Controller/Alert.pm:350
-#: perllib/FixMyStreet/App/Controller/Contact.pm:124
+#: perllib/FixMyStreet/App/Controller/Contact.pm:125
msgid "Please enter a valid email address"
msgstr "Ver venleg og legg inn e-postadressa di"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:442
+#: perllib/FixMyStreet/DB/Result/Problem.pm:369
#: templates/web/base/js/translation_strings.html:4
msgid "Please enter some details"
msgstr "Ver venleg og legg inn opplysningar om problemet"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/App/Controller/Contact.pm:114
#: perllib/FixMyStreet/DB/Result/User.pm:161
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:17
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:42
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:44
#: templates/web/base/js/translation_strings.html:11
#: templates/web/base/js/translation_strings.html:15
#: templates/web/zurich/auth/general.html:3
@@ -2530,14 +2552,14 @@ msgstr ""
msgid "Please enter your first name"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:320
+#: perllib/FixMyStreet/Cobrand/UK.pm:326
#: templates/web/base/js/translation_strings.html:7
msgid "Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:112
-#: perllib/FixMyStreet/DB/Result/Comment.pm:124
-#: perllib/FixMyStreet/DB/Result/Problem.pm:450
+#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/DB/Result/Comment.pm:125
+#: perllib/FixMyStreet/DB/Result/Problem.pm:377
#: perllib/FixMyStreet/DB/Result/User.pm:157
#: templates/web/base/js/translation_strings.html:6
msgid "Please enter your name"
@@ -2602,7 +2624,7 @@ msgstr ""
msgid "Please note:"
msgstr "Merk:"
-#: perllib/FixMyStreet/App/Controller/Report.pm:358
+#: perllib/FixMyStreet/App/Controller/Report.pm:353
msgid "Please provide a public update for this report."
msgstr ""
@@ -2638,11 +2660,11 @@ msgstr "Ver venleg og oppgje om dette problemet har vorte fiksa eller ikkje"
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:122
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:156
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:158
-#: templates/web/base/js/translation_strings.html:57
+#: templates/web/base/js/translation_strings.html:60
msgid "Please upload an image only"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/App/Controller/Contact.pm:116
msgid "Please write a message"
msgstr "Skriv inn ei melding"
@@ -2650,30 +2672,29 @@ msgstr "Skriv inn ei melding"
msgid "Please write your update here"
msgstr ""
-#: templates/web/base/contact/index.html:103
#: templates/web/base/report/update-form.html:25
#: templates/web/base/report/update/form_user_loggedout_by_email.html:14
#: templates/web/base/report/update/form_user_loggedout_password.html:10
msgid "Post"
msgstr "Send inn"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:242
+#: perllib/FixMyStreet/DB/Result/Comment.pm:231
msgid "Posted anonymously at %s"
msgstr "Publisert anonymt %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:257
+#: perllib/FixMyStreet/DB/Result/Comment.pm:255
msgid "Posted by %s at %s"
msgstr "Sendt inn av %s %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:252
+#: perllib/FixMyStreet/DB/Result/Comment.pm:243
msgid "Posted by <strong>%s</strong> (%s) at %s"
msgstr "Lagt inn av <strong>%s</strong> (%s) %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:254
+#: perllib/FixMyStreet/DB/Result/Comment.pm:245
msgid "Posted by <strong>%s</strong> at %s"
msgstr "Lagt inn av <strong>%s</strong> %s"
-#: templates/web/base/front/footer-marketing.html:12
+#: templates/web/base/front/footer-marketing.html:6
msgid "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
msgstr ""
@@ -2685,8 +2706,8 @@ msgstr ""
msgid "Priorities"
msgstr ""
-#: templates/web/base/report/_inspect.html:113
-#: templates/web/base/report/_item.html:98
+#: templates/web/base/report/_inspect.html:123
+#: templates/web/base/report/_item.html:100
msgid "Priority"
msgstr ""
@@ -2700,16 +2721,15 @@ msgstr ""
msgid "Privacy and cookies"
msgstr ""
-#: templates/web/base/admin/body.html:91
-#: templates/web/base/admin/contact-form.html:74
-#: templates/web/base/admin/report_edit.html:149
+#: templates/web/base/admin/body.html:88
+#: templates/web/base/admin/contact-form.html:75
+#: templates/web/base/admin/report_edit.html:137
msgid "Private"
msgstr ""
#: templates/web/base/report/new/form_user.html:1
-#, fuzzy
msgid "Private details"
-msgstr "Ver venleg og legg inn opplysningar om problemet"
+msgstr ""
#: templates/web/base/maps/pin.html:13
msgid "Problem"
@@ -2733,7 +2753,7 @@ msgstr "Problem %s sendt til administrasjon %s"
msgid "Problem breakdown by state"
msgstr "Tilstandsfordeling av problem"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1167
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1272
msgid "Problem marked as open."
msgstr "Problem markert som ope."
@@ -2741,11 +2761,16 @@ msgstr "Problem markert som ope."
msgid "Problem state change based on survey results"
msgstr "Endring av problemtilstand basert på spørjeundersøkingsresultat"
-#: perllib/FixMyStreet/Cobrand/Default.pm:705
+#: perllib/FixMyStreet/Cobrand/Default.pm:709
#: templates/web/base/admin/flagged.html:10
msgid "Problems"
msgstr "Problem"
+#: templates/web/base/alert/_list.html:22
+#, fuzzy
+msgid "Problems in an area"
+msgstr "Problem innanfor %s bydel"
+
#: templates/web/base/report/display_tools.html:22
msgid "Problems nearby"
msgstr ""
@@ -2758,30 +2783,33 @@ msgstr ""
msgid "Problems recently reported fixed on FixMyStreet"
msgstr "Problem nyleg rapportert fiksa på FiksGataMi"
-#: templates/web/base/alert/_list.html:22
-msgid "Problems within %.1fkm of this location"
+#: templates/web/base/alert/_list.html:29
+#, fuzzy
+msgid "Problems within %.1fkm of %s"
msgstr "Problem innanfor %.1fkm av denne posisjonen"
-#: perllib/FixMyStreet/Cobrand/Default.pm:833
+#: perllib/FixMyStreet/Cobrand/Default.pm:838
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:137
-#: perllib/FixMyStreet/Cobrand/UK.pm:209
+#: perllib/FixMyStreet/Cobrand/UK.pm:215 perllib/FixMyStreet/Cobrand/UK.pm:257
+#: perllib/FixMyStreet/Cobrand/UK.pm:269
msgid "Problems within %s"
msgstr "Problem innanfor %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:223
+#: perllib/FixMyStreet/Cobrand/UK.pm:229
msgid "Problems within %s ward"
msgstr "Problem innanfor %s bydel"
+#: perllib/FixMyStreet/Cobrand/UK.pm:263 perllib/FixMyStreet/Cobrand/UK.pm:275
+#, fuzzy
+msgid "Problems within %s ward, %s"
+msgstr "Problem innanfor %s bydel"
+
#. ("First %s is the body name, second %s the site name")
#: templates/web/base/reports/body.html:0
#: templates/web/base/reports/body.html:25
msgid "Problems within %s, %s"
msgstr ""
-#: templates/web/base/alert/_list.html:43
-msgid "Problems within the boundary of:"
-msgstr "Problem innanfor grensene av:"
-
#: templates/web/base/admin/report_edit.html:74
msgid "Property address:"
msgstr ""
@@ -2791,11 +2819,11 @@ msgstr ""
msgid "Provide an update"
msgstr "Bidra med ei oppdatering"
-#: templates/web/base/report/update/form_name.html:9
+#: templates/web/base/report/update/form_name.html:10
msgid "Provide update as"
msgstr ""
-#: templates/web/base/auth/general.html:112
+#: templates/web/base/auth/general.html:114
msgid "Providing a name and password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
msgstr ""
@@ -2813,7 +2841,7 @@ msgstr ""
msgid "Public response:"
msgstr ""
-#: templates/web/base/report/_inspect.html:152
+#: templates/web/base/report/_inspect.html:162
msgid "Public update:"
msgstr ""
@@ -2841,7 +2869,7 @@ msgstr "Spørjeskjema %d sendt for problem %d"
msgid "Questionnaire filled in by problem reporter"
msgstr "Spørjeskjema fylt inn av feilrapportøren"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
#: templates/web/base/alert/updates.html:9
#: templates/web/base/around/display_location.html:1
#: templates/web/base/around/display_location.html:3
@@ -2849,11 +2877,11 @@ msgstr "Spørjeskjema fylt inn av feilrapportøren"
msgid "RSS feed"
msgstr "RSS-straum"
-#: perllib/FixMyStreet/Cobrand/UK.pm:252 perllib/FixMyStreet/Cobrand/UK.pm:264
+#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
msgid "RSS feed for %s"
msgstr "RSS-straum for %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
+#: perllib/FixMyStreet/Cobrand/UK.pm:264 perllib/FixMyStreet/Cobrand/UK.pm:276
msgid "RSS feed for %s ward, %s"
msgstr "RSS-straum for %s bydel, %s"
@@ -2861,25 +2889,25 @@ msgstr "RSS-straum for %s bydel, %s"
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:179
-#: perllib/FixMyStreet/Cobrand/UK.pm:278 perllib/FixMyStreet/Cobrand/UK.pm:290
+#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
msgid "RSS feed of %s"
msgstr "RSS-straum frå %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
msgid "RSS feed of %s, within %s ward"
msgstr "RSS-straum av %s, innanfor %s bydel"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
msgid "RSS feed of nearby problems"
msgstr "RSS-straum med problem i nærleiken"
-#: perllib/FixMyStreet/Cobrand/Default.pm:834
+#: perllib/FixMyStreet/Cobrand/Default.pm:839
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:136
-#: perllib/FixMyStreet/Cobrand/UK.pm:216
+#: perllib/FixMyStreet/Cobrand/UK.pm:222
msgid "RSS feed of problems within %s"
msgstr "RSS-straum for problem innanfor %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:222
+#: perllib/FixMyStreet/Cobrand/UK.pm:228
msgid "RSS feed of problems within %s ward"
msgstr "RSS-straum for problem innanfor %s bydel"
@@ -2898,7 +2926,7 @@ msgstr "RSS-straum med oppdateringar for dette problemet"
msgid "Receive email when updates are left on this problem."
msgstr "Motta e-post når det er oppdateringar på dette problemet"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:801
+#: perllib/FixMyStreet/DB/Result/Problem.pm:738
msgid "Received by %s moments later"
msgstr ""
@@ -2908,15 +2936,11 @@ msgstr ""
msgid "Recent local problems, %s"
msgstr ""
-#: templates/web/base/reports/index.html:27
-msgid "Recently <br>fixed"
-msgstr ""
-
#: templates/web/base/front/recent.html:11
msgid "Recently reported problems"
msgstr "Nyleg melde problem"
-#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:60
msgid "Recently updated"
msgstr ""
@@ -2924,13 +2948,23 @@ msgstr ""
msgid "Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. If your problem is not appropriate for submission via this site remember that you can contact your council directly using their own website."
msgstr "Hugs at FiksGataMi primert er laga for å rapportera fysiske problem som kan fiksast. Viss problemet ditt ikkje er eigna for å senda inn via denne tenesta, hugs at du kan kontakta administrasjonen direkte via deira eiga nettside."
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/extra-metadata-form.html:68
+#, fuzzy
+msgid "Remove"
+msgstr "Fjern flagg"
+
+#: templates/web/base/admin/extra-metadata-form.html:4
+#, fuzzy
+msgid "Remove field"
+msgstr "Fjern flagg"
+
+#: templates/web/base/admin/report_blocks.html:23
msgid "Remove flag"
msgstr "Fjern flagg"
#: templates/web/base/report/_item.html:12
#: templates/web/base/report/_item.html:9
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:18
#: templates/web/base/report/_main.html:26
msgid "Remove from shortlist"
@@ -2940,7 +2974,7 @@ msgstr ""
msgid "Remove from site"
msgstr ""
-#: templates/web/base/admin/report_edit.html:166
+#: templates/web/base/admin/report_edit.html:154
#: templates/web/base/admin/update_edit.html:69
#: templates/web/zurich/admin/update_edit.html:35
msgid "Remove photo (can't be undone!)"
@@ -2954,13 +2988,13 @@ msgstr ""
msgid "Report"
msgstr ""
-#: templates/web/base/report/_inspect.html:10
-#: templates/web/base/report/_item.html:76
+#: templates/web/base/report/_inspect.html:14
+#: templates/web/base/report/_item.html:78
msgid "Report ID:"
msgstr ""
#: templates/web/base/header_logo.html:2
-#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:19
+#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:18
#: templates/web/zurich/nav_over_content.html:4
msgid "Report a problem"
msgstr "Rapporter eit problem"
@@ -2970,7 +3004,7 @@ msgstr "Rapporter eit problem"
msgid "Report abuse"
msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:16
+#: templates/web/base/report/new/form_user_loggedin.html:17
msgid "Report as"
msgstr ""
@@ -2979,9 +3013,8 @@ msgid "Report on %s"
msgstr "Rapport på %s"
#: templates/web/base/dashboard/index.html:137
-#, fuzzy
msgid "Report state:"
-msgstr "Rapport på %s"
+msgstr ""
#: templates/web/base/report/new/fill_in_details_form.html:1
#: templates/web/base/report/new/login_success_form.html:1
@@ -2994,7 +3027,7 @@ msgstr ""
msgid "Report, view, or discuss local problems"
msgstr "Rapporter, finn eller diskuter lokale problem"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:653
+#: perllib/FixMyStreet/DB/Result/Problem.pm:590
#: templates/web/base/contact/index.html:55
msgid "Reported anonymously at %s"
msgstr "Rapportert anonymt %s"
@@ -3004,7 +3037,7 @@ msgstr "Rapportert anonymt %s"
msgid "Reported before"
msgstr "Rapportert tidlegare"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:677
+#: perllib/FixMyStreet/DB/Result/Problem.pm:614
#: templates/web/base/contact/index.html:57
msgid "Reported by %s at %s"
msgstr "Publisert av %s %s"
@@ -3018,34 +3051,30 @@ msgstr ""
msgid "Reported in the %s category"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:650
+#: perllib/FixMyStreet/DB/Result/Problem.pm:587
msgid "Reported in the %s category anonymously at %s"
msgstr "Rapportert i kategorien %s anonymt %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:611
msgid "Reported in the %s category by %s at %s"
msgstr "Rapportert i kategorien %s av %s %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:647
+#: perllib/FixMyStreet/DB/Result/Problem.pm:584
msgid "Reported via %s anonymously at %s"
msgstr "Publisert av %s anonymt %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:671
+#: perllib/FixMyStreet/DB/Result/Problem.pm:608
msgid "Reported via %s by %s at %s"
msgstr "Rapportert av %s av %s %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:644
+#: perllib/FixMyStreet/DB/Result/Problem.pm:581
msgid "Reported via %s in the %s category anonymously at %s"
msgstr "Rapportert av %s i kategorien %s anonymt %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:666
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
msgid "Reported via %s in the %s category by %s at %s"
msgstr "Rapportert av %s i kategorien %s av %s %s"
-#: templates/web/base/reports/index.html:24
-msgid "Reported within the last four weeks"
-msgstr ""
-
#: templates/web/zurich/admin/report_edit-sdm.html:38
#: templates/web/zurich/admin/report_edit.html:57
msgid "Reported:"
@@ -3061,13 +3090,13 @@ msgid "Reporting a problem"
msgstr "Legger til eit problem"
#: perllib/FixMyStreet/Cobrand/Default.pm:655
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:383
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:388
#: templates/web/base/dashboard/index.html:134
#: templates/web/zurich/header.html:52
msgid "Reports"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:329 perllib/FixMyStreet/Cobrand/UK.pm:333
+#: perllib/FixMyStreet/Cobrand/UK.pm:333 perllib/FixMyStreet/Cobrand/UK.pm:335
msgid "Reports are limited to %s characters in length. Please shorten your report"
msgstr ""
@@ -3075,31 +3104,53 @@ msgstr ""
msgid "Reports awaiting approval"
msgstr ""
+#: templates/web/base/alert/_list.html:54
+#, fuzzy
+msgid "Reports by destination"
+msgstr "Publisert av %s %s"
+
#: templates/web/base/admin/user-form.html:107
msgid "Reports made by trusted users will be sent to the responsible body without being inspected first."
msgstr ""
+#: templates/web/base/alert/_list.html:15
+msgid "Reports near %s are sent to different councils, depending on the type of problem."
+msgstr ""
+
#: templates/web/zurich/admin/index-sdm.html:10
msgid "Reports published"
msgstr ""
-#: templates/web/base/js/translation_strings.html:68
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:71
msgid "Reports saved offline."
-msgstr "Rapporter eit problem"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#, fuzzy
+msgid "Reports sent to %s"
+msgstr "Rapport på %s"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:290 perllib/FixMyStreet/Cobrand/UK.pm:302
+#, fuzzy
+msgid "Reports sent to %s, within %s ward"
+msgstr "RSS-straum av %s, innanfor %s bydel"
#: templates/web/base/admin/index.html:56
msgid "Reports waiting to be sent"
msgstr ""
-#: templates/web/base/admin/contact-form.html:89
+#: templates/web/base/admin/contact-form.html:90
msgid "Reports will automatically be sent without needing to be inspected if the user's <strong>reputation</strong> is at or above this value. Set to <strong>0</strong> if all reports must be inspected regardless."
msgstr ""
-#: templates/web/base/admin/contact-form.html:94
+#: templates/web/base/admin/contact-form.html:95
msgid "Reputation threshold"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:20
+msgid "Required"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:84
msgid "Resend report"
msgstr "Send rapport på nytt"
@@ -3135,7 +3186,7 @@ msgstr ""
msgid "Revert to original"
msgstr ""
-#: templates/web/base/report/_main.html:95
+#: templates/web/base/report/_main.html:99
msgid "Revert to original text"
msgstr ""
@@ -3158,16 +3209,16 @@ msgstr "Vegoperatør for denne namngjevne vegen (utleia frå vegreferansenummer
msgid "Road operator for this named road (from OpenStreetMap): %s"
msgstr "Vegoperatør for denne namngjevne vegen (frå OpenStreetMap): %s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1747
-#: templates/web/base/admin/report_edit.html:163
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1852
+#: templates/web/base/admin/report_edit.html:151
#: templates/web/base/admin/update_edit.html:66
#: templates/web/zurich/admin/report_edit.html:118
msgid "Rotate Left"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: templates/web/base/admin/report_edit.html:164
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: templates/web/base/admin/report_edit.html:152
#: templates/web/base/admin/update_edit.html:67
#: templates/web/zurich/admin/report_edit.html:119
msgid "Rotate Right"
@@ -3182,32 +3233,40 @@ msgstr ""
msgid "Satellite"
msgstr ""
-#: templates/web/base/report/_inspect.html:168
+#: templates/web/base/report/_inspect.html:182
msgid "Save + close as duplicate"
msgstr ""
-#: templates/web/base/admin/contact-form.html:137
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/contact-form.html:138
+#: templates/web/base/admin/reportextrafields/edit.html:64
+#: templates/web/base/admin/responsepriorities/edit.html:58
#: templates/web/base/admin/template_edit.html:46
-#: templates/web/base/report/_inspect.html:168
-#: templates/web/base/report/_main.html:113
-#: templates/web/base/report/update.html:60
+#: templates/web/base/report/_inspect.html:182
+#: templates/web/base/report/_main.html:117
+#: templates/web/base/report/update.html:69
#: templates/web/zurich/admin/body.html:62
-#: templates/web/zurich/admin/contact-form.html:20
+#: templates/web/zurich/admin/contact-form.html:22
#: templates/web/zurich/admin/template_edit.html:29
msgid "Save changes"
msgstr "Lagra endringar"
-#: templates/web/base/report/_inspect.html:148
+#: templates/web/base/admin/reportextrafields/edit.html:64
+msgid "Save new fields"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:158
msgid "Save with a public update"
msgstr ""
-#. ('This is followed by a progress count, e.g. 3/5')
#. ("This is followed by a progress count, e.g. 3/5")
-#: templates/web/base/js/translation_strings.html:69
+#: templates/web/base/js/translation_strings.html:72
msgid "Saving reports offline"
msgstr ""
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:132
+msgid "Scheduled"
+msgstr ""
+
#: templates/web/base/admin/index.html:26
#: templates/web/base/admin/reports.html:1
#: templates/web/zurich/admin/reports.html:1
@@ -3241,41 +3300,41 @@ msgstr ""
msgid "See our privacy policy"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:715
+#: perllib/FixMyStreet/Cobrand/Default.pm:720
msgid "See user detail for reports created as the council"
msgstr ""
-#: templates/web/base/admin/body-form.html:39
+#: templates/web/base/admin/body-form.html:41
#: templates/web/zurich/admin/body-form.html:16
msgid "Select a body"
msgstr ""
-#: templates/web/base/reports/index.html:12
-msgid "Select a particular council to see the reports sent there."
-msgstr ""
-
-#: templates/web/base/admin/body-form.html:77
+#: templates/web/base/admin/body-form.html:79
#: templates/web/zurich/admin/body-form.html:26
msgid "Select an area"
msgstr ""
-#: templates/web/base/alert/_list.html:11
-msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
+#: templates/web/base/admin/responsepriorities/edit.html:33
+msgid "Select if this is the default priority"
msgstr ""
#: templates/web/base/admin/category-checkboxes.html:6
msgid "Select:"
msgstr ""
+#: templates/web/base/contact/index.html:107
+msgid "Send"
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:109
msgid "Send extended Open311 statuses with service request updates"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:826
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:831
msgid "Sent report back"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:804
+#: perllib/FixMyStreet/DB/Result/Problem.pm:741
msgid "Sent to %s %s later"
msgstr "Sendt til %s %s seinare"
@@ -3288,7 +3347,7 @@ msgstr "Sendt:"
msgid "Service:"
msgstr "Teneste:"
-#: templates/web/base/report/_inspect.html:31
+#: templates/web/base/report/_inspect.html:41
msgid "Set to my current location"
msgstr ""
@@ -3297,49 +3356,56 @@ msgid "Share"
msgstr ""
#: templates/web/base/main_nav_items.html:10
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:21
#: templates/web/base/report/_main.html:29
msgid "Shortlist"
msgstr ""
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/reports/body.html:32
+msgid "Shortlist all visible"
+msgstr ""
+
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:20
#: templates/web/base/report/_main.html:25
#: templates/web/base/reports/_list-filters.html:9
msgid "Shortlisted"
msgstr ""
-#: templates/web/base/report/_main.html:144
+#: templates/web/base/report/_item.html:15
+#: templates/web/base/report/_main.html:148
msgid "Shortlisted by %s"
msgstr ""
#: templates/web/base/report/update.html:20
-#, fuzzy
msgid "Show Photo?"
-msgstr "Vis nåler"
+msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:54
+#: templates/web/base/questionnaire/index.html:26
+msgid "Show all updates"
+msgstr ""
+
+#: templates/web/base/report/new/form_user_loggedin.html:56
#: templates/web/base/report/new/form_user_loggedout_by_email.html:22
-#: templates/web/base/report/update/form_name.html:33
+#: templates/web/base/report/update/form_name.html:37
msgid "Show my name publicly"
msgstr "Vis namnet mitt offentleg"
#: templates/web/base/report/update.html:17
-#, fuzzy
msgid "Show name publicly?"
-msgstr "Vis namnet mitt offentleg"
+msgstr ""
#: templates/web/base/around/display_location.html:69
msgid "Show old"
msgstr ""
-#: templates/web/base/report/_main.html:79
-#, fuzzy
+#: templates/web/base/report/_main.html:83
msgid "Show photo"
-msgstr "Vis nåler"
+msgstr ""
#: templates/web/base/around/display_location.html:60
+#: templates/web/base/js/translation_strings.html:54
msgid "Show pins"
msgstr "Vis nåler"
@@ -3347,16 +3413,20 @@ msgstr "Vis nåler"
msgid "Show reporter&rsquo;s name"
msgstr ""
-#: templates/web/base/auth/general.html:117
+#: templates/web/base/reports/index.html:62
+msgid "Show reports in your area"
+msgstr ""
+
+#: templates/web/base/auth/general.html:119
#: templates/web/base/auth/general.html:3
-#: templates/web/base/auth/general.html:86
+#: templates/web/base/auth/general.html:88
#: templates/web/base/main_nav_items.html:6
#: templates/web/zurich/auth/general.html:18
#: templates/web/zurich/auth/general.html:35
msgid "Sign in"
msgstr "Logg inn"
-#: templates/web/base/auth/general.html:96
+#: templates/web/base/auth/general.html:98
msgid "Sign in by email instead, providing a new password. When you click the link in your email, your password will be updated."
msgstr ""
@@ -3402,14 +3472,14 @@ msgstr ""
msgid "Sorry, there has been an error confirming your problem."
msgstr "Orsak, men det oppstod eit problem når vi freista å stadfesta problemrapporten din"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:230
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:235
#: perllib/FixMyStreet/Geocode.pm:37 perllib/FixMyStreet/Geocode/Bing.pm:38
#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:56
#: perllib/FixMyStreet/Geocode/OSM.pm:48
msgid "Sorry, we could not find that location."
msgstr "Orsak, vi kunne ikkje finna den staden."
-#: templates/web/base/auth/general.html:9
+#: templates/web/base/auth/general.html:11
#: templates/web/base/report/display.html:29
#: templates/web/base/report/new/fill_in_details_form.html:15
msgid "Sorry, we could not log you in. Please fill in the form below."
@@ -3431,11 +3501,11 @@ msgid ""
"page wasn’t found or there was a server error. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Root.pm:107
+#: perllib/FixMyStreet/App/Controller/Root.pm:124
msgid "Sorry, you don't have permission to do that."
msgstr ""
-#: templates/web/base/reports/_list-filters.html:42
+#: templates/web/base/reports/_list-filters.html:53
msgid "Sort by"
msgstr ""
@@ -3452,17 +3522,25 @@ msgid "Start Date:"
msgstr ""
#: templates/web/base/admin/body.html:73
+#: templates/web/base/admin/category_edit.html:29
+#: templates/web/base/admin/contact-form.html:53
#: templates/web/base/admin/flagged.html:18
#: templates/web/base/admin/index.html:64
#: templates/web/base/admin/list_updates.html:11
#: templates/web/base/admin/reports.html:16
#: templates/web/base/admin/template_edit.html:40
-#: templates/web/base/report/_inspect.html:83
-#: templates/web/base/report/_item.html:94
+#: templates/web/base/report/_inspect.html:82
+#: templates/web/base/report/_item.html:96
#: templates/web/base/report/update/form_update.html:39
+#: templates/web/zurich/admin/contact-form.html:10
msgid "State"
msgstr "Tilstand"
+#: templates/web/base/report/update.html:48
+#, fuzzy
+msgid "State changed to:"
+msgstr "Lagra endringar"
+
#: templates/web/base/admin/report_edit.html:116
#: templates/web/base/admin/update_edit.html:28
#: templates/web/zurich/admin/report_edit-sdm.html:75
@@ -3472,8 +3550,14 @@ msgstr "Tilstand"
msgid "State:"
msgstr "Tilstand:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:640
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:386
+#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: templates/web/base/admin/states/index.html:1
+#, fuzzy
+msgid "States"
+msgstr "Tilstand"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
#: templates/web/base/admin/index.html:71 templates/web/base/admin/stats.html:1
#: templates/web/base/admin/stats_by_state.html:1
#: templates/web/zurich/admin/stats.html:1 templates/web/zurich/header.html:65
@@ -3495,6 +3579,10 @@ msgstr ""
msgid "Street View"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:46
+msgid "String"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:192
msgid "Subcategory: %s"
msgstr ""
@@ -3503,7 +3591,7 @@ msgstr ""
msgid "Subdivision/Body"
msgstr ""
-#: templates/web/base/contact/index.html:88
+#: templates/web/base/contact/index.html:92
msgid "Subject"
msgstr ""
@@ -3513,14 +3601,14 @@ msgid "Subject:"
msgstr "Emne:"
#: templates/web/base/questionnaire/creator_fixed.html:19
-#: templates/web/base/report/new/form_user_loggedin.html:61
+#: templates/web/base/report/new/form_user_loggedin.html:63
#: templates/web/base/report/new/form_user_loggedout_by_email.html:36
#: templates/web/base/report/new/form_user_loggedout_password.html:11
#: templates/web/zurich/report/new/fill_in_details_form.html:73
msgid "Submit"
msgstr "Send inn"
-#: templates/web/base/admin/report_edit.html:174
+#: templates/web/base/admin/report_edit.html:162
#: templates/web/base/admin/report_edit.html:24
#: templates/web/base/admin/update_edit.html:77
#: templates/web/base/admin/user-form.html:170
@@ -3534,8 +3622,8 @@ msgstr "Send inn endringar"
msgid "Submit questionnaire"
msgstr "Send inn spørjeskjema"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:164
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:893
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:898
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:6
#: templates/web/zurich/admin/index-dm.html:23
@@ -3545,36 +3633,38 @@ msgstr "Send inn spørjeskjema"
msgid "Submitted"
msgstr ""
+#: templates/web/base/alert/_list.html:77
+#: templates/web/base/alert/_list.html:80
#: templates/web/base/alert/updates.html:23
#: templates/web/base/report/display_tools.html:51
msgid "Subscribe"
msgstr "Abonner"
-#: templates/web/base/alert/_list.html:93
-msgid "Subscribe me to an email alert"
+#: templates/web/base/alert/_list.html:72
+#, fuzzy
+msgid "Subscribe by email"
msgstr "Eg ynskjer å abonnera på e-postvarsel"
#: templates/web/base/report/new/form_report.html:19
msgid "Summarise the problem"
msgstr ""
-#: templates/web/base/admin/contact-form.html:129
+#: templates/web/base/admin/contact-form.html:130
msgid "Summarise your changes"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:638
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:382
+#: perllib/FixMyStreet/Cobrand/Default.pm:637
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:387
#: templates/web/base/admin/bodies.html:29
#: templates/web/base/admin/index.html:1 templates/web/base/status/index.html:1
#: templates/web/base/status/index.html:3
#: templates/web/zurich/admin/index-dm.html:1
#: templates/web/zurich/admin/index-sdm.html:1
-#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:13
+#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:12
#: templates/web/zurich/header.html:49
msgid "Summary"
msgstr "Oppsummering"
-#: templates/web/base/reports/index.html:4
#: templates/web/zurich/reports/index.html:0
#: templates/web/zurich/reports/index.html:4
msgid "Summary reports"
@@ -3598,7 +3688,7 @@ msgid "Template &laquo;%s&raquo;"
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:661
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:393
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
#: templates/web/zurich/header.html:69
msgid "Templates"
msgstr ""
@@ -3630,7 +3720,7 @@ msgstr ""
"ditt. Det ser ut til at vi har ein feil hos oss, så <a href=\"%s\">ver\n"
"så snill og fortel oss kva som skjedde</a>, så skal vi sjå på saka."
-#: templates/web/base/tokens/confirm_update.html:15
+#: templates/web/base/tokens/confirm_update.html:16
msgid "Thank you for updating this issue!"
msgstr ""
@@ -3658,7 +3748,7 @@ msgstr "Biletet ser ikkje ut til å ha vorte lasta opp riktig (%s), prøv på ny
msgid "That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Location.pm:129
+#: perllib/FixMyStreet/App/Controller/Location.pm:127
msgid "That location does not appear to be in the UK; please try again."
msgstr ""
@@ -3668,23 +3758,23 @@ msgstr ""
msgid "That postcode was not recognised, sorry."
msgstr "Det postnummeret vart ikkje gjenkjent, orsak."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:762
+#: perllib/FixMyStreet/App/Controller/Admin.pm:850
msgid "That problem has been marked as sent."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:755
+#: perllib/FixMyStreet/App/Controller/Admin.pm:843
msgid "That problem will now be resent."
msgstr "Det problemet vil no sendast på nytt."
-#: perllib/FixMyStreet/App/Controller/Report.pm:137
+#: perllib/FixMyStreet/App/Controller/Report.pm:134
msgid "That report cannot be viewed on %s."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report.pm:131
+#: perllib/FixMyStreet/App/Controller/Report.pm:128
msgid "That report has been removed from FixMyStreet."
msgstr "Den rapporten har vorte fjerna frå FiksGataMi."
-#: templates/web/base/admin/contact-form.html:25
+#: templates/web/base/admin/contact-form.html:27
msgid ""
"The <strong>email address</strong> is the destination to which reports about this category will be sent. \n"
" Other categories for this body may have the same email address."
@@ -3704,10 +3794,10 @@ msgid ""
" than one. If the body is running its own endpoint, you can usually leave this blank."
msgstr ""
-#: templates/web/base/admin/body-form.html:100
-#: templates/web/base/admin/body-form.html:101
-#: templates/web/base/admin/contact-form.html:103
+#: templates/web/base/admin/body-form.html:102
+#: templates/web/base/admin/body-form.html:103
#: templates/web/base/admin/contact-form.html:104
+#: templates/web/base/admin/contact-form.html:105
msgid ""
"The <strong>send method</strong> determines how problem reports will be sent to the body.\n"
" If you leave this blank, <strong>send method defaults to email</strong>."
@@ -3724,6 +3814,10 @@ msgid ""
" and may be displayed publically."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:12
+msgid "The code used to store this field value in the database. e.g. <code>address</code> would be available as <code>problem.extra.address</code> in the templates."
+msgstr ""
+
#: templates/web/base/report/new/fill_in_details_text.html:1
#: templates/web/base/report/new/fill_in_details_text.html:3
msgid "The council won&rsquo;t be able to help unless you leave as much detail as you can. Please describe the exact location of the problem (e.g. on a wall), what it is, how long it has been there, a description (and a photo of the problem if you have one), etc."
@@ -3734,11 +3828,15 @@ msgstr ""
msgid "The diligency prize league table shows editors' activity (who's been editing the most records)."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:61
-#: perllib/FixMyStreet/App/Controller/Reports.pm:82
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:63
+#: perllib/FixMyStreet/App/Controller/Reports.pm:103
msgid "The error was: %s"
msgstr "Feilen var: %s"
+#: templates/web/base/admin/extra-metadata-form.html:30
+msgid "The field name as shown to the user on the report form."
+msgstr ""
+
#: templates/web/base/open311/index.html:78
msgid "The following Open311 v2 attributes are returned for each request: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
msgstr "Dei følgjande Open311 v2-attributtene vert returnerte for kvar førespurnad: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code og service_name."
@@ -3777,10 +3875,14 @@ msgstr "Dei siste problema innanfor grensa til {{NAME}} rapportert av brukarar"
msgid "The link might have expired, or maybe you didn&rsquo;t quite copy and paste it correctly."
msgstr ""
-#: templates/web/base/admin/body-form.html:64
+#: templates/web/base/admin/body-form.html:66
msgid "The list of available areas is being provided by the MapIt service at %s."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:6
+msgid "The ordering of this field on the report page. Fields are shown in ascending order according to this value."
+msgstr ""
+
#: templates/web/base/auth/change_password.html:22
#: templates/web/base/auth/change_password.html:26
msgid "The passwords do not match"
@@ -3790,9 +3892,9 @@ msgstr "Passorda er ikkje like"
msgid "The requested URL '%s' was not found on this server"
msgstr "Fann ikkje URL-en «%s» på denne tenaren"
-#: templates/web/base/alert/_list.html:17
-msgid "The simplest alert is our geographic one:"
-msgstr "Den enklaste meldinga er den geografiske:"
+#: templates/web/base/admin/extra-metadata-form.html:42
+msgid "The type of input field to show to the user. <strong>Text</strong> is a simple text field, <strong>List</strong> is a drop-down selection."
+msgstr ""
#: perllib/FixMyStreet/Script/Reports.pm:96
msgid "The user could not locate the problem on a map, but to see the area around the location they entered"
@@ -3811,18 +3913,18 @@ msgstr ""
msgid "There are no reports to show."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Reports.pm:79
+#: perllib/FixMyStreet/App/Controller/Reports.pm:100
msgid "There was a problem showing the All Reports page. Please try again later."
msgstr "Det oppstod problem med å visa «Alle rapportar»-sida. Ver venleg og prøv igjen seinare."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:137
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:60
+#: perllib/FixMyStreet/App/Controller/Contact.pm:138
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:62
msgid "There was a problem showing this page. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:758
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:785
#: perllib/FixMyStreet/App/Controller/Report/Update.pm:152
-#: templates/web/base/auth/general.html:53
+#: templates/web/base/auth/general.html:55
#: templates/web/zurich/auth/general.html:28
msgid "There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the &lsquo;sign in by email&rsquo; section of the form."
msgstr ""
@@ -3835,7 +3937,7 @@ msgstr "Det var problem med e-post/passord-kombinasjonen din. Ver venleg og prø
msgid "There was a problem with your update. Please try again."
msgstr "Det var problem med oppdateringa di. Ver venleg og prøv igjen."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:141
+#: perllib/FixMyStreet/App/Controller/Contact.pm:142
msgid "There were problems with your report. Please see below."
msgstr "Det var problem med rapporten din. Ver venleg og sjå under."
@@ -3887,8 +3989,8 @@ msgstr ""
msgid "This body has no contacts. This means that currently problems reported to this body <strong>will not be sent</strong>."
msgstr ""
-#: templates/web/base/admin/body-form.html:58
-#: templates/web/base/admin/body-form.html:59
+#: templates/web/base/admin/body-form.html:60
+#: templates/web/base/admin/body-form.html:61
msgid ""
"This body will only be sent reports for problems that are located in the <strong>area covered</strong>.\n"
" A body will not receive any reports unless it covers at least one area."
@@ -3902,8 +4004,9 @@ msgstr "Denne e-posten er sendt til begge administrasjonane som dekkjer staden f
msgid "This email has been sent to several councils covering the location of the problem, as the category selected is provided for all of them; please ignore it if you're not the correct council to deal with the issue."
msgstr "Denne e-posten er sendt til fleire administrasjonar som dekkjer staden for problemet, sidan den valde kategorien er tilgjengeleg for desse. Ver venleg og ignorer e-posten viss de ikkje er korrekt administrasjon for å handtera denne saka."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:881
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:925
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1017
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:910
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:954
#: perllib/FixMyStreet/App/Controller/Report/New.pm:971
#: perllib/FixMyStreet/Cobrand/UK.pm:45
msgid "This information is required"
@@ -3913,46 +4016,41 @@ msgstr "Denne informasjonen er påkravd"
msgid "This is a developer site; things might break at any time, and the database will be periodically deleted."
msgstr "Dette er ein utviklarnettstad. Ting kan knekka når som helst og databasen vil verta periodisk sletta."
-#: templates/web/base/reports/index.html:10
-msgid "This is a summary of all reports on this site."
-msgstr ""
-
-#: templates/web/base/report/new/form_report.html:56
+#: templates/web/base/report/new/form_report.html:58
msgid "This pothole has been here for two months and…"
msgstr ""
-#: templates/web/base/report/update/form_update.html:63
+#: templates/web/base/report/update/form_update.html:55
msgid "This problem has been fixed"
msgstr "Dette problemet er løyst"
-#: templates/web/base/report/update/form_update.html:56
+#: templates/web/base/report/update/form_update.html:48
msgid "This problem has not been fixed"
msgstr "Dette problemet har ikkje vorte løyst"
-#: templates/web/base/report/update/form_update.html:54
-#, fuzzy
+#: templates/web/base/report/update/form_update.html:46
msgid "This problem is still ongoing"
-msgstr "Dette problemet har ikkje vorte løyst"
+msgstr ""
#: templates/web/base/report/duplicate-no-updates.html:3
msgid "This report is a duplicate. Please leave updates on the original report:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:161
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:162
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:166
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:167
#: templates/web/zurich/report/_main.html:14
msgid "This report is awaiting moderation."
msgstr ""
-#: perllib/FixMyStreet/Script/Alerts.pm:101
+#: perllib/FixMyStreet/Script/Alerts.pm:98
msgid "This report is currently marked as closed."
msgstr "Denne rapporten er for tida markert som lukka."
-#: perllib/FixMyStreet/Script/Alerts.pm:99
+#: perllib/FixMyStreet/Script/Alerts.pm:96
msgid "This report is currently marked as fixed."
msgstr "Denne rapporten er for tida markert som fiksa."
-#: perllib/FixMyStreet/Script/Alerts.pm:103
+#: perllib/FixMyStreet/Script/Alerts.pm:100
msgid "This report is currently marked as open."
msgstr "Denne rapporten er for tida markert som open."
@@ -3971,7 +4069,7 @@ msgstr "Denne nettsida inneheld òg eit bilete av problemet, sendt inn av brukar
msgid "Time spent (in minutes):"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Default.pm:638
#: templates/web/base/admin/timeline.html:1
msgid "Timeline"
msgstr "Tidslinje"
@@ -4000,10 +4098,26 @@ msgstr ""
msgid "To find out what local alerts we have for you, please enter your postcode or street name and area"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:19
+msgid "To limit this collection of fields to a single cobrand, select it here."
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:40
+msgid "To limit this collection of fields to a single language, select it here."
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:95
msgid "To view a map of the precise location of this issue"
msgstr "For å sjå eit kart med ei meir presis plassering for dette problemet"
+#: templates/web/base/reports/index.html:97
+msgid "Top 5 most used categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:83
+msgid "Top 5 responsive councils"
+msgstr ""
+
#: templates/web/base/admin/questionnaire.html:24
#: templates/web/base/admin/stats.html:24
#: templates/web/base/admin/stats.html:43
@@ -4017,9 +4131,8 @@ msgid "Total marked"
msgstr ""
#: templates/web/base/dashboard/index.html:71
-#, fuzzy
msgid "Total marked as fixed"
-msgstr "markert som løyst"
+msgstr ""
#: templates/web/base/dashboard/index.html:125
msgid "Total not marked"
@@ -4030,16 +4143,24 @@ msgstr ""
msgid "Total reports received"
msgstr ""
-#: templates/web/base/report/_inspect.html:124
-#: templates/web/base/report/_item.html:102
+#: templates/web/base/report/_inspect.html:134
+#: templates/web/base/report/_item.html:104
msgid "Traffic management required?"
msgstr ""
+#: templates/web/base/admin/_translations.html:7
+msgid "Translation"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:2
+msgid "Translations"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:111
msgid "Trusted by bodies:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:721
+#: perllib/FixMyStreet/Cobrand/Default.pm:726
msgid "Trusted to make reports that don't need to be inspected"
msgstr ""
@@ -4055,8 +4176,14 @@ msgstr ""
msgid "Try emailing us directly:"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:21
+#: templates/web/base/admin/extra-metadata-form.html:44
+#: templates/web/base/admin/states/index.html:10
+#: templates/web/base/admin/states/index.html:100
+msgid "Type"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:59
+#: templates/web/base/admin/contact-form.html:55
#: templates/web/base/admin/update_edit.html:30
#: templates/web/zurich/admin/report_edit-sdm.html:66
#: templates/web/zurich/admin/report_edit.html:94
@@ -4064,7 +4191,6 @@ msgstr ""
msgid "Unconfirmed"
msgstr "Ikkje stadfesta"
-#: templates/web/base/reports/_list-filters.html:12
#: templates/web/base/reports/_list-filters.html:5
msgid "Unfixed reports"
msgstr ""
@@ -4078,14 +4204,14 @@ msgid "Unknown alert type"
msgstr "Ukjend varsel-type"
#: perllib/FixMyStreet/App/Controller/Photo.pm:109
-#: perllib/FixMyStreet/App/Controller/Root.pm:124
+#: perllib/FixMyStreet/App/Controller/Root.pm:141
#: templates/web/base/js/translation_strings.html:38
msgid "Unknown error"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report.pm:115
+#: perllib/FixMyStreet/App/Controller/Report.pm:112
+#: perllib/FixMyStreet/App/Controller/Report.pm:118
#: perllib/FixMyStreet/App/Controller/Report.pm:121
-#: perllib/FixMyStreet/App/Controller/Report.pm:124
msgid "Unknown problem ID"
msgstr "Ukjend problem-ID"
@@ -4093,10 +4219,11 @@ msgstr "Ukjend problem-ID"
msgid "Unshortlisted"
msgstr ""
-#: templates/web/base/report/_item.html:24
+#: templates/web/base/report/_item.html:26
msgid "Up one"
msgstr ""
+#: templates/web/base/admin/states/index.html:76
#: templates/web/base/report/update/form_update.html:29
msgid "Update"
msgstr ""
@@ -4113,7 +4240,7 @@ msgstr "Oppdateringa under vart lagt inn anonymt %s"
msgid "Update below added by %s at %s"
msgstr "Oppdateringa under vart lagt til av %s %s"
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Update body"
msgstr ""
@@ -4149,13 +4276,23 @@ msgstr "Oppdater tilstanden"
msgid "Updated"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1157
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1221
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1384
-#: perllib/FixMyStreet/App/Controller/Admin.pm:822
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:762
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:787
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:857
+#: perllib/FixMyStreet/DB/Result/Comment.pm:249
+#, fuzzy
+msgid "Updated by <strong>%s</strong> (%s) at %s"
+msgstr "Lagt inn av <strong>%s</strong> (%s) %s"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:251
+#, fuzzy
+msgid "Updated by <strong>%s</strong> at %s"
+msgstr "Lagt inn av <strong>%s</strong> %s"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1262
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1326
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1489
+#: perllib/FixMyStreet/App/Controller/Admin.pm:910
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:767
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:792
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:862
msgid "Updated!"
msgstr "Oppdatert!"
@@ -4165,7 +4302,7 @@ msgstr "Oppdatert!"
msgid "Updates"
msgstr "Oppdateringar"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:133
+#: perllib/FixMyStreet/DB/Result/Comment.pm:134
msgid "Updates are limited to %s characters in length. Please shorten your update"
msgstr ""
@@ -4179,11 +4316,22 @@ msgstr "Oppdateringar av {{title}}"
msgid "Updates to this problem, %s"
msgstr ""
+#: templates/web/base/admin/contact-form.html:43
+#: templates/web/base/admin/contact-form.html:44
+msgid ""
+"Use <strong>confirmed</strong> to indicate that this contact has been\n"
+"confirmed as correct. If you are not sure of the origin or validity of the\n"
+"contact, use <strong>unconfirmed</strong>. <strong>inactive</strong> will\n"
+"remove the category from use when reporting problems, but keep it available in\n"
+"map filters, and <strong>deleted</strong> will remove the category from there\n"
+"as well."
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:65
msgid "Use Open311 update-sending extension"
msgstr ""
-#: templates/web/base/admin/contact-form.html:124
+#: templates/web/base/admin/contact-form.html:125
msgid "Use this field to record details that are only displayed in the admin. Input is not shown publicly, and is not sent to the body."
msgstr ""
@@ -4196,27 +4344,26 @@ msgstr ""
msgid "User ID to attribute fetched comments to"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1700
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1805
msgid "User flag removed"
msgstr "Brukarflagg fjerna"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1672
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1777
msgid "User flagged"
msgstr "Brukar flagga"
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:58
-#, fuzzy
msgid "User has marked as fixed"
-msgstr "markert som løyst"
+msgstr ""
#: templates/web/base/admin/users.html:5
msgid "User search finds matches in users' names and email addresses."
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:669
-#: perllib/FixMyStreet/Cobrand/Default.pm:723
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
+#: perllib/FixMyStreet/Cobrand/Default.pm:728
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:403
#: templates/web/base/admin/flagged.html:29 templates/web/zurich/header.html:61
msgid "Users"
msgstr "Brukarar"
@@ -4225,9 +4372,9 @@ msgstr "Brukarar"
msgid "Users can perform the following actions within their assigned body or area."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:400
-#: perllib/FixMyStreet/App/Controller/Admin.pm:430
-#: perllib/FixMyStreet/App/Controller/Admin.pm:448
+#: perllib/FixMyStreet/App/Controller/Admin.pm:381
+#: perllib/FixMyStreet/App/Controller/Admin.pm:417
+#: perllib/FixMyStreet/App/Controller/Admin.pm:439
msgid "Values updated"
msgstr "Verdi oppdatert"
@@ -4274,7 +4421,7 @@ msgstr "Vi fann meir ein eitt treff for den staden. Vi viser opp til ti treff, s
msgid "We found more than one match for that problem reference:"
msgstr ""
-#: templates/web/base/auth/general.html:6
+#: templates/web/base/auth/general.html:8
#: templates/web/base/report/display.html:35
#: templates/web/base/report/new/oauth_email_form.html:5
msgid "We need your email address, please give it below."
@@ -4309,7 +4456,7 @@ msgstr ""
msgid "What was your experience of getting the problem fixed?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:52
+#: templates/web/base/admin/category_edit.html:27
#: templates/web/zurich/admin/body.html:18
msgid "When edited"
msgstr "NÃ¥r redigert"
@@ -4318,11 +4465,19 @@ msgstr "NÃ¥r redigert"
msgid "When sent"
msgstr "NÃ¥r sendt"
-#: templates/web/base/report/_inspect.html:89
+#: templates/web/base/admin/extra-metadata-form.html:18
+msgid "Whether the user is required to provide a value for this field."
+msgstr ""
+
+#: templates/web/base/alert/_list.html:9
+msgid "Which problems do you want alerts about?"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:99
msgid "Which report is it a duplicate of?"
msgstr ""
-#: templates/web/base/js/translation_strings.html:54
+#: templates/web/base/js/translation_strings.html:57
msgid "Whoa there Testino! Three photos are enough."
msgstr ""
@@ -4330,8 +4485,8 @@ msgstr ""
msgid "Why stop there? <a href=\"/alert\">Set up more alerts</a> for free."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:185
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:190
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:14
msgid "Wish"
@@ -4341,7 +4496,7 @@ msgstr ""
msgid "With request searches, it is also possible to search for agency_responsible to limit the requests to those sent to a single administration. The search term is the administration ID provided by <a href=\"%s\">MaPit</a>."
msgstr "Når du søkjer etter førespurnader, så er det òg mogleg å søkja etter agency_responsible for å avgrensa det til førespurnader som er sendt til ein einskild adminstrasjon. Søkjetermen er administrasjonssida som du får frå <a href=\"%s\">MaPit</a>."
-#: templates/web/base/front/footer-marketing.html:17
+#: templates/web/base/front/footer-marketing.html:3
msgid "Would you like to contribute to FixMyStreet? Our code is open source and <a href=\"http://fixmystreet.org\">available at fixmystreet.org</a>."
msgstr ""
@@ -4366,23 +4521,22 @@ msgstr ""
msgid "Year"
msgstr "Ã…r"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1202
+#: perllib/FixMyStreet/Cobrand/Default.pm:1236
#: templates/web/base/admin/bodies.html:70
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
#: templates/web/base/admin/category_edit.html:5
#: templates/web/base/admin/flagged.html:47
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:136
+#: templates/web/base/admin/report_edit.html:124
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:25
#: templates/web/base/admin/users.html:32
#: templates/web/base/questionnaire/creator_fixed.html:14
#: templates/web/base/questionnaire/index.html:104
#: templates/web/base/questionnaire/index.html:53
+#: templates/web/base/report/_inspect.html:90
msgid "Yes"
msgstr "Ja"
@@ -4395,7 +4549,7 @@ msgstr ""
msgid "You are complaining that this problem report was unnecessarily moderated:"
msgstr ""
-#: templates/web/base/js/translation_strings.html:70
+#: templates/web/base/js/translation_strings.html:73
msgid "You are offline"
msgstr ""
@@ -4416,7 +4570,11 @@ msgstr ""
msgid "You can add an abusive user's email to the abuse list, which automatically hides (and never sends) reports they create."
msgstr ""
-#: templates/web/base/contact/index.html:111
+#: templates/web/base/alert/_list.html:18
+msgid "You can choose to subscribe to all problems reported in an area, or reports based on their destination."
+msgstr ""
+
+#: templates/web/base/contact/index.html:115
msgid "You can contact technical support on <a href='mailto:%s'>%s</a>"
msgstr ""
@@ -4434,7 +4592,7 @@ msgstr ""
msgid "You can help us by finding a contact email address for local problems for %s and emailing it to us at <a href='mailto:%s'>%s</a>."
msgstr "Du kan hjelpa oss ved å finna ein kontakt-e-post for lokale problem i %s, og senda han via e-post til oss på <a href='mailto:%s'>%s</a>."
-#: templates/web/base/admin/body-form.html:91
+#: templates/web/base/admin/body-form.html:93
msgid "You can mark a body as deleted if you do not want it to be active on the site."
msgstr ""
@@ -4442,7 +4600,7 @@ msgstr ""
msgid "You declined; please fill in the box above"
msgstr ""
-#: templates/web/base/js/translation_strings.html:72
+#: templates/web/base/js/translation_strings.html:75
msgid "You have <a id=\"oFN\" href=\"\"><span>%s</span> saved to submit</a>."
msgstr ""
@@ -4450,7 +4608,7 @@ msgstr ""
msgid "You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"
msgstr "Du har allereie svart på dette spørjeskjemaet. Viss du har spurnader, ver venleg og <a href='%s'>ta kontakt</a>, eller <a href='%s'>sjå på problemet ditt</a>.\n"
-#: templates/web/base/report/new/form_report.html:37
+#: templates/web/base/report/new/form_report.html:39
#: templates/web/zurich/report/new/fill_in_details_form.html:30
msgid "You have already attached photos to this report. Note that you can attach a maximum of 3 to this report (if you try to upload more, the oldest will be removed)."
msgstr ""
@@ -4508,10 +4666,9 @@ msgstr "Rapportane dine"
msgid "Your account"
msgstr ""
-#: templates/web/base/alert/_list.html:90
#: templates/web/base/alert/updates.html:19
#: templates/web/base/alert/updates.html:22
-#: templates/web/base/contact/index.html:81
+#: templates/web/base/contact/index.html:80
#: templates/web/base/report/display_tools.html:46
#: templates/web/base/report/display_tools.html:49
#: templates/web/base/report/new/form_user_loggedout_email.html:1
@@ -4521,7 +4678,7 @@ msgid "Your email"
msgstr ""
#: templates/web/base/auth/change_email.html:9
-#: templates/web/base/auth/general.html:55
+#: templates/web/base/auth/general.html:57
#: templates/web/base/report/update/form_user_loggedout_email.html:5
#: templates/web/zurich/auth/general.html:30
#: templates/web/zurich/auth/general.html:58
@@ -4532,21 +4689,32 @@ msgstr ""
msgid "Your information will only be used in accordance with our <a href=\"/privacy\">privacy policy</a>"
msgstr ""
-#: templates/web/base/auth/general.html:107
+#: templates/web/base/auth/general.html:109
#: templates/web/base/contact/index.html:74
#: templates/web/base/report/new/form_user_loggedout_by_email.html:17
-#: templates/web/base/report/update/form_name.html:29
+#: templates/web/base/report/update/form_name.html:33
#: templates/web/zurich/auth/general.html:61
#: templates/web/zurich/report/new/fill_in_details_form.html:63
msgid "Your name"
msgstr ""
-#: templates/web/base/js/translation_strings.html:62
-#, fuzzy
+#: templates/web/base/my/anonymize.html:13
+msgid "Your name has already been sent to %s, but we can hide it on this page:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:264
+msgid "Your name has been hidden from all your reports and updates."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:260
+msgid "Your name has been hidden."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:65
msgid "Your offline reports"
-msgstr "Oppdateringane dine"
+msgstr ""
-#: templates/web/base/auth/general.html:85
+#: templates/web/base/auth/general.html:87
#: templates/web/base/report/new/form_user_loggedout_password.html:10
#: templates/web/base/report/update/form_user_loggedout_password.html:9
#: templates/web/zurich/auth/general.html:34
@@ -4557,6 +4725,7 @@ msgstr ""
msgid "Your password has been changed"
msgstr "Passordet ditt har vorte endra"
+#: templates/web/base/contact/index.html:87
#: templates/web/base/report/new/form_user_loggedout_by_email.html:26
#: templates/web/zurich/report/new/fill_in_details_form.html:69
msgid "Your phone number"
@@ -4575,7 +4744,7 @@ msgstr "Oppdateringane dine"
msgid "Your shortlist"
msgstr ""
-#: templates/web/base/js/translation_strings.html:63
+#: templates/web/base/js/translation_strings.html:66
msgid "Your update has been saved offline for submission when back online."
msgstr ""
@@ -4583,8 +4752,8 @@ msgstr ""
msgid "Your updates"
msgstr "Oppdateringane dine"
-#: templates/web/base/report/new/form_user_loggedin.html:18
-#: templates/web/base/report/update/form_name.html:11
+#: templates/web/base/report/new/form_user_loggedin.html:19
+#: templates/web/base/report/update/form_name.html:12
msgid "Yourself"
msgstr ""
@@ -4593,14 +4762,14 @@ msgstr ""
msgid "all"
msgstr ""
+#: perllib/FixMyStreet/DB/Result/Comment.pm:259
+msgid "and a defect raised"
+msgstr ""
+
#: templates/web/base/admin/timeline.html:4
msgid "by %s"
msgstr "av %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:290
-msgid "closed as a duplicate report"
-msgstr ""
-
#: templates/web/base/reports/body.html:6
#: templates/web/base/reports/body.html:7
msgid "council"
@@ -4625,7 +4794,7 @@ msgstr ""
msgid "from %s different users"
msgstr "frå %s ulike brukarar"
-#: templates/web/base/report/_item.html:61
+#: templates/web/base/report/_item.html:63
#: templates/web/zurich/report/_item.html:14
msgid "last updated %s"
msgstr ""
@@ -4634,44 +4803,7 @@ msgstr ""
msgid "less than a minute"
msgstr "mindre enn eitt minutt"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:280
-msgid "marked as action scheduled"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:292
-msgid "marked as an internal referral"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:282
-msgid "marked as closed"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:263
-#: perllib/FixMyStreet/DB/Result/Comment.pm:284
-msgid "marked as fixed"
-msgstr "markert som løyst"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:278
-msgid "marked as in progress"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:274
-msgid "marked as investigating"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:286
-msgid "marked as no further action"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:288
-msgid "marked as not the council's responsibility"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:276
-msgid "marked as planned"
-msgstr ""
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:122
+#: perllib/FixMyStreet/App/Controller/Admin.pm:119
#: templates/web/base/admin/questionnaire.html:15
#: templates/web/base/admin/questionnaire.html:16
msgid "n/a"
@@ -4682,14 +4814,10 @@ msgstr "i/t"
msgid "none"
msgstr ""
-#: templates/web/base/admin/category_edit.html:35
-msgid "optional"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:278
+msgid "not the council's responsibility"
msgstr ""
-#: templates/web/base/alert/_list.html:86
-msgid "or"
-msgstr "eller"
-
#: templates/web/base/js/translation_strings.html:27
msgid "or locate me automatically"
msgstr ""
@@ -4713,16 +4841,7 @@ msgstr ""
msgid "other areas:"
msgstr "andre område:"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:265
-#: perllib/FixMyStreet/DB/Result/Comment.pm:271
-msgid "reopened"
-msgstr "opna på nytt"
-
-#: templates/web/base/admin/category_edit.html:35
-msgid "required"
-msgstr ""
-
-#: templates/web/zurich/footer.html:13
+#: templates/web/zurich/footer.html:12
msgid "sign out"
msgstr ""
@@ -4730,11 +4849,16 @@ msgstr ""
msgid "the local council"
msgstr "den lokale administrasjonen"
-#: templates/web/base/report/_report_meta_info.html:2
+#: templates/web/base/report/_report_meta_info.html:5
#: templates/web/zurich/report/_main.html:5
msgid "there is no pin shown as the user did not use the map"
msgstr ""
+#: templates/web/base/alert/_list.html:1
+#, fuzzy
+msgid "this location"
+msgstr "Ser på ein stad"
+
#: perllib/FixMyStreet/Script/Reports.pm:184
msgid "this type of local problem"
msgstr "denne typen lokalt problem"
@@ -4743,15 +4867,13 @@ msgstr "denne typen lokalt problem"
msgid "today"
msgstr "i dag"
-#: templates/web/base/js/translation_strings.html:73
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:76
msgid "update"
-msgstr "Oppdateringar"
+msgstr ""
-#: templates/web/base/js/translation_strings.html:74
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:77
msgid "updates"
-msgstr "Oppdateringar"
+msgstr ""
#: templates/web/base/admin/report_edit.html:52
msgid "used map"
@@ -4799,11 +4921,11 @@ msgstr[0] ""
msgstr[1] ""
#: perllib/Utils.pm:246
-#, fuzzy, perl-format
+#, perl-format
msgid "%d month"
msgid_plural "%d months"
-msgstr[0] "MÃ¥nad"
-msgstr[1] "MÃ¥nad"
+msgstr[0] ""
+msgstr[1] ""
#: templates/web/base/report/_support.html:6
#, perl-format
@@ -4826,6 +4948,41 @@ msgid_plural "%d years"
msgstr[0] ""
msgstr[1] ""
+#: templates/web/base/reports/index.html:92
+#, perl-format
+msgid "%s day"
+msgid_plural "%s days"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:55
+#, perl-format
+msgid "%s problem marked as fixed"
+msgid_plural "%s problems marked as fixed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:43
+#, perl-format
+msgid "%s problem reported"
+msgid_plural "%s problems reported"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:107
+#, perl-format
+msgid "%s report"
+msgid_plural "%s reports"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:49
+#, perl-format
+msgid "%s update on problems"
+msgid_plural "%s updates on problems"
+msgstr[0] ""
+msgstr[1] ""
+
#: templates/web/base/front/stats.html:19
#, perl-format
msgid "<big>%s</big> fixed in past month"
@@ -4854,12 +5011,12 @@ msgid_plural "<big>%s</big> updates on reports"
msgstr[0] "<big>%s</big> rapportoppdatering"
msgstr[1] "<big>%s</big> rapportoppdateringar"
-#: templates/web/base/report/_item.html:49
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:51
+#, perl-format
msgid "Reported %d day ago"
msgid_plural "Reported %d days ago"
-msgstr[0] "Publisert av %s %s"
-msgstr[1] "Publisert av %s %s"
+msgstr[0] ""
+msgstr[1] ""
#: templates/web/base/report/new/top_message_some.html:3
#, perl-format
@@ -4875,7 +5032,7 @@ msgid_plural "We do not yet have details for the councils that cover this locati
msgstr[0] "Vi har enno ikkje detaljar for administrasjonen som dekkjer denne staden."
msgstr[1] "Vi har enno ikkje detaljar for administrasjonane som dekkjer denne staden."
-#: templates/web/base/report/_item.html:59
+#: templates/web/base/report/_item.html:61
#, perl-format
msgid "last updated %d day ago"
msgid_plural "last updated %d days ago"
@@ -4883,20 +5040,56 @@ msgstr[0] ""
msgstr[1] ""
#: templates/email/oxfordshire/archive.txt:9
-#, fuzzy, perl-format
+#, perl-format
msgid "report"
msgid_plural "reports"
-msgstr[0] "Alle rapportar"
-msgstr[1] "Alle rapportar"
+msgstr[0] ""
+msgstr[1] ""
-#, fuzzy
-#~ msgid "All inspectors"
-#~ msgstr "Alle rapportar"
+#~ msgid "%s ward, %s"
+#~ msgstr "%s bydel, %s"
-#, fuzzy
-#~ msgid "Report category:"
-#~ msgstr "Lag kategori"
+#~ msgid "%s, within %s ward"
+#~ msgstr "%s, innanfor bydelen %s"
-#, fuzzy
-#~ msgid "Reported %d days ago"
-#~ msgstr "Publisert av %s %s"
+#~ msgid "-- Pick a property type --"
+#~ msgstr "-- Vel ein eigedomstype --"
+
+#~ msgid "Closed:"
+#~ msgstr "Lukka:"
+
+#~ msgid "Fixed:"
+#~ msgstr "Løyst:"
+
+#~ msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
+#~ msgstr "Her er dei ulike typane lokale problemvarsel for &laquo;%s&raquo;."
+
+#~ msgid "In Progress"
+#~ msgstr "Under arbeid"
+
+#~ msgid "Investigating"
+#~ msgstr "Undersøkjer"
+
+#~ msgid "Or problems reported to:"
+#~ msgstr "Eller problem meldt til:"
+
+#~ msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
+#~ msgstr "Eller du kan abonnera på varsel basert på bydel eller administrasjon du høyrer til under:"
+
+#~ msgid "Please choose a property type"
+#~ msgstr "Vel ein type eigenskap"
+
+#~ msgid "Problems within the boundary of:"
+#~ msgstr "Problem innanfor grensene av:"
+
+#~ msgid "The simplest alert is our geographic one:"
+#~ msgstr "Den enklaste meldinga er den geografiske:"
+
+#~ msgid "marked as fixed"
+#~ msgstr "markert som løyst"
+
+#~ msgid "or"
+#~ msgstr "eller"
+
+#~ msgid "reopened"
+#~ msgstr "opna på nytt"
diff --git a/locale/pt.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/pt.UTF-8/LC_MESSAGES/FixMyStreet.po
index 5335abd68..8b045a71b 100644
--- a/locale/pt.UTF-8/LC_MESSAGES/FixMyStreet.po
+++ b/locale/pt.UTF-8/LC_MESSAGES/FixMyStreet.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
-"POT-Creation-Date: 2017-03-30 17:33+0100\n"
+"POT-Creation-Date: 2017-09-13 15:40+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: mySociety <transifex@mysociety.org>, 2016\n"
+"Last-Translator: mySociety <transifex@mysociety.org>, 2017\n"
"Language-Team: Portuguese (https://www.transifex.com/mysociety/teams/12067/pt/)\n"
"Language: pt\n"
"MIME-Version: 1.0\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:695
+#: perllib/FixMyStreet/DB/Result/Problem.pm:632
#: perllib/FixMyStreet/Script/Reports.pm:197
msgid " and "
msgstr "e"
@@ -91,25 +91,6 @@ msgstr "%s questionários enviados - %s respondeu (%s%%)"
msgid "%s ref:&nbsp;%s"
msgstr "%s ref:&nbsp;%s"
-#. ("%s is the site name")
-#: templates/web/base/alert/_list.html:74
-msgid ""
-"%s sends different categories of problem\n"
-"to the appropriate council, so problems within the boundary of a particular council\n"
-"might not match the problems sent to that council. For example, a graffiti report\n"
-"will be sent to the district council, so will appear in both of the district\n"
-"council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
-"for the county council."
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:257 perllib/FixMyStreet/Cobrand/UK.pm:269
-msgid "%s ward, %s"
-msgstr "%s ala, %s"
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
-msgid "%s, within %s ward"
-msgstr "%s, %s dentro da ala"
-
#: perllib/FixMyStreet/Map/OSM.pm:38
msgid "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"
msgstr ""
@@ -118,7 +99,7 @@ msgstr ""
msgid "(Defect &amp; location of defect)"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
#: templates/web/base/admin/users.html:32
msgid "(Email in abuse table)"
msgstr "(E-mail na tabela de abuso)"
@@ -133,28 +114,36 @@ msgstr "(Sem nome)"
msgid "(No phone number)"
msgstr "(Sem número de telefone)"
-#: templates/web/base/alert/_list.html:25
-msgid "(a default distance which covers roughly 200,000 people)"
-msgstr "(A distância padrão, que abrange cerca de 50 mil pessoas)"
-
-#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
-#: templates/web/base/alert/_list.html:30
-msgid "(alternatively the RSS feed can be customised, within %s)"
-msgstr "(alternativamente, o feed RSS pode ser personalizado, dentro de %s)"
+#: templates/web/base/admin/states/index.html:95
+msgid "(a-z and space only)"
+msgstr ""
#: templates/web/zurich/report/_item.html:19
msgid "(closed)"
msgstr "(fechado)"
+#: templates/web/base/alert/_list.html:30
+#, fuzzy
+msgid "(covers roughly 200,000 people)"
+msgstr "(A distância padrão, que abrange cerca de 50 mil pessoas)"
+
#: templates/web/zurich/report/_item.html:17
msgid "(fixed)"
msgstr "(Corrigido)"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "(ignored if type is \"String\")"
+msgstr ""
+
#: templates/web/base/around/intro.html:2
msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
msgstr "(Como ruas e pavimentos esburacados, grafitis, árvores caídas, lajes partidas, entulhos, lixo, sinais transito, vandalismo, postes caídos, vazamentos de agua e esgotos, iluminação pública ou qualquer outro problema)"
-#: templates/web/base/report/_item.html:68
+#: templates/web/base/reports/index.html:69
+msgid "(no longer exists)"
+msgstr ""
+
+#: templates/web/base/report/_item.html:70
msgid "(not sent to council)"
msgstr "(Não reportar ao município)"
@@ -162,20 +151,22 @@ msgstr "(Não reportar ao município)"
msgid "(optional)"
msgstr "(opcional)"
-#: templates/web/base/report/_item.html:67
+#: templates/web/base/report/_item.html:69
msgid "(sent to both)"
msgstr "(remeter para ambos)"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:239
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/DB/Result/Problem.pm:454
+#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
+#: templates/web/base/alert/_list.html:36
+#, fuzzy
+msgid "(we also have RSS feeds for problems within %s)"
+msgstr "RSS feed dos Problemas Nesta %s"
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:245
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:381
msgid "-- Pick a category --"
msgstr "-- Escolha uma categoria --"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:460
-msgid "-- Pick a property type --"
-msgstr "-- Escolha um tipo de categoria --"
-
#: templates/web/base/admin/response_templates_select.html:3
msgid "--Choose a template--"
msgstr ""
@@ -184,16 +175,16 @@ msgstr ""
msgid "10 inch pothole on Example St, near post box"
msgstr ""
-#: templates/web/base/dashboard/index.html:152
+#: templates/web/base/dashboard/index.html:153
msgid "14-30 days old"
msgstr ""
-#: templates/web/base/dashboard/index.html:151
+#: templates/web/base/dashboard/index.html:152
msgid "7-14 days old"
msgstr ""
-#: templates/web/base/admin/body-form.html:48
-#: templates/web/base/admin/body-form.html:49
+#: templates/web/base/admin/body-form.html:50
+#: templates/web/base/admin/body-form.html:51
msgid ""
"<code>MAPIT_URL</code> is set (<code>%s</code>) but no <code>MAPIT_TYPES</code>.<br>\n"
" This is probably why \"area covered\" is empty (below).<br>\n"
@@ -204,13 +195,13 @@ msgstr ""
msgid "<h2>Reports, Statistics and Actions for</h2> <h1>%s</h1>"
msgstr ""
-#. ('The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories')
#. ("The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories")
-#: templates/web/base/reports/_list-filters.html:37
-msgid "<label for=\"statuses\">Show</label> %s <label for=\"filter_categories\">about</label> %s"
+#: templates/web/base/reports/_list-filters.html:48
+#, fuzzy
+msgid "<label for=\"statuses\">Show</label> %s reports <label for=\"filter_categories\">about</label> %s"
msgstr "<label for=\"statuses\">Mostrar</label> %s <label for=\"filter_categories\">sobre</label> %s"
-#: templates/web/base/js/translation_strings.html:71
+#: templates/web/base/js/translation_strings.html:74
msgid "<span>%s</span> saved."
msgstr ""
@@ -227,34 +218,25 @@ msgstr "<strong> Não </strong> Deixe-me confirmar o meu relatório por e-mail"
msgid "<strong>No</strong> Let me confirm my update by email"
msgstr "<strong> Não </strong> Deixe-me confirmar a minha atualização por e-mail"
-#: templates/web/base/auth/general.html:104
+#: templates/web/base/auth/general.html:106
#: templates/web/zurich/auth/general.html:51
msgid "<strong>No</strong> let me sign in by email"
msgstr "<strong> Não </strong>, deixe-me entrar por e-mail"
-#: templates/web/base/report/_inspect.html:160
+#: templates/web/base/report/_inspect.html:170
msgid "<strong>Note:</strong> This report has been sent onwards for action. Any changes made won't be passed on."
msgstr ""
-#: templates/web/base/report/_inspect.html:162
+#: templates/web/base/report/_inspect.html:172
msgid "<strong>Note:</strong> This report hasn't yet been sent onwards for action. Any changes made may not be passed on."
msgstr ""
-#: templates/web/base/auth/general.html:80
+#: templates/web/base/auth/general.html:82
#: templates/web/base/report/new/form_user_loggedout_password.html:3
#: templates/web/base/report/update/form_user_loggedout_password.html:2
msgid "<strong>Yes</strong> I have a password"
msgstr "<strong> Sim </strong> Eu tenho uma password"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:10
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:6
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Action Scheduled"
-msgstr "Ação Programada"
-
#: templates/web/base/admin/body-form.html:3
#: templates/web/base/admin/body-form.html:4
msgid ""
@@ -268,19 +250,36 @@ msgid "Add a contact using the form below."
msgstr ""
#: templates/web/base/admin/bodies.html:78
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Add body"
msgstr "Adicionar"
+#: templates/web/base/admin/reportextrafields/index.html:24
+msgid "Add extra fields"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:79
+msgid "Add field"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:85
+msgid "Add fixed state"
+msgstr ""
+
#: templates/web/base/admin/body.html:126
#: templates/web/zurich/admin/body.html:31
msgid "Add new category"
msgstr "Adicionar nova categoria"
+#: templates/web/base/admin/extra-metadata-form.html:72
+#, fuzzy
+msgid "Add option"
+msgstr "(opcional)"
+
#: templates/web/base/report/_item.html:10
-#: templates/web/base/report/_item.html:14
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_item.html:16
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:19
#: templates/web/base/report/_main.html:30
msgid "Add to shortlist"
@@ -292,15 +291,15 @@ msgstr ""
msgid "Add user"
msgstr "Adicionar user"
-#: perllib/FixMyStreet/Cobrand/Default.pm:730
+#: perllib/FixMyStreet/Cobrand/Default.pm:735
msgid "Add/edit problem categories"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:732
+#: perllib/FixMyStreet/Cobrand/Default.pm:737
msgid "Add/edit response priorities"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:731
+#: perllib/FixMyStreet/Cobrand/Default.pm:736
msgid "Add/edit response templates"
msgstr ""
@@ -308,7 +307,7 @@ msgstr ""
msgid "Added %s"
msgstr "Adicionado %s"
-#: templates/web/base/report/_main.html:145
+#: templates/web/base/report/_main.html:149
msgid "Adding this report to your shortlist will remove it from %s’s shortlist."
msgstr ""
@@ -328,17 +327,17 @@ msgstr "Alerta %d criado por %s, tipo %s, os parâmetros %s / %s"
msgid "Alert %d disabled (created %s)"
msgstr "Alerta %d desativada (criado %s)"
-#: templates/web/base/report/update/form_name.html:38
+#: templates/web/base/report/update/form_name.html:42
msgid "Alert me to future updates"
msgstr "Avise-me de atualizações futuras"
#: templates/web/base/dashboard/index.html:138
#: templates/web/base/dashboard/index.html:21
#: templates/web/base/dashboard/index.html:30
+#: templates/web/base/reports/_list-filters.html:3
msgid "All"
msgstr ""
-#: templates/web/base/reports/index.html:6
#: templates/web/zurich/reports/index.html:13
msgid "All Reports"
msgstr "Todos os Relatórios"
@@ -348,15 +347,23 @@ msgid "All Reports as CSV"
msgstr ""
#: templates/web/base/admin/category-multiselect.html:5
-#: templates/web/base/admin/responsepriorities/list.html:19
+#: templates/web/base/admin/responsepriorities/list.html:20
msgid "All categories"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:26
+#, fuzzy
+msgid "All cobrands"
+msgstr "Cobrand"
+
+#: templates/web/base/admin/reportextrafields/edit.html:47
+msgid "All languages"
+msgstr ""
+
#: templates/web/base/main_nav_items.html:0
#: templates/web/base/main_nav_items.html:27
-#: templates/web/base/reports/_list-filters.html:3
#: templates/web/zurich/admin/index-dm.html:12
-#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:21
+#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:20
#: templates/web/zurich/nav_over_content.html:6
msgid "All reports"
msgstr "Todos os relatórios"
@@ -366,6 +373,14 @@ msgstr "Todos os relatórios"
msgid "All reports between %s and %s"
msgstr "Todos os relatórios entre %s e %s"
+#: templates/web/base/reports/index.html:23
+msgid "All time"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:20
+msgid "Alternatively, we can hide your name on <strong>all of your reports and updates</strong> across the site:"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:47
msgid "An update marked this problem as fixed."
msgstr "Uma atualização marcada, problema esta resolvido"
@@ -375,31 +390,33 @@ msgstr "Uma atualização marcada, problema esta resolvido"
msgid "Anonymous"
msgstr "Anonimo"
-#: templates/web/base/admin/report_edit.html:134
+#: templates/web/base/report/new/form_user_loggedin.html:21
+#: templates/web/base/report/update/form_name.html:17
+#, fuzzy
+msgid "Anonymous user"
+msgstr "Anonimo"
+
+#: templates/web/base/admin/report_edit.html:122
#: templates/web/base/admin/update_edit.html:23
msgid "Anonymous:"
msgstr "Anonimo:"
-#: templates/web/base/report/new/form_user_loggedin.html:20
-#: templates/web/base/report/update/form_name.html:13
+#: templates/web/base/report/new/form_user_loggedin.html:24
+#: templates/web/base/report/update/form_name.html:14
msgid "Another user"
msgstr ""
-#: templates/web/base/front/footer-marketing.html:16
-msgid "Are you a developer?"
-msgstr "Você é um desenvolvedor?"
-
-#: templates/web/base/js/translation_strings.html:56
+#: templates/web/base/js/translation_strings.html:59
msgid "Are you sure you want to cancel this upload?"
msgstr ""
#: templates/web/base/admin/report_edit.html:84
-#: templates/web/base/js/translation_strings.html:66
+#: templates/web/base/js/translation_strings.html:69
#: templates/web/base/report/display_tools.html:6
msgid "Are you sure?"
msgstr ""
-#: templates/web/base/admin/body-form.html:75
+#: templates/web/base/admin/body-form.html:77
#: templates/web/base/admin/body.html:20
#: templates/web/zurich/admin/body-form.html:24
msgid "Area covered"
@@ -431,11 +448,11 @@ msgstr "Atribuir ao órgão externo:"
msgid "Assign to subdivision:"
msgstr "Atribuir a subdivisão:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:727
+#: perllib/FixMyStreet/Cobrand/Default.pm:732
msgid "Assign users to areas"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:214
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:219
msgid "Assigned to %s"
msgstr "Designado para %s"
@@ -456,11 +473,14 @@ msgstr ""
msgid "Auto-response:"
msgstr ""
-#: templates/web/base/admin/report_edit.html:127
-#: templates/web/base/report/_inspect.html:47
+#: templates/web/base/admin/report-category.html:8
msgid "Available categories"
msgstr ""
+#: templates/web/base/reports/index.html:84
+msgid "Average time between a problem being reported and being fixed, last 100 reports."
+msgstr ""
+
#: templates/web/base/dashboard/index.html:109
msgid "Average time to council marking fixed (days)"
msgstr ""
@@ -473,7 +493,7 @@ msgstr ""
msgid "Avoid personal information and vehicle number plates"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:417
+#: perllib/FixMyStreet/DB/Result/Problem.pm:344
#: templates/web/zurich/report/_item.html:9
msgid "Awaiting moderation"
msgstr "Aguardando moderação"
@@ -486,13 +506,13 @@ msgstr "Voltar"
msgid "Back to all reports"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
msgid "Ban email address"
msgstr "Ban endereço de e-mail"
#: perllib/FixMyStreet/Cobrand/Default.pm:650
-#: perllib/FixMyStreet/Cobrand/Default.pm:729
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
+#: perllib/FixMyStreet/Cobrand/Default.pm:734
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:396
#: templates/web/base/admin/bodies.html:1
#: templates/web/base/admin/report_edit.html:55
#: templates/web/zurich/header.html:56
@@ -514,7 +534,11 @@ msgstr "Corpo:"
msgid "By Date"
msgstr "Por data"
-#: templates/web/base/auth/token.html:21 templates/web/base/email_sent.html:18
+#: templates/web/base/admin/extra-metadata-form.html:36
+msgid "Can be used to display extra text to the user alongside the field. The default template does not show this (<code>meta.datatype_description</code>), you must add it in <code>category_extras_fields.html</code>"
+msgstr ""
+
+#: templates/web/base/auth/token.html:27 templates/web/base/email_sent.html:20
msgid "Can&rsquo;t find our email? Check your spam folder&nbsp;&ndash; that&rsquo;s the solution 99% of the time."
msgstr "Não recebeu o email de confirmação? Verifique o SPAM da sua caixa de correio."
@@ -535,8 +559,8 @@ msgstr ""
#: templates/web/base/admin/body.html:72
#: templates/web/base/admin/contact-form.html:19
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/report/_inspect.html:38
-#: templates/web/base/report/_item.html:90
+#: templates/web/base/report/_inspect.html:48
+#: templates/web/base/report/_item.html:92
#: templates/web/base/report/new/category.html:6
#: templates/web/base/report/new/category_wrapper.html:3
#: templates/web/zurich/admin/body.html:14
@@ -547,7 +571,7 @@ msgstr ""
msgid "Category"
msgstr "Categoria"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:852
+#: perllib/FixMyStreet/App/Controller/Admin.pm:956
msgid "Category changed from ‘%s’ to ‘%s’"
msgstr ""
@@ -587,23 +611,11 @@ msgstr ""
msgid "Change password"
msgstr "Mudar password"
-#: templates/web/base/admin/contact-form.html:41
-msgid ""
-"Check <strong>confirmed</strong> to indicate that this contact has been confirmed as correct.\n"
-" If you are not sure of the origin or validity of the contact, leave this unchecked."
-msgstr ""
-
-#: templates/web/base/admin/contact-form.html:52
-msgid ""
-"Check <strong>deleted</strong> to remove the category from use. \n"
-" It will not appear as an available category in the drop-down menu on the report-a-problem page."
-msgstr ""
-
-#: templates/web/base/admin/contact-form.html:79
+#: templates/web/base/admin/contact-form.html:80
msgid "Check <strong>inspection required</strong> if reports in this category <strong>must be inspected</strong> before being sent."
msgstr ""
-#: templates/web/base/admin/contact-form.html:63
+#: templates/web/base/admin/contact-form.html:64
msgid ""
"Check <strong>private</strong> if reports in this category should <strong>never be displayed on the website</strong>.\n"
" <br>\n"
@@ -620,11 +632,11 @@ msgid ""
" to the body too. These will appear in the drop-down menu on the report-a-problem page."
msgstr ""
-#: templates/web/base/report/_inspect.html:93
+#: templates/web/base/report/_inspect.html:103
msgid "Choose another"
msgstr ""
-#: templates/web/base/js/translation_strings.html:65
+#: templates/web/base/js/translation_strings.html:68
msgid "Clear offline data"
msgstr ""
@@ -649,21 +661,22 @@ msgstr "Clique no link do email de confirmação para publicar o problema"
msgid "Click the link in our confirmation email to publish your update."
msgstr "Clique no link do email de confirmação para publicar a actualização do problema"
-#: templates/web/base/auth/token.html:18
+#: templates/web/base/auth/token.html:23
msgid "Click the link in our confirmation email to sign in."
msgstr "Clique no link do email de confirmação para entrar"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:189
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:960
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:17
-#: templates/web/base/admin/report_blocks.html:27
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:43
-#: templates/web/base/report/banner.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:18
+#: templates/web/base/auth/token.html:20
+#, fuzzy
+msgid "Click the link in that email to sign in."
+msgstr "Clique no link do email de confirmação para entrar"
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:134
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:194
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:965
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:11
+#: templates/web/base/admin/states/index.html:103
+#: templates/web/base/admin/states/index.html:27
+#: templates/web/base/admin/states/index.html:33
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:10
#: templates/web/zurich/admin/header.html:16
@@ -671,23 +684,17 @@ msgstr "Clique no link do email de confirmação para entrar"
msgid "Closed"
msgstr "Fechado"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:889
+#: perllib/FixMyStreet/DB/Result/Problem.pm:826
msgid "Closed by council"
msgstr "Fechado pelo Município"
-#: templates/web/base/reports/_list-filters.html:13
-msgid "Closed reports"
-msgstr "relatórios fechados"
-
-#: templates/web/base/admin/problem_row.html:38
-msgid "Closed:"
-msgstr "Fechado"
-
#: templates/web/base/admin/report_edit.html:37
msgid "Co-ordinates:"
msgstr "Co-ordenadas:"
#: templates/web/base/admin/list_updates.html:10
+#: templates/web/base/admin/reportextrafields/edit.html:24
+#: templates/web/base/admin/reportextrafields/index.html:7
msgid "Cobrand"
msgstr "Cobrand"
@@ -701,10 +708,13 @@ msgstr "Cobrand data:"
msgid "Cobrand:"
msgstr "Cobrand:"
+#: templates/web/base/admin/extra-metadata-form.html:14
+msgid "Code"
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:50
-#, fuzzy
msgid "Collapse map"
-msgstr "mapa usado"
+msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:646
#: templates/web/base/admin/config_page.html:1
@@ -732,9 +742,8 @@ msgstr ""
msgid "Confirmation"
msgstr "Confirmação"
-#: templates/web/base/admin/body.html:85
-#: templates/web/base/admin/category_edit.html:54
-#: templates/web/base/admin/contact-form.html:47
+#: templates/web/base/admin/contact-form.html:56
+#: templates/web/zurich/admin/contact-form.html:12
#: templates/web/zurich/admin/stats.html:40
msgid "Confirmed"
msgstr "Confirmado"
@@ -769,8 +778,8 @@ msgstr "Fale com a equipe"
msgid "Coordinates:"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1668
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1696
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1773
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1801
msgid "Could not find user"
msgstr "Não foi possível encontrar usuário"
@@ -790,15 +799,13 @@ msgstr "Contactos do município para %s"
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:83
-#, fuzzy
msgid "Council has marked as closed"
-msgstr "marcados como fechados"
+msgstr ""
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:57
-#, fuzzy
msgid "Council has marked as fixed"
-msgstr "marcado como fixo"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:80
@@ -830,24 +837,33 @@ msgstr "Concelho:"
msgid "Count"
msgstr "Conta"
+#: templates/web/base/admin/states/index.html:114
+#, fuzzy
+msgid "Create"
+msgstr "Criado"
+
#: templates/web/base/email_sent.html:1
msgid "Create a report"
msgstr "Criar um report"
-#: templates/web/base/admin/contact-form.html:137
+#: templates/web/base/admin/contact-form.html:138
#: templates/web/zurich/admin/body.html:62
msgid "Create category"
msgstr "Criar uma categoria"
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/responsepriorities/edit.html:58
msgid "Create priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:714
+#: perllib/FixMyStreet/Cobrand/Default.pm:718
+msgid "Create reports/updates as anonymous user"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:719
msgid "Create reports/updates as the council"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:713
+#: perllib/FixMyStreet/Cobrand/Default.pm:717
msgid "Create reports/updates on a user's behalf"
msgstr ""
@@ -877,13 +893,15 @@ msgstr "Estado actual"
msgid "Currently no bodies have been created."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:825
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:830
#: templates/web/zurich/admin/report_edit-sdm.html:105
msgid "Customer not contactable"
msgstr ""
#: templates/web/base/dashboard/index.html:5
#: templates/web/base/dashboard/index.html:7
+#: templates/web/base/reports/index.html:15
+#: templates/web/base/reports/index.html:18
msgid "Dashboard"
msgstr "Painel de instrumentos"
@@ -891,29 +909,36 @@ msgstr "Painel de instrumentos"
msgid "Dealt with by subdivision within 5 working days"
msgstr "Tratadas pelas subdivisões dentro de 5 dias úteis"
-#: templates/web/base/report/_inspect.html:73
+#: templates/web/base/admin/responsepriorities/list.html:9
+msgid "Default"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:39
+msgid "Default priority"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:72
msgid "Defect type"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:973
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1078
#: templates/web/base/admin/template_edit.html:50
#: templates/web/zurich/admin/template_edit.html:33
msgid "Delete template"
msgstr ""
#: templates/web/base/admin/bodies.html:31
-#: templates/web/base/admin/body.html:87
-#: templates/web/base/admin/category_edit.html:55
#: templates/web/base/admin/contact-form.html:58
-#: templates/web/zurich/admin/contact-form.html:12
+#: templates/web/zurich/admin/contact-form.html:13
msgid "Deleted"
msgstr "Excluidos"
-#: templates/web/base/report/_main.html:110
-#: templates/web/base/report/update.html:59
+#: templates/web/base/report/_main.html:114
+#: templates/web/base/report/update.html:68
msgid "Describe why you are moderating this"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:32
#: templates/web/base/admin/responsepriorities/list.html:7
#: templates/web/zurich/admin/index-dm.html:22
#: templates/web/zurich/admin/index-sdm.html:20
@@ -937,7 +962,7 @@ msgstr "DEtalhes"
msgid "Details:"
msgstr "Detalhes:"
-#: templates/web/base/admin/body.html:93
+#: templates/web/base/admin/body.html:92
msgid "Devolved"
msgstr "Delegada"
@@ -950,18 +975,17 @@ msgstr ""
msgid "Diligency prize league table"
msgstr "Diligency prêmio tabela classificativa"
-#: templates/web/base/report/_main.html:114
-#: templates/web/base/report/update.html:61
-#, fuzzy
+#: templates/web/base/report/_main.html:118
+#: templates/web/base/report/update.html:70
msgid "Discard changes"
-msgstr "Salvar alterações"
+msgstr ""
#: templates/web/base/admin/open311-form-fields.html:95
msgid "Do not send email alerts on fetched comments to problem creator"
msgstr ""
#. ("%s is the site name")
-#: templates/web/base/auth/general.html:58
+#: templates/web/base/auth/general.html:60
#: templates/web/base/report/new/form_user_loggedout.html:25
#: templates/web/base/report/new/oauth_email_form.html:18
#: templates/web/base/report/update-form.html:30
@@ -969,40 +993,33 @@ msgstr ""
msgid "Do you have a %s password?"
msgstr "Já tem uma password?"
+#: templates/web/base/report/_inspect.html:87
+msgid "Do you want to automatically raise a defect?"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:57
msgid "Don&rsquo;t know"
msgstr "Não sei"
-#: templates/web/base/contact/index.html:108
+#: templates/web/base/contact/index.html:112
msgid "Don't like forms?"
msgstr ""
-#: templates/web/base/report/_item.html:25
+#: templates/web/base/report/_item.html:27
msgid "Down one"
msgstr ""
-#: templates/web/base/js/translation_strings.html:55
+#: templates/web/base/js/translation_strings.html:58
msgid "Drag and drop photos here or <u>click to upload</u>"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:10
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "Duplicate"
-msgstr "Duplicar"
-
-#: templates/web/base/report/_inspect.html:88
-#, fuzzy
+#: templates/web/base/report/_inspect.html:98
msgid "Duplicate of"
-msgstr "Duplicar"
+msgstr ""
-#: templates/web/base/report/_inspect.html:98
-#, fuzzy
+#: templates/web/base/report/_inspect.html:108
msgid "Duplicates"
-msgstr "Duplicar"
+msgstr ""
#: templates/web/base/admin/body.html:116
msgid ""
@@ -1012,43 +1029,43 @@ msgid ""
" "
msgstr ""
-#: templates/web/base/report/_inspect.html:16
-#: templates/web/base/report/_item.html:81
+#: templates/web/base/report/_inspect.html:26
+#: templates/web/base/report/_item.html:83
msgid "Easting/Northing:"
msgstr ""
#: templates/web/base/admin/list_updates.html:42
#: templates/web/base/admin/problem_row.html:41
-#: templates/web/base/admin/responsepriorities/list.html:26
+#: templates/web/base/admin/responsepriorities/list.html:28
#: templates/web/base/admin/templates.html:22
#: templates/web/base/admin/users.html:34
#: templates/web/zurich/admin/problem_row.html:48
msgid "Edit"
msgstr "Editar"
-#: templates/web/base/admin/body.html:140
+#: templates/web/base/admin/body.html:141
#: templates/web/base/admin/index.html:39
#: templates/web/zurich/admin/body.html:69
msgid "Edit body details"
msgstr "Editar os detalhes do corpo"
-#: perllib/FixMyStreet/Cobrand/Default.pm:724
+#: perllib/FixMyStreet/Cobrand/Default.pm:729
msgid "Edit other users' details"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:725
+#: perllib/FixMyStreet/Cobrand/Default.pm:730
msgid "Edit other users' permissions"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:708
+#: perllib/FixMyStreet/Cobrand/Default.pm:712
msgid "Edit report category"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:709
+#: perllib/FixMyStreet/Cobrand/Default.pm:713
msgid "Edit report priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:707
+#: perllib/FixMyStreet/Cobrand/Default.pm:711
msgid "Edit reports"
msgstr ""
@@ -1071,15 +1088,15 @@ msgstr "Editando uma actualizaçao %d"
msgid "Editing user %d"
msgstr "Edição de usuário %d"
-#: templates/web/base/admin/category_edit.html:56
+#: templates/web/base/admin/category_edit.html:30
msgid "Editor"
msgstr "Editar"
#: templates/web/base/admin/bodies.html:27
-#: templates/web/base/admin/category_edit.html:53
+#: templates/web/base/admin/category_edit.html:28
#: templates/web/base/admin/flagged.html:38
#: templates/web/base/admin/users.html:17
-#: templates/web/base/auth/general.html:49
+#: templates/web/base/auth/general.html:51
#: templates/web/zurich/admin/body-form.html:9
#: templates/web/zurich/admin/body.html:15
#: templates/web/zurich/auth/general.html:24
@@ -1087,13 +1104,14 @@ msgstr "Editar"
msgid "Email"
msgstr "Email"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1644
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1749
msgid "Email added to abuse list"
msgstr "Email adicionado a lista de abusos"
-#: templates/web/base/admin/contact-form.html:36
-#: templates/web/base/report/new/form_user_loggedin.html:28
-#: templates/web/base/report/update/form_name.html:19
+#: templates/web/base/admin/contact-form.html:38
+#: templates/web/base/alert/_list.html:74
+#: templates/web/base/report/new/form_user_loggedin.html:32
+#: templates/web/base/report/update/form_name.html:23
msgid "Email address"
msgstr ""
@@ -1105,11 +1123,11 @@ msgstr ""
msgid "Email alert deleted"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1641
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1746
msgid "Email already in abuse list"
msgstr "E-mail já está na lista abusos"
-#: templates/web/base/admin/report_edit.html:141
+#: templates/web/base/admin/report_edit.html:129
#: templates/web/base/admin/update_edit.html:35
#: templates/web/base/admin/user-form.html:19
#: templates/web/zurich/admin/body.html:48
@@ -1130,8 +1148,8 @@ msgid ""
" <a href='https://www.mysociety.org/2013/02/20/open311-extended/' class='admin-offsite-link'>this article</a>."
msgstr ""
-#: templates/web/base/admin/body-form.html:120
-#: templates/web/base/admin/body-form.html:121
+#: templates/web/base/admin/body-form.html:122
+#: templates/web/base/admin/body-form.html:123
msgid ""
"Enable this <strong>can be devolved</strong> setting if one or more contacts have a \n"
" different endpoint (and send method) from the body's. For example, if reports for some categories of\n"
@@ -1146,11 +1164,11 @@ msgstr ""
msgid "Endpoint"
msgstr "Endpoint"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:76
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:81
msgid "Enter a Z&uuml;rich street name"
msgstr "Digite um nome de uma rua de Mindelo"
-#: perllib/FixMyStreet/Cobrand/UK.pm:15
+#: perllib/FixMyStreet/Cobrand/UK.pm:16
msgid "Enter a nearby UK postcode, or street name and area"
msgstr "Inserir um código postal de Mindelo nas proximidades da area, zona, rua ou local"
@@ -1159,12 +1177,13 @@ msgstr "Inserir um código postal de Mindelo nas proximidades da area, zona, rua
msgid "Enter a nearby postcode, or street name and area"
msgstr "Inserir um código postal válido (xxxx-xxx), ou nome da rua, zona ou localidade"
+#: perllib/FixMyStreet/Cobrand/DansMonQwat.pm:14
#: templates/web/base/around/postcode_form.html:5
#: templates/web/base/around/postcode_form.html:6
msgid "Enter a nearby street name and area"
msgstr "Digite um nome de rua nas proximidades e área"
-#: templates/web/base/auth/general.html:116
+#: templates/web/base/auth/general.html:118
#: templates/web/base/report/new/form_user_loggedout_by_email.html:35
#: templates/web/base/report/update/form_user_loggedout_by_email.html:13
#: templates/web/zurich/auth/general.html:65
@@ -1184,8 +1203,8 @@ msgstr "Escreva de forma detalhada o problema, incluindo uma fotografia"
msgid "Error"
msgstr "Erro"
-#: templates/web/base/reports/_list-filters.html:20
-#: templates/web/base/reports/_list-filters.html:28
+#: templates/web/base/reports/_list-filters.html:31
+#: templates/web/base/reports/_list-filters.html:39
msgid "Everything"
msgstr "Todos"
@@ -1198,8 +1217,7 @@ msgstr "Exemplo PostCode %s"
msgid "Examples:"
msgstr "Exemplos:"
-#: templates/web/base/admin/report_edit.html:122
-#: templates/web/base/report/_inspect.html:42
+#: templates/web/base/admin/report-category.html:3
msgid "Existing category"
msgstr ""
@@ -1207,16 +1225,16 @@ msgstr ""
msgid "Expand map"
msgstr ""
-#: templates/web/base/report/new/form_report.html:52
+#: templates/web/base/report/new/form_report.html:54
msgid "Explain what’s wrong"
msgstr ""
-#: templates/web/base/dashboard/index.html:146
+#: templates/web/base/dashboard/index.html:147
msgid "Export as CSV"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:913
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:179
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:12
msgid "Extern"
@@ -1227,7 +1245,7 @@ msgstr ""
msgid "External ID"
msgstr ""
-#: templates/web/base/admin/body-form.html:87
+#: templates/web/base/admin/body-form.html:89
msgid "External URL"
msgstr ""
@@ -1239,13 +1257,20 @@ msgstr ""
msgid "External team"
msgstr ""
-#: templates/web/base/admin/category_edit.html:25
+#: perllib/FixMyStreet/Cobrand/Default.pm:673
+#: templates/web/base/admin/reportextrafields/edit.html:1
+#: templates/web/base/admin/reportextrafields/index.html:1
+#, fuzzy
+msgid "Extra Fields"
+msgstr "Dados adicionais:"
+
+#: templates/web/base/admin/contact-form.html:141
#: templates/web/base/admin/report_edit.html:94
msgid "Extra data:"
msgstr "Dados adicionais:"
-#: templates/web/base/report/_inspect.html:134
-#: templates/web/base/report/_item.html:106
+#: templates/web/base/report/_inspect.html:144
+#: templates/web/base/report/_item.html:108
msgid "Extra details"
msgstr ""
@@ -1253,6 +1278,11 @@ msgstr ""
msgid "Failed to send message"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:58
+#: templates/web/base/admin/reportextrafields/index.html:9
+msgid "Fields"
+msgstr ""
+
#: templates/web/zurich/admin/index-dm.html:33
#: templates/web/zurich/admin/index-sdm.html:30
msgid "Filter report list"
@@ -1266,52 +1296,32 @@ msgstr "Primeiro Nome"
msgid "Fix this by choosing an <strong>area covered</strong> in the <em>Edit body details</em> form below."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:11
-#: templates/web/base/admin/report_blocks.html:26
+#: perllib/FixMyStreet/App/Controller/Admin/States.pm:35
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:133
+#: templates/web/base/admin/states/index.html:29
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:41
-#: templates/web/base/report/banner.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:17
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:45
msgid "Fixed"
msgstr "FIX"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:13
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:7
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:62
msgid "Fixed - Council"
msgstr "Corrigido - Concelho"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:12
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:63
msgid "Fixed - User"
msgstr "Corrigido - Usuario"
-#: templates/web/base/reports/_list-filters.html:14
-msgid "Fixed reports"
-msgstr "relatórios corrigidos"
-
-#: templates/web/base/admin/problem_row.html:37
-msgid "Fixed:"
-msgstr "Corrigido:"
-
-#: templates/web/base/admin/body-form.html:95
-#: templates/web/base/admin/responsepriorities/edit.html:41
+#: templates/web/base/admin/body-form.html:97
+#: templates/web/base/admin/responsepriorities/edit.html:53
#: templates/web/zurich/admin/body-form.html:36
msgid "Flag as deleted"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/report_blocks.html:23
msgid "Flag user"
msgstr "Bandeira - Usuario"
-#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: perllib/FixMyStreet/Cobrand/Default.pm:644
#: templates/web/base/admin/users.html:20
msgid "Flagged"
msgstr "Marcado"
@@ -1328,7 +1338,7 @@ msgstr ""
msgid "Flagged users are not restricted in any way. This is just a list of users that have been marked for attention."
msgstr ""
-#: templates/web/base/admin/report_edit.html:147
+#: templates/web/base/admin/report_edit.html:135
#: templates/web/base/admin/user-form.html:100
msgid "Flagged:"
msgstr "Marcado:"
@@ -1341,21 +1351,25 @@ msgstr "Siga um link ala para ver apenas os relatórios dentro do ala."
msgid "For best results include a close-up and a wide shot"
msgstr ""
-#: templates/web/base/admin/body-form.html:71
+#: templates/web/base/admin/extra-metadata-form.html:52
+msgid "For each option, <strong>Key</strong> is the value which is stored in the database for that option and <strong>Name</strong> is the value displayed to the user."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:73
msgid "For more information, see <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
msgstr ""
-#: templates/web/base/auth/general.html:95
+#: templates/web/base/auth/general.html:97
#: templates/web/base/report/new/form_user_loggedout_password.html:20
#: templates/web/base/report/update/form_user_loggedout_password.html:19
msgid "Forgotten your password?"
msgstr "Não se lembra da sua password?"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:743
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:748
msgid "Forwarded to external body"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:744
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:749
msgid "Forwarded wish to external body"
msgstr ""
@@ -1365,6 +1379,10 @@ msgstr ""
msgid "Frequently Asked Questions"
msgstr "Perguntas mais frequentes"
+#: templates/web/base/admin/stats.html:102
+msgid "Get Count"
+msgstr ""
+
#: templates/web/base/around/_updates.html:3
#: templates/web/base/report/display_tools.html:14
msgid "Get updates"
@@ -1380,10 +1398,14 @@ msgstr "Receba as atualizações de problemas fix de %s"
msgid "Get updates of problems in this %s"
msgstr "Receba as atualizações de problemas neste %s"
-#: templates/web/base/alert/_list.html:83
+#: templates/web/base/alert/_list.html:85
msgid "Give me an RSS feed"
msgstr "Dê-me um feed RSS"
+#: templates/web/base/admin/reportextrafields/edit.html:6
+msgid "Give this collection of fields a name. It is not shown publicly, just here in the admin."
+msgstr ""
+
#: templates/web/base/questionnaire/completed.html:14
msgid "Glad to hear it’s been fixed!"
msgstr ""
@@ -1393,8 +1415,9 @@ msgstr ""
#: templates/web/base/admin/index.html:49
#: templates/web/base/alert/index.html:34
#: templates/web/base/around/postcode_form.html:13
-#: templates/web/base/reports/_list-filters.html:38
-#: templates/web/base/reports/_list-filters.html:53
+#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:64
+#: templates/web/base/reports/index.html:75
#: templates/web/zurich/admin/stats.html:26
msgid "Go"
msgstr " Ir"
@@ -1403,7 +1426,7 @@ msgstr " Ir"
msgid "Going to send questionnaire?"
msgstr "Vai enviar questionário?"
-#: perllib/FixMyStreet/Cobrand/Default.pm:726
+#: perllib/FixMyStreet/Cobrand/Default.pm:731
msgid "Grant access to the admin"
msgstr ""
@@ -1411,10 +1434,6 @@ msgstr ""
msgid "Graph of problem creation by status over time"
msgstr "Status da tabela grafica ao longo do tempo"
-#: templates/web/base/reports/index.html:15
-msgid "Greyed-out lines are councils that no longer exist."
-msgstr "Cor Cinzenta sao linhas dos concelhos que já não existem"
-
#: templates/web/base/questionnaire/index.html:48
msgid "Has this problem been fixed?"
msgstr "Este problema já foi fixado, relatado?"
@@ -1425,7 +1444,7 @@ msgstr "Alguma vez voce ja relatou algum problema ao município, ou é a sua pri
#: templates/web/base/main_nav_items.html:40
#: templates/web/zurich/about/faq-de-ch.html:1
-#: templates/web/zurich/footer.html:23
+#: templates/web/zurich/footer.html:22
#: templates/web/zurich/nav_over_content.html:8
msgid "Help"
msgstr "Ajuda"
@@ -1435,22 +1454,13 @@ msgstr "Ajuda"
msgid "Help <strong>%s</strong> resolve your problem quicker, by providing some extra detail. This extra information will not be published online."
msgstr ""
-#: templates/web/base/alert/_list.html:9
-msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
-msgstr "Aqui estão os tipos de alertas de problemas locais para relatar fixed; %s';."
-
-#: templates/web/zurich/footer.html:12
+#: templates/web/zurich/footer.html:11
msgid "Hi %s"
msgstr "Oi %s"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:906
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:19
-#: templates/web/base/admin/report_blocks.html:28
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:911
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:60
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:19
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:11
#: templates/web/zurich/admin/stats.html:32
@@ -1458,16 +1468,33 @@ msgstr "Oi %s"
msgid "Hidden"
msgstr "Esconder"
-#: templates/web/base/report/_main.html:105
-#, fuzzy
+#: templates/web/base/report/_main.html:109
msgid "Hide entire report"
-msgstr "Reenviar relatório"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:1
+#: templates/web/base/my/anonymize.html:2
+msgid "Hide my name"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:21
+msgid "Hide my name everywhere"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:10
+msgid "Hide my name in this update"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:16
+msgid "Hide my name on this report"
+msgstr ""
#: templates/web/base/around/display_location.html:67
msgid "Hide old"
msgstr "Ocultar"
#: templates/web/base/around/display_location.html:62
+#: templates/web/base/js/translation_strings.html:55
msgid "Hide pins"
msgstr "Ocultar pins"
@@ -1475,7 +1502,16 @@ msgstr "Ocultar pins"
msgid "Hide update completely?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:49
+#: templates/web/base/report/_report_meta_info.html:3
+#: templates/web/base/report/update.html:55
+msgid "Hide your name?"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:38
+msgid "Hint"
+msgstr ""
+
+#: templates/web/base/admin/category_edit.html:24
msgid "History"
msgstr "History pins"
@@ -1492,12 +1528,12 @@ msgid "How to send successful reports"
msgstr "Como enviar relatorios com sucesso"
#: templates/web/base/tokens/confirm_problem.html:36
-#: templates/web/base/tokens/confirm_problem.html:40
+#: templates/web/base/tokens/confirm_problem.html:41
msgid "I just reported a problem on @fixmystreet"
msgstr ""
-#: templates/web/base/tokens/confirm_update.html:19
-#: templates/web/base/tokens/confirm_update.html:23
+#: templates/web/base/tokens/confirm_update.html:20
+#: templates/web/base/tokens/confirm_update.html:25
msgid "I just updated a problem on @fixmystreet"
msgstr ""
@@ -1517,17 +1553,25 @@ msgstr "Receio que não foi possível localizar o seu problema no banco de dados
msgid "ID"
msgstr "ID"
-#: templates/web/base/admin/body-form.html:30
-#: templates/web/base/admin/body-form.html:31
+#: templates/web/base/admin/body-form.html:32
+#: templates/web/base/admin/body-form.html:33
msgid ""
"Identify a <strong>parent</strong> if this body is itself part of another body.\n"
" For basic installations, you don't need to join bodies in this way."
msgstr ""
+#: templates/web/base/auth/token.html:19
+msgid "If there's a user associated with the address you entered, we've sent a confirmation email."
+msgstr ""
+
#: templates/web/base/admin/responsepriorities/edit.html:23
msgid "If this priority is passed to an external service (e.g. Exor/Confirm) enter the priority code to use with that service here."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:24
+msgid "If ticked the user won’t see an input field, just the ‘Description’ text."
+msgstr ""
+
#: templates/web/base/admin/contact-form.html:14
msgid ""
"If two or more bodies serve the same location, FixMyStreet combines identical categories into a single entry in\n"
@@ -1538,7 +1582,7 @@ msgstr ""
msgid "If you get some more information about the status of your problem, please come back to the site and leave an update."
msgstr ""
-#: templates/web/base/admin/responsepriorities/edit.html:33
+#: templates/web/base/admin/responsepriorities/edit.html:45
msgid "If you only want this priority to be an option for specific categories, pick them here. By default they will show for all categories."
msgstr ""
@@ -1561,7 +1605,7 @@ msgid ""
"(please note it will not be sent to the council)."
msgstr ""
-#: templates/web/base/admin/contact-form.html:30
+#: templates/web/base/admin/contact-form.html:32
msgid "If you're using <strong>a send method that is not email</strong>, enter the service ID (Open311) or equivalent identifier here."
msgstr ""
@@ -1588,7 +1632,7 @@ msgid ""
" when they are shown on the site. Enter the ID (number) of that user."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:133
+#: perllib/FixMyStreet/App/Controller/Contact.pm:134
msgid "Illegal ID"
msgstr "ID ilegal"
@@ -1596,13 +1640,6 @@ msgstr "ID ilegal"
msgid "Illegal feed selection"
msgstr "Seleção de feed ilegal"
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "In Progress"
-msgstr "Em andamento"
-
#: templates/web/base/admin/flagged.html:39
msgid "In abuse table?"
msgstr ""
@@ -1611,18 +1648,17 @@ msgstr ""
msgid "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
msgstr "Além disso, os seguintes atributos que não fazem parte da especificação v2 Open311 são retornados: agency_sent_datetime, título (também retornou como parte da descrição), interface_used, comment_count, requestor_name (presente apenas se solicitante permitido o nome a ser mostrado neste site) ."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:192
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:954
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:9
-#: templates/web/base/report/banner.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:5
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:197
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:959
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:8
msgid "In progress"
msgstr "Em andamento"
+#: templates/web/base/admin/contact-form.html:57
+msgid "Inactive"
+msgstr ""
+
#: templates/web/base/tokens/confirm_alert.html:11
msgid "Inbox zero, here we come!"
msgstr ""
@@ -1639,11 +1675,15 @@ msgstr "Incluir dados nao confirmados"
msgid "Incorrect has_photo value \"%s\""
msgstr "Foto_has valor incorreto \"%s\""
-#: templates/web/base/admin/contact-form.html:84
+#: templates/web/base/report/_inspect.html:5
+msgid "Inspect report"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:85
msgid "Inspection required"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:711
+#: perllib/FixMyStreet/Cobrand/Default.pm:715
msgid "Instruct contractors to fix problems"
msgstr ""
@@ -1651,13 +1691,6 @@ msgstr ""
msgid "Internal notes"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:11
-msgid "Internal referral"
-msgstr ""
-
#: templates/web/base/offline/appcache.html:3
msgid "Internet glitch"
msgstr ""
@@ -1666,7 +1699,7 @@ msgstr ""
msgid "Invalid agency_responsible value %s"
msgstr "Agencia_responsavel valor %s inválido"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1502
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1607
msgid "Invalid end date"
msgstr "Invalido data final"
@@ -1674,26 +1707,15 @@ msgstr "Invalido data final"
msgid "Invalid format %s specified."
msgstr "Formato inválido%s especificado."
-#: perllib/FixMyStreet/App/Controller/Report.pm:398
+#: perllib/FixMyStreet/App/Controller/Report.pm:409
msgid "Invalid location. New location must be covered by the same council."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1498
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1603
msgid "Invalid start date"
msgstr "Data de inicio invalida"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:7
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:4
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Investigating"
-msgstr "Investigando"
-
-#: templates/web/base/contact/blurb.html:8
+#: templates/web/base/contact/blurb.html:2
msgid "It's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there."
msgstr ""
@@ -1701,37 +1723,59 @@ msgstr ""
msgid "It’s on its way to the council right now."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:177
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:182
msgid "Jurisdiction Unknown"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:15
msgid "Jurisdiction unknown"
msgstr ""
-#: templates/web/base/auth/general.html:91
+#: templates/web/base/auth/general.html:93
#: templates/web/base/report/new/form_user_loggedout_password.html:16
#: templates/web/base/report/update/form_user_loggedout_password.html:15
#: templates/web/zurich/auth/general.html:40
msgid "Keep me signed in on this computer"
msgstr "Manter-me ligado neste computador"
+#: templates/web/base/admin/extra-metadata-form.html:61
+msgid "Key"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:9
+#: templates/web/base/admin/states/index.html:95
+msgid "Label"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:6
+#: templates/web/base/admin/reportextrafields/edit.html:45
+msgid "Language"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/index.html:8
+msgid "Languages"
+msgstr ""
+
#: templates/web/base/dashboard/index.html:50
msgid "Last 4 weeks"
msgstr ""
#: templates/web/base/dashboard/index.html:49
-#, fuzzy
+#: templates/web/base/reports/index.html:38
msgid "Last 7 days"
-msgstr "Última atualização:"
+msgstr ""
#: templates/web/base/admin/body.html:74
#: templates/web/zurich/admin/body.html:16
msgid "Last editor"
msgstr "Última editor"
+#: templates/web/base/questionnaire/index.html:25
+msgid "Last update"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:89
msgid "Last update:"
msgstr "Última atualização:"
@@ -1740,23 +1784,27 @@ msgstr "Última atualização:"
msgid "Last&nbsp;update:"
msgstr "Última atualização:"
-#: templates/web/base/report/_inspect.html:20
-#: templates/web/base/report/_item.html:86
+#: templates/web/base/report/_inspect.html:30
+#: templates/web/base/report/_item.html:88
msgid "Latitude/Longitude:"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:50
+#: templates/web/base/reports/_list-filters.html:61
msgid "Least recently updated"
msgstr ""
-#: templates/web/base/admin/body-form.html:127
+#: templates/web/base/admin/body-form.html:129
msgid "Leave this blank if all reports to this body should be sent using the same send method (e.g., \"%s\")."
msgstr ""
-#: templates/web/base/dashboard/index.html:150
+#: templates/web/base/dashboard/index.html:151
msgid "Less than 7 days old"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:47
+msgid "List"
+msgstr ""
+
#: templates/web/base/admin/body.html:31
msgid "List all reported problems"
msgstr "Listar todos os problemas relatados"
@@ -1787,23 +1835,23 @@ msgstr "Alertas locais"
msgid "Locate the problem on a map of the area"
msgstr "Localize o problema no mapa da área ou localidade"
-#: templates/web/base/auth/general.html:22
+#: templates/web/base/auth/general.html:24
#: templates/web/base/report/new/form_user_loggedout.html:6
#: templates/web/base/report/update/form_user_loggedout.html:7
msgid "Log in with Facebook"
msgstr ""
-#: templates/web/base/auth/general.html:30
+#: templates/web/base/auth/general.html:32
#: templates/web/base/report/new/form_user_loggedout.html:14
#: templates/web/base/report/update/form_user_loggedout.html:15
msgid "Log in with Twitter"
msgstr ""
-#: templates/web/base/js/translation_strings.html:59
+#: templates/web/base/js/translation_strings.html:62
msgid "Log in with email"
msgstr ""
-#: templates/web/base/dashboard/index.html:145
+#: templates/web/base/dashboard/index.html:146
#: templates/web/base/dashboard/index.html:38
msgid "Look up"
msgstr ""
@@ -1812,11 +1860,11 @@ msgstr ""
msgid "MAP"
msgstr "Mapa"
-#: perllib/FixMyStreet/Cobrand/Default.pm:712
+#: perllib/FixMyStreet/Cobrand/Default.pm:716
msgid "Manage shortlist"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:45
+#: templates/web/base/reports/_list-filters.html:56
msgid "Manual order"
msgstr ""
@@ -1832,19 +1880,11 @@ msgstr ""
msgid "Mark users whose behaviour you want to keep a check on as <strong>flagged</strong>."
msgstr ""
-#: templates/web/base/reports/index.html:27
-msgid "Marked fixed/closed in the past eight weeks"
-msgstr ""
-
-#: templates/web/base/reports/index.html:28
-msgid "Marked fixed/closed more than eight weeks ago"
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/Default.pm:710
+#: perllib/FixMyStreet/Cobrand/Default.pm:714
msgid "Markup problem details"
msgstr ""
-#: templates/web/base/contact/index.html:96
+#: templates/web/base/contact/index.html:100
msgid "Message"
msgstr "Menssagem"
@@ -1864,68 +1904,69 @@ msgstr ""
msgid "Missing jurisdiction_id"
msgstr "Falta informaçao jurisdiction_id"
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:706
+#: perllib/FixMyStreet/Cobrand/Default.pm:710
msgid "Moderate report details"
msgstr ""
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate this report"
msgstr ""
#: templates/web/base/report/update.html:12
-#, fuzzy
msgid "Moderate this update"
-msgstr "Relatado por %s em %s"
+msgstr ""
-#: templates/web/base/report/_main.html:69
-#: templates/web/base/report/update.html:49
-#, fuzzy
+#: templates/web/base/report/_main.html:73
+#: templates/web/base/report/update.html:58
msgid "Moderated by %s at %s"
-msgstr "Relatado por %s em %s"
+msgstr ""
#: templates/web/zurich/admin/stats.html:34
msgid "Moderated by division within one working day"
msgstr "Moderado por divisão dentro de um dia de trabalho"
-#: templates/web/base/report/_main.html:109
-#: templates/web/base/report/update.html:57
-#, fuzzy
+#: templates/web/base/report/_main.html:113
+#: templates/web/base/report/update.html:66
msgid "Moderation reason:"
-msgstr "outras áreas:"
+msgstr ""
#: templates/web/base/admin/stats.html:11
msgid "Month"
msgstr "Mês"
-#: templates/web/base/reports/_list-filters.html:51
+#: templates/web/base/reports/_list-filters.html:62
msgid "Most commented"
msgstr ""
#: templates/web/base/admin/bodies.html:25
#: templates/web/base/admin/body-form.html:24
+#: templates/web/base/admin/extra-metadata-form.html:65
#: templates/web/base/admin/flagged.html:16
#: templates/web/base/admin/flagged.html:37
#: templates/web/base/admin/index.html:62
#: templates/web/base/admin/list_updates.html:7
+#: templates/web/base/admin/reportextrafields/edit.html:11
+#: templates/web/base/admin/reportextrafields/index.html:6
#: templates/web/base/admin/reports.html:14
#: templates/web/base/admin/responsepriorities/list.html:6
+#: templates/web/base/admin/states/index.html:108
+#: templates/web/base/admin/states/index.html:11
#: templates/web/base/admin/users.html:16
-#: templates/web/base/auth/general.html:106
-#: templates/web/base/report/new/form_user_loggedin.html:40
+#: templates/web/base/auth/general.html:108
+#: templates/web/base/report/new/form_user_loggedin.html:42
#: templates/web/base/report/new/form_user_loggedout_by_email.html:7
-#: templates/web/base/report/update/form_name.html:23
-#: templates/web/base/reports/index.html:23
+#: templates/web/base/report/update/form_name.html:27
#: templates/web/zurich/admin/body-form.html:4
#: templates/web/zurich/auth/general.html:60
#: templates/web/zurich/report/new/fill_in_details_form.html:59
msgid "Name"
msgstr "Nome"
-#: templates/web/base/admin/report_edit.html:139
+#: templates/web/base/admin/report_edit.html:127
#: templates/web/base/admin/responsepriorities/edit.html:13
#: templates/web/base/admin/update_edit.html:34
#: templates/web/base/admin/user-form.html:16
@@ -1937,7 +1978,7 @@ msgstr "Nome:"
msgid "Name: %s"
msgstr "Nome: %s"
-#: templates/web/base/report/_inspect.html:28
+#: templates/web/base/report/_inspect.html:38
msgid "Navigate to this problem"
msgstr ""
@@ -1946,16 +1987,16 @@ msgstr ""
msgid "Nearest named road to the pin placed on the map (automatically generated using OpenStreetMap): %s%s"
msgstr "Nomeado rodoviário mais próximo ao pino colocado no mapa (gerado automaticamente usando OpenStreetMap): %s%s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:129
+#: perllib/FixMyStreet/Cobrand/UK.pm:134
msgid "Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"
msgstr "Código postal mais próximo do pino colocado no mapa (gerado automaticamente): %s (%sm distância)"
-#: perllib/FixMyStreet/Cobrand/Default.pm:527
-#: perllib/FixMyStreet/Cobrand/Default.pm:567
+#: perllib/FixMyStreet/Cobrand/Default.pm:538
+#: perllib/FixMyStreet/Cobrand/Default.pm:566
msgid "Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"
msgstr "Estrada mais próxima para o pino colocado no mapa (gerado automaticamente por Bing Maps): %s"
-#: perllib/FixMyStreet/Script/Alerts.pm:319
+#: perllib/FixMyStreet/Script/Alerts.pm:316
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s\n"
"\n"
@@ -1964,19 +2005,23 @@ msgstr ""
"\n"
"\n"
-#: templates/web/base/auth/token.html:17 templates/web/base/email_sent.html:5
+#: templates/web/base/auth/token.html:18
+msgid "Nearly done!"
+msgstr ""
+
+#: templates/web/base/auth/token.html:22 templates/web/base/email_sent.html:5
msgid "Nearly done! Now check your email&hellip;"
msgstr "Está quase! Agora basta verificar o seu email&hellip;"
-#: templates/web/base/reports/index.html:24
-msgid "New <br>problems"
-msgstr "Novos <br>problemas"
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:131
+msgid "New"
+msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:259
+#: perllib/FixMyStreet/App/Controller/Admin.pm:262
msgid "New body added"
msgstr "Novo corpo adicionado"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:405
+#: perllib/FixMyStreet/App/Controller/Admin.pm:386
msgid "New category contact added"
msgstr "Novo contato de categoria adicionado"
@@ -2002,7 +2047,7 @@ msgid "New password:"
msgstr ""
#: templates/web/base/admin/responsepriorities/edit.html:4
-#: templates/web/base/admin/responsepriorities/list.html:32
+#: templates/web/base/admin/responsepriorities/list.html:34
msgid "New priority"
msgstr ""
@@ -2031,6 +2076,7 @@ msgid "New reports"
msgstr "Novos reports"
#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/states/index.html:91
msgid "New state"
msgstr "Novo estado"
@@ -2040,7 +2086,7 @@ msgstr "Novo estado"
msgid "New template"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:47
+#: templates/web/base/reports/_list-filters.html:58
msgid "Newest"
msgstr ""
@@ -2048,20 +2094,19 @@ msgstr ""
msgid "Next"
msgstr "Proximo"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1203
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
+#: perllib/FixMyStreet/Cobrand/Default.pm:1237
#: templates/web/base/admin/category_edit.html:4
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:137
+#: templates/web/base/admin/report_edit.html:125
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:26
#: templates/web/base/questionnaire/creator_fixed.html:16
#: templates/web/base/questionnaire/index.html:106
#: templates/web/base/questionnaire/index.html:55
+#: templates/web/base/report/_inspect.html:92
msgid "No"
msgstr "Nao"
@@ -2077,7 +2122,7 @@ msgstr "Nenhum corpo"
msgid "No council"
msgstr "Sem concelho"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:445
+#: perllib/FixMyStreet/DB/Result/Problem.pm:372
msgid "No council selected"
msgstr "Nenhum Concelho selecionado"
@@ -2093,25 +2138,16 @@ msgstr ""
msgid "No flagged users found."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:14
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:8
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "No further action"
-msgstr "Incapaz de ser resolvido"
-
#: templates/web/zurich/admin/report_edit-sdm.html:125
#: templates/web/zurich/admin/report_edit.html:259
msgid "No further updates"
msgstr "Sem mais atualizações"
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:84
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:68
msgid "No inspections by that inspector in the selected date range."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:86
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:70
msgid "No inspections in the selected date range."
msgstr ""
@@ -2119,8 +2155,8 @@ msgstr ""
msgid "No result returned"
msgstr "Nenhum resultado retornado"
-#: templates/web/base/admin/body-form.html:66
-#: templates/web/base/admin/body-form.html:67
+#: templates/web/base/admin/body-form.html:68
+#: templates/web/base/admin/body-form.html:69
msgid ""
"No specific areas are currently available, because the <code>MAPIT_URL</code> in\n"
" your config file is not pointing to a live MapIt service."
@@ -2153,17 +2189,8 @@ msgid ""
" activity across their body), the ability to hide reports or set special report statuses."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:9
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "Not Responsible"
-msgstr "Nao responsavel"
-
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:181
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:186
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:933
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:13
msgid "Not contactable"
@@ -2182,7 +2209,7 @@ msgid "Not reported to council"
msgstr "Nao reportado ao município"
#: templates/web/base/admin/body.html:75
-#: templates/web/base/admin/category_edit.html:57
+#: templates/web/base/admin/category_edit.html:31
#: templates/web/zurich/admin/body.html:17
msgid "Note"
msgstr "Nota"
@@ -2192,7 +2219,7 @@ msgid "Note that when including unconfirmed reports we use the date the report w
msgstr "Note que quando incluimos relatos não confirmados usamos a data em que o relatório foi criado, que pode não estar no mesmo mês em que o relatório foi confirmado de modo que os números podem estar alterados."
#: templates/web/zurich/admin/body.html:55
-#: templates/web/zurich/admin/contact-form.html:17
+#: templates/web/zurich/admin/contact-form.html:19
msgid "Note:"
msgstr "Nota"
@@ -2204,6 +2231,10 @@ msgstr "Nota: <strong>%s</strong>"
msgid "Notes from SDM to DM"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:26
+msgid "Notice"
+msgstr ""
+
#: templates/web/base/report/new/oauth_email_form.html:17
msgid "Now to submit your report&hellip;"
msgstr "Finalmente, para enviar o seu relatório ..."
@@ -2214,63 +2245,43 @@ msgstr "Finalmente, para enviar o seu relatório ..."
msgid "Now to submit your update&hellip;"
msgstr "Finalmente, para enviar a sua actualização ..."
+#: templates/web/base/reports/index.html:98
+msgid "Number of problems reported in each category, in the last 7 days."
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:43
msgid "OK"
msgstr "OK"
-#: templates/web/base/js/translation_strings.html:67
+#: templates/web/base/js/translation_strings.html:70
msgid "Offline data cleared"
msgstr ""
-#: templates/web/base/js/translation_strings.html:64
+#: templates/web/base/js/translation_strings.html:67
msgid "Offline update data saved"
msgstr ""
-#: templates/web/base/reports/index.html:26
-msgid "Old / unknown <br>problems"
-msgstr " Velho / desconhecido <br>problems"
-
#: templates/web/base/admin/questionnaire.html:24
msgid "Old state"
msgstr "Estado antigo"
-#: templates/web/base/reports/index.html:28
-msgid "Older <br>fixed"
-msgstr "Mais antigo <br>fixado"
-
-#: templates/web/base/reports/index.html:25
-msgid "Older <br>problems"
-msgstr "Mais antigo <br>problemas"
-
-#: templates/web/base/reports/_list-filters.html:48
+#: templates/web/base/reports/_list-filters.html:59
msgid "Oldest"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:900
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:25
-#: templates/web/base/admin/report_blocks.html:6
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:905
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:10
+#: templates/web/base/admin/states/index.html:102
+#: templates/web/base/admin/states/index.html:25
+#: templates/web/base/admin/states/index.html:32
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:3
-#: templates/web/base/report/update/form_update.html:41
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:7
#: templates/web/zurich/admin/update_edit.html:18
msgid "Open"
msgstr "Aberto"
-#: templates/web/base/reports/index.html:25
-msgid "Open for more than four weeks, with an update within the past eight weeks"
-msgstr ""
-
-#: templates/web/base/reports/index.html:26
-msgid "Open, but not had any update in eight weeks"
-msgstr ""
-
#: templates/web/base/admin/open311-form-fields.html:47
msgid "Open311 API Key"
msgstr ""
@@ -2291,26 +2302,38 @@ msgstr "Open311 página web iniciativa"
msgid "Open311 specification"
msgstr "Especificação Open311"
-#: templates/web/base/alert/_list.html:61
-msgid "Or problems reported to:"
-msgstr "Ou os problemas relatados para:"
-
-#: templates/web/base/alert/_list.html:37
-msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
-msgstr "Ou você pode se inscrever em um alerta baseado no que ala, zona ou concelho você está inserido"
-
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:1061
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:659
-#: perllib/FixMyStreet/DB/Result/Problem.pm:642
-#: perllib/FixMyStreet/DB/Result/Problem.pm:649
-#: perllib/FixMyStreet/DB/Result/Problem.pm:664
-#: perllib/FixMyStreet/DB/Result/Problem.pm:673
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "Options"
+msgstr ""
+
+#: templates/web/base/alert/_list.html:84
+msgid "Or subscribe by RSS"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:8
+msgid "Order"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1107
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:675
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:676
+#: perllib/FixMyStreet/DB/Result/Problem.pm:579
+#: perllib/FixMyStreet/DB/Result/Problem.pm:586
+#: perllib/FixMyStreet/DB/Result/Problem.pm:601
+#: perllib/FixMyStreet/DB/Result/Problem.pm:610
#: perllib/FixMyStreet/Script/Reports.pm:183
#: perllib/FixMyStreet/Script/Reports.pm:198
msgid "Other"
msgstr "Outro"
+#: templates/web/base/reports/index.html:107
+msgid "Other categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:92
+msgid "Overall average"
+msgstr ""
+
#: templates/web/base/admin/list_updates.html:8
msgid "Owner"
msgstr "Proprietário"
@@ -2320,17 +2343,16 @@ msgstr "Proprietário"
msgid "Page Not Found"
msgstr "Pagina nao encontrada"
-#: templates/web/base/admin/body-form.html:37
+#: templates/web/base/admin/body-form.html:39
#: templates/web/zurich/admin/body-form.html:14
msgid "Parent"
msgstr "Parente"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:20
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:61
msgid "Partial"
msgstr "Parcial"
-#: templates/web/base/auth/general.html:109
+#: templates/web/base/auth/general.html:111
#: templates/web/base/report/new/form_user_loggedout_by_email.html:28
#: templates/web/base/report/update/form_user_loggedout_by_email.html:6
#: templates/web/zurich/auth/general.html:32
@@ -2338,7 +2360,7 @@ msgstr "Parcial"
msgid "Password (optional)"
msgstr "Password (opcional)"
-#: templates/web/base/auth/general.html:82
+#: templates/web/base/auth/general.html:84
msgid "Password:"
msgstr "Password:"
@@ -2350,17 +2372,21 @@ msgstr ""
msgid "Permissions:"
msgstr ""
+#: templates/web/base/report/_inspect.html:19
+msgid "Phone Reporter:"
+msgstr ""
+
#: templates/web/zurich/report/new/fill_in_details_form.html:65
msgid "Phone number"
msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:57
+#: templates/web/base/report/new/form_user_loggedin.html:59
#: templates/web/base/report/new/form_user_loggedout_by_email.html:25
msgid "Phone number (optional)"
msgstr "Telefone (opcional)"
#: perllib/FixMyStreet/Script/Reports.pm:87
-#: templates/web/base/admin/report_edit.html:146
+#: templates/web/base/admin/report_edit.html:134
#: templates/web/base/admin/user-form.html:21
#: templates/web/zurich/admin/stats.html:39
msgid "Phone:"
@@ -2369,9 +2395,9 @@ msgstr "Telefone:"
#: templates/web/base/questionnaire/index.html:78
#: templates/web/base/questionnaire/index.html:93
#: templates/web/base/questionnaire/index.html:95
-#: templates/web/base/report/new/form_report.html:28
-#: templates/web/base/report/new/form_report.html:43
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/new/form_report.html:45
+#: templates/web/base/report/new/form_report.html:47
#: templates/web/base/report/update/form_update.html:22
#: templates/web/base/report/update/form_update.html:24
#: templates/web/base/report/update/form_update.html:7
@@ -2389,12 +2415,12 @@ msgstr "Foto"
msgid "Photo is required."
msgstr ""
-#: templates/web/zurich/admin/contact-form.html:14
+#: templates/web/zurich/admin/contact-form.html:16
msgid "Photo required"
msgstr ""
#: templates/web/base/questionnaire/index.html:78
-#: templates/web/base/report/new/form_report.html:28
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/update/form_update.html:7
#: templates/web/zurich/report/new/fill_in_details_form.html:20
msgid "Photos"
@@ -2404,17 +2430,18 @@ msgstr ""
msgid "Photos of recent nearby reports"
msgstr "Fotos de relatórios recentes mais proximos"
+#: templates/web/base/reports/index.html:63
+#: templates/web/base/reports/index.html:66
+msgid "Pick your council"
+msgstr ""
+
#: templates/web/base/around/display_location.html:76
#: templates/web/base/js/translation_strings.html:30
msgid "Place pin on map"
msgstr "Coloque a fix pin no mapa"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:940
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:946
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:8
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:945
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:951
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:9
#: templates/web/zurich/admin/index-dm.html:9
@@ -2432,31 +2459,27 @@ msgstr "Por favor verifique as passwords e tente novamente"
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:18
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:43
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:45
#: templates/web/zurich/auth/general.html:3
#: templates/web/zurich/auth/general.html:9
msgid "Please check your email address is correct"
msgstr "Favor verificar se seu email esta correcto"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:350
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:844
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:867
-#: perllib/FixMyStreet/DB/Result/Problem.pm:456
+#: perllib/FixMyStreet/App/Controller/Admin.pm:329
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:873
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:896
+#: perllib/FixMyStreet/DB/Result/Problem.pm:383
#: templates/web/base/js/translation_strings.html:9
msgid "Please choose a category"
msgstr "Escolher uma categoria"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:462
-msgid "Please choose a property type"
-msgstr "Por favor, escolha um tipo de imóvel"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:396
+#: perllib/FixMyStreet/App/Controller/Admin.pm:377
#: templates/web/base/admin/bodies.html:4 templates/web/base/admin/body.html:11
msgid "Please correct the errors below"
msgstr ""
-#: templates/web/base/contact/blurb.html:12
+#: templates/web/base/contact/blurb.html:6
msgid ""
"Please do <strong>not</strong> report problems through this form; messages go to\n"
"the team behind this site, not a council. To report a problem,\n"
@@ -2470,18 +2493,18 @@ msgstr ""
"a Equipe POR Trás FixMyStreet, Nao hum Conselho. Pará relatar hum Problema, âŽ\n"
"<a href=\"/\"> ir par a Página Inicial </a> e como SIGA INSTRUÇÕES."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:351
-#: perllib/FixMyStreet/DB/Result/Comment.pm:127
+#: perllib/FixMyStreet/App/Controller/Admin.pm:330
+#: perllib/FixMyStreet/DB/Result/Comment.pm:128
#: templates/web/base/js/translation_strings.html:2
msgid "Please enter a message"
msgstr "Por favor insira uma mensagem"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1200
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1364
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1305
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1469
msgid "Please enter a name"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:478
+#: perllib/FixMyStreet/App/Controller/Admin.pm:497
msgid "Please enter a name for this body"
msgstr ""
@@ -2491,15 +2514,15 @@ msgstr ""
msgid "Please enter a password"
msgstr "Por favor insira uma password"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:114
-#: perllib/FixMyStreet/DB/Result/Problem.pm:439
+#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/DB/Result/Problem.pm:366
#: templates/web/base/js/translation_strings.html:3
msgid "Please enter a subject"
msgstr "Por favor insira um assunto"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1197
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1361
-#: perllib/FixMyStreet/App/Controller/Admin.pm:363
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1302
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1466
+#: perllib/FixMyStreet/App/Controller/Admin.pm:343
#: perllib/FixMyStreet/DB/Result/User.pm:164
#: templates/web/base/js/translation_strings.html:12
#: templates/web/base/js/translation_strings.html:16
@@ -2507,21 +2530,21 @@ msgid "Please enter a valid email"
msgstr "Por favor insira um email valido"
#: perllib/FixMyStreet/App/Controller/Alert.pm:350
-#: perllib/FixMyStreet/App/Controller/Contact.pm:124
+#: perllib/FixMyStreet/App/Controller/Contact.pm:125
msgid "Please enter a valid email address"
msgstr "Por favor insira um endereço de e-mail válido"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:442
+#: perllib/FixMyStreet/DB/Result/Problem.pm:369
#: templates/web/base/js/translation_strings.html:4
msgid "Please enter some details"
msgstr "Por favor, insira alguns detalhes"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/App/Controller/Contact.pm:114
#: perllib/FixMyStreet/DB/Result/User.pm:161
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:17
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:42
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:44
#: templates/web/base/js/translation_strings.html:11
#: templates/web/base/js/translation_strings.html:15
#: templates/web/zurich/auth/general.html:3
@@ -2538,14 +2561,14 @@ msgstr "Por favor, insira o seu endereço de email"
msgid "Please enter your first name"
msgstr "Digite seu primeiro nome"
-#: perllib/FixMyStreet/Cobrand/UK.pm:320
+#: perllib/FixMyStreet/Cobrand/UK.pm:326
#: templates/web/base/js/translation_strings.html:7
msgid "Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below"
msgstr "Por favor, insira o seu nome completo, os conselhos precisam desta informação - se você não quiser que seu nome seja mostrado no site, desmarque a caixa abaixo"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:112
-#: perllib/FixMyStreet/DB/Result/Comment.pm:124
-#: perllib/FixMyStreet/DB/Result/Problem.pm:450
+#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/DB/Result/Comment.pm:125
+#: perllib/FixMyStreet/DB/Result/Problem.pm:377
#: perllib/FixMyStreet/DB/Result/User.pm:157
#: templates/web/base/js/translation_strings.html:6
msgid "Please enter your name"
@@ -2608,7 +2631,7 @@ msgstr ""
msgid "Please note:"
msgstr "Favor notar:"
-#: perllib/FixMyStreet/App/Controller/Report.pm:358
+#: perllib/FixMyStreet/App/Controller/Report.pm:353
msgid "Please provide a public update for this report."
msgstr ""
@@ -2644,11 +2667,11 @@ msgstr "Por favor, indique se o problema foi corrigido"
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:122
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:156
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:158
-#: templates/web/base/js/translation_strings.html:57
+#: templates/web/base/js/translation_strings.html:60
msgid "Please upload an image only"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/App/Controller/Contact.pm:116
msgid "Please write a message"
msgstr "Por favor, escreva uma mensagem"
@@ -2656,30 +2679,29 @@ msgstr "Por favor, escreva uma mensagem"
msgid "Please write your update here"
msgstr "Por favor, escreva a sua atualização aqui"
-#: templates/web/base/contact/index.html:103
#: templates/web/base/report/update-form.html:25
#: templates/web/base/report/update/form_user_loggedout_by_email.html:14
#: templates/web/base/report/update/form_user_loggedout_password.html:10
msgid "Post"
msgstr "Postar"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:242
+#: perllib/FixMyStreet/DB/Result/Comment.pm:231
msgid "Posted anonymously at %s"
msgstr "Postado anonimamente em %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:257
+#: perllib/FixMyStreet/DB/Result/Comment.pm:255
msgid "Posted by %s at %s"
msgstr "Postado por %s aem %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:252
+#: perllib/FixMyStreet/DB/Result/Comment.pm:243
msgid "Posted by <strong>%s</strong> (%s) at %s"
msgstr "Postado por <strong>%s</strong> (%s) em %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:254
+#: perllib/FixMyStreet/DB/Result/Comment.pm:245
msgid "Posted by <strong>%s</strong> at %s"
msgstr "Postado por <strong>%s</strong> em %s"
-#: templates/web/base/front/footer-marketing.html:12
+#: templates/web/base/front/footer-marketing.html:6
msgid "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
msgstr ""
@@ -2691,8 +2713,8 @@ msgstr "Anterior"
msgid "Priorities"
msgstr ""
-#: templates/web/base/report/_inspect.html:113
-#: templates/web/base/report/_item.html:98
+#: templates/web/base/report/_inspect.html:123
+#: templates/web/base/report/_item.html:100
msgid "Priority"
msgstr ""
@@ -2706,16 +2728,15 @@ msgstr ""
msgid "Privacy and cookies"
msgstr ""
-#: templates/web/base/admin/body.html:91
-#: templates/web/base/admin/contact-form.html:74
-#: templates/web/base/admin/report_edit.html:149
+#: templates/web/base/admin/body.html:88
+#: templates/web/base/admin/contact-form.html:75
+#: templates/web/base/admin/report_edit.html:137
msgid "Private"
msgstr "Privado"
#: templates/web/base/report/new/form_user.html:1
-#, fuzzy
msgid "Private details"
-msgstr "Privado"
+msgstr ""
#: templates/web/base/maps/pin.html:13
msgid "Problem"
@@ -2739,7 +2760,7 @@ msgstr "Problema %s enviado ao conselho %s"
msgid "Problem breakdown by state"
msgstr "Colapso problema por estado"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1167
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1272
msgid "Problem marked as open."
msgstr "Problema marcado como aberto."
@@ -2747,11 +2768,16 @@ msgstr "Problema marcado como aberto."
msgid "Problem state change based on survey results"
msgstr "Mudança de estado do problema com base nos resultados da pesquisa"
-#: perllib/FixMyStreet/Cobrand/Default.pm:705
+#: perllib/FixMyStreet/Cobrand/Default.pm:709
#: templates/web/base/admin/flagged.html:10
msgid "Problems"
msgstr "Problemas"
+#: templates/web/base/alert/_list.html:22
+#, fuzzy
+msgid "Problems in an area"
+msgstr "Problemas dentro de %s ala"
+
#: templates/web/base/report/display_tools.html:22
msgid "Problems nearby"
msgstr "Nas proximidades"
@@ -2764,30 +2790,33 @@ msgstr "Problemas no mapa"
msgid "Problems recently reported fixed on FixMyStreet"
msgstr "Problemas relatados recentemente fixados em FixMyStreetMindelo"
-#: templates/web/base/alert/_list.html:22
-msgid "Problems within %.1fkm of this location"
+#: templates/web/base/alert/_list.html:29
+#, fuzzy
+msgid "Problems within %.1fkm of %s"
msgstr "Problemas dentro de %.1fkm deste local"
-#: perllib/FixMyStreet/Cobrand/Default.pm:833
+#: perllib/FixMyStreet/Cobrand/Default.pm:838
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:137
-#: perllib/FixMyStreet/Cobrand/UK.pm:209
+#: perllib/FixMyStreet/Cobrand/UK.pm:215 perllib/FixMyStreet/Cobrand/UK.pm:257
+#: perllib/FixMyStreet/Cobrand/UK.pm:269
msgid "Problems within %s"
msgstr "Problemas dentro de %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:223
+#: perllib/FixMyStreet/Cobrand/UK.pm:229
msgid "Problems within %s ward"
msgstr "Problemas dentro de %s ala"
+#: perllib/FixMyStreet/Cobrand/UK.pm:263 perllib/FixMyStreet/Cobrand/UK.pm:275
+#, fuzzy
+msgid "Problems within %s ward, %s"
+msgstr "Problemas dentro de %s ala"
+
#. ("First %s is the body name, second %s the site name")
#: templates/web/base/reports/body.html:0
#: templates/web/base/reports/body.html:25
msgid "Problems within %s, %s"
msgstr ""
-#: templates/web/base/alert/_list.html:43
-msgid "Problems within the boundary of:"
-msgstr "Problemas dentro do limite de:"
-
#: templates/web/base/admin/report_edit.html:74
msgid "Property address:"
msgstr "Endereço do imóvel:"
@@ -2797,11 +2826,11 @@ msgstr "Endereço do imóvel:"
msgid "Provide an update"
msgstr "Fornecer uma atualização"
-#: templates/web/base/report/update/form_name.html:9
+#: templates/web/base/report/update/form_name.html:10
msgid "Provide update as"
msgstr ""
-#: templates/web/base/auth/general.html:112
+#: templates/web/base/auth/general.html:114
msgid "Providing a name and password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
msgstr ""
@@ -2811,16 +2840,15 @@ msgid "Providing a password is optional, but doing so will allow you to more eas
msgstr "Fornecer uma password é opcional, mas isso vai permitir reportar problemas de forma mais fácil, actualizar e gerir os seus relatórios."
#: templates/web/base/report/new/form_report.html:10
-#, fuzzy
msgid "Public details"
-msgstr "Resposta do público:"
+msgstr ""
#: templates/web/zurich/admin/report_edit.html:241
#: templates/web/zurich/admin/report_edit.html:268
msgid "Public response:"
msgstr "Resposta do público:"
-#: templates/web/base/report/_inspect.html:152
+#: templates/web/base/report/_inspect.html:162
msgid "Public update:"
msgstr ""
@@ -2848,7 +2876,7 @@ msgstr "Questionário %d enviou para o problema de %d"
msgid "Questionnaire filled in by problem reporter"
msgstr "Questionário preenchido por problema repórter"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
#: templates/web/base/alert/updates.html:9
#: templates/web/base/around/display_location.html:1
#: templates/web/base/around/display_location.html:3
@@ -2856,11 +2884,11 @@ msgstr "Questionário preenchido por problema repórter"
msgid "RSS feed"
msgstr "RSS feed"
-#: perllib/FixMyStreet/Cobrand/UK.pm:252 perllib/FixMyStreet/Cobrand/UK.pm:264
+#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
msgid "RSS feed for %s"
msgstr "RSS feed para %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
+#: perllib/FixMyStreet/Cobrand/UK.pm:264 perllib/FixMyStreet/Cobrand/UK.pm:276
msgid "RSS feed for %s ward, %s"
msgstr "RSS feed for %s ala,%s"
@@ -2868,25 +2896,25 @@ msgstr "RSS feed for %s ala,%s"
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:179
-#: perllib/FixMyStreet/Cobrand/UK.pm:278 perllib/FixMyStreet/Cobrand/UK.pm:290
+#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
msgid "RSS feed of %s"
msgstr "RSS feed de %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
msgid "RSS feed of %s, within %s ward"
msgstr "RSS feed de %s, %s problemas pendentes"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
msgid "RSS feed of nearby problems"
msgstr "RSS feed dos problemas próximos"
-#: perllib/FixMyStreet/Cobrand/Default.pm:834
+#: perllib/FixMyStreet/Cobrand/Default.pm:839
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:136
-#: perllib/FixMyStreet/Cobrand/UK.pm:216
+#: perllib/FixMyStreet/Cobrand/UK.pm:222
msgid "RSS feed of problems within %s"
msgstr "RSS feed dos Problemas Nesta %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:222
+#: perllib/FixMyStreet/Cobrand/UK.pm:228
msgid "RSS feed of problems within %s ward"
msgstr "RSS feed dos problemas dentro de %s ala"
@@ -2905,7 +2933,7 @@ msgstr "RSS feed de atualizações para este problema"
msgid "Receive email when updates are left on this problem."
msgstr "RSS feed dos problemas locais recentes"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:801
+#: perllib/FixMyStreet/DB/Result/Problem.pm:738
msgid "Received by %s moments later"
msgstr ""
@@ -2915,15 +2943,11 @@ msgstr ""
msgid "Recent local problems, %s"
msgstr ""
-#: templates/web/base/reports/index.html:27
-msgid "Recently <br>fixed"
-msgstr "Recentement <br>fixed"
-
#: templates/web/base/front/recent.html:11
msgid "Recently reported problems"
msgstr "Problemas recentemente reportados"
-#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:60
msgid "Recently updated"
msgstr ""
@@ -2931,13 +2955,23 @@ msgstr ""
msgid "Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. If your problem is not appropriate for submission via this site remember that you can contact your council directly using their own website."
msgstr "Lembre-se que FixMyStreetMIndelo é principalmente para relatar problemas físicos que podem ser corrigidos. Se o seu problema não é apropriado para a apresentação através deste site, lembre-se que você pode contactar o seu município diretamente usando seu próprio site."
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/extra-metadata-form.html:68
+#, fuzzy
+msgid "Remove"
+msgstr "Remover bandeira"
+
+#: templates/web/base/admin/extra-metadata-form.html:4
+#, fuzzy
+msgid "Remove field"
+msgstr "Remover bandeira"
+
+#: templates/web/base/admin/report_blocks.html:23
msgid "Remove flag"
msgstr "Remover bandeira"
#: templates/web/base/report/_item.html:12
#: templates/web/base/report/_item.html:9
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:18
#: templates/web/base/report/_main.html:26
msgid "Remove from shortlist"
@@ -2947,7 +2981,7 @@ msgstr ""
msgid "Remove from site"
msgstr ""
-#: templates/web/base/admin/report_edit.html:166
+#: templates/web/base/admin/report_edit.html:154
#: templates/web/base/admin/update_edit.html:69
#: templates/web/zurich/admin/update_edit.html:35
msgid "Remove photo (can't be undone!)"
@@ -2961,13 +2995,13 @@ msgstr ""
msgid "Report"
msgstr ""
-#: templates/web/base/report/_inspect.html:10
-#: templates/web/base/report/_item.html:76
+#: templates/web/base/report/_inspect.html:14
+#: templates/web/base/report/_item.html:78
msgid "Report ID:"
msgstr ""
#: templates/web/base/header_logo.html:2
-#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:19
+#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:18
#: templates/web/zurich/nav_over_content.html:4
msgid "Report a problem"
msgstr "Reportar um problema"
@@ -2977,7 +3011,7 @@ msgstr "Reportar um problema"
msgid "Report abuse"
msgstr "Abusivo"
-#: templates/web/base/report/new/form_user_loggedin.html:16
+#: templates/web/base/report/new/form_user_loggedin.html:17
msgid "Report as"
msgstr ""
@@ -2986,9 +3020,8 @@ msgid "Report on %s"
msgstr "Relatório sobre %s"
#: templates/web/base/dashboard/index.html:137
-#, fuzzy
msgid "Report state:"
-msgstr "Abusivo"
+msgstr ""
#: templates/web/base/report/new/fill_in_details_form.html:1
#: templates/web/base/report/new/login_success_form.html:1
@@ -3001,7 +3034,7 @@ msgstr ""
msgid "Report, view, or discuss local problems"
msgstr "Reportar, ver ou discutir problemas locais"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:653
+#: perllib/FixMyStreet/DB/Result/Problem.pm:590
#: templates/web/base/contact/index.html:55
msgid "Reported anonymously at %s"
msgstr "Relatado anonimamente em %s"
@@ -3011,7 +3044,7 @@ msgstr "Relatado anonimamente em %s"
msgid "Reported before"
msgstr "Relatado antes"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:677
+#: perllib/FixMyStreet/DB/Result/Problem.pm:614
#: templates/web/base/contact/index.html:57
msgid "Reported by %s at %s"
msgstr "Relatado por %s em %s"
@@ -3025,34 +3058,30 @@ msgstr ""
msgid "Reported in the %s category"
msgstr "Relatado na categoria %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:650
+#: perllib/FixMyStreet/DB/Result/Problem.pm:587
msgid "Reported in the %s category anonymously at %s"
msgstr "Relatado na categoria %s anonimamente em %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:611
msgid "Reported in the %s category by %s at %s"
msgstr "Relatado na categoria %s por %s em %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:647
+#: perllib/FixMyStreet/DB/Result/Problem.pm:584
msgid "Reported via %s anonymously at %s"
msgstr "Relatado por %s anonimamente em %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:671
+#: perllib/FixMyStreet/DB/Result/Problem.pm:608
msgid "Reported via %s by %s at %s"
msgstr "Relatado por %s por%s em %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:644
+#: perllib/FixMyStreet/DB/Result/Problem.pm:581
msgid "Reported via %s in the %s category anonymously at %s"
msgstr "Relatado por %s na categoria %s anonimamente em %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:666
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
msgid "Reported via %s in the %s category by %s at %s"
msgstr "Relatado por %s na categoria %s por %s em %s"
-#: templates/web/base/reports/index.html:24
-msgid "Reported within the last four weeks"
-msgstr ""
-
#: templates/web/zurich/admin/report_edit-sdm.html:38
#: templates/web/zurich/admin/report_edit.html:57
msgid "Reported:"
@@ -3068,13 +3097,13 @@ msgid "Reporting a problem"
msgstr "Relatando um problema"
#: perllib/FixMyStreet/Cobrand/Default.pm:655
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:383
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:388
#: templates/web/base/dashboard/index.html:134
#: templates/web/zurich/header.html:52
msgid "Reports"
msgstr "Relatórios"
-#: perllib/FixMyStreet/Cobrand/UK.pm:329 perllib/FixMyStreet/Cobrand/UK.pm:333
+#: perllib/FixMyStreet/Cobrand/UK.pm:333 perllib/FixMyStreet/Cobrand/UK.pm:335
msgid "Reports are limited to %s characters in length. Please shorten your report"
msgstr ""
@@ -3082,31 +3111,53 @@ msgstr ""
msgid "Reports awaiting approval"
msgstr "Relatórios aguardando aprovação"
+#: templates/web/base/alert/_list.html:54
+#, fuzzy
+msgid "Reports by destination"
+msgstr "Relatado por %s em %s"
+
#: templates/web/base/admin/user-form.html:107
msgid "Reports made by trusted users will be sent to the responsible body without being inspected first."
msgstr ""
+#: templates/web/base/alert/_list.html:15
+msgid "Reports near %s are sent to different councils, depending on the type of problem."
+msgstr ""
+
#: templates/web/zurich/admin/index-sdm.html:10
msgid "Reports published"
msgstr "Os relatórios publicados"
-#: templates/web/base/js/translation_strings.html:68
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:71
msgid "Reports saved offline."
-msgstr "Reportar um problema"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#, fuzzy
+msgid "Reports sent to %s"
+msgstr "Relatório sobre %s"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:290 perllib/FixMyStreet/Cobrand/UK.pm:302
+#, fuzzy
+msgid "Reports sent to %s, within %s ward"
+msgstr "RSS feed de %s, %s problemas pendentes"
#: templates/web/base/admin/index.html:56
msgid "Reports waiting to be sent"
msgstr ""
-#: templates/web/base/admin/contact-form.html:89
+#: templates/web/base/admin/contact-form.html:90
msgid "Reports will automatically be sent without needing to be inspected if the user's <strong>reputation</strong> is at or above this value. Set to <strong>0</strong> if all reports must be inspected regardless."
msgstr ""
-#: templates/web/base/admin/contact-form.html:94
+#: templates/web/base/admin/contact-form.html:95
msgid "Reputation threshold"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:20
+msgid "Required"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:84
msgid "Resend report"
msgstr "Reenviar relatório"
@@ -3142,7 +3193,7 @@ msgstr ""
msgid "Revert to original"
msgstr ""
-#: templates/web/base/report/_main.html:95
+#: templates/web/base/report/_main.html:99
msgid "Revert to original text"
msgstr ""
@@ -3165,16 +3216,16 @@ msgstr "Operador de estrada por esta estrada chamada (derivado do número de ref
msgid "Road operator for this named road (from OpenStreetMap): %s"
msgstr "Operador de estrada por esta estrada chamada (a partir de OpenStreetMap): %s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1747
-#: templates/web/base/admin/report_edit.html:163
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1852
+#: templates/web/base/admin/report_edit.html:151
#: templates/web/base/admin/update_edit.html:66
#: templates/web/zurich/admin/report_edit.html:118
msgid "Rotate Left"
msgstr "Girar para a esquerda"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: templates/web/base/admin/report_edit.html:164
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: templates/web/base/admin/report_edit.html:152
#: templates/web/base/admin/update_edit.html:67
#: templates/web/zurich/admin/report_edit.html:119
msgid "Rotate Right"
@@ -3189,32 +3240,41 @@ msgstr ""
msgid "Satellite"
msgstr ""
-#: templates/web/base/report/_inspect.html:168
+#: templates/web/base/report/_inspect.html:182
msgid "Save + close as duplicate"
msgstr ""
-#: templates/web/base/admin/contact-form.html:137
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/contact-form.html:138
+#: templates/web/base/admin/reportextrafields/edit.html:64
+#: templates/web/base/admin/responsepriorities/edit.html:58
#: templates/web/base/admin/template_edit.html:46
-#: templates/web/base/report/_inspect.html:168
-#: templates/web/base/report/_main.html:113
-#: templates/web/base/report/update.html:60
+#: templates/web/base/report/_inspect.html:182
+#: templates/web/base/report/_main.html:117
+#: templates/web/base/report/update.html:69
#: templates/web/zurich/admin/body.html:62
-#: templates/web/zurich/admin/contact-form.html:20
+#: templates/web/zurich/admin/contact-form.html:22
#: templates/web/zurich/admin/template_edit.html:29
msgid "Save changes"
msgstr "Salvar alterações"
-#: templates/web/base/report/_inspect.html:148
+#: templates/web/base/admin/reportextrafields/edit.html:64
+msgid "Save new fields"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:158
msgid "Save with a public update"
msgstr ""
-#. ('This is followed by a progress count, e.g. 3/5')
#. ("This is followed by a progress count, e.g. 3/5")
-#: templates/web/base/js/translation_strings.html:69
+#: templates/web/base/js/translation_strings.html:72
msgid "Saving reports offline"
msgstr ""
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:132
+#, fuzzy
+msgid "Scheduled"
+msgstr "Ação Programada"
+
#: templates/web/base/admin/index.html:26
#: templates/web/base/admin/reports.html:1
#: templates/web/zurich/admin/reports.html:1
@@ -3248,41 +3308,41 @@ msgstr ""
msgid "See our privacy policy"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:715
+#: perllib/FixMyStreet/Cobrand/Default.pm:720
msgid "See user detail for reports created as the council"
msgstr ""
-#: templates/web/base/admin/body-form.html:39
+#: templates/web/base/admin/body-form.html:41
#: templates/web/zurich/admin/body-form.html:16
msgid "Select a body"
msgstr "Selecione um corpo"
-#: templates/web/base/reports/index.html:12
-msgid "Select a particular council to see the reports sent there."
-msgstr ""
-
-#: templates/web/base/admin/body-form.html:77
+#: templates/web/base/admin/body-form.html:79
#: templates/web/zurich/admin/body-form.html:26
msgid "Select an area"
msgstr "Selecione uma área"
-#: templates/web/base/alert/_list.html:11
-msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
+#: templates/web/base/admin/responsepriorities/edit.html:33
+msgid "Select if this is the default priority"
msgstr ""
#: templates/web/base/admin/category-checkboxes.html:6
msgid "Select:"
msgstr ""
+#: templates/web/base/contact/index.html:107
+msgid "Send"
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:109
msgid "Send extended Open311 statuses with service request updates"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:826
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:831
msgid "Sent report back"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:804
+#: perllib/FixMyStreet/DB/Result/Problem.pm:741
msgid "Sent to %s %s later"
msgstr "Enviado para %s %s mais tarde"
@@ -3295,7 +3355,7 @@ msgstr "Enviar:"
msgid "Service:"
msgstr "Srerviço:"
-#: templates/web/base/report/_inspect.html:31
+#: templates/web/base/report/_inspect.html:41
msgid "Set to my current location"
msgstr ""
@@ -3304,49 +3364,56 @@ msgid "Share"
msgstr "Acçao"
#: templates/web/base/main_nav_items.html:10
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:21
#: templates/web/base/report/_main.html:29
msgid "Shortlist"
msgstr ""
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/reports/body.html:32
+msgid "Shortlist all visible"
+msgstr ""
+
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:20
#: templates/web/base/report/_main.html:25
#: templates/web/base/reports/_list-filters.html:9
msgid "Shortlisted"
msgstr ""
-#: templates/web/base/report/_main.html:144
+#: templates/web/base/report/_item.html:15
+#: templates/web/base/report/_main.html:148
msgid "Shortlisted by %s"
msgstr ""
#: templates/web/base/report/update.html:20
-#, fuzzy
msgid "Show Photo?"
-msgstr "Mostrar antigo"
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:26
+msgid "Show all updates"
+msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:54
+#: templates/web/base/report/new/form_user_loggedin.html:56
#: templates/web/base/report/new/form_user_loggedout_by_email.html:22
-#: templates/web/base/report/update/form_name.html:33
+#: templates/web/base/report/update/form_name.html:37
msgid "Show my name publicly"
msgstr "Mostrar meu nome publicamente"
#: templates/web/base/report/update.html:17
-#, fuzzy
msgid "Show name publicly?"
-msgstr "Mostrar meu nome publicamente"
+msgstr ""
#: templates/web/base/around/display_location.html:69
msgid "Show old"
msgstr "Mostrar antigo"
-#: templates/web/base/report/_main.html:79
-#, fuzzy
+#: templates/web/base/report/_main.html:83
msgid "Show photo"
-msgstr "Mostrar antigo"
+msgstr ""
#: templates/web/base/around/display_location.html:60
+#: templates/web/base/js/translation_strings.html:54
msgid "Show pins"
msgstr "Mostrar pins"
@@ -3354,16 +3421,20 @@ msgstr "Mostrar pins"
msgid "Show reporter&rsquo;s name"
msgstr ""
-#: templates/web/base/auth/general.html:117
+#: templates/web/base/reports/index.html:62
+msgid "Show reports in your area"
+msgstr ""
+
+#: templates/web/base/auth/general.html:119
#: templates/web/base/auth/general.html:3
-#: templates/web/base/auth/general.html:86
+#: templates/web/base/auth/general.html:88
#: templates/web/base/main_nav_items.html:6
#: templates/web/zurich/auth/general.html:18
#: templates/web/zurich/auth/general.html:35
msgid "Sign in"
msgstr "Entrar"
-#: templates/web/base/auth/general.html:96
+#: templates/web/base/auth/general.html:98
msgid "Sign in by email instead, providing a new password. When you click the link in your email, your password will be updated."
msgstr ""
@@ -3409,14 +3480,14 @@ msgstr ""
msgid "Sorry, there has been an error confirming your problem."
msgstr "Desculpe, houve um erro ao confirmar o seu problema."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:230
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:235
#: perllib/FixMyStreet/Geocode.pm:37 perllib/FixMyStreet/Geocode/Bing.pm:38
#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:56
#: perllib/FixMyStreet/Geocode/OSM.pm:48
msgid "Sorry, we could not find that location."
msgstr "Desculpe, não conseguimos encontrar esse local."
-#: templates/web/base/auth/general.html:9
+#: templates/web/base/auth/general.html:11
#: templates/web/base/report/display.html:29
#: templates/web/base/report/new/fill_in_details_form.html:15
msgid "Sorry, we could not log you in. Please fill in the form below."
@@ -3438,11 +3509,11 @@ msgid ""
"page wasn’t found or there was a server error. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Root.pm:107
+#: perllib/FixMyStreet/App/Controller/Root.pm:124
msgid "Sorry, you don't have permission to do that."
msgstr ""
-#: templates/web/base/reports/_list-filters.html:42
+#: templates/web/base/reports/_list-filters.html:53
msgid "Sort by"
msgstr ""
@@ -3459,17 +3530,25 @@ msgid "Start Date:"
msgstr ""
#: templates/web/base/admin/body.html:73
+#: templates/web/base/admin/category_edit.html:29
+#: templates/web/base/admin/contact-form.html:53
#: templates/web/base/admin/flagged.html:18
#: templates/web/base/admin/index.html:64
#: templates/web/base/admin/list_updates.html:11
#: templates/web/base/admin/reports.html:16
#: templates/web/base/admin/template_edit.html:40
-#: templates/web/base/report/_inspect.html:83
-#: templates/web/base/report/_item.html:94
+#: templates/web/base/report/_inspect.html:82
+#: templates/web/base/report/_item.html:96
#: templates/web/base/report/update/form_update.html:39
+#: templates/web/zurich/admin/contact-form.html:10
msgid "State"
msgstr "Estado"
+#: templates/web/base/report/update.html:48
+#, fuzzy
+msgid "State changed to:"
+msgstr "Salvar alterações"
+
#: templates/web/base/admin/report_edit.html:116
#: templates/web/base/admin/update_edit.html:28
#: templates/web/zurich/admin/report_edit-sdm.html:75
@@ -3479,8 +3558,14 @@ msgstr "Estado"
msgid "State:"
msgstr "Estado"
-#: perllib/FixMyStreet/Cobrand/Default.pm:640
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:386
+#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: templates/web/base/admin/states/index.html:1
+#, fuzzy
+msgid "States"
+msgstr "Estado"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
#: templates/web/base/admin/index.html:71 templates/web/base/admin/stats.html:1
#: templates/web/base/admin/stats_by_state.html:1
#: templates/web/zurich/admin/stats.html:1 templates/web/zurich/header.html:65
@@ -3502,6 +3587,10 @@ msgstr "Ainda em aberto, via questionário, %s"
msgid "Street View"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:46
+msgid "String"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:192
msgid "Subcategory: %s"
msgstr "Subcategoria: %s"
@@ -3510,7 +3599,7 @@ msgstr "Subcategoria: %s"
msgid "Subdivision/Body"
msgstr "Zona / Bairro"
-#: templates/web/base/contact/index.html:88
+#: templates/web/base/contact/index.html:92
msgid "Subject"
msgstr "Assunto:"
@@ -3520,14 +3609,14 @@ msgid "Subject:"
msgstr "Assunto:"
#: templates/web/base/questionnaire/creator_fixed.html:19
-#: templates/web/base/report/new/form_user_loggedin.html:61
+#: templates/web/base/report/new/form_user_loggedin.html:63
#: templates/web/base/report/new/form_user_loggedout_by_email.html:36
#: templates/web/base/report/new/form_user_loggedout_password.html:11
#: templates/web/zurich/report/new/fill_in_details_form.html:73
msgid "Submit"
msgstr "Submeter"
-#: templates/web/base/admin/report_edit.html:174
+#: templates/web/base/admin/report_edit.html:162
#: templates/web/base/admin/report_edit.html:24
#: templates/web/base/admin/update_edit.html:77
#: templates/web/base/admin/user-form.html:170
@@ -3541,8 +3630,8 @@ msgstr "Submeter alteraçoes"
msgid "Submit questionnaire"
msgstr "Submeter questionario"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:164
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:893
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:898
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:6
#: templates/web/zurich/admin/index-dm.html:23
@@ -3552,36 +3641,38 @@ msgstr "Submeter questionario"
msgid "Submitted"
msgstr "Submitido"
+#: templates/web/base/alert/_list.html:77
+#: templates/web/base/alert/_list.html:80
#: templates/web/base/alert/updates.html:23
#: templates/web/base/report/display_tools.html:51
msgid "Subscribe"
msgstr "Subscrever"
-#: templates/web/base/alert/_list.html:93
-msgid "Subscribe me to an email alert"
+#: templates/web/base/alert/_list.html:72
+#, fuzzy
+msgid "Subscribe by email"
msgstr "Subcrever um alerta de e-mail"
#: templates/web/base/report/new/form_report.html:19
msgid "Summarise the problem"
msgstr ""
-#: templates/web/base/admin/contact-form.html:129
+#: templates/web/base/admin/contact-form.html:130
msgid "Summarise your changes"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:638
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:382
+#: perllib/FixMyStreet/Cobrand/Default.pm:637
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:387
#: templates/web/base/admin/bodies.html:29
#: templates/web/base/admin/index.html:1 templates/web/base/status/index.html:1
#: templates/web/base/status/index.html:3
#: templates/web/zurich/admin/index-dm.html:1
#: templates/web/zurich/admin/index-sdm.html:1
-#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:13
+#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:12
#: templates/web/zurich/header.html:49
msgid "Summary"
msgstr "Resumo"
-#: templates/web/base/reports/index.html:4
#: templates/web/zurich/reports/index.html:0
#: templates/web/zurich/reports/index.html:4
msgid "Summary reports"
@@ -3605,7 +3696,7 @@ msgid "Template &laquo;%s&raquo;"
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:661
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:393
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
#: templates/web/zurich/header.html:69
msgid "Templates"
msgstr ""
@@ -3634,7 +3725,7 @@ msgstr ""
msgid "Thank you for trying to confirm your update or problem. We seem to have an error ourselves though, so <a href=\"%s\">please let us know what went on</a> and we'll look into it."
msgstr "Obrigado por tentar confirmar a sua atualização ou problema. Parece que temos um erro a nós mesmos, porém, assim <a href=\"%s\"> por favor deixe-nos saber o que aconteceu </a> e vamos olhar para ele."
-#: templates/web/base/tokens/confirm_update.html:15
+#: templates/web/base/tokens/confirm_update.html:16
msgid "Thank you for updating this issue!"
msgstr ""
@@ -3662,7 +3753,7 @@ msgstr "Essa imagem não parece ter sido carregada corretamente (%s), por favor
msgid "That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again."
msgstr "Esse local não parece ser coberto por um conselho, talvez seja no mar ou fora do país. Por favor, tente novamente."
-#: perllib/FixMyStreet/App/Controller/Location.pm:129
+#: perllib/FixMyStreet/App/Controller/Location.pm:127
msgid "That location does not appear to be in the UK; please try again."
msgstr "Esse local não parece estar em Mindelo, por favor tente novamente."
@@ -3672,23 +3763,23 @@ msgstr "Esse local não parece estar em Mindelo, por favor tente novamente."
msgid "That postcode was not recognised, sorry."
msgstr "Esse código postal não foi reconhecido, me desculpe.Tente novamente."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:762
+#: perllib/FixMyStreet/App/Controller/Admin.pm:850
msgid "That problem has been marked as sent."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:755
+#: perllib/FixMyStreet/App/Controller/Admin.pm:843
msgid "That problem will now be resent."
msgstr "Esse problema agora será reenviado e reportado ao conselho."
-#: perllib/FixMyStreet/App/Controller/Report.pm:137
+#: perllib/FixMyStreet/App/Controller/Report.pm:134
msgid "That report cannot be viewed on %s."
msgstr "Esse relatório não pode ser visualizado em %s."
-#: perllib/FixMyStreet/App/Controller/Report.pm:131
+#: perllib/FixMyStreet/App/Controller/Report.pm:128
msgid "That report has been removed from FixMyStreet."
msgstr "Esse relatório foi removido FixMyStreetMIndelo"
-#: templates/web/base/admin/contact-form.html:25
+#: templates/web/base/admin/contact-form.html:27
msgid ""
"The <strong>email address</strong> is the destination to which reports about this category will be sent. \n"
" Other categories for this body may have the same email address."
@@ -3708,10 +3799,10 @@ msgid ""
" than one. If the body is running its own endpoint, you can usually leave this blank."
msgstr ""
-#: templates/web/base/admin/body-form.html:100
-#: templates/web/base/admin/body-form.html:101
-#: templates/web/base/admin/contact-form.html:103
+#: templates/web/base/admin/body-form.html:102
+#: templates/web/base/admin/body-form.html:103
#: templates/web/base/admin/contact-form.html:104
+#: templates/web/base/admin/contact-form.html:105
msgid ""
"The <strong>send method</strong> determines how problem reports will be sent to the body.\n"
" If you leave this blank, <strong>send method defaults to email</strong>."
@@ -3728,6 +3819,10 @@ msgid ""
" and may be displayed publically."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:12
+msgid "The code used to store this field value in the database. e.g. <code>address</code> would be available as <code>problem.extra.address</code> in the templates."
+msgstr ""
+
#: templates/web/base/report/new/fill_in_details_text.html:1
#: templates/web/base/report/new/fill_in_details_text.html:3
msgid "The council won&rsquo;t be able to help unless you leave as much detail as you can. Please describe the exact location of the problem (e.g. on a wall), what it is, how long it has been there, a description (and a photo of the problem if you have one), etc."
@@ -3738,11 +3833,15 @@ msgstr "O conselho não vai ser capaz de ajudar a menos que você deixe o máxim
msgid "The diligency prize league table shows editors' activity (who's been editing the most records)."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:61
-#: perllib/FixMyStreet/App/Controller/Reports.pm:82
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:63
+#: perllib/FixMyStreet/App/Controller/Reports.pm:103
msgid "The error was: %s"
msgstr "O erro foi: %s"
+#: templates/web/base/admin/extra-metadata-form.html:30
+msgid "The field name as shown to the user on the report form."
+msgstr ""
+
#: templates/web/base/open311/index.html:78
msgid "The following Open311 v2 attributes are returned for each request: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
msgstr "Os seguintes atributos Open311 v2 são devolvidos para cada solicitação: service_request_id, descrição, lat, long, MEDIA_URL, status, requested_datetime, updated_datetime, service_code e service_name."
@@ -3781,10 +3880,14 @@ msgstr "Os últimos problemas dentro de {{NAME}} 's fronteira relatados por usuÃ
msgid "The link might have expired, or maybe you didn&rsquo;t quite copy and paste it correctly."
msgstr ""
-#: templates/web/base/admin/body-form.html:64
+#: templates/web/base/admin/body-form.html:66
msgid "The list of available areas is being provided by the MapIt service at %s."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:6
+msgid "The ordering of this field on the report page. Fields are shown in ascending order according to this value."
+msgstr ""
+
#: templates/web/base/auth/change_password.html:22
#: templates/web/base/auth/change_password.html:26
msgid "The passwords do not match"
@@ -3794,9 +3897,9 @@ msgstr "As passwords não são iguais"
msgid "The requested URL '%s' was not found on this server"
msgstr " A URL solicitada '%s' não foi encontrada neste servidor"
-#: templates/web/base/alert/_list.html:17
-msgid "The simplest alert is our geographic one:"
-msgstr "O alerta mais simples é o nosso único ponto localizaçao geográfica:"
+#: templates/web/base/admin/extra-metadata-form.html:42
+msgid "The type of input field to show to the user. <strong>Text</strong> is a simple text field, <strong>List</strong> is a drop-down selection."
+msgstr ""
#: perllib/FixMyStreet/Script/Reports.pm:96
msgid "The user could not locate the problem on a map, but to see the area around the location they entered"
@@ -3815,18 +3918,18 @@ msgstr ""
msgid "There are no reports to show."
msgstr "Não existem relatórios a apresentar"
-#: perllib/FixMyStreet/App/Controller/Reports.pm:79
+#: perllib/FixMyStreet/App/Controller/Reports.pm:100
msgid "There was a problem showing the All Reports page. Please try again later."
msgstr "Houve um problema ao mostrar a página de todos os relatórios. Por favor, tente novamente mais tarde."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:137
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:60
+#: perllib/FixMyStreet/App/Controller/Contact.pm:138
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:62
msgid "There was a problem showing this page. Please try again later."
msgstr "Houve um problema mostrada nesta página. Por favor, tente novamente mais tarde."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:758
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:785
#: perllib/FixMyStreet/App/Controller/Report/Update.pm:152
-#: templates/web/base/auth/general.html:53
+#: templates/web/base/auth/general.html:55
#: templates/web/zurich/auth/general.html:28
msgid "There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the &lsquo;sign in by email&rsquo; section of the form."
msgstr "Houve um problema com o email / combinação de senha. Se você não lembra da sua senha, ou não tiver um, por favor preencha o \"sinal de colocar e-mail 'seção do formulário."
@@ -3839,7 +3942,7 @@ msgstr "Houve um problema com o email / combinação de senha. Por favor, tente
msgid "There was a problem with your update. Please try again."
msgstr "Houve um problema com a sua atualização. Por favor, tente novamente."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:141
+#: perllib/FixMyStreet/App/Controller/Contact.pm:142
msgid "There were problems with your report. Please see below."
msgstr "Houve problemas com o seu relatório. Por favor, veja abaixo."
@@ -3891,8 +3994,8 @@ msgstr ""
msgid "This body has no contacts. This means that currently problems reported to this body <strong>will not be sent</strong>."
msgstr ""
-#: templates/web/base/admin/body-form.html:58
-#: templates/web/base/admin/body-form.html:59
+#: templates/web/base/admin/body-form.html:60
+#: templates/web/base/admin/body-form.html:61
msgid ""
"This body will only be sent reports for problems that are located in the <strong>area covered</strong>.\n"
" A body will not receive any reports unless it covers at least one area."
@@ -3906,8 +4009,9 @@ msgstr "Este e-mail foi enviado para ambos os conselhos que cobrem o local do pr
msgid "This email has been sent to several councils covering the location of the problem, as the category selected is provided for all of them; please ignore it if you're not the correct council to deal with the issue."
msgstr "Este e-mail foi enviado para vários conselhos que cobrem o local do problema, como a categoria selecionada é fornecida para todos eles, por favor, ignorar se você não é o conselho correto para lidar com o problema."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:881
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:925
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1017
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:910
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:954
#: perllib/FixMyStreet/App/Controller/Report/New.pm:971
#: perllib/FixMyStreet/Cobrand/UK.pm:45
msgid "This information is required"
@@ -3917,46 +4021,41 @@ msgstr "Esta informação é necessária"
msgid "This is a developer site; things might break at any time, and the database will be periodically deleted."
msgstr "Este é um site do desenvolvedor, as coisas podem quebrar a qualquer momento, e o banco de dados serão apagados periodicamente."
-#: templates/web/base/reports/index.html:10
-msgid "This is a summary of all reports on this site."
-msgstr ""
-
-#: templates/web/base/report/new/form_report.html:56
+#: templates/web/base/report/new/form_report.html:58
msgid "This pothole has been here for two months and…"
msgstr ""
-#: templates/web/base/report/update/form_update.html:63
+#: templates/web/base/report/update/form_update.html:55
msgid "This problem has been fixed"
msgstr "Este problema foi resolvido"
-#: templates/web/base/report/update/form_update.html:56
+#: templates/web/base/report/update/form_update.html:48
msgid "This problem has not been fixed"
msgstr "Este problema não foi corrigido"
-#: templates/web/base/report/update/form_update.html:54
-#, fuzzy
+#: templates/web/base/report/update/form_update.html:46
msgid "This problem is still ongoing"
-msgstr "Este problema não foi corrigido"
+msgstr ""
#: templates/web/base/report/duplicate-no-updates.html:3
msgid "This report is a duplicate. Please leave updates on the original report:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:161
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:162
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:166
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:167
#: templates/web/zurich/report/_main.html:14
msgid "This report is awaiting moderation."
msgstr "Este relatório está aguardando moderação."
-#: perllib/FixMyStreet/Script/Alerts.pm:101
+#: perllib/FixMyStreet/Script/Alerts.pm:98
msgid "This report is currently marked as closed."
msgstr "Este relatório está marcado como fechado."
-#: perllib/FixMyStreet/Script/Alerts.pm:99
+#: perllib/FixMyStreet/Script/Alerts.pm:96
msgid "This report is currently marked as fixed."
msgstr "Este relatório está marcado como fixo."
-#: perllib/FixMyStreet/Script/Alerts.pm:103
+#: perllib/FixMyStreet/Script/Alerts.pm:100
msgid "This report is currently marked as open."
msgstr "Este relatório está marcado como aberto."
@@ -3975,7 +4074,7 @@ msgstr "Esta página também contém uma foto do problema, fornecido pelo usuár
msgid "Time spent (in minutes):"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Default.pm:638
#: templates/web/base/admin/timeline.html:1
msgid "Timeline"
msgstr "Timeline"
@@ -4004,10 +4103,26 @@ msgstr ""
msgid "To find out what local alerts we have for you, please enter your postcode or street name and area"
msgstr "Para descobrir quais os alertas locais que temos para si, deve inserir o seu código postal ou nome de rua e área ou zona"
+#: templates/web/base/admin/reportextrafields/edit.html:19
+msgid "To limit this collection of fields to a single cobrand, select it here."
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:40
+msgid "To limit this collection of fields to a single language, select it here."
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:95
msgid "To view a map of the precise location of this issue"
msgstr "Para ver no mapa a localização exata desse problema"
+#: templates/web/base/reports/index.html:97
+msgid "Top 5 most used categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:83
+msgid "Top 5 responsive councils"
+msgstr ""
+
#: templates/web/base/admin/questionnaire.html:24
#: templates/web/base/admin/stats.html:24
#: templates/web/base/admin/stats.html:43
@@ -4021,9 +4136,8 @@ msgid "Total marked"
msgstr ""
#: templates/web/base/dashboard/index.html:71
-#, fuzzy
msgid "Total marked as fixed"
-msgstr "marcado como fixo"
+msgstr ""
#: templates/web/base/dashboard/index.html:125
msgid "Total not marked"
@@ -4034,16 +4148,24 @@ msgstr ""
msgid "Total reports received"
msgstr ""
-#: templates/web/base/report/_inspect.html:124
-#: templates/web/base/report/_item.html:102
+#: templates/web/base/report/_inspect.html:134
+#: templates/web/base/report/_item.html:104
msgid "Traffic management required?"
msgstr ""
+#: templates/web/base/admin/_translations.html:7
+msgid "Translation"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:2
+msgid "Translations"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:111
msgid "Trusted by bodies:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:721
+#: perllib/FixMyStreet/Cobrand/Default.pm:726
msgid "Trusted to make reports that don't need to be inspected"
msgstr ""
@@ -4059,8 +4181,14 @@ msgstr "Tente novamente"
msgid "Try emailing us directly:"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:21
+#: templates/web/base/admin/extra-metadata-form.html:44
+#: templates/web/base/admin/states/index.html:10
+#: templates/web/base/admin/states/index.html:100
+msgid "Type"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:59
+#: templates/web/base/admin/contact-form.html:55
#: templates/web/base/admin/update_edit.html:30
#: templates/web/zurich/admin/report_edit-sdm.html:66
#: templates/web/zurich/admin/report_edit.html:94
@@ -4068,7 +4196,6 @@ msgstr ""
msgid "Unconfirmed"
msgstr "Não confirmado"
-#: templates/web/base/reports/_list-filters.html:12
#: templates/web/base/reports/_list-filters.html:5
msgid "Unfixed reports"
msgstr "por arranjar"
@@ -4082,14 +4209,14 @@ msgid "Unknown alert type"
msgstr "Tipo de alerta desconhecido"
#: perllib/FixMyStreet/App/Controller/Photo.pm:109
-#: perllib/FixMyStreet/App/Controller/Root.pm:124
+#: perllib/FixMyStreet/App/Controller/Root.pm:141
#: templates/web/base/js/translation_strings.html:38
msgid "Unknown error"
msgstr "Erro desconhecido"
-#: perllib/FixMyStreet/App/Controller/Report.pm:115
+#: perllib/FixMyStreet/App/Controller/Report.pm:112
+#: perllib/FixMyStreet/App/Controller/Report.pm:118
#: perllib/FixMyStreet/App/Controller/Report.pm:121
-#: perllib/FixMyStreet/App/Controller/Report.pm:124
msgid "Unknown problem ID"
msgstr "Desconhecido problema com ID"
@@ -4097,10 +4224,11 @@ msgstr "Desconhecido problema com ID"
msgid "Unshortlisted"
msgstr ""
-#: templates/web/base/report/_item.html:24
+#: templates/web/base/report/_item.html:26
msgid "Up one"
msgstr ""
+#: templates/web/base/admin/states/index.html:76
#: templates/web/base/report/update/form_update.html:29
msgid "Update"
msgstr "Actualizar"
@@ -4117,7 +4245,7 @@ msgstr "Atualize abaixo colocado de forma anónima em %s"
msgid "Update below added by %s at %s"
msgstr "Actualizar abaixo adicionado por %s em %s"
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Update body"
msgstr "Atualize corpo"
@@ -4153,13 +4281,23 @@ msgstr "Atualizar status"
msgid "Updated"
msgstr "Atualizado"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1157
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1221
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1384
-#: perllib/FixMyStreet/App/Controller/Admin.pm:822
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:762
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:787
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:857
+#: perllib/FixMyStreet/DB/Result/Comment.pm:249
+#, fuzzy
+msgid "Updated by <strong>%s</strong> (%s) at %s"
+msgstr "Postado por <strong>%s</strong> (%s) em %s"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:251
+#, fuzzy
+msgid "Updated by <strong>%s</strong> at %s"
+msgstr "Postado por <strong>%s</strong> em %s"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1262
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1326
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1489
+#: perllib/FixMyStreet/App/Controller/Admin.pm:910
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:767
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:792
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:862
msgid "Updated!"
msgstr "Actualizado!"
@@ -4169,7 +4307,7 @@ msgstr "Actualizado!"
msgid "Updates"
msgstr "Actualizaçoes"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:133
+#: perllib/FixMyStreet/DB/Result/Comment.pm:134
msgid "Updates are limited to %s characters in length. Please shorten your update"
msgstr ""
@@ -4183,11 +4321,22 @@ msgstr "Atualizações sobre {{título}}"
msgid "Updates to this problem, %s"
msgstr ""
+#: templates/web/base/admin/contact-form.html:43
+#: templates/web/base/admin/contact-form.html:44
+msgid ""
+"Use <strong>confirmed</strong> to indicate that this contact has been\n"
+"confirmed as correct. If you are not sure of the origin or validity of the\n"
+"contact, use <strong>unconfirmed</strong>. <strong>inactive</strong> will\n"
+"remove the category from use when reporting problems, but keep it available in\n"
+"map filters, and <strong>deleted</strong> will remove the category from there\n"
+"as well."
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:65
msgid "Use Open311 update-sending extension"
msgstr ""
-#: templates/web/base/admin/contact-form.html:124
+#: templates/web/base/admin/contact-form.html:125
msgid "Use this field to record details that are only displayed in the admin. Input is not shown publicly, and is not sent to the body."
msgstr ""
@@ -4200,27 +4349,26 @@ msgstr ""
msgid "User ID to attribute fetched comments to"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1700
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1805
msgid "User flag removed"
msgstr "Bandeira usuário removida"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1672
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1777
msgid "User flagged"
msgstr "Usuário sinalizado"
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:58
-#, fuzzy
msgid "User has marked as fixed"
-msgstr "marcado como fixo"
+msgstr ""
#: templates/web/base/admin/users.html:5
msgid "User search finds matches in users' names and email addresses."
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:669
-#: perllib/FixMyStreet/Cobrand/Default.pm:723
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
+#: perllib/FixMyStreet/Cobrand/Default.pm:728
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:403
#: templates/web/base/admin/flagged.html:29 templates/web/zurich/header.html:61
msgid "Users"
msgstr "Usuários"
@@ -4229,9 +4377,9 @@ msgstr "Usuários"
msgid "Users can perform the following actions within their assigned body or area."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:400
-#: perllib/FixMyStreet/App/Controller/Admin.pm:430
-#: perllib/FixMyStreet/App/Controller/Admin.pm:448
+#: perllib/FixMyStreet/App/Controller/Admin.pm:381
+#: perllib/FixMyStreet/App/Controller/Admin.pm:417
+#: perllib/FixMyStreet/App/Controller/Admin.pm:439
msgid "Values updated"
msgstr "Valores atualizados"
@@ -4278,7 +4426,7 @@ msgstr "Encontramos mais de uma correspondência para essa localização. Mostra
msgid "We found more than one match for that problem reference:"
msgstr ""
-#: templates/web/base/auth/general.html:6
+#: templates/web/base/auth/general.html:8
#: templates/web/base/report/display.html:35
#: templates/web/base/report/new/oauth_email_form.html:5
msgid "We need your email address, please give it below."
@@ -4313,7 +4461,7 @@ msgstr ""
msgid "What was your experience of getting the problem fixed?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:52
+#: templates/web/base/admin/category_edit.html:27
#: templates/web/zurich/admin/body.html:18
msgid "When edited"
msgstr "Quando editar"
@@ -4322,11 +4470,19 @@ msgstr "Quando editar"
msgid "When sent"
msgstr "Quando enviar"
-#: templates/web/base/report/_inspect.html:89
+#: templates/web/base/admin/extra-metadata-form.html:18
+msgid "Whether the user is required to provide a value for this field."
+msgstr ""
+
+#: templates/web/base/alert/_list.html:9
+msgid "Which problems do you want alerts about?"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:99
msgid "Which report is it a duplicate of?"
msgstr ""
-#: templates/web/base/js/translation_strings.html:54
+#: templates/web/base/js/translation_strings.html:57
msgid "Whoa there Testino! Three photos are enough."
msgstr ""
@@ -4334,8 +4490,8 @@ msgstr ""
msgid "Why stop there? <a href=\"/alert\">Set up more alerts</a> for free."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:185
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:190
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:14
msgid "Wish"
@@ -4345,7 +4501,7 @@ msgstr ""
msgid "With request searches, it is also possible to search for agency_responsible to limit the requests to those sent to a single administration. The search term is the administration ID provided by <a href=\"%s\">MaPit</a>."
msgstr "Com o pedido de pesquisa, também é possível pesquisar agency_responsavel para limitar as solicitações às enviados para uma única administração. O termo de pesquisa é a identificação de administração fornecidos pela <a href=\"%s\"> MapIt </a>."
-#: templates/web/base/front/footer-marketing.html:17
+#: templates/web/base/front/footer-marketing.html:3
msgid "Would you like to contribute to FixMyStreet? Our code is open source and <a href=\"http://fixmystreet.org\">available at fixmystreet.org</a>."
msgstr ""
@@ -4370,23 +4526,22 @@ msgstr ""
msgid "Year"
msgstr "Ano"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1202
+#: perllib/FixMyStreet/Cobrand/Default.pm:1236
#: templates/web/base/admin/bodies.html:70
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
#: templates/web/base/admin/category_edit.html:5
#: templates/web/base/admin/flagged.html:47
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:136
+#: templates/web/base/admin/report_edit.html:124
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:25
#: templates/web/base/admin/users.html:32
#: templates/web/base/questionnaire/creator_fixed.html:14
#: templates/web/base/questionnaire/index.html:104
#: templates/web/base/questionnaire/index.html:53
+#: templates/web/base/report/_inspect.html:90
msgid "Yes"
msgstr "Sim"
@@ -4399,7 +4554,7 @@ msgstr "Sim, tenho uma password"
msgid "You are complaining that this problem report was unnecessarily moderated:"
msgstr ""
-#: templates/web/base/js/translation_strings.html:70
+#: templates/web/base/js/translation_strings.html:73
msgid "You are offline"
msgstr ""
@@ -4420,7 +4575,11 @@ msgstr "Você pode <a href=\"%s%s\"> ver o problema neste site </a>."
msgid "You can add an abusive user's email to the abuse list, which automatically hides (and never sends) reports they create."
msgstr ""
-#: templates/web/base/contact/index.html:111
+#: templates/web/base/alert/_list.html:18
+msgid "You can choose to subscribe to all problems reported in an area, or reports based on their destination."
+msgstr ""
+
+#: templates/web/base/contact/index.html:115
msgid "You can contact technical support on <a href='mailto:%s'>%s</a>"
msgstr ""
@@ -4438,7 +4597,7 @@ msgstr ""
msgid "You can help us by finding a contact email address for local problems for %s and emailing it to us at <a href='mailto:%s'>%s</a>."
msgstr "Você pode nos ajudar a encontrar um endereço de e-mail de contato para os problemas locais para %s e e-mail para nós em <a href='mailto:%s'>%s</a>."
-#: templates/web/base/admin/body-form.html:91
+#: templates/web/base/admin/body-form.html:93
msgid "You can mark a body as deleted if you do not want it to be active on the site."
msgstr ""
@@ -4446,7 +4605,7 @@ msgstr ""
msgid "You declined; please fill in the box above"
msgstr "Você recusou, por favor preencha o quadro de cima"
-#: templates/web/base/js/translation_strings.html:72
+#: templates/web/base/js/translation_strings.html:75
msgid "You have <a id=\"oFN\" href=\"\"><span>%s</span> saved to submit</a>."
msgstr ""
@@ -4454,7 +4613,7 @@ msgstr ""
msgid "You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"
msgstr "Você já respondeu a este questionário. Se você tem uma pergunta, por favor <a href='%s'> entrar em contato </a>, ou <a href='%s'> ver o seu problema </a>. \n"
-#: templates/web/base/report/new/form_report.html:37
+#: templates/web/base/report/new/form_report.html:39
#: templates/web/zurich/report/new/fill_in_details_form.html:30
msgid "You have already attached photos to this report. Note that you can attach a maximum of 3 to this report (if you try to upload more, the oldest will be removed)."
msgstr ""
@@ -4512,10 +4671,9 @@ msgstr "Os meus relatórios"
msgid "Your account"
msgstr ""
-#: templates/web/base/alert/_list.html:90
#: templates/web/base/alert/updates.html:19
#: templates/web/base/alert/updates.html:22
-#: templates/web/base/contact/index.html:81
+#: templates/web/base/contact/index.html:80
#: templates/web/base/report/display_tools.html:46
#: templates/web/base/report/display_tools.html:49
#: templates/web/base/report/new/form_user_loggedout_email.html:1
@@ -4525,7 +4683,7 @@ msgid "Your email"
msgstr "O seu e-mail"
#: templates/web/base/auth/change_email.html:9
-#: templates/web/base/auth/general.html:55
+#: templates/web/base/auth/general.html:57
#: templates/web/base/report/update/form_user_loggedout_email.html:5
#: templates/web/zurich/auth/general.html:30
#: templates/web/zurich/auth/general.html:58
@@ -4536,21 +4694,32 @@ msgstr "O seu endereço de email"
msgid "Your information will only be used in accordance with our <a href=\"/privacy\">privacy policy</a>"
msgstr "Suas informações só serão utilizadas de acordo com nossa <a href=\"/privacy\"> política de privacidade </a>"
-#: templates/web/base/auth/general.html:107
+#: templates/web/base/auth/general.html:109
#: templates/web/base/contact/index.html:74
#: templates/web/base/report/new/form_user_loggedout_by_email.html:17
-#: templates/web/base/report/update/form_name.html:29
+#: templates/web/base/report/update/form_name.html:33
#: templates/web/zurich/auth/general.html:61
#: templates/web/zurich/report/new/fill_in_details_form.html:63
msgid "Your name"
msgstr "Nome"
-#: templates/web/base/js/translation_strings.html:62
-#, fuzzy
+#: templates/web/base/my/anonymize.html:13
+msgid "Your name has already been sent to %s, but we can hide it on this page:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:264
+msgid "Your name has been hidden from all your reports and updates."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:260
+msgid "Your name has been hidden."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:65
msgid "Your offline reports"
-msgstr "Os meus relatórios"
+msgstr ""
-#: templates/web/base/auth/general.html:85
+#: templates/web/base/auth/general.html:87
#: templates/web/base/report/new/form_user_loggedout_password.html:10
#: templates/web/base/report/update/form_user_loggedout_password.html:9
#: templates/web/zurich/auth/general.html:34
@@ -4561,6 +4730,7 @@ msgstr "Password"
msgid "Your password has been changed"
msgstr "Sua password foi alterada"
+#: templates/web/base/contact/index.html:87
#: templates/web/base/report/new/form_user_loggedout_by_email.html:26
#: templates/web/zurich/report/new/fill_in_details_form.html:69
msgid "Your phone number"
@@ -4579,7 +4749,7 @@ msgstr "Os meus relatórios"
msgid "Your shortlist"
msgstr ""
-#: templates/web/base/js/translation_strings.html:63
+#: templates/web/base/js/translation_strings.html:66
msgid "Your update has been saved offline for submission when back online."
msgstr ""
@@ -4587,8 +4757,8 @@ msgstr ""
msgid "Your updates"
msgstr "Suas atualizações"
-#: templates/web/base/report/new/form_user_loggedin.html:18
-#: templates/web/base/report/update/form_name.html:11
+#: templates/web/base/report/new/form_user_loggedin.html:19
+#: templates/web/base/report/update/form_name.html:12
msgid "Yourself"
msgstr ""
@@ -4597,14 +4767,14 @@ msgstr ""
msgid "all"
msgstr ""
+#: perllib/FixMyStreet/DB/Result/Comment.pm:259
+msgid "and a defect raised"
+msgstr ""
+
#: templates/web/base/admin/timeline.html:4
msgid "by %s"
msgstr "por %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:290
-msgid "closed as a duplicate report"
-msgstr ""
-
#: templates/web/base/reports/body.html:6
#: templates/web/base/reports/body.html:7
msgid "council"
@@ -4629,7 +4799,7 @@ msgstr ""
msgid "from %s different users"
msgstr "e %s usuários diferentes"
-#: templates/web/base/report/_item.html:61
+#: templates/web/base/report/_item.html:63
#: templates/web/zurich/report/_item.html:14
msgid "last updated %s"
msgstr "Última atualizada %s"
@@ -4638,44 +4808,7 @@ msgstr "Última atualizada %s"
msgid "less than a minute"
msgstr "menos de um minuto"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:280
-msgid "marked as action scheduled"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:292
-msgid "marked as an internal referral"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:282
-msgid "marked as closed"
-msgstr "marcados como fechados"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:263
-#: perllib/FixMyStreet/DB/Result/Comment.pm:284
-msgid "marked as fixed"
-msgstr "marcado como fixo"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:278
-msgid "marked as in progress"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:274
-msgid "marked as investigating"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:286
-msgid "marked as no further action"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:288
-msgid "marked as not the council's responsibility"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:276
-msgid "marked as planned"
-msgstr ""
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:122
+#: perllib/FixMyStreet/App/Controller/Admin.pm:119
#: templates/web/base/admin/questionnaire.html:15
#: templates/web/base/admin/questionnaire.html:16
msgid "n/a"
@@ -4686,14 +4819,10 @@ msgstr "n / a"
msgid "none"
msgstr ""
-#: templates/web/base/admin/category_edit.html:35
-msgid "optional"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:278
+msgid "not the council's responsibility"
msgstr ""
-#: templates/web/base/alert/_list.html:86
-msgid "or"
-msgstr "ou"
-
#: templates/web/base/js/translation_strings.html:27
msgid "or locate me automatically"
msgstr "ou localizár-me automaticamente"
@@ -4717,16 +4846,7 @@ msgstr "originalmente introduzido: \"%s\""
msgid "other areas:"
msgstr "outras áreas:"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:265
-#: perllib/FixMyStreet/DB/Result/Comment.pm:271
-msgid "reopened"
-msgstr "reaberto"
-
-#: templates/web/base/admin/category_edit.html:35
-msgid "required"
-msgstr ""
-
-#: templates/web/zurich/footer.html:13
+#: templates/web/zurich/footer.html:12
msgid "sign out"
msgstr "sair"
@@ -4734,11 +4854,16 @@ msgstr "sair"
msgid "the local council"
msgstr "o município local"
-#: templates/web/base/report/_report_meta_info.html:2
+#: templates/web/base/report/_report_meta_info.html:5
#: templates/web/zurich/report/_main.html:5
msgid "there is no pin shown as the user did not use the map"
msgstr "não há nenhum fix pin para o usuario usar no mapa"
+#: templates/web/base/alert/_list.html:1
+#, fuzzy
+msgid "this location"
+msgstr "Visualizando um local"
+
#: perllib/FixMyStreet/Script/Reports.pm:184
msgid "this type of local problem"
msgstr "este tipo de problema local"
@@ -4747,15 +4872,13 @@ msgstr "este tipo de problema local"
msgid "today"
msgstr "de hoje"
-#: templates/web/base/js/translation_strings.html:73
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:76
msgid "update"
-msgstr "Actualizar"
+msgstr ""
-#: templates/web/base/js/translation_strings.html:74
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:77
msgid "updates"
-msgstr "Actualizaçoes"
+msgstr ""
#: templates/web/base/admin/report_edit.html:52
msgid "used map"
@@ -4803,11 +4926,11 @@ msgstr[0] "%d minuto"
msgstr[1] "%d minutos"
#: perllib/Utils.pm:246
-#, fuzzy, perl-format
+#, perl-format
msgid "%d month"
msgid_plural "%d months"
-msgstr[0] "%d minuto"
-msgstr[1] "%d minutos"
+msgstr[0] ""
+msgstr[1] ""
#: templates/web/base/report/_support.html:6
#, perl-format
@@ -4830,6 +4953,41 @@ msgid_plural "%d years"
msgstr[0] ""
msgstr[1] ""
+#: templates/web/base/reports/index.html:92
+#, perl-format
+msgid "%s day"
+msgid_plural "%s days"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:55
+#, perl-format
+msgid "%s problem marked as fixed"
+msgid_plural "%s problems marked as fixed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:43
+#, perl-format
+msgid "%s problem reported"
+msgid_plural "%s problems reported"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:107
+#, perl-format
+msgid "%s report"
+msgid_plural "%s reports"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:49
+#, perl-format
+msgid "%s update on problems"
+msgid_plural "%s updates on problems"
+msgstr[0] ""
+msgstr[1] ""
+
#: templates/web/base/front/stats.html:19
#, perl-format
msgid "<big>%s</big> fixed in past month"
@@ -4858,12 +5016,12 @@ msgid_plural "<big>%s</big> updates on reports"
msgstr[0] "<big>%s</big> atualização em relatório"
msgstr[1] "<big>%s</big>Atualização dos relatórios"
-#: templates/web/base/report/_item.html:49
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:51
+#, perl-format
msgid "Reported %d day ago"
msgid_plural "Reported %d days ago"
-msgstr[0] "Relatado por %s em %s"
-msgstr[1] "Relatado por %s em %s"
+msgstr[0] ""
+msgstr[1] ""
#: templates/web/base/report/new/top_message_some.html:3
#, perl-format
@@ -4879,32 +5037,85 @@ msgid_plural "We do not yet have details for the councils that cover this locati
msgstr[0] "Nós ainda não temos detalhes para o conselho, que abrange este local."
msgstr[1] "Nós ainda não temos detalhes sobre o concelho, abrangido por este local."
-#: templates/web/base/report/_item.html:59
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:61
+#, perl-format
msgid "last updated %d day ago"
msgid_plural "last updated %d days ago"
-msgstr[0] "Última atualizada %s"
-msgstr[1] "Última atualizada %s"
+msgstr[0] ""
+msgstr[1] ""
#: templates/email/oxfordshire/archive.txt:9
-#, fuzzy, perl-format
+#, perl-format
msgid "report"
msgid_plural "reports"
-msgstr[0] "Relatórios"
-msgstr[1] "Relatórios"
+msgstr[0] ""
+msgstr[1] ""
-#, fuzzy
-#~ msgid "All inspectors"
-#~ msgstr "Todos os Relatórios"
+#~ msgid "%s ward, %s"
+#~ msgstr "%s ala, %s"
-#, fuzzy
-#~ msgid "Report category:"
-#~ msgstr "Criar uma categoria"
+#~ msgid "%s, within %s ward"
+#~ msgstr "%s, %s dentro da ala"
-#, fuzzy
-#~ msgid "Reported %d days ago"
-#~ msgstr "Relatado por %s em %s"
+#~ msgid "(alternatively the RSS feed can be customised, within %s)"
+#~ msgstr "(alternativamente, o feed RSS pode ser personalizado, dentro de %s)"
-#, fuzzy
-#~ msgid "last updated %d days ago"
-#~ msgstr "Última atualizada %s"
+#~ msgid "-- Pick a property type --"
+#~ msgstr "-- Escolha um tipo de categoria --"
+
+#~ msgid "Closed reports"
+#~ msgstr "relatórios fechados"
+
+#~ msgid "Closed:"
+#~ msgstr "Fechado"
+
+#~ msgid "Duplicate"
+#~ msgstr "Duplicar"
+
+#~ msgid "Fixed reports"
+#~ msgstr "relatórios corrigidos"
+
+#~ msgid "Fixed:"
+#~ msgstr "Corrigido:"
+
+#~ msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
+#~ msgstr "Aqui estão os tipos de alertas de problemas locais para relatar fixed; %s';."
+
+#~ msgid "In Progress"
+#~ msgstr "Em andamento"
+
+#~ msgid "Investigating"
+#~ msgstr "Investigando"
+
+#~ msgid "No further action"
+#~ msgstr "Incapaz de ser resolvido"
+
+#~ msgid "Not Responsible"
+#~ msgstr "Nao responsavel"
+
+#~ msgid "Or problems reported to:"
+#~ msgstr "Ou os problemas relatados para:"
+
+#~ msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
+#~ msgstr "Ou você pode se inscrever em um alerta baseado no que ala, zona ou concelho você está inserido"
+
+#~ msgid "Please choose a property type"
+#~ msgstr "Por favor, escolha um tipo de imóvel"
+
+#~ msgid "Problems within the boundary of:"
+#~ msgstr "Problemas dentro do limite de:"
+
+#~ msgid "The simplest alert is our geographic one:"
+#~ msgstr "O alerta mais simples é o nosso único ponto localizaçao geográfica:"
+
+#~ msgid "marked as closed"
+#~ msgstr "marcados como fechados"
+
+#~ msgid "marked as fixed"
+#~ msgstr "marcado como fixo"
+
+#~ msgid "or"
+#~ msgstr "ou"
+
+#~ msgid "reopened"
+#~ msgstr "reaberto"
diff --git a/locale/ro_RO.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/ro_RO.UTF-8/LC_MESSAGES/FixMyStreet.po
index 8e4776db9..c61e5df0b 100644
--- a/locale/ro_RO.UTF-8/LC_MESSAGES/FixMyStreet.po
+++ b/locale/ro_RO.UTF-8/LC_MESSAGES/FixMyStreet.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
-"POT-Creation-Date: 2017-03-30 17:33+0100\n"
+"POT-Creation-Date: 2017-09-13 15:40+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: mySociety <transifex@mysociety.org>, 2016\n"
+"Last-Translator: mySociety <transifex@mysociety.org>, 2017\n"
"Language-Team: Romanian (Romania) (https://www.transifex.com/mysociety/teams/12067/ro_RO/)\n"
"Language: ro_RO\n"
"MIME-Version: 1.0\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:695
+#: perllib/FixMyStreet/DB/Result/Problem.pm:632
#: perllib/FixMyStreet/Script/Reports.pm:197
msgid " and "
msgstr "ÅŸi"
@@ -91,25 +91,6 @@ msgstr "%s chestionare trimise &ndash; %s completate (%s%%)"
msgid "%s ref:&nbsp;%s"
msgstr "%s ref:&nbsp;%s"
-#. ("%s is the site name")
-#: templates/web/base/alert/_list.html:74
-msgid ""
-"%s sends different categories of problem\n"
-"to the appropriate council, so problems within the boundary of a particular council\n"
-"might not match the problems sent to that council. For example, a graffiti report\n"
-"will be sent to the district council, so will appear in both of the district\n"
-"council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
-"for the county council."
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:257 perllib/FixMyStreet/Cobrand/UK.pm:269
-msgid "%s ward, %s"
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
-msgid "%s, within %s ward"
-msgstr ""
-
#: perllib/FixMyStreet/Map/OSM.pm:38
msgid "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"
msgstr ""
@@ -118,7 +99,7 @@ msgstr ""
msgid "(Defect &amp; location of defect)"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
#: templates/web/base/admin/users.html:32
msgid "(Email in abuse table)"
msgstr ""
@@ -133,28 +114,36 @@ msgstr ""
msgid "(No phone number)"
msgstr ""
-#: templates/web/base/alert/_list.html:25
-msgid "(a default distance which covers roughly 200,000 people)"
-msgstr "(o distanță implicită ce acoperă în jur de 200 000 de locuitori)"
-
-#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
-#: templates/web/base/alert/_list.html:30
-msgid "(alternatively the RSS feed can be customised, within %s)"
+#: templates/web/base/admin/states/index.html:95
+msgid "(a-z and space only)"
msgstr ""
#: templates/web/zurich/report/_item.html:19
msgid "(closed)"
msgstr "(închis)"
+#: templates/web/base/alert/_list.html:30
+#, fuzzy
+msgid "(covers roughly 200,000 people)"
+msgstr "(o distanță implicită ce acoperă în jur de 200 000 de locuitori)"
+
#: templates/web/zurich/report/_item.html:17
msgid "(fixed)"
msgstr "(rezolvat)"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "(ignored if type is \"String\")"
+msgstr ""
+
#: templates/web/base/around/intro.html:2
msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
msgstr "(cum ar fi graffiti, gunoaie depozitate ilegal, pavaj spart sau iluminat stradal)"
-#: templates/web/base/report/_item.html:68
+#: templates/web/base/reports/index.html:69
+msgid "(no longer exists)"
+msgstr ""
+
+#: templates/web/base/report/_item.html:70
msgid "(not sent to council)"
msgstr "(netrimis)"
@@ -162,20 +151,21 @@ msgstr "(netrimis)"
msgid "(optional)"
msgstr "(opțional)"
-#: templates/web/base/report/_item.html:67
+#: templates/web/base/report/_item.html:69
msgid "(sent to both)"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:239
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/DB/Result/Problem.pm:454
+#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
+#: templates/web/base/alert/_list.html:36
+msgid "(we also have RSS feeds for problems within %s)"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:245
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:381
msgid "-- Pick a category --"
msgstr "-- Alege o categorie --"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:460
-msgid "-- Pick a property type --"
-msgstr "-- Alege un tip de proprietate --"
-
#: templates/web/base/admin/response_templates_select.html:3
msgid "--Choose a template--"
msgstr ""
@@ -184,16 +174,16 @@ msgstr ""
msgid "10 inch pothole on Example St, near post box"
msgstr ""
-#: templates/web/base/dashboard/index.html:152
+#: templates/web/base/dashboard/index.html:153
msgid "14-30 days old"
msgstr ""
-#: templates/web/base/dashboard/index.html:151
+#: templates/web/base/dashboard/index.html:152
msgid "7-14 days old"
msgstr ""
-#: templates/web/base/admin/body-form.html:48
-#: templates/web/base/admin/body-form.html:49
+#: templates/web/base/admin/body-form.html:50
+#: templates/web/base/admin/body-form.html:51
msgid ""
"<code>MAPIT_URL</code> is set (<code>%s</code>) but no <code>MAPIT_TYPES</code>.<br>\n"
" This is probably why \"area covered\" is empty (below).<br>\n"
@@ -204,13 +194,12 @@ msgstr ""
msgid "<h2>Reports, Statistics and Actions for</h2> <h1>%s</h1>"
msgstr ""
-#. ('The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories')
#. ("The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories")
-#: templates/web/base/reports/_list-filters.html:37
-msgid "<label for=\"statuses\">Show</label> %s <label for=\"filter_categories\">about</label> %s"
+#: templates/web/base/reports/_list-filters.html:48
+msgid "<label for=\"statuses\">Show</label> %s reports <label for=\"filter_categories\">about</label> %s"
msgstr ""
-#: templates/web/base/js/translation_strings.html:71
+#: templates/web/base/js/translation_strings.html:74
msgid "<span>%s</span> saved."
msgstr ""
@@ -227,34 +216,25 @@ msgstr ""
msgid "<strong>No</strong> Let me confirm my update by email"
msgstr ""
-#: templates/web/base/auth/general.html:104
+#: templates/web/base/auth/general.html:106
#: templates/web/zurich/auth/general.html:51
msgid "<strong>No</strong> let me sign in by email"
msgstr ""
-#: templates/web/base/report/_inspect.html:160
+#: templates/web/base/report/_inspect.html:170
msgid "<strong>Note:</strong> This report has been sent onwards for action. Any changes made won't be passed on."
msgstr ""
-#: templates/web/base/report/_inspect.html:162
+#: templates/web/base/report/_inspect.html:172
msgid "<strong>Note:</strong> This report hasn't yet been sent onwards for action. Any changes made may not be passed on."
msgstr ""
-#: templates/web/base/auth/general.html:80
+#: templates/web/base/auth/general.html:82
#: templates/web/base/report/new/form_user_loggedout_password.html:3
#: templates/web/base/report/update/form_user_loggedout_password.html:2
msgid "<strong>Yes</strong> I have a password"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:10
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:6
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Action Scheduled"
-msgstr ""
-
#: templates/web/base/admin/body-form.html:3
#: templates/web/base/admin/body-form.html:4
msgid ""
@@ -268,19 +248,36 @@ msgid "Add a contact using the form below."
msgstr ""
#: templates/web/base/admin/bodies.html:78
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Add body"
msgstr ""
+#: templates/web/base/admin/reportextrafields/index.html:24
+msgid "Add extra fields"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:79
+msgid "Add field"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:85
+msgid "Add fixed state"
+msgstr ""
+
#: templates/web/base/admin/body.html:126
#: templates/web/zurich/admin/body.html:31
msgid "Add new category"
msgstr "Adaugă o categorie nouă"
+#: templates/web/base/admin/extra-metadata-form.html:72
+#, fuzzy
+msgid "Add option"
+msgstr "(opțional)"
+
#: templates/web/base/report/_item.html:10
-#: templates/web/base/report/_item.html:14
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_item.html:16
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:19
#: templates/web/base/report/_main.html:30
msgid "Add to shortlist"
@@ -292,15 +289,15 @@ msgstr ""
msgid "Add user"
msgstr "Adaugă utilizator"
-#: perllib/FixMyStreet/Cobrand/Default.pm:730
+#: perllib/FixMyStreet/Cobrand/Default.pm:735
msgid "Add/edit problem categories"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:732
+#: perllib/FixMyStreet/Cobrand/Default.pm:737
msgid "Add/edit response priorities"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:731
+#: perllib/FixMyStreet/Cobrand/Default.pm:736
msgid "Add/edit response templates"
msgstr ""
@@ -308,7 +305,7 @@ msgstr ""
msgid "Added %s"
msgstr ""
-#: templates/web/base/report/_main.html:145
+#: templates/web/base/report/_main.html:149
msgid "Adding this report to your shortlist will remove it from %s’s shortlist."
msgstr ""
@@ -328,17 +325,17 @@ msgstr ""
msgid "Alert %d disabled (created %s)"
msgstr ""
-#: templates/web/base/report/update/form_name.html:38
+#: templates/web/base/report/update/form_name.html:42
msgid "Alert me to future updates"
msgstr ""
#: templates/web/base/dashboard/index.html:138
#: templates/web/base/dashboard/index.html:21
#: templates/web/base/dashboard/index.html:30
+#: templates/web/base/reports/_list-filters.html:3
msgid "All"
msgstr ""
-#: templates/web/base/reports/index.html:6
#: templates/web/zurich/reports/index.html:13
msgid "All Reports"
msgstr ""
@@ -348,15 +345,22 @@ msgid "All Reports as CSV"
msgstr ""
#: templates/web/base/admin/category-multiselect.html:5
-#: templates/web/base/admin/responsepriorities/list.html:19
+#: templates/web/base/admin/responsepriorities/list.html:20
msgid "All categories"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:26
+msgid "All cobrands"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:47
+msgid "All languages"
+msgstr ""
+
#: templates/web/base/main_nav_items.html:0
#: templates/web/base/main_nav_items.html:27
-#: templates/web/base/reports/_list-filters.html:3
#: templates/web/zurich/admin/index-dm.html:12
-#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:21
+#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:20
#: templates/web/zurich/nav_over_content.html:6
msgid "All reports"
msgstr ""
@@ -366,6 +370,14 @@ msgstr ""
msgid "All reports between %s and %s"
msgstr ""
+#: templates/web/base/reports/index.html:23
+msgid "All time"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:20
+msgid "Alternatively, we can hide your name on <strong>all of your reports and updates</strong> across the site:"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:47
msgid "An update marked this problem as fixed."
msgstr ""
@@ -375,31 +387,32 @@ msgstr ""
msgid "Anonymous"
msgstr ""
-#: templates/web/base/admin/report_edit.html:134
+#: templates/web/base/report/new/form_user_loggedin.html:21
+#: templates/web/base/report/update/form_name.html:17
+msgid "Anonymous user"
+msgstr ""
+
+#: templates/web/base/admin/report_edit.html:122
#: templates/web/base/admin/update_edit.html:23
msgid "Anonymous:"
msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:20
-#: templates/web/base/report/update/form_name.html:13
+#: templates/web/base/report/new/form_user_loggedin.html:24
+#: templates/web/base/report/update/form_name.html:14
msgid "Another user"
msgstr ""
-#: templates/web/base/front/footer-marketing.html:16
-msgid "Are you a developer?"
-msgstr ""
-
-#: templates/web/base/js/translation_strings.html:56
+#: templates/web/base/js/translation_strings.html:59
msgid "Are you sure you want to cancel this upload?"
msgstr ""
#: templates/web/base/admin/report_edit.html:84
-#: templates/web/base/js/translation_strings.html:66
+#: templates/web/base/js/translation_strings.html:69
#: templates/web/base/report/display_tools.html:6
msgid "Are you sure?"
msgstr ""
-#: templates/web/base/admin/body-form.html:75
+#: templates/web/base/admin/body-form.html:77
#: templates/web/base/admin/body.html:20
#: templates/web/zurich/admin/body-form.html:24
msgid "Area covered"
@@ -431,11 +444,11 @@ msgstr ""
msgid "Assign to subdivision:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:727
+#: perllib/FixMyStreet/Cobrand/Default.pm:732
msgid "Assign users to areas"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:214
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:219
msgid "Assigned to %s"
msgstr ""
@@ -456,11 +469,14 @@ msgstr ""
msgid "Auto-response:"
msgstr ""
-#: templates/web/base/admin/report_edit.html:127
-#: templates/web/base/report/_inspect.html:47
+#: templates/web/base/admin/report-category.html:8
msgid "Available categories"
msgstr ""
+#: templates/web/base/reports/index.html:84
+msgid "Average time between a problem being reported and being fixed, last 100 reports."
+msgstr ""
+
#: templates/web/base/dashboard/index.html:109
msgid "Average time to council marking fixed (days)"
msgstr ""
@@ -473,7 +489,7 @@ msgstr ""
msgid "Avoid personal information and vehicle number plates"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:417
+#: perllib/FixMyStreet/DB/Result/Problem.pm:344
#: templates/web/zurich/report/_item.html:9
msgid "Awaiting moderation"
msgstr ""
@@ -486,13 +502,13 @@ msgstr ""
msgid "Back to all reports"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
msgid "Ban email address"
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:650
-#: perllib/FixMyStreet/Cobrand/Default.pm:729
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
+#: perllib/FixMyStreet/Cobrand/Default.pm:734
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:396
#: templates/web/base/admin/bodies.html:1
#: templates/web/base/admin/report_edit.html:55
#: templates/web/zurich/header.html:56
@@ -514,7 +530,11 @@ msgstr ""
msgid "By Date"
msgstr ""
-#: templates/web/base/auth/token.html:21 templates/web/base/email_sent.html:18
+#: templates/web/base/admin/extra-metadata-form.html:36
+msgid "Can be used to display extra text to the user alongside the field. The default template does not show this (<code>meta.datatype_description</code>), you must add it in <code>category_extras_fields.html</code>"
+msgstr ""
+
+#: templates/web/base/auth/token.html:27 templates/web/base/email_sent.html:20
msgid "Can&rsquo;t find our email? Check your spam folder&nbsp;&ndash; that&rsquo;s the solution 99% of the time."
msgstr ""
@@ -535,8 +555,8 @@ msgstr ""
#: templates/web/base/admin/body.html:72
#: templates/web/base/admin/contact-form.html:19
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/report/_inspect.html:38
-#: templates/web/base/report/_item.html:90
+#: templates/web/base/report/_inspect.html:48
+#: templates/web/base/report/_item.html:92
#: templates/web/base/report/new/category.html:6
#: templates/web/base/report/new/category_wrapper.html:3
#: templates/web/zurich/admin/body.html:14
@@ -547,7 +567,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:852
+#: perllib/FixMyStreet/App/Controller/Admin.pm:956
msgid "Category changed from ‘%s’ to ‘%s’"
msgstr ""
@@ -587,23 +607,11 @@ msgstr ""
msgid "Change password"
msgstr ""
-#: templates/web/base/admin/contact-form.html:41
-msgid ""
-"Check <strong>confirmed</strong> to indicate that this contact has been confirmed as correct.\n"
-" If you are not sure of the origin or validity of the contact, leave this unchecked."
-msgstr ""
-
-#: templates/web/base/admin/contact-form.html:52
-msgid ""
-"Check <strong>deleted</strong> to remove the category from use. \n"
-" It will not appear as an available category in the drop-down menu on the report-a-problem page."
-msgstr ""
-
-#: templates/web/base/admin/contact-form.html:79
+#: templates/web/base/admin/contact-form.html:80
msgid "Check <strong>inspection required</strong> if reports in this category <strong>must be inspected</strong> before being sent."
msgstr ""
-#: templates/web/base/admin/contact-form.html:63
+#: templates/web/base/admin/contact-form.html:64
msgid ""
"Check <strong>private</strong> if reports in this category should <strong>never be displayed on the website</strong>.\n"
" <br>\n"
@@ -620,11 +628,11 @@ msgid ""
" to the body too. These will appear in the drop-down menu on the report-a-problem page."
msgstr ""
-#: templates/web/base/report/_inspect.html:93
+#: templates/web/base/report/_inspect.html:103
msgid "Choose another"
msgstr ""
-#: templates/web/base/js/translation_strings.html:65
+#: templates/web/base/js/translation_strings.html:68
msgid "Clear offline data"
msgstr ""
@@ -649,21 +657,21 @@ msgstr ""
msgid "Click the link in our confirmation email to publish your update."
msgstr ""
-#: templates/web/base/auth/token.html:18
+#: templates/web/base/auth/token.html:23
msgid "Click the link in our confirmation email to sign in."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:189
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:960
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:17
-#: templates/web/base/admin/report_blocks.html:27
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:43
-#: templates/web/base/report/banner.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:18
+#: templates/web/base/auth/token.html:20
+msgid "Click the link in that email to sign in."
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:134
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:194
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:965
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:11
+#: templates/web/base/admin/states/index.html:103
+#: templates/web/base/admin/states/index.html:27
+#: templates/web/base/admin/states/index.html:33
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:10
#: templates/web/zurich/admin/header.html:16
@@ -671,23 +679,17 @@ msgstr ""
msgid "Closed"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:889
+#: perllib/FixMyStreet/DB/Result/Problem.pm:826
msgid "Closed by council"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:13
-msgid "Closed reports"
-msgstr ""
-
-#: templates/web/base/admin/problem_row.html:38
-msgid "Closed:"
-msgstr ""
-
#: templates/web/base/admin/report_edit.html:37
msgid "Co-ordinates:"
msgstr ""
#: templates/web/base/admin/list_updates.html:10
+#: templates/web/base/admin/reportextrafields/edit.html:24
+#: templates/web/base/admin/reportextrafields/index.html:7
msgid "Cobrand"
msgstr ""
@@ -701,6 +703,10 @@ msgstr ""
msgid "Cobrand:"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:14
+msgid "Code"
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:50
msgid "Collapse map"
msgstr ""
@@ -731,9 +737,8 @@ msgstr ""
msgid "Confirmation"
msgstr ""
-#: templates/web/base/admin/body.html:85
-#: templates/web/base/admin/category_edit.html:54
-#: templates/web/base/admin/contact-form.html:47
+#: templates/web/base/admin/contact-form.html:56
+#: templates/web/zurich/admin/contact-form.html:12
#: templates/web/zurich/admin/stats.html:40
msgid "Confirmed"
msgstr ""
@@ -768,8 +773,8 @@ msgstr ""
msgid "Coordinates:"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1668
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1696
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1773
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1801
msgid "Could not find user"
msgstr ""
@@ -789,33 +794,28 @@ msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:83
-#, fuzzy
msgid "Council has marked as closed"
-msgstr "marcat ca închis"
+msgstr ""
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:57
-#, fuzzy
msgid "Council has marked as fixed"
-msgstr "marcat ca rezolvat"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:80
-#, fuzzy
msgid "Council has marked as in progress"
-msgstr "marcat ca fiind în curs de desfăşurare"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:82
-#, fuzzy
msgid "Council has marked as investigating"
-msgstr "marcat ca fiind în curs de cercetare"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:81
-#, fuzzy
msgid "Council has marked as planned"
-msgstr "marcat ca planificat"
+msgstr ""
#: templates/web/base/report/_council_sent_info.html:6
msgid "Council ref:&nbsp;%s"
@@ -832,24 +832,32 @@ msgstr ""
msgid "Count"
msgstr ""
+#: templates/web/base/admin/states/index.html:114
+msgid "Create"
+msgstr ""
+
#: templates/web/base/email_sent.html:1
msgid "Create a report"
msgstr ""
-#: templates/web/base/admin/contact-form.html:137
+#: templates/web/base/admin/contact-form.html:138
#: templates/web/zurich/admin/body.html:62
msgid "Create category"
msgstr ""
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/responsepriorities/edit.html:58
msgid "Create priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:714
+#: perllib/FixMyStreet/Cobrand/Default.pm:718
+msgid "Create reports/updates as anonymous user"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:719
msgid "Create reports/updates as the council"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:713
+#: perllib/FixMyStreet/Cobrand/Default.pm:717
msgid "Create reports/updates on a user's behalf"
msgstr ""
@@ -879,13 +887,15 @@ msgstr ""
msgid "Currently no bodies have been created."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:825
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:830
#: templates/web/zurich/admin/report_edit-sdm.html:105
msgid "Customer not contactable"
msgstr ""
#: templates/web/base/dashboard/index.html:5
#: templates/web/base/dashboard/index.html:7
+#: templates/web/base/reports/index.html:15
+#: templates/web/base/reports/index.html:18
msgid "Dashboard"
msgstr ""
@@ -893,29 +903,36 @@ msgstr ""
msgid "Dealt with by subdivision within 5 working days"
msgstr ""
-#: templates/web/base/report/_inspect.html:73
+#: templates/web/base/admin/responsepriorities/list.html:9
+msgid "Default"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:39
+msgid "Default priority"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:72
msgid "Defect type"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:973
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1078
#: templates/web/base/admin/template_edit.html:50
#: templates/web/zurich/admin/template_edit.html:33
msgid "Delete template"
msgstr ""
#: templates/web/base/admin/bodies.html:31
-#: templates/web/base/admin/body.html:87
-#: templates/web/base/admin/category_edit.html:55
#: templates/web/base/admin/contact-form.html:58
-#: templates/web/zurich/admin/contact-form.html:12
+#: templates/web/zurich/admin/contact-form.html:13
msgid "Deleted"
msgstr ""
-#: templates/web/base/report/_main.html:110
-#: templates/web/base/report/update.html:59
+#: templates/web/base/report/_main.html:114
+#: templates/web/base/report/update.html:68
msgid "Describe why you are moderating this"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:32
#: templates/web/base/admin/responsepriorities/list.html:7
#: templates/web/zurich/admin/index-dm.html:22
#: templates/web/zurich/admin/index-sdm.html:20
@@ -939,7 +956,7 @@ msgstr ""
msgid "Details:"
msgstr ""
-#: templates/web/base/admin/body.html:93
+#: templates/web/base/admin/body.html:92
msgid "Devolved"
msgstr ""
@@ -952,8 +969,8 @@ msgstr ""
msgid "Diligency prize league table"
msgstr ""
-#: templates/web/base/report/_main.html:114
-#: templates/web/base/report/update.html:61
+#: templates/web/base/report/_main.html:118
+#: templates/web/base/report/update.html:70
msgid "Discard changes"
msgstr ""
@@ -962,7 +979,7 @@ msgid "Do not send email alerts on fetched comments to problem creator"
msgstr ""
#. ("%s is the site name")
-#: templates/web/base/auth/general.html:58
+#: templates/web/base/auth/general.html:60
#: templates/web/base/report/new/form_user_loggedout.html:25
#: templates/web/base/report/new/oauth_email_form.html:18
#: templates/web/base/report/update-form.html:30
@@ -970,36 +987,31 @@ msgstr ""
msgid "Do you have a %s password?"
msgstr ""
+#: templates/web/base/report/_inspect.html:87
+msgid "Do you want to automatically raise a defect?"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:57
msgid "Don&rsquo;t know"
msgstr ""
-#: templates/web/base/contact/index.html:108
+#: templates/web/base/contact/index.html:112
msgid "Don't like forms?"
msgstr ""
-#: templates/web/base/report/_item.html:25
+#: templates/web/base/report/_item.html:27
msgid "Down one"
msgstr ""
-#: templates/web/base/js/translation_strings.html:55
+#: templates/web/base/js/translation_strings.html:58
msgid "Drag and drop photos here or <u>click to upload</u>"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:10
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "Duplicate"
-msgstr ""
-
-#: templates/web/base/report/_inspect.html:88
+#: templates/web/base/report/_inspect.html:98
msgid "Duplicate of"
msgstr ""
-#: templates/web/base/report/_inspect.html:98
+#: templates/web/base/report/_inspect.html:108
msgid "Duplicates"
msgstr ""
@@ -1011,43 +1023,43 @@ msgid ""
" "
msgstr ""
-#: templates/web/base/report/_inspect.html:16
-#: templates/web/base/report/_item.html:81
+#: templates/web/base/report/_inspect.html:26
+#: templates/web/base/report/_item.html:83
msgid "Easting/Northing:"
msgstr ""
#: templates/web/base/admin/list_updates.html:42
#: templates/web/base/admin/problem_row.html:41
-#: templates/web/base/admin/responsepriorities/list.html:26
+#: templates/web/base/admin/responsepriorities/list.html:28
#: templates/web/base/admin/templates.html:22
#: templates/web/base/admin/users.html:34
#: templates/web/zurich/admin/problem_row.html:48
msgid "Edit"
msgstr ""
-#: templates/web/base/admin/body.html:140
+#: templates/web/base/admin/body.html:141
#: templates/web/base/admin/index.html:39
#: templates/web/zurich/admin/body.html:69
msgid "Edit body details"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:724
+#: perllib/FixMyStreet/Cobrand/Default.pm:729
msgid "Edit other users' details"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:725
+#: perllib/FixMyStreet/Cobrand/Default.pm:730
msgid "Edit other users' permissions"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:708
+#: perllib/FixMyStreet/Cobrand/Default.pm:712
msgid "Edit report category"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:709
+#: perllib/FixMyStreet/Cobrand/Default.pm:713
msgid "Edit report priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:707
+#: perllib/FixMyStreet/Cobrand/Default.pm:711
msgid "Edit reports"
msgstr ""
@@ -1070,15 +1082,15 @@ msgstr ""
msgid "Editing user %d"
msgstr ""
-#: templates/web/base/admin/category_edit.html:56
+#: templates/web/base/admin/category_edit.html:30
msgid "Editor"
msgstr ""
#: templates/web/base/admin/bodies.html:27
-#: templates/web/base/admin/category_edit.html:53
+#: templates/web/base/admin/category_edit.html:28
#: templates/web/base/admin/flagged.html:38
#: templates/web/base/admin/users.html:17
-#: templates/web/base/auth/general.html:49
+#: templates/web/base/auth/general.html:51
#: templates/web/zurich/admin/body-form.html:9
#: templates/web/zurich/admin/body.html:15
#: templates/web/zurich/auth/general.html:24
@@ -1086,13 +1098,14 @@ msgstr ""
msgid "Email"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1644
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1749
msgid "Email added to abuse list"
msgstr ""
-#: templates/web/base/admin/contact-form.html:36
-#: templates/web/base/report/new/form_user_loggedin.html:28
-#: templates/web/base/report/update/form_name.html:19
+#: templates/web/base/admin/contact-form.html:38
+#: templates/web/base/alert/_list.html:74
+#: templates/web/base/report/new/form_user_loggedin.html:32
+#: templates/web/base/report/update/form_name.html:23
msgid "Email address"
msgstr ""
@@ -1104,11 +1117,11 @@ msgstr ""
msgid "Email alert deleted"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1641
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1746
msgid "Email already in abuse list"
msgstr ""
-#: templates/web/base/admin/report_edit.html:141
+#: templates/web/base/admin/report_edit.html:129
#: templates/web/base/admin/update_edit.html:35
#: templates/web/base/admin/user-form.html:19
#: templates/web/zurich/admin/body.html:48
@@ -1129,8 +1142,8 @@ msgid ""
" <a href='https://www.mysociety.org/2013/02/20/open311-extended/' class='admin-offsite-link'>this article</a>."
msgstr ""
-#: templates/web/base/admin/body-form.html:120
-#: templates/web/base/admin/body-form.html:121
+#: templates/web/base/admin/body-form.html:122
+#: templates/web/base/admin/body-form.html:123
msgid ""
"Enable this <strong>can be devolved</strong> setting if one or more contacts have a \n"
" different endpoint (and send method) from the body's. For example, if reports for some categories of\n"
@@ -1145,11 +1158,11 @@ msgstr ""
msgid "Endpoint"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:76
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:81
msgid "Enter a Z&uuml;rich street name"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:15
+#: perllib/FixMyStreet/Cobrand/UK.pm:16
msgid "Enter a nearby UK postcode, or street name and area"
msgstr ""
@@ -1158,12 +1171,13 @@ msgstr ""
msgid "Enter a nearby postcode, or street name and area"
msgstr ""
+#: perllib/FixMyStreet/Cobrand/DansMonQwat.pm:14
#: templates/web/base/around/postcode_form.html:5
#: templates/web/base/around/postcode_form.html:6
msgid "Enter a nearby street name and area"
msgstr ""
-#: templates/web/base/auth/general.html:116
+#: templates/web/base/auth/general.html:118
#: templates/web/base/report/new/form_user_loggedout_by_email.html:35
#: templates/web/base/report/update/form_user_loggedout_by_email.html:13
#: templates/web/zurich/auth/general.html:65
@@ -1183,8 +1197,8 @@ msgstr ""
msgid "Error"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:20
-#: templates/web/base/reports/_list-filters.html:28
+#: templates/web/base/reports/_list-filters.html:31
+#: templates/web/base/reports/_list-filters.html:39
msgid "Everything"
msgstr ""
@@ -1197,8 +1211,7 @@ msgstr ""
msgid "Examples:"
msgstr ""
-#: templates/web/base/admin/report_edit.html:122
-#: templates/web/base/report/_inspect.html:42
+#: templates/web/base/admin/report-category.html:3
msgid "Existing category"
msgstr ""
@@ -1206,16 +1219,16 @@ msgstr ""
msgid "Expand map"
msgstr ""
-#: templates/web/base/report/new/form_report.html:52
+#: templates/web/base/report/new/form_report.html:54
msgid "Explain what’s wrong"
msgstr ""
-#: templates/web/base/dashboard/index.html:146
+#: templates/web/base/dashboard/index.html:147
msgid "Export as CSV"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:913
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:179
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:12
msgid "Extern"
@@ -1226,7 +1239,7 @@ msgstr ""
msgid "External ID"
msgstr ""
-#: templates/web/base/admin/body-form.html:87
+#: templates/web/base/admin/body-form.html:89
msgid "External URL"
msgstr ""
@@ -1238,13 +1251,19 @@ msgstr ""
msgid "External team"
msgstr ""
-#: templates/web/base/admin/category_edit.html:25
+#: perllib/FixMyStreet/Cobrand/Default.pm:673
+#: templates/web/base/admin/reportextrafields/edit.html:1
+#: templates/web/base/admin/reportextrafields/index.html:1
+msgid "Extra Fields"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:141
#: templates/web/base/admin/report_edit.html:94
msgid "Extra data:"
msgstr ""
-#: templates/web/base/report/_inspect.html:134
-#: templates/web/base/report/_item.html:106
+#: templates/web/base/report/_inspect.html:144
+#: templates/web/base/report/_item.html:108
msgid "Extra details"
msgstr ""
@@ -1252,6 +1271,11 @@ msgstr ""
msgid "Failed to send message"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:58
+#: templates/web/base/admin/reportextrafields/index.html:9
+msgid "Fields"
+msgstr ""
+
#: templates/web/zurich/admin/index-dm.html:33
#: templates/web/zurich/admin/index-sdm.html:30
msgid "Filter report list"
@@ -1265,52 +1289,32 @@ msgstr ""
msgid "Fix this by choosing an <strong>area covered</strong> in the <em>Edit body details</em> form below."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:11
-#: templates/web/base/admin/report_blocks.html:26
+#: perllib/FixMyStreet/App/Controller/Admin/States.pm:35
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:133
+#: templates/web/base/admin/states/index.html:29
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:41
-#: templates/web/base/report/banner.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:17
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:45
msgid "Fixed"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:13
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:7
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:62
msgid "Fixed - Council"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:12
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:63
msgid "Fixed - User"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:14
-msgid "Fixed reports"
-msgstr ""
-
-#: templates/web/base/admin/problem_row.html:37
-msgid "Fixed:"
-msgstr ""
-
-#: templates/web/base/admin/body-form.html:95
-#: templates/web/base/admin/responsepriorities/edit.html:41
+#: templates/web/base/admin/body-form.html:97
+#: templates/web/base/admin/responsepriorities/edit.html:53
#: templates/web/zurich/admin/body-form.html:36
msgid "Flag as deleted"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/report_blocks.html:23
msgid "Flag user"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: perllib/FixMyStreet/Cobrand/Default.pm:644
#: templates/web/base/admin/users.html:20
msgid "Flagged"
msgstr ""
@@ -1327,7 +1331,7 @@ msgstr ""
msgid "Flagged users are not restricted in any way. This is just a list of users that have been marked for attention."
msgstr ""
-#: templates/web/base/admin/report_edit.html:147
+#: templates/web/base/admin/report_edit.html:135
#: templates/web/base/admin/user-form.html:100
msgid "Flagged:"
msgstr ""
@@ -1340,21 +1344,25 @@ msgstr ""
msgid "For best results include a close-up and a wide shot"
msgstr ""
-#: templates/web/base/admin/body-form.html:71
+#: templates/web/base/admin/extra-metadata-form.html:52
+msgid "For each option, <strong>Key</strong> is the value which is stored in the database for that option and <strong>Name</strong> is the value displayed to the user."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:73
msgid "For more information, see <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
msgstr ""
-#: templates/web/base/auth/general.html:95
+#: templates/web/base/auth/general.html:97
#: templates/web/base/report/new/form_user_loggedout_password.html:20
#: templates/web/base/report/update/form_user_loggedout_password.html:19
msgid "Forgotten your password?"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:743
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:748
msgid "Forwarded to external body"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:744
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:749
msgid "Forwarded wish to external body"
msgstr ""
@@ -1364,6 +1372,10 @@ msgstr ""
msgid "Frequently Asked Questions"
msgstr ""
+#: templates/web/base/admin/stats.html:102
+msgid "Get Count"
+msgstr ""
+
#: templates/web/base/around/_updates.html:3
#: templates/web/base/report/display_tools.html:14
msgid "Get updates"
@@ -1379,10 +1391,14 @@ msgstr ""
msgid "Get updates of problems in this %s"
msgstr ""
-#: templates/web/base/alert/_list.html:83
+#: templates/web/base/alert/_list.html:85
msgid "Give me an RSS feed"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:6
+msgid "Give this collection of fields a name. It is not shown publicly, just here in the admin."
+msgstr ""
+
#: templates/web/base/questionnaire/completed.html:14
msgid "Glad to hear it’s been fixed!"
msgstr ""
@@ -1392,8 +1408,9 @@ msgstr ""
#: templates/web/base/admin/index.html:49
#: templates/web/base/alert/index.html:34
#: templates/web/base/around/postcode_form.html:13
-#: templates/web/base/reports/_list-filters.html:38
-#: templates/web/base/reports/_list-filters.html:53
+#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:64
+#: templates/web/base/reports/index.html:75
#: templates/web/zurich/admin/stats.html:26
msgid "Go"
msgstr ""
@@ -1402,7 +1419,7 @@ msgstr ""
msgid "Going to send questionnaire?"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:726
+#: perllib/FixMyStreet/Cobrand/Default.pm:731
msgid "Grant access to the admin"
msgstr ""
@@ -1410,10 +1427,6 @@ msgstr ""
msgid "Graph of problem creation by status over time"
msgstr ""
-#: templates/web/base/reports/index.html:15
-msgid "Greyed-out lines are councils that no longer exist."
-msgstr ""
-
#: templates/web/base/questionnaire/index.html:48
msgid "Has this problem been fixed?"
msgstr ""
@@ -1424,7 +1437,7 @@ msgstr ""
#: templates/web/base/main_nav_items.html:40
#: templates/web/zurich/about/faq-de-ch.html:1
-#: templates/web/zurich/footer.html:23
+#: templates/web/zurich/footer.html:22
#: templates/web/zurich/nav_over_content.html:8
msgid "Help"
msgstr ""
@@ -1434,22 +1447,13 @@ msgstr ""
msgid "Help <strong>%s</strong> resolve your problem quicker, by providing some extra detail. This extra information will not be published online."
msgstr ""
-#: templates/web/base/alert/_list.html:9
-msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
-msgstr ""
-
-#: templates/web/zurich/footer.html:12
+#: templates/web/zurich/footer.html:11
msgid "Hi %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:906
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:19
-#: templates/web/base/admin/report_blocks.html:28
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:911
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:60
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:19
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:11
#: templates/web/zurich/admin/stats.html:32
@@ -1457,15 +1461,33 @@ msgstr ""
msgid "Hidden"
msgstr ""
-#: templates/web/base/report/_main.html:105
+#: templates/web/base/report/_main.html:109
msgid "Hide entire report"
msgstr ""
+#: templates/web/base/my/anonymize.html:1
+#: templates/web/base/my/anonymize.html:2
+msgid "Hide my name"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:21
+msgid "Hide my name everywhere"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:10
+msgid "Hide my name in this update"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:16
+msgid "Hide my name on this report"
+msgstr ""
+
#: templates/web/base/around/display_location.html:67
msgid "Hide old"
msgstr ""
#: templates/web/base/around/display_location.html:62
+#: templates/web/base/js/translation_strings.html:55
msgid "Hide pins"
msgstr ""
@@ -1473,7 +1495,16 @@ msgstr ""
msgid "Hide update completely?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:49
+#: templates/web/base/report/_report_meta_info.html:3
+#: templates/web/base/report/update.html:55
+msgid "Hide your name?"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:38
+msgid "Hint"
+msgstr ""
+
+#: templates/web/base/admin/category_edit.html:24
msgid "History"
msgstr ""
@@ -1490,12 +1521,12 @@ msgid "How to send successful reports"
msgstr ""
#: templates/web/base/tokens/confirm_problem.html:36
-#: templates/web/base/tokens/confirm_problem.html:40
+#: templates/web/base/tokens/confirm_problem.html:41
msgid "I just reported a problem on @fixmystreet"
msgstr ""
-#: templates/web/base/tokens/confirm_update.html:19
-#: templates/web/base/tokens/confirm_update.html:23
+#: templates/web/base/tokens/confirm_update.html:20
+#: templates/web/base/tokens/confirm_update.html:25
msgid "I just updated a problem on @fixmystreet"
msgstr ""
@@ -1515,17 +1546,25 @@ msgstr ""
msgid "ID"
msgstr ""
-#: templates/web/base/admin/body-form.html:30
-#: templates/web/base/admin/body-form.html:31
+#: templates/web/base/admin/body-form.html:32
+#: templates/web/base/admin/body-form.html:33
msgid ""
"Identify a <strong>parent</strong> if this body is itself part of another body.\n"
" For basic installations, you don't need to join bodies in this way."
msgstr ""
+#: templates/web/base/auth/token.html:19
+msgid "If there's a user associated with the address you entered, we've sent a confirmation email."
+msgstr ""
+
#: templates/web/base/admin/responsepriorities/edit.html:23
msgid "If this priority is passed to an external service (e.g. Exor/Confirm) enter the priority code to use with that service here."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:24
+msgid "If ticked the user won’t see an input field, just the ‘Description’ text."
+msgstr ""
+
#: templates/web/base/admin/contact-form.html:14
msgid ""
"If two or more bodies serve the same location, FixMyStreet combines identical categories into a single entry in\n"
@@ -1536,7 +1575,7 @@ msgstr ""
msgid "If you get some more information about the status of your problem, please come back to the site and leave an update."
msgstr ""
-#: templates/web/base/admin/responsepriorities/edit.html:33
+#: templates/web/base/admin/responsepriorities/edit.html:45
msgid "If you only want this priority to be an option for specific categories, pick them here. By default they will show for all categories."
msgstr ""
@@ -1559,7 +1598,7 @@ msgid ""
"(please note it will not be sent to the council)."
msgstr ""
-#: templates/web/base/admin/contact-form.html:30
+#: templates/web/base/admin/contact-form.html:32
msgid "If you're using <strong>a send method that is not email</strong>, enter the service ID (Open311) or equivalent identifier here."
msgstr ""
@@ -1586,7 +1625,7 @@ msgid ""
" when they are shown on the site. Enter the ID (number) of that user."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:133
+#: perllib/FixMyStreet/App/Controller/Contact.pm:134
msgid "Illegal ID"
msgstr ""
@@ -1594,13 +1633,6 @@ msgstr ""
msgid "Illegal feed selection"
msgstr ""
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "In Progress"
-msgstr ""
-
#: templates/web/base/admin/flagged.html:39
msgid "In abuse table?"
msgstr ""
@@ -1609,18 +1641,17 @@ msgstr ""
msgid "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:192
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:954
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:9
-#: templates/web/base/report/banner.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:5
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:197
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:959
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:8
msgid "In progress"
msgstr ""
+#: templates/web/base/admin/contact-form.html:57
+msgid "Inactive"
+msgstr ""
+
#: templates/web/base/tokens/confirm_alert.html:11
msgid "Inbox zero, here we come!"
msgstr ""
@@ -1637,11 +1668,15 @@ msgstr ""
msgid "Incorrect has_photo value \"%s\""
msgstr ""
-#: templates/web/base/admin/contact-form.html:84
+#: templates/web/base/report/_inspect.html:5
+msgid "Inspect report"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:85
msgid "Inspection required"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:711
+#: perllib/FixMyStreet/Cobrand/Default.pm:715
msgid "Instruct contractors to fix problems"
msgstr ""
@@ -1649,13 +1684,6 @@ msgstr ""
msgid "Internal notes"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:11
-msgid "Internal referral"
-msgstr ""
-
#: templates/web/base/offline/appcache.html:3
msgid "Internet glitch"
msgstr ""
@@ -1664,7 +1692,7 @@ msgstr ""
msgid "Invalid agency_responsible value %s"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1502
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1607
msgid "Invalid end date"
msgstr ""
@@ -1672,26 +1700,15 @@ msgstr ""
msgid "Invalid format %s specified."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report.pm:398
+#: perllib/FixMyStreet/App/Controller/Report.pm:409
msgid "Invalid location. New location must be covered by the same council."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1498
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1603
msgid "Invalid start date"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:7
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:4
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Investigating"
-msgstr ""
-
-#: templates/web/base/contact/blurb.html:8
+#: templates/web/base/contact/blurb.html:2
msgid "It's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there."
msgstr ""
@@ -1699,28 +1716,47 @@ msgstr ""
msgid "It’s on its way to the council right now."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:177
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:182
msgid "Jurisdiction Unknown"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:15
msgid "Jurisdiction unknown"
msgstr ""
-#: templates/web/base/auth/general.html:91
+#: templates/web/base/auth/general.html:93
#: templates/web/base/report/new/form_user_loggedout_password.html:16
#: templates/web/base/report/update/form_user_loggedout_password.html:15
#: templates/web/zurich/auth/general.html:40
msgid "Keep me signed in on this computer"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:61
+msgid "Key"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:9
+#: templates/web/base/admin/states/index.html:95
+msgid "Label"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:6
+#: templates/web/base/admin/reportextrafields/edit.html:45
+msgid "Language"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/index.html:8
+msgid "Languages"
+msgstr ""
+
#: templates/web/base/dashboard/index.html:50
msgid "Last 4 weeks"
msgstr ""
#: templates/web/base/dashboard/index.html:49
+#: templates/web/base/reports/index.html:38
msgid "Last 7 days"
msgstr ""
@@ -1729,6 +1765,10 @@ msgstr ""
msgid "Last editor"
msgstr ""
+#: templates/web/base/questionnaire/index.html:25
+msgid "Last update"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:89
msgid "Last update:"
msgstr ""
@@ -1737,23 +1777,27 @@ msgstr ""
msgid "Last&nbsp;update:"
msgstr ""
-#: templates/web/base/report/_inspect.html:20
-#: templates/web/base/report/_item.html:86
+#: templates/web/base/report/_inspect.html:30
+#: templates/web/base/report/_item.html:88
msgid "Latitude/Longitude:"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:50
+#: templates/web/base/reports/_list-filters.html:61
msgid "Least recently updated"
msgstr ""
-#: templates/web/base/admin/body-form.html:127
+#: templates/web/base/admin/body-form.html:129
msgid "Leave this blank if all reports to this body should be sent using the same send method (e.g., \"%s\")."
msgstr ""
-#: templates/web/base/dashboard/index.html:150
+#: templates/web/base/dashboard/index.html:151
msgid "Less than 7 days old"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:47
+msgid "List"
+msgstr ""
+
#: templates/web/base/admin/body.html:31
msgid "List all reported problems"
msgstr ""
@@ -1784,23 +1828,23 @@ msgstr ""
msgid "Locate the problem on a map of the area"
msgstr ""
-#: templates/web/base/auth/general.html:22
+#: templates/web/base/auth/general.html:24
#: templates/web/base/report/new/form_user_loggedout.html:6
#: templates/web/base/report/update/form_user_loggedout.html:7
msgid "Log in with Facebook"
msgstr ""
-#: templates/web/base/auth/general.html:30
+#: templates/web/base/auth/general.html:32
#: templates/web/base/report/new/form_user_loggedout.html:14
#: templates/web/base/report/update/form_user_loggedout.html:15
msgid "Log in with Twitter"
msgstr ""
-#: templates/web/base/js/translation_strings.html:59
+#: templates/web/base/js/translation_strings.html:62
msgid "Log in with email"
msgstr ""
-#: templates/web/base/dashboard/index.html:145
+#: templates/web/base/dashboard/index.html:146
#: templates/web/base/dashboard/index.html:38
msgid "Look up"
msgstr ""
@@ -1809,11 +1853,11 @@ msgstr ""
msgid "MAP"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:712
+#: perllib/FixMyStreet/Cobrand/Default.pm:716
msgid "Manage shortlist"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:45
+#: templates/web/base/reports/_list-filters.html:56
msgid "Manual order"
msgstr ""
@@ -1829,19 +1873,11 @@ msgstr ""
msgid "Mark users whose behaviour you want to keep a check on as <strong>flagged</strong>."
msgstr ""
-#: templates/web/base/reports/index.html:27
-msgid "Marked fixed/closed in the past eight weeks"
-msgstr ""
-
-#: templates/web/base/reports/index.html:28
-msgid "Marked fixed/closed more than eight weeks ago"
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/Default.pm:710
+#: perllib/FixMyStreet/Cobrand/Default.pm:714
msgid "Markup problem details"
msgstr ""
-#: templates/web/base/contact/index.html:96
+#: templates/web/base/contact/index.html:100
msgid "Message"
msgstr ""
@@ -1861,15 +1897,15 @@ msgstr ""
msgid "Missing jurisdiction_id"
msgstr ""
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:706
+#: perllib/FixMyStreet/Cobrand/Default.pm:710
msgid "Moderate report details"
msgstr ""
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate this report"
msgstr ""
@@ -1877,8 +1913,8 @@ msgstr ""
msgid "Moderate this update"
msgstr ""
-#: templates/web/base/report/_main.html:69
-#: templates/web/base/report/update.html:49
+#: templates/web/base/report/_main.html:73
+#: templates/web/base/report/update.html:58
msgid "Moderated by %s at %s"
msgstr ""
@@ -1886,8 +1922,8 @@ msgstr ""
msgid "Moderated by division within one working day"
msgstr ""
-#: templates/web/base/report/_main.html:109
-#: templates/web/base/report/update.html:57
+#: templates/web/base/report/_main.html:113
+#: templates/web/base/report/update.html:66
msgid "Moderation reason:"
msgstr ""
@@ -1895,31 +1931,35 @@ msgstr ""
msgid "Month"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:51
+#: templates/web/base/reports/_list-filters.html:62
msgid "Most commented"
msgstr ""
#: templates/web/base/admin/bodies.html:25
#: templates/web/base/admin/body-form.html:24
+#: templates/web/base/admin/extra-metadata-form.html:65
#: templates/web/base/admin/flagged.html:16
#: templates/web/base/admin/flagged.html:37
#: templates/web/base/admin/index.html:62
#: templates/web/base/admin/list_updates.html:7
+#: templates/web/base/admin/reportextrafields/edit.html:11
+#: templates/web/base/admin/reportextrafields/index.html:6
#: templates/web/base/admin/reports.html:14
#: templates/web/base/admin/responsepriorities/list.html:6
+#: templates/web/base/admin/states/index.html:108
+#: templates/web/base/admin/states/index.html:11
#: templates/web/base/admin/users.html:16
-#: templates/web/base/auth/general.html:106
-#: templates/web/base/report/new/form_user_loggedin.html:40
+#: templates/web/base/auth/general.html:108
+#: templates/web/base/report/new/form_user_loggedin.html:42
#: templates/web/base/report/new/form_user_loggedout_by_email.html:7
-#: templates/web/base/report/update/form_name.html:23
-#: templates/web/base/reports/index.html:23
+#: templates/web/base/report/update/form_name.html:27
#: templates/web/zurich/admin/body-form.html:4
#: templates/web/zurich/auth/general.html:60
#: templates/web/zurich/report/new/fill_in_details_form.html:59
msgid "Name"
msgstr ""
-#: templates/web/base/admin/report_edit.html:139
+#: templates/web/base/admin/report_edit.html:127
#: templates/web/base/admin/responsepriorities/edit.html:13
#: templates/web/base/admin/update_edit.html:34
#: templates/web/base/admin/user-form.html:16
@@ -1931,7 +1971,7 @@ msgstr ""
msgid "Name: %s"
msgstr ""
-#: templates/web/base/report/_inspect.html:28
+#: templates/web/base/report/_inspect.html:38
msgid "Navigate to this problem"
msgstr ""
@@ -1940,34 +1980,38 @@ msgstr ""
msgid "Nearest named road to the pin placed on the map (automatically generated using OpenStreetMap): %s%s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:129
+#: perllib/FixMyStreet/Cobrand/UK.pm:134
msgid "Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:527
-#: perllib/FixMyStreet/Cobrand/Default.pm:567
+#: perllib/FixMyStreet/Cobrand/Default.pm:538
+#: perllib/FixMyStreet/Cobrand/Default.pm:566
msgid "Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"
msgstr ""
-#: perllib/FixMyStreet/Script/Alerts.pm:319
+#: perllib/FixMyStreet/Script/Alerts.pm:316
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s\n"
"\n"
msgstr ""
-#: templates/web/base/auth/token.html:17 templates/web/base/email_sent.html:5
+#: templates/web/base/auth/token.html:18
+msgid "Nearly done!"
+msgstr ""
+
+#: templates/web/base/auth/token.html:22 templates/web/base/email_sent.html:5
msgid "Nearly done! Now check your email&hellip;"
msgstr ""
-#: templates/web/base/reports/index.html:24
-msgid "New <br>problems"
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:131
+msgid "New"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:259
+#: perllib/FixMyStreet/App/Controller/Admin.pm:262
msgid "New body added"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:405
+#: perllib/FixMyStreet/App/Controller/Admin.pm:386
msgid "New category contact added"
msgstr ""
@@ -1993,7 +2037,7 @@ msgid "New password:"
msgstr ""
#: templates/web/base/admin/responsepriorities/edit.html:4
-#: templates/web/base/admin/responsepriorities/list.html:32
+#: templates/web/base/admin/responsepriorities/list.html:34
msgid "New priority"
msgstr ""
@@ -2022,6 +2066,7 @@ msgid "New reports"
msgstr ""
#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/states/index.html:91
msgid "New state"
msgstr ""
@@ -2031,7 +2076,7 @@ msgstr ""
msgid "New template"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:47
+#: templates/web/base/reports/_list-filters.html:58
msgid "Newest"
msgstr ""
@@ -2039,20 +2084,19 @@ msgstr ""
msgid "Next"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:1203
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
+#: perllib/FixMyStreet/Cobrand/Default.pm:1237
#: templates/web/base/admin/category_edit.html:4
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:137
+#: templates/web/base/admin/report_edit.html:125
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:26
#: templates/web/base/questionnaire/creator_fixed.html:16
#: templates/web/base/questionnaire/index.html:106
#: templates/web/base/questionnaire/index.html:55
+#: templates/web/base/report/_inspect.html:92
msgid "No"
msgstr ""
@@ -2068,7 +2112,7 @@ msgstr ""
msgid "No council"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:445
+#: perllib/FixMyStreet/DB/Result/Problem.pm:372
msgid "No council selected"
msgstr ""
@@ -2084,25 +2128,16 @@ msgstr ""
msgid "No flagged users found."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:14
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:8
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "No further action"
-msgstr ""
-
#: templates/web/zurich/admin/report_edit-sdm.html:125
#: templates/web/zurich/admin/report_edit.html:259
msgid "No further updates"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:84
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:68
msgid "No inspections by that inspector in the selected date range."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:86
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:70
msgid "No inspections in the selected date range."
msgstr ""
@@ -2110,8 +2145,8 @@ msgstr ""
msgid "No result returned"
msgstr ""
-#: templates/web/base/admin/body-form.html:66
-#: templates/web/base/admin/body-form.html:67
+#: templates/web/base/admin/body-form.html:68
+#: templates/web/base/admin/body-form.html:69
msgid ""
"No specific areas are currently available, because the <code>MAPIT_URL</code> in\n"
" your config file is not pointing to a live MapIt service."
@@ -2144,17 +2179,8 @@ msgid ""
" activity across their body), the ability to hide reports or set special report statuses."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:9
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "Not Responsible"
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:181
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:186
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:933
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:13
msgid "Not contactable"
@@ -2173,7 +2199,7 @@ msgid "Not reported to council"
msgstr ""
#: templates/web/base/admin/body.html:75
-#: templates/web/base/admin/category_edit.html:57
+#: templates/web/base/admin/category_edit.html:31
#: templates/web/zurich/admin/body.html:17
msgid "Note"
msgstr ""
@@ -2183,7 +2209,7 @@ msgid "Note that when including unconfirmed reports we use the date the report w
msgstr ""
#: templates/web/zurich/admin/body.html:55
-#: templates/web/zurich/admin/contact-form.html:17
+#: templates/web/zurich/admin/contact-form.html:19
msgid "Note:"
msgstr ""
@@ -2195,6 +2221,10 @@ msgstr ""
msgid "Notes from SDM to DM"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:26
+msgid "Notice"
+msgstr ""
+
#: templates/web/base/report/new/oauth_email_form.html:17
msgid "Now to submit your report&hellip;"
msgstr ""
@@ -2205,63 +2235,43 @@ msgstr ""
msgid "Now to submit your update&hellip;"
msgstr ""
+#: templates/web/base/reports/index.html:98
+msgid "Number of problems reported in each category, in the last 7 days."
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:43
msgid "OK"
msgstr ""
-#: templates/web/base/js/translation_strings.html:67
+#: templates/web/base/js/translation_strings.html:70
msgid "Offline data cleared"
msgstr ""
-#: templates/web/base/js/translation_strings.html:64
+#: templates/web/base/js/translation_strings.html:67
msgid "Offline update data saved"
msgstr ""
-#: templates/web/base/reports/index.html:26
-msgid "Old / unknown <br>problems"
-msgstr ""
-
#: templates/web/base/admin/questionnaire.html:24
msgid "Old state"
msgstr ""
-#: templates/web/base/reports/index.html:28
-msgid "Older <br>fixed"
-msgstr ""
-
-#: templates/web/base/reports/index.html:25
-msgid "Older <br>problems"
-msgstr ""
-
-#: templates/web/base/reports/_list-filters.html:48
+#: templates/web/base/reports/_list-filters.html:59
msgid "Oldest"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:900
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:25
-#: templates/web/base/admin/report_blocks.html:6
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:905
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:10
+#: templates/web/base/admin/states/index.html:102
+#: templates/web/base/admin/states/index.html:25
+#: templates/web/base/admin/states/index.html:32
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:3
-#: templates/web/base/report/update/form_update.html:41
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:7
#: templates/web/zurich/admin/update_edit.html:18
msgid "Open"
msgstr ""
-#: templates/web/base/reports/index.html:25
-msgid "Open for more than four weeks, with an update within the past eight weeks"
-msgstr ""
-
-#: templates/web/base/reports/index.html:26
-msgid "Open, but not had any update in eight weeks"
-msgstr ""
-
#: templates/web/base/admin/open311-form-fields.html:47
msgid "Open311 API Key"
msgstr ""
@@ -2282,26 +2292,38 @@ msgstr ""
msgid "Open311 specification"
msgstr ""
-#: templates/web/base/alert/_list.html:61
-msgid "Or problems reported to:"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "Options"
+msgstr ""
+
+#: templates/web/base/alert/_list.html:84
+msgid "Or subscribe by RSS"
msgstr ""
-#: templates/web/base/alert/_list.html:37
-msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
+#: templates/web/base/admin/extra-metadata-form.html:8
+msgid "Order"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:1061
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:659
-#: perllib/FixMyStreet/DB/Result/Problem.pm:642
-#: perllib/FixMyStreet/DB/Result/Problem.pm:649
-#: perllib/FixMyStreet/DB/Result/Problem.pm:664
-#: perllib/FixMyStreet/DB/Result/Problem.pm:673
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1107
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:675
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:676
+#: perllib/FixMyStreet/DB/Result/Problem.pm:579
+#: perllib/FixMyStreet/DB/Result/Problem.pm:586
+#: perllib/FixMyStreet/DB/Result/Problem.pm:601
+#: perllib/FixMyStreet/DB/Result/Problem.pm:610
#: perllib/FixMyStreet/Script/Reports.pm:183
#: perllib/FixMyStreet/Script/Reports.pm:198
msgid "Other"
msgstr ""
+#: templates/web/base/reports/index.html:107
+msgid "Other categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:92
+msgid "Overall average"
+msgstr ""
+
#: templates/web/base/admin/list_updates.html:8
msgid "Owner"
msgstr ""
@@ -2311,17 +2333,16 @@ msgstr ""
msgid "Page Not Found"
msgstr ""
-#: templates/web/base/admin/body-form.html:37
+#: templates/web/base/admin/body-form.html:39
#: templates/web/zurich/admin/body-form.html:14
msgid "Parent"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:20
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:61
msgid "Partial"
msgstr ""
-#: templates/web/base/auth/general.html:109
+#: templates/web/base/auth/general.html:111
#: templates/web/base/report/new/form_user_loggedout_by_email.html:28
#: templates/web/base/report/update/form_user_loggedout_by_email.html:6
#: templates/web/zurich/auth/general.html:32
@@ -2329,7 +2350,7 @@ msgstr ""
msgid "Password (optional)"
msgstr ""
-#: templates/web/base/auth/general.html:82
+#: templates/web/base/auth/general.html:84
msgid "Password:"
msgstr ""
@@ -2341,17 +2362,21 @@ msgstr ""
msgid "Permissions:"
msgstr ""
+#: templates/web/base/report/_inspect.html:19
+msgid "Phone Reporter:"
+msgstr ""
+
#: templates/web/zurich/report/new/fill_in_details_form.html:65
msgid "Phone number"
msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:57
+#: templates/web/base/report/new/form_user_loggedin.html:59
#: templates/web/base/report/new/form_user_loggedout_by_email.html:25
msgid "Phone number (optional)"
msgstr ""
#: perllib/FixMyStreet/Script/Reports.pm:87
-#: templates/web/base/admin/report_edit.html:146
+#: templates/web/base/admin/report_edit.html:134
#: templates/web/base/admin/user-form.html:21
#: templates/web/zurich/admin/stats.html:39
msgid "Phone:"
@@ -2360,9 +2385,9 @@ msgstr ""
#: templates/web/base/questionnaire/index.html:78
#: templates/web/base/questionnaire/index.html:93
#: templates/web/base/questionnaire/index.html:95
-#: templates/web/base/report/new/form_report.html:28
-#: templates/web/base/report/new/form_report.html:43
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/new/form_report.html:45
+#: templates/web/base/report/new/form_report.html:47
#: templates/web/base/report/update/form_update.html:22
#: templates/web/base/report/update/form_update.html:24
#: templates/web/base/report/update/form_update.html:7
@@ -2380,12 +2405,12 @@ msgstr ""
msgid "Photo is required."
msgstr ""
-#: templates/web/zurich/admin/contact-form.html:14
+#: templates/web/zurich/admin/contact-form.html:16
msgid "Photo required"
msgstr ""
#: templates/web/base/questionnaire/index.html:78
-#: templates/web/base/report/new/form_report.html:28
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/update/form_update.html:7
#: templates/web/zurich/report/new/fill_in_details_form.html:20
msgid "Photos"
@@ -2395,17 +2420,18 @@ msgstr ""
msgid "Photos of recent nearby reports"
msgstr ""
+#: templates/web/base/reports/index.html:63
+#: templates/web/base/reports/index.html:66
+msgid "Pick your council"
+msgstr ""
+
#: templates/web/base/around/display_location.html:76
#: templates/web/base/js/translation_strings.html:30
msgid "Place pin on map"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:940
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:946
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:8
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:945
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:951
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:9
#: templates/web/zurich/admin/index-dm.html:9
@@ -2423,31 +2449,27 @@ msgstr ""
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:18
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:43
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:45
#: templates/web/zurich/auth/general.html:3
#: templates/web/zurich/auth/general.html:9
msgid "Please check your email address is correct"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:350
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:844
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:867
-#: perllib/FixMyStreet/DB/Result/Problem.pm:456
+#: perllib/FixMyStreet/App/Controller/Admin.pm:329
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:873
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:896
+#: perllib/FixMyStreet/DB/Result/Problem.pm:383
#: templates/web/base/js/translation_strings.html:9
msgid "Please choose a category"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:462
-msgid "Please choose a property type"
-msgstr ""
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:396
+#: perllib/FixMyStreet/App/Controller/Admin.pm:377
#: templates/web/base/admin/bodies.html:4 templates/web/base/admin/body.html:11
msgid "Please correct the errors below"
msgstr ""
-#: templates/web/base/contact/blurb.html:12
+#: templates/web/base/contact/blurb.html:6
msgid ""
"Please do <strong>not</strong> report problems through this form; messages go to\n"
"the team behind this site, not a council. To report a problem,\n"
@@ -2458,18 +2480,18 @@ msgstr ""
msgid "Please do not be abusive&nbsp;&mdash; abusing your council devalues the service for all users."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:351
-#: perllib/FixMyStreet/DB/Result/Comment.pm:127
+#: perllib/FixMyStreet/App/Controller/Admin.pm:330
+#: perllib/FixMyStreet/DB/Result/Comment.pm:128
#: templates/web/base/js/translation_strings.html:2
msgid "Please enter a message"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1200
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1364
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1305
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1469
msgid "Please enter a name"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:478
+#: perllib/FixMyStreet/App/Controller/Admin.pm:497
msgid "Please enter a name for this body"
msgstr ""
@@ -2479,15 +2501,15 @@ msgstr ""
msgid "Please enter a password"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:114
-#: perllib/FixMyStreet/DB/Result/Problem.pm:439
+#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/DB/Result/Problem.pm:366
#: templates/web/base/js/translation_strings.html:3
msgid "Please enter a subject"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1197
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1361
-#: perllib/FixMyStreet/App/Controller/Admin.pm:363
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1302
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1466
+#: perllib/FixMyStreet/App/Controller/Admin.pm:343
#: perllib/FixMyStreet/DB/Result/User.pm:164
#: templates/web/base/js/translation_strings.html:12
#: templates/web/base/js/translation_strings.html:16
@@ -2495,21 +2517,21 @@ msgid "Please enter a valid email"
msgstr ""
#: perllib/FixMyStreet/App/Controller/Alert.pm:350
-#: perllib/FixMyStreet/App/Controller/Contact.pm:124
+#: perllib/FixMyStreet/App/Controller/Contact.pm:125
msgid "Please enter a valid email address"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:442
+#: perllib/FixMyStreet/DB/Result/Problem.pm:369
#: templates/web/base/js/translation_strings.html:4
msgid "Please enter some details"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/App/Controller/Contact.pm:114
#: perllib/FixMyStreet/DB/Result/User.pm:161
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:17
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:42
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:44
#: templates/web/base/js/translation_strings.html:11
#: templates/web/base/js/translation_strings.html:15
#: templates/web/zurich/auth/general.html:3
@@ -2526,14 +2548,14 @@ msgstr ""
msgid "Please enter your first name"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:320
+#: perllib/FixMyStreet/Cobrand/UK.pm:326
#: templates/web/base/js/translation_strings.html:7
msgid "Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:112
-#: perllib/FixMyStreet/DB/Result/Comment.pm:124
-#: perllib/FixMyStreet/DB/Result/Problem.pm:450
+#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/DB/Result/Comment.pm:125
+#: perllib/FixMyStreet/DB/Result/Problem.pm:377
#: perllib/FixMyStreet/DB/Result/User.pm:157
#: templates/web/base/js/translation_strings.html:6
msgid "Please enter your name"
@@ -2596,7 +2618,7 @@ msgstr ""
msgid "Please note:"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report.pm:358
+#: perllib/FixMyStreet/App/Controller/Report.pm:353
msgid "Please provide a public update for this report."
msgstr ""
@@ -2632,11 +2654,11 @@ msgstr ""
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:122
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:156
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:158
-#: templates/web/base/js/translation_strings.html:57
+#: templates/web/base/js/translation_strings.html:60
msgid "Please upload an image only"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/App/Controller/Contact.pm:116
msgid "Please write a message"
msgstr ""
@@ -2644,30 +2666,29 @@ msgstr ""
msgid "Please write your update here"
msgstr ""
-#: templates/web/base/contact/index.html:103
#: templates/web/base/report/update-form.html:25
#: templates/web/base/report/update/form_user_loggedout_by_email.html:14
#: templates/web/base/report/update/form_user_loggedout_password.html:10
msgid "Post"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:242
+#: perllib/FixMyStreet/DB/Result/Comment.pm:231
msgid "Posted anonymously at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:257
+#: perllib/FixMyStreet/DB/Result/Comment.pm:255
msgid "Posted by %s at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:252
+#: perllib/FixMyStreet/DB/Result/Comment.pm:243
msgid "Posted by <strong>%s</strong> (%s) at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:254
+#: perllib/FixMyStreet/DB/Result/Comment.pm:245
msgid "Posted by <strong>%s</strong> at %s"
msgstr ""
-#: templates/web/base/front/footer-marketing.html:12
+#: templates/web/base/front/footer-marketing.html:6
msgid "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
msgstr ""
@@ -2679,8 +2700,8 @@ msgstr ""
msgid "Priorities"
msgstr ""
-#: templates/web/base/report/_inspect.html:113
-#: templates/web/base/report/_item.html:98
+#: templates/web/base/report/_inspect.html:123
+#: templates/web/base/report/_item.html:100
msgid "Priority"
msgstr ""
@@ -2694,9 +2715,9 @@ msgstr ""
msgid "Privacy and cookies"
msgstr ""
-#: templates/web/base/admin/body.html:91
-#: templates/web/base/admin/contact-form.html:74
-#: templates/web/base/admin/report_edit.html:149
+#: templates/web/base/admin/body.html:88
+#: templates/web/base/admin/contact-form.html:75
+#: templates/web/base/admin/report_edit.html:137
msgid "Private"
msgstr ""
@@ -2726,7 +2747,7 @@ msgstr ""
msgid "Problem breakdown by state"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1167
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1272
msgid "Problem marked as open."
msgstr ""
@@ -2734,11 +2755,15 @@ msgstr ""
msgid "Problem state change based on survey results"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:705
+#: perllib/FixMyStreet/Cobrand/Default.pm:709
#: templates/web/base/admin/flagged.html:10
msgid "Problems"
msgstr ""
+#: templates/web/base/alert/_list.html:22
+msgid "Problems in an area"
+msgstr ""
+
#: templates/web/base/report/display_tools.html:22
msgid "Problems nearby"
msgstr ""
@@ -2751,30 +2776,31 @@ msgstr ""
msgid "Problems recently reported fixed on FixMyStreet"
msgstr ""
-#: templates/web/base/alert/_list.html:22
-msgid "Problems within %.1fkm of this location"
+#: templates/web/base/alert/_list.html:29
+msgid "Problems within %.1fkm of %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:833
+#: perllib/FixMyStreet/Cobrand/Default.pm:838
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:137
-#: perllib/FixMyStreet/Cobrand/UK.pm:209
+#: perllib/FixMyStreet/Cobrand/UK.pm:215 perllib/FixMyStreet/Cobrand/UK.pm:257
+#: perllib/FixMyStreet/Cobrand/UK.pm:269
msgid "Problems within %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:223
+#: perllib/FixMyStreet/Cobrand/UK.pm:229
msgid "Problems within %s ward"
msgstr ""
+#: perllib/FixMyStreet/Cobrand/UK.pm:263 perllib/FixMyStreet/Cobrand/UK.pm:275
+msgid "Problems within %s ward, %s"
+msgstr ""
+
#. ("First %s is the body name, second %s the site name")
#: templates/web/base/reports/body.html:0
#: templates/web/base/reports/body.html:25
msgid "Problems within %s, %s"
msgstr ""
-#: templates/web/base/alert/_list.html:43
-msgid "Problems within the boundary of:"
-msgstr ""
-
#: templates/web/base/admin/report_edit.html:74
msgid "Property address:"
msgstr ""
@@ -2784,11 +2810,11 @@ msgstr ""
msgid "Provide an update"
msgstr ""
-#: templates/web/base/report/update/form_name.html:9
+#: templates/web/base/report/update/form_name.html:10
msgid "Provide update as"
msgstr ""
-#: templates/web/base/auth/general.html:112
+#: templates/web/base/auth/general.html:114
msgid "Providing a name and password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
msgstr ""
@@ -2806,7 +2832,7 @@ msgstr ""
msgid "Public response:"
msgstr ""
-#: templates/web/base/report/_inspect.html:152
+#: templates/web/base/report/_inspect.html:162
msgid "Public update:"
msgstr ""
@@ -2834,7 +2860,7 @@ msgstr ""
msgid "Questionnaire filled in by problem reporter"
msgstr ""
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
#: templates/web/base/alert/updates.html:9
#: templates/web/base/around/display_location.html:1
#: templates/web/base/around/display_location.html:3
@@ -2842,11 +2868,11 @@ msgstr ""
msgid "RSS feed"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:252 perllib/FixMyStreet/Cobrand/UK.pm:264
+#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
msgid "RSS feed for %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
+#: perllib/FixMyStreet/Cobrand/UK.pm:264 perllib/FixMyStreet/Cobrand/UK.pm:276
msgid "RSS feed for %s ward, %s"
msgstr ""
@@ -2854,25 +2880,25 @@ msgstr ""
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:179
-#: perllib/FixMyStreet/Cobrand/UK.pm:278 perllib/FixMyStreet/Cobrand/UK.pm:290
+#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
msgid "RSS feed of %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
msgid "RSS feed of %s, within %s ward"
msgstr ""
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
msgid "RSS feed of nearby problems"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:834
+#: perllib/FixMyStreet/Cobrand/Default.pm:839
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:136
-#: perllib/FixMyStreet/Cobrand/UK.pm:216
+#: perllib/FixMyStreet/Cobrand/UK.pm:222
msgid "RSS feed of problems within %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:222
+#: perllib/FixMyStreet/Cobrand/UK.pm:228
msgid "RSS feed of problems within %s ward"
msgstr ""
@@ -2891,7 +2917,7 @@ msgstr ""
msgid "Receive email when updates are left on this problem."
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:801
+#: perllib/FixMyStreet/DB/Result/Problem.pm:738
msgid "Received by %s moments later"
msgstr ""
@@ -2901,15 +2927,11 @@ msgstr ""
msgid "Recent local problems, %s"
msgstr ""
-#: templates/web/base/reports/index.html:27
-msgid "Recently <br>fixed"
-msgstr ""
-
#: templates/web/base/front/recent.html:11
msgid "Recently reported problems"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:60
msgid "Recently updated"
msgstr ""
@@ -2917,13 +2939,21 @@ msgstr ""
msgid "Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. If your problem is not appropriate for submission via this site remember that you can contact your council directly using their own website."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/extra-metadata-form.html:68
+msgid "Remove"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:4
+msgid "Remove field"
+msgstr ""
+
+#: templates/web/base/admin/report_blocks.html:23
msgid "Remove flag"
msgstr ""
#: templates/web/base/report/_item.html:12
#: templates/web/base/report/_item.html:9
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:18
#: templates/web/base/report/_main.html:26
msgid "Remove from shortlist"
@@ -2933,7 +2963,7 @@ msgstr ""
msgid "Remove from site"
msgstr ""
-#: templates/web/base/admin/report_edit.html:166
+#: templates/web/base/admin/report_edit.html:154
#: templates/web/base/admin/update_edit.html:69
#: templates/web/zurich/admin/update_edit.html:35
msgid "Remove photo (can't be undone!)"
@@ -2947,13 +2977,13 @@ msgstr ""
msgid "Report"
msgstr ""
-#: templates/web/base/report/_inspect.html:10
-#: templates/web/base/report/_item.html:76
+#: templates/web/base/report/_inspect.html:14
+#: templates/web/base/report/_item.html:78
msgid "Report ID:"
msgstr ""
#: templates/web/base/header_logo.html:2
-#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:19
+#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:18
#: templates/web/zurich/nav_over_content.html:4
msgid "Report a problem"
msgstr ""
@@ -2963,7 +2993,7 @@ msgstr ""
msgid "Report abuse"
msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:16
+#: templates/web/base/report/new/form_user_loggedin.html:17
msgid "Report as"
msgstr ""
@@ -2986,7 +3016,7 @@ msgstr ""
msgid "Report, view, or discuss local problems"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:653
+#: perllib/FixMyStreet/DB/Result/Problem.pm:590
#: templates/web/base/contact/index.html:55
msgid "Reported anonymously at %s"
msgstr ""
@@ -2996,7 +3026,7 @@ msgstr ""
msgid "Reported before"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:677
+#: perllib/FixMyStreet/DB/Result/Problem.pm:614
#: templates/web/base/contact/index.html:57
msgid "Reported by %s at %s"
msgstr ""
@@ -3010,34 +3040,30 @@ msgstr ""
msgid "Reported in the %s category"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:650
+#: perllib/FixMyStreet/DB/Result/Problem.pm:587
msgid "Reported in the %s category anonymously at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:611
msgid "Reported in the %s category by %s at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:647
+#: perllib/FixMyStreet/DB/Result/Problem.pm:584
msgid "Reported via %s anonymously at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:671
+#: perllib/FixMyStreet/DB/Result/Problem.pm:608
msgid "Reported via %s by %s at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:644
+#: perllib/FixMyStreet/DB/Result/Problem.pm:581
msgid "Reported via %s in the %s category anonymously at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:666
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
msgid "Reported via %s in the %s category by %s at %s"
msgstr ""
-#: templates/web/base/reports/index.html:24
-msgid "Reported within the last four weeks"
-msgstr ""
-
#: templates/web/zurich/admin/report_edit-sdm.html:38
#: templates/web/zurich/admin/report_edit.html:57
msgid "Reported:"
@@ -3053,13 +3079,13 @@ msgid "Reporting a problem"
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:655
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:383
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:388
#: templates/web/base/dashboard/index.html:134
#: templates/web/zurich/header.html:52
msgid "Reports"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:329 perllib/FixMyStreet/Cobrand/UK.pm:333
+#: perllib/FixMyStreet/Cobrand/UK.pm:333 perllib/FixMyStreet/Cobrand/UK.pm:335
msgid "Reports are limited to %s characters in length. Please shorten your report"
msgstr ""
@@ -3067,30 +3093,50 @@ msgstr ""
msgid "Reports awaiting approval"
msgstr ""
+#: templates/web/base/alert/_list.html:54
+msgid "Reports by destination"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:107
msgid "Reports made by trusted users will be sent to the responsible body without being inspected first."
msgstr ""
+#: templates/web/base/alert/_list.html:15
+msgid "Reports near %s are sent to different councils, depending on the type of problem."
+msgstr ""
+
#: templates/web/zurich/admin/index-sdm.html:10
msgid "Reports published"
msgstr ""
-#: templates/web/base/js/translation_strings.html:68
+#: templates/web/base/js/translation_strings.html:71
msgid "Reports saved offline."
msgstr ""
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+msgid "Reports sent to %s"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:290 perllib/FixMyStreet/Cobrand/UK.pm:302
+msgid "Reports sent to %s, within %s ward"
+msgstr ""
+
#: templates/web/base/admin/index.html:56
msgid "Reports waiting to be sent"
msgstr ""
-#: templates/web/base/admin/contact-form.html:89
+#: templates/web/base/admin/contact-form.html:90
msgid "Reports will automatically be sent without needing to be inspected if the user's <strong>reputation</strong> is at or above this value. Set to <strong>0</strong> if all reports must be inspected regardless."
msgstr ""
-#: templates/web/base/admin/contact-form.html:94
+#: templates/web/base/admin/contact-form.html:95
msgid "Reputation threshold"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:20
+msgid "Required"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:84
msgid "Resend report"
msgstr ""
@@ -3126,7 +3172,7 @@ msgstr ""
msgid "Revert to original"
msgstr ""
-#: templates/web/base/report/_main.html:95
+#: templates/web/base/report/_main.html:99
msgid "Revert to original text"
msgstr ""
@@ -3149,16 +3195,16 @@ msgstr ""
msgid "Road operator for this named road (from OpenStreetMap): %s"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1747
-#: templates/web/base/admin/report_edit.html:163
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1852
+#: templates/web/base/admin/report_edit.html:151
#: templates/web/base/admin/update_edit.html:66
#: templates/web/zurich/admin/report_edit.html:118
msgid "Rotate Left"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: templates/web/base/admin/report_edit.html:164
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: templates/web/base/admin/report_edit.html:152
#: templates/web/base/admin/update_edit.html:67
#: templates/web/zurich/admin/report_edit.html:119
msgid "Rotate Right"
@@ -3173,33 +3219,40 @@ msgstr ""
msgid "Satellite"
msgstr ""
-#: templates/web/base/report/_inspect.html:168
-#, fuzzy
+#: templates/web/base/report/_inspect.html:182
msgid "Save + close as duplicate"
-msgstr "marcat ca raport duplicat"
+msgstr ""
-#: templates/web/base/admin/contact-form.html:137
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/contact-form.html:138
+#: templates/web/base/admin/reportextrafields/edit.html:64
+#: templates/web/base/admin/responsepriorities/edit.html:58
#: templates/web/base/admin/template_edit.html:46
-#: templates/web/base/report/_inspect.html:168
-#: templates/web/base/report/_main.html:113
-#: templates/web/base/report/update.html:60
+#: templates/web/base/report/_inspect.html:182
+#: templates/web/base/report/_main.html:117
+#: templates/web/base/report/update.html:69
#: templates/web/zurich/admin/body.html:62
-#: templates/web/zurich/admin/contact-form.html:20
+#: templates/web/zurich/admin/contact-form.html:22
#: templates/web/zurich/admin/template_edit.html:29
msgid "Save changes"
msgstr ""
-#: templates/web/base/report/_inspect.html:148
+#: templates/web/base/admin/reportextrafields/edit.html:64
+msgid "Save new fields"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:158
msgid "Save with a public update"
msgstr ""
-#. ('This is followed by a progress count, e.g. 3/5')
#. ("This is followed by a progress count, e.g. 3/5")
-#: templates/web/base/js/translation_strings.html:69
+#: templates/web/base/js/translation_strings.html:72
msgid "Saving reports offline"
msgstr ""
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:132
+msgid "Scheduled"
+msgstr ""
+
#: templates/web/base/admin/index.html:26
#: templates/web/base/admin/reports.html:1
#: templates/web/zurich/admin/reports.html:1
@@ -3233,41 +3286,41 @@ msgstr ""
msgid "See our privacy policy"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:715
+#: perllib/FixMyStreet/Cobrand/Default.pm:720
msgid "See user detail for reports created as the council"
msgstr ""
-#: templates/web/base/admin/body-form.html:39
+#: templates/web/base/admin/body-form.html:41
#: templates/web/zurich/admin/body-form.html:16
msgid "Select a body"
msgstr ""
-#: templates/web/base/reports/index.html:12
-msgid "Select a particular council to see the reports sent there."
-msgstr ""
-
-#: templates/web/base/admin/body-form.html:77
+#: templates/web/base/admin/body-form.html:79
#: templates/web/zurich/admin/body-form.html:26
msgid "Select an area"
msgstr ""
-#: templates/web/base/alert/_list.html:11
-msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
+#: templates/web/base/admin/responsepriorities/edit.html:33
+msgid "Select if this is the default priority"
msgstr ""
#: templates/web/base/admin/category-checkboxes.html:6
msgid "Select:"
msgstr ""
+#: templates/web/base/contact/index.html:107
+msgid "Send"
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:109
msgid "Send extended Open311 statuses with service request updates"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:826
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:831
msgid "Sent report back"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:804
+#: perllib/FixMyStreet/DB/Result/Problem.pm:741
msgid "Sent to %s %s later"
msgstr ""
@@ -3280,7 +3333,7 @@ msgstr ""
msgid "Service:"
msgstr ""
-#: templates/web/base/report/_inspect.html:31
+#: templates/web/base/report/_inspect.html:41
msgid "Set to my current location"
msgstr ""
@@ -3289,20 +3342,25 @@ msgid "Share"
msgstr ""
#: templates/web/base/main_nav_items.html:10
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:21
#: templates/web/base/report/_main.html:29
msgid "Shortlist"
msgstr ""
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/reports/body.html:32
+msgid "Shortlist all visible"
+msgstr ""
+
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:20
#: templates/web/base/report/_main.html:25
#: templates/web/base/reports/_list-filters.html:9
msgid "Shortlisted"
msgstr ""
-#: templates/web/base/report/_main.html:144
+#: templates/web/base/report/_item.html:15
+#: templates/web/base/report/_main.html:148
msgid "Shortlisted by %s"
msgstr ""
@@ -3310,9 +3368,13 @@ msgstr ""
msgid "Show Photo?"
msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:54
+#: templates/web/base/questionnaire/index.html:26
+msgid "Show all updates"
+msgstr ""
+
+#: templates/web/base/report/new/form_user_loggedin.html:56
#: templates/web/base/report/new/form_user_loggedout_by_email.html:22
-#: templates/web/base/report/update/form_name.html:33
+#: templates/web/base/report/update/form_name.html:37
msgid "Show my name publicly"
msgstr ""
@@ -3324,11 +3386,12 @@ msgstr ""
msgid "Show old"
msgstr ""
-#: templates/web/base/report/_main.html:79
+#: templates/web/base/report/_main.html:83
msgid "Show photo"
msgstr ""
#: templates/web/base/around/display_location.html:60
+#: templates/web/base/js/translation_strings.html:54
msgid "Show pins"
msgstr ""
@@ -3336,16 +3399,20 @@ msgstr ""
msgid "Show reporter&rsquo;s name"
msgstr ""
-#: templates/web/base/auth/general.html:117
+#: templates/web/base/reports/index.html:62
+msgid "Show reports in your area"
+msgstr ""
+
+#: templates/web/base/auth/general.html:119
#: templates/web/base/auth/general.html:3
-#: templates/web/base/auth/general.html:86
+#: templates/web/base/auth/general.html:88
#: templates/web/base/main_nav_items.html:6
#: templates/web/zurich/auth/general.html:18
#: templates/web/zurich/auth/general.html:35
msgid "Sign in"
msgstr ""
-#: templates/web/base/auth/general.html:96
+#: templates/web/base/auth/general.html:98
msgid "Sign in by email instead, providing a new password. When you click the link in your email, your password will be updated."
msgstr ""
@@ -3391,14 +3458,14 @@ msgstr ""
msgid "Sorry, there has been an error confirming your problem."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:230
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:235
#: perllib/FixMyStreet/Geocode.pm:37 perllib/FixMyStreet/Geocode/Bing.pm:38
#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:56
#: perllib/FixMyStreet/Geocode/OSM.pm:48
msgid "Sorry, we could not find that location."
msgstr ""
-#: templates/web/base/auth/general.html:9
+#: templates/web/base/auth/general.html:11
#: templates/web/base/report/display.html:29
#: templates/web/base/report/new/fill_in_details_form.html:15
msgid "Sorry, we could not log you in. Please fill in the form below."
@@ -3420,11 +3487,11 @@ msgid ""
"page wasn’t found or there was a server error. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Root.pm:107
+#: perllib/FixMyStreet/App/Controller/Root.pm:124
msgid "Sorry, you don't have permission to do that."
msgstr ""
-#: templates/web/base/reports/_list-filters.html:42
+#: templates/web/base/reports/_list-filters.html:53
msgid "Sort by"
msgstr ""
@@ -3441,17 +3508,24 @@ msgid "Start Date:"
msgstr ""
#: templates/web/base/admin/body.html:73
+#: templates/web/base/admin/category_edit.html:29
+#: templates/web/base/admin/contact-form.html:53
#: templates/web/base/admin/flagged.html:18
#: templates/web/base/admin/index.html:64
#: templates/web/base/admin/list_updates.html:11
#: templates/web/base/admin/reports.html:16
#: templates/web/base/admin/template_edit.html:40
-#: templates/web/base/report/_inspect.html:83
-#: templates/web/base/report/_item.html:94
+#: templates/web/base/report/_inspect.html:82
+#: templates/web/base/report/_item.html:96
#: templates/web/base/report/update/form_update.html:39
+#: templates/web/zurich/admin/contact-form.html:10
msgid "State"
msgstr ""
+#: templates/web/base/report/update.html:48
+msgid "State changed to:"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:116
#: templates/web/base/admin/update_edit.html:28
#: templates/web/zurich/admin/report_edit-sdm.html:75
@@ -3461,8 +3535,13 @@ msgstr ""
msgid "State:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:640
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:386
+#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: templates/web/base/admin/states/index.html:1
+msgid "States"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
#: templates/web/base/admin/index.html:71 templates/web/base/admin/stats.html:1
#: templates/web/base/admin/stats_by_state.html:1
#: templates/web/zurich/admin/stats.html:1 templates/web/zurich/header.html:65
@@ -3484,6 +3563,10 @@ msgstr ""
msgid "Street View"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:46
+msgid "String"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:192
msgid "Subcategory: %s"
msgstr ""
@@ -3492,7 +3575,7 @@ msgstr ""
msgid "Subdivision/Body"
msgstr ""
-#: templates/web/base/contact/index.html:88
+#: templates/web/base/contact/index.html:92
msgid "Subject"
msgstr ""
@@ -3502,14 +3585,14 @@ msgid "Subject:"
msgstr ""
#: templates/web/base/questionnaire/creator_fixed.html:19
-#: templates/web/base/report/new/form_user_loggedin.html:61
+#: templates/web/base/report/new/form_user_loggedin.html:63
#: templates/web/base/report/new/form_user_loggedout_by_email.html:36
#: templates/web/base/report/new/form_user_loggedout_password.html:11
#: templates/web/zurich/report/new/fill_in_details_form.html:73
msgid "Submit"
msgstr ""
-#: templates/web/base/admin/report_edit.html:174
+#: templates/web/base/admin/report_edit.html:162
#: templates/web/base/admin/report_edit.html:24
#: templates/web/base/admin/update_edit.html:77
#: templates/web/base/admin/user-form.html:170
@@ -3523,8 +3606,8 @@ msgstr ""
msgid "Submit questionnaire"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:164
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:893
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:898
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:6
#: templates/web/zurich/admin/index-dm.html:23
@@ -3534,36 +3617,37 @@ msgstr ""
msgid "Submitted"
msgstr ""
+#: templates/web/base/alert/_list.html:77
+#: templates/web/base/alert/_list.html:80
#: templates/web/base/alert/updates.html:23
#: templates/web/base/report/display_tools.html:51
msgid "Subscribe"
msgstr ""
-#: templates/web/base/alert/_list.html:93
-msgid "Subscribe me to an email alert"
+#: templates/web/base/alert/_list.html:72
+msgid "Subscribe by email"
msgstr ""
#: templates/web/base/report/new/form_report.html:19
msgid "Summarise the problem"
msgstr ""
-#: templates/web/base/admin/contact-form.html:129
+#: templates/web/base/admin/contact-form.html:130
msgid "Summarise your changes"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:638
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:382
+#: perllib/FixMyStreet/Cobrand/Default.pm:637
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:387
#: templates/web/base/admin/bodies.html:29
#: templates/web/base/admin/index.html:1 templates/web/base/status/index.html:1
#: templates/web/base/status/index.html:3
#: templates/web/zurich/admin/index-dm.html:1
#: templates/web/zurich/admin/index-sdm.html:1
-#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:13
+#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:12
#: templates/web/zurich/header.html:49
msgid "Summary"
msgstr ""
-#: templates/web/base/reports/index.html:4
#: templates/web/zurich/reports/index.html:0
#: templates/web/zurich/reports/index.html:4
msgid "Summary reports"
@@ -3587,7 +3671,7 @@ msgid "Template &laquo;%s&raquo;"
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:661
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:393
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
#: templates/web/zurich/header.html:69
msgid "Templates"
msgstr ""
@@ -3616,7 +3700,7 @@ msgstr ""
msgid "Thank you for trying to confirm your update or problem. We seem to have an error ourselves though, so <a href=\"%s\">please let us know what went on</a> and we'll look into it."
msgstr ""
-#: templates/web/base/tokens/confirm_update.html:15
+#: templates/web/base/tokens/confirm_update.html:16
msgid "Thank you for updating this issue!"
msgstr ""
@@ -3644,7 +3728,7 @@ msgstr ""
msgid "That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Location.pm:129
+#: perllib/FixMyStreet/App/Controller/Location.pm:127
msgid "That location does not appear to be in the UK; please try again."
msgstr ""
@@ -3654,23 +3738,23 @@ msgstr ""
msgid "That postcode was not recognised, sorry."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:762
+#: perllib/FixMyStreet/App/Controller/Admin.pm:850
msgid "That problem has been marked as sent."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:755
+#: perllib/FixMyStreet/App/Controller/Admin.pm:843
msgid "That problem will now be resent."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report.pm:137
+#: perllib/FixMyStreet/App/Controller/Report.pm:134
msgid "That report cannot be viewed on %s."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report.pm:131
+#: perllib/FixMyStreet/App/Controller/Report.pm:128
msgid "That report has been removed from FixMyStreet."
msgstr ""
-#: templates/web/base/admin/contact-form.html:25
+#: templates/web/base/admin/contact-form.html:27
msgid ""
"The <strong>email address</strong> is the destination to which reports about this category will be sent. \n"
" Other categories for this body may have the same email address."
@@ -3690,10 +3774,10 @@ msgid ""
" than one. If the body is running its own endpoint, you can usually leave this blank."
msgstr ""
-#: templates/web/base/admin/body-form.html:100
-#: templates/web/base/admin/body-form.html:101
-#: templates/web/base/admin/contact-form.html:103
+#: templates/web/base/admin/body-form.html:102
+#: templates/web/base/admin/body-form.html:103
#: templates/web/base/admin/contact-form.html:104
+#: templates/web/base/admin/contact-form.html:105
msgid ""
"The <strong>send method</strong> determines how problem reports will be sent to the body.\n"
" If you leave this blank, <strong>send method defaults to email</strong>."
@@ -3710,6 +3794,10 @@ msgid ""
" and may be displayed publically."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:12
+msgid "The code used to store this field value in the database. e.g. <code>address</code> would be available as <code>problem.extra.address</code> in the templates."
+msgstr ""
+
#: templates/web/base/report/new/fill_in_details_text.html:1
#: templates/web/base/report/new/fill_in_details_text.html:3
msgid "The council won&rsquo;t be able to help unless you leave as much detail as you can. Please describe the exact location of the problem (e.g. on a wall), what it is, how long it has been there, a description (and a photo of the problem if you have one), etc."
@@ -3720,11 +3808,15 @@ msgstr ""
msgid "The diligency prize league table shows editors' activity (who's been editing the most records)."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:61
-#: perllib/FixMyStreet/App/Controller/Reports.pm:82
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:63
+#: perllib/FixMyStreet/App/Controller/Reports.pm:103
msgid "The error was: %s"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:30
+msgid "The field name as shown to the user on the report form."
+msgstr ""
+
#: templates/web/base/open311/index.html:78
msgid "The following Open311 v2 attributes are returned for each request: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
msgstr ""
@@ -3763,10 +3855,14 @@ msgstr ""
msgid "The link might have expired, or maybe you didn&rsquo;t quite copy and paste it correctly."
msgstr ""
-#: templates/web/base/admin/body-form.html:64
+#: templates/web/base/admin/body-form.html:66
msgid "The list of available areas is being provided by the MapIt service at %s."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:6
+msgid "The ordering of this field on the report page. Fields are shown in ascending order according to this value."
+msgstr ""
+
#: templates/web/base/auth/change_password.html:22
#: templates/web/base/auth/change_password.html:26
msgid "The passwords do not match"
@@ -3776,8 +3872,8 @@ msgstr ""
msgid "The requested URL '%s' was not found on this server"
msgstr ""
-#: templates/web/base/alert/_list.html:17
-msgid "The simplest alert is our geographic one:"
+#: templates/web/base/admin/extra-metadata-form.html:42
+msgid "The type of input field to show to the user. <strong>Text</strong> is a simple text field, <strong>List</strong> is a drop-down selection."
msgstr ""
#: perllib/FixMyStreet/Script/Reports.pm:96
@@ -3797,18 +3893,18 @@ msgstr ""
msgid "There are no reports to show."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Reports.pm:79
+#: perllib/FixMyStreet/App/Controller/Reports.pm:100
msgid "There was a problem showing the All Reports page. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:137
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:60
+#: perllib/FixMyStreet/App/Controller/Contact.pm:138
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:62
msgid "There was a problem showing this page. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:758
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:785
#: perllib/FixMyStreet/App/Controller/Report/Update.pm:152
-#: templates/web/base/auth/general.html:53
+#: templates/web/base/auth/general.html:55
#: templates/web/zurich/auth/general.html:28
msgid "There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the &lsquo;sign in by email&rsquo; section of the form."
msgstr ""
@@ -3821,7 +3917,7 @@ msgstr ""
msgid "There was a problem with your update. Please try again."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:141
+#: perllib/FixMyStreet/App/Controller/Contact.pm:142
msgid "There were problems with your report. Please see below."
msgstr ""
@@ -3873,8 +3969,8 @@ msgstr ""
msgid "This body has no contacts. This means that currently problems reported to this body <strong>will not be sent</strong>."
msgstr ""
-#: templates/web/base/admin/body-form.html:58
-#: templates/web/base/admin/body-form.html:59
+#: templates/web/base/admin/body-form.html:60
+#: templates/web/base/admin/body-form.html:61
msgid ""
"This body will only be sent reports for problems that are located in the <strong>area covered</strong>.\n"
" A body will not receive any reports unless it covers at least one area."
@@ -3888,8 +3984,9 @@ msgstr ""
msgid "This email has been sent to several councils covering the location of the problem, as the category selected is provided for all of them; please ignore it if you're not the correct council to deal with the issue."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:881
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:925
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1017
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:910
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:954
#: perllib/FixMyStreet/App/Controller/Report/New.pm:971
#: perllib/FixMyStreet/Cobrand/UK.pm:45
msgid "This information is required"
@@ -3899,23 +3996,19 @@ msgstr ""
msgid "This is a developer site; things might break at any time, and the database will be periodically deleted."
msgstr ""
-#: templates/web/base/reports/index.html:10
-msgid "This is a summary of all reports on this site."
-msgstr ""
-
-#: templates/web/base/report/new/form_report.html:56
+#: templates/web/base/report/new/form_report.html:58
msgid "This pothole has been here for two months and…"
msgstr ""
-#: templates/web/base/report/update/form_update.html:63
+#: templates/web/base/report/update/form_update.html:55
msgid "This problem has been fixed"
msgstr ""
-#: templates/web/base/report/update/form_update.html:56
+#: templates/web/base/report/update/form_update.html:48
msgid "This problem has not been fixed"
msgstr ""
-#: templates/web/base/report/update/form_update.html:54
+#: templates/web/base/report/update/form_update.html:46
msgid "This problem is still ongoing"
msgstr ""
@@ -3923,21 +4016,21 @@ msgstr ""
msgid "This report is a duplicate. Please leave updates on the original report:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:161
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:162
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:166
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:167
#: templates/web/zurich/report/_main.html:14
msgid "This report is awaiting moderation."
msgstr ""
-#: perllib/FixMyStreet/Script/Alerts.pm:101
+#: perllib/FixMyStreet/Script/Alerts.pm:98
msgid "This report is currently marked as closed."
msgstr ""
-#: perllib/FixMyStreet/Script/Alerts.pm:99
+#: perllib/FixMyStreet/Script/Alerts.pm:96
msgid "This report is currently marked as fixed."
msgstr ""
-#: perllib/FixMyStreet/Script/Alerts.pm:103
+#: perllib/FixMyStreet/Script/Alerts.pm:100
msgid "This report is currently marked as open."
msgstr ""
@@ -3956,7 +4049,7 @@ msgstr ""
msgid "Time spent (in minutes):"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Default.pm:638
#: templates/web/base/admin/timeline.html:1
msgid "Timeline"
msgstr ""
@@ -3985,10 +4078,26 @@ msgstr ""
msgid "To find out what local alerts we have for you, please enter your postcode or street name and area"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:19
+msgid "To limit this collection of fields to a single cobrand, select it here."
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:40
+msgid "To limit this collection of fields to a single language, select it here."
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:95
msgid "To view a map of the precise location of this issue"
msgstr ""
+#: templates/web/base/reports/index.html:97
+msgid "Top 5 most used categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:83
+msgid "Top 5 responsive councils"
+msgstr ""
+
#: templates/web/base/admin/questionnaire.html:24
#: templates/web/base/admin/stats.html:24
#: templates/web/base/admin/stats.html:43
@@ -4002,9 +4111,8 @@ msgid "Total marked"
msgstr ""
#: templates/web/base/dashboard/index.html:71
-#, fuzzy
msgid "Total marked as fixed"
-msgstr "marcat ca rezolvat"
+msgstr ""
#: templates/web/base/dashboard/index.html:125
msgid "Total not marked"
@@ -4015,16 +4123,24 @@ msgstr ""
msgid "Total reports received"
msgstr ""
-#: templates/web/base/report/_inspect.html:124
-#: templates/web/base/report/_item.html:102
+#: templates/web/base/report/_inspect.html:134
+#: templates/web/base/report/_item.html:104
msgid "Traffic management required?"
msgstr ""
+#: templates/web/base/admin/_translations.html:7
+msgid "Translation"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:2
+msgid "Translations"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:111
msgid "Trusted by bodies:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:721
+#: perllib/FixMyStreet/Cobrand/Default.pm:726
msgid "Trusted to make reports that don't need to be inspected"
msgstr ""
@@ -4040,8 +4156,14 @@ msgstr ""
msgid "Try emailing us directly:"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:21
+#: templates/web/base/admin/extra-metadata-form.html:44
+#: templates/web/base/admin/states/index.html:10
+#: templates/web/base/admin/states/index.html:100
+msgid "Type"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:59
+#: templates/web/base/admin/contact-form.html:55
#: templates/web/base/admin/update_edit.html:30
#: templates/web/zurich/admin/report_edit-sdm.html:66
#: templates/web/zurich/admin/report_edit.html:94
@@ -4049,7 +4171,6 @@ msgstr ""
msgid "Unconfirmed"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:12
#: templates/web/base/reports/_list-filters.html:5
msgid "Unfixed reports"
msgstr ""
@@ -4063,14 +4184,14 @@ msgid "Unknown alert type"
msgstr ""
#: perllib/FixMyStreet/App/Controller/Photo.pm:109
-#: perllib/FixMyStreet/App/Controller/Root.pm:124
+#: perllib/FixMyStreet/App/Controller/Root.pm:141
#: templates/web/base/js/translation_strings.html:38
msgid "Unknown error"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report.pm:115
+#: perllib/FixMyStreet/App/Controller/Report.pm:112
+#: perllib/FixMyStreet/App/Controller/Report.pm:118
#: perllib/FixMyStreet/App/Controller/Report.pm:121
-#: perllib/FixMyStreet/App/Controller/Report.pm:124
msgid "Unknown problem ID"
msgstr ""
@@ -4078,10 +4199,11 @@ msgstr ""
msgid "Unshortlisted"
msgstr ""
-#: templates/web/base/report/_item.html:24
+#: templates/web/base/report/_item.html:26
msgid "Up one"
msgstr ""
+#: templates/web/base/admin/states/index.html:76
#: templates/web/base/report/update/form_update.html:29
msgid "Update"
msgstr ""
@@ -4098,7 +4220,7 @@ msgstr ""
msgid "Update below added by %s at %s"
msgstr ""
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Update body"
msgstr ""
@@ -4134,13 +4256,21 @@ msgstr ""
msgid "Updated"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1157
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1221
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1384
-#: perllib/FixMyStreet/App/Controller/Admin.pm:822
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:762
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:787
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:857
+#: perllib/FixMyStreet/DB/Result/Comment.pm:249
+msgid "Updated by <strong>%s</strong> (%s) at %s"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:251
+msgid "Updated by <strong>%s</strong> at %s"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1262
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1326
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1489
+#: perllib/FixMyStreet/App/Controller/Admin.pm:910
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:767
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:792
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:862
msgid "Updated!"
msgstr ""
@@ -4150,7 +4280,7 @@ msgstr ""
msgid "Updates"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:133
+#: perllib/FixMyStreet/DB/Result/Comment.pm:134
msgid "Updates are limited to %s characters in length. Please shorten your update"
msgstr ""
@@ -4164,11 +4294,22 @@ msgstr ""
msgid "Updates to this problem, %s"
msgstr ""
+#: templates/web/base/admin/contact-form.html:43
+#: templates/web/base/admin/contact-form.html:44
+msgid ""
+"Use <strong>confirmed</strong> to indicate that this contact has been\n"
+"confirmed as correct. If you are not sure of the origin or validity of the\n"
+"contact, use <strong>unconfirmed</strong>. <strong>inactive</strong> will\n"
+"remove the category from use when reporting problems, but keep it available in\n"
+"map filters, and <strong>deleted</strong> will remove the category from there\n"
+"as well."
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:65
msgid "Use Open311 update-sending extension"
msgstr ""
-#: templates/web/base/admin/contact-form.html:124
+#: templates/web/base/admin/contact-form.html:125
msgid "Use this field to record details that are only displayed in the admin. Input is not shown publicly, and is not sent to the body."
msgstr ""
@@ -4181,27 +4322,26 @@ msgstr ""
msgid "User ID to attribute fetched comments to"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1700
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1805
msgid "User flag removed"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1672
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1777
msgid "User flagged"
msgstr ""
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:58
-#, fuzzy
msgid "User has marked as fixed"
-msgstr "marcat ca rezolvat"
+msgstr ""
#: templates/web/base/admin/users.html:5
msgid "User search finds matches in users' names and email addresses."
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:669
-#: perllib/FixMyStreet/Cobrand/Default.pm:723
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
+#: perllib/FixMyStreet/Cobrand/Default.pm:728
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:403
#: templates/web/base/admin/flagged.html:29 templates/web/zurich/header.html:61
msgid "Users"
msgstr ""
@@ -4210,9 +4350,9 @@ msgstr ""
msgid "Users can perform the following actions within their assigned body or area."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:400
-#: perllib/FixMyStreet/App/Controller/Admin.pm:430
-#: perllib/FixMyStreet/App/Controller/Admin.pm:448
+#: perllib/FixMyStreet/App/Controller/Admin.pm:381
+#: perllib/FixMyStreet/App/Controller/Admin.pm:417
+#: perllib/FixMyStreet/App/Controller/Admin.pm:439
msgid "Values updated"
msgstr ""
@@ -4259,7 +4399,7 @@ msgstr ""
msgid "We found more than one match for that problem reference:"
msgstr ""
-#: templates/web/base/auth/general.html:6
+#: templates/web/base/auth/general.html:8
#: templates/web/base/report/display.html:35
#: templates/web/base/report/new/oauth_email_form.html:5
msgid "We need your email address, please give it below."
@@ -4294,7 +4434,7 @@ msgstr ""
msgid "What was your experience of getting the problem fixed?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:52
+#: templates/web/base/admin/category_edit.html:27
#: templates/web/zurich/admin/body.html:18
msgid "When edited"
msgstr ""
@@ -4303,11 +4443,19 @@ msgstr ""
msgid "When sent"
msgstr ""
-#: templates/web/base/report/_inspect.html:89
+#: templates/web/base/admin/extra-metadata-form.html:18
+msgid "Whether the user is required to provide a value for this field."
+msgstr ""
+
+#: templates/web/base/alert/_list.html:9
+msgid "Which problems do you want alerts about?"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:99
msgid "Which report is it a duplicate of?"
msgstr ""
-#: templates/web/base/js/translation_strings.html:54
+#: templates/web/base/js/translation_strings.html:57
msgid "Whoa there Testino! Three photos are enough."
msgstr ""
@@ -4315,8 +4463,8 @@ msgstr ""
msgid "Why stop there? <a href=\"/alert\">Set up more alerts</a> for free."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:185
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:190
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:14
msgid "Wish"
@@ -4326,7 +4474,7 @@ msgstr ""
msgid "With request searches, it is also possible to search for agency_responsible to limit the requests to those sent to a single administration. The search term is the administration ID provided by <a href=\"%s\">MaPit</a>."
msgstr ""
-#: templates/web/base/front/footer-marketing.html:17
+#: templates/web/base/front/footer-marketing.html:3
msgid "Would you like to contribute to FixMyStreet? Our code is open source and <a href=\"http://fixmystreet.org\">available at fixmystreet.org</a>."
msgstr ""
@@ -4351,23 +4499,22 @@ msgstr ""
msgid "Year"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:1202
+#: perllib/FixMyStreet/Cobrand/Default.pm:1236
#: templates/web/base/admin/bodies.html:70
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
#: templates/web/base/admin/category_edit.html:5
#: templates/web/base/admin/flagged.html:47
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:136
+#: templates/web/base/admin/report_edit.html:124
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:25
#: templates/web/base/admin/users.html:32
#: templates/web/base/questionnaire/creator_fixed.html:14
#: templates/web/base/questionnaire/index.html:104
#: templates/web/base/questionnaire/index.html:53
+#: templates/web/base/report/_inspect.html:90
msgid "Yes"
msgstr ""
@@ -4380,7 +4527,7 @@ msgstr ""
msgid "You are complaining that this problem report was unnecessarily moderated:"
msgstr ""
-#: templates/web/base/js/translation_strings.html:70
+#: templates/web/base/js/translation_strings.html:73
msgid "You are offline"
msgstr ""
@@ -4401,7 +4548,11 @@ msgstr ""
msgid "You can add an abusive user's email to the abuse list, which automatically hides (and never sends) reports they create."
msgstr ""
-#: templates/web/base/contact/index.html:111
+#: templates/web/base/alert/_list.html:18
+msgid "You can choose to subscribe to all problems reported in an area, or reports based on their destination."
+msgstr ""
+
+#: templates/web/base/contact/index.html:115
msgid "You can contact technical support on <a href='mailto:%s'>%s</a>"
msgstr ""
@@ -4419,7 +4570,7 @@ msgstr ""
msgid "You can help us by finding a contact email address for local problems for %s and emailing it to us at <a href='mailto:%s'>%s</a>."
msgstr ""
-#: templates/web/base/admin/body-form.html:91
+#: templates/web/base/admin/body-form.html:93
msgid "You can mark a body as deleted if you do not want it to be active on the site."
msgstr ""
@@ -4427,7 +4578,7 @@ msgstr ""
msgid "You declined; please fill in the box above"
msgstr ""
-#: templates/web/base/js/translation_strings.html:72
+#: templates/web/base/js/translation_strings.html:75
msgid "You have <a id=\"oFN\" href=\"\"><span>%s</span> saved to submit</a>."
msgstr ""
@@ -4435,7 +4586,7 @@ msgstr ""
msgid "You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"
msgstr ""
-#: templates/web/base/report/new/form_report.html:37
+#: templates/web/base/report/new/form_report.html:39
#: templates/web/zurich/report/new/fill_in_details_form.html:30
msgid "You have already attached photos to this report. Note that you can attach a maximum of 3 to this report (if you try to upload more, the oldest will be removed)."
msgstr ""
@@ -4493,10 +4644,9 @@ msgstr "Rapoartele dvs."
msgid "Your account"
msgstr ""
-#: templates/web/base/alert/_list.html:90
#: templates/web/base/alert/updates.html:19
#: templates/web/base/alert/updates.html:22
-#: templates/web/base/contact/index.html:81
+#: templates/web/base/contact/index.html:80
#: templates/web/base/report/display_tools.html:46
#: templates/web/base/report/display_tools.html:49
#: templates/web/base/report/new/form_user_loggedout_email.html:1
@@ -4506,7 +4656,7 @@ msgid "Your email"
msgstr ""
#: templates/web/base/auth/change_email.html:9
-#: templates/web/base/auth/general.html:55
+#: templates/web/base/auth/general.html:57
#: templates/web/base/report/update/form_user_loggedout_email.html:5
#: templates/web/zurich/auth/general.html:30
#: templates/web/zurich/auth/general.html:58
@@ -4517,21 +4667,32 @@ msgstr ""
msgid "Your information will only be used in accordance with our <a href=\"/privacy\">privacy policy</a>"
msgstr ""
-#: templates/web/base/auth/general.html:107
+#: templates/web/base/auth/general.html:109
#: templates/web/base/contact/index.html:74
#: templates/web/base/report/new/form_user_loggedout_by_email.html:17
-#: templates/web/base/report/update/form_name.html:29
+#: templates/web/base/report/update/form_name.html:33
#: templates/web/zurich/auth/general.html:61
#: templates/web/zurich/report/new/fill_in_details_form.html:63
msgid "Your name"
msgstr ""
-#: templates/web/base/js/translation_strings.html:62
-#, fuzzy
+#: templates/web/base/my/anonymize.html:13
+msgid "Your name has already been sent to %s, but we can hide it on this page:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:264
+msgid "Your name has been hidden from all your reports and updates."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:260
+msgid "Your name has been hidden."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:65
msgid "Your offline reports"
-msgstr "Rapoartele dvs."
+msgstr ""
-#: templates/web/base/auth/general.html:85
+#: templates/web/base/auth/general.html:87
#: templates/web/base/report/new/form_user_loggedout_password.html:10
#: templates/web/base/report/update/form_user_loggedout_password.html:9
#: templates/web/zurich/auth/general.html:34
@@ -4542,6 +4703,7 @@ msgstr ""
msgid "Your password has been changed"
msgstr ""
+#: templates/web/base/contact/index.html:87
#: templates/web/base/report/new/form_user_loggedout_by_email.html:26
#: templates/web/zurich/report/new/fill_in_details_form.html:69
msgid "Your phone number"
@@ -4560,7 +4722,7 @@ msgstr ""
msgid "Your shortlist"
msgstr ""
-#: templates/web/base/js/translation_strings.html:63
+#: templates/web/base/js/translation_strings.html:66
msgid "Your update has been saved offline for submission when back online."
msgstr ""
@@ -4568,8 +4730,8 @@ msgstr ""
msgid "Your updates"
msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:18
-#: templates/web/base/report/update/form_name.html:11
+#: templates/web/base/report/new/form_user_loggedin.html:19
+#: templates/web/base/report/update/form_name.html:12
msgid "Yourself"
msgstr ""
@@ -4578,14 +4740,14 @@ msgstr ""
msgid "all"
msgstr ""
+#: perllib/FixMyStreet/DB/Result/Comment.pm:259
+msgid "and a defect raised"
+msgstr ""
+
#: templates/web/base/admin/timeline.html:4
msgid "by %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:290
-msgid "closed as a duplicate report"
-msgstr "marcat ca raport duplicat"
-
#: templates/web/base/reports/body.html:6
#: templates/web/base/reports/body.html:7
msgid "council"
@@ -4610,7 +4772,7 @@ msgstr ""
msgid "from %s different users"
msgstr ""
-#: templates/web/base/report/_item.html:61
+#: templates/web/base/report/_item.html:63
#: templates/web/zurich/report/_item.html:14
msgid "last updated %s"
msgstr ""
@@ -4619,44 +4781,7 @@ msgstr ""
msgid "less than a minute"
msgstr "mai puţin de un minut"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:280
-msgid "marked as action scheduled"
-msgstr "marcat ca acţiune planificată"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:292
-msgid "marked as an internal referral"
-msgstr "marcat ca trimitere internă"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:282
-msgid "marked as closed"
-msgstr "marcat ca închis"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:263
-#: perllib/FixMyStreet/DB/Result/Comment.pm:284
-msgid "marked as fixed"
-msgstr "marcat ca rezolvat"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:278
-msgid "marked as in progress"
-msgstr "marcat ca fiind în curs de desfăşurare"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:274
-msgid "marked as investigating"
-msgstr "marcat ca fiind în curs de cercetare"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:286
-msgid "marked as no further action"
-msgstr "marcat ca imposibil de rezolvat"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:288
-msgid "marked as not the council's responsibility"
-msgstr "marcat ca nefiind responsabilitatea consiliului"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:276
-msgid "marked as planned"
-msgstr "marcat ca planificat"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:122
+#: perllib/FixMyStreet/App/Controller/Admin.pm:119
#: templates/web/base/admin/questionnaire.html:15
#: templates/web/base/admin/questionnaire.html:16
msgid "n/a"
@@ -4667,13 +4792,10 @@ msgstr "indisponibil"
msgid "none"
msgstr ""
-#: templates/web/base/admin/category_edit.html:35
-msgid "optional"
-msgstr ""
-
-#: templates/web/base/alert/_list.html:86
-msgid "or"
-msgstr "sau"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:278
+#, fuzzy
+msgid "not the council's responsibility"
+msgstr "marcat ca nefiind responsabilitatea consiliului"
#: templates/web/base/js/translation_strings.html:27
msgid "or locate me automatically"
@@ -4698,16 +4820,7 @@ msgstr ""
msgid "other areas:"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:265
-#: perllib/FixMyStreet/DB/Result/Comment.pm:271
-msgid "reopened"
-msgstr ""
-
-#: templates/web/base/admin/category_edit.html:35
-msgid "required"
-msgstr ""
-
-#: templates/web/zurich/footer.html:13
+#: templates/web/zurich/footer.html:12
msgid "sign out"
msgstr ""
@@ -4715,11 +4828,15 @@ msgstr ""
msgid "the local council"
msgstr ""
-#: templates/web/base/report/_report_meta_info.html:2
+#: templates/web/base/report/_report_meta_info.html:5
#: templates/web/zurich/report/_main.html:5
msgid "there is no pin shown as the user did not use the map"
msgstr ""
+#: templates/web/base/alert/_list.html:1
+msgid "this location"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:184
msgid "this type of local problem"
msgstr ""
@@ -4728,14 +4845,13 @@ msgstr ""
msgid "today"
msgstr ""
-#: templates/web/base/js/translation_strings.html:73
+#: templates/web/base/js/translation_strings.html:76
msgid "update"
msgstr ""
-#: templates/web/base/js/translation_strings.html:74
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:77
msgid "updates"
-msgstr "%s actualizări"
+msgstr ""
#: templates/web/base/admin/report_edit.html:52
msgid "used map"
@@ -4818,6 +4934,46 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
+#: templates/web/base/reports/index.html:92
+#, perl-format
+msgid "%s day"
+msgid_plural "%s days"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/web/base/reports/index.html:55
+#, perl-format
+msgid "%s problem marked as fixed"
+msgid_plural "%s problems marked as fixed"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/web/base/reports/index.html:43
+#, perl-format
+msgid "%s problem reported"
+msgid_plural "%s problems reported"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/web/base/reports/index.html:107
+#, perl-format
+msgid "%s report"
+msgid_plural "%s reports"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/web/base/reports/index.html:49
+#, perl-format
+msgid "%s update on problems"
+msgid_plural "%s updates on problems"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
#: templates/web/base/front/stats.html:19
#, perl-format
msgid "<big>%s</big> fixed in past month"
@@ -4850,7 +5006,7 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: templates/web/base/report/_item.html:49
+#: templates/web/base/report/_item.html:51
#, perl-format
msgid "Reported %d day ago"
msgid_plural "Reported %d days ago"
@@ -4874,7 +5030,7 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: templates/web/base/report/_item.html:59
+#: templates/web/base/report/_item.html:61
#, perl-format
msgid "last updated %d day ago"
msgid_plural "last updated %d days ago"
@@ -4883,13 +5039,42 @@ msgstr[1] ""
msgstr[2] ""
#: templates/email/oxfordshire/archive.txt:9
-#, fuzzy, perl-format
+#, perl-format
msgid "report"
msgid_plural "reports"
-msgstr[0] "Rapoartele dvs."
-msgstr[1] "Rapoartele dvs."
-msgstr[2] "Rapoartele dvs."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
-#, fuzzy
-#~ msgid "Report category:"
-#~ msgstr "Adaugă o categorie nouă"
+#~ msgid "-- Pick a property type --"
+#~ msgstr "-- Alege un tip de proprietate --"
+
+#~ msgid "closed as a duplicate report"
+#~ msgstr "marcat ca raport duplicat"
+
+#~ msgid "marked as action scheduled"
+#~ msgstr "marcat ca acţiune planificată"
+
+#~ msgid "marked as an internal referral"
+#~ msgstr "marcat ca trimitere internă"
+
+#~ msgid "marked as closed"
+#~ msgstr "marcat ca închis"
+
+#~ msgid "marked as fixed"
+#~ msgstr "marcat ca rezolvat"
+
+#~ msgid "marked as in progress"
+#~ msgstr "marcat ca fiind în curs de desfăşurare"
+
+#~ msgid "marked as investigating"
+#~ msgstr "marcat ca fiind în curs de cercetare"
+
+#~ msgid "marked as no further action"
+#~ msgstr "marcat ca imposibil de rezolvat"
+
+#~ msgid "marked as planned"
+#~ msgstr "marcat ca planificat"
+
+#~ msgid "or"
+#~ msgstr "sau"
diff --git a/locale/ru.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/ru.UTF-8/LC_MESSAGES/FixMyStreet.po
index eaf6cf8df..103e4256d 100644
--- a/locale/ru.UTF-8/LC_MESSAGES/FixMyStreet.po
+++ b/locale/ru.UTF-8/LC_MESSAGES/FixMyStreet.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
-"POT-Creation-Date: 2017-03-30 17:33+0100\n"
+"POT-Creation-Date: 2017-09-13 15:40+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: mySociety <transifex@mysociety.org>, 2016\n"
+"Last-Translator: mySociety <transifex@mysociety.org>, 2017\n"
"Language-Team: Russian (https://www.transifex.com/mysociety/teams/12067/ru/)\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:695
+#: perllib/FixMyStreet/DB/Result/Problem.pm:632
#: perllib/FixMyStreet/Script/Reports.pm:197
msgid " and "
msgstr "и"
@@ -97,31 +97,6 @@ msgstr "Отправлено опроÑов: %s &ndash; получено отвÐ
msgid "%s ref:&nbsp;%s"
msgstr "%s ref:&nbsp;%s"
-#. ("%s is the site name")
-#: templates/web/base/alert/_list.html:74
-msgid ""
-"%s sends different categories of problem\n"
-"to the appropriate council, so problems within the boundary of a particular council\n"
-"might not match the problems sent to that council. For example, a graffiti report\n"
-"will be sent to the district council, so will appear in both of the district\n"
-"council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
-"for the county council."
-msgstr ""
-"Сайт %s работает так: ÑиÑтема отÑылает ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ \n"
-"о проблеме в ÑоответÑтвующий орган меÑтного ÑÐ°Ð¼Ð¾ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾ категориÑм, \n"
-"поÑтому проблемы, обнаруженные внутри границ округа, могут не Ñовпадать Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñами, которые отправлÑÑŽÑ‚ÑÑ Ð² правление.\n"
-"Ðапример, обращение о новом граффити \n"
-"будет отправлено в орган ÑÐ°Ð¼Ð¾ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ€Ð°Ð¹Ð¾Ð½Ð° и поÑвитÑÑ Ð² обоих уведомлениÑÑ… Ñтого ÑамоуправлениÑ. Ðо Ð´Ð»Ñ Ð¾Ñ€Ð³Ð°Ð½Ð° ÑÐ°Ð¼Ð¾ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾Ð±Ð»Ð°Ñти оно поÑвитÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ в \n"
-"разделе «Внутри границ облаÑти»."
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:257 perllib/FixMyStreet/Cobrand/UK.pm:269
-msgid "%s ward, %s"
-msgstr "%s район, %s"
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
-msgid "%s, within %s ward"
-msgstr "%s, в пределах района: %s"
-
#: perllib/FixMyStreet/Map/OSM.pm:38
msgid "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"
msgstr "&copy; учаÑтники проекта <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a>"
@@ -130,7 +105,7 @@ msgstr "&copy; учаÑтники проекта <a href=\"http://www.openstreet
msgid "(Defect &amp; location of defect)"
msgstr "(Повреждение и меÑтоположение повреждениÑ)"
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
#: templates/web/base/admin/users.html:32
msgid "(Email in abuse table)"
msgstr "(Ð°Ð´Ñ€ÐµÑ Ñл. почты в таблице пользователей, которые пиÑали оÑкорбительные комментарии)"
@@ -145,28 +120,36 @@ msgstr "(Ð¸Ð¼Ñ Ð¾Ñ‚ÑутÑтвует)"
msgid "(No phone number)"
msgstr "(номер телефона отÑутÑтвует)"
-#: templates/web/base/alert/_list.html:25
-msgid "(a default distance which covers roughly 200,000 people)"
-msgstr "(ТерриториÑ, Ð·Ð°Ð´Ð°Ð½Ð½Ð°Ñ Ð¿Ð¾ умолчанию, на которой проживают примерно 200 000 человек)"
-
-#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
-#: templates/web/base/alert/_list.html:30
-msgid "(alternatively the RSS feed can be customised, within %s)"
-msgstr "(RSS-фид можно наÑтроить по параметру удаленноÑти: %s)"
+#: templates/web/base/admin/states/index.html:95
+msgid "(a-z and space only)"
+msgstr ""
#: templates/web/zurich/report/_item.html:19
msgid "(closed)"
msgstr "(закрыто)"
+#: templates/web/base/alert/_list.html:30
+#, fuzzy
+msgid "(covers roughly 200,000 people)"
+msgstr "(ТерриториÑ, Ð·Ð°Ð´Ð°Ð½Ð½Ð°Ñ Ð¿Ð¾ умолчанию, на которой проживают примерно 200 000 человек)"
+
#: templates/web/zurich/report/_item.html:17
msgid "(fixed)"
msgstr "(иÑправлено)"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "(ignored if type is \"String\")"
+msgstr ""
+
#: templates/web/base/around/intro.html:2
msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
msgstr "(например: граффити, муÑор в неположенных меÑтах, Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð½Ð°Ñ Ñ‚Ñ€Ð¾Ñ‚ÑƒÐ°Ñ€Ð½Ð°Ñ Ð¿Ð»Ð¸Ñ‚ÐºÐ°, разбитые уличные фонари)"
-#: templates/web/base/report/_item.html:68
+#: templates/web/base/reports/index.html:69
+msgid "(no longer exists)"
+msgstr ""
+
+#: templates/web/base/report/_item.html:70
msgid "(not sent to council)"
msgstr "(не отправлено в органы ÑамоуправлениÑ)"
@@ -174,20 +157,22 @@ msgstr "(не отправлено в органы ÑамоуправлениÑ)
msgid "(optional)"
msgstr "(необÑзательно)"
-#: templates/web/base/report/_item.html:67
+#: templates/web/base/report/_item.html:69
msgid "(sent to both)"
msgstr "(отправлено в обе инÑтанции)"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:239
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/DB/Result/Problem.pm:454
+#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
+#: templates/web/base/alert/_list.html:36
+#, fuzzy
+msgid "(we also have RSS feeds for problems within %s)"
+msgstr "RSS-фид о проблемах в пределах: %s"
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:245
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:381
msgid "-- Pick a category --"
msgstr "-- Выберите категорию --"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:460
-msgid "-- Pick a property type --"
-msgstr "-- Выберите тип имущеÑтва --"
-
#: templates/web/base/admin/response_templates_select.html:3
msgid "--Choose a template--"
msgstr ""
@@ -196,16 +181,16 @@ msgstr ""
msgid "10 inch pothole on Example St, near post box"
msgstr ""
-#: templates/web/base/dashboard/index.html:152
+#: templates/web/base/dashboard/index.html:153
msgid "14-30 days old"
msgstr ""
-#: templates/web/base/dashboard/index.html:151
+#: templates/web/base/dashboard/index.html:152
msgid "7-14 days old"
msgstr ""
-#: templates/web/base/admin/body-form.html:48
-#: templates/web/base/admin/body-form.html:49
+#: templates/web/base/admin/body-form.html:50
+#: templates/web/base/admin/body-form.html:51
msgid ""
"<code>MAPIT_URL</code> is set (<code>%s</code>) but no <code>MAPIT_TYPES</code>.<br>\n"
" This is probably why \"area covered\" is empty (below).<br>\n"
@@ -219,13 +204,13 @@ msgstr ""
msgid "<h2>Reports, Statistics and Actions for</h2> <h1>%s</h1>"
msgstr ""
-#. ('The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories')
#. ("The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories")
-#: templates/web/base/reports/_list-filters.html:37
-msgid "<label for=\"statuses\">Show</label> %s <label for=\"filter_categories\">about</label> %s"
+#: templates/web/base/reports/_list-filters.html:48
+#, fuzzy
+msgid "<label for=\"statuses\">Show</label> %s reports <label for=\"filter_categories\">about</label> %s"
msgstr "<label for=\"statuses\">Показать отчеты:</label> %s <label for=\"filter_categories\">в категории:</label> %s"
-#: templates/web/base/js/translation_strings.html:71
+#: templates/web/base/js/translation_strings.html:74
msgid "<span>%s</span> saved."
msgstr ""
@@ -242,34 +227,25 @@ msgstr "<strong>Ðет</strong> Я хочу подтвердить Ñвое об
msgid "<strong>No</strong> Let me confirm my update by email"
msgstr "<strong>Ðет</strong> Я хочу подтвердить обновление Ñлектронным пиÑьмом"
-#: templates/web/base/auth/general.html:104
+#: templates/web/base/auth/general.html:106
#: templates/web/zurich/auth/general.html:51
msgid "<strong>No</strong> let me sign in by email"
msgstr "<strong>Ðет</strong>, Ñ Ñ…Ð¾Ñ‡Ñƒ войти на Ñайт Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ адреÑа Ñл. почты"
-#: templates/web/base/report/_inspect.html:160
+#: templates/web/base/report/_inspect.html:170
msgid "<strong>Note:</strong> This report has been sent onwards for action. Any changes made won't be passed on."
msgstr ""
-#: templates/web/base/report/_inspect.html:162
+#: templates/web/base/report/_inspect.html:172
msgid "<strong>Note:</strong> This report hasn't yet been sent onwards for action. Any changes made may not be passed on."
msgstr ""
-#: templates/web/base/auth/general.html:80
+#: templates/web/base/auth/general.html:82
#: templates/web/base/report/new/form_user_loggedout_password.html:3
#: templates/web/base/report/update/form_user_loggedout_password.html:2
msgid "<strong>Yes</strong> I have a password"
msgstr "<strong>Да</strong> У Ð¼ÐµÐ½Ñ ÐµÑть пароль"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:10
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:6
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Action Scheduled"
-msgstr "ДейÑтвие запланировано"
-
#: templates/web/base/admin/body-form.html:3
#: templates/web/base/admin/body-form.html:4
msgid ""
@@ -286,19 +262,36 @@ msgid "Add a contact using the form below."
msgstr "Добавить контакт Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ формы."
#: templates/web/base/admin/bodies.html:78
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Add body"
msgstr "Добавить учреждение"
+#: templates/web/base/admin/reportextrafields/index.html:24
+msgid "Add extra fields"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:79
+msgid "Add field"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:85
+msgid "Add fixed state"
+msgstr ""
+
#: templates/web/base/admin/body.html:126
#: templates/web/zurich/admin/body.html:31
msgid "Add new category"
msgstr "Добавить категорию"
+#: templates/web/base/admin/extra-metadata-form.html:72
+#, fuzzy
+msgid "Add option"
+msgstr "(необÑзательно)"
+
#: templates/web/base/report/_item.html:10
-#: templates/web/base/report/_item.html:14
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_item.html:16
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:19
#: templates/web/base/report/_main.html:30
msgid "Add to shortlist"
@@ -310,15 +303,15 @@ msgstr ""
msgid "Add user"
msgstr "Добавить пользователÑ"
-#: perllib/FixMyStreet/Cobrand/Default.pm:730
+#: perllib/FixMyStreet/Cobrand/Default.pm:735
msgid "Add/edit problem categories"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:732
+#: perllib/FixMyStreet/Cobrand/Default.pm:737
msgid "Add/edit response priorities"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:731
+#: perllib/FixMyStreet/Cobrand/Default.pm:736
msgid "Add/edit response templates"
msgstr ""
@@ -326,7 +319,7 @@ msgstr ""
msgid "Added %s"
msgstr "Добавлено: %s"
-#: templates/web/base/report/_main.html:145
+#: templates/web/base/report/_main.html:149
msgid "Adding this report to your shortlist will remove it from %s’s shortlist."
msgstr ""
@@ -346,17 +339,17 @@ msgstr "Создано уведомление «%d» длÑ: %s. Тип: %s, пÐ
msgid "Alert %d disabled (created %s)"
msgstr "Уведомление «%d» отключено (Ñоздано: %s)"
-#: templates/web/base/report/update/form_name.html:38
+#: templates/web/base/report/update/form_name.html:42
msgid "Alert me to future updates"
msgstr "Оповещать Ð¼ÐµÐ½Ñ Ð¾Ð± обновлениÑÑ… в будущем"
#: templates/web/base/dashboard/index.html:138
#: templates/web/base/dashboard/index.html:21
#: templates/web/base/dashboard/index.html:30
+#: templates/web/base/reports/_list-filters.html:3
msgid "All"
msgstr ""
-#: templates/web/base/reports/index.html:6
#: templates/web/zurich/reports/index.html:13
msgid "All Reports"
msgstr "Ð’Ñе Отчеты"
@@ -366,15 +359,23 @@ msgid "All Reports as CSV"
msgstr "Ð’Ñе Ð¾Ð±Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð² виде CSV-файлов"
#: templates/web/base/admin/category-multiselect.html:5
-#: templates/web/base/admin/responsepriorities/list.html:19
+#: templates/web/base/admin/responsepriorities/list.html:20
msgid "All categories"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:26
+#, fuzzy
+msgid "All cobrands"
+msgstr "Кобренд"
+
+#: templates/web/base/admin/reportextrafields/edit.html:47
+msgid "All languages"
+msgstr ""
+
#: templates/web/base/main_nav_items.html:0
#: templates/web/base/main_nav_items.html:27
-#: templates/web/base/reports/_list-filters.html:3
#: templates/web/zurich/admin/index-dm.html:12
-#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:21
+#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:20
#: templates/web/zurich/nav_over_content.html:6
msgid "All reports"
msgstr "Ð’Ñе отчеты"
@@ -384,6 +385,14 @@ msgstr "Ð’Ñе отчеты"
msgid "All reports between %s and %s"
msgstr "Ð’Ñе отчеты Ñ %s по %s"
+#: templates/web/base/reports/index.html:23
+msgid "All time"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:20
+msgid "Alternatively, we can hide your name on <strong>all of your reports and updates</strong> across the site:"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:47
msgid "An update marked this problem as fixed."
msgstr "Ð’ обновлении Ñта неполадка помечена как иÑправленнаÑ."
@@ -393,31 +402,33 @@ msgstr "Ð’ обновлении Ñта неполадка помечена каÐ
msgid "Anonymous"
msgstr "Ðнонимно"
-#: templates/web/base/admin/report_edit.html:134
+#: templates/web/base/report/new/form_user_loggedin.html:21
+#: templates/web/base/report/update/form_name.html:17
+#, fuzzy
+msgid "Anonymous user"
+msgstr "Ðнонимно"
+
+#: templates/web/base/admin/report_edit.html:122
#: templates/web/base/admin/update_edit.html:23
msgid "Anonymous:"
msgstr "Ðнонимно:"
-#: templates/web/base/report/new/form_user_loggedin.html:20
-#: templates/web/base/report/update/form_name.html:13
+#: templates/web/base/report/new/form_user_loggedin.html:24
+#: templates/web/base/report/update/form_name.html:14
msgid "Another user"
msgstr ""
-#: templates/web/base/front/footer-marketing.html:16
-msgid "Are you a developer?"
-msgstr "Вы разработчик?"
-
-#: templates/web/base/js/translation_strings.html:56
+#: templates/web/base/js/translation_strings.html:59
msgid "Are you sure you want to cancel this upload?"
msgstr ""
#: templates/web/base/admin/report_edit.html:84
-#: templates/web/base/js/translation_strings.html:66
+#: templates/web/base/js/translation_strings.html:69
#: templates/web/base/report/display_tools.html:6
msgid "Are you sure?"
msgstr ""
-#: templates/web/base/admin/body-form.html:75
+#: templates/web/base/admin/body-form.html:77
#: templates/web/base/admin/body.html:20
#: templates/web/zurich/admin/body-form.html:24
msgid "Area covered"
@@ -449,11 +460,11 @@ msgstr "Ðаправить во внешнее учреждение:"
msgid "Assign to subdivision:"
msgstr "Ðаправить в подразделение:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:727
+#: perllib/FixMyStreet/Cobrand/Default.pm:732
msgid "Assign users to areas"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:214
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:219
msgid "Assigned to %s"
msgstr "Ðаправлено Ñюда: %s"
@@ -474,11 +485,14 @@ msgstr ""
msgid "Auto-response:"
msgstr ""
-#: templates/web/base/admin/report_edit.html:127
-#: templates/web/base/report/_inspect.html:47
+#: templates/web/base/admin/report-category.html:8
msgid "Available categories"
msgstr ""
+#: templates/web/base/reports/index.html:84
+msgid "Average time between a problem being reported and being fixed, last 100 reports."
+msgstr ""
+
#: templates/web/base/dashboard/index.html:109
msgid "Average time to council marking fixed (days)"
msgstr ""
@@ -491,7 +505,7 @@ msgstr ""
msgid "Avoid personal information and vehicle number plates"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:417
+#: perllib/FixMyStreet/DB/Result/Problem.pm:344
#: templates/web/zurich/report/_item.html:9
msgid "Awaiting moderation"
msgstr "Ожидает модерации"
@@ -504,13 +518,13 @@ msgstr "Ðазад"
msgid "Back to all reports"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
msgid "Ban email address"
msgstr "Добавить Ð°Ð´Ñ€ÐµÑ Ñл. почты в черный ÑпиÑок"
#: perllib/FixMyStreet/Cobrand/Default.pm:650
-#: perllib/FixMyStreet/Cobrand/Default.pm:729
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
+#: perllib/FixMyStreet/Cobrand/Default.pm:734
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:396
#: templates/web/base/admin/bodies.html:1
#: templates/web/base/admin/report_edit.html:55
#: templates/web/zurich/header.html:56
@@ -532,7 +546,11 @@ msgstr "Учреждение:"
msgid "By Date"
msgstr "По дате"
-#: templates/web/base/auth/token.html:21 templates/web/base/email_sent.html:18
+#: templates/web/base/admin/extra-metadata-form.html:36
+msgid "Can be used to display extra text to the user alongside the field. The default template does not show this (<code>meta.datatype_description</code>), you must add it in <code>category_extras_fields.html</code>"
+msgstr ""
+
+#: templates/web/base/auth/token.html:27 templates/web/base/email_sent.html:20
msgid "Can&rsquo;t find our email? Check your spam folder&nbsp;&ndash; that&rsquo;s the solution 99% of the time."
msgstr "ПиÑьмо не пришло? Оно могло попаÑть в папку «Спам»."
@@ -553,8 +571,8 @@ msgstr ""
#: templates/web/base/admin/body.html:72
#: templates/web/base/admin/contact-form.html:19
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/report/_inspect.html:38
-#: templates/web/base/report/_item.html:90
+#: templates/web/base/report/_inspect.html:48
+#: templates/web/base/report/_item.html:92
#: templates/web/base/report/new/category.html:6
#: templates/web/base/report/new/category_wrapper.html:3
#: templates/web/zurich/admin/body.html:14
@@ -565,7 +583,7 @@ msgstr ""
msgid "Category"
msgstr "КатегориÑ"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:852
+#: perllib/FixMyStreet/App/Controller/Admin.pm:956
msgid "Category changed from ‘%s’ to ‘%s’"
msgstr ""
@@ -605,27 +623,11 @@ msgstr ""
msgid "Change password"
msgstr "Сменить пароль"
-#: templates/web/base/admin/contact-form.html:41
-msgid ""
-"Check <strong>confirmed</strong> to indicate that this contact has been confirmed as correct.\n"
-" If you are not sure of the origin or validity of the contact, leave this unchecked."
-msgstr ""
-"Чтобы подтвердить доÑтоверноÑть контактных данных, поÑтавьте галочку в поле <strong>подтверждено</strong>.\n"
-" ЕÑли у Ð²Ð°Ñ ÐµÑть ÑÐ¾Ð¼Ð½ÐµÐ½Ð¸Ñ Ð² доÑтоверноÑти Ñведений о контакте, оÑтавьте поле пуÑтым."
-
-#: templates/web/base/admin/contact-form.html:52
-msgid ""
-"Check <strong>deleted</strong> to remove the category from use. \n"
-" It will not appear as an available category in the drop-down menu on the report-a-problem page."
-msgstr ""
-"Чтобы удалить Ñту категорию, поÑтавьте галочку в поле<strong>удалено</strong> . \n"
-" ÐšÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ Ð±Ð¾Ð»ÑŒÑˆÐµ не будет отображатьÑÑ ÐºÐ°Ðº доÑÑ‚ÑƒÐ¿Ð½Ð°Ñ Ð² раÑкрывающемÑÑ Ð¼ÐµÐ½ÑŽ на Ñтранице подачи обращений."
-
-#: templates/web/base/admin/contact-form.html:79
+#: templates/web/base/admin/contact-form.html:80
msgid "Check <strong>inspection required</strong> if reports in this category <strong>must be inspected</strong> before being sent."
msgstr ""
-#: templates/web/base/admin/contact-form.html:63
+#: templates/web/base/admin/contact-form.html:64
msgid ""
"Check <strong>private</strong> if reports in this category should <strong>never be displayed on the website</strong>.\n"
" <br>\n"
@@ -651,11 +653,11 @@ msgstr ""
"Выберите название <strong>категории</strong> которое будет понÑтно не только другим пользователÑм (например, «Выбоина» или «Уличное оÑвещение»), но и \n"
" Ñотрудникам учреждениÑ. Варианты названий отобразÑÑ‚ÑÑ Ð² раÑкрывающемÑÑ Ð¼ÐµÐ½ÑŽ на Ñтранице подачи обращений."
-#: templates/web/base/report/_inspect.html:93
+#: templates/web/base/report/_inspect.html:103
msgid "Choose another"
msgstr ""
-#: templates/web/base/js/translation_strings.html:65
+#: templates/web/base/js/translation_strings.html:68
msgid "Clear offline data"
msgstr ""
@@ -680,21 +682,22 @@ msgstr "Чтобы опубликовать ваш запроÑ, пройдитÐ
msgid "Click the link in our confirmation email to publish your update."
msgstr "Чтобы опубликовать ваше обновление, пройдите по ÑÑылке, указанной в пиÑьме."
-#: templates/web/base/auth/token.html:18
+#: templates/web/base/auth/token.html:23
msgid "Click the link in our confirmation email to sign in."
msgstr "Чтобы войти, пройдите по ÑÑылке, указанной в пиÑьме."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:189
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:960
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:17
-#: templates/web/base/admin/report_blocks.html:27
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:43
-#: templates/web/base/report/banner.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:18
+#: templates/web/base/auth/token.html:20
+#, fuzzy
+msgid "Click the link in that email to sign in."
+msgstr "Чтобы войти, пройдите по ÑÑылке, указанной в пиÑьме."
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:134
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:194
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:965
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:11
+#: templates/web/base/admin/states/index.html:103
+#: templates/web/base/admin/states/index.html:27
+#: templates/web/base/admin/states/index.html:33
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:10
#: templates/web/zurich/admin/header.html:16
@@ -702,23 +705,17 @@ msgstr "Чтобы войти, пройдите по ÑÑылке, указанÐ
msgid "Closed"
msgstr "Закрыто"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:889
+#: perllib/FixMyStreet/DB/Result/Problem.pm:826
msgid "Closed by council"
msgstr "Закрыто органом ÑамоуправлениÑ"
-#: templates/web/base/reports/_list-filters.html:13
-msgid "Closed reports"
-msgstr "закрытые обращениÑ"
-
-#: templates/web/base/admin/problem_row.html:38
-msgid "Closed:"
-msgstr "Закрыто:"
-
#: templates/web/base/admin/report_edit.html:37
msgid "Co-ordinates:"
msgstr "Координаторы:"
#: templates/web/base/admin/list_updates.html:10
+#: templates/web/base/admin/reportextrafields/edit.html:24
+#: templates/web/base/admin/reportextrafields/index.html:7
msgid "Cobrand"
msgstr "Кобренд"
@@ -732,10 +729,13 @@ msgstr "Данные о кобренде:"
msgid "Cobrand:"
msgstr "Кобренд:"
+#: templates/web/base/admin/extra-metadata-form.html:14
+msgid "Code"
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:50
-#, fuzzy
msgid "Collapse map"
-msgstr "ИÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð½Ð°Ñ ÐºÐ°Ñ€Ñ‚Ð°"
+msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:646
#: templates/web/base/admin/config_page.html:1
@@ -763,9 +763,8 @@ msgstr ""
msgid "Confirmation"
msgstr "Подтверждение"
-#: templates/web/base/admin/body.html:85
-#: templates/web/base/admin/category_edit.html:54
-#: templates/web/base/admin/contact-form.html:47
+#: templates/web/base/admin/contact-form.html:56
+#: templates/web/zurich/admin/contact-form.html:12
#: templates/web/zurich/admin/stats.html:40
msgid "Confirmed"
msgstr "Подтверждено"
@@ -800,8 +799,8 @@ msgstr "СвÑжитеÑÑŒ Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹"
msgid "Coordinates:"
msgstr "Координаты:"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1668
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1696
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1773
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1801
msgid "Could not find user"
msgstr "Ðе удалоÑÑŒ найти пользователÑ"
@@ -821,33 +820,28 @@ msgstr "Контакты органа ÑÐ°Ð¼Ð¾ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð»Ñ %s"
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:83
-#, fuzzy
msgid "Council has marked as closed"
-msgstr "помечено как закрытое"
+msgstr ""
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:57
-#, fuzzy
msgid "Council has marked as fixed"
-msgstr "помечено как решенное"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:80
-#, fuzzy
msgid "Council has marked as in progress"
-msgstr "помечено как находÑщееÑÑ Ð² процеÑÑе разрешениÑ"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:82
-#, fuzzy
msgid "Council has marked as investigating"
-msgstr "помечено как находÑщееÑÑ Ð² процеÑÑе раÑÑледованиÑ"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:81
-#, fuzzy
msgid "Council has marked as planned"
-msgstr "помечено как запланированное"
+msgstr ""
#: templates/web/base/report/_council_sent_info.html:6
msgid "Council ref:&nbsp;%s"
@@ -864,24 +858,33 @@ msgstr "Орган ÑамоуправлениÑ:"
msgid "Count"
msgstr "ПодÑчет"
+#: templates/web/base/admin/states/index.html:114
+#, fuzzy
+msgid "Create"
+msgstr "Создано"
+
#: templates/web/base/email_sent.html:1
msgid "Create a report"
msgstr "Создать обращение"
-#: templates/web/base/admin/contact-form.html:137
+#: templates/web/base/admin/contact-form.html:138
#: templates/web/zurich/admin/body.html:62
msgid "Create category"
msgstr "Создать категорию"
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/responsepriorities/edit.html:58
msgid "Create priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:714
+#: perllib/FixMyStreet/Cobrand/Default.pm:718
+msgid "Create reports/updates as anonymous user"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:719
msgid "Create reports/updates as the council"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:713
+#: perllib/FixMyStreet/Cobrand/Default.pm:717
msgid "Create reports/updates on a user's behalf"
msgstr ""
@@ -911,13 +914,15 @@ msgstr "СтатуÑ"
msgid "Currently no bodies have been created."
msgstr "Ð’ данный момент на Ñайте не зарегиÑтрировано ни одного учреждениÑ."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:825
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:830
#: templates/web/zurich/admin/report_edit-sdm.html:105
msgid "Customer not contactable"
msgstr "Ðевозможно ÑвÑзатьÑÑ Ñ Ð¿Ð¾ÐºÑƒÐ¿Ð°Ñ‚ÐµÐ»ÐµÐ¼"
#: templates/web/base/dashboard/index.html:5
#: templates/web/base/dashboard/index.html:7
+#: templates/web/base/reports/index.html:15
+#: templates/web/base/reports/index.html:18
msgid "Dashboard"
msgstr "Панель управлениÑ"
@@ -925,29 +930,36 @@ msgstr "Панель управлениÑ"
msgid "Dealt with by subdivision within 5 working days"
msgstr "Ð’Ð¾Ð¿Ñ€Ð¾Ñ Ñ€ÐµÑˆÐµÐ½ подразделением в течение 5 рабочих дней"
-#: templates/web/base/report/_inspect.html:73
+#: templates/web/base/admin/responsepriorities/list.html:9
+msgid "Default"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:39
+msgid "Default priority"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:72
msgid "Defect type"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:973
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1078
#: templates/web/base/admin/template_edit.html:50
#: templates/web/zurich/admin/template_edit.html:33
msgid "Delete template"
msgstr "Удалить шаблон"
#: templates/web/base/admin/bodies.html:31
-#: templates/web/base/admin/body.html:87
-#: templates/web/base/admin/category_edit.html:55
#: templates/web/base/admin/contact-form.html:58
-#: templates/web/zurich/admin/contact-form.html:12
+#: templates/web/zurich/admin/contact-form.html:13
msgid "Deleted"
msgstr "Удалено"
-#: templates/web/base/report/_main.html:110
-#: templates/web/base/report/update.html:59
+#: templates/web/base/report/_main.html:114
+#: templates/web/base/report/update.html:68
msgid "Describe why you are moderating this"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:32
#: templates/web/base/admin/responsepriorities/list.html:7
#: templates/web/zurich/admin/index-dm.html:22
#: templates/web/zurich/admin/index-sdm.html:20
@@ -971,7 +983,7 @@ msgstr "Ð”Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ"
msgid "Details:"
msgstr "Ð”Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ:"
-#: templates/web/base/admin/body.html:93
+#: templates/web/base/admin/body.html:92
msgid "Devolved"
msgstr "Передано"
@@ -984,18 +996,17 @@ msgstr "Карта не иÑпользовалаÑÑŒ"
msgid "Diligency prize league table"
msgstr "Таблица Ñамых активных пользователей"
-#: templates/web/base/report/_main.html:114
-#: templates/web/base/report/update.html:61
-#, fuzzy
+#: templates/web/base/report/_main.html:118
+#: templates/web/base/report/update.html:70
msgid "Discard changes"
-msgstr "Сохранить изменениÑ"
+msgstr ""
#: templates/web/base/admin/open311-form-fields.html:95
msgid "Do not send email alerts on fetched comments to problem creator"
msgstr ""
#. ("%s is the site name")
-#: templates/web/base/auth/general.html:58
+#: templates/web/base/auth/general.html:60
#: templates/web/base/report/new/form_user_loggedout.html:25
#: templates/web/base/report/new/oauth_email_form.html:18
#: templates/web/base/report/update-form.html:30
@@ -1003,40 +1014,33 @@ msgstr ""
msgid "Do you have a %s password?"
msgstr "У Ð²Ð°Ñ ÐµÑть пароль на Ñайте %s?"
+#: templates/web/base/report/_inspect.html:87
+msgid "Do you want to automatically raise a defect?"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:57
msgid "Don&rsquo;t know"
msgstr "Ðе знаю"
-#: templates/web/base/contact/index.html:108
+#: templates/web/base/contact/index.html:112
msgid "Don't like forms?"
msgstr "Ðе любите заполнÑть формы?"
-#: templates/web/base/report/_item.html:25
+#: templates/web/base/report/_item.html:27
msgid "Down one"
msgstr ""
-#: templates/web/base/js/translation_strings.html:55
+#: templates/web/base/js/translation_strings.html:58
msgid "Drag and drop photos here or <u>click to upload</u>"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:10
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "Duplicate"
-msgstr "Создать копию"
-
-#: templates/web/base/report/_inspect.html:88
-#, fuzzy
+#: templates/web/base/report/_inspect.html:98
msgid "Duplicate of"
-msgstr "Создать копию"
+msgstr ""
-#: templates/web/base/report/_inspect.html:98
-#, fuzzy
+#: templates/web/base/report/_inspect.html:108
msgid "Duplicates"
-msgstr "Создать копию"
+msgstr ""
#: templates/web/base/admin/body.html:116
msgid ""
@@ -1050,43 +1054,43 @@ msgstr ""
" Следовательно, вы можете добавлÑть много категорий Ð´Ð»Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ контакта учреждениÑ.\n"
" "
-#: templates/web/base/report/_inspect.html:16
-#: templates/web/base/report/_item.html:81
+#: templates/web/base/report/_inspect.html:26
+#: templates/web/base/report/_item.html:83
msgid "Easting/Northing:"
msgstr ""
#: templates/web/base/admin/list_updates.html:42
#: templates/web/base/admin/problem_row.html:41
-#: templates/web/base/admin/responsepriorities/list.html:26
+#: templates/web/base/admin/responsepriorities/list.html:28
#: templates/web/base/admin/templates.html:22
#: templates/web/base/admin/users.html:34
#: templates/web/zurich/admin/problem_row.html:48
msgid "Edit"
msgstr "Редактировать"
-#: templates/web/base/admin/body.html:140
+#: templates/web/base/admin/body.html:141
#: templates/web/base/admin/index.html:39
#: templates/web/zurich/admin/body.html:69
msgid "Edit body details"
msgstr "Редактировать информацию об учреждении"
-#: perllib/FixMyStreet/Cobrand/Default.pm:724
+#: perllib/FixMyStreet/Cobrand/Default.pm:729
msgid "Edit other users' details"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:725
+#: perllib/FixMyStreet/Cobrand/Default.pm:730
msgid "Edit other users' permissions"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:708
+#: perllib/FixMyStreet/Cobrand/Default.pm:712
msgid "Edit report category"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:709
+#: perllib/FixMyStreet/Cobrand/Default.pm:713
msgid "Edit report priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:707
+#: perllib/FixMyStreet/Cobrand/Default.pm:711
msgid "Edit reports"
msgstr ""
@@ -1109,15 +1113,15 @@ msgstr "Редактирование обновлениÑ: %d"
msgid "Editing user %d"
msgstr "Редактирование данных о пользователе: %d"
-#: templates/web/base/admin/category_edit.html:56
+#: templates/web/base/admin/category_edit.html:30
msgid "Editor"
msgstr "Редактор"
#: templates/web/base/admin/bodies.html:27
-#: templates/web/base/admin/category_edit.html:53
+#: templates/web/base/admin/category_edit.html:28
#: templates/web/base/admin/flagged.html:38
#: templates/web/base/admin/users.html:17
-#: templates/web/base/auth/general.html:49
+#: templates/web/base/auth/general.html:51
#: templates/web/zurich/admin/body-form.html:9
#: templates/web/zurich/admin/body.html:15
#: templates/web/zurich/auth/general.html:24
@@ -1125,13 +1129,14 @@ msgstr "Редактор"
msgid "Email"
msgstr "ÐÐ´Ñ€ÐµÑ Ñл. почты"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1644
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1749
msgid "Email added to abuse list"
msgstr "ÐÐ´Ñ€ÐµÑ Ñл. почты добавлен в черный ÑпиÑок"
-#: templates/web/base/admin/contact-form.html:36
-#: templates/web/base/report/new/form_user_loggedin.html:28
-#: templates/web/base/report/update/form_name.html:19
+#: templates/web/base/admin/contact-form.html:38
+#: templates/web/base/alert/_list.html:74
+#: templates/web/base/report/new/form_user_loggedin.html:32
+#: templates/web/base/report/update/form_name.html:23
msgid "Email address"
msgstr ""
@@ -1143,11 +1148,11 @@ msgstr "Создано уведомление по Ñл. почте"
msgid "Email alert deleted"
msgstr "Уведомление по Ñл. почте удалено"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1641
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1746
msgid "Email already in abuse list"
msgstr "Этот Ð°Ð´Ñ€ÐµÑ Ñл. почты уже находитÑÑ Ð² черном ÑпиÑке"
-#: templates/web/base/admin/report_edit.html:141
+#: templates/web/base/admin/report_edit.html:129
#: templates/web/base/admin/update_edit.html:35
#: templates/web/base/admin/user-form.html:19
#: templates/web/zurich/admin/body.html:48
@@ -1172,8 +1177,8 @@ msgstr ""
" Подробнее читайте в \n"
" <a href='https://www.mysociety.org/2013/02/20/open311-extended/' class='admin-offsite-link'>Ñтой Ñтатье</a>."
-#: templates/web/base/admin/body-form.html:120
-#: templates/web/base/admin/body-form.html:121
+#: templates/web/base/admin/body-form.html:122
+#: templates/web/base/admin/body-form.html:123
msgid ""
"Enable this <strong>can be devolved</strong> setting if one or more contacts have a \n"
" different endpoint (and send method) from the body's. For example, if reports for some categories of\n"
@@ -1191,11 +1196,11 @@ msgstr "Дата окончаниÑ:"
msgid "Endpoint"
msgstr "ÐšÐ¾Ð½ÐµÑ‡Ð½Ð°Ñ Ñ‚Ð¾Ñ‡ÐºÐ°"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:76
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:81
msgid "Enter a Z&uuml;rich street name"
msgstr "Введите название улицы в Цюрихе"
-#: perllib/FixMyStreet/Cobrand/UK.pm:15
+#: perllib/FixMyStreet/Cobrand/UK.pm:16
msgid "Enter a nearby UK postcode, or street name and area"
msgstr "Введите почтовый Ð¸Ð½Ð´ÐµÐºÑ Ð±Ð»Ð¸Ð¶Ð°Ð¹ÑˆÐµÐ³Ð¾ Ð¾Ñ‚Ð´ÐµÐ»ÐµÐ½Ð¸Ñ ÑвÑзи в Великобритании или название улицы и регион"
@@ -1204,12 +1209,13 @@ msgstr "Введите почтовый Ð¸Ð½Ð´ÐµÐºÑ Ð±Ð»Ð¸Ð¶Ð°Ð¹ÑˆÐµÐ³Ð¾ отд
msgid "Enter a nearby postcode, or street name and area"
msgstr "Введите Ð¸Ð½Ð´ÐµÐºÑ Ð±Ð»Ð¸Ð¶Ð°Ð¹ÑˆÐµÐ³Ð¾ Ð¾Ñ‚Ð´ÐµÐ»ÐµÐ½Ð¸Ñ ÑвÑзи, название улицы или регион"
+#: perllib/FixMyStreet/Cobrand/DansMonQwat.pm:14
#: templates/web/base/around/postcode_form.html:5
#: templates/web/base/around/postcode_form.html:6
msgid "Enter a nearby street name and area"
msgstr "Введите название ближайшей улицы и регион"
-#: templates/web/base/auth/general.html:116
+#: templates/web/base/auth/general.html:118
#: templates/web/base/report/new/form_user_loggedout_by_email.html:35
#: templates/web/base/report/update/form_user_loggedout_by_email.html:13
#: templates/web/zurich/auth/general.html:65
@@ -1229,8 +1235,8 @@ msgstr "Подробно опишите проблему"
msgid "Error"
msgstr "Ошибка"
-#: templates/web/base/reports/_list-filters.html:20
-#: templates/web/base/reports/_list-filters.html:28
+#: templates/web/base/reports/_list-filters.html:31
+#: templates/web/base/reports/_list-filters.html:39
msgid "Everything"
msgstr "Ð’ÑÑ‘"
@@ -1243,8 +1249,7 @@ msgstr "Пример почтового индекÑа: %s"
msgid "Examples:"
msgstr "Примеры:"
-#: templates/web/base/admin/report_edit.html:122
-#: templates/web/base/report/_inspect.html:42
+#: templates/web/base/admin/report-category.html:3
msgid "Existing category"
msgstr ""
@@ -1252,17 +1257,16 @@ msgstr ""
msgid "Expand map"
msgstr ""
-#: templates/web/base/report/new/form_report.html:52
+#: templates/web/base/report/new/form_report.html:54
msgid "Explain what’s wrong"
msgstr ""
-#: templates/web/base/dashboard/index.html:146
-#, fuzzy
+#: templates/web/base/dashboard/index.html:147
msgid "Export as CSV"
-msgstr "Ð’Ñе Ð¾Ð±Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð² виде CSV-файлов"
+msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:913
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:179
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:12
msgid "Extern"
@@ -1273,7 +1277,7 @@ msgstr "Внешн."
msgid "External ID"
msgstr ""
-#: templates/web/base/admin/body-form.html:87
+#: templates/web/base/admin/body-form.html:89
msgid "External URL"
msgstr "Внешний URL"
@@ -1285,13 +1289,20 @@ msgstr ""
msgid "External team"
msgstr ""
-#: templates/web/base/admin/category_edit.html:25
+#: perllib/FixMyStreet/Cobrand/Default.pm:673
+#: templates/web/base/admin/reportextrafields/edit.html:1
+#: templates/web/base/admin/reportextrafields/index.html:1
+#, fuzzy
+msgid "Extra Fields"
+msgstr "Ð”Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ:"
+
+#: templates/web/base/admin/contact-form.html:141
#: templates/web/base/admin/report_edit.html:94
msgid "Extra data:"
msgstr "Ð”Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ:"
-#: templates/web/base/report/_inspect.html:134
-#: templates/web/base/report/_item.html:106
+#: templates/web/base/report/_inspect.html:144
+#: templates/web/base/report/_item.html:108
msgid "Extra details"
msgstr ""
@@ -1299,6 +1310,11 @@ msgstr ""
msgid "Failed to send message"
msgstr "Ðе удалоÑÑŒ отправить Ñообщение"
+#: templates/web/base/admin/reportextrafields/edit.html:58
+#: templates/web/base/admin/reportextrafields/index.html:9
+msgid "Fields"
+msgstr ""
+
#: templates/web/zurich/admin/index-dm.html:33
#: templates/web/zurich/admin/index-sdm.html:30
msgid "Filter report list"
@@ -1312,52 +1328,32 @@ msgstr "Впервые"
msgid "Fix this by choosing an <strong>area covered</strong> in the <em>Edit body details</em> form below."
msgstr "ИÑправьте Ñто, выбрав <strong>зону покрытиÑ</strong> в форме <em>Редактирование информации об учреждении</em>, раÑположенной ниже."
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:11
-#: templates/web/base/admin/report_blocks.html:26
+#: perllib/FixMyStreet/App/Controller/Admin/States.pm:35
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:133
+#: templates/web/base/admin/states/index.html:29
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:41
-#: templates/web/base/report/banner.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:17
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:45
msgid "Fixed"
msgstr "ИÑправлено"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:13
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:7
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:62
msgid "Fixed - Council"
msgstr "ИÑправлено (орган ÑамоуправлениÑ)"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:12
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:63
msgid "Fixed - User"
msgstr "ИÑправлено (пользователь)"
-#: templates/web/base/reports/_list-filters.html:14
-msgid "Fixed reports"
-msgstr "решенные проблемы"
-
-#: templates/web/base/admin/problem_row.html:37
-msgid "Fixed:"
-msgstr "ИÑправлено:"
-
-#: templates/web/base/admin/body-form.html:95
-#: templates/web/base/admin/responsepriorities/edit.html:41
+#: templates/web/base/admin/body-form.html:97
+#: templates/web/base/admin/responsepriorities/edit.html:53
#: templates/web/zurich/admin/body-form.html:36
msgid "Flag as deleted"
msgstr "Пометить как удаленное"
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/report_blocks.html:23
msgid "Flag user"
msgstr "Пометить пользователÑ"
-#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: perllib/FixMyStreet/Cobrand/Default.pm:644
#: templates/web/base/admin/users.html:20
msgid "Flagged"
msgstr "Помечено"
@@ -1374,7 +1370,7 @@ msgstr "СпиÑок помеченных профилей пользоватеÐ
msgid "Flagged users are not restricted in any way. This is just a list of users that have been marked for attention."
msgstr "Ðа помеченные аккаунты пользователей не накладываютÑÑ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ. Это проÑто аккаунты, к которым проÑвлÑетÑÑ Ð¿Ð¾Ð²Ñ‹ÑˆÐµÐ½Ð½Ð¾Ðµ внимание."
-#: templates/web/base/admin/report_edit.html:147
+#: templates/web/base/admin/report_edit.html:135
#: templates/web/base/admin/user-form.html:100
msgid "Flagged:"
msgstr "Помечено:"
@@ -1387,21 +1383,25 @@ msgstr "Чтобы поÑмотреть только обращениÑ, отнÐ
msgid "For best results include a close-up and a wide shot"
msgstr ""
-#: templates/web/base/admin/body-form.html:71
+#: templates/web/base/admin/extra-metadata-form.html:52
+msgid "For each option, <strong>Key</strong> is the value which is stored in the database for that option and <strong>Name</strong> is the value displayed to the user."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:73
msgid "For more information, see <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
msgstr "Подробнее читайте в разделе <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>Как в FixMyStreet иÑпользуетÑÑ Ð¸Ð½Ñтрумент Mapit</a>."
-#: templates/web/base/auth/general.html:95
+#: templates/web/base/auth/general.html:97
#: templates/web/base/report/new/form_user_loggedout_password.html:20
#: templates/web/base/report/update/form_user_loggedout_password.html:19
msgid "Forgotten your password?"
msgstr "Забыли пароль?"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:743
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:748
msgid "Forwarded to external body"
msgstr "Перенаправлено во внешнее учреждение"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:744
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:749
msgid "Forwarded wish to external body"
msgstr "Пожелание перенаправлено во внешнее учреждение"
@@ -1411,6 +1411,10 @@ msgstr "Пожелание перенаправлено во внешнее уч
msgid "Frequently Asked Questions"
msgstr "ЧаÑто задаваемые вопроÑÑ‹"
+#: templates/web/base/admin/stats.html:102
+msgid "Get Count"
+msgstr ""
+
#: templates/web/base/around/_updates.html:3
#: templates/web/base/report/display_tools.html:14
msgid "Get updates"
@@ -1426,10 +1430,14 @@ msgstr "Получать новоÑти о ходе работы над непо
msgid "Get updates of problems in this %s"
msgstr "Получать новоÑти о неполадках в:"
-#: templates/web/base/alert/_list.html:83
+#: templates/web/base/alert/_list.html:85
msgid "Give me an RSS feed"
msgstr "Подпишите Ð¼ÐµÐ½Ñ Ð½Ð° RSS-фид"
+#: templates/web/base/admin/reportextrafields/edit.html:6
+msgid "Give this collection of fields a name. It is not shown publicly, just here in the admin."
+msgstr ""
+
#: templates/web/base/questionnaire/completed.html:14
msgid "Glad to hear it’s been fixed!"
msgstr "Здорово, что проблема решена!"
@@ -1439,8 +1447,9 @@ msgstr "Здорово, что проблема решена!"
#: templates/web/base/admin/index.html:49
#: templates/web/base/alert/index.html:34
#: templates/web/base/around/postcode_form.html:13
-#: templates/web/base/reports/_list-filters.html:38
-#: templates/web/base/reports/_list-filters.html:53
+#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:64
+#: templates/web/base/reports/index.html:75
#: templates/web/zurich/admin/stats.html:26
msgid "Go"
msgstr "Поехали!"
@@ -1449,7 +1458,7 @@ msgstr "Поехали!"
msgid "Going to send questionnaire?"
msgstr "СобираетеÑÑŒ отправить опроÑ?"
-#: perllib/FixMyStreet/Cobrand/Default.pm:726
+#: perllib/FixMyStreet/Cobrand/Default.pm:731
msgid "Grant access to the admin"
msgstr ""
@@ -1457,10 +1466,6 @@ msgstr ""
msgid "Graph of problem creation by status over time"
msgstr "График уÑÑ‚Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð½ÐµÐ¿Ð¾Ð»Ð°Ð´ÐºÐ¸: ÑтатуÑ/времÑ"
-#: templates/web/base/reports/index.html:15
-msgid "Greyed-out lines are councils that no longer exist."
-msgstr "Графы, выделенные Ñерым цветом, обозначают органы ÑамоуправлениÑ, которые больше не функционируют."
-
#: templates/web/base/questionnaire/index.html:48
msgid "Has this problem been fixed?"
msgstr "Эта проблема решена?"
@@ -1471,7 +1476,7 @@ msgstr "Ð’Ñ‹ впервые отправлÑете обращение в оргÐ
#: templates/web/base/main_nav_items.html:40
#: templates/web/zurich/about/faq-de-ch.html:1
-#: templates/web/zurich/footer.html:23
+#: templates/web/zurich/footer.html:22
#: templates/web/zurich/nav_over_content.html:8
msgid "Help"
msgstr "Помощь"
@@ -1481,22 +1486,13 @@ msgstr "Помощь"
msgid "Help <strong>%s</strong> resolve your problem quicker, by providing some extra detail. This extra information will not be published online."
msgstr ""
-#: templates/web/base/alert/_list.html:9
-msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
-msgstr "ЗдеÑÑŒ предÑтавлены типы уведомлений о неполадках поблизоÑти. Они указаны длÑ: &lsquo;%s&rsquo;."
-
-#: templates/web/zurich/footer.html:12
+#: templates/web/zurich/footer.html:11
msgid "Hi %s"
msgstr "Привет, %s!"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:906
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:19
-#: templates/web/base/admin/report_blocks.html:28
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:911
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:60
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:19
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:11
#: templates/web/zurich/admin/stats.html:32
@@ -1504,16 +1500,33 @@ msgstr "Привет, %s!"
msgid "Hidden"
msgstr "Скрыто"
-#: templates/web/base/report/_main.html:105
-#, fuzzy
+#: templates/web/base/report/_main.html:109
msgid "Hide entire report"
-msgstr "Отправить обращение еще раз"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:1
+#: templates/web/base/my/anonymize.html:2
+msgid "Hide my name"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:21
+msgid "Hide my name everywhere"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:10
+msgid "Hide my name in this update"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:16
+msgid "Hide my name on this report"
+msgstr ""
#: templates/web/base/around/display_location.html:67
msgid "Hide old"
msgstr "Скрыть Ñтарые"
#: templates/web/base/around/display_location.html:62
+#: templates/web/base/js/translation_strings.html:55
msgid "Hide pins"
msgstr "Скрыть метки"
@@ -1521,7 +1534,16 @@ msgstr "Скрыть метки"
msgid "Hide update completely?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:49
+#: templates/web/base/report/_report_meta_info.html:3
+#: templates/web/base/report/update.html:55
+msgid "Hide your name?"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:38
+msgid "Hint"
+msgstr ""
+
+#: templates/web/base/admin/category_edit.html:24
msgid "History"
msgstr "ИÑториÑ"
@@ -1538,12 +1560,12 @@ msgid "How to send successful reports"
msgstr "Как уÑпешно Ñоздавать и отправлÑть обращениÑ"
#: templates/web/base/tokens/confirm_problem.html:36
-#: templates/web/base/tokens/confirm_problem.html:40
+#: templates/web/base/tokens/confirm_problem.html:41
msgid "I just reported a problem on @fixmystreet"
msgstr "Я Ñообщаю о проблеме на @fixmystreet"
-#: templates/web/base/tokens/confirm_update.html:19
-#: templates/web/base/tokens/confirm_update.html:23
+#: templates/web/base/tokens/confirm_update.html:20
+#: templates/web/base/tokens/confirm_update.html:25
msgid "I just updated a problem on @fixmystreet"
msgstr "Я обновлÑÑŽ информацию о проблеме на @fixmystreet"
@@ -1563,8 +1585,8 @@ msgstr "Ðам не удалоÑÑŒ найти ваше обращение в бÐ
msgid "ID"
msgstr "Идентификатор"
-#: templates/web/base/admin/body-form.html:30
-#: templates/web/base/admin/body-form.html:31
+#: templates/web/base/admin/body-form.html:32
+#: templates/web/base/admin/body-form.html:33
msgid ""
"Identify a <strong>parent</strong> if this body is itself part of another body.\n"
" For basic installations, you don't need to join bodies in this way."
@@ -1572,10 +1594,18 @@ msgstr ""
"Введите название <strong>ответÑтвенной организации</strong> еÑли Ñто учреждение работает под началом другой организации.\n"
" Ð’ Ñлучае Ñ Ð±Ð°Ð·Ð¾Ð²Ñ‹Ð¼Ð¸ уÑтановками вам не нужно объединÑть учреждениÑ."
+#: templates/web/base/auth/token.html:19
+msgid "If there's a user associated with the address you entered, we've sent a confirmation email."
+msgstr ""
+
#: templates/web/base/admin/responsepriorities/edit.html:23
msgid "If this priority is passed to an external service (e.g. Exor/Confirm) enter the priority code to use with that service here."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:24
+msgid "If ticked the user won’t see an input field, just the ‘Description’ text."
+msgstr ""
+
#: templates/web/base/admin/contact-form.html:14
msgid ""
"If two or more bodies serve the same location, FixMyStreet combines identical categories into a single entry in\n"
@@ -1588,7 +1618,7 @@ msgstr ""
msgid "If you get some more information about the status of your problem, please come back to the site and leave an update."
msgstr "ЕÑли вы узнаете больше о ÑтатуÑе вашего обращениÑ, обновите данные на нашем Ñайте."
-#: templates/web/base/admin/responsepriorities/edit.html:33
+#: templates/web/base/admin/responsepriorities/edit.html:45
msgid "If you only want this priority to be an option for specific categories, pick them here. By default they will show for all categories."
msgstr ""
@@ -1613,7 +1643,7 @@ msgstr ""
"ЕÑли вы хотите внеÑти новую публичную информацию о неполадке,\n"
"введите ее здеÑÑŒ (важно: новые данные не будут отправлены в орган ÑамоуправлениÑ)."
-#: templates/web/base/admin/contact-form.html:30
+#: templates/web/base/admin/contact-form.html:32
msgid "If you're using <strong>a send method that is not email</strong>, enter the service ID (Open311) or equivalent identifier here."
msgstr "ЕÑли вы <strong>не пользуетеÑÑŒ Ñлектронной почтой</strong>, а предпочитаете другой ÑпоÑоб ÑвÑзи, введите ÑервиÑный идентификатор (Open311) или его Ñквивалент."
@@ -1648,7 +1678,7 @@ msgstr ""
" <strong>пользователей</strong> Ñайта FixMyStreet будет назначен Ñоздателем Ñтих обновлений,\n"
" когда они поÑвÑÑ‚ÑÑ Ð½Ð° Ñайте. Введите идентификатор (номер) Ñтого пользователÑ."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:133
+#: perllib/FixMyStreet/App/Controller/Contact.pm:134
msgid "Illegal ID"
msgstr "Ðеверный идентификатор"
@@ -1656,13 +1686,6 @@ msgstr "Ðеверный идентификатор"
msgid "Illegal feed selection"
msgstr "Ðеверно выбран фид"
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "In Progress"
-msgstr "Ð’ процеÑÑе"
-
#: templates/web/base/admin/flagged.html:39
msgid "In abuse table?"
msgstr "Ð’Ñ‹ в черном ÑпиÑке?"
@@ -1671,18 +1694,17 @@ msgstr "Ð’Ñ‹ в черном ÑпиÑке?"
msgid "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
msgstr "Кроме того, возвращаютÑÑ Ñледующие параметры, которые не ÑвлÑÑŽÑ‚ÑÑ Ñ‡Ð°Ñтью ÑервиÑа Open311 верÑии 2: agency_sent_datetime, title (также возвращаетÑÑ ÐºÐ°Ðº чаÑть опиÑаниÑ), interface_used, comment_count, requestor_name (приÑутÑтвует только еÑли инициатор запроÑа разрешил отображение имени на Ñайте)."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:192
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:954
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:9
-#: templates/web/base/report/banner.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:5
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:197
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:959
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:8
msgid "In progress"
msgstr "Ð’ процеÑÑе"
+#: templates/web/base/admin/contact-form.html:57
+msgid "Inactive"
+msgstr ""
+
#: templates/web/base/tokens/confirm_alert.html:11
msgid "Inbox zero, here we come!"
msgstr "Ура, новых пиÑем нет!"
@@ -1699,11 +1721,15 @@ msgstr "Включить неподтвержденные обращениÑ"
msgid "Incorrect has_photo value \"%s\""
msgstr "Ðверно задано значение has_photo \"%s\""
-#: templates/web/base/admin/contact-form.html:84
+#: templates/web/base/report/_inspect.html:5
+msgid "Inspect report"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:85
msgid "Inspection required"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:711
+#: perllib/FixMyStreet/Cobrand/Default.pm:715
msgid "Instruct contractors to fix problems"
msgstr ""
@@ -1711,13 +1737,6 @@ msgstr ""
msgid "Internal notes"
msgstr "Внутренние заметки"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:11
-msgid "Internal referral"
-msgstr "Внутренний реферал"
-
#: templates/web/base/offline/appcache.html:3
msgid "Internet glitch"
msgstr ""
@@ -1726,7 +1745,7 @@ msgstr ""
msgid "Invalid agency_responsible value %s"
msgstr "Ðеверно задано значение agency_responsible %s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1502
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1607
msgid "Invalid end date"
msgstr "Ðеверно указана дата окончаниÑ"
@@ -1734,26 +1753,15 @@ msgstr "Ðеверно указана дата окончаниÑ"
msgid "Invalid format %s specified."
msgstr "Ðеверно задан формат: %s."
-#: perllib/FixMyStreet/App/Controller/Report.pm:398
+#: perllib/FixMyStreet/App/Controller/Report.pm:409
msgid "Invalid location. New location must be covered by the same council."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1498
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1603
msgid "Invalid start date"
msgstr "Ðеверно указана дата начала"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:7
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:4
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Investigating"
-msgstr "РаÑÑледование"
-
-#: templates/web/base/contact/blurb.html:8
+#: templates/web/base/contact/blurb.html:2
msgid "It's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there."
msgstr "ЗаглÑните в раздел <a href=\"%s\">ЧаÑто задаваемые вопроÑÑ‹</a>: возможно, вы найдете там нужную информацию."
@@ -1761,37 +1769,59 @@ msgstr "ЗаглÑните в раздел <a href=\"%s\">ЧаÑто задавÐ
msgid "It’s on its way to the council right now."
msgstr "Отправлено в орган ÑамоуправлениÑ."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:177
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:182
msgid "Jurisdiction Unknown"
msgstr "ЮриÑÐ´Ð¸ÐºÑ†Ð¸Ñ Ð½ÐµÐ¸Ð·Ð²ÐµÑтна"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:15
msgid "Jurisdiction unknown"
msgstr "ЮриÑÐ´Ð¸ÐºÑ†Ð¸Ñ Ð½ÐµÐ¸Ð·Ð²ÐµÑтна"
-#: templates/web/base/auth/general.html:91
+#: templates/web/base/auth/general.html:93
#: templates/web/base/report/new/form_user_loggedout_password.html:16
#: templates/web/base/report/update/form_user_loggedout_password.html:15
#: templates/web/zurich/auth/general.html:40
msgid "Keep me signed in on this computer"
msgstr "Запомнить мой логин и пароль на Ñтом компьютере"
+#: templates/web/base/admin/extra-metadata-form.html:61
+msgid "Key"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:9
+#: templates/web/base/admin/states/index.html:95
+msgid "Label"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:6
+#: templates/web/base/admin/reportextrafields/edit.html:45
+msgid "Language"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/index.html:8
+msgid "Languages"
+msgstr ""
+
#: templates/web/base/dashboard/index.html:50
msgid "Last 4 weeks"
msgstr ""
#: templates/web/base/dashboard/index.html:49
-#, fuzzy
+#: templates/web/base/reports/index.html:38
msgid "Last 7 days"
-msgstr "ПоÑледнее обновление:"
+msgstr ""
#: templates/web/base/admin/body.html:74
#: templates/web/zurich/admin/body.html:16
msgid "Last editor"
msgstr "ПоÑледний редактор"
+#: templates/web/base/questionnaire/index.html:25
+msgid "Last update"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:89
msgid "Last update:"
msgstr "ПоÑледнее обновление:"
@@ -1800,23 +1830,27 @@ msgstr "ПоÑледнее обновление:"
msgid "Last&nbsp;update:"
msgstr "ПоÑледнее&nbsp;обновление:"
-#: templates/web/base/report/_inspect.html:20
-#: templates/web/base/report/_item.html:86
+#: templates/web/base/report/_inspect.html:30
+#: templates/web/base/report/_item.html:88
msgid "Latitude/Longitude:"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:50
+#: templates/web/base/reports/_list-filters.html:61
msgid "Least recently updated"
msgstr ""
-#: templates/web/base/admin/body-form.html:127
+#: templates/web/base/admin/body-form.html:129
msgid "Leave this blank if all reports to this body should be sent using the same send method (e.g., \"%s\")."
msgstr "ОÑтавьте поле пуÑтым, еÑли вÑе Ð¾Ð±Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð² Ñто учреждение должны быть отправлены единым ÑпоÑобом (например: «%s»)."
-#: templates/web/base/dashboard/index.html:150
+#: templates/web/base/dashboard/index.html:151
msgid "Less than 7 days old"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:47
+msgid "List"
+msgstr ""
+
#: templates/web/base/admin/body.html:31
msgid "List all reported problems"
msgstr "Ð’Ñе ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾ неполадках в виде ÑпиÑка"
@@ -1847,23 +1881,23 @@ msgstr "МеÑтные уведомлениÑ"
msgid "Locate the problem on a map of the area"
msgstr "Укажите на карте меÑтоположение проблемы"
-#: templates/web/base/auth/general.html:22
+#: templates/web/base/auth/general.html:24
#: templates/web/base/report/new/form_user_loggedout.html:6
#: templates/web/base/report/update/form_user_loggedout.html:7
msgid "Log in with Facebook"
msgstr ""
-#: templates/web/base/auth/general.html:30
+#: templates/web/base/auth/general.html:32
#: templates/web/base/report/new/form_user_loggedout.html:14
#: templates/web/base/report/update/form_user_loggedout.html:15
msgid "Log in with Twitter"
msgstr ""
-#: templates/web/base/js/translation_strings.html:59
+#: templates/web/base/js/translation_strings.html:62
msgid "Log in with email"
msgstr ""
-#: templates/web/base/dashboard/index.html:145
+#: templates/web/base/dashboard/index.html:146
#: templates/web/base/dashboard/index.html:38
msgid "Look up"
msgstr ""
@@ -1872,11 +1906,11 @@ msgstr ""
msgid "MAP"
msgstr "КÐРТÐ"
-#: perllib/FixMyStreet/Cobrand/Default.pm:712
+#: perllib/FixMyStreet/Cobrand/Default.pm:716
msgid "Manage shortlist"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:45
+#: templates/web/base/reports/_list-filters.html:56
msgid "Manual order"
msgstr ""
@@ -1892,19 +1926,11 @@ msgstr "Пометить как отправленное"
msgid "Mark users whose behaviour you want to keep a check on as <strong>flagged</strong>."
msgstr "<strong>Помечайте</strong> тех пользователей, за дейÑтвиÑми которых вы хотите Ñледить."
-#: templates/web/base/reports/index.html:27
-msgid "Marked fixed/closed in the past eight weeks"
-msgstr "Помечено как решенный/закрытый Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð·Ð° поÑледние воÑемь недель"
-
-#: templates/web/base/reports/index.html:28
-msgid "Marked fixed/closed more than eight weeks ago"
-msgstr "Помечено как решенный/закрытый Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð±Ð¾Ð»ÐµÐµ воÑьми недель назад"
-
-#: perllib/FixMyStreet/Cobrand/Default.pm:710
+#: perllib/FixMyStreet/Cobrand/Default.pm:714
msgid "Markup problem details"
msgstr ""
-#: templates/web/base/contact/index.html:96
+#: templates/web/base/contact/index.html:100
msgid "Message"
msgstr "Сообщение"
@@ -1924,68 +1950,69 @@ msgstr ""
msgid "Missing jurisdiction_id"
msgstr "Ðе найден параметр jurisdiction_id"
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:706
+#: perllib/FixMyStreet/Cobrand/Default.pm:710
msgid "Moderate report details"
msgstr ""
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate this report"
msgstr ""
#: templates/web/base/report/update.html:12
-#, fuzzy
msgid "Moderate this update"
-msgstr "Ðвтор обращениÑ: %s, Ð²Ñ€ÐµÐ¼Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸: %s"
+msgstr ""
-#: templates/web/base/report/_main.html:69
-#: templates/web/base/report/update.html:49
-#, fuzzy
+#: templates/web/base/report/_main.html:73
+#: templates/web/base/report/update.html:58
msgid "Moderated by %s at %s"
-msgstr "Ðвтор обращениÑ: %s, Ð²Ñ€ÐµÐ¼Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸: %s"
+msgstr ""
#: templates/web/zurich/admin/stats.html:34
msgid "Moderated by division within one working day"
msgstr "Прошло модерацию в течение одного рабочего днÑ"
-#: templates/web/base/report/_main.html:109
-#: templates/web/base/report/update.html:57
-#, fuzzy
+#: templates/web/base/report/_main.html:113
+#: templates/web/base/report/update.html:66
msgid "Moderation reason:"
-msgstr "другие облаÑти"
+msgstr ""
#: templates/web/base/admin/stats.html:11
msgid "Month"
msgstr "МеÑÑц"
-#: templates/web/base/reports/_list-filters.html:51
+#: templates/web/base/reports/_list-filters.html:62
msgid "Most commented"
msgstr ""
#: templates/web/base/admin/bodies.html:25
#: templates/web/base/admin/body-form.html:24
+#: templates/web/base/admin/extra-metadata-form.html:65
#: templates/web/base/admin/flagged.html:16
#: templates/web/base/admin/flagged.html:37
#: templates/web/base/admin/index.html:62
#: templates/web/base/admin/list_updates.html:7
+#: templates/web/base/admin/reportextrafields/edit.html:11
+#: templates/web/base/admin/reportextrafields/index.html:6
#: templates/web/base/admin/reports.html:14
#: templates/web/base/admin/responsepriorities/list.html:6
+#: templates/web/base/admin/states/index.html:108
+#: templates/web/base/admin/states/index.html:11
#: templates/web/base/admin/users.html:16
-#: templates/web/base/auth/general.html:106
-#: templates/web/base/report/new/form_user_loggedin.html:40
+#: templates/web/base/auth/general.html:108
+#: templates/web/base/report/new/form_user_loggedin.html:42
#: templates/web/base/report/new/form_user_loggedout_by_email.html:7
-#: templates/web/base/report/update/form_name.html:23
-#: templates/web/base/reports/index.html:23
+#: templates/web/base/report/update/form_name.html:27
#: templates/web/zurich/admin/body-form.html:4
#: templates/web/zurich/auth/general.html:60
#: templates/web/zurich/report/new/fill_in_details_form.html:59
msgid "Name"
msgstr "ИмÑ"
-#: templates/web/base/admin/report_edit.html:139
+#: templates/web/base/admin/report_edit.html:127
#: templates/web/base/admin/responsepriorities/edit.html:13
#: templates/web/base/admin/update_edit.html:34
#: templates/web/base/admin/user-form.html:16
@@ -1997,7 +2024,7 @@ msgstr "ИмÑ:"
msgid "Name: %s"
msgstr "ИмÑ: %s"
-#: templates/web/base/report/_inspect.html:28
+#: templates/web/base/report/_inspect.html:38
msgid "Navigate to this problem"
msgstr ""
@@ -2006,16 +2033,16 @@ msgstr ""
msgid "Nearest named road to the pin placed on the map (automatically generated using OpenStreetMap): %s%s"
msgstr "Ð‘Ð»Ð¸Ð¶Ð°Ð¹ÑˆÐ°Ñ Ðº метке дорога (генерируетÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑки Ñ Ð¸Ñпользованием ÑервиÑа OpenStreetMap): %s%s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:129
+#: perllib/FixMyStreet/Cobrand/UK.pm:134
msgid "Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"
msgstr "Ближайший к метке почтовый Ð¸Ð½Ð´ÐµÐºÑ (генерируетÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑки): %s (%sm мил.)"
-#: perllib/FixMyStreet/Cobrand/Default.pm:527
-#: perllib/FixMyStreet/Cobrand/Default.pm:567
+#: perllib/FixMyStreet/Cobrand/Default.pm:538
+#: perllib/FixMyStreet/Cobrand/Default.pm:566
msgid "Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"
msgstr "Ð‘Ð»Ð¸Ð¶Ð°Ð¹ÑˆÐ°Ñ Ðº метке дорога (генерируетÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑки Ñ Ð¸Ñпользованием ÑервиÑа Bing Maps): %s"
-#: perllib/FixMyStreet/Script/Alerts.pm:319
+#: perllib/FixMyStreet/Script/Alerts.pm:316
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s\n"
"\n"
@@ -2023,19 +2050,23 @@ msgstr ""
"Ð‘Ð»Ð¸Ð¶Ð°Ð¹ÑˆÐ°Ñ Ðº метке дорога (генерируетÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑки Ñ Ð¸Ñпользованием Bing Maps): %s\n"
"\n"
-#: templates/web/base/auth/token.html:17 templates/web/base/email_sent.html:5
+#: templates/web/base/auth/token.html:18
+msgid "Nearly done!"
+msgstr ""
+
+#: templates/web/base/auth/token.html:22 templates/web/base/email_sent.html:5
msgid "Nearly done! Now check your email&hellip;"
msgstr "Почти готово! Проверьте почту&hellip;"
-#: templates/web/base/reports/index.html:24
-msgid "New <br>problems"
-msgstr "Ðовые <br>неполадки"
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:131
+msgid "New"
+msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:259
+#: perllib/FixMyStreet/App/Controller/Admin.pm:262
msgid "New body added"
msgstr "Добавлено новое учреждение"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:405
+#: perllib/FixMyStreet/App/Controller/Admin.pm:386
msgid "New category contact added"
msgstr "Добавлен новый контакт в категории"
@@ -2061,7 +2092,7 @@ msgid "New password:"
msgstr ""
#: templates/web/base/admin/responsepriorities/edit.html:4
-#: templates/web/base/admin/responsepriorities/list.html:32
+#: templates/web/base/admin/responsepriorities/list.html:34
msgid "New priority"
msgstr ""
@@ -2090,6 +2121,7 @@ msgid "New reports"
msgstr "Ðовые обращениÑ"
#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/states/index.html:91
msgid "New state"
msgstr "Ðовый ÑтатуÑ"
@@ -2099,7 +2131,7 @@ msgstr "Ðовый ÑтатуÑ"
msgid "New template"
msgstr "Ðовый шаблон"
-#: templates/web/base/reports/_list-filters.html:47
+#: templates/web/base/reports/_list-filters.html:58
msgid "Newest"
msgstr ""
@@ -2107,20 +2139,19 @@ msgstr ""
msgid "Next"
msgstr "Далее"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1203
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
+#: perllib/FixMyStreet/Cobrand/Default.pm:1237
#: templates/web/base/admin/category_edit.html:4
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:137
+#: templates/web/base/admin/report_edit.html:125
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:26
#: templates/web/base/questionnaire/creator_fixed.html:16
#: templates/web/base/questionnaire/index.html:106
#: templates/web/base/questionnaire/index.html:55
+#: templates/web/base/report/_inspect.html:92
msgid "No"
msgstr "Ðет"
@@ -2136,7 +2167,7 @@ msgstr "Ðет учреждениÑ"
msgid "No council"
msgstr "Ðет органа ÑамоуправлениÑ"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:445
+#: perllib/FixMyStreet/DB/Result/Problem.pm:372
msgid "No council selected"
msgstr "Орган ÑÐ°Ð¼Ð¾ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ðµ выбран"
@@ -2152,25 +2183,16 @@ msgstr "Ðе найдено помеченных неполадок."
msgid "No flagged users found."
msgstr "Ðе найдено помеченных пользователей."
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:14
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:8
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "No further action"
-msgstr "Ðевозможно уÑтранить"
-
#: templates/web/zurich/admin/report_edit-sdm.html:125
#: templates/web/zurich/admin/report_edit.html:259
msgid "No further updates"
msgstr "Пока нет обновлений"
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:84
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:68
msgid "No inspections by that inspector in the selected date range."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:86
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:70
msgid "No inspections in the selected date range."
msgstr ""
@@ -2178,8 +2200,8 @@ msgstr ""
msgid "No result returned"
msgstr "Результатов нет"
-#: templates/web/base/admin/body-form.html:66
-#: templates/web/base/admin/body-form.html:67
+#: templates/web/base/admin/body-form.html:68
+#: templates/web/base/admin/body-form.html:69
msgid ""
"No specific areas are currently available, because the <code>MAPIT_URL</code> in\n"
" your config file is not pointing to a live MapIt service."
@@ -2218,17 +2240,8 @@ msgstr ""
" Ð’ завиÑимоÑти от должноÑти, Ñотрудники могут иметь доÑтуп к панели ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ (там ÑодержитÑÑ ÐºÑ€Ð°Ñ‚ÐºÐ°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ\n"
" о дейÑтвиÑÑ… их учреждениÑ), а также возможноÑть Ñкрывать Ð¾Ð±Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ уÑтанавливать ÑпецифичеÑкие ÑтатуÑÑ‹ обращений."
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:9
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "Not Responsible"
-msgstr "ОтветÑтвенноÑти не неÑет"
-
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:181
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:186
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:933
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:13
msgid "Not contactable"
@@ -2247,7 +2260,7 @@ msgid "Not reported to council"
msgstr "Первое обращение в органы ÑамоуправлениÑ"
#: templates/web/base/admin/body.html:75
-#: templates/web/base/admin/category_edit.html:57
+#: templates/web/base/admin/category_edit.html:31
#: templates/web/zurich/admin/body.html:17
msgid "Note"
msgstr "Примечание"
@@ -2257,7 +2270,7 @@ msgid "Note that when including unconfirmed reports we use the date the report w
msgstr "Учтите, что когда ÑиÑтема включает неподтвержденные обращениÑ, региÑтрируетÑÑ Ð´Ð°Ñ‚Ð° ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¾Ð±Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ. Она может отличатьÑÑ Ð¾Ñ‚ даты Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ Ð¾Ð±Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ, поÑтому Ñти данные могут быть неточными."
#: templates/web/zurich/admin/body.html:55
-#: templates/web/zurich/admin/contact-form.html:17
+#: templates/web/zurich/admin/contact-form.html:19
msgid "Note:"
msgstr "Примечание:"
@@ -2269,6 +2282,10 @@ msgstr "Примечание: <strong>%s</strong>"
msgid "Notes from SDM to DM"
msgstr "Заметки SDM Ð´Ð»Ñ DM"
+#: templates/web/base/admin/extra-metadata-form.html:26
+msgid "Notice"
+msgstr ""
+
#: templates/web/base/report/new/oauth_email_form.html:17
msgid "Now to submit your report&hellip;"
msgstr "Теперь обращение можно отправить&hellip;"
@@ -2279,63 +2296,43 @@ msgstr "Теперь обращение можно отправить&hellip;"
msgid "Now to submit your update&hellip;"
msgstr "Теперь обновление можно отправить&hellip;"
+#: templates/web/base/reports/index.html:98
+msgid "Number of problems reported in each category, in the last 7 days."
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:43
msgid "OK"
msgstr "ОК"
-#: templates/web/base/js/translation_strings.html:67
+#: templates/web/base/js/translation_strings.html:70
msgid "Offline data cleared"
msgstr ""
-#: templates/web/base/js/translation_strings.html:64
+#: templates/web/base/js/translation_strings.html:67
msgid "Offline update data saved"
msgstr ""
-#: templates/web/base/reports/index.html:26
-msgid "Old / unknown <br>problems"
-msgstr "Давние/неизвеÑтные <br>неполадки"
-
#: templates/web/base/admin/questionnaire.html:24
msgid "Old state"
msgstr "Давний ÑтатуÑ"
-#: templates/web/base/reports/index.html:28
-msgid "Older <br>fixed"
-msgstr "Более давние <br>уÑтраненные"
-
-#: templates/web/base/reports/index.html:25
-msgid "Older <br>problems"
-msgstr "Давние <br>неполадки"
-
-#: templates/web/base/reports/_list-filters.html:48
+#: templates/web/base/reports/_list-filters.html:59
msgid "Oldest"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:900
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:25
-#: templates/web/base/admin/report_blocks.html:6
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:905
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:10
+#: templates/web/base/admin/states/index.html:102
+#: templates/web/base/admin/states/index.html:25
+#: templates/web/base/admin/states/index.html:32
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:3
-#: templates/web/base/report/update/form_update.html:41
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:7
#: templates/web/zurich/admin/update_edit.html:18
msgid "Open"
msgstr "Ð’Ð¾Ð¿Ñ€Ð¾Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚"
-#: templates/web/base/reports/index.html:25
-msgid "Open for more than four weeks, with an update within the past eight weeks"
-msgstr "Ð’Ð¾Ð¿Ñ€Ð¾Ñ Ð±Ñ‹Ð» открыт более четырех недель назад, обновление данных было выполнено в течение поÑледних воÑьми недель"
-
-#: templates/web/base/reports/index.html:26
-msgid "Open, but not had any update in eight weeks"
-msgstr "Ð’Ð¾Ð¿Ñ€Ð¾Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚, но за поÑледние воÑемь недель обновлений не было"
-
#: templates/web/base/admin/open311-form-fields.html:47
msgid "Open311 API Key"
msgstr ""
@@ -2356,26 +2353,38 @@ msgstr "Веб-Ñтраница ÑервиÑа Open311"
msgid "Open311 specification"
msgstr "Ð¡Ð¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Open311"
-#: templates/web/base/alert/_list.html:61
-msgid "Or problems reported to:"
-msgstr "Или данные о неполадках, отправленные Ñюда:"
-
-#: templates/web/base/alert/_list.html:37
-msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
-msgstr "Ð’Ñ‹ также можете подпиÑатьÑÑ Ð½Ð° уведомлениÑ, выбрав Ñвой район или орган ÑамоуправлениÑ:"
-
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:1061
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:659
-#: perllib/FixMyStreet/DB/Result/Problem.pm:642
-#: perllib/FixMyStreet/DB/Result/Problem.pm:649
-#: perllib/FixMyStreet/DB/Result/Problem.pm:664
-#: perllib/FixMyStreet/DB/Result/Problem.pm:673
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "Options"
+msgstr ""
+
+#: templates/web/base/alert/_list.html:84
+msgid "Or subscribe by RSS"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:8
+msgid "Order"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1107
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:675
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:676
+#: perllib/FixMyStreet/DB/Result/Problem.pm:579
+#: perllib/FixMyStreet/DB/Result/Problem.pm:586
+#: perllib/FixMyStreet/DB/Result/Problem.pm:601
+#: perllib/FixMyStreet/DB/Result/Problem.pm:610
#: perllib/FixMyStreet/Script/Reports.pm:183
#: perllib/FixMyStreet/Script/Reports.pm:198
msgid "Other"
msgstr "Другое"
+#: templates/web/base/reports/index.html:107
+msgid "Other categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:92
+msgid "Overall average"
+msgstr ""
+
#: templates/web/base/admin/list_updates.html:8
msgid "Owner"
msgstr "Владелец"
@@ -2385,17 +2394,16 @@ msgstr "Владелец"
msgid "Page Not Found"
msgstr "Страница не найдена"
-#: templates/web/base/admin/body-form.html:37
+#: templates/web/base/admin/body-form.html:39
#: templates/web/zurich/admin/body-form.html:14
msgid "Parent"
msgstr "РодительÑкаÑ"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:20
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:61
msgid "Partial"
msgstr "ЧаÑтичнаÑ"
-#: templates/web/base/auth/general.html:109
+#: templates/web/base/auth/general.html:111
#: templates/web/base/report/new/form_user_loggedout_by_email.html:28
#: templates/web/base/report/update/form_user_loggedout_by_email.html:6
#: templates/web/zurich/auth/general.html:32
@@ -2403,7 +2411,7 @@ msgstr "ЧаÑтичнаÑ"
msgid "Password (optional)"
msgstr "Пароль (необÑзательно)"
-#: templates/web/base/auth/general.html:82
+#: templates/web/base/auth/general.html:84
msgid "Password:"
msgstr "Пароль:"
@@ -2415,17 +2423,22 @@ msgstr "ПоÑтоÑÐ½Ð½Ð°Ñ ÑÑылка"
msgid "Permissions:"
msgstr ""
+#: templates/web/base/report/_inspect.html:19
+#, fuzzy
+msgid "Phone Reporter:"
+msgstr "Обращение отправлено:"
+
#: templates/web/zurich/report/new/fill_in_details_form.html:65
msgid "Phone number"
msgstr "Ðомер телефона"
-#: templates/web/base/report/new/form_user_loggedin.html:57
+#: templates/web/base/report/new/form_user_loggedin.html:59
#: templates/web/base/report/new/form_user_loggedout_by_email.html:25
msgid "Phone number (optional)"
msgstr "Ðомер телефона (необÑзательно)"
#: perllib/FixMyStreet/Script/Reports.pm:87
-#: templates/web/base/admin/report_edit.html:146
+#: templates/web/base/admin/report_edit.html:134
#: templates/web/base/admin/user-form.html:21
#: templates/web/zurich/admin/stats.html:39
msgid "Phone:"
@@ -2434,9 +2447,9 @@ msgstr "Телефон:"
#: templates/web/base/questionnaire/index.html:78
#: templates/web/base/questionnaire/index.html:93
#: templates/web/base/questionnaire/index.html:95
-#: templates/web/base/report/new/form_report.html:28
-#: templates/web/base/report/new/form_report.html:43
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/new/form_report.html:45
+#: templates/web/base/report/new/form_report.html:47
#: templates/web/base/report/update/form_update.html:22
#: templates/web/base/report/update/form_update.html:24
#: templates/web/base/report/update/form_update.html:7
@@ -2454,12 +2467,12 @@ msgstr "Фото"
msgid "Photo is required."
msgstr "Ðеобходимо добавить фото."
-#: templates/web/zurich/admin/contact-form.html:14
+#: templates/web/zurich/admin/contact-form.html:16
msgid "Photo required"
msgstr "Ðеобходимо добавить фото"
#: templates/web/base/questionnaire/index.html:78
-#: templates/web/base/report/new/form_report.html:28
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/update/form_update.html:7
#: templates/web/zurich/report/new/fill_in_details_form.html:20
msgid "Photos"
@@ -2469,17 +2482,18 @@ msgstr ""
msgid "Photos of recent nearby reports"
msgstr "Фотографии проиÑшеÑтвий поблизоÑти, размещенные в недавних обращениÑÑ…"
+#: templates/web/base/reports/index.html:63
+#: templates/web/base/reports/index.html:66
+msgid "Pick your council"
+msgstr ""
+
#: templates/web/base/around/display_location.html:76
#: templates/web/base/js/translation_strings.html:30
msgid "Place pin on map"
msgstr "ПоÑтавить метку на карте"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:940
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:946
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:8
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:945
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:951
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:9
#: templates/web/zurich/admin/index-dm.html:9
@@ -2497,31 +2511,27 @@ msgstr "Проверьте пароли и попробуйте еще раз"
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:18
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:43
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:45
#: templates/web/zurich/auth/general.html:3
#: templates/web/zurich/auth/general.html:9
msgid "Please check your email address is correct"
msgstr "Проверьте правильноÑть напиÑÐ°Ð½Ð¸Ñ Ð°Ð´Ñ€ÐµÑа Ñл. почты"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:350
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:844
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:867
-#: perllib/FixMyStreet/DB/Result/Problem.pm:456
+#: perllib/FixMyStreet/App/Controller/Admin.pm:329
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:873
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:896
+#: perllib/FixMyStreet/DB/Result/Problem.pm:383
#: templates/web/base/js/translation_strings.html:9
msgid "Please choose a category"
msgstr "Выберите категорию"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:462
-msgid "Please choose a property type"
-msgstr "Выберите тип имущеÑтва"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:396
+#: perllib/FixMyStreet/App/Controller/Admin.pm:377
#: templates/web/base/admin/bodies.html:4 templates/web/base/admin/body.html:11
msgid "Please correct the errors below"
msgstr "ИÑправьте ошибки ниже"
-#: templates/web/base/contact/blurb.html:12
+#: templates/web/base/contact/blurb.html:6
msgid ""
"Please do <strong>not</strong> report problems through this form; messages go to\n"
"the team behind this site, not a council. To report a problem,\n"
@@ -2535,18 +2545,18 @@ msgstr ""
msgid "Please do not be abusive&nbsp;&mdash; abusing your council devalues the service for all users."
msgstr "Будьте вежливы! Грубые, некорректные Ð¾Ð±Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ðº предÑтавителÑм органов ÑÐ°Ð¼Ð¾ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð¸Ñкредитируют вÑех пользователей ÑервиÑа. "
-#: perllib/FixMyStreet/App/Controller/Admin.pm:351
-#: perllib/FixMyStreet/DB/Result/Comment.pm:127
+#: perllib/FixMyStreet/App/Controller/Admin.pm:330
+#: perllib/FixMyStreet/DB/Result/Comment.pm:128
#: templates/web/base/js/translation_strings.html:2
msgid "Please enter a message"
msgstr "Введите текÑÑ‚ ÑообщениÑ"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1200
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1364
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1305
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1469
msgid "Please enter a name"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:478
+#: perllib/FixMyStreet/App/Controller/Admin.pm:497
msgid "Please enter a name for this body"
msgstr ""
@@ -2556,15 +2566,15 @@ msgstr ""
msgid "Please enter a password"
msgstr "Введите пароль"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:114
-#: perllib/FixMyStreet/DB/Result/Problem.pm:439
+#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/DB/Result/Problem.pm:366
#: templates/web/base/js/translation_strings.html:3
msgid "Please enter a subject"
msgstr "Введите тему"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1197
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1361
-#: perllib/FixMyStreet/App/Controller/Admin.pm:363
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1302
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1466
+#: perllib/FixMyStreet/App/Controller/Admin.pm:343
#: perllib/FixMyStreet/DB/Result/User.pm:164
#: templates/web/base/js/translation_strings.html:12
#: templates/web/base/js/translation_strings.html:16
@@ -2572,21 +2582,21 @@ msgid "Please enter a valid email"
msgstr "Введите дейÑтвующий Ð°Ð´Ñ€ÐµÑ Ñл. почты"
#: perllib/FixMyStreet/App/Controller/Alert.pm:350
-#: perllib/FixMyStreet/App/Controller/Contact.pm:124
+#: perllib/FixMyStreet/App/Controller/Contact.pm:125
msgid "Please enter a valid email address"
msgstr "Введите дейÑтвующий Ð°Ð´Ñ€ÐµÑ Ñл. почты"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:442
+#: perllib/FixMyStreet/DB/Result/Problem.pm:369
#: templates/web/base/js/translation_strings.html:4
msgid "Please enter some details"
msgstr "Введите дополнительную информацию"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/App/Controller/Contact.pm:114
#: perllib/FixMyStreet/DB/Result/User.pm:161
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:17
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:42
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:44
#: templates/web/base/js/translation_strings.html:11
#: templates/web/base/js/translation_strings.html:15
#: templates/web/zurich/auth/general.html:3
@@ -2603,14 +2613,14 @@ msgstr "Введите Ð°Ð´Ñ€ÐµÑ Ñвоей Ñл. почты"
msgid "Please enter your first name"
msgstr "Введите Ñвое имÑ"
-#: perllib/FixMyStreet/Cobrand/UK.pm:320
+#: perllib/FixMyStreet/Cobrand/UK.pm:326
#: templates/web/base/js/translation_strings.html:7
msgid "Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below"
msgstr "Введите Ñвое полное имÑ. Эта Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð½ÐµÐ¾Ð±Ñ…Ð¾Ð´Ð¸Ð¼Ð° предÑтавителÑм органов ÑамоуправлениÑ. ЕÑли вы не хотите, чтобы ваше полное Ð¸Ð¼Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶Ð°Ð»Ð¾ÑÑŒ на Ñайте, Ñнимите галочку ниже."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:112
-#: perllib/FixMyStreet/DB/Result/Comment.pm:124
-#: perllib/FixMyStreet/DB/Result/Problem.pm:450
+#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/DB/Result/Comment.pm:125
+#: perllib/FixMyStreet/DB/Result/Problem.pm:377
#: perllib/FixMyStreet/DB/Result/User.pm:157
#: templates/web/base/js/translation_strings.html:6
msgid "Please enter your name"
@@ -2673,7 +2683,7 @@ msgstr ""
msgid "Please note:"
msgstr "Внимание:"
-#: perllib/FixMyStreet/App/Controller/Report.pm:358
+#: perllib/FixMyStreet/App/Controller/Report.pm:353
msgid "Please provide a public update for this report."
msgstr ""
@@ -2709,11 +2719,11 @@ msgstr "Сообщите о ÑтатуÑе неполадки: проблема
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:122
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:156
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:158
-#: templates/web/base/js/translation_strings.html:57
+#: templates/web/base/js/translation_strings.html:60
msgid "Please upload an image only"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/App/Controller/Contact.pm:116
msgid "Please write a message"
msgstr "Ðапишите Ñообщение"
@@ -2721,30 +2731,29 @@ msgstr "Ðапишите Ñообщение"
msgid "Please write your update here"
msgstr "Введите новые данные здеÑÑŒ"
-#: templates/web/base/contact/index.html:103
#: templates/web/base/report/update-form.html:25
#: templates/web/base/report/update/form_user_loggedout_by_email.html:14
#: templates/web/base/report/update/form_user_loggedout_password.html:10
msgid "Post"
msgstr "Опубликовать"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:242
+#: perllib/FixMyStreet/DB/Result/Comment.pm:231
msgid "Posted anonymously at %s"
msgstr "Опубликовано анонимно (%s)"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:257
+#: perllib/FixMyStreet/DB/Result/Comment.pm:255
msgid "Posted by %s at %s"
msgstr "Ðвтор публикации: %s, Ð²Ñ€ÐµÐ¼Ñ Ð¿ÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ð¸: %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:252
+#: perllib/FixMyStreet/DB/Result/Comment.pm:243
msgid "Posted by <strong>%s</strong> (%s) at %s"
msgstr "Ðвтор публикации: <strong>%s</strong> (%s), Ð²Ñ€ÐµÐ¼Ñ Ð¿ÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ð¸: %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:254
+#: perllib/FixMyStreet/DB/Result/Comment.pm:245
msgid "Posted by <strong>%s</strong> at %s"
msgstr "Ðвтор публикации: <strong>%s</strong>, Ð²Ñ€ÐµÐ¼Ñ Ð¿ÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ð¸: %s"
-#: templates/web/base/front/footer-marketing.html:12
+#: templates/web/base/front/footer-marketing.html:6
msgid "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
msgstr "Ðа базе платформы <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet</a>"
@@ -2756,8 +2765,8 @@ msgstr "ПредыдущаÑ"
msgid "Priorities"
msgstr ""
-#: templates/web/base/report/_inspect.html:113
-#: templates/web/base/report/_item.html:98
+#: templates/web/base/report/_inspect.html:123
+#: templates/web/base/report/_item.html:100
msgid "Priority"
msgstr ""
@@ -2771,16 +2780,15 @@ msgstr "КонфиденциальноÑть"
msgid "Privacy and cookies"
msgstr "КонфиденциальноÑть и файлы cookie"
-#: templates/web/base/admin/body.html:91
-#: templates/web/base/admin/contact-form.html:74
-#: templates/web/base/admin/report_edit.html:149
+#: templates/web/base/admin/body.html:88
+#: templates/web/base/admin/contact-form.html:75
+#: templates/web/base/admin/report_edit.html:137
msgid "Private"
msgstr "ДоÑтуп ограничен"
#: templates/web/base/report/new/form_user.html:1
-#, fuzzy
msgid "Private details"
-msgstr "ДоÑтуп ограничен"
+msgstr ""
#: templates/web/base/maps/pin.html:13
msgid "Problem"
@@ -2804,7 +2812,7 @@ msgstr "Проблема (%s) отправлена в орган ÑамоупрÐ
msgid "Problem breakdown by state"
msgstr "Сортировка проблем по ÑтатуÑу"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1167
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1272
msgid "Problem marked as open."
msgstr "Проблема помечена как открытаÑ."
@@ -2812,11 +2820,16 @@ msgstr "Проблема помечена как открытаÑ."
msgid "Problem state change based on survey results"
msgstr "Смена ÑтатуÑа проблемы на оÑновании результатов опроÑа"
-#: perllib/FixMyStreet/Cobrand/Default.pm:705
+#: perllib/FixMyStreet/Cobrand/Default.pm:709
#: templates/web/base/admin/flagged.html:10
msgid "Problems"
msgstr "Проблемы"
+#: templates/web/base/alert/_list.html:22
+#, fuzzy
+msgid "Problems in an area"
+msgstr "Проблемы в пределах Ñтого района: %s"
+
#: templates/web/base/report/display_tools.html:22
msgid "Problems nearby"
msgstr "Проблемы поблизоÑти"
@@ -2829,30 +2842,33 @@ msgstr "Проблемы на карте"
msgid "Problems recently reported fixed on FixMyStreet"
msgstr "Ðедавно решенные проблемы на Ñайте FixMyStreet"
-#: templates/web/base/alert/_list.html:22
-msgid "Problems within %.1fkm of this location"
+#: templates/web/base/alert/_list.html:29
+#, fuzzy
+msgid "Problems within %.1fkm of %s"
msgstr "Проблемы в пределах %.1fkm от Ñтого меÑта"
-#: perllib/FixMyStreet/Cobrand/Default.pm:833
+#: perllib/FixMyStreet/Cobrand/Default.pm:838
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:137
-#: perllib/FixMyStreet/Cobrand/UK.pm:209
+#: perllib/FixMyStreet/Cobrand/UK.pm:215 perllib/FixMyStreet/Cobrand/UK.pm:257
+#: perllib/FixMyStreet/Cobrand/UK.pm:269
msgid "Problems within %s"
msgstr "Проблемы в пределах Ñтого меÑта: %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:223
+#: perllib/FixMyStreet/Cobrand/UK.pm:229
msgid "Problems within %s ward"
msgstr "Проблемы в пределах Ñтого района: %s"
+#: perllib/FixMyStreet/Cobrand/UK.pm:263 perllib/FixMyStreet/Cobrand/UK.pm:275
+#, fuzzy
+msgid "Problems within %s ward, %s"
+msgstr "Проблемы в пределах Ñтого района: %s"
+
#. ("First %s is the body name, second %s the site name")
#: templates/web/base/reports/body.html:0
#: templates/web/base/reports/body.html:25
msgid "Problems within %s, %s"
msgstr "Проблемы в пределах Ñтого меÑта: %s, %s"
-#: templates/web/base/alert/_list.html:43
-msgid "Problems within the boundary of:"
-msgstr "Проблемы в пределах Ñтого меÑта:"
-
#: templates/web/base/admin/report_edit.html:74
msgid "Property address:"
msgstr "ÐÐ´Ñ€ÐµÑ Ð¸Ð¼ÑƒÑ‰ÐµÑтва:"
@@ -2862,11 +2878,11 @@ msgstr "ÐÐ´Ñ€ÐµÑ Ð¸Ð¼ÑƒÑ‰ÐµÑтва:"
msgid "Provide an update"
msgstr "ПредоÑтавить новые данные"
-#: templates/web/base/report/update/form_name.html:9
+#: templates/web/base/report/update/form_name.html:10
msgid "Provide update as"
msgstr ""
-#: templates/web/base/auth/general.html:112
+#: templates/web/base/auth/general.html:114
msgid "Providing a name and password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
msgstr "Ð˜Ð¼Ñ Ð¸ пароль необÑзательны. Ðо когда вы предоÑтавите Ñти данные, вы Ñможете быÑтрее Ñообщать о проблемах, вводить новые данные о них и редактировать Ñвои обращениÑ."
@@ -2876,16 +2892,15 @@ msgid "Providing a password is optional, but doing so will allow you to more eas
msgstr "Пароль необÑзателен. Ðо когда вы предоÑтавите Ñти данные, вы Ñможете быÑтрее Ñообщать о проблемах, вводить новые данные о них и редактировать Ñвои обращениÑ."
#: templates/web/base/report/new/form_report.html:10
-#, fuzzy
msgid "Public details"
-msgstr "Публичный ответ:"
+msgstr ""
#: templates/web/zurich/admin/report_edit.html:241
#: templates/web/zurich/admin/report_edit.html:268
msgid "Public response:"
msgstr "Публичный ответ:"
-#: templates/web/base/report/_inspect.html:152
+#: templates/web/base/report/_inspect.html:162
msgid "Public update:"
msgstr ""
@@ -2913,7 +2928,7 @@ msgstr "ÐžÐ¿Ñ€Ð¾Ñ (%d) отправлен Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼Ñ‹ «%d»"
msgid "Questionnaire filled in by problem reporter"
msgstr "ÐžÐ¿Ñ€Ð¾Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½ автором обращениÑ"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
#: templates/web/base/alert/updates.html:9
#: templates/web/base/around/display_location.html:1
#: templates/web/base/around/display_location.html:3
@@ -2921,11 +2936,11 @@ msgstr "ÐžÐ¿Ñ€Ð¾Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½ автором обращениÑ"
msgid "RSS feed"
msgstr "RSS-фид"
-#: perllib/FixMyStreet/Cobrand/UK.pm:252 perllib/FixMyStreet/Cobrand/UK.pm:264
+#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
msgid "RSS feed for %s"
msgstr "RSS-фид длÑ: %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
+#: perllib/FixMyStreet/Cobrand/UK.pm:264 perllib/FixMyStreet/Cobrand/UK.pm:276
msgid "RSS feed for %s ward, %s"
msgstr "RSS-фид Ð´Ð»Ñ Ñ€Ð°Ð¹Ð¾Ð½Ð°: %s, %s"
@@ -2933,25 +2948,25 @@ msgstr "RSS-фид Ð´Ð»Ñ Ñ€Ð°Ð¹Ð¾Ð½Ð°: %s, %s"
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:179
-#: perllib/FixMyStreet/Cobrand/UK.pm:278 perllib/FixMyStreet/Cobrand/UK.pm:290
+#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
msgid "RSS feed of %s"
msgstr "%s: RSS-фид"
-#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
msgid "RSS feed of %s, within %s ward"
msgstr "%s: RSS-фид, в пределах района: %s"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
msgid "RSS feed of nearby problems"
msgstr "RSS-фид о проблемах поблизоÑти"
-#: perllib/FixMyStreet/Cobrand/Default.pm:834
+#: perllib/FixMyStreet/Cobrand/Default.pm:839
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:136
-#: perllib/FixMyStreet/Cobrand/UK.pm:216
+#: perllib/FixMyStreet/Cobrand/UK.pm:222
msgid "RSS feed of problems within %s"
msgstr "RSS-фид о проблемах в пределах: %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:222
+#: perllib/FixMyStreet/Cobrand/UK.pm:228
msgid "RSS feed of problems within %s ward"
msgstr "RSS-фид о проблемах в пределах района: %s"
@@ -2970,7 +2985,7 @@ msgstr "RSS-фид об обновлениÑÑ… по Ñтой проблеме"
msgid "Receive email when updates are left on this problem."
msgstr "Получать Ñл. пиÑьма об обновлениÑÑ… по Ñтой проблеме."
-#: perllib/FixMyStreet/DB/Result/Problem.pm:801
+#: perllib/FixMyStreet/DB/Result/Problem.pm:738
msgid "Received by %s moments later"
msgstr ""
@@ -2980,15 +2995,11 @@ msgstr ""
msgid "Recent local problems, %s"
msgstr "Ðедавние проблемы поблизоÑти, %s"
-#: templates/web/base/reports/index.html:27
-msgid "Recently <br>fixed"
-msgstr "Ðедавно <br>уÑтранены"
-
#: templates/web/base/front/recent.html:11
msgid "Recently reported problems"
msgstr "Ðедавние Ð¾Ð±Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð¾ проблемах"
-#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:60
msgid "Recently updated"
msgstr ""
@@ -2996,13 +3007,23 @@ msgstr ""
msgid "Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. If your problem is not appropriate for submission via this site remember that you can contact your council directly using their own website."
msgstr "Важно: Ñайт FixMyStreet предназначен Ð´Ð»Ñ Ñ€ÐµÐ³Ð¸Ñтрации материальных проблем, которые возможно уÑтранить, и работы Ñ Ð½Ð¸Ð¼Ð¸. ЕÑли проблема, о которой вы хотите Ñообщить, не ÑоответÑтвует тематике Ñайта, обратитеÑÑŒ в меÑтный орган ÑÐ°Ð¼Ð¾ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ‡ÐµÑ€ÐµÐ· ÑоответÑтвующий Ñайт."
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/extra-metadata-form.html:68
+#, fuzzy
+msgid "Remove"
+msgstr "Удалить пометку"
+
+#: templates/web/base/admin/extra-metadata-form.html:4
+#, fuzzy
+msgid "Remove field"
+msgstr "Удалить пометку"
+
+#: templates/web/base/admin/report_blocks.html:23
msgid "Remove flag"
msgstr "Удалить пометку"
#: templates/web/base/report/_item.html:12
#: templates/web/base/report/_item.html:9
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:18
#: templates/web/base/report/_main.html:26
msgid "Remove from shortlist"
@@ -3012,7 +3033,7 @@ msgstr ""
msgid "Remove from site"
msgstr ""
-#: templates/web/base/admin/report_edit.html:166
+#: templates/web/base/admin/report_edit.html:154
#: templates/web/base/admin/update_edit.html:69
#: templates/web/zurich/admin/update_edit.html:35
msgid "Remove photo (can't be undone!)"
@@ -3026,13 +3047,13 @@ msgstr "Ответить пользователю:"
msgid "Report"
msgstr "Сообщить"
-#: templates/web/base/report/_inspect.html:10
-#: templates/web/base/report/_item.html:76
+#: templates/web/base/report/_inspect.html:14
+#: templates/web/base/report/_item.html:78
msgid "Report ID:"
msgstr ""
#: templates/web/base/header_logo.html:2
-#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:19
+#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:18
#: templates/web/zurich/nav_over_content.html:4
msgid "Report a problem"
msgstr "Сообщить о проблеме"
@@ -3042,7 +3063,7 @@ msgstr "Сообщить о проблеме"
msgid "Report abuse"
msgstr "Сообщить об оÑкорбительном поведении"
-#: templates/web/base/report/new/form_user_loggedin.html:16
+#: templates/web/base/report/new/form_user_loggedin.html:17
msgid "Report as"
msgstr ""
@@ -3051,9 +3072,8 @@ msgid "Report on %s"
msgstr "Сообщить о пользователе: %s"
#: templates/web/base/dashboard/index.html:137
-#, fuzzy
msgid "Report state:"
-msgstr "Обращение отправлено:"
+msgstr ""
#: templates/web/base/report/new/fill_in_details_form.html:1
#: templates/web/base/report/new/login_success_form.html:1
@@ -3066,7 +3086,7 @@ msgstr "Сообщить о Ñвоей проблеме"
msgid "Report, view, or discuss local problems"
msgstr "ГородÑкие проблемы. Сообщайте, проÑматривайте, обÑуждайте."
-#: perllib/FixMyStreet/DB/Result/Problem.pm:653
+#: perllib/FixMyStreet/DB/Result/Problem.pm:590
#: templates/web/base/contact/index.html:55
msgid "Reported anonymously at %s"
msgstr "Сообщено анонимно в: %s"
@@ -3076,7 +3096,7 @@ msgstr "Сообщено анонимно в: %s"
msgid "Reported before"
msgstr "Сообщено ранее"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:677
+#: perllib/FixMyStreet/DB/Result/Problem.pm:614
#: templates/web/base/contact/index.html:57
msgid "Reported by %s at %s"
msgstr "Ðвтор обращениÑ: %s, Ð²Ñ€ÐµÐ¼Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸: %s"
@@ -3090,34 +3110,30 @@ msgstr "Ðвтор обращениÑ:"
msgid "Reported in the %s category"
msgstr "Обращение отнеÑено к категории: %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:650
+#: perllib/FixMyStreet/DB/Result/Problem.pm:587
msgid "Reported in the %s category anonymously at %s"
msgstr "Обращение (категориÑ: %s) отправлено анонимно в: %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:611
msgid "Reported in the %s category by %s at %s"
msgstr "Обращение (категориÑ: %s), автор: %s, отправлено в: %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:647
+#: perllib/FixMyStreet/DB/Result/Problem.pm:584
msgid "Reported via %s anonymously at %s"
msgstr "Ðнонимно отправлено через: %s, Ð²Ñ€ÐµÐ¼Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸: %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:671
+#: perllib/FixMyStreet/DB/Result/Problem.pm:608
msgid "Reported via %s by %s at %s"
msgstr "Отправлено через: %s, автор: %s, Ð²Ñ€ÐµÐ¼Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸: %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:644
+#: perllib/FixMyStreet/DB/Result/Problem.pm:581
msgid "Reported via %s in the %s category anonymously at %s"
msgstr "Ðнонимно отправлено через: %s, категориÑ: %s, Ð²Ñ€ÐµÐ¼Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸: %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:666
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
msgid "Reported via %s in the %s category by %s at %s"
msgstr "Отправлено через: %s, категориÑ: %s, автор обращениÑ: %s, Ð²Ñ€ÐµÐ¼Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸: %s"
-#: templates/web/base/reports/index.html:24
-msgid "Reported within the last four weeks"
-msgstr "Обращение отправлено не позднее четырех недель назад"
-
#: templates/web/zurich/admin/report_edit-sdm.html:38
#: templates/web/zurich/admin/report_edit.html:57
msgid "Reported:"
@@ -3133,13 +3149,13 @@ msgid "Reporting a problem"
msgstr "Сообщение о проблеме"
#: perllib/FixMyStreet/Cobrand/Default.pm:655
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:383
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:388
#: templates/web/base/dashboard/index.html:134
#: templates/web/zurich/header.html:52
msgid "Reports"
msgstr "ОбращениÑ"
-#: perllib/FixMyStreet/Cobrand/UK.pm:329 perllib/FixMyStreet/Cobrand/UK.pm:333
+#: perllib/FixMyStreet/Cobrand/UK.pm:333 perllib/FixMyStreet/Cobrand/UK.pm:335
msgid "Reports are limited to %s characters in length. Please shorten your report"
msgstr "КоличеÑтво Ñимволов в текÑте Ð¾Ð±Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð½Ðµ должно превышать %s. Ðапишите более короткое обращение."
@@ -3147,31 +3163,54 @@ msgstr "КоличеÑтво Ñимволов в текÑте обращениÑ
msgid "Reports awaiting approval"
msgstr "ОбращениÑ, ожидающие проверки"
+#: templates/web/base/alert/_list.html:54
+#, fuzzy
+msgid "Reports by destination"
+msgstr "Ðвтор обращениÑ: %s, Ð²Ñ€ÐµÐ¼Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸: %s"
+
#: templates/web/base/admin/user-form.html:107
msgid "Reports made by trusted users will be sent to the responsible body without being inspected first."
msgstr ""
+#: templates/web/base/alert/_list.html:15
+msgid "Reports near %s are sent to different councils, depending on the type of problem."
+msgstr ""
+
#: templates/web/zurich/admin/index-sdm.html:10
msgid "Reports published"
msgstr "Опубликованные обращениÑ"
-#: templates/web/base/js/translation_strings.html:68
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:71
msgid "Reports saved offline."
-msgstr "Сообщить о проблеме"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#, fuzzy
+msgid "Reports sent to %s"
+msgstr "Сообщить о пользователе: %s"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:290 perllib/FixMyStreet/Cobrand/UK.pm:302
+#, fuzzy
+msgid "Reports sent to %s, within %s ward"
+msgstr "%s: RSS-фид, в пределах района: %s"
#: templates/web/base/admin/index.html:56
msgid "Reports waiting to be sent"
msgstr ""
-#: templates/web/base/admin/contact-form.html:89
+#: templates/web/base/admin/contact-form.html:90
msgid "Reports will automatically be sent without needing to be inspected if the user's <strong>reputation</strong> is at or above this value. Set to <strong>0</strong> if all reports must be inspected regardless."
msgstr ""
-#: templates/web/base/admin/contact-form.html:94
+#: templates/web/base/admin/contact-form.html:95
msgid "Reputation threshold"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:20
+#, fuzzy
+msgid "Required"
+msgstr "Ðеобходимо добавить фото"
+
#: templates/web/base/admin/report_edit.html:84
msgid "Resend report"
msgstr "Отправить обращение еще раз"
@@ -3207,7 +3246,7 @@ msgstr "Шаблоны ответов длÑ: %s"
msgid "Revert to original"
msgstr ""
-#: templates/web/base/report/_main.html:95
+#: templates/web/base/report/_main.html:99
msgid "Revert to original text"
msgstr ""
@@ -3230,16 +3269,16 @@ msgstr "Дорога находитÑÑ Ð² ведении: %s"
msgid "Road operator for this named road (from OpenStreetMap): %s"
msgstr "Дорога находитÑÑ Ð² ведении (Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¸Ð· реÑурÑа OpenStreetMap): %s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1747
-#: templates/web/base/admin/report_edit.html:163
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1852
+#: templates/web/base/admin/report_edit.html:151
#: templates/web/base/admin/update_edit.html:66
#: templates/web/zurich/admin/report_edit.html:118
msgid "Rotate Left"
msgstr "Повернуть влево"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: templates/web/base/admin/report_edit.html:164
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: templates/web/base/admin/report_edit.html:152
#: templates/web/base/admin/update_edit.html:67
#: templates/web/zurich/admin/report_edit.html:119
msgid "Rotate Right"
@@ -3254,33 +3293,41 @@ msgstr "Перед поворотом фото необходимо Ñохран
msgid "Satellite"
msgstr "Спутник"
-#: templates/web/base/report/_inspect.html:168
-#, fuzzy
+#: templates/web/base/report/_inspect.html:182
msgid "Save + close as duplicate"
-msgstr "помечено как ÐºÐ¾Ð¿Ð¸Ñ Ð¾Ð±Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ"
+msgstr ""
-#: templates/web/base/admin/contact-form.html:137
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/contact-form.html:138
+#: templates/web/base/admin/reportextrafields/edit.html:64
+#: templates/web/base/admin/responsepriorities/edit.html:58
#: templates/web/base/admin/template_edit.html:46
-#: templates/web/base/report/_inspect.html:168
-#: templates/web/base/report/_main.html:113
-#: templates/web/base/report/update.html:60
+#: templates/web/base/report/_inspect.html:182
+#: templates/web/base/report/_main.html:117
+#: templates/web/base/report/update.html:69
#: templates/web/zurich/admin/body.html:62
-#: templates/web/zurich/admin/contact-form.html:20
+#: templates/web/zurich/admin/contact-form.html:22
#: templates/web/zurich/admin/template_edit.html:29
msgid "Save changes"
msgstr "Сохранить изменениÑ"
-#: templates/web/base/report/_inspect.html:148
+#: templates/web/base/admin/reportextrafields/edit.html:64
+msgid "Save new fields"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:158
msgid "Save with a public update"
msgstr ""
-#. ('This is followed by a progress count, e.g. 3/5')
#. ("This is followed by a progress count, e.g. 3/5")
-#: templates/web/base/js/translation_strings.html:69
+#: templates/web/base/js/translation_strings.html:72
msgid "Saving reports offline"
msgstr ""
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:132
+#, fuzzy
+msgid "Scheduled"
+msgstr "ДейÑтвие запланировано"
+
#: templates/web/base/admin/index.html:26
#: templates/web/base/admin/reports.html:1
#: templates/web/zurich/admin/reports.html:1
@@ -3314,41 +3361,41 @@ msgstr "Пользователи не найдены."
msgid "See our privacy policy"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:715
+#: perllib/FixMyStreet/Cobrand/Default.pm:720
msgid "See user detail for reports created as the council"
msgstr ""
-#: templates/web/base/admin/body-form.html:39
+#: templates/web/base/admin/body-form.html:41
#: templates/web/zurich/admin/body-form.html:16
msgid "Select a body"
msgstr "Выберите учреждение"
-#: templates/web/base/reports/index.html:12
-msgid "Select a particular council to see the reports sent there."
-msgstr "Выберите нужный орган ÑамоуправлениÑ, чтобы проÑмотреть обращениÑ, направленные его предÑтавителÑм"
-
-#: templates/web/base/admin/body-form.html:77
+#: templates/web/base/admin/body-form.html:79
#: templates/web/zurich/admin/body-form.html:26
msgid "Select an area"
msgstr "Выберите меÑтноÑть"
-#: templates/web/base/alert/_list.html:11
-msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
-msgstr "Выберите тип уведомлениÑ, а затем либо нажмите кнопку RSS-фида, либо введите Ñвой Ð°Ð´Ñ€ÐµÑ Ñл. почты, чтобы подпиÑатьÑÑ Ð½Ð° раÑÑылку уведомлений."
+#: templates/web/base/admin/responsepriorities/edit.html:33
+msgid "Select if this is the default priority"
+msgstr ""
#: templates/web/base/admin/category-checkboxes.html:6
msgid "Select:"
msgstr ""
+#: templates/web/base/contact/index.html:107
+msgid "Send"
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:109
msgid "Send extended Open311 statuses with service request updates"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:826
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:831
msgid "Sent report back"
msgstr "Обращение возвращено"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:804
+#: perllib/FixMyStreet/DB/Result/Problem.pm:741
msgid "Sent to %s %s later"
msgstr "Отправлено позже: %s %s"
@@ -3361,7 +3408,7 @@ msgstr "Отправлено:"
msgid "Service:"
msgstr "СервиÑ:"
-#: templates/web/base/report/_inspect.html:31
+#: templates/web/base/report/_inspect.html:41
msgid "Set to my current location"
msgstr ""
@@ -3370,49 +3417,56 @@ msgid "Share"
msgstr "ПоделитьÑÑ"
#: templates/web/base/main_nav_items.html:10
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:21
#: templates/web/base/report/_main.html:29
msgid "Shortlist"
msgstr ""
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/reports/body.html:32
+msgid "Shortlist all visible"
+msgstr ""
+
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:20
#: templates/web/base/report/_main.html:25
#: templates/web/base/reports/_list-filters.html:9
msgid "Shortlisted"
msgstr ""
-#: templates/web/base/report/_main.html:144
+#: templates/web/base/report/_item.html:15
+#: templates/web/base/report/_main.html:148
msgid "Shortlisted by %s"
msgstr ""
#: templates/web/base/report/update.html:20
-#, fuzzy
msgid "Show Photo?"
-msgstr "Показать давние"
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:26
+msgid "Show all updates"
+msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:54
+#: templates/web/base/report/new/form_user_loggedin.html:56
#: templates/web/base/report/new/form_user_loggedout_by_email.html:22
-#: templates/web/base/report/update/form_name.html:33
+#: templates/web/base/report/update/form_name.html:37
msgid "Show my name publicly"
msgstr "Показывать мое Ð¸Ð¼Ñ Ð½Ð° Ñайте"
#: templates/web/base/report/update.html:17
-#, fuzzy
msgid "Show name publicly?"
-msgstr "Показывать мое Ð¸Ð¼Ñ Ð½Ð° Ñайте"
+msgstr ""
#: templates/web/base/around/display_location.html:69
msgid "Show old"
msgstr "Показать давние"
-#: templates/web/base/report/_main.html:79
-#, fuzzy
+#: templates/web/base/report/_main.html:83
msgid "Show photo"
-msgstr "Показать давние"
+msgstr ""
#: templates/web/base/around/display_location.html:60
+#: templates/web/base/js/translation_strings.html:54
msgid "Show pins"
msgstr "Показать метки"
@@ -3420,16 +3474,20 @@ msgstr "Показать метки"
msgid "Show reporter&rsquo;s name"
msgstr ""
-#: templates/web/base/auth/general.html:117
+#: templates/web/base/reports/index.html:62
+msgid "Show reports in your area"
+msgstr ""
+
+#: templates/web/base/auth/general.html:119
#: templates/web/base/auth/general.html:3
-#: templates/web/base/auth/general.html:86
+#: templates/web/base/auth/general.html:88
#: templates/web/base/main_nav_items.html:6
#: templates/web/zurich/auth/general.html:18
#: templates/web/zurich/auth/general.html:35
msgid "Sign in"
msgstr "Вход"
-#: templates/web/base/auth/general.html:96
+#: templates/web/base/auth/general.html:98
msgid "Sign in by email instead, providing a new password. When you click the link in your email, your password will be updated."
msgstr ""
@@ -3477,14 +3535,14 @@ msgstr "Указана Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ ÑÑылка"
msgid "Sorry, there has been an error confirming your problem."
msgstr "При подтверждении вашего Ð¾Ð±Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð¾ÑˆÐ»Ð° ошибка."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:230
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:235
#: perllib/FixMyStreet/Geocode.pm:37 perllib/FixMyStreet/Geocode/Bing.pm:38
#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:56
#: perllib/FixMyStreet/Geocode/OSM.pm:48
msgid "Sorry, we could not find that location."
msgstr "Ðе удалоÑÑŒ найти Ñто меÑтоположение."
-#: templates/web/base/auth/general.html:9
+#: templates/web/base/auth/general.html:11
#: templates/web/base/report/display.html:29
#: templates/web/base/report/new/fill_in_details_form.html:15
msgid "Sorry, we could not log you in. Please fill in the form below."
@@ -3506,11 +3564,11 @@ msgid ""
"page wasn’t found or there was a server error. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Root.pm:107
+#: perllib/FixMyStreet/App/Controller/Root.pm:124
msgid "Sorry, you don't have permission to do that."
msgstr ""
-#: templates/web/base/reports/_list-filters.html:42
+#: templates/web/base/reports/_list-filters.html:53
msgid "Sort by"
msgstr ""
@@ -3527,17 +3585,25 @@ msgid "Start Date:"
msgstr "Дата начала:"
#: templates/web/base/admin/body.html:73
+#: templates/web/base/admin/category_edit.html:29
+#: templates/web/base/admin/contact-form.html:53
#: templates/web/base/admin/flagged.html:18
#: templates/web/base/admin/index.html:64
#: templates/web/base/admin/list_updates.html:11
#: templates/web/base/admin/reports.html:16
#: templates/web/base/admin/template_edit.html:40
-#: templates/web/base/report/_inspect.html:83
-#: templates/web/base/report/_item.html:94
+#: templates/web/base/report/_inspect.html:82
+#: templates/web/base/report/_item.html:96
#: templates/web/base/report/update/form_update.html:39
+#: templates/web/zurich/admin/contact-form.html:10
msgid "State"
msgstr "СтатуÑ"
+#: templates/web/base/report/update.html:48
+#, fuzzy
+msgid "State changed to:"
+msgstr "Сохранить изменениÑ"
+
#: templates/web/base/admin/report_edit.html:116
#: templates/web/base/admin/update_edit.html:28
#: templates/web/zurich/admin/report_edit-sdm.html:75
@@ -3547,8 +3613,14 @@ msgstr "СтатуÑ"
msgid "State:"
msgstr "СтатуÑ:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:640
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:386
+#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: templates/web/base/admin/states/index.html:1
+#, fuzzy
+msgid "States"
+msgstr "СтатуÑ"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
#: templates/web/base/admin/index.html:71 templates/web/base/admin/stats.html:1
#: templates/web/base/admin/stats_by_state.html:1
#: templates/web/zurich/admin/stats.html:1 templates/web/zurich/header.html:65
@@ -3570,6 +3642,10 @@ msgstr "Открыто (через опроÑ): %s"
msgid "Street View"
msgstr "ПроÑмотр улиц"
+#: templates/web/base/admin/extra-metadata-form.html:46
+msgid "String"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:192
msgid "Subcategory: %s"
msgstr "СубкатегориÑ: %s"
@@ -3578,7 +3654,7 @@ msgstr "СубкатегориÑ: %s"
msgid "Subdivision/Body"
msgstr "Подразделение/учреждение"
-#: templates/web/base/contact/index.html:88
+#: templates/web/base/contact/index.html:92
msgid "Subject"
msgstr "Тема"
@@ -3588,14 +3664,14 @@ msgid "Subject:"
msgstr "Тема:"
#: templates/web/base/questionnaire/creator_fixed.html:19
-#: templates/web/base/report/new/form_user_loggedin.html:61
+#: templates/web/base/report/new/form_user_loggedin.html:63
#: templates/web/base/report/new/form_user_loggedout_by_email.html:36
#: templates/web/base/report/new/form_user_loggedout_password.html:11
#: templates/web/zurich/report/new/fill_in_details_form.html:73
msgid "Submit"
msgstr "Отправить"
-#: templates/web/base/admin/report_edit.html:174
+#: templates/web/base/admin/report_edit.html:162
#: templates/web/base/admin/report_edit.html:24
#: templates/web/base/admin/update_edit.html:77
#: templates/web/base/admin/user-form.html:170
@@ -3609,8 +3685,8 @@ msgstr "Отправить изменениÑ"
msgid "Submit questionnaire"
msgstr "Отправить опроÑ"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:164
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:893
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:898
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:6
#: templates/web/zurich/admin/index-dm.html:23
@@ -3620,36 +3696,38 @@ msgstr "Отправить опроÑ"
msgid "Submitted"
msgstr "Отправлено"
+#: templates/web/base/alert/_list.html:77
+#: templates/web/base/alert/_list.html:80
#: templates/web/base/alert/updates.html:23
#: templates/web/base/report/display_tools.html:51
msgid "Subscribe"
msgstr "ПодпиÑатьÑÑ"
-#: templates/web/base/alert/_list.html:93
-msgid "Subscribe me to an email alert"
+#: templates/web/base/alert/_list.html:72
+#, fuzzy
+msgid "Subscribe by email"
msgstr "ПриÑылать мне ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾ Ñл. почте"
#: templates/web/base/report/new/form_report.html:19
msgid "Summarise the problem"
msgstr ""
-#: templates/web/base/admin/contact-form.html:129
+#: templates/web/base/admin/contact-form.html:130
msgid "Summarise your changes"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:638
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:382
+#: perllib/FixMyStreet/Cobrand/Default.pm:637
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:387
#: templates/web/base/admin/bodies.html:29
#: templates/web/base/admin/index.html:1 templates/web/base/status/index.html:1
#: templates/web/base/status/index.html:3
#: templates/web/zurich/admin/index-dm.html:1
#: templates/web/zurich/admin/index-sdm.html:1
-#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:13
+#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:12
#: templates/web/zurich/header.html:49
msgid "Summary"
msgstr "Итог"
-#: templates/web/base/reports/index.html:4
#: templates/web/zurich/reports/index.html:0
#: templates/web/zurich/reports/index.html:4
msgid "Summary reports"
@@ -3673,7 +3751,7 @@ msgid "Template &laquo;%s&raquo;"
msgstr "Шаблон &laquo;%s&raquo;"
#: perllib/FixMyStreet/Cobrand/Default.pm:661
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:393
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
#: templates/web/zurich/header.html:69
msgid "Templates"
msgstr "Шаблоны"
@@ -3702,7 +3780,7 @@ msgstr "СпаÑибо за ваше обращение!"
msgid "Thank you for trying to confirm your update or problem. We seem to have an error ourselves though, so <a href=\"%s\">please let us know what went on</a> and we'll look into it."
msgstr "СпаÑибо, что вы обратилиÑÑŒ на наш реÑурÑ, чтобы подтвердить/обновить информацию о проблеме. Похоже, у Ð½Ð°Ñ Ð½Ð° Ñайте возникли неполадки. <a href=\"%s\">Сообщите том, что пошло не так</a>, и мы поÑтараемÑÑ Ð²ÑÑ‘ починить."
-#: templates/web/base/tokens/confirm_update.html:15
+#: templates/web/base/tokens/confirm_update.html:16
msgid "Thank you for updating this issue!"
msgstr "СпаÑибо за обновление данных по проблеме!"
@@ -3730,7 +3808,7 @@ msgstr "КажетÑÑ, возникли трудноÑти Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¾Ð
msgid "That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again."
msgstr "КажетÑÑ, Ñто меÑтоположение не находитÑÑ Ð² ведении органа ÑамоуправлениÑ. Возможно, им заведует другое учреждение или же вы указали меÑто в другой Ñтране. Попробуйте еще раз."
-#: perllib/FixMyStreet/App/Controller/Location.pm:129
+#: perllib/FixMyStreet/App/Controller/Location.pm:127
msgid "That location does not appear to be in the UK; please try again."
msgstr "Это меÑтоположение находитÑÑ Ð·Ð° пределами Великобритании. Повторите попытку."
@@ -3740,23 +3818,23 @@ msgstr "Это меÑтоположение находитÑÑ Ð·Ð° предел
msgid "That postcode was not recognised, sorry."
msgstr "Ðе удалоÑÑŒ раÑпознать индекÑ."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:762
+#: perllib/FixMyStreet/App/Controller/Admin.pm:850
msgid "That problem has been marked as sent."
msgstr "Проблема помечена как отправленнаÑ."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:755
+#: perllib/FixMyStreet/App/Controller/Admin.pm:843
msgid "That problem will now be resent."
msgstr "Ð¡ÐµÐ¹Ñ‡Ð°Ñ Ð¼Ñ‹ еще раз отправим Ñто обращение."
-#: perllib/FixMyStreet/App/Controller/Report.pm:137
+#: perllib/FixMyStreet/App/Controller/Report.pm:134
msgid "That report cannot be viewed on %s."
msgstr "ПроÑмотр Ð¾Ð±Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶ÐµÐ½ на Ñтом уÑтройÑтве (%s)."
-#: perllib/FixMyStreet/App/Controller/Report.pm:131
+#: perllib/FixMyStreet/App/Controller/Report.pm:128
msgid "That report has been removed from FixMyStreet."
msgstr "Это обращение было удалено Ñ Ñайта FixMyStreet."
-#: templates/web/base/admin/contact-form.html:25
+#: templates/web/base/admin/contact-form.html:27
msgid ""
"The <strong>email address</strong> is the destination to which reports about this category will be sent. \n"
" Other categories for this body may have the same email address."
@@ -3782,10 +3860,10 @@ msgstr ""
"Данные о <strong>юриÑдикции</strong> необходимы только, еÑли ÐºÐ¾Ð½ÐµÑ‡Ð½Ð°Ñ Ñ‚Ð¾Ñ‡ÐºÐ° иÑпользуетÑÑ Ð´Ð»Ñ Ð½ÐµÑкольких\n"
" учреждений. ЕÑли учреждение привÑзано к отдельной конечной точке, оÑтавьте Ñто поле пуÑтым."
-#: templates/web/base/admin/body-form.html:100
-#: templates/web/base/admin/body-form.html:101
-#: templates/web/base/admin/contact-form.html:103
+#: templates/web/base/admin/body-form.html:102
+#: templates/web/base/admin/body-form.html:103
#: templates/web/base/admin/contact-form.html:104
+#: templates/web/base/admin/contact-form.html:105
msgid ""
"The <strong>send method</strong> determines how problem reports will be sent to the body.\n"
" If you leave this blank, <strong>send method defaults to email</strong>."
@@ -3806,6 +3884,10 @@ msgstr ""
"<strong>Ðазвание</strong> ÑƒÑ‡Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ñ ÑвлÑетÑÑ ÐµÐ³Ð¾ идентификатором (например, <em>Районный орган ÑÐ°Ð¼Ð¾ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð³Ñ€Ð°Ñ„Ñтва БорÑетшир</em>).\n"
" Ðазвание ÑƒÑ‡Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ‚ быть видно вÑем пользователÑм Ñайта."
+#: templates/web/base/admin/extra-metadata-form.html:12
+msgid "The code used to store this field value in the database. e.g. <code>address</code> would be available as <code>problem.extra.address</code> in the templates."
+msgstr ""
+
#: templates/web/base/report/new/fill_in_details_text.html:1
#: templates/web/base/report/new/fill_in_details_text.html:3
msgid "The council won&rsquo;t be able to help unless you leave as much detail as you can. Please describe the exact location of the problem (e.g. on a wall), what it is, how long it has been there, a description (and a photo of the problem if you have one), etc."
@@ -3816,11 +3898,15 @@ msgstr "Вам необходимо предоÑтавить макÑимум и
msgid "The diligency prize league table shows editors' activity (who's been editing the most records)."
msgstr "Ð’ таблице Ñамых активных пользователей показана деÑтельноÑть тех редакторов, которые отредактировали наибольшее количеÑтво запиÑей."
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:61
-#: perllib/FixMyStreet/App/Controller/Reports.pm:82
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:63
+#: perllib/FixMyStreet/App/Controller/Reports.pm:103
msgid "The error was: %s"
msgstr "Ошибка: %s"
+#: templates/web/base/admin/extra-metadata-form.html:30
+msgid "The field name as shown to the user on the report form."
+msgstr ""
+
#: templates/web/base/open311/index.html:78
msgid "The following Open311 v2 attributes are returned for each request: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
msgstr "Следующие параметры Open311 верÑии 2 возвращаютÑÑ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ запроÑа: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code и service_name."
@@ -3859,10 +3945,14 @@ msgstr "Ðедавние Ð¾Ð±Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¹ о про
msgid "The link might have expired, or maybe you didn&rsquo;t quite copy and paste it correctly."
msgstr "Возможно, ÑÑылка уÑтарела или вы не полноÑтью ее Ñкопировали."
-#: templates/web/base/admin/body-form.html:64
+#: templates/web/base/admin/body-form.html:66
msgid "The list of available areas is being provided by the MapIt service at %s."
msgstr "СпиÑок доÑтупных меÑтоположений предоÑтавлен ÑервиÑом MapIt на Ñайте: %s."
+#: templates/web/base/admin/extra-metadata-form.html:6
+msgid "The ordering of this field on the report page. Fields are shown in ascending order according to this value."
+msgstr ""
+
#: templates/web/base/auth/change_password.html:22
#: templates/web/base/auth/change_password.html:26
msgid "The passwords do not match"
@@ -3872,9 +3962,9 @@ msgstr "Пароли не Ñовпадают"
msgid "The requested URL '%s' was not found on this server"
msgstr "Запрошенный URL '%s' не был найден на Ñтом Ñервере"
-#: templates/web/base/alert/_list.html:17
-msgid "The simplest alert is our geographic one:"
-msgstr "Самое проÑтое уведомление – географичеÑкое:"
+#: templates/web/base/admin/extra-metadata-form.html:42
+msgid "The type of input field to show to the user. <strong>Text</strong> is a simple text field, <strong>List</strong> is a drop-down selection."
+msgstr ""
#: perllib/FixMyStreet/Script/Reports.pm:96
msgid "The user could not locate the problem on a map, but to see the area around the location they entered"
@@ -3895,18 +3985,18 @@ msgstr ""
msgid "There are no reports to show."
msgstr "Ðет обращений."
-#: perllib/FixMyStreet/App/Controller/Reports.pm:79
+#: perllib/FixMyStreet/App/Controller/Reports.pm:100
msgid "There was a problem showing the All Reports page. Please try again later."
msgstr "При загрузке Ñтраницы «ВÑе обращениÑ» произошла ошибка. Повторите попытку позже."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:137
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:60
+#: perllib/FixMyStreet/App/Controller/Contact.pm:138
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:62
msgid "There was a problem showing this page. Please try again later."
msgstr "При загрузке Ñтраницы произошла ошибка. Повторите попытку позже."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:758
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:785
#: perllib/FixMyStreet/App/Controller/Report/Update.pm:152
-#: templates/web/base/auth/general.html:53
+#: templates/web/base/auth/general.html:55
#: templates/web/zurich/auth/general.html:28
msgid "There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the &lsquo;sign in by email&rsquo; section of the form."
msgstr "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸Ð»Ð¸ пароль указаны неверно. ЕÑли вы не помните Ñвой пароль или у Ð²Ð°Ñ ÐµÐ³Ð¾ нет, заполните форму «Вход Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ адреÑа Ñл. почты»."
@@ -3919,7 +4009,7 @@ msgstr "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸Ð»Ð¸ пароль указаны неÐ
msgid "There was a problem with your update. Please try again."
msgstr "Ðе удалоÑÑŒ загрузить новые данные. Повторите попытку."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:141
+#: perllib/FixMyStreet/App/Controller/Contact.pm:142
msgid "There were problems with your report. Please see below."
msgstr "Ðе удалоÑÑŒ загрузить обращение. Прочтите информациию ниже."
@@ -3979,8 +4069,8 @@ msgstr ""
msgid "This body has no contacts. This means that currently problems reported to this body <strong>will not be sent</strong>."
msgstr "Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ <strong>невозможно отправить</strong> Ð¾Ð±Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð² данное учреждение, поÑкольку Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ не указано контактных данных. "
-#: templates/web/base/admin/body-form.html:58
-#: templates/web/base/admin/body-form.html:59
+#: templates/web/base/admin/body-form.html:60
+#: templates/web/base/admin/body-form.html:61
msgid ""
"This body will only be sent reports for problems that are located in the <strong>area covered</strong>.\n"
" A body will not receive any reports unless it covers at least one area."
@@ -3996,8 +4086,9 @@ msgstr "ПоÑкольку пользователь не обозначил ка
msgid "This email has been sent to several councils covering the location of the problem, as the category selected is provided for all of them; please ignore it if you're not the correct council to deal with the issue."
msgstr "ПоÑкольку пользователь обозначил категорию проблемы, находÑщейÑÑ Ð² ведении неÑкольких органов ÑамоуправлениÑ, мы отправили Ñто пиÑьмо во вÑе Ñти инÑтанции. ЕÑли Ð´Ð°Ð½Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼Ð° находитÑÑ Ð²Ð½Ðµ вашей ответÑтвенноÑти, игнорируйте Ñто обращение."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:881
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:925
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1017
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:910
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:954
#: perllib/FixMyStreet/App/Controller/Report/New.pm:971
#: perllib/FixMyStreet/Cobrand/UK.pm:45
msgid "This information is required"
@@ -4007,46 +4098,41 @@ msgstr "Эта Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ ÑвлÑетÑÑ Ð¾Ð±Ñзательной"
msgid "This is a developer site; things might break at any time, and the database will be periodically deleted."
msgstr "Это Ñайт разработчиков, поÑтому в его функционировании иногда могут возникать Ñбои. База данных периодичеÑки удалÑетÑÑ."
-#: templates/web/base/reports/index.html:10
-msgid "This is a summary of all reports on this site."
-msgstr "Это ÐºÑ€Ð°Ñ‚ÐºÐ°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¿Ð¾ вÑем обращениÑм на Ñайте."
-
-#: templates/web/base/report/new/form_report.html:56
+#: templates/web/base/report/new/form_report.html:58
msgid "This pothole has been here for two months and…"
msgstr ""
-#: templates/web/base/report/update/form_update.html:63
+#: templates/web/base/report/update/form_update.html:55
msgid "This problem has been fixed"
msgstr "Эта проблема была решена"
-#: templates/web/base/report/update/form_update.html:56
+#: templates/web/base/report/update/form_update.html:48
msgid "This problem has not been fixed"
msgstr "Эта проблема не была решена"
-#: templates/web/base/report/update/form_update.html:54
-#, fuzzy
+#: templates/web/base/report/update/form_update.html:46
msgid "This problem is still ongoing"
-msgstr "Эта проблема не была решена"
+msgstr ""
#: templates/web/base/report/duplicate-no-updates.html:3
msgid "This report is a duplicate. Please leave updates on the original report:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:161
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:162
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:166
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:167
#: templates/web/zurich/report/_main.html:14
msgid "This report is awaiting moderation."
msgstr "Это обращение ожидает модерации."
-#: perllib/FixMyStreet/Script/Alerts.pm:101
+#: perllib/FixMyStreet/Script/Alerts.pm:98
msgid "This report is currently marked as closed."
msgstr "Это обращение на данный момент помечено как закрытое."
-#: perllib/FixMyStreet/Script/Alerts.pm:99
+#: perllib/FixMyStreet/Script/Alerts.pm:96
msgid "This report is currently marked as fixed."
msgstr "Это обращение на данный момент помечено как решенное."
-#: perllib/FixMyStreet/Script/Alerts.pm:103
+#: perllib/FixMyStreet/Script/Alerts.pm:100
msgid "This report is currently marked as open."
msgstr "Это обращение на данный момент помечено как открытое."
@@ -4065,7 +4151,7 @@ msgstr "Эта веб-Ñтраница также Ñодержит фото не
msgid "Time spent (in minutes):"
msgstr "Времени потрачено (в минутах):"
-#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Default.pm:638
#: templates/web/base/admin/timeline.html:1
msgid "Timeline"
msgstr "Временной отрезок"
@@ -4094,10 +4180,26 @@ msgstr "Введите Ð¸Ð½Ð´ÐµÐºÑ (%s) или название улицы и Ñ
msgid "To find out what local alerts we have for you, please enter your postcode or street name and area"
msgstr "Введите Ð¸Ð½Ð´ÐµÐºÑ Ð¸Ð»Ð¸ название улицы и района, чтобы узнать, какие ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð°ÐºÑ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹ Ð´Ð»Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ меÑтоположениÑ:"
+#: templates/web/base/admin/reportextrafields/edit.html:19
+msgid "To limit this collection of fields to a single cobrand, select it here."
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:40
+msgid "To limit this collection of fields to a single language, select it here."
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:95
msgid "To view a map of the precise location of this issue"
msgstr "ПроÑмотр точного меÑÑ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ð¾Ð¹ проблемы на карте"
+#: templates/web/base/reports/index.html:97
+msgid "Top 5 most used categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:83
+msgid "Top 5 responsive councils"
+msgstr ""
+
#: templates/web/base/admin/questionnaire.html:24
#: templates/web/base/admin/stats.html:24
#: templates/web/base/admin/stats.html:43
@@ -4111,9 +4213,8 @@ msgid "Total marked"
msgstr ""
#: templates/web/base/dashboard/index.html:71
-#, fuzzy
msgid "Total marked as fixed"
-msgstr "помечено как решенное"
+msgstr ""
#: templates/web/base/dashboard/index.html:125
msgid "Total not marked"
@@ -4124,16 +4225,24 @@ msgstr ""
msgid "Total reports received"
msgstr ""
-#: templates/web/base/report/_inspect.html:124
-#: templates/web/base/report/_item.html:102
+#: templates/web/base/report/_inspect.html:134
+#: templates/web/base/report/_item.html:104
msgid "Traffic management required?"
msgstr ""
+#: templates/web/base/admin/_translations.html:7
+msgid "Translation"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:2
+msgid "Translations"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:111
msgid "Trusted by bodies:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:721
+#: perllib/FixMyStreet/Cobrand/Default.pm:726
msgid "Trusted to make reports that don't need to be inspected"
msgstr ""
@@ -4149,8 +4258,14 @@ msgstr "Повторите попытку"
msgid "Try emailing us directly:"
msgstr "Ðапишите нам:"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:21
+#: templates/web/base/admin/extra-metadata-form.html:44
+#: templates/web/base/admin/states/index.html:10
+#: templates/web/base/admin/states/index.html:100
+msgid "Type"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:59
+#: templates/web/base/admin/contact-form.html:55
#: templates/web/base/admin/update_edit.html:30
#: templates/web/zurich/admin/report_edit-sdm.html:66
#: templates/web/zurich/admin/report_edit.html:94
@@ -4158,7 +4273,6 @@ msgstr "Ðапишите нам:"
msgid "Unconfirmed"
msgstr "Ðе подтверждено"
-#: templates/web/base/reports/_list-filters.html:12
#: templates/web/base/reports/_list-filters.html:5
msgid "Unfixed reports"
msgstr "Ð¾Ð±Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ñ Ð½ÐµÑƒÑтраненными неполадками"
@@ -4172,14 +4286,14 @@ msgid "Unknown alert type"
msgstr "ÐеизвеÑтный тип уведомлениÑ"
#: perllib/FixMyStreet/App/Controller/Photo.pm:109
-#: perllib/FixMyStreet/App/Controller/Root.pm:124
+#: perllib/FixMyStreet/App/Controller/Root.pm:141
#: templates/web/base/js/translation_strings.html:38
msgid "Unknown error"
msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°"
-#: perllib/FixMyStreet/App/Controller/Report.pm:115
+#: perllib/FixMyStreet/App/Controller/Report.pm:112
+#: perllib/FixMyStreet/App/Controller/Report.pm:118
#: perllib/FixMyStreet/App/Controller/Report.pm:121
-#: perllib/FixMyStreet/App/Controller/Report.pm:124
msgid "Unknown problem ID"
msgstr "ÐеизвеÑтный идентификатор проблемы"
@@ -4187,10 +4301,11 @@ msgstr "ÐеизвеÑтный идентификатор проблемы"
msgid "Unshortlisted"
msgstr ""
-#: templates/web/base/report/_item.html:24
+#: templates/web/base/report/_item.html:26
msgid "Up one"
msgstr ""
+#: templates/web/base/admin/states/index.html:76
#: templates/web/base/report/update/form_update.html:29
msgid "Update"
msgstr "Обновление"
@@ -4207,7 +4322,7 @@ msgstr "Ðиже предÑтавлены анонимно добавленныÐ
msgid "Update below added by %s at %s"
msgstr "Ðиже предÑтавлены новые данные, добавленные пользователем: %s, в: %s"
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Update body"
msgstr "Обновить данные об учреждении"
@@ -4243,13 +4358,23 @@ msgstr "Обновление ÑтатуÑов"
msgid "Updated"
msgstr "Обновлено"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1157
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1221
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1384
-#: perllib/FixMyStreet/App/Controller/Admin.pm:822
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:762
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:787
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:857
+#: perllib/FixMyStreet/DB/Result/Comment.pm:249
+#, fuzzy
+msgid "Updated by <strong>%s</strong> (%s) at %s"
+msgstr "Ðвтор публикации: <strong>%s</strong> (%s), Ð²Ñ€ÐµÐ¼Ñ Ð¿ÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ð¸: %s"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:251
+#, fuzzy
+msgid "Updated by <strong>%s</strong> at %s"
+msgstr "Ðвтор публикации: <strong>%s</strong>, Ð²Ñ€ÐµÐ¼Ñ Ð¿ÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ð¸: %s"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1262
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1326
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1489
+#: perllib/FixMyStreet/App/Controller/Admin.pm:910
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:767
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:792
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:862
msgid "Updated!"
msgstr "Обновлено!"
@@ -4259,7 +4384,7 @@ msgstr "Обновлено!"
msgid "Updates"
msgstr "ОбновлениÑ"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:133
+#: perllib/FixMyStreet/DB/Result/Comment.pm:134
msgid "Updates are limited to %s characters in length. Please shorten your update"
msgstr "ТекÑÑ‚ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½ %s Ñимв. Ðапишите более короткое Ñообщение"
@@ -4273,11 +4398,22 @@ msgstr "Ðовые данные длÑ: {{title}}"
msgid "Updates to this problem, %s"
msgstr "Ðовые данные Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼Ñ‹: %s"
+#: templates/web/base/admin/contact-form.html:43
+#: templates/web/base/admin/contact-form.html:44
+msgid ""
+"Use <strong>confirmed</strong> to indicate that this contact has been\n"
+"confirmed as correct. If you are not sure of the origin or validity of the\n"
+"contact, use <strong>unconfirmed</strong>. <strong>inactive</strong> will\n"
+"remove the category from use when reporting problems, but keep it available in\n"
+"map filters, and <strong>deleted</strong> will remove the category from there\n"
+"as well."
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:65
msgid "Use Open311 update-sending extension"
msgstr ""
-#: templates/web/base/admin/contact-form.html:124
+#: templates/web/base/admin/contact-form.html:125
msgid "Use this field to record details that are only displayed in the admin. Input is not shown publicly, and is not sent to the body."
msgstr ""
@@ -4290,27 +4426,26 @@ msgstr "ИÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð½Ð°Ñ ÐºÐ°Ñ€Ñ‚Ð°"
msgid "User ID to attribute fetched comments to"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1700
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1805
msgid "User flag removed"
msgstr "Пометка удалена"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1672
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1777
msgid "User flagged"
msgstr "Ðккаунт Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¿Ð¾Ð¼ÐµÑ‡ÐµÐ½"
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:58
-#, fuzzy
msgid "User has marked as fixed"
-msgstr "помечено как решенное"
+msgstr ""
#: templates/web/base/admin/users.html:5
msgid "User search finds matches in users' names and email addresses."
msgstr "При поиÑке пользователей на Ñайте ÑиÑтема находит ÑоответÑÑ‚Ð²Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñƒ именами пользователей и адреÑами Ñл. почты."
#: perllib/FixMyStreet/Cobrand/Default.pm:669
-#: perllib/FixMyStreet/Cobrand/Default.pm:723
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
+#: perllib/FixMyStreet/Cobrand/Default.pm:728
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:403
#: templates/web/base/admin/flagged.html:29 templates/web/zurich/header.html:61
msgid "Users"
msgstr "Пользователи"
@@ -4319,9 +4454,9 @@ msgstr "Пользователи"
msgid "Users can perform the following actions within their assigned body or area."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:400
-#: perllib/FixMyStreet/App/Controller/Admin.pm:430
-#: perllib/FixMyStreet/App/Controller/Admin.pm:448
+#: perllib/FixMyStreet/App/Controller/Admin.pm:381
+#: perllib/FixMyStreet/App/Controller/Admin.pm:417
+#: perllib/FixMyStreet/App/Controller/Admin.pm:439
msgid "Values updated"
msgstr "Ð—Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ñ‹"
@@ -4368,7 +4503,7 @@ msgstr "Мы нашли более одного ÑоответÑÑ‚Ð²Ð¸Ñ ÑтоÐ
msgid "We found more than one match for that problem reference:"
msgstr ""
-#: templates/web/base/auth/general.html:6
+#: templates/web/base/auth/general.html:8
#: templates/web/base/report/display.html:35
#: templates/web/base/report/new/oauth_email_form.html:5
msgid "We need your email address, please give it below."
@@ -4403,7 +4538,7 @@ msgstr "Мы ÑвÑжемÑÑ Ñ Ð²Ð°Ð¼Ð¸ при первой возможноÑ
msgid "What was your experience of getting the problem fixed?"
msgstr "РаÑÑкажите о вашем опыте Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼Ñ‹ на Ñайте."
-#: templates/web/base/admin/category_edit.html:52
+#: templates/web/base/admin/category_edit.html:27
#: templates/web/zurich/admin/body.html:18
msgid "When edited"
msgstr "Когда были отредактированы данные"
@@ -4412,11 +4547,19 @@ msgstr "Когда были отредактированы данные"
msgid "When sent"
msgstr "Когда были отправлены данные"
-#: templates/web/base/report/_inspect.html:89
+#: templates/web/base/admin/extra-metadata-form.html:18
+msgid "Whether the user is required to provide a value for this field."
+msgstr ""
+
+#: templates/web/base/alert/_list.html:9
+msgid "Which problems do you want alerts about?"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:99
msgid "Which report is it a duplicate of?"
msgstr ""
-#: templates/web/base/js/translation_strings.html:54
+#: templates/web/base/js/translation_strings.html:57
msgid "Whoa there Testino! Three photos are enough."
msgstr ""
@@ -4424,8 +4567,8 @@ msgstr ""
msgid "Why stop there? <a href=\"/alert\">Set up more alerts</a> for free."
msgstr "И Ñто еще не вÑÑ‘! <a href=\"/alert\">ПодпишитеÑÑŒ на другие уведомлениÑ</a> беÑплатно."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:185
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:190
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:14
msgid "Wish"
@@ -4435,7 +4578,7 @@ msgstr "Пожелание"
msgid "With request searches, it is also possible to search for agency_responsible to limit the requests to those sent to a single administration. The search term is the administration ID provided by <a href=\"%s\">MaPit</a>."
msgstr "С помощью поиÑка по запроÑу можно иÑкать, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ agency_responsible, чтобы ограничить результаты поиÑка до обращений, которые были отправлены в один админиÑтративный орган. УÑловие поиÑка – идентификатор админиÑтрации, предоÑтавленный ÑервиÑом <a href=\"%s\">MaPit</a>."
-#: templates/web/base/front/footer-marketing.html:17
+#: templates/web/base/front/footer-marketing.html:3
msgid "Would you like to contribute to FixMyStreet? Our code is open source and <a href=\"http://fixmystreet.org\">available at fixmystreet.org</a>."
msgstr "Хотите помочь проекту FixMyStreet? Ðаш код находитÑÑ Ð² открытом доÑтупе и <a href=\"http://fixmystreet.org\">доÑтупен на Ñайте fixmystreet.org</a>."
@@ -4460,23 +4603,22 @@ msgstr ""
msgid "Year"
msgstr "Год"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1202
+#: perllib/FixMyStreet/Cobrand/Default.pm:1236
#: templates/web/base/admin/bodies.html:70
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
#: templates/web/base/admin/category_edit.html:5
#: templates/web/base/admin/flagged.html:47
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:136
+#: templates/web/base/admin/report_edit.html:124
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:25
#: templates/web/base/admin/users.html:32
#: templates/web/base/questionnaire/creator_fixed.html:14
#: templates/web/base/questionnaire/index.html:104
#: templates/web/base/questionnaire/index.html:53
+#: templates/web/base/report/_inspect.html:90
msgid "Yes"
msgstr "Да"
@@ -4489,7 +4631,7 @@ msgstr "Да, у Ð¼ÐµÐ½Ñ ÐµÑть пароль"
msgid "You are complaining that this problem report was unnecessarily moderated:"
msgstr "Ð’Ñ‹ Ñчитаете, что Ñта проблема не нуждалаÑÑŒ в модерации:"
-#: templates/web/base/js/translation_strings.html:70
+#: templates/web/base/js/translation_strings.html:73
msgid "You are offline"
msgstr ""
@@ -4510,7 +4652,11 @@ msgstr "Ð’Ñ‹ можете <a href=\"%s%s\">ознакомитьÑÑ Ñ Ð¿Ñ€Ð¾Ð±Ð
msgid "You can add an abusive user's email to the abuse list, which automatically hides (and never sends) reports they create."
msgstr "Ð’Ñ‹ можете добавить Ð°Ð´Ñ€ÐµÑ Ñл. почты пользователÑ, который проÑвлÑет ÑÐµÐ±Ñ Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð¾, в черный ÑпиÑок. Ð’Ñе дальнейшие Ð¾Ð±Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ñтого Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð½Ðµ будут опубликованы и отправлены."
-#: templates/web/base/contact/index.html:111
+#: templates/web/base/alert/_list.html:18
+msgid "You can choose to subscribe to all problems reported in an area, or reports based on their destination."
+msgstr ""
+
+#: templates/web/base/contact/index.html:115
msgid "You can contact technical support on <a href='mailto:%s'>%s</a>"
msgstr "Ð’Ñ‹ можете напиÑать в Ñлужбу техничеÑкой поддержки: <a href='mailto:%s'>%s</a>"
@@ -4531,7 +4677,7 @@ msgstr ""
msgid "You can help us by finding a contact email address for local problems for %s and emailing it to us at <a href='mailto:%s'>%s</a>."
msgstr "Ð’Ñ‹ можете помочь нам: найдите контактные данные учреждениÑ, в ведении которого находÑÑ‚ÑÑ Ð½ÐµÐ¿Ð¾Ð»Ð°Ð´ÐºÐ¸ в районе (%s), и пришлите Ñти данные нам: <a href='mailto:%s'>%s</a>."
-#: templates/web/base/admin/body-form.html:91
+#: templates/web/base/admin/body-form.html:93
msgid "You can mark a body as deleted if you do not want it to be active on the site."
msgstr "Ð’Ñ‹ можете отметить учреждение как удаленное, еÑли не хотите, чтобы его предÑтавители оÑущеÑтвлÑли деÑтельноÑть на Ñтом Ñайте."
@@ -4539,7 +4685,7 @@ msgstr "Ð’Ñ‹ можете отметить учреждение как удалÐ
msgid "You declined; please fill in the box above"
msgstr "Ð’Ñ‹ отказалиÑÑŒ; заполните форму выше"
-#: templates/web/base/js/translation_strings.html:72
+#: templates/web/base/js/translation_strings.html:75
msgid "You have <a id=\"oFN\" href=\"\"><span>%s</span> saved to submit</a>."
msgstr ""
@@ -4547,7 +4693,7 @@ msgstr ""
msgid "You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"
msgstr "Ð’Ñ‹ уже ответили на Ñтот опроÑ. ЕÑли у Ð²Ð°Ñ ÐµÑть вопроÑÑ‹, <a href='%s'>пишите нам</a> или <a href='%s'>ознакомьтеÑÑŒ Ñ Ð´Ð°Ð½Ð½Ñ‹Ð¼Ð¸ опубликованной вами проблемы</a>.\n"
-#: templates/web/base/report/new/form_report.html:37
+#: templates/web/base/report/new/form_report.html:39
#: templates/web/zurich/report/new/fill_in_details_form.html:30
msgid "You have already attached photos to this report. Note that you can attach a maximum of 3 to this report (if you try to upload more, the oldest will be removed)."
msgstr "Ð’Ñ‹ уже предоÑтавили фото в Ñтом обращении. Важно: можно прикрепить не более 3 фото (еÑли выбрать больше изображений, они заменÑÑ‚ прикрепленные ранее)."
@@ -4608,10 +4754,9 @@ msgstr "Ваши обращениÑ"
msgid "Your account"
msgstr ""
-#: templates/web/base/alert/_list.html:90
#: templates/web/base/alert/updates.html:19
#: templates/web/base/alert/updates.html:22
-#: templates/web/base/contact/index.html:81
+#: templates/web/base/contact/index.html:80
#: templates/web/base/report/display_tools.html:46
#: templates/web/base/report/display_tools.html:49
#: templates/web/base/report/new/form_user_loggedout_email.html:1
@@ -4621,7 +4766,7 @@ msgid "Your email"
msgstr "Ваш Ñл. адреÑ"
#: templates/web/base/auth/change_email.html:9
-#: templates/web/base/auth/general.html:55
+#: templates/web/base/auth/general.html:57
#: templates/web/base/report/update/form_user_loggedout_email.html:5
#: templates/web/zurich/auth/general.html:30
#: templates/web/zurich/auth/general.html:58
@@ -4632,21 +4777,32 @@ msgstr "Ваш Ð°Ð´Ñ€ÐµÑ Ñл. почты"
msgid "Your information will only be used in accordance with our <a href=\"/privacy\">privacy policy</a>"
msgstr "Мы обÑзуемÑÑ Ð¸Ñпользовать предоÑтавленные вами перÑональные данные в ÑоответÑтвии Ñ Ð½Ð°ÑˆÐµÐ¹ <a href=\"/privacy\">политикой конфиденциальноÑти</a>"
-#: templates/web/base/auth/general.html:107
+#: templates/web/base/auth/general.html:109
#: templates/web/base/contact/index.html:74
#: templates/web/base/report/new/form_user_loggedout_by_email.html:17
-#: templates/web/base/report/update/form_name.html:29
+#: templates/web/base/report/update/form_name.html:33
#: templates/web/zurich/auth/general.html:61
#: templates/web/zurich/report/new/fill_in_details_form.html:63
msgid "Your name"
msgstr "Ваше имÑ"
-#: templates/web/base/js/translation_strings.html:62
-#, fuzzy
+#: templates/web/base/my/anonymize.html:13
+msgid "Your name has already been sent to %s, but we can hide it on this page:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:264
+msgid "Your name has been hidden from all your reports and updates."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:260
+msgid "Your name has been hidden."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:65
msgid "Your offline reports"
-msgstr "Ваши обращениÑ"
+msgstr ""
-#: templates/web/base/auth/general.html:85
+#: templates/web/base/auth/general.html:87
#: templates/web/base/report/new/form_user_loggedout_password.html:10
#: templates/web/base/report/update/form_user_loggedout_password.html:9
#: templates/web/zurich/auth/general.html:34
@@ -4657,6 +4813,7 @@ msgstr "Ваш пароль"
msgid "Your password has been changed"
msgstr "Ваш пароль был изменен"
+#: templates/web/base/contact/index.html:87
#: templates/web/base/report/new/form_user_loggedout_by_email.html:26
#: templates/web/zurich/report/new/fill_in_details_form.html:69
msgid "Your phone number"
@@ -4675,7 +4832,7 @@ msgstr "Ваши обращениÑ"
msgid "Your shortlist"
msgstr ""
-#: templates/web/base/js/translation_strings.html:63
+#: templates/web/base/js/translation_strings.html:66
msgid "Your update has been saved offline for submission when back online."
msgstr ""
@@ -4683,8 +4840,8 @@ msgstr ""
msgid "Your updates"
msgstr "Ваши обновлениÑ"
-#: templates/web/base/report/new/form_user_loggedin.html:18
-#: templates/web/base/report/update/form_name.html:11
+#: templates/web/base/report/new/form_user_loggedin.html:19
+#: templates/web/base/report/update/form_name.html:12
msgid "Yourself"
msgstr ""
@@ -4693,14 +4850,14 @@ msgstr ""
msgid "all"
msgstr ""
+#: perllib/FixMyStreet/DB/Result/Comment.pm:259
+msgid "and a defect raised"
+msgstr ""
+
#: templates/web/base/admin/timeline.html:4
msgid "by %s"
msgstr "автор: %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:290
-msgid "closed as a duplicate report"
-msgstr "помечено как ÐºÐ¾Ð¿Ð¸Ñ Ð¾Ð±Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ"
-
#: templates/web/base/reports/body.html:6
#: templates/web/base/reports/body.html:7
msgid "council"
@@ -4725,7 +4882,7 @@ msgstr "редактировать информацию о пользоватеÐ
msgid "from %s different users"
msgstr "от разных пользователей (%s)"
-#: templates/web/base/report/_item.html:61
+#: templates/web/base/report/_item.html:63
#: templates/web/zurich/report/_item.html:14
msgid "last updated %s"
msgstr "поÑледнее обновление: %s"
@@ -4734,44 +4891,7 @@ msgstr "поÑледнее обновление: %s"
msgid "less than a minute"
msgstr "менее минуты"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:280
-msgid "marked as action scheduled"
-msgstr "помечено как запланированное дейÑтвие"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:292
-msgid "marked as an internal referral"
-msgstr "помечено как внутренний реферал"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:282
-msgid "marked as closed"
-msgstr "помечено как закрытое"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:263
-#: perllib/FixMyStreet/DB/Result/Comment.pm:284
-msgid "marked as fixed"
-msgstr "помечено как решенное"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:278
-msgid "marked as in progress"
-msgstr "помечено как находÑщееÑÑ Ð² процеÑÑе разрешениÑ"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:274
-msgid "marked as investigating"
-msgstr "помечено как находÑщееÑÑ Ð² процеÑÑе раÑÑледованиÑ"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:286
-msgid "marked as no further action"
-msgstr "помечено как проблема, которую невозможно уÑтранить"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:288
-msgid "marked as not the council's responsibility"
-msgstr "помечено как Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð²Ð½Ðµ ответÑтвенноÑти органа управлениÑ"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:276
-msgid "marked as planned"
-msgstr "помечено как запланированное"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:122
+#: perllib/FixMyStreet/App/Controller/Admin.pm:119
#: templates/web/base/admin/questionnaire.html:15
#: templates/web/base/admin/questionnaire.html:16
msgid "n/a"
@@ -4782,13 +4902,10 @@ msgstr "недоÑтупн."
msgid "none"
msgstr ""
-#: templates/web/base/admin/category_edit.html:35
-msgid "optional"
-msgstr ""
-
-#: templates/web/base/alert/_list.html:86
-msgid "or"
-msgstr "или"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:278
+#, fuzzy
+msgid "not the council's responsibility"
+msgstr "помечено как Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð²Ð½Ðµ ответÑтвенноÑти органа управлениÑ"
#: templates/web/base/js/translation_strings.html:27
msgid "or locate me automatically"
@@ -4813,16 +4930,7 @@ msgstr "введено: &ldquo;%s&rdquo;"
msgid "other areas:"
msgstr "другие облаÑти"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:265
-#: perllib/FixMyStreet/DB/Result/Comment.pm:271
-msgid "reopened"
-msgstr "заново открыто"
-
-#: templates/web/base/admin/category_edit.html:35
-msgid "required"
-msgstr ""
-
-#: templates/web/zurich/footer.html:13
+#: templates/web/zurich/footer.html:12
msgid "sign out"
msgstr "выйти"
@@ -4830,11 +4938,16 @@ msgstr "выйти"
msgid "the local council"
msgstr "меÑтный орган ÑамоуправлениÑ"
-#: templates/web/base/report/_report_meta_info.html:2
+#: templates/web/base/report/_report_meta_info.html:5
#: templates/web/zurich/report/_main.html:5
msgid "there is no pin shown as the user did not use the map"
msgstr "метка не отображаетÑÑ, так как карта не была иÑпользована"
+#: templates/web/base/alert/_list.html:1
+#, fuzzy
+msgid "this location"
+msgstr "ПроÑмотр меÑтоположениÑ"
+
#: perllib/FixMyStreet/Script/Reports.pm:184
msgid "this type of local problem"
msgstr "Ñтот тип проблемы поблизоÑти"
@@ -4843,15 +4956,13 @@ msgstr "Ñтот тип проблемы поблизоÑти"
msgid "today"
msgstr "ÑегоднÑ"
-#: templates/web/base/js/translation_strings.html:73
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:76
msgid "update"
-msgstr "Обновление"
+msgstr ""
-#: templates/web/base/js/translation_strings.html:74
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:77
msgid "updates"
-msgstr "ОбновлениÑ"
+msgstr ""
#: templates/web/base/admin/report_edit.html:52
msgid "used map"
@@ -4907,13 +5018,13 @@ msgstr[2] "%d минут"
msgstr[3] "%d минут"
#: perllib/Utils.pm:246
-#, fuzzy, perl-format
+#, perl-format
msgid "%d month"
msgid_plural "%d months"
-msgstr[0] "%d минута"
-msgstr[1] "%d минуты"
-msgstr[2] "%d минут"
-msgstr[3] "%d минут"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
#: templates/web/base/report/_support.html:6
#, perl-format
@@ -4942,6 +5053,51 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
+#: templates/web/base/reports/index.html:92
+#, perl-format
+msgid "%s day"
+msgid_plural "%s days"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+#: templates/web/base/reports/index.html:55
+#, perl-format
+msgid "%s problem marked as fixed"
+msgid_plural "%s problems marked as fixed"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+#: templates/web/base/reports/index.html:43
+#, perl-format
+msgid "%s problem reported"
+msgid_plural "%s problems reported"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+#: templates/web/base/reports/index.html:107
+#, perl-format
+msgid "%s report"
+msgid_plural "%s reports"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+#: templates/web/base/reports/index.html:49
+#, perl-format
+msgid "%s update on problems"
+msgid_plural "%s updates on problems"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
#: templates/web/base/front/stats.html:19
#, perl-format
msgid "<big>%s</big> fixed in past month"
@@ -4978,14 +5134,14 @@ msgstr[1] "<big>%s</big> Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾Ð±Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ð¹"
msgstr[2] "<big>%s</big> обновлений обращений"
msgstr[3] "<big>%s</big> обновлений обращений"
-#: templates/web/base/report/_item.html:49
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:51
+#, perl-format
msgid "Reported %d day ago"
msgid_plural "Reported %d days ago"
-msgstr[0] "Ðвтор обращениÑ: %s, Ð²Ñ€ÐµÐ¼Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸: %s"
-msgstr[1] "Ðвтор обращениÑ: %s, Ð²Ñ€ÐµÐ¼Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸: %s"
-msgstr[2] "Ðвтор обращениÑ: %s, Ð²Ñ€ÐµÐ¼Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸: %s"
-msgstr[3] "Ðвтор обращениÑ: %s, Ð²Ñ€ÐµÐ¼Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸: %s"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
#: templates/web/base/report/new/top_message_some.html:3
#, perl-format
@@ -5005,40 +5161,131 @@ msgstr[1] "У Ð½Ð°Ñ ÐµÑ‰Ðµ нет подробной информации об
msgstr[2] "У Ð½Ð°Ñ ÐµÑ‰Ðµ нет подробной информации об органах ÑамоуправлениÑ, в ведении которых находитÑÑ Ñто меÑто."
msgstr[3] "У Ð½Ð°Ñ ÐµÑ‰Ðµ нет подробной информации об органах ÑамоуправлениÑ, в ведении которых находитÑÑ Ñто меÑто."
-#: templates/web/base/report/_item.html:59
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:61
+#, perl-format
msgid "last updated %d day ago"
msgid_plural "last updated %d days ago"
-msgstr[0] "поÑледнее обновление: %s"
-msgstr[1] "поÑледнее обновление: %s"
-msgstr[2] "поÑледнее обновление: %s"
-msgstr[3] "поÑледнее обновление: %s"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
#: templates/email/oxfordshire/archive.txt:9
-#, fuzzy, perl-format
+#, perl-format
msgid "report"
msgid_plural "reports"
-msgstr[0] "Сообщить"
-msgstr[1] "Сообщить"
-msgstr[2] "Сообщить"
-msgstr[3] "Сообщить"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
-#, fuzzy
-#~ msgid "All inspectors"
-#~ msgstr "Ð’Ñе Отчеты"
+#~ msgid ""
+#~ "%s sends different categories of problem\n"
+#~ "to the appropriate council, so problems within the boundary of a particular council\n"
+#~ "might not match the problems sent to that council. For example, a graffiti report\n"
+#~ "will be sent to the district council, so will appear in both of the district\n"
+#~ "council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
+#~ "for the county council."
+#~ msgstr ""
+#~ "Сайт %s работает так: ÑиÑтема отÑылает ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ \n"
+#~ "о проблеме в ÑоответÑтвующий орган меÑтного ÑÐ°Ð¼Ð¾ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾ категориÑм, \n"
+#~ "поÑтому проблемы, обнаруженные внутри границ округа, могут не Ñовпадать Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñами, которые отправлÑÑŽÑ‚ÑÑ Ð² правление.\n"
+#~ "Ðапример, обращение о новом граффити \n"
+#~ "будет отправлено в орган ÑÐ°Ð¼Ð¾ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ€Ð°Ð¹Ð¾Ð½Ð° и поÑвитÑÑ Ð² обоих уведомлениÑÑ… Ñтого ÑамоуправлениÑ. Ðо Ð´Ð»Ñ Ð¾Ñ€Ð³Ð°Ð½Ð° ÑÐ°Ð¼Ð¾ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾Ð±Ð»Ð°Ñти оно поÑвитÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ в \n"
+#~ "разделе «Внутри границ облаÑти»."
-#, fuzzy
-#~ msgid "External ID:"
-#~ msgstr "Внешний URL"
+#~ msgid "%s ward, %s"
+#~ msgstr "%s район, %s"
-#, fuzzy
-#~ msgid "Report category:"
-#~ msgstr "Создать категорию"
+#~ msgid "%s, within %s ward"
+#~ msgstr "%s, в пределах района: %s"
-#, fuzzy
-#~ msgid "Reported %d days ago"
-#~ msgstr "Ðвтор обращениÑ: %s, Ð²Ñ€ÐµÐ¼Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸: %s"
+#~ msgid "(alternatively the RSS feed can be customised, within %s)"
+#~ msgstr "(RSS-фид можно наÑтроить по параметру удаленноÑти: %s)"
-#, fuzzy
-#~ msgid "last updated %d days ago"
-#~ msgstr "поÑледнее обновление: %s"
+#~ msgid "-- Pick a property type --"
+#~ msgstr "-- Выберите тип имущеÑтва --"
+
+#~ msgid "Closed reports"
+#~ msgstr "закрытые обращениÑ"
+
+#~ msgid "Closed:"
+#~ msgstr "Закрыто:"
+
+#~ msgid "Duplicate"
+#~ msgstr "Создать копию"
+
+#~ msgid "Fixed reports"
+#~ msgstr "решенные проблемы"
+
+#~ msgid "Fixed:"
+#~ msgstr "ИÑправлено:"
+
+#~ msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
+#~ msgstr "ЗдеÑÑŒ предÑтавлены типы уведомлений о неполадках поблизоÑти. Они указаны длÑ: &lsquo;%s&rsquo;."
+
+#~ msgid "In Progress"
+#~ msgstr "Ð’ процеÑÑе"
+
+#~ msgid "Internal referral"
+#~ msgstr "Внутренний реферал"
+
+#~ msgid "Investigating"
+#~ msgstr "РаÑÑледование"
+
+#~ msgid "No further action"
+#~ msgstr "Ðевозможно уÑтранить"
+
+#~ msgid "Not Responsible"
+#~ msgstr "ОтветÑтвенноÑти не неÑет"
+
+#~ msgid "Or problems reported to:"
+#~ msgstr "Или данные о неполадках, отправленные Ñюда:"
+
+#~ msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
+#~ msgstr "Ð’Ñ‹ также можете подпиÑатьÑÑ Ð½Ð° уведомлениÑ, выбрав Ñвой район или орган ÑамоуправлениÑ:"
+
+#~ msgid "Please choose a property type"
+#~ msgstr "Выберите тип имущеÑтва"
+
+#~ msgid "Problems within the boundary of:"
+#~ msgstr "Проблемы в пределах Ñтого меÑта:"
+
+#~ msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
+#~ msgstr "Выберите тип уведомлениÑ, а затем либо нажмите кнопку RSS-фида, либо введите Ñвой Ð°Ð´Ñ€ÐµÑ Ñл. почты, чтобы подпиÑатьÑÑ Ð½Ð° раÑÑылку уведомлений."
+
+#~ msgid "The simplest alert is our geographic one:"
+#~ msgstr "Самое проÑтое уведомление – географичеÑкое:"
+
+#~ msgid "closed as a duplicate report"
+#~ msgstr "помечено как ÐºÐ¾Ð¿Ð¸Ñ Ð¾Ð±Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ"
+
+#~ msgid "marked as action scheduled"
+#~ msgstr "помечено как запланированное дейÑтвие"
+
+#~ msgid "marked as an internal referral"
+#~ msgstr "помечено как внутренний реферал"
+
+#~ msgid "marked as closed"
+#~ msgstr "помечено как закрытое"
+
+#~ msgid "marked as fixed"
+#~ msgstr "помечено как решенное"
+
+#~ msgid "marked as in progress"
+#~ msgstr "помечено как находÑщееÑÑ Ð² процеÑÑе разрешениÑ"
+
+#~ msgid "marked as investigating"
+#~ msgstr "помечено как находÑщееÑÑ Ð² процеÑÑе раÑÑледованиÑ"
+
+#~ msgid "marked as no further action"
+#~ msgstr "помечено как проблема, которую невозможно уÑтранить"
+
+#~ msgid "marked as planned"
+#~ msgstr "помечено как запланированное"
+
+#~ msgid "or"
+#~ msgstr "или"
+
+#~ msgid "reopened"
+#~ msgstr "заново открыто"
diff --git a/locale/sq.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/sq.UTF-8/LC_MESSAGES/FixMyStreet.po
index 089118465..6b91c6e48 100644
--- a/locale/sq.UTF-8/LC_MESSAGES/FixMyStreet.po
+++ b/locale/sq.UTF-8/LC_MESSAGES/FixMyStreet.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
-"POT-Creation-Date: 2017-03-30 17:33+0100\n"
+"POT-Creation-Date: 2017-09-13 15:40+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: Granit Zhubi <granitzhubi@gmail.com>, 2016\n"
+"Last-Translator: mySociety <transifex@mysociety.org>, 2017\n"
"Language-Team: Albanian (https://www.transifex.com/mysociety/teams/12067/sq/)\n"
"Language: sq\n"
"MIME-Version: 1.0\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:695
+#: perllib/FixMyStreet/DB/Result/Problem.pm:632
#: perllib/FixMyStreet/Script/Reports.pm:197
msgid " and "
msgstr "dhe"
@@ -97,27 +97,6 @@ msgstr "%s pyetesoret jane derguar&ndash; %s pergjigjur (%s%%)"
msgid "%s ref:&nbsp;%s"
msgstr "%s ref:&nbsp;%s"
-#. ("%s is the site name")
-#: templates/web/base/alert/_list.html:74
-msgid ""
-"%s sends different categories of problem\n"
-"to the appropriate council, so problems within the boundary of a particular council\n"
-"might not match the problems sent to that council. For example, a graffiti report\n"
-"will be sent to the district council, so will appear in both of the district\n"
-"council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
-"for the county council."
-msgstr ""
-"%s dërgon kategori të ndryhme të problemit\n"
-"tek Drejtoria adekuate e Komunës, kështu që problemet që paraqiten jashtë Komunës perkatëse nuk do ti shkojnë asaj. Si shembull një raport per graffiti do ti dërgohet Komunës, mirëpo do ti dërgohet vetëm Komunës së caktuar në hartë."
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:257 perllib/FixMyStreet/Cobrand/UK.pm:269
-msgid "%s ward, %s"
-msgstr "%s lagje, %s"
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
-msgid "%s, within %s ward"
-msgstr "%s, brenda lagjes %s"
-
#: perllib/FixMyStreet/Map/OSM.pm:38
msgid "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"
msgstr "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> kontribuesit"
@@ -126,7 +105,7 @@ msgstr "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap<
msgid "(Defect &amp; location of defect)"
msgstr "(Defekt &amp; lokacioni i defektit)"
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
#: templates/web/base/admin/users.html:32
msgid "(Email in abuse table)"
msgstr "(Email-i në tabelen abuzimi)"
@@ -141,28 +120,36 @@ msgstr "(Pa emër)"
msgid "(No phone number)"
msgstr "(Pa numër të telefonit)"
-#: templates/web/base/alert/_list.html:25
-msgid "(a default distance which covers roughly 200,000 people)"
-msgstr "(nje distance e paracaktuar e cila mbulon pothuajse 200,000 persona)"
-
-#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
-#: templates/web/base/alert/_list.html:30
-msgid "(alternatively the RSS feed can be customised, within %s)"
-msgstr "(Ndryshe RSS mund të personalizohet, brenda% s)"
+#: templates/web/base/admin/states/index.html:95
+msgid "(a-z and space only)"
+msgstr ""
#: templates/web/zurich/report/_item.html:19
msgid "(closed)"
msgstr "(i mbyllur)"
+#: templates/web/base/alert/_list.html:30
+#, fuzzy
+msgid "(covers roughly 200,000 people)"
+msgstr "(nje distance e paracaktuar e cila mbulon pothuajse 200,000 persona)"
+
#: templates/web/zurich/report/_item.html:17
msgid "(fixed)"
msgstr "(i rregulluar)"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "(ignored if type is \"String\")"
+msgstr ""
+
#: templates/web/base/around/intro.html:2
msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
msgstr "(Si mbishkrime, pllaka të thyera , ose ndriçimit të rrugëve)"
-#: templates/web/base/report/_item.html:68
+#: templates/web/base/reports/index.html:69
+msgid "(no longer exists)"
+msgstr ""
+
+#: templates/web/base/report/_item.html:70
msgid "(not sent to council)"
msgstr "(nuk ju dergua kuvendit)"
@@ -170,20 +157,22 @@ msgstr "(nuk ju dergua kuvendit)"
msgid "(optional)"
msgstr "(opsionale)"
-#: templates/web/base/report/_item.html:67
+#: templates/web/base/report/_item.html:69
msgid "(sent to both)"
msgstr "(dërguar te të dy)"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:239
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/DB/Result/Problem.pm:454
+#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
+#: templates/web/base/alert/_list.html:36
+#, fuzzy
+msgid "(we also have RSS feeds for problems within %s)"
+msgstr "RSS feed i problemeve brenda %s"
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:245
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:381
msgid "-- Pick a category --"
msgstr "-- Zgjedh në kategori --"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:460
-msgid "-- Pick a property type --"
-msgstr "-- Zgjedh nje lloj te karakteristikes --"
-
#: templates/web/base/admin/response_templates_select.html:3
msgid "--Choose a template--"
msgstr "--Zgjedh një template--"
@@ -192,16 +181,16 @@ msgstr "--Zgjedh një template--"
msgid "10 inch pothole on Example St, near post box"
msgstr ""
-#: templates/web/base/dashboard/index.html:152
+#: templates/web/base/dashboard/index.html:153
msgid "14-30 days old"
msgstr ""
-#: templates/web/base/dashboard/index.html:151
+#: templates/web/base/dashboard/index.html:152
msgid "7-14 days old"
msgstr ""
-#: templates/web/base/admin/body-form.html:48
-#: templates/web/base/admin/body-form.html:49
+#: templates/web/base/admin/body-form.html:50
+#: templates/web/base/admin/body-form.html:51
msgid ""
"<code>MAPIT_URL</code> is set (<code>%s</code>) but no <code>MAPIT_TYPES</code>.<br>\n"
" This is probably why \"area covered\" is empty (below).<br>\n"
@@ -215,15 +204,15 @@ msgstr ""
msgid "<h2>Reports, Statistics and Actions for</h2> <h1>%s</h1>"
msgstr ""
-#. ('The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories')
#. ("The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories")
-#: templates/web/base/reports/_list-filters.html:37
-msgid "<label for=\"statuses\">Show</label> %s <label for=\"filter_categories\">about</label> %s"
+#: templates/web/base/reports/_list-filters.html:48
+#, fuzzy
+msgid "<label for=\"statuses\">Show</label> %s reports <label for=\"filter_categories\">about</label> %s"
msgstr ""
"Paraqit\n"
"për"
-#: templates/web/base/js/translation_strings.html:71
+#: templates/web/base/js/translation_strings.html:74
msgid "<span>%s</span> saved."
msgstr ""
@@ -240,34 +229,25 @@ msgstr "<strong>Jo</strong> Më lejo të konfirmoj raportin tim me email"
msgid "<strong>No</strong> Let me confirm my update by email"
msgstr "<strong>Jo</strong> Me lejoni te konfirmoj perditesimin me email"
-#: templates/web/base/auth/general.html:104
+#: templates/web/base/auth/general.html:106
#: templates/web/zurich/auth/general.html:51
msgid "<strong>No</strong> let me sign in by email"
msgstr "<strong>Jo</strong> më lejo të kyqem me email"
-#: templates/web/base/report/_inspect.html:160
+#: templates/web/base/report/_inspect.html:170
msgid "<strong>Note:</strong> This report has been sent onwards for action. Any changes made won't be passed on."
msgstr "<Strong> Shënim: </ strong> Ky raport është dërguar tutje për veprim. Çdo ndryshim i bërë tutje nuk do të kalojë."
-#: templates/web/base/report/_inspect.html:162
+#: templates/web/base/report/_inspect.html:172
msgid "<strong>Note:</strong> This report hasn't yet been sent onwards for action. Any changes made may not be passed on."
msgstr "<Strong> Shënim: </ strong> Ky raport nuk është dërguar ende në vazhdim për veprim. Çdo ndryshim i bërë nuk mund të kalohet."
-#: templates/web/base/auth/general.html:80
+#: templates/web/base/auth/general.html:82
#: templates/web/base/report/new/form_user_loggedout_password.html:3
#: templates/web/base/report/update/form_user_loggedout_password.html:2
msgid "<strong>Yes</strong> I have a password"
msgstr "<strong>Po</strong> Unë kam një fjalëkalim"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:10
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:6
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Action Scheduled"
-msgstr "Veprim i Planifikuar"
-
#: templates/web/base/admin/body-form.html:3
#: templates/web/base/admin/body-form.html:4
msgid ""
@@ -283,19 +263,36 @@ msgid "Add a contact using the form below."
msgstr "Shto nje kontakt duke perdorur formularin e meposhtem."
#: templates/web/base/admin/bodies.html:78
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Add body"
msgstr "Shto trup"
+#: templates/web/base/admin/reportextrafields/index.html:24
+msgid "Add extra fields"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:79
+msgid "Add field"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:85
+msgid "Add fixed state"
+msgstr ""
+
#: templates/web/base/admin/body.html:126
#: templates/web/zurich/admin/body.html:31
msgid "Add new category"
msgstr "Shto një kategori të re"
+#: templates/web/base/admin/extra-metadata-form.html:72
+#, fuzzy
+msgid "Add option"
+msgstr "Opsionale"
+
#: templates/web/base/report/_item.html:10
-#: templates/web/base/report/_item.html:14
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_item.html:16
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:19
#: templates/web/base/report/_main.html:30
msgid "Add to shortlist"
@@ -307,15 +304,15 @@ msgstr "Shto në listën e ngushtë"
msgid "Add user"
msgstr "Shto përdorues"
-#: perllib/FixMyStreet/Cobrand/Default.pm:730
+#: perllib/FixMyStreet/Cobrand/Default.pm:735
msgid "Add/edit problem categories"
msgstr "Shto/përditëso kategoritë e problemeve"
-#: perllib/FixMyStreet/Cobrand/Default.pm:732
+#: perllib/FixMyStreet/Cobrand/Default.pm:737
msgid "Add/edit response priorities"
msgstr "Shto/përditëso prioritetet e përgjigjeve"
-#: perllib/FixMyStreet/Cobrand/Default.pm:731
+#: perllib/FixMyStreet/Cobrand/Default.pm:736
msgid "Add/edit response templates"
msgstr "Shto/Përditëso përgjigjet nga template"
@@ -323,7 +320,7 @@ msgstr "Shto/Përditëso përgjigjet nga template"
msgid "Added %s"
msgstr "Shtoi %s"
-#: templates/web/base/report/_main.html:145
+#: templates/web/base/report/_main.html:149
msgid "Adding this report to your shortlist will remove it from %s’s shortlist."
msgstr "Duke shtuar këtë raport në listën tuaj do të heqni atë nga lista %s''s e ngushtë."
@@ -343,18 +340,17 @@ msgstr "Paralajmerimi %d u krijua per %s, lloji %s, parametrat %s / %s"
msgid "Alert %d disabled (created %s)"
msgstr "Notifikimi %d i ndalur (krijuar %s)"
-#: templates/web/base/report/update/form_name.html:38
+#: templates/web/base/report/update/form_name.html:42
msgid "Alert me to future updates"
msgstr "Me paralajmero per perditesime ne te ardhmen"
#: templates/web/base/dashboard/index.html:138
#: templates/web/base/dashboard/index.html:21
#: templates/web/base/dashboard/index.html:30
-#, fuzzy
+#: templates/web/base/reports/_list-filters.html:3
msgid "All"
-msgstr "Të gjitha"
+msgstr ""
-#: templates/web/base/reports/index.html:6
#: templates/web/zurich/reports/index.html:13
msgid "All Reports"
msgstr "Te gjitha Raportimet"
@@ -364,15 +360,23 @@ msgid "All Reports as CSV"
msgstr "Të gjitha raportet si CSV"
#: templates/web/base/admin/category-multiselect.html:5
-#: templates/web/base/admin/responsepriorities/list.html:19
+#: templates/web/base/admin/responsepriorities/list.html:20
msgid "All categories"
msgstr "Të gjitha kategoritë"
+#: templates/web/base/admin/reportextrafields/edit.html:26
+#, fuzzy
+msgid "All cobrands"
+msgstr "Të gjitha kategoritë"
+
+#: templates/web/base/admin/reportextrafields/edit.html:47
+msgid "All languages"
+msgstr ""
+
#: templates/web/base/main_nav_items.html:0
#: templates/web/base/main_nav_items.html:27
-#: templates/web/base/reports/_list-filters.html:3
#: templates/web/zurich/admin/index-dm.html:12
-#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:21
+#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:20
#: templates/web/zurich/nav_over_content.html:6
msgid "All reports"
msgstr "Te gjitha raportimet"
@@ -382,6 +386,14 @@ msgstr "Te gjitha raportimet"
msgid "All reports between %s and %s"
msgstr "Te gjitha raportimet ne mes te %s dhe %s"
+#: templates/web/base/reports/index.html:23
+msgid "All time"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:20
+msgid "Alternatively, we can hide your name on <strong>all of your reports and updates</strong> across the site:"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:47
msgid "An update marked this problem as fixed."
msgstr "Nje perditesim e ka perditesuar kete problem si te zgjidhur."
@@ -391,31 +403,33 @@ msgstr "Nje perditesim e ka perditesuar kete problem si te zgjidhur."
msgid "Anonymous"
msgstr "Anonim"
-#: templates/web/base/admin/report_edit.html:134
+#: templates/web/base/report/new/form_user_loggedin.html:21
+#: templates/web/base/report/update/form_name.html:17
+#, fuzzy
+msgid "Anonymous user"
+msgstr "Anonim"
+
+#: templates/web/base/admin/report_edit.html:122
#: templates/web/base/admin/update_edit.html:23
msgid "Anonymous:"
msgstr "Anonim:"
-#: templates/web/base/report/new/form_user_loggedin.html:20
-#: templates/web/base/report/update/form_name.html:13
+#: templates/web/base/report/new/form_user_loggedin.html:24
+#: templates/web/base/report/update/form_name.html:14
msgid "Another user"
msgstr "Përdorues tjetër"
-#: templates/web/base/front/footer-marketing.html:16
-msgid "Are you a developer?"
-msgstr "A jeni nje zhvillues?"
-
-#: templates/web/base/js/translation_strings.html:56
+#: templates/web/base/js/translation_strings.html:59
msgid "Are you sure you want to cancel this upload?"
msgstr "Jeni te sigurte qe doni te anuloni këtë upload?"
#: templates/web/base/admin/report_edit.html:84
-#: templates/web/base/js/translation_strings.html:66
+#: templates/web/base/js/translation_strings.html:69
#: templates/web/base/report/display_tools.html:6
msgid "Are you sure?"
msgstr "A jeni të sigurtë?"
-#: templates/web/base/admin/body-form.html:75
+#: templates/web/base/admin/body-form.html:77
#: templates/web/base/admin/body.html:20
#: templates/web/zurich/admin/body-form.html:24
msgid "Area covered"
@@ -447,11 +461,11 @@ msgstr "Caktoja një drejtorije të jashtme:"
msgid "Assign to subdivision:"
msgstr "Cakto per nenndarje:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:727
+#: perllib/FixMyStreet/Cobrand/Default.pm:732
msgid "Assign users to areas"
msgstr "Cakto përdorues për ëonat"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:214
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:219
msgid "Assigned to %s"
msgstr "Caktuar per %s"
@@ -472,11 +486,14 @@ msgstr "Përdoruesit e stafit te autorizuar mund të jenë të lidhur me kategor
msgid "Auto-response:"
msgstr "Përgjigje-Automatike:"
-#: templates/web/base/admin/report_edit.html:127
-#: templates/web/base/report/_inspect.html:47
+#: templates/web/base/admin/report-category.html:8
msgid "Available categories"
msgstr "Kategoritë në dispozicion"
+#: templates/web/base/reports/index.html:84
+msgid "Average time between a problem being reported and being fixed, last 100 reports."
+msgstr ""
+
#: templates/web/base/dashboard/index.html:109
msgid "Average time to council marking fixed (days)"
msgstr ""
@@ -489,7 +506,7 @@ msgstr ""
msgid "Avoid personal information and vehicle number plates"
msgstr "Shmangni të dhënat personale dhe targat e automjeteve"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:417
+#: perllib/FixMyStreet/DB/Result/Problem.pm:344
#: templates/web/zurich/report/_item.html:9
msgid "Awaiting moderation"
msgstr "Në pritje të vlerësimit"
@@ -502,13 +519,13 @@ msgstr "Prapa"
msgid "Back to all reports"
msgstr "Prapa te të gjitha raportet"
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
msgid "Ban email address"
msgstr "bllokoemail adresen"
#: perllib/FixMyStreet/Cobrand/Default.pm:650
-#: perllib/FixMyStreet/Cobrand/Default.pm:729
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
+#: perllib/FixMyStreet/Cobrand/Default.pm:734
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:396
#: templates/web/base/admin/bodies.html:1
#: templates/web/base/admin/report_edit.html:55
#: templates/web/zurich/header.html:56
@@ -530,7 +547,11 @@ msgstr "Drejtori"
msgid "By Date"
msgstr "Nga Data"
-#: templates/web/base/auth/token.html:21 templates/web/base/email_sent.html:18
+#: templates/web/base/admin/extra-metadata-form.html:36
+msgid "Can be used to display extra text to the user alongside the field. The default template does not show this (<code>meta.datatype_description</code>), you must add it in <code>category_extras_fields.html</code>"
+msgstr ""
+
+#: templates/web/base/auth/token.html:27 templates/web/base/email_sent.html:20
msgid "Can&rsquo;t find our email? Check your spam folder&nbsp;&ndash; that&rsquo;s the solution 99% of the time."
msgstr "Nuk mund ta gjeni emailin tonë? Kontrolloni folderin spam ne e-mail. Kjo është zgjidhja për 99% të rasteve."
@@ -551,8 +572,8 @@ msgstr "Kategoritë:"
#: templates/web/base/admin/body.html:72
#: templates/web/base/admin/contact-form.html:19
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/report/_inspect.html:38
-#: templates/web/base/report/_item.html:90
+#: templates/web/base/report/_inspect.html:48
+#: templates/web/base/report/_item.html:92
#: templates/web/base/report/new/category.html:6
#: templates/web/base/report/new/category_wrapper.html:3
#: templates/web/zurich/admin/body.html:14
@@ -563,7 +584,7 @@ msgstr "Kategoritë:"
msgid "Category"
msgstr "Kategoria"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:852
+#: perllib/FixMyStreet/App/Controller/Admin.pm:956
msgid "Category changed from ‘%s’ to ‘%s’"
msgstr "Kategoria u ndryshua nga '%s' në '%s'"
@@ -603,27 +624,11 @@ msgstr "Ndrysho email adresën"
msgid "Change password"
msgstr "Nderro fjalekalimin"
-#: templates/web/base/admin/contact-form.html:41
-msgid ""
-"Check <strong>confirmed</strong> to indicate that this contact has been confirmed as correct.\n"
-" If you are not sure of the origin or validity of the contact, leave this unchecked."
-msgstr ""
-"Kontrollo<strong>konfirmuar</strong>për të treguar që ky kontakt është konfirmuar si korrekt.\n"
-"Nëse nuk jeni të sigurte në origjinen ose validitetin e kontaktit, mos e plotësoni këtë."
-
-#: templates/web/base/admin/contact-form.html:52
-msgid ""
-"Check <strong>deleted</strong> to remove the category from use. \n"
-" It will not appear as an available category in the drop-down menu on the report-a-problem page."
-msgstr ""
-"Kontrolloni <strong> delete</ strong> për të hequr kategorinë nga përdorimi.\n"
-"Kjo nuk do të shfaqet si një kategori në dispozicion në drop-down menu në faqen Raportet e problemeve."
-
-#: templates/web/base/admin/contact-form.html:79
+#: templates/web/base/admin/contact-form.html:80
msgid "Check <strong>inspection required</strong> if reports in this category <strong>must be inspected</strong> before being sent."
msgstr "Kontrolloni <strong> aty ku inspektimi kërkohet </ strong> në qoftë se raportet në këtë kategori <strong> duhet të inspektohen </ strong> përpara se të dërgohet."
-#: templates/web/base/admin/contact-form.html:63
+#: templates/web/base/admin/contact-form.html:64
msgid ""
"Check <strong>private</strong> if reports in this category should <strong>never be displayed on the website</strong>.\n"
" <br>\n"
@@ -650,11 +655,11 @@ msgstr ""
"Zgjidhni një emër të<strong> kategorisë </ strong> emër që ka kuptim për publikun (p.sh., \"\", \"ndriçimi publik\",\"Rruga Lokale\"), por është i kuptueshëm edhe për\n"
"Drejtorinë. Këto do të shfaqen në drop-down menynë në faqen Raportimit të problemeve."
-#: templates/web/base/report/_inspect.html:93
+#: templates/web/base/report/_inspect.html:103
msgid "Choose another"
msgstr ""
-#: templates/web/base/js/translation_strings.html:65
+#: templates/web/base/js/translation_strings.html:68
msgid "Clear offline data"
msgstr ""
@@ -679,21 +684,22 @@ msgstr "Klikoni linkun në emailin e konfirmimit që ta publikoni problemin tuaj
msgid "Click the link in our confirmation email to publish your update."
msgstr "Klikoni linkun në emailin konfirmues që të publikoni përditësimin tuaj."
-#: templates/web/base/auth/token.html:18
+#: templates/web/base/auth/token.html:23
msgid "Click the link in our confirmation email to sign in."
msgstr "Klikoni linkun në emailin tonë konfirmues për tu kyçur."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:189
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:960
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:17
-#: templates/web/base/admin/report_blocks.html:27
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:43
-#: templates/web/base/report/banner.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:18
+#: templates/web/base/auth/token.html:20
+#, fuzzy
+msgid "Click the link in that email to sign in."
+msgstr "Klikoni linkun në emailin tonë konfirmues për tu kyçur."
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:134
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:194
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:965
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:11
+#: templates/web/base/admin/states/index.html:103
+#: templates/web/base/admin/states/index.html:27
+#: templates/web/base/admin/states/index.html:33
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:10
#: templates/web/zurich/admin/header.html:16
@@ -701,23 +707,17 @@ msgstr "Klikoni linkun në emailin tonë konfirmues për tu kyçur."
msgid "Closed"
msgstr "Mbyllur"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:889
+#: perllib/FixMyStreet/DB/Result/Problem.pm:826
msgid "Closed by council"
msgstr "Mbyllur nga këshilli."
-#: templates/web/base/reports/_list-filters.html:13
-msgid "Closed reports"
-msgstr "Raporte të mbyllura"
-
-#: templates/web/base/admin/problem_row.html:38
-msgid "Closed:"
-msgstr "Mbyllur:"
-
#: templates/web/base/admin/report_edit.html:37
msgid "Co-ordinates:"
msgstr "Koordinatat:"
#: templates/web/base/admin/list_updates.html:10
+#: templates/web/base/admin/reportextrafields/edit.html:24
+#: templates/web/base/admin/reportextrafields/index.html:7
msgid "Cobrand"
msgstr ""
@@ -731,10 +731,13 @@ msgstr ""
msgid "Cobrand:"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:14
+msgid "Code"
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:50
-#, fuzzy
msgid "Collapse map"
-msgstr "Harta të përdorura"
+msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:646
#: templates/web/base/admin/config_page.html:1
@@ -762,9 +765,8 @@ msgstr "Konfirmo me e-mail, duke siguruar një fjalëkalim të ri në atë pikë
msgid "Confirmation"
msgstr "Konfirmimi"
-#: templates/web/base/admin/body.html:85
-#: templates/web/base/admin/category_edit.html:54
-#: templates/web/base/admin/contact-form.html:47
+#: templates/web/base/admin/contact-form.html:56
+#: templates/web/zurich/admin/contact-form.html:12
#: templates/web/zurich/admin/stats.html:40
msgid "Confirmed"
msgstr "E konfirmuar"
@@ -799,8 +801,8 @@ msgstr "Kontakto ekipin"
msgid "Coordinates:"
msgstr "Koordinatat:"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1668
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1696
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1773
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1801
msgid "Could not find user"
msgstr "Nuk mund te gjeni perdoruesin"
@@ -820,33 +822,28 @@ msgstr "Kontaktet e kuvendit për %s"
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:83
-#, fuzzy
msgid "Council has marked as closed"
-msgstr "shenuar si i mbyllur"
+msgstr ""
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:57
-#, fuzzy
msgid "Council has marked as fixed"
-msgstr "shenuar si i rregulluar"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:80
-#, fuzzy
msgid "Council has marked as in progress"
-msgstr "shenuar si ne progres"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:82
-#, fuzzy
msgid "Council has marked as investigating"
-msgstr "shenuar si i shqyrtuar"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:81
-#, fuzzy
msgid "Council has marked as planned"
-msgstr "shenuar si i planifikuar"
+msgstr ""
#: templates/web/base/report/_council_sent_info.html:6
msgid "Council ref:&nbsp;%s"
@@ -863,24 +860,34 @@ msgstr "Kuvendi:"
msgid "Count"
msgstr "Numëro"
+#: templates/web/base/admin/states/index.html:114
+#, fuzzy
+msgid "Create"
+msgstr "U krijua"
+
#: templates/web/base/email_sent.html:1
msgid "Create a report"
msgstr "Krijo nje raport"
-#: templates/web/base/admin/contact-form.html:137
+#: templates/web/base/admin/contact-form.html:138
#: templates/web/zurich/admin/body.html:62
msgid "Create category"
msgstr "Krijo kategorine"
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/responsepriorities/edit.html:58
msgid "Create priority"
msgstr "Krijo prioritet"
-#: perllib/FixMyStreet/Cobrand/Default.pm:714
+#: perllib/FixMyStreet/Cobrand/Default.pm:718
+#, fuzzy
+msgid "Create reports/updates as anonymous user"
+msgstr "Krijo raport/përditësim në emër të shfrytëzuesit"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:719
msgid "Create reports/updates as the council"
msgstr "Krijo raporte/përditësime si Kuvend Komunal"
-#: perllib/FixMyStreet/Cobrand/Default.pm:713
+#: perllib/FixMyStreet/Cobrand/Default.pm:717
msgid "Create reports/updates on a user's behalf"
msgstr "Krijo raport/përditësim në emër të shfrytëzuesit"
@@ -910,13 +917,15 @@ msgstr "Gjendja aktuale"
msgid "Currently no bodies have been created."
msgstr "Aktualisht asnje grup nuk eshte krijuar."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:825
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:830
#: templates/web/zurich/admin/report_edit-sdm.html:105
msgid "Customer not contactable"
msgstr "Klienti nuk mund të kontaktohet"
#: templates/web/base/dashboard/index.html:5
#: templates/web/base/dashboard/index.html:7
+#: templates/web/base/reports/index.html:15
+#: templates/web/base/reports/index.html:18
msgid "Dashboard"
msgstr "Paneli"
@@ -924,29 +933,37 @@ msgstr "Paneli"
msgid "Dealt with by subdivision within 5 working days"
msgstr "Trajtohet nga nën-drejtoritë brenda 5 ditëve të punës"
-#: templates/web/base/report/_inspect.html:73
+#: templates/web/base/admin/responsepriorities/list.html:9
+msgid "Default"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:39
+#, fuzzy
+msgid "Default priority"
+msgstr "Krijo prioritet"
+
+#: templates/web/base/report/_inspect.html:72
msgid "Defect type"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:973
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1078
#: templates/web/base/admin/template_edit.html:50
#: templates/web/zurich/admin/template_edit.html:33
msgid "Delete template"
msgstr "Fshije template"
#: templates/web/base/admin/bodies.html:31
-#: templates/web/base/admin/body.html:87
-#: templates/web/base/admin/category_edit.html:55
#: templates/web/base/admin/contact-form.html:58
-#: templates/web/zurich/admin/contact-form.html:12
+#: templates/web/zurich/admin/contact-form.html:13
msgid "Deleted"
msgstr "E fshirë"
-#: templates/web/base/report/_main.html:110
-#: templates/web/base/report/update.html:59
+#: templates/web/base/report/_main.html:114
+#: templates/web/base/report/update.html:68
msgid "Describe why you are moderating this"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:32
#: templates/web/base/admin/responsepriorities/list.html:7
#: templates/web/zurich/admin/index-dm.html:22
#: templates/web/zurich/admin/index-sdm.html:20
@@ -970,7 +987,7 @@ msgstr "Detaje"
msgid "Details:"
msgstr "Detaje:"
-#: templates/web/base/admin/body.html:93
+#: templates/web/base/admin/body.html:92
msgid "Devolved"
msgstr "Transferuar"
@@ -983,18 +1000,17 @@ msgstr "Nuk e përdori hartën"
msgid "Diligency prize league table"
msgstr ""
-#: templates/web/base/report/_main.html:114
-#: templates/web/base/report/update.html:61
-#, fuzzy
+#: templates/web/base/report/_main.html:118
+#: templates/web/base/report/update.html:70
msgid "Discard changes"
-msgstr "Ruaj ndryshimet"
+msgstr ""
#: templates/web/base/admin/open311-form-fields.html:95
msgid "Do not send email alerts on fetched comments to problem creator"
msgstr "Mos dërgo notifikime me email ne komentet e marra nga lajmëruesi i problemit"
#. ("%s is the site name")
-#: templates/web/base/auth/general.html:58
+#: templates/web/base/auth/general.html:60
#: templates/web/base/report/new/form_user_loggedout.html:25
#: templates/web/base/report/new/oauth_email_form.html:18
#: templates/web/base/report/update-form.html:30
@@ -1002,40 +1018,33 @@ msgstr "Mos dërgo notifikime me email ne komentet e marra nga lajmëruesi i pro
msgid "Do you have a %s password?"
msgstr "A keni vondosur nje %s fjalëkalim ?"
+#: templates/web/base/report/_inspect.html:87
+msgid "Do you want to automatically raise a defect?"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:57
msgid "Don&rsquo;t know"
msgstr "Nuk e di"
-#: templates/web/base/contact/index.html:108
+#: templates/web/base/contact/index.html:112
msgid "Don't like forms?"
msgstr "Nuk i'u pelqen kjo forme?"
-#: templates/web/base/report/_item.html:25
+#: templates/web/base/report/_item.html:27
msgid "Down one"
msgstr ""
-#: templates/web/base/js/translation_strings.html:55
+#: templates/web/base/js/translation_strings.html:58
msgid "Drag and drop photos here or <u>click to upload</u>"
msgstr "Merr dhe lësho fotot këtu ose <u>kliko për të ngarkuar foto</u>"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:10
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "Duplicate"
-msgstr "Dyfisho"
-
-#: templates/web/base/report/_inspect.html:88
-#, fuzzy
+#: templates/web/base/report/_inspect.html:98
msgid "Duplicate of"
-msgstr "Dyfisho"
+msgstr ""
-#: templates/web/base/report/_inspect.html:98
-#, fuzzy
+#: templates/web/base/report/_inspect.html:108
msgid "Duplicates"
-msgstr "Dyfisho"
+msgstr ""
#: templates/web/base/admin/body.html:116
msgid ""
@@ -1048,43 +1057,43 @@ msgstr ""
"kategoritë të ndryshme <strong> mund të kenë të njëjtin kontakt </ strong> (adresë e-mail).\n"
"Kjo do të thotë që ju mund të shtoni shumë kategori edhe në qoftë se ju keni vetëm një kontakt për llojin e problemit"
-#: templates/web/base/report/_inspect.html:16
-#: templates/web/base/report/_item.html:81
+#: templates/web/base/report/_inspect.html:26
+#: templates/web/base/report/_item.html:83
msgid "Easting/Northing:"
msgstr "Lëvizje drejtë Lindjes/Veriut:"
#: templates/web/base/admin/list_updates.html:42
#: templates/web/base/admin/problem_row.html:41
-#: templates/web/base/admin/responsepriorities/list.html:26
+#: templates/web/base/admin/responsepriorities/list.html:28
#: templates/web/base/admin/templates.html:22
#: templates/web/base/admin/users.html:34
#: templates/web/zurich/admin/problem_row.html:48
msgid "Edit"
msgstr "Përditëso"
-#: templates/web/base/admin/body.html:140
+#: templates/web/base/admin/body.html:141
#: templates/web/base/admin/index.html:39
#: templates/web/zurich/admin/body.html:69
msgid "Edit body details"
msgstr "Përditëso detajet:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:724
+#: perllib/FixMyStreet/Cobrand/Default.pm:729
msgid "Edit other users' details"
msgstr "Përditëso detajet e përdoruesit"
-#: perllib/FixMyStreet/Cobrand/Default.pm:725
+#: perllib/FixMyStreet/Cobrand/Default.pm:730
msgid "Edit other users' permissions"
msgstr "Përditëso autorizimet e përdoruesit"
-#: perllib/FixMyStreet/Cobrand/Default.pm:708
+#: perllib/FixMyStreet/Cobrand/Default.pm:712
msgid "Edit report category"
msgstr "Përditëso kategorinë e raporteve"
-#: perllib/FixMyStreet/Cobrand/Default.pm:709
+#: perllib/FixMyStreet/Cobrand/Default.pm:713
msgid "Edit report priority"
msgstr "Përditëso prioritetin e raportit"
-#: perllib/FixMyStreet/Cobrand/Default.pm:707
+#: perllib/FixMyStreet/Cobrand/Default.pm:711
msgid "Edit reports"
msgstr "Përditëso raportet"
@@ -1107,15 +1116,15 @@ msgstr "Ndryshim i përditësimit"
msgid "Editing user %d"
msgstr "Përditëso përdoruesin %d"
-#: templates/web/base/admin/category_edit.html:56
+#: templates/web/base/admin/category_edit.html:30
msgid "Editor"
msgstr "Editor"
#: templates/web/base/admin/bodies.html:27
-#: templates/web/base/admin/category_edit.html:53
+#: templates/web/base/admin/category_edit.html:28
#: templates/web/base/admin/flagged.html:38
#: templates/web/base/admin/users.html:17
-#: templates/web/base/auth/general.html:49
+#: templates/web/base/auth/general.html:51
#: templates/web/zurich/admin/body-form.html:9
#: templates/web/zurich/admin/body.html:15
#: templates/web/zurich/auth/general.html:24
@@ -1123,13 +1132,14 @@ msgstr "Editor"
msgid "Email"
msgstr "Email"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1644
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1749
msgid "Email added to abuse list"
msgstr "Emaili u shtua te lista e abuzimeve"
-#: templates/web/base/admin/contact-form.html:36
-#: templates/web/base/report/new/form_user_loggedin.html:28
-#: templates/web/base/report/update/form_name.html:19
+#: templates/web/base/admin/contact-form.html:38
+#: templates/web/base/alert/_list.html:74
+#: templates/web/base/report/new/form_user_loggedin.html:32
+#: templates/web/base/report/update/form_name.html:23
msgid "Email address"
msgstr "Email adresa"
@@ -1141,11 +1151,11 @@ msgstr "Notifikimi me email u krijua"
msgid "Email alert deleted"
msgstr "Notifikimi me email u fshi"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1641
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1746
msgid "Email already in abuse list"
msgstr "Emaili tanimë është në listë e abuzuesve"
-#: templates/web/base/admin/report_edit.html:141
+#: templates/web/base/admin/report_edit.html:129
#: templates/web/base/admin/update_edit.html:35
#: templates/web/base/admin/user-form.html:19
#: templates/web/zurich/admin/body.html:48
@@ -1166,8 +1176,8 @@ msgid ""
" <a href='https://www.mysociety.org/2013/02/20/open311-extended/' class='admin-offsite-link'>this article</a>."
msgstr ""
-#: templates/web/base/admin/body-form.html:120
-#: templates/web/base/admin/body-form.html:121
+#: templates/web/base/admin/body-form.html:122
+#: templates/web/base/admin/body-form.html:123
msgid ""
"Enable this <strong>can be devolved</strong> setting if one or more contacts have a \n"
" different endpoint (and send method) from the body's. For example, if reports for some categories of\n"
@@ -1182,11 +1192,11 @@ msgstr "Data e fundit:"
msgid "Endpoint"
msgstr "Pika e fundit"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:76
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:81
msgid "Enter a Z&uuml;rich street name"
msgstr "Shkruaj një Z&uuml;rich emër të rrugës "
-#: perllib/FixMyStreet/Cobrand/UK.pm:15
+#: perllib/FixMyStreet/Cobrand/UK.pm:16
msgid "Enter a nearby UK postcode, or street name and area"
msgstr "Shkruani një emër të rrugës apo zonë."
@@ -1195,12 +1205,13 @@ msgstr "Shkruani një emër të rrugës apo zonë."
msgid "Enter a nearby postcode, or street name and area"
msgstr "Shkruani një emër të rrugës apo zonë"
+#: perllib/FixMyStreet/Cobrand/DansMonQwat.pm:14
#: templates/web/base/around/postcode_form.html:5
#: templates/web/base/around/postcode_form.html:6
msgid "Enter a nearby street name and area"
msgstr "Shkruani emrin e rrugës pranë jush dhe zonës"
-#: templates/web/base/auth/general.html:116
+#: templates/web/base/auth/general.html:118
#: templates/web/base/report/new/form_user_loggedout_by_email.html:35
#: templates/web/base/report/update/form_user_loggedout_by_email.html:13
#: templates/web/zurich/auth/general.html:65
@@ -1220,8 +1231,8 @@ msgstr "Pershkruaje problemin"
msgid "Error"
msgstr "Gabim"
-#: templates/web/base/reports/_list-filters.html:20
-#: templates/web/base/reports/_list-filters.html:28
+#: templates/web/base/reports/_list-filters.html:31
+#: templates/web/base/reports/_list-filters.html:39
msgid "Everything"
msgstr "Çdo gjë"
@@ -1234,8 +1245,7 @@ msgstr "Shembull i kodit postar %s"
msgid "Examples:"
msgstr "Shembuj:"
-#: templates/web/base/admin/report_edit.html:122
-#: templates/web/base/report/_inspect.html:42
+#: templates/web/base/admin/report-category.html:3
msgid "Existing category"
msgstr "Kategori ekzistuese"
@@ -1243,17 +1253,16 @@ msgstr "Kategori ekzistuese"
msgid "Expand map"
msgstr ""
-#: templates/web/base/report/new/form_report.html:52
+#: templates/web/base/report/new/form_report.html:54
msgid "Explain what’s wrong"
msgstr "Shpjego çfarë është gabim"
-#: templates/web/base/dashboard/index.html:146
-#, fuzzy
+#: templates/web/base/dashboard/index.html:147
msgid "Export as CSV"
-msgstr "Të gjitha raportet si CSV"
+msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:913
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:179
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:12
msgid "Extern"
@@ -1264,7 +1273,7 @@ msgstr "i jashtëm"
msgid "External ID"
msgstr "ID e jashtme"
-#: templates/web/base/admin/body-form.html:87
+#: templates/web/base/admin/body-form.html:89
msgid "External URL"
msgstr "URL i jashtëm"
@@ -1276,13 +1285,20 @@ msgstr "Drejtori e jashtme"
msgid "External team"
msgstr "Ekipi i jashtëm"
-#: templates/web/base/admin/category_edit.html:25
+#: perllib/FixMyStreet/Cobrand/Default.pm:673
+#: templates/web/base/admin/reportextrafields/edit.html:1
+#: templates/web/base/admin/reportextrafields/index.html:1
+#, fuzzy
+msgid "Extra Fields"
+msgstr "Ekstra detajet"
+
+#: templates/web/base/admin/contact-form.html:141
#: templates/web/base/admin/report_edit.html:94
msgid "Extra data:"
msgstr "Te dhena shtese:"
-#: templates/web/base/report/_inspect.html:134
-#: templates/web/base/report/_item.html:106
+#: templates/web/base/report/_inspect.html:144
+#: templates/web/base/report/_item.html:108
msgid "Extra details"
msgstr "Ekstra detajet"
@@ -1290,6 +1306,11 @@ msgstr "Ekstra detajet"
msgid "Failed to send message"
msgstr "Nuk arriti të dërgojë mesazh"
+#: templates/web/base/admin/reportextrafields/edit.html:58
+#: templates/web/base/admin/reportextrafields/index.html:9
+msgid "Fields"
+msgstr ""
+
#: templates/web/zurich/admin/index-dm.html:33
#: templates/web/zurich/admin/index-sdm.html:30
msgid "Filter report list"
@@ -1303,52 +1324,32 @@ msgstr "Emri"
msgid "Fix this by choosing an <strong>area covered</strong> in the <em>Edit body details</em> form below."
msgstr "Rregulloni këtë duke zgjedhur një <strong> zonë të mbuluar </ strong> në detajet e trupit <em> Ndrysho </ em> formularin e mëposhtëm."
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:11
-#: templates/web/base/admin/report_blocks.html:26
+#: perllib/FixMyStreet/App/Controller/Admin/States.pm:35
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:133
+#: templates/web/base/admin/states/index.html:29
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:41
-#: templates/web/base/report/banner.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:17
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:45
msgid "Fixed"
msgstr "E rregulluar"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:13
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:7
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:62
msgid "Fixed - Council"
msgstr "E rregulluar - Këshilli"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:12
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:63
msgid "Fixed - User"
msgstr "E rregulluar - Perdoruesi"
-#: templates/web/base/reports/_list-filters.html:14
-msgid "Fixed reports"
-msgstr "Raportimet që janë rregulluar"
-
-#: templates/web/base/admin/problem_row.html:37
-msgid "Fixed:"
-msgstr "E rregulluar:"
-
-#: templates/web/base/admin/body-form.html:95
-#: templates/web/base/admin/responsepriorities/edit.html:41
+#: templates/web/base/admin/body-form.html:97
+#: templates/web/base/admin/responsepriorities/edit.html:53
#: templates/web/zurich/admin/body-form.html:36
msgid "Flag as deleted"
msgstr "E fshirë"
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/report_blocks.html:23
msgid "Flag user"
msgstr "Flamuri i perdoruesit"
-#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: perllib/FixMyStreet/Cobrand/Default.pm:644
#: templates/web/base/admin/users.html:20
msgid "Flagged"
msgstr "E shënjuar"
@@ -1365,7 +1366,7 @@ msgstr "Përdoruesit e shënjuar janë të listuar në <a href='%s'> faqen e shÃ
msgid "Flagged users are not restricted in any way. This is just a list of users that have been marked for attention."
msgstr "Përdoruesit e shënjuar nuk janë të kufizuar në asnjë mënyrë. Kjo është vetëm një listë e përdoruesve që kanë qenë të shënuar për vëmendje të mëtutjeshme."
-#: templates/web/base/admin/report_edit.html:147
+#: templates/web/base/admin/report_edit.html:135
#: templates/web/base/admin/user-form.html:100
msgid "Flagged:"
msgstr "Shënjuar:"
@@ -1378,21 +1379,25 @@ msgstr "Ndiqni një link të lagjes për të parë raportet vetëm brenda asaj l
msgid "For best results include a close-up and a wide shot"
msgstr "Për rezultate më të mira përfshijë një close-up dhe wide-shot"
-#: templates/web/base/admin/body-form.html:71
+#: templates/web/base/admin/extra-metadata-form.html:52
+msgid "For each option, <strong>Key</strong> is the value which is stored in the database for that option and <strong>Name</strong> is the value displayed to the user."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:73
msgid "For more information, see <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
msgstr "Për më shumë informata, shih <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'> Si e përdorë FixMyStreet platformën Mapit </a>."
-#: templates/web/base/auth/general.html:95
+#: templates/web/base/auth/general.html:97
#: templates/web/base/report/new/form_user_loggedout_password.html:20
#: templates/web/base/report/update/form_user_loggedout_password.html:19
msgid "Forgotten your password?"
msgstr "Keni harruar fjalëkalimin tuaj?"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:743
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:748
msgid "Forwarded to external body"
msgstr "Përcjellur tek drejtoria e jashtme"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:744
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:749
msgid "Forwarded wish to external body"
msgstr ""
@@ -1402,6 +1407,10 @@ msgstr ""
msgid "Frequently Asked Questions"
msgstr "Pyetjet më të shpeshta"
+#: templates/web/base/admin/stats.html:102
+msgid "Get Count"
+msgstr ""
+
#: templates/web/base/around/_updates.html:3
#: templates/web/base/report/display_tools.html:14
msgid "Get updates"
@@ -1417,10 +1426,14 @@ msgstr "Merr perditesimet per %s problemet"
msgid "Get updates of problems in this %s"
msgstr "Merr perditesimet e problemeve ne kete %s"
-#: templates/web/base/alert/_list.html:83
+#: templates/web/base/alert/_list.html:85
msgid "Give me an RSS feed"
msgstr "Me jep mua nje RSS feed"
+#: templates/web/base/admin/reportextrafields/edit.html:6
+msgid "Give this collection of fields a name. It is not shown publicly, just here in the admin."
+msgstr ""
+
#: templates/web/base/questionnaire/completed.html:14
msgid "Glad to hear it’s been fixed!"
msgstr "Jemi të kënaqur që është regulluar!"
@@ -1430,8 +1443,9 @@ msgstr "Jemi të kënaqur që është regulluar!"
#: templates/web/base/admin/index.html:49
#: templates/web/base/alert/index.html:34
#: templates/web/base/around/postcode_form.html:13
-#: templates/web/base/reports/_list-filters.html:38
-#: templates/web/base/reports/_list-filters.html:53
+#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:64
+#: templates/web/base/reports/index.html:75
#: templates/web/zurich/admin/stats.html:26
msgid "Go"
msgstr "Vazhdo"
@@ -1440,7 +1454,7 @@ msgstr "Vazhdo"
msgid "Going to send questionnaire?"
msgstr "Do dërgoni pyetsorin?"
-#: perllib/FixMyStreet/Cobrand/Default.pm:726
+#: perllib/FixMyStreet/Cobrand/Default.pm:731
msgid "Grant access to the admin"
msgstr "Lejoni akses për administratorin"
@@ -1448,10 +1462,6 @@ msgstr "Lejoni akses për administratorin"
msgid "Graph of problem creation by status over time"
msgstr "Grafi i problemeve të krijuara në bazë të statusit gjatë kohës"
-#: templates/web/base/reports/index.html:15
-msgid "Greyed-out lines are councils that no longer exist."
-msgstr "Linjat gri janë këshillet që nuk ekzistojnë më."
-
#: templates/web/base/questionnaire/index.html:48
msgid "Has this problem been fixed?"
msgstr "A ka qene i rregulluar ky problem?"
@@ -1462,7 +1472,7 @@ msgstr "A keni raportuar ndonjë problem më herët për këshillin apo kjo ësh
#: templates/web/base/main_nav_items.html:40
#: templates/web/zurich/about/faq-de-ch.html:1
-#: templates/web/zurich/footer.html:23
+#: templates/web/zurich/footer.html:22
#: templates/web/zurich/nav_over_content.html:8
msgid "Help"
msgstr "Ndihmë"
@@ -1472,22 +1482,13 @@ msgstr "Ndihmë"
msgid "Help <strong>%s</strong> resolve your problem quicker, by providing some extra detail. This extra information will not be published online."
msgstr "Na ndihmoni të zgjedhim problemin tuaj më shpejtë duke na dhënë disa të dhëna më shumë. Këto të dhëna shtesë nuk publikohen online."
-#: templates/web/base/alert/_list.html:9
-msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
-msgstr "Ketu jane llojet e raportimeve te problemeve lokale per &lsquo;%s&rsquo;."
-
-#: templates/web/zurich/footer.html:12
+#: templates/web/zurich/footer.html:11
msgid "Hi %s"
msgstr "Pershendetje %s"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:906
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:19
-#: templates/web/base/admin/report_blocks.html:28
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:911
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:60
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:19
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:11
#: templates/web/zurich/admin/stats.html:32
@@ -1495,16 +1496,33 @@ msgstr "Pershendetje %s"
msgid "Hidden"
msgstr "E fshehur"
-#: templates/web/base/report/_main.html:105
-#, fuzzy
+#: templates/web/base/report/_main.html:109
msgid "Hide entire report"
-msgstr "Ridergo raportin"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:1
+#: templates/web/base/my/anonymize.html:2
+msgid "Hide my name"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:21
+msgid "Hide my name everywhere"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:10
+msgid "Hide my name in this update"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:16
+msgid "Hide my name on this report"
+msgstr ""
#: templates/web/base/around/display_location.html:67
msgid "Hide old"
msgstr "Fshih të vjetrat"
#: templates/web/base/around/display_location.html:62
+#: templates/web/base/js/translation_strings.html:55
msgid "Hide pins"
msgstr "Fshih shenjën"
@@ -1512,7 +1530,16 @@ msgstr "Fshih shenjën"
msgid "Hide update completely?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:49
+#: templates/web/base/report/_report_meta_info.html:3
+#: templates/web/base/report/update.html:55
+msgid "Hide your name?"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:38
+msgid "Hint"
+msgstr ""
+
+#: templates/web/base/admin/category_edit.html:24
msgid "History"
msgstr "Historia"
@@ -1529,12 +1556,12 @@ msgid "How to send successful reports"
msgstr "Si te dergoj nje raport ne menyre te sukseshme"
#: templates/web/base/tokens/confirm_problem.html:36
-#: templates/web/base/tokens/confirm_problem.html:40
+#: templates/web/base/tokens/confirm_problem.html:41
msgid "I just reported a problem on @fixmystreet"
msgstr "Unë sapo raportova një problem në @rregullorrugëntime"
-#: templates/web/base/tokens/confirm_update.html:19
-#: templates/web/base/tokens/confirm_update.html:23
+#: templates/web/base/tokens/confirm_update.html:20
+#: templates/web/base/tokens/confirm_update.html:25
msgid "I just updated a problem on @fixmystreet"
msgstr "Unë sapo përditësova një poroblem në @rregullorrugëntime"
@@ -1554,17 +1581,25 @@ msgstr "Une jam i frikesuar se ne nuk mund te lokalizojme problemin tuaj e datab
msgid "ID"
msgstr "ID"
-#: templates/web/base/admin/body-form.html:30
-#: templates/web/base/admin/body-form.html:31
+#: templates/web/base/admin/body-form.html:32
+#: templates/web/base/admin/body-form.html:33
msgid ""
"Identify a <strong>parent</strong> if this body is itself part of another body.\n"
" For basic installations, you don't need to join bodies in this way."
msgstr ""
+#: templates/web/base/auth/token.html:19
+msgid "If there's a user associated with the address you entered, we've sent a confirmation email."
+msgstr ""
+
#: templates/web/base/admin/responsepriorities/edit.html:23
msgid "If this priority is passed to an external service (e.g. Exor/Confirm) enter the priority code to use with that service here."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:24
+msgid "If ticked the user won’t see an input field, just the ‘Description’ text."
+msgstr ""
+
#: templates/web/base/admin/contact-form.html:14
msgid ""
"If two or more bodies serve the same location, FixMyStreet combines identical categories into a single entry in\n"
@@ -1575,7 +1610,7 @@ msgstr ""
msgid "If you get some more information about the status of your problem, please come back to the site and leave an update."
msgstr "Nëse merrni më shumë informata për gjendjën e problemit tuaj, ju lutem kthehuni në faqe dhe leni një përditësim."
-#: templates/web/base/admin/responsepriorities/edit.html:33
+#: templates/web/base/admin/responsepriorities/edit.html:45
msgid "If you only want this priority to be an option for specific categories, pick them here. By default they will show for all categories."
msgstr "Nëse ju dëshironi vetëm që ky prioritet të jetë një alternativë për kategori të veçanta, merr ato këtu. By default ata do të tregojnë për të gjitha kategoritë"
@@ -1600,7 +1635,7 @@ msgstr ""
"Nëse ju dëshironi një përditësim publik mbi problemin, ju lutem shkruani atë këtu\n"
"(Ju lutem vini re problemi nuk do ti dërgohet këshillit)."
-#: templates/web/base/admin/contact-form.html:30
+#: templates/web/base/admin/contact-form.html:32
msgid "If you're using <strong>a send method that is not email</strong>, enter the service ID (Open311) or equivalent identifier here."
msgstr "Nëse jeni duke përdorur <strong> një metodë të dërgimit që nuk është email </ strong>, futni ID-në e shërbimit (Open311) ose identifikues ekuivalent këtu."
@@ -1627,7 +1662,7 @@ msgid ""
" when they are shown on the site. Enter the ID (number) of that user."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:133
+#: perllib/FixMyStreet/App/Controller/Contact.pm:134
msgid "Illegal ID"
msgstr "ID ilegale"
@@ -1635,13 +1670,6 @@ msgstr "ID ilegale"
msgid "Illegal feed selection"
msgstr "zgjedhje e gabuar e feed"
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "In Progress"
-msgstr "Ne Vazhdim"
-
#: templates/web/base/admin/flagged.html:39
msgid "In abuse table?"
msgstr "Ne tabelen e abuzimeve?"
@@ -1650,18 +1678,17 @@ msgstr "Ne tabelen e abuzimeve?"
msgid "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:192
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:954
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:9
-#: templates/web/base/report/banner.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:5
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:197
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:959
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:8
msgid "In progress"
msgstr "Në vazhdim"
+#: templates/web/base/admin/contact-form.html:57
+msgid "Inactive"
+msgstr ""
+
#: templates/web/base/tokens/confirm_alert.html:11
msgid "Inbox zero, here we come!"
msgstr "Inboksi zero, ja ku erdhëm!"
@@ -1678,11 +1705,15 @@ msgstr "Perfshire raportimet e pakonfirmuara"
msgid "Incorrect has_photo value \"%s\""
msgstr "Gabim ka_foto value \"%s\""
-#: templates/web/base/admin/contact-form.html:84
+#: templates/web/base/report/_inspect.html:5
+msgid "Inspect report"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:85
msgid "Inspection required"
msgstr "Inspektimi kërkohet"
-#: perllib/FixMyStreet/Cobrand/Default.pm:711
+#: perllib/FixMyStreet/Cobrand/Default.pm:715
msgid "Instruct contractors to fix problems"
msgstr "Instrukto kontraktorët të rregullojnë problemet"
@@ -1690,13 +1721,6 @@ msgstr "Instrukto kontraktorët të rregullojnë problemet"
msgid "Internal notes"
msgstr "Shenim i brendshem"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:11
-msgid "Internal referral"
-msgstr "Rekomandim i brendshem"
-
#: templates/web/base/offline/appcache.html:3
msgid "Internet glitch"
msgstr ""
@@ -1705,7 +1729,7 @@ msgstr ""
msgid "Invalid agency_responsible value %s"
msgstr "Vlerë agency_responsible e gabuar %s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1502
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1607
msgid "Invalid end date"
msgstr "Data e fundit jovalide"
@@ -1713,26 +1737,15 @@ msgstr "Data e fundit jovalide"
msgid "Invalid format %s specified."
msgstr "Format jo i vlefshëm %s i specifikuar."
-#: perllib/FixMyStreet/App/Controller/Report.pm:398
+#: perllib/FixMyStreet/App/Controller/Report.pm:409
msgid "Invalid location. New location must be covered by the same council."
msgstr "Lokacion jo valid. Lokacioni i ri duhet të mbulohet nga i njëjti këshill."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1498
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1603
msgid "Invalid start date"
msgstr "Data e fillimit jovalide"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:7
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:4
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Investigating"
-msgstr "Shqyrtuar"
-
-#: templates/web/base/contact/blurb.html:8
+#: templates/web/base/contact/blurb.html:2
msgid "It's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there."
msgstr ""
"Kjo është shpesh mënyrIt's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there.\n"
@@ -1742,37 +1755,59 @@ msgstr ""
msgid "It’s on its way to the council right now."
msgstr "Kjo është në rrugën e saj drejtë këshillit tani."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:177
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:182
msgid "Jurisdiction Unknown"
msgstr "Juridiksioni i panjohur"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:15
msgid "Jurisdiction unknown"
msgstr "Juridiksion i pa njohur"
-#: templates/web/base/auth/general.html:91
+#: templates/web/base/auth/general.html:93
#: templates/web/base/report/new/form_user_loggedout_password.html:16
#: templates/web/base/report/update/form_user_loggedout_password.html:15
#: templates/web/zurich/auth/general.html:40
msgid "Keep me signed in on this computer"
msgstr "Më mbaj të kyqur në këtë kompjuter"
+#: templates/web/base/admin/extra-metadata-form.html:61
+msgid "Key"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:9
+#: templates/web/base/admin/states/index.html:95
+msgid "Label"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:6
+#: templates/web/base/admin/reportextrafields/edit.html:45
+msgid "Language"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/index.html:8
+msgid "Languages"
+msgstr ""
+
#: templates/web/base/dashboard/index.html:50
msgid "Last 4 weeks"
msgstr ""
#: templates/web/base/dashboard/index.html:49
-#, fuzzy
+#: templates/web/base/reports/index.html:38
msgid "Last 7 days"
-msgstr "Perditesimi i fundit:"
+msgstr ""
#: templates/web/base/admin/body.html:74
#: templates/web/zurich/admin/body.html:16
msgid "Last editor"
msgstr "Edituesi i fundit"
+#: templates/web/base/questionnaire/index.html:25
+msgid "Last update"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:89
msgid "Last update:"
msgstr "Perditesimi i fundit:"
@@ -1781,23 +1816,27 @@ msgstr "Perditesimi i fundit:"
msgid "Last&nbsp;update:"
msgstr "Perditesimi&nbsp;fundit:"
-#: templates/web/base/report/_inspect.html:20
-#: templates/web/base/report/_item.html:86
+#: templates/web/base/report/_inspect.html:30
+#: templates/web/base/report/_item.html:88
msgid "Latitude/Longitude:"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:50
+#: templates/web/base/reports/_list-filters.html:61
msgid "Least recently updated"
msgstr "I përditësuar kohët e fundit"
-#: templates/web/base/admin/body-form.html:127
+#: templates/web/base/admin/body-form.html:129
msgid "Leave this blank if all reports to this body should be sent using the same send method (e.g., \"%s\")."
msgstr "Lini bosh këtë në qoftë se të gjitha raportet në këtë organ duhet të dërgohen duke përdorur të njëjtën metodë të dërgimit (p.sh., \"%s\")."
-#: templates/web/base/dashboard/index.html:150
+#: templates/web/base/dashboard/index.html:151
msgid "Less than 7 days old"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:47
+msgid "List"
+msgstr ""
+
#: templates/web/base/admin/body.html:31
msgid "List all reported problems"
msgstr "Listo te gjitha problemet e raportuar"
@@ -1828,23 +1867,23 @@ msgstr "Njoftimet lokale"
msgid "Locate the problem on a map of the area"
msgstr "Lokalizo problemin në hartë në vendin e caktuar"
-#: templates/web/base/auth/general.html:22
+#: templates/web/base/auth/general.html:24
#: templates/web/base/report/new/form_user_loggedout.html:6
#: templates/web/base/report/update/form_user_loggedout.html:7
msgid "Log in with Facebook"
msgstr ""
-#: templates/web/base/auth/general.html:30
+#: templates/web/base/auth/general.html:32
#: templates/web/base/report/new/form_user_loggedout.html:14
#: templates/web/base/report/update/form_user_loggedout.html:15
msgid "Log in with Twitter"
msgstr ""
-#: templates/web/base/js/translation_strings.html:59
+#: templates/web/base/js/translation_strings.html:62
msgid "Log in with email"
msgstr ""
-#: templates/web/base/dashboard/index.html:145
+#: templates/web/base/dashboard/index.html:146
#: templates/web/base/dashboard/index.html:38
msgid "Look up"
msgstr ""
@@ -1853,11 +1892,11 @@ msgstr ""
msgid "MAP"
msgstr "HARTA"
-#: perllib/FixMyStreet/Cobrand/Default.pm:712
+#: perllib/FixMyStreet/Cobrand/Default.pm:716
msgid "Manage shortlist"
msgstr "Menaxhoni listën e shkurtë"
-#: templates/web/base/reports/_list-filters.html:45
+#: templates/web/base/reports/_list-filters.html:56
msgid "Manual order"
msgstr ""
@@ -1873,19 +1912,11 @@ msgstr "Shëno si të dërguar"
msgid "Mark users whose behaviour you want to keep a check on as <strong>flagged</strong>."
msgstr ""
-#: templates/web/base/reports/index.html:27
-msgid "Marked fixed/closed in the past eight weeks"
-msgstr "Shëno si të rregulluar/mbyllyr në 8 javët e kaluara"
-
-#: templates/web/base/reports/index.html:28
-msgid "Marked fixed/closed more than eight weeks ago"
-msgstr "Shëno si të rregulluar/mbyllyr në më shumë se 8 javë"
-
-#: perllib/FixMyStreet/Cobrand/Default.pm:710
+#: perllib/FixMyStreet/Cobrand/Default.pm:714
msgid "Markup problem details"
msgstr ""
-#: templates/web/base/contact/index.html:96
+#: templates/web/base/contact/index.html:100
msgid "Message"
msgstr "Mesazh"
@@ -1905,68 +1936,69 @@ msgstr "Mungojnë drejtori:"
msgid "Missing jurisdiction_id"
msgstr "Mungesë juridiksioni_id"
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate"
msgstr "Mesatare"
-#: perllib/FixMyStreet/Cobrand/Default.pm:706
+#: perllib/FixMyStreet/Cobrand/Default.pm:710
msgid "Moderate report details"
msgstr "Raportet e detajuara mesatare"
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate this report"
msgstr "Moderoni këtë raport"
#: templates/web/base/report/update.html:12
-#, fuzzy
msgid "Moderate this update"
-msgstr "Moderoni këtë raport"
+msgstr ""
-#: templates/web/base/report/_main.html:69
-#: templates/web/base/report/update.html:49
-#, fuzzy
+#: templates/web/base/report/_main.html:73
+#: templates/web/base/report/update.html:58
msgid "Moderated by %s at %s"
-msgstr "Raportuar nga %s ne %s"
+msgstr ""
#: templates/web/zurich/admin/stats.html:34
msgid "Moderated by division within one working day"
msgstr "Moderuar me divizion brenda një ditë pune"
-#: templates/web/base/report/_main.html:109
-#: templates/web/base/report/update.html:57
-#, fuzzy
+#: templates/web/base/report/_main.html:113
+#: templates/web/base/report/update.html:66
msgid "Moderation reason:"
-msgstr "Moderoni këtë raport"
+msgstr ""
#: templates/web/base/admin/stats.html:11
msgid "Month"
msgstr "Muaji"
-#: templates/web/base/reports/_list-filters.html:51
+#: templates/web/base/reports/_list-filters.html:62
msgid "Most commented"
msgstr "Më të komentuarat"
#: templates/web/base/admin/bodies.html:25
#: templates/web/base/admin/body-form.html:24
+#: templates/web/base/admin/extra-metadata-form.html:65
#: templates/web/base/admin/flagged.html:16
#: templates/web/base/admin/flagged.html:37
#: templates/web/base/admin/index.html:62
#: templates/web/base/admin/list_updates.html:7
+#: templates/web/base/admin/reportextrafields/edit.html:11
+#: templates/web/base/admin/reportextrafields/index.html:6
#: templates/web/base/admin/reports.html:14
#: templates/web/base/admin/responsepriorities/list.html:6
+#: templates/web/base/admin/states/index.html:108
+#: templates/web/base/admin/states/index.html:11
#: templates/web/base/admin/users.html:16
-#: templates/web/base/auth/general.html:106
-#: templates/web/base/report/new/form_user_loggedin.html:40
+#: templates/web/base/auth/general.html:108
+#: templates/web/base/report/new/form_user_loggedin.html:42
#: templates/web/base/report/new/form_user_loggedout_by_email.html:7
-#: templates/web/base/report/update/form_name.html:23
-#: templates/web/base/reports/index.html:23
+#: templates/web/base/report/update/form_name.html:27
#: templates/web/zurich/admin/body-form.html:4
#: templates/web/zurich/auth/general.html:60
#: templates/web/zurich/report/new/fill_in_details_form.html:59
msgid "Name"
msgstr "Emri"
-#: templates/web/base/admin/report_edit.html:139
+#: templates/web/base/admin/report_edit.html:127
#: templates/web/base/admin/responsepriorities/edit.html:13
#: templates/web/base/admin/update_edit.html:34
#: templates/web/base/admin/user-form.html:16
@@ -1978,7 +2010,7 @@ msgstr "Emri:"
msgid "Name: %s"
msgstr "Emri: %s"
-#: templates/web/base/report/_inspect.html:28
+#: templates/web/base/report/_inspect.html:38
msgid "Navigate to this problem"
msgstr "Shko tek ky problem"
@@ -1987,34 +2019,39 @@ msgstr "Shko tek ky problem"
msgid "Nearest named road to the pin placed on the map (automatically generated using OpenStreetMap): %s%s"
msgstr "Rruga më e afërt me emërtim e llogaritur nga pin në hartë (gjenerohet automatikisht duke përdorur OpenStreetMap): %s%s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:129
+#: perllib/FixMyStreet/Cobrand/UK.pm:134
msgid "Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"
msgstr "Kodi postar më i afërt nga pin i vendosur në hartë (gjenerohet automatikisht): %s (%sm jasht)"
-#: perllib/FixMyStreet/Cobrand/Default.pm:527
-#: perllib/FixMyStreet/Cobrand/Default.pm:567
+#: perllib/FixMyStreet/Cobrand/Default.pm:538
+#: perllib/FixMyStreet/Cobrand/Default.pm:566
msgid "Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"
msgstr "Rruga më e afërt e llogaritur nga pin në hartë (gjenerohet automatikisht nga Bing Maps): %s"
-#: perllib/FixMyStreet/Script/Alerts.pm:319
+#: perllib/FixMyStreet/Script/Alerts.pm:316
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s\n"
"\n"
msgstr "Rruga më e afërt e llogaritur nga pin në hartë (gjenerohet automatikisht nga Bing Maps): %s\n"
-#: templates/web/base/auth/token.html:17 templates/web/base/email_sent.html:5
+#: templates/web/base/auth/token.html:18
+msgid "Nearly done!"
+msgstr ""
+
+#: templates/web/base/auth/token.html:22 templates/web/base/email_sent.html:5
msgid "Nearly done! Now check your email&hellip;"
msgstr "Gati e përfunduar! Tani kontrolloni emailin tuaj"
-#: templates/web/base/reports/index.html:24
-msgid "New <br>problems"
-msgstr "Probleme<br> të reja"
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:131
+#, fuzzy
+msgid "New"
+msgstr "Më e reja"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:259
+#: perllib/FixMyStreet/App/Controller/Admin.pm:262
msgid "New body added"
msgstr "Drejtori e re e shtuar"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:405
+#: perllib/FixMyStreet/App/Controller/Admin.pm:386
msgid "New category contact added"
msgstr "Kategori e re e kontakteve e shtuar"
@@ -2040,7 +2077,7 @@ msgid "New password:"
msgstr "Fjalëkalim i ri"
#: templates/web/base/admin/responsepriorities/edit.html:4
-#: templates/web/base/admin/responsepriorities/list.html:32
+#: templates/web/base/admin/responsepriorities/list.html:34
msgid "New priority"
msgstr "Prioritete të reja"
@@ -2069,6 +2106,7 @@ msgid "New reports"
msgstr "Raportime te reja"
#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/states/index.html:91
msgid "New state"
msgstr "Gjendje e re"
@@ -2078,7 +2116,7 @@ msgstr "Gjendje e re"
msgid "New template"
msgstr "Shabllon i ri"
-#: templates/web/base/reports/_list-filters.html:47
+#: templates/web/base/reports/_list-filters.html:58
msgid "Newest"
msgstr "Më e reja"
@@ -2086,20 +2124,19 @@ msgstr "Më e reja"
msgid "Next"
msgstr "Tjetra"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1203
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
+#: perllib/FixMyStreet/Cobrand/Default.pm:1237
#: templates/web/base/admin/category_edit.html:4
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:137
+#: templates/web/base/admin/report_edit.html:125
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:26
#: templates/web/base/questionnaire/creator_fixed.html:16
#: templates/web/base/questionnaire/index.html:106
#: templates/web/base/questionnaire/index.html:55
+#: templates/web/base/report/_inspect.html:92
msgid "No"
msgstr "Jo"
@@ -2115,7 +2152,7 @@ msgstr "Ska drejtori"
msgid "No council"
msgstr "Ska council"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:445
+#: perllib/FixMyStreet/DB/Result/Problem.pm:372
msgid "No council selected"
msgstr "Asnjë council e zgjedhur"
@@ -2131,25 +2168,16 @@ msgstr ""
msgid "No flagged users found."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:14
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:8
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "No further action"
-msgstr "E pamundur të zgjidhet"
-
#: templates/web/zurich/admin/report_edit-sdm.html:125
#: templates/web/zurich/admin/report_edit.html:259
msgid "No further updates"
msgstr "nuk ka perditesime tjera"
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:84
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:68
msgid "No inspections by that inspector in the selected date range."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:86
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:70
msgid "No inspections in the selected date range."
msgstr ""
@@ -2157,8 +2185,8 @@ msgstr ""
msgid "No result returned"
msgstr "Nuk u kthye asnje rezultat"
-#: templates/web/base/admin/body-form.html:66
-#: templates/web/base/admin/body-form.html:67
+#: templates/web/base/admin/body-form.html:68
+#: templates/web/base/admin/body-form.html:69
msgid ""
"No specific areas are currently available, because the <code>MAPIT_URL</code> in\n"
" your config file is not pointing to a live MapIt service."
@@ -2191,17 +2219,8 @@ msgid ""
" activity across their body), the ability to hide reports or set special report statuses."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:9
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "Not Responsible"
-msgstr "Jo Pergjegjes"
-
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:181
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:186
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:933
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:13
msgid "Not contactable"
@@ -2220,7 +2239,7 @@ msgid "Not reported to council"
msgstr "E pa raportuar tek council"
#: templates/web/base/admin/body.html:75
-#: templates/web/base/admin/category_edit.html:57
+#: templates/web/base/admin/category_edit.html:31
#: templates/web/zurich/admin/body.html:17
msgid "Note"
msgstr "Shenim"
@@ -2230,7 +2249,7 @@ msgid "Note that when including unconfirmed reports we use the date the report w
msgstr ""
#: templates/web/zurich/admin/body.html:55
-#: templates/web/zurich/admin/contact-form.html:17
+#: templates/web/zurich/admin/contact-form.html:19
msgid "Note:"
msgstr "Shenim:"
@@ -2242,6 +2261,10 @@ msgstr "Shenim: <strong>%s</strong>"
msgid "Notes from SDM to DM"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:26
+msgid "Notice"
+msgstr ""
+
#: templates/web/base/report/new/oauth_email_form.html:17
msgid "Now to submit your report&hellip;"
msgstr ""
@@ -2252,63 +2275,43 @@ msgstr ""
msgid "Now to submit your update&hellip;"
msgstr "Tani ju mund te paraqitni perditesimin&hellip;"
+#: templates/web/base/reports/index.html:98
+msgid "Number of problems reported in each category, in the last 7 days."
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:43
msgid "OK"
msgstr "Ne rregull"
-#: templates/web/base/js/translation_strings.html:67
+#: templates/web/base/js/translation_strings.html:70
msgid "Offline data cleared"
msgstr ""
-#: templates/web/base/js/translation_strings.html:64
+#: templates/web/base/js/translation_strings.html:67
msgid "Offline update data saved"
msgstr ""
-#: templates/web/base/reports/index.html:26
-msgid "Old / unknown <br>problems"
-msgstr "Te vjetra/probleme <br> te panjohura"
-
#: templates/web/base/admin/questionnaire.html:24
msgid "Old state"
msgstr "Gjendje e vjeter"
-#: templates/web/base/reports/index.html:28
-msgid "Older <br>fixed"
-msgstr "E vjeter <br>e kryer"
-
-#: templates/web/base/reports/index.html:25
-msgid "Older <br>problems"
-msgstr "Probleme <br> te vjetra"
-
-#: templates/web/base/reports/_list-filters.html:48
+#: templates/web/base/reports/_list-filters.html:59
msgid "Oldest"
msgstr "Më i vjetri"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:900
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:25
-#: templates/web/base/admin/report_blocks.html:6
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:905
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:10
+#: templates/web/base/admin/states/index.html:102
+#: templates/web/base/admin/states/index.html:25
+#: templates/web/base/admin/states/index.html:32
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:3
-#: templates/web/base/report/update/form_update.html:41
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:7
#: templates/web/zurich/admin/update_edit.html:18
msgid "Open"
msgstr "Hapur"
-#: templates/web/base/reports/index.html:25
-msgid "Open for more than four weeks, with an update within the past eight weeks"
-msgstr "E hapur për më shumë se 4 javë, me një përditësim në 8 javët e fundit"
-
-#: templates/web/base/reports/index.html:26
-msgid "Open, but not had any update in eight weeks"
-msgstr "E hapur, por nuk ka pasur ndonjë përditësim në 8 javë"
-
#: templates/web/base/admin/open311-form-fields.html:47
msgid "Open311 API Key"
msgstr ""
@@ -2329,26 +2332,39 @@ msgstr "Open311 web faqën inicuese"
msgid "Open311 specification"
msgstr "Specifikat e Open311"
-#: templates/web/base/alert/_list.html:61
-msgid "Or problems reported to:"
-msgstr "Ose raportoni problemet n:"
+#: templates/web/base/admin/extra-metadata-form.html:53
+#, fuzzy
+msgid "Options"
+msgstr "Opsionale"
+
+#: templates/web/base/alert/_list.html:84
+msgid "Or subscribe by RSS"
+msgstr ""
-#: templates/web/base/alert/_list.html:37
-msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
+#: templates/web/base/admin/extra-metadata-form.html:8
+msgid "Order"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:1061
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:659
-#: perllib/FixMyStreet/DB/Result/Problem.pm:642
-#: perllib/FixMyStreet/DB/Result/Problem.pm:649
-#: perllib/FixMyStreet/DB/Result/Problem.pm:664
-#: perllib/FixMyStreet/DB/Result/Problem.pm:673
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1107
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:675
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:676
+#: perllib/FixMyStreet/DB/Result/Problem.pm:579
+#: perllib/FixMyStreet/DB/Result/Problem.pm:586
+#: perllib/FixMyStreet/DB/Result/Problem.pm:601
+#: perllib/FixMyStreet/DB/Result/Problem.pm:610
#: perllib/FixMyStreet/Script/Reports.pm:183
#: perllib/FixMyStreet/Script/Reports.pm:198
msgid "Other"
msgstr "Tjera"
+#: templates/web/base/reports/index.html:107
+msgid "Other categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:92
+msgid "Overall average"
+msgstr ""
+
#: templates/web/base/admin/list_updates.html:8
msgid "Owner"
msgstr "Pronar"
@@ -2358,17 +2374,16 @@ msgstr "Pronar"
msgid "Page Not Found"
msgstr "Faqja nuk u gjet"
-#: templates/web/base/admin/body-form.html:37
+#: templates/web/base/admin/body-form.html:39
#: templates/web/zurich/admin/body-form.html:14
msgid "Parent"
msgstr "Burim"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:20
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:61
msgid "Partial"
msgstr "I pjesshem"
-#: templates/web/base/auth/general.html:109
+#: templates/web/base/auth/general.html:111
#: templates/web/base/report/new/form_user_loggedout_by_email.html:28
#: templates/web/base/report/update/form_user_loggedout_by_email.html:6
#: templates/web/zurich/auth/general.html:32
@@ -2376,7 +2391,7 @@ msgstr "I pjesshem"
msgid "Password (optional)"
msgstr "Fjalekalimi (opsionale)"
-#: templates/web/base/auth/general.html:82
+#: templates/web/base/auth/general.html:84
msgid "Password:"
msgstr "Fjalekalimi:"
@@ -2388,17 +2403,22 @@ msgstr ""
msgid "Permissions:"
msgstr "Lejet"
+#: templates/web/base/report/_inspect.html:19
+#, fuzzy
+msgid "Phone Reporter:"
+msgstr "Raportuar:"
+
#: templates/web/zurich/report/new/fill_in_details_form.html:65
msgid "Phone number"
msgstr "Numri i telefonit"
-#: templates/web/base/report/new/form_user_loggedin.html:57
+#: templates/web/base/report/new/form_user_loggedin.html:59
#: templates/web/base/report/new/form_user_loggedout_by_email.html:25
msgid "Phone number (optional)"
msgstr "Numri i telefonit (opsionale)"
#: perllib/FixMyStreet/Script/Reports.pm:87
-#: templates/web/base/admin/report_edit.html:146
+#: templates/web/base/admin/report_edit.html:134
#: templates/web/base/admin/user-form.html:21
#: templates/web/zurich/admin/stats.html:39
msgid "Phone:"
@@ -2407,9 +2427,9 @@ msgstr "Telefoni:"
#: templates/web/base/questionnaire/index.html:78
#: templates/web/base/questionnaire/index.html:93
#: templates/web/base/questionnaire/index.html:95
-#: templates/web/base/report/new/form_report.html:28
-#: templates/web/base/report/new/form_report.html:43
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/new/form_report.html:45
+#: templates/web/base/report/new/form_report.html:47
#: templates/web/base/report/update/form_update.html:22
#: templates/web/base/report/update/form_update.html:24
#: templates/web/base/report/update/form_update.html:7
@@ -2427,12 +2447,12 @@ msgstr "Fotografia"
msgid "Photo is required."
msgstr "Fotografia është e kërkueshme."
-#: templates/web/zurich/admin/contact-form.html:14
+#: templates/web/zurich/admin/contact-form.html:16
msgid "Photo required"
msgstr "Kërkohet fotografi."
#: templates/web/base/questionnaire/index.html:78
-#: templates/web/base/report/new/form_report.html:28
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/update/form_update.html:7
#: templates/web/zurich/report/new/fill_in_details_form.html:20
msgid "Photos"
@@ -2442,17 +2462,18 @@ msgstr "Foto"
msgid "Photos of recent nearby reports"
msgstr "Fotografite e raporteve te fundit"
+#: templates/web/base/reports/index.html:63
+#: templates/web/base/reports/index.html:66
+msgid "Pick your council"
+msgstr ""
+
#: templates/web/base/around/display_location.html:76
#: templates/web/base/js/translation_strings.html:30
msgid "Place pin on map"
msgstr "Vendose shenjen ne harte"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:940
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:946
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:8
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:945
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:951
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:9
#: templates/web/zurich/admin/index-dm.html:9
@@ -2470,31 +2491,27 @@ msgstr "Ju lutem kontrolloni fjalekalimin dhe provoni perseri"
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:18
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:43
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:45
#: templates/web/zurich/auth/general.html:3
#: templates/web/zurich/auth/general.html:9
msgid "Please check your email address is correct"
msgstr "Ju lutem kontrolloni email adresen tuaj nese eshte e sakte"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:350
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:844
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:867
-#: perllib/FixMyStreet/DB/Result/Problem.pm:456
+#: perllib/FixMyStreet/App/Controller/Admin.pm:329
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:873
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:896
+#: perllib/FixMyStreet/DB/Result/Problem.pm:383
#: templates/web/base/js/translation_strings.html:9
msgid "Please choose a category"
msgstr "Ju lutem zgjedhni kategorine"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:462
-msgid "Please choose a property type"
-msgstr "Ju lutem zgjedhni tipin e pronës"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:396
+#: perllib/FixMyStreet/App/Controller/Admin.pm:377
#: templates/web/base/admin/bodies.html:4 templates/web/base/admin/body.html:11
msgid "Please correct the errors below"
msgstr "Ju lutem përmirësoni gabimet e mëposhtme"
-#: templates/web/base/contact/blurb.html:12
+#: templates/web/base/contact/blurb.html:6
msgid ""
"Please do <strong>not</strong> report problems through this form; messages go to\n"
"the team behind this site, not a council. To report a problem,\n"
@@ -2505,18 +2522,18 @@ msgstr ""
msgid "Please do not be abusive&nbsp;&mdash; abusing your council devalues the service for all users."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:351
-#: perllib/FixMyStreet/DB/Result/Comment.pm:127
+#: perllib/FixMyStreet/App/Controller/Admin.pm:330
+#: perllib/FixMyStreet/DB/Result/Comment.pm:128
#: templates/web/base/js/translation_strings.html:2
msgid "Please enter a message"
msgstr "Ju lutem shkruaj nje mesazh"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1200
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1364
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1305
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1469
msgid "Please enter a name"
msgstr "Ju lutem shkruani emrin"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:478
+#: perllib/FixMyStreet/App/Controller/Admin.pm:497
msgid "Please enter a name for this body"
msgstr "Ju lutem jepni një emër për këtë drejtori"
@@ -2526,15 +2543,15 @@ msgstr "Ju lutem jepni një emër për këtë drejtori"
msgid "Please enter a password"
msgstr "Ju lutem shkruaj fjalekalimin"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:114
-#: perllib/FixMyStreet/DB/Result/Problem.pm:439
+#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/DB/Result/Problem.pm:366
#: templates/web/base/js/translation_strings.html:3
msgid "Please enter a subject"
msgstr "Ju lutem shkruaj subjektin"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1197
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1361
-#: perllib/FixMyStreet/App/Controller/Admin.pm:363
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1302
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1466
+#: perllib/FixMyStreet/App/Controller/Admin.pm:343
#: perllib/FixMyStreet/DB/Result/User.pm:164
#: templates/web/base/js/translation_strings.html:12
#: templates/web/base/js/translation_strings.html:16
@@ -2542,21 +2559,21 @@ msgid "Please enter a valid email"
msgstr "Ju lutem shkruaj nje email valid"
#: perllib/FixMyStreet/App/Controller/Alert.pm:350
-#: perllib/FixMyStreet/App/Controller/Contact.pm:124
+#: perllib/FixMyStreet/App/Controller/Contact.pm:125
msgid "Please enter a valid email address"
msgstr "Ju lutem shkruani një email adresë valide"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:442
+#: perllib/FixMyStreet/DB/Result/Problem.pm:369
#: templates/web/base/js/translation_strings.html:4
msgid "Please enter some details"
msgstr "Ju lutem shkruaj disa te dhena"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/App/Controller/Contact.pm:114
#: perllib/FixMyStreet/DB/Result/User.pm:161
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:17
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:42
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:44
#: templates/web/base/js/translation_strings.html:11
#: templates/web/base/js/translation_strings.html:15
#: templates/web/zurich/auth/general.html:3
@@ -2573,14 +2590,14 @@ msgstr "Ju lutem shkruani email adresen tuaj"
msgid "Please enter your first name"
msgstr "Ju lutem shkruani emrin tuaj"
-#: perllib/FixMyStreet/Cobrand/UK.pm:320
+#: perllib/FixMyStreet/Cobrand/UK.pm:326
#: templates/web/base/js/translation_strings.html:7
msgid "Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below"
msgstr "Ju lutem shkruani emrin tuaj të plotë, council i cili kërkon këtë informatë - nëse nuk doni që emri juaj të shihet në faqe, largoni etiketimin nga kutia e mëposhtme"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:112
-#: perllib/FixMyStreet/DB/Result/Comment.pm:124
-#: perllib/FixMyStreet/DB/Result/Problem.pm:450
+#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/DB/Result/Comment.pm:125
+#: perllib/FixMyStreet/DB/Result/Problem.pm:377
#: perllib/FixMyStreet/DB/Result/User.pm:157
#: templates/web/base/js/translation_strings.html:6
msgid "Please enter your name"
@@ -2643,7 +2660,7 @@ msgstr ""
msgid "Please note:"
msgstr "Ju lutem vini re:"
-#: perllib/FixMyStreet/App/Controller/Report.pm:358
+#: perllib/FixMyStreet/App/Controller/Report.pm:353
msgid "Please provide a public update for this report."
msgstr "Ju lutem sigorni një përditësim publik për këtë raport"
@@ -2679,11 +2696,11 @@ msgstr "Ju lutem tregoni nëse problemi është zgjedhur apo jo "
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:122
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:156
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:158
-#: templates/web/base/js/translation_strings.html:57
+#: templates/web/base/js/translation_strings.html:60
msgid "Please upload an image only"
msgstr "Ju lutem ngarkoni vetëm një fotografi"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/App/Controller/Contact.pm:116
msgid "Please write a message"
msgstr "Ju lutem shkruani nje mesazh"
@@ -2691,30 +2708,29 @@ msgstr "Ju lutem shkruani nje mesazh"
msgid "Please write your update here"
msgstr "Ju lutem shkruani perditesimin tuaj ketu"
-#: templates/web/base/contact/index.html:103
#: templates/web/base/report/update-form.html:25
#: templates/web/base/report/update/form_user_loggedout_by_email.html:14
#: templates/web/base/report/update/form_user_loggedout_password.html:10
msgid "Post"
msgstr "Posto"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:242
+#: perllib/FixMyStreet/DB/Result/Comment.pm:231
msgid "Posted anonymously at %s"
msgstr "Postuar ne menyre anonime ne %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:257
+#: perllib/FixMyStreet/DB/Result/Comment.pm:255
msgid "Posted by %s at %s"
msgstr "Postuar nga %s ne %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:252
+#: perllib/FixMyStreet/DB/Result/Comment.pm:243
msgid "Posted by <strong>%s</strong> (%s) at %s"
msgstr "Postuar nga <strong>%s</strong> (%s) ne %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:254
+#: perllib/FixMyStreet/DB/Result/Comment.pm:245
msgid "Posted by <strong>%s</strong> at %s"
msgstr "Postuar nga <strong>%s</strong> ne %s"
-#: templates/web/base/front/footer-marketing.html:12
+#: templates/web/base/front/footer-marketing.html:6
msgid "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
msgstr ""
@@ -2726,8 +2742,8 @@ msgstr "Paraprak"
msgid "Priorities"
msgstr "Prioritetet"
-#: templates/web/base/report/_inspect.html:113
-#: templates/web/base/report/_item.html:98
+#: templates/web/base/report/_inspect.html:123
+#: templates/web/base/report/_item.html:100
msgid "Priority"
msgstr "Prioritet"
@@ -2741,16 +2757,15 @@ msgstr "Privatësi"
msgid "Privacy and cookies"
msgstr "Privatësia dhe cookiesa"
-#: templates/web/base/admin/body.html:91
-#: templates/web/base/admin/contact-form.html:74
-#: templates/web/base/admin/report_edit.html:149
+#: templates/web/base/admin/body.html:88
+#: templates/web/base/admin/contact-form.html:75
+#: templates/web/base/admin/report_edit.html:137
msgid "Private"
msgstr "Privat"
#: templates/web/base/report/new/form_user.html:1
-#, fuzzy
msgid "Private details"
-msgstr "Ekstra detajet"
+msgstr ""
#: templates/web/base/maps/pin.html:13
msgid "Problem"
@@ -2774,7 +2789,7 @@ msgstr "Problemi %s është dërguar tek council %s"
msgid "Problem breakdown by state"
msgstr "Nën-ndarja me shtete"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1167
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1272
msgid "Problem marked as open."
msgstr "Problemi eshte shenuar si i hapur."
@@ -2782,11 +2797,16 @@ msgstr "Problemi eshte shenuar si i hapur."
msgid "Problem state change based on survey results"
msgstr "Ndryshim i gjendjes se problemit bazuar ne rezultatet e anketes"
-#: perllib/FixMyStreet/Cobrand/Default.pm:705
+#: perllib/FixMyStreet/Cobrand/Default.pm:709
#: templates/web/base/admin/flagged.html:10
msgid "Problems"
msgstr "Problemet"
+#: templates/web/base/alert/_list.html:22
+#, fuzzy
+msgid "Problems in an area"
+msgstr "Problemet brenda lagjes %s"
+
#: templates/web/base/report/display_tools.html:22
msgid "Problems nearby"
msgstr "Problemet ne afersi"
@@ -2799,30 +2819,33 @@ msgstr "Problemet ne harte"
msgid "Problems recently reported fixed on FixMyStreet"
msgstr "Problemet e raportuara se fundi ne FixMyStreet"
-#: templates/web/base/alert/_list.html:22
-msgid "Problems within %.1fkm of this location"
+#: templates/web/base/alert/_list.html:29
+#, fuzzy
+msgid "Problems within %.1fkm of %s"
msgstr "Problemet brenda %.1fkm te ketij lokacioni"
-#: perllib/FixMyStreet/Cobrand/Default.pm:833
+#: perllib/FixMyStreet/Cobrand/Default.pm:838
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:137
-#: perllib/FixMyStreet/Cobrand/UK.pm:209
+#: perllib/FixMyStreet/Cobrand/UK.pm:215 perllib/FixMyStreet/Cobrand/UK.pm:257
+#: perllib/FixMyStreet/Cobrand/UK.pm:269
msgid "Problems within %s"
msgstr "Problemet brenda %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:223
+#: perllib/FixMyStreet/Cobrand/UK.pm:229
msgid "Problems within %s ward"
msgstr "Problemet brenda lagjes %s"
+#: perllib/FixMyStreet/Cobrand/UK.pm:263 perllib/FixMyStreet/Cobrand/UK.pm:275
+#, fuzzy
+msgid "Problems within %s ward, %s"
+msgstr "Problemet brenda lagjes %s"
+
#. ("First %s is the body name, second %s the site name")
#: templates/web/base/reports/body.html:0
#: templates/web/base/reports/body.html:25
msgid "Problems within %s, %s"
msgstr "Problemi përbrenda %s, %s"
-#: templates/web/base/alert/_list.html:43
-msgid "Problems within the boundary of:"
-msgstr "Problemet brenda kufijve te:"
-
#: templates/web/base/admin/report_edit.html:74
msgid "Property address:"
msgstr "Adresa e prones:"
@@ -2832,11 +2855,11 @@ msgstr "Adresa e prones:"
msgid "Provide an update"
msgstr "Ofro nje perditesim"
-#: templates/web/base/report/update/form_name.html:9
+#: templates/web/base/report/update/form_name.html:10
msgid "Provide update as"
msgstr ""
-#: templates/web/base/auth/general.html:112
+#: templates/web/base/auth/general.html:114
msgid "Providing a name and password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
msgstr "Dhënia e emrit dhe fjalëkalimit janë opcionale, por nëse jepni këto të dhëna do të lehtësoj raportimin e problemeve, përditsimin dhe menaxhimin e raporteve tuaja."
@@ -2846,16 +2869,15 @@ msgid "Providing a password is optional, but doing so will allow you to more eas
msgstr "Dhënia e fjalëkalimit është opcional, por duke dhënë atë do të ju lejohet që më lehtë të raportoni problemin, bëni përditësim dhe menaxhoni raportet tuaja."
#: templates/web/base/report/new/form_report.html:10
-#, fuzzy
msgid "Public details"
-msgstr "Përditësim publik."
+msgstr ""
#: templates/web/zurich/admin/report_edit.html:241
#: templates/web/zurich/admin/report_edit.html:268
msgid "Public response:"
msgstr "Pergjigje publike:"
-#: templates/web/base/report/_inspect.html:152
+#: templates/web/base/report/_inspect.html:162
msgid "Public update:"
msgstr "Përditësim publik."
@@ -2883,7 +2905,7 @@ msgstr "Pyetsorë dërguar për problem"
msgid "Questionnaire filled in by problem reporter"
msgstr "Pyestor i plotësuar nga raportuesi i problemit"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
#: templates/web/base/alert/updates.html:9
#: templates/web/base/around/display_location.html:1
#: templates/web/base/around/display_location.html:3
@@ -2891,11 +2913,11 @@ msgstr "Pyestor i plotësuar nga raportuesi i problemit"
msgid "RSS feed"
msgstr "RSS feed"
-#: perllib/FixMyStreet/Cobrand/UK.pm:252 perllib/FixMyStreet/Cobrand/UK.pm:264
+#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
msgid "RSS feed for %s"
msgstr "RSS feed per %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
+#: perllib/FixMyStreet/Cobrand/UK.pm:264 perllib/FixMyStreet/Cobrand/UK.pm:276
msgid "RSS feed for %s ward, %s"
msgstr "RSS feed per lagjen %s , %s"
@@ -2903,25 +2925,25 @@ msgstr "RSS feed per lagjen %s , %s"
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:179
-#: perllib/FixMyStreet/Cobrand/UK.pm:278 perllib/FixMyStreet/Cobrand/UK.pm:290
+#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
msgid "RSS feed of %s"
msgstr "RSS feed i %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
msgid "RSS feed of %s, within %s ward"
msgstr "RSS feed i %s, brenda lagjes %s"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
msgid "RSS feed of nearby problems"
msgstr "RSS feed i problemeve ne afersi"
-#: perllib/FixMyStreet/Cobrand/Default.pm:834
+#: perllib/FixMyStreet/Cobrand/Default.pm:839
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:136
-#: perllib/FixMyStreet/Cobrand/UK.pm:216
+#: perllib/FixMyStreet/Cobrand/UK.pm:222
msgid "RSS feed of problems within %s"
msgstr "RSS feed i problemeve brenda %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:222
+#: perllib/FixMyStreet/Cobrand/UK.pm:228
msgid "RSS feed of problems within %s ward"
msgstr "RSS feed i problemeve brenda lagjes %s "
@@ -2940,7 +2962,7 @@ msgstr "RSS feed per te rejat rreth ketij problemi"
msgid "Receive email when updates are left on this problem."
msgstr "Prano email kur ka perditesime te ketij problemi"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:801
+#: perllib/FixMyStreet/DB/Result/Problem.pm:738
msgid "Received by %s moments later"
msgstr "Pranuar nga momente më vonë"
@@ -2950,15 +2972,11 @@ msgstr "Pranuar nga momente më vonë"
msgid "Recent local problems, %s"
msgstr "Problemet lokale së fundmi"
-#: templates/web/base/reports/index.html:27
-msgid "Recently <br>fixed"
-msgstr "Rregullimet <br> e fundit"
-
#: templates/web/base/front/recent.html:11
msgid "Recently reported problems"
msgstr "Problemet e raportuara së fundmi"
-#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:60
msgid "Recently updated"
msgstr "Përditësuar së fundmi"
@@ -2966,13 +2984,23 @@ msgstr "Përditësuar së fundmi"
msgid "Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. If your problem is not appropriate for submission via this site remember that you can contact your council directly using their own website."
msgstr "Mbani në mend që FixMyStreet është për të raportuar problemet fizike primare që mund të rregullohen. Nëse problemi juaj nuk është i përshtashëm tu dërguar përmes kësaj faqe mbani në mend që mund të kontaktoni përmes council tuaj direkt duke përdorur councin e tyre."
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/extra-metadata-form.html:68
+#, fuzzy
+msgid "Remove"
+msgstr "Largo flamurin"
+
+#: templates/web/base/admin/extra-metadata-form.html:4
+#, fuzzy
+msgid "Remove field"
+msgstr "Largo flamurin"
+
+#: templates/web/base/admin/report_blocks.html:23
msgid "Remove flag"
msgstr "Largo flamurin"
#: templates/web/base/report/_item.html:12
#: templates/web/base/report/_item.html:9
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:18
#: templates/web/base/report/_main.html:26
msgid "Remove from shortlist"
@@ -2982,7 +3010,7 @@ msgstr "Fshije nga lista e ngushtë"
msgid "Remove from site"
msgstr "Fshije nga website"
-#: templates/web/base/admin/report_edit.html:166
+#: templates/web/base/admin/report_edit.html:154
#: templates/web/base/admin/update_edit.html:69
#: templates/web/zurich/admin/update_edit.html:35
msgid "Remove photo (can't be undone!)"
@@ -2996,13 +3024,13 @@ msgstr "Përgjigju përdoruesit:"
msgid "Report"
msgstr "Raporto"
-#: templates/web/base/report/_inspect.html:10
-#: templates/web/base/report/_item.html:76
+#: templates/web/base/report/_inspect.html:14
+#: templates/web/base/report/_item.html:78
msgid "Report ID:"
msgstr "ID e raportit:"
#: templates/web/base/header_logo.html:2
-#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:19
+#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:18
#: templates/web/zurich/nav_over_content.html:4
msgid "Report a problem"
msgstr "Raporto nje problem"
@@ -3012,7 +3040,7 @@ msgstr "Raporto nje problem"
msgid "Report abuse"
msgstr "Raporto abuzimin"
-#: templates/web/base/report/new/form_user_loggedin.html:16
+#: templates/web/base/report/new/form_user_loggedin.html:17
msgid "Report as"
msgstr "Raporto si"
@@ -3021,9 +3049,8 @@ msgid "Report on %s"
msgstr "Raporto ne %s"
#: templates/web/base/dashboard/index.html:137
-#, fuzzy
msgid "Report state:"
-msgstr "Raporto si"
+msgstr ""
#: templates/web/base/report/new/fill_in_details_form.html:1
#: templates/web/base/report/new/login_success_form.html:1
@@ -3036,7 +3063,7 @@ msgstr "Raportoni problemin tuaj"
msgid "Report, view, or discuss local problems"
msgstr "Raporto,shiqo apo diskuto problemet lokale"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:653
+#: perllib/FixMyStreet/DB/Result/Problem.pm:590
#: templates/web/base/contact/index.html:55
msgid "Reported anonymously at %s"
msgstr "Raportuar ne menyre anonime te %s"
@@ -3046,7 +3073,7 @@ msgstr "Raportuar ne menyre anonime te %s"
msgid "Reported before"
msgstr "Të raportuara më parë"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:677
+#: perllib/FixMyStreet/DB/Result/Problem.pm:614
#: templates/web/base/contact/index.html:57
msgid "Reported by %s at %s"
msgstr "Raportuar nga %s ne %s"
@@ -3060,34 +3087,30 @@ msgstr "Raportuar nga:"
msgid "Reported in the %s category"
msgstr "Raportuar ne kategorine %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:650
+#: perllib/FixMyStreet/DB/Result/Problem.pm:587
msgid "Reported in the %s category anonymously at %s"
msgstr "Raportuar ne kategorine %s ne menyre anonime ne %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:611
msgid "Reported in the %s category by %s at %s"
msgstr "Raportuar ne kategorine %s nga %s ne %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:647
+#: perllib/FixMyStreet/DB/Result/Problem.pm:584
msgid "Reported via %s anonymously at %s"
msgstr "Raportuar nepermjet %s ne menyre anonime ne %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:671
+#: perllib/FixMyStreet/DB/Result/Problem.pm:608
msgid "Reported via %s by %s at %s"
msgstr "Raportuar nepermjet %s nga %s ne %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:644
+#: perllib/FixMyStreet/DB/Result/Problem.pm:581
msgid "Reported via %s in the %s category anonymously at %s"
msgstr "Raportuar nepermjet %s ne kategorine %s ne menyre anonime ne %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:666
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
msgid "Reported via %s in the %s category by %s at %s"
msgstr "Raportuar nepermjet %s ne kategorine %s ne %s"
-#: templates/web/base/reports/index.html:24
-msgid "Reported within the last four weeks"
-msgstr "Raportuar në katër javët e fundit"
-
#: templates/web/zurich/admin/report_edit-sdm.html:38
#: templates/web/zurich/admin/report_edit.html:57
msgid "Reported:"
@@ -3103,13 +3126,13 @@ msgid "Reporting a problem"
msgstr "Raportimi i nje problemi"
#: perllib/FixMyStreet/Cobrand/Default.pm:655
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:383
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:388
#: templates/web/base/dashboard/index.html:134
#: templates/web/zurich/header.html:52
msgid "Reports"
msgstr "Raportimet"
-#: perllib/FixMyStreet/Cobrand/UK.pm:329 perllib/FixMyStreet/Cobrand/UK.pm:333
+#: perllib/FixMyStreet/Cobrand/UK.pm:333 perllib/FixMyStreet/Cobrand/UK.pm:335
msgid "Reports are limited to %s characters in length. Please shorten your report"
msgstr "Raportimet jane te kufizuara ne gjatesine %s karaktere. Ju lutem shkurtoje raportin tuaj"
@@ -3117,31 +3140,54 @@ msgstr "Raportimet jane te kufizuara ne gjatesine %s karaktere. Ju lutem shkurto
msgid "Reports awaiting approval"
msgstr "Raporti është duke pritur për aprovim"
+#: templates/web/base/alert/_list.html:54
+#, fuzzy
+msgid "Reports by destination"
+msgstr "Raportuar nga %s ne %s"
+
#: templates/web/base/admin/user-form.html:107
msgid "Reports made by trusted users will be sent to the responsible body without being inspected first."
msgstr "Raportet e bëra nga përdoruesit e besueshëm do të dërgohen tek drejtoria përgjegjëse pa u kontrolluar më parë."
+#: templates/web/base/alert/_list.html:15
+msgid "Reports near %s are sent to different councils, depending on the type of problem."
+msgstr ""
+
#: templates/web/zurich/admin/index-sdm.html:10
msgid "Reports published"
msgstr "Raporti u publikua"
-#: templates/web/base/js/translation_strings.html:68
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:71
msgid "Reports saved offline."
-msgstr "Raporto nje problem"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#, fuzzy
+msgid "Reports sent to %s"
+msgstr "Raporto ne %s"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:290 perllib/FixMyStreet/Cobrand/UK.pm:302
+#, fuzzy
+msgid "Reports sent to %s, within %s ward"
+msgstr "RSS feed i %s, brenda lagjes %s"
#: templates/web/base/admin/index.html:56
msgid "Reports waiting to be sent"
msgstr "Raportet duke pritur për tu dërguar"
-#: templates/web/base/admin/contact-form.html:89
+#: templates/web/base/admin/contact-form.html:90
msgid "Reports will automatically be sent without needing to be inspected if the user's <strong>reputation</strong> is at or above this value. Set to <strong>0</strong> if all reports must be inspected regardless."
msgstr "Raportet automatikisht do të dërgohen pa nevojë për tu kontrolluar nëse <strong> reputacioni i përdoruesit </ strong> është në ose mbi këtë vlerë. Vendosni <strong> 0 </ strong> në qoftë se të gjitha raportet duhet të kontrollhohen pa dallim."
-#: templates/web/base/admin/contact-form.html:94
+#: templates/web/base/admin/contact-form.html:95
msgid "Reputation threshold"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:20
+#, fuzzy
+msgid "Required"
+msgstr "Kërkuar"
+
#: templates/web/base/admin/report_edit.html:84
msgid "Resend report"
msgstr "Ridergo raportin"
@@ -3177,7 +3223,7 @@ msgstr "Shabllone të përgjigjjeve për"
msgid "Revert to original"
msgstr ""
-#: templates/web/base/report/_main.html:95
+#: templates/web/base/report/_main.html:99
msgid "Revert to original text"
msgstr ""
@@ -3200,16 +3246,16 @@ msgstr "Operatori i rrugës për emrin e kësaj rruge (rrjedh nga numri i refer
msgid "Road operator for this named road (from OpenStreetMap): %s"
msgstr "Operatori i rrugës për emrin e kësaj rruge (nga OpenStreetMap)."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1747
-#: templates/web/base/admin/report_edit.html:163
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1852
+#: templates/web/base/admin/report_edit.html:151
#: templates/web/base/admin/update_edit.html:66
#: templates/web/zurich/admin/report_edit.html:118
msgid "Rotate Left"
msgstr "Rrotullo Majtas"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: templates/web/base/admin/report_edit.html:164
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: templates/web/base/admin/report_edit.html:152
#: templates/web/base/admin/update_edit.html:67
#: templates/web/zurich/admin/report_edit.html:119
msgid "Rotate Right"
@@ -3224,33 +3270,41 @@ msgstr "Rrotullimi i kësaj foto do të heq dorë nga ndryshimet e paruajtura nÃ
msgid "Satellite"
msgstr "Satelitore"
-#: templates/web/base/report/_inspect.html:168
-#, fuzzy
+#: templates/web/base/report/_inspect.html:182
msgid "Save + close as duplicate"
-msgstr "shenuar si raport i dyfishuar"
+msgstr ""
-#: templates/web/base/admin/contact-form.html:137
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/contact-form.html:138
+#: templates/web/base/admin/reportextrafields/edit.html:64
+#: templates/web/base/admin/responsepriorities/edit.html:58
#: templates/web/base/admin/template_edit.html:46
-#: templates/web/base/report/_inspect.html:168
-#: templates/web/base/report/_main.html:113
-#: templates/web/base/report/update.html:60
+#: templates/web/base/report/_inspect.html:182
+#: templates/web/base/report/_main.html:117
+#: templates/web/base/report/update.html:69
#: templates/web/zurich/admin/body.html:62
-#: templates/web/zurich/admin/contact-form.html:20
+#: templates/web/zurich/admin/contact-form.html:22
#: templates/web/zurich/admin/template_edit.html:29
msgid "Save changes"
msgstr "Ruaj ndryshimet"
-#: templates/web/base/report/_inspect.html:148
+#: templates/web/base/admin/reportextrafields/edit.html:64
+msgid "Save new fields"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:158
msgid "Save with a public update"
msgstr "Ruaje me një përditësim për publikun"
-#. ('This is followed by a progress count, e.g. 3/5')
#. ("This is followed by a progress count, e.g. 3/5")
-#: templates/web/base/js/translation_strings.html:69
+#: templates/web/base/js/translation_strings.html:72
msgid "Saving reports offline"
msgstr ""
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:132
+#, fuzzy
+msgid "Scheduled"
+msgstr "Veprim i Planifikuar"
+
#: templates/web/base/admin/index.html:26
#: templates/web/base/admin/reports.html:1
#: templates/web/zurich/admin/reports.html:1
@@ -3284,42 +3338,41 @@ msgstr "Gjate kerkimit nuk eshte gjetur asnje perdorues."
msgid "See our privacy policy"
msgstr "Shiqo rregulloren tonë të privatësisë"
-#: perllib/FixMyStreet/Cobrand/Default.pm:715
-#, fuzzy
+#: perllib/FixMyStreet/Cobrand/Default.pm:720
msgid "See user detail for reports created as the council"
-msgstr "Krijo raporte/përditësime si Kuvend Komunal"
+msgstr ""
-#: templates/web/base/admin/body-form.html:39
+#: templates/web/base/admin/body-form.html:41
#: templates/web/zurich/admin/body-form.html:16
msgid "Select a body"
msgstr "Zgjedh një drejtori"
-#: templates/web/base/reports/index.html:12
-msgid "Select a particular council to see the reports sent there."
-msgstr "Zgjedh një Komunë të caktuar për të parë raportet e dërguara atje."
-
-#: templates/web/base/admin/body-form.html:77
+#: templates/web/base/admin/body-form.html:79
#: templates/web/zurich/admin/body-form.html:26
msgid "Select an area"
msgstr "Zgjedh nje zone"
-#: templates/web/base/alert/_list.html:11
-msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
-msgstr "Zgjidhni llojin e njoftimit që ju dëshironi dhe klikoni në butonin për një RSS, ose shkruani adresën tuaj të e-mail për tu abonuar në një njoftim me email."
+#: templates/web/base/admin/responsepriorities/edit.html:33
+msgid "Select if this is the default priority"
+msgstr ""
#: templates/web/base/admin/category-checkboxes.html:6
msgid "Select:"
msgstr "Selekto:"
+#: templates/web/base/contact/index.html:107
+msgid "Send"
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:109
msgid "Send extended Open311 statuses with service request updates"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:826
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:831
msgid "Sent report back"
msgstr "Dërgo raportin prapa"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:804
+#: perllib/FixMyStreet/DB/Result/Problem.pm:741
msgid "Sent to %s %s later"
msgstr "Dërgo tek %s %s më vonë"
@@ -3332,7 +3385,7 @@ msgstr "Dërgo:"
msgid "Service:"
msgstr "Shërbim:"
-#: templates/web/base/report/_inspect.html:31
+#: templates/web/base/report/_inspect.html:41
msgid "Set to my current location"
msgstr "Vendos tek lokacioni im i tanishëm"
@@ -3341,49 +3394,56 @@ msgid "Share"
msgstr "Shpërndajë"
#: templates/web/base/main_nav_items.html:10
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:21
#: templates/web/base/report/_main.html:29
msgid "Shortlist"
msgstr "Lista e ngushtë"
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/reports/body.html:32
+msgid "Shortlist all visible"
+msgstr ""
+
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:20
#: templates/web/base/report/_main.html:25
#: templates/web/base/reports/_list-filters.html:9
msgid "Shortlisted"
msgstr "Përzgjedhur"
-#: templates/web/base/report/_main.html:144
+#: templates/web/base/report/_item.html:15
+#: templates/web/base/report/_main.html:148
msgid "Shortlisted by %s"
msgstr "Përzgjedhur nga %s"
#: templates/web/base/report/update.html:20
-#, fuzzy
msgid "Show Photo?"
-msgstr "Shfaq te vjetrat"
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:26
+msgid "Show all updates"
+msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:54
+#: templates/web/base/report/new/form_user_loggedin.html:56
#: templates/web/base/report/new/form_user_loggedout_by_email.html:22
-#: templates/web/base/report/update/form_name.html:33
+#: templates/web/base/report/update/form_name.html:37
msgid "Show my name publicly"
msgstr "Publiko emrin tim"
#: templates/web/base/report/update.html:17
-#, fuzzy
msgid "Show name publicly?"
-msgstr "Publiko emrin tim"
+msgstr ""
#: templates/web/base/around/display_location.html:69
msgid "Show old"
msgstr "Shfaq te vjetrat"
-#: templates/web/base/report/_main.html:79
-#, fuzzy
+#: templates/web/base/report/_main.html:83
msgid "Show photo"
-msgstr "Shfaq te vjetrat"
+msgstr ""
#: templates/web/base/around/display_location.html:60
+#: templates/web/base/js/translation_strings.html:54
msgid "Show pins"
msgstr "Shfaq shenjat"
@@ -3391,16 +3451,20 @@ msgstr "Shfaq shenjat"
msgid "Show reporter&rsquo;s name"
msgstr ""
-#: templates/web/base/auth/general.html:117
+#: templates/web/base/reports/index.html:62
+msgid "Show reports in your area"
+msgstr ""
+
+#: templates/web/base/auth/general.html:119
#: templates/web/base/auth/general.html:3
-#: templates/web/base/auth/general.html:86
+#: templates/web/base/auth/general.html:88
#: templates/web/base/main_nav_items.html:6
#: templates/web/zurich/auth/general.html:18
#: templates/web/zurich/auth/general.html:35
msgid "Sign in"
msgstr "Kyqu"
-#: templates/web/base/auth/general.html:96
+#: templates/web/base/auth/general.html:98
msgid "Sign in by email instead, providing a new password. When you click the link in your email, your password will be updated."
msgstr "Kyçuni me email, duke siguruar fjalëkarim të ri. Kur klinoni në linkun në emailin tuaj, fjalëkalimi juaj do të përditësohet."
@@ -3446,14 +3510,14 @@ msgstr "Na vjen keq, ai nuk ishte link valid"
msgid "Sorry, there has been an error confirming your problem."
msgstr "Na vjen keq, është nje problem me konfirmimin e raportit tuaj."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:230
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:235
#: perllib/FixMyStreet/Geocode.pm:37 perllib/FixMyStreet/Geocode/Bing.pm:38
#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:56
#: perllib/FixMyStreet/Geocode/OSM.pm:48
msgid "Sorry, we could not find that location."
msgstr "Na vjen keq, ne nuk mund te gjejme kete lokacion."
-#: templates/web/base/auth/general.html:9
+#: templates/web/base/auth/general.html:11
#: templates/web/base/report/display.html:29
#: templates/web/base/report/new/fill_in_details_form.html:15
msgid "Sorry, we could not log you in. Please fill in the form below."
@@ -3475,11 +3539,11 @@ msgid ""
"page wasn’t found or there was a server error. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Root.pm:107
+#: perllib/FixMyStreet/App/Controller/Root.pm:124
msgid "Sorry, you don't have permission to do that."
msgstr "Na vjen keq, ju nuk keni leje për të bërë atë."
-#: templates/web/base/reports/_list-filters.html:42
+#: templates/web/base/reports/_list-filters.html:53
msgid "Sort by"
msgstr "Ndaj sipas"
@@ -3496,17 +3560,25 @@ msgid "Start Date:"
msgstr "Data e Fillimit:"
#: templates/web/base/admin/body.html:73
+#: templates/web/base/admin/category_edit.html:29
+#: templates/web/base/admin/contact-form.html:53
#: templates/web/base/admin/flagged.html:18
#: templates/web/base/admin/index.html:64
#: templates/web/base/admin/list_updates.html:11
#: templates/web/base/admin/reports.html:16
#: templates/web/base/admin/template_edit.html:40
-#: templates/web/base/report/_inspect.html:83
-#: templates/web/base/report/_item.html:94
+#: templates/web/base/report/_inspect.html:82
+#: templates/web/base/report/_item.html:96
#: templates/web/base/report/update/form_update.html:39
+#: templates/web/zurich/admin/contact-form.html:10
msgid "State"
msgstr "Gjendje"
+#: templates/web/base/report/update.html:48
+#, fuzzy
+msgid "State changed to:"
+msgstr "Ruaj ndryshimet"
+
#: templates/web/base/admin/report_edit.html:116
#: templates/web/base/admin/update_edit.html:28
#: templates/web/zurich/admin/report_edit-sdm.html:75
@@ -3516,8 +3588,14 @@ msgstr "Gjendje"
msgid "State:"
msgstr "Gjendje:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:640
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:386
+#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: templates/web/base/admin/states/index.html:1
+#, fuzzy
+msgid "States"
+msgstr "Gjendje"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
#: templates/web/base/admin/index.html:71 templates/web/base/admin/stats.html:1
#: templates/web/base/admin/stats_by_state.html:1
#: templates/web/zurich/admin/stats.html:1 templates/web/zurich/header.html:65
@@ -3539,6 +3617,10 @@ msgstr "Akoma hapur, nepermjet pyetesorit, %s"
msgid "Street View"
msgstr "Pamje e rrugës"
+#: templates/web/base/admin/extra-metadata-form.html:46
+msgid "String"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:192
msgid "Subcategory: %s"
msgstr "Nenkategoria: %s"
@@ -3547,7 +3629,7 @@ msgstr "Nenkategoria: %s"
msgid "Subdivision/Body"
msgstr "Nëndivizioni/Drejtoria"
-#: templates/web/base/contact/index.html:88
+#: templates/web/base/contact/index.html:92
msgid "Subject"
msgstr "Tema"
@@ -3557,14 +3639,14 @@ msgid "Subject:"
msgstr "Tema:"
#: templates/web/base/questionnaire/creator_fixed.html:19
-#: templates/web/base/report/new/form_user_loggedin.html:61
+#: templates/web/base/report/new/form_user_loggedin.html:63
#: templates/web/base/report/new/form_user_loggedout_by_email.html:36
#: templates/web/base/report/new/form_user_loggedout_password.html:11
#: templates/web/zurich/report/new/fill_in_details_form.html:73
msgid "Submit"
msgstr "Dërgo"
-#: templates/web/base/admin/report_edit.html:174
+#: templates/web/base/admin/report_edit.html:162
#: templates/web/base/admin/report_edit.html:24
#: templates/web/base/admin/update_edit.html:77
#: templates/web/base/admin/user-form.html:170
@@ -3578,8 +3660,8 @@ msgstr "Paraqit ndryshimet"
msgid "Submit questionnaire"
msgstr "Paraqit pyetesorin"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:164
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:893
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:898
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:6
#: templates/web/zurich/admin/index-dm.html:23
@@ -3589,36 +3671,38 @@ msgstr "Paraqit pyetesorin"
msgid "Submitted"
msgstr "Paraqitur"
+#: templates/web/base/alert/_list.html:77
+#: templates/web/base/alert/_list.html:80
#: templates/web/base/alert/updates.html:23
#: templates/web/base/report/display_tools.html:51
msgid "Subscribe"
msgstr "Abonohu"
-#: templates/web/base/alert/_list.html:93
-msgid "Subscribe me to an email alert"
+#: templates/web/base/alert/_list.html:72
+#, fuzzy
+msgid "Subscribe by email"
msgstr "Më abono tek njoftimi me e-mail"
#: templates/web/base/report/new/form_report.html:19
msgid "Summarise the problem"
msgstr "Përmbledhni problemin"
-#: templates/web/base/admin/contact-form.html:129
+#: templates/web/base/admin/contact-form.html:130
msgid "Summarise your changes"
msgstr "Përmbledhni ndryshimet tuaja"
-#: perllib/FixMyStreet/Cobrand/Default.pm:638
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:382
+#: perllib/FixMyStreet/Cobrand/Default.pm:637
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:387
#: templates/web/base/admin/bodies.html:29
#: templates/web/base/admin/index.html:1 templates/web/base/status/index.html:1
#: templates/web/base/status/index.html:3
#: templates/web/zurich/admin/index-dm.html:1
#: templates/web/zurich/admin/index-sdm.html:1
-#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:13
+#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:12
#: templates/web/zurich/header.html:49
msgid "Summary"
msgstr "Permbledhje"
-#: templates/web/base/reports/index.html:4
#: templates/web/zurich/reports/index.html:0
#: templates/web/zurich/reports/index.html:4
msgid "Summary reports"
@@ -3642,7 +3726,7 @@ msgid "Template &laquo;%s&raquo;"
msgstr "Shabllon &laquo;%s&raquo "
#: perllib/FixMyStreet/Cobrand/Default.pm:661
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:393
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
#: templates/web/zurich/header.html:69
msgid "Templates"
msgstr "Shabllonet"
@@ -3671,7 +3755,7 @@ msgstr "Ju faleminderit për raportimin e këtij problemi!"
msgid "Thank you for trying to confirm your update or problem. We seem to have an error ourselves though, so <a href=\"%s\">please let us know what went on</a> and we'll look into it."
msgstr "Faleminderit për përpjekjet tuaja për të konfirmuar përditësimin tuaj rreth problemit. Ne duket se kemi vetë një gabim,kështu që na <a href=\"%s\"> tregoni se qka ndodhi </a> dhe ne do të shikojmë atë problem."
-#: templates/web/base/tokens/confirm_update.html:15
+#: templates/web/base/tokens/confirm_update.html:16
msgid "Thank you for updating this issue!"
msgstr "Faleminderit për përditësimin e këtij problemi."
@@ -3699,7 +3783,7 @@ msgstr "Duket se imazhi nuk është ngarkuar si duhet (%s), ju lutem provoni pë
msgid "That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again."
msgstr "Ai vend nuk duket të jetë i mbuluar nga një drejtori; ndoshta kjo është në det të hapur ose jashtë vendit. Ju lutemi provoni përsëri."
-#: perllib/FixMyStreet/App/Controller/Location.pm:129
+#: perllib/FixMyStreet/App/Controller/Location.pm:127
msgid "That location does not appear to be in the UK; please try again."
msgstr "Ai vend nuk duket të jetë në Kosovë; ju lutem provoni përsëri."
@@ -3709,23 +3793,23 @@ msgstr "Ai vend nuk duket të jetë në Kosovë; ju lutem provoni përsëri."
msgid "That postcode was not recognised, sorry."
msgstr "Kodi postar nuk u njoh, na vjeqn keq."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:762
+#: perllib/FixMyStreet/App/Controller/Admin.pm:850
msgid "That problem has been marked as sent."
msgstr "Ky problem ka qenë i shënuar si i dërguar."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:755
+#: perllib/FixMyStreet/App/Controller/Admin.pm:843
msgid "That problem will now be resent."
msgstr "Ai problem tash do të ri-dërgohet."
-#: perllib/FixMyStreet/App/Controller/Report.pm:137
+#: perllib/FixMyStreet/App/Controller/Report.pm:134
msgid "That report cannot be viewed on %s."
msgstr "Raporti nuk mund te shihet ne %s."
-#: perllib/FixMyStreet/App/Controller/Report.pm:131
+#: perllib/FixMyStreet/App/Controller/Report.pm:128
msgid "That report has been removed from FixMyStreet."
msgstr "Ai raport është fshirë nga FixMyStreet."
-#: templates/web/base/admin/contact-form.html:25
+#: templates/web/base/admin/contact-form.html:27
msgid ""
"The <strong>email address</strong> is the destination to which reports about this category will be sent. \n"
" Other categories for this body may have the same email address."
@@ -3749,10 +3833,10 @@ msgid ""
" than one. If the body is running its own endpoint, you can usually leave this blank."
msgstr ""
-#: templates/web/base/admin/body-form.html:100
-#: templates/web/base/admin/body-form.html:101
-#: templates/web/base/admin/contact-form.html:103
+#: templates/web/base/admin/body-form.html:102
+#: templates/web/base/admin/body-form.html:103
#: templates/web/base/admin/contact-form.html:104
+#: templates/web/base/admin/contact-form.html:105
msgid ""
"The <strong>send method</strong> determines how problem reports will be sent to the body.\n"
" If you leave this blank, <strong>send method defaults to email</strong>."
@@ -3773,6 +3857,10 @@ msgstr ""
"<Strong> Emri i drejtorisë</ strong> identifikon drejtorinë (për shembull, <em> Drejtoria e Shërbimeve Publike </ em>)\n"
"dhe mund të shfaqet publikisht."
+#: templates/web/base/admin/extra-metadata-form.html:12
+msgid "The code used to store this field value in the database. e.g. <code>address</code> would be available as <code>problem.extra.address</code> in the templates."
+msgstr ""
+
#: templates/web/base/report/new/fill_in_details_text.html:1
#: templates/web/base/report/new/fill_in_details_text.html:3
msgid "The council won&rsquo;t be able to help unless you leave as much detail as you can. Please describe the exact location of the problem (e.g. on a wall), what it is, how long it has been there, a description (and a photo of the problem if you have one), etc."
@@ -3783,11 +3871,15 @@ msgstr "Drejtoria nuk do të jetë në gjendje të ndihmojë veç nëse ju lëni
msgid "The diligency prize league table shows editors' activity (who's been editing the most records)."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:61
-#: perllib/FixMyStreet/App/Controller/Reports.pm:82
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:63
+#: perllib/FixMyStreet/App/Controller/Reports.pm:103
msgid "The error was: %s"
msgstr "Gabimi ishte: %s"
+#: templates/web/base/admin/extra-metadata-form.html:30
+msgid "The field name as shown to the user on the report form."
+msgstr ""
+
#: templates/web/base/open311/index.html:78
msgid "The following Open311 v2 attributes are returned for each request: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
msgstr ""
@@ -3826,10 +3918,14 @@ msgstr "Problemet e fundit brenda {{NAME}} kufirit të raportuara nga përdorues
msgid "The link might have expired, or maybe you didn&rsquo;t quite copy and paste it correctly."
msgstr "Linku mund të ketë skaduar, ose ndoshta ju nuk mundet ta kopjoni atë të saktë."
-#: templates/web/base/admin/body-form.html:64
+#: templates/web/base/admin/body-form.html:66
msgid "The list of available areas is being provided by the MapIt service at %s."
msgstr "Lista e zonave në dispozicion është duke u siguruar nga shërbimi MapIt në %s."
+#: templates/web/base/admin/extra-metadata-form.html:6
+msgid "The ordering of this field on the report page. Fields are shown in ascending order according to this value."
+msgstr ""
+
#: templates/web/base/auth/change_password.html:22
#: templates/web/base/auth/change_password.html:26
msgid "The passwords do not match"
@@ -3839,9 +3935,9 @@ msgstr "Fjalekalimet nuk perputhen"
msgid "The requested URL '%s' was not found on this server"
msgstr "URL e kerkuar '%s' nuk u gjet ne kete server"
-#: templates/web/base/alert/_list.html:17
-msgid "The simplest alert is our geographic one:"
-msgstr "Njoftimi më i thjeshtë është ai gjeografik:"
+#: templates/web/base/admin/extra-metadata-form.html:42
+msgid "The type of input field to show to the user. <strong>Text</strong> is a simple text field, <strong>List</strong> is a drop-down selection."
+msgstr ""
#: perllib/FixMyStreet/Script/Reports.pm:96
msgid "The user could not locate the problem on a map, but to see the area around the location they entered"
@@ -3862,18 +3958,18 @@ msgstr ""
msgid "There are no reports to show."
msgstr "Nuk ka raporte për të shfaqur"
-#: perllib/FixMyStreet/App/Controller/Reports.pm:79
+#: perllib/FixMyStreet/App/Controller/Reports.pm:100
msgid "There was a problem showing the All Reports page. Please try again later."
msgstr "Ka problem në hapjën e faqes Të gjitha raportet. Ju lutem provoni përsëri më vonë."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:137
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:60
+#: perllib/FixMyStreet/App/Controller/Contact.pm:138
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:62
msgid "There was a problem showing this page. Please try again later."
msgstr "Ka probleme në hapjën e kësaj faqe. Ju lutem provoni përsëri më vonë."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:758
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:785
#: perllib/FixMyStreet/App/Controller/Report/Update.pm:152
-#: templates/web/base/auth/general.html:53
+#: templates/web/base/auth/general.html:55
#: templates/web/zurich/auth/general.html:28
msgid "There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the &lsquo;sign in by email&rsquo; section of the form."
msgstr "Ka një problem në kombinimin e email/fjalëkalimit tuaj. Nëse nuk mund të kujtoni fjalëkalimin tuaj, ose nuk keni një, ju lutem plotësoni &isquo, dhe nënshkruani me email&rqsuo, seksionin në formë."
@@ -3886,7 +3982,7 @@ msgstr "Ka një problem me kombinimin e emailit/fjalëkalimit tuaj. Ju lutem pro
msgid "There was a problem with your update. Please try again."
msgstr "Ka një problem me përditësimin tuaj. Ju lutem provoni përsëri."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:141
+#: perllib/FixMyStreet/App/Controller/Contact.pm:142
msgid "There were problems with your report. Please see below."
msgstr "Ka disa probleme me raportin tuaj. Ju lutem shihni më poshtë."
@@ -3941,8 +4037,8 @@ msgstr ""
msgid "This body has no contacts. This means that currently problems reported to this body <strong>will not be sent</strong>."
msgstr "Kjo Drejtori nuk ka kontakte. Kjo do të thotë se aktualisht problemet e raportuara drejtë kësaj drejtorie <strong> nuk do të dërgohen </ strong>."
-#: templates/web/base/admin/body-form.html:58
-#: templates/web/base/admin/body-form.html:59
+#: templates/web/base/admin/body-form.html:60
+#: templates/web/base/admin/body-form.html:61
msgid ""
"This body will only be sent reports for problems that are located in the <strong>area covered</strong>.\n"
" A body will not receive any reports unless it covers at least one area."
@@ -3958,8 +4054,9 @@ msgstr "Ky email është dërguar të dy Drejtorite që mbulojnë vendndodhjen e
msgid "This email has been sent to several councils covering the location of the problem, as the category selected is provided for all of them; please ignore it if you're not the correct council to deal with the issue."
msgstr "Ky email është dërguar në disa Drejtori që mbulojnë vendndodhjen e problemit, pasi që kategoria e zgjedhur është dhënë për të gjithë ata; ju lutemi ta injoroni atë në qoftë se ju nuk jeni Drejtoria e duhur për t'u marrë me këtë çështje."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:881
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:925
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1017
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:910
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:954
#: perllib/FixMyStreet/App/Controller/Report/New.pm:971
#: perllib/FixMyStreet/Cobrand/UK.pm:45
msgid "This information is required"
@@ -3969,46 +4066,41 @@ msgstr "Ky informacion është i nevojshëm"
msgid "This is a developer site; things might break at any time, and the database will be periodically deleted."
msgstr "Kjo është web faqe e zhvilluesve; gjëra mund të thyhen në çdo kohë, dhe baza e të dhënave do të fshihet në mënyrë periodike."
-#: templates/web/base/reports/index.html:10
-msgid "This is a summary of all reports on this site."
-msgstr "Kjo është një përmbledhje e të gjitha raporteve në këtë faqe."
-
-#: templates/web/base/report/new/form_report.html:56
+#: templates/web/base/report/new/form_report.html:58
msgid "This pothole has been here for two months and…"
msgstr "Kjo gropë ka qenë këtu për dy muaj dhe ..."
-#: templates/web/base/report/update/form_update.html:63
+#: templates/web/base/report/update/form_update.html:55
msgid "This problem has been fixed"
msgstr "Ky problem ka qene i rregulluar"
-#: templates/web/base/report/update/form_update.html:56
+#: templates/web/base/report/update/form_update.html:48
msgid "This problem has not been fixed"
msgstr "Ky problem nuk ka qene i rregulluar"
-#: templates/web/base/report/update/form_update.html:54
-#, fuzzy
+#: templates/web/base/report/update/form_update.html:46
msgid "This problem is still ongoing"
-msgstr "Ky problem nuk ka qene i rregulluar"
+msgstr ""
#: templates/web/base/report/duplicate-no-updates.html:3
msgid "This report is a duplicate. Please leave updates on the original report:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:161
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:162
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:166
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:167
#: templates/web/zurich/report/_main.html:14
msgid "This report is awaiting moderation."
msgstr "Ky raport është në pritje moderim."
-#: perllib/FixMyStreet/Script/Alerts.pm:101
+#: perllib/FixMyStreet/Script/Alerts.pm:98
msgid "This report is currently marked as closed."
msgstr "Ky raport eshte shenuar si i mbyllur."
-#: perllib/FixMyStreet/Script/Alerts.pm:99
+#: perllib/FixMyStreet/Script/Alerts.pm:96
msgid "This report is currently marked as fixed."
msgstr "Ky raport eshte shenuar si i rregulluar."
-#: perllib/FixMyStreet/Script/Alerts.pm:103
+#: perllib/FixMyStreet/Script/Alerts.pm:100
msgid "This report is currently marked as open."
msgstr "Ky problem eshte i shenuar si i hapur."
@@ -4027,7 +4119,7 @@ msgstr "Kjo web faqe përmban edhe një foto të problemit, e dhënë nga ana e
msgid "Time spent (in minutes):"
msgstr "Koha e kaluar(në minuta):"
-#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Default.pm:638
#: templates/web/base/admin/timeline.html:1
msgid "Timeline"
msgstr "Kohëzgjatja"
@@ -4056,10 +4148,26 @@ msgstr "Për të gjetur se çfarë njoftime lokale kemi për ju, ju lutem shkrua
msgid "To find out what local alerts we have for you, please enter your postcode or street name and area"
msgstr "Për të gjetur se çfarë njoftime lokale kemi për ju, ju lutem shkruani kodin postar ose emrin e rrugës dhe zonën"
+#: templates/web/base/admin/reportextrafields/edit.html:19
+msgid "To limit this collection of fields to a single cobrand, select it here."
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:40
+msgid "To limit this collection of fields to a single language, select it here."
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:95
msgid "To view a map of the precise location of this issue"
msgstr "Për të parë një hartë të vendndodhjen e saktë të kësaj çështjeje"
+#: templates/web/base/reports/index.html:97
+msgid "Top 5 most used categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:83
+msgid "Top 5 responsive councils"
+msgstr ""
+
#: templates/web/base/admin/questionnaire.html:24
#: templates/web/base/admin/stats.html:24
#: templates/web/base/admin/stats.html:43
@@ -4073,9 +4181,8 @@ msgid "Total marked"
msgstr ""
#: templates/web/base/dashboard/index.html:71
-#, fuzzy
msgid "Total marked as fixed"
-msgstr "shenuar si i rregulluar"
+msgstr ""
#: templates/web/base/dashboard/index.html:125
msgid "Total not marked"
@@ -4086,16 +4193,24 @@ msgstr ""
msgid "Total reports received"
msgstr ""
-#: templates/web/base/report/_inspect.html:124
-#: templates/web/base/report/_item.html:102
+#: templates/web/base/report/_inspect.html:134
+#: templates/web/base/report/_item.html:104
msgid "Traffic management required?"
msgstr "Menaxhimi i trafikut i nevojshëm?"
+#: templates/web/base/admin/_translations.html:7
+msgid "Translation"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:2
+msgid "Translations"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:111
msgid "Trusted by bodies:"
msgstr "Të besuar nga Drejtoritë:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:721
+#: perllib/FixMyStreet/Cobrand/Default.pm:726
msgid "Trusted to make reports that don't need to be inspected"
msgstr "I besuar për të bërë raporte të cilat nuk duhet të kontrollhen"
@@ -4111,8 +4226,14 @@ msgstr "Provo përsëri"
msgid "Try emailing us directly:"
msgstr "Provoni për të na shkruar email direkt:"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:21
+#: templates/web/base/admin/extra-metadata-form.html:44
+#: templates/web/base/admin/states/index.html:10
+#: templates/web/base/admin/states/index.html:100
+msgid "Type"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:59
+#: templates/web/base/admin/contact-form.html:55
#: templates/web/base/admin/update_edit.html:30
#: templates/web/zurich/admin/report_edit-sdm.html:66
#: templates/web/zurich/admin/report_edit.html:94
@@ -4120,7 +4241,6 @@ msgstr "Provoni për të na shkruar email direkt:"
msgid "Unconfirmed"
msgstr "E pakonfirmuar"
-#: templates/web/base/reports/_list-filters.html:12
#: templates/web/base/reports/_list-filters.html:5
msgid "Unfixed reports"
msgstr "Raportime të pa zgjidhura"
@@ -4134,26 +4254,26 @@ msgid "Unknown alert type"
msgstr "Lloj i njoftimit i panjohur"
#: perllib/FixMyStreet/App/Controller/Photo.pm:109
-#: perllib/FixMyStreet/App/Controller/Root.pm:124
+#: perllib/FixMyStreet/App/Controller/Root.pm:141
#: templates/web/base/js/translation_strings.html:38
msgid "Unknown error"
msgstr "Gabim i panjohur"
-#: perllib/FixMyStreet/App/Controller/Report.pm:115
+#: perllib/FixMyStreet/App/Controller/Report.pm:112
+#: perllib/FixMyStreet/App/Controller/Report.pm:118
#: perllib/FixMyStreet/App/Controller/Report.pm:121
-#: perllib/FixMyStreet/App/Controller/Report.pm:124
msgid "Unknown problem ID"
msgstr "ID problemi i panjohur"
#: templates/web/base/reports/_list-filters.html:10
-#, fuzzy
msgid "Unshortlisted"
-msgstr "Përzgjedhur"
+msgstr ""
-#: templates/web/base/report/_item.html:24
+#: templates/web/base/report/_item.html:26
msgid "Up one"
msgstr ""
+#: templates/web/base/admin/states/index.html:76
#: templates/web/base/report/update/form_update.html:29
msgid "Update"
msgstr "Perditesim"
@@ -4170,7 +4290,7 @@ msgstr "Përditësimi më poshtë është shtuar anonimisht në %s"
msgid "Update below added by %s at %s"
msgstr "Përditësimi më poshtë është shtuar nga %s në %s"
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Update body"
msgstr ""
@@ -4206,13 +4326,23 @@ msgstr ""
msgid "Updated"
msgstr "Perditesuar"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1157
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1221
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1384
-#: perllib/FixMyStreet/App/Controller/Admin.pm:822
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:762
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:787
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:857
+#: perllib/FixMyStreet/DB/Result/Comment.pm:249
+#, fuzzy
+msgid "Updated by <strong>%s</strong> (%s) at %s"
+msgstr "Postuar nga <strong>%s</strong> (%s) ne %s"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:251
+#, fuzzy
+msgid "Updated by <strong>%s</strong> at %s"
+msgstr "Postuar nga <strong>%s</strong> ne %s"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1262
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1326
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1489
+#: perllib/FixMyStreet/App/Controller/Admin.pm:910
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:767
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:792
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:862
msgid "Updated!"
msgstr "Perditesuar!"
@@ -4222,7 +4352,7 @@ msgstr "Perditesuar!"
msgid "Updates"
msgstr "Perditesime"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:133
+#: perllib/FixMyStreet/DB/Result/Comment.pm:134
msgid "Updates are limited to %s characters in length. Please shorten your update"
msgstr ""
@@ -4236,11 +4366,22 @@ msgstr "Perditesimet ne {{title}}"
msgid "Updates to this problem, %s"
msgstr "Përditësim në këtë problem"
+#: templates/web/base/admin/contact-form.html:43
+#: templates/web/base/admin/contact-form.html:44
+msgid ""
+"Use <strong>confirmed</strong> to indicate that this contact has been\n"
+"confirmed as correct. If you are not sure of the origin or validity of the\n"
+"contact, use <strong>unconfirmed</strong>. <strong>inactive</strong> will\n"
+"remove the category from use when reporting problems, but keep it available in\n"
+"map filters, and <strong>deleted</strong> will remove the category from there\n"
+"as well."
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:65
msgid "Use Open311 update-sending extension"
msgstr "Hap Open311 per linjën e dërgimit të përditësimit"
-#: templates/web/base/admin/contact-form.html:124
+#: templates/web/base/admin/contact-form.html:125
msgid "Use this field to record details that are only displayed in the admin. Input is not shown publicly, and is not sent to the body."
msgstr ""
@@ -4253,27 +4394,26 @@ msgstr "Harta të përdorura"
msgid "User ID to attribute fetched comments to"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1700
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1805
msgid "User flag removed"
msgstr "Flamuri i përdoruesit është hequr"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1672
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1777
msgid "User flagged"
msgstr ""
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:58
-#, fuzzy
msgid "User has marked as fixed"
-msgstr "shenuar si i rregulluar"
+msgstr ""
#: templates/web/base/admin/users.html:5
msgid "User search finds matches in users' names and email addresses."
msgstr "Përdoruesi gjen përputhje në kërkimet e emrit të përdoruesit dhe email adresës."
#: perllib/FixMyStreet/Cobrand/Default.pm:669
-#: perllib/FixMyStreet/Cobrand/Default.pm:723
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
+#: perllib/FixMyStreet/Cobrand/Default.pm:728
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:403
#: templates/web/base/admin/flagged.html:29 templates/web/zurich/header.html:61
msgid "Users"
msgstr "Perdoruesit"
@@ -4282,9 +4422,9 @@ msgstr "Perdoruesit"
msgid "Users can perform the following actions within their assigned body or area."
msgstr "Përdoruesit mund të ndërmarrin hapat brenda drejtorisë apo fushës së tyre të dedikuar."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:400
-#: perllib/FixMyStreet/App/Controller/Admin.pm:430
-#: perllib/FixMyStreet/App/Controller/Admin.pm:448
+#: perllib/FixMyStreet/App/Controller/Admin.pm:381
+#: perllib/FixMyStreet/App/Controller/Admin.pm:417
+#: perllib/FixMyStreet/App/Controller/Admin.pm:439
msgid "Values updated"
msgstr "Vlerat e perditesuara"
@@ -4331,7 +4471,7 @@ msgstr "Kemi gjetur më shumë se një përputhje për këtë lokacion. Ne shfaq
msgid "We found more than one match for that problem reference:"
msgstr "Ne kemi gjetur më shumë se një përputhje për referencën e problemit"
-#: templates/web/base/auth/general.html:6
+#: templates/web/base/auth/general.html:8
#: templates/web/base/report/display.html:35
#: templates/web/base/report/new/oauth_email_form.html:5
msgid "We need your email address, please give it below."
@@ -4366,7 +4506,7 @@ msgstr "Do të ju përgjigjemi sa më shpejtë që mundemi."
msgid "What was your experience of getting the problem fixed?"
msgstr "Cila ishte përvoja juaj sa i përket zgjidhjës së problemit tuaj?"
-#: templates/web/base/admin/category_edit.html:52
+#: templates/web/base/admin/category_edit.html:27
#: templates/web/zurich/admin/body.html:18
msgid "When edited"
msgstr "Kur redaktohet"
@@ -4375,11 +4515,19 @@ msgstr "Kur redaktohet"
msgid "When sent"
msgstr "Kur është dërguar"
-#: templates/web/base/report/_inspect.html:89
+#: templates/web/base/admin/extra-metadata-form.html:18
+msgid "Whether the user is required to provide a value for this field."
+msgstr ""
+
+#: templates/web/base/alert/_list.html:9
+msgid "Which problems do you want alerts about?"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:99
msgid "Which report is it a duplicate of?"
msgstr ""
-#: templates/web/base/js/translation_strings.html:54
+#: templates/web/base/js/translation_strings.html:57
msgid "Whoa there Testino! Three photos are enough."
msgstr "Whoa Testino ! Tre foto janë të mjaftueshme."
@@ -4387,8 +4535,8 @@ msgstr "Whoa Testino ! Tre foto janë të mjaftueshme."
msgid "Why stop there? <a href=\"/alert\">Set up more alerts</a> for free."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:185
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:190
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:14
msgid "Wish"
@@ -4398,7 +4546,7 @@ msgstr "Dëshirë"
msgid "With request searches, it is also possible to search for agency_responsible to limit the requests to those sent to a single administration. The search term is the administration ID provided by <a href=\"%s\">MaPit</a>."
msgstr ""
-#: templates/web/base/front/footer-marketing.html:17
+#: templates/web/base/front/footer-marketing.html:3
msgid "Would you like to contribute to FixMyStreet? Our code is open source and <a href=\"http://fixmystreet.org\">available at fixmystreet.org</a>."
msgstr ""
@@ -4423,23 +4571,22 @@ msgstr ""
msgid "Year"
msgstr "Viti"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1202
+#: perllib/FixMyStreet/Cobrand/Default.pm:1236
#: templates/web/base/admin/bodies.html:70
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
#: templates/web/base/admin/category_edit.html:5
#: templates/web/base/admin/flagged.html:47
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:136
+#: templates/web/base/admin/report_edit.html:124
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:25
#: templates/web/base/admin/users.html:32
#: templates/web/base/questionnaire/creator_fixed.html:14
#: templates/web/base/questionnaire/index.html:104
#: templates/web/base/questionnaire/index.html:53
+#: templates/web/base/report/_inspect.html:90
msgid "Yes"
msgstr "Po"
@@ -4452,7 +4599,7 @@ msgstr "Po une kam nje fjalekalim"
msgid "You are complaining that this problem report was unnecessarily moderated:"
msgstr ""
-#: templates/web/base/js/translation_strings.html:70
+#: templates/web/base/js/translation_strings.html:73
msgid "You are offline"
msgstr ""
@@ -4473,7 +4620,11 @@ msgstr "Ju mund <a href=\"%s%s\">te shihni problemin ne kete faqe</a>."
msgid "You can add an abusive user's email to the abuse list, which automatically hides (and never sends) reports they create."
msgstr ""
-#: templates/web/base/contact/index.html:111
+#: templates/web/base/alert/_list.html:18
+msgid "You can choose to subscribe to all problems reported in an area, or reports based on their destination."
+msgstr ""
+
+#: templates/web/base/contact/index.html:115
msgid "You can contact technical support on <a href='mailto:%s'>%s</a>"
msgstr "Ju mund te kontaktoni per ndihme teknike ne <a href='mailto:%s'>%s</a>"
@@ -4491,7 +4642,7 @@ msgstr ""
msgid "You can help us by finding a contact email address for local problems for %s and emailing it to us at <a href='mailto:%s'>%s</a>."
msgstr "Ju mund të na ndihmoni duke gjetur një email kontaktues për problemet lokale dhe ta dërgoni atë tek ne."
-#: templates/web/base/admin/body-form.html:91
+#: templates/web/base/admin/body-form.html:93
msgid "You can mark a body as deleted if you do not want it to be active on the site."
msgstr ""
@@ -4499,7 +4650,7 @@ msgstr ""
msgid "You declined; please fill in the box above"
msgstr "Ju anuluat; ju lutem plotësoni kutinë më lartë "
-#: templates/web/base/js/translation_strings.html:72
+#: templates/web/base/js/translation_strings.html:75
msgid "You have <a id=\"oFN\" href=\"\"><span>%s</span> saved to submit</a>."
msgstr ""
@@ -4507,7 +4658,7 @@ msgstr ""
msgid "You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"
msgstr ""
-#: templates/web/base/report/new/form_report.html:37
+#: templates/web/base/report/new/form_report.html:39
#: templates/web/zurich/report/new/fill_in_details_form.html:30
msgid "You have already attached photos to this report. Note that you can attach a maximum of 3 to this report (if you try to upload more, the oldest will be removed)."
msgstr "Ju tanimë keni bashkangjitur fotografi në këtë raport. Keni parasysh që keni mundësi të bashkangjitni vetëm 3 në këtë raport (nëse dëshironi që të ngarkoni më shumë, të kaluarat do të largohen)."
@@ -4565,10 +4716,9 @@ msgstr "Raportet tuaja"
msgid "Your account"
msgstr "Llogaria juaj"
-#: templates/web/base/alert/_list.html:90
#: templates/web/base/alert/updates.html:19
#: templates/web/base/alert/updates.html:22
-#: templates/web/base/contact/index.html:81
+#: templates/web/base/contact/index.html:80
#: templates/web/base/report/display_tools.html:46
#: templates/web/base/report/display_tools.html:49
#: templates/web/base/report/new/form_user_loggedout_email.html:1
@@ -4578,7 +4728,7 @@ msgid "Your email"
msgstr "Email-i juaj"
#: templates/web/base/auth/change_email.html:9
-#: templates/web/base/auth/general.html:55
+#: templates/web/base/auth/general.html:57
#: templates/web/base/report/update/form_user_loggedout_email.html:5
#: templates/web/zurich/auth/general.html:30
#: templates/web/zurich/auth/general.html:58
@@ -4589,21 +4739,32 @@ msgstr "Email adresa juaj"
msgid "Your information will only be used in accordance with our <a href=\"/privacy\">privacy policy</a>"
msgstr "Informatat tuaja do të përdoren në përputhje me politikën tonë të privatsisë"
-#: templates/web/base/auth/general.html:107
+#: templates/web/base/auth/general.html:109
#: templates/web/base/contact/index.html:74
#: templates/web/base/report/new/form_user_loggedout_by_email.html:17
-#: templates/web/base/report/update/form_name.html:29
+#: templates/web/base/report/update/form_name.html:33
#: templates/web/zurich/auth/general.html:61
#: templates/web/zurich/report/new/fill_in_details_form.html:63
msgid "Your name"
msgstr "Emri juaj"
-#: templates/web/base/js/translation_strings.html:62
-#, fuzzy
+#: templates/web/base/my/anonymize.html:13
+msgid "Your name has already been sent to %s, but we can hide it on this page:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:264
+msgid "Your name has been hidden from all your reports and updates."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:260
+msgid "Your name has been hidden."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:65
msgid "Your offline reports"
-msgstr "Raportet tuaja"
+msgstr ""
-#: templates/web/base/auth/general.html:85
+#: templates/web/base/auth/general.html:87
#: templates/web/base/report/new/form_user_loggedout_password.html:10
#: templates/web/base/report/update/form_user_loggedout_password.html:9
#: templates/web/zurich/auth/general.html:34
@@ -4614,6 +4775,7 @@ msgstr "Fjalekalimi juaj"
msgid "Your password has been changed"
msgstr "Fjalekalimi juaj eshte ndryshuar"
+#: templates/web/base/contact/index.html:87
#: templates/web/base/report/new/form_user_loggedout_by_email.html:26
#: templates/web/zurich/report/new/fill_in_details_form.html:69
msgid "Your phone number"
@@ -4632,7 +4794,7 @@ msgstr "Raportet tuaja"
msgid "Your shortlist"
msgstr "Lista juaj e shkurtë"
-#: templates/web/base/js/translation_strings.html:63
+#: templates/web/base/js/translation_strings.html:66
msgid "Your update has been saved offline for submission when back online."
msgstr ""
@@ -4640,8 +4802,8 @@ msgstr ""
msgid "Your updates"
msgstr "Perditesimet tuaja"
-#: templates/web/base/report/new/form_user_loggedin.html:18
-#: templates/web/base/report/update/form_name.html:11
+#: templates/web/base/report/new/form_user_loggedin.html:19
+#: templates/web/base/report/update/form_name.html:12
msgid "Yourself"
msgstr "Vetëvetja"
@@ -4650,14 +4812,14 @@ msgstr "Vetëvetja"
msgid "all"
msgstr "Të gjitha"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:259
+msgid "and a defect raised"
+msgstr ""
+
#: templates/web/base/admin/timeline.html:4
msgid "by %s"
msgstr "nga %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:290
-msgid "closed as a duplicate report"
-msgstr "shenuar si raport i dyfishuar"
-
#: templates/web/base/reports/body.html:6
#: templates/web/base/reports/body.html:7
msgid "council"
@@ -4682,7 +4844,7 @@ msgstr "Ndryshoni përdoruesin"
msgid "from %s different users"
msgstr "nga %s perdorues te ndryshem"
-#: templates/web/base/report/_item.html:61
+#: templates/web/base/report/_item.html:63
#: templates/web/zurich/report/_item.html:14
msgid "last updated %s"
msgstr "Perditesimi i fundit %s"
@@ -4691,44 +4853,7 @@ msgstr "Perditesimi i fundit %s"
msgid "less than a minute"
msgstr "më pak se një minutë"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:280
-msgid "marked as action scheduled"
-msgstr "shenuar si veprim i planifikuar"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:292
-msgid "marked as an internal referral"
-msgstr "shenuar si nje rekomandim i brendshem"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:282
-msgid "marked as closed"
-msgstr "shenuar si i mbyllur"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:263
-#: perllib/FixMyStreet/DB/Result/Comment.pm:284
-msgid "marked as fixed"
-msgstr "shenuar si i rregulluar"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:278
-msgid "marked as in progress"
-msgstr "shenuar si ne progres"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:274
-msgid "marked as investigating"
-msgstr "shenuar si i shqyrtuar"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:286
-msgid "marked as no further action"
-msgstr "Etiketuar si e pamundur për ta rregulluar"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:288
-msgid "marked as not the council's responsibility"
-msgstr ""
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:276
-msgid "marked as planned"
-msgstr "shenuar si i planifikuar"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:122
+#: perllib/FixMyStreet/App/Controller/Admin.pm:119
#: templates/web/base/admin/questionnaire.html:15
#: templates/web/base/admin/questionnaire.html:16
msgid "n/a"
@@ -4739,13 +4864,9 @@ msgstr "n/a"
msgid "none"
msgstr "asnjë"
-#: templates/web/base/admin/category_edit.html:35
-msgid "optional"
-msgstr "Opsionale"
-
-#: templates/web/base/alert/_list.html:86
-msgid "or"
-msgstr "ose"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:278
+msgid "not the council's responsibility"
+msgstr ""
#: templates/web/base/js/translation_strings.html:27
msgid "or locate me automatically"
@@ -4770,16 +4891,7 @@ msgstr "E dhënë origjinale"
msgid "other areas:"
msgstr "zona tjera:"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:265
-#: perllib/FixMyStreet/DB/Result/Comment.pm:271
-msgid "reopened"
-msgstr "rihapur"
-
-#: templates/web/base/admin/category_edit.html:35
-msgid "required"
-msgstr "Kërkuar"
-
-#: templates/web/zurich/footer.html:13
+#: templates/web/zurich/footer.html:12
msgid "sign out"
msgstr "çkyqur"
@@ -4787,11 +4899,16 @@ msgstr "çkyqur"
msgid "the local council"
msgstr "lokal council"
-#: templates/web/base/report/_report_meta_info.html:2
+#: templates/web/base/report/_report_meta_info.html:5
#: templates/web/zurich/report/_main.html:5
msgid "there is no pin shown as the user did not use the map"
msgstr ""
+#: templates/web/base/alert/_list.html:1
+#, fuzzy
+msgid "this location"
+msgstr "Duke parë lokacionin"
+
#: perllib/FixMyStreet/Script/Reports.pm:184
msgid "this type of local problem"
msgstr "ky lloj i problemit lokal"
@@ -4800,15 +4917,13 @@ msgstr "ky lloj i problemit lokal"
msgid "today"
msgstr "sot"
-#: templates/web/base/js/translation_strings.html:73
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:76
msgid "update"
-msgstr "Perditesim"
+msgstr ""
-#: templates/web/base/js/translation_strings.html:74
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:77
msgid "updates"
-msgstr "Perditesime"
+msgstr ""
#: templates/web/base/admin/report_edit.html:52
msgid "used map"
@@ -4828,11 +4943,11 @@ msgid "ward"
msgstr "lagje"
#: templates/web/base/admin/bodies.html:56
-#, fuzzy, perl-format
+#, perl-format
msgid "%d address"
msgid_plural "%d addresses"
-msgstr[0] "Email adresa"
-msgstr[1] "Email adresa"
+msgstr[0] ""
+msgstr[1] ""
#: perllib/Utils.pm:250
#, perl-format
@@ -4856,11 +4971,11 @@ msgstr[0] "%d minutë"
msgstr[1] "%d minuta"
#: perllib/Utils.pm:246
-#, fuzzy, perl-format
+#, perl-format
msgid "%d month"
msgid_plural "%d months"
-msgstr[0] "%d minutë"
-msgstr[1] "%d minuta"
+msgstr[0] ""
+msgstr[1] ""
#: templates/web/base/report/_support.html:6
#, perl-format
@@ -4883,6 +4998,41 @@ msgid_plural "%d years"
msgstr[0] ""
msgstr[1] ""
+#: templates/web/base/reports/index.html:92
+#, perl-format
+msgid "%s day"
+msgid_plural "%s days"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:55
+#, perl-format
+msgid "%s problem marked as fixed"
+msgid_plural "%s problems marked as fixed"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:43
+#, perl-format
+msgid "%s problem reported"
+msgid_plural "%s problems reported"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:107
+#, perl-format
+msgid "%s report"
+msgid_plural "%s reports"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/base/reports/index.html:49
+#, perl-format
+msgid "%s update on problems"
+msgid_plural "%s updates on problems"
+msgstr[0] ""
+msgstr[1] ""
+
#: templates/web/base/front/stats.html:19
#, perl-format
msgid "<big>%s</big> fixed in past month"
@@ -4911,12 +5061,12 @@ msgid_plural "<big>%s</big> updates on reports"
msgstr[0] "<big>%s</big> perditesim ne raporte"
msgstr[1] "<big>%s</big> perditesime ne raporte"
-#: templates/web/base/report/_item.html:49
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:51
+#, perl-format
msgid "Reported %d day ago"
msgid_plural "Reported %d days ago"
-msgstr[0] "Raportuar nga %s ne %s"
-msgstr[1] "Raportuar nga %s ne %s"
+msgstr[0] ""
+msgstr[1] ""
#: templates/web/base/report/new/top_message_some.html:3
#, perl-format
@@ -4932,49 +5082,120 @@ msgid_plural "We do not yet have details for the councils that cover this locati
msgstr[0] ""
msgstr[1] ""
-#: templates/web/base/report/_item.html:59
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:61
+#, perl-format
msgid "last updated %d day ago"
msgid_plural "last updated %d days ago"
-msgstr[0] "Perditesimi i fundit %s"
-msgstr[1] "Perditesimi i fundit %s"
+msgstr[0] ""
+msgstr[1] ""
#: templates/email/oxfordshire/archive.txt:9
-#, fuzzy, perl-format
+#, perl-format
msgid "report"
msgid_plural "reports"
-msgstr[0] "Raporto"
-msgstr[1] "Raporto"
+msgstr[0] ""
+msgstr[1] ""
-#, fuzzy
-#~ msgid "All inspectors"
-#~ msgstr "Të gjitha kategoritë"
+#~ msgid ""
+#~ "%s sends different categories of problem\n"
+#~ "to the appropriate council, so problems within the boundary of a particular council\n"
+#~ "might not match the problems sent to that council. For example, a graffiti report\n"
+#~ "will be sent to the district council, so will appear in both of the district\n"
+#~ "council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
+#~ "for the county council."
+#~ msgstr ""
+#~ "%s dërgon kategori të ndryhme të problemit\n"
+#~ "tek Drejtoria adekuate e Komunës, kështu që problemet që paraqiten jashtë Komunës perkatëse nuk do ti shkojnë asaj. Si shembull një raport per graffiti do ti dërgohet Komunës, mirëpo do ti dërgohet vetëm Komunës së caktuar në hartë."
-#, fuzzy
-#~ msgid "External ID:"
-#~ msgstr "ID e jashtme"
+#~ msgid "%s ward, %s"
+#~ msgstr "%s lagje, %s"
-#, fuzzy
-#~ msgid "Inspector:"
-#~ msgstr "Inspektimi kërkohet"
+#~ msgid "%s, within %s ward"
+#~ msgstr "%s, brenda lagjes %s"
-#, fuzzy
-#~ msgid "Report category:"
-#~ msgstr "Përditëso kategorinë e raporteve"
+#~ msgid "(alternatively the RSS feed can be customised, within %s)"
+#~ msgstr "(Ndryshe RSS mund të personalizohet, brenda% s)"
-#, fuzzy
-#~ msgid "Reported %d days ago"
-#~ msgstr "Raportuar nga %s ne %s"
+#~ msgid "-- Pick a property type --"
+#~ msgstr "-- Zgjedh nje lloj te karakteristikes --"
-#, fuzzy
-#~ msgid "last updated %d days ago"
-#~ msgstr "Perditesimi i fundit %s"
+#~ msgid "Closed reports"
+#~ msgstr "Raporte të mbyllura"
+
+#~ msgid "Closed:"
+#~ msgstr "Mbyllur:"
+
+#~ msgid "Duplicate"
+#~ msgstr "Dyfisho"
+
+#~ msgid "Fixed reports"
+#~ msgstr "Raportimet që janë rregulluar"
+
+#~ msgid "Fixed:"
+#~ msgstr "E rregulluar:"
+
+#~ msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
+#~ msgstr "Ketu jane llojet e raportimeve te problemeve lokale per &lsquo;%s&rsquo;."
+
+#~ msgid "In Progress"
+#~ msgstr "Ne Vazhdim"
+
+#~ msgid "Internal referral"
+#~ msgstr "Rekomandim i brendshem"
+
+#~ msgid "Investigating"
+#~ msgstr "Shqyrtuar"
+
+#~ msgid "No further action"
+#~ msgstr "E pamundur të zgjidhet"
+
+#~ msgid "Not Responsible"
+#~ msgstr "Jo Pergjegjes"
+
+#~ msgid "Or problems reported to:"
+#~ msgstr "Ose raportoni problemet n:"
+
+#~ msgid "Please choose a property type"
+#~ msgstr "Ju lutem zgjedhni tipin e pronës"
+
+#~ msgid "Problems within the boundary of:"
+#~ msgstr "Problemet brenda kufijve te:"
+
+#~ msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
+#~ msgstr "Zgjidhni llojin e njoftimit që ju dëshironi dhe klikoni në butonin për një RSS, ose shkruani adresën tuaj të e-mail për tu abonuar në një njoftim me email."
+
+#~ msgid "The simplest alert is our geographic one:"
+#~ msgstr "Njoftimi më i thjeshtë është ai gjeografik:"
+
+#~ msgid "closed as a duplicate report"
+#~ msgstr "shenuar si raport i dyfishuar"
+
+#~ msgid "marked as action scheduled"
+#~ msgstr "shenuar si veprim i planifikuar"
+
+#~ msgid "marked as an internal referral"
+#~ msgstr "shenuar si nje rekomandim i brendshem"
+
+#~ msgid "marked as closed"
+#~ msgstr "shenuar si i mbyllur"
+
+#~ msgid "marked as fixed"
+#~ msgstr "shenuar si i rregulluar"
+
+#~ msgid "marked as in progress"
+#~ msgstr "shenuar si ne progres"
+
+#~ msgid "marked as investigating"
+#~ msgstr "shenuar si i shqyrtuar"
+
+#~ msgid "marked as no further action"
+#~ msgstr "Etiketuar si e pamundur për ta rregulluar"
-#~ msgid "Reports from users with high enough reputation will be sent immediately without requiring inspection. Each category's threshold can be managed on its edit page. Users earn reputation when a report they have made is marked as inspected by inspectors."
-#~ msgstr "Raportet nga përdoruesit me reputacion të lartë dhe të mjaftueshëm do të dërgohen menjëherë pa kërkuar inspektimin e mëtutjeshëm. Pragu i çdo kategorie mund të menaxhohet në faqen e saj të redaktimit. Përdoruesit fitojnë reputacion kur një raport që kanë bërë është shënuar si i kontrolluar nga inspektorët."
+#~ msgid "marked as planned"
+#~ msgstr "shenuar si i planifikuar"
-#~ msgid "Reputation:"
-#~ msgstr "Reputacioni:"
+#~ msgid "or"
+#~ msgstr "ose"
-#~ msgid "Cancel"
-#~ msgstr "Anulo"
+#~ msgid "reopened"
+#~ msgstr "rihapur"
diff --git a/locale/sr.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/sr.UTF-8/LC_MESSAGES/FixMyStreet.po
new file mode 100644
index 000000000..5b0c1f08b
--- /dev/null
+++ b/locale/sr.UTF-8/LC_MESSAGES/FixMyStreet.po
@@ -0,0 +1,5211 @@
+# FixMyStreet original .po file, autogenerated by gettext-extract.
+# Copyright (C) 2011 UK Citizens Online Democracy
+# This file is distributed under the same license as the main FixMyStreet code.
+# Matthew Somerville <matthew@mysociety.org>, 2011-06-03.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: 1.0\n"
+"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
+"POT-Creation-Date: 2017-09-13 15:40+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: mySociety <transifex@mysociety.org>, 2017\n"
+"Language-Team: Serbian (https://www.transifex.com/mysociety/teams/12067/sr/)\n"
+"Language: sr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:632
+#: perllib/FixMyStreet/Script/Reports.pm:197
+msgid " and "
+msgstr "i"
+
+#: templates/web/base/report/new/category_extras.html:13
+#: templates/web/base/report/new/councils_text_all.html:4
+#: templates/web/base/report/new/top_message_none.html:12
+#: templates/web/base/report/new/top_message_none.html:15
+#: templates/web/base/report/new/top_message_some.html:12
+#: templates/web/base/report/new/top_message_some.html:9
+msgid " or "
+msgstr "ili"
+
+#: templates/web/base/admin/edit-league.html:12
+msgid "%d edits by %s"
+msgstr "%d izmenio %s"
+
+#: templates/web/base/pagination.html:7
+msgid "%d to %d of %d"
+msgstr "%d do %d %d"
+
+#: templates/web/base/reports/body.html:0
+#: templates/web/base/reports/body.html:24
+msgid "%s - Summary reports"
+msgstr "%s – Kratki izveštaji"
+
+#. ("%s here is the site name")
+#: templates/web/base/admin/navigation.html:3
+msgid "%s admin:"
+msgstr "%s administrator:"
+
+#: templates/web/base/status/stats.html:26
+msgid "%s bodies"
+msgstr "%s opština"
+
+#: templates/web/base/status/stats.html:24
+msgid "%s confirmed alerts, %s unconfirmed"
+msgstr "%s potvrđenih obaveštenja, %s nepotvrđenih"
+
+#: templates/web/base/status/stats.html:27
+#: templates/web/zurich/admin/index.html:6
+msgid "%s council contacts &ndash; %s confirmed, %s unconfirmed"
+msgstr "%s kontakti skupštine &ndash; %s potvrđeni, %s nepotvrđeni"
+
+#. ("%s is the site name")
+#: templates/web/base/alert/index.html:7
+msgid ""
+"%s has a variety of RSS feeds and email alerts for local\n"
+"problems, including alerts for all problems within a particular ward, or all\n"
+"problems within a certain distance of a particular location."
+msgstr ""
+"%s ima niz razliÄitih RSS vesti i e-mejl obaveÅ¡tenja o lokalnim\n"
+"problemima, ukljuÄujući obaveÅ¡tenja u vezi sa svim problemima u odreÄ‘enom naselju ili \n"
+"problemima na određenoj udaljenosti od konkretne lokacije."
+
+#. ("%s is the site name")
+#: templates/web/base/alert/index.html:11
+msgid ""
+"%s has a variety of RSS feeds and email alerts for local problems, including\n"
+"alerts for all problems within a particular ward or council, or all problems\n"
+"within a certain distance of a particular location."
+msgstr ""
+"%s ima niz razliÄitih RSS vesti i e-mejl obaveÅ¡tenja o lokalnim\n"
+"problemima, ukljuÄujući obaveÅ¡tenja u vezi sa svim problemima u odreÄ‘enom naselju ili problemima\n"
+"na određenoj udaljenosti od konkretne lokacije."
+
+#: templates/web/base/status/stats.html:23
+msgid "%s live updates"
+msgstr "%s ažuriranja uživo"
+
+#: templates/web/base/status/stats.html:25
+msgid "%s questionnaires sent &ndash; %s answered (%s%%)"
+msgstr "%s upitnici poslati &ndash; %s odgovoreni (%s%%)"
+
+#: templates/web/base/report/_council_sent_info.html:8
+msgid "%s ref:&nbsp;%s"
+msgstr "%s ref:&nbsp;%s"
+
+#: perllib/FixMyStreet/Map/OSM.pm:38
+msgid "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"
+msgstr ""
+"&copy; <a href=\"http://www.openstreetmap.org/copyright\">\n"
+"OpenStreetMap</a> davaoci doprinosa"
+
+#: templates/web/zurich/report/new/fill_in_details_form.html:21
+msgid "(Defect &amp; location of defect)"
+msgstr "(Defect &amp; lokacija defekta)"
+
+#: templates/web/base/admin/report_blocks.html:18
+#: templates/web/base/admin/users.html:32
+msgid "(Email in abuse table)"
+msgstr "(Emejl u tabeli zloupotreba)"
+
+#: templates/web/zurich/admin/report_edit-sdm.html:62
+#: templates/web/zurich/admin/report_edit.html:90
+msgid "(No name)"
+msgstr "(Bez imena)"
+
+#: templates/web/zurich/admin/report_edit-sdm.html:69
+#: templates/web/zurich/admin/report_edit.html:97
+msgid "(No phone number)"
+msgstr "(Bez broja telefona)"
+
+#: templates/web/base/admin/states/index.html:95
+msgid "(a-z and space only)"
+msgstr ""
+
+#: templates/web/zurich/report/_item.html:19
+msgid "(closed)"
+msgstr "(zatvoreno)"
+
+#: templates/web/base/alert/_list.html:30
+#, fuzzy
+msgid "(covers roughly 200,000 people)"
+msgstr "(predodređena udaljenost koja pokriva približno 200,000 ljudi)"
+
+#: templates/web/zurich/report/_item.html:17
+msgid "(fixed)"
+msgstr "(sređeno)"
+
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "(ignored if type is \"String\")"
+msgstr ""
+
+#: templates/web/base/around/intro.html:2
+msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
+msgstr "(kao Å¡to su grafiti, slomljene ploÄe ili uliÄna rasveta)"
+
+#: templates/web/base/reports/index.html:69
+msgid "(no longer exists)"
+msgstr ""
+
+#: templates/web/base/report/_item.html:70
+msgid "(not sent to council)"
+msgstr "(nije poslato skupštini)"
+
+#: templates/web/zurich/report/new/fill_in_details_form.html:59
+msgid "(optional)"
+msgstr "(opcionalno)"
+
+#: templates/web/base/report/_item.html:69
+msgid "(sent to both)"
+msgstr "(poslato oboma)"
+
+#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
+#: templates/web/base/alert/_list.html:36
+#, fuzzy
+msgid "(we also have RSS feeds for problems within %s)"
+msgstr "RSS vesti %s, u okviru %s "
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:245
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:381
+msgid "-- Pick a category --"
+msgstr "-- Izaberi kategoriju --"
+
+#: templates/web/base/admin/response_templates_select.html:3
+msgid "--Choose a template--"
+msgstr "--Izaberi šablon--"
+
+#: templates/web/base/report/new/form_report.html:23
+msgid "10 inch pothole on Example St, near post box"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:153
+msgid "14-30 days old"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:152
+msgid "7-14 days old"
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:50
+#: templates/web/base/admin/body-form.html:51
+msgid ""
+"<code>MAPIT_URL</code> is set (<code>%s</code>) but no <code>MAPIT_TYPES</code>.<br>\n"
+" This is probably why \"area covered\" is empty (below).<br>\n"
+" Maybe add some <code>MAPIT_TYPES</code> to your config file?"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:15
+msgid "<h2>Reports, Statistics and Actions for</h2> <h1>%s</h1>"
+msgstr ""
+
+#. ("The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories")
+#: templates/web/base/reports/_list-filters.html:48
+#, fuzzy
+msgid "<label for=\"statuses\">Show</label> %s reports <label for=\"filter_categories\">about</label> %s"
+msgstr "<label for=\"statuses\">prikaži</label> %s <label for=\"filter_categories\">o</label> %s"
+
+#: templates/web/base/js/translation_strings.html:74
+msgid "<span>%s</span> saved."
+msgstr ""
+
+#: templates/web/base/status/stats.html:18
+#: templates/web/zurich/admin/index.html:4
+msgid "<strong>%s</strong> live problems"
+msgstr "<label for=\"statuses\">prikaži</label> %s <label for=\"filter_categories\">o</label> %s"
+
+#: templates/web/base/report/new/form_user_loggedout_by_email.html:2
+msgid "<strong>No</strong> Let me confirm my report by email"
+msgstr "<strong>Ne</strong> Dozvolite mi da svoj izveštaj potvrdim e-mejlom"
+
+#: templates/web/base/report/update/form_user_loggedout_by_email.html:2
+msgid "<strong>No</strong> Let me confirm my update by email"
+msgstr "<strong>ne</strong> Dozvolite da mi da ažuriranje potvrdim e-mejlom"
+
+#: templates/web/base/auth/general.html:106
+#: templates/web/zurich/auth/general.html:51
+msgid "<strong>No</strong> let me sign in by email"
+msgstr "<strong>Ne</strong> dozvolite mi da se prikljuÄim e-mejlom"
+
+#: templates/web/base/report/_inspect.html:170
+msgid "<strong>Note:</strong> This report has been sent onwards for action. Any changes made won't be passed on."
+msgstr "<strong>Napomena:</strong> Ovaj izveštaj prosleđen je dalje za dalje radnje . Svaka dalja promena neće biti prosleđena."
+
+#: templates/web/base/report/_inspect.html:172
+msgid "<strong>Note:</strong> This report hasn't yet been sent onwards for action. Any changes made may not be passed on."
+msgstr "<strong>Napomena:</strong> Ovaj izveÅ¡taj joÅ¡ uvek nije podnet dalje za dalje radnje. Svaka naÄinjena promena ne može biti prosleÄ‘ena."
+
+#: templates/web/base/auth/general.html:82
+#: templates/web/base/report/new/form_user_loggedout_password.html:3
+#: templates/web/base/report/update/form_user_loggedout_password.html:2
+msgid "<strong>Yes</strong> I have a password"
+msgstr "<strong>Da</strong> Imam lozinku"
+
+#: templates/web/base/admin/body-form.html:3
+#: templates/web/base/admin/body-form.html:4
+msgid ""
+"Add a <strong>body</strong> for each administrative body, such as a council or department\n"
+" to which problem reports can be sent. You can add one or more contacts (for different\n"
+" categories of problem) to each body."
+msgstr ""
+"Dodaj a <strong>opštinu</strong> za svaki administrativni organ, kao što je savet ili odeljenje\n"
+"kome se mogu poslati prijave o problemu. Možete dodati jedan ili viÅ¡e kontakata (za razliÄite kategorije\n"
+"problema) za svaki organ."
+
+#: templates/web/base/admin/body.html:60
+msgid "Add a contact using the form below."
+msgstr "Dodaj kontakt korišćenjem obrasca ispod."
+
+#: templates/web/base/admin/bodies.html:78
+#: templates/web/base/admin/body-form.html:140
+#: templates/web/zurich/admin/body-form.html:52
+msgid "Add body"
+msgstr "Dodaj opštinu"
+
+#: templates/web/base/admin/reportextrafields/index.html:24
+msgid "Add extra fields"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:79
+msgid "Add field"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:85
+msgid "Add fixed state"
+msgstr ""
+
+#: templates/web/base/admin/body.html:126
+#: templates/web/zurich/admin/body.html:31
+msgid "Add new category"
+msgstr "Dodaj novu kategoriju"
+
+#: templates/web/base/admin/extra-metadata-form.html:72
+#, fuzzy
+msgid "Add option"
+msgstr "(opcionalno)"
+
+#: templates/web/base/report/_item.html:10
+#: templates/web/base/report/_item.html:16
+#: templates/web/base/report/_main.html:140
+#: templates/web/base/report/_main.html:19
+#: templates/web/base/report/_main.html:30
+msgid "Add to shortlist"
+msgstr "Dodaj u uži krug"
+
+#: templates/web/base/admin/user_edit.html:4
+#: templates/web/base/admin/users.html:48
+#: templates/web/base/admin/users.html:51
+msgid "Add user"
+msgstr "Dodaj korisnika"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:735
+msgid "Add/edit problem categories"
+msgstr "Dodaj/izmeni problemske kategorije"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:737
+msgid "Add/edit response priorities"
+msgstr "Dodaj/izmeni prioritete odgovora"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:736
+msgid "Add/edit response templates"
+msgstr "Dodaj/izmeni šablone odgovora"
+
+#: templates/web/base/my/my.html:67
+msgid "Added %s"
+msgstr "Dodato %s"
+
+#: templates/web/base/report/_main.html:149
+msgid "Adding this report to your shortlist will remove it from %s’s shortlist."
+msgstr "Dodavanjem ove prijave u vaš uži krug uklonićete ga iz užeg kruga %s."
+
+#: templates/web/base/main_nav_items.html:47
+msgid "Admin"
+msgstr ""
+
+#: templates/web/base/auth/change_password.html:39
+msgid "Again:"
+msgstr "Još jednom:"
+
+#: templates/web/base/admin/timeline.html:35
+msgid "Alert %d created for %s, type %s, parameters %s / %s"
+msgstr "Obaveštenje %d stvoreno zar %s, tip %s, parametri %s / %s"
+
+#: templates/web/base/admin/timeline.html:37
+msgid "Alert %d disabled (created %s)"
+msgstr "Obaveštenje %d deaktivirano (kreirano %s)"
+
+#: templates/web/base/report/update/form_name.html:42
+msgid "Alert me to future updates"
+msgstr "Upozori me na buduće ažurirane informacije"
+
+#: templates/web/base/dashboard/index.html:138
+#: templates/web/base/dashboard/index.html:21
+#: templates/web/base/dashboard/index.html:30
+#: templates/web/base/reports/_list-filters.html:3
+msgid "All"
+msgstr ""
+
+#: templates/web/zurich/reports/index.html:13
+msgid "All Reports"
+msgstr "Sve prijave"
+
+#: templates/web/zurich/admin/stats.html:5
+msgid "All Reports as CSV"
+msgstr "Sve prijave kao CSV"
+
+#: templates/web/base/admin/category-multiselect.html:5
+#: templates/web/base/admin/responsepriorities/list.html:20
+msgid "All categories"
+msgstr "Sve kategorije"
+
+#: templates/web/base/admin/reportextrafields/edit.html:26
+#, fuzzy
+msgid "All cobrands"
+msgstr "Sve kategorije"
+
+#: templates/web/base/admin/reportextrafields/edit.html:47
+msgid "All languages"
+msgstr ""
+
+#: templates/web/base/main_nav_items.html:0
+#: templates/web/base/main_nav_items.html:27
+#: templates/web/zurich/admin/index-dm.html:12
+#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:20
+#: templates/web/zurich/nav_over_content.html:6
+msgid "All reports"
+msgstr "Sve prijave"
+
+#: templates/web/base/admin/stats.html:5
+#: templates/web/zurich/admin/stats.html:8
+msgid "All reports between %s and %s"
+msgstr "Sve prijave između %s i %s"
+
+#: templates/web/base/reports/index.html:23
+msgid "All time"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:20
+msgid "Alternatively, we can hide your name on <strong>all of your reports and updates</strong> across the site:"
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:47
+msgid "An update marked this problem as fixed."
+msgstr "Ažuriranjem je ovaj problem obeležen kao rešen."
+
+#: templates/web/base/admin/list_updates.html:32
+#: templates/web/base/admin/problem_row.html:20
+msgid "Anonymous"
+msgstr "Anoniman"
+
+#: templates/web/base/report/new/form_user_loggedin.html:21
+#: templates/web/base/report/update/form_name.html:17
+#, fuzzy
+msgid "Anonymous user"
+msgstr "Anoniman"
+
+#: templates/web/base/admin/report_edit.html:122
+#: templates/web/base/admin/update_edit.html:23
+msgid "Anonymous:"
+msgstr "Anoniman"
+
+#: templates/web/base/report/new/form_user_loggedin.html:24
+#: templates/web/base/report/update/form_name.html:14
+msgid "Another user"
+msgstr "Drugi korisnik"
+
+#: templates/web/base/js/translation_strings.html:59
+msgid "Are you sure you want to cancel this upload?"
+msgstr "Da li si siguran da želiš da otkažeš ovo otpremanje?"
+
+#: templates/web/base/admin/report_edit.html:84
+#: templates/web/base/js/translation_strings.html:69
+#: templates/web/base/report/display_tools.html:6
+msgid "Are you sure?"
+msgstr "Da li si siguran?"
+
+#: templates/web/base/admin/body-form.html:77
+#: templates/web/base/admin/body.html:20
+#: templates/web/zurich/admin/body-form.html:24
+msgid "Area covered"
+msgstr "Pokriveno podruÄje"
+
+#: templates/web/base/admin/user-form.html:64
+msgid "Area:"
+msgstr "PodruÄje:"
+
+#: templates/web/base/admin/bodies.html:19
+#: templates/web/base/admin/body.html:64
+msgid "As this is a staging site and %s is false, reports made on this site will be sent to the problem reporter, not the contact given for the report’s category."
+msgstr "PoÅ¡to je ovo probna strana i %s poÅ¡to je lažna, prijave naÄinjene na ovoj strani biće poslate generatoru prijave, a ne kontaktu navedenom za kategoriju prijava."
+
+#: templates/web/zurich/admin/report_edit.html:209
+msgid "Assign to competent body:"
+msgstr "Dodeli nadležnoj direkciji:"
+
+#: templates/web/zurich/admin/report_edit.html:169
+#: templates/web/zurich/admin/stats.html:36
+msgid "Assign to different category:"
+msgstr "Dodeli razliÄitim kategorijama:"
+
+#: templates/web/zurich/admin/report_edit.html:207
+msgid "Assign to external body:"
+msgstr "Dodeli spoljnoj direkciji:"
+
+#: templates/web/zurich/admin/report_edit.html:186
+msgid "Assign to subdivision:"
+msgstr "Dodeli korisnicima po podruÄjima:"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:732
+msgid "Assign users to areas"
+msgstr "Dodeljeno %s"
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:219
+msgid "Assigned to %s"
+msgstr "Dodeljeno %s"
+
+#: templates/web/base/open311/index.html:76
+msgid "At most %d requests are returned in each query. The returned requests are ordered by requested_datetime, so to get all requests, do several searches with rolling start_date and end_date."
+msgstr "U većini sluÄajeva %d za svako pitanje se vraćaju zahtevi. Vraćeni zahtevi reÄ‘aju se po requested_datetime, kako bi se dobili svi zahtevi, odradilo nekoliko pretraga po tekućem start_date i end_date."
+
+#: templates/web/base/open311/index.html:68
+msgid "At the moment only searching for and looking at reports work."
+msgstr "U ovom trenutku funkcioniše samo pretraga i pregled prijava."
+
+#: templates/web/base/admin/user-form.html:78
+#: templates/web/base/admin/user-form.html:79
+msgid "Authorised staff users can be associated with the categories in which they operate."
+msgstr "Ovlašćeni Älanovi osoblja mogu se povezivati sa kategorijama na kojima rade."
+
+#: templates/web/base/admin/template_edit.html:22
+msgid "Auto-response:"
+msgstr "Automatski odgovor:"
+
+#: templates/web/base/admin/report-category.html:8
+msgid "Available categories"
+msgstr "Dostupne kategorije"
+
+#: templates/web/base/reports/index.html:84
+msgid "Average time between a problem being reported and being fixed, last 100 reports."
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:109
+msgid "Average time to council marking fixed (days)"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:117
+msgid "Average time to first council state change (days)"
+msgstr ""
+
+#: templates/web/base/report/new/after_photo.html:6
+msgid "Avoid personal information and vehicle number plates"
+msgstr "Izbegavajte liÄne informacije i registarske tablice vozila "
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:344
+#: templates/web/zurich/report/_item.html:9
+msgid "Awaiting moderation"
+msgstr "Čekajući moderaciju"
+
+#: templates/web/base/js/translation_strings.html:31
+msgid "Back"
+msgstr "Nazad"
+
+#: templates/web/base/report/_main.html:6
+msgid "Back to all reports"
+msgstr "Nazad na sve prijave"
+
+#: templates/web/base/admin/report_blocks.html:18
+msgid "Ban email address"
+msgstr "Blokiraj e-mejl adresu"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:650
+#: perllib/FixMyStreet/Cobrand/Default.pm:734
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:396
+#: templates/web/base/admin/bodies.html:1
+#: templates/web/base/admin/report_edit.html:55
+#: templates/web/zurich/header.html:56
+msgid "Bodies"
+msgstr "Direkcije"
+
+#: templates/web/base/admin/flagged.html:17
+#: templates/web/base/admin/index.html:63
+#: templates/web/base/admin/reports.html:15
+#: templates/web/base/admin/users.html:18
+msgid "Body"
+msgstr "Direkcija"
+
+#: templates/web/base/admin/user-form.html:36
+msgid "Body:"
+msgstr "Direkcija"
+
+#: templates/web/base/admin/stats.html:87
+msgid "By Date"
+msgstr "Po datumu"
+
+#: templates/web/base/admin/extra-metadata-form.html:36
+msgid "Can be used to display extra text to the user alongside the field. The default template does not show this (<code>meta.datatype_description</code>), you must add it in <code>category_extras_fields.html</code>"
+msgstr ""
+
+#: templates/web/base/auth/token.html:27 templates/web/base/email_sent.html:20
+msgid "Can&rsquo;t find our email? Check your spam folder&nbsp;&ndash; that&rsquo;s the solution 99% of the time."
+msgstr "Can&rsquo;t Ne možete da nađete naš e-mejl? Proverite vaš spam folder&nbsp;&ndash; that&rsquo;s ovo je rešenje u 99% puta."
+
+#: templates/web/base/around/_report_banner.html:5
+msgid "Can't see the map? <em>Skip this step</em>"
+msgstr "Ne vidite mapu? <em>PreskoÄite ovaj korak</em>"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:650
+#: templates/web/base/admin/responsepriorities/list.html:8
+msgid "Categories"
+msgstr "Kategorije"
+
+#: templates/web/base/admin/category-checkboxes.html:2
+#: templates/web/base/admin/category-multiselect.html:2
+msgid "Categories:"
+msgstr "Kategorija"
+
+#: templates/web/base/admin/body.html:72
+#: templates/web/base/admin/contact-form.html:19
+#: templates/web/base/admin/stats_fix_rate.html:4
+#: templates/web/base/report/_inspect.html:48
+#: templates/web/base/report/_item.html:92
+#: templates/web/base/report/new/category.html:6
+#: templates/web/base/report/new/category_wrapper.html:3
+#: templates/web/zurich/admin/body.html:14
+#: templates/web/zurich/admin/index-dm.html:23
+#: templates/web/zurich/admin/index-sdm.html:21
+#: templates/web/zurich/admin/reports.html:13
+#: templates/web/zurich/admin/stats.html:50
+msgid "Category"
+msgstr "Kategorija je promenjena sa ‘%s’ na ‘%s’"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:956
+msgid "Category changed from ‘%s’ to ‘%s’"
+msgstr "Norma rešavanja problema stari > od 4 nedelje "
+
+#: templates/web/base/admin/stats.html:58
+#: templates/web/base/admin/stats_fix_rate.html:1
+msgid "Category fix rate for problems > 4 weeks old"
+msgstr "Norma rešavanja problema stari > od 4 nedelje "
+
+#: templates/web/base/admin/report_edit.html:119
+#: templates/web/base/dashboard/index.html:29
+#: templates/web/zurich/admin/body.html:43
+#: templates/web/zurich/admin/contact-form.html:2
+#: templates/web/zurich/admin/report_edit-sdm.html:72
+#: templates/web/zurich/admin/report_edit.html:100
+msgid "Category:"
+msgstr "Kategorija:"
+
+#: perllib/FixMyStreet/Script/Reports.pm:188
+msgid "Category: %s"
+msgstr "Kategorija: %s"
+
+#: templates/web/base/my/my.html:24
+msgid "Change email"
+msgstr "Promeni e-mejl"
+
+#: templates/web/base/auth/change_email.html:1
+#: templates/web/base/auth/change_email.html:3
+#: templates/web/base/auth/change_email.html:30
+msgid "Change email address"
+msgstr "Promeni e-mejl adresu"
+
+#: templates/web/base/auth/change_password.html:1
+#: templates/web/base/auth/change_password.html:16
+#: templates/web/base/auth/change_password.html:4
+#: templates/web/base/auth/change_password.html:43
+#: templates/web/base/my/my.html:23
+msgid "Change password"
+msgstr "Promeni lozinku"
+
+#: templates/web/base/admin/contact-form.html:80
+msgid "Check <strong>inspection required</strong> if reports in this category <strong>must be inspected</strong> before being sent."
+msgstr "Proveri <strong>inspection required</strong> ukoliko se izveštaji u ovoj kategoriji <strong>moraju proveriti</strong> pre nego što se pošalju."
+
+#: templates/web/base/admin/contact-form.html:64
+msgid ""
+"Check <strong>private</strong> if reports in this category should <strong>never be displayed on the website</strong>.\n"
+" <br>\n"
+" Normally, categories are not private.\n"
+" <br>\n"
+" This is suitable for issues that you want to allow users to report to the body, but for which there is no public\n"
+" interest in displaying the report. In the UK, we've used this for services like requesting an extra rubbish bin\n"
+" at a specific address."
+msgstr ""
+"OznaÄi <strong>private</strong> ukoliko izveÅ¡taji u ovoj kategoriji ne treba <strong>nikada da se prikažu na internet stranici</strong>.\n"
+"<br>\n"
+"UobiÄajeno, kategorije nisu privatne.\n"
+"<br>\n"
+"Sve je ovo odgovarajuće kada se radi o pitanjima koja želite da dozvolite korisnicima da ih prijave direkcijama, ali za Äije prikazivanje ne postoji nikakav javni\n"
+"interes. U UK smo ovo koristili za usluge kao što je zahtevanje dodatnog kontejnera za smeće\n"
+"na konkretnoj adresi."
+
+#: templates/web/base/admin/contact-form.html:11
+msgid ""
+"Choose a <strong>category</strong> name that makes sense to the public (e.g., \"Pothole\", \"Street lighting\") but is helpful\n"
+" to the body too. These will appear in the drop-down menu on the report-a-problem page."
+msgstr ""
+"Odaberi <strong>category</strong> naziv koji ima smisla za javnost (npr. \"rupa\", \"javna rasveta\") koji istovremeno pomaže\n"
+"i ovoj direkciji. Isti će se pojavljivati u opadajućem meniju na strani Prijavi problem."
+
+#: templates/web/base/report/_inspect.html:103
+msgid "Choose another"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:68
+msgid "Clear offline data"
+msgstr ""
+
+#: templates/web/base/admin/stats.html:72
+#: templates/web/base/admin/stats.html:78
+msgid "Click here or enter as dd/mm/yyyy"
+msgstr "Klikni ovde ili unesi u formatu dd/mm/gggg"
+
+#: templates/web/base/around/_report_banner.html:2
+msgid "Click map to report a problem"
+msgstr "Klikni na mapu da prijaviš problem"
+
+#: templates/web/base/email_sent.html:13
+msgid "Click the link in our confirmation email to activate your alert."
+msgstr "Klikni na link iz našeg e-mejla potvrde da aktiviraš obaveštenja ."
+
+#: templates/web/base/email_sent.html:9
+msgid "Click the link in our confirmation email to publish your problem."
+msgstr "Klikni na link iz našeg e-mejla potvrde da objaviš svoj problem."
+
+#: templates/web/base/email_sent.html:11
+msgid "Click the link in our confirmation email to publish your update."
+msgstr "Klikni na link iz našeg e-mejla potvrde da objaviš svoje najnovije informacije."
+
+#: templates/web/base/auth/token.html:23
+msgid "Click the link in our confirmation email to sign in."
+msgstr "Klikni na link iz našeg e-mejla potvrde da se upišeš u sistem."
+
+#: templates/web/base/auth/token.html:20
+#, fuzzy
+msgid "Click the link in that email to sign in."
+msgstr "Klikni na link iz našeg e-mejla potvrde da se upišeš u sistem."
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:134
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:194
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:965
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:11
+#: templates/web/base/admin/states/index.html:103
+#: templates/web/base/admin/states/index.html:27
+#: templates/web/base/admin/states/index.html:33
+#: templates/web/zurich/admin/header.html:1
+#: templates/web/zurich/admin/header.html:10
+#: templates/web/zurich/admin/header.html:16
+#: templates/web/zurich/admin/stats.html:31
+msgid "Closed"
+msgstr "Zatvoren"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:826
+msgid "Closed by council"
+msgstr "ZakljuÄila skupÅ¡tina"
+
+#: templates/web/base/admin/report_edit.html:37
+msgid "Co-ordinates:"
+msgstr "Koordinate:"
+
+#: templates/web/base/admin/list_updates.html:10
+#: templates/web/base/admin/reportextrafields/edit.html:24
+#: templates/web/base/admin/reportextrafields/index.html:7
+msgid "Cobrand"
+msgstr ""
+
+#: templates/web/base/admin/report_edit.html:92
+#: templates/web/base/admin/update_edit.html:52
+msgid "Cobrand data:"
+msgstr ""
+
+#: templates/web/base/admin/report_edit.html:91
+#: templates/web/base/admin/update_edit.html:51
+msgid "Cobrand:"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:14
+msgid "Code"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:50
+msgid "Collapse map"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:646
+#: templates/web/base/admin/config_page.html:1
+msgid "Configuration"
+msgstr "Konfiguracija"
+
+#: templates/web/base/admin/body.html:77
+msgid "Confirm"
+msgstr "Potvrdi"
+
+#: templates/web/base/auth/token.html:1
+msgid "Confirm account"
+msgstr "Potvrdi raÄun"
+
+#: templates/web/base/report/new/form_user_loggedout_password.html:21
+#: templates/web/base/report/update/form_user_loggedout_password.html:20
+msgid "Confirm by email instead, providing a new password at that point. When you confirm, your password will be updated."
+msgstr "Potvrdi e-mejlom, pružajući novu lozinku u toj fazi. Nakon potvrde, ažuriraće se vaša lozinka."
+
+#: templates/web/base/questionnaire/creator_fixed.html:1
+#: templates/web/base/tokens/confirm_problem.html:1
+#: templates/web/base/tokens/confirm_update.html:1
+#: templates/web/zurich/tokens/confirm_problem.html:1
+#: templates/web/zurich/tokens/confirm_problem.html:3
+msgid "Confirmation"
+msgstr "Potvrda"
+
+#: templates/web/base/admin/contact-form.html:56
+#: templates/web/zurich/admin/contact-form.html:12
+#: templates/web/zurich/admin/stats.html:40
+msgid "Confirmed"
+msgstr "Potvrđeno"
+
+#: templates/web/base/admin/stats.html:5
+msgid "Confirmed reports between %s and %s"
+msgstr "Potvrđene prijave između %s i %s"
+
+#: templates/web/base/admin/list_updates.html:39
+#: templates/web/base/admin/problem_row.html:36
+#: templates/web/base/admin/report_edit.html:78
+msgid "Confirmed:"
+msgstr "Potvrđeno:"
+
+#. ("%s is the site name")
+#: templates/web/base/about/_sidebar.html:6
+msgid "Contact %s"
+msgstr "Kontakt %s"
+
+#: templates/web/base/contact/index.html:1
+#: templates/web/base/contact/index.html:2
+#: templates/web/base/contact/submit.html:1
+msgid "Contact Us"
+msgstr "Kontaktirajte nas"
+
+#: templates/web/base/contact/index.html:12
+msgid "Contact the team"
+msgstr "Kontaktiraj tim"
+
+#: templates/web/zurich/admin/report_edit-sdm.html:42
+#: templates/web/zurich/admin/report_edit.html:61
+msgid "Coordinates:"
+msgstr "Koordinate:"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1773
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1801
+msgid "Could not find user"
+msgstr "Korisnik se ne može naći"
+
+#: templates/web/base/js/translation_strings.html:36
+msgid "Could not look up location"
+msgstr "Lokacija se ne može pretražiti"
+
+#: templates/web/base/admin/list_updates.html:9
+msgid "Council"
+msgstr "Skupština"
+
+#: templates/web/base/admin/body.html:1
+#: templates/web/base/admin/category_edit.html:1
+#: templates/web/zurich/admin/body.html:1
+msgid "Council contacts for %s"
+msgstr "Kontakti skupštine za %s"
+
+#: templates/web/base/dashboard/index.html:78
+#: templates/web/base/dashboard/index.html:83
+msgid "Council has marked as closed"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:54
+#: templates/web/base/dashboard/index.html:57
+msgid "Council has marked as fixed"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:78
+#: templates/web/base/dashboard/index.html:80
+msgid "Council has marked as in progress"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:78
+#: templates/web/base/dashboard/index.html:82
+msgid "Council has marked as investigating"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:78
+#: templates/web/base/dashboard/index.html:81
+msgid "Council has marked as planned"
+msgstr ""
+
+#: templates/web/base/report/_council_sent_info.html:6
+msgid "Council ref:&nbsp;%s"
+msgstr "skupštine ref:&nbsp;%s"
+
+#: templates/web/base/admin/stats.html:92
+msgid "Council:"
+msgstr "Skupština:"
+
+#: templates/web/base/admin/stats.html:12
+#: templates/web/base/admin/stats.html:32
+#: templates/web/zurich/admin/stats.html:45
+#: templates/web/zurich/admin/stats.html:50
+msgid "Count"
+msgstr "Prebroji"
+
+#: templates/web/base/admin/states/index.html:114
+#, fuzzy
+msgid "Create"
+msgstr "Kreiran"
+
+#: templates/web/base/email_sent.html:1
+msgid "Create a report"
+msgstr "Kreiraj izveštaj"
+
+#: templates/web/base/admin/contact-form.html:138
+#: templates/web/zurich/admin/body.html:62
+msgid "Create category"
+msgstr "Kreiraj kategoriju"
+
+#: templates/web/base/admin/responsepriorities/edit.html:58
+msgid "Create priority"
+msgstr "Kreiraj prioritet"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:718
+#, fuzzy
+msgid "Create reports/updates as anonymous user"
+msgstr "Kreiraj izveštaje/najnovije informacije u ime korisnika"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:719
+msgid "Create reports/updates as the council"
+msgstr "Kreiraj izveštaje/ažurirane informacije za skupštinu opštine"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:717
+msgid "Create reports/updates on a user's behalf"
+msgstr "Kreiraj izveštaje/najnovije informacije u ime korisnika"
+
+#: templates/web/base/admin/template_edit.html:46
+#: templates/web/zurich/admin/template_edit.html:29
+msgid "Create template"
+msgstr "Kreiraj šablon"
+
+#: templates/web/base/admin/problem_row.html:34
+#: templates/web/base/admin/templates.html:12
+msgid "Created"
+msgstr "Kreiran"
+
+#: templates/web/base/admin/list_updates.html:38
+#: templates/web/base/admin/report_edit.html:77
+#: templates/web/base/admin/update_edit.html:53
+#: templates/web/zurich/admin/update_edit.html:29
+msgid "Created:"
+msgstr "Kreiran:"
+
+#: templates/web/base/admin/stats.html:31
+msgid "Current state"
+msgstr "Aktuelna situacija"
+
+#: templates/web/base/admin/bodies.html:9
+#: templates/web/base/admin/index.html:17
+msgid "Currently no bodies have been created."
+msgstr "Trenutno nije kreirano nikakvo telo."
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:830
+#: templates/web/zurich/admin/report_edit-sdm.html:105
+msgid "Customer not contactable"
+msgstr "Klijent nedostupan"
+
+#: templates/web/base/dashboard/index.html:5
+#: templates/web/base/dashboard/index.html:7
+#: templates/web/base/reports/index.html:15
+#: templates/web/base/reports/index.html:18
+msgid "Dashboard"
+msgstr "Panel"
+
+#: templates/web/zurich/admin/stats.html:35
+msgid "Dealt with by subdivision within 5 working days"
+msgstr "Rešiti na nivou pod-odseka u roku od 5 radnih dana"
+
+#: templates/web/base/admin/responsepriorities/list.html:9
+msgid "Default"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:39
+#, fuzzy
+msgid "Default priority"
+msgstr "Kreiraj prioritet"
+
+#: templates/web/base/report/_inspect.html:72
+msgid "Defect type"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1078
+#: templates/web/base/admin/template_edit.html:50
+#: templates/web/zurich/admin/template_edit.html:33
+msgid "Delete template"
+msgstr "Izbriši šablon"
+
+#: templates/web/base/admin/bodies.html:31
+#: templates/web/base/admin/contact-form.html:58
+#: templates/web/zurich/admin/contact-form.html:13
+msgid "Deleted"
+msgstr "Izbrisano"
+
+#: templates/web/base/report/_main.html:114
+#: templates/web/base/report/update.html:68
+msgid "Describe why you are moderating this"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:32
+#: templates/web/base/admin/responsepriorities/list.html:7
+#: templates/web/zurich/admin/index-dm.html:22
+#: templates/web/zurich/admin/index-sdm.html:20
+#: templates/web/zurich/admin/reports.html:12
+msgid "Description"
+msgstr "Opis"
+
+#: templates/web/base/admin/responsepriorities/edit.html:17
+msgid "Description:"
+msgstr "Opis:"
+
+#: templates/web/base/js/translation_strings.html:33
+#: templates/web/zurich/report/new/fill_in_details_form.html:45
+msgid "Details"
+msgstr "Pojedinosti"
+
+#: templates/web/base/admin/report_edit.html:112
+#: templates/web/zurich/admin/report_edit-sdm.html:29
+#: templates/web/zurich/admin/report_edit.html:31
+#: templates/web/zurich/admin/report_edit.html:45
+msgid "Details:"
+msgstr "Pojedinosti:"
+
+#: templates/web/base/admin/body.html:92
+msgid "Devolved"
+msgstr "PrebaÄeno"
+
+#: templates/web/zurich/admin/report_edit-sdm.html:52
+#: templates/web/zurich/admin/report_edit.html:71
+msgid "Didn't use map"
+msgstr "Nije koristio mapu"
+
+#: templates/web/base/admin/edit-league.html:8
+msgid "Diligency prize league table"
+msgstr ""
+
+#: templates/web/base/report/_main.html:118
+#: templates/web/base/report/update.html:70
+msgid "Discard changes"
+msgstr ""
+
+#: templates/web/base/admin/open311-form-fields.html:95
+msgid "Do not send email alerts on fetched comments to problem creator"
+msgstr "Nemojte slati e-mejl obaveštenja o komentarima dobijenim od podnosioca problema"
+
+#. ("%s is the site name")
+#: templates/web/base/auth/general.html:60
+#: templates/web/base/report/new/form_user_loggedout.html:25
+#: templates/web/base/report/new/oauth_email_form.html:18
+#: templates/web/base/report/update-form.html:30
+#: templates/web/base/report/update/form_user_loggedout.html:27
+msgid "Do you have a %s password?"
+msgstr "Da li imate %s lozinku?"
+
+#: templates/web/base/report/_inspect.html:87
+msgid "Do you want to automatically raise a defect?"
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:57
+msgid "Don&rsquo;t know"
+msgstr "Ne&rsquo;t znam"
+
+#: templates/web/base/contact/index.html:112
+msgid "Don't like forms?"
+msgstr "Ne dopada vam se oblik?"
+
+#: templates/web/base/report/_item.html:27
+msgid "Down one"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:58
+msgid "Drag and drop photos here or <u>click to upload</u>"
+msgstr "Prevuci i spusti fotografije ovde ili <u>klikni da uÄitaÅ¡</u>"
+
+#: templates/web/base/report/_inspect.html:98
+msgid "Duplicate of"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:108
+msgid "Duplicates"
+msgstr ""
+
+#: templates/web/base/admin/body.html:116
+msgid ""
+"Each contact for the body has a category, which is displayed to the public. \n"
+" Different categories <strong>can have the same contact</strong> (email address).\n"
+" This means you can add many categories even if you only have one contact for the body.\n"
+" "
+msgstr ""
+"Svaki kontakt za ovu opštinu ima kategoriju, koja se prikazuje javnosti.\n"
+"RazliÄite kategorije <strong>mogu imati isti kontakt</strong> (emejl adresa).\n"
+"To znaÄi da možete dodati mnoge kategorije Äak i ukoliko imate samo jedan kontakt datog tela."
+
+#: templates/web/base/report/_inspect.html:26
+#: templates/web/base/report/_item.html:83
+msgid "Easting/Northing:"
+msgstr "Kretanje ka istoku/severu:"
+
+#: templates/web/base/admin/list_updates.html:42
+#: templates/web/base/admin/problem_row.html:41
+#: templates/web/base/admin/responsepriorities/list.html:28
+#: templates/web/base/admin/templates.html:22
+#: templates/web/base/admin/users.html:34
+#: templates/web/zurich/admin/problem_row.html:48
+msgid "Edit"
+msgstr "Izmeni"
+
+#: templates/web/base/admin/body.html:141
+#: templates/web/base/admin/index.html:39
+#: templates/web/zurich/admin/body.html:69
+msgid "Edit body details"
+msgstr "Izmeni podatke o opštini"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:729
+msgid "Edit other users' details"
+msgstr "Izmeni podatke drugih korisnika"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:730
+msgid "Edit other users' permissions"
+msgstr "Izmeni ovlašćenja drugih korisnika"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:712
+msgid "Edit report category"
+msgstr "Izmeni kategoriju prijave"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:713
+msgid "Edit report priority"
+msgstr "Izmeni prioritet prijave"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:711
+msgid "Edit reports"
+msgstr "Izmeni prijave"
+
+#: templates/web/base/admin/report_edit.html:0
+#: templates/web/base/admin/report_edit.html:14
+#: templates/web/base/admin/report_edit.html:4
+#: templates/web/zurich/admin/report_edit-sdm.html:1
+#: templates/web/zurich/admin/report_edit-sdm.html:5
+#: templates/web/zurich/admin/report_edit.html:1
+#: templates/web/zurich/admin/report_edit.html:5
+msgid "Editing problem %d"
+msgstr "Izmeni problem %d"
+
+#: templates/web/base/admin/update_edit.html:1
+#: templates/web/zurich/admin/update_edit.html:1
+msgid "Editing update %d"
+msgstr "Izmena ažuriranih informacija %d"
+
+#: templates/web/base/admin/user_edit.html:2
+msgid "Editing user %d"
+msgstr "Izmeni korisnika %d"
+
+#: templates/web/base/admin/category_edit.html:30
+msgid "Editor"
+msgstr "Urednik"
+
+#: templates/web/base/admin/bodies.html:27
+#: templates/web/base/admin/category_edit.html:28
+#: templates/web/base/admin/flagged.html:38
+#: templates/web/base/admin/users.html:17
+#: templates/web/base/auth/general.html:51
+#: templates/web/zurich/admin/body-form.html:9
+#: templates/web/zurich/admin/body.html:15
+#: templates/web/zurich/auth/general.html:24
+#: templates/web/zurich/auth/general.html:54
+msgid "Email"
+msgstr "Emejl"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1749
+msgid "Email added to abuse list"
+msgstr "Emejl dodat listi zloupotreba"
+
+#: templates/web/base/admin/contact-form.html:38
+#: templates/web/base/alert/_list.html:74
+#: templates/web/base/report/new/form_user_loggedin.html:32
+#: templates/web/base/report/update/form_name.html:23
+msgid "Email address"
+msgstr "Emejl adresa"
+
+#: templates/web/base/tokens/confirm_alert.html:6
+msgid "Email alert created"
+msgstr "Kreirano E-mejl obaveštenja"
+
+#: templates/web/base/tokens/confirm_alert.html:10
+msgid "Email alert deleted"
+msgstr "Izbrisano E-mejl obaveštenje"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1746
+msgid "Email already in abuse list"
+msgstr "E-mejl već na listi zloupotreba"
+
+#: templates/web/base/admin/report_edit.html:129
+#: templates/web/base/admin/update_edit.html:35
+#: templates/web/base/admin/user-form.html:19
+#: templates/web/zurich/admin/body.html:48
+#: templates/web/zurich/admin/contact-form.html:6
+msgid "Email:"
+msgstr "Emejl:\t"
+
+#: perllib/FixMyStreet/Script/Reports.pm:112
+msgid "Email: %s"
+msgstr "Emejl: %s"
+
+#: templates/web/base/admin/open311-form-fields.html:55
+#: templates/web/base/admin/open311-form-fields.html:56
+msgid ""
+"Enable <strong>Open311 update-sending</strong> if the endpoint will send and receive\n"
+" updates to existing reports. If you're not sure, it probably does not, so leave this unchecked.\n"
+" For more information, see \n"
+" <a href='https://www.mysociety.org/2013/02/20/open311-extended/' class='admin-offsite-link'>this article</a>."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:122
+#: templates/web/base/admin/body-form.html:123
+msgid ""
+"Enable this <strong>can be devolved</strong> setting if one or more contacts have a \n"
+" different endpoint (and send method) from the body's. For example, if reports for some categories of\n"
+" problem must be emailed, while others can be sent over Open311."
+msgstr ""
+
+#: templates/web/base/admin/stats.html:77
+msgid "End Date:"
+msgstr "Datum završetka:"
+
+#: templates/web/base/admin/open311-form-fields.html:21
+msgid "Endpoint"
+msgstr "ZavrÅ¡na taÄka"
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:81
+msgid "Enter a Z&uuml;rich street name"
+msgstr "Unesi Z&uuml;rich naziv ulice"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:16
+msgid "Enter a nearby UK postcode, or street name and area"
+msgstr "Unesi naziv obližnje ulice ili oblasti"
+
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:20
+#: perllib/FixMyStreet/Cobrand/FixaMinGata.pm:21
+msgid "Enter a nearby postcode, or street name and area"
+msgstr "Unesi naziv obližnje ulice i oblasti"
+
+#: perllib/FixMyStreet/Cobrand/DansMonQwat.pm:14
+#: templates/web/base/around/postcode_form.html:5
+#: templates/web/base/around/postcode_form.html:6
+msgid "Enter a nearby street name and area"
+msgstr "Unesi naziv obližnje ulice i oblasti"
+
+#: templates/web/base/auth/general.html:118
+#: templates/web/base/report/new/form_user_loggedout_by_email.html:35
+#: templates/web/base/report/update/form_user_loggedout_by_email.html:13
+#: templates/web/zurich/auth/general.html:65
+msgid "Enter a password"
+msgstr "Unesi lozinku"
+
+#: templates/web/base/index-steps.html:6
+msgid "Enter details of the problem"
+msgstr "Opiši problem"
+
+#: templates/web/base/errors/generic.html:1
+#: templates/web/base/errors/generic.html:8
+#: templates/web/base/tokens/abuse.html:1
+#: templates/web/base/tokens/abuse.html:3
+#: templates/web/base/tokens/error.html:1
+#: templates/web/base/tokens/error.html:5
+msgid "Error"
+msgstr "Greška"
+
+#: templates/web/base/reports/_list-filters.html:31
+#: templates/web/base/reports/_list-filters.html:39
+msgid "Everything"
+msgstr "Sve"
+
+#: templates/web/base/admin/body.html:18
+#: templates/web/base/admin/category_edit.html:18
+msgid "Example postcode %s"
+msgstr "Primer poštanskog broja %s"
+
+#: templates/web/base/open311/index.html:86
+msgid "Examples:"
+msgstr "Primeri"
+
+#: templates/web/base/admin/report-category.html:3
+msgid "Existing category"
+msgstr "Postojeća kategorija"
+
+#: templates/web/base/js/translation_strings.html:49
+msgid "Expand map"
+msgstr ""
+
+#: templates/web/base/report/new/form_report.html:54
+msgid "Explain what’s wrong"
+msgstr "Objasni šta je pogrešno"
+
+#: templates/web/base/dashboard/index.html:147
+msgid "Export as CSV"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:179
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
+#: templates/web/zurich/admin/header.html:1
+#: templates/web/zurich/admin/header.html:12
+msgid "Extern"
+msgstr "Spoljni"
+
+#: templates/web/base/admin/report_edit.html:97
+#: templates/web/base/admin/responsepriorities/edit.html:27
+msgid "External ID"
+msgstr "Spoljni ID"
+
+#: templates/web/base/admin/body-form.html:89
+msgid "External URL"
+msgstr "Spoljni URL"
+
+#: templates/web/base/admin/report_edit.html:99
+msgid "External body"
+msgstr "Spoljno telo"
+
+#: templates/web/base/admin/report_edit.html:101
+msgid "External team"
+msgstr "Spoljni tim"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:673
+#: templates/web/base/admin/reportextrafields/edit.html:1
+#: templates/web/base/admin/reportextrafields/index.html:1
+#, fuzzy
+msgid "Extra Fields"
+msgstr "Dodatni podaci"
+
+#: templates/web/base/admin/contact-form.html:141
+#: templates/web/base/admin/report_edit.html:94
+msgid "Extra data:"
+msgstr "Dodatni podaci:"
+
+#: templates/web/base/report/_inspect.html:144
+#: templates/web/base/report/_item.html:108
+msgid "Extra details"
+msgstr "Dodatni podaci"
+
+#: templates/web/base/contact/submit.html:13
+msgid "Failed to send message"
+msgstr "Nije uspeo da pošalje poruku"
+
+#: templates/web/base/admin/reportextrafields/edit.html:58
+#: templates/web/base/admin/reportextrafields/index.html:9
+msgid "Fields"
+msgstr ""
+
+#: templates/web/zurich/admin/index-dm.html:33
+#: templates/web/zurich/admin/index-sdm.html:30
+msgid "Filter report list"
+msgstr "Filtriraj listu prijava"
+
+#: templates/web/base/questionnaire/index.html:66
+msgid "First time"
+msgstr "Prvi put"
+
+#: templates/web/base/admin/body.html:52
+msgid "Fix this by choosing an <strong>area covered</strong> in the <em>Edit body details</em> form below."
+msgstr "Uredite ovo izborom <strong>pokrivene oblasti</strong> u <em>izmeni podatke o opštini </em> na obrascu ispod."
+
+#: perllib/FixMyStreet/App/Controller/Admin/States.pm:35
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:133
+#: templates/web/base/admin/states/index.html:29
+#: templates/web/base/admin/stats_fix_rate.html:4
+msgid "Fixed"
+msgstr "Sređeno"
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:62
+msgid "Fixed - Council"
+msgstr "Sređeno - Skupština"
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:63
+msgid "Fixed - User"
+msgstr "Sređeno - Korisnik"
+
+#: templates/web/base/admin/body-form.html:97
+#: templates/web/base/admin/responsepriorities/edit.html:53
+#: templates/web/zurich/admin/body-form.html:36
+msgid "Flag as deleted"
+msgstr "Obeleži kao izbrisano"
+
+#: templates/web/base/admin/report_blocks.html:23
+msgid "Flag user"
+msgstr "Obeleži korisnika "
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:644
+#: templates/web/base/admin/users.html:20
+msgid "Flagged"
+msgstr "Obeleženo"
+
+#: templates/web/base/admin/flagged.html:1
+msgid "Flagged reports and users"
+msgstr "Obeležene prijave i korisnici"
+
+#: templates/web/base/admin/user-form.html:94
+msgid "Flagged users are listed on the <a href='%s'>flagged</a> page."
+msgstr "Obeleženi korisnici navedeni na <a href='%s'>strani</a> ."
+
+#: templates/web/base/admin/flagged.html:31
+msgid "Flagged users are not restricted in any way. This is just a list of users that have been marked for attention."
+msgstr "Obeleženi korisnici nisu ograniÄeni ni na koji naÄin. Ovo je samo lista korisnika koji su oznaÄeni za dalju pažnju."
+
+#: templates/web/base/admin/report_edit.html:135
+#: templates/web/base/admin/user-form.html:100
+msgid "Flagged:"
+msgstr "Obeleženo"
+
+#: templates/web/base/reports/_ward-list.html:4
+msgid "Follow a ward link to view only reports within that ward."
+msgstr "Propratite link naselja da biste videli samo prijave za dato naselje."
+
+#: templates/web/base/report/new/after_photo.html:3
+msgid "For best results include a close-up and a wide shot"
+msgstr "Za najbolje rezultate ukljuÄite sliku u prvom planu "
+
+#: templates/web/base/admin/extra-metadata-form.html:52
+msgid "For each option, <strong>Key</strong> is the value which is stored in the database for that option and <strong>Name</strong> is the value displayed to the user."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:73
+msgid "For more information, see <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
+msgstr "Za podrobnije informacije, vidi <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>Kako Sredimoju ulicu koristi Mapit</a>."
+
+#: templates/web/base/auth/general.html:97
+#: templates/web/base/report/new/form_user_loggedout_password.html:20
+#: templates/web/base/report/update/form_user_loggedout_password.html:19
+msgid "Forgotten your password?"
+msgstr "Zaboravili ste lozinku?"
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:748
+msgid "Forwarded to external body"
+msgstr "Upućeno spoljnom telu"
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:749
+msgid "Forwarded wish to external body"
+msgstr "ÄŒesto postavljana pitanja"
+
+#: templates/web/base/about/_sidebar.html:4
+#: templates/web/base/about/faq-en-gb.html:1
+#: templates/web/base/about/faq-en-gb.html:5
+msgid "Frequently Asked Questions"
+msgstr "Preuzmite najnovije informacije"
+
+#: templates/web/base/admin/stats.html:102
+msgid "Get Count"
+msgstr ""
+
+#: templates/web/base/around/_updates.html:3
+#: templates/web/base/report/display_tools.html:14
+msgid "Get updates"
+msgstr "Preuzmite najnovije informacije o %s problemima"
+
+#: templates/web/base/reports/_rss.html:3
+#: templates/web/base/reports/_rss.html:9
+msgid "Get updates of %s problems"
+msgstr "Preuzmite najnovije informacije o %s problemima"
+
+#: templates/web/base/reports/_rss.html:11
+#: templates/web/base/reports/_rss.html:3
+msgid "Get updates of problems in this %s"
+msgstr "Dobijajte najnovije informacije o problemima u ovom %s"
+
+#: templates/web/base/alert/_list.html:85
+msgid "Give me an RSS feed"
+msgstr "Dajte mi RSS vesti"
+
+#: templates/web/base/admin/reportextrafields/edit.html:6
+msgid "Give this collection of fields a name. It is not shown publicly, just here in the admin."
+msgstr ""
+
+#: templates/web/base/questionnaire/completed.html:14
+msgid "Glad to hear it’s been fixed!"
+msgstr "Drago mi je Å¡to Äujem da je sreÄ‘eno!"
+
+#: templates/web/base/admin/index.html:28
+#: templates/web/base/admin/index.html:34
+#: templates/web/base/admin/index.html:49
+#: templates/web/base/alert/index.html:34
+#: templates/web/base/around/postcode_form.html:13
+#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:64
+#: templates/web/base/reports/index.html:75
+#: templates/web/zurich/admin/stats.html:26
+msgid "Go"
+msgstr "Nastavi"
+
+#: templates/web/base/admin/report_edit.html:95
+msgid "Going to send questionnaire?"
+msgstr "Å aljete upitnik?"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:731
+msgid "Grant access to the admin"
+msgstr "Dozvolite pristup administratoru"
+
+#: templates/web/base/admin/index.html:76
+msgid "Graph of problem creation by status over time"
+msgstr "Grafikon kreiranja problema po statusu duž vremena"
+
+#: templates/web/base/questionnaire/index.html:48
+msgid "Has this problem been fixed?"
+msgstr "Da li je ovaj problem rešen?"
+
+#: templates/web/base/questionnaire/index.html:61
+msgid "Have you ever reported a problem to a council before, or is this your first time?"
+msgstr "Da li ste ikada problem prijavili savetu ili je ovo prvi put?"
+
+#: templates/web/base/main_nav_items.html:40
+#: templates/web/zurich/about/faq-de-ch.html:1
+#: templates/web/zurich/footer.html:22
+#: templates/web/zurich/nav_over_content.html:8
+msgid "Help"
+msgstr "Pomoć"
+
+#: templates/web/base/report/new/category_extras.html:13
+#: templates/web/base/report/new/category_extras.html:14
+msgid "Help <strong>%s</strong> resolve your problem quicker, by providing some extra detail. This extra information will not be published online."
+msgstr "Pomozite nam <strong>%s</strong> da vaš problem rešimo brže, pružanjem dodatnih pojedinosti. Ove dodatne informacije neće biti objavljene online."
+
+#: templates/web/zurich/footer.html:11
+msgid "Hi %s"
+msgstr "Zdravo %s"
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:911
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:60
+#: templates/web/base/admin/update_edit.html:30
+#: templates/web/zurich/admin/header.html:1
+#: templates/web/zurich/admin/header.html:11
+#: templates/web/zurich/admin/stats.html:32
+#: templates/web/zurich/admin/update_edit.html:18
+msgid "Hidden"
+msgstr "Sakriveno"
+
+#: templates/web/base/report/_main.html:109
+msgid "Hide entire report"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:1
+#: templates/web/base/my/anonymize.html:2
+msgid "Hide my name"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:21
+msgid "Hide my name everywhere"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:10
+msgid "Hide my name in this update"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:16
+msgid "Hide my name on this report"
+msgstr ""
+
+#: templates/web/base/around/display_location.html:67
+msgid "Hide old"
+msgstr "Sakrij stare"
+
+#: templates/web/base/around/display_location.html:62
+#: templates/web/base/js/translation_strings.html:55
+msgid "Hide pins"
+msgstr "Sakrij oznaku"
+
+#: templates/web/base/report/update.html:15
+msgid "Hide update completely?"
+msgstr ""
+
+#: templates/web/base/report/_report_meta_info.html:3
+#: templates/web/base/report/update.html:55
+msgid "Hide your name?"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:38
+msgid "Hint"
+msgstr ""
+
+#: templates/web/base/admin/category_edit.html:24
+msgid "History"
+msgstr "Istorija"
+
+#: templates/web/base/around/display_location.html:75
+msgid "Home"
+msgstr "PoÄetak"
+
+#: templates/web/base/index-steps.html:1
+msgid "How to report a problem"
+msgstr "Kako prijaviti problem"
+
+#: templates/web/base/js/translation_strings.html:32
+msgid "How to send successful reports"
+msgstr "Kako poslati uspešne prijave"
+
+#: templates/web/base/tokens/confirm_problem.html:36
+#: templates/web/base/tokens/confirm_problem.html:41
+msgid "I just reported a problem on @fixmystreet"
+msgstr "Upravo sam prijavio problem na @fixmystreet"
+
+#: templates/web/base/tokens/confirm_update.html:20
+#: templates/web/base/tokens/confirm_update.html:25
+msgid "I just updated a problem on @fixmystreet"
+msgstr "Upravo sam prijavio problem na @fixmystreet"
+
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:87
+msgid "I'm afraid we couldn't locate your problem in the database.\n"
+msgstr "I'm afraid we couldn't locate your problem in the database.\n"
+
+#: templates/web/base/admin/flagged.html:14
+#: templates/web/base/admin/index.html:60
+#: templates/web/base/admin/list_updates.html:6
+#: templates/web/base/admin/reports.html:12
+#: templates/web/zurich/admin/index-dm.html:21
+#: templates/web/zurich/admin/index-sdm.html:19
+#: templates/web/zurich/admin/list_updates.html:24
+#: templates/web/zurich/admin/list_updates.html:38
+#: templates/web/zurich/admin/reports.html:11
+msgid "ID"
+msgstr "ID"
+
+#: templates/web/base/admin/body-form.html:32
+#: templates/web/base/admin/body-form.html:33
+msgid ""
+"Identify a <strong>parent</strong> if this body is itself part of another body.\n"
+" For basic installations, you don't need to join bodies in this way."
+msgstr ""
+"Identify a <strong>parent</strong> if this body is itself part of another body.\n"
+" For basic installations, you don't need to join bodies in this way."
+
+#: templates/web/base/auth/token.html:19
+msgid "If there's a user associated with the address you entered, we've sent a confirmation email."
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:23
+msgid "If this priority is passed to an external service (e.g. Exor/Confirm) enter the priority code to use with that service here."
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:24
+msgid "If ticked the user won’t see an input field, just the ‘Description’ text."
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:14
+msgid ""
+"If two or more bodies serve the same location, FixMyStreet combines identical categories into a single entry in\n"
+" the menu. Make sure you use the same category name in the bodies if you want this to happen."
+msgstr ""
+"If two or more bodies serve the same location, FixMyStreet combines identical categories into a single entry in\n"
+" the menu. Make sure you use the same category name in the bodies if you want this to happen."
+
+#: templates/web/base/questionnaire/completed.html:8
+msgid "If you get some more information about the status of your problem, please come back to the site and leave an update."
+msgstr "If you get some more information about the status of your problem, please come back to the site and leave an update."
+
+#: templates/web/base/admin/responsepriorities/edit.html:45
+msgid "If you only want this priority to be an option for specific categories, pick them here. By default they will show for all categories."
+msgstr "Ukoliko želite da samo ovaj prioritet bude opcija za konkretne kategorije, odaberite ih ovde. Automatski će se prikazivati u svim kategorijama."
+
+#: templates/web/base/admin/template_edit.html:29
+msgid "If you only want this template to be an option for specific categories, pick them here. By default they will show for all categories."
+msgstr "v"
+
+#: templates/web/base/report/new/top_message_none.html:10
+#: templates/web/base/report/new/top_message_none.html:9
+msgid "If you submit a problem here the problem will <strong>not</strong> be reported to the council."
+msgstr "Ukoliko ovde podnesete problem, problem neće <strong></strong> biti prijavljen skupštini."
+
+#: templates/web/base/admin/template_edit.html:36
+msgid "If you want to use this template to prefill the update field when changing a report&rsquo;s state, select the state here."
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:70
+msgid ""
+"If you wish to leave a public update on the problem, please enter it here\n"
+"(please note it will not be sent to the council)."
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:32
+msgid "If you're using <strong>a send method that is not email</strong>, enter the service ID (Open311) or equivalent identifier here."
+msgstr "Ukoliko koristite <strong>naÄin slanja koji ne podrazumeva e-mejl</strong>, unesite ID usluge (Open311) ili ekvivalentan identifikator ovde."
+
+#: templates/web/base/admin/open311-form-fields.html:100
+#: templates/web/base/admin/open311-form-fields.html:101
+msgid ""
+"If you've enabled Open311 update-sending above, Open311 usually only accepts OPEN or CLOSED status in \n"
+" its updates. Enable <strong>extended Open311 stauses</strong> if you want to allow extra states to be passed.\n"
+" Check that your cobrand supports this feature before switching it on."
+msgstr ""
+
+#: templates/web/base/admin/open311-form-fields.html:87
+#: templates/web/base/admin/open311-form-fields.html:88
+msgid ""
+"If you've enabled Open311 update-sending above, enable <strong>suppression of alerts</strong> \n"
+" if you do <strong>not</strong> want that user to be notified whenever these updates are created."
+msgstr ""
+"If you've enabled Open311 update-sending above, enable <strong>suppression of alerts</strong> \n"
+" if you do <strong>not</strong> want that user to be notified whenever these updates are created."
+
+#: templates/web/base/admin/open311-form-fields.html:70
+#: templates/web/base/admin/open311-form-fields.html:71
+msgid ""
+"If you've enabled Open311 update-sending above, you must identify which \n"
+" FixMyStreet <strong>user</strong> will be attributed as the creator of those updates\n"
+" when they are shown on the site. Enter the ID (number) of that user."
+msgstr ""
+"If you've enabled Open311 update-sending above, you must identify which \n"
+" FixMyStreet <strong>user</strong> will be attributed as the creator of those updates\n"
+" when they are shown on the site. Enter the ID (number) of that user."
+
+#: perllib/FixMyStreet/App/Controller/Contact.pm:134
+msgid "Illegal ID"
+msgstr "Ilegalni ID"
+
+#: perllib/FixMyStreet/App/Controller/Alert.pm:103
+msgid "Illegal feed selection"
+msgstr "Ilegalan izbor vesti"
+
+#: templates/web/base/admin/flagged.html:39
+msgid "In abuse table?"
+msgstr "U tabeli zloupotreba?"
+
+#: templates/web/base/open311/index.html:80
+msgid "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:197
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:959
+#: templates/web/zurich/admin/header.html:1
+#: templates/web/zurich/admin/header.html:8
+msgid "In progress"
+msgstr "U toku"
+
+#: templates/web/base/admin/contact-form.html:57
+msgid "Inactive"
+msgstr ""
+
+#: templates/web/base/tokens/confirm_alert.html:11
+msgid "Inbox zero, here we come!"
+msgstr "Inbox nula, stižemo!"
+
+#: templates/web/zurich/admin/report_edit.html:223
+msgid "Include reporter personal details"
+msgstr "UkljuÄi liÄne podatke podnosioca prijave"
+
+#: templates/web/base/admin/stats.html:83
+msgid "Include unconfirmed reports"
+msgstr "UkljuÄi nepotvrÄ‘ene prijave"
+
+#: perllib/FixMyStreet/App/Controller/Open311.pm:351
+msgid "Incorrect has_photo value \"%s\""
+msgstr "NetaÄno_photo value \"%s\""
+
+#: templates/web/base/report/_inspect.html:5
+msgid "Inspect report"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:85
+msgid "Inspection required"
+msgstr "Potrebna inspekcija"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:715
+msgid "Instruct contractors to fix problems"
+msgstr "Naložite ugovaraÄima da reÅ¡e probleme"
+
+#: templates/web/zurich/admin/list_updates.html:35
+msgid "Internal notes"
+msgstr "Interna zabeleška"
+
+#: templates/web/base/offline/appcache.html:3
+msgid "Internet glitch"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Open311.pm:336
+msgid "Invalid agency_responsible value %s"
+msgstr "Pogrešna agencija_odgovorna value %s"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1607
+msgid "Invalid end date"
+msgstr "Nevažeći datum završetka"
+
+#: perllib/FixMyStreet/App/Controller/Open311.pm:429
+msgid "Invalid format %s specified."
+msgstr "Nevažeći format %s naveden."
+
+#: perllib/FixMyStreet/App/Controller/Report.pm:409
+msgid "Invalid location. New location must be covered by the same council."
+msgstr "Nevažeća lokacija. Novu lokaciju mora pokrivati ista skupština."
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1603
+msgid "Invalid start date"
+msgstr ""
+
+#: templates/web/base/contact/blurb.html:2
+msgid "It's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there."
+msgstr "Često je najbrže <a href=\"%s\">proveriti naša FAQ</a> i videti da li se odgovor nalazi tamo."
+
+#: templates/web/base/tokens/confirm_problem.html:27
+msgid "It’s on its way to the council right now."
+msgstr "U ovom trenutku je na putu ka skupštini."
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:182
+msgid "Jurisdiction Unknown"
+msgstr "Jurisdikcija nepoznata"
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
+#: templates/web/zurich/admin/header.html:1
+#: templates/web/zurich/admin/header.html:15
+msgid "Jurisdiction unknown"
+msgstr "Jurisdikcija nepoznata"
+
+#: templates/web/base/auth/general.html:93
+#: templates/web/base/report/new/form_user_loggedout_password.html:16
+#: templates/web/base/report/update/form_user_loggedout_password.html:15
+#: templates/web/zurich/auth/general.html:40
+msgid "Keep me signed in on this computer"
+msgstr "Držite me upisanim na ovom raÄunaru"
+
+#: templates/web/base/admin/extra-metadata-form.html:61
+msgid "Key"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:9
+#: templates/web/base/admin/states/index.html:95
+msgid "Label"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:6
+#: templates/web/base/admin/reportextrafields/edit.html:45
+msgid "Language"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/index.html:8
+msgid "Languages"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:50
+msgid "Last 4 weeks"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:49
+#: templates/web/base/reports/index.html:38
+msgid "Last 7 days"
+msgstr ""
+
+#: templates/web/base/admin/body.html:74
+#: templates/web/zurich/admin/body.html:16
+msgid "Last editor"
+msgstr "Poslednji urednik"
+
+#: templates/web/base/questionnaire/index.html:25
+msgid "Last update"
+msgstr ""
+
+#: templates/web/base/admin/report_edit.html:89
+msgid "Last update:"
+msgstr "Poslednje ažuriranje:"
+
+#: templates/web/base/admin/problem_row.html:39
+msgid "Last&nbsp;update:"
+msgstr "Poslednje&nbsp;ažuriranje:"
+
+#: templates/web/base/report/_inspect.html:30
+#: templates/web/base/report/_item.html:88
+msgid "Latitude/Longitude:"
+msgstr ""
+
+#: templates/web/base/reports/_list-filters.html:61
+msgid "Least recently updated"
+msgstr "Nedavno ažuriran"
+
+#: templates/web/base/admin/body-form.html:129
+msgid "Leave this blank if all reports to this body should be sent using the same send method (e.g., \"%s\")."
+msgstr "Ostavite ovo praznim ukoliko sve prijave ovom telu treba da budu poslate korišćenjem iste metode slanja (npr, \"%s\")."
+
+#: templates/web/base/dashboard/index.html:151
+msgid "Less than 7 days old"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:47
+msgid "List"
+msgstr ""
+
+#: templates/web/base/admin/body.html:31
+msgid "List all reported problems"
+msgstr "Navedi sve prijavljene probleme"
+
+#: templates/web/base/report/new/category_wrapper.html:4
+msgid "Loading..."
+msgstr "Loading..."
+
+#: templates/web/base/alert/choose.html:1
+#: templates/web/base/alert/choose.html:3 templates/web/base/alert/index.html:1
+#: templates/web/base/alert/index.html:3 templates/web/base/alert/list.html:1
+#: templates/web/base/alert/list.html:5 templates/web/base/alert/updates.html:1
+#: templates/web/base/tokens/confirm_alert.html:1
+msgid "Local RSS feeds and email alerts"
+msgstr "Lokalna obaveštenja"
+
+#: templates/web/base/alert/list.html:1 templates/web/base/alert/list.html:12
+#: templates/web/base/alert/list.html:14 templates/web/base/alert/list.html:3
+msgid "Local RSS feeds and email alerts for ‘%s’"
+msgstr "Local RSS feeds and email alerts for ‘%s’"
+
+#: templates/web/base/main_nav_items.html:31
+#: templates/web/base/main_nav_items.html:37
+msgid "Local alerts"
+msgstr "Lokalna obaveštenja"
+
+#: templates/web/base/index-steps.html:5
+msgid "Locate the problem on a map of the area"
+msgstr "Pronađite problem na mapi oblasti"
+
+#: templates/web/base/auth/general.html:24
+#: templates/web/base/report/new/form_user_loggedout.html:6
+#: templates/web/base/report/update/form_user_loggedout.html:7
+msgid "Log in with Facebook"
+msgstr ""
+
+#: templates/web/base/auth/general.html:32
+#: templates/web/base/report/new/form_user_loggedout.html:14
+#: templates/web/base/report/update/form_user_loggedout.html:15
+msgid "Log in with Twitter"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:62
+msgid "Log in with email"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:146
+#: templates/web/base/dashboard/index.html:38
+msgid "Look up"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:44
+msgid "MAP"
+msgstr "MAPA"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:716
+msgid "Manage shortlist"
+msgstr "Upravljaj užim krugom"
+
+#: templates/web/base/reports/_list-filters.html:56
+msgid "Manual order"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:46
+msgid "Map"
+msgstr "Mapa"
+
+#: templates/web/base/admin/report_edit.html:86
+msgid "Mark as sent"
+msgstr "OznaÄi kao poslat"
+
+#: templates/web/base/admin/user-form.html:92
+msgid "Mark users whose behaviour you want to keep a check on as <strong>flagged</strong>."
+msgstr "OznaÄi kao ureÄ‘en/zakljuÄen u poslednjih osam nedelja"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:714
+msgid "Markup problem details"
+msgstr ""
+
+#: templates/web/base/contact/index.html:100
+msgid "Message"
+msgstr "Poruka"
+
+#: templates/web/zurich/admin/report_edit.html:280
+msgid "Message to competent body:"
+msgstr "Poruka nadležnoj direkciji:"
+
+#: templates/web/zurich/admin/report_edit.html:278
+msgid "Message to external body:"
+msgstr "Poruka spoljnom telu:"
+
+#: templates/web/base/admin/report_edit.html:71
+msgid "Missing bodies:"
+msgstr "Direkcije koje nedostaju:"
+
+#: perllib/FixMyStreet/App/Controller/Open311.pm:437
+msgid "Missing jurisdiction_id"
+msgstr "Jurisdikcija koja nedostaje_id"
+
+#: templates/web/base/report/_main.html:134
+msgid "Moderate"
+msgstr "Uredi"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:710
+msgid "Moderate report details"
+msgstr "Uredi pojedinosti o prijavi"
+
+#: templates/web/base/report/_main.html:134
+msgid "Moderate this report"
+msgstr "Uredi ovu prijavu"
+
+#: templates/web/base/report/update.html:12
+msgid "Moderate this update"
+msgstr ""
+
+#: templates/web/base/report/_main.html:73
+#: templates/web/base/report/update.html:58
+msgid "Moderated by %s at %s"
+msgstr ""
+
+#: templates/web/zurich/admin/stats.html:34
+msgid "Moderated by division within one working day"
+msgstr "Uređuje odsek u jednom radnom danu "
+
+#: templates/web/base/report/_main.html:113
+#: templates/web/base/report/update.html:66
+msgid "Moderation reason:"
+msgstr ""
+
+#: templates/web/base/admin/stats.html:11
+msgid "Month"
+msgstr "Mesec"
+
+#: templates/web/base/reports/_list-filters.html:62
+msgid "Most commented"
+msgstr "NajÄešće komentarisani"
+
+#: templates/web/base/admin/bodies.html:25
+#: templates/web/base/admin/body-form.html:24
+#: templates/web/base/admin/extra-metadata-form.html:65
+#: templates/web/base/admin/flagged.html:16
+#: templates/web/base/admin/flagged.html:37
+#: templates/web/base/admin/index.html:62
+#: templates/web/base/admin/list_updates.html:7
+#: templates/web/base/admin/reportextrafields/edit.html:11
+#: templates/web/base/admin/reportextrafields/index.html:6
+#: templates/web/base/admin/reports.html:14
+#: templates/web/base/admin/responsepriorities/list.html:6
+#: templates/web/base/admin/states/index.html:108
+#: templates/web/base/admin/states/index.html:11
+#: templates/web/base/admin/users.html:16
+#: templates/web/base/auth/general.html:108
+#: templates/web/base/report/new/form_user_loggedin.html:42
+#: templates/web/base/report/new/form_user_loggedout_by_email.html:7
+#: templates/web/base/report/update/form_name.html:27
+#: templates/web/zurich/admin/body-form.html:4
+#: templates/web/zurich/auth/general.html:60
+#: templates/web/zurich/report/new/fill_in_details_form.html:59
+msgid "Name"
+msgstr "Ime"
+
+#: templates/web/base/admin/report_edit.html:127
+#: templates/web/base/admin/responsepriorities/edit.html:13
+#: templates/web/base/admin/update_edit.html:34
+#: templates/web/base/admin/user-form.html:16
+#: templates/web/zurich/admin/stats.html:41
+msgid "Name:"
+msgstr "Ime: %s"
+
+#: perllib/FixMyStreet/Script/Reports.pm:111
+msgid "Name: %s"
+msgstr "Upravljaj ovim problemom"
+
+#: templates/web/base/report/_inspect.html:38
+msgid "Navigate to this problem"
+msgstr "Upravljaj ovim problemom"
+
+#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:160
+#: perllib/FixMyStreet/Geocode/OSM.pm:145
+msgid "Nearest named road to the pin placed on the map (automatically generated using OpenStreetMap): %s%s"
+msgstr "Najbliži imenovani put oznaci na mapi (automatski generisan korišćenjem OpenStreetMap): %s%s"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:134
+msgid "Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"
+msgstr "Najbliži poštanski broj oznaci na mapi (automatski generisan): %s (%sm away)"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:538
+#: perllib/FixMyStreet/Cobrand/Default.pm:566
+msgid "Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"
+msgstr "Najbliži put oznaci na mapi (automatski generisan korišćenjem Bing Maps): %s"
+
+#: perllib/FixMyStreet/Script/Alerts.pm:316
+msgid ""
+"Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s\n"
+"\n"
+msgstr ""
+
+#: templates/web/base/auth/token.html:18
+msgid "Nearly done!"
+msgstr ""
+
+#: templates/web/base/auth/token.html:22 templates/web/base/email_sent.html:5
+msgid "Nearly done! Now check your email&hellip;"
+msgstr "Pri kraju! Sada proverite vaš e-mejl&hellip;"
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:131
+#, fuzzy
+msgid "New"
+msgstr "Najnovije"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:262
+msgid "New body added"
+msgstr "Dodata nova direkcija"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:386
+msgid "New category contact added"
+msgstr "Dodata nova kontakt kategorija"
+
+#: templates/web/base/auth/change_email.html:26
+msgid "New email address:"
+msgstr "Nova e-mejl adresa:"
+
+#: templates/web/zurich/admin/report_edit-sdm.html:109
+#: templates/web/zurich/admin/report_edit.html:137
+msgid "New internal note:"
+msgstr "Nova interna beleška:"
+
+#: db/alert_types.pl:18 db/alert_types.pl:22
+msgid "New local problems on FixMyStreet"
+msgstr "Novi lokalni problemi na Sredimojuulicu"
+
+#: templates/web/zurich/admin/report_edit-sdm.html:113
+msgid "New note to DM:"
+msgstr "Nova beleška za DM:"
+
+#: templates/web/base/auth/change_password.html:35
+msgid "New password:"
+msgstr "Nova lozinka:"
+
+#: templates/web/base/admin/responsepriorities/edit.html:4
+#: templates/web/base/admin/responsepriorities/list.html:34
+msgid "New priority"
+msgstr "Novi prioritet"
+
+#: db/alert_types.pl:38
+msgid "New problems for {{COUNCIL}} within {{WARD}} ward on FixMyStreet"
+msgstr "Novi problemi u {{ COUNCIL }} {{WARD}} na Sredimojuulicu"
+
+#: db/alert_types.pl:26 db/alert_types.pl:30
+msgid "New problems near {{POSTCODE}} on FixMyStreet"
+msgstr "Novi problemi u blizini {{POSTCODE}} na Sredimojuulicu"
+
+#: db/alert_types.pl:10
+msgid "New problems on FixMyStreet"
+msgstr "Novi problemi na Sredimojuulicu"
+
+#: db/alert_types.pl:34
+msgid "New problems to {{COUNCIL}} on FixMyStreet"
+msgstr "Novi problemi u {{ COUNCIL }} na Sredimojuulicu"
+
+#: db/alert_types.pl:42
+msgid "New problems within {{NAME}}'s boundary on FixMyStreet"
+msgstr "Novi problemi u okviru granice {{NAME}} na Sredimojuulicu"
+
+#: templates/web/zurich/admin/index-sdm.html:4
+msgid "New reports"
+msgstr "Nove prijave"
+
+#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/states/index.html:91
+msgid "New state"
+msgstr "Novo stanje"
+
+#: templates/web/base/admin/template_edit.html:4
+#: templates/web/base/admin/templates.html:28
+#: templates/web/zurich/admin/template_edit.html:9
+msgid "New template"
+msgstr "Novi šablon"
+
+#: templates/web/base/reports/_list-filters.html:58
+msgid "Newest"
+msgstr "Najnovije"
+
+#: templates/web/base/pagination.html:10
+msgid "Next"
+msgstr "Sledeće"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:1237
+#: templates/web/base/admin/category_edit.html:4
+#: templates/web/base/admin/list_updates.html:32
+#: templates/web/base/admin/list_updates.html:34
+#: templates/web/base/admin/list_updates.html:35
+#: templates/web/base/admin/problem_row.html:20
+#: templates/web/base/admin/report_edit.html:125
+#: templates/web/base/admin/report_edit.html:95
+#: templates/web/base/admin/update_edit.html:26
+#: templates/web/base/questionnaire/creator_fixed.html:16
+#: templates/web/base/questionnaire/index.html:106
+#: templates/web/base/questionnaire/index.html:55
+#: templates/web/base/report/_inspect.html:92
+msgid "No"
+msgstr "Ne"
+
+#: templates/web/base/admin/user-form.html:66
+msgid "No area"
+msgstr "Nema oblasti"
+
+#: templates/web/base/admin/user-form.html:37
+msgid "No body"
+msgstr "Nema direkcije"
+
+#: templates/web/base/admin/stats.html:93
+msgid "No council"
+msgstr "Nema skupštine"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:372
+msgid "No council selected"
+msgstr "Nije odabrana skupština"
+
+#: templates/web/base/admin/edit-league.html:17
+msgid "No edits have yet been made."
+msgstr "Nisu naÄinjene nikakve izmene."
+
+#: templates/web/base/admin/flagged.html:25
+msgid "No flagged problems found."
+msgstr "No flagged problems found."
+
+#: templates/web/base/admin/flagged.html:58
+msgid "No flagged users found."
+msgstr "No flagged users found."
+
+#: templates/web/zurich/admin/report_edit-sdm.html:125
+#: templates/web/zurich/admin/report_edit.html:259
+msgid "No further updates"
+msgstr "No further updates"
+
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:68
+msgid "No inspections by that inspector in the selected date range."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:70
+msgid "No inspections in the selected date range."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:37
+msgid "No result returned"
+msgstr "No result returned"
+
+#: templates/web/base/admin/body-form.html:68
+#: templates/web/base/admin/body-form.html:69
+msgid ""
+"No specific areas are currently available, because the <code>MAPIT_URL</code> in\n"
+" your config file is not pointing to a live MapIt service."
+msgstr ""
+"No specific areas are currently available, because the <code>MAPIT_URL</code> in\n"
+" your config file is not pointing to a live MapIt service."
+
+#: templates/web/base/report/_support.html:2
+#: templates/web/base/report/_support.html:4
+msgid "No supporters"
+msgstr "Nema pristalica"
+
+#: templates/web/base/admin/report_edit.html:66
+#: templates/web/base/admin/report_edit.html:90
+#: templates/web/base/admin/report_edit.html:92
+msgid "None"
+msgstr "Nijedan"
+
+#: templates/web/base/admin/user-form.html:58
+#: templates/web/base/admin/user-form.html:59
+msgid ""
+"Normal (public) users should not be associated with any <strong>area</strong>.<br>\n"
+" Authorised staff users can be associated with the area in which they operate."
+msgstr ""
+"Normal (public) users should not be associated with any <strong>area</strong>.<br>\n"
+" Authorised staff users can be associated with the area in which they operate."
+
+#: templates/web/base/admin/user-form.html:28
+#: templates/web/base/admin/user-form.html:29
+msgid ""
+"Normal (public) users should not be associated with any <strong>body</strong>.<br>\n"
+" Authorised staff users can be associated with the body they represent.<br>\n"
+" Depending on the implementation, staff users may have access to the dashboard (summary of\n"
+" activity across their body), the ability to hide reports or set special report statuses."
+msgstr ""
+"Normal (public) users should not be associated with any <strong>body</strong>.<br>\n"
+" Authorised staff users can be associated with the body they represent.<br>\n"
+" Depending on the implementation, staff users may have access to the dashboard (summary of\n"
+" activity across their body), the ability to hide reports or set special report statuses."
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:186
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:933
+#: templates/web/zurich/admin/header.html:1
+#: templates/web/zurich/admin/header.html:13
+msgid "Not contactable"
+msgstr "Nedostupan"
+
+#: templates/web/zurich/admin/report_edit-sdm.html:104
+msgid "Not for my subdivision"
+msgstr "Nije za moj pod-odsek"
+
+#: templates/web/base/admin/questionnaire.html:6
+msgid "Not reported before"
+msgstr "Nije prijavljen ranije"
+
+#: templates/web/base/report/_main_sent_info.html:4
+msgid "Not reported to council"
+msgstr "Nije prijavljen skupštini"
+
+#: templates/web/base/admin/body.html:75
+#: templates/web/base/admin/category_edit.html:31
+#: templates/web/zurich/admin/body.html:17
+msgid "Note"
+msgstr "Napomena"
+
+#: templates/web/base/admin/stats.html:51
+msgid "Note that when including unconfirmed reports we use the date the report was created which may not be in the same month the report was confirmed so the numbers may jump about a little"
+msgstr "Note that when including unconfirmed reports we use the date the report was created which may not be in the same month the report was confirmed so the numbers may jump about a little"
+
+#: templates/web/zurich/admin/body.html:55
+#: templates/web/zurich/admin/contact-form.html:19
+msgid "Note:"
+msgstr "Napomena"
+
+#: templates/web/base/open311/index.html:65
+msgid "Note: <strong>%s</strong>"
+msgstr "Napomena: <strong>%s</strong>"
+
+#: templates/web/zurich/admin/list_updates.html:21
+msgid "Notes from SDM to DM"
+msgstr "Sada podnesite vaše najnovije informacije&hellip;"
+
+#: templates/web/base/admin/extra-metadata-form.html:26
+msgid "Notice"
+msgstr ""
+
+#: templates/web/base/report/new/oauth_email_form.html:17
+msgid "Now to submit your report&hellip;"
+msgstr "Now to submit your report&hellip;"
+
+#: templates/web/base/report/update-form.html:29
+#: templates/web/base/report/update/form_user_loggedout.html:2
+#: templates/web/base/report/update/form_user_loggedout.html:23
+msgid "Now to submit your update&hellip;"
+msgstr "Now to submit your update&hellip;"
+
+#: templates/web/base/reports/index.html:98
+msgid "Number of problems reported in each category, in the last 7 days."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:43
+msgid "OK"
+msgstr "U redu"
+
+#: templates/web/base/js/translation_strings.html:70
+msgid "Offline data cleared"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:67
+msgid "Offline update data saved"
+msgstr ""
+
+#: templates/web/base/admin/questionnaire.html:24
+msgid "Old state"
+msgstr "Staro stanje"
+
+#: templates/web/base/reports/_list-filters.html:59
+msgid "Oldest"
+msgstr "Najstariji"
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:905
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:10
+#: templates/web/base/admin/states/index.html:102
+#: templates/web/base/admin/states/index.html:25
+#: templates/web/base/admin/states/index.html:32
+#: templates/web/base/admin/update_edit.html:30
+#: templates/web/zurich/admin/header.html:1
+#: templates/web/zurich/admin/header.html:7
+#: templates/web/zurich/admin/update_edit.html:18
+msgid "Open"
+msgstr "Otvoren"
+
+#: templates/web/base/admin/open311-form-fields.html:47
+msgid "Open311 API Key"
+msgstr "Jurisdikcija Open311 "
+
+#: templates/web/base/open311/index.html:62
+msgid "Open311 API for the mySociety FixMyStreet server"
+msgstr ""
+
+#: templates/web/base/admin/open311-form-fields.html:34
+msgid "Open311 Jurisdiction"
+msgstr ""
+
+#: templates/web/base/open311/index.html:72
+msgid "Open311 initiative web page"
+msgstr ""
+
+#: templates/web/base/open311/index.html:73
+msgid "Open311 specification"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "Options"
+msgstr ""
+
+#: templates/web/base/alert/_list.html:84
+msgid "Or subscribe by RSS"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:8
+msgid "Order"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1107
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:675
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:676
+#: perllib/FixMyStreet/DB/Result/Problem.pm:579
+#: perllib/FixMyStreet/DB/Result/Problem.pm:586
+#: perllib/FixMyStreet/DB/Result/Problem.pm:601
+#: perllib/FixMyStreet/DB/Result/Problem.pm:610
+#: perllib/FixMyStreet/Script/Reports.pm:183
+#: perllib/FixMyStreet/Script/Reports.pm:198
+msgid "Other"
+msgstr "Drugi"
+
+#: templates/web/base/reports/index.html:107
+msgid "Other categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:92
+msgid "Overall average"
+msgstr ""
+
+#: templates/web/base/admin/list_updates.html:8
+msgid "Owner"
+msgstr "Vlasnik"
+
+#: templates/web/base/errors/page_error_404_not_found.html:1
+#: templates/web/base/errors/page_error_404_not_found.html:4
+msgid "Page Not Found"
+msgstr "Strana nije nađena"
+
+#: templates/web/base/admin/body-form.html:39
+#: templates/web/zurich/admin/body-form.html:14
+msgid "Parent"
+msgstr "Izvor"
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:61
+msgid "Partial"
+msgstr "DelimiÄno"
+
+#: templates/web/base/auth/general.html:111
+#: templates/web/base/report/new/form_user_loggedout_by_email.html:28
+#: templates/web/base/report/update/form_user_loggedout_by_email.html:6
+#: templates/web/zurich/auth/general.html:32
+#: templates/web/zurich/auth/general.html:63
+msgid "Password (optional)"
+msgstr "Lozinka (opcionalno)"
+
+#: templates/web/base/auth/general.html:84
+msgid "Password:"
+msgstr "Lozinka:"
+
+#: templates/web/base/js/translation_strings.html:52
+msgid "Permalink"
+msgstr ""
+
+#: templates/web/base/admin/user-form.html:144
+msgid "Permissions:"
+msgstr "Dozvole:"
+
+#: templates/web/base/report/_inspect.html:19
+#, fuzzy
+msgid "Phone Reporter:"
+msgstr "Prijavio:"
+
+#: templates/web/zurich/report/new/fill_in_details_form.html:65
+msgid "Phone number"
+msgstr "Broj telefona"
+
+#: templates/web/base/report/new/form_user_loggedin.html:59
+#: templates/web/base/report/new/form_user_loggedout_by_email.html:25
+msgid "Phone number (optional)"
+msgstr "Broj telefona (opcionalno)"
+
+#: perllib/FixMyStreet/Script/Reports.pm:87
+#: templates/web/base/admin/report_edit.html:134
+#: templates/web/base/admin/user-form.html:21
+#: templates/web/zurich/admin/stats.html:39
+msgid "Phone:"
+msgstr "Tel:"
+
+#: templates/web/base/questionnaire/index.html:78
+#: templates/web/base/questionnaire/index.html:93
+#: templates/web/base/questionnaire/index.html:95
+#: templates/web/base/report/new/form_report.html:30
+#: templates/web/base/report/new/form_report.html:45
+#: templates/web/base/report/new/form_report.html:47
+#: templates/web/base/report/update/form_update.html:22
+#: templates/web/base/report/update/form_update.html:24
+#: templates/web/base/report/update/form_update.html:7
+#: templates/web/zurich/admin/index-dm.html:29
+#: templates/web/zurich/admin/index-sdm.html:24
+#: templates/web/zurich/admin/reports.html:16
+#: templates/web/zurich/admin/stats.html:37
+#: templates/web/zurich/report/new/fill_in_details_form.html:20
+#: templates/web/zurich/report/new/fill_in_details_form.html:36
+#: templates/web/zurich/report/new/fill_in_details_form.html:38
+msgid "Photo"
+msgstr "Fotografija"
+
+#: perllib/FixMyStreet/App/Controller/Photo.pm:186
+msgid "Photo is required."
+msgstr "Fotografija potrebna."
+
+#: templates/web/zurich/admin/contact-form.html:16
+msgid "Photo required"
+msgstr "Fotografija potrebna"
+
+#: templates/web/base/questionnaire/index.html:78
+#: templates/web/base/report/new/form_report.html:30
+#: templates/web/base/report/update/form_update.html:7
+#: templates/web/zurich/report/new/fill_in_details_form.html:20
+msgid "Photos"
+msgstr "Fotografije"
+
+#: templates/web/base/alert/list.html:23
+msgid "Photos of recent nearby reports"
+msgstr "Fotografije nedavnih obližnjih prijava"
+
+#: templates/web/base/reports/index.html:63
+#: templates/web/base/reports/index.html:66
+msgid "Pick your council"
+msgstr ""
+
+#: templates/web/base/around/display_location.html:76
+#: templates/web/base/js/translation_strings.html:30
+msgid "Place pin on map"
+msgstr "Stavi oznaku na mapi"
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:945
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:951
+#: templates/web/zurich/admin/header.html:1
+#: templates/web/zurich/admin/header.html:9
+#: templates/web/zurich/admin/index-dm.html:9
+msgid "Planned"
+msgstr "Planirano"
+
+#: templates/web/base/report/new/notes.html:5
+msgid "Please be polite, concise and to the point."
+msgstr "Molimo vas budite ljubazni, koncizni i držite se suštine."
+
+#: templates/web/base/auth/change_password.html:22
+#: templates/web/base/auth/change_password.html:27
+msgid "Please check the passwords and try again"
+msgstr "Molimo vas proverite lozinke i probajte ponovo "
+
+#: templates/web/base/auth/change_email.html:15
+#: templates/web/base/auth/change_email.html:18
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:45
+#: templates/web/zurich/auth/general.html:3
+#: templates/web/zurich/auth/general.html:9
+msgid "Please check your email address is correct"
+msgstr "Molimo vas proverite da li je vaÅ¡a e-mejl adresa taÄna "
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:329
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:873
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:896
+#: perllib/FixMyStreet/DB/Result/Problem.pm:383
+#: templates/web/base/js/translation_strings.html:9
+msgid "Please choose a category"
+msgstr "Molimo vas izaberite kategoriju"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:377
+#: templates/web/base/admin/bodies.html:4 templates/web/base/admin/body.html:11
+msgid "Please correct the errors below"
+msgstr "Molimo vas ispravite greške ispod"
+
+#: templates/web/base/contact/blurb.html:6
+msgid ""
+"Please do <strong>not</strong> report problems through this form; messages go to\n"
+"the team behind this site, not a council. To report a problem,\n"
+"please <a href=\"/\">go to the front page</a> and follow the instructions."
+msgstr ""
+
+#: templates/web/base/report/new/notes.html:6
+msgid "Please do not be abusive&nbsp;&mdash; abusing your council devalues the service for all users."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:330
+#: perllib/FixMyStreet/DB/Result/Comment.pm:128
+#: templates/web/base/js/translation_strings.html:2
+msgid "Please enter a message"
+msgstr "Molimo vas unesite poruku"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1305
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1469
+msgid "Please enter a name"
+msgstr "Molimo vas unesite ime"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:497
+msgid "Please enter a name for this body"
+msgstr "Molimo vas unesite naziv ovog tela"
+
+#: templates/web/base/auth/change_password.html:22
+#: templates/web/base/auth/change_password.html:25
+#: templates/web/base/js/translation_strings.html:19
+msgid "Please enter a password"
+msgstr "Molimo vas unesite lozinku"
+
+#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/DB/Result/Problem.pm:366
+#: templates/web/base/js/translation_strings.html:3
+msgid "Please enter a subject"
+msgstr "Molimo vas unesite predmet"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1302
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1466
+#: perllib/FixMyStreet/App/Controller/Admin.pm:343
+#: perllib/FixMyStreet/DB/Result/User.pm:164
+#: templates/web/base/js/translation_strings.html:12
+#: templates/web/base/js/translation_strings.html:16
+msgid "Please enter a valid email"
+msgstr "Molimo vas unesite važeći e-mejl"
+
+#: perllib/FixMyStreet/App/Controller/Alert.pm:350
+#: perllib/FixMyStreet/App/Controller/Contact.pm:125
+msgid "Please enter a valid email address"
+msgstr "Molimo vas unesite važeću e-mejl adresu"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:369
+#: templates/web/base/js/translation_strings.html:4
+msgid "Please enter some details"
+msgstr "Molimo vas unesite neke podatke"
+
+#: perllib/FixMyStreet/App/Controller/Contact.pm:114
+#: perllib/FixMyStreet/DB/Result/User.pm:161
+#: templates/web/base/auth/change_email.html:15
+#: templates/web/base/auth/change_email.html:17
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:44
+#: templates/web/base/js/translation_strings.html:11
+#: templates/web/base/js/translation_strings.html:15
+#: templates/web/zurich/auth/general.html:3
+#: templates/web/zurich/auth/general.html:8
+msgid "Please enter your email"
+msgstr "Molimo vas unesite vaš e-mejl"
+
+#: templates/web/base/report/new/form_user_loggedout_email.html:5
+#: templates/web/zurich/report/new/fill_in_details_form.html:57
+msgid "Please enter your email address"
+msgstr "Molimo vas unesite vašu e-mejl adresu"
+
+#: templates/web/base/js/translation_strings.html:25
+msgid "Please enter your first name"
+msgstr "Molimo vas unesite vaše ime"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:326
+#: templates/web/base/js/translation_strings.html:7
+msgid "Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below"
+msgstr "Molimo vas unesite vaše ime, skupština treba ove informacije – ukoliko ne želite da vam se ime prikazuje na stranici, skinite znak štikliranja iz polja ispod "
+
+#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/DB/Result/Comment.pm:125
+#: perllib/FixMyStreet/DB/Result/Problem.pm:377
+#: perllib/FixMyStreet/DB/Result/User.pm:157
+#: templates/web/base/js/translation_strings.html:6
+msgid "Please enter your name"
+msgstr "Molimo vas unesite vaše ime"
+
+#: templates/web/base/js/translation_strings.html:22
+msgid "Please enter your phone number"
+msgstr "Molimo vas unesite vaš broj telefona"
+
+#: templates/web/base/js/translation_strings.html:26
+msgid "Please enter your second name"
+msgstr "Molimo vas unesite vaše drugo ime"
+
+#: templates/web/base/js/translation_strings.html:24
+msgid "Please enter your title"
+msgstr "Molimo vas unesite vaše zvanje"
+
+#: templates/web/base/auth/sign_out.html:5
+#: templates/web/zurich/auth/sign_out.html:5
+msgid "Please feel free to <a href=\"%s\">sign in again</a>, or go back to the <a href=\"/\">front page</a>."
+msgstr "Molimo vas slobodno <a href=\"%s\">se upiÅ¡ite joÅ¡ jednom</a>, ili se vratite na <a href=\"/\">poÄetnu stranu</a>."
+
+#: templates/web/base/report/new/fill_in_details_text.html:1
+#: templates/web/base/report/new/fill_in_details_text.html:8
+msgid "Please fill in details of the problem below."
+msgstr "Molimo vas popunite pojedinosti o problemu ispod."
+
+#: templates/web/zurich/report/new/fill_in_details_form.html:49
+msgid "Please fill in details of the problem."
+msgstr "Molimo vas popunite pojedinosti o problemu."
+
+#: templates/web/base/report/new/sidebar.html:7
+#: templates/web/zurich/report/new/sidebar.html:14
+msgid "Please fill in the form below with details of the problem, and describe the location as precisely as possible in the details box."
+msgstr "Molimo vas popunite obrazac ispod sa pojedinostima problema i opišite lokaciju što je moguće preciznije u polju sa pojedinostima."
+
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:239
+msgid "Please indicate whether you'd like to receive another questionnaire"
+msgstr "Molimo vas navedite da li biste hteli da dobijete još jedan upitnik "
+
+#: templates/web/base/report/updates-sidebar-notes.html:2
+msgid "Please note that updates are not sent to the council."
+msgstr "Molimo vas imajte u vidu da se ažurirane informacije ne šalju skupštini."
+
+#: templates/web/base/report/new/oauth_email_form.html:4
+msgid "Please note your report has <strong>not yet been sent</strong>."
+msgstr "Molimo vas imajte u vidu da vaša prijava <strong>još uvek nije poslata</strong>."
+
+#: templates/web/base/report/new/fill_in_details_form.html:12
+#: templates/web/zurich/report/new/sidebar.html:5
+msgid "Please note your report has <strong>not yet been sent</strong>. Choose a category and add further information below, then submit."
+msgstr "Molimo vas imajte u vidu da vaša prijava <strong>još uvek nije poslata</strong>."
+
+#: templates/web/base/report/display.html:34
+msgid "Please note your update has <strong>not yet been posted</strong>."
+msgstr "Molimo vas imajte u vidu da vaša prijava <strong>još uvek nije poslata</strong>. Izaberite kategoriju i dodajte informacije ispod, a zatim je pošaljite."
+
+#: templates/web/base/report/new/notes.html:1
+#: templates/web/zurich/report/new/notes.html:1
+msgid "Please note:"
+msgstr "Molimo vas imajte u vidu:"
+
+#: perllib/FixMyStreet/App/Controller/Report.pm:353
+msgid "Please provide a public update for this report."
+msgstr "Molimo vas pružite javne informacije o ovoj prijavi."
+
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:242
+msgid "Please provide some explanation as to why you're reopening this report"
+msgstr "Molimo vas pružite objašnjenje zašto ponovo otvarate ovu prijavu "
+
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:249
+msgid "Please provide some text as well as a photo"
+msgstr "Molimo vas navedite neki tekst kao i fotografiju"
+
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:115
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:235
+msgid "Please say whether you've ever reported a problem to your council before"
+msgstr "Molimo vas recite da li ste ikada ranije prijavili problem vašoj skupštini "
+
+#: templates/web/zurich/admin/report_edit.html:204
+msgid "Please select a body."
+msgstr "Molimo vas odaberite direkciju."
+
+#: perllib/FixMyStreet/App/Controller/Alert.pm:83
+msgid "Please select the feed you want"
+msgstr "Molimo vas izaberite vest koju želite"
+
+#: perllib/FixMyStreet/App/Controller/Alert.pm:131
+msgid "Please select the type of alert you want"
+msgstr "Molimo vas iznesite da li je problem rešen ili ne "
+
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:231
+msgid "Please state whether or not the problem has been fixed"
+msgstr "Molimo vas iznesite da li je problem rešen ili ne "
+
+#: perllib/FixMyStreet/App/Model/PhotoSet.pm:122
+#: perllib/FixMyStreet/App/Model/PhotoSet.pm:156
+#: perllib/FixMyStreet/App/Model/PhotoSet.pm:158
+#: templates/web/base/js/translation_strings.html:60
+msgid "Please upload an image only"
+msgstr "Molimo vas postavite samo sliku"
+
+#: perllib/FixMyStreet/App/Controller/Contact.pm:116
+msgid "Please write a message"
+msgstr "Molimo vas napišite poruku"
+
+#: templates/web/base/report/update/form_update.html:36
+msgid "Please write your update here"
+msgstr "Molimo vas napišite vaše najnovije informacije ovde"
+
+#: templates/web/base/report/update-form.html:25
+#: templates/web/base/report/update/form_user_loggedout_by_email.html:14
+#: templates/web/base/report/update/form_user_loggedout_password.html:10
+msgid "Post"
+msgstr "Postavi"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:231
+msgid "Posted anonymously at %s"
+msgstr "Postavljeno anonimno u %s"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:255
+msgid "Posted by %s at %s"
+msgstr "Postavio %s na %s"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:243
+msgid "Posted by <strong>%s</strong> (%s) at %s"
+msgstr "Postavio <strong>%s</strong> (%s) na %s"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:245
+msgid "Posted by <strong>%s</strong> at %s"
+msgstr "Postavio <strong>%s</strong> na %s"
+
+#: templates/web/base/front/footer-marketing.html:6
+msgid "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
+msgstr "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">Ndreqe.com Platform</a>"
+
+#: templates/web/base/pagination.html:4
+msgid "Previous"
+msgstr "Prethodni"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:665
+msgid "Priorities"
+msgstr "Prioriteti"
+
+#: templates/web/base/report/_inspect.html:123
+#: templates/web/base/report/_item.html:100
+msgid "Priority"
+msgstr "Prioritet"
+
+#: templates/web/base/main_nav_items.html:43
+msgid "Privacy"
+msgstr "Privatnost"
+
+#: templates/web/base/about/_sidebar.html:5
+#: templates/web/base/about/privacy.html:1
+#: templates/web/base/about/privacy.html:2
+msgid "Privacy and cookies"
+msgstr "Privatnost i kolaÄići"
+
+#: templates/web/base/admin/body.html:88
+#: templates/web/base/admin/contact-form.html:75
+#: templates/web/base/admin/report_edit.html:137
+msgid "Private"
+msgstr "Privatan"
+
+#: templates/web/base/report/new/form_user.html:1
+msgid "Private details"
+msgstr ""
+
+#: templates/web/base/maps/pin.html:13
+msgid "Problem"
+msgstr "Problem"
+
+#: templates/web/base/admin/timeline.html:22
+msgid "Problem %d created"
+msgstr "Problem %d kreiran"
+
+#: templates/web/base/admin/timeline.html:24
+msgid "Problem %s confirmed"
+msgstr "Problem %s potvrđen"
+
+#: templates/web/base/admin/timeline.html:26
+msgid "Problem %s sent to council %s"
+msgstr "Problem %s poslat skupštini %s"
+
+#: templates/web/base/admin/stats.html:57
+#: templates/web/base/admin/stats_by_state.html:12
+#: templates/web/zurich/admin/index.html:9
+msgid "Problem breakdown by state"
+msgstr "Pregled problema po stanju"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1272
+msgid "Problem marked as open."
+msgstr "Problem oznaÄen kao otvoren."
+
+#: templates/web/base/admin/questionnaire.html:21
+msgid "Problem state change based on survey results"
+msgstr "Promena stanja predmeta na osnovu rezultata ankete "
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:709
+#: templates/web/base/admin/flagged.html:10
+msgid "Problems"
+msgstr "Problemi"
+
+#: templates/web/base/alert/_list.html:22
+#, fuzzy
+msgid "Problems in an area"
+msgstr "Problemi u okviru %s naselja"
+
+#: templates/web/base/report/display_tools.html:22
+msgid "Problems nearby"
+msgstr "Problemi u blizini"
+
+#: templates/web/base/report/display_tools.html:20
+msgid "Problems on the map"
+msgstr "Problemi na mapi"
+
+#: db/alert_types.pl:14
+msgid "Problems recently reported fixed on FixMyStreet"
+msgstr "Nedavno prijavljeni problemi sređeni na Sredimojuulicu"
+
+#: templates/web/base/alert/_list.html:29
+#, fuzzy
+msgid "Problems within %.1fkm of %s"
+msgstr "Problemi u okviru %.1fkm od ove lokacije"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:838
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:137
+#: perllib/FixMyStreet/Cobrand/UK.pm:215 perllib/FixMyStreet/Cobrand/UK.pm:257
+#: perllib/FixMyStreet/Cobrand/UK.pm:269
+msgid "Problems within %s"
+msgstr "Problemi u okviru %s"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:229
+msgid "Problems within %s ward"
+msgstr "Problemi u okviru %s naselja"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:263 perllib/FixMyStreet/Cobrand/UK.pm:275
+#, fuzzy
+msgid "Problems within %s ward, %s"
+msgstr "Problemi u okviru %s naselja"
+
+#. ("First %s is the body name, second %s the site name")
+#: templates/web/base/reports/body.html:0
+#: templates/web/base/reports/body.html:25
+msgid "Problems within %s, %s"
+msgstr "Problemi u okviru %s, %s"
+
+#: templates/web/base/admin/report_edit.html:74
+msgid "Property address:"
+msgstr "Adresa imovine:"
+
+#: templates/web/base/report/duplicate-no-updates.html:2
+#: templates/web/base/report/update-form.html:6
+msgid "Provide an update"
+msgstr "Pruži najnovije informacije"
+
+#: templates/web/base/report/update/form_name.html:10
+msgid "Provide update as"
+msgstr ""
+
+#: templates/web/base/auth/general.html:114
+msgid "Providing a name and password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
+msgstr "Pružanje imena i lozinke je opcionalno, ali će isto dozvoliti da se lakše prijave problemi, daju najnovije informacije i u ravlja vašim prijavama."
+
+#: templates/web/base/report/new/form_user_loggedout_by_email.html:31
+#: templates/web/base/report/update/form_user_loggedout_by_email.html:9
+msgid "Providing a password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
+msgstr "Pružanje lozinke je opcionalno, ali će vam omogućiti da lakše prijavite probleme, da ostavite najnovije informacije i upravljate vašim prijavama."
+
+#: templates/web/base/report/new/form_report.html:10
+msgid "Public details"
+msgstr ""
+
+#: templates/web/zurich/admin/report_edit.html:241
+#: templates/web/zurich/admin/report_edit.html:268
+msgid "Public response:"
+msgstr "Javni odgovor:"
+
+#: templates/web/base/report/_inspect.html:162
+msgid "Public update:"
+msgstr "Javne informacije:"
+
+#: templates/web/zurich/admin/report_edit.html:123
+#: templates/web/zurich/admin/stats.html:38
+msgid "Publish photo"
+msgstr "Objavi fotografiju"
+
+#: templates/web/base/questionnaire/completed.html:1
+#: templates/web/base/questionnaire/index.html:0
+#: templates/web/base/questionnaire/index.html:14
+#: templates/web/base/questionnaire/index.html:5
+msgid "Questionnaire"
+msgstr "Upitnik"
+
+#: templates/web/base/admin/timeline.html:30
+msgid "Questionnaire %d answered for problem %d, %s to %s"
+msgstr "Upitnik %d odgovorio na problem %d, %s to %s"
+
+#: templates/web/base/admin/timeline.html:28
+msgid "Questionnaire %d sent for problem %d"
+msgstr "Upitnik %d poslat za problem %d"
+
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:191
+msgid "Questionnaire filled in by problem reporter"
+msgstr "Upitnik popunio podnosilac problema "
+
+#: templates/web/base/alert/_list.html:26
+#: templates/web/base/alert/updates.html:9
+#: templates/web/base/around/display_location.html:1
+#: templates/web/base/around/display_location.html:3
+#: templates/web/base/report/display_tools.html:42
+msgid "RSS feed"
+msgstr "RSS vesti"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
+msgid "RSS feed for %s"
+msgstr "RSS vesti %s"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:264 perllib/FixMyStreet/Cobrand/UK.pm:276
+msgid "RSS feed for %s ward, %s"
+msgstr "RSS vesti za %s naselje, %s"
+
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:153
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:179
+#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
+msgid "RSS feed of %s"
+msgstr "RSS vesti %s"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
+msgid "RSS feed of %s, within %s ward"
+msgstr "RSS vesti %s, u okviru %s naselja"
+
+#: templates/web/base/alert/_list.html:26
+msgid "RSS feed of nearby problems"
+msgstr "RSS vesti o obližnjim problemima"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:839
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:136
+#: perllib/FixMyStreet/Cobrand/UK.pm:222
+msgid "RSS feed of problems within %s"
+msgstr "RSS vesti %s, u okviru %s "
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:228
+msgid "RSS feed of problems within %s ward"
+msgstr "RSS vesti %s, u okviru %s naselja"
+
+#: templates/web/base/around/display_location.html:1
+#: templates/web/base/around/display_location.html:4
+msgid "RSS feed of recent local problems"
+msgstr "RSS vesti o nedavnim lokalnim potrebama"
+
+#: templates/web/base/alert/updates.html:9
+#: templates/web/base/report/display_tools.html:42
+msgid "RSS feed of updates to this problem"
+msgstr "RSS vesti o najnovijim informacijama o ovom problemu"
+
+#: templates/web/base/alert/updates.html:14
+#: templates/web/base/report/display_tools.html:44
+msgid "Receive email when updates are left on this problem."
+msgstr "Primi e-mejl kada su navedene najnovije informacije o ovom problemu."
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:738
+msgid "Received by %s moments later"
+msgstr "Primio %s par trenutaka kasnije"
+
+#. ("%s is the site name")
+#: templates/web/base/around/display_location.html:0
+#: templates/web/base/around/display_location.html:35
+msgid "Recent local problems, %s"
+msgstr "Nedavni lokalni problemi, %s"
+
+#: templates/web/base/front/recent.html:11
+msgid "Recently reported problems"
+msgstr "Nedavno prijavljeno problema"
+
+#: templates/web/base/reports/_list-filters.html:60
+msgid "Recently updated"
+msgstr "Nedavno ažurirano"
+
+#: templates/web/zurich/report/new/notes.html:5
+msgid "Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. If your problem is not appropriate for submission via this site remember that you can contact your council directly using their own website."
+msgstr "Zapamti da je Sredimojuulicu prvenstveno namenjeno za prijavljivanje fiziÄkih problema koji se mogu srediti. Ukoliko vaÅ¡ problem nije odgovarajući da bude podnet preko ove stranice zapamti da možeÅ¡ da kontaktiraÅ¡ skupÅ¡tinu direktno korišćenjem njihove internet stranice."
+
+#: templates/web/base/admin/extra-metadata-form.html:68
+#, fuzzy
+msgid "Remove"
+msgstr "Ukloni oznaku"
+
+#: templates/web/base/admin/extra-metadata-form.html:4
+#, fuzzy
+msgid "Remove field"
+msgstr "Ukloni oznaku"
+
+#: templates/web/base/admin/report_blocks.html:23
+msgid "Remove flag"
+msgstr "Ukloni oznaku"
+
+#: templates/web/base/report/_item.html:12
+#: templates/web/base/report/_item.html:9
+#: templates/web/base/report/_main.html:138
+#: templates/web/base/report/_main.html:18
+#: templates/web/base/report/_main.html:26
+msgid "Remove from shortlist"
+msgstr "Ukloni iz užeg kruga"
+
+#: templates/web/base/report/display_tools.html:6
+msgid "Remove from site"
+msgstr "Ukloni sa internet stranice"
+
+#: templates/web/base/admin/report_edit.html:154
+#: templates/web/base/admin/update_edit.html:69
+#: templates/web/zurich/admin/update_edit.html:35
+msgid "Remove photo (can't be undone!)"
+msgstr "Ukloni sliku (ne može se vratiti korak unazad!)"
+
+#: templates/web/zurich/admin/report_edit.html:239
+msgid "Reply to user:"
+msgstr "Odgovori korisniku:"
+
+#: templates/web/base/header_logo.html:2
+msgid "Report"
+msgstr "Prijavi"
+
+#: templates/web/base/report/_inspect.html:14
+#: templates/web/base/report/_item.html:78
+msgid "Report ID:"
+msgstr "ID prijave:"
+
+#: templates/web/base/header_logo.html:2
+#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:18
+#: templates/web/zurich/nav_over_content.html:4
+msgid "Report a problem"
+msgstr "Prijavi problem"
+
+#: templates/web/base/report/display_tools.html:10
+#: templates/web/base/report/display_tools.html:9
+msgid "Report abuse"
+msgstr "Prijavi zloupotrebu"
+
+#: templates/web/base/report/new/form_user_loggedin.html:17
+msgid "Report as"
+msgstr "Prijavi kao"
+
+#: perllib/FixMyStreet/App/Controller/Rss.pm:298
+msgid "Report on %s"
+msgstr "Prijavi u %s"
+
+#: templates/web/base/dashboard/index.html:137
+msgid "Report state:"
+msgstr ""
+
+#: templates/web/base/report/new/fill_in_details_form.html:1
+#: templates/web/base/report/new/login_success_form.html:1
+#: templates/web/base/report/new/oauth_email_form.html:1
+msgid "Report your problem"
+msgstr "Prijavi svoj problem"
+
+#: templates/web/base/around/intro.html:1
+#: templates/web/zurich/around/intro.html:1
+msgid "Report, view, or discuss local problems"
+msgstr "Prijavi, pregledaj ili diskutuj o lokalnim problemima"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:590
+#: templates/web/base/contact/index.html:55
+msgid "Reported anonymously at %s"
+msgstr "Prijavljeni anonimno u %s"
+
+#: templates/web/base/admin/questionnaire.html:5
+#: templates/web/base/questionnaire/index.html:64
+msgid "Reported before"
+msgstr "Prijavljeni ranije"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:614
+#: templates/web/base/contact/index.html:57
+msgid "Reported by %s at %s"
+msgstr "Prijavio %s u %s"
+
+#: templates/web/zurich/admin/report_edit-sdm.html:60
+#: templates/web/zurich/admin/report_edit.html:88
+msgid "Reported by:"
+msgstr "Prijavio:"
+
+#: templates/web/zurich/report/_main.html:2
+msgid "Reported in the %s category"
+msgstr "Prijavljeno u kategoriji %s "
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:587
+msgid "Reported in the %s category anonymously at %s"
+msgstr "Prijavljeno u kategoriji %s anonimno u %s"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:611
+msgid "Reported in the %s category by %s at %s"
+msgstr "Prijavljeno u kategoriji %s %s u %s"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:584
+msgid "Reported via %s anonymously at %s"
+msgstr "Prijavljeno putem %s anonimno u %s"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:608
+msgid "Reported via %s by %s at %s"
+msgstr "Prijavljeno putem %s od strane %s u %s"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:581
+msgid "Reported via %s in the %s category anonymously at %s"
+msgstr "Prijavljeno putem %s u kategoriji %s anonimno u %s"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
+msgid "Reported via %s in the %s category by %s at %s"
+msgstr "Prijavljeno putem %s u kategoriji %s od strane %s u %s"
+
+#: templates/web/zurich/admin/report_edit-sdm.html:38
+#: templates/web/zurich/admin/report_edit.html:57
+msgid "Reported:"
+msgstr "Prijavio:"
+
+#: templates/web/base/around/index.html:2
+#: templates/web/base/around/lookup_by_ref.html:2
+#: templates/web/base/js/translation_strings.html:42
+#: templates/web/base/report/new/fill_in_details.html:0
+#: templates/web/base/report/new/fill_in_details.html:8
+#: templates/web/zurich/report/new/fill_in_details_form.html:4
+msgid "Reporting a problem"
+msgstr "Prijavljivanje problema"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:655
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:388
+#: templates/web/base/dashboard/index.html:134
+#: templates/web/zurich/header.html:52
+msgid "Reports"
+msgstr "Prijave"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:333 perllib/FixMyStreet/Cobrand/UK.pm:335
+msgid "Reports are limited to %s characters in length. Please shorten your report"
+msgstr "Prijave su ograniÄene na %s karaktera u dužini. Molimo vas skratite vaÅ¡u prijavu"
+
+#: templates/web/zurich/admin/index-sdm.html:7
+msgid "Reports awaiting approval"
+msgstr "Prijave Äekaju na odobrenje"
+
+#: templates/web/base/alert/_list.html:54
+#, fuzzy
+msgid "Reports by destination"
+msgstr "Prijavio %s u %s"
+
+#: templates/web/base/admin/user-form.html:107
+msgid "Reports made by trusted users will be sent to the responsible body without being inspected first."
+msgstr "Prijave pouzdanih korisnika šalju se odgovornom telu bez vršenja prethodne inspekcije."
+
+#: templates/web/base/alert/_list.html:15
+msgid "Reports near %s are sent to different councils, depending on the type of problem."
+msgstr ""
+
+#: templates/web/zurich/admin/index-sdm.html:10
+msgid "Reports published"
+msgstr "Objavljene prijave"
+
+#: templates/web/base/js/translation_strings.html:71
+msgid "Reports saved offline."
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#, fuzzy
+msgid "Reports sent to %s"
+msgstr "Prijavi u %s"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:290 perllib/FixMyStreet/Cobrand/UK.pm:302
+#, fuzzy
+msgid "Reports sent to %s, within %s ward"
+msgstr "RSS vesti %s, u okviru %s naselja"
+
+#: templates/web/base/admin/index.html:56
+msgid "Reports waiting to be sent"
+msgstr "Prijave koje Äekaju da budu poslate"
+
+#: templates/web/base/admin/contact-form.html:90
+msgid "Reports will automatically be sent without needing to be inspected if the user's <strong>reputation</strong> is at or above this value. Set to <strong>0</strong> if all reports must be inspected regardless."
+msgstr "Prijave se šalju automatski bez potrebe za inspekcijom ukoliko je ugled <strong>korisnika </strong> na ili iznad ove vrednosti. Podesi na <strong>0</strong> ukoliko se bez obzira na to, moraju pregledati sve prijave."
+
+#: templates/web/base/admin/contact-form.html:95
+msgid "Reputation threshold"
+msgstr "Ugled:"
+
+#: templates/web/base/admin/extra-metadata-form.html:20
+#, fuzzy
+msgid "Required"
+msgstr "Fotografija potrebna"
+
+#: templates/web/base/admin/report_edit.html:84
+msgid "Resend report"
+msgstr "Prioriteti odgovora"
+
+#: templates/web/base/admin/responsepriorities/index.html:1
+msgid "Response Priorities"
+msgstr "Prioriteti odgovora"
+
+#: templates/web/base/admin/responsepriorities/list.html:1
+msgid "Response Priorities for %s"
+msgstr "Prioriteti odgovora za %s"
+
+#: templates/web/base/admin/responsepriorities/edit.html:1
+msgid "Response Priority for %s"
+msgstr "Prioritet odgovora za %s"
+
+#: templates/web/base/admin/template_edit.html:1
+msgid "Response Template for %s"
+msgstr "Å ablon odgovora za %s"
+
+#: templates/web/base/admin/templates_index.html:1
+msgid "Response Templates"
+msgstr ""
+
+#: templates/web/base/admin/templates.html:1
+#: templates/web/base/admin/templates.html:4
+#: templates/web/zurich/admin/template_edit.html:1
+#: templates/web/zurich/admin/template_edit.html:4
+msgid "Response Templates for %s"
+msgstr ""
+
+#: templates/web/base/report/update.html:40
+msgid "Revert to original"
+msgstr ""
+
+#: templates/web/base/report/_main.html:99
+msgid "Revert to original text"
+msgstr ""
+
+#: templates/web/base/report/_main.html:50
+msgid "Revert to original title"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:28
+#: templates/web/base/js/translation_strings.html:40
+msgid "Right place?"
+msgstr "Pravo mesto?"
+
+#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:167
+#: perllib/FixMyStreet/Geocode/OSM.pm:152
+msgid "Road operator for this named road (derived from road reference number and type): %s"
+msgstr "Drumski operater za naziv ove ulice (proizilazi iz referentnog broja i vrste): %s"
+
+#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:164
+#: perllib/FixMyStreet/Geocode/OSM.pm:149
+msgid "Road operator for this named road (from OpenStreetMap): %s"
+msgstr "Drumski operater za naziv ove ulice (iz OpenStreetMap): %s"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1852
+#: templates/web/base/admin/report_edit.html:151
+#: templates/web/base/admin/update_edit.html:66
+#: templates/web/zurich/admin/report_edit.html:118
+msgid "Rotate Left"
+msgstr "Okreni levo"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: templates/web/base/admin/report_edit.html:152
+#: templates/web/base/admin/update_edit.html:67
+#: templates/web/zurich/admin/report_edit.html:119
+msgid "Rotate Right"
+msgstr "Okreni desno"
+
+#: templates/web/zurich/admin/report_edit.html:110
+msgid "Rotating this photo will discard unsaved changes to the report."
+msgstr "Okretanjem ove slike odbacuju se nesaÄuvane promene u izveÅ¡taju."
+
+#: templates/web/base/js/translation_strings.html:47
+#: templates/web/base/maps/google-ol.html:16
+msgid "Satellite"
+msgstr "Satelitski"
+
+#: templates/web/base/report/_inspect.html:182
+msgid "Save + close as duplicate"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:138
+#: templates/web/base/admin/reportextrafields/edit.html:64
+#: templates/web/base/admin/responsepriorities/edit.html:58
+#: templates/web/base/admin/template_edit.html:46
+#: templates/web/base/report/_inspect.html:182
+#: templates/web/base/report/_main.html:117
+#: templates/web/base/report/update.html:69
+#: templates/web/zurich/admin/body.html:62
+#: templates/web/zurich/admin/contact-form.html:22
+#: templates/web/zurich/admin/template_edit.html:29
+msgid "Save changes"
+msgstr "SaÄuvaj promene"
+
+#: templates/web/base/admin/reportextrafields/edit.html:64
+msgid "Save new fields"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:158
+msgid "Save with a public update"
+msgstr "SaÄuvaj javnim ažuriranjem"
+
+#. ("This is followed by a progress count, e.g. 3/5")
+#: templates/web/base/js/translation_strings.html:72
+msgid "Saving reports offline"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:132
+#, fuzzy
+msgid "Scheduled"
+msgstr "Planirane radnje"
+
+#: templates/web/base/admin/index.html:26
+#: templates/web/base/admin/reports.html:1
+#: templates/web/zurich/admin/reports.html:1
+msgid "Search Reports"
+msgstr "Pretraži prijave"
+
+#: templates/web/base/admin/index.html:32 templates/web/base/admin/users.html:1
+msgid "Search Users"
+msgstr "Pretraži korisnike"
+
+#: templates/web/zurich/header.html:74
+msgid "Search reports"
+msgstr "Pretraži prijave"
+
+#: templates/web/base/admin/reports.html:5
+#: templates/web/base/admin/users.html:8
+#: templates/web/zurich/admin/reports.html:5
+msgid "Search:"
+msgstr "Pretraga:"
+
+#: templates/web/base/admin/reports.html:27
+msgid "Searching found no reports."
+msgstr "Pretraga bez rezultata."
+
+#: templates/web/base/admin/users.html:42
+msgid "Searching found no users."
+msgstr "Pretragom nađeno nula korisnika."
+
+#: templates/web/base/report/new/councils_text_private.html:7
+#: templates/web/base/report/new/form_user.html:5
+msgid "See our privacy policy"
+msgstr "Vidi našu politiku privatnosti"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:720
+msgid "See user detail for reports created as the council"
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:41
+#: templates/web/zurich/admin/body-form.html:16
+msgid "Select a body"
+msgstr "Odaberi telo"
+
+#: templates/web/base/admin/body-form.html:79
+#: templates/web/zurich/admin/body-form.html:26
+msgid "Select an area"
+msgstr "Izaberi oblast"
+
+#: templates/web/base/admin/responsepriorities/edit.html:33
+msgid "Select if this is the default priority"
+msgstr ""
+
+#: templates/web/base/admin/category-checkboxes.html:6
+msgid "Select:"
+msgstr "Odaberi:"
+
+#: templates/web/base/contact/index.html:107
+msgid "Send"
+msgstr ""
+
+#: templates/web/base/admin/open311-form-fields.html:109
+msgid "Send extended Open311 statuses with service request updates"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:831
+msgid "Sent report back"
+msgstr "Pošalji prijavu nazad"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:741
+msgid "Sent to %s %s later"
+msgstr "Poslato %s %s kasnije"
+
+#: templates/web/base/admin/report_edit.html:79
+msgid "Sent:"
+msgstr "Poslato:"
+
+#: templates/web/base/admin/report_edit.html:90
+#: templates/web/zurich/admin/stats.html:45
+msgid "Service:"
+msgstr "Usluga:"
+
+#: templates/web/base/report/_inspect.html:41
+msgid "Set to my current location"
+msgstr "Postavi na moju aktuelnu lokaciju"
+
+#: templates/web/base/report/display_tools.html:17
+msgid "Share"
+msgstr "Podeli"
+
+#: templates/web/base/main_nav_items.html:10
+#: templates/web/base/report/_main.html:140
+#: templates/web/base/report/_main.html:21
+#: templates/web/base/report/_main.html:29
+msgid "Shortlist"
+msgstr "Uži krug"
+
+#: templates/web/base/reports/body.html:32
+msgid "Shortlist all visible"
+msgstr ""
+
+#: templates/web/base/report/_main.html:138
+#: templates/web/base/report/_main.html:20
+#: templates/web/base/report/_main.html:25
+#: templates/web/base/reports/_list-filters.html:9
+msgid "Shortlisted"
+msgstr "UbaÄen u uži krug"
+
+#: templates/web/base/report/_item.html:15
+#: templates/web/base/report/_main.html:148
+msgid "Shortlisted by %s"
+msgstr "Ubacio u uži krug %s"
+
+#: templates/web/base/report/update.html:20
+msgid "Show Photo?"
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:26
+msgid "Show all updates"
+msgstr ""
+
+#: templates/web/base/report/new/form_user_loggedin.html:56
+#: templates/web/base/report/new/form_user_loggedout_by_email.html:22
+#: templates/web/base/report/update/form_name.html:37
+msgid "Show my name publicly"
+msgstr "Prikaži moje ime javno"
+
+#: templates/web/base/report/update.html:17
+msgid "Show name publicly?"
+msgstr ""
+
+#: templates/web/base/around/display_location.html:69
+msgid "Show old"
+msgstr "Prikaži stare"
+
+#: templates/web/base/report/_main.html:83
+msgid "Show photo"
+msgstr ""
+
+#: templates/web/base/around/display_location.html:60
+#: templates/web/base/js/translation_strings.html:54
+msgid "Show pins"
+msgstr "Prikaži oznake"
+
+#: templates/web/base/report/_main.html:60
+msgid "Show reporter&rsquo;s name"
+msgstr ""
+
+#: templates/web/base/reports/index.html:62
+msgid "Show reports in your area"
+msgstr ""
+
+#: templates/web/base/auth/general.html:119
+#: templates/web/base/auth/general.html:3
+#: templates/web/base/auth/general.html:88
+#: templates/web/base/main_nav_items.html:6
+#: templates/web/zurich/auth/general.html:18
+#: templates/web/zurich/auth/general.html:35
+msgid "Sign in"
+msgstr "Upiši se"
+
+#: templates/web/base/auth/general.html:98
+msgid "Sign in by email instead, providing a new password. When you click the link in your email, your password will be updated."
+msgstr "Umesto toga, upiši se e-mejlom, unošenjem nove lozinke. Kada kliknete na link u vašem e-mejlu, ažuriraće se vaša lozinka."
+
+#: templates/web/base/auth/general.html:1
+#: templates/web/zurich/auth/general.html:1
+msgid "Sign in or create an account"
+msgstr "UpiÅ¡i se ili otvori raÄun"
+
+#: templates/web/base/auth/sign_out.html:1 templates/web/base/my/my.html:25
+#: templates/web/zurich/auth/sign_out.html:1
+msgid "Sign out"
+msgstr "Ispiši se"
+
+#: templates/web/base/report/new/fill_in_details_text.html:1
+msgid "Some categories may require additional information."
+msgstr "Neke kategorije mogu iziskivati dodatne informacije."
+
+#: templates/web/base/admin/open311-form-fields.html:40
+#: templates/web/base/admin/open311-form-fields.html:41
+msgid ""
+"Some endpoints require an <strong>API key</strong> to indicate that the reports are being\n"
+" sent from your FixMyStreet installation."
+msgstr ""
+"Some endpoints require an <strong>API key</strong> to indicate that the reports are being\n"
+" sent from your FixMyStreet installation."
+
+#: templates/web/base/alert/index.html:40
+msgid "Some photos of recent reports"
+msgstr "Neke fotografije nedavnih prijava"
+
+#. ('Optional comment for translator')
+#: perllib/FixMyStreet/Template.pm:53
+msgid "Some text to localize"
+msgstr "Tekst koji treba pronaći"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:80
+msgid "Sorry, that appears to be a Crown dependency postcode, which we don't cover."
+msgstr "Izvinite, ovo je Crown poštanski broj koji ne pokrivamo."
+
+#: templates/web/base/auth/token.html:8
+msgid "Sorry, that wasn&rsquo;t a valid link"
+msgstr "Izvinite, ovo nije&rsquo;t važeći link"
+
+#: templates/web/base/tokens/abuse.html:5
+msgid "Sorry, there has been an error confirming your problem."
+msgstr "Izvinite, nastala je greška u potvrđivanju vašeg problema."
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:235
+#: perllib/FixMyStreet/Geocode.pm:37 perllib/FixMyStreet/Geocode/Bing.pm:38
+#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:56
+#: perllib/FixMyStreet/Geocode/OSM.pm:48
+msgid "Sorry, we could not find that location."
+msgstr "Izvinite, nismo mogli da nađemo datu lokaciju."
+
+#: templates/web/base/auth/general.html:11
+#: templates/web/base/report/display.html:29
+#: templates/web/base/report/new/fill_in_details_form.html:15
+msgid "Sorry, we could not log you in. Please fill in the form below."
+msgstr "Izvinite, nismo uspeli da vas upišemo u sistem. Molimo vas popunite obrazac ispod."
+
+#: perllib/FixMyStreet/Geocode/Bing.pm:35
+#: perllib/FixMyStreet/Geocode/Google.pm:45
+#: perllib/FixMyStreet/Geocode/Zurich.pm:88
+msgid "Sorry, we could not parse that location. Please try again."
+msgstr "Izvinite, nismo mogli da shvatimo datu lokaciju. Molimo vas pokušajte ponovo."
+
+#: perllib/FixMyStreet/App/Model/PhotoSet.pm:139
+msgid "Sorry, we couldn't save your image(s), please try again."
+msgstr "Izvinite, nismo uspeli da saÄuvamo vaÅ¡e slike, molimo vas pokuÅ¡ajte ponovo."
+
+#: templates/web/base/offline/appcache.html:5
+msgid ""
+"Sorry, we don’t have a good enough connection to fetch that page, or the\n"
+"page wasn’t found or there was a server error. Please try again later."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Root.pm:124
+msgid "Sorry, you don't have permission to do that."
+msgstr "Izvinite, nemate dozvolu da to uÄinite."
+
+#: templates/web/base/reports/_list-filters.html:53
+msgid "Sort by"
+msgstr "Sortiraj po"
+
+#: templates/web/base/admin/user-form.html:47
+msgid "Staff users have permission to log in to the admin."
+msgstr "Korisnici iz reda osoblja imaju dozvolu da se upišu u admin."
+
+#: templates/web/base/admin/user-form.html:50
+msgid "Staff:"
+msgstr "Osoblje:"
+
+#: templates/web/base/admin/stats.html:71
+msgid "Start Date:"
+msgstr "Datum poÄetka:"
+
+#: templates/web/base/admin/body.html:73
+#: templates/web/base/admin/category_edit.html:29
+#: templates/web/base/admin/contact-form.html:53
+#: templates/web/base/admin/flagged.html:18
+#: templates/web/base/admin/index.html:64
+#: templates/web/base/admin/list_updates.html:11
+#: templates/web/base/admin/reports.html:16
+#: templates/web/base/admin/template_edit.html:40
+#: templates/web/base/report/_inspect.html:82
+#: templates/web/base/report/_item.html:96
+#: templates/web/base/report/update/form_update.html:39
+#: templates/web/zurich/admin/contact-form.html:10
+msgid "State"
+msgstr "Država"
+
+#: templates/web/base/report/update.html:48
+#, fuzzy
+msgid "State changed to:"
+msgstr "SaÄuvaj promene"
+
+#: templates/web/base/admin/report_edit.html:116
+#: templates/web/base/admin/update_edit.html:28
+#: templates/web/zurich/admin/report_edit-sdm.html:75
+#: templates/web/zurich/admin/report_edit.html:103
+#: templates/web/zurich/admin/report_edit.html:151
+#: templates/web/zurich/admin/update_edit.html:17
+msgid "State:"
+msgstr "Statistike"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: templates/web/base/admin/states/index.html:1
+#, fuzzy
+msgid "States"
+msgstr "Država"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
+#: templates/web/base/admin/index.html:71 templates/web/base/admin/stats.html:1
+#: templates/web/base/admin/stats_by_state.html:1
+#: templates/web/zurich/admin/stats.html:1 templates/web/zurich/header.html:65
+msgid "Stats"
+msgstr ""
+
+#: templates/web/zurich/admin/index-dm.html:23
+#: templates/web/zurich/admin/index-sdm.html:21
+#: templates/web/zurich/admin/reports.html:13
+msgid "Status"
+msgstr "Status"
+
+#: templates/web/base/report/updates.html:10
+msgid "Still open, via questionnaire, %s"
+msgstr "I dalje otvoren, putem upitnika, %s"
+
+#: templates/web/zurich/admin/report_edit-sdm.html:27
+#: templates/web/zurich/admin/report_edit.html:28
+msgid "Street View"
+msgstr "Izgled ulice"
+
+#: templates/web/base/admin/extra-metadata-form.html:46
+msgid "String"
+msgstr ""
+
+#: perllib/FixMyStreet/Script/Reports.pm:192
+msgid "Subcategory: %s"
+msgstr "Pod-kategorija: %s"
+
+#: templates/web/zurich/admin/index-dm.html:27
+msgid "Subdivision/Body"
+msgstr "Odsek/direkcija"
+
+#: templates/web/base/contact/index.html:92
+msgid "Subject"
+msgstr "Predmet"
+
+#: templates/web/base/admin/report_edit.html:110
+#: templates/web/zurich/admin/report_edit.html:41
+msgid "Subject:"
+msgstr "Predmet"
+
+#: templates/web/base/questionnaire/creator_fixed.html:19
+#: templates/web/base/report/new/form_user_loggedin.html:63
+#: templates/web/base/report/new/form_user_loggedout_by_email.html:36
+#: templates/web/base/report/new/form_user_loggedout_password.html:11
+#: templates/web/zurich/report/new/fill_in_details_form.html:73
+msgid "Submit"
+msgstr "Podnesi"
+
+#: templates/web/base/admin/report_edit.html:162
+#: templates/web/base/admin/report_edit.html:24
+#: templates/web/base/admin/update_edit.html:77
+#: templates/web/base/admin/user-form.html:170
+#: templates/web/zurich/admin/report_edit-sdm.html:124
+#: templates/web/zurich/admin/report_edit.html:264
+#: templates/web/zurich/admin/update_edit.html:38
+msgid "Submit changes"
+msgstr "Podnesi promene"
+
+#: templates/web/base/questionnaire/index.html:110
+msgid "Submit questionnaire"
+msgstr "Podnesi upitnik"
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:898
+#: templates/web/zurich/admin/header.html:1
+#: templates/web/zurich/admin/header.html:6
+#: templates/web/zurich/admin/index-dm.html:23
+#: templates/web/zurich/admin/index-dm.html:6
+#: templates/web/zurich/admin/index-sdm.html:21
+#: templates/web/zurich/admin/reports.html:13
+msgid "Submitted"
+msgstr "Podneo"
+
+#: templates/web/base/alert/_list.html:77
+#: templates/web/base/alert/_list.html:80
+#: templates/web/base/alert/updates.html:23
+#: templates/web/base/report/display_tools.html:51
+msgid "Subscribe"
+msgstr "Pretplati se"
+
+#: templates/web/base/alert/_list.html:72
+#, fuzzy
+msgid "Subscribe by email"
+msgstr "Pretplati me na e-mejl obaveštenja"
+
+#: templates/web/base/report/new/form_report.html:19
+msgid "Summarise the problem"
+msgstr "Rezimiraj problem"
+
+#: templates/web/base/admin/contact-form.html:130
+msgid "Summarise your changes"
+msgstr "Rezimiraj vaše promene"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:637
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:387
+#: templates/web/base/admin/bodies.html:29
+#: templates/web/base/admin/index.html:1 templates/web/base/status/index.html:1
+#: templates/web/base/status/index.html:3
+#: templates/web/zurich/admin/index-dm.html:1
+#: templates/web/zurich/admin/index-sdm.html:1
+#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:12
+#: templates/web/zurich/header.html:49
+msgid "Summary"
+msgstr "Rezime"
+
+#: templates/web/zurich/reports/index.html:0
+#: templates/web/zurich/reports/index.html:4
+msgid "Summary reports"
+msgstr "Kratki izveštaji"
+
+#: templates/web/base/admin/user-form.html:133
+msgid "Superuser:"
+msgstr "Superkorisnik:"
+
+#: templates/web/base/admin/user-form.html:130
+msgid "Superusers have permission to perform <strong>all actions</strong> within the admin."
+msgstr "Superkorisnici imaju dozvolu da obave <strong>sve radnje</strong> u sklopu admin."
+
+#: templates/web/base/admin/questionnaire.html:1
+#: templates/web/base/admin/stats.html:56
+msgid "Survey Results"
+msgstr "Rezultati ankete"
+
+#: templates/web/zurich/admin/template_edit.html:7
+msgid "Template &laquo;%s&raquo;"
+msgstr "Å ablon &laquo;%s&raquo;"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:661
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
+#: templates/web/zurich/header.html:69
+msgid "Templates"
+msgstr "Å abloni"
+
+#: templates/web/base/admin/list_updates.html:12
+#: templates/web/base/admin/templates.html:11
+msgid "Text"
+msgstr "Tekst"
+
+#: templates/web/base/admin/body.html:32
+msgid "Text only version"
+msgstr "Samo tekstualna verzija"
+
+#: templates/web/base/admin/template_edit.html:17
+#: templates/web/base/admin/update_edit.html:20
+#: templates/web/zurich/admin/template_edit.html:24
+#: templates/web/zurich/admin/update_edit.html:12
+msgid "Text:"
+msgstr "Hvala što ste prijavili ovo pitanje!"
+
+#: templates/web/base/tokens/confirm_problem.html:25
+msgid "Thank you for reporting this issue!"
+msgstr "Hvala vam što ste pokušali da potvrdite vaše najnovije informacije ili problem. Po svemu sudeći sami imamo greške, tako da <a href=\"%s\">vas molimo da nam kažete šta se dešavalo </a> i pogledaćemo to."
+
+#: templates/web/base/tokens/error.html:6
+msgid "Thank you for trying to confirm your update or problem. We seem to have an error ourselves though, so <a href=\"%s\">please let us know what went on</a> and we'll look into it."
+msgstr ""
+
+#: templates/web/base/tokens/confirm_update.html:16
+msgid "Thank you for updating this issue!"
+msgstr "Hvala vam što ste ažurirali ovo pitanje!"
+
+#: templates/web/base/contact/submit.html:6
+msgid "Thank you for your enquiry"
+msgstr "Hvala vam na upitu"
+
+#: templates/web/base/questionnaire/completed.html:5
+msgid "Thank you for your feedback"
+msgstr "Hvala vam na vašim povratnim informacijama"
+
+#: templates/web/base/around/_error_multiple.html:17
+msgid "Thanks for uploading your photo. We now need to locate your problem, so please enter a nearby street name or postcode in the box above&nbsp;:"
+msgstr "Hvala vam što ste postavili vašu fotografiju. Sada moramo da pronađemo vaš problem, tako da vas molimo da ubacite naziv ili poštanski broj obližnje ulice u rubriku gore &nbsp;:"
+
+#: templates/web/base/questionnaire/creator_fixed.html:9
+msgid "Thanks, glad to hear it's been fixed! Could we just ask if you have ever reported a problem to a council before?"
+msgstr "Hvala vam, drago nam je da Äujemo da je sreÄ‘eno! Da li samo možemo da vas upitamo da li ste ikada ovaj problem prijavili skupÅ¡tini i ranije?"
+
+#: perllib/FixMyStreet/App/Model/PhotoSet.pm:163
+msgid "That image doesn't appear to have uploaded correctly (%s), please try again."
+msgstr "Slika nije uÄitana ispravno (%s), molimo vas pokuÅ¡ajte ponovo."
+
+#: perllib/FixMyStreet/App/Controller/Council.pm:102
+msgid "That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again."
+msgstr "Skupština ne pokriva datu lokaciju; možda je na moru ili van zemlje. Molimo vas pokušajte ponovo."
+
+#: perllib/FixMyStreet/App/Controller/Location.pm:127
+msgid "That location does not appear to be in the UK; please try again."
+msgstr "Po svemu sudeći data lokacija nije na Kosovu; molimo vas pokušajte ponovo."
+
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:45
+#: perllib/FixMyStreet/Cobrand/FixaMinGata.pm:50
+#: perllib/FixMyStreet/Cobrand/UK.pm:73
+msgid "That postcode was not recognised, sorry."
+msgstr "Dati poštanski broj nije prepoznat, izvinite."
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:850
+msgid "That problem has been marked as sent."
+msgstr "Dati problem obeležen je kao poslat."
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:843
+msgid "That problem will now be resent."
+msgstr "Dati problem će sada biti ponovo poslat."
+
+#: perllib/FixMyStreet/App/Controller/Report.pm:134
+msgid "That report cannot be viewed on %s."
+msgstr "Data prijava ne može se pogledati na %s."
+
+#: perllib/FixMyStreet/App/Controller/Report.pm:128
+msgid "That report has been removed from FixMyStreet."
+msgstr "Data prijava uklonjena je sa Sredimojuulicu."
+
+#: templates/web/base/admin/contact-form.html:27
+msgid ""
+"The <strong>email address</strong> is the destination to which reports about this category will be sent. \n"
+" Other categories for this body may have the same email address."
+msgstr ""
+"E-mejl <strong>adresa</strong> predstavlja odredište na koju će biti poslati izveštaji o ovoj kategoriji.\n"
+"Druge kategorije ovog tela mogu imati istu e-mejl adresu."
+
+#: templates/web/base/admin/open311-form-fields.html:14
+#: templates/web/base/admin/open311-form-fields.html:15
+msgid ""
+"The <strong>endpoint</strong> is the URL of the service that FixMyStreet will connect to \n"
+" when sending reports to this body."
+msgstr ""
+"Poslednja taÄka <strong> </strong> zapravo je URL službe sa kojom će se povezati Sredimojuulicu\n"
+"prilikom slanja prijave ovoj direkciji."
+
+#: templates/web/base/admin/open311-form-fields.html:27
+#: templates/web/base/admin/open311-form-fields.html:28
+msgid ""
+"The <strong>jurisdiction</strong> is only needed if the endpoint is serving more\n"
+" than one. If the body is running its own endpoint, you can usually leave this blank."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:102
+#: templates/web/base/admin/body-form.html:103
+#: templates/web/base/admin/contact-form.html:104
+#: templates/web/base/admin/contact-form.html:105
+msgid ""
+"The <strong>send method</strong> determines how problem reports will be sent to the body.\n"
+" If you leave this blank, <strong>send method defaults to email</strong>."
+msgstr ""
+"Metod slanja <strong></strong> određuje kako će prijave o problemu biti poslate odnosnoj direkciji.\n"
+"Ukoliko ovo ne popunite, <strong>pošaljite automatsko podešavanje metode na e-mejl adresu</strong>."
+
+#: templates/web/base/open311/index.html:82
+msgid "The Open311 v2 attribute agency_responsible is used to list the administrations that received the problem report, which is not quite the way the attribute is defined in the Open311 v2 specification."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:17
+#: templates/web/base/admin/body-form.html:18
+msgid ""
+"The body's <strong>name</strong> identifies the body (for example, <em>Borsetshire District Council</em>)\n"
+" and may be displayed publically."
+msgstr ""
+"Ime <strong>direkcije</strong> identifikuje direkciju (na primer, <em>Direkcija javnih usluga</em>)\n"
+"i može se prikazati javno."
+
+#: templates/web/base/admin/extra-metadata-form.html:12
+msgid "The code used to store this field value in the database. e.g. <code>address</code> would be available as <code>problem.extra.address</code> in the templates."
+msgstr ""
+
+#: templates/web/base/report/new/fill_in_details_text.html:1
+#: templates/web/base/report/new/fill_in_details_text.html:3
+msgid "The council won&rsquo;t be able to help unless you leave as much detail as you can. Please describe the exact location of the problem (e.g. on a wall), what it is, how long it has been there, a description (and a photo of the problem if you have one), etc."
+msgstr "Direkcija neće&rsquo;t biti u stanju da vam pomogne ukoliko ne ostavite Å¡to je moguće viÅ¡e pojedinosti. Molimo vas opiÅ¡ite taÄnu lokaciju problema (npr. na zidu), Å¡ta je, koliko dugo je tu, opis (i sliku problema, ukoliko je imate), itd."
+
+#: templates/web/base/admin/edit-league.html:3
+#: templates/web/base/admin/edit-league.html:4
+msgid "The diligency prize league table shows editors' activity (who's been editing the most records)."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:63
+#: perllib/FixMyStreet/App/Controller/Reports.pm:103
+msgid "The error was: %s"
+msgstr "Greška je: %s"
+
+#: templates/web/base/admin/extra-metadata-form.html:30
+msgid "The field name as shown to the user on the report form."
+msgstr ""
+
+#: templates/web/base/open311/index.html:78
+msgid "The following Open311 v2 attributes are returned for each request: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
+msgstr ""
+
+#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:159
+#: perllib/FixMyStreet/Geocode/OSM.pm:144
+msgid "The following information about the nearest road might be inaccurate or irrelevant, if the problem is close to several roads or close to a road without a name registered in OpenStreetMap."
+msgstr "Sledeće informacije o najbližoj ulici možda su netaÄne ili irelevantne, ukoliko je problem u blizini nekoliko ulica ili u blizini ulice Äiji naziv nije registrovan u OpenStreetMap."
+
+#: db/alert_types.pl:19 db/alert_types.pl:23 db/alert_types.pl:27
+#: db/alert_types.pl:31
+msgid "The latest local problems reported by users"
+msgstr "Poslednji lokalni problemi koje su korisnici prijavili"
+
+#: db/alert_types.pl:35
+msgid "The latest problems for {{COUNCIL}} reported by users"
+msgstr "Poslednji problemi koje su korisnici prijavili {{COUNCIL}} "
+
+#: db/alert_types.pl:39
+msgid "The latest problems for {{COUNCIL}} within {{WARD}} ward reported by users"
+msgstr "Poslednji problemi koje su korisnici prijavili {{COUNCIL}} u sklopu {{WARD}} naselja"
+
+#: db/alert_types.pl:11
+msgid "The latest problems reported by users"
+msgstr "Poslednji problemi koje su korisnici prijavili"
+
+#: db/alert_types.pl:15
+msgid "The latest problems reported fixed by users"
+msgstr "Poslednji problemi koje su korisnici prijavili kao rešene"
+
+#: db/alert_types.pl:43
+msgid "The latest problems within {{NAME}}'s boundary reported by users"
+msgstr "Poslednji problemi u sklopu granica {{NAME}} koje su korisnici prijavili"
+
+#: templates/web/base/auth/token.html:9
+msgid "The link might have expired, or maybe you didn&rsquo;t quite copy and paste it correctly."
+msgstr "Link je možda istekao ili ga možda niste &rsquo;t ispravno kopirali i pejstirali."
+
+#: templates/web/base/admin/body-form.html:66
+msgid "The list of available areas is being provided by the MapIt service at %s."
+msgstr "Lista dostupnih oblasti pružena je uslugom MapIt u %s."
+
+#: templates/web/base/admin/extra-metadata-form.html:6
+msgid "The ordering of this field on the report page. Fields are shown in ascending order according to this value."
+msgstr ""
+
+#: templates/web/base/auth/change_password.html:22
+#: templates/web/base/auth/change_password.html:26
+msgid "The passwords do not match"
+msgstr "Lozinke se ne poklapaju"
+
+#: templates/web/base/errors/page_error_404_not_found.html:9
+msgid "The requested URL '%s' was not found on this server"
+msgstr "Traženi URL '%s' nije nađen na ovom serveru"
+
+#: templates/web/base/admin/extra-metadata-form.html:42
+msgid "The type of input field to show to the user. <strong>Text</strong> is a simple text field, <strong>List</strong> is a drop-down selection."
+msgstr ""
+
+#: perllib/FixMyStreet/Script/Reports.pm:96
+msgid "The user could not locate the problem on a map, but to see the area around the location they entered"
+msgstr "Korisnik nije mogao da pronađe problem na mapi, već samo da vidi oblast oko lokacije koju su uneli "
+
+#: templates/web/base/admin/user-form.html:10
+#: templates/web/base/admin/user-form.html:11
+msgid ""
+"The user's <strong>name</strong> is displayed publicly on reports that have not been marked <em>anonymous</em>.\n"
+" Names are not necessarily unique."
+msgstr ""
+"Naziv<strong>korisnika</strong> javno se prikazuje na prijavama koje nisu oznaÄene <em>kao anonimne</em>.\n"
+"Nazivi nisu nužno jedinstveni."
+
+#: templates/web/base/around/on_map_list_items.html:12
+#: templates/web/base/my/_problem-list.html:8
+#: templates/web/base/reports/_problem-list.html:13
+msgid "There are no reports to show."
+msgstr "Nema prijava za prikazivanje."
+
+#: perllib/FixMyStreet/App/Controller/Reports.pm:100
+msgid "There was a problem showing the All Reports page. Please try again later."
+msgstr "Nastao je problem u prikazivanju strane Sve prijave. Molimo vas probajte ponovo kasnije."
+
+#: perllib/FixMyStreet/App/Controller/Contact.pm:138
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:62
+msgid "There was a problem showing this page. Please try again later."
+msgstr "Nastao je problem u prikazivanju ove strane. Molimo vas probajte ponovo kasnije."
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:785
+#: perllib/FixMyStreet/App/Controller/Report/Update.pm:152
+#: templates/web/base/auth/general.html:55
+#: templates/web/zurich/auth/general.html:28
+msgid "There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the &lsquo;sign in by email&rsquo; section of the form."
+msgstr "Nastao je problem sa vašom kombinacijom e-mejla/lozinke. Ukoliko ne možete da se setite svoje lozinke ili je nemate, molimo vas popunite &lsquo;upišite se u odeljku na obrascu za email&rsquo;."
+
+#: perllib/FixMyStreet/App/Controller/Alert.pm:359
+msgid "There was a problem with your email/password combination. Please try again."
+msgstr "Postoji problem sa kombinacijom vašeg e-mejla/lozinke. Molimo vas pokušajte ponovo."
+
+#: perllib/FixMyStreet/App/Controller/Report/Update.pm:357
+msgid "There was a problem with your update. Please try again."
+msgstr "Bilo je problema sa vašim ažuriranjem. Molimo vas pokušajte ponovo."
+
+#: perllib/FixMyStreet/App/Controller/Contact.pm:142
+msgid "There were problems with your report. Please see below."
+msgstr "Ima problema sa vašom prijavom. Molimo vas vidite ispod."
+
+#: perllib/FixMyStreet/App/Controller/Report/Update.pm:392
+msgid "There were problems with your update. Please see below."
+msgstr "Ima problema sa vašom prijavom. Molimo vas vidite ispod."
+
+#: templates/web/base/admin/open311-form-fields.html:3
+#: templates/web/base/admin/open311-form-fields.html:4
+msgid ""
+"These settings are for bodies that use Open311 (or other back-end integration) to receive problem reports.<br>\n"
+" <strong>You don't need to set them if the Send Method is email.</strong>.\n"
+" For more information on Open311, see \n"
+" <a href='https://www.mysociety.org/2013/01/17/open311-explained/' class='admin-offsite-link'>this article</a>.\n"
+" "
+msgstr ""
+"Ova podešavanja važe za direkcije koje koriste Open311 (ili druge vidove pozadinske integracije) za dobijanje problemskih prijava.<br>\n"
+"<strong>Ne morate da ih podesite ukoliko je metoda slanja e-mejl.</strong>.\n"
+"Za podrobnije informacije o Open311, vidi \n"
+"<a href='https://www.mysociety.org/2013/01/17/open311-explained/' class='admin-offsite-link'>ovaj Älanak</a>."
+
+#: templates/web/base/report/new/councils_text.html:3
+#: templates/web/base/report/new/councils_text.html:4
+msgid "These will be published online for others to see, in accordance with our <a href=\"%s\">privacy policy</a>."
+msgstr "Iste će biti objavljene online kako bi ih ostali videli, u skladu sa našom <a href=\"%s\">politikom privatnosti</a>."
+
+#: templates/web/base/report/new/councils_text_all.html:4
+#: templates/web/base/report/new/councils_text_all.html:6
+msgid "These will be sent to <strong>%s</strong> and also published online for others to see, in accordance with our <a href=\"%s\">privacy policy</a>."
+msgstr "Iste će biti poslate <strong>%s</strong> i objavljene online kako bi ih drugi videli, u skladu sa našom <a href=\"%s\">politikom privatnosti</a>."
+
+#: templates/web/base/report/new/councils_text_private.html:5
+#: templates/web/base/report/new/form_user.html:4
+msgid "These will be sent to the council, but will never be shown online."
+msgstr "Iste će biti poslate skupštini, ali nikada neće biti prikazane online."
+
+#: templates/web/base/report/new/councils_text_private.html:3
+msgid "These will never be shown online."
+msgstr "Iste nikada neće biti prikazane online."
+
+#: templates/web/base/open311/index.html:69
+msgid "This API implementation is work in progress and not yet stabilized. It will change without warnings in the future."
+msgstr "Ova primena API je u toku i još uvek nije stabilizovana. Promeniće se bez ikakvog upozorenja ubuduće."
+
+#: templates/web/base/admin/body.html:48
+msgid ""
+"This body covers no area. This means that it has no jurisdiction over problems reported <em>at any location</em>.\n"
+" Consequently, none of its categories will appear in the drop-down category menu when users report problems.\n"
+" Currently, users <strong>cannot report problems to this body</strong>."
+msgstr ""
+"Ova direkcija ne pokriva nikakvo podruÄje. To znaÄi da nema jurisdikciju nad prijavljenim problemima <em>ni na jednoj lokaciji</em>.\n"
+"PoslediÄno, nijedna od njenih kategorija ne pojavljuje se u opadajućem meniju, kada korisnici prijavljuju probleme.\n"
+"U ovom trenutku, korisnici <strong>ne mogu prijavljivati probleme ovoj direkciji</strong>."
+
+#: templates/web/base/admin/body.html:58
+msgid "This body has no contacts. This means that currently problems reported to this body <strong>will not be sent</strong>."
+msgstr "Ova direkcija nema nikakve kontakte. To znaÄi da u ovom trenutku problemi koji se prijavljuju ovoj direkciji <strong>neće biti poslati</strong>."
+
+#: templates/web/base/admin/body-form.html:60
+#: templates/web/base/admin/body-form.html:61
+msgid ""
+"This body will only be sent reports for problems that are located in the <strong>area covered</strong>.\n"
+" A body will not receive any reports unless it covers at least one area."
+msgstr ""
+"Ovoj direkciji šalju se samo one prijave o problemima koji se nalaze u <strong>pokrivenoj oblasti</strong>.\n"
+"Direkcija neće primati nikakve prijave, sem u sluÄaju da pokriva najmanje jednu oblast ."
+
+#: perllib/FixMyStreet/Script/Reports.pm:199
+msgid "This email has been sent to both councils covering the location of the problem, as the user did not categorise it; please ignore it if you're not the correct council to deal with the issue, or let us know what category of problem this is so we can add it to our system."
+msgstr "Ovaj e-mejl poslat je obema direkcijama koje pokrivaju lokaciju problema, pošto je korisnik nije klasifikovao; molimo vas ignorišite je ukoliko niste prava direkcija koja treba da se pozabavi ovim pitanjem ili nam stavite na znanje koje je kategorije ovaj problem kako bismo mogli da ga dodamo u naš sistem."
+
+#: perllib/FixMyStreet/Script/Reports.pm:202
+msgid "This email has been sent to several councils covering the location of the problem, as the category selected is provided for all of them; please ignore it if you're not the correct council to deal with the issue."
+msgstr "Ovaj e-mejl poslat je nekolicini skupština koje pokrivaju lokaciju problema, pošto je odabrana kategorija pružena za sve njih; molimo vas ignorišite je ukoliko niste ispravna direkcija da se pozabavi ovim pitanjem."
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1017
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:910
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:954
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:971
+#: perllib/FixMyStreet/Cobrand/UK.pm:45
+msgid "This information is required"
+msgstr "Ova informacija je tražena"
+
+#: templates/web/base/debug_header.html:3
+msgid "This is a developer site; things might break at any time, and the database will be periodically deleted."
+msgstr "Ovo je veb stranica za programere; stvari se mogu pokvariti u svakom trenutku a baza podataka briÅ¡e se periodiÄno."
+
+#: templates/web/base/report/new/form_report.html:58
+msgid "This pothole has been here for two months and…"
+msgstr "Ova rupa je tu već dva meseca i…"
+
+#: templates/web/base/report/update/form_update.html:55
+msgid "This problem has been fixed"
+msgstr "Ovaj problem je sređen"
+
+#: templates/web/base/report/update/form_update.html:48
+msgid "This problem has not been fixed"
+msgstr "Ovaj problem nije sređen"
+
+#: templates/web/base/report/update/form_update.html:46
+msgid "This problem is still ongoing"
+msgstr ""
+
+#: templates/web/base/report/duplicate-no-updates.html:3
+msgid "This report is a duplicate. Please leave updates on the original report:"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:166
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:167
+#: templates/web/zurich/report/_main.html:14
+msgid "This report is awaiting moderation."
+msgstr "Ova prijava Äeka na moderatora."
+
+#: perllib/FixMyStreet/Script/Alerts.pm:98
+msgid "This report is currently marked as closed."
+msgstr "Ova prijava trenutno je oznaÄena kao zatvorena."
+
+#: perllib/FixMyStreet/Script/Alerts.pm:96
+msgid "This report is currently marked as fixed."
+msgstr "Ova prijava je trenutno oznaÄena kao sreÄ‘ena."
+
+#: perllib/FixMyStreet/Script/Alerts.pm:100
+msgid "This report is currently marked as open."
+msgstr "Ova prijava trenutno je obeležena kao otvorena."
+
+#: perllib/FixMyStreet/Script/Reports.pm:109
+msgid "This report was submitted anonymously"
+msgstr "Ova prijava podneta je anonimno"
+
+#: perllib/FixMyStreet/Script/Reports.pm:89
+msgid "This web page also contains a photo of the problem, provided by the user."
+msgstr "Ova internet stranica takođe sadrži fotografiju problema, koju je korisnik podneo."
+
+#: templates/web/zurich/admin/report_edit-sdm.html:119
+#: templates/web/zurich/admin/report_edit-sdm.html:78
+#: templates/web/zurich/admin/report_edit.html:106
+#: templates/web/zurich/admin/report_edit.html:144
+msgid "Time spent (in minutes):"
+msgstr "Potrošeno vreme (u minutima):"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:638
+#: templates/web/base/admin/timeline.html:1
+msgid "Timeline"
+msgstr "Vremenski okvir"
+
+#: templates/web/base/report/new/after_photo.html:1
+msgid "Tips for perfect photos"
+msgstr "Saveti za savršene fotografije"
+
+#: templates/web/base/admin/flagged.html:15
+#: templates/web/base/admin/index.html:61
+#: templates/web/base/admin/reports.html:13
+#: templates/web/base/admin/templates.html:10
+msgid "Title"
+msgstr "Naslov"
+
+#: templates/web/base/admin/template_edit.html:13
+#: templates/web/zurich/admin/template_edit.html:20
+msgid "Title:"
+msgstr "Da saznate kakva lokalna obaveštenja imamo za vas, molimo vas unesite vaš %s poštanski broj ili ime ulice i oblast:"
+
+#: templates/web/base/alert/index.html:25
+msgid "To find out what local alerts we have for you, please enter your %s postcode or street name and area:"
+msgstr "Da saznate kakva lokalna obaveštenja imamo za vas, molimo vas unesite vaš poštanski broj ili ime ulice i oblast "
+
+#: templates/web/base/alert/index.html:27
+msgid "To find out what local alerts we have for you, please enter your postcode or street name and area"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:19
+msgid "To limit this collection of fields to a single cobrand, select it here."
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:40
+msgid "To limit this collection of fields to a single language, select it here."
+msgstr ""
+
+#: perllib/FixMyStreet/Script/Reports.pm:95
+msgid "To view a map of the precise location of this issue"
+msgstr "Da pogledate mapu sa preciznom lokacijom ovog pitanja"
+
+#: templates/web/base/reports/index.html:97
+msgid "Top 5 most used categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:83
+msgid "Top 5 responsive councils"
+msgstr ""
+
+#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/stats.html:24
+#: templates/web/base/admin/stats.html:43
+#: templates/web/base/admin/stats_fix_rate.html:4
+#: templates/web/zurich/admin/stats.html:30
+msgid "Total"
+msgstr "Ukupno"
+
+#: templates/web/base/dashboard/index.html:97
+msgid "Total marked"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:71
+msgid "Total marked as fixed"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:125
+msgid "Total not marked"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:54
+#: templates/web/base/dashboard/index.html:56
+msgid "Total reports received"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:134
+#: templates/web/base/report/_item.html:104
+msgid "Traffic management required?"
+msgstr "Potrebno upravljanje saobraćajem?"
+
+#: templates/web/base/admin/_translations.html:7
+msgid "Translation"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:2
+msgid "Translations"
+msgstr ""
+
+#: templates/web/base/admin/user-form.html:111
+msgid "Trusted by bodies:"
+msgstr "Kojima veruju direkcije:"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:726
+msgid "Trusted to make reports that don't need to be inspected"
+msgstr "Verodostojan da podnosi prijave koje ne moraju da se proveravaju "
+
+#: templates/web/base/admin/user-form.html:119
+msgid "Trusted:"
+msgstr "Verodostojan:"
+
+#: templates/web/base/js/translation_strings.html:29
+msgid "Try again"
+msgstr "Probajte ponovo"
+
+#: templates/web/base/contact/submit.html:14
+msgid "Try emailing us directly:"
+msgstr "Pokušajte da nam direktno pošaljete e-mejl:"
+
+#: templates/web/base/admin/extra-metadata-form.html:44
+#: templates/web/base/admin/states/index.html:10
+#: templates/web/base/admin/states/index.html:100
+msgid "Type"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:59
+#: templates/web/base/admin/contact-form.html:55
+#: templates/web/base/admin/update_edit.html:30
+#: templates/web/zurich/admin/report_edit-sdm.html:66
+#: templates/web/zurich/admin/report_edit.html:94
+#: templates/web/zurich/admin/update_edit.html:18
+msgid "Unconfirmed"
+msgstr "Nepotvrđeno"
+
+#: templates/web/base/reports/_list-filters.html:5
+msgid "Unfixed reports"
+msgstr "Nerešene prijave"
+
+#: templates/web/base/report/banner.html:9
+msgid "Unknown"
+msgstr "Nepoznati"
+
+#: perllib/FixMyStreet/App/Controller/Rss.pm:174
+msgid "Unknown alert type"
+msgstr "Nepoznata vrsta obaveštenja"
+
+#: perllib/FixMyStreet/App/Controller/Photo.pm:109
+#: perllib/FixMyStreet/App/Controller/Root.pm:141
+#: templates/web/base/js/translation_strings.html:38
+msgid "Unknown error"
+msgstr "Nepoznata greška"
+
+#: perllib/FixMyStreet/App/Controller/Report.pm:112
+#: perllib/FixMyStreet/App/Controller/Report.pm:118
+#: perllib/FixMyStreet/App/Controller/Report.pm:121
+msgid "Unknown problem ID"
+msgstr ""
+
+#: templates/web/base/reports/_list-filters.html:10
+msgid "Unshortlisted"
+msgstr ""
+
+#: templates/web/base/report/_item.html:26
+msgid "Up one"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:76
+#: templates/web/base/report/update/form_update.html:29
+msgid "Update"
+msgstr "Ažuriranje"
+
+#: templates/web/base/admin/timeline.html:33
+msgid "Update %s created for problem %d; by %s"
+msgstr "Najnovije informacije %s kreirane za problem %d; od strane %s"
+
+#: templates/web/base/contact/index.html:28
+msgid "Update below added anonymously at %s"
+msgstr "Najnovije informacije ispod dodate anonimno u %s"
+
+#: templates/web/base/contact/index.html:30
+msgid "Update below added by %s at %s"
+msgstr "Najnovije informacije ispod dodao %s u %s"
+
+#: templates/web/base/admin/body-form.html:140
+#: templates/web/zurich/admin/body-form.html:52
+msgid "Update body"
+msgstr "Pregled najnovijih informacija po državi"
+
+#: templates/web/base/admin/stats_by_state.html:21
+msgid "Update breakdown by state"
+msgstr ""
+
+#: db/alert_types.pl:7
+msgid "Update by {{name}}"
+msgstr "Ažurirao {{name}}"
+
+#: templates/web/base/admin/update_edit.html:44
+#: templates/web/zurich/admin/update_edit.html:25
+msgid "Update changed problem state to %s"
+msgstr "Ažurirane informacije promenile stanje problema na %s"
+
+#: templates/web/base/admin/update_edit.html:46
+msgid "Update marked problem as fixed"
+msgstr "Ažuriranjem problem oznaÄen kao reÅ¡en"
+
+#: templates/web/base/admin/update_edit.html:48
+msgid "Update reopened problem"
+msgstr "Ažuriranjem ponovo otvoren problem"
+
+#: templates/web/base/admin/body.html:110
+msgid "Update statuses"
+msgstr ""
+
+#: templates/web/zurich/admin/index-dm.html:23
+#: templates/web/zurich/admin/index-sdm.html:21
+#: templates/web/zurich/admin/reports.html:13
+msgid "Updated"
+msgstr "Ažuriran"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:249
+#, fuzzy
+msgid "Updated by <strong>%s</strong> (%s) at %s"
+msgstr "Postavio <strong>%s</strong> (%s) na %s"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:251
+#, fuzzy
+msgid "Updated by <strong>%s</strong> at %s"
+msgstr "Postavio <strong>%s</strong> na %s"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1262
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1326
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1489
+#: perllib/FixMyStreet/App/Controller/Admin.pm:910
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:767
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:792
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:862
+msgid "Updated!"
+msgstr "Ažuriran!"
+
+#: templates/web/base/admin/list_updates.html:2
+#: templates/web/base/report/update.html:5
+#: templates/web/zurich/report/updates.html:2
+msgid "Updates"
+msgstr "Ažurirane informacije"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:134
+msgid "Updates are limited to %s characters in length. Please shorten your update"
+msgstr ""
+
+#: db/alert_types.pl:5 db/alert_types.pl:6
+msgid "Updates on {{title}}"
+msgstr "Ažurirane informacije o {{title}}"
+
+#. ("%s is the site name")
+#: templates/web/base/report/display.html:0
+#: templates/web/base/report/display.html:9
+msgid "Updates to this problem, %s"
+msgstr "Ažurirane informacije o ovom problemu, %s"
+
+#: templates/web/base/admin/contact-form.html:43
+#: templates/web/base/admin/contact-form.html:44
+msgid ""
+"Use <strong>confirmed</strong> to indicate that this contact has been\n"
+"confirmed as correct. If you are not sure of the origin or validity of the\n"
+"contact, use <strong>unconfirmed</strong>. <strong>inactive</strong> will\n"
+"remove the category from use when reporting problems, but keep it available in\n"
+"map filters, and <strong>deleted</strong> will remove the category from there\n"
+"as well."
+msgstr ""
+
+#: templates/web/base/admin/open311-form-fields.html:65
+msgid "Use Open311 update-sending extension"
+msgstr "Upotrebi Open311 kao liniju za slanje ažuriranih informacija"
+
+#: templates/web/base/admin/contact-form.html:125
+msgid "Use this field to record details that are only displayed in the admin. Input is not shown publicly, and is not sent to the body."
+msgstr ""
+
+#: templates/web/zurich/admin/report_edit-sdm.html:50
+#: templates/web/zurich/admin/report_edit.html:69
+msgid "Used map"
+msgstr "Upotrebljena mapa"
+
+#: templates/web/base/admin/open311-form-fields.html:78
+msgid "User ID to attribute fetched comments to"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1805
+msgid "User flag removed"
+msgstr "Uklonjena oznaka korisnika"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1777
+msgid "User flagged"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:54
+#: templates/web/base/dashboard/index.html:58
+msgid "User has marked as fixed"
+msgstr ""
+
+#: templates/web/base/admin/users.html:5
+msgid "User search finds matches in users' names and email addresses."
+msgstr "Pretraga korisnika poklapa se sa kriterijumima u imenima i e-mejl adresama korisnika."
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:669
+#: perllib/FixMyStreet/Cobrand/Default.pm:728
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:403
+#: templates/web/base/admin/flagged.html:29 templates/web/zurich/header.html:61
+msgid "Users"
+msgstr "Korisnici"
+
+#: templates/web/base/admin/user-form.html:141
+msgid "Users can perform the following actions within their assigned body or area."
+msgstr "Korisnici mogu obaviti sledeće radnje u sklopu njima dodeljene direkcije ili oblasti."
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:381
+#: perllib/FixMyStreet/App/Controller/Admin.pm:417
+#: perllib/FixMyStreet/App/Controller/Admin.pm:439
+msgid "Values updated"
+msgstr "Ažurirane vrednosti"
+
+#: templates/web/base/admin/report_edit.html:35
+#: templates/web/base/admin/update_edit.html:18
+#: templates/web/zurich/admin/report_edit-sdm.html:23
+#: templates/web/zurich/admin/report_edit.html:24
+#: templates/web/zurich/admin/update_edit.html:10
+msgid "View report on site"
+msgstr "Vidi prijave na stranici"
+
+#: templates/web/base/reports/body.html:14
+msgid "View reports by ward"
+msgstr "Vidi prijave po naselju"
+
+#: templates/web/base/around/display_location.html:0
+#: templates/web/base/around/display_location.html:37
+msgid "Viewing a location"
+msgstr "Pregled lokacije"
+
+#: templates/web/base/report/display.html:0
+msgid "Viewing a problem"
+msgstr "Pregled problema"
+
+#. ("Week to date")
+#: templates/web/base/dashboard/index.html:48
+msgid "WTD"
+msgstr ""
+
+#: templates/web/base/dashboard/index.html:20
+msgid "Ward:"
+msgstr ""
+
+#: templates/web/base/reports/body.html:16
+msgid "Wards of this council"
+msgstr "PronaÅ¡li smo viÅ¡e od jednog poklapanja za datu lokaciju. Prikazujemo do deset poklapanja, molimo vas pokuÅ¡ajte drukÄiju pretragu ukoliko vaÅ¡a lokacija nije ovde."
+
+#: templates/web/base/alert/choose.html:6
+#: templates/web/base/around/_error_multiple.html:6
+msgid "We found more than one match for that location. We show up to ten matches, please try a different search if yours is not here."
+msgstr "Pronašli smo više od jednog poklapanja za dati referentni broj problema:"
+
+#: templates/web/base/around/lookup_by_ref.html:5
+msgid "We found more than one match for that problem reference:"
+msgstr ""
+
+#: templates/web/base/auth/general.html:8
+#: templates/web/base/report/display.html:35
+#: templates/web/base/report/new/oauth_email_form.html:5
+msgid "We need your email address, please give it below."
+msgstr "Treba nam vaša e-mejl adresa, molimo vas navedite je u nastavku."
+
+#: perllib/FixMyStreet/Script/Reports.pm:208
+msgid "We realise this problem might be the responsibility of %s; however, we don't currently have any contact details for them. If you know of an appropriate contact address, please do get in touch."
+msgstr "Shvatamo da je ovaj problem odgovornost %s; međutim, u ovom trenutku nemamo nikakve kontakt podatke o njima. Ukoliko vam je poznata bilo kakva odgovarajuća kontakt adresa, molimo vas stupite sa nama u kontakt."
+
+#: templates/web/base/index-steps.html:11
+msgid "We send it to the council on your behalf"
+msgstr "Poslali smo ga skupštini u vaše ime"
+
+#: templates/web/base/report/new/notes.html:4
+#: templates/web/zurich/report/new/notes.html:4
+msgid "We will only use your personal information in accordance with our <a href=\"/privacy\">privacy policy.</a>"
+msgstr "Upotrebićemo samo vaÅ¡e liÄne podatke u skladu sa naÅ¡om <a href=\"/privacy\">politikom privatnosti.</a>"
+
+#: templates/web/base/questionnaire/completed-open.html:2
+msgid "We&rsquo;re sorry to hear the problem’s not fixed. Why not try writing to your local representatives?"
+msgstr "We&rsquo;re Žao nam je Å¡to Äujemo da problem nije reÅ¡en. ZaÅ¡to ne pokuÅ¡ate da se obratite vaÅ¡im lokalnim predstavnicima?"
+
+#: templates/web/base/dashboard/index.html:48
+msgid "Week To Date"
+msgstr ""
+
+#: templates/web/base/contact/submit.html:7
+msgid "We’ll get back to you as soon as we can."
+msgstr "Bićemo u kontaktu sa vama Äim budemo mogli."
+
+#: templates/web/base/questionnaire/index.html:73
+msgid "What was your experience of getting the problem fixed?"
+msgstr ""
+
+#: templates/web/base/admin/category_edit.html:27
+#: templates/web/zurich/admin/body.html:18
+msgid "When edited"
+msgstr "Kada je izmenjena"
+
+#: templates/web/base/admin/problem_row.html:35
+msgid "When sent"
+msgstr "Kada je poslata"
+
+#: templates/web/base/admin/extra-metadata-form.html:18
+msgid "Whether the user is required to provide a value for this field."
+msgstr ""
+
+#: templates/web/base/alert/_list.html:9
+msgid "Which problems do you want alerts about?"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:99
+msgid "Which report is it a duplicate of?"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:57
+msgid "Whoa there Testino! Three photos are enough."
+msgstr "Whoa there Testino! Tri fotografije su dovoljne."
+
+#: templates/web/base/tokens/confirm_alert.html:7
+msgid "Why stop there? <a href=\"/alert\">Set up more alerts</a> for free."
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:190
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
+#: templates/web/zurich/admin/header.html:1
+#: templates/web/zurich/admin/header.html:14
+msgid "Wish"
+msgstr ""
+
+#: templates/web/base/open311/index.html:84
+msgid "With request searches, it is also possible to search for agency_responsible to limit the requests to those sent to a single administration. The search term is the administration ID provided by <a href=\"%s\">MaPit</a>."
+msgstr ""
+
+#: templates/web/base/front/footer-marketing.html:3
+msgid "Would you like to contribute to FixMyStreet? Our code is open source and <a href=\"http://fixmystreet.org\">available at fixmystreet.org</a>."
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:101
+msgid "Would you like to receive another questionnaire in 4 weeks, reminding you to check the status?"
+msgstr "Da li biste voleli da dobijete još jedan upitnik za 4 nedelje, koji će vas podsetiti da proverite status?"
+
+#: templates/web/base/report/new/notes.html:7
+msgid "Writing your message entirely in block capitals makes it hard to read, as does a lack of punctuation."
+msgstr "Ukoliko napiÅ¡ete vaÅ¡u poruku u potpunosti velikim slovima teÅ¡ko je proÄitati je, kao i ako ne stavite znake interpunkcije."
+
+#: templates/web/base/report/new/fill_in_details_form.html:4
+msgid "Wrong location? Just click again on the map."
+msgstr "Pogrešna lokacija? Samo kliknite ponovo na mapu."
+
+#. ("Year to date")
+#: templates/web/base/dashboard/index.html:51
+msgid "YTD"
+msgstr ""
+
+#: templates/web/base/admin/stats.html:10
+msgid "Year"
+msgstr "Godina"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:1236
+#: templates/web/base/admin/bodies.html:70
+#: templates/web/base/admin/category_edit.html:5
+#: templates/web/base/admin/flagged.html:47
+#: templates/web/base/admin/list_updates.html:32
+#: templates/web/base/admin/list_updates.html:34
+#: templates/web/base/admin/list_updates.html:35
+#: templates/web/base/admin/problem_row.html:20
+#: templates/web/base/admin/report_edit.html:124
+#: templates/web/base/admin/report_edit.html:95
+#: templates/web/base/admin/update_edit.html:25
+#: templates/web/base/admin/users.html:32
+#: templates/web/base/questionnaire/creator_fixed.html:14
+#: templates/web/base/questionnaire/index.html:104
+#: templates/web/base/questionnaire/index.html:53
+#: templates/web/base/report/_inspect.html:90
+msgid "Yes"
+msgstr "Da"
+
+#: templates/web/base/report/new/form_user_loggedout_password.html:5
+#: templates/web/base/report/update/form_user_loggedout_password.html:4
+msgid "Yes I have a password"
+msgstr ""
+
+#: templates/web/base/contact/index.html:45
+msgid "You are complaining that this problem report was unnecessarily moderated:"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:73
+msgid "You are offline"
+msgstr ""
+
+#: templates/web/base/contact/unsuitable-text.html:2
+msgid "You are reporting the following problem report for being abusive, containing personal information, or similar:"
+msgstr ""
+
+#: templates/web/base/contact/index.html:22
+msgid "You are reporting the following update for being abusive, containing personal information, or similar:"
+msgstr ""
+
+#: templates/web/zurich/tokens/confirm_problem.html:5
+#: templates/web/zurich/tokens/confirm_problem.html:8
+msgid "You can <a href=\"%s%s\">view the problem on this site</a>."
+msgstr ""
+
+#: templates/web/base/admin/user-form.html:96
+msgid "You can add an abusive user's email to the abuse list, which automatically hides (and never sends) reports they create."
+msgstr ""
+
+#: templates/web/base/alert/_list.html:18
+msgid "You can choose to subscribe to all problems reported in an area, or reports based on their destination."
+msgstr ""
+
+#: templates/web/base/contact/index.html:115
+msgid "You can contact technical support on <a href='mailto:%s'>%s</a>"
+msgstr ""
+
+#: templates/web/base/admin/flagged.html:5
+msgid ""
+"You can flag any report or user by editing them, and they will be listed on this page.\n"
+" For example, this can useful if you want to keep an eye on a user who has posted inappropriate\n"
+" reports in the past."
+msgstr ""
+
+#: templates/web/base/report/new/top_message_none.html:12
+#: templates/web/base/report/new/top_message_none.html:14
+#: templates/web/base/report/new/top_message_some.html:11
+#: templates/web/base/report/new/top_message_some.html:9
+msgid "You can help us by finding a contact email address for local problems for %s and emailing it to us at <a href='mailto:%s'>%s</a>."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:93
+msgid "You can mark a body as deleted if you do not want it to be active on the site."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:35
+msgid "You declined; please fill in the box above"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:75
+msgid "You have <a id=\"oFN\" href=\"\"><span>%s</span> saved to submit</a>."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:38
+msgid "You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"
+msgstr ""
+
+#: templates/web/base/report/new/form_report.html:39
+#: templates/web/zurich/report/new/fill_in_details_form.html:30
+msgid "You have already attached photos to this report. Note that you can attach a maximum of 3 to this report (if you try to upload more, the oldest will be removed)."
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:87
+#: templates/web/base/report/update/form_update.html:16
+msgid "You have already attached photos to this update. Note that you can attach a maximum of 3 to this update (if you try to upload more, the oldest will be removed)."
+msgstr ""
+
+#: templates/web/base/auth/sign_out.html:4
+#: templates/web/zurich/auth/sign_out.html:3
+msgid "You have been signed out"
+msgstr ""
+
+#: templates/web/zurich/report/new/sidebar.html:7
+msgid "You have located the problem at the point marked with a green pin on the map. If this is not the correct location, simply click on the map again. "
+msgstr ""
+
+#: templates/web/base/auth/change_email.html:6
+#: templates/web/zurich/tokens/confirm_problem.html:5
+#: templates/web/zurich/tokens/confirm_problem.html:6
+msgid "You have successfully confirmed your email address."
+msgstr ""
+
+#: templates/web/base/report/display.html:25
+#: templates/web/base/report/new/login_success_form.html:3
+msgid "You have successfully signed in; please check and confirm your details are accurate:"
+msgstr ""
+
+#: templates/web/base/my/my.html:31
+msgid "You haven&rsquo;t created any reports yet. <a href=\"%s\">Report a problem now.</a>"
+msgstr ""
+
+#: templates/web/base/my/planned.html:21
+msgid "You haven&rsquo;t shortlisted any reports yet."
+msgstr ""
+
+#: templates/web/base/admin/index.html:19
+msgid "You need to <a href=\"%s\">add some bodies</a> (such as councils or departments) before any reports can be sent."
+msgstr ""
+
+#: templates/web/base/admin/bodies.html:11
+msgid ""
+"You need to add bodies (such as councils or departments) so that you can then add\n"
+" the categories of problems they can handle (such as potholes or streetlights) and the\n"
+" contacts (such as an email address) to which reports are sent."
+msgstr ""
+
+#: templates/web/base/my/my.html:0 templates/web/base/my/my.html:5
+msgid "Your Reports"
+msgstr ""
+
+#: templates/web/base/auth/change_password.html:11
+#: templates/web/base/main_nav_items.html:4 templates/web/base/my/my.html:18
+msgid "Your account"
+msgstr ""
+
+#: templates/web/base/alert/updates.html:19
+#: templates/web/base/alert/updates.html:22
+#: templates/web/base/contact/index.html:80
+#: templates/web/base/report/display_tools.html:46
+#: templates/web/base/report/display_tools.html:49
+#: templates/web/base/report/new/form_user_loggedout_email.html:1
+#: templates/web/base/report/update/form_user_loggedout_email.html:1
+#: templates/web/zurich/report/new/fill_in_details_form.html:53
+msgid "Your email"
+msgstr ""
+
+#: templates/web/base/auth/change_email.html:9
+#: templates/web/base/auth/general.html:57
+#: templates/web/base/report/update/form_user_loggedout_email.html:5
+#: templates/web/zurich/auth/general.html:30
+#: templates/web/zurich/auth/general.html:58
+msgid "Your email address"
+msgstr ""
+
+#: templates/web/base/report/updates-sidebar-notes.html:3
+msgid "Your information will only be used in accordance with our <a href=\"/privacy\">privacy policy</a>"
+msgstr ""
+
+#: templates/web/base/auth/general.html:109
+#: templates/web/base/contact/index.html:74
+#: templates/web/base/report/new/form_user_loggedout_by_email.html:17
+#: templates/web/base/report/update/form_name.html:33
+#: templates/web/zurich/auth/general.html:61
+#: templates/web/zurich/report/new/fill_in_details_form.html:63
+msgid "Your name"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:13
+msgid "Your name has already been sent to %s, but we can hide it on this page:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:264
+msgid "Your name has been hidden from all your reports and updates."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:260
+msgid "Your name has been hidden."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:65
+msgid "Your offline reports"
+msgstr ""
+
+#: templates/web/base/auth/general.html:87
+#: templates/web/base/report/new/form_user_loggedout_password.html:10
+#: templates/web/base/report/update/form_user_loggedout_password.html:9
+#: templates/web/zurich/auth/general.html:34
+msgid "Your password"
+msgstr ""
+
+#: templates/web/base/auth/change_password.html:10
+msgid "Your password has been changed"
+msgstr ""
+
+#: templates/web/base/contact/index.html:87
+#: templates/web/base/report/new/form_user_loggedout_by_email.html:26
+#: templates/web/zurich/report/new/fill_in_details_form.html:69
+msgid "Your phone number"
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:16
+msgid "Your report"
+msgstr ""
+
+#: templates/web/base/my/my.html:28
+msgid "Your reports"
+msgstr ""
+
+#: templates/web/base/my/planned.html:0 templates/web/base/my/planned.html:18
+#: templates/web/base/my/planned.html:5
+msgid "Your shortlist"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:66
+msgid "Your update has been saved offline for submission when back online."
+msgstr ""
+
+#: templates/web/base/my/my.html:51
+msgid "Your updates"
+msgstr ""
+
+#: templates/web/base/report/new/form_user_loggedin.html:19
+#: templates/web/base/report/update/form_name.html:12
+msgid "Yourself"
+msgstr ""
+
+#: templates/web/base/admin/category-checkboxes.html:7
+#: templates/web/base/admin/user-form.html:151
+msgid "all"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:259
+msgid "and a defect raised"
+msgstr ""
+
+#: templates/web/base/admin/timeline.html:4
+msgid "by %s"
+msgstr ""
+
+#: templates/web/base/reports/body.html:6
+#: templates/web/base/reports/body.html:7
+msgid "council"
+msgstr ""
+
+#: templates/web/base/admin/report_edit.html:52
+msgid "didn't use map"
+msgstr ""
+
+#: templates/web/base/alert/index.html:33
+#: templates/web/base/around/postcode_form.html:12
+msgid "e.g. ‘%s’ or ‘%s’"
+msgstr ""
+
+#: templates/web/base/admin/flagged.html:51
+#: templates/web/base/admin/open311-form-fields.html:81
+msgid "edit user"
+msgstr ""
+
+#: templates/web/base/status/stats.html:20
+#: templates/web/zurich/admin/index.html:5
+msgid "from %s different users"
+msgstr ""
+
+#: templates/web/base/report/_item.html:63
+#: templates/web/zurich/report/_item.html:14
+msgid "last updated %s"
+msgstr ""
+
+#: perllib/Utils.pm:227
+msgid "less than a minute"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:119
+#: templates/web/base/admin/questionnaire.html:15
+#: templates/web/base/admin/questionnaire.html:16
+msgid "n/a"
+msgstr ""
+
+#: templates/web/base/admin/category-checkboxes.html:8
+#: templates/web/base/admin/user-form.html:152
+msgid "none"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:278
+msgid "not the council's responsibility"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:27
+msgid "or locate me automatically"
+msgstr ""
+
+#: templates/web/base/admin/report_edit.html:48
+#: templates/web/base/admin/report_edit.html:50
+#: templates/web/zurich/admin/report_edit-sdm.html:32
+#: templates/web/zurich/admin/report_edit-sdm.html:34
+#: templates/web/zurich/admin/report_edit-sdm.html:55
+#: templates/web/zurich/admin/report_edit-sdm.html:57
+#: templates/web/zurich/admin/report_edit.html:34
+#: templates/web/zurich/admin/report_edit.html:36
+#: templates/web/zurich/admin/report_edit.html:50
+#: templates/web/zurich/admin/report_edit.html:52
+#: templates/web/zurich/admin/report_edit.html:74
+#: templates/web/zurich/admin/report_edit.html:76
+msgid "originally entered: &ldquo;%s&rdquo;"
+msgstr ""
+
+#: templates/web/base/admin/report_edit.html:68
+msgid "other areas:"
+msgstr ""
+
+#: templates/web/zurich/footer.html:12
+msgid "sign out"
+msgstr ""
+
+#: templates/web/base/report/new/form_report.html:13
+msgid "the local council"
+msgstr ""
+
+#: templates/web/base/report/_report_meta_info.html:5
+#: templates/web/zurich/report/_main.html:5
+msgid "there is no pin shown as the user did not use the map"
+msgstr ""
+
+#: templates/web/base/alert/_list.html:1
+#, fuzzy
+msgid "this location"
+msgstr "Pregled lokacije"
+
+#: perllib/FixMyStreet/Script/Reports.pm:184
+msgid "this type of local problem"
+msgstr ""
+
+#: perllib/Utils.pm:177
+msgid "today"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:76
+msgid "update"
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:77
+msgid "updates"
+msgstr ""
+
+#: templates/web/base/admin/report_edit.html:52
+msgid "used map"
+msgstr ""
+
+#: templates/web/base/admin/update_edit.html:37
+msgid "user is from same council as problem - %d"
+msgstr ""
+
+#: templates/web/base/admin/update_edit.html:40
+msgid "user is problem owner"
+msgstr ""
+
+#: templates/web/base/reports/body.html:0
+#: templates/web/base/reports/body.html:3
+msgid "ward"
+msgstr ""
+
+#: templates/web/base/admin/bodies.html:56
+#, perl-format
+msgid "%d address"
+msgid_plural "%d addresses"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: perllib/Utils.pm:250
+#, perl-format
+msgid "%d day"
+msgid_plural "%d days"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: perllib/Utils.pm:252
+#, perl-format
+msgid "%d hour"
+msgid_plural "%d hours"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: perllib/Utils.pm:254
+#, perl-format
+msgid "%d minute"
+msgid_plural "%d minutes"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: perllib/Utils.pm:246
+#, perl-format
+msgid "%d month"
+msgid_plural "%d months"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/web/base/report/_support.html:6
+#, perl-format
+msgid "%d supporter"
+msgid_plural "%d supporters"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: perllib/Utils.pm:248
+#, perl-format
+msgid "%d week"
+msgid_plural "%d weeks"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: perllib/Utils.pm:244
+#, perl-format
+msgid "%d year"
+msgid_plural "%d years"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/web/base/reports/index.html:92
+#, perl-format
+msgid "%s day"
+msgid_plural "%s days"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/web/base/reports/index.html:55
+#, perl-format
+msgid "%s problem marked as fixed"
+msgid_plural "%s problems marked as fixed"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/web/base/reports/index.html:43
+#, perl-format
+msgid "%s problem reported"
+msgid_plural "%s problems reported"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/web/base/reports/index.html:107
+#, perl-format
+msgid "%s report"
+msgid_plural "%s reports"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/web/base/reports/index.html:49
+#, perl-format
+msgid "%s update on problems"
+msgid_plural "%s updates on problems"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/web/base/front/stats.html:19
+#, perl-format
+msgid "<big>%s</big> fixed in past month"
+msgid_plural "<big>%s</big> fixed in past month"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/web/base/front/stats.html:8
+#, perl-format
+msgid "<big>%s</big> report in past week"
+msgid_plural "<big>%s</big> reports in past week"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/web/base/front/stats.html:13
+#, perl-format
+msgid "<big>%s</big> report recently"
+msgid_plural "<big>%s</big> reports recently"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/web/base/front/stats.html:25
+#, perl-format
+msgid "<big>%s</big> update on reports"
+msgid_plural "<big>%s</big> updates on reports"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/web/base/report/_item.html:51
+#, perl-format
+msgid "Reported %d day ago"
+msgid_plural "Reported %d days ago"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/web/base/report/new/top_message_some.html:3
+#, perl-format
+msgid "We do <strong>not</strong> yet have details for the other council that covers this location."
+msgid_plural "We do <strong>not</strong> yet have details for the other councils that cover this location."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/web/base/report/new/top_message_none.html:3
+#, perl-format
+msgid "We do not yet have details for the council that covers this location."
+msgid_plural "We do not yet have details for the councils that cover this location."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/web/base/report/_item.html:61
+#, perl-format
+msgid "last updated %d day ago"
+msgid_plural "last updated %d days ago"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/email/oxfordshire/archive.txt:9
+#, perl-format
+msgid "report"
+msgid_plural "reports"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#~ msgid ""
+#~ "%s sends different categories of problem\n"
+#~ "to the appropriate council, so problems within the boundary of a particular council\n"
+#~ "might not match the problems sent to that council. For example, a graffiti report\n"
+#~ "will be sent to the district council, so will appear in both of the district\n"
+#~ "council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
+#~ "for the county council."
+#~ msgstr ""
+#~ "%s Å¡alje razliÄite kategorije problema\n"
+#~ "odgovarajućoj direkciji opštine, tako da joj ne odlaze problemi van date opštine.\n"
+#~ "Primer je prijava o grafitima\n"
+#~ "koja se šalje opštini\n"
+#~ "council&rsquo;s alerts, međutim pojavljuju se samo u sklopu obaveštenja namenjenih opštini na mapi."
+
+#~ msgid "%s ward, %s"
+#~ msgstr "%s naselje, %s"
+
+#~ msgid "%s, within %s ward"
+#~ msgstr "%s, u sklopu %s naselja"
+
+#~ msgid "(alternatively the RSS feed can be customised, within %s)"
+#~ msgstr "(Kao alternativa, RSS se može personalizovati u okviru %s)"
+
+#~ msgid "-- Pick a property type --"
+#~ msgstr "-- Izaberi vrstu imovine --"
+
+#~ msgid "Closed reports"
+#~ msgstr "ZakljuÄeni izveÅ¡taji"
+
+#~ msgid "Closed:"
+#~ msgstr "ZakljuÄeno:"
+
+#~ msgid "Duplicate"
+#~ msgstr "UdvostruÄi"
+
+#~ msgid "Fixed reports"
+#~ msgstr "Prijave koje su sređene"
+
+#~ msgid "Fixed:"
+#~ msgstr "Sređeno:"
+
+#~ msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
+#~ msgstr "Slede vrste obaveštenja o lokalnim problemima za &lsquo;%s&rsquo;."
+
+#~ msgid "In Progress"
+#~ msgstr "U toku"
+
+#~ msgid "Internal referral"
+#~ msgstr "Interna preporuka"
+
+#~ msgid "Investigating"
+#~ msgstr "Istraživanje"
+
+#~ msgid "No further action"
+#~ msgstr "Nemoguće rešiti"
+
+#~ msgid "Not Responsible"
+#~ msgstr "Nije odgovoran"
+
+#~ msgid "Or problems reported to:"
+#~ msgstr "Ili problemi prijavljeni:"
+
+#~ msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
+#~ msgstr "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
+
+#~ msgid "Please choose a property type"
+#~ msgstr "Molimo vas izaberite kategoriju"
+
+#~ msgid "Problems within the boundary of:"
+#~ msgstr "Problemi u okviru granice:"
+
+#~ msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
+#~ msgstr "Odaberi vrstu obaveštenja koja bi hteo i klikni na dugme za RSS vesti, ili unesite vašu e-mejl adresu da se pretplatite da dobijate obaveštenja e-mejlom."
+
+#~ msgid "The simplest alert is our geographic one:"
+#~ msgstr "Najprostije obaveštenje je ono geografsko:"
diff --git a/locale/sv_SE.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/sv_SE.UTF-8/LC_MESSAGES/FixMyStreet.po
index f5e7f9d92..2b4a311e2 100644
--- a/locale/sv_SE.UTF-8/LC_MESSAGES/FixMyStreet.po
+++ b/locale/sv_SE.UTF-8/LC_MESSAGES/FixMyStreet.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
-"POT-Creation-Date: 2017-03-30 17:33+0100\n"
+"POT-Creation-Date: 2017-09-13 15:40+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: Jon Kristensen <info@jonkri.com>, 2016\n"
+"Last-Translator: Jon Kristensen <info@jonkri.com>, 2017\n"
"Language-Team: Swedish (Sweden) (https://www.transifex.com/mysociety/teams/12067/sv_SE/)\n"
"Language: sv_SE\n"
"MIME-Version: 1.0\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:695
+#: perllib/FixMyStreet/DB/Result/Problem.pm:632
#: perllib/FixMyStreet/Script/Reports.pm:197
msgid " and "
msgstr " och "
@@ -91,25 +91,6 @@ msgstr "%s frågeformulär skickade &ndash; %s besvarade (%s%%)"
msgid "%s ref:&nbsp;%s"
msgstr "%s ref:&nbsp;%s"
-#. ("%s is the site name")
-#: templates/web/base/alert/_list.html:74
-msgid ""
-"%s sends different categories of problem\n"
-"to the appropriate council, so problems within the boundary of a particular council\n"
-"might not match the problems sent to that council. For example, a graffiti report\n"
-"will be sent to the district council, so will appear in both of the district\n"
-"council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
-"for the county council."
-msgstr "%s skickar olika kategorier av rapporter till olika enheter inom en kommun eller län. Problem som rapporteras inom en viss kommun dyker därför inte nödvändigtvis upp i listan över rapporter till den kommunen. Exempelvis kan en rapport om en väg skickas till Vägverket snarare än kommunen. Rapporten dyker då inte upp i listan över rapporter till kommunen, men dyker upp om man söker alla rapporter inom ett visst avstånd."
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:257 perllib/FixMyStreet/Cobrand/UK.pm:269
-msgid "%s ward, %s"
-msgstr "Administrativa området %s, %s"
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
-msgid "%s, within %s ward"
-msgstr "%s inom det administrativa området %s"
-
#: perllib/FixMyStreet/Map/OSM.pm:38
msgid "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"
msgstr "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"
@@ -118,7 +99,7 @@ msgstr "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap<
msgid "(Defect &amp; location of defect)"
msgstr "(Defekt &amp; defektens plats)"
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
#: templates/web/base/admin/users.html:32
msgid "(Email in abuse table)"
msgstr "(Epost i missbrukstabellen)"
@@ -133,28 +114,36 @@ msgstr "(Inget namn)"
msgid "(No phone number)"
msgstr "(Inget telefonnummer)"
-#: templates/web/base/alert/_list.html:25
-msgid "(a default distance which covers roughly 200,000 people)"
-msgstr "(ett avstånd som täcker ungefär 200,000 invånare)"
-
-#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
-#: templates/web/base/alert/_list.html:30
-msgid "(alternatively the RSS feed can be customised, within %s)"
-msgstr "(alternativt kan RSS-flödet konfigureras inom %s)"
+#: templates/web/base/admin/states/index.html:95
+msgid "(a-z and space only)"
+msgstr ""
#: templates/web/zurich/report/_item.html:19
msgid "(closed)"
msgstr "(stängd)"
+#: templates/web/base/alert/_list.html:30
+#, fuzzy
+msgid "(covers roughly 200,000 people)"
+msgstr "(ett avstånd som täcker ungefär 200,000 invånare)"
+
#: templates/web/zurich/report/_item.html:17
msgid "(fixed)"
msgstr "(fixad)"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "(ignored if type is \"String\")"
+msgstr ""
+
#: templates/web/base/around/intro.html:2
msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
msgstr "(ex.v. graffiti, skräp, trasiga gatustenar eller belysning)"
-#: templates/web/base/report/_item.html:68
+#: templates/web/base/reports/index.html:69
+msgid "(no longer exists)"
+msgstr "(finns inte längre)"
+
+#: templates/web/base/report/_item.html:70
msgid "(not sent to council)"
msgstr "(ej skickat till kommunen)"
@@ -162,20 +151,22 @@ msgstr "(ej skickat till kommunen)"
msgid "(optional)"
msgstr "(valfritt)"
-#: templates/web/base/report/_item.html:67
+#: templates/web/base/report/_item.html:69
msgid "(sent to both)"
msgstr "(skickat till båda)"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:239
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/DB/Result/Problem.pm:454
+#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
+#: templates/web/base/alert/_list.html:36
+#, fuzzy
+msgid "(we also have RSS feeds for problems within %s)"
+msgstr "RSS-flöde för problem inom %s"
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:245
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:381
msgid "-- Pick a category --"
msgstr "-- Välj en katagori --"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:460
-msgid "-- Pick a property type --"
-msgstr "-- Välj en fastighetstyp --"
-
#: templates/web/base/admin/response_templates_select.html:3
msgid "--Choose a template--"
msgstr "--Välj en mall--"
@@ -184,16 +175,16 @@ msgstr "--Välj en mall--"
msgid "10 inch pothole on Example St, near post box"
msgstr "Hål i gatan på Storgatan, nära brevlådan"
-#: templates/web/base/dashboard/index.html:152
+#: templates/web/base/dashboard/index.html:153
msgid "14-30 days old"
-msgstr ""
+msgstr "14-30 dagar gamla"
-#: templates/web/base/dashboard/index.html:151
+#: templates/web/base/dashboard/index.html:152
msgid "7-14 days old"
-msgstr ""
+msgstr "7-14 dagar gamla"
-#: templates/web/base/admin/body-form.html:48
-#: templates/web/base/admin/body-form.html:49
+#: templates/web/base/admin/body-form.html:50
+#: templates/web/base/admin/body-form.html:51
msgid ""
"<code>MAPIT_URL</code> is set (<code>%s</code>) but no <code>MAPIT_TYPES</code>.<br>\n"
" This is probably why \"area covered\" is empty (below).<br>\n"
@@ -205,17 +196,17 @@ msgstr ""
#: templates/web/base/dashboard/index.html:15
msgid "<h2>Reports, Statistics and Actions for</h2> <h1>%s</h1>"
-msgstr ""
+msgstr "<h2>Rapporter, statistik och åtgärder för</h2> <h1>%s</h1>"
-#. ('The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories')
#. ("The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories")
-#: templates/web/base/reports/_list-filters.html:37
-msgid "<label for=\"statuses\">Show</label> %s <label for=\"filter_categories\">about</label> %s"
+#: templates/web/base/reports/_list-filters.html:48
+#, fuzzy
+msgid "<label for=\"statuses\">Show</label> %s reports <label for=\"filter_categories\">about</label> %s"
msgstr "<label for=\"statuses\">Visa</label> %s <label for=\"filter_categories\">om</label> %s"
-#: templates/web/base/js/translation_strings.html:71
+#: templates/web/base/js/translation_strings.html:74
msgid "<span>%s</span> saved."
-msgstr ""
+msgstr "<span>%s</span> sparad."
#: templates/web/base/status/stats.html:18
#: templates/web/zurich/admin/index.html:4
@@ -230,34 +221,25 @@ msgstr "<strong>Nej</strong> Låt mig bekräfta min rapport via epost"
msgid "<strong>No</strong> Let me confirm my update by email"
msgstr "<strong>Nej</strong> Låt mig bekräfta uppdateringen via epost"
-#: templates/web/base/auth/general.html:104
+#: templates/web/base/auth/general.html:106
#: templates/web/zurich/auth/general.html:51
msgid "<strong>No</strong> let me sign in by email"
msgstr "<strong>Nej</strong> LÃ¥t mig logga in med min epostadress"
-#: templates/web/base/report/_inspect.html:160
+#: templates/web/base/report/_inspect.html:170
msgid "<strong>Note:</strong> This report has been sent onwards for action. Any changes made won't be passed on."
msgstr "<strong>Notera:</strong> Den här rapporten har vidarebefordrats. Ändringar i rapporten kommer inte att vidarebefordras."
-#: templates/web/base/report/_inspect.html:162
+#: templates/web/base/report/_inspect.html:172
msgid "<strong>Note:</strong> This report hasn't yet been sent onwards for action. Any changes made may not be passed on."
msgstr "<strong>Notera:</strong> Den här rapporten har vidarebefordrats. Ändringar i rapporten kommer inte att vidarebefordras."
-#: templates/web/base/auth/general.html:80
+#: templates/web/base/auth/general.html:82
#: templates/web/base/report/new/form_user_loggedout_password.html:3
#: templates/web/base/report/update/form_user_loggedout_password.html:2
msgid "<strong>Yes</strong> I have a password"
msgstr "<strong>Ja</strong>, jag har ett lösenord"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:10
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:6
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Action Scheduled"
-msgstr "Åtgärd är schemalagd"
-
#: templates/web/base/admin/body-form.html:3
#: templates/web/base/admin/body-form.html:4
msgid ""
@@ -271,19 +253,36 @@ msgid "Add a contact using the form below."
msgstr "Lägg till en kontakt medelst formuläret nedan."
#: templates/web/base/admin/bodies.html:78
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Add body"
msgstr "Lägg till förvaltning"
+#: templates/web/base/admin/reportextrafields/index.html:24
+msgid "Add extra fields"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:79
+msgid "Add field"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:85
+msgid "Add fixed state"
+msgstr ""
+
#: templates/web/base/admin/body.html:126
#: templates/web/zurich/admin/body.html:31
msgid "Add new category"
msgstr "Ny kategori"
+#: templates/web/base/admin/extra-metadata-form.html:72
+#, fuzzy
+msgid "Add option"
+msgstr "valfria"
+
#: templates/web/base/report/_item.html:10
-#: templates/web/base/report/_item.html:14
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_item.html:16
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:19
#: templates/web/base/report/_main.html:30
msgid "Add to shortlist"
@@ -295,15 +294,15 @@ msgstr "Lägg till i slutlista"
msgid "Add user"
msgstr "Lägg till användare"
-#: perllib/FixMyStreet/Cobrand/Default.pm:730
+#: perllib/FixMyStreet/Cobrand/Default.pm:735
msgid "Add/edit problem categories"
msgstr "Lägg till eller ta bort problemkategorier"
-#: perllib/FixMyStreet/Cobrand/Default.pm:732
+#: perllib/FixMyStreet/Cobrand/Default.pm:737
msgid "Add/edit response priorities"
msgstr "Lägg till eller ta bort svarsprioriteringar"
-#: perllib/FixMyStreet/Cobrand/Default.pm:731
+#: perllib/FixMyStreet/Cobrand/Default.pm:736
msgid "Add/edit response templates"
msgstr "Lägg till eller ta bort svarsmallar"
@@ -311,13 +310,13 @@ msgstr "Lägg till eller ta bort svarsmallar"
msgid "Added %s"
msgstr "Lades till %s"
-#: templates/web/base/report/_main.html:145
+#: templates/web/base/report/_main.html:149
msgid "Adding this report to your shortlist will remove it from %s’s shortlist."
msgstr "Att lägga till den här rapporten i din kortlista tar bort den från kortlistan för %s."
#: templates/web/base/main_nav_items.html:47
msgid "Admin"
-msgstr ""
+msgstr "Administratörskontrollpanel"
#: templates/web/base/auth/change_password.html:39
msgid "Again:"
@@ -331,18 +330,17 @@ msgstr "Bevakning %d skapad för %s av typen %s med parametrarna %s/%s"
msgid "Alert %d disabled (created %s)"
msgstr "Bevakning %d avaktiverad (skapad %s)"
-#: templates/web/base/report/update/form_name.html:38
+#: templates/web/base/report/update/form_name.html:42
msgid "Alert me to future updates"
msgstr "Varsko mig om framtida uppdateringar"
#: templates/web/base/dashboard/index.html:138
#: templates/web/base/dashboard/index.html:21
#: templates/web/base/dashboard/index.html:30
-#, fuzzy
+#: templates/web/base/reports/_list-filters.html:3
msgid "All"
-msgstr "samtliga"
+msgstr "Alla"
-#: templates/web/base/reports/index.html:6
#: templates/web/zurich/reports/index.html:13
msgid "All Reports"
msgstr "Alla rapporter"
@@ -352,15 +350,23 @@ msgid "All Reports as CSV"
msgstr "Alla rapporter som CSV"
#: templates/web/base/admin/category-multiselect.html:5
-#: templates/web/base/admin/responsepriorities/list.html:19
+#: templates/web/base/admin/responsepriorities/list.html:20
msgid "All categories"
msgstr "Samtliga kategorier"
+#: templates/web/base/admin/reportextrafields/edit.html:26
+#, fuzzy
+msgid "All cobrands"
+msgstr "Cobrand"
+
+#: templates/web/base/admin/reportextrafields/edit.html:47
+msgid "All languages"
+msgstr ""
+
#: templates/web/base/main_nav_items.html:0
#: templates/web/base/main_nav_items.html:27
-#: templates/web/base/reports/_list-filters.html:3
#: templates/web/zurich/admin/index-dm.html:12
-#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:21
+#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:20
#: templates/web/zurich/nav_over_content.html:6
msgid "All reports"
msgstr "Alla rapporter"
@@ -370,6 +376,14 @@ msgstr "Alla rapporter"
msgid "All reports between %s and %s"
msgstr "Alla rapporter mellan %s och %s"
+#: templates/web/base/reports/index.html:23
+msgid "All time"
+msgstr "All tid"
+
+#: templates/web/base/my/anonymize.html:20
+msgid "Alternatively, we can hide your name on <strong>all of your reports and updates</strong> across the site:"
+msgstr "Vi kan alternativt dölja ditt namn från <strong>samtliga av dina rapporter och uppdateringar</strong> på sajten:"
+
#: templates/web/base/questionnaire/index.html:47
msgid "An update marked this problem as fixed."
msgstr "En uppdatering markerade det här problemet som löst."
@@ -379,31 +393,33 @@ msgstr "En uppdatering markerade det här problemet som löst."
msgid "Anonymous"
msgstr "Anonym"
-#: templates/web/base/admin/report_edit.html:134
+#: templates/web/base/report/new/form_user_loggedin.html:21
+#: templates/web/base/report/update/form_name.html:17
+#, fuzzy
+msgid "Anonymous user"
+msgstr "Anonym"
+
+#: templates/web/base/admin/report_edit.html:122
#: templates/web/base/admin/update_edit.html:23
msgid "Anonymous:"
msgstr "Anonym:"
-#: templates/web/base/report/new/form_user_loggedin.html:20
-#: templates/web/base/report/update/form_name.html:13
+#: templates/web/base/report/new/form_user_loggedin.html:24
+#: templates/web/base/report/update/form_name.html:14
msgid "Another user"
msgstr "Annan användare"
-#: templates/web/base/front/footer-marketing.html:16
-msgid "Are you a developer?"
-msgstr "Är du en utvecklare?"
-
-#: templates/web/base/js/translation_strings.html:56
+#: templates/web/base/js/translation_strings.html:59
msgid "Are you sure you want to cancel this upload?"
msgstr "Är du säker på att du vill avbryta den här uppladdningen?"
#: templates/web/base/admin/report_edit.html:84
-#: templates/web/base/js/translation_strings.html:66
+#: templates/web/base/js/translation_strings.html:69
#: templates/web/base/report/display_tools.html:6
msgid "Are you sure?"
msgstr "Är du säker?"
-#: templates/web/base/admin/body-form.html:75
+#: templates/web/base/admin/body-form.html:77
#: templates/web/base/admin/body.html:20
#: templates/web/zurich/admin/body-form.html:24
msgid "Area covered"
@@ -435,11 +451,11 @@ msgstr "Tilldela extern förvaltning:"
msgid "Assign to subdivision:"
msgstr "Tilldela underavdelning:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:727
+#: perllib/FixMyStreet/Cobrand/Default.pm:732
msgid "Assign users to areas"
msgstr "Tilldela användare till områden"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:214
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:219
msgid "Assigned to %s"
msgstr "Tilldelad %s"
@@ -460,24 +476,27 @@ msgstr "Bemyndigade kommunanvändare kan vara associerade med de kategorier som
msgid "Auto-response:"
msgstr "Autosvar:"
-#: templates/web/base/admin/report_edit.html:127
-#: templates/web/base/report/_inspect.html:47
+#: templates/web/base/admin/report-category.html:8
msgid "Available categories"
msgstr "Tillgängliga kategorier"
+#: templates/web/base/reports/index.html:84
+msgid "Average time between a problem being reported and being fixed, last 100 reports."
+msgstr "Genomsnittlig tid från det att ett problem rapporteras till dess att det är löst, för de senaste 100 rapporterna."
+
#: templates/web/base/dashboard/index.html:109
msgid "Average time to council marking fixed (days)"
-msgstr ""
+msgstr "Genomsnittlig tid för kommun att markera som löst (dagar)"
#: templates/web/base/dashboard/index.html:117
msgid "Average time to first council state change (days)"
-msgstr ""
+msgstr "Genomsnittlig tid för kommun till första rapportstatusändring (dagar)"
#: templates/web/base/report/new/after_photo.html:6
msgid "Avoid personal information and vehicle number plates"
msgstr "Undvik personlig information och nummerplåtar"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:417
+#: perllib/FixMyStreet/DB/Result/Problem.pm:344
#: templates/web/zurich/report/_item.html:9
msgid "Awaiting moderation"
msgstr "Väntar på att granskas"
@@ -490,13 +509,13 @@ msgstr "Tillbaka"
msgid "Back to all reports"
msgstr "Tillbaka till samtliga rapporter"
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
msgid "Ban email address"
msgstr "Förbjud epostadress"
#: perllib/FixMyStreet/Cobrand/Default.pm:650
-#: perllib/FixMyStreet/Cobrand/Default.pm:729
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
+#: perllib/FixMyStreet/Cobrand/Default.pm:734
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:396
#: templates/web/base/admin/bodies.html:1
#: templates/web/base/admin/report_edit.html:55
#: templates/web/zurich/header.html:56
@@ -518,7 +537,11 @@ msgstr "Förvaltning:"
msgid "By Date"
msgstr "Efter datum"
-#: templates/web/base/auth/token.html:21 templates/web/base/email_sent.html:18
+#: templates/web/base/admin/extra-metadata-form.html:36
+msgid "Can be used to display extra text to the user alongside the field. The default template does not show this (<code>meta.datatype_description</code>), you must add it in <code>category_extras_fields.html</code>"
+msgstr ""
+
+#: templates/web/base/auth/token.html:27 templates/web/base/email_sent.html:20
msgid "Can&rsquo;t find our email? Check your spam folder&nbsp;&ndash; that&rsquo;s the solution 99% of the time."
msgstr "Kan du inte hitta vårt e-brev? Kolla din skräppostmapp &ndash; det är lösningen 99% av tiden."
@@ -539,8 +562,8 @@ msgstr "Kategorier:"
#: templates/web/base/admin/body.html:72
#: templates/web/base/admin/contact-form.html:19
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/report/_inspect.html:38
-#: templates/web/base/report/_item.html:90
+#: templates/web/base/report/_inspect.html:48
+#: templates/web/base/report/_item.html:92
#: templates/web/base/report/new/category.html:6
#: templates/web/base/report/new/category_wrapper.html:3
#: templates/web/zurich/admin/body.html:14
@@ -551,7 +574,7 @@ msgstr "Kategorier:"
msgid "Category"
msgstr "Kategori"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:852
+#: perllib/FixMyStreet/App/Controller/Admin.pm:956
msgid "Category changed from ‘%s’ to ‘%s’"
msgstr "Kategori ändrat från ‘%s’ till ‘%s’"
@@ -591,25 +614,11 @@ msgstr "Ändra e-postadress"
msgid "Change password"
msgstr "Ändra lösenord"
-#: templates/web/base/admin/contact-form.html:41
-msgid ""
-"Check <strong>confirmed</strong> to indicate that this contact has been confirmed as correct.\n"
-" If you are not sure of the origin or validity of the contact, leave this unchecked."
-msgstr ""
-"Markera <strong>bekräftad</strong> för att visa att denna kontakt har verifierats.\n"
-"Om du inte är säker på ursprung eller giltighet för denna kontakt, lämna detta omarkerat."
-
-#: templates/web/base/admin/contact-form.html:52
-msgid ""
-"Check <strong>deleted</strong> to remove the category from use. \n"
-" It will not appear as an available category in the drop-down menu on the report-a-problem page."
-msgstr "Markera <strong>raderad</strong> för att ta bort denna kategori från att användas. Den kommer inte dyka upp som en valbar kategori i rullgardinslistan på sidan där användare rapporterar ett problem."
-
-#: templates/web/base/admin/contact-form.html:79
+#: templates/web/base/admin/contact-form.html:80
msgid "Check <strong>inspection required</strong> if reports in this category <strong>must be inspected</strong> before being sent."
msgstr "Bocka för <strong>inspektion krävs</strong> om rapporter i den här kategorin <strong>måste inspekteras</strong> innan de skickas."
-#: templates/web/base/admin/contact-form.html:63
+#: templates/web/base/admin/contact-form.html:64
msgid ""
"Check <strong>private</strong> if reports in this category should <strong>never be displayed on the website</strong>.\n"
" <br>\n"
@@ -626,13 +635,13 @@ msgid ""
" to the body too. These will appear in the drop-down menu on the report-a-problem page."
msgstr "Välj ett <strong>kategorinamn</strong> som å ena sidan är förståeligt för allmänheten (som t. ex. \"Väggrop\" eller \"Gatubelysning\") men som också är hjälpsamt för förvaltningen. Dessa kommer att visas i en rullgardinsmeny på problemrapporteringssidan."
-#: templates/web/base/report/_inspect.html:93
+#: templates/web/base/report/_inspect.html:103
msgid "Choose another"
-msgstr ""
+msgstr "Välj en annan"
-#: templates/web/base/js/translation_strings.html:65
+#: templates/web/base/js/translation_strings.html:68
msgid "Clear offline data"
-msgstr ""
+msgstr "Rensa offline-data"
#: templates/web/base/admin/stats.html:72
#: templates/web/base/admin/stats.html:78
@@ -655,21 +664,22 @@ msgstr "Klicka på länken i vårt bekräftelsemail för att publicera din probl
msgid "Click the link in our confirmation email to publish your update."
msgstr "Klicka på länken i vårt bekräftelsemail för att publicera din uppdatering."
-#: templates/web/base/auth/token.html:18
+#: templates/web/base/auth/token.html:23
msgid "Click the link in our confirmation email to sign in."
msgstr "Klicka på länken i vårt bekräftelsemail för att logga in."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:189
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:960
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:17
-#: templates/web/base/admin/report_blocks.html:27
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:43
-#: templates/web/base/report/banner.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:18
+#: templates/web/base/auth/token.html:20
+#, fuzzy
+msgid "Click the link in that email to sign in."
+msgstr "Klicka på länken i vårt bekräftelsemail för att logga in."
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:134
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:194
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:965
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:11
+#: templates/web/base/admin/states/index.html:103
+#: templates/web/base/admin/states/index.html:27
+#: templates/web/base/admin/states/index.html:33
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:10
#: templates/web/zurich/admin/header.html:16
@@ -677,23 +687,17 @@ msgstr "Klicka på länken i vårt bekräftelsemail för att logga in."
msgid "Closed"
msgstr "Stängd"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:889
+#: perllib/FixMyStreet/DB/Result/Problem.pm:826
msgid "Closed by council"
msgstr "Stängd av kommunen"
-#: templates/web/base/reports/_list-filters.html:13
-msgid "Closed reports"
-msgstr "stängda rapporter"
-
-#: templates/web/base/admin/problem_row.html:38
-msgid "Closed:"
-msgstr "Stängd:"
-
#: templates/web/base/admin/report_edit.html:37
msgid "Co-ordinates:"
msgstr "Koordinater:"
#: templates/web/base/admin/list_updates.html:10
+#: templates/web/base/admin/reportextrafields/edit.html:24
+#: templates/web/base/admin/reportextrafields/index.html:7
msgid "Cobrand"
msgstr "Cobrand"
@@ -707,10 +711,13 @@ msgstr "Cobrand data:"
msgid "Cobrand:"
msgstr "Cobrand:"
+#: templates/web/base/admin/extra-metadata-form.html:14
+msgid "Code"
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:50
-#, fuzzy
msgid "Collapse map"
-msgstr "Använde kartan"
+msgstr "Vik ihop karta"
#: perllib/FixMyStreet/Cobrand/Default.pm:646
#: templates/web/base/admin/config_page.html:1
@@ -738,9 +745,8 @@ msgstr "Bekräfta via epost nedan genom att ange ett nytt lösenord. När du bek
msgid "Confirmation"
msgstr "Bekräftelse"
-#: templates/web/base/admin/body.html:85
-#: templates/web/base/admin/category_edit.html:54
-#: templates/web/base/admin/contact-form.html:47
+#: templates/web/base/admin/contact-form.html:56
+#: templates/web/zurich/admin/contact-form.html:12
#: templates/web/zurich/admin/stats.html:40
msgid "Confirmed"
msgstr "Bekräftat"
@@ -775,8 +781,8 @@ msgstr "Kontakta teamet"
msgid "Coordinates:"
msgstr "Koordinater:"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1668
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1696
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1773
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1801
msgid "Could not find user"
msgstr "Kan inte hitta användaren"
@@ -796,33 +802,28 @@ msgstr "Kommunkontakter för %s"
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:83
-#, fuzzy
msgid "Council has marked as closed"
-msgstr "markerad som stängd"
+msgstr "Kommun har markerat som stängd"
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:57
-#, fuzzy
msgid "Council has marked as fixed"
-msgstr "markerad som löst"
+msgstr "Kommun har markerat som löst"
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:80
-#, fuzzy
msgid "Council has marked as in progress"
-msgstr "markerad som pågående"
+msgstr "Kommun har markerat som pågående"
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:82
-#, fuzzy
msgid "Council has marked as investigating"
-msgstr "markerad som under utredning"
+msgstr "Kommun har markerat som under utredning"
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:81
-#, fuzzy
msgid "Council has marked as planned"
-msgstr "markerad som planerad"
+msgstr "Kommun har markerat som planerad"
#: templates/web/base/report/_council_sent_info.html:6
msgid "Council ref:&nbsp;%s"
@@ -839,24 +840,34 @@ msgstr "Kommun:"
msgid "Count"
msgstr "Antal"
+#: templates/web/base/admin/states/index.html:114
+#, fuzzy
+msgid "Create"
+msgstr "Skapad"
+
#: templates/web/base/email_sent.html:1
msgid "Create a report"
msgstr "Skapa en rapport"
-#: templates/web/base/admin/contact-form.html:137
+#: templates/web/base/admin/contact-form.html:138
#: templates/web/zurich/admin/body.html:62
msgid "Create category"
msgstr "Skapa en kategori"
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/responsepriorities/edit.html:58
msgid "Create priority"
msgstr "Skapa prioritet"
-#: perllib/FixMyStreet/Cobrand/Default.pm:714
+#: perllib/FixMyStreet/Cobrand/Default.pm:718
+#, fuzzy
+msgid "Create reports/updates as anonymous user"
+msgstr "Skapa rapporter/uppdateringar på en användares vägnar"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:719
msgid "Create reports/updates as the council"
msgstr "Skapa rapporter/uppdateringar som kommunen"
-#: perllib/FixMyStreet/Cobrand/Default.pm:713
+#: perllib/FixMyStreet/Cobrand/Default.pm:717
msgid "Create reports/updates on a user's behalf"
msgstr "Skapa rapporter/uppdateringar på en användares vägnar"
@@ -886,13 +897,15 @@ msgstr "Nuvarande status"
msgid "Currently no bodies have been created."
msgstr "Inga förvaltningar har skapats ännu."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:825
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:830
#: templates/web/zurich/admin/report_edit-sdm.html:105
msgid "Customer not contactable"
msgstr "Kund ej kontaktbar"
#: templates/web/base/dashboard/index.html:5
#: templates/web/base/dashboard/index.html:7
+#: templates/web/base/reports/index.html:15
+#: templates/web/base/reports/index.html:18
msgid "Dashboard"
msgstr "Skrivbord"
@@ -900,29 +913,37 @@ msgstr "Skrivbord"
msgid "Dealt with by subdivision within 5 working days"
msgstr "Hanterat av underavdelning inom 5 arbetsdagar"
-#: templates/web/base/report/_inspect.html:73
-msgid "Defect type"
+#: templates/web/base/admin/responsepriorities/list.html:9
+msgid "Default"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:973
+#: templates/web/base/admin/responsepriorities/edit.html:39
+#, fuzzy
+msgid "Default priority"
+msgstr "Skapa prioritet"
+
+#: templates/web/base/report/_inspect.html:72
+msgid "Defect type"
+msgstr "Defekttyp"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1078
#: templates/web/base/admin/template_edit.html:50
#: templates/web/zurich/admin/template_edit.html:33
msgid "Delete template"
msgstr "Ta bort mall"
#: templates/web/base/admin/bodies.html:31
-#: templates/web/base/admin/body.html:87
-#: templates/web/base/admin/category_edit.html:55
#: templates/web/base/admin/contact-form.html:58
-#: templates/web/zurich/admin/contact-form.html:12
+#: templates/web/zurich/admin/contact-form.html:13
msgid "Deleted"
msgstr "Borttagen"
-#: templates/web/base/report/_main.html:110
-#: templates/web/base/report/update.html:59
+#: templates/web/base/report/_main.html:114
+#: templates/web/base/report/update.html:68
msgid "Describe why you are moderating this"
-msgstr ""
+msgstr "Beskriv varför du modererar detta"
+#: templates/web/base/admin/extra-metadata-form.html:32
#: templates/web/base/admin/responsepriorities/list.html:7
#: templates/web/zurich/admin/index-dm.html:22
#: templates/web/zurich/admin/index-sdm.html:20
@@ -946,7 +967,7 @@ msgstr "Detaljer"
msgid "Details:"
msgstr "Detaljer:"
-#: templates/web/base/admin/body.html:93
+#: templates/web/base/admin/body.html:92
msgid "Devolved"
msgstr "Delegerat"
@@ -959,18 +980,17 @@ msgstr "Använde inte kartan"
msgid "Diligency prize league table"
msgstr "Flitighetstopplistan"
-#: templates/web/base/report/_main.html:114
-#: templates/web/base/report/update.html:61
-#, fuzzy
+#: templates/web/base/report/_main.html:118
+#: templates/web/base/report/update.html:70
msgid "Discard changes"
-msgstr "Spara ändringar"
+msgstr "Ta bort ändringar"
#: templates/web/base/admin/open311-form-fields.html:95
msgid "Do not send email alerts on fetched comments to problem creator"
msgstr "Skicka inte e-postnotifikationer kring hämtade kommentarer till problemrapportens skapare"
#. ("%s is the site name")
-#: templates/web/base/auth/general.html:58
+#: templates/web/base/auth/general.html:60
#: templates/web/base/report/new/form_user_loggedout.html:25
#: templates/web/base/report/new/oauth_email_form.html:18
#: templates/web/base/report/update-form.html:30
@@ -978,40 +998,33 @@ msgstr "Skicka inte e-postnotifikationer kring hämtade kommentarer till problem
msgid "Do you have a %s password?"
msgstr "Har du ett lösenord för %s?"
+#: templates/web/base/report/_inspect.html:87
+msgid "Do you want to automatically raise a defect?"
+msgstr "Vill du automatiskt lyfta en defekt?"
+
#: templates/web/base/questionnaire/index.html:57
msgid "Don&rsquo;t know"
msgstr "Vet ej"
-#: templates/web/base/contact/index.html:108
+#: templates/web/base/contact/index.html:112
msgid "Don't like forms?"
msgstr "Gillar du inte formulär?"
-#: templates/web/base/report/_item.html:25
+#: templates/web/base/report/_item.html:27
msgid "Down one"
-msgstr ""
+msgstr "Ner en"
-#: templates/web/base/js/translation_strings.html:55
+#: templates/web/base/js/translation_strings.html:58
msgid "Drag and drop photos here or <u>click to upload</u>"
msgstr "Släpp foton här eller <u>klicka för att ladda upp</u>"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:10
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "Duplicate"
-msgstr "Finns redan"
-
-#: templates/web/base/report/_inspect.html:88
-#, fuzzy
+#: templates/web/base/report/_inspect.html:98
msgid "Duplicate of"
-msgstr "Finns redan"
+msgstr "Dublett av"
-#: templates/web/base/report/_inspect.html:98
-#, fuzzy
+#: templates/web/base/report/_inspect.html:108
msgid "Duplicates"
-msgstr "Finns redan"
+msgstr "Dubletter"
#: templates/web/base/admin/body.html:116
msgid ""
@@ -1021,43 +1034,43 @@ msgid ""
" "
msgstr "Varje förvaltningskontakt har en kategori, och denna visas för allmänheten. Olika kategorier <strong>kan ha samma kontakt</strong> (e-postadress). Detta betyder att du kan lägga till flera kategorier även om du bara har en förvaltningskontakt."
-#: templates/web/base/report/_inspect.html:16
-#: templates/web/base/report/_item.html:81
+#: templates/web/base/report/_inspect.html:26
+#: templates/web/base/report/_item.html:83
msgid "Easting/Northing:"
msgstr "Easting/Northing:"
#: templates/web/base/admin/list_updates.html:42
#: templates/web/base/admin/problem_row.html:41
-#: templates/web/base/admin/responsepriorities/list.html:26
+#: templates/web/base/admin/responsepriorities/list.html:28
#: templates/web/base/admin/templates.html:22
#: templates/web/base/admin/users.html:34
#: templates/web/zurich/admin/problem_row.html:48
msgid "Edit"
msgstr "Ändra"
-#: templates/web/base/admin/body.html:140
+#: templates/web/base/admin/body.html:141
#: templates/web/base/admin/index.html:39
#: templates/web/zurich/admin/body.html:69
msgid "Edit body details"
msgstr "Ändra förvaltningsdetaljer"
-#: perllib/FixMyStreet/Cobrand/Default.pm:724
+#: perllib/FixMyStreet/Cobrand/Default.pm:729
msgid "Edit other users' details"
msgstr "Redigera andra användares uppgifter"
-#: perllib/FixMyStreet/Cobrand/Default.pm:725
+#: perllib/FixMyStreet/Cobrand/Default.pm:730
msgid "Edit other users' permissions"
msgstr "Redigera andra användares rättigheter"
-#: perllib/FixMyStreet/Cobrand/Default.pm:708
+#: perllib/FixMyStreet/Cobrand/Default.pm:712
msgid "Edit report category"
msgstr "Redigera rapportkategori"
-#: perllib/FixMyStreet/Cobrand/Default.pm:709
+#: perllib/FixMyStreet/Cobrand/Default.pm:713
msgid "Edit report priority"
msgstr "Redigera rapportprioritet"
-#: perllib/FixMyStreet/Cobrand/Default.pm:707
+#: perllib/FixMyStreet/Cobrand/Default.pm:711
msgid "Edit reports"
msgstr "Redigera rapporter"
@@ -1080,15 +1093,15 @@ msgstr "Ändrar uppdatering %d"
msgid "Editing user %d"
msgstr "Ändrar användare %d"
-#: templates/web/base/admin/category_edit.html:56
+#: templates/web/base/admin/category_edit.html:30
msgid "Editor"
msgstr "Redaktör"
#: templates/web/base/admin/bodies.html:27
-#: templates/web/base/admin/category_edit.html:53
+#: templates/web/base/admin/category_edit.html:28
#: templates/web/base/admin/flagged.html:38
#: templates/web/base/admin/users.html:17
-#: templates/web/base/auth/general.html:49
+#: templates/web/base/auth/general.html:51
#: templates/web/zurich/admin/body-form.html:9
#: templates/web/zurich/admin/body.html:15
#: templates/web/zurich/auth/general.html:24
@@ -1096,13 +1109,14 @@ msgstr "Redaktör"
msgid "Email"
msgstr "Epost"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1644
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1749
msgid "Email added to abuse list"
msgstr "Epostadressen tillagd till missbrukslistan"
-#: templates/web/base/admin/contact-form.html:36
-#: templates/web/base/report/new/form_user_loggedin.html:28
-#: templates/web/base/report/update/form_name.html:19
+#: templates/web/base/admin/contact-form.html:38
+#: templates/web/base/alert/_list.html:74
+#: templates/web/base/report/new/form_user_loggedin.html:32
+#: templates/web/base/report/update/form_name.html:23
msgid "Email address"
msgstr "E-postadress"
@@ -1114,11 +1128,11 @@ msgstr "E-postnotifikation skapad"
msgid "Email alert deleted"
msgstr "E-postnotifikation borttagen"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1641
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1746
msgid "Email already in abuse list"
msgstr "Epostadressen finns redan i missbrukslistan"
-#: templates/web/base/admin/report_edit.html:141
+#: templates/web/base/admin/report_edit.html:129
#: templates/web/base/admin/update_edit.html:35
#: templates/web/base/admin/user-form.html:19
#: templates/web/zurich/admin/body.html:48
@@ -1142,8 +1156,8 @@ msgstr ""
"uppdateringar av befintliga rapporter. Om du är osäker (den kan förmodligen inte göra detta) så lämna detta tomt.\n"
"För mer information, se <a href='https://www.mysociety.org/2013/02/20/open311-extended/' class='admin-offsite-link'>denna artikel</a>."
-#: templates/web/base/admin/body-form.html:120
-#: templates/web/base/admin/body-form.html:121
+#: templates/web/base/admin/body-form.html:122
+#: templates/web/base/admin/body-form.html:123
msgid ""
"Enable this <strong>can be devolved</strong> setting if one or more contacts have a \n"
" different endpoint (and send method) from the body's. For example, if reports for some categories of\n"
@@ -1158,11 +1172,11 @@ msgstr "Slutdatum:"
msgid "Endpoint"
msgstr "Ändpunkt"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:76
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:81
msgid "Enter a Z&uuml;rich street name"
msgstr "Skriv in ett Z&uuml;rich-gatunamn"
-#: perllib/FixMyStreet/Cobrand/UK.pm:15
+#: perllib/FixMyStreet/Cobrand/UK.pm:16
msgid "Enter a nearby UK postcode, or street name and area"
msgstr "Ange ett postnummer eller gatunamn och ort"
@@ -1171,12 +1185,13 @@ msgstr "Ange ett postnummer eller gatunamn och ort"
msgid "Enter a nearby postcode, or street name and area"
msgstr "Ange ett postnummer eller gatunamn och ort"
+#: perllib/FixMyStreet/Cobrand/DansMonQwat.pm:14
#: templates/web/base/around/postcode_form.html:5
#: templates/web/base/around/postcode_form.html:6
msgid "Enter a nearby street name and area"
msgstr "Ange ett närligande gatunamn och ort"
-#: templates/web/base/auth/general.html:116
+#: templates/web/base/auth/general.html:118
#: templates/web/base/report/new/form_user_loggedout_by_email.html:35
#: templates/web/base/report/update/form_user_loggedout_by_email.html:13
#: templates/web/zurich/auth/general.html:65
@@ -1196,8 +1211,8 @@ msgstr "Skriv in information om problemet"
msgid "Error"
msgstr "Fel"
-#: templates/web/base/reports/_list-filters.html:20
-#: templates/web/base/reports/_list-filters.html:28
+#: templates/web/base/reports/_list-filters.html:31
+#: templates/web/base/reports/_list-filters.html:39
msgid "Everything"
msgstr "Allt"
@@ -1210,26 +1225,24 @@ msgstr "Exempelpostnummer %s"
msgid "Examples:"
msgstr "Exempel:"
-#: templates/web/base/admin/report_edit.html:122
-#: templates/web/base/report/_inspect.html:42
+#: templates/web/base/admin/report-category.html:3
msgid "Existing category"
msgstr "Befintlig kategori"
#: templates/web/base/js/translation_strings.html:49
msgid "Expand map"
-msgstr ""
+msgstr "Expandera karta"
-#: templates/web/base/report/new/form_report.html:52
+#: templates/web/base/report/new/form_report.html:54
msgid "Explain what’s wrong"
msgstr "Förklara felet"
-#: templates/web/base/dashboard/index.html:146
-#, fuzzy
+#: templates/web/base/dashboard/index.html:147
msgid "Export as CSV"
-msgstr "Alla rapporter som CSV"
+msgstr "Exportera som CSV"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:913
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:179
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:12
msgid "Extern"
@@ -1240,7 +1253,7 @@ msgstr "Extern"
msgid "External ID"
msgstr "Externt ID"
-#: templates/web/base/admin/body-form.html:87
+#: templates/web/base/admin/body-form.html:89
msgid "External URL"
msgstr "Extern URL"
@@ -1252,13 +1265,20 @@ msgstr "Extern förvaltning"
msgid "External team"
msgstr "Externt arbetslag"
-#: templates/web/base/admin/category_edit.html:25
+#: perllib/FixMyStreet/Cobrand/Default.pm:673
+#: templates/web/base/admin/reportextrafields/edit.html:1
+#: templates/web/base/admin/reportextrafields/index.html:1
+#, fuzzy
+msgid "Extra Fields"
+msgstr "Extra uppgifter"
+
+#: templates/web/base/admin/contact-form.html:141
#: templates/web/base/admin/report_edit.html:94
msgid "Extra data:"
msgstr "Extra data:"
-#: templates/web/base/report/_inspect.html:134
-#: templates/web/base/report/_item.html:106
+#: templates/web/base/report/_inspect.html:144
+#: templates/web/base/report/_item.html:108
msgid "Extra details"
msgstr "Extra uppgifter"
@@ -1266,6 +1286,11 @@ msgstr "Extra uppgifter"
msgid "Failed to send message"
msgstr "Misslyckades med att skicka meddelande"
+#: templates/web/base/admin/reportextrafields/edit.html:58
+#: templates/web/base/admin/reportextrafields/index.html:9
+msgid "Fields"
+msgstr ""
+
#: templates/web/zurich/admin/index-dm.html:33
#: templates/web/zurich/admin/index-sdm.html:30
msgid "Filter report list"
@@ -1279,52 +1304,32 @@ msgstr "Första gången"
msgid "Fix this by choosing an <strong>area covered</strong> in the <em>Edit body details</em> form below."
msgstr "Lös detta genom att välja ett <strong>lämpligt område</strong> i <em>Ändra förvaltningsdetaljer</em> i formuläret nedan."
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:11
-#: templates/web/base/admin/report_blocks.html:26
+#: perllib/FixMyStreet/App/Controller/Admin/States.pm:35
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:133
+#: templates/web/base/admin/states/index.html:29
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:41
-#: templates/web/base/report/banner.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:17
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:45
msgid "Fixed"
msgstr "Löst"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:13
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:7
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:62
msgid "Fixed - Council"
msgstr "Löst - Kommun"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:12
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:63
msgid "Fixed - User"
msgstr "Löst - Användare"
-#: templates/web/base/reports/_list-filters.html:14
-msgid "Fixed reports"
-msgstr "lösta rapporter"
-
-#: templates/web/base/admin/problem_row.html:37
-msgid "Fixed:"
-msgstr "Löst:"
-
-#: templates/web/base/admin/body-form.html:95
-#: templates/web/base/admin/responsepriorities/edit.html:41
+#: templates/web/base/admin/body-form.html:97
+#: templates/web/base/admin/responsepriorities/edit.html:53
#: templates/web/zurich/admin/body-form.html:36
msgid "Flag as deleted"
msgstr "Flagga som borttagen"
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/report_blocks.html:23
msgid "Flag user"
msgstr "Flagga användare"
-#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: perllib/FixMyStreet/Cobrand/Default.pm:644
#: templates/web/base/admin/users.html:20
msgid "Flagged"
msgstr "Flaggat"
@@ -1341,7 +1346,7 @@ msgstr "Flaggade användare är listade på <a href='%s'>flaggningssidan</a>."
msgid "Flagged users are not restricted in any way. This is just a list of users that have been marked for attention."
msgstr "Flaggade användare är inte begränsade på något sätt. Detta är bara en lista på användare som har markerats för uppmärksamhet."
-#: templates/web/base/admin/report_edit.html:147
+#: templates/web/base/admin/report_edit.html:135
#: templates/web/base/admin/user-form.html:100
msgid "Flagged:"
msgstr "Flaggat:"
@@ -1354,21 +1359,25 @@ msgstr "Följ en länk till ett område för att se rapporter endast inom det om
msgid "For best results include a close-up and a wide shot"
msgstr "Inkludera en närbild och en vidbild för bästa resultat"
-#: templates/web/base/admin/body-form.html:71
+#: templates/web/base/admin/extra-metadata-form.html:52
+msgid "For each option, <strong>Key</strong> is the value which is stored in the database for that option and <strong>Name</strong> is the value displayed to the user."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:73
msgid "For more information, see <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
msgstr "För mer information, se <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
-#: templates/web/base/auth/general.html:95
+#: templates/web/base/auth/general.html:97
#: templates/web/base/report/new/form_user_loggedout_password.html:20
#: templates/web/base/report/update/form_user_loggedout_password.html:19
msgid "Forgotten your password?"
msgstr "Glömt ditt lösenord?"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:743
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:748
msgid "Forwarded to external body"
msgstr "Vidarebefordrad till extern förvaltning"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:744
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:749
msgid "Forwarded wish to external body"
msgstr "Vidarebefordrade önskan till extern förvaltning"
@@ -1378,6 +1387,10 @@ msgstr "Vidarebefordrade önskan till extern förvaltning"
msgid "Frequently Asked Questions"
msgstr "Vanliga frågor"
+#: templates/web/base/admin/stats.html:102
+msgid "Get Count"
+msgstr "Hämta Antal"
+
#: templates/web/base/around/_updates.html:3
#: templates/web/base/report/display_tools.html:14
msgid "Get updates"
@@ -1393,10 +1406,14 @@ msgstr "FÃ¥ uppdateringar av %s problem"
msgid "Get updates of problems in this %s"
msgstr "FÃ¥ uppdateringar om problem i denna %s"
-#: templates/web/base/alert/_list.html:83
+#: templates/web/base/alert/_list.html:85
msgid "Give me an RSS feed"
msgstr "Ge mig ett RSS-flöde"
+#: templates/web/base/admin/reportextrafields/edit.html:6
+msgid "Give this collection of fields a name. It is not shown publicly, just here in the admin."
+msgstr ""
+
#: templates/web/base/questionnaire/completed.html:14
msgid "Glad to hear it’s been fixed!"
msgstr "Vi är glada att höra att det har blivit löst!"
@@ -1406,8 +1423,9 @@ msgstr "Vi är glada att höra att det har blivit löst!"
#: templates/web/base/admin/index.html:49
#: templates/web/base/alert/index.html:34
#: templates/web/base/around/postcode_form.html:13
-#: templates/web/base/reports/_list-filters.html:38
-#: templates/web/base/reports/_list-filters.html:53
+#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:64
+#: templates/web/base/reports/index.html:75
#: templates/web/zurich/admin/stats.html:26
msgid "Go"
msgstr "GÃ¥"
@@ -1416,7 +1434,7 @@ msgstr "GÃ¥"
msgid "Going to send questionnaire?"
msgstr "Skicka enkät?"
-#: perllib/FixMyStreet/Cobrand/Default.pm:726
+#: perllib/FixMyStreet/Cobrand/Default.pm:731
msgid "Grant access to the admin"
msgstr "Bevilja tillgång till administratörskontrollpanelen"
@@ -1424,10 +1442,6 @@ msgstr "Bevilja tillgång till administratörskontrollpanelen"
msgid "Graph of problem creation by status over time"
msgstr "Visualisering av rapporter över tid"
-#: templates/web/base/reports/index.html:15
-msgid "Greyed-out lines are councils that no longer exist."
-msgstr "Utgråade linjer är kommuner som inte längre existerar."
-
#: templates/web/base/questionnaire/index.html:48
msgid "Has this problem been fixed?"
msgstr "Har det här problemet blivit löst?"
@@ -1438,7 +1452,7 @@ msgstr "Har du nÃ¥gonsin rapporterat ett problem till en kommun tidigare eller Ã
#: templates/web/base/main_nav_items.html:40
#: templates/web/zurich/about/faq-de-ch.html:1
-#: templates/web/zurich/footer.html:23
+#: templates/web/zurich/footer.html:22
#: templates/web/zurich/nav_over_content.html:8
msgid "Help"
msgstr "Hjälp"
@@ -1448,22 +1462,13 @@ msgstr "Hjälp"
msgid "Help <strong>%s</strong> resolve your problem quicker, by providing some extra detail. This extra information will not be published online."
msgstr "Hjälp <strong>%s</strong> lösa ditt problem snabbare genom att tillhandahålla lite extra uppgifter. Den här informationen kommer inte att visas offentligt på sajten."
-#: templates/web/base/alert/_list.html:9
-msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
-msgstr "Här är de olika typerna för lokala problem för &lsquo;%s&rsquo;"
-
-#: templates/web/zurich/footer.html:12
+#: templates/web/zurich/footer.html:11
msgid "Hi %s"
msgstr "Hej %s"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:906
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:19
-#: templates/web/base/admin/report_blocks.html:28
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:911
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:60
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:19
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:11
#: templates/web/zurich/admin/stats.html:32
@@ -1471,24 +1476,50 @@ msgstr "Hej %s"
msgid "Hidden"
msgstr "Gömd"
-#: templates/web/base/report/_main.html:105
-#, fuzzy
+#: templates/web/base/report/_main.html:109
msgid "Hide entire report"
-msgstr "Skicka om rapporten"
+msgstr "Dölj hela rapporten"
+
+#: templates/web/base/my/anonymize.html:1
+#: templates/web/base/my/anonymize.html:2
+msgid "Hide my name"
+msgstr "Dölj mitt namn"
+
+#: templates/web/base/my/anonymize.html:21
+msgid "Hide my name everywhere"
+msgstr "Dölj mitt namn överallt"
+
+#: templates/web/base/my/anonymize.html:10
+msgid "Hide my name in this update"
+msgstr "Dölj mitt namn i den här uppdateringen"
+
+#: templates/web/base/my/anonymize.html:16
+msgid "Hide my name on this report"
+msgstr "Dölj mitt namn i den här rapporten"
#: templates/web/base/around/display_location.html:67
msgid "Hide old"
msgstr "Göm äldre"
#: templates/web/base/around/display_location.html:62
+#: templates/web/base/js/translation_strings.html:55
msgid "Hide pins"
msgstr "Göm kartnålar"
#: templates/web/base/report/update.html:15
msgid "Hide update completely?"
+msgstr "Dölj uppdatering helt?"
+
+#: templates/web/base/report/_report_meta_info.html:3
+#: templates/web/base/report/update.html:55
+msgid "Hide your name?"
+msgstr "Dölj ditt namn?"
+
+#: templates/web/base/admin/extra-metadata-form.html:38
+msgid "Hint"
msgstr ""
-#: templates/web/base/admin/category_edit.html:49
+#: templates/web/base/admin/category_edit.html:24
msgid "History"
msgstr "Historik"
@@ -1505,12 +1536,12 @@ msgid "How to send successful reports"
msgstr "Hur bra rapporter skickas"
#: templates/web/base/tokens/confirm_problem.html:36
-#: templates/web/base/tokens/confirm_problem.html:40
+#: templates/web/base/tokens/confirm_problem.html:41
msgid "I just reported a problem on @fixmystreet"
msgstr "Jag rapporterade precis ett problem på @fixamingata"
-#: templates/web/base/tokens/confirm_update.html:19
-#: templates/web/base/tokens/confirm_update.html:23
+#: templates/web/base/tokens/confirm_update.html:20
+#: templates/web/base/tokens/confirm_update.html:25
msgid "I just updated a problem on @fixmystreet"
msgstr "Jag uppdaterade precis ett problem på @fixamingata"
@@ -1530,15 +1561,23 @@ msgstr "Tyvärr kunde vi inte hitta ditt problem i databasen.\n"
msgid "ID"
msgstr "ID"
-#: templates/web/base/admin/body-form.html:30
-#: templates/web/base/admin/body-form.html:31
+#: templates/web/base/admin/body-form.html:32
+#: templates/web/base/admin/body-form.html:33
msgid ""
"Identify a <strong>parent</strong> if this body is itself part of another body.\n"
" For basic installations, you don't need to join bodies in this way."
msgstr "Identifiera en <strong>förälder</strong> om den här förvaltningen är en del av en annan förvaltning. Den här typen av kopplingar behövs inte göras i enklare installationer."
+#: templates/web/base/auth/token.html:19
+msgid "If there's a user associated with the address you entered, we've sent a confirmation email."
+msgstr ""
+
#: templates/web/base/admin/responsepriorities/edit.html:23
msgid "If this priority is passed to an external service (e.g. Exor/Confirm) enter the priority code to use with that service here."
+msgstr "Om denna prioritet skickas vidare till en extern tjänst (t.ex. Exor/Confirm), skriv prioritetskoden för den tjänsten här."
+
+#: templates/web/base/admin/extra-metadata-form.html:24
+msgid "If ticked the user won’t see an input field, just the ‘Description’ text."
msgstr ""
#: templates/web/base/admin/contact-form.html:14
@@ -1551,7 +1590,7 @@ msgstr "Om två eller fler förvaltningar delar på ett geografiskt område, kom
msgid "If you get some more information about the status of your problem, please come back to the site and leave an update."
msgstr "Om du får mer information om problemets status får du gärna komma tillbaka hit och lämna en uppdatering."
-#: templates/web/base/admin/responsepriorities/edit.html:33
+#: templates/web/base/admin/responsepriorities/edit.html:45
msgid "If you only want this priority to be an option for specific categories, pick them here. By default they will show for all categories."
msgstr "Om du bara vill att den här prioriteringen skall vara valbar för specifika kategorier, välj då dessa här. Som standard visas den för samtliga kategorier."
@@ -1566,7 +1605,7 @@ msgstr "Om du skapar en problemrapport här så kommer rapporten <strong>inte</s
#: templates/web/base/admin/template_edit.html:36
msgid "If you want to use this template to prefill the update field when changing a report&rsquo;s state, select the state here."
-msgstr ""
+msgstr "Om du vill använda denna mall för att automatiskt fylla i uppdateringsfältet då en rapports status ändras, välj då statusvärdet här."
#: templates/web/base/questionnaire/index.html:70
msgid ""
@@ -1574,7 +1613,7 @@ msgid ""
"(please note it will not be sent to the council)."
msgstr "Om du vill lämna ytterligare information om problemet, ange det här. Till exempel, hur upplevde du kommunikationen med kommunen? Om du skickar en rapport här kommer den att visas offentligt på FixaMinGata."
-#: templates/web/base/admin/contact-form.html:30
+#: templates/web/base/admin/contact-form.html:32
msgid "If you're using <strong>a send method that is not email</strong>, enter the service ID (Open311) or equivalent identifier here."
msgstr "Om du använder <strong>en utskicksmetod som inte är e-post</strong>, ange ditt service-ID (Open311) eller liknande här."
@@ -1601,7 +1640,7 @@ msgid ""
" when they are shown on the site. Enter the ID (number) of that user."
msgstr "Om du har aktiverat Open311-uppdateringsutskick ovan: Du måste identifiera vilken <strongFixaMinGata-användare</strong> som skall anges som skapare av dessa uppdateringar när de visas på sajten. Ange ID-numret för den här användaren."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:133
+#: perllib/FixMyStreet/App/Controller/Contact.pm:134
msgid "Illegal ID"
msgstr "Ogiltigt ID"
@@ -1609,13 +1648,6 @@ msgstr "Ogiltigt ID"
msgid "Illegal feed selection"
msgstr "Ogiltigt RSS-flöde"
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "In Progress"
-msgstr "Pågående"
-
#: templates/web/base/admin/flagged.html:39
msgid "In abuse table?"
msgstr "I missbrukstabellen?"
@@ -1624,18 +1656,17 @@ msgstr "I missbrukstabellen?"
msgid "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
msgstr "I tillägg, följande attribut som inte är del av Open311 v2-specifikationen returneras: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:192
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:954
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:9
-#: templates/web/base/report/banner.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:5
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:197
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:959
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:8
msgid "In progress"
msgstr "Pågående"
+#: templates/web/base/admin/contact-form.html:57
+msgid "Inactive"
+msgstr "Inaktiv"
+
#: templates/web/base/tokens/confirm_alert.html:11
msgid "Inbox zero, here we come!"
msgstr "Inbox zero, här kommer vi!"
@@ -1652,11 +1683,15 @@ msgstr "Inkludera obekräftade rapporter"
msgid "Incorrect has_photo value \"%s\""
msgstr "Inkorrekt värde för has_photo, \"%s\""
-#: templates/web/base/admin/contact-form.html:84
+#: templates/web/base/report/_inspect.html:5
+msgid "Inspect report"
+msgstr "Inspektera rapport"
+
+#: templates/web/base/admin/contact-form.html:85
msgid "Inspection required"
msgstr "Inspektion krävs"
-#: perllib/FixMyStreet/Cobrand/Default.pm:711
+#: perllib/FixMyStreet/Cobrand/Default.pm:715
msgid "Instruct contractors to fix problems"
msgstr "Instruera entreprenörer att lösa problem"
@@ -1664,22 +1699,15 @@ msgstr "Instruera entreprenörer att lösa problem"
msgid "Internal notes"
msgstr "Interna anteckningar"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:11
-msgid "Internal referral"
-msgstr "Interna refereringar"
-
#: templates/web/base/offline/appcache.html:3
msgid "Internet glitch"
-msgstr ""
+msgstr "Internet-problem"
#: perllib/FixMyStreet/App/Controller/Open311.pm:336
msgid "Invalid agency_responsible value %s"
msgstr "Inkorrekt värde för agency_responsible, \"%s\""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1502
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1607
msgid "Invalid end date"
msgstr "Inkorrekt slutdatum"
@@ -1687,26 +1715,15 @@ msgstr "Inkorrekt slutdatum"
msgid "Invalid format %s specified."
msgstr "Inkorrekt format %s angivet."
-#: perllib/FixMyStreet/App/Controller/Report.pm:398
+#: perllib/FixMyStreet/App/Controller/Report.pm:409
msgid "Invalid location. New location must be covered by the same council."
msgstr "Oglitlig plats. Samma kommun måste ansvara för den nya platsen."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1498
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1603
msgid "Invalid start date"
msgstr "Inkorrekt startdatum"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:7
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:4
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Investigating"
-msgstr "Utredes"
-
-#: templates/web/base/contact/blurb.html:8
+#: templates/web/base/contact/blurb.html:2
msgid "It's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there."
msgstr "Det går oftast snabbast att <a href=\"%s\">kolla vår FAQ</a> och se om svaret finns där."
@@ -1714,37 +1731,59 @@ msgstr "Det går oftast snabbast att <a href=\"%s\">kolla vår FAQ</a> och se om
msgid "It’s on its way to the council right now."
msgstr "Det är nu på väg till kommunen."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:177
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:182
msgid "Jurisdiction Unknown"
msgstr "Jurisdiktion Okänd"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:15
msgid "Jurisdiction unknown"
msgstr "Jurisdiktion okänd"
-#: templates/web/base/auth/general.html:91
+#: templates/web/base/auth/general.html:93
#: templates/web/base/report/new/form_user_loggedout_password.html:16
#: templates/web/base/report/update/form_user_loggedout_password.html:15
#: templates/web/zurich/auth/general.html:40
msgid "Keep me signed in on this computer"
msgstr "Behåll mig inloggad på den här datorn"
+#: templates/web/base/admin/extra-metadata-form.html:61
+msgid "Key"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:9
+#: templates/web/base/admin/states/index.html:95
+msgid "Label"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:6
+#: templates/web/base/admin/reportextrafields/edit.html:45
+msgid "Language"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/index.html:8
+msgid "Languages"
+msgstr ""
+
#: templates/web/base/dashboard/index.html:50
msgid "Last 4 weeks"
-msgstr ""
+msgstr "De senaste fyra veckorna"
#: templates/web/base/dashboard/index.html:49
-#, fuzzy
+#: templates/web/base/reports/index.html:38
msgid "Last 7 days"
-msgstr "Senaste uppdatering:"
+msgstr "De senaste sju dagarna"
#: templates/web/base/admin/body.html:74
#: templates/web/zurich/admin/body.html:16
msgid "Last editor"
msgstr "Senaste redaktör"
+#: templates/web/base/questionnaire/index.html:25
+msgid "Last update"
+msgstr "Senaste uppdatering"
+
#: templates/web/base/admin/report_edit.html:89
msgid "Last update:"
msgstr "Senaste uppdatering:"
@@ -1753,21 +1792,25 @@ msgstr "Senaste uppdatering:"
msgid "Last&nbsp;update:"
msgstr "Senaste&nbsp;uppdatering:"
-#: templates/web/base/report/_inspect.html:20
-#: templates/web/base/report/_item.html:86
+#: templates/web/base/report/_inspect.html:30
+#: templates/web/base/report/_item.html:88
msgid "Latitude/Longitude:"
-msgstr ""
+msgstr "Latitud/Longitud:"
-#: templates/web/base/reports/_list-filters.html:50
+#: templates/web/base/reports/_list-filters.html:61
msgid "Least recently updated"
msgstr "Tidigast uppdaterad"
-#: templates/web/base/admin/body-form.html:127
+#: templates/web/base/admin/body-form.html:129
msgid "Leave this blank if all reports to this body should be sent using the same send method (e.g., \"%s\")."
msgstr "Lämna den här blank om samtliga rapporter till den här förvaltningen skall skickas med samma utskicksmetod (exv. \"%s\")."
-#: templates/web/base/dashboard/index.html:150
+#: templates/web/base/dashboard/index.html:151
msgid "Less than 7 days old"
+msgstr "Mindre än sju dagar gammal"
+
+#: templates/web/base/admin/extra-metadata-form.html:47
+msgid "List"
msgstr ""
#: templates/web/base/admin/body.html:31
@@ -1800,38 +1843,38 @@ msgstr "Lokala rapporter"
msgid "Locate the problem on a map of the area"
msgstr "Lokalisera problemet på en karta över området"
-#: templates/web/base/auth/general.html:22
+#: templates/web/base/auth/general.html:24
#: templates/web/base/report/new/form_user_loggedout.html:6
#: templates/web/base/report/update/form_user_loggedout.html:7
msgid "Log in with Facebook"
-msgstr ""
+msgstr "Logga in med Facebook"
-#: templates/web/base/auth/general.html:30
+#: templates/web/base/auth/general.html:32
#: templates/web/base/report/new/form_user_loggedout.html:14
#: templates/web/base/report/update/form_user_loggedout.html:15
msgid "Log in with Twitter"
-msgstr ""
+msgstr "Logga in med Twitter"
-#: templates/web/base/js/translation_strings.html:59
+#: templates/web/base/js/translation_strings.html:62
msgid "Log in with email"
-msgstr ""
+msgstr "Logga in med e-post"
-#: templates/web/base/dashboard/index.html:145
+#: templates/web/base/dashboard/index.html:146
#: templates/web/base/dashboard/index.html:38
msgid "Look up"
-msgstr ""
+msgstr "Slå upp"
#: templates/web/base/js/translation_strings.html:44
msgid "MAP"
msgstr "KARTA"
-#: perllib/FixMyStreet/Cobrand/Default.pm:712
+#: perllib/FixMyStreet/Cobrand/Default.pm:716
msgid "Manage shortlist"
msgstr "Hantera slutlista"
-#: templates/web/base/reports/_list-filters.html:45
+#: templates/web/base/reports/_list-filters.html:56
msgid "Manual order"
-msgstr ""
+msgstr "Manuell ordning"
#: templates/web/base/js/translation_strings.html:46
msgid "Map"
@@ -1845,19 +1888,11 @@ msgstr "Markera som skickad"
msgid "Mark users whose behaviour you want to keep a check on as <strong>flagged</strong>."
msgstr "Markera användare som du vill hålla ett öga på som <strong>flaggade</strong>."
-#: templates/web/base/reports/index.html:27
-msgid "Marked fixed/closed in the past eight weeks"
-msgstr "Markerad som löst/stängd under de senaste åtta veckorna"
-
-#: templates/web/base/reports/index.html:28
-msgid "Marked fixed/closed more than eight weeks ago"
-msgstr "Markerad som löst/stängd för mer än åtta veckor sedan"
-
-#: perllib/FixMyStreet/Cobrand/Default.pm:710
+#: perllib/FixMyStreet/Cobrand/Default.pm:714
msgid "Markup problem details"
msgstr "Lägg till problemdetaljer"
-#: templates/web/base/contact/index.html:96
+#: templates/web/base/contact/index.html:100
msgid "Message"
msgstr "Meddelande"
@@ -1877,68 +1912,69 @@ msgstr "Saknade förvaltningar:"
msgid "Missing jurisdiction_id"
msgstr "Saknat jurisdiction_id"
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate"
msgstr "Moderera"
-#: perllib/FixMyStreet/Cobrand/Default.pm:706
+#: perllib/FixMyStreet/Cobrand/Default.pm:710
msgid "Moderate report details"
msgstr "Moderera rapportdetaljer"
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate this report"
msgstr "Moderera den här rapporten"
#: templates/web/base/report/update.html:12
-#, fuzzy
msgid "Moderate this update"
-msgstr "Moderera den här rapporten"
+msgstr "Moderera den här uppdateringen"
-#: templates/web/base/report/_main.html:69
-#: templates/web/base/report/update.html:49
-#, fuzzy
+#: templates/web/base/report/_main.html:73
+#: templates/web/base/report/update.html:58
msgid "Moderated by %s at %s"
-msgstr "Rapporterat av %s den %s"
+msgstr "Modererad av %s %s"
#: templates/web/zurich/admin/stats.html:34
msgid "Moderated by division within one working day"
msgstr "Granskat av underavdelningen inom en arbetsdag"
-#: templates/web/base/report/_main.html:109
-#: templates/web/base/report/update.html:57
-#, fuzzy
+#: templates/web/base/report/_main.html:113
+#: templates/web/base/report/update.html:66
msgid "Moderation reason:"
-msgstr "Moderera den här rapporten"
+msgstr "Anledning till moderering:"
#: templates/web/base/admin/stats.html:11
msgid "Month"
msgstr "MÃ¥nad"
-#: templates/web/base/reports/_list-filters.html:51
+#: templates/web/base/reports/_list-filters.html:62
msgid "Most commented"
msgstr "Mest kommenterad"
#: templates/web/base/admin/bodies.html:25
#: templates/web/base/admin/body-form.html:24
+#: templates/web/base/admin/extra-metadata-form.html:65
#: templates/web/base/admin/flagged.html:16
#: templates/web/base/admin/flagged.html:37
#: templates/web/base/admin/index.html:62
#: templates/web/base/admin/list_updates.html:7
+#: templates/web/base/admin/reportextrafields/edit.html:11
+#: templates/web/base/admin/reportextrafields/index.html:6
#: templates/web/base/admin/reports.html:14
#: templates/web/base/admin/responsepriorities/list.html:6
+#: templates/web/base/admin/states/index.html:108
+#: templates/web/base/admin/states/index.html:11
#: templates/web/base/admin/users.html:16
-#: templates/web/base/auth/general.html:106
-#: templates/web/base/report/new/form_user_loggedin.html:40
+#: templates/web/base/auth/general.html:108
+#: templates/web/base/report/new/form_user_loggedin.html:42
#: templates/web/base/report/new/form_user_loggedout_by_email.html:7
-#: templates/web/base/report/update/form_name.html:23
-#: templates/web/base/reports/index.html:23
+#: templates/web/base/report/update/form_name.html:27
#: templates/web/zurich/admin/body-form.html:4
#: templates/web/zurich/auth/general.html:60
#: templates/web/zurich/report/new/fill_in_details_form.html:59
msgid "Name"
msgstr "Namn"
-#: templates/web/base/admin/report_edit.html:139
+#: templates/web/base/admin/report_edit.html:127
#: templates/web/base/admin/responsepriorities/edit.html:13
#: templates/web/base/admin/update_edit.html:34
#: templates/web/base/admin/user-form.html:16
@@ -1950,7 +1986,7 @@ msgstr "Namn:"
msgid "Name: %s"
msgstr "Namn: %s"
-#: templates/web/base/report/_inspect.html:28
+#: templates/web/base/report/_inspect.html:38
msgid "Navigate to this problem"
msgstr "Navigera till det här problemet"
@@ -1959,16 +1995,16 @@ msgstr "Navigera till det här problemet"
msgid "Nearest named road to the pin placed on the map (automatically generated using OpenStreetMap): %s%s"
msgstr "Närmaste namngivna gata till placeringen på kartan (genereras automatiskt via OpenStreetMap): %s%s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:129
+#: perllib/FixMyStreet/Cobrand/UK.pm:134
msgid "Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"
msgstr "Närmaste postnummer till placeringen på kartan (genereras automatiskt): %s (%s meter bort)"
-#: perllib/FixMyStreet/Cobrand/Default.pm:527
-#: perllib/FixMyStreet/Cobrand/Default.pm:567
+#: perllib/FixMyStreet/Cobrand/Default.pm:538
+#: perllib/FixMyStreet/Cobrand/Default.pm:566
msgid "Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"
msgstr "Närmaste gata till placeringen på kartan (genereras automatiskt av Bing Maps): %s"
-#: perllib/FixMyStreet/Script/Alerts.pm:319
+#: perllib/FixMyStreet/Script/Alerts.pm:316
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s\n"
"\n"
@@ -1976,19 +2012,24 @@ msgstr ""
"Närmaste gata till placeringen på kartan (genereras automatiskt av Bing Maps): %s\n"
"\n"
-#: templates/web/base/auth/token.html:17 templates/web/base/email_sent.html:5
+#: templates/web/base/auth/token.html:18
+msgid "Nearly done!"
+msgstr ""
+
+#: templates/web/base/auth/token.html:22 templates/web/base/email_sent.html:5
msgid "Nearly done! Now check your email&hellip;"
msgstr "Nästan klart! Kolla nu din epost."
-#: templates/web/base/reports/index.html:24
-msgid "New <br>problems"
-msgstr "Nya <br>problem"
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:131
+#, fuzzy
+msgid "New"
+msgstr "Senaste"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:259
+#: perllib/FixMyStreet/App/Controller/Admin.pm:262
msgid "New body added"
msgstr "Ny förvaltning tillagd"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:405
+#: perllib/FixMyStreet/App/Controller/Admin.pm:386
msgid "New category contact added"
msgstr "Nya kategorikontakter tillagda"
@@ -2014,7 +2055,7 @@ msgid "New password:"
msgstr "Nytt lösenord:"
#: templates/web/base/admin/responsepriorities/edit.html:4
-#: templates/web/base/admin/responsepriorities/list.html:32
+#: templates/web/base/admin/responsepriorities/list.html:34
msgid "New priority"
msgstr "Ny prioritet"
@@ -2043,6 +2084,7 @@ msgid "New reports"
msgstr "Nya rapporter"
#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/states/index.html:91
msgid "New state"
msgstr "Ny status"
@@ -2052,7 +2094,7 @@ msgstr "Ny status"
msgid "New template"
msgstr "Ny mall"
-#: templates/web/base/reports/_list-filters.html:47
+#: templates/web/base/reports/_list-filters.html:58
msgid "Newest"
msgstr "Senaste"
@@ -2060,20 +2102,19 @@ msgstr "Senaste"
msgid "Next"
msgstr "Nästa"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1203
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
+#: perllib/FixMyStreet/Cobrand/Default.pm:1237
#: templates/web/base/admin/category_edit.html:4
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:137
+#: templates/web/base/admin/report_edit.html:125
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:26
#: templates/web/base/questionnaire/creator_fixed.html:16
#: templates/web/base/questionnaire/index.html:106
#: templates/web/base/questionnaire/index.html:55
+#: templates/web/base/report/_inspect.html:92
msgid "No"
msgstr "Nej"
@@ -2089,7 +2130,7 @@ msgstr "Ingen förvaltning"
msgid "No council"
msgstr "Ingen kommun"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:445
+#: perllib/FixMyStreet/DB/Result/Problem.pm:372
msgid "No council selected"
msgstr "Ingen kommun vald"
@@ -2105,34 +2146,25 @@ msgstr "Inga flaggade problem kunde hittas."
msgid "No flagged users found."
msgstr "Inga flaggade användare kunde hittas."
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:14
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:8
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "No further action"
-msgstr "Kunde inte åtgärda"
-
#: templates/web/zurich/admin/report_edit-sdm.html:125
#: templates/web/zurich/admin/report_edit.html:259
msgid "No further updates"
msgstr "Inga fler uppdateringar"
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:84
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:68
msgid "No inspections by that inspector in the selected date range."
-msgstr ""
+msgstr "Inga inspektioner av den inspektören i det valda datumintervallet."
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:86
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:70
msgid "No inspections in the selected date range."
-msgstr ""
+msgstr "Inga inspektioner i det valda datumintervallet."
#: templates/web/base/js/translation_strings.html:37
msgid "No result returned"
msgstr "Inget resultat returnerades"
-#: templates/web/base/admin/body-form.html:66
-#: templates/web/base/admin/body-form.html:67
+#: templates/web/base/admin/body-form.html:68
+#: templates/web/base/admin/body-form.html:69
msgid ""
"No specific areas are currently available, because the <code>MAPIT_URL</code> in\n"
" your config file is not pointing to a live MapIt service."
@@ -2167,17 +2199,8 @@ msgid ""
" activity across their body), the ability to hide reports or set special report statuses."
msgstr "Normala (publika) användare skall inte associeras med någon <strong>förvaltning</strong>.<br>Användare för behörig personal skall kunna bli associerade med den förvaltning som de representerar.<br>Beroende på implementationen kan personal ha tillgång till dashboard-sidan (som summerar förvaltningsaktiviteterna), möjligheten att dölja rapporter, eller möjligheten att sätta speciella rapportstatusvärden."
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:9
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "Not Responsible"
-msgstr "Ej ansvarig"
-
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:181
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:186
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:933
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:13
msgid "Not contactable"
@@ -2196,7 +2219,7 @@ msgid "Not reported to council"
msgstr "Ej rapporterat till kommunen"
#: templates/web/base/admin/body.html:75
-#: templates/web/base/admin/category_edit.html:57
+#: templates/web/base/admin/category_edit.html:31
#: templates/web/zurich/admin/body.html:17
msgid "Note"
msgstr "Observera"
@@ -2206,7 +2229,7 @@ msgid "Note that when including unconfirmed reports we use the date the report w
msgstr "Observera att när vi listar obegräftade rapporter använder vi datumet när rapporten skapades, vilket inte nödvändigtvis är samma månad som när rapporten bekräftades, så vissa avvikelser kan uppstå."
#: templates/web/zurich/admin/body.html:55
-#: templates/web/zurich/admin/contact-form.html:17
+#: templates/web/zurich/admin/contact-form.html:19
msgid "Note:"
msgstr "Observera:"
@@ -2218,6 +2241,10 @@ msgstr "Observera: <strong>%s</strong>"
msgid "Notes from SDM to DM"
msgstr "Anteckningar från SDM till DM"
+#: templates/web/base/admin/extra-metadata-form.html:26
+msgid "Notice"
+msgstr ""
+
#: templates/web/base/report/new/oauth_email_form.html:17
msgid "Now to submit your report&hellip;"
msgstr "För att skicka din rapport&hellip;"
@@ -2228,63 +2255,43 @@ msgstr "För att skicka din rapport&hellip;"
msgid "Now to submit your update&hellip;"
msgstr "För att skicka din uppdatering&hellip;"
+#: templates/web/base/reports/index.html:98
+msgid "Number of problems reported in each category, in the last 7 days."
+msgstr "Antalet problem rapporterade för varje kategori, under de senaste sju dagarna."
+
#: templates/web/base/js/translation_strings.html:43
msgid "OK"
msgstr "OK"
-#: templates/web/base/js/translation_strings.html:67
+#: templates/web/base/js/translation_strings.html:70
msgid "Offline data cleared"
-msgstr ""
+msgstr "Offline-data rensad"
-#: templates/web/base/js/translation_strings.html:64
+#: templates/web/base/js/translation_strings.html:67
msgid "Offline update data saved"
-msgstr ""
-
-#: templates/web/base/reports/index.html:26
-msgid "Old / unknown <br>problems"
-msgstr "Äldre/okända <br>problem"
+msgstr "Offline-uppdateringsdata sparade"
#: templates/web/base/admin/questionnaire.html:24
msgid "Old state"
msgstr "Äldre status"
-#: templates/web/base/reports/index.html:28
-msgid "Older <br>fixed"
-msgstr "Äldre <br>fixat"
-
-#: templates/web/base/reports/index.html:25
-msgid "Older <br>problems"
-msgstr "Äldre <br>problem"
-
-#: templates/web/base/reports/_list-filters.html:48
+#: templates/web/base/reports/_list-filters.html:59
msgid "Oldest"
msgstr "Äldst"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:900
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:25
-#: templates/web/base/admin/report_blocks.html:6
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:905
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:10
+#: templates/web/base/admin/states/index.html:102
+#: templates/web/base/admin/states/index.html:25
+#: templates/web/base/admin/states/index.html:32
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:3
-#: templates/web/base/report/update/form_update.html:41
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:7
#: templates/web/zurich/admin/update_edit.html:18
msgid "Open"
msgstr "Öppen"
-#: templates/web/base/reports/index.html:25
-msgid "Open for more than four weeks, with an update within the past eight weeks"
-msgstr "Öppna i mer än fyra veckor, med en uppdatering under de senaste åtta veckorna"
-
-#: templates/web/base/reports/index.html:26
-msgid "Open, but not had any update in eight weeks"
-msgstr "Öppen, men utan uppdateringar under de senaste åtta veckorna"
-
#: templates/web/base/admin/open311-form-fields.html:47
msgid "Open311 API Key"
msgstr "API-nyckel för Open311"
@@ -2305,26 +2312,39 @@ msgstr "Open311"
msgid "Open311 specification"
msgstr "Open311 Specifikation"
-#: templates/web/base/alert/_list.html:61
-msgid "Or problems reported to:"
-msgstr "Eller problem rapporterade til:"
-
-#: templates/web/base/alert/_list.html:37
-msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
-msgstr "Du kan också prenumerera på bevakningar baserat på vilken kommun du bor i:"
-
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:1061
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:659
-#: perllib/FixMyStreet/DB/Result/Problem.pm:642
-#: perllib/FixMyStreet/DB/Result/Problem.pm:649
-#: perllib/FixMyStreet/DB/Result/Problem.pm:664
-#: perllib/FixMyStreet/DB/Result/Problem.pm:673
+#: templates/web/base/admin/extra-metadata-form.html:53
+#, fuzzy
+msgid "Options"
+msgstr "valfria"
+
+#: templates/web/base/alert/_list.html:84
+msgid "Or subscribe by RSS"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:8
+msgid "Order"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1107
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:675
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:676
+#: perllib/FixMyStreet/DB/Result/Problem.pm:579
+#: perllib/FixMyStreet/DB/Result/Problem.pm:586
+#: perllib/FixMyStreet/DB/Result/Problem.pm:601
+#: perllib/FixMyStreet/DB/Result/Problem.pm:610
#: perllib/FixMyStreet/Script/Reports.pm:183
#: perllib/FixMyStreet/Script/Reports.pm:198
msgid "Other"
msgstr "Övrig"
+#: templates/web/base/reports/index.html:107
+msgid "Other categories"
+msgstr "Andra kategorier"
+
+#: templates/web/base/reports/index.html:92
+msgid "Overall average"
+msgstr "Övergripande medelvärde"
+
#: templates/web/base/admin/list_updates.html:8
msgid "Owner"
msgstr "Ägare"
@@ -2334,17 +2354,16 @@ msgstr "Ägare"
msgid "Page Not Found"
msgstr "Sidan hittas ej"
-#: templates/web/base/admin/body-form.html:37
+#: templates/web/base/admin/body-form.html:39
#: templates/web/zurich/admin/body-form.html:14
msgid "Parent"
msgstr "Förälder"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:20
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:61
msgid "Partial"
msgstr "Partiell"
-#: templates/web/base/auth/general.html:109
+#: templates/web/base/auth/general.html:111
#: templates/web/base/report/new/form_user_loggedout_by_email.html:28
#: templates/web/base/report/update/form_user_loggedout_by_email.html:6
#: templates/web/zurich/auth/general.html:32
@@ -2352,7 +2371,7 @@ msgstr "Partiell"
msgid "Password (optional)"
msgstr "Lösenord (valfritt)"
-#: templates/web/base/auth/general.html:82
+#: templates/web/base/auth/general.html:84
msgid "Password:"
msgstr "Lösenord:"
@@ -2364,17 +2383,21 @@ msgstr "Permanent länk"
msgid "Permissions:"
msgstr "Rättigheter:"
+#: templates/web/base/report/_inspect.html:19
+msgid "Phone Reporter:"
+msgstr "Telefonrapportör:"
+
#: templates/web/zurich/report/new/fill_in_details_form.html:65
msgid "Phone number"
msgstr "Telefonnummer"
-#: templates/web/base/report/new/form_user_loggedin.html:57
+#: templates/web/base/report/new/form_user_loggedin.html:59
#: templates/web/base/report/new/form_user_loggedout_by_email.html:25
msgid "Phone number (optional)"
msgstr "Telefonnummer (valfritt)"
#: perllib/FixMyStreet/Script/Reports.pm:87
-#: templates/web/base/admin/report_edit.html:146
+#: templates/web/base/admin/report_edit.html:134
#: templates/web/base/admin/user-form.html:21
#: templates/web/zurich/admin/stats.html:39
msgid "Phone:"
@@ -2383,9 +2406,9 @@ msgstr "Telefonnummer:"
#: templates/web/base/questionnaire/index.html:78
#: templates/web/base/questionnaire/index.html:93
#: templates/web/base/questionnaire/index.html:95
-#: templates/web/base/report/new/form_report.html:28
-#: templates/web/base/report/new/form_report.html:43
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/new/form_report.html:45
+#: templates/web/base/report/new/form_report.html:47
#: templates/web/base/report/update/form_update.html:22
#: templates/web/base/report/update/form_update.html:24
#: templates/web/base/report/update/form_update.html:7
@@ -2403,12 +2426,12 @@ msgstr "Foto"
msgid "Photo is required."
msgstr "Foto är ett krav."
-#: templates/web/zurich/admin/contact-form.html:14
+#: templates/web/zurich/admin/contact-form.html:16
msgid "Photo required"
msgstr "Foto krävs"
#: templates/web/base/questionnaire/index.html:78
-#: templates/web/base/report/new/form_report.html:28
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/update/form_update.html:7
#: templates/web/zurich/report/new/fill_in_details_form.html:20
msgid "Photos"
@@ -2418,17 +2441,18 @@ msgstr "Foton"
msgid "Photos of recent nearby reports"
msgstr "Foton från närliggande rapporter"
+#: templates/web/base/reports/index.html:63
+#: templates/web/base/reports/index.html:66
+msgid "Pick your council"
+msgstr "Välj din kommun"
+
#: templates/web/base/around/display_location.html:76
#: templates/web/base/js/translation_strings.html:30
msgid "Place pin on map"
msgstr "Placera nålen på kartan"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:940
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:946
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:8
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:945
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:951
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:9
#: templates/web/zurich/admin/index-dm.html:9
@@ -2446,31 +2470,27 @@ msgstr "Vänligen kontrollera lösenordet och prova igen"
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:18
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:43
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:45
#: templates/web/zurich/auth/general.html:3
#: templates/web/zurich/auth/general.html:9
msgid "Please check your email address is correct"
msgstr "Vänligen kontrollera att din epostadress är korrekt"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:350
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:844
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:867
-#: perllib/FixMyStreet/DB/Result/Problem.pm:456
+#: perllib/FixMyStreet/App/Controller/Admin.pm:329
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:873
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:896
+#: perllib/FixMyStreet/DB/Result/Problem.pm:383
#: templates/web/base/js/translation_strings.html:9
msgid "Please choose a category"
msgstr "Välj en kategori"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:462
-msgid "Please choose a property type"
-msgstr "Välj en fastighetstyp"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:396
+#: perllib/FixMyStreet/App/Controller/Admin.pm:377
#: templates/web/base/admin/bodies.html:4 templates/web/base/admin/body.html:11
msgid "Please correct the errors below"
msgstr "Vänligen korrigera felen nedan"
-#: templates/web/base/contact/blurb.html:12
+#: templates/web/base/contact/blurb.html:6
msgid ""
"Please do <strong>not</strong> report problems through this form; messages go to\n"
"the team behind this site, not a council. To report a problem,\n"
@@ -2481,18 +2501,18 @@ msgstr "Var snäll och rapportera <strong>inga</strong> problem genom det här f
msgid "Please do not be abusive&nbsp;&mdash; abusing your council devalues the service for all users."
msgstr "Var snäll och missbruka inte tjänsten, det förstör för alla."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:351
-#: perllib/FixMyStreet/DB/Result/Comment.pm:127
+#: perllib/FixMyStreet/App/Controller/Admin.pm:330
+#: perllib/FixMyStreet/DB/Result/Comment.pm:128
#: templates/web/base/js/translation_strings.html:2
msgid "Please enter a message"
msgstr "Skriv in ett meddelande"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1200
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1364
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1305
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1469
msgid "Please enter a name"
msgstr "Skriv in ett namn"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:478
+#: perllib/FixMyStreet/App/Controller/Admin.pm:497
msgid "Please enter a name for this body"
msgstr "Skriv in namnet på den här förvaltningen"
@@ -2502,15 +2522,15 @@ msgstr "Skriv in namnet på den här förvaltningen"
msgid "Please enter a password"
msgstr "Skriv in ett lösenord"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:114
-#: perllib/FixMyStreet/DB/Result/Problem.pm:439
+#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/DB/Result/Problem.pm:366
#: templates/web/base/js/translation_strings.html:3
msgid "Please enter a subject"
msgstr "Skriv in ett ärende"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1197
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1361
-#: perllib/FixMyStreet/App/Controller/Admin.pm:363
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1302
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1466
+#: perllib/FixMyStreet/App/Controller/Admin.pm:343
#: perllib/FixMyStreet/DB/Result/User.pm:164
#: templates/web/base/js/translation_strings.html:12
#: templates/web/base/js/translation_strings.html:16
@@ -2518,21 +2538,21 @@ msgid "Please enter a valid email"
msgstr "Skriv in en giltig epostadress"
#: perllib/FixMyStreet/App/Controller/Alert.pm:350
-#: perllib/FixMyStreet/App/Controller/Contact.pm:124
+#: perllib/FixMyStreet/App/Controller/Contact.pm:125
msgid "Please enter a valid email address"
msgstr "Skriv in en giltig epostadress"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:442
+#: perllib/FixMyStreet/DB/Result/Problem.pm:369
#: templates/web/base/js/translation_strings.html:4
msgid "Please enter some details"
msgstr "Skriv några detaljer"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/App/Controller/Contact.pm:114
#: perllib/FixMyStreet/DB/Result/User.pm:161
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:17
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:42
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:44
#: templates/web/base/js/translation_strings.html:11
#: templates/web/base/js/translation_strings.html:15
#: templates/web/zurich/auth/general.html:3
@@ -2549,14 +2569,14 @@ msgstr "Skriv in din epostadress"
msgid "Please enter your first name"
msgstr "Skriv in ditt förnamn"
-#: perllib/FixMyStreet/Cobrand/UK.pm:320
+#: perllib/FixMyStreet/Cobrand/UK.pm:326
#: templates/web/base/js/translation_strings.html:7
msgid "Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below"
msgstr "Skriv in ditt namn och efternamn om kommunen behöver den informationen. Om du inte vill att dit namn visas kan du välja det nedanför"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:112
-#: perllib/FixMyStreet/DB/Result/Comment.pm:124
-#: perllib/FixMyStreet/DB/Result/Problem.pm:450
+#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/DB/Result/Comment.pm:125
+#: perllib/FixMyStreet/DB/Result/Problem.pm:377
#: perllib/FixMyStreet/DB/Result/User.pm:157
#: templates/web/base/js/translation_strings.html:6
msgid "Please enter your name"
@@ -2619,7 +2639,7 @@ msgstr "Observera att din uppdatering <strong>inte har publicerats än</strong>.
msgid "Please note:"
msgstr "Observera:"
-#: perllib/FixMyStreet/App/Controller/Report.pm:358
+#: perllib/FixMyStreet/App/Controller/Report.pm:353
msgid "Please provide a public update for this report."
msgstr "Tillhandahåll en offentlig uppdatering för den här rapporten."
@@ -2655,11 +2675,11 @@ msgstr "Ange om problemet har lösts eller ej"
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:122
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:156
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:158
-#: templates/web/base/js/translation_strings.html:57
+#: templates/web/base/js/translation_strings.html:60
msgid "Please upload an image only"
msgstr "Ladda upp endast en bild"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/App/Controller/Contact.pm:116
msgid "Please write a message"
msgstr "Skriv ett meddelande"
@@ -2667,30 +2687,29 @@ msgstr "Skriv ett meddelande"
msgid "Please write your update here"
msgstr "Skriv din uppdatering här"
-#: templates/web/base/contact/index.html:103
#: templates/web/base/report/update-form.html:25
#: templates/web/base/report/update/form_user_loggedout_by_email.html:14
#: templates/web/base/report/update/form_user_loggedout_password.html:10
msgid "Post"
msgstr "Skicka"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:242
+#: perllib/FixMyStreet/DB/Result/Comment.pm:231
msgid "Posted anonymously at %s"
msgstr "Postat anonymt %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:257
+#: perllib/FixMyStreet/DB/Result/Comment.pm:255
msgid "Posted by %s at %s"
msgstr "Postat av %s %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:252
+#: perllib/FixMyStreet/DB/Result/Comment.pm:243
msgid "Posted by <strong>%s</strong> (%s) at %s"
msgstr "Postat av <strong>%s</strong> (%s) %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:254
+#: perllib/FixMyStreet/DB/Result/Comment.pm:245
msgid "Posted by <strong>%s</strong> at %s"
msgstr "Postat av <strong>%s</strong> %s"
-#: templates/web/base/front/footer-marketing.html:12
+#: templates/web/base/front/footer-marketing.html:6
msgid "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
msgstr "Byggd på <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet-plattformen</a>"
@@ -2702,8 +2721,8 @@ msgstr "Föregående"
msgid "Priorities"
msgstr "Prioriteringar"
-#: templates/web/base/report/_inspect.html:113
-#: templates/web/base/report/_item.html:98
+#: templates/web/base/report/_inspect.html:123
+#: templates/web/base/report/_item.html:100
msgid "Priority"
msgstr "Prioritet"
@@ -2717,16 +2736,15 @@ msgstr "Personlig integritet"
msgid "Privacy and cookies"
msgstr "Integritetsskydd och kakor"
-#: templates/web/base/admin/body.html:91
-#: templates/web/base/admin/contact-form.html:74
-#: templates/web/base/admin/report_edit.html:149
+#: templates/web/base/admin/body.html:88
+#: templates/web/base/admin/contact-form.html:75
+#: templates/web/base/admin/report_edit.html:137
msgid "Private"
msgstr "Privat"
#: templates/web/base/report/new/form_user.html:1
-#, fuzzy
msgid "Private details"
-msgstr "Extra uppgifter"
+msgstr "Andra uppgifter"
#: templates/web/base/maps/pin.html:13
msgid "Problem"
@@ -2750,7 +2768,7 @@ msgstr "Rapport %s skickad till %s"
msgid "Problem breakdown by state"
msgstr "Rapporter per status"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1167
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1272
msgid "Problem marked as open."
msgstr "Problemet markerat som öppet."
@@ -2758,11 +2776,16 @@ msgstr "Problemet markerat som öppet."
msgid "Problem state change based on survey results"
msgstr "Problemets status ändrats baserat på utredningsresultat"
-#: perllib/FixMyStreet/Cobrand/Default.pm:705
+#: perllib/FixMyStreet/Cobrand/Default.pm:709
#: templates/web/base/admin/flagged.html:10
msgid "Problems"
msgstr "Problem"
+#: templates/web/base/alert/_list.html:22
+#, fuzzy
+msgid "Problems in an area"
+msgstr "Problem inom området %s"
+
#: templates/web/base/report/display_tools.html:22
msgid "Problems nearby"
msgstr "Närliggande problem"
@@ -2775,30 +2798,33 @@ msgstr "Problem på kartan"
msgid "Problems recently reported fixed on FixMyStreet"
msgstr "Problem nyligen rapporterade som lösta på FixaMinGata"
-#: templates/web/base/alert/_list.html:22
-msgid "Problems within %.1fkm of this location"
+#: templates/web/base/alert/_list.html:29
+#, fuzzy
+msgid "Problems within %.1fkm of %s"
msgstr "Problem inom %.1f km från denna position"
-#: perllib/FixMyStreet/Cobrand/Default.pm:833
+#: perllib/FixMyStreet/Cobrand/Default.pm:838
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:137
-#: perllib/FixMyStreet/Cobrand/UK.pm:209
+#: perllib/FixMyStreet/Cobrand/UK.pm:215 perllib/FixMyStreet/Cobrand/UK.pm:257
+#: perllib/FixMyStreet/Cobrand/UK.pm:269
msgid "Problems within %s"
msgstr "Problem inom %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:223
+#: perllib/FixMyStreet/Cobrand/UK.pm:229
msgid "Problems within %s ward"
msgstr "Problem inom området %s"
+#: perllib/FixMyStreet/Cobrand/UK.pm:263 perllib/FixMyStreet/Cobrand/UK.pm:275
+#, fuzzy
+msgid "Problems within %s ward, %s"
+msgstr "Problem inom området %s"
+
#. ("First %s is the body name, second %s the site name")
#: templates/web/base/reports/body.html:0
#: templates/web/base/reports/body.html:25
msgid "Problems within %s, %s"
msgstr "Problem inom %s, %s"
-#: templates/web/base/alert/_list.html:43
-msgid "Problems within the boundary of:"
-msgstr "Problem inom gränsen för:"
-
#: templates/web/base/admin/report_edit.html:74
msgid "Property address:"
msgstr "Fastighetsadress:"
@@ -2808,11 +2834,11 @@ msgstr "Fastighetsadress:"
msgid "Provide an update"
msgstr "Ge en uppdatering"
-#: templates/web/base/report/update/form_name.html:9
+#: templates/web/base/report/update/form_name.html:10
msgid "Provide update as"
msgstr "Tillhandahåll uppdatering som"
-#: templates/web/base/auth/general.html:112
+#: templates/web/base/auth/general.html:114
msgid "Providing a name and password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
msgstr "Du måste inte ange namn och ett lösenord men om du gör det är det lättare att rapportera problem, lämna uppdateringar och hantera dina rapporter."
@@ -2822,16 +2848,15 @@ msgid "Providing a password is optional, but doing so will allow you to more eas
msgstr "Att ange ett lösenord är valfritt, men om du gör det kommer du lättare att kunna rapportera problem, lämna uppdateringar och hantera dina anmälningar."
#: templates/web/base/report/new/form_report.html:10
-#, fuzzy
msgid "Public details"
-msgstr "Offentlig uppdatering:"
+msgstr "Offentliga uppgifter"
#: templates/web/zurich/admin/report_edit.html:241
#: templates/web/zurich/admin/report_edit.html:268
msgid "Public response:"
msgstr "Offentligt svar:"
-#: templates/web/base/report/_inspect.html:152
+#: templates/web/base/report/_inspect.html:162
msgid "Public update:"
msgstr "Offentlig uppdatering:"
@@ -2859,7 +2884,7 @@ msgstr "Frågeformulär %d skickat för problem %d"
msgid "Questionnaire filled in by problem reporter"
msgstr "Frågeformulär ifyllt av rapportören"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
#: templates/web/base/alert/updates.html:9
#: templates/web/base/around/display_location.html:1
#: templates/web/base/around/display_location.html:3
@@ -2867,11 +2892,11 @@ msgstr "Frågeformulär ifyllt av rapportören"
msgid "RSS feed"
msgstr "RSS-flöde"
-#: perllib/FixMyStreet/Cobrand/UK.pm:252 perllib/FixMyStreet/Cobrand/UK.pm:264
+#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
msgid "RSS feed for %s"
msgstr "RSS-flöde för %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
+#: perllib/FixMyStreet/Cobrand/UK.pm:264 perllib/FixMyStreet/Cobrand/UK.pm:276
msgid "RSS feed for %s ward, %s"
msgstr "RSS-flöde för område %s, %s"
@@ -2879,25 +2904,25 @@ msgstr "RSS-flöde för område %s, %s"
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:179
-#: perllib/FixMyStreet/Cobrand/UK.pm:278 perllib/FixMyStreet/Cobrand/UK.pm:290
+#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
msgid "RSS feed of %s"
msgstr "RSS-flöde för %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
msgid "RSS feed of %s, within %s ward"
msgstr "RSS-flöde för %s, inom område %s"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
msgid "RSS feed of nearby problems"
msgstr "RSS-flöde av närliggande problem"
-#: perllib/FixMyStreet/Cobrand/Default.pm:834
+#: perllib/FixMyStreet/Cobrand/Default.pm:839
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:136
-#: perllib/FixMyStreet/Cobrand/UK.pm:216
+#: perllib/FixMyStreet/Cobrand/UK.pm:222
msgid "RSS feed of problems within %s"
msgstr "RSS-flöde för problem inom %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:222
+#: perllib/FixMyStreet/Cobrand/UK.pm:228
msgid "RSS feed of problems within %s ward"
msgstr "RSS-flöde för problem inom område %s"
@@ -2916,7 +2941,7 @@ msgstr "RSS-flöde för uppdateringar till denna rapport"
msgid "Receive email when updates are left on this problem."
msgstr "Erhåll epost när uppdateringar ges till denna rapport"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:801
+#: perllib/FixMyStreet/DB/Result/Problem.pm:738
msgid "Received by %s moments later"
msgstr "Mottagen av %s kort därefter"
@@ -2926,15 +2951,11 @@ msgstr "Mottagen av %s kort därefter"
msgid "Recent local problems, %s"
msgstr "Senaste lokala rapporterna, %s"
-#: templates/web/base/reports/index.html:27
-msgid "Recently <br>fixed"
-msgstr "Nyligen <br>åtgärdat"
-
#: templates/web/base/front/recent.html:11
msgid "Recently reported problems"
msgstr "Senaste rapporterade problemen"
-#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:60
msgid "Recently updated"
msgstr "Senast uppdaterad"
@@ -2942,13 +2963,23 @@ msgstr "Senast uppdaterad"
msgid "Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. If your problem is not appropriate for submission via this site remember that you can contact your council directly using their own website."
msgstr "Kom ihåg att FixaMinGata primärt är avsett för att rapportera fysiska problem som kan åtgärdas. Om ditt problem inte lämpar sig för att rapportera via den här webbsidan kan du kontakta din kommun direkt via deras webbsida."
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/extra-metadata-form.html:68
+#, fuzzy
+msgid "Remove"
+msgstr "Ta bort flagga"
+
+#: templates/web/base/admin/extra-metadata-form.html:4
+#, fuzzy
+msgid "Remove field"
+msgstr "Ta bort flagga"
+
+#: templates/web/base/admin/report_blocks.html:23
msgid "Remove flag"
msgstr "Ta bort flagga"
#: templates/web/base/report/_item.html:12
#: templates/web/base/report/_item.html:9
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:18
#: templates/web/base/report/_main.html:26
msgid "Remove from shortlist"
@@ -2958,7 +2989,7 @@ msgstr "Ta bort från slutlista"
msgid "Remove from site"
msgstr "Ta bort från sajten"
-#: templates/web/base/admin/report_edit.html:166
+#: templates/web/base/admin/report_edit.html:154
#: templates/web/base/admin/update_edit.html:69
#: templates/web/zurich/admin/update_edit.html:35
msgid "Remove photo (can't be undone!)"
@@ -2972,13 +3003,13 @@ msgstr "Besvara användare:"
msgid "Report"
msgstr "Rapportera"
-#: templates/web/base/report/_inspect.html:10
-#: templates/web/base/report/_item.html:76
+#: templates/web/base/report/_inspect.html:14
+#: templates/web/base/report/_item.html:78
msgid "Report ID:"
msgstr "Rapport-ID:"
#: templates/web/base/header_logo.html:2
-#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:19
+#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:18
#: templates/web/zurich/nav_over_content.html:4
msgid "Report a problem"
msgstr "Rapportera ett problem"
@@ -2988,7 +3019,7 @@ msgstr "Rapportera ett problem"
msgid "Report abuse"
msgstr "Rapportera missbruk"
-#: templates/web/base/report/new/form_user_loggedin.html:16
+#: templates/web/base/report/new/form_user_loggedin.html:17
msgid "Report as"
msgstr "Rapportera som"
@@ -2997,9 +3028,8 @@ msgid "Report on %s"
msgstr "Rappoort på %s"
#: templates/web/base/dashboard/index.html:137
-#, fuzzy
msgid "Report state:"
-msgstr "Rapportera som"
+msgstr "Rapportstatus:"
#: templates/web/base/report/new/fill_in_details_form.html:1
#: templates/web/base/report/new/login_success_form.html:1
@@ -3012,7 +3042,7 @@ msgstr "Rapportera ditt problem"
msgid "Report, view, or discuss local problems"
msgstr "Rapportera, visa, eller diskutera lokala problem"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:653
+#: perllib/FixMyStreet/DB/Result/Problem.pm:590
#: templates/web/base/contact/index.html:55
msgid "Reported anonymously at %s"
msgstr "Rapporterat anonymt %s"
@@ -3022,7 +3052,7 @@ msgstr "Rapporterat anonymt %s"
msgid "Reported before"
msgstr "Rapporterat tidigare"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:677
+#: perllib/FixMyStreet/DB/Result/Problem.pm:614
#: templates/web/base/contact/index.html:57
msgid "Reported by %s at %s"
msgstr "Rapporterat av %s den %s"
@@ -3036,34 +3066,30 @@ msgstr "Rapporterad av:"
msgid "Reported in the %s category"
msgstr "Rapporterat i kategori %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:650
+#: perllib/FixMyStreet/DB/Result/Problem.pm:587
msgid "Reported in the %s category anonymously at %s"
msgstr "Anonym rapport i kategori %s, %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:611
msgid "Reported in the %s category by %s at %s"
msgstr "Rapporterat i kategori %s av %s den %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:647
+#: perllib/FixMyStreet/DB/Result/Problem.pm:584
msgid "Reported via %s anonymously at %s"
msgstr "Rapporterat av %s anonymt %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:671
+#: perllib/FixMyStreet/DB/Result/Problem.pm:608
msgid "Reported via %s by %s at %s"
msgstr "Rapporterat av %s av %s den %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:644
+#: perllib/FixMyStreet/DB/Result/Problem.pm:581
msgid "Reported via %s in the %s category anonymously at %s"
msgstr "Rapporterat av %s i kategorin %s, anonymt %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:666
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
msgid "Reported via %s in the %s category by %s at %s"
msgstr "Rapporterat av %s i kategorin %s av %s den %s"
-#: templates/web/base/reports/index.html:24
-msgid "Reported within the last four weeks"
-msgstr "Rapporterade under de senaste fyra veckorna"
-
#: templates/web/zurich/admin/report_edit-sdm.html:38
#: templates/web/zurich/admin/report_edit.html:57
msgid "Reported:"
@@ -3079,13 +3105,13 @@ msgid "Reporting a problem"
msgstr "Rapportera ett problem"
#: perllib/FixMyStreet/Cobrand/Default.pm:655
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:383
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:388
#: templates/web/base/dashboard/index.html:134
#: templates/web/zurich/header.html:52
msgid "Reports"
msgstr "Rapporter"
-#: perllib/FixMyStreet/Cobrand/UK.pm:329 perllib/FixMyStreet/Cobrand/UK.pm:333
+#: perllib/FixMyStreet/Cobrand/UK.pm:333 perllib/FixMyStreet/Cobrand/UK.pm:335
msgid "Reports are limited to %s characters in length. Please shorten your report"
msgstr "Rapporter kan bara innehålla %s tecken. Var vänlig korta ned din rapport"
@@ -3093,31 +3119,54 @@ msgstr "Rapporter kan bara innehålla %s tecken. Var vänlig korta ned din rappo
msgid "Reports awaiting approval"
msgstr "Rapporter som väntar på att godkännas"
+#: templates/web/base/alert/_list.html:54
+#, fuzzy
+msgid "Reports by destination"
+msgstr "Rapportstatus:"
+
#: templates/web/base/admin/user-form.html:107
msgid "Reports made by trusted users will be sent to the responsible body without being inspected first."
msgstr "Rapporter som skapas av anförtrodda användare kommer att skickas till kommunen utan att inspekteras först."
+#: templates/web/base/alert/_list.html:15
+msgid "Reports near %s are sent to different councils, depending on the type of problem."
+msgstr ""
+
#: templates/web/zurich/admin/index-sdm.html:10
msgid "Reports published"
msgstr "Publicerade rapporter"
-#: templates/web/base/js/translation_strings.html:68
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:71
msgid "Reports saved offline."
-msgstr "Rapportera ett problem"
+msgstr "Rapporter sparade offline."
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#, fuzzy
+msgid "Reports sent to %s"
+msgstr "Rappoort på %s"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:290 perllib/FixMyStreet/Cobrand/UK.pm:302
+#, fuzzy
+msgid "Reports sent to %s, within %s ward"
+msgstr "RSS-flöde för %s, inom område %s"
#: templates/web/base/admin/index.html:56
msgid "Reports waiting to be sent"
msgstr "Rapporter som väntar på att skickas"
-#: templates/web/base/admin/contact-form.html:89
+#: templates/web/base/admin/contact-form.html:90
msgid "Reports will automatically be sent without needing to be inspected if the user's <strong>reputation</strong> is at or above this value. Set to <strong>0</strong> if all reports must be inspected regardless."
msgstr "Rapporter kommer automatiskt att skickas utan att en inspektion krävs om användarens <strong>anseende</strong> är detta värde eller högre. Sätt till <strong>0</strong> om samtliga rapporter måste inspekteras, ovasett användares anseende."
-#: templates/web/base/admin/contact-form.html:94
+#: templates/web/base/admin/contact-form.html:95
msgid "Reputation threshold"
msgstr "Anseendesgräns"
+#: templates/web/base/admin/extra-metadata-form.html:20
+#, fuzzy
+msgid "Required"
+msgstr "obligatoriska"
+
#: templates/web/base/admin/report_edit.html:84
msgid "Resend report"
msgstr "Skicka om rapporten"
@@ -3151,15 +3200,15 @@ msgstr "Svarsmallar för %s"
#: templates/web/base/report/update.html:40
msgid "Revert to original"
-msgstr ""
+msgstr "Återgå till orginalrapporten"
-#: templates/web/base/report/_main.html:95
+#: templates/web/base/report/_main.html:99
msgid "Revert to original text"
-msgstr ""
+msgstr "Återgå till orginalstexten"
#: templates/web/base/report/_main.html:50
msgid "Revert to original title"
-msgstr ""
+msgstr "Återgå till orginalsammanfattningen"
#: templates/web/base/js/translation_strings.html:28
#: templates/web/base/js/translation_strings.html:40
@@ -3176,16 +3225,16 @@ msgstr "Vägoperatör för den här namngivna vägen (hämtat från vägens numm
msgid "Road operator for this named road (from OpenStreetMap): %s"
msgstr "Vägoperatör för den här namngivna vägen (från OpenStreetMap): %s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1747
-#: templates/web/base/admin/report_edit.html:163
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1852
+#: templates/web/base/admin/report_edit.html:151
#: templates/web/base/admin/update_edit.html:66
#: templates/web/zurich/admin/report_edit.html:118
msgid "Rotate Left"
msgstr "Rotera åt vänster"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: templates/web/base/admin/report_edit.html:164
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: templates/web/base/admin/report_edit.html:152
#: templates/web/base/admin/update_edit.html:67
#: templates/web/zurich/admin/report_edit.html:119
msgid "Rotate Right"
@@ -3200,32 +3249,40 @@ msgstr "Rotation av detta foto kommer att radera osparade rapportändringar."
msgid "Satellite"
msgstr "Satellit"
-#: templates/web/base/report/_inspect.html:168
-#, fuzzy
+#: templates/web/base/report/_inspect.html:182
msgid "Save + close as duplicate"
-msgstr "markerad som dubblett av rapport"
+msgstr "Spara + stäng som dublett"
-#: templates/web/base/admin/contact-form.html:137
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/contact-form.html:138
+#: templates/web/base/admin/reportextrafields/edit.html:64
+#: templates/web/base/admin/responsepriorities/edit.html:58
#: templates/web/base/admin/template_edit.html:46
-#: templates/web/base/report/_inspect.html:168
-#: templates/web/base/report/_main.html:113
-#: templates/web/base/report/update.html:60
+#: templates/web/base/report/_inspect.html:182
+#: templates/web/base/report/_main.html:117
+#: templates/web/base/report/update.html:69
#: templates/web/zurich/admin/body.html:62
-#: templates/web/zurich/admin/contact-form.html:20
+#: templates/web/zurich/admin/contact-form.html:22
#: templates/web/zurich/admin/template_edit.html:29
msgid "Save changes"
msgstr "Spara ändringar"
-#: templates/web/base/report/_inspect.html:148
+#: templates/web/base/admin/reportextrafields/edit.html:64
+msgid "Save new fields"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:158
msgid "Save with a public update"
msgstr "Spara med en offentlig uppdatering"
-#. ('This is followed by a progress count, e.g. 3/5')
#. ("This is followed by a progress count, e.g. 3/5")
-#: templates/web/base/js/translation_strings.html:69
+#: templates/web/base/js/translation_strings.html:72
msgid "Saving reports offline"
-msgstr ""
+msgstr "Sparar rapporter offline"
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:132
+#, fuzzy
+msgid "Scheduled"
+msgstr "Åtgärd är schemalagd"
#: templates/web/base/admin/index.html:26
#: templates/web/base/admin/reports.html:1
@@ -3260,42 +3317,41 @@ msgstr "Inga användare hittades."
msgid "See our privacy policy"
msgstr "Se vår integritetsskyddspolicy"
-#: perllib/FixMyStreet/Cobrand/Default.pm:715
-#, fuzzy
+#: perllib/FixMyStreet/Cobrand/Default.pm:720
msgid "See user detail for reports created as the council"
-msgstr "Skapa rapporter/uppdateringar som kommunen"
+msgstr "Se användarinformation för rapporter skapade som kommunen"
-#: templates/web/base/admin/body-form.html:39
+#: templates/web/base/admin/body-form.html:41
#: templates/web/zurich/admin/body-form.html:16
msgid "Select a body"
msgstr "Välj en förvaltning"
-#: templates/web/base/reports/index.html:12
-msgid "Select a particular council to see the reports sent there."
-msgstr "Du kan välja en enskild kommun för att se rapporterna skickade dit."
-
-#: templates/web/base/admin/body-form.html:77
+#: templates/web/base/admin/body-form.html:79
#: templates/web/zurich/admin/body-form.html:26
msgid "Select an area"
msgstr "Välj ett område"
-#: templates/web/base/alert/_list.html:11
-msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
-msgstr "Välj vilken kategori av rapporter du vill få och klicka knappen för ett RSS-flöde eller ange din epostadress för att prenumerera via epost."
+#: templates/web/base/admin/responsepriorities/edit.html:33
+msgid "Select if this is the default priority"
+msgstr ""
#: templates/web/base/admin/category-checkboxes.html:6
msgid "Select:"
msgstr "Välj:"
+#: templates/web/base/contact/index.html:107
+msgid "Send"
+msgstr "Skicka"
+
#: templates/web/base/admin/open311-form-fields.html:109
msgid "Send extended Open311 statuses with service request updates"
msgstr "Skicka utökade Open311-statusar med Service Request-uppdateringar"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:826
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:831
msgid "Sent report back"
msgstr "Skicka tillbaka rapport"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:804
+#: perllib/FixMyStreet/DB/Result/Problem.pm:741
msgid "Sent to %s %s later"
msgstr "Skickades till %s, %s senare"
@@ -3308,7 +3364,7 @@ msgstr "Skickades:"
msgid "Service:"
msgstr "Tjänst:"
-#: templates/web/base/report/_inspect.html:31
+#: templates/web/base/report/_inspect.html:41
msgid "Set to my current location"
msgstr "Sätt till min nuvarande position"
@@ -3317,66 +3373,77 @@ msgid "Share"
msgstr "Dela"
#: templates/web/base/main_nav_items.html:10
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:21
#: templates/web/base/report/_main.html:29
msgid "Shortlist"
msgstr "Slutlista"
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/reports/body.html:32
+msgid "Shortlist all visible"
+msgstr "Kortlista alla synliga"
+
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:20
#: templates/web/base/report/_main.html:25
#: templates/web/base/reports/_list-filters.html:9
msgid "Shortlisted"
msgstr "Satt på slutlistan"
-#: templates/web/base/report/_main.html:144
+#: templates/web/base/report/_item.html:15
+#: templates/web/base/report/_main.html:148
msgid "Shortlisted by %s"
msgstr "Satt på slutlistan av %s"
#: templates/web/base/report/update.html:20
-#, fuzzy
msgid "Show Photo?"
-msgstr "Visa äldre"
+msgstr "Visa foto?"
+
+#: templates/web/base/questionnaire/index.html:26
+msgid "Show all updates"
+msgstr "Visa alla uppdateringar"
-#: templates/web/base/report/new/form_user_loggedin.html:54
+#: templates/web/base/report/new/form_user_loggedin.html:56
#: templates/web/base/report/new/form_user_loggedout_by_email.html:22
-#: templates/web/base/report/update/form_name.html:33
+#: templates/web/base/report/update/form_name.html:37
msgid "Show my name publicly"
msgstr "Visa mitt namn publikt"
#: templates/web/base/report/update.html:17
-#, fuzzy
msgid "Show name publicly?"
-msgstr "Visa mitt namn publikt"
+msgstr "Visa namn offentligt?"
#: templates/web/base/around/display_location.html:69
msgid "Show old"
msgstr "Visa äldre"
-#: templates/web/base/report/_main.html:79
-#, fuzzy
+#: templates/web/base/report/_main.html:83
msgid "Show photo"
-msgstr "Visa äldre"
+msgstr "Visa foto"
#: templates/web/base/around/display_location.html:60
+#: templates/web/base/js/translation_strings.html:54
msgid "Show pins"
msgstr "Visa kartnålar"
#: templates/web/base/report/_main.html:60
msgid "Show reporter&rsquo;s name"
-msgstr ""
+msgstr "Visa rapportörens namn"
-#: templates/web/base/auth/general.html:117
+#: templates/web/base/reports/index.html:62
+msgid "Show reports in your area"
+msgstr "Visa lokala rapporter"
+
+#: templates/web/base/auth/general.html:119
#: templates/web/base/auth/general.html:3
-#: templates/web/base/auth/general.html:86
+#: templates/web/base/auth/general.html:88
#: templates/web/base/main_nav_items.html:6
#: templates/web/zurich/auth/general.html:18
#: templates/web/zurich/auth/general.html:35
msgid "Sign in"
msgstr "Logga in"
-#: templates/web/base/auth/general.html:96
+#: templates/web/base/auth/general.html:98
msgid "Sign in by email instead, providing a new password. When you click the link in your email, your password will be updated."
msgstr "Sätt ett nytt lösenord och logga in med din e-postadress istället. När du klickar på länken i vårt e-postmeddelande så kommer ditt lösenord att uppdateras."
@@ -3424,14 +3491,14 @@ msgstr "Länken är tyvärr ogiltig"
msgid "Sorry, there has been an error confirming your problem."
msgstr "Tyvärr har det uppstått ett fel med att bekräfta ditt problem."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:230
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:235
#: perllib/FixMyStreet/Geocode.pm:37 perllib/FixMyStreet/Geocode/Bing.pm:38
#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:56
#: perllib/FixMyStreet/Geocode/OSM.pm:48
msgid "Sorry, we could not find that location."
msgstr "Tyvärr kan vi inte hitta den adressen."
-#: templates/web/base/auth/general.html:9
+#: templates/web/base/auth/general.html:11
#: templates/web/base/report/display.html:29
#: templates/web/base/report/new/fill_in_details_form.html:15
msgid "Sorry, we could not log you in. Please fill in the form below."
@@ -3451,13 +3518,13 @@ msgstr "Tyvärr kan vi inte spara bilden eller bilderna. Försök gärna igen."
msgid ""
"Sorry, we don’t have a good enough connection to fetch that page, or the\n"
"page wasn’t found or there was a server error. Please try again later."
-msgstr ""
+msgstr "Anslutningen är inte tillräckligt bra för att hämta den sidan, eller så kunde inte sidan hittas, eller så inträffade ett tekniskt fel. Vänligen försök igen senare."
-#: perllib/FixMyStreet/App/Controller/Root.pm:107
+#: perllib/FixMyStreet/App/Controller/Root.pm:124
msgid "Sorry, you don't have permission to do that."
msgstr "Du har inte rättigheterna som krävs för att göra det."
-#: templates/web/base/reports/_list-filters.html:42
+#: templates/web/base/reports/_list-filters.html:53
msgid "Sort by"
msgstr "Sortera efter"
@@ -3474,17 +3541,25 @@ msgid "Start Date:"
msgstr "Startdatum:"
#: templates/web/base/admin/body.html:73
+#: templates/web/base/admin/category_edit.html:29
+#: templates/web/base/admin/contact-form.html:53
#: templates/web/base/admin/flagged.html:18
#: templates/web/base/admin/index.html:64
#: templates/web/base/admin/list_updates.html:11
#: templates/web/base/admin/reports.html:16
#: templates/web/base/admin/template_edit.html:40
-#: templates/web/base/report/_inspect.html:83
-#: templates/web/base/report/_item.html:94
+#: templates/web/base/report/_inspect.html:82
+#: templates/web/base/report/_item.html:96
#: templates/web/base/report/update/form_update.html:39
+#: templates/web/zurich/admin/contact-form.html:10
msgid "State"
msgstr "Status"
+#: templates/web/base/report/update.html:48
+#, fuzzy
+msgid "State changed to:"
+msgstr "Spara ändringar"
+
#: templates/web/base/admin/report_edit.html:116
#: templates/web/base/admin/update_edit.html:28
#: templates/web/zurich/admin/report_edit-sdm.html:75
@@ -3494,8 +3569,14 @@ msgstr "Status"
msgid "State:"
msgstr "Status:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:640
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:386
+#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: templates/web/base/admin/states/index.html:1
+#, fuzzy
+msgid "States"
+msgstr "Status"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
#: templates/web/base/admin/index.html:71 templates/web/base/admin/stats.html:1
#: templates/web/base/admin/stats_by_state.html:1
#: templates/web/zurich/admin/stats.html:1 templates/web/zurich/header.html:65
@@ -3517,6 +3598,10 @@ msgstr "Fortfarande öppen, via frågeformulär, %s"
msgid "Street View"
msgstr "Street View"
+#: templates/web/base/admin/extra-metadata-form.html:46
+msgid "String"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:192
msgid "Subcategory: %s"
msgstr "Underkategori: %s"
@@ -3525,7 +3610,7 @@ msgstr "Underkategori: %s"
msgid "Subdivision/Body"
msgstr "Underavdelning/Förvaltning"
-#: templates/web/base/contact/index.html:88
+#: templates/web/base/contact/index.html:92
msgid "Subject"
msgstr "Ärende"
@@ -3535,14 +3620,14 @@ msgid "Subject:"
msgstr "Ärende:"
#: templates/web/base/questionnaire/creator_fixed.html:19
-#: templates/web/base/report/new/form_user_loggedin.html:61
+#: templates/web/base/report/new/form_user_loggedin.html:63
#: templates/web/base/report/new/form_user_loggedout_by_email.html:36
#: templates/web/base/report/new/form_user_loggedout_password.html:11
#: templates/web/zurich/report/new/fill_in_details_form.html:73
msgid "Submit"
msgstr "Skicka"
-#: templates/web/base/admin/report_edit.html:174
+#: templates/web/base/admin/report_edit.html:162
#: templates/web/base/admin/report_edit.html:24
#: templates/web/base/admin/update_edit.html:77
#: templates/web/base/admin/user-form.html:170
@@ -3556,8 +3641,8 @@ msgstr "Skicka förändringar"
msgid "Submit questionnaire"
msgstr "Skicka frågeformulär"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:164
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:893
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:898
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:6
#: templates/web/zurich/admin/index-dm.html:23
@@ -3567,36 +3652,38 @@ msgstr "Skicka frågeformulär"
msgid "Submitted"
msgstr "Skickad"
+#: templates/web/base/alert/_list.html:77
+#: templates/web/base/alert/_list.html:80
#: templates/web/base/alert/updates.html:23
#: templates/web/base/report/display_tools.html:51
msgid "Subscribe"
msgstr "Prenumerera"
-#: templates/web/base/alert/_list.html:93
-msgid "Subscribe me to an email alert"
+#: templates/web/base/alert/_list.html:72
+#, fuzzy
+msgid "Subscribe by email"
msgstr "Prenumerera med epost"
#: templates/web/base/report/new/form_report.html:19
msgid "Summarise the problem"
msgstr "Sammanfatta problemet"
-#: templates/web/base/admin/contact-form.html:129
+#: templates/web/base/admin/contact-form.html:130
msgid "Summarise your changes"
msgstr "Sammanfatta dina ändringar"
-#: perllib/FixMyStreet/Cobrand/Default.pm:638
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:382
+#: perllib/FixMyStreet/Cobrand/Default.pm:637
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:387
#: templates/web/base/admin/bodies.html:29
#: templates/web/base/admin/index.html:1 templates/web/base/status/index.html:1
#: templates/web/base/status/index.html:3
#: templates/web/zurich/admin/index-dm.html:1
#: templates/web/zurich/admin/index-sdm.html:1
-#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:13
+#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:12
#: templates/web/zurich/header.html:49
msgid "Summary"
msgstr "Sammanfattning"
-#: templates/web/base/reports/index.html:4
#: templates/web/zurich/reports/index.html:0
#: templates/web/zurich/reports/index.html:4
msgid "Summary reports"
@@ -3620,7 +3707,7 @@ msgid "Template &laquo;%s&raquo;"
msgstr "Mall &laquo;%s&raquo;"
#: perllib/FixMyStreet/Cobrand/Default.pm:661
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:393
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
#: templates/web/zurich/header.html:69
msgid "Templates"
msgstr "Mallar"
@@ -3649,7 +3736,7 @@ msgstr "Tack för att du rapporterade detta ärende!"
msgid "Thank you for trying to confirm your update or problem. We seem to have an error ourselves though, so <a href=\"%s\">please let us know what went on</a> and we'll look into it."
msgstr "Tack för att du försöker bekräfta din uppdatering eller rapport. Vi har tyvärr stött på ett fel och uppskattar om du kan <a href=\"%s\">rapporterar vad som hände</a> så att vi kan titta på det."
-#: templates/web/base/tokens/confirm_update.html:15
+#: templates/web/base/tokens/confirm_update.html:16
msgid "Thank you for updating this issue!"
msgstr "Tack för att du uppdaterade detta ärende!"
@@ -3677,7 +3764,7 @@ msgstr "Bilden verkar inte ha laddats upp korrekt (%s), var vänlig försök ige
msgid "That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again."
msgstr "Den positionen verkar inte täckas av någon kommun och ligger eventuellt utanför kartan eller utanför landet. Försök gärna med en ny position."
-#: perllib/FixMyStreet/App/Controller/Location.pm:129
+#: perllib/FixMyStreet/App/Controller/Location.pm:127
msgid "That location does not appear to be in the UK; please try again."
msgstr "Den positionen verkar inte vara i Sverige: försök gärna igen."
@@ -3687,23 +3774,23 @@ msgstr "Den positionen verkar inte vara i Sverige: försök gärna igen."
msgid "That postcode was not recognised, sorry."
msgstr "Det postnummret finns tyvärr inte."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:762
+#: perllib/FixMyStreet/App/Controller/Admin.pm:850
msgid "That problem has been marked as sent."
msgstr "Problemet har markerats som skickat."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:755
+#: perllib/FixMyStreet/App/Controller/Admin.pm:843
msgid "That problem will now be resent."
msgstr "Rapportern kommer nu att skickas om."
-#: perllib/FixMyStreet/App/Controller/Report.pm:137
+#: perllib/FixMyStreet/App/Controller/Report.pm:134
msgid "That report cannot be viewed on %s."
msgstr "Rapporten kan inte visas på %s."
-#: perllib/FixMyStreet/App/Controller/Report.pm:131
+#: perllib/FixMyStreet/App/Controller/Report.pm:128
msgid "That report has been removed from FixMyStreet."
msgstr "Rapporten har tagits bort från FixaMinGata."
-#: templates/web/base/admin/contact-form.html:25
+#: templates/web/base/admin/contact-form.html:27
msgid ""
"The <strong>email address</strong> is the destination to which reports about this category will be sent. \n"
" Other categories for this body may have the same email address."
@@ -3723,10 +3810,10 @@ msgid ""
" than one. If the body is running its own endpoint, you can usually leave this blank."
msgstr "<strong>Jurisdiktion</strong> behövs bara om samma ändpunkt används av flera enheter. Om förvaltningen kör sin egen ändpunkt kan du lämna detta fält blankt."
-#: templates/web/base/admin/body-form.html:100
-#: templates/web/base/admin/body-form.html:101
-#: templates/web/base/admin/contact-form.html:103
+#: templates/web/base/admin/body-form.html:102
+#: templates/web/base/admin/body-form.html:103
#: templates/web/base/admin/contact-form.html:104
+#: templates/web/base/admin/contact-form.html:105
msgid ""
"The <strong>send method</strong> determines how problem reports will be sent to the body.\n"
" If you leave this blank, <strong>send method defaults to email</strong>."
@@ -3743,6 +3830,10 @@ msgid ""
" and may be displayed publically."
msgstr "Förvaltningens namn identifierar förvaltningen (till exempel, <em>Sandvikens kommun</em>) och kan komma att visas offentligt."
+#: templates/web/base/admin/extra-metadata-form.html:12
+msgid "The code used to store this field value in the database. e.g. <code>address</code> would be available as <code>problem.extra.address</code> in the templates."
+msgstr ""
+
#: templates/web/base/report/new/fill_in_details_text.html:1
#: templates/web/base/report/new/fill_in_details_text.html:3
msgid "The council won&rsquo;t be able to help unless you leave as much detail as you can. Please describe the exact location of the problem (e.g. on a wall), what it is, how long it has been there, a description (and a photo of the problem if you have one), etc."
@@ -3753,11 +3844,15 @@ msgstr "Fyll i information om problemet nedan. Kommunen kommer inte att kunna hj
msgid "The diligency prize league table shows editors' activity (who's been editing the most records)."
msgstr "Flitighetstabellen visar redigerares aktiviteter (vem som har ändrat flest handlingar)."
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:61
-#: perllib/FixMyStreet/App/Controller/Reports.pm:82
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:63
+#: perllib/FixMyStreet/App/Controller/Reports.pm:103
msgid "The error was: %s"
msgstr "Felet var: %s"
+#: templates/web/base/admin/extra-metadata-form.html:30
+msgid "The field name as shown to the user on the report form."
+msgstr ""
+
#: templates/web/base/open311/index.html:78
msgid "The following Open311 v2 attributes are returned for each request: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
msgstr "Följande Open311 v2-attribut returneras för varje begäran: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
@@ -3796,10 +3891,14 @@ msgstr "De senaste problemen inom {{NAME}}'s gräns rapporterade av användare"
msgid "The link might have expired, or maybe you didn&rsquo;t quite copy and paste it correctly."
msgstr "Länken kan ha gått ut, eller så kanske du inte kopierade och klistrade in den på rätt sätt."
-#: templates/web/base/admin/body-form.html:64
+#: templates/web/base/admin/body-form.html:66
msgid "The list of available areas is being provided by the MapIt service at %s."
msgstr "Listan av tillgängliga områden förses av MapIt-tjänsten på %s."
+#: templates/web/base/admin/extra-metadata-form.html:6
+msgid "The ordering of this field on the report page. Fields are shown in ascending order according to this value."
+msgstr ""
+
#: templates/web/base/auth/change_password.html:22
#: templates/web/base/auth/change_password.html:26
msgid "The passwords do not match"
@@ -3809,9 +3908,9 @@ msgstr "Lösenorden stämmer inte överens"
msgid "The requested URL '%s' was not found on this server"
msgstr "Den sökta adressen '%s' hittades inte på denna server"
-#: templates/web/base/alert/_list.html:17
-msgid "The simplest alert is our geographic one:"
-msgstr "Vår enklaste bevakning är för rapporter inom ett geografiskt område:"
+#: templates/web/base/admin/extra-metadata-form.html:42
+msgid "The type of input field to show to the user. <strong>Text</strong> is a simple text field, <strong>List</strong> is a drop-down selection."
+msgstr ""
#: perllib/FixMyStreet/Script/Reports.pm:96
msgid "The user could not locate the problem on a map, but to see the area around the location they entered"
@@ -3830,18 +3929,18 @@ msgstr "Användarens <strong>namn</strong> visas offentligt i rapporter som inte
msgid "There are no reports to show."
msgstr "Det finns inga rapporter att visa."
-#: perllib/FixMyStreet/App/Controller/Reports.pm:79
+#: perllib/FixMyStreet/App/Controller/Reports.pm:100
msgid "There was a problem showing the All Reports page. Please try again later."
msgstr "Det uppstod ett problem med att visa sidan med alla rapporter. Försök gärna igen senare."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:137
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:60
+#: perllib/FixMyStreet/App/Controller/Contact.pm:138
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:62
msgid "There was a problem showing this page. Please try again later."
msgstr "Det uppstod ett problem med att visa denna sida. Försök gärna igen senare."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:758
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:785
#: perllib/FixMyStreet/App/Controller/Report/Update.pm:152
-#: templates/web/base/auth/general.html:53
+#: templates/web/base/auth/general.html:55
#: templates/web/zurich/auth/general.html:28
msgid "There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the &lsquo;sign in by email&rsquo; section of the form."
msgstr "Felaktigt lösenord eller epostadress. Om du har glömt bort ditt lösenord, eller om du inte har ett lösenord, kan du fylla i &lsquo;logga in via epost&rsquo;."
@@ -3854,7 +3953,7 @@ msgstr "Felaktigt lösenord eller epostadress. Försök igen."
msgid "There was a problem with your update. Please try again."
msgstr "Det uppstod ett problem med din uppdatering. Försök igen."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:141
+#: perllib/FixMyStreet/App/Controller/Contact.pm:142
msgid "There were problems with your report. Please see below."
msgstr "Det uppstod ett problem med din rapport. Se nedan."
@@ -3906,8 +4005,8 @@ msgstr "Den här förvaltningen är inte associerad med något geografiskt områ
msgid "This body has no contacts. This means that currently problems reported to this body <strong>will not be sent</strong>."
msgstr "Den här förvaltningen har inga kontakter. Det betyder att problem rapporterade till den här förvaltningen <strong>inte kommer att skickas</strong>."
-#: templates/web/base/admin/body-form.html:58
-#: templates/web/base/admin/body-form.html:59
+#: templates/web/base/admin/body-form.html:60
+#: templates/web/base/admin/body-form.html:61
msgid ""
"This body will only be sent reports for problems that are located in the <strong>area covered</strong>.\n"
" A body will not receive any reports unless it covers at least one area."
@@ -3921,8 +4020,9 @@ msgstr "Det här brevet har skickats till flera adresser eftersom rapportören i
msgid "This email has been sent to several councils covering the location of the problem, as the category selected is provided for all of them; please ignore it if you're not the correct council to deal with the issue."
msgstr "Det här brevet har skickats till flera adresser eftersom rapportören inte angav någon kategori, eller den kategori som angavs hör till flera olika enheter. Du kan ignorera det här brevet om du inte är rätt person att hantera det, men det vore också mycket hjälpsamt om du kan ta reda på vem som är rätt person och anmäla detta till oss så att vi kan ändra databasen för framtida brev."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:881
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:925
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1017
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:910
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:954
#: perllib/FixMyStreet/App/Controller/Report/New.pm:971
#: perllib/FixMyStreet/Cobrand/UK.pm:45
msgid "This information is required"
@@ -3932,46 +4032,41 @@ msgstr "Den här informationen krävs"
msgid "This is a developer site; things might break at any time, and the database will be periodically deleted."
msgstr "Det här är en utvecklingsplats: olika saker kan komma att gå sönder vid olika tidpunkter och databasen kommer att rutinmässigt raderas."
-#: templates/web/base/reports/index.html:10
-msgid "This is a summary of all reports on this site."
-msgstr "Det här är en sammanställning av alla rapporter."
-
-#: templates/web/base/report/new/form_report.html:56
+#: templates/web/base/report/new/form_report.html:58
msgid "This pothole has been here for two months and…"
msgstr "Detta hål i gatan har varit här i två månader och..."
-#: templates/web/base/report/update/form_update.html:63
+#: templates/web/base/report/update/form_update.html:55
msgid "This problem has been fixed"
msgstr "Det här problemet har lösts"
-#: templates/web/base/report/update/form_update.html:56
+#: templates/web/base/report/update/form_update.html:48
msgid "This problem has not been fixed"
msgstr "Det här problemet har inte lösts"
-#: templates/web/base/report/update/form_update.html:54
-#, fuzzy
+#: templates/web/base/report/update/form_update.html:46
msgid "This problem is still ongoing"
-msgstr "Det här problemet har inte lösts"
+msgstr "Detta problem är fortfarande aktuellt"
#: templates/web/base/report/duplicate-no-updates.html:3
msgid "This report is a duplicate. Please leave updates on the original report:"
-msgstr ""
+msgstr "Den här rapporten är en dublett. Lämna uppdateringar på den ursprungliga rapporten:"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:161
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:162
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:166
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:167
#: templates/web/zurich/report/_main.html:14
msgid "This report is awaiting moderation."
msgstr "Den här rapporten väntar på att granskas."
-#: perllib/FixMyStreet/Script/Alerts.pm:101
+#: perllib/FixMyStreet/Script/Alerts.pm:98
msgid "This report is currently marked as closed."
msgstr "Den här rapporten är markerad som stängd"
-#: perllib/FixMyStreet/Script/Alerts.pm:99
+#: perllib/FixMyStreet/Script/Alerts.pm:96
msgid "This report is currently marked as fixed."
msgstr "Det här problemet är markerat som löst"
-#: perllib/FixMyStreet/Script/Alerts.pm:103
+#: perllib/FixMyStreet/Script/Alerts.pm:100
msgid "This report is currently marked as open."
msgstr "Den här rapportern är öppen"
@@ -3990,7 +4085,7 @@ msgstr "Länken ovan innehåller också ett foto av problemet."
msgid "Time spent (in minutes):"
msgstr "Nedlagd tid (i minuter):"
-#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Default.pm:638
#: templates/web/base/admin/timeline.html:1
msgid "Timeline"
msgstr "Tidslinje"
@@ -4019,10 +4114,26 @@ msgstr "Skriv in postnummer eller gatunamn och ort för %s för att se rapporter
msgid "To find out what local alerts we have for you, please enter your postcode or street name and area"
msgstr "Skriv in postnummer eller gatunamn och ort för att se rapporter kring den platsen."
+#: templates/web/base/admin/reportextrafields/edit.html:19
+msgid "To limit this collection of fields to a single cobrand, select it here."
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:40
+msgid "To limit this collection of fields to a single language, select it here."
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:95
msgid "To view a map of the precise location of this issue"
msgstr "För att visa en karta med den exakta positionen för problemet"
+#: templates/web/base/reports/index.html:97
+msgid "Top 5 most used categories"
+msgstr "De fem mest använda kategorierna"
+
+#: templates/web/base/reports/index.html:83
+msgid "Top 5 responsive councils"
+msgstr "De fem mest responsiva kommunerna"
+
#: templates/web/base/admin/questionnaire.html:24
#: templates/web/base/admin/stats.html:24
#: templates/web/base/admin/stats.html:43
@@ -4033,32 +4144,39 @@ msgstr "Totalt"
#: templates/web/base/dashboard/index.html:97
msgid "Total marked"
-msgstr ""
+msgstr "Markerade, totalt"
#: templates/web/base/dashboard/index.html:71
-#, fuzzy
msgid "Total marked as fixed"
-msgstr "markerad som löst"
+msgstr "Markerade som lösta, totalt"
#: templates/web/base/dashboard/index.html:125
msgid "Total not marked"
-msgstr ""
+msgstr "Ej markerade, totalt"
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:56
msgid "Total reports received"
-msgstr ""
+msgstr "Uppdateringar mottagna, totalt"
-#: templates/web/base/report/_inspect.html:124
-#: templates/web/base/report/_item.html:102
+#: templates/web/base/report/_inspect.html:134
+#: templates/web/base/report/_item.html:104
msgid "Traffic management required?"
msgstr "Krävs trafikövervakning?"
+#: templates/web/base/admin/_translations.html:7
+msgid "Translation"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:2
+msgid "Translations"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:111
msgid "Trusted by bodies:"
msgstr "Anförtrodd av kommunen:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:721
+#: perllib/FixMyStreet/Cobrand/Default.pm:726
msgid "Trusted to make reports that don't need to be inspected"
msgstr "Anförtrodd att skapa rapporter som inte behöver bli inspekterade"
@@ -4074,8 +4192,14 @@ msgstr "Försök igen"
msgid "Try emailing us directly:"
msgstr "Prova att skicka ett e-brev till oss direkt:"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:21
+#: templates/web/base/admin/extra-metadata-form.html:44
+#: templates/web/base/admin/states/index.html:10
+#: templates/web/base/admin/states/index.html:100
+msgid "Type"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:59
+#: templates/web/base/admin/contact-form.html:55
#: templates/web/base/admin/update_edit.html:30
#: templates/web/zurich/admin/report_edit-sdm.html:66
#: templates/web/zurich/admin/report_edit.html:94
@@ -4083,7 +4207,6 @@ msgstr "Prova att skicka ett e-brev till oss direkt:"
msgid "Unconfirmed"
msgstr "Obekräftat"
-#: templates/web/base/reports/_list-filters.html:12
#: templates/web/base/reports/_list-filters.html:5
msgid "Unfixed reports"
msgstr "ej lösta rapporter"
@@ -4097,26 +4220,26 @@ msgid "Unknown alert type"
msgstr "Okänd feltyp"
#: perllib/FixMyStreet/App/Controller/Photo.pm:109
-#: perllib/FixMyStreet/App/Controller/Root.pm:124
+#: perllib/FixMyStreet/App/Controller/Root.pm:141
#: templates/web/base/js/translation_strings.html:38
msgid "Unknown error"
msgstr "Okänt fel"
-#: perllib/FixMyStreet/App/Controller/Report.pm:115
+#: perllib/FixMyStreet/App/Controller/Report.pm:112
+#: perllib/FixMyStreet/App/Controller/Report.pm:118
#: perllib/FixMyStreet/App/Controller/Report.pm:121
-#: perllib/FixMyStreet/App/Controller/Report.pm:124
msgid "Unknown problem ID"
msgstr "Okänt problemnummer"
#: templates/web/base/reports/_list-filters.html:10
-#, fuzzy
msgid "Unshortlisted"
-msgstr "Satt på slutlistan"
+msgstr "Okortlistade"
-#: templates/web/base/report/_item.html:24
+#: templates/web/base/report/_item.html:26
msgid "Up one"
-msgstr ""
+msgstr "Upp en"
+#: templates/web/base/admin/states/index.html:76
#: templates/web/base/report/update/form_update.html:29
msgid "Update"
msgstr "Uppdatering"
@@ -4133,7 +4256,7 @@ msgstr "Uppdateringen nedan tillagd anonymt %s"
msgid "Update below added by %s at %s"
msgstr "Uppdateringen nedan tillagd av %s den %s"
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Update body"
msgstr "Uppdatera förvaltning"
@@ -4169,13 +4292,23 @@ msgstr "Uppdaterad status"
msgid "Updated"
msgstr "Uppdaterad"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1157
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1221
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1384
-#: perllib/FixMyStreet/App/Controller/Admin.pm:822
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:762
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:787
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:857
+#: perllib/FixMyStreet/DB/Result/Comment.pm:249
+#, fuzzy
+msgid "Updated by <strong>%s</strong> (%s) at %s"
+msgstr "Postat av <strong>%s</strong> (%s) %s"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:251
+#, fuzzy
+msgid "Updated by <strong>%s</strong> at %s"
+msgstr "Postat av <strong>%s</strong> %s"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1262
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1326
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1489
+#: perllib/FixMyStreet/App/Controller/Admin.pm:910
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:767
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:792
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:862
msgid "Updated!"
msgstr "Uppdaterad!"
@@ -4185,7 +4318,7 @@ msgstr "Uppdaterad!"
msgid "Updates"
msgstr "Uppdateringar"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:133
+#: perllib/FixMyStreet/DB/Result/Comment.pm:134
msgid "Updates are limited to %s characters in length. Please shorten your update"
msgstr "Uppdateringar kan inte innehålla mer än %s tecken. Var vänlig korta ned din uppdatering."
@@ -4199,11 +4332,22 @@ msgstr "Uppdateringar för {{title}}"
msgid "Updates to this problem, %s"
msgstr "Uppdateringar för det här problemet, %s"
+#: templates/web/base/admin/contact-form.html:43
+#: templates/web/base/admin/contact-form.html:44
+msgid ""
+"Use <strong>confirmed</strong> to indicate that this contact has been\n"
+"confirmed as correct. If you are not sure of the origin or validity of the\n"
+"contact, use <strong>unconfirmed</strong>. <strong>inactive</strong> will\n"
+"remove the category from use when reporting problems, but keep it available in\n"
+"map filters, and <strong>deleted</strong> will remove the category from there\n"
+"as well."
+msgstr "Använd <strong>bekräftad</strong> för att indikera att den här kontakten har bekräftats vara korrekt. Om du inte är säker på kontaktens ursprunget eller giltlighet, använd <strong>obekräftad</strong>. <strong>inaktiv</strong> kommer att göra så att kategorin inte går att använda när problem rapporteras, men kommer fortsätta att göra kategorin tillgänglig i kartfilter. <strong>borttagen</strong> å andra sidan kommer att ta bort kategorin även därifrån."
+
#: templates/web/base/admin/open311-form-fields.html:65
msgid "Use Open311 update-sending extension"
msgstr "Använd Open311-update-sending-utökningen"
-#: templates/web/base/admin/contact-form.html:124
+#: templates/web/base/admin/contact-form.html:125
msgid "Use this field to record details that are only displayed in the admin. Input is not shown publicly, and is not sent to the body."
msgstr "Använd detta fält för att skriva in uppgifter som endast visas i administratörskontrollpanelen. Informationen visas inte offentligt och kommer inte att skickas till kommunen."
@@ -4216,27 +4360,26 @@ msgstr "Använde kartan"
msgid "User ID to attribute fetched comments to"
msgstr "Användar-ID att attribuera hämtade kommentarer till"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1700
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1805
msgid "User flag removed"
msgstr "Användarflaggan borttagen"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1672
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1777
msgid "User flagged"
msgstr "Användaren flaggad"
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:58
-#, fuzzy
msgid "User has marked as fixed"
-msgstr "markerad som löst"
+msgstr "Användaren har markerat som löst"
#: templates/web/base/admin/users.html:5
msgid "User search finds matches in users' names and email addresses."
msgstr "Användarsökningen matchar mot användares namn och e-postadresser."
#: perllib/FixMyStreet/Cobrand/Default.pm:669
-#: perllib/FixMyStreet/Cobrand/Default.pm:723
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
+#: perllib/FixMyStreet/Cobrand/Default.pm:728
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:403
#: templates/web/base/admin/flagged.html:29 templates/web/zurich/header.html:61
msgid "Users"
msgstr "Användare"
@@ -4245,9 +4388,9 @@ msgstr "Användare"
msgid "Users can perform the following actions within their assigned body or area."
msgstr "Användare kan utföra följande åtgärder i deras tilldelade kommun eller område."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:400
-#: perllib/FixMyStreet/App/Controller/Admin.pm:430
-#: perllib/FixMyStreet/App/Controller/Admin.pm:448
+#: perllib/FixMyStreet/App/Controller/Admin.pm:381
+#: perllib/FixMyStreet/App/Controller/Admin.pm:417
+#: perllib/FixMyStreet/App/Controller/Admin.pm:439
msgid "Values updated"
msgstr "Värden uppdaterade"
@@ -4275,11 +4418,11 @@ msgstr "Visa ett problem"
#. ("Week to date")
#: templates/web/base/dashboard/index.html:48
msgid "WTD"
-msgstr ""
+msgstr "VTI"
#: templates/web/base/dashboard/index.html:20
msgid "Ward:"
-msgstr ""
+msgstr "Stadsdel:"
#: templates/web/base/reports/body.html:16
msgid "Wards of this council"
@@ -4294,7 +4437,7 @@ msgstr "Vi hittade fler än en träff. Vi visar upp till tio träffar nedan. Om
msgid "We found more than one match for that problem reference:"
msgstr "Vi hittade mer än en träff för den problemreferensen:"
-#: templates/web/base/auth/general.html:6
+#: templates/web/base/auth/general.html:8
#: templates/web/base/report/display.html:35
#: templates/web/base/report/new/oauth_email_form.html:5
msgid "We need your email address, please give it below."
@@ -4319,7 +4462,7 @@ msgstr "Tråkigt att problemet inte åtgärdats. Du kan prova att skriva direkt
#: templates/web/base/dashboard/index.html:48
msgid "Week To Date"
-msgstr ""
+msgstr "Veckor Till Idag"
#: templates/web/base/contact/submit.html:7
msgid "We’ll get back to you as soon as we can."
@@ -4329,7 +4472,7 @@ msgstr "Vi återkommer så snart vi kan!"
msgid "What was your experience of getting the problem fixed?"
msgstr "Hur var din upplevelse kring att få problemet löst?"
-#: templates/web/base/admin/category_edit.html:52
+#: templates/web/base/admin/category_edit.html:27
#: templates/web/zurich/admin/body.html:18
msgid "When edited"
msgstr "Vid förändringar"
@@ -4338,11 +4481,19 @@ msgstr "Vid förändringar"
msgid "When sent"
msgstr "Vid avsändning"
-#: templates/web/base/report/_inspect.html:89
-msgid "Which report is it a duplicate of?"
+#: templates/web/base/admin/extra-metadata-form.html:18
+msgid "Whether the user is required to provide a value for this field."
msgstr ""
-#: templates/web/base/js/translation_strings.html:54
+#: templates/web/base/alert/_list.html:9
+msgid "Which problems do you want alerts about?"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:99
+msgid "Which report is it a duplicate of?"
+msgstr "Vilken rapport är den en dublett av?"
+
+#: templates/web/base/js/translation_strings.html:57
msgid "Whoa there Testino! Three photos are enough."
msgstr "Du kan som mest ladda upp tre foton."
@@ -4350,8 +4501,8 @@ msgstr "Du kan som mest ladda upp tre foton."
msgid "Why stop there? <a href=\"/alert\">Set up more alerts</a> for free."
msgstr "Varför sluta där? <a href=\"/alert\">Sätt upp fler notifikationer</a> gratis."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:185
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:190
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:14
msgid "Wish"
@@ -4361,7 +4512,7 @@ msgstr "Önskan"
msgid "With request searches, it is also possible to search for agency_responsible to limit the requests to those sent to a single administration. The search term is the administration ID provided by <a href=\"%s\">MaPit</a>."
msgstr "Vid sökningar är det också möjligt att söka efter agency_responsible för att begränsa svaren till de som skickats till en enstaka kommun. Söktermen för administrations-IDt erhålls av <a href=\"%s\">MapIt</a>."
-#: templates/web/base/front/footer-marketing.html:17
+#: templates/web/base/front/footer-marketing.html:3
msgid "Would you like to contribute to FixMyStreet? Our code is open source and <a href=\"http://fixmystreet.org\">available at fixmystreet.org</a>."
msgstr "Vill du bidra till FixaMinGata? Vår kod är öppen programvara och <a href=\"http://fixmystreet.org\">tillgänglig på fixmystreet.org</a>."
@@ -4380,29 +4531,28 @@ msgstr "Fel plats? Klicka i så fall på kartan igen."
#. ("Year to date")
#: templates/web/base/dashboard/index.html:51
msgid "YTD"
-msgstr ""
+msgstr "Ã…TI"
#: templates/web/base/admin/stats.html:10
msgid "Year"
msgstr "Ã…r"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1202
+#: perllib/FixMyStreet/Cobrand/Default.pm:1236
#: templates/web/base/admin/bodies.html:70
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
#: templates/web/base/admin/category_edit.html:5
#: templates/web/base/admin/flagged.html:47
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:136
+#: templates/web/base/admin/report_edit.html:124
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:25
#: templates/web/base/admin/users.html:32
#: templates/web/base/questionnaire/creator_fixed.html:14
#: templates/web/base/questionnaire/index.html:104
#: templates/web/base/questionnaire/index.html:53
+#: templates/web/base/report/_inspect.html:90
msgid "Yes"
msgstr "Ja"
@@ -4415,9 +4565,9 @@ msgstr "Ja, jag har ett lösenord"
msgid "You are complaining that this problem report was unnecessarily moderated:"
msgstr "Du anmäler att den här problemrapporten var modererad i onödan:"
-#: templates/web/base/js/translation_strings.html:70
+#: templates/web/base/js/translation_strings.html:73
msgid "You are offline"
-msgstr ""
+msgstr "Du är offline"
#: templates/web/base/contact/unsuitable-text.html:2
msgid "You are reporting the following problem report for being abusive, containing personal information, or similar:"
@@ -4436,7 +4586,11 @@ msgstr "Du kan <a href=\"%s%s\">se problemet på den här webbplatsen</a>."
msgid "You can add an abusive user's email to the abuse list, which automatically hides (and never sends) reports they create."
msgstr "Du kan lägga till en elakartade användares e-postadresser i missbrukarlistan, vilket automatiskt döljer (och aldrig skickar) rapporter som användarna skapar."
-#: templates/web/base/contact/index.html:111
+#: templates/web/base/alert/_list.html:18
+msgid "You can choose to subscribe to all problems reported in an area, or reports based on their destination."
+msgstr ""
+
+#: templates/web/base/contact/index.html:115
msgid "You can contact technical support on <a href='mailto:%s'>%s</a>"
msgstr "Du kan kontakta teknisk support på <a href='mailto:%s'>%s</a>."
@@ -4454,7 +4608,7 @@ msgstr "Du kan flagga rapporter eller användare under dess inställningar, och
msgid "You can help us by finding a contact email address for local problems for %s and emailing it to us at <a href='mailto:%s'>%s</a>."
msgstr "Du kan hjälpa oss med att hitta kontaktadressen för %s och eposta till oss på <a href='mailto:%s'>%s</a>."
-#: templates/web/base/admin/body-form.html:91
+#: templates/web/base/admin/body-form.html:93
msgid "You can mark a body as deleted if you do not want it to be active on the site."
msgstr "Du kan markera en förvaltning som borttagen om du inte vill att den skall vara aktiv på sajten."
@@ -4462,15 +4616,15 @@ msgstr "Du kan markera en förvaltning som borttagen om du inte vill att den ska
msgid "You declined; please fill in the box above"
msgstr "Du nekade; vänligan fyll i rutan ovan"
-#: templates/web/base/js/translation_strings.html:72
+#: templates/web/base/js/translation_strings.html:75
msgid "You have <a id=\"oFN\" href=\"\"><span>%s</span> saved to submit</a>."
-msgstr ""
+msgstr "Du har <a id=\"oFN\" href=\"\"><span>%s</span> sparad att skicka</a>."
#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:38
msgid "You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"
msgstr "Du har redan svarat på det här frågeformuläret. Om du har en fråga, <a href=\"%s\">kontakta oss</a> eller <a href=\"%s\">visa problemet</a>.\n"
-#: templates/web/base/report/new/form_report.html:37
+#: templates/web/base/report/new/form_report.html:39
#: templates/web/zurich/report/new/fill_in_details_form.html:30
msgid "You have already attached photos to this report. Note that you can attach a maximum of 3 to this report (if you try to upload more, the oldest will be removed)."
msgstr "Du har redan bifogat bilder till den här rapporten. Notera att du kan bifoga som mest tre bilder (om du försöker ladda upp fler tas de tidigaste bort)."
@@ -4528,10 +4682,9 @@ msgstr "Dina rapporter"
msgid "Your account"
msgstr "Ditt konto"
-#: templates/web/base/alert/_list.html:90
#: templates/web/base/alert/updates.html:19
#: templates/web/base/alert/updates.html:22
-#: templates/web/base/contact/index.html:81
+#: templates/web/base/contact/index.html:80
#: templates/web/base/report/display_tools.html:46
#: templates/web/base/report/display_tools.html:49
#: templates/web/base/report/new/form_user_loggedout_email.html:1
@@ -4541,7 +4694,7 @@ msgid "Your email"
msgstr "Din epostadress"
#: templates/web/base/auth/change_email.html:9
-#: templates/web/base/auth/general.html:55
+#: templates/web/base/auth/general.html:57
#: templates/web/base/report/update/form_user_loggedout_email.html:5
#: templates/web/zurich/auth/general.html:30
#: templates/web/zurich/auth/general.html:58
@@ -4552,21 +4705,32 @@ msgstr "Din epostadress"
msgid "Your information will only be used in accordance with our <a href=\"/privacy\">privacy policy</a>"
msgstr "Din information kommer endast att användas i enlighet med vår <a href=\"/privacy\">sekretesspolicy</a>"
-#: templates/web/base/auth/general.html:107
+#: templates/web/base/auth/general.html:109
#: templates/web/base/contact/index.html:74
#: templates/web/base/report/new/form_user_loggedout_by_email.html:17
-#: templates/web/base/report/update/form_name.html:29
+#: templates/web/base/report/update/form_name.html:33
#: templates/web/zurich/auth/general.html:61
#: templates/web/zurich/report/new/fill_in_details_form.html:63
msgid "Your name"
msgstr "Ditt namn och efternamn"
-#: templates/web/base/js/translation_strings.html:62
-#, fuzzy
+#: templates/web/base/my/anonymize.html:13
+msgid "Your name has already been sent to %s, but we can hide it on this page:"
+msgstr "Ditt namn har redan skickats till %s, men vi kan dölja det på den här sidan:"
+
+#: perllib/FixMyStreet/App/Controller/My.pm:264
+msgid "Your name has been hidden from all your reports and updates."
+msgstr "Ditt namn har dolts från alla dina rapporter och uppdateringar."
+
+#: perllib/FixMyStreet/App/Controller/My.pm:260
+msgid "Your name has been hidden."
+msgstr "Ditt namn har dolts."
+
+#: templates/web/base/js/translation_strings.html:65
msgid "Your offline reports"
-msgstr "Dina rapporter"
+msgstr "Dina offline-rapporter"
-#: templates/web/base/auth/general.html:85
+#: templates/web/base/auth/general.html:87
#: templates/web/base/report/new/form_user_loggedout_password.html:10
#: templates/web/base/report/update/form_user_loggedout_password.html:9
#: templates/web/zurich/auth/general.html:34
@@ -4577,6 +4741,7 @@ msgstr "Ditt lösenord"
msgid "Your password has been changed"
msgstr "Ditt lösenord har ändrats"
+#: templates/web/base/contact/index.html:87
#: templates/web/base/report/new/form_user_loggedout_by_email.html:26
#: templates/web/zurich/report/new/fill_in_details_form.html:69
msgid "Your phone number"
@@ -4595,16 +4760,16 @@ msgstr "Dina rapporter"
msgid "Your shortlist"
msgstr "Din slutlista"
-#: templates/web/base/js/translation_strings.html:63
+#: templates/web/base/js/translation_strings.html:66
msgid "Your update has been saved offline for submission when back online."
-msgstr ""
+msgstr "Din uppdatering har blivit sparad offline för att skickas när du kommer tillbaka online."
#: templates/web/base/my/my.html:51
msgid "Your updates"
msgstr "Dina uppdateringar"
-#: templates/web/base/report/new/form_user_loggedin.html:18
-#: templates/web/base/report/update/form_name.html:11
+#: templates/web/base/report/new/form_user_loggedin.html:19
+#: templates/web/base/report/update/form_name.html:12
msgid "Yourself"
msgstr "Dig själv"
@@ -4613,14 +4778,14 @@ msgstr "Dig själv"
msgid "all"
msgstr "samtliga"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:259
+msgid "and a defect raised"
+msgstr ""
+
#: templates/web/base/admin/timeline.html:4
msgid "by %s"
msgstr "av %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:290
-msgid "closed as a duplicate report"
-msgstr "markerad som dubblett av rapport"
-
#: templates/web/base/reports/body.html:6
#: templates/web/base/reports/body.html:7
msgid "council"
@@ -4645,7 +4810,7 @@ msgstr "ändra användare"
msgid "from %s different users"
msgstr "från %s olika användare"
-#: templates/web/base/report/_item.html:61
+#: templates/web/base/report/_item.html:63
#: templates/web/zurich/report/_item.html:14
msgid "last updated %s"
msgstr "senast uppdaterad %s"
@@ -4654,44 +4819,7 @@ msgstr "senast uppdaterad %s"
msgid "less than a minute"
msgstr "mindre än en minut"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:280
-msgid "marked as action scheduled"
-msgstr "markerad som åtgärd schemalagd"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:292
-msgid "marked as an internal referral"
-msgstr "markerad som intern referering"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:282
-msgid "marked as closed"
-msgstr "markerad som stängd"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:263
-#: perllib/FixMyStreet/DB/Result/Comment.pm:284
-msgid "marked as fixed"
-msgstr "markerad som löst"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:278
-msgid "marked as in progress"
-msgstr "markerad som pågående"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:274
-msgid "marked as investigating"
-msgstr "markerad som under utredning"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:286
-msgid "marked as no further action"
-msgstr "markerad som kunde inte åtgärda"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:288
-msgid "marked as not the council's responsibility"
-msgstr "markerad som ej kommunens ansvar"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:276
-msgid "marked as planned"
-msgstr "markerad som planerad"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:122
+#: perllib/FixMyStreet/App/Controller/Admin.pm:119
#: templates/web/base/admin/questionnaire.html:15
#: templates/web/base/admin/questionnaire.html:16
msgid "n/a"
@@ -4702,13 +4830,10 @@ msgstr "Ej tillgängligt"
msgid "none"
msgstr "inga"
-#: templates/web/base/admin/category_edit.html:35
-msgid "optional"
-msgstr "valfria"
-
-#: templates/web/base/alert/_list.html:86
-msgid "or"
-msgstr "eller"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:278
+#, fuzzy
+msgid "not the council's responsibility"
+msgstr "markerad som ej kommunens ansvar"
#: templates/web/base/js/translation_strings.html:27
msgid "or locate me automatically"
@@ -4733,16 +4858,7 @@ msgstr "ursprungligen inmatat: &ldquo;%s&rdquo;"
msgid "other areas:"
msgstr "andra områden:"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:265
-#: perllib/FixMyStreet/DB/Result/Comment.pm:271
-msgid "reopened"
-msgstr "öppnat på nytt"
-
-#: templates/web/base/admin/category_edit.html:35
-msgid "required"
-msgstr "obligatoriska"
-
-#: templates/web/zurich/footer.html:13
+#: templates/web/zurich/footer.html:12
msgid "sign out"
msgstr "logga ut"
@@ -4750,11 +4866,16 @@ msgstr "logga ut"
msgid "the local council"
msgstr "kommunen"
-#: templates/web/base/report/_report_meta_info.html:2
+#: templates/web/base/report/_report_meta_info.html:5
#: templates/web/zurich/report/_main.html:5
msgid "there is no pin shown as the user did not use the map"
msgstr "det finns ingen kartmarkering eftersom användaren inte använde kartan"
+#: templates/web/base/alert/_list.html:1
+#, fuzzy
+msgid "this location"
+msgstr "Visa en position"
+
#: perllib/FixMyStreet/Script/Reports.pm:184
msgid "this type of local problem"
msgstr "den här typen av problem"
@@ -4763,15 +4884,13 @@ msgstr "den här typen av problem"
msgid "today"
msgstr "idag"
-#: templates/web/base/js/translation_strings.html:73
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:76
msgid "update"
-msgstr "Uppdatering"
+msgstr "uppdatering"
-#: templates/web/base/js/translation_strings.html:74
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:77
msgid "updates"
-msgstr "Uppdateringar"
+msgstr "uppdateringar"
#: templates/web/base/admin/report_edit.html:52
msgid "used map"
@@ -4791,11 +4910,11 @@ msgid "ward"
msgstr "område"
#: templates/web/base/admin/bodies.html:56
-#, fuzzy, perl-format
+#, perl-format
msgid "%d address"
msgid_plural "%d addresses"
-msgstr[0] "E-postadress"
-msgstr[1] "E-postadress"
+msgstr[0] "%d adress"
+msgstr[1] "%d adresser"
#: perllib/Utils.pm:250
#, perl-format
@@ -4819,11 +4938,11 @@ msgstr[0] "%d minut"
msgstr[1] "%d minuter"
#: perllib/Utils.pm:246
-#, fuzzy, perl-format
+#, perl-format
msgid "%d month"
msgid_plural "%d months"
-msgstr[0] "%d minut"
-msgstr[1] "%d minuter"
+msgstr[0] "%d månad"
+msgstr[1] "%d månader"
#: templates/web/base/report/_support.html:6
#, perl-format
@@ -4843,8 +4962,43 @@ msgstr[1] "%d veckor"
#, perl-format
msgid "%d year"
msgid_plural "%d years"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%d år"
+msgstr[1] "%d år"
+
+#: templates/web/base/reports/index.html:92
+#, perl-format
+msgid "%s day"
+msgid_plural "%s days"
+msgstr[0] "%s dag"
+msgstr[1] "%s dagar"
+
+#: templates/web/base/reports/index.html:55
+#, perl-format
+msgid "%s problem marked as fixed"
+msgid_plural "%s problems marked as fixed"
+msgstr[0] "%s problem markerat som löst"
+msgstr[1] "%s problem markerade som lösta"
+
+#: templates/web/base/reports/index.html:43
+#, perl-format
+msgid "%s problem reported"
+msgid_plural "%s problems reported"
+msgstr[0] "%s problem rapporterat"
+msgstr[1] "%s problem rapporterade"
+
+#: templates/web/base/reports/index.html:107
+#, perl-format
+msgid "%s report"
+msgid_plural "%s reports"
+msgstr[0] "%s rapport"
+msgstr[1] "%s rapporter"
+
+#: templates/web/base/reports/index.html:49
+#, perl-format
+msgid "%s update on problems"
+msgid_plural "%s updates on problems"
+msgstr[0] "%s problemuppdatering"
+msgstr[1] "%s problemuppdateringar"
#: templates/web/base/front/stats.html:19
#, perl-format
@@ -4874,12 +5028,12 @@ msgid_plural "<big>%s</big> updates on reports"
msgstr[0] "<big>%s</big> uppdatering av rapporter"
msgstr[1] "<big>%s</big> uppdateringar av rapporter"
-#: templates/web/base/report/_item.html:49
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:51
+#, perl-format
msgid "Reported %d day ago"
msgid_plural "Reported %d days ago"
-msgstr[0] "Rapporterat av %s den %s"
-msgstr[1] "Rapporterat av %s den %s"
+msgstr[0] "Rapporterad för %d dag sedan"
+msgstr[1] "Rapporterad för %d dagar sedan"
#: templates/web/base/report/new/top_message_some.html:3
#, perl-format
@@ -4895,49 +5049,121 @@ msgid_plural "We do not yet have details for the councils that cover this locati
msgstr[0] "Vi har ännu ingen information om kommunen på den platsen"
msgstr[1] "Kommunen på platsen har valt att inte ta emot rapporter från FixaMinGata."
-#: templates/web/base/report/_item.html:59
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:61
+#, perl-format
msgid "last updated %d day ago"
msgid_plural "last updated %d days ago"
-msgstr[0] "senast uppdaterad %s"
-msgstr[1] "senast uppdaterad %s"
+msgstr[0] "senast uppdaterad för %d dag sedan"
+msgstr[1] "senast uppdaterad för %d dagar sedan"
#: templates/email/oxfordshire/archive.txt:9
-#, fuzzy, perl-format
+#, perl-format
msgid "report"
msgid_plural "reports"
-msgstr[0] "Rapportera"
-msgstr[1] "Rapportera"
+msgstr[0] "rapport"
+msgstr[1] "rapporter"
-#, fuzzy
-#~ msgid "All inspectors"
-#~ msgstr "Samtliga kategorier"
+#~ msgid ""
+#~ "%s sends different categories of problem\n"
+#~ "to the appropriate council, so problems within the boundary of a particular council\n"
+#~ "might not match the problems sent to that council. For example, a graffiti report\n"
+#~ "will be sent to the district council, so will appear in both of the district\n"
+#~ "council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
+#~ "for the county council."
+#~ msgstr "%s skickar olika kategorier av rapporter till olika enheter inom en kommun eller län. Problem som rapporteras inom en viss kommun dyker därför inte nödvändigtvis upp i listan över rapporter till den kommunen. Exempelvis kan en rapport om en väg skickas till Vägverket snarare än kommunen. Rapporten dyker då inte upp i listan över rapporter till kommunen, men dyker upp om man söker alla rapporter inom ett visst avstånd."
-#, fuzzy
-#~ msgid "External ID:"
-#~ msgstr "Externt ID"
+#~ msgid "%s ward, %s"
+#~ msgstr "Administrativa området %s, %s"
-#, fuzzy
-#~ msgid "Inspector:"
-#~ msgstr "Inspektion krävs"
+#~ msgid "%s, within %s ward"
+#~ msgstr "%s inom det administrativa området %s"
-#, fuzzy
-#~ msgid "Report category:"
-#~ msgstr "Redigera rapportkategori"
+#~ msgid "(alternatively the RSS feed can be customised, within %s)"
+#~ msgstr "(alternativt kan RSS-flödet konfigureras inom %s)"
-#, fuzzy
-#~ msgid "Reported %d days ago"
-#~ msgstr "Rapporterat av %s den %s"
+#~ msgid "-- Pick a property type --"
+#~ msgstr "-- Välj en fastighetstyp --"
-#, fuzzy
-#~ msgid "last updated %d days ago"
-#~ msgstr "senast uppdaterad %s"
+#~ msgid "Closed reports"
+#~ msgstr "stängda rapporter"
+
+#~ msgid "Closed:"
+#~ msgstr "Stängd:"
+
+#~ msgid "Duplicate"
+#~ msgstr "Finns redan"
+
+#~ msgid "Fixed reports"
+#~ msgstr "lösta rapporter"
+
+#~ msgid "Fixed:"
+#~ msgstr "Löst:"
+
+#~ msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
+#~ msgstr "Här är de olika typerna för lokala problem för &lsquo;%s&rsquo;"
+
+#~ msgid "In Progress"
+#~ msgstr "Pågående"
+
+#~ msgid "Internal referral"
+#~ msgstr "Interna refereringar"
+
+#~ msgid "Investigating"
+#~ msgstr "Utredes"
+
+#~ msgid "No further action"
+#~ msgstr "Kunde inte åtgärda"
+
+#~ msgid "Not Responsible"
+#~ msgstr "Ej ansvarig"
+
+#~ msgid "Or problems reported to:"
+#~ msgstr "Eller problem rapporterade til:"
+
+#~ msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
+#~ msgstr "Du kan också prenumerera på bevakningar baserat på vilken kommun du bor i:"
+
+#~ msgid "Please choose a property type"
+#~ msgstr "Välj en fastighetstyp"
+
+#~ msgid "Problems within the boundary of:"
+#~ msgstr "Problem inom gränsen för:"
+
+#~ msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
+#~ msgstr "Välj vilken kategori av rapporter du vill få och klicka knappen för ett RSS-flöde eller ange din epostadress för att prenumerera via epost."
+
+#~ msgid "The simplest alert is our geographic one:"
+#~ msgstr "Vår enklaste bevakning är för rapporter inom ett geografiskt område:"
+
+#~ msgid "closed as a duplicate report"
+#~ msgstr "markerad som dubblett av rapport"
+
+#~ msgid "marked as action scheduled"
+#~ msgstr "markerad som åtgärd schemalagd"
+
+#~ msgid "marked as an internal referral"
+#~ msgstr "markerad som intern referering"
+
+#~ msgid "marked as closed"
+#~ msgstr "markerad som stängd"
+
+#~ msgid "marked as fixed"
+#~ msgstr "markerad som löst"
+
+#~ msgid "marked as in progress"
+#~ msgstr "markerad som pågående"
+
+#~ msgid "marked as investigating"
+#~ msgstr "markerad som under utredning"
+
+#~ msgid "marked as no further action"
+#~ msgstr "markerad som kunde inte åtgärda"
-#~ msgid "Reports from users with high enough reputation will be sent immediately without requiring inspection. Each category's threshold can be managed on its edit page. Users earn reputation when a report they have made is marked as inspected by inspectors."
-#~ msgstr "Rapporter från användare med högt nog anseende kommer att skickas omedelbart, utan att kräva inspektion. Kategoriers gränser kan hanteras i administratörskontrollpanelen. Användare ökar i anseende när en av deras rapporter markeras som inspekterade av inspektörer."
+#~ msgid "marked as planned"
+#~ msgstr "markerad som planerad"
-#~ msgid "Reputation:"
-#~ msgstr "Anseende:"
+#~ msgid "or"
+#~ msgstr "eller"
-#~ msgid "Cancel"
-#~ msgstr "Avbryt"
+#~ msgid "reopened"
+#~ msgstr "öppnat på nytt"
diff --git a/locale/tr_TR.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/tr_TR.UTF-8/LC_MESSAGES/FixMyStreet.po
index 4897c9b81..3753b1218 100644
--- a/locale/tr_TR.UTF-8/LC_MESSAGES/FixMyStreet.po
+++ b/locale/tr_TR.UTF-8/LC_MESSAGES/FixMyStreet.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
-"POT-Creation-Date: 2017-03-30 17:33+0100\n"
+"POT-Creation-Date: 2017-09-13 15:40+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: mySociety <transifex@mysociety.org>, 2016\n"
+"Last-Translator: mySociety <transifex@mysociety.org>, 2017\n"
"Language-Team: Turkish (Turkey) (https://www.transifex.com/mysociety/teams/12067/tr_TR/)\n"
"Language: tr_TR\n"
"MIME-Version: 1.0\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:695
+#: perllib/FixMyStreet/DB/Result/Problem.pm:632
#: perllib/FixMyStreet/Script/Reports.pm:197
msgid " and "
msgstr "ve"
@@ -91,25 +91,6 @@ msgstr "%s bildirim &ndash; %s cevaplandı (%s%%)"
msgid "%s ref:&nbsp;%s"
msgstr "%s ref:&nbsp;%s"
-#. ("%s is the site name")
-#: templates/web/base/alert/_list.html:74
-msgid ""
-"%s sends different categories of problem\n"
-"to the appropriate council, so problems within the boundary of a particular council\n"
-"might not match the problems sent to that council. For example, a graffiti report\n"
-"will be sent to the district council, so will appear in both of the district\n"
-"council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
-"for the county council."
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:257 perllib/FixMyStreet/Cobrand/UK.pm:269
-msgid "%s ward, %s"
-msgstr "%s bölüm, %s"
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
-msgid "%s, within %s ward"
-msgstr "%s, içinde %s bölüm"
-
#: perllib/FixMyStreet/Map/OSM.pm:38
msgid "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"
msgstr "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a>katkıda bulunanlar"
@@ -118,7 +99,7 @@ msgstr "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap<
msgid "(Defect &amp; location of defect)"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
#: templates/web/base/admin/users.html:32
msgid "(Email in abuse table)"
msgstr "(E-posta kara listede)"
@@ -133,28 +114,36 @@ msgstr "(İsim Yok)"
msgid "(No phone number)"
msgstr "(Telefon Numarası Yok)"
-#: templates/web/base/alert/_list.html:25
-msgid "(a default distance which covers roughly 200,000 people)"
-msgstr "(yaklaşık 200,000 kişiyi kapsayan bir mesafe)"
-
-#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
-#: templates/web/base/alert/_list.html:30
-msgid "(alternatively the RSS feed can be customised, within %s)"
+#: templates/web/base/admin/states/index.html:95
+msgid "(a-z and space only)"
msgstr ""
#: templates/web/zurich/report/_item.html:19
msgid "(closed)"
msgstr "(kapalı)"
+#: templates/web/base/alert/_list.html:30
+#, fuzzy
+msgid "(covers roughly 200,000 people)"
+msgstr "(yaklaşık 200,000 kişiyi kapsayan bir mesafe)"
+
#: templates/web/zurich/report/_item.html:17
msgid "(fixed)"
msgstr "(onarıldı)"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "(ignored if type is \"String\")"
+msgstr ""
+
#: templates/web/base/around/intro.html:2
msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
msgstr "(duvar yazısı (grafiti), moloz atma, kırık kaldırım döşeme, ya da sokak aydınlatma gibi)"
-#: templates/web/base/report/_item.html:68
+#: templates/web/base/reports/index.html:69
+msgid "(no longer exists)"
+msgstr ""
+
+#: templates/web/base/report/_item.html:70
msgid "(not sent to council)"
msgstr "(kurula gönderilmemiş)"
@@ -162,20 +151,22 @@ msgstr "(kurula gönderilmemiş)"
msgid "(optional)"
msgstr "(isteğe bağlı)"
-#: templates/web/base/report/_item.html:67
+#: templates/web/base/report/_item.html:69
msgid "(sent to both)"
msgstr "(her ikisine de gönderildi)"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:239
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/DB/Result/Problem.pm:454
+#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
+#: templates/web/base/alert/_list.html:36
+#, fuzzy
+msgid "(we also have RSS feeds for problems within %s)"
+msgstr "%s içerisindeki problemlerle alakalı RSS besleme"
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:245
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:381
msgid "-- Pick a category --"
msgstr "-- Kategori seçiniz--"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:460
-msgid "-- Pick a property type --"
-msgstr "-- Bir özellik seçiniz --"
-
#: templates/web/base/admin/response_templates_select.html:3
msgid "--Choose a template--"
msgstr ""
@@ -184,16 +175,16 @@ msgstr ""
msgid "10 inch pothole on Example St, near post box"
msgstr ""
-#: templates/web/base/dashboard/index.html:152
+#: templates/web/base/dashboard/index.html:153
msgid "14-30 days old"
msgstr ""
-#: templates/web/base/dashboard/index.html:151
+#: templates/web/base/dashboard/index.html:152
msgid "7-14 days old"
msgstr ""
-#: templates/web/base/admin/body-form.html:48
-#: templates/web/base/admin/body-form.html:49
+#: templates/web/base/admin/body-form.html:50
+#: templates/web/base/admin/body-form.html:51
msgid ""
"<code>MAPIT_URL</code> is set (<code>%s</code>) but no <code>MAPIT_TYPES</code>.<br>\n"
" This is probably why \"area covered\" is empty (below).<br>\n"
@@ -207,13 +198,12 @@ msgstr ""
msgid "<h2>Reports, Statistics and Actions for</h2> <h1>%s</h1>"
msgstr ""
-#. ('The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories')
#. ("The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories")
-#: templates/web/base/reports/_list-filters.html:37
-msgid "<label for=\"statuses\">Show</label> %s <label for=\"filter_categories\">about</label> %s"
+#: templates/web/base/reports/_list-filters.html:48
+msgid "<label for=\"statuses\">Show</label> %s reports <label for=\"filter_categories\">about</label> %s"
msgstr ""
-#: templates/web/base/js/translation_strings.html:71
+#: templates/web/base/js/translation_strings.html:74
msgid "<span>%s</span> saved."
msgstr ""
@@ -230,34 +220,25 @@ msgstr "<strong>Hayır</strong> E mail yoluyla raporumu onaylamama izin ver"
msgid "<strong>No</strong> Let me confirm my update by email"
msgstr "<strong>Hayır</strong> Güncellemelerimi e-posta yoluyla onaylamama izin ver"
-#: templates/web/base/auth/general.html:104
+#: templates/web/base/auth/general.html:106
#: templates/web/zurich/auth/general.html:51
msgid "<strong>No</strong> let me sign in by email"
msgstr "<strong>Hayır</strong> e-posta yoluyla giriş yapmama izin ver"
-#: templates/web/base/report/_inspect.html:160
+#: templates/web/base/report/_inspect.html:170
msgid "<strong>Note:</strong> This report has been sent onwards for action. Any changes made won't be passed on."
msgstr ""
-#: templates/web/base/report/_inspect.html:162
+#: templates/web/base/report/_inspect.html:172
msgid "<strong>Note:</strong> This report hasn't yet been sent onwards for action. Any changes made may not be passed on."
msgstr ""
-#: templates/web/base/auth/general.html:80
+#: templates/web/base/auth/general.html:82
#: templates/web/base/report/new/form_user_loggedout_password.html:3
#: templates/web/base/report/update/form_user_loggedout_password.html:2
msgid "<strong>Yes</strong> I have a password"
msgstr "<strong>Evet</strong> ÅŸifrem var"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:10
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:6
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Action Scheduled"
-msgstr "Planlı Eylem"
-
#: templates/web/base/admin/body-form.html:3
#: templates/web/base/admin/body-form.html:4
msgid ""
@@ -275,19 +256,36 @@ msgid "Add a contact using the form below."
msgstr "Aşağıdaki formu kullanarak iletişim bilgisi ekleyin"
#: templates/web/base/admin/bodies.html:78
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Add body"
msgstr "Bölüm ekle"
+#: templates/web/base/admin/reportextrafields/index.html:24
+msgid "Add extra fields"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:79
+msgid "Add field"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:85
+msgid "Add fixed state"
+msgstr ""
+
#: templates/web/base/admin/body.html:126
#: templates/web/zurich/admin/body.html:31
msgid "Add new category"
msgstr "Yeni kategori ekle"
+#: templates/web/base/admin/extra-metadata-form.html:72
+#, fuzzy
+msgid "Add option"
+msgstr "(isteğe bağlı)"
+
#: templates/web/base/report/_item.html:10
-#: templates/web/base/report/_item.html:14
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_item.html:16
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:19
#: templates/web/base/report/_main.html:30
msgid "Add to shortlist"
@@ -299,15 +297,15 @@ msgstr ""
msgid "Add user"
msgstr "Kullanıcı ekle"
-#: perllib/FixMyStreet/Cobrand/Default.pm:730
+#: perllib/FixMyStreet/Cobrand/Default.pm:735
msgid "Add/edit problem categories"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:732
+#: perllib/FixMyStreet/Cobrand/Default.pm:737
msgid "Add/edit response priorities"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:731
+#: perllib/FixMyStreet/Cobrand/Default.pm:736
msgid "Add/edit response templates"
msgstr ""
@@ -315,7 +313,7 @@ msgstr ""
msgid "Added %s"
msgstr "EklenmiÅŸ %s"
-#: templates/web/base/report/_main.html:145
+#: templates/web/base/report/_main.html:149
msgid "Adding this report to your shortlist will remove it from %s’s shortlist."
msgstr ""
@@ -335,17 +333,17 @@ msgstr "Uyarı %d için oluşturulmuş %s, tür %s, değişkenler %s / %s"
msgid "Alert %d disabled (created %s)"
msgstr "Uyarı %d engellendi (oluşturuldu %s)"
-#: templates/web/base/report/update/form_name.html:38
+#: templates/web/base/report/update/form_name.html:42
msgid "Alert me to future updates"
msgstr "Güncellemeleri bildir"
#: templates/web/base/dashboard/index.html:138
#: templates/web/base/dashboard/index.html:21
#: templates/web/base/dashboard/index.html:30
+#: templates/web/base/reports/_list-filters.html:3
msgid "All"
msgstr ""
-#: templates/web/base/reports/index.html:6
#: templates/web/zurich/reports/index.html:13
msgid "All Reports"
msgstr "Tüm Bildirimler"
@@ -355,15 +353,23 @@ msgid "All Reports as CSV"
msgstr "Tüm raporlar CSV olarak"
#: templates/web/base/admin/category-multiselect.html:5
-#: templates/web/base/admin/responsepriorities/list.html:19
+#: templates/web/base/admin/responsepriorities/list.html:20
msgid "All categories"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:26
+#, fuzzy
+msgid "All cobrands"
+msgstr "Cobrand "
+
+#: templates/web/base/admin/reportextrafields/edit.html:47
+msgid "All languages"
+msgstr ""
+
#: templates/web/base/main_nav_items.html:0
#: templates/web/base/main_nav_items.html:27
-#: templates/web/base/reports/_list-filters.html:3
#: templates/web/zurich/admin/index-dm.html:12
-#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:21
+#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:20
#: templates/web/zurich/nav_over_content.html:6
msgid "All reports"
msgstr "Tüm bildirimler"
@@ -373,6 +379,14 @@ msgstr "Tüm bildirimler"
msgid "All reports between %s and %s"
msgstr "%s ve %s arasındaki tüm bildirimler"
+#: templates/web/base/reports/index.html:23
+msgid "All time"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:20
+msgid "Alternatively, we can hide your name on <strong>all of your reports and updates</strong> across the site:"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:47
msgid "An update marked this problem as fixed."
msgstr "Bir güncelleştirme sorun giderildi olarak işaretlenmiş. "
@@ -382,31 +396,33 @@ msgstr "Bir güncelleştirme sorun giderildi olarak işaretlenmiş. "
msgid "Anonymous"
msgstr "Anonim"
-#: templates/web/base/admin/report_edit.html:134
+#: templates/web/base/report/new/form_user_loggedin.html:21
+#: templates/web/base/report/update/form_name.html:17
+#, fuzzy
+msgid "Anonymous user"
+msgstr "Anonim"
+
+#: templates/web/base/admin/report_edit.html:122
#: templates/web/base/admin/update_edit.html:23
msgid "Anonymous:"
msgstr "Anonim:"
-#: templates/web/base/report/new/form_user_loggedin.html:20
-#: templates/web/base/report/update/form_name.html:13
+#: templates/web/base/report/new/form_user_loggedin.html:24
+#: templates/web/base/report/update/form_name.html:14
msgid "Another user"
msgstr ""
-#: templates/web/base/front/footer-marketing.html:16
-msgid "Are you a developer?"
-msgstr "GeliÅŸtirici misiniz?"
-
-#: templates/web/base/js/translation_strings.html:56
+#: templates/web/base/js/translation_strings.html:59
msgid "Are you sure you want to cancel this upload?"
msgstr ""
#: templates/web/base/admin/report_edit.html:84
-#: templates/web/base/js/translation_strings.html:66
+#: templates/web/base/js/translation_strings.html:69
#: templates/web/base/report/display_tools.html:6
msgid "Are you sure?"
msgstr ""
-#: templates/web/base/admin/body-form.html:75
+#: templates/web/base/admin/body-form.html:77
#: templates/web/base/admin/body.html:20
#: templates/web/zurich/admin/body-form.html:24
msgid "Area covered"
@@ -438,11 +454,11 @@ msgstr "Dışarıdan bir organ atamak:"
msgid "Assign to subdivision:"
msgstr "Alt bölüm atamak:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:727
+#: perllib/FixMyStreet/Cobrand/Default.pm:732
msgid "Assign users to areas"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:214
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:219
msgid "Assigned to %s"
msgstr "%s atamak"
@@ -463,11 +479,14 @@ msgstr ""
msgid "Auto-response:"
msgstr ""
-#: templates/web/base/admin/report_edit.html:127
-#: templates/web/base/report/_inspect.html:47
+#: templates/web/base/admin/report-category.html:8
msgid "Available categories"
msgstr ""
+#: templates/web/base/reports/index.html:84
+msgid "Average time between a problem being reported and being fixed, last 100 reports."
+msgstr ""
+
#: templates/web/base/dashboard/index.html:109
msgid "Average time to council marking fixed (days)"
msgstr ""
@@ -480,7 +499,7 @@ msgstr ""
msgid "Avoid personal information and vehicle number plates"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:417
+#: perllib/FixMyStreet/DB/Result/Problem.pm:344
#: templates/web/zurich/report/_item.html:9
msgid "Awaiting moderation"
msgstr "Denetleme bekliyor"
@@ -493,13 +512,13 @@ msgstr "Geri"
msgid "Back to all reports"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
msgid "Ban email address"
msgstr "Email adresini engelle"
#: perllib/FixMyStreet/Cobrand/Default.pm:650
-#: perllib/FixMyStreet/Cobrand/Default.pm:729
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
+#: perllib/FixMyStreet/Cobrand/Default.pm:734
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:396
#: templates/web/base/admin/bodies.html:1
#: templates/web/base/admin/report_edit.html:55
#: templates/web/zurich/header.html:56
@@ -521,7 +540,11 @@ msgstr "Bölüm:"
msgid "By Date"
msgstr "Tarihe Göre"
-#: templates/web/base/auth/token.html:21 templates/web/base/email_sent.html:18
+#: templates/web/base/admin/extra-metadata-form.html:36
+msgid "Can be used to display extra text to the user alongside the field. The default template does not show this (<code>meta.datatype_description</code>), you must add it in <code>category_extras_fields.html</code>"
+msgstr ""
+
+#: templates/web/base/auth/token.html:27 templates/web/base/email_sent.html:20
msgid "Can&rsquo;t find our email? Check your spam folder&nbsp;&ndash; that&rsquo;s the solution 99% of the time."
msgstr ""
@@ -542,8 +565,8 @@ msgstr ""
#: templates/web/base/admin/body.html:72
#: templates/web/base/admin/contact-form.html:19
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/report/_inspect.html:38
-#: templates/web/base/report/_item.html:90
+#: templates/web/base/report/_inspect.html:48
+#: templates/web/base/report/_item.html:92
#: templates/web/base/report/new/category.html:6
#: templates/web/base/report/new/category_wrapper.html:3
#: templates/web/zurich/admin/body.html:14
@@ -554,7 +577,7 @@ msgstr ""
msgid "Category"
msgstr "Kategori"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:852
+#: perllib/FixMyStreet/App/Controller/Admin.pm:956
msgid "Category changed from ‘%s’ to ‘%s’"
msgstr ""
@@ -594,27 +617,11 @@ msgstr ""
msgid "Change password"
msgstr "Åžifreyi deÄŸiÅŸtir"
-#: templates/web/base/admin/contact-form.html:41
-msgid ""
-"Check <strong>confirmed</strong> to indicate that this contact has been confirmed as correct.\n"
-" If you are not sure of the origin or validity of the contact, leave this unchecked."
-msgstr ""
-"Bu kişinin doğru olarak teyit edildiğini belirtmek için<strong>doğrulandı</strong> kontrol edin.\n"
-"Eğer kişinin kaynağından veya doğruluğundan emin değilseniz, onu kontrol edilmemiş olarak bırakın."
-
-#: templates/web/base/admin/contact-form.html:52
-msgid ""
-"Check <strong>deleted</strong> to remove the category from use. \n"
-" It will not appear as an available category in the drop-down menu on the report-a-problem page."
-msgstr ""
-" Kullanım kategorisinden kaldırmak için <strong>silindi</strong> kontrol edin.\n"
-"Problem bildirim sayfasındaki açılır menüden mevcut bir kategori olarak görünmez. "
-
-#: templates/web/base/admin/contact-form.html:79
+#: templates/web/base/admin/contact-form.html:80
msgid "Check <strong>inspection required</strong> if reports in this category <strong>must be inspected</strong> before being sent."
msgstr ""
-#: templates/web/base/admin/contact-form.html:63
+#: templates/web/base/admin/contact-form.html:64
msgid ""
"Check <strong>private</strong> if reports in this category should <strong>never be displayed on the website</strong>.\n"
" <br>\n"
@@ -639,11 +646,11 @@ msgstr ""
"Herkes tarafından kolay anlaşılabilecek bir <strong>kategori</strong> ismi seçin (ör: \"çukur\", \"sokak lambası\") aynı zamanda birime de\n"
"yardımcı olacak. Bunlar problem-bildir sayfasındaki açılan menüde görüntülenecektir."
-#: templates/web/base/report/_inspect.html:93
+#: templates/web/base/report/_inspect.html:103
msgid "Choose another"
msgstr ""
-#: templates/web/base/js/translation_strings.html:65
+#: templates/web/base/js/translation_strings.html:68
msgid "Clear offline data"
msgstr ""
@@ -668,21 +675,21 @@ msgstr ""
msgid "Click the link in our confirmation email to publish your update."
msgstr ""
-#: templates/web/base/auth/token.html:18
+#: templates/web/base/auth/token.html:23
msgid "Click the link in our confirmation email to sign in."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:189
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:960
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:17
-#: templates/web/base/admin/report_blocks.html:27
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:43
-#: templates/web/base/report/banner.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:18
+#: templates/web/base/auth/token.html:20
+msgid "Click the link in that email to sign in."
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:134
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:194
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:965
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:11
+#: templates/web/base/admin/states/index.html:103
+#: templates/web/base/admin/states/index.html:27
+#: templates/web/base/admin/states/index.html:33
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:10
#: templates/web/zurich/admin/header.html:16
@@ -690,23 +697,17 @@ msgstr ""
msgid "Closed"
msgstr "Kapalı"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:889
+#: perllib/FixMyStreet/DB/Result/Problem.pm:826
msgid "Closed by council"
msgstr "Kurul tarafından kapatıldı"
-#: templates/web/base/reports/_list-filters.html:13
-msgid "Closed reports"
-msgstr ""
-
-#: templates/web/base/admin/problem_row.html:38
-msgid "Closed:"
-msgstr "Kapalı:"
-
#: templates/web/base/admin/report_edit.html:37
msgid "Co-ordinates:"
msgstr "Koordinatlar:"
#: templates/web/base/admin/list_updates.html:10
+#: templates/web/base/admin/reportextrafields/edit.html:24
+#: templates/web/base/admin/reportextrafields/index.html:7
msgid "Cobrand"
msgstr "Cobrand "
@@ -720,10 +721,13 @@ msgstr "Cobrand data:"
msgid "Cobrand:"
msgstr "Cobrand:"
+#: templates/web/base/admin/extra-metadata-form.html:14
+msgid "Code"
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:50
-#, fuzzy
msgid "Collapse map"
-msgstr "kullanılan harita"
+msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:646
#: templates/web/base/admin/config_page.html:1
@@ -751,9 +755,8 @@ msgstr ""
msgid "Confirmation"
msgstr "Onay"
-#: templates/web/base/admin/body.html:85
-#: templates/web/base/admin/category_edit.html:54
-#: templates/web/base/admin/contact-form.html:47
+#: templates/web/base/admin/contact-form.html:56
+#: templates/web/zurich/admin/contact-form.html:12
#: templates/web/zurich/admin/stats.html:40
msgid "Confirmed"
msgstr "Onaylandı"
@@ -788,8 +791,8 @@ msgstr "Grupla bağlantı kur"
msgid "Coordinates:"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1668
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1696
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1773
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1801
msgid "Could not find user"
msgstr "Kullanıcı bulunamadı"
@@ -809,33 +812,28 @@ msgstr "Kurula ulaşmak için %s"
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:83
-#, fuzzy
msgid "Council has marked as closed"
-msgstr "kapandı olarak işaretle"
+msgstr ""
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:57
-#, fuzzy
msgid "Council has marked as fixed"
-msgstr "Onarıldı olarak işaretle"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:80
-#, fuzzy
msgid "Council has marked as in progress"
-msgstr "Devam etmekte olarak iÅŸaretle"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:82
-#, fuzzy
msgid "Council has marked as investigating"
-msgstr "araştırılıyor olarak işaretle"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:81
-#, fuzzy
msgid "Council has marked as planned"
-msgstr "Planlandı olarak işaretle"
+msgstr ""
#: templates/web/base/report/_council_sent_info.html:6
msgid "Council ref:&nbsp;%s"
@@ -852,24 +850,33 @@ msgstr "Kurul:"
msgid "Count"
msgstr "Sayma"
+#: templates/web/base/admin/states/index.html:114
+#, fuzzy
+msgid "Create"
+msgstr "OluÅŸturuldu"
+
#: templates/web/base/email_sent.html:1
msgid "Create a report"
msgstr "Bildiri oluÅŸtur"
-#: templates/web/base/admin/contact-form.html:137
+#: templates/web/base/admin/contact-form.html:138
#: templates/web/zurich/admin/body.html:62
msgid "Create category"
msgstr "Kategori oluÅŸtur"
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/responsepriorities/edit.html:58
msgid "Create priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:714
+#: perllib/FixMyStreet/Cobrand/Default.pm:718
+msgid "Create reports/updates as anonymous user"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:719
msgid "Create reports/updates as the council"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:713
+#: perllib/FixMyStreet/Cobrand/Default.pm:717
msgid "Create reports/updates on a user's behalf"
msgstr ""
@@ -899,13 +906,15 @@ msgstr "Güncel durum"
msgid "Currently no bodies have been created."
msgstr "Şu anda hiçbir organları oluşturulmamıştır."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:825
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:830
#: templates/web/zurich/admin/report_edit-sdm.html:105
msgid "Customer not contactable"
msgstr ""
#: templates/web/base/dashboard/index.html:5
#: templates/web/base/dashboard/index.html:7
+#: templates/web/base/reports/index.html:15
+#: templates/web/base/reports/index.html:18
msgid "Dashboard"
msgstr "Kontrol Paneli "
@@ -913,29 +922,36 @@ msgstr "Kontrol Paneli "
msgid "Dealt with by subdivision within 5 working days"
msgstr "Alt komisyon tarafından 5 iş günü içinde üstesinden gelinilecek"
-#: templates/web/base/report/_inspect.html:73
+#: templates/web/base/admin/responsepriorities/list.html:9
+msgid "Default"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:39
+msgid "Default priority"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:72
msgid "Defect type"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:973
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1078
#: templates/web/base/admin/template_edit.html:50
#: templates/web/zurich/admin/template_edit.html:33
msgid "Delete template"
msgstr ""
#: templates/web/base/admin/bodies.html:31
-#: templates/web/base/admin/body.html:87
-#: templates/web/base/admin/category_edit.html:55
#: templates/web/base/admin/contact-form.html:58
-#: templates/web/zurich/admin/contact-form.html:12
+#: templates/web/zurich/admin/contact-form.html:13
msgid "Deleted"
msgstr "Silindi"
-#: templates/web/base/report/_main.html:110
-#: templates/web/base/report/update.html:59
+#: templates/web/base/report/_main.html:114
+#: templates/web/base/report/update.html:68
msgid "Describe why you are moderating this"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:32
#: templates/web/base/admin/responsepriorities/list.html:7
#: templates/web/zurich/admin/index-dm.html:22
#: templates/web/zurich/admin/index-sdm.html:20
@@ -959,7 +975,7 @@ msgstr "Detaylar"
msgid "Details:"
msgstr "Detaylar:"
-#: templates/web/base/admin/body.html:93
+#: templates/web/base/admin/body.html:92
msgid "Devolved"
msgstr "Devredildi"
@@ -972,18 +988,17 @@ msgstr ""
msgid "Diligency prize league table"
msgstr "Özenle hazırlanmış işbirliği tablosu"
-#: templates/web/base/report/_main.html:114
-#: templates/web/base/report/update.html:61
-#, fuzzy
+#: templates/web/base/report/_main.html:118
+#: templates/web/base/report/update.html:70
msgid "Discard changes"
-msgstr "DeÄŸiÅŸiklikleri kaydet"
+msgstr ""
#: templates/web/base/admin/open311-form-fields.html:95
msgid "Do not send email alerts on fetched comments to problem creator"
msgstr ""
#. ("%s is the site name")
-#: templates/web/base/auth/general.html:58
+#: templates/web/base/auth/general.html:60
#: templates/web/base/report/new/form_user_loggedout.html:25
#: templates/web/base/report/new/oauth_email_form.html:18
#: templates/web/base/report/update-form.html:30
@@ -991,40 +1006,33 @@ msgstr ""
msgid "Do you have a %s password?"
msgstr ""
+#: templates/web/base/report/_inspect.html:87
+msgid "Do you want to automatically raise a defect?"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:57
msgid "Don&rsquo;t know"
msgstr "Don&rsquo;t know"
-#: templates/web/base/contact/index.html:108
+#: templates/web/base/contact/index.html:112
msgid "Don't like forms?"
msgstr "Åžekilleri beÄŸenmediniz mi?"
-#: templates/web/base/report/_item.html:25
+#: templates/web/base/report/_item.html:27
msgid "Down one"
msgstr ""
-#: templates/web/base/js/translation_strings.html:55
+#: templates/web/base/js/translation_strings.html:58
msgid "Drag and drop photos here or <u>click to upload</u>"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:10
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "Duplicate"
-msgstr "Çoğaltmak"
-
-#: templates/web/base/report/_inspect.html:88
-#, fuzzy
+#: templates/web/base/report/_inspect.html:98
msgid "Duplicate of"
-msgstr "Çoğaltmak"
+msgstr ""
-#: templates/web/base/report/_inspect.html:98
-#, fuzzy
+#: templates/web/base/report/_inspect.html:108
msgid "Duplicates"
-msgstr "Çoğaltmak"
+msgstr ""
#: templates/web/base/admin/body.html:116
msgid ""
@@ -1034,43 +1042,43 @@ msgid ""
" "
msgstr ""
-#: templates/web/base/report/_inspect.html:16
-#: templates/web/base/report/_item.html:81
+#: templates/web/base/report/_inspect.html:26
+#: templates/web/base/report/_item.html:83
msgid "Easting/Northing:"
msgstr ""
#: templates/web/base/admin/list_updates.html:42
#: templates/web/base/admin/problem_row.html:41
-#: templates/web/base/admin/responsepriorities/list.html:26
+#: templates/web/base/admin/responsepriorities/list.html:28
#: templates/web/base/admin/templates.html:22
#: templates/web/base/admin/users.html:34
#: templates/web/zurich/admin/problem_row.html:48
msgid "Edit"
msgstr "Ekle"
-#: templates/web/base/admin/body.html:140
+#: templates/web/base/admin/body.html:141
#: templates/web/base/admin/index.html:39
#: templates/web/zurich/admin/body.html:69
msgid "Edit body details"
msgstr "Bölümün detaylarını düzenle"
-#: perllib/FixMyStreet/Cobrand/Default.pm:724
+#: perllib/FixMyStreet/Cobrand/Default.pm:729
msgid "Edit other users' details"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:725
+#: perllib/FixMyStreet/Cobrand/Default.pm:730
msgid "Edit other users' permissions"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:708
+#: perllib/FixMyStreet/Cobrand/Default.pm:712
msgid "Edit report category"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:709
+#: perllib/FixMyStreet/Cobrand/Default.pm:713
msgid "Edit report priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:707
+#: perllib/FixMyStreet/Cobrand/Default.pm:711
msgid "Edit reports"
msgstr ""
@@ -1093,15 +1101,15 @@ msgstr "Güncellemeleri düzenleme %d"
msgid "Editing user %d"
msgstr "Eklenen kullanıcı %d"
-#: templates/web/base/admin/category_edit.html:56
+#: templates/web/base/admin/category_edit.html:30
msgid "Editor"
msgstr "Editör"
#: templates/web/base/admin/bodies.html:27
-#: templates/web/base/admin/category_edit.html:53
+#: templates/web/base/admin/category_edit.html:28
#: templates/web/base/admin/flagged.html:38
#: templates/web/base/admin/users.html:17
-#: templates/web/base/auth/general.html:49
+#: templates/web/base/auth/general.html:51
#: templates/web/zurich/admin/body-form.html:9
#: templates/web/zurich/admin/body.html:15
#: templates/web/zurich/auth/general.html:24
@@ -1109,13 +1117,14 @@ msgstr "Editör"
msgid "Email"
msgstr "E-posta"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1644
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1749
msgid "Email added to abuse list"
msgstr "E-posta kara listeye eklendi"
-#: templates/web/base/admin/contact-form.html:36
-#: templates/web/base/report/new/form_user_loggedin.html:28
-#: templates/web/base/report/update/form_name.html:19
+#: templates/web/base/admin/contact-form.html:38
+#: templates/web/base/alert/_list.html:74
+#: templates/web/base/report/new/form_user_loggedin.html:32
+#: templates/web/base/report/update/form_name.html:23
msgid "Email address"
msgstr ""
@@ -1127,11 +1136,11 @@ msgstr "E-posta uyarısı oluşturuldu"
msgid "Email alert deleted"
msgstr "E-posta uyarısı silindi"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1641
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1746
msgid "Email already in abuse list"
msgstr "E-posta kara listede"
-#: templates/web/base/admin/report_edit.html:141
+#: templates/web/base/admin/report_edit.html:129
#: templates/web/base/admin/update_edit.html:35
#: templates/web/base/admin/user-form.html:19
#: templates/web/zurich/admin/body.html:48
@@ -1156,8 +1165,8 @@ msgstr ""
"Daha fazla bilgi için bakınız\n"
" <a href='https://www.mysociety.org/2013/02/20/open311-extended/' class='admin-offsite-link'>this article</a>."
-#: templates/web/base/admin/body-form.html:120
-#: templates/web/base/admin/body-form.html:121
+#: templates/web/base/admin/body-form.html:122
+#: templates/web/base/admin/body-form.html:123
msgid ""
"Enable this <strong>can be devolved</strong> setting if one or more contacts have a \n"
" different endpoint (and send method) from the body's. For example, if reports for some categories of\n"
@@ -1172,11 +1181,11 @@ msgstr "BitiÅŸ Tarihi:"
msgid "Endpoint"
msgstr "Varılan nokta"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:76
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:81
msgid "Enter a Z&uuml;rich street name"
msgstr "Bir Z&uuml;rich sokak ismi giriniz"
-#: perllib/FixMyStreet/Cobrand/UK.pm:15
+#: perllib/FixMyStreet/Cobrand/UK.pm:16
msgid "Enter a nearby UK postcode, or street name and area"
msgstr "Yakınlardaki bir posta kodu, cadde veya bölge ismi giriniz"
@@ -1185,12 +1194,13 @@ msgstr "Yakınlardaki bir posta kodu, cadde veya bölge ismi giriniz"
msgid "Enter a nearby postcode, or street name and area"
msgstr "Yakınlardaki bir posta kodu, cadde veya bölge ismi giriniz"
+#: perllib/FixMyStreet/Cobrand/DansMonQwat.pm:14
#: templates/web/base/around/postcode_form.html:5
#: templates/web/base/around/postcode_form.html:6
msgid "Enter a nearby street name and area"
msgstr "Yakınlardaki bir cadde ve bölge ismi giriniz"
-#: templates/web/base/auth/general.html:116
+#: templates/web/base/auth/general.html:118
#: templates/web/base/report/new/form_user_loggedout_by_email.html:35
#: templates/web/base/report/update/form_user_loggedout_by_email.html:13
#: templates/web/zurich/auth/general.html:65
@@ -1210,8 +1220,8 @@ msgstr "Problem hakkında detaylı bilgi giriniz"
msgid "Error"
msgstr "Hata"
-#: templates/web/base/reports/_list-filters.html:20
-#: templates/web/base/reports/_list-filters.html:28
+#: templates/web/base/reports/_list-filters.html:31
+#: templates/web/base/reports/_list-filters.html:39
msgid "Everything"
msgstr ""
@@ -1224,8 +1234,7 @@ msgstr "Örnek postakodu "
msgid "Examples:"
msgstr "Örnekler:"
-#: templates/web/base/admin/report_edit.html:122
-#: templates/web/base/report/_inspect.html:42
+#: templates/web/base/admin/report-category.html:3
msgid "Existing category"
msgstr ""
@@ -1233,17 +1242,16 @@ msgstr ""
msgid "Expand map"
msgstr ""
-#: templates/web/base/report/new/form_report.html:52
+#: templates/web/base/report/new/form_report.html:54
msgid "Explain what’s wrong"
msgstr ""
-#: templates/web/base/dashboard/index.html:146
-#, fuzzy
+#: templates/web/base/dashboard/index.html:147
msgid "Export as CSV"
-msgstr "Tüm raporlar CSV olarak"
+msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:913
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:179
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:12
msgid "Extern"
@@ -1254,7 +1262,7 @@ msgstr ""
msgid "External ID"
msgstr ""
-#: templates/web/base/admin/body-form.html:87
+#: templates/web/base/admin/body-form.html:89
msgid "External URL"
msgstr "Harici URL "
@@ -1266,13 +1274,20 @@ msgstr ""
msgid "External team"
msgstr ""
-#: templates/web/base/admin/category_edit.html:25
+#: perllib/FixMyStreet/Cobrand/Default.pm:673
+#: templates/web/base/admin/reportextrafields/edit.html:1
+#: templates/web/base/admin/reportextrafields/index.html:1
+#, fuzzy
+msgid "Extra Fields"
+msgstr "İlave veriler:"
+
+#: templates/web/base/admin/contact-form.html:141
#: templates/web/base/admin/report_edit.html:94
msgid "Extra data:"
msgstr "İlave veriler:"
-#: templates/web/base/report/_inspect.html:134
-#: templates/web/base/report/_item.html:106
+#: templates/web/base/report/_inspect.html:144
+#: templates/web/base/report/_item.html:108
msgid "Extra details"
msgstr ""
@@ -1280,6 +1295,11 @@ msgstr ""
msgid "Failed to send message"
msgstr "Mesajınız iletilemedi"
+#: templates/web/base/admin/reportextrafields/edit.html:58
+#: templates/web/base/admin/reportextrafields/index.html:9
+msgid "Fields"
+msgstr ""
+
#: templates/web/zurich/admin/index-dm.html:33
#: templates/web/zurich/admin/index-sdm.html:30
msgid "Filter report list"
@@ -1293,52 +1313,32 @@ msgstr "İlk kez"
msgid "Fix this by choosing an <strong>area covered</strong> in the <em>Edit body details</em> form below."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:11
-#: templates/web/base/admin/report_blocks.html:26
+#: perllib/FixMyStreet/App/Controller/Admin/States.pm:35
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:133
+#: templates/web/base/admin/states/index.html:29
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:41
-#: templates/web/base/report/banner.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:17
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:45
msgid "Fixed"
msgstr "Sorun çözüldü"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:13
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:7
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:62
msgid "Fixed - Council"
msgstr "Sorun çözüldü- Kurul"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:12
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:63
msgid "Fixed - User"
msgstr "Sorun çözüldü- Kullanıcı"
-#: templates/web/base/reports/_list-filters.html:14
-msgid "Fixed reports"
-msgstr ""
-
-#: templates/web/base/admin/problem_row.html:37
-msgid "Fixed:"
-msgstr "Sorun çözüldü:"
-
-#: templates/web/base/admin/body-form.html:95
-#: templates/web/base/admin/responsepriorities/edit.html:41
+#: templates/web/base/admin/body-form.html:97
+#: templates/web/base/admin/responsepriorities/edit.html:53
#: templates/web/zurich/admin/body-form.html:36
msgid "Flag as deleted"
msgstr "Silindi olarak seçildi"
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/report_blocks.html:23
msgid "Flag user"
msgstr "Kullanıcıyı seç"
-#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: perllib/FixMyStreet/Cobrand/Default.pm:644
#: templates/web/base/admin/users.html:20
msgid "Flagged"
msgstr "Seçildi"
@@ -1355,7 +1355,7 @@ msgstr "Seçilen kullanıcılar <a href='%s'>etiketliler</a>sayfasında listelen
msgid "Flagged users are not restricted in any way. This is just a list of users that have been marked for attention."
msgstr "Seçilen kullanıcılar hiç bir şekilde kısıtlanmamıştır. Bu sadece dikkate alınmak üzere işaretlenen kullanıcıların listesidir."
-#: templates/web/base/admin/report_edit.html:147
+#: templates/web/base/admin/report_edit.html:135
#: templates/web/base/admin/user-form.html:100
msgid "Flagged:"
msgstr "Seçilenler:"
@@ -1368,21 +1368,25 @@ msgstr "Sadece o bölge içinde yer alan raporları görüntülemek için bölge
msgid "For best results include a close-up and a wide shot"
msgstr ""
-#: templates/web/base/admin/body-form.html:71
+#: templates/web/base/admin/extra-metadata-form.html:52
+msgid "For each option, <strong>Key</strong> is the value which is stored in the database for that option and <strong>Name</strong> is the value displayed to the user."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:73
msgid "For more information, see <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
msgstr "Daha fazla bilgi için, bakınız <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'> FixMyStreet'in Mapit'i nasıl kullandığını</a>."
-#: templates/web/base/auth/general.html:95
+#: templates/web/base/auth/general.html:97
#: templates/web/base/report/new/form_user_loggedout_password.html:20
#: templates/web/base/report/update/form_user_loggedout_password.html:19
msgid "Forgotten your password?"
msgstr "Åžifrenizi mi unuttunuz?"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:743
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:748
msgid "Forwarded to external body"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:744
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:749
msgid "Forwarded wish to external body"
msgstr ""
@@ -1392,6 +1396,10 @@ msgstr ""
msgid "Frequently Asked Questions"
msgstr "Sıkça Sorulan Sorular"
+#: templates/web/base/admin/stats.html:102
+msgid "Get Count"
+msgstr ""
+
#: templates/web/base/around/_updates.html:3
#: templates/web/base/report/display_tools.html:14
msgid "Get updates"
@@ -1407,10 +1415,14 @@ msgstr "%s Problemlerin güncellemelerini yap"
msgid "Get updates of problems in this %s"
msgstr " Bu %s'te problemlerin güncellemelerini yap"
-#: templates/web/base/alert/_list.html:83
+#: templates/web/base/alert/_list.html:85
msgid "Give me an RSS feed"
msgstr "Bana RSS hakkında geri dönüş yapın"
+#: templates/web/base/admin/reportextrafields/edit.html:6
+msgid "Give this collection of fields a name. It is not shown publicly, just here in the admin."
+msgstr ""
+
#: templates/web/base/questionnaire/completed.html:14
msgid "Glad to hear it’s been fixed!"
msgstr "Problemin çözüldüğünü duymak güzel"
@@ -1420,8 +1432,9 @@ msgstr "Problemin çözüldüğünü duymak güzel"
#: templates/web/base/admin/index.html:49
#: templates/web/base/alert/index.html:34
#: templates/web/base/around/postcode_form.html:13
-#: templates/web/base/reports/_list-filters.html:38
-#: templates/web/base/reports/_list-filters.html:53
+#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:64
+#: templates/web/base/reports/index.html:75
#: templates/web/zurich/admin/stats.html:26
msgid "Go"
msgstr "Git"
@@ -1430,7 +1443,7 @@ msgstr "Git"
msgid "Going to send questionnaire?"
msgstr "Anket gönderecek misiniz?"
-#: perllib/FixMyStreet/Cobrand/Default.pm:726
+#: perllib/FixMyStreet/Cobrand/Default.pm:731
msgid "Grant access to the admin"
msgstr ""
@@ -1438,10 +1451,6 @@ msgstr ""
msgid "Graph of problem creation by status over time"
msgstr "Zamanla oluşan problemlerin duruma göre grafikleri"
-#: templates/web/base/reports/index.html:15
-msgid "Greyed-out lines are councils that no longer exist."
-msgstr "Gri çizgiler artık var olmayan kurulları göstermektedir."
-
#: templates/web/base/questionnaire/index.html:48
msgid "Has this problem been fixed?"
msgstr "Bu sorun giderildi mi? "
@@ -1452,7 +1461,7 @@ msgstr "Daha önce bir problemi bir kurula bildirdiniz mi, yoksa bu ilk defa mı
#: templates/web/base/main_nav_items.html:40
#: templates/web/zurich/about/faq-de-ch.html:1
-#: templates/web/zurich/footer.html:23
+#: templates/web/zurich/footer.html:22
#: templates/web/zurich/nav_over_content.html:8
msgid "Help"
msgstr "Yardım"
@@ -1462,22 +1471,13 @@ msgstr "Yardım"
msgid "Help <strong>%s</strong> resolve your problem quicker, by providing some extra detail. This extra information will not be published online."
msgstr ""
-#: templates/web/base/alert/_list.html:9
-msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
-msgstr "&lsquo;%s&rsquo; için yerel sorun uyarı çeşitleri buradadır."
-
-#: templates/web/zurich/footer.html:12
+#: templates/web/zurich/footer.html:11
msgid "Hi %s"
msgstr "Merhaba %s"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:906
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:19
-#: templates/web/base/admin/report_blocks.html:28
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:911
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:60
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:19
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:11
#: templates/web/zurich/admin/stats.html:32
@@ -1485,16 +1485,33 @@ msgstr "Merhaba %s"
msgid "Hidden"
msgstr "Gizli"
-#: templates/web/base/report/_main.html:105
-#, fuzzy
+#: templates/web/base/report/_main.html:109
msgid "Hide entire report"
-msgstr "Bildiriyi tekrar gönder"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:1
+#: templates/web/base/my/anonymize.html:2
+msgid "Hide my name"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:21
+msgid "Hide my name everywhere"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:10
+msgid "Hide my name in this update"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:16
+msgid "Hide my name on this report"
+msgstr ""
#: templates/web/base/around/display_location.html:67
msgid "Hide old"
msgstr "Eskileri gizle"
#: templates/web/base/around/display_location.html:62
+#: templates/web/base/js/translation_strings.html:55
msgid "Hide pins"
msgstr "İğneler gizle"
@@ -1502,7 +1519,16 @@ msgstr "İğneler gizle"
msgid "Hide update completely?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:49
+#: templates/web/base/report/_report_meta_info.html:3
+#: templates/web/base/report/update.html:55
+msgid "Hide your name?"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:38
+msgid "Hint"
+msgstr ""
+
+#: templates/web/base/admin/category_edit.html:24
msgid "History"
msgstr "Tarihçe"
@@ -1519,12 +1545,12 @@ msgid "How to send successful reports"
msgstr "Başarılı bildirim nasıl gönderilir"
#: templates/web/base/tokens/confirm_problem.html:36
-#: templates/web/base/tokens/confirm_problem.html:40
+#: templates/web/base/tokens/confirm_problem.html:41
msgid "I just reported a problem on @fixmystreet"
msgstr "@fixmystreet'e bir problemi henüz bildirdim."
-#: templates/web/base/tokens/confirm_update.html:19
-#: templates/web/base/tokens/confirm_update.html:23
+#: templates/web/base/tokens/confirm_update.html:20
+#: templates/web/base/tokens/confirm_update.html:25
msgid "I just updated a problem on @fixmystreet"
msgstr "@fixmystreet'teki problemi yeni güncelledim"
@@ -1544,17 +1570,25 @@ msgstr "Maalesef veri tabanında sorunun yerini bulamadık.\n"
msgid "ID"
msgstr "Kimlik"
-#: templates/web/base/admin/body-form.html:30
-#: templates/web/base/admin/body-form.html:31
+#: templates/web/base/admin/body-form.html:32
+#: templates/web/base/admin/body-form.html:33
msgid ""
"Identify a <strong>parent</strong> if this body is itself part of another body.\n"
" For basic installations, you don't need to join bodies in this way."
msgstr ""
+#: templates/web/base/auth/token.html:19
+msgid "If there's a user associated with the address you entered, we've sent a confirmation email."
+msgstr ""
+
#: templates/web/base/admin/responsepriorities/edit.html:23
msgid "If this priority is passed to an external service (e.g. Exor/Confirm) enter the priority code to use with that service here."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:24
+msgid "If ticked the user won’t see an input field, just the ‘Description’ text."
+msgstr ""
+
#: templates/web/base/admin/contact-form.html:14
msgid ""
"If two or more bodies serve the same location, FixMyStreet combines identical categories into a single entry in\n"
@@ -1565,7 +1599,7 @@ msgstr ""
msgid "If you get some more information about the status of your problem, please come back to the site and leave an update."
msgstr "Sorununuzun durumu ile ilgili daha fazla bilgi almak istiyorsanız, lütfen ana sayfaya geri dönün ve bir güncelleme bırakın."
-#: templates/web/base/admin/responsepriorities/edit.html:33
+#: templates/web/base/admin/responsepriorities/edit.html:45
msgid "If you only want this priority to be an option for specific categories, pick them here. By default they will show for all categories."
msgstr ""
@@ -1588,7 +1622,7 @@ msgid ""
"(please note it will not be sent to the council)."
msgstr ""
-#: templates/web/base/admin/contact-form.html:30
+#: templates/web/base/admin/contact-form.html:32
msgid "If you're using <strong>a send method that is not email</strong>, enter the service ID (Open311) or equivalent identifier here."
msgstr ""
@@ -1615,7 +1649,7 @@ msgid ""
" when they are shown on the site. Enter the ID (number) of that user."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:133
+#: perllib/FixMyStreet/App/Controller/Contact.pm:134
msgid "Illegal ID"
msgstr "Kanunsuz kimlik "
@@ -1623,13 +1657,6 @@ msgstr "Kanunsuz kimlik "
msgid "Illegal feed selection"
msgstr "Yasadışı bildirim seçimi"
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "In Progress"
-msgstr "Devam Etmekte"
-
#: templates/web/base/admin/flagged.html:39
msgid "In abuse table?"
msgstr "Gereksiz bölümüne atılsın mı?"
@@ -1638,18 +1665,17 @@ msgstr "Gereksiz bölümüne atılsın mı?"
msgid "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:192
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:954
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:9
-#: templates/web/base/report/banner.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:5
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:197
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:959
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:8
msgid "In progress"
msgstr "Devam etmekte"
+#: templates/web/base/admin/contact-form.html:57
+msgid "Inactive"
+msgstr ""
+
#: templates/web/base/tokens/confirm_alert.html:11
msgid "Inbox zero, here we come!"
msgstr "Gelen kutusu boÅŸ "
@@ -1666,11 +1692,15 @@ msgstr "Onaylanmamış bildirimleri dahil et"
msgid "Incorrect has_photo value \"%s\""
msgstr "Hatalı sahip_fotoğraf değer \"%s\""
-#: templates/web/base/admin/contact-form.html:84
+#: templates/web/base/report/_inspect.html:5
+msgid "Inspect report"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:85
msgid "Inspection required"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:711
+#: perllib/FixMyStreet/Cobrand/Default.pm:715
msgid "Instruct contractors to fix problems"
msgstr ""
@@ -1678,13 +1708,6 @@ msgstr ""
msgid "Internal notes"
msgstr "İç notlar"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:11
-msgid "Internal referral"
-msgstr "İç yönlendirme"
-
#: templates/web/base/offline/appcache.html:3
msgid "Internet glitch"
msgstr ""
@@ -1693,7 +1716,7 @@ msgstr ""
msgid "Invalid agency_responsible value %s"
msgstr "Geçersiz ajans_sorumlu değer %s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1502
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1607
msgid "Invalid end date"
msgstr "Geçersiz bitiş tarihi"
@@ -1701,26 +1724,15 @@ msgstr "Geçersiz bitiş tarihi"
msgid "Invalid format %s specified."
msgstr "Geçersiz format %s belirlenmiş."
-#: perllib/FixMyStreet/App/Controller/Report.pm:398
+#: perllib/FixMyStreet/App/Controller/Report.pm:409
msgid "Invalid location. New location must be covered by the same council."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1498
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1603
msgid "Invalid start date"
msgstr "Geçersiz başlangıç tarihi"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:7
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:4
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Investigating"
-msgstr "İncelenmekte"
-
-#: templates/web/base/contact/blurb.html:8
+#: templates/web/base/contact/blurb.html:2
msgid "It's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there."
msgstr " FAQs'ı kontrol et</a> bu çözüme ulaşmak için <a href=\"%s\">en hızlı yoldur."
@@ -1728,37 +1740,59 @@ msgstr " FAQs'ı kontrol et</a> bu çözüme ulaÅŸmak için <a href=\"%s\">en hÄ
msgid "It’s on its way to the council right now."
msgstr "Kurula iletilmek üzere."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:177
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:182
msgid "Jurisdiction Unknown"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:15
msgid "Jurisdiction unknown"
msgstr ""
-#: templates/web/base/auth/general.html:91
+#: templates/web/base/auth/general.html:93
#: templates/web/base/report/new/form_user_loggedout_password.html:16
#: templates/web/base/report/update/form_user_loggedout_password.html:15
#: templates/web/zurich/auth/general.html:40
msgid "Keep me signed in on this computer"
msgstr "Bu bilgisayarda oturumu açık tut"
+#: templates/web/base/admin/extra-metadata-form.html:61
+msgid "Key"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:9
+#: templates/web/base/admin/states/index.html:95
+msgid "Label"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:6
+#: templates/web/base/admin/reportextrafields/edit.html:45
+msgid "Language"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/index.html:8
+msgid "Languages"
+msgstr ""
+
#: templates/web/base/dashboard/index.html:50
msgid "Last 4 weeks"
msgstr ""
#: templates/web/base/dashboard/index.html:49
-#, fuzzy
+#: templates/web/base/reports/index.html:38
msgid "Last 7 days"
-msgstr "Son güncelleme:"
+msgstr ""
#: templates/web/base/admin/body.html:74
#: templates/web/zurich/admin/body.html:16
msgid "Last editor"
msgstr "Son düzenleyen"
+#: templates/web/base/questionnaire/index.html:25
+msgid "Last update"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:89
msgid "Last update:"
msgstr "Son güncelleme:"
@@ -1767,23 +1801,27 @@ msgstr "Son güncelleme:"
msgid "Last&nbsp;update:"
msgstr "Son&nbsp;güncelleme:"
-#: templates/web/base/report/_inspect.html:20
-#: templates/web/base/report/_item.html:86
+#: templates/web/base/report/_inspect.html:30
+#: templates/web/base/report/_item.html:88
msgid "Latitude/Longitude:"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:50
+#: templates/web/base/reports/_list-filters.html:61
msgid "Least recently updated"
msgstr ""
-#: templates/web/base/admin/body-form.html:127
+#: templates/web/base/admin/body-form.html:129
msgid "Leave this blank if all reports to this body should be sent using the same send method (e.g., \"%s\")."
msgstr "Eğerbu birime bürün bildirimler aynı gönderme yöntemi ile yapılacak ise burayı boş bırakın (ör., \"%s\")."
-#: templates/web/base/dashboard/index.html:150
+#: templates/web/base/dashboard/index.html:151
msgid "Less than 7 days old"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:47
+msgid "List"
+msgstr ""
+
#: templates/web/base/admin/body.html:31
msgid "List all reported problems"
msgstr "Bildirilmiş problemleri güncelle"
@@ -1814,23 +1852,23 @@ msgstr "Yerel uyarılar"
msgid "Locate the problem on a map of the area"
msgstr "Problemin bulunduğu alandaki haritayı bul ve işaretle"
-#: templates/web/base/auth/general.html:22
+#: templates/web/base/auth/general.html:24
#: templates/web/base/report/new/form_user_loggedout.html:6
#: templates/web/base/report/update/form_user_loggedout.html:7
msgid "Log in with Facebook"
msgstr ""
-#: templates/web/base/auth/general.html:30
+#: templates/web/base/auth/general.html:32
#: templates/web/base/report/new/form_user_loggedout.html:14
#: templates/web/base/report/update/form_user_loggedout.html:15
msgid "Log in with Twitter"
msgstr ""
-#: templates/web/base/js/translation_strings.html:59
+#: templates/web/base/js/translation_strings.html:62
msgid "Log in with email"
msgstr ""
-#: templates/web/base/dashboard/index.html:145
+#: templates/web/base/dashboard/index.html:146
#: templates/web/base/dashboard/index.html:38
msgid "Look up"
msgstr ""
@@ -1839,11 +1877,11 @@ msgstr ""
msgid "MAP"
msgstr "HARİTA"
-#: perllib/FixMyStreet/Cobrand/Default.pm:712
+#: perllib/FixMyStreet/Cobrand/Default.pm:716
msgid "Manage shortlist"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:45
+#: templates/web/base/reports/_list-filters.html:56
msgid "Manual order"
msgstr ""
@@ -1859,19 +1897,11 @@ msgstr "Gönderildi olarak işaretle"
msgid "Mark users whose behaviour you want to keep a check on as <strong>flagged</strong>."
msgstr ""
-#: templates/web/base/reports/index.html:27
-msgid "Marked fixed/closed in the past eight weeks"
-msgstr "8 hafta önce halledilmiş/kapatılmış olarak işaretlendi"
-
-#: templates/web/base/reports/index.html:28
-msgid "Marked fixed/closed more than eight weeks ago"
-msgstr "8 haftadan daha uzun bir süre önce halledilmiş/kapatılmış olarak işaretlendi"
-
-#: perllib/FixMyStreet/Cobrand/Default.pm:710
+#: perllib/FixMyStreet/Cobrand/Default.pm:714
msgid "Markup problem details"
msgstr ""
-#: templates/web/base/contact/index.html:96
+#: templates/web/base/contact/index.html:100
msgid "Message"
msgstr "İleti"
@@ -1891,68 +1921,69 @@ msgstr ""
msgid "Missing jurisdiction_id"
msgstr "Eksik yetki_id"
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:706
+#: perllib/FixMyStreet/Cobrand/Default.pm:710
msgid "Moderate report details"
msgstr ""
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate this report"
msgstr ""
#: templates/web/base/report/update.html:12
-#, fuzzy
msgid "Moderate this update"
-msgstr "%s tarafından %s de bildirilmiştir"
+msgstr ""
-#: templates/web/base/report/_main.html:69
-#: templates/web/base/report/update.html:49
-#, fuzzy
+#: templates/web/base/report/_main.html:73
+#: templates/web/base/report/update.html:58
msgid "Moderated by %s at %s"
-msgstr "%s tarafından %s de bildirilmiştir"
+msgstr ""
#: templates/web/zurich/admin/stats.html:34
msgid "Moderated by division within one working day"
msgstr "Bir iş gününe bölünmüş bir şekilde yönetilmiştir"
-#: templates/web/base/report/_main.html:109
-#: templates/web/base/report/update.html:57
-#, fuzzy
+#: templates/web/base/report/_main.html:113
+#: templates/web/base/report/update.html:66
msgid "Moderation reason:"
-msgstr "diğer bölgeler:"
+msgstr ""
#: templates/web/base/admin/stats.html:11
msgid "Month"
msgstr "Ay"
-#: templates/web/base/reports/_list-filters.html:51
+#: templates/web/base/reports/_list-filters.html:62
msgid "Most commented"
msgstr ""
#: templates/web/base/admin/bodies.html:25
#: templates/web/base/admin/body-form.html:24
+#: templates/web/base/admin/extra-metadata-form.html:65
#: templates/web/base/admin/flagged.html:16
#: templates/web/base/admin/flagged.html:37
#: templates/web/base/admin/index.html:62
#: templates/web/base/admin/list_updates.html:7
+#: templates/web/base/admin/reportextrafields/edit.html:11
+#: templates/web/base/admin/reportextrafields/index.html:6
#: templates/web/base/admin/reports.html:14
#: templates/web/base/admin/responsepriorities/list.html:6
+#: templates/web/base/admin/states/index.html:108
+#: templates/web/base/admin/states/index.html:11
#: templates/web/base/admin/users.html:16
-#: templates/web/base/auth/general.html:106
-#: templates/web/base/report/new/form_user_loggedin.html:40
+#: templates/web/base/auth/general.html:108
+#: templates/web/base/report/new/form_user_loggedin.html:42
#: templates/web/base/report/new/form_user_loggedout_by_email.html:7
-#: templates/web/base/report/update/form_name.html:23
-#: templates/web/base/reports/index.html:23
+#: templates/web/base/report/update/form_name.html:27
#: templates/web/zurich/admin/body-form.html:4
#: templates/web/zurich/auth/general.html:60
#: templates/web/zurich/report/new/fill_in_details_form.html:59
msgid "Name"
msgstr "İsim"
-#: templates/web/base/admin/report_edit.html:139
+#: templates/web/base/admin/report_edit.html:127
#: templates/web/base/admin/responsepriorities/edit.html:13
#: templates/web/base/admin/update_edit.html:34
#: templates/web/base/admin/user-form.html:16
@@ -1964,7 +1995,7 @@ msgstr "İsim:"
msgid "Name: %s"
msgstr "İsim: %s"
-#: templates/web/base/report/_inspect.html:28
+#: templates/web/base/report/_inspect.html:38
msgid "Navigate to this problem"
msgstr ""
@@ -1973,34 +2004,38 @@ msgstr ""
msgid "Nearest named road to the pin placed on the map (automatically generated using OpenStreetMap): %s%s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:129
+#: perllib/FixMyStreet/Cobrand/UK.pm:134
msgid "Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:527
-#: perllib/FixMyStreet/Cobrand/Default.pm:567
+#: perllib/FixMyStreet/Cobrand/Default.pm:538
+#: perllib/FixMyStreet/Cobrand/Default.pm:566
msgid "Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"
msgstr ""
-#: perllib/FixMyStreet/Script/Alerts.pm:319
+#: perllib/FixMyStreet/Script/Alerts.pm:316
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s\n"
"\n"
msgstr ""
-#: templates/web/base/auth/token.html:17 templates/web/base/email_sent.html:5
+#: templates/web/base/auth/token.html:18
+msgid "Nearly done!"
+msgstr ""
+
+#: templates/web/base/auth/token.html:22 templates/web/base/email_sent.html:5
msgid "Nearly done! Now check your email&hellip;"
msgstr ""
-#: templates/web/base/reports/index.html:24
-msgid "New <br>problems"
-msgstr "Yeni <br>sorunlar"
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:131
+msgid "New"
+msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:259
+#: perllib/FixMyStreet/App/Controller/Admin.pm:262
msgid "New body added"
msgstr "Yeni bölüm eklendi"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:405
+#: perllib/FixMyStreet/App/Controller/Admin.pm:386
msgid "New category contact added"
msgstr "Yeni kategori bilgisi eklendi"
@@ -2026,7 +2061,7 @@ msgid "New password:"
msgstr ""
#: templates/web/base/admin/responsepriorities/edit.html:4
-#: templates/web/base/admin/responsepriorities/list.html:32
+#: templates/web/base/admin/responsepriorities/list.html:34
msgid "New priority"
msgstr ""
@@ -2055,6 +2090,7 @@ msgid "New reports"
msgstr "Yeni bildiriler"
#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/states/index.html:91
msgid "New state"
msgstr "Yeni durum"
@@ -2064,7 +2100,7 @@ msgstr "Yeni durum"
msgid "New template"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:47
+#: templates/web/base/reports/_list-filters.html:58
msgid "Newest"
msgstr ""
@@ -2072,20 +2108,19 @@ msgstr ""
msgid "Next"
msgstr "Sonraki"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1203
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
+#: perllib/FixMyStreet/Cobrand/Default.pm:1237
#: templates/web/base/admin/category_edit.html:4
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:137
+#: templates/web/base/admin/report_edit.html:125
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:26
#: templates/web/base/questionnaire/creator_fixed.html:16
#: templates/web/base/questionnaire/index.html:106
#: templates/web/base/questionnaire/index.html:55
+#: templates/web/base/report/_inspect.html:92
msgid "No"
msgstr "Hayır"
@@ -2101,7 +2136,7 @@ msgstr "Birim yok"
msgid "No council"
msgstr "Kurul yok"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:445
+#: perllib/FixMyStreet/DB/Result/Problem.pm:372
msgid "No council selected"
msgstr "Seçilmiş kurul yok"
@@ -2117,25 +2152,16 @@ msgstr "İşaretlenen problemler bulunamadı."
msgid "No flagged users found."
msgstr "İşaretlenen kullanıcılar bulunamadı."
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:14
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:8
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "No further action"
-msgstr "Onarımı mümkün değil"
-
#: templates/web/zurich/admin/report_edit-sdm.html:125
#: templates/web/zurich/admin/report_edit.html:259
msgid "No further updates"
msgstr "Güncelleme yok"
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:84
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:68
msgid "No inspections by that inspector in the selected date range."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:86
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:70
msgid "No inspections in the selected date range."
msgstr ""
@@ -2143,8 +2169,8 @@ msgstr ""
msgid "No result returned"
msgstr "Herhangi bir geri dönüş olmamıştır"
-#: templates/web/base/admin/body-form.html:66
-#: templates/web/base/admin/body-form.html:67
+#: templates/web/base/admin/body-form.html:68
+#: templates/web/base/admin/body-form.html:69
msgid ""
"No specific areas are currently available, because the <code>MAPIT_URL</code> in\n"
" your config file is not pointing to a live MapIt service."
@@ -2177,17 +2203,8 @@ msgid ""
" activity across their body), the ability to hide reports or set special report statuses."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:9
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "Not Responsible"
-msgstr "Sorumlu deÄŸildir"
-
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:181
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:186
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:933
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:13
msgid "Not contactable"
@@ -2206,7 +2223,7 @@ msgid "Not reported to council"
msgstr "Kurula bildirilmemiÅŸ"
#: templates/web/base/admin/body.html:75
-#: templates/web/base/admin/category_edit.html:57
+#: templates/web/base/admin/category_edit.html:31
#: templates/web/zurich/admin/body.html:17
msgid "Note"
msgstr "Not"
@@ -2216,7 +2233,7 @@ msgid "Note that when including unconfirmed reports we use the date the report w
msgstr ""
#: templates/web/zurich/admin/body.html:55
-#: templates/web/zurich/admin/contact-form.html:17
+#: templates/web/zurich/admin/contact-form.html:19
msgid "Note:"
msgstr "Not:"
@@ -2228,6 +2245,10 @@ msgstr "Not:<strong>%s</strong>"
msgid "Notes from SDM to DM"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:26
+msgid "Notice"
+msgstr ""
+
#: templates/web/base/report/new/oauth_email_form.html:17
msgid "Now to submit your report&hellip;"
msgstr "Åžimdi bildirimini&hellip kaydet;"
@@ -2238,63 +2259,43 @@ msgstr "Åžimdi bildirimini&hellip kaydet;"
msgid "Now to submit your update&hellip;"
msgstr ""
+#: templates/web/base/reports/index.html:98
+msgid "Number of problems reported in each category, in the last 7 days."
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:43
msgid "OK"
msgstr "Tamam"
-#: templates/web/base/js/translation_strings.html:67
+#: templates/web/base/js/translation_strings.html:70
msgid "Offline data cleared"
msgstr ""
-#: templates/web/base/js/translation_strings.html:64
+#: templates/web/base/js/translation_strings.html:67
msgid "Offline update data saved"
msgstr ""
-#: templates/web/base/reports/index.html:26
-msgid "Old / unknown <br>problems"
-msgstr "Eski/ bilinmeyen <br>problemler"
-
#: templates/web/base/admin/questionnaire.html:24
msgid "Old state"
msgstr "Eski durum"
-#: templates/web/base/reports/index.html:28
-msgid "Older <br>fixed"
-msgstr "Geçmişte <br>onarılmış"
-
-#: templates/web/base/reports/index.html:25
-msgid "Older <br>problems"
-msgstr "Eski <br>sorunlar"
-
-#: templates/web/base/reports/_list-filters.html:48
+#: templates/web/base/reports/_list-filters.html:59
msgid "Oldest"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:900
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:25
-#: templates/web/base/admin/report_blocks.html:6
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:905
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:10
+#: templates/web/base/admin/states/index.html:102
+#: templates/web/base/admin/states/index.html:25
+#: templates/web/base/admin/states/index.html:32
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:3
-#: templates/web/base/report/update/form_update.html:41
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:7
#: templates/web/zurich/admin/update_edit.html:18
msgid "Open"
msgstr "Aç"
-#: templates/web/base/reports/index.html:25
-msgid "Open for more than four weeks, with an update within the past eight weeks"
-msgstr "Geçmişte 8 haftanın güncellemesi dahil olmak üzere ek olarak 4 hafta daha ulaşılabilir"
-
-#: templates/web/base/reports/index.html:26
-msgid "Open, but not had any update in eight weeks"
-msgstr "Açık, fakat son 8 hafta içinde herhangi bir güncelleme yapılmamıştır"
-
#: templates/web/base/admin/open311-form-fields.html:47
msgid "Open311 API Key"
msgstr ""
@@ -2315,26 +2316,38 @@ msgstr "Open311 giriş sayfası"
msgid "Open311 specification"
msgstr "Open311 özellikleri"
-#: templates/web/base/alert/_list.html:61
-msgid "Or problems reported to:"
-msgstr "Veya 'e bildirilen sorunlar:"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "Options"
+msgstr ""
+
+#: templates/web/base/alert/_list.html:84
+msgid "Or subscribe by RSS"
+msgstr ""
-#: templates/web/base/alert/_list.html:37
-msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
+#: templates/web/base/admin/extra-metadata-form.html:8
+msgid "Order"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:1061
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:659
-#: perllib/FixMyStreet/DB/Result/Problem.pm:642
-#: perllib/FixMyStreet/DB/Result/Problem.pm:649
-#: perllib/FixMyStreet/DB/Result/Problem.pm:664
-#: perllib/FixMyStreet/DB/Result/Problem.pm:673
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1107
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:675
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:676
+#: perllib/FixMyStreet/DB/Result/Problem.pm:579
+#: perllib/FixMyStreet/DB/Result/Problem.pm:586
+#: perllib/FixMyStreet/DB/Result/Problem.pm:601
+#: perllib/FixMyStreet/DB/Result/Problem.pm:610
#: perllib/FixMyStreet/Script/Reports.pm:183
#: perllib/FixMyStreet/Script/Reports.pm:198
msgid "Other"
msgstr "DiÄŸer"
+#: templates/web/base/reports/index.html:107
+msgid "Other categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:92
+msgid "Overall average"
+msgstr ""
+
#: templates/web/base/admin/list_updates.html:8
msgid "Owner"
msgstr "Sahibi"
@@ -2344,17 +2357,16 @@ msgstr "Sahibi"
msgid "Page Not Found"
msgstr "Sayfa bulunamadı"
-#: templates/web/base/admin/body-form.html:37
+#: templates/web/base/admin/body-form.html:39
#: templates/web/zurich/admin/body-form.html:14
msgid "Parent"
msgstr "Ebeveyn"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:20
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:61
msgid "Partial"
msgstr "Kısmi"
-#: templates/web/base/auth/general.html:109
+#: templates/web/base/auth/general.html:111
#: templates/web/base/report/new/form_user_loggedout_by_email.html:28
#: templates/web/base/report/update/form_user_loggedout_by_email.html:6
#: templates/web/zurich/auth/general.html:32
@@ -2362,7 +2374,7 @@ msgstr "Kısmi"
msgid "Password (optional)"
msgstr "Şifre (isteğe bağlı)"
-#: templates/web/base/auth/general.html:82
+#: templates/web/base/auth/general.html:84
msgid "Password:"
msgstr "Åžifre:"
@@ -2374,17 +2386,21 @@ msgstr "Permalink"
msgid "Permissions:"
msgstr ""
+#: templates/web/base/report/_inspect.html:19
+msgid "Phone Reporter:"
+msgstr ""
+
#: templates/web/zurich/report/new/fill_in_details_form.html:65
msgid "Phone number"
msgstr "Telefon numarası"
-#: templates/web/base/report/new/form_user_loggedin.html:57
+#: templates/web/base/report/new/form_user_loggedin.html:59
#: templates/web/base/report/new/form_user_loggedout_by_email.html:25
msgid "Phone number (optional)"
msgstr "Telefon numarası (isteğe bağlı)"
#: perllib/FixMyStreet/Script/Reports.pm:87
-#: templates/web/base/admin/report_edit.html:146
+#: templates/web/base/admin/report_edit.html:134
#: templates/web/base/admin/user-form.html:21
#: templates/web/zurich/admin/stats.html:39
msgid "Phone:"
@@ -2393,9 +2409,9 @@ msgstr "Telefon:"
#: templates/web/base/questionnaire/index.html:78
#: templates/web/base/questionnaire/index.html:93
#: templates/web/base/questionnaire/index.html:95
-#: templates/web/base/report/new/form_report.html:28
-#: templates/web/base/report/new/form_report.html:43
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/new/form_report.html:45
+#: templates/web/base/report/new/form_report.html:47
#: templates/web/base/report/update/form_update.html:22
#: templates/web/base/report/update/form_update.html:24
#: templates/web/base/report/update/form_update.html:7
@@ -2413,12 +2429,12 @@ msgstr "FotoÄŸraf"
msgid "Photo is required."
msgstr ""
-#: templates/web/zurich/admin/contact-form.html:14
+#: templates/web/zurich/admin/contact-form.html:16
msgid "Photo required"
msgstr ""
#: templates/web/base/questionnaire/index.html:78
-#: templates/web/base/report/new/form_report.html:28
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/update/form_update.html:7
#: templates/web/zurich/report/new/fill_in_details_form.html:20
msgid "Photos"
@@ -2428,17 +2444,18 @@ msgstr ""
msgid "Photos of recent nearby reports"
msgstr "Son zamanlarda bildirilen çevredeki fotoğraflar "
+#: templates/web/base/reports/index.html:63
+#: templates/web/base/reports/index.html:66
+msgid "Pick your council"
+msgstr ""
+
#: templates/web/base/around/display_location.html:76
#: templates/web/base/js/translation_strings.html:30
msgid "Place pin on map"
msgstr "Harita üzerine işaretleyin"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:940
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:946
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:8
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:945
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:951
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:9
#: templates/web/zurich/admin/index-dm.html:9
@@ -2456,31 +2473,27 @@ msgstr "Åžifreyi kontrol ediniz ve tekrar deneyiniz"
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:18
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:43
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:45
#: templates/web/zurich/auth/general.html:3
#: templates/web/zurich/auth/general.html:9
msgid "Please check your email address is correct"
msgstr "E-posta adresinizin doÄŸruluÄŸunu kontrol ediniz"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:350
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:844
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:867
-#: perllib/FixMyStreet/DB/Result/Problem.pm:456
+#: perllib/FixMyStreet/App/Controller/Admin.pm:329
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:873
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:896
+#: perllib/FixMyStreet/DB/Result/Problem.pm:383
#: templates/web/base/js/translation_strings.html:9
msgid "Please choose a category"
msgstr "Kategori seçiniz"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:462
-msgid "Please choose a property type"
-msgstr "Bir özellik seçin"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:396
+#: perllib/FixMyStreet/App/Controller/Admin.pm:377
#: templates/web/base/admin/bodies.html:4 templates/web/base/admin/body.html:11
msgid "Please correct the errors below"
msgstr "Lütfen aşağıdaki hataları düzeltiniz"
-#: templates/web/base/contact/blurb.html:12
+#: templates/web/base/contact/blurb.html:6
msgid ""
"Please do <strong>not</strong> report problems through this form; messages go to\n"
"the team behind this site, not a council. To report a problem,\n"
@@ -2491,18 +2504,18 @@ msgstr ""
msgid "Please do not be abusive&nbsp;&mdash; abusing your council devalues the service for all users."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:351
-#: perllib/FixMyStreet/DB/Result/Comment.pm:127
+#: perllib/FixMyStreet/App/Controller/Admin.pm:330
+#: perllib/FixMyStreet/DB/Result/Comment.pm:128
#: templates/web/base/js/translation_strings.html:2
msgid "Please enter a message"
msgstr "Mesaj giriniz"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1200
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1364
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1305
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1469
msgid "Please enter a name"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:478
+#: perllib/FixMyStreet/App/Controller/Admin.pm:497
msgid "Please enter a name for this body"
msgstr ""
@@ -2512,15 +2525,15 @@ msgstr ""
msgid "Please enter a password"
msgstr "Åžifre giriniz"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:114
-#: perllib/FixMyStreet/DB/Result/Problem.pm:439
+#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/DB/Result/Problem.pm:366
#: templates/web/base/js/translation_strings.html:3
msgid "Please enter a subject"
msgstr "Konu giriniz"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1197
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1361
-#: perllib/FixMyStreet/App/Controller/Admin.pm:363
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1302
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1466
+#: perllib/FixMyStreet/App/Controller/Admin.pm:343
#: perllib/FixMyStreet/DB/Result/User.pm:164
#: templates/web/base/js/translation_strings.html:12
#: templates/web/base/js/translation_strings.html:16
@@ -2528,21 +2541,21 @@ msgid "Please enter a valid email"
msgstr "Geçerli e-posta giriniz"
#: perllib/FixMyStreet/App/Controller/Alert.pm:350
-#: perllib/FixMyStreet/App/Controller/Contact.pm:124
+#: perllib/FixMyStreet/App/Controller/Contact.pm:125
msgid "Please enter a valid email address"
msgstr "Geçerli e-posta adresi giriniz"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:442
+#: perllib/FixMyStreet/DB/Result/Problem.pm:369
#: templates/web/base/js/translation_strings.html:4
msgid "Please enter some details"
msgstr "Lütfen bir kaç ayrıntı giriniz"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/App/Controller/Contact.pm:114
#: perllib/FixMyStreet/DB/Result/User.pm:161
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:17
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:42
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:44
#: templates/web/base/js/translation_strings.html:11
#: templates/web/base/js/translation_strings.html:15
#: templates/web/zurich/auth/general.html:3
@@ -2559,14 +2572,14 @@ msgstr "Lütfen mail adresinizi giriniz"
msgid "Please enter your first name"
msgstr "Ad giriniz"
-#: perllib/FixMyStreet/Cobrand/UK.pm:320
+#: perllib/FixMyStreet/Cobrand/UK.pm:326
#: templates/web/base/js/translation_strings.html:7
msgid "Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below"
msgstr "Lütfen adınızı ve soyadınızı giriniz, kurullar için gereklidir – eğer isminizin sitede kullanılmasını istemiyorsanız, aşağıda bulunan kutucuktan tiki kaldırınız."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:112
-#: perllib/FixMyStreet/DB/Result/Comment.pm:124
-#: perllib/FixMyStreet/DB/Result/Problem.pm:450
+#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/DB/Result/Comment.pm:125
+#: perllib/FixMyStreet/DB/Result/Problem.pm:377
#: perllib/FixMyStreet/DB/Result/User.pm:157
#: templates/web/base/js/translation_strings.html:6
msgid "Please enter your name"
@@ -2629,7 +2642,7 @@ msgstr ""
msgid "Please note:"
msgstr "Lütfen dikkat:"
-#: perllib/FixMyStreet/App/Controller/Report.pm:358
+#: perllib/FixMyStreet/App/Controller/Report.pm:353
msgid "Please provide a public update for this report."
msgstr ""
@@ -2665,11 +2678,11 @@ msgstr "Problemin giderilmiş veya giderilmemiş olması durumunu bildiriniz lü
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:122
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:156
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:158
-#: templates/web/base/js/translation_strings.html:57
+#: templates/web/base/js/translation_strings.html:60
msgid "Please upload an image only"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/App/Controller/Contact.pm:116
msgid "Please write a message"
msgstr "Mesaj gönderin"
@@ -2677,30 +2690,29 @@ msgstr "Mesaj gönderin"
msgid "Please write your update here"
msgstr "Güncellemeleri buraya yazınız"
-#: templates/web/base/contact/index.html:103
#: templates/web/base/report/update-form.html:25
#: templates/web/base/report/update/form_user_loggedout_by_email.html:14
#: templates/web/base/report/update/form_user_loggedout_password.html:10
msgid "Post"
msgstr "PaylaÅŸ"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:242
+#: perllib/FixMyStreet/DB/Result/Comment.pm:231
msgid "Posted anonymously at %s"
msgstr "%s Anonim olarak gönderildi"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:257
+#: perllib/FixMyStreet/DB/Result/Comment.pm:255
msgid "Posted by %s at %s"
msgstr "Tarafından paylaşıldı %s saat %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:252
+#: perllib/FixMyStreet/DB/Result/Comment.pm:243
msgid "Posted by <strong>%s</strong> (%s) at %s"
msgstr "<strong>%s</strong> (%s) tarafından %s 'te paylaşılmıştır"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:254
+#: perllib/FixMyStreet/DB/Result/Comment.pm:245
msgid "Posted by <strong>%s</strong> at %s"
msgstr "<strong>%s</strong> tarafından %s 'te paylaşılmıştır"
-#: templates/web/base/front/footer-marketing.html:12
+#: templates/web/base/front/footer-marketing.html:6
msgid "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
msgstr ""
@@ -2712,8 +2724,8 @@ msgstr "Önceki"
msgid "Priorities"
msgstr ""
-#: templates/web/base/report/_inspect.html:113
-#: templates/web/base/report/_item.html:98
+#: templates/web/base/report/_inspect.html:123
+#: templates/web/base/report/_item.html:100
msgid "Priority"
msgstr ""
@@ -2727,16 +2739,15 @@ msgstr "Gizlilik"
msgid "Privacy and cookies"
msgstr ""
-#: templates/web/base/admin/body.html:91
-#: templates/web/base/admin/contact-form.html:74
-#: templates/web/base/admin/report_edit.html:149
+#: templates/web/base/admin/body.html:88
+#: templates/web/base/admin/contact-form.html:75
+#: templates/web/base/admin/report_edit.html:137
msgid "Private"
msgstr "Özel"
#: templates/web/base/report/new/form_user.html:1
-#, fuzzy
msgid "Private details"
-msgstr "Özel"
+msgstr ""
#: templates/web/base/maps/pin.html:13
msgid "Problem"
@@ -2760,7 +2771,7 @@ msgstr "Problem %s kurula gönderildi %s"
msgid "Problem breakdown by state"
msgstr "Sorun devlet tarafından meydana gelmiştir"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1167
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1272
msgid "Problem marked as open."
msgstr "Problem çözülmemiş olarak işaretlenmiştir."
@@ -2768,11 +2779,16 @@ msgstr "Problem çözülmemiş olarak işaretlenmiştir."
msgid "Problem state change based on survey results"
msgstr "Araştırma sonucu göz önünde bulundurularak problemin durumundaki değişim"
-#: perllib/FixMyStreet/Cobrand/Default.pm:705
+#: perllib/FixMyStreet/Cobrand/Default.pm:709
#: templates/web/base/admin/flagged.html:10
msgid "Problems"
msgstr "Sorunlar"
+#: templates/web/base/alert/_list.html:22
+#, fuzzy
+msgid "Problems in an area"
+msgstr "%s semtindeki sorunlar"
+
#: templates/web/base/report/display_tools.html:22
msgid "Problems nearby"
msgstr "Çevredeki problemler"
@@ -2785,30 +2801,33 @@ msgstr "Haritadaki problemler"
msgid "Problems recently reported fixed on FixMyStreet"
msgstr "FixMyStreet'te kısa bir süre önce onarıldı olarak bildirilen problemler"
-#: templates/web/base/alert/_list.html:22
-msgid "Problems within %.1fkm of this location"
+#: templates/web/base/alert/_list.html:29
+#, fuzzy
+msgid "Problems within %.1fkm of %s"
msgstr "Konumun %.1fkm içerisinde yer alan sorunlar"
-#: perllib/FixMyStreet/Cobrand/Default.pm:833
+#: perllib/FixMyStreet/Cobrand/Default.pm:838
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:137
-#: perllib/FixMyStreet/Cobrand/UK.pm:209
+#: perllib/FixMyStreet/Cobrand/UK.pm:215 perllib/FixMyStreet/Cobrand/UK.pm:257
+#: perllib/FixMyStreet/Cobrand/UK.pm:269
msgid "Problems within %s"
msgstr "%s deki problemler"
-#: perllib/FixMyStreet/Cobrand/UK.pm:223
+#: perllib/FixMyStreet/Cobrand/UK.pm:229
msgid "Problems within %s ward"
msgstr "%s semtindeki sorunlar"
+#: perllib/FixMyStreet/Cobrand/UK.pm:263 perllib/FixMyStreet/Cobrand/UK.pm:275
+#, fuzzy
+msgid "Problems within %s ward, %s"
+msgstr "%s semtindeki sorunlar"
+
#. ("First %s is the body name, second %s the site name")
#: templates/web/base/reports/body.html:0
#: templates/web/base/reports/body.html:25
msgid "Problems within %s, %s"
msgstr ""
-#: templates/web/base/alert/_list.html:43
-msgid "Problems within the boundary of:"
-msgstr "İlgilenilen kısım içinde yer alan sorunlar:"
-
#: templates/web/base/admin/report_edit.html:74
msgid "Property address:"
msgstr "Emlak adresi:"
@@ -2818,11 +2837,11 @@ msgstr "Emlak adresi:"
msgid "Provide an update"
msgstr "Güncellemeye izin ver"
-#: templates/web/base/report/update/form_name.html:9
+#: templates/web/base/report/update/form_name.html:10
msgid "Provide update as"
msgstr ""
-#: templates/web/base/auth/general.html:112
+#: templates/web/base/auth/general.html:114
msgid "Providing a name and password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
msgstr "İsim ve şifre edinmek isteğe bağlıdır, fakat şifre almış olmanız durumunda sorunları bildirmek, güncellemeleri yapmak ve bildirimleri yönetmek daha kolay olacaktır."
@@ -2832,16 +2851,15 @@ msgid "Providing a password is optional, but doing so will allow you to more eas
msgstr "Şifre sağlamak isteğe bağlıdır, fakat şifre almış olmanız durumunda sorunları bildirmek, güncellemeleri yapmak ve bildirimleri yönetmek daha kolay olacaktır."
#: templates/web/base/report/new/form_report.html:10
-#, fuzzy
msgid "Public details"
-msgstr "Toplumsal geri bildirim:"
+msgstr ""
#: templates/web/zurich/admin/report_edit.html:241
#: templates/web/zurich/admin/report_edit.html:268
msgid "Public response:"
msgstr "Toplumsal geri bildirim:"
-#: templates/web/base/report/_inspect.html:152
+#: templates/web/base/report/_inspect.html:162
msgid "Public update:"
msgstr ""
@@ -2869,7 +2887,7 @@ msgstr "%d sorunu için gönderilen %d anket"
msgid "Questionnaire filled in by problem reporter"
msgstr "Anket sorun bildirici tarafından dolduruldu"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
#: templates/web/base/alert/updates.html:9
#: templates/web/base/around/display_location.html:1
#: templates/web/base/around/display_location.html:3
@@ -2877,11 +2895,11 @@ msgstr "Anket sorun bildirici tarafından dolduruldu"
msgid "RSS feed"
msgstr "RSS besleme"
-#: perllib/FixMyStreet/Cobrand/UK.pm:252 perllib/FixMyStreet/Cobrand/UK.pm:264
+#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
msgid "RSS feed for %s"
msgstr "%s için RSS Besleme"
-#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
+#: perllib/FixMyStreet/Cobrand/UK.pm:264 perllib/FixMyStreet/Cobrand/UK.pm:276
msgid "RSS feed for %s ward, %s"
msgstr "%s için %s gözetiminde RSS besleme"
@@ -2889,25 +2907,25 @@ msgstr "%s için %s gözetiminde RSS besleme"
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:179
-#: perllib/FixMyStreet/Cobrand/UK.pm:278 perllib/FixMyStreet/Cobrand/UK.pm:290
+#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
msgid "RSS feed of %s"
msgstr "%s için RSS besleme"
-#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
msgid "RSS feed of %s, within %s ward"
msgstr "%s içinde %s gözetimiyle RSS besleme"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
msgid "RSS feed of nearby problems"
msgstr "Civardaki problemlerle alakalı RSS besleme"
-#: perllib/FixMyStreet/Cobrand/Default.pm:834
+#: perllib/FixMyStreet/Cobrand/Default.pm:839
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:136
-#: perllib/FixMyStreet/Cobrand/UK.pm:216
+#: perllib/FixMyStreet/Cobrand/UK.pm:222
msgid "RSS feed of problems within %s"
msgstr "%s içerisindeki problemlerle alakalı RSS besleme"
-#: perllib/FixMyStreet/Cobrand/UK.pm:222
+#: perllib/FixMyStreet/Cobrand/UK.pm:228
msgid "RSS feed of problems within %s ward"
msgstr "%s bölgesi içerisindeki problemlerle alakalı RSS besleme"
@@ -2926,7 +2944,7 @@ msgstr "Bu problemin güncellemelerini RSS olarak besle"
msgid "Receive email when updates are left on this problem."
msgstr "Bu sorunda herhangi bir güncelleme olduğunda e-posta ile bildir."
-#: perllib/FixMyStreet/DB/Result/Problem.pm:801
+#: perllib/FixMyStreet/DB/Result/Problem.pm:738
msgid "Received by %s moments later"
msgstr ""
@@ -2936,15 +2954,11 @@ msgstr ""
msgid "Recent local problems, %s"
msgstr ""
-#: templates/web/base/reports/index.html:27
-msgid "Recently <br>fixed"
-msgstr "Yakın zamanda <br>onarılmış"
-
#: templates/web/base/front/recent.html:11
msgid "Recently reported problems"
msgstr "Yakın zamanda bildirilen problemler"
-#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:60
msgid "Recently updated"
msgstr ""
@@ -2952,13 +2966,23 @@ msgstr ""
msgid "Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. If your problem is not appropriate for submission via this site remember that you can contact your council directly using their own website."
msgstr "Şehir Dedektifi uygulamasının temel amacının, kamusal alanlardaki alt ve üst yapıları ile alakalı problemlerin ilgili kurumlara iletilmesini sağlamak olduğunu hatırlatır, bahse konu alanlar dışındaki problem veya şikayetlerin ilgili kuruma direk olarak iletilmesini tavsiye ederiz."
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/extra-metadata-form.html:68
+#, fuzzy
+msgid "Remove"
+msgstr "İşareti kaldır"
+
+#: templates/web/base/admin/extra-metadata-form.html:4
+#, fuzzy
+msgid "Remove field"
+msgstr "İşareti kaldır"
+
+#: templates/web/base/admin/report_blocks.html:23
msgid "Remove flag"
msgstr "İşareti kaldır"
#: templates/web/base/report/_item.html:12
#: templates/web/base/report/_item.html:9
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:18
#: templates/web/base/report/_main.html:26
msgid "Remove from shortlist"
@@ -2968,7 +2992,7 @@ msgstr ""
msgid "Remove from site"
msgstr ""
-#: templates/web/base/admin/report_edit.html:166
+#: templates/web/base/admin/report_edit.html:154
#: templates/web/base/admin/update_edit.html:69
#: templates/web/zurich/admin/update_edit.html:35
msgid "Remove photo (can't be undone!)"
@@ -2982,13 +3006,13 @@ msgstr ""
msgid "Report"
msgstr "Bildirim"
-#: templates/web/base/report/_inspect.html:10
-#: templates/web/base/report/_item.html:76
+#: templates/web/base/report/_inspect.html:14
+#: templates/web/base/report/_item.html:78
msgid "Report ID:"
msgstr ""
#: templates/web/base/header_logo.html:2
-#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:19
+#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:18
#: templates/web/zurich/nav_over_content.html:4
msgid "Report a problem"
msgstr "Bir problem bildir"
@@ -2998,7 +3022,7 @@ msgstr "Bir problem bildir"
msgid "Report abuse"
msgstr "Kötüye kullanım bildir"
-#: templates/web/base/report/new/form_user_loggedin.html:16
+#: templates/web/base/report/new/form_user_loggedin.html:17
msgid "Report as"
msgstr ""
@@ -3007,9 +3031,8 @@ msgid "Report on %s"
msgstr "%s 'e bildir"
#: templates/web/base/dashboard/index.html:137
-#, fuzzy
msgid "Report state:"
-msgstr "Kötüye kullanım bildir"
+msgstr ""
#: templates/web/base/report/new/fill_in_details_form.html:1
#: templates/web/base/report/new/login_success_form.html:1
@@ -3022,7 +3045,7 @@ msgstr "Probleminizi bildirin"
msgid "Report, view, or discuss local problems"
msgstr "Yerel problemleri bildir, göster ve tartış"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:653
+#: perllib/FixMyStreet/DB/Result/Problem.pm:590
#: templates/web/base/contact/index.html:55
msgid "Reported anonymously at %s"
msgstr "%s 'e ananim olarak bildirilmiÅŸ"
@@ -3032,7 +3055,7 @@ msgstr "%s 'e ananim olarak bildirilmiÅŸ"
msgid "Reported before"
msgstr "Önceden bildirilmiş"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:677
+#: perllib/FixMyStreet/DB/Result/Problem.pm:614
#: templates/web/base/contact/index.html:57
msgid "Reported by %s at %s"
msgstr "%s tarafından %s de bildirilmiştir"
@@ -3046,34 +3069,30 @@ msgstr ""
msgid "Reported in the %s category"
msgstr "%s kategorisine bildirilmiÅŸtir"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:650
+#: perllib/FixMyStreet/DB/Result/Problem.pm:587
msgid "Reported in the %s category anonymously at %s"
msgstr "%s kategorisine anonim olarak %s de bildirilmiÅŸtir"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:611
msgid "Reported in the %s category by %s at %s"
msgstr " %s tarafından %s kategorisinde %s de bildirilmiştir"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:647
+#: perllib/FixMyStreet/DB/Result/Problem.pm:584
msgid "Reported via %s anonymously at %s"
msgstr "%s aracılığıyla anonim olarak %s de bildirilmiştir"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:671
+#: perllib/FixMyStreet/DB/Result/Problem.pm:608
msgid "Reported via %s by %s at %s"
msgstr "%s yoluyla %s tarafından %s da bildirilmiştir"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:644
+#: perllib/FixMyStreet/DB/Result/Problem.pm:581
msgid "Reported via %s in the %s category anonymously at %s"
msgstr "%s aracılığıyla %s kategorisine anonim olarak %s de bildirilmiştir"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:666
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
msgid "Reported via %s in the %s category by %s at %s"
msgstr " %s tarafından %s kategorisinde %s aracılığıyla %s 'e bildirilen raporlar"
-#: templates/web/base/reports/index.html:24
-msgid "Reported within the last four weeks"
-msgstr "Son dört haftada bildirilenler"
-
#: templates/web/zurich/admin/report_edit-sdm.html:38
#: templates/web/zurich/admin/report_edit.html:57
msgid "Reported:"
@@ -3089,13 +3108,13 @@ msgid "Reporting a problem"
msgstr "Bir problemin bildirilmesi"
#: perllib/FixMyStreet/Cobrand/Default.pm:655
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:383
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:388
#: templates/web/base/dashboard/index.html:134
#: templates/web/zurich/header.html:52
msgid "Reports"
msgstr "Bildirimler"
-#: perllib/FixMyStreet/Cobrand/UK.pm:329 perllib/FixMyStreet/Cobrand/UK.pm:333
+#: perllib/FixMyStreet/Cobrand/UK.pm:333 perllib/FixMyStreet/Cobrand/UK.pm:335
msgid "Reports are limited to %s characters in length. Please shorten your report"
msgstr "Bildirimler %s karakter olarak sınırlıdır. Bildiriminizi kısaltınız lütfen"
@@ -3103,31 +3122,53 @@ msgstr "Bildirimler %s karakter olarak sınırlıdır. Bildiriminizi kısaltınÄ
msgid "Reports awaiting approval"
msgstr "Onay bekleyen bildirimler"
+#: templates/web/base/alert/_list.html:54
+#, fuzzy
+msgid "Reports by destination"
+msgstr "%s tarafından %s de bildirilmiştir"
+
#: templates/web/base/admin/user-form.html:107
msgid "Reports made by trusted users will be sent to the responsible body without being inspected first."
msgstr ""
+#: templates/web/base/alert/_list.html:15
+msgid "Reports near %s are sent to different councils, depending on the type of problem."
+msgstr ""
+
#: templates/web/zurich/admin/index-sdm.html:10
msgid "Reports published"
msgstr "Yayınlanmış bildirimler"
-#: templates/web/base/js/translation_strings.html:68
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:71
msgid "Reports saved offline."
-msgstr "Bir problem bildir"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#, fuzzy
+msgid "Reports sent to %s"
+msgstr "%s 'e bildir"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:290 perllib/FixMyStreet/Cobrand/UK.pm:302
+#, fuzzy
+msgid "Reports sent to %s, within %s ward"
+msgstr "%s içinde %s gözetimiyle RSS besleme"
#: templates/web/base/admin/index.html:56
msgid "Reports waiting to be sent"
msgstr ""
-#: templates/web/base/admin/contact-form.html:89
+#: templates/web/base/admin/contact-form.html:90
msgid "Reports will automatically be sent without needing to be inspected if the user's <strong>reputation</strong> is at or above this value. Set to <strong>0</strong> if all reports must be inspected regardless."
msgstr ""
-#: templates/web/base/admin/contact-form.html:94
+#: templates/web/base/admin/contact-form.html:95
msgid "Reputation threshold"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:20
+msgid "Required"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:84
msgid "Resend report"
msgstr "Bildiriyi tekrar gönder"
@@ -3163,7 +3204,7 @@ msgstr ""
msgid "Revert to original"
msgstr ""
-#: templates/web/base/report/_main.html:95
+#: templates/web/base/report/_main.html:99
msgid "Revert to original text"
msgstr ""
@@ -3186,16 +3227,16 @@ msgstr "Bu isimli yol için yol operatörü (yol referans numarası ve türünde
msgid "Road operator for this named road (from OpenStreetMap): %s"
msgstr "Bu isimli yol için yol operatörü (OpenStreetMap'ten): %s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1747
-#: templates/web/base/admin/report_edit.html:163
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1852
+#: templates/web/base/admin/report_edit.html:151
#: templates/web/base/admin/update_edit.html:66
#: templates/web/zurich/admin/report_edit.html:118
msgid "Rotate Left"
msgstr "Sola YerleÅŸtir"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: templates/web/base/admin/report_edit.html:164
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: templates/web/base/admin/report_edit.html:152
#: templates/web/base/admin/update_edit.html:67
#: templates/web/zurich/admin/report_edit.html:119
msgid "Rotate Right"
@@ -3210,33 +3251,41 @@ msgstr ""
msgid "Satellite"
msgstr "Uydu"
-#: templates/web/base/report/_inspect.html:168
-#, fuzzy
+#: templates/web/base/report/_inspect.html:182
msgid "Save + close as duplicate"
-msgstr "tekrarlanmış bildirim olarak işaretle"
+msgstr ""
-#: templates/web/base/admin/contact-form.html:137
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/contact-form.html:138
+#: templates/web/base/admin/reportextrafields/edit.html:64
+#: templates/web/base/admin/responsepriorities/edit.html:58
#: templates/web/base/admin/template_edit.html:46
-#: templates/web/base/report/_inspect.html:168
-#: templates/web/base/report/_main.html:113
-#: templates/web/base/report/update.html:60
+#: templates/web/base/report/_inspect.html:182
+#: templates/web/base/report/_main.html:117
+#: templates/web/base/report/update.html:69
#: templates/web/zurich/admin/body.html:62
-#: templates/web/zurich/admin/contact-form.html:20
+#: templates/web/zurich/admin/contact-form.html:22
#: templates/web/zurich/admin/template_edit.html:29
msgid "Save changes"
msgstr "DeÄŸiÅŸiklikleri kaydet"
-#: templates/web/base/report/_inspect.html:148
+#: templates/web/base/admin/reportextrafields/edit.html:64
+msgid "Save new fields"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:158
msgid "Save with a public update"
msgstr ""
-#. ('This is followed by a progress count, e.g. 3/5')
#. ("This is followed by a progress count, e.g. 3/5")
-#: templates/web/base/js/translation_strings.html:69
+#: templates/web/base/js/translation_strings.html:72
msgid "Saving reports offline"
msgstr ""
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:132
+#, fuzzy
+msgid "Scheduled"
+msgstr "Planlı Eylem"
+
#: templates/web/base/admin/index.html:26
#: templates/web/base/admin/reports.html:1
#: templates/web/zurich/admin/reports.html:1
@@ -3270,41 +3319,41 @@ msgstr "Arama sonucu kullanıcı bulunamadı"
msgid "See our privacy policy"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:715
+#: perllib/FixMyStreet/Cobrand/Default.pm:720
msgid "See user detail for reports created as the council"
msgstr ""
-#: templates/web/base/admin/body-form.html:39
+#: templates/web/base/admin/body-form.html:41
#: templates/web/zurich/admin/body-form.html:16
msgid "Select a body"
msgstr "Bir bölüm seç"
-#: templates/web/base/reports/index.html:12
-msgid "Select a particular council to see the reports sent there."
-msgstr "Oraya gönderilmiş bildirimleri görmek için, belirli bir kurul seç "
-
-#: templates/web/base/admin/body-form.html:77
+#: templates/web/base/admin/body-form.html:79
#: templates/web/zurich/admin/body-form.html:26
msgid "Select an area"
msgstr "Bölge seç"
-#: templates/web/base/alert/_list.html:11
-msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
+#: templates/web/base/admin/responsepriorities/edit.html:33
+msgid "Select if this is the default priority"
msgstr ""
#: templates/web/base/admin/category-checkboxes.html:6
msgid "Select:"
msgstr ""
+#: templates/web/base/contact/index.html:107
+msgid "Send"
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:109
msgid "Send extended Open311 statuses with service request updates"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:826
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:831
msgid "Sent report back"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:804
+#: perllib/FixMyStreet/DB/Result/Problem.pm:741
msgid "Sent to %s %s later"
msgstr "%s %s sonra gönder"
@@ -3317,7 +3366,7 @@ msgstr "gönderildi:"
msgid "Service:"
msgstr "Hizmet:"
-#: templates/web/base/report/_inspect.html:31
+#: templates/web/base/report/_inspect.html:41
msgid "Set to my current location"
msgstr ""
@@ -3326,49 +3375,56 @@ msgid "Share"
msgstr "PaylaÅŸ"
#: templates/web/base/main_nav_items.html:10
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:21
#: templates/web/base/report/_main.html:29
msgid "Shortlist"
msgstr ""
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/reports/body.html:32
+msgid "Shortlist all visible"
+msgstr ""
+
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:20
#: templates/web/base/report/_main.html:25
#: templates/web/base/reports/_list-filters.html:9
msgid "Shortlisted"
msgstr ""
-#: templates/web/base/report/_main.html:144
+#: templates/web/base/report/_item.html:15
+#: templates/web/base/report/_main.html:148
msgid "Shortlisted by %s"
msgstr ""
#: templates/web/base/report/update.html:20
-#, fuzzy
msgid "Show Photo?"
-msgstr "Eskileri göster"
+msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:54
+#: templates/web/base/questionnaire/index.html:26
+msgid "Show all updates"
+msgstr ""
+
+#: templates/web/base/report/new/form_user_loggedin.html:56
#: templates/web/base/report/new/form_user_loggedout_by_email.html:22
-#: templates/web/base/report/update/form_name.html:33
+#: templates/web/base/report/update/form_name.html:37
msgid "Show my name publicly"
msgstr "İsmimi açıkça göster "
#: templates/web/base/report/update.html:17
-#, fuzzy
msgid "Show name publicly?"
-msgstr "İsmimi açıkça göster "
+msgstr ""
#: templates/web/base/around/display_location.html:69
msgid "Show old"
msgstr "Eskileri göster"
-#: templates/web/base/report/_main.html:79
-#, fuzzy
+#: templates/web/base/report/_main.html:83
msgid "Show photo"
-msgstr "Eskileri göster"
+msgstr ""
#: templates/web/base/around/display_location.html:60
+#: templates/web/base/js/translation_strings.html:54
msgid "Show pins"
msgstr "İşaretlemeleri göster"
@@ -3376,16 +3432,20 @@ msgstr "İşaretlemeleri göster"
msgid "Show reporter&rsquo;s name"
msgstr ""
-#: templates/web/base/auth/general.html:117
+#: templates/web/base/reports/index.html:62
+msgid "Show reports in your area"
+msgstr ""
+
+#: templates/web/base/auth/general.html:119
#: templates/web/base/auth/general.html:3
-#: templates/web/base/auth/general.html:86
+#: templates/web/base/auth/general.html:88
#: templates/web/base/main_nav_items.html:6
#: templates/web/zurich/auth/general.html:18
#: templates/web/zurich/auth/general.html:35
msgid "Sign in"
msgstr "GiriÅŸ yap"
-#: templates/web/base/auth/general.html:96
+#: templates/web/base/auth/general.html:98
msgid "Sign in by email instead, providing a new password. When you click the link in your email, your password will be updated."
msgstr ""
@@ -3431,14 +3491,14 @@ msgstr ""
msgid "Sorry, there has been an error confirming your problem."
msgstr "Üzgünüz, sorununuzu onaylarken bir hata oluştu."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:230
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:235
#: perllib/FixMyStreet/Geocode.pm:37 perllib/FixMyStreet/Geocode/Bing.pm:38
#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:56
#: perllib/FixMyStreet/Geocode/OSM.pm:48
msgid "Sorry, we could not find that location."
msgstr "Üzgünüz, konum bulunamadı."
-#: templates/web/base/auth/general.html:9
+#: templates/web/base/auth/general.html:11
#: templates/web/base/report/display.html:29
#: templates/web/base/report/new/fill_in_details_form.html:15
msgid "Sorry, we could not log you in. Please fill in the form below."
@@ -3460,11 +3520,11 @@ msgid ""
"page wasn’t found or there was a server error. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Root.pm:107
+#: perllib/FixMyStreet/App/Controller/Root.pm:124
msgid "Sorry, you don't have permission to do that."
msgstr ""
-#: templates/web/base/reports/_list-filters.html:42
+#: templates/web/base/reports/_list-filters.html:53
msgid "Sort by"
msgstr ""
@@ -3481,17 +3541,25 @@ msgid "Start Date:"
msgstr "Başlangıç Tarihi:"
#: templates/web/base/admin/body.html:73
+#: templates/web/base/admin/category_edit.html:29
+#: templates/web/base/admin/contact-form.html:53
#: templates/web/base/admin/flagged.html:18
#: templates/web/base/admin/index.html:64
#: templates/web/base/admin/list_updates.html:11
#: templates/web/base/admin/reports.html:16
#: templates/web/base/admin/template_edit.html:40
-#: templates/web/base/report/_inspect.html:83
-#: templates/web/base/report/_item.html:94
+#: templates/web/base/report/_inspect.html:82
+#: templates/web/base/report/_item.html:96
#: templates/web/base/report/update/form_update.html:39
+#: templates/web/zurich/admin/contact-form.html:10
msgid "State"
msgstr "Devlet"
+#: templates/web/base/report/update.html:48
+#, fuzzy
+msgid "State changed to:"
+msgstr "DeÄŸiÅŸiklikleri kaydet"
+
#: templates/web/base/admin/report_edit.html:116
#: templates/web/base/admin/update_edit.html:28
#: templates/web/zurich/admin/report_edit-sdm.html:75
@@ -3501,8 +3569,14 @@ msgstr "Devlet"
msgid "State:"
msgstr "Devlet:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:640
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:386
+#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: templates/web/base/admin/states/index.html:1
+#, fuzzy
+msgid "States"
+msgstr "Devlet"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
#: templates/web/base/admin/index.html:71 templates/web/base/admin/stats.html:1
#: templates/web/base/admin/stats_by_state.html:1
#: templates/web/zurich/admin/stats.html:1 templates/web/zurich/header.html:65
@@ -3524,6 +3598,10 @@ msgstr "Henüz çözülmemiş, anket aracılığıyla, %s"
msgid "Street View"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:46
+msgid "String"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:192
msgid "Subcategory: %s"
msgstr "Alt kategori: %s"
@@ -3532,7 +3610,7 @@ msgstr "Alt kategori: %s"
msgid "Subdivision/Body"
msgstr "Alt bölüm/Bölüm"
-#: templates/web/base/contact/index.html:88
+#: templates/web/base/contact/index.html:92
msgid "Subject"
msgstr "Konu"
@@ -3542,14 +3620,14 @@ msgid "Subject:"
msgstr "Konu:"
#: templates/web/base/questionnaire/creator_fixed.html:19
-#: templates/web/base/report/new/form_user_loggedin.html:61
+#: templates/web/base/report/new/form_user_loggedin.html:63
#: templates/web/base/report/new/form_user_loggedout_by_email.html:36
#: templates/web/base/report/new/form_user_loggedout_password.html:11
#: templates/web/zurich/report/new/fill_in_details_form.html:73
msgid "Submit"
msgstr "Kaydet"
-#: templates/web/base/admin/report_edit.html:174
+#: templates/web/base/admin/report_edit.html:162
#: templates/web/base/admin/report_edit.html:24
#: templates/web/base/admin/update_edit.html:77
#: templates/web/base/admin/user-form.html:170
@@ -3563,8 +3641,8 @@ msgstr "DeÄŸiÅŸiklikleri kaydet"
msgid "Submit questionnaire"
msgstr "Anketi kaydet"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:164
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:893
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:898
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:6
#: templates/web/zurich/admin/index-dm.html:23
@@ -3574,36 +3652,38 @@ msgstr "Anketi kaydet"
msgid "Submitted"
msgstr "Kaydedildi"
+#: templates/web/base/alert/_list.html:77
+#: templates/web/base/alert/_list.html:80
#: templates/web/base/alert/updates.html:23
#: templates/web/base/report/display_tools.html:51
msgid "Subscribe"
msgstr "Kaydet"
-#: templates/web/base/alert/_list.html:93
-msgid "Subscribe me to an email alert"
+#: templates/web/base/alert/_list.html:72
+#, fuzzy
+msgid "Subscribe by email"
msgstr "E-posta uyarısını benim için onayla"
#: templates/web/base/report/new/form_report.html:19
msgid "Summarise the problem"
msgstr ""
-#: templates/web/base/admin/contact-form.html:129
+#: templates/web/base/admin/contact-form.html:130
msgid "Summarise your changes"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:638
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:382
+#: perllib/FixMyStreet/Cobrand/Default.pm:637
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:387
#: templates/web/base/admin/bodies.html:29
#: templates/web/base/admin/index.html:1 templates/web/base/status/index.html:1
#: templates/web/base/status/index.html:3
#: templates/web/zurich/admin/index-dm.html:1
#: templates/web/zurich/admin/index-sdm.html:1
-#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:13
+#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:12
#: templates/web/zurich/header.html:49
msgid "Summary"
msgstr "Özet"
-#: templates/web/base/reports/index.html:4
#: templates/web/zurich/reports/index.html:0
#: templates/web/zurich/reports/index.html:4
msgid "Summary reports"
@@ -3627,7 +3707,7 @@ msgid "Template &laquo;%s&raquo;"
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:661
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:393
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
#: templates/web/zurich/header.html:69
msgid "Templates"
msgstr ""
@@ -3656,7 +3736,7 @@ msgstr "Bu konuyu bildirdiğiniz için teşekkür ederiz!"
msgid "Thank you for trying to confirm your update or problem. We seem to have an error ourselves though, so <a href=\"%s\">please let us know what went on</a> and we'll look into it."
msgstr "Güncelleme ya da sorunu teyit etmek için çabaladığınız için teşekkürler. bizim kendimizin bir hata yaptığını fark ettiğinizde <a href=\"%s\"> lütfen ne olduğunu bize bildirin</a> ve biz bunu araştıralım."
-#: templates/web/base/tokens/confirm_update.html:15
+#: templates/web/base/tokens/confirm_update.html:16
msgid "Thank you for updating this issue!"
msgstr "Bu konuyu güncellediğiniz için teşekkür ederiz!"
@@ -3684,7 +3764,7 @@ msgstr "Bu şekilde resim doğru yüklemiş gibi görünmüyor (%s), lütfen tek
msgid "That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again."
msgstr "Bu konuma bir kurul tarafından ele alınacak gibi görünmüyor; belki de deniz ya da ülke dışındadır. Lütfen tekrar deneyin."
-#: perllib/FixMyStreet/App/Controller/Location.pm:129
+#: perllib/FixMyStreet/App/Controller/Location.pm:127
msgid "That location does not appear to be in the UK; please try again."
msgstr "Konum İngiltere'de görünmüyor; lütfen tekrar deneyin."
@@ -3694,23 +3774,23 @@ msgstr "Konum İngiltere'de görünmüyor; lütfen tekrar deneyin."
msgid "That postcode was not recognised, sorry."
msgstr "Üzgünüz, bu posta kodu bulunamadı."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:762
+#: perllib/FixMyStreet/App/Controller/Admin.pm:850
msgid "That problem has been marked as sent."
msgstr "Problem gönderildi olarak işaretlenmiştir."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:755
+#: perllib/FixMyStreet/App/Controller/Admin.pm:843
msgid "That problem will now be resent."
msgstr "Bu problem yeniden gönderilecektir."
-#: perllib/FixMyStreet/App/Controller/Report.pm:137
+#: perllib/FixMyStreet/App/Controller/Report.pm:134
msgid "That report cannot be viewed on %s."
msgstr "Bu bildirim %s 'te görüntülenemiyor"
-#: perllib/FixMyStreet/App/Controller/Report.pm:131
+#: perllib/FixMyStreet/App/Controller/Report.pm:128
msgid "That report has been removed from FixMyStreet."
msgstr "Bu bildirim FixMyStreet'ten kaldırılmışır."
-#: templates/web/base/admin/contact-form.html:25
+#: templates/web/base/admin/contact-form.html:27
msgid ""
"The <strong>email address</strong> is the destination to which reports about this category will be sent. \n"
" Other categories for this body may have the same email address."
@@ -3730,10 +3810,10 @@ msgid ""
" than one. If the body is running its own endpoint, you can usually leave this blank."
msgstr ""
-#: templates/web/base/admin/body-form.html:100
-#: templates/web/base/admin/body-form.html:101
-#: templates/web/base/admin/contact-form.html:103
+#: templates/web/base/admin/body-form.html:102
+#: templates/web/base/admin/body-form.html:103
#: templates/web/base/admin/contact-form.html:104
+#: templates/web/base/admin/contact-form.html:105
msgid ""
"The <strong>send method</strong> determines how problem reports will be sent to the body.\n"
" If you leave this blank, <strong>send method defaults to email</strong>."
@@ -3750,6 +3830,10 @@ msgid ""
" and may be displayed publically."
msgstr "Birimin <strong>adı</strong> o birimi tanımlar (örneğin, <em>Borsetshire District Council</em>) ve herkese açık olarak görüntülenektir."
+#: templates/web/base/admin/extra-metadata-form.html:12
+msgid "The code used to store this field value in the database. e.g. <code>address</code> would be available as <code>problem.extra.address</code> in the templates."
+msgstr ""
+
#: templates/web/base/report/new/fill_in_details_text.html:1
#: templates/web/base/report/new/fill_in_details_text.html:3
msgid "The council won&rsquo;t be able to help unless you leave as much detail as you can. Please describe the exact location of the problem (e.g. on a wall), what it is, how long it has been there, a description (and a photo of the problem if you have one), etc."
@@ -3760,11 +3844,15 @@ msgstr ""
msgid "The diligency prize league table shows editors' activity (who's been editing the most records)."
msgstr "Başarı ödül tablosu editörün faaliyetlerini göstermektedir (kimin en fazla kayıt düzenlediği)."
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:61
-#: perllib/FixMyStreet/App/Controller/Reports.pm:82
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:63
+#: perllib/FixMyStreet/App/Controller/Reports.pm:103
msgid "The error was: %s"
msgstr "Hata buydu: %s"
+#: templates/web/base/admin/extra-metadata-form.html:30
+msgid "The field name as shown to the user on the report form."
+msgstr ""
+
#: templates/web/base/open311/index.html:78
msgid "The following Open311 v2 attributes are returned for each request: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
msgstr ""
@@ -3803,10 +3891,14 @@ msgstr "Kullanıcı tarafından bildirilen {{NAME}} sınırları içindeki en so
msgid "The link might have expired, or maybe you didn&rsquo;t quite copy and paste it correctly."
msgstr ""
-#: templates/web/base/admin/body-form.html:64
+#: templates/web/base/admin/body-form.html:66
msgid "The list of available areas is being provided by the MapIt service at %s."
msgstr "Ulaşılabilir bölgelerin listesi %s'teki Mapit hizmeti tarafından sağlanmaktadır."
+#: templates/web/base/admin/extra-metadata-form.html:6
+msgid "The ordering of this field on the report page. Fields are shown in ascending order according to this value."
+msgstr ""
+
#: templates/web/base/auth/change_password.html:22
#: templates/web/base/auth/change_password.html:26
msgid "The passwords do not match"
@@ -3816,9 +3908,9 @@ msgstr "Åžifreler eÅŸleÅŸmiyor"
msgid "The requested URL '%s' was not found on this server"
msgstr "Talep edilen URL '%s' bu sunucuda bulunamadı "
-#: templates/web/base/alert/_list.html:17
-msgid "The simplest alert is our geographic one:"
-msgstr "en basit uyarı bizim coğrafi olandır:"
+#: templates/web/base/admin/extra-metadata-form.html:42
+msgid "The type of input field to show to the user. <strong>Text</strong> is a simple text field, <strong>List</strong> is a drop-down selection."
+msgstr ""
#: perllib/FixMyStreet/Script/Reports.pm:96
msgid "The user could not locate the problem on a map, but to see the area around the location they entered"
@@ -3837,18 +3929,18 @@ msgstr "Kullanıcının <strong>ismi</strong işaretlenmemiş <em> anonim</em> o
msgid "There are no reports to show."
msgstr "Gösterilecek hiçbir rapor yok."
-#: perllib/FixMyStreet/App/Controller/Reports.pm:79
+#: perllib/FixMyStreet/App/Controller/Reports.pm:100
msgid "There was a problem showing the All Reports page. Please try again later."
msgstr "Tüm Bildirimlerin görüntülendiği sayfada bir sorun var. Lütfen daha sonra tekrar deneyin."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:137
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:60
+#: perllib/FixMyStreet/App/Controller/Contact.pm:138
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:62
msgid "There was a problem showing this page. Please try again later."
msgstr "Bu sayfa görüntülenirken bir sorun oluştu. Lütfen daha sonra tekrar deneyin."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:758
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:785
#: perllib/FixMyStreet/App/Controller/Report/Update.pm:152
-#: templates/web/base/auth/general.html:53
+#: templates/web/base/auth/general.html:55
#: templates/web/zurich/auth/general.html:28
msgid "There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the &lsquo;sign in by email&rsquo; section of the form."
msgstr "E-posta ve şifre uyumu sorunu vardı. eğer şifrenizi hatırlamıyorsanız veya şifreniz yoksa lütfen formun email&rsquo tarafından &lsquo;sign bölümünü doldurunuz. "
@@ -3861,7 +3953,7 @@ msgstr "E-posta / şifrenizde bir sorun oluştu. Lütfen tekrar deneyiniz."
msgid "There was a problem with your update. Please try again."
msgstr "Güncelleme esnasında bir hata oluştu. Lütfen tekrar deneyiniz."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:141
+#: perllib/FixMyStreet/App/Controller/Contact.pm:142
msgid "There were problems with your report. Please see below."
msgstr "Bildiriminiz esnasında hata oluştu. Lütfen aşağıya bakınız."
@@ -3913,8 +4005,8 @@ msgstr "Bu birim hiçbir bölgeyi kapsamamaktadır. Bu bildirilen <em>raporlar Ã
msgid "This body has no contacts. This means that currently problems reported to this body <strong>will not be sent</strong>."
msgstr "Bu bölüm herhangi bir iletişim bilgisine sahip değil. Yani bu bölüme bildirilen problemler <strong>gönderilmeyecek</strong>."
-#: templates/web/base/admin/body-form.html:58
-#: templates/web/base/admin/body-form.html:59
+#: templates/web/base/admin/body-form.html:60
+#: templates/web/base/admin/body-form.html:61
msgid ""
"This body will only be sent reports for problems that are located in the <strong>area covered</strong>.\n"
" A body will not receive any reports unless it covers at least one area."
@@ -3928,8 +4020,9 @@ msgstr "Kullanıcının problemi sınıflandırmama durumunda, bu e-posta proble
msgid "This email has been sent to several councils covering the location of the problem, as the category selected is provided for all of them; please ignore it if you're not the correct council to deal with the issue."
msgstr "Bu e-posta problemin konumunu kapsayan çeşitli kurullara gönderilmiştir. Seçilmiş kategori kurulun yetki alanı dışındaysa, bu sorunu dikkate almayın."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:881
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:925
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1017
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:910
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:954
#: perllib/FixMyStreet/App/Controller/Report/New.pm:971
#: perllib/FixMyStreet/Cobrand/UK.pm:45
msgid "This information is required"
@@ -3939,46 +4032,41 @@ msgstr "Bu bilgi gereklidir"
msgid "This is a developer site; things might break at any time, and the database will be periodically deleted."
msgstr "Burası gelişen bir sitedir, her an çökebilir ve veritabanı belli aralıklarla silinmektedir."
-#: templates/web/base/reports/index.html:10
-msgid "This is a summary of all reports on this site."
-msgstr "Bu, bu sitedeki bütün raporların özetidir."
-
-#: templates/web/base/report/new/form_report.html:56
+#: templates/web/base/report/new/form_report.html:58
msgid "This pothole has been here for two months and…"
msgstr ""
-#: templates/web/base/report/update/form_update.html:63
+#: templates/web/base/report/update/form_update.html:55
msgid "This problem has been fixed"
msgstr "Bu problem çözüldü"
-#: templates/web/base/report/update/form_update.html:56
+#: templates/web/base/report/update/form_update.html:48
msgid "This problem has not been fixed"
msgstr "Bu problem giderilemedi"
-#: templates/web/base/report/update/form_update.html:54
-#, fuzzy
+#: templates/web/base/report/update/form_update.html:46
msgid "This problem is still ongoing"
-msgstr "Bu problem giderilemedi"
+msgstr ""
#: templates/web/base/report/duplicate-no-updates.html:3
msgid "This report is a duplicate. Please leave updates on the original report:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:161
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:162
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:166
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:167
#: templates/web/zurich/report/_main.html:14
msgid "This report is awaiting moderation."
msgstr "Bu rapor iÅŸlenmeyi bekliyor."
-#: perllib/FixMyStreet/Script/Alerts.pm:101
+#: perllib/FixMyStreet/Script/Alerts.pm:98
msgid "This report is currently marked as closed."
msgstr "Bu rapor şu an kapalı olarak işaretlenmiş."
-#: perllib/FixMyStreet/Script/Alerts.pm:99
+#: perllib/FixMyStreet/Script/Alerts.pm:96
msgid "This report is currently marked as fixed."
msgstr "Bu rapor şu an onarıldı olarak işaretlenmiş."
-#: perllib/FixMyStreet/Script/Alerts.pm:103
+#: perllib/FixMyStreet/Script/Alerts.pm:100
msgid "This report is currently marked as open."
msgstr "Bu rapor şu an açık olarak işaretlenmiş."
@@ -3997,7 +4085,7 @@ msgstr "Bu internet sitesine problemin fotoğrafı da kullanıcı tarafından ek
msgid "Time spent (in minutes):"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Default.pm:638
#: templates/web/base/admin/timeline.html:1
msgid "Timeline"
msgstr "Zaman çizelgesi"
@@ -4026,10 +4114,26 @@ msgstr ""
msgid "To find out what local alerts we have for you, please enter your postcode or street name and area"
msgstr "senin için hazırladığımız yerel uyarıları bulmak için lütfen posta kodu veya cadde adı ve bölgeyi giriniz"
+#: templates/web/base/admin/reportextrafields/edit.html:19
+msgid "To limit this collection of fields to a single cobrand, select it here."
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:40
+msgid "To limit this collection of fields to a single language, select it here."
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:95
msgid "To view a map of the precise location of this issue"
msgstr "Bu konudaki kesin lokasyonu haritasını göstermek için"
+#: templates/web/base/reports/index.html:97
+msgid "Top 5 most used categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:83
+msgid "Top 5 responsive councils"
+msgstr ""
+
#: templates/web/base/admin/questionnaire.html:24
#: templates/web/base/admin/stats.html:24
#: templates/web/base/admin/stats.html:43
@@ -4043,9 +4147,8 @@ msgid "Total marked"
msgstr ""
#: templates/web/base/dashboard/index.html:71
-#, fuzzy
msgid "Total marked as fixed"
-msgstr "Onarıldı olarak işaretle"
+msgstr ""
#: templates/web/base/dashboard/index.html:125
msgid "Total not marked"
@@ -4056,16 +4159,24 @@ msgstr ""
msgid "Total reports received"
msgstr ""
-#: templates/web/base/report/_inspect.html:124
-#: templates/web/base/report/_item.html:102
+#: templates/web/base/report/_inspect.html:134
+#: templates/web/base/report/_item.html:104
msgid "Traffic management required?"
msgstr ""
+#: templates/web/base/admin/_translations.html:7
+msgid "Translation"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:2
+msgid "Translations"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:111
msgid "Trusted by bodies:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:721
+#: perllib/FixMyStreet/Cobrand/Default.pm:726
msgid "Trusted to make reports that don't need to be inspected"
msgstr ""
@@ -4081,8 +4192,14 @@ msgstr "Tekrar dene"
msgid "Try emailing us directly:"
msgstr "Direkt olarak e-posta gönderin:"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:21
+#: templates/web/base/admin/extra-metadata-form.html:44
+#: templates/web/base/admin/states/index.html:10
+#: templates/web/base/admin/states/index.html:100
+msgid "Type"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:59
+#: templates/web/base/admin/contact-form.html:55
#: templates/web/base/admin/update_edit.html:30
#: templates/web/zurich/admin/report_edit-sdm.html:66
#: templates/web/zurich/admin/report_edit.html:94
@@ -4090,7 +4207,6 @@ msgstr "Direkt olarak e-posta gönderin:"
msgid "Unconfirmed"
msgstr "Onaylanmamış"
-#: templates/web/base/reports/_list-filters.html:12
#: templates/web/base/reports/_list-filters.html:5
msgid "Unfixed reports"
msgstr ""
@@ -4104,14 +4220,14 @@ msgid "Unknown alert type"
msgstr "Bilinmeyen uyarı tipi"
#: perllib/FixMyStreet/App/Controller/Photo.pm:109
-#: perllib/FixMyStreet/App/Controller/Root.pm:124
+#: perllib/FixMyStreet/App/Controller/Root.pm:141
#: templates/web/base/js/translation_strings.html:38
msgid "Unknown error"
msgstr "Bilinmeyen hata"
-#: perllib/FixMyStreet/App/Controller/Report.pm:115
+#: perllib/FixMyStreet/App/Controller/Report.pm:112
+#: perllib/FixMyStreet/App/Controller/Report.pm:118
#: perllib/FixMyStreet/App/Controller/Report.pm:121
-#: perllib/FixMyStreet/App/Controller/Report.pm:124
msgid "Unknown problem ID"
msgstr "Bilinmeyen ID problemi"
@@ -4119,10 +4235,11 @@ msgstr "Bilinmeyen ID problemi"
msgid "Unshortlisted"
msgstr ""
-#: templates/web/base/report/_item.html:24
+#: templates/web/base/report/_item.html:26
msgid "Up one"
msgstr ""
+#: templates/web/base/admin/states/index.html:76
#: templates/web/base/report/update/form_update.html:29
msgid "Update"
msgstr "Güncelleme"
@@ -4139,7 +4256,7 @@ msgstr "Aşağıdaki anonim olarak %s 'e ekleneni güncelle"
msgid "Update below added by %s at %s"
msgstr "Aşağıda %s tarafıdan %s 'e ekleneni güncelle"
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Update body"
msgstr "Bölümü güncelle"
@@ -4175,13 +4292,23 @@ msgstr "Güncelleme durumu"
msgid "Updated"
msgstr "Güncellendi"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1157
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1221
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1384
-#: perllib/FixMyStreet/App/Controller/Admin.pm:822
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:762
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:787
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:857
+#: perllib/FixMyStreet/DB/Result/Comment.pm:249
+#, fuzzy
+msgid "Updated by <strong>%s</strong> (%s) at %s"
+msgstr "<strong>%s</strong> (%s) tarafından %s 'te paylaşılmıştır"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:251
+#, fuzzy
+msgid "Updated by <strong>%s</strong> at %s"
+msgstr "<strong>%s</strong> tarafından %s 'te paylaşılmıştır"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1262
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1326
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1489
+#: perllib/FixMyStreet/App/Controller/Admin.pm:910
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:767
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:792
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:862
msgid "Updated!"
msgstr "Güncellendi!"
@@ -4191,7 +4318,7 @@ msgstr "Güncellendi!"
msgid "Updates"
msgstr "Güncellemeler"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:133
+#: perllib/FixMyStreet/DB/Result/Comment.pm:134
msgid "Updates are limited to %s characters in length. Please shorten your update"
msgstr "Güncellemeler %s uzunluğunda karakter ile sınırlıdır. Lütfen güncellemenizi kısaltın."
@@ -4205,11 +4332,22 @@ msgstr "{{title}} daki güncellemeler"
msgid "Updates to this problem, %s"
msgstr ""
+#: templates/web/base/admin/contact-form.html:43
+#: templates/web/base/admin/contact-form.html:44
+msgid ""
+"Use <strong>confirmed</strong> to indicate that this contact has been\n"
+"confirmed as correct. If you are not sure of the origin or validity of the\n"
+"contact, use <strong>unconfirmed</strong>. <strong>inactive</strong> will\n"
+"remove the category from use when reporting problems, but keep it available in\n"
+"map filters, and <strong>deleted</strong> will remove the category from there\n"
+"as well."
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:65
msgid "Use Open311 update-sending extension"
msgstr ""
-#: templates/web/base/admin/contact-form.html:124
+#: templates/web/base/admin/contact-form.html:125
msgid "Use this field to record details that are only displayed in the admin. Input is not shown publicly, and is not sent to the body."
msgstr ""
@@ -4222,27 +4360,26 @@ msgstr ""
msgid "User ID to attribute fetched comments to"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1700
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1805
msgid "User flag removed"
msgstr "Kullanıcı etiketi kaldırıldı"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1672
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1777
msgid "User flagged"
msgstr "Kullanıcı etiketlendi"
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:58
-#, fuzzy
msgid "User has marked as fixed"
-msgstr "Onarıldı olarak işaretle"
+msgstr ""
#: templates/web/base/admin/users.html:5
msgid "User search finds matches in users' names and email addresses."
msgstr "Arama sonuçları kullanıcı adı ve e-posta adresi ile uyumludur."
#: perllib/FixMyStreet/Cobrand/Default.pm:669
-#: perllib/FixMyStreet/Cobrand/Default.pm:723
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
+#: perllib/FixMyStreet/Cobrand/Default.pm:728
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:403
#: templates/web/base/admin/flagged.html:29 templates/web/zurich/header.html:61
msgid "Users"
msgstr "Kullanıcılar"
@@ -4251,9 +4388,9 @@ msgstr "Kullanıcılar"
msgid "Users can perform the following actions within their assigned body or area."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:400
-#: perllib/FixMyStreet/App/Controller/Admin.pm:430
-#: perllib/FixMyStreet/App/Controller/Admin.pm:448
+#: perllib/FixMyStreet/App/Controller/Admin.pm:381
+#: perllib/FixMyStreet/App/Controller/Admin.pm:417
+#: perllib/FixMyStreet/App/Controller/Admin.pm:439
msgid "Values updated"
msgstr "Değerler güncellendi"
@@ -4300,7 +4437,7 @@ msgstr "O bölgede birden fazla iÅŸaretlenmiÅŸ yer mevcut. On tane iÅŸaretlenmiÅ
msgid "We found more than one match for that problem reference:"
msgstr ""
-#: templates/web/base/auth/general.html:6
+#: templates/web/base/auth/general.html:8
#: templates/web/base/report/display.html:35
#: templates/web/base/report/new/oauth_email_form.html:5
msgid "We need your email address, please give it below."
@@ -4335,7 +4472,7 @@ msgstr "Mümkün olan en kısa sürede size dönüş yapacağız."
msgid "What was your experience of getting the problem fixed?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:52
+#: templates/web/base/admin/category_edit.html:27
#: templates/web/zurich/admin/body.html:18
msgid "When edited"
msgstr "Yayınlandığında"
@@ -4344,11 +4481,19 @@ msgstr "Yayınlandığında"
msgid "When sent"
msgstr "Gönderildiğinde"
-#: templates/web/base/report/_inspect.html:89
+#: templates/web/base/admin/extra-metadata-form.html:18
+msgid "Whether the user is required to provide a value for this field."
+msgstr ""
+
+#: templates/web/base/alert/_list.html:9
+msgid "Which problems do you want alerts about?"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:99
msgid "Which report is it a duplicate of?"
msgstr ""
-#: templates/web/base/js/translation_strings.html:54
+#: templates/web/base/js/translation_strings.html:57
msgid "Whoa there Testino! Three photos are enough."
msgstr ""
@@ -4356,8 +4501,8 @@ msgstr ""
msgid "Why stop there? <a href=\"/alert\">Set up more alerts</a> for free."
msgstr "Neden devam etmiyorsun? <a href=\"/alert\">Ücretsiz olarak</a> daha fazla uyarı ekle."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:185
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:190
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:14
msgid "Wish"
@@ -4367,7 +4512,7 @@ msgstr ""
msgid "With request searches, it is also possible to search for agency_responsible to limit the requests to those sent to a single administration. The search term is the administration ID provided by <a href=\"%s\">MaPit</a>."
msgstr "kurum_sorumluluğunun birime gelen talepleri sınırlandırması mümkündür. Arama sözcüğü yönetim ID'si <a href=\"%s\">MaPit</a> tarafından sağlanmaktadır."
-#: templates/web/base/front/footer-marketing.html:17
+#: templates/web/base/front/footer-marketing.html:3
msgid "Would you like to contribute to FixMyStreet? Our code is open source and <a href=\"http://fixmystreet.org\">available at fixmystreet.org</a>."
msgstr "FixMyStreet'e katkıda bulunmak ister misin? Şifremiz herkese açıktır ve <a href=\"http://fixmystreet.org\"> burdan ulaşılabilir fixmystreet.org</a>."
@@ -4392,23 +4537,22 @@ msgstr ""
msgid "Year"
msgstr "Yıl"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1202
+#: perllib/FixMyStreet/Cobrand/Default.pm:1236
#: templates/web/base/admin/bodies.html:70
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
#: templates/web/base/admin/category_edit.html:5
#: templates/web/base/admin/flagged.html:47
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:136
+#: templates/web/base/admin/report_edit.html:124
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:25
#: templates/web/base/admin/users.html:32
#: templates/web/base/questionnaire/creator_fixed.html:14
#: templates/web/base/questionnaire/index.html:104
#: templates/web/base/questionnaire/index.html:53
+#: templates/web/base/report/_inspect.html:90
msgid "Yes"
msgstr "Evet"
@@ -4421,7 +4565,7 @@ msgstr "Evet ÅŸifrem var"
msgid "You are complaining that this problem report was unnecessarily moderated:"
msgstr "Bu problem bildirimini gereksiz bir şekilde yönetildiği için şikayet ediyorsun:"
-#: templates/web/base/js/translation_strings.html:70
+#: templates/web/base/js/translation_strings.html:73
msgid "You are offline"
msgstr ""
@@ -4442,7 +4586,11 @@ msgstr "Problemi <a href=\"%s%s\">bu site üzerinde görüntüleyebilir siniz</a
msgid "You can add an abusive user's email to the abuse list, which automatically hides (and never sends) reports they create."
msgstr "Kötü niyetli bir kullanıcının e-postasını otomatik olarak gizlenen (ve asla gönderilmeyen) raporların bulunduğu kara listeye ekleyebilirsiniz."
-#: templates/web/base/contact/index.html:111
+#: templates/web/base/alert/_list.html:18
+msgid "You can choose to subscribe to all problems reported in an area, or reports based on their destination."
+msgstr ""
+
+#: templates/web/base/contact/index.html:115
msgid "You can contact technical support on <a href='mailto:%s'>%s</a>"
msgstr "Teknik destek için <a href='mailto:%s'>%s</a> iletişime geçebilirsiniz."
@@ -4462,7 +4610,7 @@ msgstr ""
msgid "You can help us by finding a contact email address for local problems for %s and emailing it to us at <a href='mailto:%s'>%s</a>."
msgstr "Lokal problemler için bize iletişim kurabileceğimiz e-posta adresi bularak bize yardımcı olabilirsiniz %s için ve bize <a href='mailto:%s'>%s</a>postalayarak."
-#: templates/web/base/admin/body-form.html:91
+#: templates/web/base/admin/body-form.html:93
msgid "You can mark a body as deleted if you do not want it to be active on the site."
msgstr "Eğer bir bölümü sitede aktif olarak bulunsun istemiyorsanız, silindi olarak işaretleyebilir siniz."
@@ -4470,7 +4618,7 @@ msgstr "Eğer bir bölümü sitede aktif olarak bulunsun istemiyorsanız, silind
msgid "You declined; please fill in the box above"
msgstr "Kabul etmediniz; lütfen yukardaki kutuyu doldurun"
-#: templates/web/base/js/translation_strings.html:72
+#: templates/web/base/js/translation_strings.html:75
msgid "You have <a id=\"oFN\" href=\"\"><span>%s</span> saved to submit</a>."
msgstr ""
@@ -4478,7 +4626,7 @@ msgstr ""
msgid "You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"
msgstr "Bu anketi doldurdunuz. Eğer bir sorunuz var ise, lütfen <a href='%s'>iletişime geçin</a>, veya <a href='%s'>problemini sun</a>.\n"
-#: templates/web/base/report/new/form_report.html:37
+#: templates/web/base/report/new/form_report.html:39
#: templates/web/zurich/report/new/fill_in_details_form.html:30
msgid "You have already attached photos to this report. Note that you can attach a maximum of 3 to this report (if you try to upload more, the oldest will be removed)."
msgstr ""
@@ -4536,10 +4684,9 @@ msgstr "Bildirimlerin"
msgid "Your account"
msgstr ""
-#: templates/web/base/alert/_list.html:90
#: templates/web/base/alert/updates.html:19
#: templates/web/base/alert/updates.html:22
-#: templates/web/base/contact/index.html:81
+#: templates/web/base/contact/index.html:80
#: templates/web/base/report/display_tools.html:46
#: templates/web/base/report/display_tools.html:49
#: templates/web/base/report/new/form_user_loggedout_email.html:1
@@ -4549,7 +4696,7 @@ msgid "Your email"
msgstr "E-posta adresiniz"
#: templates/web/base/auth/change_email.html:9
-#: templates/web/base/auth/general.html:55
+#: templates/web/base/auth/general.html:57
#: templates/web/base/report/update/form_user_loggedout_email.html:5
#: templates/web/zurich/auth/general.html:30
#: templates/web/zurich/auth/general.html:58
@@ -4560,21 +4707,32 @@ msgstr "E-posta adresin"
msgid "Your information will only be used in accordance with our <a href=\"/privacy\">privacy policy</a>"
msgstr "Bilgileriniz sadece bizim <a href=\"/privacy\">gizlilik politikası</a> uyumluluğu çerçevesinde kullanılacaktır"
-#: templates/web/base/auth/general.html:107
+#: templates/web/base/auth/general.html:109
#: templates/web/base/contact/index.html:74
#: templates/web/base/report/new/form_user_loggedout_by_email.html:17
-#: templates/web/base/report/update/form_name.html:29
+#: templates/web/base/report/update/form_name.html:33
#: templates/web/zurich/auth/general.html:61
#: templates/web/zurich/report/new/fill_in_details_form.html:63
msgid "Your name"
msgstr "Adınız"
-#: templates/web/base/js/translation_strings.html:62
-#, fuzzy
+#: templates/web/base/my/anonymize.html:13
+msgid "Your name has already been sent to %s, but we can hide it on this page:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:264
+msgid "Your name has been hidden from all your reports and updates."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:260
+msgid "Your name has been hidden."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:65
msgid "Your offline reports"
-msgstr "Bildirimlerin"
+msgstr ""
-#: templates/web/base/auth/general.html:85
+#: templates/web/base/auth/general.html:87
#: templates/web/base/report/new/form_user_loggedout_password.html:10
#: templates/web/base/report/update/form_user_loggedout_password.html:9
#: templates/web/zurich/auth/general.html:34
@@ -4585,6 +4743,7 @@ msgstr "Åžifreniz"
msgid "Your password has been changed"
msgstr "Åžifren deÄŸiÅŸtirildi"
+#: templates/web/base/contact/index.html:87
#: templates/web/base/report/new/form_user_loggedout_by_email.html:26
#: templates/web/zurich/report/new/fill_in_details_form.html:69
msgid "Your phone number"
@@ -4603,7 +4762,7 @@ msgstr "Bildirimlerin"
msgid "Your shortlist"
msgstr ""
-#: templates/web/base/js/translation_strings.html:63
+#: templates/web/base/js/translation_strings.html:66
msgid "Your update has been saved offline for submission when back online."
msgstr ""
@@ -4611,8 +4770,8 @@ msgstr ""
msgid "Your updates"
msgstr "Güncellemelerin"
-#: templates/web/base/report/new/form_user_loggedin.html:18
-#: templates/web/base/report/update/form_name.html:11
+#: templates/web/base/report/new/form_user_loggedin.html:19
+#: templates/web/base/report/update/form_name.html:12
msgid "Yourself"
msgstr ""
@@ -4621,14 +4780,14 @@ msgstr ""
msgid "all"
msgstr ""
+#: perllib/FixMyStreet/DB/Result/Comment.pm:259
+msgid "and a defect raised"
+msgstr ""
+
#: templates/web/base/admin/timeline.html:4
msgid "by %s"
msgstr "%s tarafından"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:290
-msgid "closed as a duplicate report"
-msgstr "tekrarlanmış bildirim olarak işaretle"
-
#: templates/web/base/reports/body.html:6
#: templates/web/base/reports/body.html:7
msgid "council"
@@ -4653,7 +4812,7 @@ msgstr "kullanıcı düzenle"
msgid "from %s different users"
msgstr " %s farklı kullanıcılardan"
-#: templates/web/base/report/_item.html:61
+#: templates/web/base/report/_item.html:63
#: templates/web/zurich/report/_item.html:14
msgid "last updated %s"
msgstr "son güncelleme %s"
@@ -4662,44 +4821,7 @@ msgstr "son güncelleme %s"
msgid "less than a minute"
msgstr "bir dakikadan az"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:280
-msgid "marked as action scheduled"
-msgstr "planlanan eylem olarak iÅŸaretle"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:292
-msgid "marked as an internal referral"
-msgstr "bir iç yönlendirme olarak işaretle"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:282
-msgid "marked as closed"
-msgstr "kapandı olarak işaretle"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:263
-#: perllib/FixMyStreet/DB/Result/Comment.pm:284
-msgid "marked as fixed"
-msgstr "Onarıldı olarak işaretle"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:278
-msgid "marked as in progress"
-msgstr "Devam etmekte olarak iÅŸaretle"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:274
-msgid "marked as investigating"
-msgstr "araştırılıyor olarak işaretle"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:286
-msgid "marked as no further action"
-msgstr "onarılamaz olarak işaretle"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:288
-msgid "marked as not the council's responsibility"
-msgstr "Kurulun sorumluluğu dışında olarak işaretle"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:276
-msgid "marked as planned"
-msgstr "Planlandı olarak işaretle"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:122
+#: perllib/FixMyStreet/App/Controller/Admin.pm:119
#: templates/web/base/admin/questionnaire.html:15
#: templates/web/base/admin/questionnaire.html:16
msgid "n/a"
@@ -4710,13 +4832,10 @@ msgstr "n/a"
msgid "none"
msgstr ""
-#: templates/web/base/admin/category_edit.html:35
-msgid "optional"
-msgstr ""
-
-#: templates/web/base/alert/_list.html:86
-msgid "or"
-msgstr "veya"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:278
+#, fuzzy
+msgid "not the council's responsibility"
+msgstr "Kurulun sorumluluğu dışında olarak işaretle"
#: templates/web/base/js/translation_strings.html:27
msgid "or locate me automatically"
@@ -4741,16 +4860,7 @@ msgstr "özgün giriş: &ldquo;%s&rdquo;"
msgid "other areas:"
msgstr "diğer bölgeler:"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:265
-#: perllib/FixMyStreet/DB/Result/Comment.pm:271
-msgid "reopened"
-msgstr "yeniden açıldı"
-
-#: templates/web/base/admin/category_edit.html:35
-msgid "required"
-msgstr ""
-
-#: templates/web/zurich/footer.html:13
+#: templates/web/zurich/footer.html:12
msgid "sign out"
msgstr "çıkış yap"
@@ -4758,11 +4868,16 @@ msgstr "çıkış yap"
msgid "the local council"
msgstr "ilgili yerel kurul "
-#: templates/web/base/report/_report_meta_info.html:2
+#: templates/web/base/report/_report_meta_info.html:5
#: templates/web/zurich/report/_main.html:5
msgid "there is no pin shown as the user did not use the map"
msgstr "Kullanıcı haritayı kullanmadığından herhangi bir işaret görünmüyor"
+#: templates/web/base/alert/_list.html:1
+#, fuzzy
+msgid "this location"
+msgstr "Bir konum görüntülemek"
+
#: perllib/FixMyStreet/Script/Reports.pm:184
msgid "this type of local problem"
msgstr "bu tip lokal problem"
@@ -4771,15 +4886,13 @@ msgstr "bu tip lokal problem"
msgid "today"
msgstr "bugün"
-#: templates/web/base/js/translation_strings.html:73
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:76
msgid "update"
-msgstr "Güncelleme"
+msgstr ""
-#: templates/web/base/js/translation_strings.html:74
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:77
msgid "updates"
-msgstr "Güncellemeler"
+msgstr ""
#: templates/web/base/admin/report_edit.html:52
msgid "used map"
@@ -4823,10 +4936,10 @@ msgid_plural "%d minutes"
msgstr[0] "%d dakika"
#: perllib/Utils.pm:246
-#, fuzzy, perl-format
+#, perl-format
msgid "%d month"
msgid_plural "%d months"
-msgstr[0] "%d dakika"
+msgstr[0] ""
#: templates/web/base/report/_support.html:6
#, perl-format
@@ -4846,6 +4959,36 @@ msgid "%d year"
msgid_plural "%d years"
msgstr[0] ""
+#: templates/web/base/reports/index.html:92
+#, perl-format
+msgid "%s day"
+msgid_plural "%s days"
+msgstr[0] ""
+
+#: templates/web/base/reports/index.html:55
+#, perl-format
+msgid "%s problem marked as fixed"
+msgid_plural "%s problems marked as fixed"
+msgstr[0] ""
+
+#: templates/web/base/reports/index.html:43
+#, perl-format
+msgid "%s problem reported"
+msgid_plural "%s problems reported"
+msgstr[0] ""
+
+#: templates/web/base/reports/index.html:107
+#, perl-format
+msgid "%s report"
+msgid_plural "%s reports"
+msgstr[0] ""
+
+#: templates/web/base/reports/index.html:49
+#, perl-format
+msgid "%s update on problems"
+msgid_plural "%s updates on problems"
+msgstr[0] ""
+
#: templates/web/base/front/stats.html:19
#, perl-format
msgid "<big>%s</big> fixed in past month"
@@ -4870,11 +5013,11 @@ msgid "<big>%s</big> update on reports"
msgid_plural "<big>%s</big> updates on reports"
msgstr[0] "<big>%s</big> bildirimlerin güncellemeleri"
-#: templates/web/base/report/_item.html:49
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:51
+#, perl-format
msgid "Reported %d day ago"
msgid_plural "Reported %d days ago"
-msgstr[0] "%s tarafından %s de bildirilmiştir"
+msgstr[0] ""
#: templates/web/base/report/new/top_message_some.html:3
#, perl-format
@@ -4888,34 +5031,95 @@ msgid "We do not yet have details for the council that covers this location."
msgid_plural "We do not yet have details for the councils that cover this location."
msgstr[0] " Bahsettiğiniz alanı kapsayan ilgili kurul hakkında detaylı bilgimiz yok."
-#: templates/web/base/report/_item.html:59
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:61
+#, perl-format
msgid "last updated %d day ago"
msgid_plural "last updated %d days ago"
-msgstr[0] "son güncelleme %s"
+msgstr[0] ""
#: templates/email/oxfordshire/archive.txt:9
-#, fuzzy, perl-format
+#, perl-format
msgid "report"
msgid_plural "reports"
-msgstr[0] "Bildirim"
+msgstr[0] ""
-#, fuzzy
-#~ msgid "All inspectors"
-#~ msgstr "Tüm Bildirimler"
+#~ msgid "%s ward, %s"
+#~ msgstr "%s bölüm, %s"
-#, fuzzy
-#~ msgid "External ID:"
-#~ msgstr "Harici URL "
+#~ msgid "%s, within %s ward"
+#~ msgstr "%s, içinde %s bölüm"
-#, fuzzy
-#~ msgid "Report category:"
-#~ msgstr "Kategori oluÅŸtur"
+#~ msgid "-- Pick a property type --"
+#~ msgstr "-- Bir özellik seçiniz --"
-#, fuzzy
-#~ msgid "Reported %d days ago"
-#~ msgstr "%s tarafından %s de bildirilmiştir"
+#~ msgid "Closed:"
+#~ msgstr "Kapalı:"
-#, fuzzy
-#~ msgid "last updated %d days ago"
-#~ msgstr "son güncelleme %s"
+#~ msgid "Duplicate"
+#~ msgstr "Çoğaltmak"
+
+#~ msgid "Fixed:"
+#~ msgstr "Sorun çözüldü:"
+
+#~ msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
+#~ msgstr "&lsquo;%s&rsquo; için yerel sorun uyarı çeşitleri buradadır."
+
+#~ msgid "In Progress"
+#~ msgstr "Devam Etmekte"
+
+#~ msgid "Internal referral"
+#~ msgstr "İç yönlendirme"
+
+#~ msgid "Investigating"
+#~ msgstr "İncelenmekte"
+
+#~ msgid "No further action"
+#~ msgstr "Onarımı mümkün değil"
+
+#~ msgid "Not Responsible"
+#~ msgstr "Sorumlu deÄŸildir"
+
+#~ msgid "Or problems reported to:"
+#~ msgstr "Veya 'e bildirilen sorunlar:"
+
+#~ msgid "Please choose a property type"
+#~ msgstr "Bir özellik seçin"
+
+#~ msgid "Problems within the boundary of:"
+#~ msgstr "İlgilenilen kısım içinde yer alan sorunlar:"
+
+#~ msgid "The simplest alert is our geographic one:"
+#~ msgstr "en basit uyarı bizim coğrafi olandır:"
+
+#~ msgid "closed as a duplicate report"
+#~ msgstr "tekrarlanmış bildirim olarak işaretle"
+
+#~ msgid "marked as action scheduled"
+#~ msgstr "planlanan eylem olarak iÅŸaretle"
+
+#~ msgid "marked as an internal referral"
+#~ msgstr "bir iç yönlendirme olarak işaretle"
+
+#~ msgid "marked as closed"
+#~ msgstr "kapandı olarak işaretle"
+
+#~ msgid "marked as fixed"
+#~ msgstr "Onarıldı olarak işaretle"
+
+#~ msgid "marked as in progress"
+#~ msgstr "Devam etmekte olarak iÅŸaretle"
+
+#~ msgid "marked as investigating"
+#~ msgstr "araştırılıyor olarak işaretle"
+
+#~ msgid "marked as no further action"
+#~ msgstr "onarılamaz olarak işaretle"
+
+#~ msgid "marked as planned"
+#~ msgstr "Planlandı olarak işaretle"
+
+#~ msgid "or"
+#~ msgstr "veya"
+
+#~ msgid "reopened"
+#~ msgstr "yeniden açıldı"
diff --git a/locale/uk_UA.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/uk_UA.UTF-8/LC_MESSAGES/FixMyStreet.po
index 13c101a97..1508c667d 100644
--- a/locale/uk_UA.UTF-8/LC_MESSAGES/FixMyStreet.po
+++ b/locale/uk_UA.UTF-8/LC_MESSAGES/FixMyStreet.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
-"POT-Creation-Date: 2017-03-30 17:33+0100\n"
+"POT-Creation-Date: 2017-09-13 15:40+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: mySociety <transifex@mysociety.org>, 2016\n"
+"Last-Translator: mySociety <transifex@mysociety.org>, 2017\n"
"Language-Team: Ukrainian (Ukraine) (https://www.transifex.com/mysociety/teams/12067/uk_UA/)\n"
"Language: uk_UA\n"
"MIME-Version: 1.0\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"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"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:695
+#: perllib/FixMyStreet/DB/Result/Problem.pm:632
#: perllib/FixMyStreet/Script/Reports.pm:197
msgid " and "
msgstr "Ñ–"
@@ -91,25 +91,6 @@ msgstr "%s опитувань надіÑлано &ndash; на %s відповіÐ
msgid "%s ref:&nbsp;%s"
msgstr "%s поÑиланнÑ:&nbsp;%s"
-#. ("%s is the site name")
-#: templates/web/base/alert/_list.html:74
-msgid ""
-"%s sends different categories of problem\n"
-"to the appropriate council, so problems within the boundary of a particular council\n"
-"might not match the problems sent to that council. For example, a graffiti report\n"
-"will be sent to the district council, so will appear in both of the district\n"
-"council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
-"for the county council."
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:257 perllib/FixMyStreet/Cobrand/UK.pm:269
-msgid "%s ward, %s"
-msgstr "%s район, %s"
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
-msgid "%s, within %s ward"
-msgstr "%s, в межах %s району"
-
#: perllib/FixMyStreet/Map/OSM.pm:38
msgid "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"
msgstr ""
@@ -118,7 +99,7 @@ msgstr ""
msgid "(Defect &amp; location of defect)"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
#: templates/web/base/admin/users.html:32
msgid "(Email in abuse table)"
msgstr "(поштова Ñкринька в чорному ÑпиÑку)"
@@ -126,35 +107,43 @@ msgstr "(поштова Ñкринька в чорному ÑпиÑку)"
#: templates/web/zurich/admin/report_edit-sdm.html:62
#: templates/web/zurich/admin/report_edit.html:90
msgid "(No name)"
-msgstr ""
+msgstr "(ВідÑутнє імʼÑ)"
#: templates/web/zurich/admin/report_edit-sdm.html:69
#: templates/web/zurich/admin/report_edit.html:97
msgid "(No phone number)"
-msgstr ""
-
-#: templates/web/base/alert/_list.html:25
-msgid "(a default distance which covers roughly 200,000 people)"
-msgstr "(відÑтань по-замовчуванню, що покриває близько 200.000 людей)"
+msgstr "(відÑутній номер телефону)"
-#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
-#: templates/web/base/alert/_list.html:30
-msgid "(alternatively the RSS feed can be customised, within %s)"
+#: templates/web/base/admin/states/index.html:95
+msgid "(a-z and space only)"
msgstr ""
#: templates/web/zurich/report/_item.html:19
msgid "(closed)"
msgstr "(закрито)"
+#: templates/web/base/alert/_list.html:30
+#, fuzzy
+msgid "(covers roughly 200,000 people)"
+msgstr "(відÑтань по-замовчуванню, що покриває близько 200.000 людей)"
+
#: templates/web/zurich/report/_item.html:17
msgid "(fixed)"
msgstr "(полагоджено)"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "(ignored if type is \"String\")"
+msgstr ""
+
#: templates/web/base/around/intro.html:2
msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
msgstr "(графіті, ÑміттÑ, крива бруківка, проблеми з вуличним оÑвітленнÑм тощо)"
-#: templates/web/base/report/_item.html:68
+#: templates/web/base/reports/index.html:69
+msgid "(no longer exists)"
+msgstr ""
+
+#: templates/web/base/report/_item.html:70
msgid "(not sent to council)"
msgstr "(не відправлено муніципалітету)"
@@ -162,38 +151,39 @@ msgstr "(не відправлено муніципалітету)"
msgid "(optional)"
msgstr "(вибірково)"
-#: templates/web/base/report/_item.html:67
+#: templates/web/base/report/_item.html:69
msgid "(sent to both)"
msgstr "(відправлено обидвом)"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:239
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/DB/Result/Problem.pm:454
+#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
+#: templates/web/base/alert/_list.html:36
+msgid "(we also have RSS feeds for problems within %s)"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:245
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:381
msgid "-- Pick a category --"
msgstr "-- Оберіть категорію --"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:460
-msgid "-- Pick a property type --"
-msgstr "-- Оберіть тип майна --"
-
#: templates/web/base/admin/response_templates_select.html:3
msgid "--Choose a template--"
-msgstr ""
+msgstr "--Оберіть шаблон--"
#: templates/web/base/report/new/form_report.html:23
msgid "10 inch pothole on Example St, near post box"
-msgstr ""
+msgstr "Вибоїна 30 Ñм на вул. Зеленій Ð±Ñ–Ð»Ñ Ð¿Ð¾ÑˆÑ‚Ð¸."
-#: templates/web/base/dashboard/index.html:152
+#: templates/web/base/dashboard/index.html:153
msgid "14-30 days old"
msgstr ""
-#: templates/web/base/dashboard/index.html:151
+#: templates/web/base/dashboard/index.html:152
msgid "7-14 days old"
msgstr ""
-#: templates/web/base/admin/body-form.html:48
-#: templates/web/base/admin/body-form.html:49
+#: templates/web/base/admin/body-form.html:50
+#: templates/web/base/admin/body-form.html:51
msgid ""
"<code>MAPIT_URL</code> is set (<code>%s</code>) but no <code>MAPIT_TYPES</code>.<br>\n"
" This is probably why \"area covered\" is empty (below).<br>\n"
@@ -207,13 +197,12 @@ msgstr ""
msgid "<h2>Reports, Statistics and Actions for</h2> <h1>%s</h1>"
msgstr ""
-#. ('The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories')
#. ("The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories")
-#: templates/web/base/reports/_list-filters.html:37
-msgid "<label for=\"statuses\">Show</label> %s <label for=\"filter_categories\">about</label> %s"
+#: templates/web/base/reports/_list-filters.html:48
+msgid "<label for=\"statuses\">Show</label> %s reports <label for=\"filter_categories\">about</label> %s"
msgstr ""
-#: templates/web/base/js/translation_strings.html:71
+#: templates/web/base/js/translation_strings.html:74
msgid "<span>%s</span> saved."
msgstr ""
@@ -224,40 +213,31 @@ msgstr "<strong>%s</strong> актуальні проблеми"
#: templates/web/base/report/new/form_user_loggedout_by_email.html:2
msgid "<strong>No</strong> Let me confirm my report by email"
-msgstr "<strong>ÐÑ–</strong> Я підтверджу ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ðµ-поштою"
+msgstr "<strong>ÐÑ–</strong> Я підтверджу ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ðµ-mail"
#: templates/web/base/report/update/form_user_loggedout_by_email.html:2
msgid "<strong>No</strong> Let me confirm my update by email"
-msgstr "<strong>ÐÑ–</strong> Я підтверджу Ð¿Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ðµ-поштою"
+msgstr "<strong>ÐÑ–</strong> Я підтверджу Ð¿Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ðµ-mail"
-#: templates/web/base/auth/general.html:104
+#: templates/web/base/auth/general.html:106
#: templates/web/zurich/auth/general.html:51
msgid "<strong>No</strong> let me sign in by email"
-msgstr "<strong>ÐÑ–</strong> Ñ Ð·Ð°Ð»Ð¾Ð³Ñ–Ð½ÑŽÑÑŒ через е-пошту"
+msgstr "<strong>ÐÑ–</strong> Ñ Ð·Ð°Ð»Ð¾Ð³Ñ–Ð½ÑŽÑÑŒ через е-mail"
-#: templates/web/base/report/_inspect.html:160
+#: templates/web/base/report/_inspect.html:170
msgid "<strong>Note:</strong> This report has been sent onwards for action. Any changes made won't be passed on."
msgstr ""
-#: templates/web/base/report/_inspect.html:162
+#: templates/web/base/report/_inspect.html:172
msgid "<strong>Note:</strong> This report hasn't yet been sent onwards for action. Any changes made may not be passed on."
msgstr ""
-#: templates/web/base/auth/general.html:80
+#: templates/web/base/auth/general.html:82
#: templates/web/base/report/new/form_user_loggedout_password.html:3
#: templates/web/base/report/update/form_user_loggedout_password.html:2
msgid "<strong>Yes</strong> I have a password"
msgstr "<strong>Так</strong> В мене є пароль"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:10
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:6
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Action Scheduled"
-msgstr "Запланована діÑ"
-
#: templates/web/base/admin/body-form.html:3
#: templates/web/base/admin/body-form.html:4
msgid ""
@@ -271,23 +251,40 @@ msgid "Add a contact using the form below."
msgstr "Додати контакт через форму нижче."
#: templates/web/base/admin/bodies.html:78
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Add body"
msgstr "Додати запиÑ"
+#: templates/web/base/admin/reportextrafields/index.html:24
+msgid "Add extra fields"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:79
+msgid "Add field"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:85
+msgid "Add fixed state"
+msgstr ""
+
#: templates/web/base/admin/body.html:126
#: templates/web/zurich/admin/body.html:31
msgid "Add new category"
msgstr "Додати нову категорію"
+#: templates/web/base/admin/extra-metadata-form.html:72
+#, fuzzy
+msgid "Add option"
+msgstr "додатково"
+
#: templates/web/base/report/_item.html:10
-#: templates/web/base/report/_item.html:14
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_item.html:16
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:19
#: templates/web/base/report/_main.html:30
msgid "Add to shortlist"
-msgstr ""
+msgstr "Додати до переліку"
#: templates/web/base/admin/user_edit.html:4
#: templates/web/base/admin/users.html:48
@@ -295,23 +292,23 @@ msgstr ""
msgid "Add user"
msgstr "Додати кориÑтувача"
-#: perllib/FixMyStreet/Cobrand/Default.pm:730
+#: perllib/FixMyStreet/Cobrand/Default.pm:735
msgid "Add/edit problem categories"
-msgstr ""
+msgstr "Додати/редагувати категорію"
-#: perllib/FixMyStreet/Cobrand/Default.pm:732
+#: perllib/FixMyStreet/Cobrand/Default.pm:737
msgid "Add/edit response priorities"
-msgstr ""
+msgstr "Додати/редагувати пріоритет відповіді"
-#: perllib/FixMyStreet/Cobrand/Default.pm:731
+#: perllib/FixMyStreet/Cobrand/Default.pm:736
msgid "Add/edit response templates"
-msgstr ""
+msgstr "Додати/редагувати шаблон відповіді"
#: templates/web/base/my/my.html:67
msgid "Added %s"
msgstr "Додано %s"
-#: templates/web/base/report/_main.html:145
+#: templates/web/base/report/_main.html:149
msgid "Adding this report to your shortlist will remove it from %s’s shortlist."
msgstr ""
@@ -331,35 +328,43 @@ msgstr "Ð¡Ð¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ %d Ñтворено Ð´Ð»Ñ %s, type %s, парамÐ
msgid "Alert %d disabled (created %s)"
msgstr "Ð¡Ð¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ %d відключено (Ñтворено %s)"
-#: templates/web/base/report/update/form_name.html:38
+#: templates/web/base/report/update/form_name.html:42
msgid "Alert me to future updates"
msgstr "ПовідомлÑти мене про оновленнÑ"
#: templates/web/base/dashboard/index.html:138
#: templates/web/base/dashboard/index.html:21
#: templates/web/base/dashboard/index.html:30
+#: templates/web/base/reports/_list-filters.html:3
msgid "All"
msgstr ""
-#: templates/web/base/reports/index.html:6
#: templates/web/zurich/reports/index.html:13
msgid "All Reports"
msgstr "Ð’ÑÑ– звіти"
#: templates/web/zurich/admin/stats.html:5
msgid "All Reports as CSV"
-msgstr ""
+msgstr "Ð’ÑÑ– звіти у форматі CSV"
#: templates/web/base/admin/category-multiselect.html:5
-#: templates/web/base/admin/responsepriorities/list.html:19
+#: templates/web/base/admin/responsepriorities/list.html:20
msgid "All categories"
+msgstr "Ð’ÑÑ– Категорії"
+
+#: templates/web/base/admin/reportextrafields/edit.html:26
+#, fuzzy
+msgid "All cobrands"
+msgstr "Cobrand"
+
+#: templates/web/base/admin/reportextrafields/edit.html:47
+msgid "All languages"
msgstr ""
#: templates/web/base/main_nav_items.html:0
#: templates/web/base/main_nav_items.html:27
-#: templates/web/base/reports/_list-filters.html:3
#: templates/web/zurich/admin/index-dm.html:12
-#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:21
+#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:20
#: templates/web/zurich/nav_over_content.html:6
msgid "All reports"
msgstr "Ð’ÑÑ– звіти"
@@ -369,6 +374,14 @@ msgstr "Ð’ÑÑ– звіти"
msgid "All reports between %s and %s"
msgstr "Ð’ÑÑ– звіти в проміжку з %s по %s"
+#: templates/web/base/reports/index.html:23
+msgid "All time"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:20
+msgid "Alternatively, we can hide your name on <strong>all of your reports and updates</strong> across the site:"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:47
msgid "An update marked this problem as fixed."
msgstr "ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ð¼Ñ–Ñ‚Ð¸Ð»Ð¾ цю проблему Ñк вирішену."
@@ -378,31 +391,33 @@ msgstr "ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ð¼Ñ–Ñ‚Ð¸Ð»Ð¾ цю проблему Ñк вирÑ
msgid "Anonymous"
msgstr "Ðнонім"
-#: templates/web/base/admin/report_edit.html:134
+#: templates/web/base/report/new/form_user_loggedin.html:21
+#: templates/web/base/report/update/form_name.html:17
+#, fuzzy
+msgid "Anonymous user"
+msgstr "Ðнонім"
+
+#: templates/web/base/admin/report_edit.html:122
#: templates/web/base/admin/update_edit.html:23
msgid "Anonymous:"
msgstr "Ðнонім:"
-#: templates/web/base/report/new/form_user_loggedin.html:20
-#: templates/web/base/report/update/form_name.html:13
+#: templates/web/base/report/new/form_user_loggedin.html:24
+#: templates/web/base/report/update/form_name.html:14
msgid "Another user"
-msgstr ""
-
-#: templates/web/base/front/footer-marketing.html:16
-msgid "Are you a developer?"
-msgstr "Ви розробник?"
+msgstr "Інші кориÑтувачі"
-#: templates/web/base/js/translation_strings.html:56
+#: templates/web/base/js/translation_strings.html:59
msgid "Are you sure you want to cancel this upload?"
-msgstr ""
+msgstr "Ви впевнені, що хочете ÑкаÑувати завантаженнÑ?"
#: templates/web/base/admin/report_edit.html:84
-#: templates/web/base/js/translation_strings.html:66
+#: templates/web/base/js/translation_strings.html:69
#: templates/web/base/report/display_tools.html:6
msgid "Are you sure?"
-msgstr ""
+msgstr "Ви впевнені?"
-#: templates/web/base/admin/body-form.html:75
+#: templates/web/base/admin/body-form.html:77
#: templates/web/base/admin/body.html:20
#: templates/web/zurich/admin/body-form.html:24
msgid "Area covered"
@@ -419,7 +434,7 @@ msgstr ""
#: templates/web/zurich/admin/report_edit.html:209
msgid "Assign to competent body:"
-msgstr ""
+msgstr "ÐŸÑ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐºÐ¾Ð¼Ð¿ÐµÑ‚ÐµÐ½Ñ‚Ð½Ð¾Ð³Ð¾ органу:"
#: templates/web/zurich/admin/report_edit.html:169
#: templates/web/zurich/admin/stats.html:36
@@ -434,11 +449,11 @@ msgstr "Ðазначити зовнішньому відділу:"
msgid "Assign to subdivision:"
msgstr "Ðазначити підрозділу:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:727
+#: perllib/FixMyStreet/Cobrand/Default.pm:732
msgid "Assign users to areas"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:214
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:219
msgid "Assigned to %s"
msgstr "Ðазначити %s"
@@ -457,11 +472,14 @@ msgstr ""
#: templates/web/base/admin/template_edit.html:22
msgid "Auto-response:"
-msgstr ""
+msgstr "Ðвтоматична відповідь:"
-#: templates/web/base/admin/report_edit.html:127
-#: templates/web/base/report/_inspect.html:47
+#: templates/web/base/admin/report-category.html:8
msgid "Available categories"
+msgstr "ДоÑтупні категорії"
+
+#: templates/web/base/reports/index.html:84
+msgid "Average time between a problem being reported and being fixed, last 100 reports."
msgstr ""
#: templates/web/base/dashboard/index.html:109
@@ -474,9 +492,9 @@ msgstr ""
#: templates/web/base/report/new/after_photo.html:6
msgid "Avoid personal information and vehicle number plates"
-msgstr ""
+msgstr "Уникайте оÑобиÑтої інформації та номерних знаків транÑпортних заÑобів"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:417
+#: perllib/FixMyStreet/DB/Result/Problem.pm:344
#: templates/web/zurich/report/_item.html:9
msgid "Awaiting moderation"
msgstr "Очікує перевірки модератором"
@@ -487,15 +505,15 @@ msgstr "Ðазад"
#: templates/web/base/report/_main.html:6
msgid "Back to all reports"
-msgstr ""
+msgstr "ПовернутиÑÑ Ð´Ð¾ вÑÑ–Ñ… звітів"
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
msgid "Ban email address"
msgstr "Забанити адреÑу"
#: perllib/FixMyStreet/Cobrand/Default.pm:650
-#: perllib/FixMyStreet/Cobrand/Default.pm:729
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
+#: perllib/FixMyStreet/Cobrand/Default.pm:734
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:396
#: templates/web/base/admin/bodies.html:1
#: templates/web/base/admin/report_edit.html:55
#: templates/web/zurich/header.html:56
@@ -517,7 +535,11 @@ msgstr "Орган:"
msgid "By Date"
msgstr "По даті"
-#: templates/web/base/auth/token.html:21 templates/web/base/email_sent.html:18
+#: templates/web/base/admin/extra-metadata-form.html:36
+msgid "Can be used to display extra text to the user alongside the field. The default template does not show this (<code>meta.datatype_description</code>), you must add it in <code>category_extras_fields.html</code>"
+msgstr ""
+
+#: templates/web/base/auth/token.html:27 templates/web/base/email_sent.html:20
msgid "Can&rsquo;t find our email? Check your spam folder&nbsp;&ndash; that&rsquo;s the solution 99% of the time."
msgstr ""
@@ -528,18 +550,18 @@ msgstr "Ðе бачите мапу? <em>ПропуÑтіть цей крок</em
#: perllib/FixMyStreet/Cobrand/Default.pm:650
#: templates/web/base/admin/responsepriorities/list.html:8
msgid "Categories"
-msgstr ""
+msgstr "Категорії"
#: templates/web/base/admin/category-checkboxes.html:2
#: templates/web/base/admin/category-multiselect.html:2
msgid "Categories:"
-msgstr ""
+msgstr "Категорії:"
#: templates/web/base/admin/body.html:72
#: templates/web/base/admin/contact-form.html:19
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/report/_inspect.html:38
-#: templates/web/base/report/_item.html:90
+#: templates/web/base/report/_inspect.html:48
+#: templates/web/base/report/_item.html:92
#: templates/web/base/report/new/category.html:6
#: templates/web/base/report/new/category_wrapper.html:3
#: templates/web/zurich/admin/body.html:14
@@ -550,9 +572,9 @@ msgstr ""
msgid "Category"
msgstr "КатегоріÑ"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:852
+#: perllib/FixMyStreet/App/Controller/Admin.pm:956
msgid "Category changed from ‘%s’ to ‘%s’"
-msgstr ""
+msgstr "ÐšÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ñ–Ñ Ð·Ð¼Ñ–Ð½ÐµÐ½Ð° з ‘%s’ на ‘%s’"
#: templates/web/base/admin/stats.html:58
#: templates/web/base/admin/stats_fix_rate.html:1
@@ -574,13 +596,13 @@ msgstr "КатегоріÑ: %s"
#: templates/web/base/my/my.html:24
msgid "Change email"
-msgstr ""
+msgstr "Змінити пошту"
#: templates/web/base/auth/change_email.html:1
#: templates/web/base/auth/change_email.html:3
#: templates/web/base/auth/change_email.html:30
msgid "Change email address"
-msgstr ""
+msgstr "Змінити адреÑу електронної пошти"
#: templates/web/base/auth/change_password.html:1
#: templates/web/base/auth/change_password.html:16
@@ -590,25 +612,11 @@ msgstr ""
msgid "Change password"
msgstr "Змінити пароль"
-#: templates/web/base/admin/contact-form.html:41
-msgid ""
-"Check <strong>confirmed</strong> to indicate that this contact has been confirmed as correct.\n"
-" If you are not sure of the origin or validity of the contact, leave this unchecked."
-msgstr ""
-"Позначте <strong>підтверджений</strong>, щоб вказати, що цей контакт був підтверджений Ñк вірний.\n"
-"Якщо ви не впевнені у походженні та доÑтовірніÑть контакта, залиште не позначеним."
-
-#: templates/web/base/admin/contact-form.html:52
-msgid ""
-"Check <strong>deleted</strong> to remove the category from use. \n"
-" It will not appear as an available category in the drop-down menu on the report-a-problem page."
-msgstr ""
-
-#: templates/web/base/admin/contact-form.html:79
+#: templates/web/base/admin/contact-form.html:80
msgid "Check <strong>inspection required</strong> if reports in this category <strong>must be inspected</strong> before being sent."
msgstr ""
-#: templates/web/base/admin/contact-form.html:63
+#: templates/web/base/admin/contact-form.html:64
msgid ""
"Check <strong>private</strong> if reports in this category should <strong>never be displayed on the website</strong>.\n"
" <br>\n"
@@ -625,11 +633,11 @@ msgid ""
" to the body too. These will appear in the drop-down menu on the report-a-problem page."
msgstr ""
-#: templates/web/base/report/_inspect.html:93
+#: templates/web/base/report/_inspect.html:103
msgid "Choose another"
msgstr ""
-#: templates/web/base/js/translation_strings.html:65
+#: templates/web/base/js/translation_strings.html:68
msgid "Clear offline data"
msgstr ""
@@ -644,31 +652,32 @@ msgstr "ÐатиÑніть на точку на мапі щоб прозвіту
#: templates/web/base/email_sent.html:13
msgid "Click the link in our confirmation email to activate your alert."
-msgstr ""
+msgstr "Ð”Ð»Ñ Ð¿Ñ–Ð´Ñ‚Ð²ÐµÑ€Ð´Ð¶ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÐ¹Ð´Ñ–Ñ‚ÑŒ за поÑиланнÑм в лиÑті, Ñкій ви отримали, Ð´Ð»Ñ Ð°ÐºÑ‚Ð¸Ð²Ð°Ñ†Ñ–Ñ— повідомленнÑ"
#: templates/web/base/email_sent.html:9
msgid "Click the link in our confirmation email to publish your problem."
-msgstr ""
+msgstr "Перейдіть за поÑиланнÑм в електронному лиÑті, Ñкий вам надіÑлали Ð´Ð»Ñ Ð°ÐºÑ‚Ð¸Ð²Ð°Ñ†Ñ–Ñ— в ÑиÑтемі вашої проблеми"
#: templates/web/base/email_sent.html:11
msgid "Click the link in our confirmation email to publish your update."
-msgstr ""
+msgstr "Перейдіть за поÑиланнÑм в електронному лиÑті, Ñкий вам надіÑлали Ð´Ð»Ñ Ð°ÐºÑ‚Ð¸Ð²Ð°Ñ†Ñ–Ñ— в ÑиÑтемі внеÑених змін"
-#: templates/web/base/auth/token.html:18
+#: templates/web/base/auth/token.html:23
msgid "Click the link in our confirmation email to sign in."
-msgstr ""
+msgstr "ÐатиÑніть на поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð² надіÑланому електронному ліÑті, щоб увійти."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:189
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:960
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:17
-#: templates/web/base/admin/report_blocks.html:27
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:43
-#: templates/web/base/report/banner.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:18
+#: templates/web/base/auth/token.html:20
+#, fuzzy
+msgid "Click the link in that email to sign in."
+msgstr "ÐатиÑніть на поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð² надіÑланому електронному ліÑті, щоб увійти."
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:134
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:194
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:965
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:11
+#: templates/web/base/admin/states/index.html:103
+#: templates/web/base/admin/states/index.html:27
+#: templates/web/base/admin/states/index.html:33
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:10
#: templates/web/zurich/admin/header.html:16
@@ -676,23 +685,17 @@ msgstr ""
msgid "Closed"
msgstr "Закрито"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:889
+#: perllib/FixMyStreet/DB/Result/Problem.pm:826
msgid "Closed by council"
msgstr "Закрито муніципалітетом"
-#: templates/web/base/reports/_list-filters.html:13
-msgid "Closed reports"
-msgstr ""
-
-#: templates/web/base/admin/problem_row.html:38
-msgid "Closed:"
-msgstr "Закрито:"
-
#: templates/web/base/admin/report_edit.html:37
msgid "Co-ordinates:"
msgstr "Погоджувачы:"
#: templates/web/base/admin/list_updates.html:10
+#: templates/web/base/admin/reportextrafields/edit.html:24
+#: templates/web/base/admin/reportextrafields/index.html:7
msgid "Cobrand"
msgstr "Cobrand"
@@ -706,10 +709,13 @@ msgstr "Cobrand data:"
msgid "Cobrand:"
msgstr "Cobrand:"
+#: templates/web/base/admin/extra-metadata-form.html:14
+msgid "Code"
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:50
-#, fuzzy
msgid "Collapse map"
-msgstr "викроиÑтана мапа"
+msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:646
#: templates/web/base/admin/config_page.html:1
@@ -737,9 +743,8 @@ msgstr ""
msgid "Confirmation"
msgstr "ПідтвердженнÑ"
-#: templates/web/base/admin/body.html:85
-#: templates/web/base/admin/category_edit.html:54
-#: templates/web/base/admin/contact-form.html:47
+#: templates/web/base/admin/contact-form.html:56
+#: templates/web/zurich/admin/contact-form.html:12
#: templates/web/zurich/admin/stats.html:40
msgid "Confirmed"
msgstr "Підтверджено"
@@ -772,10 +777,10 @@ msgstr "ЗвернутиÑÑŒ до команди"
#: templates/web/zurich/admin/report_edit-sdm.html:42
#: templates/web/zurich/admin/report_edit.html:61
msgid "Coordinates:"
-msgstr ""
+msgstr "Координати:"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1668
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1696
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1773
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1801
msgid "Could not find user"
msgstr "Ðе вдалоÑÑŒ знайти кориÑтувача"
@@ -795,33 +800,28 @@ msgstr "Контакти ради Ð´Ð»Ñ %s"
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:83
-#, fuzzy
msgid "Council has marked as closed"
-msgstr "позначено закритим"
+msgstr ""
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:57
-#, fuzzy
msgid "Council has marked as fixed"
-msgstr "позначено полагодженим"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:80
-#, fuzzy
msgid "Council has marked as in progress"
-msgstr "позначено в процеÑÑ–"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:82
-#, fuzzy
msgid "Council has marked as investigating"
-msgstr "позначено у вивченні"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:81
-#, fuzzy
msgid "Council has marked as planned"
-msgstr "позначено запланованим"
+msgstr ""
#: templates/web/base/report/_council_sent_info.html:6
msgid "Council ref:&nbsp;%s"
@@ -838,31 +838,41 @@ msgstr "Рада:"
msgid "Count"
msgstr "ЧиÑло"
+#: templates/web/base/admin/states/index.html:114
+#, fuzzy
+msgid "Create"
+msgstr "Створено"
+
#: templates/web/base/email_sent.html:1
msgid "Create a report"
msgstr "Створити ÑповіщеннÑ"
-#: templates/web/base/admin/contact-form.html:137
+#: templates/web/base/admin/contact-form.html:138
#: templates/web/zurich/admin/body.html:62
msgid "Create category"
msgstr "Створити категорію"
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/responsepriorities/edit.html:58
msgid "Create priority"
-msgstr ""
+msgstr "Створити приоритет"
-#: perllib/FixMyStreet/Cobrand/Default.pm:714
+#: perllib/FixMyStreet/Cobrand/Default.pm:718
+#, fuzzy
+msgid "Create reports/updates as anonymous user"
+msgstr "Створити звіт/Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ñ€Ð°Ð´Ð¸"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:719
msgid "Create reports/updates as the council"
-msgstr ""
+msgstr "Створити звіт/Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ñ€Ð°Ð´Ð¸"
-#: perllib/FixMyStreet/Cobrand/Default.pm:713
+#: perllib/FixMyStreet/Cobrand/Default.pm:717
msgid "Create reports/updates on a user's behalf"
msgstr ""
#: templates/web/base/admin/template_edit.html:46
#: templates/web/zurich/admin/template_edit.html:29
msgid "Create template"
-msgstr ""
+msgstr "Створити шаблон"
#: templates/web/base/admin/problem_row.html:34
#: templates/web/base/admin/templates.html:12
@@ -885,13 +895,15 @@ msgstr "Поточний Ñтан"
msgid "Currently no bodies have been created."
msgstr "Ðаразі жодних органів не було Ñтворено"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:825
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:830
#: templates/web/zurich/admin/report_edit-sdm.html:105
msgid "Customer not contactable"
msgstr ""
#: templates/web/base/dashboard/index.html:5
#: templates/web/base/dashboard/index.html:7
+#: templates/web/base/reports/index.html:15
+#: templates/web/base/reports/index.html:18
msgid "Dashboard"
msgstr "Дашборд"
@@ -899,29 +911,37 @@ msgstr "Дашборд"
msgid "Dealt with by subdivision within 5 working days"
msgstr "Dealt with by subdivision within 5 working days"
-#: templates/web/base/report/_inspect.html:73
+#: templates/web/base/admin/responsepriorities/list.html:9
+msgid "Default"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:39
+#, fuzzy
+msgid "Default priority"
+msgstr "Створити приоритет"
+
+#: templates/web/base/report/_inspect.html:72
msgid "Defect type"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:973
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1078
#: templates/web/base/admin/template_edit.html:50
#: templates/web/zurich/admin/template_edit.html:33
msgid "Delete template"
-msgstr ""
+msgstr "Видалити шаблон"
#: templates/web/base/admin/bodies.html:31
-#: templates/web/base/admin/body.html:87
-#: templates/web/base/admin/category_edit.html:55
#: templates/web/base/admin/contact-form.html:58
-#: templates/web/zurich/admin/contact-form.html:12
+#: templates/web/zurich/admin/contact-form.html:13
msgid "Deleted"
msgstr "Видалено"
-#: templates/web/base/report/_main.html:110
-#: templates/web/base/report/update.html:59
+#: templates/web/base/report/_main.html:114
+#: templates/web/base/report/update.html:68
msgid "Describe why you are moderating this"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:32
#: templates/web/base/admin/responsepriorities/list.html:7
#: templates/web/zurich/admin/index-dm.html:22
#: templates/web/zurich/admin/index-sdm.html:20
@@ -931,7 +951,7 @@ msgstr "ОпиÑ"
#: templates/web/base/admin/responsepriorities/edit.html:17
msgid "Description:"
-msgstr ""
+msgstr "ОпиÑ:"
#: templates/web/base/js/translation_strings.html:33
#: templates/web/zurich/report/new/fill_in_details_form.html:45
@@ -945,31 +965,30 @@ msgstr "Подробиці"
msgid "Details:"
msgstr "Подробиці:"
-#: templates/web/base/admin/body.html:93
+#: templates/web/base/admin/body.html:92
msgid "Devolved"
msgstr "Передано"
#: templates/web/zurich/admin/report_edit-sdm.html:52
#: templates/web/zurich/admin/report_edit.html:71
msgid "Didn't use map"
-msgstr ""
+msgstr "Ðе викориÑтовувати карту"
#: templates/web/base/admin/edit-league.html:8
msgid "Diligency prize league table"
msgstr "Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ð½Ð°Ð¹Ñтаранніших призерів"
-#: templates/web/base/report/_main.html:114
-#: templates/web/base/report/update.html:61
-#, fuzzy
+#: templates/web/base/report/_main.html:118
+#: templates/web/base/report/update.html:70
msgid "Discard changes"
-msgstr "Зберети зміни"
+msgstr ""
#: templates/web/base/admin/open311-form-fields.html:95
msgid "Do not send email alerts on fetched comments to problem creator"
-msgstr ""
+msgstr "Ðе відправлÑти лиÑти автору про нові коментарі"
#. ("%s is the site name")
-#: templates/web/base/auth/general.html:58
+#: templates/web/base/auth/general.html:60
#: templates/web/base/report/new/form_user_loggedout.html:25
#: templates/web/base/report/new/oauth_email_form.html:18
#: templates/web/base/report/update-form.html:30
@@ -977,40 +996,33 @@ msgstr ""
msgid "Do you have a %s password?"
msgstr ""
+#: templates/web/base/report/_inspect.html:87
+msgid "Do you want to automatically raise a defect?"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:57
msgid "Don&rsquo;t know"
msgstr "Ðе знаю"
-#: templates/web/base/contact/index.html:108
+#: templates/web/base/contact/index.html:112
msgid "Don't like forms?"
msgstr "Ðе любите форми?"
-#: templates/web/base/report/_item.html:25
+#: templates/web/base/report/_item.html:27
msgid "Down one"
msgstr ""
-#: templates/web/base/js/translation_strings.html:55
+#: templates/web/base/js/translation_strings.html:58
msgid "Drag and drop photos here or <u>click to upload</u>"
-msgstr ""
-
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:10
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "Duplicate"
-msgstr "Дубль"
+msgstr "ПеретÑгніть фотографії Ñюди чи <u>натиÑніть Ð´Ð»Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ</u>"
-#: templates/web/base/report/_inspect.html:88
-#, fuzzy
+#: templates/web/base/report/_inspect.html:98
msgid "Duplicate of"
-msgstr "Дубль"
+msgstr ""
-#: templates/web/base/report/_inspect.html:98
-#, fuzzy
+#: templates/web/base/report/_inspect.html:108
msgid "Duplicates"
-msgstr "Дубль"
+msgstr ""
#: templates/web/base/admin/body.html:116
msgid ""
@@ -1020,45 +1032,45 @@ msgid ""
" "
msgstr ""
-#: templates/web/base/report/_inspect.html:16
-#: templates/web/base/report/_item.html:81
+#: templates/web/base/report/_inspect.html:26
+#: templates/web/base/report/_item.html:83
msgid "Easting/Northing:"
msgstr ""
#: templates/web/base/admin/list_updates.html:42
#: templates/web/base/admin/problem_row.html:41
-#: templates/web/base/admin/responsepriorities/list.html:26
+#: templates/web/base/admin/responsepriorities/list.html:28
#: templates/web/base/admin/templates.html:22
#: templates/web/base/admin/users.html:34
#: templates/web/zurich/admin/problem_row.html:48
msgid "Edit"
msgstr "Редагувати"
-#: templates/web/base/admin/body.html:140
+#: templates/web/base/admin/body.html:141
#: templates/web/base/admin/index.html:39
#: templates/web/zurich/admin/body.html:69
msgid "Edit body details"
msgstr "Редагувати дані про орган"
-#: perllib/FixMyStreet/Cobrand/Default.pm:724
+#: perllib/FixMyStreet/Cobrand/Default.pm:729
msgid "Edit other users' details"
-msgstr ""
+msgstr "Редагувати інші подробиці про кориÑтувача"
-#: perllib/FixMyStreet/Cobrand/Default.pm:725
+#: perllib/FixMyStreet/Cobrand/Default.pm:730
msgid "Edit other users' permissions"
-msgstr ""
+msgstr "Редагувати права кориÑтувача"
-#: perllib/FixMyStreet/Cobrand/Default.pm:708
+#: perllib/FixMyStreet/Cobrand/Default.pm:712
msgid "Edit report category"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:709
+#: perllib/FixMyStreet/Cobrand/Default.pm:713
msgid "Edit report priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:707
+#: perllib/FixMyStreet/Cobrand/Default.pm:711
msgid "Edit reports"
-msgstr ""
+msgstr "Редагувати звіт"
#: templates/web/base/admin/report_edit.html:0
#: templates/web/base/admin/report_edit.html:14
@@ -1079,15 +1091,15 @@ msgstr "Редагуємо Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ %d"
msgid "Editing user %d"
msgstr "Редагуємо кориÑтувача %d"
-#: templates/web/base/admin/category_edit.html:56
+#: templates/web/base/admin/category_edit.html:30
msgid "Editor"
msgstr "Редактор"
#: templates/web/base/admin/bodies.html:27
-#: templates/web/base/admin/category_edit.html:53
+#: templates/web/base/admin/category_edit.html:28
#: templates/web/base/admin/flagged.html:38
#: templates/web/base/admin/users.html:17
-#: templates/web/base/auth/general.html:49
+#: templates/web/base/auth/general.html:51
#: templates/web/zurich/admin/body-form.html:9
#: templates/web/zurich/admin/body.html:15
#: templates/web/zurich/auth/general.html:24
@@ -1095,29 +1107,30 @@ msgstr "Редактор"
msgid "Email"
msgstr "Е-пошта"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1644
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1749
msgid "Email added to abuse list"
msgstr "Пошта занеÑена в чорний ÑпиÑок"
-#: templates/web/base/admin/contact-form.html:36
-#: templates/web/base/report/new/form_user_loggedin.html:28
-#: templates/web/base/report/update/form_name.html:19
+#: templates/web/base/admin/contact-form.html:38
+#: templates/web/base/alert/_list.html:74
+#: templates/web/base/report/new/form_user_loggedin.html:32
+#: templates/web/base/report/update/form_name.html:23
msgid "Email address"
-msgstr ""
+msgstr "ÐдреÑа електронної пошти"
#: templates/web/base/tokens/confirm_alert.html:6
msgid "Email alert created"
-msgstr ""
+msgstr "Email Ð¾Ð¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñтворено"
#: templates/web/base/tokens/confirm_alert.html:10
msgid "Email alert deleted"
-msgstr ""
+msgstr "Email ÐžÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð¾"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1641
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1746
msgid "Email already in abuse list"
msgstr "ÐдреÑа вже в чорному ÑпиÑку"
-#: templates/web/base/admin/report_edit.html:141
+#: templates/web/base/admin/report_edit.html:129
#: templates/web/base/admin/update_edit.html:35
#: templates/web/base/admin/user-form.html:19
#: templates/web/zurich/admin/body.html:48
@@ -1138,8 +1151,8 @@ msgid ""
" <a href='https://www.mysociety.org/2013/02/20/open311-extended/' class='admin-offsite-link'>this article</a>."
msgstr ""
-#: templates/web/base/admin/body-form.html:120
-#: templates/web/base/admin/body-form.html:121
+#: templates/web/base/admin/body-form.html:122
+#: templates/web/base/admin/body-form.html:123
msgid ""
"Enable this <strong>can be devolved</strong> setting if one or more contacts have a \n"
" different endpoint (and send method) from the body's. For example, if reports for some categories of\n"
@@ -1154,11 +1167,11 @@ msgstr "Кінцева дата:"
msgid "Endpoint"
msgstr "Кінцева точка"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:76
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:81
msgid "Enter a Z&uuml;rich street name"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:15
+#: perllib/FixMyStreet/Cobrand/UK.pm:16
msgid "Enter a nearby UK postcode, or street name and area"
msgstr "Вкажіть поштовий код UK або назву вулиці та міÑцÑ"
@@ -1167,12 +1180,13 @@ msgstr "Вкажіть поштовий код UK або назву вулиці
msgid "Enter a nearby postcode, or street name and area"
msgstr "Введіть найближчу поштову адреÑу, або назву вулиці чи району"
+#: perllib/FixMyStreet/Cobrand/DansMonQwat.pm:14
#: templates/web/base/around/postcode_form.html:5
#: templates/web/base/around/postcode_form.html:6
msgid "Enter a nearby street name and area"
msgstr "Введіть назву вулиці чи району поблизу"
-#: templates/web/base/auth/general.html:116
+#: templates/web/base/auth/general.html:118
#: templates/web/base/report/new/form_user_loggedout_by_email.html:35
#: templates/web/base/report/update/form_user_loggedout_by_email.html:13
#: templates/web/zurich/auth/general.html:65
@@ -1192,10 +1206,10 @@ msgstr "Введіть подробиці проблеми"
msgid "Error"
msgstr "Помилка"
-#: templates/web/base/reports/_list-filters.html:20
-#: templates/web/base/reports/_list-filters.html:28
+#: templates/web/base/reports/_list-filters.html:31
+#: templates/web/base/reports/_list-filters.html:39
msgid "Everything"
-msgstr ""
+msgstr "Ð’ÑÑ–"
#: templates/web/base/admin/body.html:18
#: templates/web/base/admin/category_edit.html:18
@@ -1206,38 +1220,37 @@ msgstr "Зразок поштового коду %s"
msgid "Examples:"
msgstr "Приклади:"
-#: templates/web/base/admin/report_edit.html:122
-#: templates/web/base/report/_inspect.html:42
+#: templates/web/base/admin/report-category.html:3
msgid "Existing category"
-msgstr ""
+msgstr "Категорії Ñ–Ñнують"
#: templates/web/base/js/translation_strings.html:49
msgid "Expand map"
msgstr ""
-#: templates/web/base/report/new/form_report.html:52
+#: templates/web/base/report/new/form_report.html:54
msgid "Explain what’s wrong"
-msgstr ""
+msgstr "ПоÑÑніть чому неправильно"
-#: templates/web/base/dashboard/index.html:146
+#: templates/web/base/dashboard/index.html:147
msgid "Export as CSV"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:913
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:179
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:12
msgid "Extern"
-msgstr ""
+msgstr "Зовнішній"
#: templates/web/base/admin/report_edit.html:97
#: templates/web/base/admin/responsepriorities/edit.html:27
msgid "External ID"
-msgstr ""
+msgstr "Зовнішній ID"
-#: templates/web/base/admin/body-form.html:87
+#: templates/web/base/admin/body-form.html:89
msgid "External URL"
-msgstr ""
+msgstr "Зовнішнє поÑиланнÑ"
#: templates/web/base/admin/report_edit.html:99
msgid "External body"
@@ -1247,18 +1260,30 @@ msgstr ""
msgid "External team"
msgstr ""
-#: templates/web/base/admin/category_edit.html:25
+#: perllib/FixMyStreet/Cobrand/Default.pm:673
+#: templates/web/base/admin/reportextrafields/edit.html:1
+#: templates/web/base/admin/reportextrafields/index.html:1
+#, fuzzy
+msgid "Extra Fields"
+msgstr "Подробиці"
+
+#: templates/web/base/admin/contact-form.html:141
#: templates/web/base/admin/report_edit.html:94
msgid "Extra data:"
msgstr "Додаткові дані:"
-#: templates/web/base/report/_inspect.html:134
-#: templates/web/base/report/_item.html:106
+#: templates/web/base/report/_inspect.html:144
+#: templates/web/base/report/_item.html:108
msgid "Extra details"
-msgstr ""
+msgstr "Подробиці"
#: templates/web/base/contact/submit.html:13
msgid "Failed to send message"
+msgstr "Ðе вдалоÑÑ Ð½Ð°Ð´Ñ–Ñлати повідомленнÑ"
+
+#: templates/web/base/admin/reportextrafields/edit.html:58
+#: templates/web/base/admin/reportextrafields/index.html:9
+msgid "Fields"
msgstr ""
#: templates/web/zurich/admin/index-dm.html:33
@@ -1274,52 +1299,32 @@ msgstr "Ім&rsquo;Ñ"
msgid "Fix this by choosing an <strong>area covered</strong> in the <em>Edit body details</em> form below."
msgstr "Полагодіть це вибравши <strong>зону покриттÑ</strong> в <em>формі Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ñ€Ð³Ð°Ð½Ñƒ </em> нижче."
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:11
-#: templates/web/base/admin/report_blocks.html:26
+#: perllib/FixMyStreet/App/Controller/Admin/States.pm:35
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:133
+#: templates/web/base/admin/states/index.html:29
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:41
-#: templates/web/base/report/banner.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:17
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:45
msgid "Fixed"
msgstr "Вирішено"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:13
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:7
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:62
msgid "Fixed - Council"
msgstr "Вирішено - Рада"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:12
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:63
msgid "Fixed - User"
msgstr "Вирішено - КориÑтувач"
-#: templates/web/base/reports/_list-filters.html:14
-msgid "Fixed reports"
-msgstr ""
-
-#: templates/web/base/admin/problem_row.html:37
-msgid "Fixed:"
-msgstr "Вирішено:"
-
-#: templates/web/base/admin/body-form.html:95
-#: templates/web/base/admin/responsepriorities/edit.html:41
+#: templates/web/base/admin/body-form.html:97
+#: templates/web/base/admin/responsepriorities/edit.html:53
#: templates/web/zurich/admin/body-form.html:36
msgid "Flag as deleted"
msgstr "Відмітьте Ñк видалене"
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/report_blocks.html:23
msgid "Flag user"
msgstr "Відмітьте кориÑтувача"
-#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: perllib/FixMyStreet/Cobrand/Default.pm:644
#: templates/web/base/admin/users.html:20
msgid "Flagged"
msgstr "Відмічено"
@@ -1336,7 +1341,7 @@ msgstr "Відмічені кориÑтувачі випиÑані на <a href=
msgid "Flagged users are not restricted in any way. This is just a list of users that have been marked for attention."
msgstr "Відмічені кориÑтувачі не заборонені. Це проÑто ÑпиÑок кориÑтувачів, Ñкі потребують уваги."
-#: templates/web/base/admin/report_edit.html:147
+#: templates/web/base/admin/report_edit.html:135
#: templates/web/base/admin/user-form.html:100
msgid "Flagged:"
msgstr "Відмічено:"
@@ -1349,21 +1354,25 @@ msgstr "ПроÑлійте за поÑиланнÑм на район щоб ба
msgid "For best results include a close-up and a wide shot"
msgstr ""
-#: templates/web/base/admin/body-form.html:71
+#: templates/web/base/admin/extra-metadata-form.html:52
+msgid "For each option, <strong>Key</strong> is the value which is stored in the database for that option and <strong>Name</strong> is the value displayed to the user."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:73
msgid "For more information, see <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
msgstr "For more information, see <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
-#: templates/web/base/auth/general.html:95
+#: templates/web/base/auth/general.html:97
#: templates/web/base/report/new/form_user_loggedout_password.html:20
#: templates/web/base/report/update/form_user_loggedout_password.html:19
msgid "Forgotten your password?"
msgstr "Забули пароль?"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:743
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:748
msgid "Forwarded to external body"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:744
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:749
msgid "Forwarded wish to external body"
msgstr ""
@@ -1373,6 +1382,10 @@ msgstr ""
msgid "Frequently Asked Questions"
msgstr "ЧаÑто задавані питаннÑ"
+#: templates/web/base/admin/stats.html:102
+msgid "Get Count"
+msgstr ""
+
#: templates/web/base/around/_updates.html:3
#: templates/web/base/report/display_tools.html:14
msgid "Get updates"
@@ -1388,10 +1401,14 @@ msgstr "Отримувати Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð¾ %s проблем"
msgid "Get updates of problems in this %s"
msgstr "Отримувати Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ проблеми в %s"
-#: templates/web/base/alert/_list.html:83
+#: templates/web/base/alert/_list.html:85
msgid "Give me an RSS feed"
msgstr "Дайте RSS фід"
+#: templates/web/base/admin/reportextrafields/edit.html:6
+msgid "Give this collection of fields a name. It is not shown publicly, just here in the admin."
+msgstr ""
+
#: templates/web/base/questionnaire/completed.html:14
msgid "Glad to hear it’s been fixed!"
msgstr ""
@@ -1401,8 +1418,9 @@ msgstr ""
#: templates/web/base/admin/index.html:49
#: templates/web/base/alert/index.html:34
#: templates/web/base/around/postcode_form.html:13
-#: templates/web/base/reports/_list-filters.html:38
-#: templates/web/base/reports/_list-filters.html:53
+#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:64
+#: templates/web/base/reports/index.html:75
#: templates/web/zurich/admin/stats.html:26
msgid "Go"
msgstr "Вперед"
@@ -1411,18 +1429,14 @@ msgstr "Вперед"
msgid "Going to send questionnaire?"
msgstr "ЗбираєтеÑÑŒ відправити опитувальник?"
-#: perllib/FixMyStreet/Cobrand/Default.pm:726
+#: perllib/FixMyStreet/Cobrand/Default.pm:731
msgid "Grant access to the admin"
-msgstr ""
+msgstr "ÐÐ°Ð´Ð°Ð½Ð½Ñ Ð°Ð´Ð¼Ñ–Ð½Ñ–Ñтративного доÑтупу"
#: templates/web/base/admin/index.html:76
msgid "Graph of problem creation by status over time"
msgstr "Графік ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼ з чаÑом"
-#: templates/web/base/reports/index.html:15
-msgid "Greyed-out lines are councils that no longer exist."
-msgstr "Сірі лінії - органи, що більше не Ñ–Ñнують"
-
#: templates/web/base/questionnaire/index.html:48
msgid "Has this problem been fixed?"
msgstr "Проблему було вирішено?"
@@ -1433,7 +1447,7 @@ msgstr "Ви вже Ñповіщали про проблеми раніше, чÐ
#: templates/web/base/main_nav_items.html:40
#: templates/web/zurich/about/faq-de-ch.html:1
-#: templates/web/zurich/footer.html:23
+#: templates/web/zurich/footer.html:22
#: templates/web/zurich/nav_over_content.html:8
msgid "Help"
msgstr "Допомога"
@@ -1443,22 +1457,13 @@ msgstr "Допомога"
msgid "Help <strong>%s</strong> resolve your problem quicker, by providing some extra detail. This extra information will not be published online."
msgstr ""
-#: templates/web/base/alert/_list.html:9
-msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
-msgstr "От типи локальних Ñповіщень про проблеми Ð´Ð»Ñ &lsquo;%s&rsquo;."
-
-#: templates/web/zurich/footer.html:12
+#: templates/web/zurich/footer.html:11
msgid "Hi %s"
msgstr "Вітаємо, %s"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:906
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:19
-#: templates/web/base/admin/report_blocks.html:28
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:911
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:60
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:19
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:11
#: templates/web/zurich/admin/stats.html:32
@@ -1466,16 +1471,33 @@ msgstr "Вітаємо, %s"
msgid "Hidden"
msgstr "Прихований"
-#: templates/web/base/report/_main.html:105
-#, fuzzy
+#: templates/web/base/report/_main.html:109
msgid "Hide entire report"
-msgstr "ПеревідіÑлати ÑповіщеннÑ"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:1
+#: templates/web/base/my/anonymize.html:2
+msgid "Hide my name"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:21
+msgid "Hide my name everywhere"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:10
+msgid "Hide my name in this update"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:16
+msgid "Hide my name on this report"
+msgstr ""
#: templates/web/base/around/display_location.html:67
msgid "Hide old"
msgstr "Приховати заÑтарілі"
#: templates/web/base/around/display_location.html:62
+#: templates/web/base/js/translation_strings.html:55
msgid "Hide pins"
msgstr "Приховати привÑзки"
@@ -1483,7 +1505,16 @@ msgstr "Приховати привÑзки"
msgid "Hide update completely?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:49
+#: templates/web/base/report/_report_meta_info.html:3
+#: templates/web/base/report/update.html:55
+msgid "Hide your name?"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:38
+msgid "Hint"
+msgstr ""
+
+#: templates/web/base/admin/category_edit.html:24
msgid "History"
msgstr "ІÑторіÑ"
@@ -1500,12 +1531,12 @@ msgid "How to send successful reports"
msgstr "Як надіÑлати ÑкіÑне ÑповіщеннÑ"
#: templates/web/base/tokens/confirm_problem.html:36
-#: templates/web/base/tokens/confirm_problem.html:40
+#: templates/web/base/tokens/confirm_problem.html:41
msgid "I just reported a problem on @fixmystreet"
msgstr ""
-#: templates/web/base/tokens/confirm_update.html:19
-#: templates/web/base/tokens/confirm_update.html:23
+#: templates/web/base/tokens/confirm_update.html:20
+#: templates/web/base/tokens/confirm_update.html:25
msgid "I just updated a problem on @fixmystreet"
msgstr ""
@@ -1525,8 +1556,8 @@ msgstr "Ðажаль ми не можем знайти вашу проблему
msgid "ID"
msgstr "Ідентифікатор"
-#: templates/web/base/admin/body-form.html:30
-#: templates/web/base/admin/body-form.html:31
+#: templates/web/base/admin/body-form.html:32
+#: templates/web/base/admin/body-form.html:33
msgid ""
"Identify a <strong>parent</strong> if this body is itself part of another body.\n"
" For basic installations, you don't need to join bodies in this way."
@@ -1534,10 +1565,18 @@ msgstr ""
"Визначіть <strong>предка</strong> Ñкщо цей орган Ñ” чаÑтиною іншого органу.\n"
" Ð”Ð»Ñ Ð±Ð°Ð·Ð¾Ð²Ð¸Ñ… налаштувань вам не потрібно поєднувати органи таким чином."
+#: templates/web/base/auth/token.html:19
+msgid "If there's a user associated with the address you entered, we've sent a confirmation email."
+msgstr ""
+
#: templates/web/base/admin/responsepriorities/edit.html:23
msgid "If this priority is passed to an external service (e.g. Exor/Confirm) enter the priority code to use with that service here."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:24
+msgid "If ticked the user won’t see an input field, just the ‘Description’ text."
+msgstr ""
+
#: templates/web/base/admin/contact-form.html:14
msgid ""
"If two or more bodies serve the same location, FixMyStreet combines identical categories into a single entry in\n"
@@ -1548,9 +1587,9 @@ msgstr ""
#: templates/web/base/questionnaire/completed.html:8
msgid "If you get some more information about the status of your problem, please come back to the site and leave an update."
-msgstr ""
+msgstr "Якщо ви отримаєте більше інформації про Ñтан вашої проблеми, будь лаÑка, повернітьÑÑ Ð½Ð° Ñайт Ñ– залиште оновленнÑ."
-#: templates/web/base/admin/responsepriorities/edit.html:33
+#: templates/web/base/admin/responsepriorities/edit.html:45
msgid "If you only want this priority to be an option for specific categories, pick them here. By default they will show for all categories."
msgstr ""
@@ -1573,7 +1612,7 @@ msgid ""
"(please note it will not be sent to the council)."
msgstr ""
-#: templates/web/base/admin/contact-form.html:30
+#: templates/web/base/admin/contact-form.html:32
msgid "If you're using <strong>a send method that is not email</strong>, enter the service ID (Open311) or equivalent identifier here."
msgstr "If you're using <strong>a send method that is not email</strong>, enter the service ID (Open311) or equivalent identifier here."
@@ -1600,7 +1639,7 @@ msgid ""
" when they are shown on the site. Enter the ID (number) of that user."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:133
+#: perllib/FixMyStreet/App/Controller/Contact.pm:134
msgid "Illegal ID"
msgstr "Ðевірний ідентифікатор"
@@ -1608,13 +1647,6 @@ msgstr "Ðевірний ідентифікатор"
msgid "Illegal feed selection"
msgstr "Ðевірний вибір завантаженнÑ"
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "In Progress"
-msgstr "Ð’ процеÑÑ–"
-
#: templates/web/base/admin/flagged.html:39
msgid "In abuse table?"
msgstr "Ð’ чорний ÑпиÑок?"
@@ -1623,18 +1655,17 @@ msgstr "Ð’ чорний ÑпиÑок?"
msgid "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:192
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:954
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:9
-#: templates/web/base/report/banner.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:5
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:197
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:959
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:8
msgid "In progress"
msgstr "Ð’ процеÑÑ–"
+#: templates/web/base/admin/contact-form.html:57
+msgid "Inactive"
+msgstr ""
+
#: templates/web/base/tokens/confirm_alert.html:11
msgid "Inbox zero, here we come!"
msgstr ""
@@ -1651,11 +1682,15 @@ msgstr "Включити непідтверджені ÑповіщеннÑ"
msgid "Incorrect has_photo value \"%s\""
msgstr "Ðевірне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ has_photo \"%s\""
-#: templates/web/base/admin/contact-form.html:84
+#: templates/web/base/report/_inspect.html:5
+msgid "Inspect report"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:85
msgid "Inspection required"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:711
+#: perllib/FixMyStreet/Cobrand/Default.pm:715
msgid "Instruct contractors to fix problems"
msgstr ""
@@ -1663,13 +1698,6 @@ msgstr ""
msgid "Internal notes"
msgstr "Внутрішні нотатки"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:11
-msgid "Internal referral"
-msgstr "Внутрішнє поÑиланнÑ"
-
#: templates/web/base/offline/appcache.html:3
msgid "Internet glitch"
msgstr ""
@@ -1678,7 +1706,7 @@ msgstr ""
msgid "Invalid agency_responsible value %s"
msgstr "Ðевірне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ agency_responsible %s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1502
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1607
msgid "Invalid end date"
msgstr "Ðевірна кінцева дата"
@@ -1686,26 +1714,15 @@ msgstr "Ðевірна кінцева дата"
msgid "Invalid format %s specified."
msgstr "Ðевірний формат %s ."
-#: perllib/FixMyStreet/App/Controller/Report.pm:398
+#: perllib/FixMyStreet/App/Controller/Report.pm:409
msgid "Invalid location. New location must be covered by the same council."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1498
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1603
msgid "Invalid start date"
msgstr "Ðевірна початкова дата"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:7
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:4
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Investigating"
-msgstr "ДоÑлідженнÑ"
-
-#: templates/web/base/contact/blurb.html:8
+#: templates/web/base/contact/blurb.html:2
msgid "It's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there."
msgstr ""
@@ -1713,37 +1730,59 @@ msgstr ""
msgid "It’s on its way to the council right now."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:177
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:182
msgid "Jurisdiction Unknown"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:15
msgid "Jurisdiction unknown"
msgstr ""
-#: templates/web/base/auth/general.html:91
+#: templates/web/base/auth/general.html:93
#: templates/web/base/report/new/form_user_loggedout_password.html:16
#: templates/web/base/report/update/form_user_loggedout_password.html:15
#: templates/web/zurich/auth/general.html:40
msgid "Keep me signed in on this computer"
msgstr "Запам'Ñтати мене на цьому комп'ютері"
+#: templates/web/base/admin/extra-metadata-form.html:61
+msgid "Key"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:9
+#: templates/web/base/admin/states/index.html:95
+msgid "Label"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:6
+#: templates/web/base/admin/reportextrafields/edit.html:45
+msgid "Language"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/index.html:8
+msgid "Languages"
+msgstr ""
+
#: templates/web/base/dashboard/index.html:50
msgid "Last 4 weeks"
msgstr ""
#: templates/web/base/dashboard/index.html:49
-#, fuzzy
+#: templates/web/base/reports/index.html:38
msgid "Last 7 days"
-msgstr "ОÑтаннє поновленнÑ:"
+msgstr ""
#: templates/web/base/admin/body.html:74
#: templates/web/zurich/admin/body.html:16
msgid "Last editor"
msgstr "ОÑÑ‚Ð°Ð½Ð½Ñ Ð¿Ñ€Ð°Ð²ÐºÐ°"
+#: templates/web/base/questionnaire/index.html:25
+msgid "Last update"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:89
msgid "Last update:"
msgstr "ОÑтаннє поновленнÑ:"
@@ -1752,23 +1791,27 @@ msgstr "ОÑтаннє поновленнÑ:"
msgid "Last&nbsp;update:"
msgstr "ОÑтаннє&nbsp;поновленнÑ:"
-#: templates/web/base/report/_inspect.html:20
-#: templates/web/base/report/_item.html:86
+#: templates/web/base/report/_inspect.html:30
+#: templates/web/base/report/_item.html:88
msgid "Latitude/Longitude:"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:50
+#: templates/web/base/reports/_list-filters.html:61
msgid "Least recently updated"
msgstr ""
-#: templates/web/base/admin/body-form.html:127
+#: templates/web/base/admin/body-form.html:129
msgid "Leave this blank if all reports to this body should be sent using the same send method (e.g., \"%s\")."
msgstr "Залишіть це поле порожнім Ñкщо вÑÑ– ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ†ÑŒÐ¾Ð¼Ñƒ органу будуть відÑилатиÑÑŒ одним Ñ– тим Ñамим чином (наприклад, \"%s\")."
-#: templates/web/base/dashboard/index.html:150
+#: templates/web/base/dashboard/index.html:151
msgid "Less than 7 days old"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:47
+msgid "List"
+msgstr ""
+
#: templates/web/base/admin/body.html:31
msgid "List all reported problems"
msgstr "Показати вÑÑ– прозвітовані проблеми"
@@ -1799,23 +1842,23 @@ msgstr "Локальні ÑповіщеннÑ"
msgid "Locate the problem on a map of the area"
msgstr "Позначте проблему на карті району"
-#: templates/web/base/auth/general.html:22
+#: templates/web/base/auth/general.html:24
#: templates/web/base/report/new/form_user_loggedout.html:6
#: templates/web/base/report/update/form_user_loggedout.html:7
msgid "Log in with Facebook"
msgstr ""
-#: templates/web/base/auth/general.html:30
+#: templates/web/base/auth/general.html:32
#: templates/web/base/report/new/form_user_loggedout.html:14
#: templates/web/base/report/update/form_user_loggedout.html:15
msgid "Log in with Twitter"
msgstr ""
-#: templates/web/base/js/translation_strings.html:59
+#: templates/web/base/js/translation_strings.html:62
msgid "Log in with email"
msgstr ""
-#: templates/web/base/dashboard/index.html:145
+#: templates/web/base/dashboard/index.html:146
#: templates/web/base/dashboard/index.html:38
msgid "Look up"
msgstr ""
@@ -1824,11 +1867,11 @@ msgstr ""
msgid "MAP"
msgstr "Мапа"
-#: perllib/FixMyStreet/Cobrand/Default.pm:712
+#: perllib/FixMyStreet/Cobrand/Default.pm:716
msgid "Manage shortlist"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:45
+#: templates/web/base/reports/_list-filters.html:56
msgid "Manual order"
msgstr ""
@@ -1844,19 +1887,11 @@ msgstr ""
msgid "Mark users whose behaviour you want to keep a check on as <strong>flagged</strong>."
msgstr "Позначте кориÑтувачів, чию поведінку ви хочете відÑтежувати <strong>прапорцем</strong>."
-#: templates/web/base/reports/index.html:27
-msgid "Marked fixed/closed in the past eight weeks"
-msgstr ""
-
-#: templates/web/base/reports/index.html:28
-msgid "Marked fixed/closed more than eight weeks ago"
-msgstr ""
-
-#: perllib/FixMyStreet/Cobrand/Default.pm:710
+#: perllib/FixMyStreet/Cobrand/Default.pm:714
msgid "Markup problem details"
msgstr ""
-#: templates/web/base/contact/index.html:96
+#: templates/web/base/contact/index.html:100
msgid "Message"
msgstr "ПовідомленнÑ"
@@ -1876,68 +1911,69 @@ msgstr ""
msgid "Missing jurisdiction_id"
msgstr "Бракує jurisdiction_id"
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:706
+#: perllib/FixMyStreet/Cobrand/Default.pm:710
msgid "Moderate report details"
msgstr ""
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate this report"
msgstr ""
#: templates/web/base/report/update.html:12
-#, fuzzy
msgid "Moderate this update"
-msgstr "Перевідкрито %s о %s"
+msgstr ""
-#: templates/web/base/report/_main.html:69
-#: templates/web/base/report/update.html:49
-#, fuzzy
+#: templates/web/base/report/_main.html:73
+#: templates/web/base/report/update.html:58
msgid "Moderated by %s at %s"
-msgstr "Перевідкрито %s о %s"
+msgstr ""
#: templates/web/zurich/admin/stats.html:34
msgid "Moderated by division within one working day"
msgstr "МодеруєтьÑÑ Ð¿Ñ–Ð´Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð¾Ð¼ на протÑзі робочого днÑ"
-#: templates/web/base/report/_main.html:109
-#: templates/web/base/report/update.html:57
-#, fuzzy
+#: templates/web/base/report/_main.html:113
+#: templates/web/base/report/update.html:66
msgid "Moderation reason:"
-msgstr "інші зони:"
+msgstr ""
#: templates/web/base/admin/stats.html:11
msgid "Month"
msgstr "МіÑÑць"
-#: templates/web/base/reports/_list-filters.html:51
+#: templates/web/base/reports/_list-filters.html:62
msgid "Most commented"
msgstr ""
#: templates/web/base/admin/bodies.html:25
#: templates/web/base/admin/body-form.html:24
+#: templates/web/base/admin/extra-metadata-form.html:65
#: templates/web/base/admin/flagged.html:16
#: templates/web/base/admin/flagged.html:37
#: templates/web/base/admin/index.html:62
#: templates/web/base/admin/list_updates.html:7
+#: templates/web/base/admin/reportextrafields/edit.html:11
+#: templates/web/base/admin/reportextrafields/index.html:6
#: templates/web/base/admin/reports.html:14
#: templates/web/base/admin/responsepriorities/list.html:6
+#: templates/web/base/admin/states/index.html:108
+#: templates/web/base/admin/states/index.html:11
#: templates/web/base/admin/users.html:16
-#: templates/web/base/auth/general.html:106
-#: templates/web/base/report/new/form_user_loggedin.html:40
+#: templates/web/base/auth/general.html:108
+#: templates/web/base/report/new/form_user_loggedin.html:42
#: templates/web/base/report/new/form_user_loggedout_by_email.html:7
-#: templates/web/base/report/update/form_name.html:23
-#: templates/web/base/reports/index.html:23
+#: templates/web/base/report/update/form_name.html:27
#: templates/web/zurich/admin/body-form.html:4
#: templates/web/zurich/auth/general.html:60
#: templates/web/zurich/report/new/fill_in_details_form.html:59
msgid "Name"
msgstr "Ім'Ñ"
-#: templates/web/base/admin/report_edit.html:139
+#: templates/web/base/admin/report_edit.html:127
#: templates/web/base/admin/responsepriorities/edit.html:13
#: templates/web/base/admin/update_edit.html:34
#: templates/web/base/admin/user-form.html:16
@@ -1949,7 +1985,7 @@ msgstr "Ім'Ñ:"
msgid "Name: %s"
msgstr "Ім'Ñ: %s"
-#: templates/web/base/report/_inspect.html:28
+#: templates/web/base/report/_inspect.html:38
msgid "Navigate to this problem"
msgstr ""
@@ -1958,16 +1994,16 @@ msgstr ""
msgid "Nearest named road to the pin placed on the map (automatically generated using OpenStreetMap): %s%s"
msgstr "Ðайближча дорога до шпильки на карті (автоматично згенеровано через OpenStreetMap): %s%s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:129
+#: perllib/FixMyStreet/Cobrand/UK.pm:134
msgid "Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"
msgstr "Ðайближчий поштовий Ñ–Ð½Ð´ÐµÐºÑ Ð´Ð¾ шпильки на карті (автоматично згенеровано): %s (відÑтань: %sм)"
-#: perllib/FixMyStreet/Cobrand/Default.pm:527
-#: perllib/FixMyStreet/Cobrand/Default.pm:567
+#: perllib/FixMyStreet/Cobrand/Default.pm:538
+#: perllib/FixMyStreet/Cobrand/Default.pm:566
msgid "Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"
msgstr "Ðайближча дорога до шпильки на карті (автоматично згенеровано через Bing карти): %s%s"
-#: perllib/FixMyStreet/Script/Alerts.pm:319
+#: perllib/FixMyStreet/Script/Alerts.pm:316
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s\n"
"\n"
@@ -1975,25 +2011,29 @@ msgstr ""
"Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s\n"
"\n"
-#: templates/web/base/auth/token.html:17 templates/web/base/email_sent.html:5
+#: templates/web/base/auth/token.html:18
+msgid "Nearly done!"
+msgstr ""
+
+#: templates/web/base/auth/token.html:22 templates/web/base/email_sent.html:5
msgid "Nearly done! Now check your email&hellip;"
msgstr ""
-#: templates/web/base/reports/index.html:24
-msgid "New <br>problems"
-msgstr "Ðові <br>проблеми"
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:131
+msgid "New"
+msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:259
+#: perllib/FixMyStreet/App/Controller/Admin.pm:262
msgid "New body added"
msgstr "Ðовий орган додано"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:405
+#: perllib/FixMyStreet/App/Controller/Admin.pm:386
msgid "New category contact added"
msgstr "Ðовий контакт категорії додано"
#: templates/web/base/auth/change_email.html:26
msgid "New email address:"
-msgstr ""
+msgstr "Ðова адреÑа електронної пошти:"
#: templates/web/zurich/admin/report_edit-sdm.html:109
#: templates/web/zurich/admin/report_edit.html:137
@@ -2010,12 +2050,12 @@ msgstr ""
#: templates/web/base/auth/change_password.html:35
msgid "New password:"
-msgstr ""
+msgstr "Ðовий пароль:"
#: templates/web/base/admin/responsepriorities/edit.html:4
-#: templates/web/base/admin/responsepriorities/list.html:32
+#: templates/web/base/admin/responsepriorities/list.html:34
msgid "New priority"
-msgstr ""
+msgstr "Ðовий приоритет"
#: db/alert_types.pl:38
msgid "New problems for {{COUNCIL}} within {{WARD}} ward on FixMyStreet"
@@ -2042,6 +2082,7 @@ msgid "New reports"
msgstr "Ðові ÑповіщеннÑ"
#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/states/index.html:91
msgid "New state"
msgstr "Ðовий Ñтан"
@@ -2049,9 +2090,9 @@ msgstr "Ðовий Ñтан"
#: templates/web/base/admin/templates.html:28
#: templates/web/zurich/admin/template_edit.html:9
msgid "New template"
-msgstr ""
+msgstr "Ðовий шаблон"
-#: templates/web/base/reports/_list-filters.html:47
+#: templates/web/base/reports/_list-filters.html:58
msgid "Newest"
msgstr ""
@@ -2059,20 +2100,19 @@ msgstr ""
msgid "Next"
msgstr "Далі"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1203
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
+#: perllib/FixMyStreet/Cobrand/Default.pm:1237
#: templates/web/base/admin/category_edit.html:4
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:137
+#: templates/web/base/admin/report_edit.html:125
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:26
#: templates/web/base/questionnaire/creator_fixed.html:16
#: templates/web/base/questionnaire/index.html:106
#: templates/web/base/questionnaire/index.html:55
+#: templates/web/base/report/_inspect.html:92
msgid "No"
msgstr "ÐÑ–"
@@ -2088,7 +2128,7 @@ msgstr "Без органу"
msgid "No council"
msgstr "Без департаменту"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:445
+#: perllib/FixMyStreet/DB/Result/Problem.pm:372
msgid "No council selected"
msgstr "Ðе вибраний департамент"
@@ -2104,25 +2144,16 @@ msgstr "Ðе знайдено маркованих проблем"
msgid "No flagged users found."
msgstr "Ðе знайдено маркованих кориÑтувачів"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:14
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:8
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "No further action"
-msgstr "Ðеможливо виправити"
-
#: templates/web/zurich/admin/report_edit-sdm.html:125
#: templates/web/zurich/admin/report_edit.html:259
msgid "No further updates"
msgstr "Подальші Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ñутні"
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:84
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:68
msgid "No inspections by that inspector in the selected date range."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:86
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:70
msgid "No inspections in the selected date range."
msgstr ""
@@ -2130,8 +2161,8 @@ msgstr ""
msgid "No result returned"
msgstr "ÐÑ–Ñкого результату не повернено"
-#: templates/web/base/admin/body-form.html:66
-#: templates/web/base/admin/body-form.html:67
+#: templates/web/base/admin/body-form.html:68
+#: templates/web/base/admin/body-form.html:69
msgid ""
"No specific areas are currently available, because the <code>MAPIT_URL</code> in\n"
" your config file is not pointing to a live MapIt service."
@@ -2164,17 +2195,8 @@ msgid ""
" activity across their body), the ability to hide reports or set special report statuses."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:9
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "Not Responsible"
-msgstr "Ðе відповідальний"
-
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:181
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:186
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:933
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:13
msgid "Not contactable"
@@ -2193,7 +2215,7 @@ msgid "Not reported to council"
msgstr "Ðе прозвітовано департаменту"
#: templates/web/base/admin/body.html:75
-#: templates/web/base/admin/category_edit.html:57
+#: templates/web/base/admin/category_edit.html:31
#: templates/web/zurich/admin/body.html:17
msgid "Note"
msgstr "Ðотатка"
@@ -2203,7 +2225,7 @@ msgid "Note that when including unconfirmed reports we use the date the report w
msgstr "Зауважте, коли включаєм непідтвердженне ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¼Ð¸ викориÑтовуєм дату ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÑповіщеннÑ. Вона може відрізнÑтиÑÑŒ від дати Ð¿Ñ–Ð´Ñ‚Ð²ÐµÑ€Ð´Ð¶ÐµÐ½Ð½Ñ ÑповіщеннÑ, тому цифри в датах можуть трошки Ñтрибати."
#: templates/web/zurich/admin/body.html:55
-#: templates/web/zurich/admin/contact-form.html:17
+#: templates/web/zurich/admin/contact-form.html:19
msgid "Note:"
msgstr "Ðотатка:"
@@ -2215,6 +2237,10 @@ msgstr "Ðотатка: <strong>%s</strong>"
msgid "Notes from SDM to DM"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:26
+msgid "Notice"
+msgstr ""
+
#: templates/web/base/report/new/oauth_email_form.html:17
msgid "Now to submit your report&hellip;"
msgstr "Тепер відправити ваше ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ &hellip;"
@@ -2225,63 +2251,43 @@ msgstr "Тепер відправити ваше ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ &hellip;"
msgid "Now to submit your update&hellip;"
msgstr "Тепер щоб відправити ваше поновленнÑ&hellip;"
+#: templates/web/base/reports/index.html:98
+msgid "Number of problems reported in each category, in the last 7 days."
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:43
msgid "OK"
msgstr "Гаразд"
-#: templates/web/base/js/translation_strings.html:67
+#: templates/web/base/js/translation_strings.html:70
msgid "Offline data cleared"
msgstr ""
-#: templates/web/base/js/translation_strings.html:64
+#: templates/web/base/js/translation_strings.html:67
msgid "Offline update data saved"
msgstr ""
-#: templates/web/base/reports/index.html:26
-msgid "Old / unknown <br>problems"
-msgstr "ЗаÑтарілі / невизначені <br>проблеми"
-
#: templates/web/base/admin/questionnaire.html:24
msgid "Old state"
msgstr "ЗаÑтарілий Ñтан"
-#: templates/web/base/reports/index.html:28
-msgid "Older <br>fixed"
-msgstr "Раніше <br>виправлено"
-
-#: templates/web/base/reports/index.html:25
-msgid "Older <br>problems"
-msgstr "Старіші <br>проблеми"
-
-#: templates/web/base/reports/_list-filters.html:48
+#: templates/web/base/reports/_list-filters.html:59
msgid "Oldest"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:900
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:25
-#: templates/web/base/admin/report_blocks.html:6
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:905
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:10
+#: templates/web/base/admin/states/index.html:102
+#: templates/web/base/admin/states/index.html:25
+#: templates/web/base/admin/states/index.html:32
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:3
-#: templates/web/base/report/update/form_update.html:41
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:7
#: templates/web/zurich/admin/update_edit.html:18
msgid "Open"
msgstr "Відкрити"
-#: templates/web/base/reports/index.html:25
-msgid "Open for more than four weeks, with an update within the past eight weeks"
-msgstr ""
-
-#: templates/web/base/reports/index.html:26
-msgid "Open, but not had any update in eight weeks"
-msgstr ""
-
#: templates/web/base/admin/open311-form-fields.html:47
msgid "Open311 API Key"
msgstr ""
@@ -2302,26 +2308,39 @@ msgstr ""
msgid "Open311 specification"
msgstr ""
-#: templates/web/base/alert/_list.html:61
-msgid "Or problems reported to:"
-msgstr "Ðбо проблеми прозвітовані до:"
+#: templates/web/base/admin/extra-metadata-form.html:53
+#, fuzzy
+msgid "Options"
+msgstr "додатково"
+
+#: templates/web/base/alert/_list.html:84
+msgid "Or subscribe by RSS"
+msgstr ""
-#: templates/web/base/alert/_list.html:37
-msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
-msgstr "Ðбо ви можете підпиÑатиÑÑŒ на алÑрми відноÑно вашого району чи департаменту:"
+#: templates/web/base/admin/extra-metadata-form.html:8
+msgid "Order"
+msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:1061
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:659
-#: perllib/FixMyStreet/DB/Result/Problem.pm:642
-#: perllib/FixMyStreet/DB/Result/Problem.pm:649
-#: perllib/FixMyStreet/DB/Result/Problem.pm:664
-#: perllib/FixMyStreet/DB/Result/Problem.pm:673
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1107
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:675
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:676
+#: perllib/FixMyStreet/DB/Result/Problem.pm:579
+#: perllib/FixMyStreet/DB/Result/Problem.pm:586
+#: perllib/FixMyStreet/DB/Result/Problem.pm:601
+#: perllib/FixMyStreet/DB/Result/Problem.pm:610
#: perllib/FixMyStreet/Script/Reports.pm:183
#: perllib/FixMyStreet/Script/Reports.pm:198
msgid "Other"
msgstr "Інше"
+#: templates/web/base/reports/index.html:107
+msgid "Other categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:92
+msgid "Overall average"
+msgstr ""
+
#: templates/web/base/admin/list_updates.html:8
msgid "Owner"
msgstr "ВлаÑник"
@@ -2331,17 +2350,16 @@ msgstr "ВлаÑник"
msgid "Page Not Found"
msgstr "Сторінку не знайдено"
-#: templates/web/base/admin/body-form.html:37
+#: templates/web/base/admin/body-form.html:39
#: templates/web/zurich/admin/body-form.html:14
msgid "Parent"
msgstr "Предок"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:20
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:61
msgid "Partial"
msgstr "ЧаÑтково"
-#: templates/web/base/auth/general.html:109
+#: templates/web/base/auth/general.html:111
#: templates/web/base/report/new/form_user_loggedout_by_email.html:28
#: templates/web/base/report/update/form_user_loggedout_by_email.html:6
#: templates/web/zurich/auth/general.html:32
@@ -2349,7 +2367,7 @@ msgstr "ЧаÑтково"
msgid "Password (optional)"
msgstr "Пароль (опціонально)"
-#: templates/web/base/auth/general.html:82
+#: templates/web/base/auth/general.html:84
msgid "Password:"
msgstr "Пароль:"
@@ -2359,19 +2377,23 @@ msgstr "ПоÑтійне поÑиланнÑ"
#: templates/web/base/admin/user-form.html:144
msgid "Permissions:"
+msgstr "Дозволи:"
+
+#: templates/web/base/report/_inspect.html:19
+msgid "Phone Reporter:"
msgstr ""
#: templates/web/zurich/report/new/fill_in_details_form.html:65
msgid "Phone number"
msgstr "Ðомер телефону"
-#: templates/web/base/report/new/form_user_loggedin.html:57
+#: templates/web/base/report/new/form_user_loggedin.html:59
#: templates/web/base/report/new/form_user_loggedout_by_email.html:25
msgid "Phone number (optional)"
msgstr "Ðомер телефону (опціонально)"
#: perllib/FixMyStreet/Script/Reports.pm:87
-#: templates/web/base/admin/report_edit.html:146
+#: templates/web/base/admin/report_edit.html:134
#: templates/web/base/admin/user-form.html:21
#: templates/web/zurich/admin/stats.html:39
msgid "Phone:"
@@ -2380,9 +2402,9 @@ msgstr "Телефон:"
#: templates/web/base/questionnaire/index.html:78
#: templates/web/base/questionnaire/index.html:93
#: templates/web/base/questionnaire/index.html:95
-#: templates/web/base/report/new/form_report.html:28
-#: templates/web/base/report/new/form_report.html:43
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/new/form_report.html:45
+#: templates/web/base/report/new/form_report.html:47
#: templates/web/base/report/update/form_update.html:22
#: templates/web/base/report/update/form_update.html:24
#: templates/web/base/report/update/form_update.html:7
@@ -2398,34 +2420,35 @@ msgstr "Фото"
#: perllib/FixMyStreet/App/Controller/Photo.pm:186
msgid "Photo is required."
-msgstr ""
+msgstr "Фото обов'Ñзкове."
-#: templates/web/zurich/admin/contact-form.html:14
+#: templates/web/zurich/admin/contact-form.html:16
msgid "Photo required"
-msgstr ""
+msgstr "Потрібне фото"
#: templates/web/base/questionnaire/index.html:78
-#: templates/web/base/report/new/form_report.html:28
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/update/form_update.html:7
#: templates/web/zurich/report/new/fill_in_details_form.html:20
msgid "Photos"
-msgstr ""
+msgstr "ФотографіÑ"
#: templates/web/base/alert/list.html:23
msgid "Photos of recent nearby reports"
msgstr "Фотографії найближчих Ñповіщень"
+#: templates/web/base/reports/index.html:63
+#: templates/web/base/reports/index.html:66
+msgid "Pick your council"
+msgstr ""
+
#: templates/web/base/around/display_location.html:76
#: templates/web/base/js/translation_strings.html:30
msgid "Place pin on map"
msgstr "РозміÑтіть шпильку на карті"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:940
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:946
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:8
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:945
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:951
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:9
#: templates/web/zurich/admin/index-dm.html:9
@@ -2443,31 +2466,27 @@ msgstr "Будь лаÑка перевірте пароль Ñ– ÑпробуйтÐ
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:18
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:43
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:45
#: templates/web/zurich/auth/general.html:3
#: templates/web/zurich/auth/general.html:9
msgid "Please check your email address is correct"
msgstr "Будь лаÑка перевірте чи ваша адреÑа е-пошти вірна"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:350
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:844
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:867
-#: perllib/FixMyStreet/DB/Result/Problem.pm:456
+#: perllib/FixMyStreet/App/Controller/Admin.pm:329
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:873
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:896
+#: perllib/FixMyStreet/DB/Result/Problem.pm:383
#: templates/web/base/js/translation_strings.html:9
msgid "Please choose a category"
msgstr "Будь лаÑка оберіть категорію"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:462
-msgid "Please choose a property type"
-msgstr "Будь лаÑка оберіть тип майна"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:396
+#: perllib/FixMyStreet/App/Controller/Admin.pm:377
#: templates/web/base/admin/bodies.html:4 templates/web/base/admin/body.html:11
msgid "Please correct the errors below"
-msgstr ""
+msgstr "Будь лаÑка, виправте помилки"
-#: templates/web/base/contact/blurb.html:12
+#: templates/web/base/contact/blurb.html:6
msgid ""
"Please do <strong>not</strong> report problems through this form; messages go to\n"
"the team behind this site, not a council. To report a problem,\n"
@@ -2478,18 +2497,18 @@ msgstr ""
msgid "Please do not be abusive&nbsp;&mdash; abusing your council devalues the service for all users."
msgstr "Будь лаÑка не викориÑтовуйте образи&nbsp;&mdash; ображаючи департамент ві підриваєте цінніÑть ÑервіÑу Ð´Ð»Ñ Ð²ÑÑ–Ñ… кориÑтувачів"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:351
-#: perllib/FixMyStreet/DB/Result/Comment.pm:127
+#: perllib/FixMyStreet/App/Controller/Admin.pm:330
+#: perllib/FixMyStreet/DB/Result/Comment.pm:128
#: templates/web/base/js/translation_strings.html:2
msgid "Please enter a message"
msgstr "Будь лаÑка введіть повідомленнÑ"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1200
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1364
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1305
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1469
msgid "Please enter a name"
-msgstr ""
+msgstr "Будь лаÑка, введіть ім'Ñ "
-#: perllib/FixMyStreet/App/Controller/Admin.pm:478
+#: perllib/FixMyStreet/App/Controller/Admin.pm:497
msgid "Please enter a name for this body"
msgstr ""
@@ -2499,15 +2518,15 @@ msgstr ""
msgid "Please enter a password"
msgstr "Будь лаÑка введіть пароль"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:114
-#: perllib/FixMyStreet/DB/Result/Problem.pm:439
+#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/DB/Result/Problem.pm:366
#: templates/web/base/js/translation_strings.html:3
msgid "Please enter a subject"
msgstr "Будь лаÑка вкажіть тему"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1197
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1361
-#: perllib/FixMyStreet/App/Controller/Admin.pm:363
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1302
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1466
+#: perllib/FixMyStreet/App/Controller/Admin.pm:343
#: perllib/FixMyStreet/DB/Result/User.pm:164
#: templates/web/base/js/translation_strings.html:12
#: templates/web/base/js/translation_strings.html:16
@@ -2515,21 +2534,21 @@ msgid "Please enter a valid email"
msgstr "Будь лаÑка введіть правильну адреÑу е-пошти"
#: perllib/FixMyStreet/App/Controller/Alert.pm:350
-#: perllib/FixMyStreet/App/Controller/Contact.pm:124
+#: perllib/FixMyStreet/App/Controller/Contact.pm:125
msgid "Please enter a valid email address"
msgstr "Будь лаÑка введіть правильну адреÑу е-пошти"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:442
+#: perllib/FixMyStreet/DB/Result/Problem.pm:369
#: templates/web/base/js/translation_strings.html:4
msgid "Please enter some details"
msgstr "Будь лаÑка додайте трохи подробиць"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/App/Controller/Contact.pm:114
#: perllib/FixMyStreet/DB/Result/User.pm:161
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:17
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:42
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:44
#: templates/web/base/js/translation_strings.html:11
#: templates/web/base/js/translation_strings.html:15
#: templates/web/zurich/auth/general.html:3
@@ -2546,14 +2565,14 @@ msgstr "Будь лаÑка вкажіть адреÑу е-пошти"
msgid "Please enter your first name"
msgstr "Будь лаÑка введіть ім'Ñ"
-#: perllib/FixMyStreet/Cobrand/UK.pm:320
+#: perllib/FixMyStreet/Cobrand/UK.pm:326
#: templates/web/base/js/translation_strings.html:7
msgid "Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below"
msgstr "Будь лаÑка введіть ім'Ñ Ñ‚Ð° прізвище - департаментам потрібні ці дані. Якщо не хочете Ñ—Ñ… показувати - не Ñтавте галочку внизу."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:112
-#: perllib/FixMyStreet/DB/Result/Comment.pm:124
-#: perllib/FixMyStreet/DB/Result/Problem.pm:450
+#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/DB/Result/Comment.pm:125
+#: perllib/FixMyStreet/DB/Result/Problem.pm:377
#: perllib/FixMyStreet/DB/Result/User.pm:157
#: templates/web/base/js/translation_strings.html:6
msgid "Please enter your name"
@@ -2616,9 +2635,9 @@ msgstr ""
msgid "Please note:"
msgstr "Будь лаÑка зауважте:"
-#: perllib/FixMyStreet/App/Controller/Report.pm:358
+#: perllib/FixMyStreet/App/Controller/Report.pm:353
msgid "Please provide a public update for this report."
-msgstr ""
+msgstr "Будь лаÑка, оприлюдніть оновлений звіт."
#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:242
msgid "Please provide some explanation as to why you're reopening this report"
@@ -2652,11 +2671,11 @@ msgstr "Будь лаÑка вкажіть чи була вирішена про
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:122
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:156
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:158
-#: templates/web/base/js/translation_strings.html:57
+#: templates/web/base/js/translation_strings.html:60
msgid "Please upload an image only"
-msgstr ""
+msgstr "Будь лаÑка, завантажте тільки зображеннÑ"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/App/Controller/Contact.pm:116
msgid "Please write a message"
msgstr "Будь лаÑка напишіть повідомленнÑ"
@@ -2664,30 +2683,29 @@ msgstr "Будь лаÑка напишіть повідомленнÑ"
msgid "Please write your update here"
msgstr "Будь лаÑка напишіть поновленнÑ"
-#: templates/web/base/contact/index.html:103
#: templates/web/base/report/update-form.html:25
#: templates/web/base/report/update/form_user_loggedout_by_email.html:14
#: templates/web/base/report/update/form_user_loggedout_password.html:10
msgid "Post"
msgstr "ДопиÑ"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:242
+#: perllib/FixMyStreet/DB/Result/Comment.pm:231
msgid "Posted anonymously at %s"
msgstr "Опубліковано анонімно в %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:257
+#: perllib/FixMyStreet/DB/Result/Comment.pm:255
msgid "Posted by %s at %s"
msgstr "Опубліковано %s в %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:252
+#: perllib/FixMyStreet/DB/Result/Comment.pm:243
msgid "Posted by <strong>%s</strong> (%s) at %s"
msgstr "Опубліковано <strong>%s</strong> (%s) в %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:254
+#: perllib/FixMyStreet/DB/Result/Comment.pm:245
msgid "Posted by <strong>%s</strong> at %s"
msgstr "Опубліковано <strong>%s</strong> в %s"
-#: templates/web/base/front/footer-marketing.html:12
+#: templates/web/base/front/footer-marketing.html:6
msgid "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
msgstr ""
@@ -2699,8 +2717,8 @@ msgstr "Попередній"
msgid "Priorities"
msgstr ""
-#: templates/web/base/report/_inspect.html:113
-#: templates/web/base/report/_item.html:98
+#: templates/web/base/report/_inspect.html:123
+#: templates/web/base/report/_item.html:100
msgid "Priority"
msgstr ""
@@ -2714,16 +2732,15 @@ msgstr ""
msgid "Privacy and cookies"
msgstr ""
-#: templates/web/base/admin/body.html:91
-#: templates/web/base/admin/contact-form.html:74
-#: templates/web/base/admin/report_edit.html:149
+#: templates/web/base/admin/body.html:88
+#: templates/web/base/admin/contact-form.html:75
+#: templates/web/base/admin/report_edit.html:137
msgid "Private"
msgstr "Приватний"
#: templates/web/base/report/new/form_user.html:1
-#, fuzzy
msgid "Private details"
-msgstr "Приватний"
+msgstr ""
#: templates/web/base/maps/pin.html:13
msgid "Problem"
@@ -2747,7 +2764,7 @@ msgstr "Проблему %s надіÑлано департаменту %s"
msgid "Problem breakdown by state"
msgstr "Розбивка проблем по Ñтану"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1167
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1272
msgid "Problem marked as open."
msgstr "Проблема маркована відкритою."
@@ -2755,11 +2772,16 @@ msgstr "Проблема маркована відкритою."
msgid "Problem state change based on survey results"
msgstr "Стан проблеми змінено базуючиÑÑŒ на результатах опитувань"
-#: perllib/FixMyStreet/Cobrand/Default.pm:705
+#: perllib/FixMyStreet/Cobrand/Default.pm:709
#: templates/web/base/admin/flagged.html:10
msgid "Problems"
msgstr "Проблеми"
+#: templates/web/base/alert/_list.html:22
+#, fuzzy
+msgid "Problems in an area"
+msgstr "Проблеми в межах %s району"
+
#: templates/web/base/report/display_tools.html:22
msgid "Problems nearby"
msgstr "Проблеми поблизу"
@@ -2772,30 +2794,33 @@ msgstr "Проблеми на мапі"
msgid "Problems recently reported fixed on FixMyStreet"
msgstr "Ðещодавно вирішені проблеми"
-#: templates/web/base/alert/_list.html:22
-msgid "Problems within %.1fkm of this location"
+#: templates/web/base/alert/_list.html:29
+#, fuzzy
+msgid "Problems within %.1fkm of %s"
msgstr "Проблеми в радіуÑÑ– %.1fkm від цієї точки"
-#: perllib/FixMyStreet/Cobrand/Default.pm:833
+#: perllib/FixMyStreet/Cobrand/Default.pm:838
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:137
-#: perllib/FixMyStreet/Cobrand/UK.pm:209
+#: perllib/FixMyStreet/Cobrand/UK.pm:215 perllib/FixMyStreet/Cobrand/UK.pm:257
+#: perllib/FixMyStreet/Cobrand/UK.pm:269
msgid "Problems within %s"
msgstr "Проблеми в межах %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:223
+#: perllib/FixMyStreet/Cobrand/UK.pm:229
msgid "Problems within %s ward"
msgstr "Проблеми в межах %s району"
+#: perllib/FixMyStreet/Cobrand/UK.pm:263 perllib/FixMyStreet/Cobrand/UK.pm:275
+#, fuzzy
+msgid "Problems within %s ward, %s"
+msgstr "Проблеми в межах %s району"
+
#. ("First %s is the body name, second %s the site name")
#: templates/web/base/reports/body.html:0
#: templates/web/base/reports/body.html:25
msgid "Problems within %s, %s"
msgstr ""
-#: templates/web/base/alert/_list.html:43
-msgid "Problems within the boundary of:"
-msgstr "Проблеми в межах:"
-
#: templates/web/base/admin/report_edit.html:74
msgid "Property address:"
msgstr "ÐдреÑа майна:"
@@ -2805,11 +2830,11 @@ msgstr "ÐдреÑа майна:"
msgid "Provide an update"
msgstr "Ðадішліть оновленнÑ"
-#: templates/web/base/report/update/form_name.html:9
+#: templates/web/base/report/update/form_name.html:10
msgid "Provide update as"
msgstr ""
-#: templates/web/base/auth/general.html:112
+#: templates/web/base/auth/general.html:114
msgid "Providing a name and password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
msgstr "Ð’ÐºÐ°Ð·Ð°Ð½Ð½Ñ Ñ–Ð¼ÐµÐ½Ñ– Ñ– паролю не обов'Ñзкове, проте це дозволить вам більш легко Ñповіщати про проблеми, залишати Ð¿Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‚Ð° керувати вашими ÑповіщеннÑми"
@@ -2819,16 +2844,15 @@ msgid "Providing a password is optional, but doing so will allow you to more eas
msgstr "Ð’ÐºÐ°Ð·Ð°Ð½Ð½Ñ Ð¿Ð°Ñ€Ð¾Ð»ÑŽ не обов'Ñзкове, проте це дозволить вам більш легко Ñповіщати про проблеми, залишати Ð¿Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‚Ð° керувати вашими ÑповіщеннÑми"
#: templates/web/base/report/new/form_report.html:10
-#, fuzzy
msgid "Public details"
-msgstr "Публічна відповідь:"
+msgstr ""
#: templates/web/zurich/admin/report_edit.html:241
#: templates/web/zurich/admin/report_edit.html:268
msgid "Public response:"
msgstr "Публічна відповідь:"
-#: templates/web/base/report/_inspect.html:152
+#: templates/web/base/report/_inspect.html:162
msgid "Public update:"
msgstr ""
@@ -2856,7 +2880,7 @@ msgstr "Ðнкета %d відправлена по проблемі %d"
msgid "Questionnaire filled in by problem reporter"
msgstr "Ðнкета заповнена автором ÑповіщеннÑ"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
#: templates/web/base/alert/updates.html:9
#: templates/web/base/around/display_location.html:1
#: templates/web/base/around/display_location.html:3
@@ -2864,11 +2888,11 @@ msgstr "Ðнкета заповнена автором ÑповіщеннÑ"
msgid "RSS feed"
msgstr "RSS потік"
-#: perllib/FixMyStreet/Cobrand/UK.pm:252 perllib/FixMyStreet/Cobrand/UK.pm:264
+#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
msgid "RSS feed for %s"
msgstr "RSS потік Ð´Ð»Ñ %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
+#: perllib/FixMyStreet/Cobrand/UK.pm:264 perllib/FixMyStreet/Cobrand/UK.pm:276
msgid "RSS feed for %s ward, %s"
msgstr "RSS потік Ð´Ð»Ñ %s району, %s"
@@ -2876,25 +2900,25 @@ msgstr "RSS потік Ð´Ð»Ñ %s району, %s"
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:179
-#: perllib/FixMyStreet/Cobrand/UK.pm:278 perllib/FixMyStreet/Cobrand/UK.pm:290
+#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
msgid "RSS feed of %s"
msgstr "RSS потік з %s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
msgid "RSS feed of %s, within %s ward"
msgstr ""
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
msgid "RSS feed of nearby problems"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:834
+#: perllib/FixMyStreet/Cobrand/Default.pm:839
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:136
-#: perllib/FixMyStreet/Cobrand/UK.pm:216
+#: perllib/FixMyStreet/Cobrand/UK.pm:222
msgid "RSS feed of problems within %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/UK.pm:222
+#: perllib/FixMyStreet/Cobrand/UK.pm:228
msgid "RSS feed of problems within %s ward"
msgstr ""
@@ -2913,7 +2937,7 @@ msgstr "RSS Ñтрічка з оновленнÑми по цій проблемÑ
msgid "Receive email when updates are left on this problem."
msgstr "Отримувати лиÑта коли Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ð¾ проблемі буде оновлена"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:801
+#: perllib/FixMyStreet/DB/Result/Problem.pm:738
msgid "Received by %s moments later"
msgstr ""
@@ -2923,15 +2947,11 @@ msgstr ""
msgid "Recent local problems, %s"
msgstr ""
-#: templates/web/base/reports/index.html:27
-msgid "Recently <br>fixed"
-msgstr "Ðещодавно <br>вирішені"
-
#: templates/web/base/front/recent.html:11
msgid "Recently reported problems"
msgstr "Ðещодавно перевідкриті проблеми"
-#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:60
msgid "Recently updated"
msgstr ""
@@ -2939,23 +2959,33 @@ msgstr ""
msgid "Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. If your problem is not appropriate for submission via this site remember that you can contact your council directly using their own website."
msgstr ""
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/extra-metadata-form.html:68
+#, fuzzy
+msgid "Remove"
+msgstr "ЗнÑти прапорець"
+
+#: templates/web/base/admin/extra-metadata-form.html:4
+#, fuzzy
+msgid "Remove field"
+msgstr "ЗнÑти прапорець"
+
+#: templates/web/base/admin/report_blocks.html:23
msgid "Remove flag"
msgstr "ЗнÑти прапорець"
#: templates/web/base/report/_item.html:12
#: templates/web/base/report/_item.html:9
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:18
#: templates/web/base/report/_main.html:26
msgid "Remove from shortlist"
-msgstr ""
+msgstr "Видалити з переліку"
#: templates/web/base/report/display_tools.html:6
msgid "Remove from site"
msgstr ""
-#: templates/web/base/admin/report_edit.html:166
+#: templates/web/base/admin/report_edit.html:154
#: templates/web/base/admin/update_edit.html:69
#: templates/web/zurich/admin/update_edit.html:35
msgid "Remove photo (can't be undone!)"
@@ -2963,19 +2993,19 @@ msgstr "Видалити фото (це Ð½ÐµÐ·Ð²Ð¾Ñ€Ð¾Ñ‚Ð½Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ!)"
#: templates/web/zurich/admin/report_edit.html:239
msgid "Reply to user:"
-msgstr ""
+msgstr "ВідповіÑти "
#: templates/web/base/header_logo.html:2
msgid "Report"
-msgstr ""
+msgstr "Звіт"
-#: templates/web/base/report/_inspect.html:10
-#: templates/web/base/report/_item.html:76
+#: templates/web/base/report/_inspect.html:14
+#: templates/web/base/report/_item.html:78
msgid "Report ID:"
msgstr ""
#: templates/web/base/header_logo.html:2
-#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:19
+#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:18
#: templates/web/zurich/nav_over_content.html:4
msgid "Report a problem"
msgstr "СповіÑтити про проблему"
@@ -2985,7 +3015,7 @@ msgstr "СповіÑтити про проблему"
msgid "Report abuse"
msgstr "ПоÑкаржитиÑÑŒ"
-#: templates/web/base/report/new/form_user_loggedin.html:16
+#: templates/web/base/report/new/form_user_loggedin.html:17
msgid "Report as"
msgstr ""
@@ -2994,22 +3024,21 @@ msgid "Report on %s"
msgstr "Звіт по %s"
#: templates/web/base/dashboard/index.html:137
-#, fuzzy
msgid "Report state:"
-msgstr "ПоÑкаржитиÑÑŒ"
+msgstr ""
#: templates/web/base/report/new/fill_in_details_form.html:1
#: templates/web/base/report/new/login_success_form.html:1
#: templates/web/base/report/new/oauth_email_form.html:1
msgid "Report your problem"
-msgstr ""
+msgstr "Опишіть проблему"
#: templates/web/base/around/intro.html:1
#: templates/web/zurich/around/intro.html:1
msgid "Report, view, or discuss local problems"
msgstr "Сповіщайте, переглÑдайте, або обговорюйте міÑцеві проблеми"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:653
+#: perllib/FixMyStreet/DB/Result/Problem.pm:590
#: templates/web/base/contact/index.html:55
msgid "Reported anonymously at %s"
msgstr "Сповіщено анонімно по %s"
@@ -3019,7 +3048,7 @@ msgstr "Сповіщено анонімно по %s"
msgid "Reported before"
msgstr "Сповіщено раніше"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:677
+#: perllib/FixMyStreet/DB/Result/Problem.pm:614
#: templates/web/base/contact/index.html:57
msgid "Reported by %s at %s"
msgstr "Перевідкрито %s о %s"
@@ -3033,34 +3062,30 @@ msgstr ""
msgid "Reported in the %s category"
msgstr "Сповіщено в категорії %s "
-#: perllib/FixMyStreet/DB/Result/Problem.pm:650
+#: perllib/FixMyStreet/DB/Result/Problem.pm:587
msgid "Reported in the %s category anonymously at %s"
msgstr "Сповіщено в категорії %s анонімно о %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:611
msgid "Reported in the %s category by %s at %s"
msgstr "Сповіщено в категорію %s %s о %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:647
+#: perllib/FixMyStreet/DB/Result/Problem.pm:584
msgid "Reported via %s anonymously at %s"
msgstr "Сповіщено %s анонімно о %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:671
+#: perllib/FixMyStreet/DB/Result/Problem.pm:608
msgid "Reported via %s by %s at %s"
msgstr "Сповіщено через %s %s о %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:644
+#: perllib/FixMyStreet/DB/Result/Problem.pm:581
msgid "Reported via %s in the %s category anonymously at %s"
msgstr "Сповіщено через %s в категорію %s анонімно о %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:666
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
msgid "Reported via %s in the %s category by %s at %s"
msgstr "Сповіщено через %s в категорію %s %s о %s"
-#: templates/web/base/reports/index.html:24
-msgid "Reported within the last four weeks"
-msgstr ""
-
#: templates/web/zurich/admin/report_edit-sdm.html:38
#: templates/web/zurich/admin/report_edit.html:57
msgid "Reported:"
@@ -3076,13 +3101,13 @@ msgid "Reporting a problem"
msgstr "СповіÑтити про проблему"
#: perllib/FixMyStreet/Cobrand/Default.pm:655
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:383
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:388
#: templates/web/base/dashboard/index.html:134
#: templates/web/zurich/header.html:52
msgid "Reports"
msgstr "СповіщеннÑ"
-#: perllib/FixMyStreet/Cobrand/UK.pm:329 perllib/FixMyStreet/Cobrand/UK.pm:333
+#: perllib/FixMyStreet/Cobrand/UK.pm:333 perllib/FixMyStreet/Cobrand/UK.pm:335
msgid "Reports are limited to %s characters in length. Please shorten your report"
msgstr "Ð¡Ð¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ñ– %s Ñимволами. Буль лаÑка Ñкоротіть ÑповіщеннÑ."
@@ -3090,31 +3115,54 @@ msgstr "Ð¡Ð¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ñ– %s Ñимволами. Буль л
msgid "Reports awaiting approval"
msgstr "Ð¡Ð¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¾Ñ‡Ñ–ÐºÑƒÑŽÑ‚ÑŒ підтвердженнÑ"
+#: templates/web/base/alert/_list.html:54
+#, fuzzy
+msgid "Reports by destination"
+msgstr "Перевідкрито %s о %s"
+
#: templates/web/base/admin/user-form.html:107
msgid "Reports made by trusted users will be sent to the responsible body without being inspected first."
msgstr ""
+#: templates/web/base/alert/_list.html:15
+msgid "Reports near %s are sent to different councils, depending on the type of problem."
+msgstr ""
+
#: templates/web/zurich/admin/index-sdm.html:10
msgid "Reports published"
msgstr "Ð¡Ð¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¾Ð¿ÑƒÐ±Ð»Ñ–ÐºÐ¾Ð²Ð°Ð½Ð¾"
-#: templates/web/base/js/translation_strings.html:68
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:71
msgid "Reports saved offline."
-msgstr "СповіÑтити про проблему"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#, fuzzy
+msgid "Reports sent to %s"
+msgstr "Звіт по %s"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:290 perllib/FixMyStreet/Cobrand/UK.pm:302
+#, fuzzy
+msgid "Reports sent to %s, within %s ward"
+msgstr "%s, в межах %s району"
#: templates/web/base/admin/index.html:56
msgid "Reports waiting to be sent"
msgstr ""
-#: templates/web/base/admin/contact-form.html:89
+#: templates/web/base/admin/contact-form.html:90
msgid "Reports will automatically be sent without needing to be inspected if the user's <strong>reputation</strong> is at or above this value. Set to <strong>0</strong> if all reports must be inspected regardless."
msgstr ""
-#: templates/web/base/admin/contact-form.html:94
+#: templates/web/base/admin/contact-form.html:95
msgid "Reputation threshold"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:20
+#, fuzzy
+msgid "Required"
+msgstr "Потрібне фото"
+
#: templates/web/base/admin/report_edit.html:84
msgid "Resend report"
msgstr "ПеревідіÑлати ÑповіщеннÑ"
@@ -3150,7 +3198,7 @@ msgstr ""
msgid "Revert to original"
msgstr ""
-#: templates/web/base/report/_main.html:95
+#: templates/web/base/report/_main.html:99
msgid "Revert to original text"
msgstr ""
@@ -3173,16 +3221,16 @@ msgstr "ОбÑлуговувач цієї дороги (отримано з до
msgid "Road operator for this named road (from OpenStreetMap): %s"
msgstr "ОбÑлуговувач цієї дороги (з OpenStreetMap): %s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1747
-#: templates/web/base/admin/report_edit.html:163
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1852
+#: templates/web/base/admin/report_edit.html:151
#: templates/web/base/admin/update_edit.html:66
#: templates/web/zurich/admin/report_edit.html:118
msgid "Rotate Left"
msgstr "Повернули вліво"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: templates/web/base/admin/report_edit.html:164
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: templates/web/base/admin/report_edit.html:152
#: templates/web/base/admin/update_edit.html:67
#: templates/web/zurich/admin/report_edit.html:119
msgid "Rotate Right"
@@ -3197,33 +3245,41 @@ msgstr ""
msgid "Satellite"
msgstr ""
-#: templates/web/base/report/_inspect.html:168
-#, fuzzy
+#: templates/web/base/report/_inspect.html:182
msgid "Save + close as duplicate"
-msgstr "позначено Ñк дублююче ÑповіщеннÑ"
+msgstr ""
-#: templates/web/base/admin/contact-form.html:137
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/contact-form.html:138
+#: templates/web/base/admin/reportextrafields/edit.html:64
+#: templates/web/base/admin/responsepriorities/edit.html:58
#: templates/web/base/admin/template_edit.html:46
-#: templates/web/base/report/_inspect.html:168
-#: templates/web/base/report/_main.html:113
-#: templates/web/base/report/update.html:60
+#: templates/web/base/report/_inspect.html:182
+#: templates/web/base/report/_main.html:117
+#: templates/web/base/report/update.html:69
#: templates/web/zurich/admin/body.html:62
-#: templates/web/zurich/admin/contact-form.html:20
+#: templates/web/zurich/admin/contact-form.html:22
#: templates/web/zurich/admin/template_edit.html:29
msgid "Save changes"
msgstr "Зберети зміни"
-#: templates/web/base/report/_inspect.html:148
+#: templates/web/base/admin/reportextrafields/edit.html:64
+msgid "Save new fields"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:158
msgid "Save with a public update"
msgstr ""
-#. ('This is followed by a progress count, e.g. 3/5')
#. ("This is followed by a progress count, e.g. 3/5")
-#: templates/web/base/js/translation_strings.html:69
+#: templates/web/base/js/translation_strings.html:72
msgid "Saving reports offline"
msgstr ""
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:132
+#, fuzzy
+msgid "Scheduled"
+msgstr "Запланована діÑ"
+
#: templates/web/base/admin/index.html:26
#: templates/web/base/admin/reports.html:1
#: templates/web/zurich/admin/reports.html:1
@@ -3257,41 +3313,41 @@ msgstr "Пошук не знайшов кориÑтувачів."
msgid "See our privacy policy"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:715
+#: perllib/FixMyStreet/Cobrand/Default.pm:720
msgid "See user detail for reports created as the council"
msgstr ""
-#: templates/web/base/admin/body-form.html:39
+#: templates/web/base/admin/body-form.html:41
#: templates/web/zurich/admin/body-form.html:16
msgid "Select a body"
msgstr "Оберіть орган"
-#: templates/web/base/reports/index.html:12
-msgid "Select a particular council to see the reports sent there."
-msgstr ""
-
-#: templates/web/base/admin/body-form.html:77
+#: templates/web/base/admin/body-form.html:79
#: templates/web/zurich/admin/body-form.html:26
msgid "Select an area"
msgstr "Оберіть район"
-#: templates/web/base/alert/_list.html:11
-msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
+#: templates/web/base/admin/responsepriorities/edit.html:33
+msgid "Select if this is the default priority"
msgstr ""
#: templates/web/base/admin/category-checkboxes.html:6
msgid "Select:"
+msgstr "Оберіть:"
+
+#: templates/web/base/contact/index.html:107
+msgid "Send"
msgstr ""
#: templates/web/base/admin/open311-form-fields.html:109
msgid "Send extended Open311 statuses with service request updates"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:826
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:831
msgid "Sent report back"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:804
+#: perllib/FixMyStreet/DB/Result/Problem.pm:741
msgid "Sent to %s %s later"
msgstr "Відправити %s %s пізніше"
@@ -3304,58 +3360,65 @@ msgstr "ÐадіÑлано:"
msgid "Service:"
msgstr "СервіÑ:"
-#: templates/web/base/report/_inspect.html:31
+#: templates/web/base/report/_inspect.html:41
msgid "Set to my current location"
-msgstr ""
+msgstr "Визначити поточні координати"
#: templates/web/base/report/display_tools.html:17
msgid "Share"
msgstr "Поширити"
#: templates/web/base/main_nav_items.html:10
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:21
#: templates/web/base/report/_main.html:29
msgid "Shortlist"
+msgstr "Перелік"
+
+#: templates/web/base/reports/body.html:32
+msgid "Shortlist all visible"
msgstr ""
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:20
#: templates/web/base/report/_main.html:25
#: templates/web/base/reports/_list-filters.html:9
msgid "Shortlisted"
msgstr ""
-#: templates/web/base/report/_main.html:144
+#: templates/web/base/report/_item.html:15
+#: templates/web/base/report/_main.html:148
msgid "Shortlisted by %s"
msgstr ""
#: templates/web/base/report/update.html:20
-#, fuzzy
msgid "Show Photo?"
-msgstr "Показувати Ñтарі"
+msgstr ""
+
+#: templates/web/base/questionnaire/index.html:26
+msgid "Show all updates"
+msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:54
+#: templates/web/base/report/new/form_user_loggedin.html:56
#: templates/web/base/report/new/form_user_loggedout_by_email.html:22
-#: templates/web/base/report/update/form_name.html:33
+#: templates/web/base/report/update/form_name.html:37
msgid "Show my name publicly"
msgstr "Показувати моє ім'Ñ Ð¿ÑƒÐ±Ð»Ñ–Ñ‡Ð½Ð¾"
#: templates/web/base/report/update.html:17
-#, fuzzy
msgid "Show name publicly?"
-msgstr "Показувати моє ім'Ñ Ð¿ÑƒÐ±Ð»Ñ–Ñ‡Ð½Ð¾"
+msgstr ""
#: templates/web/base/around/display_location.html:69
msgid "Show old"
msgstr "Показувати Ñтарі"
-#: templates/web/base/report/_main.html:79
-#, fuzzy
+#: templates/web/base/report/_main.html:83
msgid "Show photo"
-msgstr "Показувати Ñтарі"
+msgstr ""
#: templates/web/base/around/display_location.html:60
+#: templates/web/base/js/translation_strings.html:54
msgid "Show pins"
msgstr "Показувати шпильки"
@@ -3363,16 +3426,20 @@ msgstr "Показувати шпильки"
msgid "Show reporter&rsquo;s name"
msgstr ""
-#: templates/web/base/auth/general.html:117
+#: templates/web/base/reports/index.html:62
+msgid "Show reports in your area"
+msgstr ""
+
+#: templates/web/base/auth/general.html:119
#: templates/web/base/auth/general.html:3
-#: templates/web/base/auth/general.html:86
+#: templates/web/base/auth/general.html:88
#: templates/web/base/main_nav_items.html:6
#: templates/web/zurich/auth/general.html:18
#: templates/web/zurich/auth/general.html:35
msgid "Sign in"
msgstr "Увійти"
-#: templates/web/base/auth/general.html:96
+#: templates/web/base/auth/general.html:98
msgid "Sign in by email instead, providing a new password. When you click the link in your email, your password will be updated."
msgstr ""
@@ -3418,14 +3485,14 @@ msgstr ""
msgid "Sorry, there has been an error confirming your problem."
msgstr "Вибачте, ÑталаÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:230
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:235
#: perllib/FixMyStreet/Geocode.pm:37 perllib/FixMyStreet/Geocode/Bing.pm:38
#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:56
#: perllib/FixMyStreet/Geocode/OSM.pm:48
msgid "Sorry, we could not find that location."
msgstr "Вибачте, ми не знайшли це міÑце"
-#: templates/web/base/auth/general.html:9
+#: templates/web/base/auth/general.html:11
#: templates/web/base/report/display.html:29
#: templates/web/base/report/new/fill_in_details_form.html:15
msgid "Sorry, we could not log you in. Please fill in the form below."
@@ -3447,11 +3514,11 @@ msgid ""
"page wasn’t found or there was a server error. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Root.pm:107
+#: perllib/FixMyStreet/App/Controller/Root.pm:124
msgid "Sorry, you don't have permission to do that."
msgstr ""
-#: templates/web/base/reports/_list-filters.html:42
+#: templates/web/base/reports/_list-filters.html:53
msgid "Sort by"
msgstr ""
@@ -3468,17 +3535,25 @@ msgid "Start Date:"
msgstr "Початкова дата:"
#: templates/web/base/admin/body.html:73
+#: templates/web/base/admin/category_edit.html:29
+#: templates/web/base/admin/contact-form.html:53
#: templates/web/base/admin/flagged.html:18
#: templates/web/base/admin/index.html:64
#: templates/web/base/admin/list_updates.html:11
#: templates/web/base/admin/reports.html:16
#: templates/web/base/admin/template_edit.html:40
-#: templates/web/base/report/_inspect.html:83
-#: templates/web/base/report/_item.html:94
+#: templates/web/base/report/_inspect.html:82
+#: templates/web/base/report/_item.html:96
#: templates/web/base/report/update/form_update.html:39
+#: templates/web/zurich/admin/contact-form.html:10
msgid "State"
msgstr "Стан"
+#: templates/web/base/report/update.html:48
+#, fuzzy
+msgid "State changed to:"
+msgstr "Зберети зміни"
+
#: templates/web/base/admin/report_edit.html:116
#: templates/web/base/admin/update_edit.html:28
#: templates/web/zurich/admin/report_edit-sdm.html:75
@@ -3488,8 +3563,14 @@ msgstr "Стан"
msgid "State:"
msgstr "Стан:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:640
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:386
+#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: templates/web/base/admin/states/index.html:1
+#, fuzzy
+msgid "States"
+msgstr "Стан"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
#: templates/web/base/admin/index.html:71 templates/web/base/admin/stats.html:1
#: templates/web/base/admin/stats_by_state.html:1
#: templates/web/zurich/admin/stats.html:1 templates/web/zurich/header.html:65
@@ -3511,6 +3592,10 @@ msgstr "Ð’Ñе ще відкрито, через анкету, %s"
msgid "Street View"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:46
+msgid "String"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:192
msgid "Subcategory: %s"
msgstr "ПідкатегоріÑ: %s"
@@ -3519,7 +3604,7 @@ msgstr "ПідкатегоріÑ: %s"
msgid "Subdivision/Body"
msgstr "Підрозділ/Орган"
-#: templates/web/base/contact/index.html:88
+#: templates/web/base/contact/index.html:92
msgid "Subject"
msgstr "Тема"
@@ -3529,14 +3614,14 @@ msgid "Subject:"
msgstr "Тема:"
#: templates/web/base/questionnaire/creator_fixed.html:19
-#: templates/web/base/report/new/form_user_loggedin.html:61
+#: templates/web/base/report/new/form_user_loggedin.html:63
#: templates/web/base/report/new/form_user_loggedout_by_email.html:36
#: templates/web/base/report/new/form_user_loggedout_password.html:11
#: templates/web/zurich/report/new/fill_in_details_form.html:73
msgid "Submit"
msgstr "Підтвердити"
-#: templates/web/base/admin/report_edit.html:174
+#: templates/web/base/admin/report_edit.html:162
#: templates/web/base/admin/report_edit.html:24
#: templates/web/base/admin/update_edit.html:77
#: templates/web/base/admin/user-form.html:170
@@ -3550,8 +3635,8 @@ msgstr "Підтвердити зміни"
msgid "Submit questionnaire"
msgstr "Підтвердити анкету"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:164
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:893
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:898
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:6
#: templates/web/zurich/admin/index-dm.html:23
@@ -3561,36 +3646,38 @@ msgstr "Підтвердити анкету"
msgid "Submitted"
msgstr "Підтверджено"
+#: templates/web/base/alert/_list.html:77
+#: templates/web/base/alert/_list.html:80
#: templates/web/base/alert/updates.html:23
#: templates/web/base/report/display_tools.html:51
msgid "Subscribe"
msgstr "ПідпиÑатиÑÑŒ"
-#: templates/web/base/alert/_list.html:93
-msgid "Subscribe me to an email alert"
+#: templates/web/base/alert/_list.html:72
+#, fuzzy
+msgid "Subscribe by email"
msgstr "Підпишіть мене на поштові алÑрми"
#: templates/web/base/report/new/form_report.html:19
msgid "Summarise the problem"
msgstr ""
-#: templates/web/base/admin/contact-form.html:129
+#: templates/web/base/admin/contact-form.html:130
msgid "Summarise your changes"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:638
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:382
+#: perllib/FixMyStreet/Cobrand/Default.pm:637
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:387
#: templates/web/base/admin/bodies.html:29
#: templates/web/base/admin/index.html:1 templates/web/base/status/index.html:1
#: templates/web/base/status/index.html:3
#: templates/web/zurich/admin/index-dm.html:1
#: templates/web/zurich/admin/index-sdm.html:1
-#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:13
+#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:12
#: templates/web/zurich/header.html:49
msgid "Summary"
msgstr "Резюме"
-#: templates/web/base/reports/index.html:4
#: templates/web/zurich/reports/index.html:0
#: templates/web/zurich/reports/index.html:4
msgid "Summary reports"
@@ -3614,10 +3701,10 @@ msgid "Template &laquo;%s&raquo;"
msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:661
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:393
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
#: templates/web/zurich/header.html:69
msgid "Templates"
-msgstr ""
+msgstr "Шаблони"
#: templates/web/base/admin/list_updates.html:12
#: templates/web/base/admin/templates.html:11
@@ -3637,13 +3724,13 @@ msgstr "ТекÑÑ‚:"
#: templates/web/base/tokens/confirm_problem.html:25
msgid "Thank you for reporting this issue!"
-msgstr ""
+msgstr "ДÑкуємо, що розповіли про це!"
#: templates/web/base/tokens/error.html:6
msgid "Thank you for trying to confirm your update or problem. We seem to have an error ourselves though, so <a href=\"%s\">please let us know what went on</a> and we'll look into it."
msgstr "ДÑкуємо за Ñпробу підтвердити Ð´Ð¾Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼Ð¸. У Ð½Ð°Ñ Ñ‚ÑƒÑ‚ помилка, тому <a href=\"%s\">будь лаÑка розкажіть що ÑталоÑÑŒ</a> Ñ– ми до того подивимоÑÑŒ."
-#: templates/web/base/tokens/confirm_update.html:15
+#: templates/web/base/tokens/confirm_update.html:16
msgid "Thank you for updating this issue!"
msgstr ""
@@ -3653,7 +3740,7 @@ msgstr ""
#: templates/web/base/questionnaire/completed.html:5
msgid "Thank you for your feedback"
-msgstr ""
+msgstr "ДÑкуємо за відповідь."
#: templates/web/base/around/_error_multiple.html:17
msgid "Thanks for uploading your photo. We now need to locate your problem, so please enter a nearby street name or postcode in the box above&nbsp;:"
@@ -3671,7 +3758,7 @@ msgstr "Під Ñ‡Ð°Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ„Ð¾Ñ‚Ð¾ трапилаÑÑŒ поÐ
msgid "That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again."
msgstr "Це міÑце не підпорÑдковане ЧернівцÑм; можливо воно знаходитьÑÑ Ð·Ð° його межами? Спробуйте ще раз."
-#: perllib/FixMyStreet/App/Controller/Location.pm:129
+#: perllib/FixMyStreet/App/Controller/Location.pm:127
msgid "That location does not appear to be in the UK; please try again."
msgstr ""
@@ -3681,23 +3768,23 @@ msgstr ""
msgid "That postcode was not recognised, sorry."
msgstr "Поштовий код не розпізнано, вибачте."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:762
+#: perllib/FixMyStreet/App/Controller/Admin.pm:850
msgid "That problem has been marked as sent."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:755
+#: perllib/FixMyStreet/App/Controller/Admin.pm:843
msgid "That problem will now be resent."
msgstr "Цю проблему зараз перезвітують."
-#: perllib/FixMyStreet/App/Controller/Report.pm:137
+#: perllib/FixMyStreet/App/Controller/Report.pm:134
msgid "That report cannot be viewed on %s."
msgstr "Цей ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ показати на %s."
-#: perllib/FixMyStreet/App/Controller/Report.pm:131
+#: perllib/FixMyStreet/App/Controller/Report.pm:128
msgid "That report has been removed from FixMyStreet."
msgstr "Це ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð±ÑƒÐ»Ð¾ видалено."
-#: templates/web/base/admin/contact-form.html:25
+#: templates/web/base/admin/contact-form.html:27
msgid ""
"The <strong>email address</strong> is the destination to which reports about this category will be sent. \n"
" Other categories for this body may have the same email address."
@@ -3721,10 +3808,10 @@ msgid ""
" than one. If the body is running its own endpoint, you can usually leave this blank."
msgstr ""
-#: templates/web/base/admin/body-form.html:100
-#: templates/web/base/admin/body-form.html:101
-#: templates/web/base/admin/contact-form.html:103
+#: templates/web/base/admin/body-form.html:102
+#: templates/web/base/admin/body-form.html:103
#: templates/web/base/admin/contact-form.html:104
+#: templates/web/base/admin/contact-form.html:105
msgid ""
"The <strong>send method</strong> determines how problem reports will be sent to the body.\n"
" If you leave this blank, <strong>send method defaults to email</strong>."
@@ -3741,6 +3828,10 @@ msgid ""
" and may be displayed publically."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:12
+msgid "The code used to store this field value in the database. e.g. <code>address</code> would be available as <code>problem.extra.address</code> in the templates."
+msgstr ""
+
#: templates/web/base/report/new/fill_in_details_text.html:1
#: templates/web/base/report/new/fill_in_details_text.html:3
msgid "The council won&rsquo;t be able to help unless you leave as much detail as you can. Please describe the exact location of the problem (e.g. on a wall), what it is, how long it has been there, a description (and a photo of the problem if you have one), etc."
@@ -3751,11 +3842,15 @@ msgstr "Департамент не зможе допомгти доки інфÐ
msgid "The diligency prize league table shows editors' activity (who's been editing the most records)."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:61
-#: perllib/FixMyStreet/App/Controller/Reports.pm:82
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:63
+#: perllib/FixMyStreet/App/Controller/Reports.pm:103
msgid "The error was: %s"
msgstr "ТрапилаÑÑŒ помилка: %s"
+#: templates/web/base/admin/extra-metadata-form.html:30
+msgid "The field name as shown to the user on the report form."
+msgstr ""
+
#: templates/web/base/open311/index.html:78
msgid "The following Open311 v2 attributes are returned for each request: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
msgstr ""
@@ -3794,10 +3889,14 @@ msgstr ""
msgid "The link might have expired, or maybe you didn&rsquo;t quite copy and paste it correctly."
msgstr ""
-#: templates/web/base/admin/body-form.html:64
+#: templates/web/base/admin/body-form.html:66
msgid "The list of available areas is being provided by the MapIt service at %s."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:6
+msgid "The ordering of this field on the report page. Fields are shown in ascending order according to this value."
+msgstr ""
+
#: templates/web/base/auth/change_password.html:22
#: templates/web/base/auth/change_password.html:26
msgid "The passwords do not match"
@@ -3807,9 +3906,9 @@ msgstr "Паролі не Ñпівпадають"
msgid "The requested URL '%s' was not found on this server"
msgstr "ÐдреÑа '%s' не знайдена на Ñервері"
-#: templates/web/base/alert/_list.html:17
-msgid "The simplest alert is our geographic one:"
-msgstr "ÐайпроÑтіший алÑрм - географічний:"
+#: templates/web/base/admin/extra-metadata-form.html:42
+msgid "The type of input field to show to the user. <strong>Text</strong> is a simple text field, <strong>List</strong> is a drop-down selection."
+msgstr ""
#: perllib/FixMyStreet/Script/Reports.pm:96
msgid "The user could not locate the problem on a map, but to see the area around the location they entered"
@@ -3830,18 +3929,18 @@ msgstr ""
msgid "There are no reports to show."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Reports.pm:79
+#: perllib/FixMyStreet/App/Controller/Reports.pm:100
msgid "There was a problem showing the All Reports page. Please try again later."
msgstr "СталаÑÑŒ проблема з відображеннÑм Ñторінки вÑÑ–Ñ… Ñповіщень. Спробуйте пізніше."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:137
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:60
+#: perllib/FixMyStreet/App/Controller/Contact.pm:138
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:62
msgid "There was a problem showing this page. Please try again later."
msgstr "СталаÑÑŒ помилка при Ñпробі показати Ñторінку. Будь лаÑка Ñпробуйте пізніше."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:758
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:785
#: perllib/FixMyStreet/App/Controller/Report/Update.pm:152
-#: templates/web/base/auth/general.html:53
+#: templates/web/base/auth/general.html:55
#: templates/web/zurich/auth/general.html:28
msgid "There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the &lsquo;sign in by email&rsquo; section of the form."
msgstr "З комбінацією поштової адреÑи Ñ– паролю щоÑÑŒ не так. Якщо ви не в змозі пригадати пароль або у Ð²Ð°Ñ Ð¹Ð¾Ð³Ð¾ немає, заповніть Ñекцію &lsquo;увійти поштою&rsquo;"
@@ -3854,7 +3953,7 @@ msgstr "СталаÑÑŒ проблема з вашою комбінацією аÐ
msgid "There was a problem with your update. Please try again."
msgstr "СталаÑÑŒ проблема з поновленнÑм. Будь лаÑка Ñпробуйте ще раз."
-#: perllib/FixMyStreet/App/Controller/Contact.pm:141
+#: perllib/FixMyStreet/App/Controller/Contact.pm:142
msgid "There were problems with your report. Please see below."
msgstr "Зі ÑповіщеннÑм Ñ” негаразди. ГлÑньте нижче."
@@ -3906,8 +4005,8 @@ msgstr ""
msgid "This body has no contacts. This means that currently problems reported to this body <strong>will not be sent</strong>."
msgstr ""
-#: templates/web/base/admin/body-form.html:58
-#: templates/web/base/admin/body-form.html:59
+#: templates/web/base/admin/body-form.html:60
+#: templates/web/base/admin/body-form.html:61
msgid ""
"This body will only be sent reports for problems that are located in the <strong>area covered</strong>.\n"
" A body will not receive any reports unless it covers at least one area."
@@ -3921,8 +4020,9 @@ msgstr ""
msgid "This email has been sent to several councils covering the location of the problem, as the category selected is provided for all of them; please ignore it if you're not the correct council to deal with the issue."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:881
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:925
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1017
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:910
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:954
#: perllib/FixMyStreet/App/Controller/Report/New.pm:971
#: perllib/FixMyStreet/Cobrand/UK.pm:45
msgid "This information is required"
@@ -3932,46 +4032,41 @@ msgstr "Ð¦Ñ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¾Ð±Ð¾Ð²'Ñзкова"
msgid "This is a developer site; things might break at any time, and the database will be periodically deleted."
msgstr ""
-#: templates/web/base/reports/index.html:10
-msgid "This is a summary of all reports on this site."
-msgstr ""
-
-#: templates/web/base/report/new/form_report.html:56
+#: templates/web/base/report/new/form_report.html:58
msgid "This pothole has been here for two months and…"
msgstr ""
-#: templates/web/base/report/update/form_update.html:63
+#: templates/web/base/report/update/form_update.html:55
msgid "This problem has been fixed"
msgstr "Цю проблему вирішено"
-#: templates/web/base/report/update/form_update.html:56
+#: templates/web/base/report/update/form_update.html:48
msgid "This problem has not been fixed"
msgstr "Цю проблему не вирішено"
-#: templates/web/base/report/update/form_update.html:54
-#, fuzzy
+#: templates/web/base/report/update/form_update.html:46
msgid "This problem is still ongoing"
-msgstr "Цю проблему не вирішено"
+msgstr ""
#: templates/web/base/report/duplicate-no-updates.html:3
msgid "This report is a duplicate. Please leave updates on the original report:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:161
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:162
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:166
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:167
#: templates/web/zurich/report/_main.html:14
msgid "This report is awaiting moderation."
msgstr "Це ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¾Ñ‡Ñ–ÐºÑƒÑ” модерації."
-#: perllib/FixMyStreet/Script/Alerts.pm:101
+#: perllib/FixMyStreet/Script/Alerts.pm:98
msgid "This report is currently marked as closed."
msgstr "Це ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð½Ð°Ñ€Ð°Ð·Ñ– відмічено закритим."
-#: perllib/FixMyStreet/Script/Alerts.pm:99
+#: perllib/FixMyStreet/Script/Alerts.pm:96
msgid "This report is currently marked as fixed."
msgstr "Це ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð½Ð°Ñ€Ð°Ð·Ñ– відмічено вирішеним."
-#: perllib/FixMyStreet/Script/Alerts.pm:103
+#: perllib/FixMyStreet/Script/Alerts.pm:100
msgid "This report is currently marked as open."
msgstr "Це ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ð¼Ñ–Ñ‡ÐµÐ½Ð¾ відкритим."
@@ -3990,7 +4085,7 @@ msgstr "Ð¦Ñ Ð²ÐµÐ±-Ñторінка також міÑтить фото проб
msgid "Time spent (in minutes):"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Default.pm:638
#: templates/web/base/admin/timeline.html:1
msgid "Timeline"
msgstr "ХронологіÑ"
@@ -4009,7 +4104,7 @@ msgstr "Заголовок"
#: templates/web/base/admin/template_edit.html:13
#: templates/web/zurich/admin/template_edit.html:20
msgid "Title:"
-msgstr ""
+msgstr "Ðазва:"
#: templates/web/base/alert/index.html:25
msgid "To find out what local alerts we have for you, please enter your %s postcode or street name and area:"
@@ -4019,10 +4114,26 @@ msgstr ""
msgid "To find out what local alerts we have for you, please enter your postcode or street name and area"
msgstr "Щоб дізнатиÑÑŒ Ñкі локальні алÑрми ми маєм Ð´Ð»Ñ Ð²Ð°Ñ, введіть ваш поштовий код, назву вулиці та район"
+#: templates/web/base/admin/reportextrafields/edit.html:19
+msgid "To limit this collection of fields to a single cobrand, select it here."
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:40
+msgid "To limit this collection of fields to a single language, select it here."
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:95
msgid "To view a map of the precise location of this issue"
msgstr "До переглÑду точного міÑÑ†ÐµÐ·Ð½Ð°Ñ…Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼Ð¸ на карті"
+#: templates/web/base/reports/index.html:97
+msgid "Top 5 most used categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:83
+msgid "Top 5 responsive councils"
+msgstr ""
+
#: templates/web/base/admin/questionnaire.html:24
#: templates/web/base/admin/stats.html:24
#: templates/web/base/admin/stats.html:43
@@ -4036,9 +4147,8 @@ msgid "Total marked"
msgstr ""
#: templates/web/base/dashboard/index.html:71
-#, fuzzy
msgid "Total marked as fixed"
-msgstr "позначено полагодженим"
+msgstr ""
#: templates/web/base/dashboard/index.html:125
msgid "Total not marked"
@@ -4049,16 +4159,24 @@ msgstr ""
msgid "Total reports received"
msgstr ""
-#: templates/web/base/report/_inspect.html:124
-#: templates/web/base/report/_item.html:102
+#: templates/web/base/report/_inspect.html:134
+#: templates/web/base/report/_item.html:104
msgid "Traffic management required?"
msgstr ""
+#: templates/web/base/admin/_translations.html:7
+msgid "Translation"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:2
+msgid "Translations"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:111
msgid "Trusted by bodies:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:721
+#: perllib/FixMyStreet/Cobrand/Default.pm:726
msgid "Trusted to make reports that don't need to be inspected"
msgstr ""
@@ -4074,8 +4192,14 @@ msgstr "Спробуйте ще раз"
msgid "Try emailing us directly:"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:21
+#: templates/web/base/admin/extra-metadata-form.html:44
+#: templates/web/base/admin/states/index.html:10
+#: templates/web/base/admin/states/index.html:100
+msgid "Type"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:59
+#: templates/web/base/admin/contact-form.html:55
#: templates/web/base/admin/update_edit.html:30
#: templates/web/zurich/admin/report_edit-sdm.html:66
#: templates/web/zurich/admin/report_edit.html:94
@@ -4083,7 +4207,6 @@ msgstr ""
msgid "Unconfirmed"
msgstr "Ðе підтверджено"
-#: templates/web/base/reports/_list-filters.html:12
#: templates/web/base/reports/_list-filters.html:5
msgid "Unfixed reports"
msgstr ""
@@ -4097,14 +4220,14 @@ msgid "Unknown alert type"
msgstr "Ðевідомий тип алÑрму"
#: perllib/FixMyStreet/App/Controller/Photo.pm:109
-#: perllib/FixMyStreet/App/Controller/Root.pm:124
+#: perllib/FixMyStreet/App/Controller/Root.pm:141
#: templates/web/base/js/translation_strings.html:38
msgid "Unknown error"
msgstr "Ðевідома помилка"
-#: perllib/FixMyStreet/App/Controller/Report.pm:115
+#: perllib/FixMyStreet/App/Controller/Report.pm:112
+#: perllib/FixMyStreet/App/Controller/Report.pm:118
#: perllib/FixMyStreet/App/Controller/Report.pm:121
-#: perllib/FixMyStreet/App/Controller/Report.pm:124
msgid "Unknown problem ID"
msgstr "Ðевідомий ідентифікатор проблеми"
@@ -4112,10 +4235,11 @@ msgstr "Ðевідомий ідентифікатор проблеми"
msgid "Unshortlisted"
msgstr ""
-#: templates/web/base/report/_item.html:24
+#: templates/web/base/report/_item.html:26
msgid "Up one"
msgstr ""
+#: templates/web/base/admin/states/index.html:76
#: templates/web/base/report/update/form_update.html:29
msgid "Update"
msgstr "ПоновленнÑ"
@@ -4132,7 +4256,7 @@ msgstr "ÐŸÐ¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð´Ð¾Ð´Ð°Ð½Ð¾ анонімно о %s"
msgid "Update below added by %s at %s"
msgstr "ÐŸÐ¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð½Ð¸Ð¶Ñ‡Ðµ додано %s о %s"
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Update body"
msgstr "Поновити орган"
@@ -4168,13 +4292,23 @@ msgstr "Поновити ÑтатуÑи"
msgid "Updated"
msgstr "Поновлено"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1157
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1221
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1384
-#: perllib/FixMyStreet/App/Controller/Admin.pm:822
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:762
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:787
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:857
+#: perllib/FixMyStreet/DB/Result/Comment.pm:249
+#, fuzzy
+msgid "Updated by <strong>%s</strong> (%s) at %s"
+msgstr "Опубліковано <strong>%s</strong> (%s) в %s"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:251
+#, fuzzy
+msgid "Updated by <strong>%s</strong> at %s"
+msgstr "Опубліковано <strong>%s</strong> в %s"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1262
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1326
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1489
+#: perllib/FixMyStreet/App/Controller/Admin.pm:910
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:767
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:792
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:862
msgid "Updated!"
msgstr "Поновлено!"
@@ -4184,7 +4318,7 @@ msgstr "Поновлено!"
msgid "Updates"
msgstr "ПоновленнÑ"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:133
+#: perllib/FixMyStreet/DB/Result/Comment.pm:134
msgid "Updates are limited to %s characters in length. Please shorten your update"
msgstr "ÐŸÐ¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ñ– кількіÑтю в %s Ñимволів. Будь лаÑка Ñкоротіть текÑÑ‚."
@@ -4198,11 +4332,22 @@ msgstr "ÐŸÐ¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÑтоÑовно {{title}}"
msgid "Updates to this problem, %s"
msgstr ""
+#: templates/web/base/admin/contact-form.html:43
+#: templates/web/base/admin/contact-form.html:44
+msgid ""
+"Use <strong>confirmed</strong> to indicate that this contact has been\n"
+"confirmed as correct. If you are not sure of the origin or validity of the\n"
+"contact, use <strong>unconfirmed</strong>. <strong>inactive</strong> will\n"
+"remove the category from use when reporting problems, but keep it available in\n"
+"map filters, and <strong>deleted</strong> will remove the category from there\n"
+"as well."
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:65
msgid "Use Open311 update-sending extension"
msgstr ""
-#: templates/web/base/admin/contact-form.html:124
+#: templates/web/base/admin/contact-form.html:125
msgid "Use this field to record details that are only displayed in the admin. Input is not shown publicly, and is not sent to the body."
msgstr ""
@@ -4215,27 +4360,26 @@ msgstr ""
msgid "User ID to attribute fetched comments to"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1700
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1805
msgid "User flag removed"
msgstr "КориÑтувацький прапорець видалено"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1672
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1777
msgid "User flagged"
msgstr "КориÑтувач відмічений"
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:58
-#, fuzzy
msgid "User has marked as fixed"
-msgstr "позначено полагодженим"
+msgstr ""
#: templates/web/base/admin/users.html:5
msgid "User search finds matches in users' names and email addresses."
msgstr "Пошук кориÑтувачів знайшов ÑÐ¿Ñ–Ð²Ð¿Ð°Ð´Ñ–Ð½Ð½Ñ Ð² іменах та поштових адреÑах"
#: perllib/FixMyStreet/Cobrand/Default.pm:669
-#: perllib/FixMyStreet/Cobrand/Default.pm:723
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
+#: perllib/FixMyStreet/Cobrand/Default.pm:728
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:403
#: templates/web/base/admin/flagged.html:29 templates/web/zurich/header.html:61
msgid "Users"
msgstr "КориÑтувачі"
@@ -4244,9 +4388,9 @@ msgstr "КориÑтувачі"
msgid "Users can perform the following actions within their assigned body or area."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:400
-#: perllib/FixMyStreet/App/Controller/Admin.pm:430
-#: perllib/FixMyStreet/App/Controller/Admin.pm:448
+#: perllib/FixMyStreet/App/Controller/Admin.pm:381
+#: perllib/FixMyStreet/App/Controller/Admin.pm:417
+#: perllib/FixMyStreet/App/Controller/Admin.pm:439
msgid "Values updated"
msgstr "Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾"
@@ -4293,7 +4437,7 @@ msgstr "Ми знайшли більше одного ÑÐ¿Ñ–Ð²Ð¿Ð°Ð´Ñ–Ð½Ð½Ñ Ð´Ð
msgid "We found more than one match for that problem reference:"
msgstr ""
-#: templates/web/base/auth/general.html:6
+#: templates/web/base/auth/general.html:8
#: templates/web/base/report/display.html:35
#: templates/web/base/report/new/oauth_email_form.html:5
msgid "We need your email address, please give it below."
@@ -4328,7 +4472,7 @@ msgstr ""
msgid "What was your experience of getting the problem fixed?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:52
+#: templates/web/base/admin/category_edit.html:27
#: templates/web/zurich/admin/body.html:18
msgid "When edited"
msgstr "Коли відредаговано"
@@ -4337,11 +4481,19 @@ msgstr "Коли відредаговано"
msgid "When sent"
msgstr "Коли відправлено"
-#: templates/web/base/report/_inspect.html:89
+#: templates/web/base/admin/extra-metadata-form.html:18
+msgid "Whether the user is required to provide a value for this field."
+msgstr ""
+
+#: templates/web/base/alert/_list.html:9
+msgid "Which problems do you want alerts about?"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:99
msgid "Which report is it a duplicate of?"
msgstr ""
-#: templates/web/base/js/translation_strings.html:54
+#: templates/web/base/js/translation_strings.html:57
msgid "Whoa there Testino! Three photos are enough."
msgstr ""
@@ -4349,8 +4501,8 @@ msgstr ""
msgid "Why stop there? <a href=\"/alert\">Set up more alerts</a> for free."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:185
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:190
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:14
msgid "Wish"
@@ -4360,7 +4512,7 @@ msgstr ""
msgid "With request searches, it is also possible to search for agency_responsible to limit the requests to those sent to a single administration. The search term is the administration ID provided by <a href=\"%s\">MaPit</a>."
msgstr ""
-#: templates/web/base/front/footer-marketing.html:17
+#: templates/web/base/front/footer-marketing.html:3
msgid "Would you like to contribute to FixMyStreet? Our code is open source and <a href=\"http://fixmystreet.org\">available at fixmystreet.org</a>."
msgstr ""
@@ -4385,23 +4537,22 @@ msgstr ""
msgid "Year"
msgstr "Рік"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1202
+#: perllib/FixMyStreet/Cobrand/Default.pm:1236
#: templates/web/base/admin/bodies.html:70
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
#: templates/web/base/admin/category_edit.html:5
#: templates/web/base/admin/flagged.html:47
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:136
+#: templates/web/base/admin/report_edit.html:124
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:25
#: templates/web/base/admin/users.html:32
#: templates/web/base/questionnaire/creator_fixed.html:14
#: templates/web/base/questionnaire/index.html:104
#: templates/web/base/questionnaire/index.html:53
+#: templates/web/base/report/_inspect.html:90
msgid "Yes"
msgstr "Так"
@@ -4414,7 +4565,7 @@ msgstr "Так, в мене є пароль"
msgid "You are complaining that this problem report was unnecessarily moderated:"
msgstr ""
-#: templates/web/base/js/translation_strings.html:70
+#: templates/web/base/js/translation_strings.html:73
msgid "You are offline"
msgstr ""
@@ -4435,7 +4586,11 @@ msgstr "Ви можете <a href=\"%s%s\">переглÑнути проблем
msgid "You can add an abusive user's email to the abuse list, which automatically hides (and never sends) reports they create."
msgstr "You can add an abusive user's email to the abuse list, which automatically hides (and never sends) reports they create."
-#: templates/web/base/contact/index.html:111
+#: templates/web/base/alert/_list.html:18
+msgid "You can choose to subscribe to all problems reported in an area, or reports based on their destination."
+msgstr ""
+
+#: templates/web/base/contact/index.html:115
msgid "You can contact technical support on <a href='mailto:%s'>%s</a>"
msgstr "Технічна підтримка доÑтупна за адреÑою <a href='mailto:%s'>%s</a>"
@@ -4453,7 +4608,7 @@ msgstr ""
msgid "You can help us by finding a contact email address for local problems for %s and emailing it to us at <a href='mailto:%s'>%s</a>."
msgstr ""
-#: templates/web/base/admin/body-form.html:91
+#: templates/web/base/admin/body-form.html:93
msgid "You can mark a body as deleted if you do not want it to be active on the site."
msgstr ""
@@ -4461,7 +4616,7 @@ msgstr ""
msgid "You declined; please fill in the box above"
msgstr "Ви відхилили. Будь лаÑка заповніть форму вище"
-#: templates/web/base/js/translation_strings.html:72
+#: templates/web/base/js/translation_strings.html:75
msgid "You have <a id=\"oFN\" href=\"\"><span>%s</span> saved to submit</a>."
msgstr ""
@@ -4469,7 +4624,7 @@ msgstr ""
msgid "You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"
msgstr "You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"
-#: templates/web/base/report/new/form_report.html:37
+#: templates/web/base/report/new/form_report.html:39
#: templates/web/zurich/report/new/fill_in_details_form.html:30
msgid "You have already attached photos to this report. Note that you can attach a maximum of 3 to this report (if you try to upload more, the oldest will be removed)."
msgstr ""
@@ -4530,10 +4685,9 @@ msgstr "Ваші ÑповіщеннÑ"
msgid "Your account"
msgstr ""
-#: templates/web/base/alert/_list.html:90
#: templates/web/base/alert/updates.html:19
#: templates/web/base/alert/updates.html:22
-#: templates/web/base/contact/index.html:81
+#: templates/web/base/contact/index.html:80
#: templates/web/base/report/display_tools.html:46
#: templates/web/base/report/display_tools.html:49
#: templates/web/base/report/new/form_user_loggedout_email.html:1
@@ -4543,7 +4697,7 @@ msgid "Your email"
msgstr "Ваша пошта"
#: templates/web/base/auth/change_email.html:9
-#: templates/web/base/auth/general.html:55
+#: templates/web/base/auth/general.html:57
#: templates/web/base/report/update/form_user_loggedout_email.html:5
#: templates/web/zurich/auth/general.html:30
#: templates/web/zurich/auth/general.html:58
@@ -4554,21 +4708,32 @@ msgstr "Ваша адреÑа е-пошти"
msgid "Your information will only be used in accordance with our <a href=\"/privacy\">privacy policy</a>"
msgstr "Ваша Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð±ÑƒÐ´Ðµ викориÑтана згідно <a href=\"/privacy\">політики конфіденційноÑті</a>"
-#: templates/web/base/auth/general.html:107
+#: templates/web/base/auth/general.html:109
#: templates/web/base/contact/index.html:74
#: templates/web/base/report/new/form_user_loggedout_by_email.html:17
-#: templates/web/base/report/update/form_name.html:29
+#: templates/web/base/report/update/form_name.html:33
#: templates/web/zurich/auth/general.html:61
#: templates/web/zurich/report/new/fill_in_details_form.html:63
msgid "Your name"
msgstr "Ваше ім'Ñ"
-#: templates/web/base/js/translation_strings.html:62
-#, fuzzy
+#: templates/web/base/my/anonymize.html:13
+msgid "Your name has already been sent to %s, but we can hide it on this page:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:264
+msgid "Your name has been hidden from all your reports and updates."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:260
+msgid "Your name has been hidden."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:65
msgid "Your offline reports"
-msgstr "Ваші ÑповіщеннÑ"
+msgstr ""
-#: templates/web/base/auth/general.html:85
+#: templates/web/base/auth/general.html:87
#: templates/web/base/report/new/form_user_loggedout_password.html:10
#: templates/web/base/report/update/form_user_loggedout_password.html:9
#: templates/web/zurich/auth/general.html:34
@@ -4579,6 +4744,7 @@ msgstr "Ваш пароль"
msgid "Your password has been changed"
msgstr "Ваш пароль було змінено"
+#: templates/web/base/contact/index.html:87
#: templates/web/base/report/new/form_user_loggedout_by_email.html:26
#: templates/web/zurich/report/new/fill_in_details_form.html:69
msgid "Your phone number"
@@ -4586,7 +4752,7 @@ msgstr "Ваш телефон"
#: templates/web/base/questionnaire/index.html:16
msgid "Your report"
-msgstr ""
+msgstr "Ваш звіт"
#: templates/web/base/my/my.html:28
msgid "Your reports"
@@ -4595,9 +4761,9 @@ msgstr "Ваші ÑповіщеннÑ"
#: templates/web/base/my/planned.html:0 templates/web/base/my/planned.html:18
#: templates/web/base/my/planned.html:5
msgid "Your shortlist"
-msgstr ""
+msgstr "Ваш перелік"
-#: templates/web/base/js/translation_strings.html:63
+#: templates/web/base/js/translation_strings.html:66
msgid "Your update has been saved offline for submission when back online."
msgstr ""
@@ -4605,24 +4771,24 @@ msgstr ""
msgid "Your updates"
msgstr "Ваші поновленнÑ"
-#: templates/web/base/report/new/form_user_loggedin.html:18
-#: templates/web/base/report/update/form_name.html:11
+#: templates/web/base/report/new/form_user_loggedin.html:19
+#: templates/web/base/report/update/form_name.html:12
msgid "Yourself"
msgstr ""
#: templates/web/base/admin/category-checkboxes.html:7
#: templates/web/base/admin/user-form.html:151
msgid "all"
+msgstr "вÑÑ–"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:259
+msgid "and a defect raised"
msgstr ""
#: templates/web/base/admin/timeline.html:4
msgid "by %s"
msgstr "від %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:290
-msgid "closed as a duplicate report"
-msgstr "позначено Ñк дублююче ÑповіщеннÑ"
-
#: templates/web/base/reports/body.html:6
#: templates/web/base/reports/body.html:7
msgid "council"
@@ -4647,7 +4813,7 @@ msgstr "редагувати кориÑтувача"
msgid "from %s different users"
msgstr "від %s різних кориÑтувачів"
-#: templates/web/base/report/_item.html:61
+#: templates/web/base/report/_item.html:63
#: templates/web/zurich/report/_item.html:14
msgid "last updated %s"
msgstr "оÑтаннє Ð¿Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ %s"
@@ -4656,44 +4822,7 @@ msgstr "оÑтаннє Ð¿Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ %s"
msgid "less than a minute"
msgstr "менше хвилини"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:280
-msgid "marked as action scheduled"
-msgstr "позначено дію Ñк заплановану"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:292
-msgid "marked as an internal referral"
-msgstr "позначено Ñк внутрішній напрÑмок"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:282
-msgid "marked as closed"
-msgstr "позначено закритим"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:263
-#: perllib/FixMyStreet/DB/Result/Comment.pm:284
-msgid "marked as fixed"
-msgstr "позначено полагодженим"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:278
-msgid "marked as in progress"
-msgstr "позначено в процеÑÑ–"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:274
-msgid "marked as investigating"
-msgstr "позначено у вивченні"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:286
-msgid "marked as no further action"
-msgstr "позначено Ñк неможливо полагодити"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:288
-msgid "marked as not the council's responsibility"
-msgstr "позначено Ñк не відповідальніÑть ради"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:276
-msgid "marked as planned"
-msgstr "позначено запланованим"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:122
+#: perllib/FixMyStreet/App/Controller/Admin.pm:119
#: templates/web/base/admin/questionnaire.html:15
#: templates/web/base/admin/questionnaire.html:16
msgid "n/a"
@@ -4704,13 +4833,10 @@ msgstr "недоÑтупно"
msgid "none"
msgstr ""
-#: templates/web/base/admin/category_edit.html:35
-msgid "optional"
-msgstr ""
-
-#: templates/web/base/alert/_list.html:86
-msgid "or"
-msgstr "або"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:278
+#, fuzzy
+msgid "not the council's responsibility"
+msgstr "позначено Ñк не відповідальніÑть ради"
#: templates/web/base/js/translation_strings.html:27
msgid "or locate me automatically"
@@ -4735,16 +4861,7 @@ msgstr "в оригіналі вказано: &ldquo;%s&rdquo;"
msgid "other areas:"
msgstr "інші зони:"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:265
-#: perllib/FixMyStreet/DB/Result/Comment.pm:271
-msgid "reopened"
-msgstr "перевідкрито"
-
-#: templates/web/base/admin/category_edit.html:35
-msgid "required"
-msgstr ""
-
-#: templates/web/zurich/footer.html:13
+#: templates/web/zurich/footer.html:12
msgid "sign out"
msgstr "вийти"
@@ -4752,11 +4869,16 @@ msgstr "вийти"
msgid "the local council"
msgstr "міÑцевий орган"
-#: templates/web/base/report/_report_meta_info.html:2
+#: templates/web/base/report/_report_meta_info.html:5
#: templates/web/zurich/report/_main.html:5
msgid "there is no pin shown as the user did not use the map"
msgstr "шпильки немає так Ñк кориÑтувач не викориÑтав мапу"
+#: templates/web/base/alert/_list.html:1
+#, fuzzy
+msgid "this location"
+msgstr "ПереглÑдаєм локацію"
+
#: perllib/FixMyStreet/Script/Reports.pm:184
msgid "this type of local problem"
msgstr "цей тип локальної проблеми"
@@ -4765,15 +4887,13 @@ msgstr "цей тип локальної проблеми"
msgid "today"
msgstr "Ñьогодні"
-#: templates/web/base/js/translation_strings.html:73
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:76
msgid "update"
-msgstr "ПоновленнÑ"
+msgstr ""
-#: templates/web/base/js/translation_strings.html:74
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:77
msgid "updates"
-msgstr "ПоновленнÑ"
+msgstr ""
#: templates/web/base/admin/report_edit.html:52
msgid "used map"
@@ -4825,12 +4945,12 @@ msgstr[1] "%d хвилин"
msgstr[2] "%d хвилин"
#: perllib/Utils.pm:246
-#, fuzzy, perl-format
+#, perl-format
msgid "%d month"
msgid_plural "%d months"
-msgstr[0] "%d хвилина"
-msgstr[1] "%d хвилин"
-msgstr[2] "%d хвилин"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
#: templates/web/base/report/_support.html:6
#, perl-format
@@ -4856,6 +4976,46 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
+#: templates/web/base/reports/index.html:92
+#, perl-format
+msgid "%s day"
+msgid_plural "%s days"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/web/base/reports/index.html:55
+#, perl-format
+msgid "%s problem marked as fixed"
+msgid_plural "%s problems marked as fixed"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/web/base/reports/index.html:43
+#, perl-format
+msgid "%s problem reported"
+msgid_plural "%s problems reported"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/web/base/reports/index.html:107
+#, perl-format
+msgid "%s report"
+msgid_plural "%s reports"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: templates/web/base/reports/index.html:49
+#, perl-format
+msgid "%s update on problems"
+msgid_plural "%s updates on problems"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
#: templates/web/base/front/stats.html:19
#, perl-format
msgid "<big>%s</big> fixed in past month"
@@ -4888,13 +5048,13 @@ msgstr[0] "<big>%s</big> Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð½Ð° звіті"
msgstr[1] "<big>%s</big> оновлень на звіті"
msgstr[2] "<big>%s</big> оновлень на звіті"
-#: templates/web/base/report/_item.html:49
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:51
+#, perl-format
msgid "Reported %d day ago"
msgid_plural "Reported %d days ago"
-msgstr[0] "Перевідкрито %s о %s"
-msgstr[1] "Перевідкрито %s о %s"
-msgstr[2] "Перевідкрито %s о %s"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
#: templates/web/base/report/new/top_message_some.html:3
#, perl-format
@@ -4912,34 +5072,102 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: templates/web/base/report/_item.html:59
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:61
+#, perl-format
msgid "last updated %d day ago"
msgid_plural "last updated %d days ago"
-msgstr[0] "оÑтаннє Ð¿Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ %s"
-msgstr[1] "оÑтаннє Ð¿Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ %s"
-msgstr[2] "оÑтаннє Ð¿Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ %s"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
#: templates/email/oxfordshire/archive.txt:9
-#, fuzzy, perl-format
+#, perl-format
msgid "report"
msgid_plural "reports"
-msgstr[0] "СповіщеннÑ"
-msgstr[1] "СповіщеннÑ"
-msgstr[2] "СповіщеннÑ"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
-#, fuzzy
-#~ msgid "All inspectors"
-#~ msgstr "Ð’ÑÑ– звіти"
+#~ msgid "%s ward, %s"
+#~ msgstr "%s район, %s"
-#, fuzzy
-#~ msgid "Report category:"
-#~ msgstr "Створити категорію"
+#~ msgid "-- Pick a property type --"
+#~ msgstr "-- Оберіть тип майна --"
-#, fuzzy
-#~ msgid "Reported %d days ago"
-#~ msgstr "Перевідкрито %s о %s"
+#~ msgid "Closed reports"
+#~ msgstr "Закрити звіти"
-#, fuzzy
-#~ msgid "last updated %d days ago"
-#~ msgstr "оÑтаннє Ð¿Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ %s"
+#~ msgid "Closed:"
+#~ msgstr "Закрито:"
+
+#~ msgid "Duplicate"
+#~ msgstr "Дубль"
+
+#~ msgid "Fixed:"
+#~ msgstr "Вирішено:"
+
+#~ msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
+#~ msgstr "От типи локальних Ñповіщень про проблеми Ð´Ð»Ñ &lsquo;%s&rsquo;."
+
+#~ msgid "In Progress"
+#~ msgstr "Ð’ процеÑÑ–"
+
+#~ msgid "Internal referral"
+#~ msgstr "Внутрішнє поÑиланнÑ"
+
+#~ msgid "Investigating"
+#~ msgstr "ДоÑлідженнÑ"
+
+#~ msgid "No further action"
+#~ msgstr "Ðеможливо виправити"
+
+#~ msgid "Not Responsible"
+#~ msgstr "Ðе відповідальний"
+
+#~ msgid "Or problems reported to:"
+#~ msgstr "Ðбо проблеми прозвітовані до:"
+
+#~ msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
+#~ msgstr "Ðбо ви можете підпиÑатиÑÑŒ на алÑрми відноÑно вашого району чи департаменту:"
+
+#~ msgid "Please choose a property type"
+#~ msgstr "Будь лаÑка оберіть тип майна"
+
+#~ msgid "Problems within the boundary of:"
+#~ msgstr "Проблеми в межах:"
+
+#~ msgid "The simplest alert is our geographic one:"
+#~ msgstr "ÐайпроÑтіший алÑрм - географічний:"
+
+#~ msgid "closed as a duplicate report"
+#~ msgstr "позначено Ñк дублююче ÑповіщеннÑ"
+
+#~ msgid "marked as action scheduled"
+#~ msgstr "позначено дію Ñк заплановану"
+
+#~ msgid "marked as an internal referral"
+#~ msgstr "позначено Ñк внутрішній напрÑмок"
+
+#~ msgid "marked as closed"
+#~ msgstr "позначено закритим"
+
+#~ msgid "marked as fixed"
+#~ msgstr "позначено полагодженим"
+
+#~ msgid "marked as in progress"
+#~ msgstr "позначено в процеÑÑ–"
+
+#~ msgid "marked as investigating"
+#~ msgstr "позначено у вивченні"
+
+#~ msgid "marked as no further action"
+#~ msgstr "позначено Ñк неможливо полагодити"
+
+#~ msgid "marked as planned"
+#~ msgstr "позначено запланованим"
+
+#~ msgid "or"
+#~ msgstr "або"
+
+#~ msgid "reopened"
+#~ msgstr "перевідкрито"
diff --git a/locale/zh.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/zh.UTF-8/LC_MESSAGES/FixMyStreet.po
index 6cc63a3d5..2674f8960 100644
--- a/locale/zh.UTF-8/LC_MESSAGES/FixMyStreet.po
+++ b/locale/zh.UTF-8/LC_MESSAGES/FixMyStreet.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
-"POT-Creation-Date: 2017-03-30 17:33+0100\n"
+"POT-Creation-Date: 2017-09-13 15:40+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: mySociety <transifex@mysociety.org>, 2016\n"
+"Last-Translator: mySociety <transifex@mysociety.org>, 2017\n"
"Language-Team: Chinese (https://www.transifex.com/mysociety/teams/12067/zh/)\n"
"Language: zh\n"
"MIME-Version: 1.0\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:695
+#: perllib/FixMyStreet/DB/Result/Problem.pm:632
#: perllib/FixMyStreet/Script/Reports.pm:197
msgid " and "
msgstr "與"
@@ -97,30 +97,6 @@ msgstr "%s å•å·é€å‡º &ndash; % 回覆(%s%%)"
msgid "%s ref:&nbsp;%s"
msgstr "%s æµæ°´è™Ÿ:&nbsp;%s "
-#. ("%s is the site name")
-#: templates/web/base/alert/_list.html:74
-msgid ""
-"%s sends different categories of problem\n"
-"to the appropriate council, so problems within the boundary of a particular council\n"
-"might not match the problems sent to that council. For example, a graffiti report\n"
-"will be sent to the district council, so will appear in both of the district\n"
-"council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
-"for the county council."
-msgstr ""
-"%sé€å‡ºä¸åŒé¡žåˆ¥çš„å•題申報給\n"
-"é©å®œçš„地方政府機關,如果å•é¡Œç™¼ç”Ÿåœ¨æŸæ”¿åºœçš„轄å€å…§\n"
-"é€™æ¨£è™•ç†æˆ–許的確é©ç•¶ã€‚例如,塗鴉å•題將\n"
-"申報給里/倿©Ÿæ§‹ï¼Œæ‰€ä»¥æœƒåœ¨é‡Œ/倿©Ÿé—œçš„通告上\n"
-"è€Œåœ¨åœ°æ–¹æ”¿åºœçš„å…¬å‘Šç‰ˆä¸Šåªæœƒå‡ºç¾åœ¨è½„內通知上"
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:257 perllib/FixMyStreet/Cobrand/UK.pm:269
-msgid "%s ward, %s"
-msgstr "%s 里/å€, %s "
-
-#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
-msgid "%s, within %s ward"
-msgstr "%s, 在%s 里/å€"
-
#: perllib/FixMyStreet/Map/OSM.pm:38
msgid "&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"
msgstr "版本; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap開放街é“地圖</a> è²¢ç»è€…"
@@ -129,7 +105,7 @@ msgstr "版本; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap
msgid "(Defect &amp; location of defect)"
msgstr "(缺陷 &amp; 缺陷地點)"
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
#: templates/web/base/admin/users.html:32
msgid "(Email in abuse table)"
msgstr "電郵為濫發信件"
@@ -144,28 +120,36 @@ msgstr "(沒有姓å)"
msgid "(No phone number)"
msgstr "(沒有電話號碼)"
-#: templates/web/base/alert/_list.html:25
-msgid "(a default distance which covers roughly 200,000 people)"
-msgstr "é è¨­è·é›¢ç´„涵蓋20è¬äººå£"
-
-#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
-#: templates/web/base/alert/_list.html:30
-msgid "(alternatively the RSS feed can be customised, within %s)"
-msgstr "或å¯åœ¨ %så¦å¤–修改自定RSS訂閱"
+#: templates/web/base/admin/states/index.html:95
+msgid "(a-z and space only)"
+msgstr ""
#: templates/web/zurich/report/_item.html:19
msgid "(closed)"
msgstr "(çµæŸ)"
+#: templates/web/base/alert/_list.html:30
+#, fuzzy
+msgid "(covers roughly 200,000 people)"
+msgstr "é è¨­è·é›¢ç´„涵蓋20è¬äººå£"
+
#: templates/web/zurich/report/_item.html:17
msgid "(fixed)"
msgstr "(己處ç†)"
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "(ignored if type is \"String\")"
+msgstr ""
+
#: templates/web/base/around/intro.html:2
msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
msgstr "(例如塗鴉, 文宣張貼, 人行é“é‹ªæ¿æˆ–街燈æå£¤, )"
-#: templates/web/base/report/_item.html:68
+#: templates/web/base/reports/index.html:69
+msgid "(no longer exists)"
+msgstr ""
+
+#: templates/web/base/report/_item.html:70
msgid "(not sent to council)"
msgstr "ä¸è¦å‘地方政府é€å‡º"
@@ -173,20 +157,22 @@ msgstr "ä¸è¦å‘地方政府é€å‡º"
msgid "(optional)"
msgstr "(ä»»é¸)"
-#: templates/web/base/report/_item.html:67
+#: templates/web/base/report/_item.html:69
msgid "(sent to both)"
msgstr "兩個都é€å‡º"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:239
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/DB/Result/Problem.pm:454
+#. ("%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]")
+#: templates/web/base/alert/_list.html:36
+#, fuzzy
+msgid "(we also have RSS feeds for problems within %s)"
+msgstr "在 %s 內之å•題RSS 訂閱"
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:245
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:381
msgid "-- Pick a category --"
msgstr "鏿“‡åˆ†é¡ž"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:460
-msgid "-- Pick a property type --"
-msgstr "鏿“‡å…¬ç‰©ç¨®é¡ž"
-
#: templates/web/base/admin/response_templates_select.html:3
msgid "--Choose a template--"
msgstr ""
@@ -195,16 +181,16 @@ msgstr ""
msgid "10 inch pothole on Example St, near post box"
msgstr ""
-#: templates/web/base/dashboard/index.html:152
+#: templates/web/base/dashboard/index.html:153
msgid "14-30 days old"
msgstr ""
-#: templates/web/base/dashboard/index.html:151
+#: templates/web/base/dashboard/index.html:152
msgid "7-14 days old"
msgstr ""
-#: templates/web/base/admin/body-form.html:48
-#: templates/web/base/admin/body-form.html:49
+#: templates/web/base/admin/body-form.html:50
+#: templates/web/base/admin/body-form.html:51
msgid ""
"<code>MAPIT_URL</code> is set (<code>%s</code>) but no <code>MAPIT_TYPES</code>.<br>\n"
" This is probably why \"area covered\" is empty (below).<br>\n"
@@ -220,13 +206,13 @@ msgstr ""
msgid "<h2>Reports, Statistics and Actions for</h2> <h1>%s</h1>"
msgstr ""
-#. ('The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories')
#. ("The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories")
-#: templates/web/base/reports/_list-filters.html:37
-msgid "<label for=\"statuses\">Show</label> %s <label for=\"filter_categories\">about</label> %s"
+#: templates/web/base/reports/_list-filters.html:48
+#, fuzzy
+msgid "<label for=\"statuses\">Show</label> %s reports <label for=\"filter_categories\">about</label> %s"
msgstr "<label for=\"statuses\">颢示</label> %s <label for=\"filter_categories\">關於</label> %s"
-#: templates/web/base/js/translation_strings.html:71
+#: templates/web/base/js/translation_strings.html:74
msgid "<span>%s</span> saved."
msgstr ""
@@ -243,34 +229,25 @@ msgstr "<strong>ä¸</strong> 我è¦åˆ©ç”¨é›»å­éƒµä»¶ç¢ºèªæˆ‘的申報 "
msgid "<strong>No</strong> Let me confirm my update by email"
msgstr "<strong>ä¸</strong> 我è¦ç”¨é›»å­éƒµä»¶æ”¶åˆ°æ›´æ–°é€šçŸ¥"
-#: templates/web/base/auth/general.html:104
+#: templates/web/base/auth/general.html:106
#: templates/web/zurich/auth/general.html:51
msgid "<strong>No</strong> let me sign in by email"
msgstr "<strong>ä¸</strong> 我è¦ç”¨é›»å­éƒµä»¶ç™»å…¥"
-#: templates/web/base/report/_inspect.html:160
+#: templates/web/base/report/_inspect.html:170
msgid "<strong>Note:</strong> This report has been sent onwards for action. Any changes made won't be passed on."
msgstr ""
-#: templates/web/base/report/_inspect.html:162
+#: templates/web/base/report/_inspect.html:172
msgid "<strong>Note:</strong> This report hasn't yet been sent onwards for action. Any changes made may not be passed on."
msgstr ""
-#: templates/web/base/auth/general.html:80
+#: templates/web/base/auth/general.html:82
#: templates/web/base/report/new/form_user_loggedout_password.html:3
#: templates/web/base/report/update/form_user_loggedout_password.html:2
msgid "<strong>Yes</strong> I have a password"
msgstr "<strong>是</strong> 我有密碼"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:10
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:6
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Action Scheduled"
-msgstr "行動排程 "
-
#: templates/web/base/admin/body-form.html:3
#: templates/web/base/admin/body-form.html:4
msgid ""
@@ -288,19 +265,36 @@ msgid "Add a contact using the form below."
msgstr "增加è¯çµ¡äººè«‹ä½¿ç”¨ä¸‹æ–¹è¡¨å–®"
#: templates/web/base/admin/bodies.html:78
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Add body"
msgstr "新增有關單ä½"
+#: templates/web/base/admin/reportextrafields/index.html:24
+msgid "Add extra fields"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:79
+msgid "Add field"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:85
+msgid "Add fixed state"
+msgstr ""
+
#: templates/web/base/admin/body.html:126
#: templates/web/zurich/admin/body.html:31
msgid "Add new category"
msgstr "新增種類"
+#: templates/web/base/admin/extra-metadata-form.html:72
+#, fuzzy
+msgid "Add option"
+msgstr "(ä»»é¸)"
+
#: templates/web/base/report/_item.html:10
-#: templates/web/base/report/_item.html:14
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_item.html:16
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:19
#: templates/web/base/report/_main.html:30
msgid "Add to shortlist"
@@ -312,15 +306,15 @@ msgstr ""
msgid "Add user"
msgstr "新增使用者"
-#: perllib/FixMyStreet/Cobrand/Default.pm:730
+#: perllib/FixMyStreet/Cobrand/Default.pm:735
msgid "Add/edit problem categories"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:732
+#: perllib/FixMyStreet/Cobrand/Default.pm:737
msgid "Add/edit response priorities"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:731
+#: perllib/FixMyStreet/Cobrand/Default.pm:736
msgid "Add/edit response templates"
msgstr ""
@@ -328,7 +322,7 @@ msgstr ""
msgid "Added %s"
msgstr "新增 %s"
-#: templates/web/base/report/_main.html:145
+#: templates/web/base/report/_main.html:149
msgid "Adding this report to your shortlist will remove it from %s’s shortlist."
msgstr ""
@@ -348,17 +342,17 @@ msgstr "%s創建之 %d通知, 種類 %s, åƒæ•¸ %s / %s"
msgid "Alert %d disabled (created %s)"
msgstr "%d 關閉通知 "
-#: templates/web/base/report/update/form_name.html:38
+#: templates/web/base/report/update/form_name.html:42
msgid "Alert me to future updates"
msgstr "通知我此事後續"
#: templates/web/base/dashboard/index.html:138
#: templates/web/base/dashboard/index.html:21
#: templates/web/base/dashboard/index.html:30
+#: templates/web/base/reports/_list-filters.html:3
msgid "All"
msgstr ""
-#: templates/web/base/reports/index.html:6
#: templates/web/zurich/reports/index.html:13
msgid "All Reports"
msgstr "所有事件申報"
@@ -368,15 +362,23 @@ msgid "All Reports as CSV"
msgstr "所有事件申報存æˆCSVæ ¼å¼"
#: templates/web/base/admin/category-multiselect.html:5
-#: templates/web/base/admin/responsepriorities/list.html:19
+#: templates/web/base/admin/responsepriorities/list.html:20
msgid "All categories"
msgstr ""
+#: templates/web/base/admin/reportextrafields/edit.html:26
+#, fuzzy
+msgid "All cobrands"
+msgstr "è¯åˆå“牌"
+
+#: templates/web/base/admin/reportextrafields/edit.html:47
+msgid "All languages"
+msgstr ""
+
#: templates/web/base/main_nav_items.html:0
#: templates/web/base/main_nav_items.html:27
-#: templates/web/base/reports/_list-filters.html:3
#: templates/web/zurich/admin/index-dm.html:12
-#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:21
+#: templates/web/zurich/admin/stats.html:13 templates/web/zurich/footer.html:20
#: templates/web/zurich/nav_over_content.html:6
msgid "All reports"
msgstr "所有事件申報"
@@ -386,6 +388,14 @@ msgstr "所有事件申報"
msgid "All reports between %s and %s"
msgstr "%s 與 %s 之間申報"
+#: templates/web/base/reports/index.html:23
+msgid "All time"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:20
+msgid "Alternatively, we can hide your name on <strong>all of your reports and updates</strong> across the site:"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:47
msgid "An update marked this problem as fixed."
msgstr "本å•題已解決之更新標註"
@@ -395,31 +405,33 @@ msgstr "本å•題已解決之更新標註"
msgid "Anonymous"
msgstr "匿å"
-#: templates/web/base/admin/report_edit.html:134
+#: templates/web/base/report/new/form_user_loggedin.html:21
+#: templates/web/base/report/update/form_name.html:17
+#, fuzzy
+msgid "Anonymous user"
+msgstr "匿å"
+
+#: templates/web/base/admin/report_edit.html:122
#: templates/web/base/admin/update_edit.html:23
msgid "Anonymous:"
msgstr "匿å:"
-#: templates/web/base/report/new/form_user_loggedin.html:20
-#: templates/web/base/report/update/form_name.html:13
+#: templates/web/base/report/new/form_user_loggedin.html:24
+#: templates/web/base/report/update/form_name.html:14
msgid "Another user"
msgstr ""
-#: templates/web/base/front/footer-marketing.html:16
-msgid "Are you a developer?"
-msgstr "你是程å¼é–‹ç™¼è€…å—Ž?"
-
-#: templates/web/base/js/translation_strings.html:56
+#: templates/web/base/js/translation_strings.html:59
msgid "Are you sure you want to cancel this upload?"
msgstr ""
#: templates/web/base/admin/report_edit.html:84
-#: templates/web/base/js/translation_strings.html:66
+#: templates/web/base/js/translation_strings.html:69
#: templates/web/base/report/display_tools.html:6
msgid "Are you sure?"
msgstr ""
-#: templates/web/base/admin/body-form.html:75
+#: templates/web/base/admin/body-form.html:77
#: templates/web/base/admin/body.html:20
#: templates/web/zurich/admin/body-form.html:24
msgid "Area covered"
@@ -451,11 +463,11 @@ msgstr "分派給外部機:"
msgid "Assign to subdivision:"
msgstr "交派給下級單ä½ï¼š"
-#: perllib/FixMyStreet/Cobrand/Default.pm:727
+#: perllib/FixMyStreet/Cobrand/Default.pm:732
msgid "Assign users to areas"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:214
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:219
msgid "Assigned to %s"
msgstr "派給 %s"
@@ -476,11 +488,14 @@ msgstr ""
msgid "Auto-response:"
msgstr ""
-#: templates/web/base/admin/report_edit.html:127
-#: templates/web/base/report/_inspect.html:47
+#: templates/web/base/admin/report-category.html:8
msgid "Available categories"
msgstr ""
+#: templates/web/base/reports/index.html:84
+msgid "Average time between a problem being reported and being fixed, last 100 reports."
+msgstr ""
+
#: templates/web/base/dashboard/index.html:109
msgid "Average time to council marking fixed (days)"
msgstr ""
@@ -493,7 +508,7 @@ msgstr ""
msgid "Avoid personal information and vehicle number plates"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:417
+#: perllib/FixMyStreet/DB/Result/Problem.pm:344
#: templates/web/zurich/report/_item.html:9
msgid "Awaiting moderation"
msgstr "å¾…æ ¸å¯"
@@ -506,13 +521,13 @@ msgstr "回上層"
msgid "Back to all reports"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:43
+#: templates/web/base/admin/report_blocks.html:18
msgid "Ban email address"
msgstr "ç¦æ­¢ä¹‹é›»å­éƒµä»¶"
#: perllib/FixMyStreet/Cobrand/Default.pm:650
-#: perllib/FixMyStreet/Cobrand/Default.pm:729
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
+#: perllib/FixMyStreet/Cobrand/Default.pm:734
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:396
#: templates/web/base/admin/bodies.html:1
#: templates/web/base/admin/report_edit.html:55
#: templates/web/zurich/header.html:56
@@ -534,7 +549,11 @@ msgstr "有關單ä½:"
msgid "By Date"
msgstr "日期"
-#: templates/web/base/auth/token.html:21 templates/web/base/email_sent.html:18
+#: templates/web/base/admin/extra-metadata-form.html:36
+msgid "Can be used to display extra text to the user alongside the field. The default template does not show this (<code>meta.datatype_description</code>), you must add it in <code>category_extras_fields.html</code>"
+msgstr ""
+
+#: templates/web/base/auth/token.html:27 templates/web/base/email_sent.html:20
msgid "Can&rsquo;t find our email? Check your spam folder&nbsp;&ndash; that&rsquo;s the solution 99% of the time."
msgstr "你的信箱中找ä¸åˆ°æˆ‘們的來信嗎?先檢查看看垃圾回收桶,通常99%çš„å•題å¯ç²è§£æ±º"
@@ -555,8 +574,8 @@ msgstr ""
#: templates/web/base/admin/body.html:72
#: templates/web/base/admin/contact-form.html:19
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/report/_inspect.html:38
-#: templates/web/base/report/_item.html:90
+#: templates/web/base/report/_inspect.html:48
+#: templates/web/base/report/_item.html:92
#: templates/web/base/report/new/category.html:6
#: templates/web/base/report/new/category_wrapper.html:3
#: templates/web/zurich/admin/body.html:14
@@ -567,7 +586,7 @@ msgstr ""
msgid "Category"
msgstr "類別"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:852
+#: perllib/FixMyStreet/App/Controller/Admin.pm:956
msgid "Category changed from ‘%s’ to ‘%s’"
msgstr ""
@@ -607,27 +626,11 @@ msgstr ""
msgid "Change password"
msgstr "æ›´æ›å¯†ç¢¼"
-#: templates/web/base/admin/contact-form.html:41
-msgid ""
-"Check <strong>confirmed</strong> to indicate that this contact has been confirmed as correct.\n"
-" If you are not sure of the origin or validity of the contact, leave this unchecked."
-msgstr ""
-"看看<strong>已確èªç”³å ±</strong> 此顯示承辦人員已確èªç”³è¨´ç„¡èª¤ã€‚\n"
-"如果你無法確定承辯人員來æºèˆ‡æœ‰æ•ˆèˆ‡å¦, è«‹ä¿ç•™ç©ºç™½ã€‚"
-
-#: templates/web/base/admin/contact-form.html:52
-msgid ""
-"Check <strong>deleted</strong> to remove the category from use. \n"
-" It will not appear as an available category in the drop-down menu on the report-a-problem page."
-msgstr ""
-"看看<strong>已刪除</strong> 以移除該類別。\n"
-"æ­¤é­åˆªé™¤é¡žåˆ¥å°‡ä¸æœƒé¡¯ç¤ºåœ¨ç”³å ±å•題é çš„下拉å¼é¸é …上。"
-
-#: templates/web/base/admin/contact-form.html:79
+#: templates/web/base/admin/contact-form.html:80
msgid "Check <strong>inspection required</strong> if reports in this category <strong>must be inspected</strong> before being sent."
msgstr ""
-#: templates/web/base/admin/contact-form.html:63
+#: templates/web/base/admin/contact-form.html:64
msgid ""
"Check <strong>private</strong> if reports in this category should <strong>never be displayed on the website</strong>.\n"
" <br>\n"
@@ -650,11 +653,11 @@ msgid ""
" to the body too. These will appear in the drop-down menu on the report-a-problem page."
msgstr "鏿“‡æ°‘眾å¯ç†è§£çš„<strong>類別</strong> (例如., \"è·¯é¢å‘æ´ž\", \"街燈故障\") ä¹ŸåŠ©æ–¼è®“æœ‰é—œå–®ä½æŽŒæ¡. 此類別將會顯示在申報å•題é çš„下拉å¼é¸é …上。"
-#: templates/web/base/report/_inspect.html:93
+#: templates/web/base/report/_inspect.html:103
msgid "Choose another"
msgstr ""
-#: templates/web/base/js/translation_strings.html:65
+#: templates/web/base/js/translation_strings.html:68
msgid "Clear offline data"
msgstr ""
@@ -679,21 +682,22 @@ msgstr "鏿“‡ç¢ºèªé›»å­éƒµä»¶ä¸Šçš„連çµä»¥ç™¼ä½ˆä½ çš„å•題 "
msgid "Click the link in our confirmation email to publish your update."
msgstr "鏿“‡ç¢ºèªé›»å­éƒµä»¶ä¸Šçš„連çµä»¥ç™¼ä½ˆä½ çš„æ›´æ–°"
-#: templates/web/base/auth/token.html:18
+#: templates/web/base/auth/token.html:23
msgid "Click the link in our confirmation email to sign in."
msgstr "鏿“‡ç¢ºèªé›»å­éƒµä»¶ä¸Šçš„連çµä»¥ä½œç™»å…¥"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:189
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:960
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:17
-#: templates/web/base/admin/report_blocks.html:27
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:43
-#: templates/web/base/report/banner.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:18
+#: templates/web/base/auth/token.html:20
+#, fuzzy
+msgid "Click the link in that email to sign in."
+msgstr "鏿“‡ç¢ºèªé›»å­éƒµä»¶ä¸Šçš„連çµä»¥ä½œç™»å…¥"
+
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:134
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:194
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:965
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:11
+#: templates/web/base/admin/states/index.html:103
+#: templates/web/base/admin/states/index.html:27
+#: templates/web/base/admin/states/index.html:33
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:10
#: templates/web/zurich/admin/header.html:16
@@ -701,23 +705,17 @@ msgstr "鏿“‡ç¢ºèªé›»å­éƒµä»¶ä¸Šçš„連çµä»¥ä½œç™»å…¥"
msgid "Closed"
msgstr "關閉"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:889
+#: perllib/FixMyStreet/DB/Result/Problem.pm:826
msgid "Closed by council"
msgstr "由地方政府關閉"
-#: templates/web/base/reports/_list-filters.html:13
-msgid "Closed reports"
-msgstr "完çµä¹‹ç”³å ± "
-
-#: templates/web/base/admin/problem_row.html:38
-msgid "Closed:"
-msgstr "關閉:"
-
#: templates/web/base/admin/report_edit.html:37
msgid "Co-ordinates:"
msgstr "å”åŒå–®ä½:"
#: templates/web/base/admin/list_updates.html:10
+#: templates/web/base/admin/reportextrafields/edit.html:24
+#: templates/web/base/admin/reportextrafields/index.html:7
msgid "Cobrand"
msgstr "è¯åˆå“牌"
@@ -731,10 +729,13 @@ msgstr "è¯åˆå“牌資料:"
msgid "Cobrand:"
msgstr "è¯åˆå“牌:"
+#: templates/web/base/admin/extra-metadata-form.html:14
+msgid "Code"
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:50
-#, fuzzy
msgid "Collapse map"
-msgstr "已用éŽä¹‹åœ°åœ–"
+msgstr ""
#: perllib/FixMyStreet/Cobrand/Default.pm:646
#: templates/web/base/admin/config_page.html:1
@@ -762,9 +763,8 @@ msgstr ""
msgid "Confirmation"
msgstr "確èª"
-#: templates/web/base/admin/body.html:85
-#: templates/web/base/admin/category_edit.html:54
-#: templates/web/base/admin/contact-form.html:47
+#: templates/web/base/admin/contact-form.html:56
+#: templates/web/zurich/admin/contact-form.html:12
#: templates/web/zurich/admin/stats.html:40
msgid "Confirmed"
msgstr "已確èª"
@@ -799,8 +799,8 @@ msgstr "é€£çµæœ¬åœ˜éšŠ"
msgid "Coordinates:"
msgstr "å”åŒå–®ä½:"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1668
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1696
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1773
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1801
msgid "Could not find user"
msgstr "找ä¸åˆ°è©²æˆ¶ç”¨"
@@ -820,33 +820,28 @@ msgstr "è¯ç¹‹åœ°æ–¹æ”¿åºœ %s"
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:83
-#, fuzzy
msgid "Council has marked as closed"
-msgstr "標註為關閉"
+msgstr ""
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:57
-#, fuzzy
msgid "Council has marked as fixed"
-msgstr "標註為解決"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:80
-#, fuzzy
msgid "Council has marked as in progress"
-msgstr "標註為處ç†ä¸­"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:82
-#, fuzzy
msgid "Council has marked as investigating"
-msgstr "標註為調查中"
+msgstr ""
#: templates/web/base/dashboard/index.html:78
#: templates/web/base/dashboard/index.html:81
-#, fuzzy
msgid "Council has marked as planned"
-msgstr "標註為己è¦ç•«"
+msgstr ""
#: templates/web/base/report/_council_sent_info.html:6
msgid "Council ref:&nbsp;%s"
@@ -863,24 +858,33 @@ msgstr "地方政府"
msgid "Count"
msgstr "數é‡"
+#: templates/web/base/admin/states/index.html:114
+#, fuzzy
+msgid "Create"
+msgstr "建立"
+
#: templates/web/base/email_sent.html:1
msgid "Create a report"
msgstr "創建申報"
-#: templates/web/base/admin/contact-form.html:137
+#: templates/web/base/admin/contact-form.html:138
#: templates/web/zurich/admin/body.html:62
msgid "Create category"
msgstr "創建類別"
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/responsepriorities/edit.html:58
msgid "Create priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:714
+#: perllib/FixMyStreet/Cobrand/Default.pm:718
+msgid "Create reports/updates as anonymous user"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:719
msgid "Create reports/updates as the council"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:713
+#: perllib/FixMyStreet/Cobrand/Default.pm:717
msgid "Create reports/updates on a user's behalf"
msgstr ""
@@ -910,13 +914,15 @@ msgstr "ç›®å‰ç‹€æ³"
msgid "Currently no bodies have been created."
msgstr "ç›®å‰æœªå‰µå»ºå…§æ–‡"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:825
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:830
#: templates/web/zurich/admin/report_edit-sdm.html:105
msgid "Customer not contactable"
msgstr "無法è¨çµ¡ä¸Šçš„客戶"
#: templates/web/base/dashboard/index.html:5
#: templates/web/base/dashboard/index.html:7
+#: templates/web/base/reports/index.html:15
+#: templates/web/base/reports/index.html:18
msgid "Dashboard"
msgstr "控制å°"
@@ -924,29 +930,36 @@ msgstr "控制å°"
msgid "Dealt with by subdivision within 5 working days"
msgstr "下屬單ä½5個工作天內處ç†ã€‚"
-#: templates/web/base/report/_inspect.html:73
+#: templates/web/base/admin/responsepriorities/list.html:9
+msgid "Default"
+msgstr ""
+
+#: templates/web/base/admin/responsepriorities/edit.html:39
+msgid "Default priority"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:72
msgid "Defect type"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:973
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1078
#: templates/web/base/admin/template_edit.html:50
#: templates/web/zurich/admin/template_edit.html:33
msgid "Delete template"
msgstr "刪除模版"
#: templates/web/base/admin/bodies.html:31
-#: templates/web/base/admin/body.html:87
-#: templates/web/base/admin/category_edit.html:55
#: templates/web/base/admin/contact-form.html:58
-#: templates/web/zurich/admin/contact-form.html:12
+#: templates/web/zurich/admin/contact-form.html:13
msgid "Deleted"
msgstr "刪除"
-#: templates/web/base/report/_main.html:110
-#: templates/web/base/report/update.html:59
+#: templates/web/base/report/_main.html:114
+#: templates/web/base/report/update.html:68
msgid "Describe why you are moderating this"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:32
#: templates/web/base/admin/responsepriorities/list.html:7
#: templates/web/zurich/admin/index-dm.html:22
#: templates/web/zurich/admin/index-sdm.html:20
@@ -970,7 +983,7 @@ msgstr "細節"
msgid "Details:"
msgstr "細節:"
-#: templates/web/base/admin/body.html:93
+#: templates/web/base/admin/body.html:92
msgid "Devolved"
msgstr "下放"
@@ -983,18 +996,17 @@ msgstr "ä¸ä½¿ç”¨åœ°åœ–"
msgid "Diligency prize league table"
msgstr "勤奮表ç¾åå–®"
-#: templates/web/base/report/_main.html:114
-#: templates/web/base/report/update.html:61
-#, fuzzy
+#: templates/web/base/report/_main.html:118
+#: templates/web/base/report/update.html:70
msgid "Discard changes"
-msgstr "儲存變動"
+msgstr ""
#: templates/web/base/admin/open311-form-fields.html:95
msgid "Do not send email alerts on fetched comments to problem creator"
msgstr ""
#. ("%s is the site name")
-#: templates/web/base/auth/general.html:58
+#: templates/web/base/auth/general.html:60
#: templates/web/base/report/new/form_user_loggedout.html:25
#: templates/web/base/report/new/oauth_email_form.html:18
#: templates/web/base/report/update-form.html:30
@@ -1002,40 +1014,33 @@ msgstr ""
msgid "Do you have a %s password?"
msgstr "æ‚¨æ˜¯å¦æœ‰ %s密碼? "
+#: templates/web/base/report/_inspect.html:87
+msgid "Do you want to automatically raise a defect?"
+msgstr ""
+
#: templates/web/base/questionnaire/index.html:57
msgid "Don&rsquo;t know"
msgstr "ä¸çŸ¥é“"
-#: templates/web/base/contact/index.html:108
+#: templates/web/base/contact/index.html:112
msgid "Don't like forms?"
msgstr "ä¸å–œæ­¡æ­¤è¡¨å–®ï¼Ÿ"
-#: templates/web/base/report/_item.html:25
+#: templates/web/base/report/_item.html:27
msgid "Down one"
msgstr ""
-#: templates/web/base/js/translation_strings.html:55
+#: templates/web/base/js/translation_strings.html:58
msgid "Drag and drop photos here or <u>click to upload</u>"
msgstr ""
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:10
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "Duplicate"
-msgstr "複製 "
-
-#: templates/web/base/report/_inspect.html:88
-#, fuzzy
+#: templates/web/base/report/_inspect.html:98
msgid "Duplicate of"
-msgstr "複製 "
+msgstr ""
-#: templates/web/base/report/_inspect.html:98
-#, fuzzy
+#: templates/web/base/report/_inspect.html:108
msgid "Duplicates"
-msgstr "複製 "
+msgstr ""
#: templates/web/base/admin/body.html:116
msgid ""
@@ -1048,43 +1053,43 @@ msgstr ""
"ä¸åŒé¡žåˆ¥ <strong>能夠åŒä¸€ä½æ‰¿è¾¦äºº</strong> (é›»å­éƒµä»¶)\n"
"這表示你å¯ä»¥å¤šåŠ ä¸€äº›é¡žåˆ¥ï¼Œå³ä½¿ä½ åªè¯çµ¡ä¸€ä½æ‰¿è¾¦äººå“¡ã€‚"
-#: templates/web/base/report/_inspect.html:16
-#: templates/web/base/report/_item.html:81
+#: templates/web/base/report/_inspect.html:26
+#: templates/web/base/report/_item.html:83
msgid "Easting/Northing:"
msgstr ""
#: templates/web/base/admin/list_updates.html:42
#: templates/web/base/admin/problem_row.html:41
-#: templates/web/base/admin/responsepriorities/list.html:26
+#: templates/web/base/admin/responsepriorities/list.html:28
#: templates/web/base/admin/templates.html:22
#: templates/web/base/admin/users.html:34
#: templates/web/zurich/admin/problem_row.html:48
msgid "Edit"
msgstr "編輯"
-#: templates/web/base/admin/body.html:140
+#: templates/web/base/admin/body.html:141
#: templates/web/base/admin/index.html:39
#: templates/web/zurich/admin/body.html:69
msgid "Edit body details"
msgstr "編輯有關單ä½ç´°ç¯€"
-#: perllib/FixMyStreet/Cobrand/Default.pm:724
+#: perllib/FixMyStreet/Cobrand/Default.pm:729
msgid "Edit other users' details"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:725
+#: perllib/FixMyStreet/Cobrand/Default.pm:730
msgid "Edit other users' permissions"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:708
+#: perllib/FixMyStreet/Cobrand/Default.pm:712
msgid "Edit report category"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:709
+#: perllib/FixMyStreet/Cobrand/Default.pm:713
msgid "Edit report priority"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:707
+#: perllib/FixMyStreet/Cobrand/Default.pm:711
msgid "Edit reports"
msgstr ""
@@ -1107,15 +1112,15 @@ msgstr "編輯更新 %d"
msgid "Editing user %d"
msgstr "編輯用戶帳號 $d"
-#: templates/web/base/admin/category_edit.html:56
+#: templates/web/base/admin/category_edit.html:30
msgid "Editor"
msgstr "編輯器"
#: templates/web/base/admin/bodies.html:27
-#: templates/web/base/admin/category_edit.html:53
+#: templates/web/base/admin/category_edit.html:28
#: templates/web/base/admin/flagged.html:38
#: templates/web/base/admin/users.html:17
-#: templates/web/base/auth/general.html:49
+#: templates/web/base/auth/general.html:51
#: templates/web/zurich/admin/body-form.html:9
#: templates/web/zurich/admin/body.html:15
#: templates/web/zurich/auth/general.html:24
@@ -1123,13 +1128,14 @@ msgstr "編輯器"
msgid "Email"
msgstr "é›»å­éƒµä»¶"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1644
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1749
msgid "Email added to abuse list"
msgstr "é›»å­éƒµä»¶åˆ—入濫發åå–®"
-#: templates/web/base/admin/contact-form.html:36
-#: templates/web/base/report/new/form_user_loggedin.html:28
-#: templates/web/base/report/update/form_name.html:19
+#: templates/web/base/admin/contact-form.html:38
+#: templates/web/base/alert/_list.html:74
+#: templates/web/base/report/new/form_user_loggedin.html:32
+#: templates/web/base/report/update/form_name.html:23
msgid "Email address"
msgstr ""
@@ -1141,11 +1147,11 @@ msgstr "建立電郵通知"
msgid "Email alert deleted"
msgstr "å–æ¶ˆé›»éƒµé€šçŸ¥"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1641
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1746
msgid "Email already in abuse list"
msgstr "é›»å­éƒµä»¶å·±åœ¨æ¿«ç™¼åå–®"
-#: templates/web/base/admin/report_edit.html:141
+#: templates/web/base/admin/report_edit.html:129
#: templates/web/base/admin/update_edit.html:35
#: templates/web/base/admin/user-form.html:19
#: templates/web/zurich/admin/body.html:48
@@ -1169,8 +1175,8 @@ msgstr ""
"如果您ä¸ç¢ºå®šæ˜¯å¦è¦é–‹å•Ÿï¼Œè«‹ä¿ç•™ç©ºç™½\n"
"更多資訊說明<a href='https://www.mysociety.org/2013/02/20/open311-extended/' class='admin-offsite-link'>請見本文(英文)</a>."
-#: templates/web/base/admin/body-form.html:120
-#: templates/web/base/admin/body-form.html:121
+#: templates/web/base/admin/body-form.html:122
+#: templates/web/base/admin/body-form.html:123
msgid ""
"Enable this <strong>can be devolved</strong> setting if one or more contacts have a \n"
" different endpoint (and send method) from the body's. For example, if reports for some categories of\n"
@@ -1187,11 +1193,11 @@ msgstr "çµæŸæ—¥æœŸ:"
msgid "Endpoint"
msgstr "çµæŸé»ž"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:76
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:81
msgid "Enter a Z&uuml;rich street name"
msgstr "輸入街é“å稱 "
-#: perllib/FixMyStreet/Cobrand/UK.pm:15
+#: perllib/FixMyStreet/Cobrand/UK.pm:16
msgid "Enter a nearby UK postcode, or street name and area"
msgstr "輸入本å€çš„éƒµç·¨ï¼Œè¡—åæˆ–å€åŸŸã€‚"
@@ -1200,12 +1206,13 @@ msgstr "輸入本å€çš„éƒµç·¨ï¼Œè¡—åæˆ–å€åŸŸã€‚"
msgid "Enter a nearby postcode, or street name and area"
msgstr "輸入本å€çš„éƒµç·¨ï¼Œè¡—åæˆ–å€åŸŸã€‚"
+#: perllib/FixMyStreet/Cobrand/DansMonQwat.pm:14
#: templates/web/base/around/postcode_form.html:5
#: templates/web/base/around/postcode_form.html:6
msgid "Enter a nearby street name and area"
msgstr "è¼¸å…¥æœ€è¿‘çš„è¡—åæˆ–地å€"
-#: templates/web/base/auth/general.html:116
+#: templates/web/base/auth/general.html:118
#: templates/web/base/report/new/form_user_loggedout_by_email.html:35
#: templates/web/base/report/update/form_user_loggedout_by_email.html:13
#: templates/web/zurich/auth/general.html:65
@@ -1225,8 +1232,8 @@ msgstr "請在此填寫å•題的細節"
msgid "Error"
msgstr "錯誤"
-#: templates/web/base/reports/_list-filters.html:20
-#: templates/web/base/reports/_list-filters.html:28
+#: templates/web/base/reports/_list-filters.html:31
+#: templates/web/base/reports/_list-filters.html:39
msgid "Everything"
msgstr "一切"
@@ -1239,8 +1246,7 @@ msgstr "郵éžå€è™Ÿç¯„例 %s"
msgid "Examples:"
msgstr "範例:"
-#: templates/web/base/admin/report_edit.html:122
-#: templates/web/base/report/_inspect.html:42
+#: templates/web/base/admin/report-category.html:3
msgid "Existing category"
msgstr ""
@@ -1248,17 +1254,16 @@ msgstr ""
msgid "Expand map"
msgstr ""
-#: templates/web/base/report/new/form_report.html:52
+#: templates/web/base/report/new/form_report.html:54
msgid "Explain what’s wrong"
msgstr ""
-#: templates/web/base/dashboard/index.html:146
-#, fuzzy
+#: templates/web/base/dashboard/index.html:147
msgid "Export as CSV"
-msgstr "所有事件申報存æˆCSVæ ¼å¼"
+msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:913
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:179
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:12
msgid "Extern"
@@ -1269,7 +1274,7 @@ msgstr "外åœ"
msgid "External ID"
msgstr ""
-#: templates/web/base/admin/body-form.html:87
+#: templates/web/base/admin/body-form.html:89
msgid "External URL"
msgstr "外部網å€"
@@ -1281,13 +1286,20 @@ msgstr ""
msgid "External team"
msgstr ""
-#: templates/web/base/admin/category_edit.html:25
+#: perllib/FixMyStreet/Cobrand/Default.pm:673
+#: templates/web/base/admin/reportextrafields/edit.html:1
+#: templates/web/base/admin/reportextrafields/index.html:1
+#, fuzzy
+msgid "Extra Fields"
+msgstr "其它資料:"
+
+#: templates/web/base/admin/contact-form.html:141
#: templates/web/base/admin/report_edit.html:94
msgid "Extra data:"
msgstr "其它資料:"
-#: templates/web/base/report/_inspect.html:134
-#: templates/web/base/report/_item.html:106
+#: templates/web/base/report/_inspect.html:144
+#: templates/web/base/report/_item.html:108
msgid "Extra details"
msgstr ""
@@ -1295,6 +1307,11 @@ msgstr ""
msgid "Failed to send message"
msgstr "無法é€å‡ºç•™è¨€"
+#: templates/web/base/admin/reportextrafields/edit.html:58
+#: templates/web/base/admin/reportextrafields/index.html:9
+msgid "Fields"
+msgstr ""
+
#: templates/web/zurich/admin/index-dm.html:33
#: templates/web/zurich/admin/index-sdm.html:30
msgid "Filter report list"
@@ -1308,52 +1325,32 @@ msgstr "首次"
msgid "Fix this by choosing an <strong>area covered</strong> in the <em>Edit body details</em> form below."
msgstr "鏿“‡<strong>涵蓋的å€åŸŸ</strong> <em>編輯有關單ä½</em> 表單。"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:11
-#: templates/web/base/admin/report_blocks.html:26
+#: perllib/FixMyStreet/App/Controller/Admin/States.pm:35
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:133
+#: templates/web/base/admin/states/index.html:29
#: templates/web/base/admin/stats_fix_rate.html:4
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/_item.html:41
-#: templates/web/base/report/banner.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:17
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:45
msgid "Fixed"
msgstr "已處ç†"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:13
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:7
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:62
msgid "Fixed - Council"
msgstr "已處ç†ï¼åœ°æ–¹æ”¿åºœ"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:12
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:63
msgid "Fixed - User"
msgstr "已處ç†ï¼ç”¨æˆ¶"
-#: templates/web/base/reports/_list-filters.html:14
-msgid "Fixed reports"
-msgstr "已處ç†ä¹‹ç”³å ±ã€€"
-
-#: templates/web/base/admin/problem_row.html:37
-msgid "Fixed:"
-msgstr "已處ç†:"
-
-#: templates/web/base/admin/body-form.html:95
-#: templates/web/base/admin/responsepriorities/edit.html:41
+#: templates/web/base/admin/body-form.html:97
+#: templates/web/base/admin/responsepriorities/edit.html:53
#: templates/web/zurich/admin/body-form.html:36
msgid "Flag as deleted"
msgstr "標記警告為刪除 "
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/report_blocks.html:23
msgid "Flag user"
msgstr "標記警告用戶"
-#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: perllib/FixMyStreet/Cobrand/Default.pm:644
#: templates/web/base/admin/users.html:20
msgid "Flagged"
msgstr "標記警告"
@@ -1370,7 +1367,7 @@ msgstr "標記警告用戶其已被列入 <a href='%s'>警告é </a>"
msgid "Flagged users are not restricted in any way. This is just a list of users that have been marked for attention."
msgstr "被標記警告的用戶其權é™ä¸å—å½±éŸ¿ï¼Œåªæ˜¯åˆ—入特別關注åå–®"
-#: templates/web/base/admin/report_edit.html:147
+#: templates/web/base/admin/report_edit.html:135
#: templates/web/base/admin/user-form.html:100
msgid "Flagged:"
msgstr "警告:"
@@ -1383,21 +1380,25 @@ msgstr "追踪里/å€é€£çµï¼Œä»¥æª¢è¦–該å€å…§ä¹‹ç”³å ±"
msgid "For best results include a close-up and a wide shot"
msgstr ""
-#: templates/web/base/admin/body-form.html:71
+#: templates/web/base/admin/extra-metadata-form.html:52
+msgid "For each option, <strong>Key</strong> is the value which is stored in the database for that option and <strong>Name</strong> is the value displayed to the user."
+msgstr ""
+
+#: templates/web/base/admin/body-form.html:73
msgid "For more information, see <a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>How FixMyStreet uses Mapit</a>."
msgstr "更多資訊,請詳見<a href='http://fixmystreet.org/customising/fms_and_mapit' class='admin-offsite-link'>如何使用 FixMyStreet 地圖標記</a>(英文)"
-#: templates/web/base/auth/general.html:95
+#: templates/web/base/auth/general.html:97
#: templates/web/base/report/new/form_user_loggedout_password.html:20
#: templates/web/base/report/update/form_user_loggedout_password.html:19
msgid "Forgotten your password?"
msgstr "忘記您的密碼?"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:743
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:748
msgid "Forwarded to external body"
msgstr "轉寄給外部機構"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:744
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:749
msgid "Forwarded wish to external body"
msgstr "轉寄願望給外部機構"
@@ -1407,6 +1408,10 @@ msgstr "轉寄願望給外部機構"
msgid "Frequently Asked Questions"
msgstr "常見å•題回覆 "
+#: templates/web/base/admin/stats.html:102
+msgid "Get Count"
+msgstr ""
+
#: templates/web/base/around/_updates.html:3
#: templates/web/base/report/display_tools.html:14
msgid "Get updates"
@@ -1422,10 +1427,14 @@ msgstr "å–å¾— %så•題之更新"
msgid "Get updates of problems in this %s"
msgstr "å–å¾— %så€åŸŸå…§çš„å•題更新"
-#: templates/web/base/alert/_list.html:83
+#: templates/web/base/alert/_list.html:85
msgid "Give me an RSS feed"
msgstr "我è¦è¨‚é–±RSS"
+#: templates/web/base/admin/reportextrafields/edit.html:6
+msgid "Give this collection of fields a name. It is not shown publicly, just here in the admin."
+msgstr ""
+
#: templates/web/base/questionnaire/completed.html:14
msgid "Glad to hear it’s been fixed!"
msgstr "很高興è½åˆ°å•題已處ç†äº†ã€‚"
@@ -1435,8 +1444,9 @@ msgstr "很高興è½åˆ°å•題已處ç†äº†ã€‚"
#: templates/web/base/admin/index.html:49
#: templates/web/base/alert/index.html:34
#: templates/web/base/around/postcode_form.html:13
-#: templates/web/base/reports/_list-filters.html:38
-#: templates/web/base/reports/_list-filters.html:53
+#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:64
+#: templates/web/base/reports/index.html:75
#: templates/web/zurich/admin/stats.html:26
msgid "Go"
msgstr "èµ°"
@@ -1445,7 +1455,7 @@ msgstr "èµ°"
msgid "Going to send questionnaire?"
msgstr "å³å°‡é€å‡ºå•å·ï¼Ÿ"
-#: perllib/FixMyStreet/Cobrand/Default.pm:726
+#: perllib/FixMyStreet/Cobrand/Default.pm:731
msgid "Grant access to the admin"
msgstr ""
@@ -1453,10 +1463,6 @@ msgstr ""
msgid "Graph of problem creation by status over time"
msgstr "隨時間産生的å•題圖片"
-#: templates/web/base/reports/index.html:15
-msgid "Greyed-out lines are councils that no longer exist."
-msgstr "ç°è‰²çš„地方政府機關表示為已ä¸å†å­˜åœ¨"
-
#: templates/web/base/questionnaire/index.html:48
msgid "Has this problem been fixed?"
msgstr "å•題已處ç†äº†å—Ž?"
@@ -1467,7 +1473,7 @@ msgstr "æ‚¨ä¹‹å‰æ˜¯å¦æ›¾å‘地方政府申報éŽå•題?或者此為您的首
#: templates/web/base/main_nav_items.html:40
#: templates/web/zurich/about/faq-de-ch.html:1
-#: templates/web/zurich/footer.html:23
+#: templates/web/zurich/footer.html:22
#: templates/web/zurich/nav_over_content.html:8
msgid "Help"
msgstr "å”助"
@@ -1477,22 +1483,13 @@ msgstr "å”助"
msgid "Help <strong>%s</strong> resolve your problem quicker, by providing some extra detail. This extra information will not be published online."
msgstr ""
-#: templates/web/base/alert/_list.html:9
-msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
-msgstr "此為在地å•題的種類 &lsquo;%s&rsquo;."
-
-#: templates/web/zurich/footer.html:12
+#: templates/web/zurich/footer.html:11
msgid "Hi %s"
msgstr "您好 %s"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:906
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:19
-#: templates/web/base/admin/report_blocks.html:28
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:911
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:60
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:12
-#: templates/web/base/report/inspect/state_groups_select.html:19
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:11
#: templates/web/zurich/admin/stats.html:32
@@ -1500,16 +1497,33 @@ msgstr "您好 %s"
msgid "Hidden"
msgstr "éš±è—"
-#: templates/web/base/report/_main.html:105
-#, fuzzy
+#: templates/web/base/report/_main.html:109
msgid "Hide entire report"
-msgstr "釿–°é€å‡ºç”³å ±"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:1
+#: templates/web/base/my/anonymize.html:2
+msgid "Hide my name"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:21
+msgid "Hide my name everywhere"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:10
+msgid "Hide my name in this update"
+msgstr ""
+
+#: templates/web/base/my/anonymize.html:16
+msgid "Hide my name on this report"
+msgstr ""
#: templates/web/base/around/display_location.html:67
msgid "Hide old"
msgstr "éš±è—舊文"
#: templates/web/base/around/display_location.html:62
+#: templates/web/base/js/translation_strings.html:55
msgid "Hide pins"
msgstr "éš±è—地圖標示"
@@ -1517,7 +1531,16 @@ msgstr "éš±è—地圖標示"
msgid "Hide update completely?"
msgstr ""
-#: templates/web/base/admin/category_edit.html:49
+#: templates/web/base/report/_report_meta_info.html:3
+#: templates/web/base/report/update.html:55
+msgid "Hide your name?"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:38
+msgid "Hint"
+msgstr ""
+
+#: templates/web/base/admin/category_edit.html:24
msgid "History"
msgstr "歷程 "
@@ -1534,12 +1557,12 @@ msgid "How to send successful reports"
msgstr "如何æˆåŠŸåœ°é€å‡ºç”³å ±"
#: templates/web/base/tokens/confirm_problem.html:36
-#: templates/web/base/tokens/confirm_problem.html:40
+#: templates/web/base/tokens/confirm_problem.html:41
msgid "I just reported a problem on @fixmystreet"
msgstr "我剛æ‰ç”³å ±äº†ä¸€å€‹å•題 "
-#: templates/web/base/tokens/confirm_update.html:19
-#: templates/web/base/tokens/confirm_update.html:23
+#: templates/web/base/tokens/confirm_update.html:20
+#: templates/web/base/tokens/confirm_update.html:25
msgid "I just updated a problem on @fixmystreet"
msgstr "我利用@fixmystreet 申報了一個å•題 "
@@ -1559,8 +1582,8 @@ msgstr " 我們無法在資料庫中找到您的å•題。\n"
msgid "ID"
msgstr "帳戶"
-#: templates/web/base/admin/body-form.html:30
-#: templates/web/base/admin/body-form.html:31
+#: templates/web/base/admin/body-form.html:32
+#: templates/web/base/admin/body-form.html:33
msgid ""
"Identify a <strong>parent</strong> if this body is itself part of another body.\n"
" For basic installations, you don't need to join bodies in this way."
@@ -1568,10 +1591,18 @@ msgstr ""
"辨別<strong>上級主責</strong> 如果該有關單ä½ç‚ºå…¶å®ƒå–®ä½çš„下屬\n"
"基本安è£ä¸­ï¼Œæ‚¨ä¸å¿…加入有關單ä½"
+#: templates/web/base/auth/token.html:19
+msgid "If there's a user associated with the address you entered, we've sent a confirmation email."
+msgstr ""
+
#: templates/web/base/admin/responsepriorities/edit.html:23
msgid "If this priority is passed to an external service (e.g. Exor/Confirm) enter the priority code to use with that service here."
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:24
+msgid "If ticked the user won’t see an input field, just the ‘Description’ text."
+msgstr ""
+
#: templates/web/base/admin/contact-form.html:14
msgid ""
"If two or more bodies serve the same location, FixMyStreet combines identical categories into a single entry in\n"
@@ -1585,7 +1616,7 @@ msgstr ""
msgid "If you get some more information about the status of your problem, please come back to the site and leave an update."
msgstr "如果你å°ç”³å ±ä¹‹å•題有進一步狀æ³ï¼Œæ­¡è¿Žå›žåˆ°æœ¬ç«™ç•™è¨€æ›´æ–°"
-#: templates/web/base/admin/responsepriorities/edit.html:33
+#: templates/web/base/admin/responsepriorities/edit.html:45
msgid "If you only want this priority to be an option for specific categories, pick them here. By default they will show for all categories."
msgstr ""
@@ -1610,7 +1641,7 @@ msgstr ""
"如果您希望公開留言該å•題之更新,請在此輸入\n"
"(請注æ„å®ƒä¸æœƒè‡ªå‹•é€åˆ°åœ°æ–¹æ”¿åºœ)"
-#: templates/web/base/admin/contact-form.html:30
+#: templates/web/base/admin/contact-form.html:32
msgid "If you're using <strong>a send method that is not email</strong>, enter the service ID (Open311) or equivalent identifier here."
msgstr "如果您使用 <strong>éžé›»å­éƒµä»¶é€å‡ºç”³è¨´æ–¹å¼</strong>, 請在此輸入此æœå‹™ä»£è™Ÿ (Open311) 或åŒç­‰çš„代號。"
@@ -1648,7 +1679,7 @@ msgstr ""
"<strong>FixMyStreet</strong> 用戶å¯ä»¥æ˜¯é€™äº›å•題更新的發言者\n"
"一旦他們上線時。請輸入其帳戶ID(編號) "
-#: perllib/FixMyStreet/App/Controller/Contact.pm:133
+#: perllib/FixMyStreet/App/Controller/Contact.pm:134
msgid "Illegal ID"
msgstr "無效帳戶"
@@ -1656,13 +1687,6 @@ msgstr "無效帳戶"
msgid "Illegal feed selection"
msgstr "無效的訂閱é¸é …"
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:141
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:43
-msgid "In Progress"
-msgstr "處ç†ä¸­"
-
#: templates/web/base/admin/flagged.html:39
msgid "In abuse table?"
msgstr "濫用表格?"
@@ -1671,18 +1695,17 @@ msgstr "濫用表格?"
msgid "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
msgstr "此外,下列ç†ç”±ä¸¦éžç‚ºOpen311 v2更新特定部份回覆傳é€: agency_sent_datetime, 主旨(部份回覆之æ•è¿°), interface_used, comment_count, requestor_name (åªæœ‰åœ¨åŒæ„å§“åå…¬é–‹ä¸‹æ‰æœƒå‘ˆç¾)."
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:192
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:954
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:9
-#: templates/web/base/report/banner.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:5
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:197
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:959
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:8
msgid "In progress"
msgstr "處ç†ä¸­"
+#: templates/web/base/admin/contact-form.html:57
+msgid "Inactive"
+msgstr ""
+
#: templates/web/base/tokens/confirm_alert.html:11
msgid "Inbox zero, here we come!"
msgstr "信箱已閱畢ï¼"
@@ -1699,11 +1722,15 @@ msgstr "包括未確èªçš„申報 "
msgid "Incorrect has_photo value \"%s\""
msgstr "䏿­£ç¢ºçš„照片值數 \"%s\""
-#: templates/web/base/admin/contact-form.html:84
+#: templates/web/base/report/_inspect.html:5
+msgid "Inspect report"
+msgstr ""
+
+#: templates/web/base/admin/contact-form.html:85
msgid "Inspection required"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:711
+#: perllib/FixMyStreet/Cobrand/Default.pm:715
msgid "Instruct contractors to fix problems"
msgstr ""
@@ -1711,13 +1738,6 @@ msgstr ""
msgid "Internal notes"
msgstr "內部筆記"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:18
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:11
-msgid "Internal referral"
-msgstr "內部推薦"
-
#: templates/web/base/offline/appcache.html:3
msgid "Internet glitch"
msgstr ""
@@ -1726,7 +1746,7 @@ msgstr ""
msgid "Invalid agency_responsible value %s"
msgstr "ç„¡æ•ˆçš„æ¬Šè²¬å–®ä½æ•¸å€¼ %s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1502
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1607
msgid "Invalid end date"
msgstr "ç„¡æ•ˆçš„çµæŸæ—¥æœŸ"
@@ -1734,26 +1754,15 @@ msgstr "ç„¡æ•ˆçš„çµæŸæ—¥æœŸ"
msgid "Invalid format %s specified."
msgstr "無效的%s 特定格å¼"
-#: perllib/FixMyStreet/App/Controller/Report.pm:398
+#: perllib/FixMyStreet/App/Controller/Report.pm:409
msgid "Invalid location. New location must be covered by the same council."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1498
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1603
msgid "Invalid start date"
msgstr "無效的開始日期"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:7
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:4
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:42
-msgid "Investigating"
-msgstr "調查中"
-
-#: templates/web/base/contact/blurb.html:8
+#: templates/web/base/contact/blurb.html:2
msgid "It's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there."
msgstr "æœ€å¿«æ–¹å¼æ˜¯ <a href=\"%s\">先查看å•答集</a> ,看看答案是å¦åœ¨æ­¤"
@@ -1761,37 +1770,59 @@ msgstr "æœ€å¿«æ–¹å¼æ˜¯ <a href=\"%s\">先查看å•答集</a> ,看看答案是
msgid "It’s on its way to the council right now."
msgstr "正呈é€çµ¦åœ°æ–¹æ”¿åºœä¸­"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:177
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:182
msgid "Jurisdiction Unknown"
msgstr "未知的管轄機關"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:918
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:15
msgid "Jurisdiction unknown"
msgstr "未知的管轄機關"
-#: templates/web/base/auth/general.html:91
+#: templates/web/base/auth/general.html:93
#: templates/web/base/report/new/form_user_loggedout_password.html:16
#: templates/web/base/report/update/form_user_loggedout_password.html:15
#: templates/web/zurich/auth/general.html:40
msgid "Keep me signed in on this computer"
msgstr "新增類別承辦人"
+#: templates/web/base/admin/extra-metadata-form.html:61
+msgid "Key"
+msgstr ""
+
+#: templates/web/base/admin/states/index.html:9
+#: templates/web/base/admin/states/index.html:95
+msgid "Label"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:6
+#: templates/web/base/admin/reportextrafields/edit.html:45
+msgid "Language"
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/index.html:8
+msgid "Languages"
+msgstr ""
+
#: templates/web/base/dashboard/index.html:50
msgid "Last 4 weeks"
msgstr ""
#: templates/web/base/dashboard/index.html:49
-#, fuzzy
+#: templates/web/base/reports/index.html:38
msgid "Last 7 days"
-msgstr "上回更新:"
+msgstr ""
#: templates/web/base/admin/body.html:74
#: templates/web/zurich/admin/body.html:16
msgid "Last editor"
msgstr "最後編輯 "
+#: templates/web/base/questionnaire/index.html:25
+msgid "Last update"
+msgstr ""
+
#: templates/web/base/admin/report_edit.html:89
msgid "Last update:"
msgstr "上回更新:"
@@ -1800,23 +1831,27 @@ msgstr "上回更新:"
msgid "Last&nbsp;update:"
msgstr "上一次更新:"
-#: templates/web/base/report/_inspect.html:20
-#: templates/web/base/report/_item.html:86
+#: templates/web/base/report/_inspect.html:30
+#: templates/web/base/report/_item.html:88
msgid "Latitude/Longitude:"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:50
+#: templates/web/base/reports/_list-filters.html:61
msgid "Least recently updated"
msgstr ""
-#: templates/web/base/admin/body-form.html:127
+#: templates/web/base/admin/body-form.html:129
msgid "Leave this blank if all reports to this body should be sent using the same send method (e.g., \"%s\")."
msgstr "å¦‚æ‰€æœ‰ç”³å ±çš†æ˜¯ç”¨åŒæ¨£æ–¹å¼é€å‡º(例如: \"%s\"),此處請ä¿ç•™ç©ºç™½ã€€"
-#: templates/web/base/dashboard/index.html:150
+#: templates/web/base/dashboard/index.html:151
msgid "Less than 7 days old"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:47
+msgid "List"
+msgstr ""
+
#: templates/web/base/admin/body.html:31
msgid "List all reported problems"
msgstr "列出所有申報的å•題 "
@@ -1847,23 +1882,23 @@ msgstr "當地å•題 "
msgid "Locate the problem on a map of the area"
msgstr "在地圖上標記å•題之å€åŸŸ"
-#: templates/web/base/auth/general.html:22
+#: templates/web/base/auth/general.html:24
#: templates/web/base/report/new/form_user_loggedout.html:6
#: templates/web/base/report/update/form_user_loggedout.html:7
msgid "Log in with Facebook"
msgstr ""
-#: templates/web/base/auth/general.html:30
+#: templates/web/base/auth/general.html:32
#: templates/web/base/report/new/form_user_loggedout.html:14
#: templates/web/base/report/update/form_user_loggedout.html:15
msgid "Log in with Twitter"
msgstr ""
-#: templates/web/base/js/translation_strings.html:59
+#: templates/web/base/js/translation_strings.html:62
msgid "Log in with email"
msgstr ""
-#: templates/web/base/dashboard/index.html:145
+#: templates/web/base/dashboard/index.html:146
#: templates/web/base/dashboard/index.html:38
msgid "Look up"
msgstr ""
@@ -1872,11 +1907,11 @@ msgstr ""
msgid "MAP"
msgstr "地圖"
-#: perllib/FixMyStreet/Cobrand/Default.pm:712
+#: perllib/FixMyStreet/Cobrand/Default.pm:716
msgid "Manage shortlist"
msgstr ""
-#: templates/web/base/reports/_list-filters.html:45
+#: templates/web/base/reports/_list-filters.html:56
msgid "Manual order"
msgstr ""
@@ -1892,19 +1927,11 @@ msgstr "標註為關閉"
msgid "Mark users whose behaviour you want to keep a check on as <strong>flagged</strong>."
msgstr "標註用戶哪些行為您將è¦çµ¦äºˆ<strong>警告標記</strong>."
-#: templates/web/base/reports/index.html:27
-msgid "Marked fixed/closed in the past eight weeks"
-msgstr "éŽåŽ»å…«é€±å…§æ¨™è¨˜ç‚ºå·²ä¿®å¾©/çµæ¡ˆæƒ…æ³"
-
-#: templates/web/base/reports/index.html:28
-msgid "Marked fixed/closed more than eight weeks ago"
-msgstr "八週剿›¾ç¶“標記為已修復/çµæ¡ˆ"
-
-#: perllib/FixMyStreet/Cobrand/Default.pm:710
+#: perllib/FixMyStreet/Cobrand/Default.pm:714
msgid "Markup problem details"
msgstr ""
-#: templates/web/base/contact/index.html:96
+#: templates/web/base/contact/index.html:100
msgid "Message"
msgstr "留言"
@@ -1924,68 +1951,69 @@ msgstr ""
msgid "Missing jurisdiction_id"
msgstr "éºå¤± jurisdiction_id"
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:706
+#: perllib/FixMyStreet/Cobrand/Default.pm:710
msgid "Moderate report details"
msgstr ""
-#: templates/web/base/report/_main.html:130
+#: templates/web/base/report/_main.html:134
msgid "Moderate this report"
msgstr ""
#: templates/web/base/report/update.html:12
-#, fuzzy
msgid "Moderate this update"
-msgstr "由%s 的 %s 申報"
+msgstr ""
-#: templates/web/base/report/_main.html:69
-#: templates/web/base/report/update.html:49
-#, fuzzy
+#: templates/web/base/report/_main.html:73
+#: templates/web/base/report/update.html:58
msgid "Moderated by %s at %s"
-msgstr "由%s 的 %s 申報"
+msgstr ""
#: templates/web/zurich/admin/stats.html:34
msgid "Moderated by division within one working day"
msgstr "一個工作天內å”調出部門"
-#: templates/web/base/report/_main.html:109
-#: templates/web/base/report/update.html:57
-#, fuzzy
+#: templates/web/base/report/_main.html:113
+#: templates/web/base/report/update.html:66
msgid "Moderation reason:"
-msgstr "其它地å€:"
+msgstr ""
#: templates/web/base/admin/stats.html:11
msgid "Month"
msgstr "月份"
-#: templates/web/base/reports/_list-filters.html:51
+#: templates/web/base/reports/_list-filters.html:62
msgid "Most commented"
msgstr ""
#: templates/web/base/admin/bodies.html:25
#: templates/web/base/admin/body-form.html:24
+#: templates/web/base/admin/extra-metadata-form.html:65
#: templates/web/base/admin/flagged.html:16
#: templates/web/base/admin/flagged.html:37
#: templates/web/base/admin/index.html:62
#: templates/web/base/admin/list_updates.html:7
+#: templates/web/base/admin/reportextrafields/edit.html:11
+#: templates/web/base/admin/reportextrafields/index.html:6
#: templates/web/base/admin/reports.html:14
#: templates/web/base/admin/responsepriorities/list.html:6
+#: templates/web/base/admin/states/index.html:108
+#: templates/web/base/admin/states/index.html:11
#: templates/web/base/admin/users.html:16
-#: templates/web/base/auth/general.html:106
-#: templates/web/base/report/new/form_user_loggedin.html:40
+#: templates/web/base/auth/general.html:108
+#: templates/web/base/report/new/form_user_loggedin.html:42
#: templates/web/base/report/new/form_user_loggedout_by_email.html:7
-#: templates/web/base/report/update/form_name.html:23
-#: templates/web/base/reports/index.html:23
+#: templates/web/base/report/update/form_name.html:27
#: templates/web/zurich/admin/body-form.html:4
#: templates/web/zurich/auth/general.html:60
#: templates/web/zurich/report/new/fill_in_details_form.html:59
msgid "Name"
msgstr "åå­—"
-#: templates/web/base/admin/report_edit.html:139
+#: templates/web/base/admin/report_edit.html:127
#: templates/web/base/admin/responsepriorities/edit.html:13
#: templates/web/base/admin/update_edit.html:34
#: templates/web/base/admin/user-form.html:16
@@ -1997,7 +2025,7 @@ msgstr "å字:"
msgid "Name: %s"
msgstr "å字: %s"
-#: templates/web/base/report/_inspect.html:28
+#: templates/web/base/report/_inspect.html:38
msgid "Navigate to this problem"
msgstr ""
@@ -2006,16 +2034,16 @@ msgstr ""
msgid "Nearest named road to the pin placed on the map (automatically generated using OpenStreetMap): %s%s"
msgstr "找出地圖標記上最近的街é“å稱(利用 OpenStreetMap自動産生): %s%s"
-#: perllib/FixMyStreet/Cobrand/UK.pm:129
+#: perllib/FixMyStreet/Cobrand/UK.pm:134
msgid "Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"
msgstr "找出地圖標記上最近的郵éžå€è™Ÿ(自動産生): %s(%sm away)"
-#: perllib/FixMyStreet/Cobrand/Default.pm:527
-#: perllib/FixMyStreet/Cobrand/Default.pm:567
+#: perllib/FixMyStreet/Cobrand/Default.pm:538
+#: perllib/FixMyStreet/Cobrand/Default.pm:566
msgid "Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"
msgstr "找出地圖標記上最近的街é“(利用 Bing Maps自動産生): %s"
-#: perllib/FixMyStreet/Script/Alerts.pm:319
+#: perllib/FixMyStreet/Script/Alerts.pm:316
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s\n"
"\n"
@@ -2023,19 +2051,23 @@ msgstr ""
"找出地圖標記上最近的街é“(利用 Bing Maps自動産生): %s\n"
"\n"
-#: templates/web/base/auth/token.html:17 templates/web/base/email_sent.html:5
+#: templates/web/base/auth/token.html:18
+msgid "Nearly done!"
+msgstr ""
+
+#: templates/web/base/auth/token.html:22 templates/web/base/email_sent.html:5
msgid "Nearly done! Now check your email&hellip;"
msgstr "å·®ä¸å¤šå¿«å®Œæˆäº†ï¼Œç¾åœ¨æª¢æŸ¥æ‚¨çš„é›»å­ä¿¡ç®±"
-#: templates/web/base/reports/index.html:24
-msgid "New <br>problems"
-msgstr "æ–° <br>å•題 "
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:131
+msgid "New"
+msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:259
+#: perllib/FixMyStreet/App/Controller/Admin.pm:262
msgid "New body added"
msgstr "新增內文"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:405
+#: perllib/FixMyStreet/App/Controller/Admin.pm:386
msgid "New category contact added"
msgstr "新增類別承辦 人"
@@ -2061,7 +2093,7 @@ msgid "New password:"
msgstr ""
#: templates/web/base/admin/responsepriorities/edit.html:4
-#: templates/web/base/admin/responsepriorities/list.html:32
+#: templates/web/base/admin/responsepriorities/list.html:34
msgid "New priority"
msgstr ""
@@ -2090,6 +2122,7 @@ msgid "New reports"
msgstr "新的申報 "
#: templates/web/base/admin/questionnaire.html:24
+#: templates/web/base/admin/states/index.html:91
msgid "New state"
msgstr "新陳述"
@@ -2099,7 +2132,7 @@ msgstr "新陳述"
msgid "New template"
msgstr "新模版"
-#: templates/web/base/reports/_list-filters.html:47
+#: templates/web/base/reports/_list-filters.html:58
msgid "Newest"
msgstr ""
@@ -2107,20 +2140,19 @@ msgstr ""
msgid "Next"
msgstr "下一步"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1203
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
+#: perllib/FixMyStreet/Cobrand/Default.pm:1237
#: templates/web/base/admin/category_edit.html:4
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:137
+#: templates/web/base/admin/report_edit.html:125
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:26
#: templates/web/base/questionnaire/creator_fixed.html:16
#: templates/web/base/questionnaire/index.html:106
#: templates/web/base/questionnaire/index.html:55
+#: templates/web/base/report/_inspect.html:92
msgid "No"
msgstr "ç„¡"
@@ -2136,7 +2168,7 @@ msgstr "無有關單ä½"
msgid "No council"
msgstr "無地方政府"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:445
+#: perllib/FixMyStreet/DB/Result/Problem.pm:372
msgid "No council selected"
msgstr "æœªé¸æ“‡åœ°æ–¹æ”¿åºœ"
@@ -2152,25 +2184,16 @@ msgstr "æœªç™¼ç¾æ¨™è¨˜è­¦å‘Šå•題 "
msgid "No flagged users found."
msgstr "æœªç™¼ç¾æ¨™è¨˜è­¦å‘Šç”¨æˆ¶"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:14
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:8
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "No further action"
-msgstr "無法修復"
-
#: templates/web/zurich/admin/report_edit-sdm.html:125
#: templates/web/zurich/admin/report_edit.html:259
msgid "No further updates"
msgstr "å°šç„¡æ›´æ–°"
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:84
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:68
msgid "No inspections by that inspector in the selected date range."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:86
+#: perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm:70
msgid "No inspections in the selected date range."
msgstr ""
@@ -2178,8 +2201,8 @@ msgstr ""
msgid "No result returned"
msgstr "æŸ¥ç„¡çµæžœ"
-#: templates/web/base/admin/body-form.html:66
-#: templates/web/base/admin/body-form.html:67
+#: templates/web/base/admin/body-form.html:68
+#: templates/web/base/admin/body-form.html:69
msgid ""
"No specific areas are currently available, because the <code>MAPIT_URL</code> in\n"
" your config file is not pointing to a live MapIt service."
@@ -2218,17 +2241,8 @@ msgstr ""
"這è¦çœ‹å…·é«”è½å¯¦åŸ·è¡Œç‹€æ³ï¼Œå·¥ä½œäººå“¡å¯èƒ½æœ‰æ¬Šä½¿ç”¨æŽ§åˆ¶å°(其關構下的\n"
"所有活動總覧)。也有能力隱暪æŸäº›ç”³å ±æˆ–更改æŸäº›ç”³å ±çš„ç‹€æ³ã€‚"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:15
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:9
-#: templates/web/base/report/update/form_update.html:41
-#: templates/web/base/report/update/form_update.html:44
-msgid "Not Responsible"
-msgstr "無責任歸屬"
-
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:181
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:186
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:933
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:13
msgid "Not contactable"
@@ -2247,7 +2261,7 @@ msgid "Not reported to council"
msgstr "未呈報給地方政府"
#: templates/web/base/admin/body.html:75
-#: templates/web/base/admin/category_edit.html:57
+#: templates/web/base/admin/category_edit.html:31
#: templates/web/zurich/admin/body.html:17
msgid "Note"
msgstr "註記"
@@ -2257,7 +2271,7 @@ msgid "Note that when including unconfirmed reports we use the date the report w
msgstr "請注æ„這è£åŒ…æ‹¬äº†æœ¬æœˆä»½ç¸½çµæ’°å¯«å‰ï¼Œå°šæœªç¢ºèªçš„申報,所以數目å¯èƒ½ç¨æœ‰é™ä½Žã€‚"
#: templates/web/zurich/admin/body.html:55
-#: templates/web/zurich/admin/contact-form.html:17
+#: templates/web/zurich/admin/contact-form.html:19
msgid "Note:"
msgstr "註記:"
@@ -2269,6 +2283,10 @@ msgstr "筆記: <strong>%s</strong>"
msgid "Notes from SDM to DM"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:26
+msgid "Notice"
+msgstr ""
+
#: templates/web/base/report/new/oauth_email_form.html:17
msgid "Now to submit your report&hellip;"
msgstr "ç¾åœ¨é€å‡ºæ‚¨çš„申報 &hellip;"
@@ -2279,63 +2297,43 @@ msgstr "ç¾åœ¨é€å‡ºæ‚¨çš„申報 &hellip;"
msgid "Now to submit your update&hellip;"
msgstr "ç¾åœ¨é€å‡ºæ‚¨æ›´æ–°çš„申報 &hellip; æ‚¨æ˜¯å¦æœ‰æœ¬ç«™å¸³å¯†ï¼Ÿ"
+#: templates/web/base/reports/index.html:98
+msgid "Number of problems reported in each category, in the last 7 days."
+msgstr ""
+
#: templates/web/base/js/translation_strings.html:43
msgid "OK"
msgstr "好了"
-#: templates/web/base/js/translation_strings.html:67
+#: templates/web/base/js/translation_strings.html:70
msgid "Offline data cleared"
msgstr ""
-#: templates/web/base/js/translation_strings.html:64
+#: templates/web/base/js/translation_strings.html:67
msgid "Offline update data saved"
msgstr ""
-#: templates/web/base/reports/index.html:26
-msgid "Old / unknown <br>problems"
-msgstr "è€/ 未知 <br>å•題 "
-
#: templates/web/base/admin/questionnaire.html:24
msgid "Old state"
msgstr "舊陳述"
-#: templates/web/base/reports/index.html:28
-msgid "Older <br>fixed"
-msgstr "己解決之舊å•題 "
-
-#: templates/web/base/reports/index.html:25
-msgid "Older <br>problems"
-msgstr "舊å•題 "
-
-#: templates/web/base/reports/_list-filters.html:48
+#: templates/web/base/reports/_list-filters.html:59
msgid "Oldest"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:900
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:25
-#: templates/web/base/admin/report_blocks.html:6
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:174
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:905
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:10
+#: templates/web/base/admin/states/index.html:102
+#: templates/web/base/admin/states/index.html:25
+#: templates/web/base/admin/states/index.html:32
#: templates/web/base/admin/update_edit.html:30
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/report/inspect/state_groups_select.html:1
-#: templates/web/base/report/inspect/state_groups_select.html:16
-#: templates/web/base/report/inspect/state_groups_select.html:3
-#: templates/web/base/report/update/form_update.html:41
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:7
#: templates/web/zurich/admin/update_edit.html:18
msgid "Open"
msgstr "開放"
-#: templates/web/base/reports/index.html:25
-msgid "Open for more than four weeks, with an update within the past eight weeks"
-msgstr "開放已超éŽå››é€±ï¼Œæœ€è¿‘八週內有更新éŽã€‚"
-
-#: templates/web/base/reports/index.html:26
-msgid "Open, but not had any update in eight weeks"
-msgstr "開放,但éŽåŽ»å…«é€±å…§æœªæœ‰ä»»ä½•æ›´æ–°"
-
#: templates/web/base/admin/open311-form-fields.html:47
msgid "Open311 API Key"
msgstr ""
@@ -2356,26 +2354,38 @@ msgstr "Open311 啟動網é "
msgid "Open311 specification"
msgstr "Open311 è¦ç¯„ "
-#: templates/web/base/alert/_list.html:61
-msgid "Or problems reported to:"
-msgstr "或將此å•題 申報給:"
-
-#: templates/web/base/alert/_list.html:37
-msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
-msgstr "您å¯ä»¥è¨‚閱 里/å€å…§çš„æ›´æ–°é€šçŸ¥"
-
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:1061
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:658
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:659
-#: perllib/FixMyStreet/DB/Result/Problem.pm:642
-#: perllib/FixMyStreet/DB/Result/Problem.pm:649
-#: perllib/FixMyStreet/DB/Result/Problem.pm:664
-#: perllib/FixMyStreet/DB/Result/Problem.pm:673
+#: templates/web/base/admin/extra-metadata-form.html:53
+msgid "Options"
+msgstr ""
+
+#: templates/web/base/alert/_list.html:84
+msgid "Or subscribe by RSS"
+msgstr ""
+
+#: templates/web/base/admin/extra-metadata-form.html:8
+msgid "Order"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1107
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:675
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:676
+#: perllib/FixMyStreet/DB/Result/Problem.pm:579
+#: perllib/FixMyStreet/DB/Result/Problem.pm:586
+#: perllib/FixMyStreet/DB/Result/Problem.pm:601
+#: perllib/FixMyStreet/DB/Result/Problem.pm:610
#: perllib/FixMyStreet/Script/Reports.pm:183
#: perllib/FixMyStreet/Script/Reports.pm:198
msgid "Other"
msgstr "其它"
+#: templates/web/base/reports/index.html:107
+msgid "Other categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:92
+msgid "Overall average"
+msgstr ""
+
#: templates/web/base/admin/list_updates.html:8
msgid "Owner"
msgstr "物主"
@@ -2385,17 +2395,16 @@ msgstr "物主"
msgid "Page Not Found"
msgstr "找無此é "
-#: templates/web/base/admin/body-form.html:37
+#: templates/web/base/admin/body-form.html:39
#: templates/web/zurich/admin/body-form.html:14
msgid "Parent"
msgstr "上級 "
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:20
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:61
msgid "Partial"
msgstr "部份"
-#: templates/web/base/auth/general.html:109
+#: templates/web/base/auth/general.html:111
#: templates/web/base/report/new/form_user_loggedout_by_email.html:28
#: templates/web/base/report/update/form_user_loggedout_by_email.html:6
#: templates/web/zurich/auth/general.html:32
@@ -2403,7 +2412,7 @@ msgstr "部份"
msgid "Password (optional)"
msgstr "密碼(ä»»é¸):"
-#: templates/web/base/auth/general.html:82
+#: templates/web/base/auth/general.html:84
msgid "Password:"
msgstr "密碼:"
@@ -2415,17 +2424,22 @@ msgstr "永久連çµ"
msgid "Permissions:"
msgstr ""
+#: templates/web/base/report/_inspect.html:19
+#, fuzzy
+msgid "Phone Reporter:"
+msgstr "已申報 %s"
+
#: templates/web/zurich/report/new/fill_in_details_form.html:65
msgid "Phone number"
msgstr "電話號碼"
-#: templates/web/base/report/new/form_user_loggedin.html:57
+#: templates/web/base/report/new/form_user_loggedin.html:59
#: templates/web/base/report/new/form_user_loggedout_by_email.html:25
msgid "Phone number (optional)"
msgstr "電話號碼(éžå¿…å¡«)"
#: perllib/FixMyStreet/Script/Reports.pm:87
-#: templates/web/base/admin/report_edit.html:146
+#: templates/web/base/admin/report_edit.html:134
#: templates/web/base/admin/user-form.html:21
#: templates/web/zurich/admin/stats.html:39
msgid "Phone:"
@@ -2434,9 +2448,9 @@ msgstr "電話"
#: templates/web/base/questionnaire/index.html:78
#: templates/web/base/questionnaire/index.html:93
#: templates/web/base/questionnaire/index.html:95
-#: templates/web/base/report/new/form_report.html:28
-#: templates/web/base/report/new/form_report.html:43
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/new/form_report.html:45
+#: templates/web/base/report/new/form_report.html:47
#: templates/web/base/report/update/form_update.html:22
#: templates/web/base/report/update/form_update.html:24
#: templates/web/base/report/update/form_update.html:7
@@ -2454,12 +2468,12 @@ msgstr "照片"
msgid "Photo is required."
msgstr "è¦æ±‚æä¾›ç…§ç‰‡"
-#: templates/web/zurich/admin/contact-form.html:14
+#: templates/web/zurich/admin/contact-form.html:16
msgid "Photo required"
msgstr "è¦æ±‚æä¾›ç…§ç‰‡"
#: templates/web/base/questionnaire/index.html:78
-#: templates/web/base/report/new/form_report.html:28
+#: templates/web/base/report/new/form_report.html:30
#: templates/web/base/report/update/form_update.html:7
#: templates/web/zurich/report/new/fill_in_details_form.html:20
msgid "Photos"
@@ -2469,17 +2483,18 @@ msgstr ""
msgid "Photos of recent nearby reports"
msgstr "最近申報之照片"
+#: templates/web/base/reports/index.html:63
+#: templates/web/base/reports/index.html:66
+msgid "Pick your council"
+msgstr ""
+
#: templates/web/base/around/display_location.html:76
#: templates/web/base/js/translation_strings.html:30
msgid "Place pin on map"
msgstr "在地圖上作標記"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:940
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:946
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:8
-#: templates/web/base/dashboard/index.html:139
-#: templates/web/base/dashboard/index.html:140
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:945
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:951
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:9
#: templates/web/zurich/admin/index-dm.html:9
@@ -2497,31 +2512,27 @@ msgstr "è«‹å†æ¬¡ç¢ºèªæ‚¨çš„密碼"
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:18
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:43
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:45
#: templates/web/zurich/auth/general.html:3
#: templates/web/zurich/auth/general.html:9
msgid "Please check your email address is correct"
msgstr "è«‹ç¢ºèªæ‚¨é›»éƒµåœ°å€ç„¡èª¤"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:350
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:844
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:867
-#: perllib/FixMyStreet/DB/Result/Problem.pm:456
+#: perllib/FixMyStreet/App/Controller/Admin.pm:329
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:873
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:896
+#: perllib/FixMyStreet/DB/Result/Problem.pm:383
#: templates/web/base/js/translation_strings.html:9
msgid "Please choose a category"
msgstr "è«‹é¸æ“‡é¡žåˆ¥"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:462
-msgid "Please choose a property type"
-msgstr "鏿“‡å…¬ç‰©ç¨®é¡ž"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:396
+#: perllib/FixMyStreet/App/Controller/Admin.pm:377
#: templates/web/base/admin/bodies.html:4 templates/web/base/admin/body.html:11
msgid "Please correct the errors below"
msgstr "請更正下方之錯誤"
-#: templates/web/base/contact/blurb.html:12
+#: templates/web/base/contact/blurb.html:6
msgid ""
"Please do <strong>not</strong> report problems through this form; messages go to\n"
"the team behind this site, not a council. To report a problem,\n"
@@ -2535,18 +2546,18 @@ msgstr ""
msgid "Please do not be abusive&nbsp;&mdash; abusing your council devalues the service for all users."
msgstr "請勿濫用本æœå‹™ï¼Œæ¿«ç”¨å°‡é€ æˆæ‚¨çš„æ”¿åºœè¼•視其它使用者之æ„見 "
-#: perllib/FixMyStreet/App/Controller/Admin.pm:351
-#: perllib/FixMyStreet/DB/Result/Comment.pm:127
+#: perllib/FixMyStreet/App/Controller/Admin.pm:330
+#: perllib/FixMyStreet/DB/Result/Comment.pm:128
#: templates/web/base/js/translation_strings.html:2
msgid "Please enter a message"
msgstr "請寫下您的留言"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1200
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1364
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1305
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1469
msgid "Please enter a name"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:478
+#: perllib/FixMyStreet/App/Controller/Admin.pm:497
msgid "Please enter a name for this body"
msgstr ""
@@ -2556,15 +2567,15 @@ msgstr ""
msgid "Please enter a password"
msgstr "請輸入密碼"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:114
-#: perllib/FixMyStreet/DB/Result/Problem.pm:439
+#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/DB/Result/Problem.pm:366
#: templates/web/base/js/translation_strings.html:3
msgid "Please enter a subject"
msgstr "請填下主旨"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1197
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1361
-#: perllib/FixMyStreet/App/Controller/Admin.pm:363
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1302
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1466
+#: perllib/FixMyStreet/App/Controller/Admin.pm:343
#: perllib/FixMyStreet/DB/Result/User.pm:164
#: templates/web/base/js/translation_strings.html:12
#: templates/web/base/js/translation_strings.html:16
@@ -2572,21 +2583,21 @@ msgid "Please enter a valid email"
msgstr "請輸入有效電å­éƒµä»¶"
#: perllib/FixMyStreet/App/Controller/Alert.pm:350
-#: perllib/FixMyStreet/App/Controller/Contact.pm:124
+#: perllib/FixMyStreet/App/Controller/Contact.pm:125
msgid "Please enter a valid email address"
msgstr "請輸入有效的電å­éƒµä»¶"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:442
+#: perllib/FixMyStreet/DB/Result/Problem.pm:369
#: templates/web/base/js/translation_strings.html:4
msgid "Please enter some details"
msgstr "請填寫進一步細節"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/App/Controller/Contact.pm:114
#: perllib/FixMyStreet/DB/Result/User.pm:161
#: templates/web/base/auth/change_email.html:15
#: templates/web/base/auth/change_email.html:17
-#: templates/web/base/auth/general.html:37
-#: templates/web/base/auth/general.html:42
+#: templates/web/base/auth/general.html:39
+#: templates/web/base/auth/general.html:44
#: templates/web/base/js/translation_strings.html:11
#: templates/web/base/js/translation_strings.html:15
#: templates/web/zurich/auth/general.html:3
@@ -2603,14 +2614,14 @@ msgstr "請輸入您的電å­éƒµä»¶"
msgid "Please enter your first name"
msgstr "請輸入您的大å"
-#: perllib/FixMyStreet/Cobrand/UK.pm:320
+#: perllib/FixMyStreet/Cobrand/UK.pm:326
#: templates/web/base/js/translation_strings.html:7
msgid "Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below"
msgstr "請輸入您的全åï¼Œåœ°æ–¹æ”¿åºœéœ€è¦æ­¤è³‡æ–™ – 如果您ä¸å¸Œæœ›åå­—å…¬é–‹åœ¨ç¶²ç«™ä¸Šï¼Œè«‹åœ¨ä¸‹é¢æ–¹æ ¼ä¸­åŠƒæŽ‰å‹¾é¸ã€‚"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:112
-#: perllib/FixMyStreet/DB/Result/Comment.pm:124
-#: perllib/FixMyStreet/DB/Result/Problem.pm:450
+#: perllib/FixMyStreet/App/Controller/Contact.pm:113
+#: perllib/FixMyStreet/DB/Result/Comment.pm:125
+#: perllib/FixMyStreet/DB/Result/Problem.pm:377
#: perllib/FixMyStreet/DB/Result/User.pm:157
#: templates/web/base/js/translation_strings.html:6
msgid "Please enter your name"
@@ -2673,7 +2684,7 @@ msgstr ""
msgid "Please note:"
msgstr "請加註記"
-#: perllib/FixMyStreet/App/Controller/Report.pm:358
+#: perllib/FixMyStreet/App/Controller/Report.pm:353
msgid "Please provide a public update for this report."
msgstr ""
@@ -2709,11 +2720,11 @@ msgstr "è«‹æ•æ˜Žè©²å•題是å¦å·²è§£æ±º"
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:122
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:156
#: perllib/FixMyStreet/App/Model/PhotoSet.pm:158
-#: templates/web/base/js/translation_strings.html:57
+#: templates/web/base/js/translation_strings.html:60
msgid "Please upload an image only"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:115
+#: perllib/FixMyStreet/App/Controller/Contact.pm:116
msgid "Please write a message"
msgstr "諘寫下您的留言"
@@ -2721,30 +2732,29 @@ msgstr "諘寫下您的留言"
msgid "Please write your update here"
msgstr "請寫下您的更新"
-#: templates/web/base/contact/index.html:103
#: templates/web/base/report/update-form.html:25
#: templates/web/base/report/update/form_user_loggedout_by_email.html:14
#: templates/web/base/report/update/form_user_loggedout_password.html:10
msgid "Post"
msgstr "張貼"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:242
+#: perllib/FixMyStreet/DB/Result/Comment.pm:231
msgid "Posted anonymously at %s"
msgstr "匿å張貼 %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:257
+#: perllib/FixMyStreet/DB/Result/Comment.pm:255
msgid "Posted by %s at %s"
msgstr "由 %s 在 %s 張貼"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:252
+#: perllib/FixMyStreet/DB/Result/Comment.pm:243
msgid "Posted by <strong>%s</strong> (%s) at %s"
msgstr "由<strong>%s</strong> (%s) 在%s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:254
+#: perllib/FixMyStreet/DB/Result/Comment.pm:245
msgid "Posted by <strong>%s</strong> at %s"
msgstr "由<strong>%s</strong> 在%s"
-#: templates/web/base/front/footer-marketing.html:12
+#: templates/web/base/front/footer-marketing.html:6
msgid "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
msgstr "Powered by <a class=\"platform-logo\" href=\"http://fixmystreet.org/\">FixMyStreet Platform</a>"
@@ -2756,8 +2766,8 @@ msgstr "之å‰"
msgid "Priorities"
msgstr ""
-#: templates/web/base/report/_inspect.html:113
-#: templates/web/base/report/_item.html:98
+#: templates/web/base/report/_inspect.html:123
+#: templates/web/base/report/_item.html:100
msgid "Priority"
msgstr ""
@@ -2771,16 +2781,15 @@ msgstr "éš±ç§"
msgid "Privacy and cookies"
msgstr "éš±ç§èˆ‡cookies"
-#: templates/web/base/admin/body.html:91
-#: templates/web/base/admin/contact-form.html:74
-#: templates/web/base/admin/report_edit.html:149
+#: templates/web/base/admin/body.html:88
+#: templates/web/base/admin/contact-form.html:75
+#: templates/web/base/admin/report_edit.html:137
msgid "Private"
msgstr "ç§äºº"
#: templates/web/base/report/new/form_user.html:1
-#, fuzzy
msgid "Private details"
-msgstr "ç§äºº"
+msgstr ""
#: templates/web/base/maps/pin.html:13
msgid "Problem"
@@ -2804,7 +2813,7 @@ msgstr "%s å•題已é€é”到地方政府 %s "
msgid "Problem breakdown by state"
msgstr "æœ¬ç«™å‡ºç¾æ•…éšœå•題 "
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1167
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1272
msgid "Problem marked as open."
msgstr "å•題標註為開放"
@@ -2812,11 +2821,16 @@ msgstr "å•題標註為開放"
msgid "Problem state change based on survey results"
msgstr "ä¾èª¿æŸ¥çµæžœå‘ˆç¾çš„å•題改善"
-#: perllib/FixMyStreet/Cobrand/Default.pm:705
+#: perllib/FixMyStreet/Cobrand/Default.pm:709
#: templates/web/base/admin/flagged.html:10
msgid "Problems"
msgstr "å•題"
+#: templates/web/base/alert/_list.html:22
+#, fuzzy
+msgid "Problems in an area"
+msgstr "在 %s 里/å€çš„å•題"
+
#: templates/web/base/report/display_tools.html:22
msgid "Problems nearby"
msgstr "é„°è¿‘çš„å•題"
@@ -2829,30 +2843,33 @@ msgstr "地圖上的å•題"
msgid "Problems recently reported fixed on FixMyStreet"
msgstr "FixMyStreet 最近回報的已修復å•題 "
-#: templates/web/base/alert/_list.html:22
-msgid "Problems within %.1fkm of this location"
+#: templates/web/base/alert/_list.html:29
+#, fuzzy
+msgid "Problems within %.1fkm of %s"
msgstr "該地點 %.1f公里內的å•題 "
-#: perllib/FixMyStreet/Cobrand/Default.pm:833
+#: perllib/FixMyStreet/Cobrand/Default.pm:838
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:137
-#: perllib/FixMyStreet/Cobrand/UK.pm:209
+#: perllib/FixMyStreet/Cobrand/UK.pm:215 perllib/FixMyStreet/Cobrand/UK.pm:257
+#: perllib/FixMyStreet/Cobrand/UK.pm:269
msgid "Problems within %s"
msgstr "在 %s å…§çš„å•題"
-#: perllib/FixMyStreet/Cobrand/UK.pm:223
+#: perllib/FixMyStreet/Cobrand/UK.pm:229
msgid "Problems within %s ward"
msgstr "在 %s 里/å€çš„å•題"
+#: perllib/FixMyStreet/Cobrand/UK.pm:263 perllib/FixMyStreet/Cobrand/UK.pm:275
+#, fuzzy
+msgid "Problems within %s ward, %s"
+msgstr "在 %s 里/å€çš„å•題"
+
#. ("First %s is the body name, second %s the site name")
#: templates/web/base/reports/body.html:0
#: templates/web/base/reports/body.html:25
msgid "Problems within %s, %s"
msgstr "在 %s, %sçš„å•題 "
-#: templates/web/base/alert/_list.html:43
-msgid "Problems within the boundary of:"
-msgstr "在 範åœå…§çš„å•題"
-
#: templates/web/base/admin/report_edit.html:74
msgid "Property address:"
msgstr "公物地å€ï¼š"
@@ -2862,11 +2879,11 @@ msgstr "公物地å€ï¼š"
msgid "Provide an update"
msgstr "æä¾›æ›´æ–°è³‡è¨Š"
-#: templates/web/base/report/update/form_name.html:9
+#: templates/web/base/report/update/form_name.html:10
msgid "Provide update as"
msgstr ""
-#: templates/web/base/auth/general.html:112
+#: templates/web/base/auth/general.html:114
msgid "Providing a name and password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
msgstr "æä¾›å稱與密碼éžç‚ºå¿…è¦ï¼Œä½†å…¶å¯ä»¥è®“您更便於申報å•題,æä¾›æ›´æ–°èˆ‡ç®¡ç†æ‚¨çš„申報。  "
@@ -2876,16 +2893,15 @@ msgid "Providing a password is optional, but doing so will allow you to more eas
msgstr "æä¾›å稱與密碼éžç‚ºå¿…è¦ï¼Œä½†å…¶å¯ä»¥è®“您更便於申報å•題,æä¾›æ›´æ–°èˆ‡ç®¡ç†æ‚¨çš„申報。"
#: templates/web/base/report/new/form_report.html:10
-#, fuzzy
msgid "Public details"
-msgstr "å…¬çœ¾åæ‡‰"
+msgstr ""
#: templates/web/zurich/admin/report_edit.html:241
#: templates/web/zurich/admin/report_edit.html:268
msgid "Public response:"
msgstr "å…¬çœ¾åæ‡‰"
-#: templates/web/base/report/_inspect.html:152
+#: templates/web/base/report/_inspect.html:162
msgid "Public update:"
msgstr ""
@@ -2913,7 +2929,7 @@ msgstr "關於 %då•題所é€å‡ºä¹‹ %då•å· "
msgid "Questionnaire filled in by problem reporter"
msgstr "ç”±å•題申報者所填之å•å·"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
#: templates/web/base/alert/updates.html:9
#: templates/web/base/around/display_location.html:1
#: templates/web/base/around/display_location.html:3
@@ -2921,11 +2937,11 @@ msgstr "ç”±å•題申報者所填之å•å·"
msgid "RSS feed"
msgstr "RSS訂閱"
-#: perllib/FixMyStreet/Cobrand/UK.pm:252 perllib/FixMyStreet/Cobrand/UK.pm:264
+#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
msgid "RSS feed for %s"
msgstr "%s RSS訂閱"
-#: perllib/FixMyStreet/Cobrand/UK.pm:258 perllib/FixMyStreet/Cobrand/UK.pm:270
+#: perllib/FixMyStreet/Cobrand/UK.pm:264 perllib/FixMyStreet/Cobrand/UK.pm:276
msgid "RSS feed for %s ward, %s"
msgstr "%s里/å€ RSS訂閱"
@@ -2933,25 +2949,25 @@ msgstr "%s里/å€ RSS訂閱"
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:171
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:179
-#: perllib/FixMyStreet/Cobrand/UK.pm:278 perllib/FixMyStreet/Cobrand/UK.pm:290
+#: perllib/FixMyStreet/Cobrand/UK.pm:284 perllib/FixMyStreet/Cobrand/UK.pm:296
msgid "RSS feed of %s"
msgstr "%s RSS訂閱"
-#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
msgid "RSS feed of %s, within %s ward"
msgstr "%s, 在%s 里/å€"
-#: templates/web/base/alert/_list.html:23
+#: templates/web/base/alert/_list.html:26
msgid "RSS feed of nearby problems"
msgstr " RSS訂閱 %så€åŸŸå•題"
-#: perllib/FixMyStreet/Cobrand/Default.pm:834
+#: perllib/FixMyStreet/Cobrand/Default.pm:839
#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:136
-#: perllib/FixMyStreet/Cobrand/UK.pm:216
+#: perllib/FixMyStreet/Cobrand/UK.pm:222
msgid "RSS feed of problems within %s"
msgstr "在 %s 內之å•題RSS 訂閱"
-#: perllib/FixMyStreet/Cobrand/UK.pm:222
+#: perllib/FixMyStreet/Cobrand/UK.pm:228
msgid "RSS feed of problems within %s ward"
msgstr "在 %s 里/å€å•題的RSS 訂閱"
@@ -2970,7 +2986,7 @@ msgstr "最近當地å•題更新的RSS訂閱"
msgid "Receive email when updates are left on this problem."
msgstr "é€éŽé›»å­éƒµä»¶æ”¶å–該å•題之更新消æ¯"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:801
+#: perllib/FixMyStreet/DB/Result/Problem.pm:738
msgid "Received by %s moments later"
msgstr ""
@@ -2980,15 +2996,11 @@ msgstr ""
msgid "Recent local problems, %s"
msgstr "近期的當地å•題%s "
-#: templates/web/base/reports/index.html:27
-msgid "Recently <br>fixed"
-msgstr "最新 <br>解決"
-
#: templates/web/base/front/recent.html:11
msgid "Recently reported problems"
msgstr "近期申報之å•題 "
-#: templates/web/base/reports/_list-filters.html:49
+#: templates/web/base/reports/_list-filters.html:60
msgid "Recently updated"
msgstr ""
@@ -2996,13 +3008,23 @@ msgstr ""
msgid "Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. If your problem is not appropriate for submission via this site remember that you can contact your council directly using their own website."
msgstr "è¨˜ä½ FixMyStreet主è¦ç‚ºç”³å ±å¯ä¿®å¾©ä¹‹ç‰©ç†æ€§å•題。如果您的å•題ä¸é©åˆé€éŽæœ¬ç¶²ç«™æŠ•é€ï¼Œè«‹ç›´æŽ¥åˆ°åœ°æ–¹æ”¿åºœå„機關之網站。 "
-#: templates/web/base/admin/report_blocks.html:48
+#: templates/web/base/admin/extra-metadata-form.html:68
+#, fuzzy
+msgid "Remove"
+msgstr "移除標記"
+
+#: templates/web/base/admin/extra-metadata-form.html:4
+#, fuzzy
+msgid "Remove field"
+msgstr "移除標記"
+
+#: templates/web/base/admin/report_blocks.html:23
msgid "Remove flag"
msgstr "移除標記"
#: templates/web/base/report/_item.html:12
#: templates/web/base/report/_item.html:9
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:18
#: templates/web/base/report/_main.html:26
msgid "Remove from shortlist"
@@ -3012,7 +3034,7 @@ msgstr ""
msgid "Remove from site"
msgstr ""
-#: templates/web/base/admin/report_edit.html:166
+#: templates/web/base/admin/report_edit.html:154
#: templates/web/base/admin/update_edit.html:69
#: templates/web/zurich/admin/update_edit.html:35
msgid "Remove photo (can't be undone!)"
@@ -3026,13 +3048,13 @@ msgstr "給用戶的回應"
msgid "Report"
msgstr "æå ±ã€€"
-#: templates/web/base/report/_inspect.html:10
-#: templates/web/base/report/_item.html:76
+#: templates/web/base/report/_inspect.html:14
+#: templates/web/base/report/_item.html:78
msgid "Report ID:"
msgstr ""
#: templates/web/base/header_logo.html:2
-#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:19
+#: templates/web/base/main_nav_items.html:1 templates/web/zurich/footer.html:18
#: templates/web/zurich/nav_over_content.html:4
msgid "Report a problem"
msgstr "申報å•題"
@@ -3042,7 +3064,7 @@ msgstr "申報å•題"
msgid "Report abuse"
msgstr "申報濫用"
-#: templates/web/base/report/new/form_user_loggedin.html:16
+#: templates/web/base/report/new/form_user_loggedin.html:17
msgid "Report as"
msgstr ""
@@ -3051,9 +3073,8 @@ msgid "Report on %s"
msgstr "在%s 申報 "
#: templates/web/base/dashboard/index.html:137
-#, fuzzy
msgid "Report state:"
-msgstr "已申報 %s"
+msgstr ""
#: templates/web/base/report/new/fill_in_details_form.html:1
#: templates/web/base/report/new/login_success_form.html:1
@@ -3066,7 +3087,7 @@ msgstr "申報你的å•題"
msgid "Report, view, or discuss local problems"
msgstr "申報,檢視,或討論在地å•題"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:653
+#: perllib/FixMyStreet/DB/Result/Problem.pm:590
#: templates/web/base/contact/index.html:55
msgid "Reported anonymously at %s"
msgstr "在%s 匿å申報 "
@@ -3076,7 +3097,7 @@ msgstr "在%s 匿å申報 "
msgid "Reported before"
msgstr "之å‰çš„申報"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:677
+#: perllib/FixMyStreet/DB/Result/Problem.pm:614
#: templates/web/base/contact/index.html:57
msgid "Reported by %s at %s"
msgstr "由%s 的 %s 申報"
@@ -3090,34 +3111,30 @@ msgstr "由  申報"
msgid "Reported in the %s category"
msgstr "%s 種類之申報"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:650
+#: perllib/FixMyStreet/DB/Result/Problem.pm:587
msgid "Reported in the %s category anonymously at %s"
msgstr "%s 種類下的匿å申報"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:674
+#: perllib/FixMyStreet/DB/Result/Problem.pm:611
msgid "Reported in the %s category by %s at %s"
msgstr "%s 在 %s %s類別的申報 "
-#: perllib/FixMyStreet/DB/Result/Problem.pm:647
+#: perllib/FixMyStreet/DB/Result/Problem.pm:584
msgid "Reported via %s anonymously at %s"
msgstr "在%s 匿å申報 "
-#: perllib/FixMyStreet/DB/Result/Problem.pm:671
+#: perllib/FixMyStreet/DB/Result/Problem.pm:608
msgid "Reported via %s by %s at %s"
msgstr "%s é€éŽ %s 在 %s類別的申報"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:644
+#: perllib/FixMyStreet/DB/Result/Problem.pm:581
msgid "Reported via %s in the %s category anonymously at %s"
msgstr "é€éŽ %s 在 %s類別的匿å申報"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:666
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
msgid "Reported via %s in the %s category by %s at %s"
msgstr "%s 在 %s %s類別的申報 "
-#: templates/web/base/reports/index.html:24
-msgid "Reported within the last four weeks"
-msgstr "最近四週內的申報"
-
#: templates/web/zurich/admin/report_edit-sdm.html:38
#: templates/web/zurich/admin/report_edit.html:57
msgid "Reported:"
@@ -3133,13 +3150,13 @@ msgid "Reporting a problem"
msgstr "申報å•題"
#: perllib/FixMyStreet/Cobrand/Default.pm:655
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:383
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:388
#: templates/web/base/dashboard/index.html:134
#: templates/web/zurich/header.html:52
msgid "Reports"
msgstr "申報"
-#: perllib/FixMyStreet/Cobrand/UK.pm:329 perllib/FixMyStreet/Cobrand/UK.pm:333
+#: perllib/FixMyStreet/Cobrand/UK.pm:333 perllib/FixMyStreet/Cobrand/UK.pm:335
msgid "Reports are limited to %s characters in length. Please shorten your report"
msgstr "申請內容有 %s 字數é™åˆ¶ï¼Œè«‹ç°¡åŒ–您的申報。"
@@ -3147,31 +3164,54 @@ msgstr "申請內容有 %s 字數é™åˆ¶ï¼Œè«‹ç°¡åŒ–您的申報。"
msgid "Reports awaiting approval"
msgstr "待核實之申報"
+#: templates/web/base/alert/_list.html:54
+#, fuzzy
+msgid "Reports by destination"
+msgstr "由%s 的 %s 申報"
+
#: templates/web/base/admin/user-form.html:107
msgid "Reports made by trusted users will be sent to the responsible body without being inspected first."
msgstr ""
+#: templates/web/base/alert/_list.html:15
+msgid "Reports near %s are sent to different councils, depending on the type of problem."
+msgstr ""
+
#: templates/web/zurich/admin/index-sdm.html:10
msgid "Reports published"
msgstr "己公開之申報"
-#: templates/web/base/js/translation_strings.html:68
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:71
msgid "Reports saved offline."
-msgstr "申報å•題"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+#, fuzzy
+msgid "Reports sent to %s"
+msgstr "在%s 申報 "
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:290 perllib/FixMyStreet/Cobrand/UK.pm:302
+#, fuzzy
+msgid "Reports sent to %s, within %s ward"
+msgstr "%s, 在%s 里/å€"
#: templates/web/base/admin/index.html:56
msgid "Reports waiting to be sent"
msgstr ""
-#: templates/web/base/admin/contact-form.html:89
+#: templates/web/base/admin/contact-form.html:90
msgid "Reports will automatically be sent without needing to be inspected if the user's <strong>reputation</strong> is at or above this value. Set to <strong>0</strong> if all reports must be inspected regardless."
msgstr ""
-#: templates/web/base/admin/contact-form.html:94
+#: templates/web/base/admin/contact-form.html:95
msgid "Reputation threshold"
msgstr ""
+#: templates/web/base/admin/extra-metadata-form.html:20
+#, fuzzy
+msgid "Required"
+msgstr "è¦æ±‚æä¾›ç…§ç‰‡"
+
#: templates/web/base/admin/report_edit.html:84
msgid "Resend report"
msgstr "釿–°é€å‡ºç”³å ±"
@@ -3207,7 +3247,7 @@ msgstr "%s的回應模版"
msgid "Revert to original"
msgstr ""
-#: templates/web/base/report/_main.html:95
+#: templates/web/base/report/_main.html:99
msgid "Revert to original text"
msgstr ""
@@ -3230,16 +3270,16 @@ msgstr "此指定街é“之é“路營é‹è€…(å–自é“è·¯åƒç…§ç¢¼èˆ‡ç¨®é¡ž): %s"
msgid "Road operator for this named road (from OpenStreetMap): %s"
msgstr "此指定街é“之é“路營é‹è€…(來自OpenStreetMap): %s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1747
-#: templates/web/base/admin/report_edit.html:163
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1852
+#: templates/web/base/admin/report_edit.html:151
#: templates/web/base/admin/update_edit.html:66
#: templates/web/zurich/admin/report_edit.html:118
msgid "Rotate Left"
msgstr "左轉 "
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1743
-#: templates/web/base/admin/report_edit.html:164
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1848
+#: templates/web/base/admin/report_edit.html:152
#: templates/web/base/admin/update_edit.html:67
#: templates/web/zurich/admin/report_edit.html:119
msgid "Rotate Right"
@@ -3254,33 +3294,41 @@ msgstr "旋轉這張照片將會導致申報中未存檔的照片更動消失"
msgid "Satellite"
msgstr "衛星"
-#: templates/web/base/report/_inspect.html:168
-#, fuzzy
+#: templates/web/base/report/_inspect.html:182
msgid "Save + close as duplicate"
-msgstr "標註為é‡è¦†ä¹‹ç”³å ±"
+msgstr ""
-#: templates/web/base/admin/contact-form.html:137
-#: templates/web/base/admin/responsepriorities/edit.html:46
+#: templates/web/base/admin/contact-form.html:138
+#: templates/web/base/admin/reportextrafields/edit.html:64
+#: templates/web/base/admin/responsepriorities/edit.html:58
#: templates/web/base/admin/template_edit.html:46
-#: templates/web/base/report/_inspect.html:168
-#: templates/web/base/report/_main.html:113
-#: templates/web/base/report/update.html:60
+#: templates/web/base/report/_inspect.html:182
+#: templates/web/base/report/_main.html:117
+#: templates/web/base/report/update.html:69
#: templates/web/zurich/admin/body.html:62
-#: templates/web/zurich/admin/contact-form.html:20
+#: templates/web/zurich/admin/contact-form.html:22
#: templates/web/zurich/admin/template_edit.html:29
msgid "Save changes"
msgstr "儲存變動"
-#: templates/web/base/report/_inspect.html:148
+#: templates/web/base/admin/reportextrafields/edit.html:64
+msgid "Save new fields"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:158
msgid "Save with a public update"
msgstr ""
-#. ('This is followed by a progress count, e.g. 3/5')
#. ("This is followed by a progress count, e.g. 3/5")
-#: templates/web/base/js/translation_strings.html:69
+#: templates/web/base/js/translation_strings.html:72
msgid "Saving reports offline"
msgstr ""
+#: perllib/FixMyStreet/Cobrand/Oxfordshire.pm:132
+#, fuzzy
+msgid "Scheduled"
+msgstr "行動排程 "
+
#: templates/web/base/admin/index.html:26
#: templates/web/base/admin/reports.html:1
#: templates/web/zurich/admin/reports.html:1
@@ -3314,41 +3362,41 @@ msgstr "查無此用戶"
msgid "See our privacy policy"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:715
+#: perllib/FixMyStreet/Cobrand/Default.pm:720
msgid "See user detail for reports created as the council"
msgstr ""
-#: templates/web/base/admin/body-form.html:39
+#: templates/web/base/admin/body-form.html:41
#: templates/web/zurich/admin/body-form.html:16
msgid "Select a body"
msgstr "鏿“‡å–®ä½"
-#: templates/web/base/reports/index.html:12
-msgid "Select a particular council to see the reports sent there."
-msgstr "鏿“‡ç‰¹å®šè­°æœƒå‘ˆé€ç”³å ±"
-
-#: templates/web/base/admin/body-form.html:77
+#: templates/web/base/admin/body-form.html:79
#: templates/web/zurich/admin/body-form.html:26
msgid "Select an area"
msgstr "鏿“‡å€åŸŸ"
-#: templates/web/base/alert/_list.html:11
-msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
-msgstr "鏿“‡æ‚¨è¦æƒ³çš„é€šçŸ¥æ–¹å¼æˆ–點é¸RSS訂閱按鈕,或者輸入您的電å­éƒµä»¶ä»¥æ”¶å—通知。"
+#: templates/web/base/admin/responsepriorities/edit.html:33
+msgid "Select if this is the default priority"
+msgstr ""
#: templates/web/base/admin/category-checkboxes.html:6
msgid "Select:"
msgstr ""
+#: templates/web/base/contact/index.html:107
+msgid "Send"
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:109
msgid "Send extended Open311 statuses with service request updates"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:826
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:831
msgid "Sent report back"
msgstr "é€å›žç”³å ±"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:804
+#: perllib/FixMyStreet/DB/Result/Problem.pm:741
msgid "Sent to %s %s later"
msgstr "%s ç¨å¾Œé€çµ¦%s"
@@ -3361,7 +3409,7 @@ msgstr "é€å‡º"
msgid "Service:"
msgstr "æœå‹™"
-#: templates/web/base/report/_inspect.html:31
+#: templates/web/base/report/_inspect.html:41
msgid "Set to my current location"
msgstr ""
@@ -3370,49 +3418,56 @@ msgid "Share"
msgstr "分享"
#: templates/web/base/main_nav_items.html:10
-#: templates/web/base/report/_main.html:136
+#: templates/web/base/report/_main.html:140
#: templates/web/base/report/_main.html:21
#: templates/web/base/report/_main.html:29
msgid "Shortlist"
msgstr ""
-#: templates/web/base/report/_main.html:134
+#: templates/web/base/reports/body.html:32
+msgid "Shortlist all visible"
+msgstr ""
+
+#: templates/web/base/report/_main.html:138
#: templates/web/base/report/_main.html:20
#: templates/web/base/report/_main.html:25
#: templates/web/base/reports/_list-filters.html:9
msgid "Shortlisted"
msgstr ""
-#: templates/web/base/report/_main.html:144
+#: templates/web/base/report/_item.html:15
+#: templates/web/base/report/_main.html:148
msgid "Shortlisted by %s"
msgstr ""
#: templates/web/base/report/update.html:20
-#, fuzzy
msgid "Show Photo?"
-msgstr "顯示舊文"
+msgstr ""
-#: templates/web/base/report/new/form_user_loggedin.html:54
+#: templates/web/base/questionnaire/index.html:26
+msgid "Show all updates"
+msgstr ""
+
+#: templates/web/base/report/new/form_user_loggedin.html:56
#: templates/web/base/report/new/form_user_loggedout_by_email.html:22
-#: templates/web/base/report/update/form_name.html:33
+#: templates/web/base/report/update/form_name.html:37
msgid "Show my name publicly"
msgstr "公開我的姓å"
#: templates/web/base/report/update.html:17
-#, fuzzy
msgid "Show name publicly?"
-msgstr "公開我的姓å"
+msgstr ""
#: templates/web/base/around/display_location.html:69
msgid "Show old"
msgstr "顯示舊文"
-#: templates/web/base/report/_main.html:79
-#, fuzzy
+#: templates/web/base/report/_main.html:83
msgid "Show photo"
-msgstr "顯示舊文"
+msgstr ""
#: templates/web/base/around/display_location.html:60
+#: templates/web/base/js/translation_strings.html:54
msgid "Show pins"
msgstr "顯示地圖標示"
@@ -3420,16 +3475,20 @@ msgstr "顯示地圖標示"
msgid "Show reporter&rsquo;s name"
msgstr ""
-#: templates/web/base/auth/general.html:117
+#: templates/web/base/reports/index.html:62
+msgid "Show reports in your area"
+msgstr ""
+
+#: templates/web/base/auth/general.html:119
#: templates/web/base/auth/general.html:3
-#: templates/web/base/auth/general.html:86
+#: templates/web/base/auth/general.html:88
#: templates/web/base/main_nav_items.html:6
#: templates/web/zurich/auth/general.html:18
#: templates/web/zurich/auth/general.html:35
msgid "Sign in"
msgstr "登入"
-#: templates/web/base/auth/general.html:96
+#: templates/web/base/auth/general.html:98
msgid "Sign in by email instead, providing a new password. When you click the link in your email, your password will be updated."
msgstr ""
@@ -3478,14 +3537,14 @@ msgstr "抱歉這個wasn&rsquo;t 為有效的網å€é€£çµ"
msgid "Sorry, there has been an error confirming your problem."
msgstr "抱歉無法確èªä½ çš„å•題"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:230
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:235
#: perllib/FixMyStreet/Geocode.pm:37 perllib/FixMyStreet/Geocode/Bing.pm:38
#: perllib/FixMyStreet/Geocode/FixaMinGata.pm:56
#: perllib/FixMyStreet/Geocode/OSM.pm:48
msgid "Sorry, we could not find that location."
msgstr "抱歉,我們無法找到此ä½ç½®"
-#: templates/web/base/auth/general.html:9
+#: templates/web/base/auth/general.html:11
#: templates/web/base/report/display.html:29
#: templates/web/base/report/new/fill_in_details_form.html:15
msgid "Sorry, we could not log you in. Please fill in the form below."
@@ -3507,11 +3566,11 @@ msgid ""
"page wasn’t found or there was a server error. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Root.pm:107
+#: perllib/FixMyStreet/App/Controller/Root.pm:124
msgid "Sorry, you don't have permission to do that."
msgstr ""
-#: templates/web/base/reports/_list-filters.html:42
+#: templates/web/base/reports/_list-filters.html:53
msgid "Sort by"
msgstr ""
@@ -3528,17 +3587,25 @@ msgid "Start Date:"
msgstr "å•始日:"
#: templates/web/base/admin/body.html:73
+#: templates/web/base/admin/category_edit.html:29
+#: templates/web/base/admin/contact-form.html:53
#: templates/web/base/admin/flagged.html:18
#: templates/web/base/admin/index.html:64
#: templates/web/base/admin/list_updates.html:11
#: templates/web/base/admin/reports.html:16
#: templates/web/base/admin/template_edit.html:40
-#: templates/web/base/report/_inspect.html:83
-#: templates/web/base/report/_item.html:94
+#: templates/web/base/report/_inspect.html:82
+#: templates/web/base/report/_item.html:96
#: templates/web/base/report/update/form_update.html:39
+#: templates/web/zurich/admin/contact-form.html:10
msgid "State"
msgstr "陳述"
+#: templates/web/base/report/update.html:48
+#, fuzzy
+msgid "State changed to:"
+msgstr "儲存變動"
+
#: templates/web/base/admin/report_edit.html:116
#: templates/web/base/admin/update_edit.html:28
#: templates/web/zurich/admin/report_edit-sdm.html:75
@@ -3548,8 +3615,14 @@ msgstr "陳述"
msgid "State:"
msgstr "陳述:"
-#: perllib/FixMyStreet/Cobrand/Default.pm:640
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:386
+#: perllib/FixMyStreet/Cobrand/Default.pm:645
+#: templates/web/base/admin/states/index.html:1
+#, fuzzy
+msgid "States"
+msgstr "陳述"
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:391
#: templates/web/base/admin/index.html:71 templates/web/base/admin/stats.html:1
#: templates/web/base/admin/stats_by_state.html:1
#: templates/web/zurich/admin/stats.html:1 templates/web/zurich/header.html:65
@@ -3571,6 +3644,10 @@ msgstr " %så•å·ä»é–‹æ”¾ä¸­"
msgid "Street View"
msgstr "街景圖"
+#: templates/web/base/admin/extra-metadata-form.html:46
+msgid "String"
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:192
msgid "Subcategory: %s"
msgstr "å­é¡žåˆ¥ï¼š%s"
@@ -3579,7 +3656,7 @@ msgstr "å­é¡žåˆ¥ï¼š%s"
msgid "Subdivision/Body"
msgstr "下屬單ä½/機關"
-#: templates/web/base/contact/index.html:88
+#: templates/web/base/contact/index.html:92
msgid "Subject"
msgstr "主旨"
@@ -3589,14 +3666,14 @@ msgid "Subject:"
msgstr "主旨:"
#: templates/web/base/questionnaire/creator_fixed.html:19
-#: templates/web/base/report/new/form_user_loggedin.html:61
+#: templates/web/base/report/new/form_user_loggedin.html:63
#: templates/web/base/report/new/form_user_loggedout_by_email.html:36
#: templates/web/base/report/new/form_user_loggedout_password.html:11
#: templates/web/zurich/report/new/fill_in_details_form.html:73
msgid "Submit"
msgstr "é€å‡º"
-#: templates/web/base/admin/report_edit.html:174
+#: templates/web/base/admin/report_edit.html:162
#: templates/web/base/admin/report_edit.html:24
#: templates/web/base/admin/update_edit.html:77
#: templates/web/base/admin/user-form.html:170
@@ -3610,8 +3687,8 @@ msgstr "é€å‡ºæ›´æ–°"
msgid "Submit questionnaire"
msgstr "é€å‡ºå•å·"
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:164
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:893
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:169
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:898
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:6
#: templates/web/zurich/admin/index-dm.html:23
@@ -3621,36 +3698,38 @@ msgstr "é€å‡ºå•å·"
msgid "Submitted"
msgstr "å·²é€å‡º"
+#: templates/web/base/alert/_list.html:77
+#: templates/web/base/alert/_list.html:80
#: templates/web/base/alert/updates.html:23
#: templates/web/base/report/display_tools.html:51
msgid "Subscribe"
msgstr "訂閱"
-#: templates/web/base/alert/_list.html:93
-msgid "Subscribe me to an email alert"
+#: templates/web/base/alert/_list.html:72
+#, fuzzy
+msgid "Subscribe by email"
msgstr "加入通知信件"
#: templates/web/base/report/new/form_report.html:19
msgid "Summarise the problem"
msgstr ""
-#: templates/web/base/admin/contact-form.html:129
+#: templates/web/base/admin/contact-form.html:130
msgid "Summarise your changes"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:638
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:382
+#: perllib/FixMyStreet/Cobrand/Default.pm:637
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:387
#: templates/web/base/admin/bodies.html:29
#: templates/web/base/admin/index.html:1 templates/web/base/status/index.html:1
#: templates/web/base/status/index.html:3
#: templates/web/zurich/admin/index-dm.html:1
#: templates/web/zurich/admin/index-sdm.html:1
-#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:13
+#: templates/web/zurich/admin/index.html:1 templates/web/zurich/footer.html:12
#: templates/web/zurich/header.html:49
msgid "Summary"
msgstr "摘è¦"
-#: templates/web/base/reports/index.html:4
#: templates/web/zurich/reports/index.html:0
#: templates/web/zurich/reports/index.html:4
msgid "Summary reports"
@@ -3674,7 +3753,7 @@ msgid "Template &laquo;%s&raquo;"
msgstr "模版 &laquo;%s&raquo;"
#: perllib/FixMyStreet/Cobrand/Default.pm:661
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:393
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
#: templates/web/zurich/header.html:69
msgid "Templates"
msgstr "模版"
@@ -3703,7 +3782,7 @@ msgstr "æ„Ÿè¬æ‚¨ç”³å ±æ­¤å•題"
msgid "Thank you for trying to confirm your update or problem. We seem to have an error ourselves though, so <a href=\"%s\">please let us know what went on</a> and we'll look into it."
msgstr "æ„Ÿè¬æ‚¨è©¦è‘—確 èªæœ¬å•題的更新。目å‰ç¶²ç«™ä¼¼ä¹Žé‡ä¸Šä¸€é»žå•題,<a href=\"%s\">請回報給我們</a> 以通知工程人員查看狀æ³ã€‚ "
-#: templates/web/base/tokens/confirm_update.html:15
+#: templates/web/base/tokens/confirm_update.html:16
msgid "Thank you for updating this issue!"
msgstr "æ„Ÿè¬æ‚¨æ›´æ–°æ­¤ç‹€æ³"
@@ -3731,7 +3810,7 @@ msgstr "照片上傳似乎無法正常 (%s), è«‹å†è©¦ä¸€æ¬¡ã€‚ "
msgid "That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again."
msgstr "該地å€ä¼¼ä¹Žéžè©²åœ°æ–¹æ”¿åºœç®¡è½„,它å¯èƒ½åœ¨è½„å€å¤–,請å†è©¦ 一次 "
-#: perllib/FixMyStreet/App/Controller/Location.pm:129
+#: perllib/FixMyStreet/App/Controller/Location.pm:127
msgid "That location does not appear to be in the UK; please try again."
msgstr "這地點似乎ä¸åœ¨å°ç£; è«‹å†è©¦ 一次。"
@@ -3741,23 +3820,23 @@ msgstr "這地點似乎ä¸åœ¨å°ç£; è«‹å†è©¦ 一次。"
msgid "That postcode was not recognised, sorry."
msgstr "抱歉此郵éžå€è™Ÿç„¡æ³•辨識"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:762
+#: perllib/FixMyStreet/App/Controller/Admin.pm:850
msgid "That problem has been marked as sent."
msgstr "å•題被標註為é€å‡º"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:755
+#: perllib/FixMyStreet/App/Controller/Admin.pm:843
msgid "That problem will now be resent."
msgstr "æ­¤å•é¡Œå°‡é‡æ–°é€å‡º"
-#: perllib/FixMyStreet/App/Controller/Report.pm:137
+#: perllib/FixMyStreet/App/Controller/Report.pm:134
msgid "That report cannot be viewed on %s."
msgstr "此申報無法在 %s上檢視 "
-#: perllib/FixMyStreet/App/Controller/Report.pm:131
+#: perllib/FixMyStreet/App/Controller/Report.pm:128
msgid "That report has been removed from FixMyStreet."
msgstr "該申報已é­FixMyStreet 移除 "
-#: templates/web/base/admin/contact-form.html:25
+#: templates/web/base/admin/contact-form.html:27
msgid ""
"The <strong>email address</strong> is the destination to which reports about this category will be sent. \n"
" Other categories for this body may have the same email address."
@@ -3783,10 +3862,10 @@ msgstr ""
"æ­¤<strong>管轄å€</strong> åŠŸèƒ½åªæœ‰åœ¨çµ‚端ä¸åªä¸€å€‹\n"
"æ™‚æ‰æœƒç”¨åˆ°ã€‚如果機關自行營é‹ç”¨çµ‚端,此處功能å¯ä»¥ä¸é¸ç•™ç™½ã€€"
-#: templates/web/base/admin/body-form.html:100
-#: templates/web/base/admin/body-form.html:101
-#: templates/web/base/admin/contact-form.html:103
+#: templates/web/base/admin/body-form.html:102
+#: templates/web/base/admin/body-form.html:103
#: templates/web/base/admin/contact-form.html:104
+#: templates/web/base/admin/contact-form.html:105
msgid ""
"The <strong>send method</strong> determines how problem reports will be sent to the body.\n"
" If you leave this blank, <strong>send method defaults to email</strong>."
@@ -3807,6 +3886,10 @@ msgstr ""
"有關單ä½<strong>å稱</strong> å¯è¾¨èªå‡ºè©²æ©Ÿæ§‹(例如, <em>高雄市工務局公園處 </em>)\n"
"æ­¤å稱會公開顯示。"
+#: templates/web/base/admin/extra-metadata-form.html:12
+msgid "The code used to store this field value in the database. e.g. <code>address</code> would be available as <code>problem.extra.address</code> in the templates."
+msgstr ""
+
#: templates/web/base/report/new/fill_in_details_text.html:1
#: templates/web/base/report/new/fill_in_details_text.html:3
msgid "The council won&rsquo;t be able to help unless you leave as much detail as you can. Please describe the exact location of the problem (e.g. on a wall), what it is, how long it has been there, a description (and a photo of the problem if you have one), etc."
@@ -3817,11 +3900,15 @@ msgstr "地方政府å¯èƒ½ç„¡æ³•å”åŠ©ï¼Œé™¤éžæ‚¨ç•™ä¸‹å•題的詳細細節。
msgid "The diligency prize league table shows editors' activity (who's been editing the most records)."
msgstr "這個勤奮表單顯示用戶的活動(誰åšäº†åšå¤šçš„修改編輯活動)"
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:61
-#: perllib/FixMyStreet/App/Controller/Reports.pm:82
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:63
+#: perllib/FixMyStreet/App/Controller/Reports.pm:103
msgid "The error was: %s"
msgstr "顯示錯誤為: %s"
+#: templates/web/base/admin/extra-metadata-form.html:30
+msgid "The field name as shown to the user on the report form."
+msgstr ""
+
#: templates/web/base/open311/index.html:78
msgid "The following Open311 v2 attributes are returned for each request: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
msgstr "下列 Open311 v2 å±¬æ€§è¦–è¦æ±‚之回覆而定: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
@@ -3860,10 +3947,14 @@ msgstr "用戶申報{{NAME}}地å€å…§åœ°çš„æœ€æ–°å•題"
msgid "The link might have expired, or maybe you didn&rsquo;t quite copy and paste it correctly."
msgstr "這連çµå¯èƒ½å¤±æ•ˆäº†æˆ–者你並未正確地複制貼上它"
-#: templates/web/base/admin/body-form.html:64
+#: templates/web/base/admin/body-form.html:66
msgid "The list of available areas is being provided by the MapIt service at %s."
msgstr "%s å€åŸŸä¸­ï¼ŒMapItæœå‹™æ¶µè“‹çš„ç¯„åœæ¸…å–®"
+#: templates/web/base/admin/extra-metadata-form.html:6
+msgid "The ordering of this field on the report page. Fields are shown in ascending order according to this value."
+msgstr ""
+
#: templates/web/base/auth/change_password.html:22
#: templates/web/base/auth/change_password.html:26
msgid "The passwords do not match"
@@ -3873,9 +3964,9 @@ msgstr "密碼ä¸ç¬¦"
msgid "The requested URL '%s' was not found on this server"
msgstr "找ä¸åˆ°æ‚¨æ‰€è¦æ±‚的網é é€£çµã€‚"
-#: templates/web/base/alert/_list.html:17
-msgid "The simplest alert is our geographic one:"
-msgstr "您的更新出錯,請å†è©¦ä¸€æ¬¡ã€‚"
+#: templates/web/base/admin/extra-metadata-form.html:42
+msgid "The type of input field to show to the user. <strong>Text</strong> is a simple text field, <strong>List</strong> is a drop-down selection."
+msgstr ""
#: perllib/FixMyStreet/Script/Reports.pm:96
msgid "The user could not locate the problem on a map, but to see the area around the location they entered"
@@ -3896,18 +3987,18 @@ msgstr ""
msgid "There are no reports to show."
msgstr "沒有申報å¯é¡¯ç¤º"
-#: perllib/FixMyStreet/App/Controller/Reports.pm:79
+#: perllib/FixMyStreet/App/Controller/Reports.pm:100
msgid "There was a problem showing the All Reports page. Please try again later."
msgstr "本é ç¾åœ¨ç„¡æ³•é¡˜ç¾æ‰€è¦æ±‚的申報資料,請ç¨å€™å†è©¦ã€‚"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:137
-#: perllib/FixMyStreet/App/Controller/Dashboard.pm:60
+#: perllib/FixMyStreet/App/Controller/Contact.pm:138
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:62
msgid "There was a problem showing this page. Please try again later."
msgstr "本é å‡ºç¾éŒ¯èª¤ï¼Œè«‹å†è©¦ä¸€æ¬¡"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:758
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:785
#: perllib/FixMyStreet/App/Controller/Report/Update.pm:152
-#: templates/web/base/auth/general.html:53
+#: templates/web/base/auth/general.html:55
#: templates/web/zurich/auth/general.html:28
msgid "There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the &lsquo;sign in by email&rsquo; section of the form."
msgstr "您的電å­éƒµä»¶èˆ‡å¯†ç¢¼ä¸ç›¸ç¬¦ï¼Œå¦‚果您éºå¿˜å¯†ç¢¼æˆ–尚未註冊,請在申請表單上填入電å­éƒµä»¶"
@@ -3920,7 +4011,7 @@ msgstr "您的電å­éƒµä»¶/密碼ä¸ç¬¦ï¼Œè«‹é‡è©¦ä¸€æ¬¡"
msgid "There was a problem with your update. Please try again."
msgstr "您的申報有å•題,請é‡è©¦ä¸€æ¬¡"
-#: perllib/FixMyStreet/App/Controller/Contact.pm:141
+#: perllib/FixMyStreet/App/Controller/Contact.pm:142
msgid "There were problems with your report. Please see below."
msgstr "您的申報有å•題,請見下方說明"
@@ -3980,8 +4071,8 @@ msgstr ""
msgid "This body has no contacts. This means that currently problems reported to this body <strong>will not be sent</strong>."
msgstr "該單ä½ç„¡è¯çµ¡äººï¼Œæ­¤è¡¨ç¤ºç›®å‰é€è‡³è©²å–®ä½çš„申報<strong>將無法é€å‡º</strong>."
-#: templates/web/base/admin/body-form.html:58
-#: templates/web/base/admin/body-form.html:59
+#: templates/web/base/admin/body-form.html:60
+#: templates/web/base/admin/body-form.html:61
msgid ""
"This body will only be sent reports for problems that are located in the <strong>area covered</strong>.\n"
" A body will not receive any reports unless it covers at least one area."
@@ -3997,8 +4088,9 @@ msgstr "ç•¶ç”¨æˆ¶æ²’æœ‰é¸æ“‡é¡žåˆ¥æ™‚,電å­éƒµä»¶å°‡é€åˆ°è² è²¬è©²å€åŸŸçš„
msgid "This email has been sent to several councils covering the location of the problem, as the category selected is provided for all of them; please ignore it if you're not the correct council to deal with the issue."
msgstr "é›»å­éƒµä»¶å°‡é€åˆ°è² è²¬è©²å€åŸŸçš„å¤šå€‹åœ°æ–¹æ”¿åºœï¼Œå› é¸æ“‡çš„類別æä¾›é€™äº›å°è±¡ã€‚å¦‚æžœæ‚¨ä¸æ˜¯è² è²¬å—ç†æ©Ÿé—œï¼Œè«‹ç•¥éŽã€‚"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:881
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:925
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:1017
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:910
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:954
#: perllib/FixMyStreet/App/Controller/Report/New.pm:971
#: perllib/FixMyStreet/Cobrand/UK.pm:45
msgid "This information is required"
@@ -4008,46 +4100,41 @@ msgstr "本項資訊必填"
msgid "This is a developer site; things might break at any time, and the database will be periodically deleted."
msgstr "本站為開發試用,å¯èƒ½éš¨æ™‚故障,資料庫也會定期刪除。"
-#: templates/web/base/reports/index.html:10
-msgid "This is a summary of all reports on this site."
-msgstr "本站所有申報總çµ"
-
-#: templates/web/base/report/new/form_report.html:56
+#: templates/web/base/report/new/form_report.html:58
msgid "This pothole has been here for two months and…"
msgstr ""
-#: templates/web/base/report/update/form_update.html:63
+#: templates/web/base/report/update/form_update.html:55
msgid "This problem has been fixed"
msgstr "å•題己處ç†å®Œç•¢"
-#: templates/web/base/report/update/form_update.html:56
+#: templates/web/base/report/update/form_update.html:48
msgid "This problem has not been fixed"
msgstr "å•題尚未解決"
-#: templates/web/base/report/update/form_update.html:54
-#, fuzzy
+#: templates/web/base/report/update/form_update.html:46
msgid "This problem is still ongoing"
-msgstr "å•題尚未解決"
+msgstr ""
#: templates/web/base/report/duplicate-no-updates.html:3
msgid "This report is a duplicate. Please leave updates on the original report:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:161
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:162
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:166
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:167
#: templates/web/zurich/report/_main.html:14
msgid "This report is awaiting moderation."
msgstr "æ­¤å•題尚待審核"
-#: perllib/FixMyStreet/Script/Alerts.pm:101
+#: perllib/FixMyStreet/Script/Alerts.pm:98
msgid "This report is currently marked as closed."
msgstr "è©²ç”³å ±ç›®å‰æ³¨è¨˜ç‚ºçµæ¡ˆç‹€æ…‹"
-#: perllib/FixMyStreet/Script/Alerts.pm:99
+#: perllib/FixMyStreet/Script/Alerts.pm:96
msgid "This report is currently marked as fixed."
msgstr "è©²ç”³å ±ç›®å‰æ³¨è¨˜ç‚ºè§£æ±ºç‹€æ…‹"
-#: perllib/FixMyStreet/Script/Alerts.pm:103
+#: perllib/FixMyStreet/Script/Alerts.pm:100
msgid "This report is currently marked as open."
msgstr "è©²ç”³å ±ç›®å‰æ³¨è¨˜ç‚ºé–‹æ”¾ç‹€æ…‹"
@@ -4066,7 +4153,7 @@ msgstr "本é åŒ…括由用戶æä¾›å應å•題的照片 "
msgid "Time spent (in minutes):"
msgstr "花費時間(以分é˜è¨ˆ):"
-#: perllib/FixMyStreet/Cobrand/Default.pm:639
+#: perllib/FixMyStreet/Cobrand/Default.pm:638
#: templates/web/base/admin/timeline.html:1
msgid "Timeline"
msgstr "時間軸"
@@ -4095,10 +4182,26 @@ msgstr "找出é©åˆæ‚¨çš„在地通知,請輸入您的郵編或街åå€åŸŸ"
msgid "To find out what local alerts we have for you, please enter your postcode or street name and area"
msgstr "找出é©åˆæ‚¨çš„在地通知,請輸入您的郵編或街åå€åŸŸ"
+#: templates/web/base/admin/reportextrafields/edit.html:19
+msgid "To limit this collection of fields to a single cobrand, select it here."
+msgstr ""
+
+#: templates/web/base/admin/reportextrafields/edit.html:40
+msgid "To limit this collection of fields to a single language, select it here."
+msgstr ""
+
#: perllib/FixMyStreet/Script/Reports.pm:95
msgid "To view a map of the precise location of this issue"
msgstr "檢視地圖上å•題之確切ä½ç½®"
+#: templates/web/base/reports/index.html:97
+msgid "Top 5 most used categories"
+msgstr ""
+
+#: templates/web/base/reports/index.html:83
+msgid "Top 5 responsive councils"
+msgstr ""
+
#: templates/web/base/admin/questionnaire.html:24
#: templates/web/base/admin/stats.html:24
#: templates/web/base/admin/stats.html:43
@@ -4112,9 +4215,8 @@ msgid "Total marked"
msgstr ""
#: templates/web/base/dashboard/index.html:71
-#, fuzzy
msgid "Total marked as fixed"
-msgstr "標註為解決"
+msgstr ""
#: templates/web/base/dashboard/index.html:125
msgid "Total not marked"
@@ -4125,16 +4227,24 @@ msgstr ""
msgid "Total reports received"
msgstr ""
-#: templates/web/base/report/_inspect.html:124
-#: templates/web/base/report/_item.html:102
+#: templates/web/base/report/_inspect.html:134
+#: templates/web/base/report/_item.html:104
msgid "Traffic management required?"
msgstr ""
+#: templates/web/base/admin/_translations.html:7
+msgid "Translation"
+msgstr ""
+
+#: templates/web/base/admin/_translations.html:2
+msgid "Translations"
+msgstr ""
+
#: templates/web/base/admin/user-form.html:111
msgid "Trusted by bodies:"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:721
+#: perllib/FixMyStreet/Cobrand/Default.pm:726
msgid "Trusted to make reports that don't need to be inspected"
msgstr ""
@@ -4150,8 +4260,14 @@ msgstr "å†è©¦ä¸€æ¬¡"
msgid "Try emailing us directly:"
msgstr "何ä¸ç›´æŽ¥ç™¼ä¿¡çµ¦æˆ‘們:"
-#: templates/web/base/admin/report_blocks.html:1
-#: templates/web/base/admin/report_blocks.html:21
+#: templates/web/base/admin/extra-metadata-form.html:44
+#: templates/web/base/admin/states/index.html:10
+#: templates/web/base/admin/states/index.html:100
+msgid "Type"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/State.pm:59
+#: templates/web/base/admin/contact-form.html:55
#: templates/web/base/admin/update_edit.html:30
#: templates/web/zurich/admin/report_edit-sdm.html:66
#: templates/web/zurich/admin/report_edit.html:94
@@ -4159,7 +4275,6 @@ msgstr "何ä¸ç›´æŽ¥ç™¼ä¿¡çµ¦æˆ‘們:"
msgid "Unconfirmed"
msgstr "未確èªçš„"
-#: templates/web/base/reports/_list-filters.html:12
#: templates/web/base/reports/_list-filters.html:5
msgid "Unfixed reports"
msgstr "未處ç†ä¹‹ç”³å ±ã€€"
@@ -4173,14 +4288,14 @@ msgid "Unknown alert type"
msgstr "未知的通知類別"
#: perllib/FixMyStreet/App/Controller/Photo.pm:109
-#: perllib/FixMyStreet/App/Controller/Root.pm:124
+#: perllib/FixMyStreet/App/Controller/Root.pm:141
#: templates/web/base/js/translation_strings.html:38
msgid "Unknown error"
msgstr "未知的錯誤"
-#: perllib/FixMyStreet/App/Controller/Report.pm:115
+#: perllib/FixMyStreet/App/Controller/Report.pm:112
+#: perllib/FixMyStreet/App/Controller/Report.pm:118
#: perllib/FixMyStreet/App/Controller/Report.pm:121
-#: perllib/FixMyStreet/App/Controller/Report.pm:124
msgid "Unknown problem ID"
msgstr "未知的å•題編號  "
@@ -4188,10 +4303,11 @@ msgstr "未知的å•題編號  "
msgid "Unshortlisted"
msgstr ""
-#: templates/web/base/report/_item.html:24
+#: templates/web/base/report/_item.html:26
msgid "Up one"
msgstr ""
+#: templates/web/base/admin/states/index.html:76
#: templates/web/base/report/update/form_update.html:29
msgid "Update"
msgstr "æ›´æ–°"
@@ -4208,7 +4324,7 @@ msgstr "下方更新 為匿åæä¾›%s"
msgid "Update below added by %s at %s"
msgstr "ç”±%d 在 %s 所æä¾›çš„æ›´æ–°"
-#: templates/web/base/admin/body-form.html:138
+#: templates/web/base/admin/body-form.html:140
#: templates/web/zurich/admin/body-form.html:52
msgid "Update body"
msgstr "æ›´æ–°å…§æ–‡"
@@ -4244,13 +4360,23 @@ msgstr "更新之狀態"
msgid "Updated"
msgstr "已更新"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1157
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1221
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1384
-#: perllib/FixMyStreet/App/Controller/Admin.pm:822
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:762
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:787
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:857
+#: perllib/FixMyStreet/DB/Result/Comment.pm:249
+#, fuzzy
+msgid "Updated by <strong>%s</strong> (%s) at %s"
+msgstr "由<strong>%s</strong> (%s) 在%s"
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:251
+#, fuzzy
+msgid "Updated by <strong>%s</strong> at %s"
+msgstr "由<strong>%s</strong> 在%s"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1262
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1326
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1489
+#: perllib/FixMyStreet/App/Controller/Admin.pm:910
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:767
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:792
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:862
msgid "Updated!"
msgstr "已更新ï¼"
@@ -4260,7 +4386,7 @@ msgstr "已更新ï¼"
msgid "Updates"
msgstr "æ›´æ–°"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:133
+#: perllib/FixMyStreet/DB/Result/Comment.pm:134
msgid "Updates are limited to %s characters in length. Please shorten your update"
msgstr "更新內容有 %s 字數é™åˆ¶ï¼Œè«‹ç°¡åŒ–您的更新。"
@@ -4274,11 +4400,22 @@ msgstr "ç”±{{title}}æ›´æ–°"
msgid "Updates to this problem, %s"
msgstr "æ›´æ–°å•題, %s"
+#: templates/web/base/admin/contact-form.html:43
+#: templates/web/base/admin/contact-form.html:44
+msgid ""
+"Use <strong>confirmed</strong> to indicate that this contact has been\n"
+"confirmed as correct. If you are not sure of the origin or validity of the\n"
+"contact, use <strong>unconfirmed</strong>. <strong>inactive</strong> will\n"
+"remove the category from use when reporting problems, but keep it available in\n"
+"map filters, and <strong>deleted</strong> will remove the category from there\n"
+"as well."
+msgstr ""
+
#: templates/web/base/admin/open311-form-fields.html:65
msgid "Use Open311 update-sending extension"
msgstr ""
-#: templates/web/base/admin/contact-form.html:124
+#: templates/web/base/admin/contact-form.html:125
msgid "Use this field to record details that are only displayed in the admin. Input is not shown publicly, and is not sent to the body."
msgstr ""
@@ -4291,27 +4428,26 @@ msgstr "已用éŽä¹‹åœ°åœ–"
msgid "User ID to attribute fetched comments to"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1700
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1805
msgid "User flag removed"
msgstr "移除用戶的標記警告"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1672
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1777
msgid "User flagged"
msgstr "給用戶標記警告"
#: templates/web/base/dashboard/index.html:54
#: templates/web/base/dashboard/index.html:58
-#, fuzzy
msgid "User has marked as fixed"
-msgstr "標註為解決"
+msgstr ""
#: templates/web/base/admin/users.html:5
msgid "User search finds matches in users' names and email addresses."
msgstr "用戶找到相符的å稱與電å­éƒµä»¶"
#: perllib/FixMyStreet/Cobrand/Default.pm:669
-#: perllib/FixMyStreet/Cobrand/Default.pm:723
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:398
+#: perllib/FixMyStreet/Cobrand/Default.pm:728
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:403
#: templates/web/base/admin/flagged.html:29 templates/web/zurich/header.html:61
msgid "Users"
msgstr "使用者"
@@ -4320,9 +4456,9 @@ msgstr "使用者"
msgid "Users can perform the following actions within their assigned body or area."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:400
-#: perllib/FixMyStreet/App/Controller/Admin.pm:430
-#: perllib/FixMyStreet/App/Controller/Admin.pm:448
+#: perllib/FixMyStreet/App/Controller/Admin.pm:381
+#: perllib/FixMyStreet/App/Controller/Admin.pm:417
+#: perllib/FixMyStreet/App/Controller/Admin.pm:439
msgid "Values updated"
msgstr "數值更新"
@@ -4369,7 +4505,7 @@ msgstr "本å€åŸŸæˆ‘們找到更多符åˆçš„資料,我們最多顯示å筆資
msgid "We found more than one match for that problem reference:"
msgstr ""
-#: templates/web/base/auth/general.html:6
+#: templates/web/base/auth/general.html:8
#: templates/web/base/report/display.html:35
#: templates/web/base/report/new/oauth_email_form.html:5
msgid "We need your email address, please give it below."
@@ -4404,7 +4540,7 @@ msgstr "我們會儘快回覆您"
msgid "What was your experience of getting the problem fixed?"
msgstr "你的申報使用體驗感想為? "
-#: templates/web/base/admin/category_edit.html:52
+#: templates/web/base/admin/category_edit.html:27
#: templates/web/zurich/admin/body.html:18
msgid "When edited"
msgstr "何時編輯 "
@@ -4413,11 +4549,19 @@ msgstr "何時編輯 "
msgid "When sent"
msgstr "何時é€å‡º"
-#: templates/web/base/report/_inspect.html:89
+#: templates/web/base/admin/extra-metadata-form.html:18
+msgid "Whether the user is required to provide a value for this field."
+msgstr ""
+
+#: templates/web/base/alert/_list.html:9
+msgid "Which problems do you want alerts about?"
+msgstr ""
+
+#: templates/web/base/report/_inspect.html:99
msgid "Which report is it a duplicate of?"
msgstr ""
-#: templates/web/base/js/translation_strings.html:54
+#: templates/web/base/js/translation_strings.html:57
msgid "Whoa there Testino! Three photos are enough."
msgstr ""
@@ -4425,8 +4569,8 @@ msgstr ""
msgid "Why stop there? <a href=\"/alert\">Set up more alerts</a> for free."
msgstr "為何在此å¡ä½ï¼Ÿå…è²»<a href=\"/alert\">設定更多訊æ¯é€šçŸ¥</a> "
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:185
-#: perllib/FixMyStreet/Cobrand/Zurich.pm:923
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:190
+#: perllib/FixMyStreet/Cobrand/Zurich.pm:928
#: templates/web/zurich/admin/header.html:1
#: templates/web/zurich/admin/header.html:14
msgid "Wish"
@@ -4436,7 +4580,7 @@ msgstr "願望"
msgid "With request searches, it is also possible to search for agency_responsible to limit the requests to those sent to a single administration. The search term is the administration ID provided by <a href=\"%s\">MaPit</a>."
msgstr "æœå°‹è¦æ±‚,也å¯èƒ½é™åˆ¶å–®ä¸€æ©Ÿæ§‹ä¸­æœå°‹ç›¸é—œæ¬Šè²¬å–®ä½ã€‚å…¶æœå°‹å­—眼為 <a href=\"%s\">MaPit</a>æä¾›çš„主管ID."
-#: templates/web/base/front/footer-marketing.html:17
+#: templates/web/base/front/footer-marketing.html:3
msgid "Would you like to contribute to FixMyStreet? Our code is open source and <a href=\"http://fixmystreet.org\">available at fixmystreet.org</a>."
msgstr "您願為FixMyStreetè²¢ç»å—Ž?這個一個開放原始碼,å¯å¾ž <a href=\"http://fixmystreet.org\">fixmystreet.org</a>官網進一步了解 "
@@ -4461,23 +4605,22 @@ msgstr ""
msgid "Year"
msgstr "年份"
-#: perllib/FixMyStreet/Cobrand/Default.pm:1202
+#: perllib/FixMyStreet/Cobrand/Default.pm:1236
#: templates/web/base/admin/bodies.html:70
-#: templates/web/base/admin/body.html:86 templates/web/base/admin/body.html:88
-#: templates/web/base/admin/body.html:92 templates/web/base/admin/body.html:94
#: templates/web/base/admin/category_edit.html:5
#: templates/web/base/admin/flagged.html:47
#: templates/web/base/admin/list_updates.html:32
#: templates/web/base/admin/list_updates.html:34
#: templates/web/base/admin/list_updates.html:35
#: templates/web/base/admin/problem_row.html:20
-#: templates/web/base/admin/report_edit.html:136
+#: templates/web/base/admin/report_edit.html:124
#: templates/web/base/admin/report_edit.html:95
#: templates/web/base/admin/update_edit.html:25
#: templates/web/base/admin/users.html:32
#: templates/web/base/questionnaire/creator_fixed.html:14
#: templates/web/base/questionnaire/index.html:104
#: templates/web/base/questionnaire/index.html:53
+#: templates/web/base/report/_inspect.html:90
msgid "Yes"
msgstr "是"
@@ -4490,7 +4633,7 @@ msgstr "我有密碼"
msgid "You are complaining that this problem report was unnecessarily moderated:"
msgstr "你申訴此å•題é­ä¸å¿…è¦ä¹‹å’Œè«§ã€€"
-#: templates/web/base/js/translation_strings.html:70
+#: templates/web/base/js/translation_strings.html:73
msgid "You are offline"
msgstr ""
@@ -4511,7 +4654,11 @@ msgstr "您å¯<a href=\"%s%s\">在本站上檢視å•題</a>."
msgid "You can add an abusive user's email to the abuse list, which automatically hides (and never sends) reports they create."
msgstr "您å¯ä»¥æ–°å¢žæŸä½ç”¨æˆ¶åˆ°æ¿«ç”¨è€…å單,它會自動隱è—(䏿œƒé€å‡º)該å用戶所æäº¤çš„申報 "
-#: templates/web/base/contact/index.html:111
+#: templates/web/base/alert/_list.html:18
+msgid "You can choose to subscribe to all problems reported in an area, or reports based on their destination."
+msgstr ""
+
+#: templates/web/base/contact/index.html:115
msgid "You can contact technical support on <a href='mailto:%s'>%s</a>"
msgstr "您å¯å¯«ä¿¡çµ¦<a href='mailto:%s'>%s</a>詢求技術支æ´ã€‚"
@@ -4532,7 +4679,7 @@ msgstr ""
msgid "You can help us by finding a contact email address for local problems for %s and emailing it to us at <a href='mailto:%s'>%s</a>."
msgstr "您å¯å”助我們找出當地å•題的承辦人員 %sé›»å­éƒµä»¶ï¼ŒæŠŠæ­¤è³‡è¨Šæä¾›çµ¦æˆ‘們<a href='mailto:%s'>%s</a>."
-#: templates/web/base/admin/body-form.html:91
+#: templates/web/base/admin/body-form.html:93
msgid "You can mark a body as deleted if you do not want it to be active on the site."
msgstr "您å¯ä»¥åˆªé™¤æŸä¸€å–®ä½å¦‚æžœä¸æƒ³è®“它在本站激活"
@@ -4540,7 +4687,7 @@ msgstr "您å¯ä»¥åˆªé™¤æŸä¸€å–®ä½å¦‚æžœä¸æƒ³è®“它在本站激活"
msgid "You declined; please fill in the box above"
msgstr "您å—到拒絕,請填寫上方表格。"
-#: templates/web/base/js/translation_strings.html:72
+#: templates/web/base/js/translation_strings.html:75
msgid "You have <a id=\"oFN\" href=\"\"><span>%s</span> saved to submit</a>."
msgstr ""
@@ -4548,7 +4695,7 @@ msgstr ""
msgid "You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"
msgstr "æ‚¨å·²å›žè¦†éŽæœ¬å•å·ã€‚如果您有å•題,請<href='%s'>ä¿æŒè¯çµ¡</a>, 或是<a href='%s'>檢視 您作的申報</a>\n"
-#: templates/web/base/report/new/form_report.html:37
+#: templates/web/base/report/new/form_report.html:39
#: templates/web/zurich/report/new/fill_in_details_form.html:30
msgid "You have already attached photos to this report. Note that you can attach a maximum of 3 to this report (if you try to upload more, the oldest will be removed)."
msgstr "在此申報中你已經附加了照片(注æ„你最多å¯é™„3張照片,如果你還想上傳更多張,原先的照片會被移除)"
@@ -4609,10 +4756,9 @@ msgstr "您的申報 "
msgid "Your account"
msgstr ""
-#: templates/web/base/alert/_list.html:90
#: templates/web/base/alert/updates.html:19
#: templates/web/base/alert/updates.html:22
-#: templates/web/base/contact/index.html:81
+#: templates/web/base/contact/index.html:80
#: templates/web/base/report/display_tools.html:46
#: templates/web/base/report/display_tools.html:49
#: templates/web/base/report/new/form_user_loggedout_email.html:1
@@ -4622,7 +4768,7 @@ msgid "Your email"
msgstr "您的電å­éƒµä»¶"
#: templates/web/base/auth/change_email.html:9
-#: templates/web/base/auth/general.html:55
+#: templates/web/base/auth/general.html:57
#: templates/web/base/report/update/form_user_loggedout_email.html:5
#: templates/web/zurich/auth/general.html:30
#: templates/web/zurich/auth/general.html:58
@@ -4633,21 +4779,32 @@ msgstr "您的電å­éƒµä»¶"
msgid "Your information will only be used in accordance with our <a href=\"/privacy\">privacy policy</a>"
msgstr "您的個人資料,將會ä¾ç…§<a href=\"/privacy\">æœ¬ç«™éš±ç§æ¬Šæ”¿ç­–</a>作處ç†ä½¿ç”¨"
-#: templates/web/base/auth/general.html:107
+#: templates/web/base/auth/general.html:109
#: templates/web/base/contact/index.html:74
#: templates/web/base/report/new/form_user_loggedout_by_email.html:17
-#: templates/web/base/report/update/form_name.html:29
+#: templates/web/base/report/update/form_name.html:33
#: templates/web/zurich/auth/general.html:61
#: templates/web/zurich/report/new/fill_in_details_form.html:63
msgid "Your name"
msgstr "å§“å"
-#: templates/web/base/js/translation_strings.html:62
-#, fuzzy
+#: templates/web/base/my/anonymize.html:13
+msgid "Your name has already been sent to %s, but we can hide it on this page:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:264
+msgid "Your name has been hidden from all your reports and updates."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/My.pm:260
+msgid "Your name has been hidden."
+msgstr ""
+
+#: templates/web/base/js/translation_strings.html:65
msgid "Your offline reports"
-msgstr "你作的申報"
+msgstr ""
-#: templates/web/base/auth/general.html:85
+#: templates/web/base/auth/general.html:87
#: templates/web/base/report/new/form_user_loggedout_password.html:10
#: templates/web/base/report/update/form_user_loggedout_password.html:9
#: templates/web/zurich/auth/general.html:34
@@ -4658,6 +4815,7 @@ msgstr "密碼"
msgid "Your password has been changed"
msgstr "密碼已更新"
+#: templates/web/base/contact/index.html:87
#: templates/web/base/report/new/form_user_loggedout_by_email.html:26
#: templates/web/zurich/report/new/fill_in_details_form.html:69
msgid "Your phone number"
@@ -4676,7 +4834,7 @@ msgstr "你作的申報"
msgid "Your shortlist"
msgstr ""
-#: templates/web/base/js/translation_strings.html:63
+#: templates/web/base/js/translation_strings.html:66
msgid "Your update has been saved offline for submission when back online."
msgstr ""
@@ -4684,8 +4842,8 @@ msgstr ""
msgid "Your updates"
msgstr "æ›´æ–°"
-#: templates/web/base/report/new/form_user_loggedin.html:18
-#: templates/web/base/report/update/form_name.html:11
+#: templates/web/base/report/new/form_user_loggedin.html:19
+#: templates/web/base/report/update/form_name.html:12
msgid "Yourself"
msgstr ""
@@ -4694,14 +4852,14 @@ msgstr ""
msgid "all"
msgstr ""
+#: perllib/FixMyStreet/DB/Result/Comment.pm:259
+msgid "and a defect raised"
+msgstr ""
+
#: templates/web/base/admin/timeline.html:4
msgid "by %s"
msgstr "ç”± %s"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:290
-msgid "closed as a duplicate report"
-msgstr "標註為é‡è¦†ä¹‹ç”³å ±"
-
#: templates/web/base/reports/body.html:6
#: templates/web/base/reports/body.html:7
msgid "council"
@@ -4726,7 +4884,7 @@ msgstr "用戶編輯"
msgid "from %s different users"
msgstr "從ä¸åŒçš„用戶%s "
-#: templates/web/base/report/_item.html:61
+#: templates/web/base/report/_item.html:63
#: templates/web/zurich/report/_item.html:14
msgid "last updated %s"
msgstr "%s上回更新:"
@@ -4735,44 +4893,7 @@ msgstr "%s上回更新:"
msgid "less than a minute"
msgstr "少於一分é˜"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:280
-msgid "marked as action scheduled"
-msgstr "標註為排程行動"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:292
-msgid "marked as an internal referral"
-msgstr "標註為內部推薦"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:282
-msgid "marked as closed"
-msgstr "標註為關閉"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:263
-#: perllib/FixMyStreet/DB/Result/Comment.pm:284
-msgid "marked as fixed"
-msgstr "標註為解決"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:278
-msgid "marked as in progress"
-msgstr "標註為處ç†ä¸­"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:274
-msgid "marked as investigating"
-msgstr "標註為調查中"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:286
-msgid "marked as no further action"
-msgstr "標註為無法解決"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:288
-msgid "marked as not the council's responsibility"
-msgstr "æ¨™è¨»ç‚ºéžæœ¬å€æ”¿åºœè·è²¬ç¯„åœ"
-
-#: perllib/FixMyStreet/DB/Result/Comment.pm:276
-msgid "marked as planned"
-msgstr "標註為己è¦ç•«"
-
-#: perllib/FixMyStreet/App/Controller/Admin.pm:122
+#: perllib/FixMyStreet/App/Controller/Admin.pm:119
#: templates/web/base/admin/questionnaire.html:15
#: templates/web/base/admin/questionnaire.html:16
msgid "n/a"
@@ -4783,13 +4904,10 @@ msgstr "ä¸é©ç”¨"
msgid "none"
msgstr ""
-#: templates/web/base/admin/category_edit.html:35
-msgid "optional"
-msgstr ""
-
-#: templates/web/base/alert/_list.html:86
-msgid "or"
-msgstr "或"
+#: perllib/FixMyStreet/DB/Result/Comment.pm:278
+#, fuzzy
+msgid "not the council's responsibility"
+msgstr "æ¨™è¨»ç‚ºéžæœ¬å€æ”¿åºœè·è²¬ç¯„åœ"
#: templates/web/base/js/translation_strings.html:27
msgid "or locate me automatically"
@@ -4814,16 +4932,7 @@ msgstr "原始輸入者"
msgid "other areas:"
msgstr "其它地å€:"
-#: perllib/FixMyStreet/DB/Result/Comment.pm:265
-#: perllib/FixMyStreet/DB/Result/Comment.pm:271
-msgid "reopened"
-msgstr "é‡å•Ÿç”³å ±"
-
-#: templates/web/base/admin/category_edit.html:35
-msgid "required"
-msgstr ""
-
-#: templates/web/zurich/footer.html:13
+#: templates/web/zurich/footer.html:12
msgid "sign out"
msgstr "登出"
@@ -4831,11 +4940,16 @@ msgstr "登出"
msgid "the local council"
msgstr "當地地府"
-#: templates/web/base/report/_report_meta_info.html:2
+#: templates/web/base/report/_report_meta_info.html:5
#: templates/web/zurich/report/_main.html:5
msgid "there is no pin shown as the user did not use the map"
msgstr "地圖上無標記,用戶未使用地圖"
+#: templates/web/base/alert/_list.html:1
+#, fuzzy
+msgid "this location"
+msgstr "檢視地å€"
+
#: perllib/FixMyStreet/Script/Reports.pm:184
msgid "this type of local problem"
msgstr "此類在地å•題"
@@ -4844,15 +4958,13 @@ msgstr "此類在地å•題"
msgid "today"
msgstr "今天"
-#: templates/web/base/js/translation_strings.html:73
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:76
msgid "update"
-msgstr "æ›´æ–°"
+msgstr ""
-#: templates/web/base/js/translation_strings.html:74
-#, fuzzy
+#: templates/web/base/js/translation_strings.html:77
msgid "updates"
-msgstr "æ›´æ–°"
+msgstr ""
#: templates/web/base/admin/report_edit.html:52
msgid "used map"
@@ -4896,10 +5008,10 @@ msgid_plural "%d minutes"
msgstr[0] "%d åˆ†é˜æ•¸"
#: perllib/Utils.pm:246
-#, fuzzy, perl-format
+#, perl-format
msgid "%d month"
msgid_plural "%d months"
-msgstr[0] "%d åˆ†é˜æ•¸"
+msgstr[0] ""
#: templates/web/base/report/_support.html:6
#, perl-format
@@ -4919,6 +5031,36 @@ msgid "%d year"
msgid_plural "%d years"
msgstr[0] ""
+#: templates/web/base/reports/index.html:92
+#, perl-format
+msgid "%s day"
+msgid_plural "%s days"
+msgstr[0] ""
+
+#: templates/web/base/reports/index.html:55
+#, perl-format
+msgid "%s problem marked as fixed"
+msgid_plural "%s problems marked as fixed"
+msgstr[0] ""
+
+#: templates/web/base/reports/index.html:43
+#, perl-format
+msgid "%s problem reported"
+msgid_plural "%s problems reported"
+msgstr[0] ""
+
+#: templates/web/base/reports/index.html:107
+#, perl-format
+msgid "%s report"
+msgid_plural "%s reports"
+msgstr[0] ""
+
+#: templates/web/base/reports/index.html:49
+#, perl-format
+msgid "%s update on problems"
+msgid_plural "%s updates on problems"
+msgstr[0] ""
+
#: templates/web/base/front/stats.html:19
#, perl-format
msgid "<big>%s</big> fixed in past month"
@@ -4943,11 +5085,11 @@ msgid "<big>%s</big> update on reports"
msgid_plural "<big>%s</big> updates on reports"
msgstr[0] "<big>%s</big> 更新申報"
-#: templates/web/base/report/_item.html:49
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:51
+#, perl-format
msgid "Reported %d day ago"
msgid_plural "Reported %d days ago"
-msgstr[0] "由%s 的 %s 申報"
+msgstr[0] ""
#: templates/web/base/report/new/top_message_some.html:3
#, perl-format
@@ -4961,34 +5103,124 @@ msgid "We do not yet have details for the council that covers this location."
msgid_plural "We do not yet have details for the councils that cover this location."
msgstr[0] "我們尚未有該å€åŸŸè² è²¬å–®ä½ä¹‹ç´°ç¯€ã€€"
-#: templates/web/base/report/_item.html:59
-#, fuzzy, perl-format
+#: templates/web/base/report/_item.html:61
+#, perl-format
msgid "last updated %d day ago"
msgid_plural "last updated %d days ago"
-msgstr[0] "%s上回更新:"
+msgstr[0] ""
#: templates/email/oxfordshire/archive.txt:9
-#, fuzzy, perl-format
+#, perl-format
msgid "report"
msgid_plural "reports"
-msgstr[0] "æå ±ã€€"
+msgstr[0] ""
-#, fuzzy
-#~ msgid "All inspectors"
-#~ msgstr "所有事件申報"
+#~ msgid ""
+#~ "%s sends different categories of problem\n"
+#~ "to the appropriate council, so problems within the boundary of a particular council\n"
+#~ "might not match the problems sent to that council. For example, a graffiti report\n"
+#~ "will be sent to the district council, so will appear in both of the district\n"
+#~ "council&rsquo;s alerts, but will only appear in the \"Within the boundary\" alert\n"
+#~ "for the county council."
+#~ msgstr ""
+#~ "%sé€å‡ºä¸åŒé¡žåˆ¥çš„å•題申報給\n"
+#~ "é©å®œçš„地方政府機關,如果å•é¡Œç™¼ç”Ÿåœ¨æŸæ”¿åºœçš„轄å€å…§\n"
+#~ "é€™æ¨£è™•ç†æˆ–許的確é©ç•¶ã€‚例如,塗鴉å•題將\n"
+#~ "申報給里/倿©Ÿæ§‹ï¼Œæ‰€ä»¥æœƒåœ¨é‡Œ/倿©Ÿé—œçš„通告上\n"
+#~ "è€Œåœ¨åœ°æ–¹æ”¿åºœçš„å…¬å‘Šç‰ˆä¸Šåªæœƒå‡ºç¾åœ¨è½„內通知上"
-#, fuzzy
-#~ msgid "External ID:"
-#~ msgstr "外部網å€"
+#~ msgid "%s ward, %s"
+#~ msgstr "%s 里/å€, %s "
-#, fuzzy
-#~ msgid "Report category:"
-#~ msgstr "創建類別"
+#~ msgid "%s, within %s ward"
+#~ msgstr "%s, 在%s 里/å€"
-#, fuzzy
-#~ msgid "Reported %d days ago"
-#~ msgstr "由%s 的 %s 申報"
+#~ msgid "(alternatively the RSS feed can be customised, within %s)"
+#~ msgstr "或å¯åœ¨ %så¦å¤–修改自定RSS訂閱"
-#, fuzzy
-#~ msgid "last updated %d days ago"
-#~ msgstr "%s上回更新:"
+#~ msgid "-- Pick a property type --"
+#~ msgstr "鏿“‡å…¬ç‰©ç¨®é¡ž"
+
+#~ msgid "Closed reports"
+#~ msgstr "完çµä¹‹ç”³å ± "
+
+#~ msgid "Closed:"
+#~ msgstr "關閉:"
+
+#~ msgid "Duplicate"
+#~ msgstr "複製 "
+
+#~ msgid "Fixed reports"
+#~ msgstr "已處ç†ä¹‹ç”³å ±ã€€"
+
+#~ msgid "Fixed:"
+#~ msgstr "已處ç†:"
+
+#~ msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
+#~ msgstr "此為在地å•題的種類 &lsquo;%s&rsquo;."
+
+#~ msgid "In Progress"
+#~ msgstr "處ç†ä¸­"
+
+#~ msgid "Internal referral"
+#~ msgstr "內部推薦"
+
+#~ msgid "Investigating"
+#~ msgstr "調查中"
+
+#~ msgid "No further action"
+#~ msgstr "無法修復"
+
+#~ msgid "Not Responsible"
+#~ msgstr "無責任歸屬"
+
+#~ msgid "Or problems reported to:"
+#~ msgstr "或將此å•題 申報給:"
+
+#~ msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
+#~ msgstr "您å¯ä»¥è¨‚閱 里/å€å…§çš„æ›´æ–°é€šçŸ¥"
+
+#~ msgid "Please choose a property type"
+#~ msgstr "鏿“‡å…¬ç‰©ç¨®é¡ž"
+
+#~ msgid "Problems within the boundary of:"
+#~ msgstr "在 範åœå…§çš„å•題"
+
+#~ msgid "Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
+#~ msgstr "鏿“‡æ‚¨è¦æƒ³çš„é€šçŸ¥æ–¹å¼æˆ–點é¸RSS訂閱按鈕,或者輸入您的電å­éƒµä»¶ä»¥æ”¶å—通知。"
+
+#~ msgid "The simplest alert is our geographic one:"
+#~ msgstr "您的更新出錯,請å†è©¦ä¸€æ¬¡ã€‚"
+
+#~ msgid "closed as a duplicate report"
+#~ msgstr "標註為é‡è¦†ä¹‹ç”³å ±"
+
+#~ msgid "marked as action scheduled"
+#~ msgstr "標註為排程行動"
+
+#~ msgid "marked as an internal referral"
+#~ msgstr "標註為內部推薦"
+
+#~ msgid "marked as closed"
+#~ msgstr "標註為關閉"
+
+#~ msgid "marked as fixed"
+#~ msgstr "標註為解決"
+
+#~ msgid "marked as in progress"
+#~ msgstr "標註為處ç†ä¸­"
+
+#~ msgid "marked as investigating"
+#~ msgstr "標註為調查中"
+
+#~ msgid "marked as no further action"
+#~ msgstr "標註為無法解決"
+
+#~ msgid "marked as planned"
+#~ msgstr "標註為己è¦ç•«"
+
+#~ msgid "or"
+#~ msgstr "或"
+
+#~ msgid "reopened"
+#~ msgstr "é‡å•Ÿç”³å ±"
diff --git a/perllib/Catalyst/Plugin/Compress/Gzip.pm b/perllib/Catalyst/Plugin/Compress/Gzip.pm
deleted file mode 100644
index 06532c84c..000000000
--- a/perllib/Catalyst/Plugin/Compress/Gzip.pm
+++ /dev/null
@@ -1,82 +0,0 @@
-package Catalyst::Plugin::Compress::Gzip;
-use strict;
-use warnings;
-use MRO::Compat;
-
-use Compress::Zlib ();
-
-sub finalize_headers {
- my $c = shift;
-
- if ( $c->response->content_encoding ) {
- return $c->next::method(@_);
- }
-
- unless ( $c->response->body ) {
- return $c->next::method(@_);
- }
-
- unless ( $c->response->status == 200 ) {
- return $c->next::method(@_);
- }
-
- unless ( $c->response->content_type =~ /^text|xml$|javascript$/ ) {
- return $c->next::method(@_);
- }
-
- my $accept = $c->request->header('Accept-Encoding') || '';
-
- unless ( index( $accept, "gzip" ) >= 0 ) {
- return $c->next::method(@_);
- }
-
-
- my $body = $c->response->body;
- eval { local $/; $body = <$body> } if ref $body;
- die "Response body is an unsupported kind of reference" if ref $body;
-
- $c->response->body( Compress::Zlib::memGzip( $body ) );
- $c->response->content_length( length( $c->response->body ) );
- $c->response->content_encoding('gzip');
- $c->response->headers->push_header( 'Vary', 'Accept-Encoding' );
-
- $c->next::method(@_);
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-Catalyst::Plugin::Compress::Gzip - Gzip response
-
-=head1 SYNOPSIS
-
- use Catalyst qw[Compress::Gzip];
-
-
-=head1 DESCRIPTION
-
-Gzip compress response if client supports it. Changed from CPAN version to
-overload finalize_headers, rather than finalize.
-
-=head1 METHODS
-
-=head2 finalize_headers
-
-=head1 SEE ALSO
-
-L<Catalyst>.
-
-=head1 AUTHOR
-
-Christian Hansen, C<ch@ngmedia.com>
-Matthew Somerville.
-
-=head1 LICENSE
-
-This library is free software . You can redistribute it and/or modify it under
-the same terms as perl itself.
-
-=cut
diff --git a/perllib/Catalyst/TraitFor/Model/DBIC/Schema/QueryLog/AdoptPlack.pm b/perllib/Catalyst/TraitFor/Model/DBIC/Schema/QueryLog/AdoptPlack.pm
new file mode 100644
index 000000000..22509568e
--- /dev/null
+++ b/perllib/Catalyst/TraitFor/Model/DBIC/Schema/QueryLog/AdoptPlack.pm
@@ -0,0 +1,128 @@
+# Local version to clone schema in enable_dbic_querylogging
+
+package Catalyst::TraitFor::Model::DBIC::Schema::QueryLog::AdoptPlack;
+our $VERSION = "0.07";
+
+use 5.008004;
+use Moose::Role;
+use Plack::Middleware::DBIC::QueryLog;
+use Scalar::Util 'blessed';
+
+with 'Catalyst::Component::InstancePerContext';
+
+requires 'storage';
+
+has show_missing_ql_warning => (is=>'rw', default=>1);
+
+sub get_querylog_from_env {
+ my ($self, $env) = @_;
+ return Plack::Middleware::DBIC::QueryLog->get_querylog_from_env($env);
+}
+
+sub infer_env_from {
+ my ($self, $ctx) = @_;
+ if($ctx->engine->can('env')) {
+ return $ctx->engine->env;
+ } elsif($ctx->request->can('env')) {
+ return $ctx->request->env;
+ } else { return }
+}
+
+sub enable_dbic_querylogging {
+ my ($self, $querylog) = @_;
+ my $clone = $self->clone;
+ $clone->storage->debugobj($querylog);
+ $clone->storage->debug(1);
+}
+
+sub die_missing_querylog {
+ shift->show_missing_ql_warning(0);
+ die <<DEAD;
+You asked me to querylog DBIC, but there is no querylog object in the Plack
+\$env. You probably forgot to enable Plack::Middleware::Debug::DBIC::QueryLog
+in your debugging panel.
+DEAD
+}
+
+sub die_not_plack {
+ die "Not a Plack Engine or compatible interface!"
+}
+
+sub build_per_context_instance {
+ my ( $self, $ctx ) = @_;
+ return $self unless blessed($ctx);
+
+ if(my $env = $self->infer_env_from($ctx)) {
+ if(my $querylog = $self->get_querylog_from_env($env)) {
+ $self->enable_dbic_querylogging($querylog);
+ } else {
+ $self->die_missing_querylog() if
+ $self->show_missing_ql_warning;
+ }
+ } else {
+ die_not_plack();
+ }
+
+ return $self;
+}
+
+1;
+
+=head1 NAME
+
+Catalyst::TraitFor::Model::DBIC::Schema::QueryLog::AdoptPlack - Use a Plack Middleware QueryLog
+
+=head1 SYNOPSIS
+
+ package MyApp::Web::Model::Schema;
+ use parent 'Catalyst::Model::DBIC::Schema';
+
+ __PACKAGE__->config({
+ schema_class => 'MyApp::Schema',
+ traits => ['QueryLog::AdoptPlack'],
+ ## .. rest of configuration
+ });
+
+=head1 DESCRIPTION
+
+This is a trait for L<Catalyst::Model::DBIC::Schema> which adopts a L<Plack>
+created L<DBIx::Class::QueryLog> and logs SQL for a given request cycle. It is
+intended to be compatible with L<Catalyst::TraitFor::Model::DBIC::Schema::QueryLog>
+which you may already be using.
+
+It picks up the querylog from C<< $env->{'plack.middleware.dbic.querylog'} >>
+or from C<< $env->{'plack.middleware.debug.dbic.querylog'} >> which is generally
+provided by the L<Plack> middleware L<Plack::Middleware::Debug::DBIC::QueryLog>
+In fact you will probably use these two modules together. Please see the documentation
+in L<Plack::Middleware::Debug::DBIC::QueryLog> for an example.
+
+PLEASE NOTE: Starting with the 0.04 version of L<Plack::Middleware::Debug::DBIC::QueryLog>
+we will canonicalize on C<< $env->{'plack.middleware.dbic.querylog'} >>. For now
+both listed keys will work, but within a release or two the older key will warn and
+prompt you to upgrade your version of L<Plack::Middleware::Debug::DBIC::QueryLog>.
+Sorry for the trouble.
+
+=head1 SEE ALSO
+
+L<Plack::Middleware::Debug::DBIC::QueryLog>,
+L<Catalyst::TraitFor::Model::DBIC::Schema::QueryLog>,
+L<Catalyst::Model::DBIC::Schema>,
+L<Plack::Middleware::Debug>
+
+=head1 ACKNOWLEGEMENTS
+
+This code inspired from L<Catalyst::TraitFor::Model::DBIC::Schema::QueryLog>
+and the author owes a debt of gratitude for the original authors.
+
+=head1 AUTHOR
+
+John Napiorkowski, C<< <jjnapiork@cpan.org> >>
+
+=head1 COPYRIGHT & LICENSE
+
+Copyright 2012, John Napiorkowski
+
+This program is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
diff --git a/perllib/FixMyStreet.pm b/perllib/FixMyStreet.pm
index 1f4579293..b3d963074 100644
--- a/perllib/FixMyStreet.pm
+++ b/perllib/FixMyStreet.pm
@@ -11,7 +11,6 @@ use Readonly;
use Sub::Override;
use mySociety::Config;
-use mySociety::DBHandle;
my $CONF_FILE = $ENV{FMS_OVERRIDE_CONFIG} || 'general';
@@ -135,9 +134,6 @@ Most of the values are read from the config file and others are hordcoded here.
#
# we use the one that is most similar to DBI's connect.
-# FIXME - should we just use mySociety::DBHandle? will that lead to AutoCommit
-# woes (we want it on, it sets it to off)?
-
sub dbic_connect_info {
my $class = shift;
my $config = $class->config;
@@ -161,35 +157,6 @@ sub dbic_connect_info {
return ( $dsn, $user, $password, $dbi_args, $dbic_args );
}
-=head2 configure_mysociety_dbhandle
-
- FixMyStreet->configure_mysociety_dbhandle();
-
-Calls configure in mySociety::DBHandle with args from the config. We need to do
-this so that old code that uses mySociety::DBHandle finds it properly set up. We
-can't (might not) be able to share the handle as DBIx::Class wants it with
-AutoCommit on (so that its transaction code can be used in preference to calling
-begin and commit manually) and mySociety::* code does not.
-
-This should be fixed/standardized to avoid having two database handles floating
-around.
-
-=cut
-
-sub configure_mysociety_dbhandle {
- my $class = shift;
- my $config = $class->config;
-
- mySociety::DBHandle::configure(
- Name => $config->{FMS_DB_NAME},
- User => $config->{FMS_DB_USER},
- Password => $config->{FMS_DB_PASS},
- Host => $config->{FMS_DB_HOST} || undef,
- Port => $config->{FMS_DB_PORT} || undef,
- );
-
-}
-
my $tz;
my $tz_f;
@@ -210,6 +177,7 @@ sub set_time_zone {
my $tz_f = time_zone();
$dt->set_time_zone($tz);
$dt->set_time_zone($tz_f) if $tz_f;
+ return $dt;
}
# Development functions
diff --git a/perllib/FixMyStreet/App.pm b/perllib/FixMyStreet/App.pm
index 35e8c2537..a0477ca40 100644
--- a/perllib/FixMyStreet/App.pm
+++ b/perllib/FixMyStreet/App.pm
@@ -25,7 +25,6 @@ use Catalyst (
'Session::State::Cookie', # FIXME - we're using our own override atm
'Authentication',
'SmartURI',
- 'Compress::Gzip',
);
extends 'Catalyst';
@@ -168,9 +167,13 @@ template paths, maps, languages etc, etc.
sub setup_request {
my $c = shift;
+ # Set the Catalyst model schema to the same as the DB schema
+ $c->model("DB")->schema( FixMyStreet::DB->schema );
+
$c->setup_dev_overrides();
my $cobrand = $c->cobrand;
+ FixMyStreet::DB->schema->cobrand($cobrand);
$cobrand->call_hook('add_response_headers');
@@ -200,6 +203,10 @@ sub setup_request {
$c->stash->{site_name} = Utils::trim_text($c->render_fragment('site-name.html'));
+ if (my $template = $c->forward('/about/find_template', [ 'homepage' ])) {
+ $c->stash->{homepage_template} = $template;
+ }
+
$c->model('DB::Problem')->set_restriction( $cobrand->site_key() );
Memcached::set_namespace( FixMyStreet->config('FMS_DB_NAME') . ":" );
@@ -212,11 +219,8 @@ sub setup_request {
mySociety::MaPit::configure( "http://$host/fakemapit/" );
}
- # XXX Put in cobrand / do properly
- if ($c->cobrand->moniker eq 'zurich') {
- FixMyStreet::DB::Result::Problem->visible_states_add('unconfirmed');
- FixMyStreet::DB::Result::Problem->visible_states_remove('investigating');
- }
+ $c->stash->{has_fixed_state} = FixMyStreet::DB::Result::Problem::fixed_states->{fixed};
+ $c->cobrand->call_hook('setup_states');
if (FixMyStreet->test_mode) {
# Is there a better way of altering $c->config that may have
@@ -293,7 +297,7 @@ sub get_override {
=head2 send_email
- $email_sent = $c->send_email( 'email_template.txt', $extra_stash_values );
+ $success = $c->send_email( 'email_template.txt', $extra_stash_values );
Send an email by filling in the given template with values in the stash.
@@ -305,6 +309,8 @@ set those fields in the email if they are present.
If a 'from' is not specified then the default from the config is used.
+Returns the email on success, false on failure.
+
=cut
sub send_email {
@@ -349,14 +355,15 @@ sub send_email {
my $email = mySociety::Locale::in_gb_locale { FixMyStreet::Email::construct_email($data) };
+ my $result = 0;
try {
FixMyStreet::Email::Sender->send($email, { from => $sender });
+ $result = $email;
} catch {
my $error = $_ || 'unknown error';
$c->log->error("$error");
};
-
- return $email;
+ return $result;
}
=head2 uri_with
diff --git a/perllib/FixMyStreet/App/Controller/About.pm b/perllib/FixMyStreet/App/Controller/About.pm
index 78e548c5f..233da25d3 100755
--- a/perllib/FixMyStreet/App/Controller/About.pm
+++ b/perllib/FixMyStreet/App/Controller/About.pm
@@ -34,22 +34,24 @@ sub index : Path("/about") : Args(0) {
sub find_template : Private {
my ( $self, $c, $page ) = @_;
- return $found{$page} if !FixMyStreet->config('STAGING_SITE') && exists $found{$page};
-
my $lang_code = $c->stash->{lang_code};
+
+ return $found{$lang_code}{$page} if !FixMyStreet->config('STAGING_SITE') &&
+ exists $found{$lang_code}{$page};
+
foreach my $dir_templates (@{$c->stash->{additional_template_paths}}, @{$c->view('Web')->paths}) {
foreach my $dir_static (static_dirs($page, $dir_templates)) {
foreach my $file ("$page-$lang_code.html", "$page.html") {
if (-e "$dir_templates/$dir_static/$file") {
- $found{$page} = "$dir_static/$file";
- return $found{$page};
+ $found{$lang_code}{$page} = "$dir_static/$file";
+ return $found{$lang_code}{$page};
}
}
}
}
# Cache that the page does not exist, so we don't look next time
- $found{$page} = undef;
- return $found{$page};
+ $found{$lang_code}{$page} = undef;
+ return $found{$lang_code}{$page};
}
sub static_dirs {
diff --git a/perllib/FixMyStreet/App/Controller/Admin.pm b/perllib/FixMyStreet/App/Controller/Admin.pm
index 1f3307710..ed40f4565 100644
--- a/perllib/FixMyStreet/App/Controller/Admin.pm
+++ b/perllib/FixMyStreet/App/Controller/Admin.pm
@@ -8,9 +8,10 @@ use Path::Class;
use POSIX qw(strftime strcoll);
use Digest::SHA qw(sha1_hex);
use mySociety::EmailUtil qw(is_valid_email is_valid_email_list);
-use mySociety::ArrayUtils;
use DateTime::Format::Strptime;
use List::Util 'first';
+use List::MoreUtils 'uniq';
+use mySociety::ArrayUtils;
use FixMyStreet::SendReport;
@@ -26,7 +27,7 @@ Admin pages
=cut
-sub begin : Private {
+sub auto : Private {
my ( $self, $c ) = @_;
$c->uri_disposition('relative');
@@ -43,10 +44,6 @@ sub begin : Private {
if ( $c->cobrand->moniker eq 'zurich' ) {
$c->cobrand->admin_type();
}
-}
-
-sub auto : Private {
- my ( $self, $c ) = @_;
$c->forward('check_page_allowed');
}
@@ -97,11 +94,11 @@ sub index : Path : Args(0) {
my $contacts = $c->model('DB::Contact')->summary_count();
my %contact_counts =
- map { $_->confirmed => $_->get_column('confirmed_count') } $contacts->all;
+ map { $_->state => $_->get_column('state_count') } $contacts->all;
- $contact_counts{0} ||= 0;
- $contact_counts{1} ||= 0;
- $contact_counts{total} = $contact_counts{0} + $contact_counts{1};
+ $contact_counts{confirmed} ||= 0;
+ $contact_counts{unconfirmed} ||= 0;
+ $contact_counts{total} = $contact_counts{confirmed} + $contact_counts{unconfirmed};
$c->stash->{contacts} = \%contact_counts;
@@ -243,6 +240,9 @@ sub bodies : Path('bodies') : Args(0) {
$c->stash->{edit_activity} = $edit_activity;
+ $c->forward( 'fetch_languages' );
+ $c->forward( 'fetch_translations' );
+
my $posted = $c->get_param('posted') || '';
if ( $posted eq 'body' ) {
$c->forward('check_for_super_user');
@@ -256,6 +256,9 @@ sub bodies : Path('bodies') : Args(0) {
$c->model('DB::BodyArea')->create( { body => $body, area_id => $_ } );
}
+ $c->stash->{object} = $body;
+ $c->stash->{translation_col} = 'name';
+ $c->forward('update_translations');
$c->stash->{updated} = _('New body added');
}
}
@@ -265,8 +268,8 @@ sub bodies : Path('bodies') : Args(0) {
my $contacts = $c->model('DB::Contact')->search(
undef,
{
- select => [ 'body_id', { count => 'id' }, { count => \'case when deleted then 1 else null end' },
- { count => \'case when confirmed then 1 else null end' } ],
+ select => [ 'body_id', { count => 'id' }, { count => \'case when state = \'deleted\' then 1 else null end' },
+ { count => \'case when state = \'confirmed\' then 1 else null end' } ],
as => [qw/body_id c deleted confirmed/],
group_by => [ 'body_id' ],
result_class => 'DBIx::Class::ResultClass::HashRefInflator'
@@ -299,30 +302,6 @@ sub body_form_dropdowns : Private {
$c->stash->{send_methods} = \@methods;
}
-sub body : Path('body') : Args(1) {
- my ( $self, $c, $body_id ) = @_;
-
- $c->stash->{body_id} = $body_id;
-
- unless ($c->user->has_permission_to('category_edit', $body_id)) {
- $c->forward('check_for_super_user');
- }
-
- $c->forward( '/auth/get_csrf_token' );
- $c->forward( 'lookup_body' );
- $c->forward( 'fetch_all_bodies' );
- $c->forward( 'body_form_dropdowns' );
-
- if ( $c->get_param('posted') ) {
- $c->log->debug( 'posted' );
- $c->forward('update_contacts');
- }
-
- $c->forward('fetch_contacts');
-
- return 1;
-}
-
sub check_for_super_user : Private {
my ( $self, $c ) = @_;
@@ -365,8 +344,7 @@ sub update_contacts : Private {
}
$contact->email( $email );
- $contact->confirmed( $c->get_param('confirmed') ? 1 : 0 );
- $contact->deleted( $c->get_param('deleted') ? 1 : 0 );
+ $contact->state( $c->get_param('state') );
$contact->non_public( $c->get_param('non_public') ? 1 : 0 );
$contact->note( $c->get_param('note') );
$contact->whenedited( \'current_timestamp' );
@@ -393,6 +371,8 @@ sub update_contacts : Private {
$contact->set_extra_metadata( reputation_threshold => int($c->get_param('reputation_threshold')) );
}
+ $c->forward('update_extra_fields', [ $contact ]);
+
if ( %errors ) {
$c->stash->{updated} = _('Please correct the errors below');
$c->stash->{contact} = $contact;
@@ -407,6 +387,12 @@ sub update_contacts : Private {
$contact->insert;
}
+ unless ( %errors ) {
+ $c->stash->{translation_col} = 'category';
+ $c->stash->{object} = $contact;
+ $c->forward('update_translations');
+ }
+
} elsif ( $posted eq 'update' ) {
$c->forward('/auth/check_csrf_token');
@@ -421,7 +407,7 @@ sub update_contacts : Private {
$contacts->update(
{
- confirmed => 1,
+ state => 'confirmed',
whenedited => \'current_timestamp',
note => 'Confirmed',
editor => $editor,
@@ -446,11 +432,43 @@ sub update_contacts : Private {
# Remove any others
$c->stash->{body}->body_areas->search( { area_id => [ keys %current ] } )->delete;
+ $c->stash->{translation_col} = 'name';
+ $c->stash->{object} = $c->stash->{body};
+ $c->forward('update_translations');
+
$c->stash->{updated} = _('Values updated');
}
}
}
+sub update_translations : Private {
+ my ( $self, $c ) = @_;
+
+ foreach my $lang (keys(%{$c->stash->{languages}})) {
+ my $id = $c->get_param('translation_id_' . $lang);
+ my $text = $c->get_param('translation_' . $lang);
+ if ($id) {
+ my $translation = $c->model('DB::Translation')->find(
+ {
+ id => $id,
+ }
+ );
+
+ if ($text) {
+ $translation->msgstr($text);
+ $translation->update;
+ } else {
+ $translation->delete;
+ }
+ } elsif ($text) {
+ my $col = $c->stash->{translation_col};
+ $c->stash->{object}->add_translation_for(
+ $col, $lang, $text
+ );
+ }
+ }
+}
+
sub body_params : Private {
my ( $self, $c ) = @_;
@@ -485,8 +503,8 @@ sub fetch_contacts : Private {
my $contacts = $c->stash->{body}->contacts->search(undef, { order_by => [ 'category' ] } );
$c->stash->{contacts} = $contacts;
- $c->stash->{live_contacts} = $contacts->search({ deleted => 0 });
- $c->stash->{any_not_confirmed} = $contacts->search({ confirmed => 0 })->count;
+ $c->stash->{live_contacts} = $contacts->search({ state => { '!=' => 'deleted' } });
+ $c->stash->{any_not_confirmed} = $contacts->search({ state => 'unconfirmed' })->count;
if ( $c->get_param('text') && $c->get_param('text') eq '1' ) {
$c->stash->{template} = 'admin/council_contacts.txt';
@@ -497,10 +515,48 @@ sub fetch_contacts : Private {
return 1;
}
-sub lookup_body : Private {
+sub fetch_languages : Private {
my ( $self, $c ) = @_;
- my $body_id = $c->stash->{body_id};
+ my $lang_map = {};
+ foreach my $lang (@{$c->cobrand->languages}) {
+ my ($id, $name, $code) = split(',', $lang);
+ $lang_map->{$id} = { name => $name, code => $code };
+ }
+
+ $c->stash->{languages} = $lang_map;
+
+ return 1;
+}
+
+sub fetch_translations : Private {
+ my ( $self, $c ) = @_;
+
+ my $translations = {};
+ if ($c->get_param('posted')) {
+ foreach my $lang (keys %{$c->stash->{languages}}) {
+ if (my $msgstr = $c->get_param('translation_' . $lang)) {
+ $translations->{$lang} = { msgstr => $msgstr };
+ }
+ if (my $id = $c->get_param('translation_id_' . $lang)) {
+ $translations->{$lang}->{id} = $id;
+ }
+ }
+ } elsif ($c->stash->{object}) {
+ my @translations = $c->stash->{object}->translation_for($c->stash->{translation_col})->all;
+
+ foreach my $tx (@translations) {
+ $translations->{$tx->lang} = { id => $tx->id, msgstr => $tx->msgstr };
+ }
+ }
+
+ $c->stash->{translations} = $translations;
+}
+
+sub body : Chained('/') : PathPart('admin/body') : CaptureArgs(1) {
+ my ( $self, $c, $body_id ) = @_;
+
+ $c->stash->{body_id} = $body_id;
my $body = $c->model('DB::Body')->find($body_id);
$c->detach( '/page_error_404_not_found', [] )
unless $body;
@@ -512,39 +568,70 @@ sub lookup_body : Private {
$c->stash->{example_pc} = $example_postcode;
}
}
+}
+
+sub edit_body : Chained('body') : PathPart('') : Args(0) {
+ my ( $self, $c ) = @_;
+
+ unless ($c->user->has_permission_to('category_edit', $c->stash->{body_id})) {
+ $c->forward('check_for_super_user');
+ }
+
+ $c->forward( '/auth/get_csrf_token' );
+ $c->forward( 'fetch_all_bodies' );
+ $c->forward( 'body_form_dropdowns' );
+ $c->forward('fetch_languages');
+ if ( $c->get_param('posted') ) {
+ $c->forward('update_contacts');
+ }
+
+ $c->stash->{object} = $c->stash->{body};
+ $c->stash->{translation_col} = 'name';
+
+ # if there's a contact then it's because we're displaying error
+ # messages about adding a contact so grabbing translations will
+ # fetch the contact submitted translations. So grab them, stash
+ # them and then clear posted so we can fetch the body translations
+ if ($c->stash->{contact}) {
+ $c->forward('fetch_translations');
+ $c->stash->{contact_translations} = $c->stash->{translations};
+ }
+ $c->set_param('posted', '');
+
+ $c->forward('fetch_translations');
+ $c->forward('fetch_contacts');
+
+ $c->stash->{template} = 'admin/body.html';
return 1;
}
-# This is for if the category name contains a '/'
-sub category_edit_all : Path('body') {
- my ( $self, $c, $body_id, @category ) = @_;
+sub category : Chained('body') : PathPart('') {
+ my ( $self, $c, @category ) = @_;
my $category = join( '/', @category );
- $c->go( 'category_edit', [ $body_id, $category ] );
-}
-
-sub category_edit : Path('body') : Args(2) {
- my ( $self, $c, $body_id, $category ) = @_;
-
- $c->stash->{body_id} = $body_id;
$c->forward( '/auth/get_csrf_token' );
- $c->forward( 'lookup_body' );
+ $c->stash->{template} = 'admin/category_edit.html';
my $contact = $c->stash->{body}->contacts->search( { category => $category } )->first;
$c->stash->{contact} = $contact;
+ $c->stash->{translation_col} = 'category';
+ $c->stash->{object} = $c->stash->{contact};
+
+ $c->forward('fetch_languages');
+ $c->forward('fetch_translations');
+
my $history = $c->model('DB::ContactsHistory')->search(
{
- body_id => $body_id,
- category => $category
+ body_id => $c->stash->{body_id},
+ category => $c->stash->{contact}->category
},
{
order_by => ['contacts_history_id']
},
);
$c->stash->{history} = $history;
-
my @methods = map { $_ =~ s/FixMyStreet::SendReport:://; $_ } keys %{ FixMyStreet::SendReport->get_senders };
$c->stash->{send_methods} = \@methods;
@@ -844,10 +931,26 @@ sub report_edit_category : Private {
$problem->category($category);
my @contacts = grep { $_->category eq $problem->category } @{$c->stash->{contacts}};
my @new_body_ids = map { $_->body_id } @contacts;
- # If the report has changed bodies we need to resend it
- if (scalar @{mySociety::ArrayUtils::symmetric_diff($problem->bodies_str_ids, \@new_body_ids)}) {
+ # If the report has changed bodies (and not to a subset!) we need to resend it
+ my %old_map = map { $_ => 1 } @{$problem->bodies_str_ids};
+ if (grep !$old_map{$_}, @new_body_ids) {
+ $problem->whensent(undef);
+ }
+ # If the send methods of the old/new contacts differ we need to resend the report
+ my @old_contacts = grep { $_->category eq $category_old } @{$c->stash->{contacts}};
+ my @new_send_methods = uniq map {
+ ( $_->body->can_be_devolved && $_->send_method ) ?
+ $_->send_method : $_->body->send_method;
+ } @contacts;
+ my @old_send_methods = map {
+ ( $_->body->can_be_devolved && $_->send_method ) ?
+ $_->send_method : $_->body->send_method;
+ } @old_contacts;
+ if ( scalar @{ mySociety::ArrayUtils::symmetric_diff(\@old_send_methods, \@new_send_methods) } ) {
+ $c->log->debug("Report changed, resending");
$problem->whensent(undef);
}
+
$problem->bodies_str(join( ',', @new_body_ids ));
$problem->add_to_comments({
text => '*' . sprintf(_('Category changed from ‘%s’ to ‘%s’'), $category_old, $category) . '*',
@@ -909,8 +1012,8 @@ sub categories_for_point : Private {
# Remove the "Pick a category" option
shift @{$c->stash->{category_options}} if @{$c->stash->{category_options}};
- $c->stash->{categories} = $c->stash->{category_options};
- $c->stash->{categories_hash} = { map { $_ => 1 } @{$c->stash->{category_options}} };
+ $c->stash->{category_options_copy} = $c->stash->{category_options};
+ $c->stash->{categories_hash} = { map { $_->{name} => 1 } @{$c->stash->{category_options}} };
}
sub templates : Path('templates') : Args(0) {
@@ -966,7 +1069,7 @@ sub template_edit : Path('templates') : Args(2) {
my %active_contacts = map { $_->id => 1 } @contacts;
my @all_contacts = map { {
id => $_->id,
- category => $_->category,
+ category => $_->category_display,
active => $active_contacts{$_->id},
} } @live_contacts;
$c->stash->{contacts} = \@all_contacts;
@@ -1808,7 +1911,7 @@ sub check_page_allowed : Private {
sub fetch_all_bodies : Private {
my ($self, $c ) = @_;
- my @bodies = $c->model('DB::Body')->all;
+ my @bodies = $c->model('DB::Body')->all_translated;
if ( $c->cobrand->moniker eq 'zurich' ) {
@bodies = $c->cobrand->admin_fetch_all_bodies( @bodies );
} else {
@@ -1840,6 +1943,46 @@ sub fetch_body_areas : Private {
$c->stash->{fetched_areas_body_id} = $body->id;
}
+sub update_extra_fields : Private {
+ my ($self, $c, $object) = @_;
+
+ my @indices = grep { /^metadata\[\d+\]\.code/ } keys %{ $c->req->params };
+ @indices = sort map { /(\d+)/ } @indices;
+
+ my @extra_fields;
+ foreach my $i (@indices) {
+ my $meta = {};
+ $meta->{code} = $c->get_param("metadata[$i].code");
+ next unless $meta->{code};
+ $meta->{order} = int $c->get_param("metadata[$i].order");
+ $meta->{datatype} = $c->get_param("metadata[$i].datatype");
+ my $required = $c->get_param("metadata[$i].required") && $c->get_param("metadata[$i].required") eq 'on';
+ $meta->{required} = $required ? 'true' : 'false';
+ my $notice = $c->get_param("metadata[$i].notice") && $c->get_param("metadata[$i].notice") eq 'on';
+ $meta->{variable} = $notice ? 'false' : 'true';
+ $meta->{description} = $c->get_param("metadata[$i].description");
+ $meta->{datatype_description} = $c->get_param("metadata[$i].datatype_description");
+
+ if ( $meta->{datatype} eq "singlevaluelist" ) {
+ $meta->{values} = [];
+ my $re = qr{^metadata\[$i\]\.values\[\d+\]\.key};
+ my @vindices = grep { /$re/ } keys %{ $c->req->params };
+ @vindices = sort map { /values\[(\d+)\]/ } @vindices;
+ foreach my $j (@vindices) {
+ my $name = $c->get_param("metadata[$i].values[$j].name");
+ my $key = $c->get_param("metadata[$i].values[$j].key");
+ push(@{$meta->{values}}, {
+ name => $name,
+ key => $key,
+ }) if $name;
+ }
+ }
+ push @extra_fields, $meta;
+ }
+ @extra_fields = sort { $a->{order} <=> $b->{order} } @extra_fields;
+ $object->set_extra_fields(@extra_fields);
+}
+
sub trim {
my $self = shift;
my $e = shift;
diff --git a/perllib/FixMyStreet/App/Controller/Admin/DefectTypes.pm b/perllib/FixMyStreet/App/Controller/Admin/DefectTypes.pm
index bcfeb3dd8..5dab1da2c 100644
--- a/perllib/FixMyStreet/App/Controller/Admin/DefectTypes.pm
+++ b/perllib/FixMyStreet/App/Controller/Admin/DefectTypes.pm
@@ -6,12 +6,6 @@ use mySociety::ArrayUtils;
BEGIN { extends 'Catalyst::Controller'; }
-sub begin : Private {
- my ( $self, $c ) = @_;
-
- $c->forward('/admin/begin');
-}
-
sub index : Path : Args(0) {
my ( $self, $c ) = @_;
@@ -62,7 +56,7 @@ sub edit : Path : Args(2) {
my %active_contacts = map { $_->id => 1 } @contacts;
my @all_contacts = map { {
id => $_->id,
- category => $_->category,
+ category => $_->category_display,
active => $active_contacts{$_->id},
} } @live_contacts;
$c->stash->{contacts} = \@all_contacts;
diff --git a/perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm b/perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm
index 201742c81..bdeecc1a3 100644
--- a/perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm
+++ b/perllib/FixMyStreet/App/Controller/Admin/ExorDefects.pm
@@ -2,19 +2,13 @@ package FixMyStreet::App::Controller::Admin::ExorDefects;
use Moose;
use namespace::autoclean;
-use Text::CSV;
use DateTime;
-use mySociety::Random qw(random_bytes);
+use Try::Tiny;
+use FixMyStreet::Integrations::ExorRDI;
BEGIN { extends 'Catalyst::Controller'; }
-sub begin : Private {
- my ( $self, $c ) = @_;
-
- $c->forward('/admin/begin');
-}
-
sub index : Path : Args(0) {
my ( $self, $c ) = @_;
@@ -54,177 +48,32 @@ sub download : Path('download') : Args(0) {
my $end_date = $parser-> parse_datetime ( $c->get_param('end_date') ) ;
my $one_day = DateTime::Duration->new( days => 1 );
- my %params = (
- -and => [
- state => [ 'action scheduled' ],
- external_id => { '!=' => undef },
- 'admin_log_entries.action' => 'inspected',
- 'admin_log_entries.whenedited' => { '>=', $start_date },
- 'admin_log_entries.whenedited' => { '<=', $end_date + $one_day },
- ]
- );
-
- my $user;
- if ( $c->get_param('user_id') ) {
- my $uid = $c->get_param('user_id');
- $params{'admin_log_entries.user_id'} = $uid;
- $user = $c->model('DB::User')->find( { id => $uid } );
- }
-
- my $problems = $c->cobrand->problems->search(
- \%params,
- {
- join => 'admin_log_entries',
- distinct => 1,
- }
- );
-
- if ( !$problems->count ) {
- if ( defined $user ) {
+ my $params = {
+ start_date => $start_date,
+ inspection_date => $start_date,
+ end_date => $end_date + $one_day,
+ user => $c->get_param('user_id'),
+ mark_as_processed => 0,
+ };
+ my $rdi = FixMyStreet::Integrations::ExorRDI->new($params);
+
+ try {
+ my $out = $rdi->construct;
+ $c->res->content_type('text/csv; charset=utf-8');
+ $c->res->header('content-disposition' => "attachment; filename=" . $rdi->filename);
+ $c->res->body( $out );
+ } catch {
+ die $_ unless $_ =~ /FixMyStreet::Integrations::ExorRDI::Error/;
+ if ($params->{user}) {
$c->flash->{error_message} = _("No inspections by that inspector in the selected date range.");
} else {
$c->flash->{error_message} = _("No inspections in the selected date range.");
}
- $c->flash->{start_date} = $start_date;
- $c->flash->{end_date} = $end_date;
- $c->flash->{user_id} = $user->id if $user;
+ $c->flash->{start_date} = $params->{start_date};
+ $c->flash->{end_date} = $params->{end_date};
+ $c->flash->{user_id} = $params->{user};
$c->res->redirect( $c->uri_for( '' ) );
- }
-
- # A single RDI file might contain inspections from multiple inspectors, so
- # we need to group inspections by inspector within G records.
- my $inspectors = {};
- my $inspector_initials = {};
- while ( my $report = $problems->next ) {
- my $user = $report->inspection_log_entry->user;
- $inspectors->{$user->id} ||= [];
- push @{ $inspectors->{$user->id} }, $report;
- unless ( $inspector_initials->{$user->id} ) {
- $inspector_initials->{$user->id} = $user->get_extra_metadata('initials');
- }
- }
-
- my $csv = Text::CSV->new({ binary => 1, eol => "" });
-
- my $p_count = 0;
- my $link_id = $c->cobrand->exor_rdi_link_id;
-
- # RDI first line is always the same
- $csv->combine("1", "1.8", "1.0.0.0", "ENHN", "");
- my @body = ($csv->string);
-
- my $i = 0;
- foreach my $inspector_id (keys %$inspectors) {
- my $inspections = $inspectors->{$inspector_id};
- my $initials = $inspector_initials->{$inspector_id};
-
- $csv->combine(
- "G", # start of an area/sequence
- $link_id, # area/link id, fixed value for our purposes
- "","", # must be empty
- $initials || "XX", # inspector initials
- $start_date->strftime("%y%m%d"), # date of inspection yymmdd
- "0700", # time of inspection hhmm, set to static value for now
- "D", # inspection variant, should always be D
- "INS", # inspection type, always INS
- "N", # Area of the county - north (N) or south (S)
- "", "", "", "" # empty fields
- );
- push @body, $csv->string;
-
- $csv->combine(
- "H", # initial inspection type
- "MC" # minor carriageway (changes depending on activity code)
- );
- push @body, $csv->string;
-
- foreach my $report (@$inspections) {
- my ($eastings, $northings) = $report->local_coords;
- my $description = sprintf("%s %s", $report->external_id || "", $report->get_extra_metadata('detailed_information') || "");
- my $activity_code = $report->defect_type ?
- $report->defect_type->get_extra_metadata('activity_code')
- : 'MC';
- my $traffic_information = $report->get_extra_metadata('traffic_information') ?
- 'TM ' . $report->get_extra_metadata('traffic_information')
- : 'TM none';
-
- $csv->combine(
- "I", # beginning of defect record
- $activity_code, # activity code - minor carriageway, also FC (footway)
- "", # empty field, can also be A (seen on MC) or B (seen on FC)
- sprintf("%03d", ++$i), # randomised sequence number
- "${eastings}E ${northings}N", # defect location field, which we don't capture from inspectors
- $report->inspection_log_entry->whenedited->strftime("%H%M"), # defect time raised
- "","","","","","","", # empty fields
- $traffic_information,
- $description, # defect description
- );
- push @body, $csv->string;
-
- my $defect_type = $report->defect_type ?
- $report->defect_type->get_extra_metadata('defect_code')
- : 'SFP2';
- $csv->combine(
- "J", # georeferencing record
- $defect_type, # defect type - SFP2: sweep and fill <1m2, POT2 also seen
- $report->response_priority ?
- $report->response_priority->external_id :
- "2", # priority of defect
- "","", # empty fields
- $eastings, # eastings
- $northings, # northings
- "","","","","" # empty fields
- );
- push @body, $csv->string;
-
- $csv->combine(
- "M", # bill of quantities record
- "resolve", # permanent repair
- "","", # empty fields
- "/CMC", # /C + activity code
- "", "" # empty fields
- );
- push @body, $csv->string;
- }
-
- # end this group of defects with a P record
- $csv->combine(
- "P", # end of area/sequence
- 0, # always 0
- 999999, # charging code, always 999999 in OCC
- );
- push @body, $csv->string;
- $p_count++;
- }
-
- # end the RDI file with an X record
- my $record_count = $i;
- $csv->combine(
- "X", # end of inspection record
- $p_count,
- $p_count,
- $record_count, # number of I records
- $record_count, # number of J records
- 0, 0, 0, # always zero
- $record_count, # number of M records
- 0, # always zero
- $p_count,
- 0, 0, 0 # error counts, always zero
- );
- push @body, $csv->string;
-
- my $start = $start_date->strftime("%Y%m%d");
- my $end = $end_date->strftime("%Y%m%d");
- my $filename = sprintf("exor_defects-%s-%s.rdi", $start, $end);
- if ( $user ) {
- my $initials = $user->get_extra_metadata("initials") || "";
- $filename = sprintf("exor_defects-%s-%s-%s.rdi", $start, $end, $initials);
- }
- $c->res->content_type('text/csv; charset=utf-8');
- $c->res->header('content-disposition' => "attachment; filename=$filename");
- # The RDI format is very weird CSV - each line must be wrapped in
- # double quotes.
- $c->res->body( join "", map { "\"$_\"\r\n" } @body );
+ };
}
-1; \ No newline at end of file
+1;
diff --git a/perllib/FixMyStreet/App/Controller/Admin/ReportExtraFields.pm b/perllib/FixMyStreet/App/Controller/Admin/ReportExtraFields.pm
new file mode 100644
index 000000000..337fb4bed
--- /dev/null
+++ b/perllib/FixMyStreet/App/Controller/Admin/ReportExtraFields.pm
@@ -0,0 +1,55 @@
+package FixMyStreet::App::Controller::Admin::ReportExtraFields;
+use Moose;
+use namespace::autoclean;
+use List::MoreUtils qw(uniq);
+
+BEGIN { extends 'Catalyst::Controller'; }
+
+
+sub index : Path : Args(0) {
+ my ( $self, $c ) = @_;
+
+ my @extras = $c->model('DB::ReportExtraFields')->search(
+ undef,
+ {
+ order_by => 'name'
+ }
+ );
+
+ $c->stash->{extra_fields} = \@extras;
+}
+
+sub edit : Path : Args(1) {
+ my ( $self, $c, $extra_id ) = @_;
+
+ my $extra;
+ if ( $extra_id eq 'new' ) {
+ $extra = $c->model('DB::ReportExtraFields')->new({});
+ } else {
+ $extra = $c->model('DB::ReportExtraFields')->find( $extra_id )
+ or $c->detach( '/page_error_404_not_found' );
+ }
+
+ if ($c->req->method eq 'POST') {
+ $c->forward('/auth/check_csrf_token');
+
+ foreach (qw/name cobrand language/) {
+ $extra->$_($c->get_param($_));
+ }
+ $c->forward('/admin/update_extra_fields', [ $extra ]);
+
+ $extra->update_or_insert;
+ }
+
+ $c->forward('/auth/get_csrf_token');
+ $c->forward('/admin/fetch_languages');
+
+ my @cobrands = uniq sort map { $_->{moniker} } FixMyStreet::Cobrand->available_cobrand_classes;
+ $c->stash->{cobrands} = \@cobrands;
+
+ $c->stash->{extra} = $extra;
+}
+
+__PACKAGE__->meta->make_immutable;
+
+1;
diff --git a/perllib/FixMyStreet/App/Controller/Admin/ResponsePriorities.pm b/perllib/FixMyStreet/App/Controller/Admin/ResponsePriorities.pm
index bae0f71a7..2613f6ae0 100644
--- a/perllib/FixMyStreet/App/Controller/Admin/ResponsePriorities.pm
+++ b/perllib/FixMyStreet/App/Controller/Admin/ResponsePriorities.pm
@@ -5,12 +5,6 @@ use namespace::autoclean;
BEGIN { extends 'Catalyst::Controller'; }
-sub begin : Private {
- my ( $self, $c ) = @_;
-
- $c->forward('/admin/begin');
-}
-
sub index : Path : Args(0) {
my ( $self, $c ) = @_;
@@ -71,6 +65,7 @@ sub edit : Path : Args(2) {
$priority->name( $c->get_param('name') );
$priority->description( $c->get_param('description') );
$priority->external_id( $c->get_param('external_id') );
+ $priority->is_default( $c->get_param('is_default') ? 1 : 0 );
$priority->update_or_insert;
my @live_contact_ids = map { $_->id } @live_contacts;
diff --git a/perllib/FixMyStreet/App/Controller/Admin/States.pm b/perllib/FixMyStreet/App/Controller/Admin/States.pm
new file mode 100644
index 000000000..938692af0
--- /dev/null
+++ b/perllib/FixMyStreet/App/Controller/Admin/States.pm
@@ -0,0 +1,96 @@
+package FixMyStreet::App::Controller::Admin::States;
+use Moose;
+use namespace::autoclean;
+
+BEGIN { extends 'Catalyst::Controller'; }
+
+sub index : Path : Args(0) {
+ my ( $self, $c ) = @_;
+
+ $c->forward('/auth/get_csrf_token');
+ $c->forward('/admin/fetch_languages');
+ my $rs = $c->model('DB::State');
+
+ if ($c->req->method eq 'POST') {
+ $c->forward('/auth/check_csrf_token');
+
+ $c->forward('process_new')
+ && $c->forward('delete')
+ && $c->forward('update');
+
+ $rs->clear;
+ }
+
+ $c->stash->{open_states} = $rs->open;
+ $c->stash->{closed_states} = $rs->closed;
+ $c->stash->{fixed_states} = $rs->fixed;
+}
+
+sub process_new : Private {
+ my ($self, $c) = @_;
+ if ($c->get_param('new_fixed')) {
+ $c->model('DB::State')->create({
+ label => 'fixed',
+ type => 'fixed',
+ name => _('Fixed'),
+ });
+ return 0;
+ }
+ return 1 unless $c->get_param('new');
+ my %params = map { $_ => $c->get_param($_) } qw/label type name/;
+ $c->model('DB::State')->create(\%params);
+ return 0;
+}
+
+sub delete : Private {
+ my ($self, $c) = @_;
+
+ my @params = keys %{ $c->req->params };
+ my ($to_delete) = map { /^delete:(.*)/ } grep { /^delete:/ } @params;
+ if ($to_delete) {
+ $c->model('DB::State')->search({ label => $to_delete })->delete;
+ return 0;
+ }
+ return 1;
+}
+
+sub update : Private {
+ my ($self, $c) = @_;
+
+ my $rs = $c->model('DB::State');
+ my %db_states = map { $_->label => $_ } @{$rs->states};
+ my @params = keys %{ $c->req->params };
+ my @states = map { /^type:(.*)/ } grep { /^type:/ } @params;
+
+ foreach my $state (@states) {
+ # If there is only one language, we still store confirmed/closed
+ # as translations, as that seems a sensible place to store them.
+ if ($state eq 'confirmed' or $state eq 'closed') {
+ if (my $name = $c->get_param("name:$state")) {
+ my ($lang) = keys %{$c->stash->{languages}};
+ $db_states{$state}->add_translation_for('name', $lang, $name);
+ }
+ } else {
+ $db_states{$state}->update({
+ type => $c->get_param("type:$state"),
+ name => $c->get_param("name:$state"),
+ });
+ }
+
+ foreach my $lang (keys(%{$c->stash->{languages}})) {
+ my $id = $c->get_param("translation_id:$state:$lang");
+ my $text = $c->get_param("translation:$state:$lang");
+ if ($text) {
+ $db_states{$state}->add_translation_for('name', $lang, $text);
+ } elsif ($id) {
+ $c->model('DB::Translation')->find({ id => $id })->delete;
+ }
+ }
+ }
+
+ return 1;
+}
+
+__PACKAGE__->meta->make_immutable;
+
+1;
diff --git a/perllib/FixMyStreet/App/Controller/Around.pm b/perllib/FixMyStreet/App/Controller/Around.pm
index 1fe35d0a3..b872084ff 100644
--- a/perllib/FixMyStreet/App/Controller/Around.pm
+++ b/perllib/FixMyStreet/App/Controller/Around.pm
@@ -163,52 +163,20 @@ sub display_location : Private {
$c->forward('/auth/get_csrf_token');
- # get the lat,lng
- my $latitude = $c->stash->{latitude};
- my $longitude = $c->stash->{longitude};
-
- # Deal with pin hiding/age
- my $all_pins = $c->get_param('all_pins') ? 1 : undef;
- $c->stash->{all_pins} = $all_pins;
- my $interval = $all_pins ? undef : $c->cobrand->on_map_default_max_pin_age;
-
- $c->forward( '/reports/stash_report_filter_status' );
-
# Check the category to filter by, if any, is valid
$c->forward('check_and_stash_category');
- $c->forward( '/reports/stash_report_sort', [ 'created-desc' ]);
-
- # get the map features
- my ( $on_map_all, $on_map, $nearby, $distance ) =
- FixMyStreet::Map::map_features( $c,
- latitude => $latitude, longitude => $longitude,
- interval => $interval, categories => [ keys %{$c->stash->{filter_category}} ],
- states => $c->stash->{filter_problem_states},
- order => $c->stash->{sort_order},
- );
- # copy the found reports to the stash
- $c->stash->{on_map} = $on_map;
- $c->stash->{around_map} = $nearby;
- $c->stash->{distance} = $distance;
+ my $latitude = $c->stash->{latitude};
+ my $longitude = $c->stash->{longitude};
- # create a list of all the pins
- my @pins;
- unless ($c->get_param('no_pins')) {
- @pins = map {
- # Here we might have a DB::Problem or a DB::Nearby, we always want the problem.
- my $p = (ref $_ eq 'FixMyStreet::App::Model::DB::Nearby') ? $_->problem : $_;
- $p->pin_data($c, 'around');
- } @$on_map_all, @$nearby;
- }
+ $c->forward('map_features', [ { latitude => $latitude, longitude => $longitude } ] );
- $c->stash->{page} = 'around'; # So the map knows to make clickable pins, update on pan
FixMyStreet::Map::display_map(
$c,
latitude => $latitude,
longitude => $longitude,
clickable => 1,
- pins => \@pins,
+ pins => $c->stash->{pins},
area => $c->cobrand->areas_on_around,
);
@@ -259,7 +227,7 @@ sub check_and_stash_category : Private {
distinct => 1
}
)->all;
- my @categories = map { $_->category } @contacts;
+ my @categories = map { { name => $_->category, value => $_->category_display } } @contacts;
$c->stash->{filter_categories} = \@categories;
my %categories_mapped = map { $_ => 1 } @categories;
@@ -268,6 +236,44 @@ sub check_and_stash_category : Private {
$c->stash->{filter_category} = \%valid_categories;
}
+sub map_features : Private {
+ my ($self, $c, $extra) = @_;
+
+ $c->stash->{page} = 'around'; # Needed by _item.html / so the map knows to make clickable pins, update on pan
+
+ $c->forward( '/reports/stash_report_filter_status' );
+ $c->forward( '/reports/stash_report_sort', [ 'created-desc' ]);
+
+ # Deal with pin hiding/age
+ my $all_pins = $c->get_param('all_pins') ? 1 : undef;
+ $c->stash->{all_pins} = $all_pins;
+ my $interval = $all_pins ? undef : $c->cobrand->on_map_default_max_pin_age;
+
+ return if $c->get_param('js'); # JS will request the same (or more) data client side
+
+ my ( $on_map_all, $on_map_list, $nearby, $distance ) =
+ FixMyStreet::Map::map_features(
+ $c, interval => $interval, %$extra,
+ categories => [ keys %{$c->stash->{filter_category}} ],
+ states => $c->stash->{filter_problem_states},
+ order => $c->stash->{sort_order},
+ );
+
+ my @pins;
+ unless ($c->get_param('no_pins')) {
+ @pins = map {
+ # Here we might have a DB::Problem or a DB::Result::Nearby, we always want the problem.
+ my $p = (ref $_ eq 'FixMyStreet::DB::Result::Nearby') ? $_->problem : $_;
+ $p->pin_data($c, 'around');
+ } @$on_map_all, @$nearby;
+ }
+
+ $c->stash->{pins} = \@pins;
+ $c->stash->{on_map} = $on_map_list;
+ $c->stash->{around_map} = $nearby;
+ $c->stash->{distance} = $distance;
+}
+
=head2 /ajax
Handle the ajax calls that the map makes when it is dragged. The info returned
@@ -279,8 +285,6 @@ the map.
sub ajax : Path('/ajax') {
my ( $self, $c ) = @_;
- $c->res->content_type('application/json; charset=utf-8');
-
my $bbox = $c->get_param('bbox');
unless ($bbox) {
$c->res->status(404);
@@ -288,52 +292,13 @@ sub ajax : Path('/ajax') {
return;
}
- # assume this is not cacheable - may need to be more fine-grained later
- $c->res->header( 'Cache_Control' => 'max-age=0' );
-
- $c->stash->{page} = 'around'; # Needed by _item.html
-
- # how far back should we go?
- my $all_pins = $c->get_param('all_pins') ? 1 : undef;
- my $interval = $all_pins ? undef : $c->cobrand->on_map_default_max_pin_age;
-
- $c->forward( '/reports/stash_report_filter_status' );
- $c->forward( '/reports/stash_report_sort', [ 'created-desc' ]);
-
- # extract the data from the map
- my ( $on_map_all, $on_map_list, $nearby, $dist ) =
- FixMyStreet::Map::map_features($c,
- bbox => $bbox, interval => $interval,
- categories => [ $c->get_param_list('filter_category', 1) ],
- states => $c->stash->{filter_problem_states},
- order => $c->stash->{sort_order},
- );
-
- # create a list of all the pins
- my @pins = map {
- # Here we might have a DB::Problem or a DB::Nearby, we always want the problem.
- my $p = (ref $_ eq 'FixMyStreet::App::Model::DB::Nearby') ? $_->problem : $_;
- my $colour = $c->cobrand->pin_colour( $p, 'around' );
- [ $p->latitude, $p->longitude,
- $colour,
- $p->id, $p->title_safe
- ]
- } @$on_map_all, @$nearby;
-
- # render templates to get the html
- my $on_map_list_html = $c->render_fragment(
- 'around/on_map_list_items.html',
- { on_map => $on_map_list, around_map => $nearby }
- );
+ my %valid_categories = map { $_ => 1 } $c->get_param_list('filter_category', 1);
+ $c->stash->{filter_category} = \%valid_categories;
- # JSON encode the response
- my $json = { pins => \@pins };
- $json->{current} = $on_map_list_html if $on_map_list_html;
- my $body = encode_json($json);
- $c->res->body($body);
+ $c->forward('map_features', [ { bbox => $bbox } ]);
+ $c->forward('/reports/ajax', [ 'around/on_map_list_items.html' ]);
}
-
sub location_autocomplete : Path('/ajax/geocode') {
my ( $self, $c ) = @_;
$c->res->content_type('application/json; charset=utf-8');
diff --git a/perllib/FixMyStreet/App/Controller/Auth.pm b/perllib/FixMyStreet/App/Controller/Auth.pm
index 4efa7abb8..825066026 100644
--- a/perllib/FixMyStreet/App/Controller/Auth.pm
+++ b/perllib/FixMyStreet/App/Controller/Auth.pm
@@ -33,7 +33,7 @@ sub general : Path : Args(0) {
my ( $self, $c ) = @_;
$c->detach( 'redirect_on_signin', [ $c->get_param('r') ] )
- if $c->user && $c->get_param('r');
+ if $c->req->method eq 'GET' && $c->user && $c->get_param('r');
# all done unless we have a form posted to us
return unless $c->req->method eq 'POST';
@@ -128,6 +128,18 @@ sub email_sign_in : Private {
return;
}
+ # If user registration is disabled then bail out at this point
+ # if there's not already a user with this email address.
+ # NB this uses the same template as a successful sign in to stop
+ # enumeration of valid email addresses.
+ if ( FixMyStreet->config('SIGNUPS_DISABLED')
+ && !$c->model('DB::User')->search({ email => $good_email })->count
+ && !$c->stash->{current_user} # don't break the change email flow
+ ) {
+ $c->stash->{template} = 'auth/token.html';
+ return;
+ }
+
my $user_params = {};
$user_params->{password} = $c->get_param('password_register')
if $c->get_param('password_register');
@@ -199,6 +211,10 @@ sub token : Path('/M') : Args(1) {
my $user = $c->model('DB::User')->find_or_new({ email => $data->{email} });
+ # Bail out if this is a new user and SIGNUPS_DISABLED is set
+ $c->detach( '/page_error_403_access_denied', [] )
+ if FixMyStreet->config('SIGNUPS_DISABLED') && !$user->in_storage && !$data->{old_email};
+
if ($data->{old_email}) {
# Were logged in as old_email, want to switch to email ($user)
if ($user->in_storage) {
@@ -244,6 +260,8 @@ sub fb : Private {
sub facebook_sign_in : Private {
my ( $self, $c ) = @_;
+ $c->detach( '/page_error_403_access_denied', [] ) if FixMyStreet->config('SIGNUPS_DISABLED');
+
my $fb = $c->forward('/auth/fb');
my $url = $fb->get_authorization_url(scope => ['email']);
@@ -302,6 +320,8 @@ sub tw : Private {
sub twitter_sign_in : Private {
my ( $self, $c ) = @_;
+ $c->detach( '/page_error_403_access_denied', [] ) if FixMyStreet->config('SIGNUPS_DISABLED');
+
my $twitter = $c->forward('/auth/tw');
my $url = $twitter->get_authentication_url(callback => $c->uri_for('/auth/Twitter'));
diff --git a/perllib/FixMyStreet/App/Controller/Contact.pm b/perllib/FixMyStreet/App/Controller/Contact.pm
index b98bdbcc7..f2c3be47c 100644
--- a/perllib/FixMyStreet/App/Controller/Contact.pm
+++ b/perllib/FixMyStreet/App/Controller/Contact.pm
@@ -54,7 +54,8 @@ sub submit : Path('submit') : Args(0) {
&& $c->forward('determine_contact_type')
&& $c->forward('validate')
&& $c->forward('prepare_params_for_email')
- && $c->forward('send_email');
+ && $c->forward('send_email')
+ && $c->forward('redirect_on_success');
}
=head2 determine_contact_type
@@ -99,7 +100,7 @@ sub determine_contact_type : Private {
=head2 validate
-Validate the form submission parameters. Sets error messages and redirect
+Validate the form submission parameters. Sets error messages and redirect
to index page if errors.
=cut
@@ -168,8 +169,7 @@ sub prepare_params_for_email : Private {
if ( $c->stash->{update} ) {
- $c->stash->{problem_url} = $base_url . '/report/' . $c->stash->{update}->problem_id
- . '#update_' . $c->stash->{update}->id;
+ $c->stash->{problem_url} = $base_url . $c->stash->{update}->url;
$c->stash->{admin_url} = $admin_url . '/update_edit/' . $c->stash->{update}->id;
$c->stash->{complaint} = sprintf(
"Complaint about update %d on report %d",
@@ -258,10 +258,24 @@ sub send_email : Private {
$params->{from} = $from;
}
- $c->send_email('contact.txt', $params);
+ $c->stash->{success} = $c->send_email('contact.txt', $params);
- # above is always succesful :(
- $c->stash->{success} = 1;
+ return 1;
+}
+
+=head2 redirect_on_success
+
+Redirect to a custom URL if one was provided
+
+=cut
+
+sub redirect_on_success : Private {
+ my ( $self, $c ) = @_;
+
+ if (my $success_url = $c->get_param('success_url')) {
+ $c->res->redirect($success_url);
+ $c->detach;
+ }
return 1;
}
diff --git a/perllib/FixMyStreet/App/Controller/Dashboard.pm b/perllib/FixMyStreet/App/Controller/Dashboard.pm
index fbe5a2dc9..f961660c0 100644
--- a/perllib/FixMyStreet/App/Controller/Dashboard.pm
+++ b/perllib/FixMyStreet/App/Controller/Dashboard.pm
@@ -24,6 +24,8 @@ sub example : Local : Args(0) {
my ( $self, $c ) = @_;
$c->stash->{template} = 'dashboard/index.html';
+ $c->stash->{filter_states} = $c->cobrand->state_groups_inspect;
+
$c->stash->{children} = {};
for my $i (1..3) {
$c->stash->{children}{$i} = { id => $i, name => "Ward $i" };
@@ -93,6 +95,7 @@ sub index : Path : Args(0) {
$c->stash->{body} = $body;
# Set up the data for the dropdowns
+ $c->stash->{filter_states} = $c->cobrand->state_groups_inspect;
# Just take the first area ID we find
my $area_id = $body->body_areas->first->area_id;
@@ -145,12 +148,10 @@ sub index : Path : Args(0) {
# List of reports underneath summary table
$c->stash->{q_state} = $c->get_param('state') || '';
- if ( $c->stash->{q_state} eq 'fixed' ) {
+ if ( $c->stash->{q_state} eq 'fixed - council' ) {
$prob_where->{'me.state'} = [ FixMyStreet::DB::Result::Problem->fixed_states() ];
} elsif ( $c->stash->{q_state} ) {
$prob_where->{'me.state'} = $c->stash->{q_state};
- $prob_where->{'me.state'} = { IN => [ 'planned', 'action scheduled' ] }
- if $prob_where->{'me.state'} eq 'action scheduled';
}
my $params = {
%$prob_where,
@@ -180,7 +181,7 @@ sub export_as_csv {
my ($self, $c, $problems_rs, $body) = @_;
require Text::CSV;
my $problems = $problems_rs->search(
- {}, { prefetch => 'comments' });
+ {}, { prefetch => 'comments', order_by => 'me.confirmed' });
my $filename = do {
my %where = (
@@ -211,6 +212,9 @@ sub export_as_csv {
'Status',
'Latitude', 'Longitude',
'Nearest Postcode',
+ 'Ward',
+ 'Easting',
+ 'Northing',
'Report URL',
);
my @body = ($csv->string);
@@ -242,6 +246,13 @@ sub export_as_csv {
}
}
+ my $wards = join ', ',
+ map { $c->stash->{children}->{$_}->{name} }
+ grep {$c->stash->{children}->{$_} }
+ split ',', $hashref->{areas};
+
+ my @local_coords = $report->local_coords;
+
$csv->combine(
@{$hashref}{
'id',
@@ -258,6 +269,9 @@ sub export_as_csv {
'latitude', 'longitude',
'postcode',
},
+ $wards,
+ $local_coords[0],
+ $local_coords[1],
(join '', $c->cobrand->base_url_for_report($report), $report->url),
);
diff --git a/perllib/FixMyStreet/App/Controller/JSON.pm b/perllib/FixMyStreet/App/Controller/JSON.pm
index d3cd33546..762e3c115 100644
--- a/perllib/FixMyStreet/App/Controller/JSON.pm
+++ b/perllib/FixMyStreet/App/Controller/JSON.pm
@@ -105,10 +105,9 @@ sub problems : Local {
foreach my $problem (@problems) {
$problem->name( '' ) if $problem->anonymous == 1;
$problem->service( 'Web interface' ) if $problem->service eq '';
- my $bodies = $problem->bodies;
- if (keys %$bodies) {
- my @body_names = map { $_->name } values %$bodies;
- $problem->bodies_str( join(' and ', @body_names) );
+ my $body_names = $problem->body_names;
+ if (@$body_names) {
+ $problem->bodies_str( join(' and ', @$body_names) );
}
}
diff --git a/perllib/FixMyStreet/App/Controller/Location.pm b/perllib/FixMyStreet/App/Controller/Location.pm
index 6a0f2c0ec..c457c8fce 100644
--- a/perllib/FixMyStreet/App/Controller/Location.pm
+++ b/perllib/FixMyStreet/App/Controller/Location.pm
@@ -31,8 +31,6 @@ sub determine_location_from_coords : Private {
my $latitude = $c->get_param('latitude') || $c->get_param('lat');
my $longitude = $c->get_param('longitude') || $c->get_param('lon');
- $c->log->debug($longitude);
- $c->log->debug($latitude);
if ( defined $latitude && defined $longitude ) {
($c->stash->{latitude}, $c->stash->{longitude}) =
diff --git a/perllib/FixMyStreet/App/Controller/Moderate.pm b/perllib/FixMyStreet/App/Controller/Moderate.pm
index 74f2e6b31..e2ab16b6b 100644
--- a/perllib/FixMyStreet/App/Controller/Moderate.pm
+++ b/perllib/FixMyStreet/App/Controller/Moderate.pm
@@ -146,7 +146,7 @@ sub report_moderate_title : Private {
my $title = $c->get_param('problem_revert_title') ?
$original_title
- : $self->diff($original_title, $c->get_param('problem_title'));
+ : $c->get_param('problem_title');
if ($title ne $old_title) {
$original->insert unless $original->in_storage;
@@ -167,7 +167,7 @@ sub report_moderate_detail : Private {
my $original_detail = $original->detail;
my $detail = $c->get_param('problem_revert_detail') ?
$original_detail
- : $self->diff($original_detail, $c->get_param('problem_detail'));
+ : $c->get_param('problem_detail');
if ($detail ne $old_detail) {
$original->insert unless $original->in_storage;
@@ -285,7 +285,7 @@ sub update_moderate_detail : Private {
my $original_detail = $original->detail;
my $detail = $c->get_param('update_revert_detail') ?
$original_detail
- : $self->diff($original_detail, $c->get_param('update_detail'));
+ : $c->get_param('update_detail');
if ($detail ne $old_detail) {
$original->insert unless $original->in_storage;
@@ -340,29 +340,6 @@ sub return_text : Private {
$c->res->body( $text // '' );
}
-sub diff {
- my ($self, $old, $new) = @_;
-
- $new =~s/\[\.{3}\]//g;
-
- my $diff = Algorithm::Diff->new( [ split //, $old ], [ split //, $new ] );
- my $string;
- while ($diff->Next) {
- my $d = $diff->Diff;
- if ($d & 1) {
- my $deleted = join '', $diff->Items(1);
- unless ($deleted =~/^\s*$/) {
- $string .= ' ' if $deleted =~/^ /;
- $string .= '[...]';
- $string .= ' ' if $deleted =~/ $/;
- }
- }
- $string .= join '', $diff->Items(2);
- }
- return $string;
-}
-
-
__PACKAGE__->meta->make_immutable;
1;
diff --git a/perllib/FixMyStreet/App/Controller/My.pm b/perllib/FixMyStreet/App/Controller/My.pm
index 77711f807..5b80a4a08 100644
--- a/perllib/FixMyStreet/App/Controller/My.pm
+++ b/perllib/FixMyStreet/App/Controller/My.pm
@@ -19,9 +19,10 @@ Catalyst Controller.
=cut
-sub begin : Private {
+sub auto : Private {
my ($self, $c) = @_;
$c->detach( '/auth/redirect' ) unless $c->user;
+ return 1;
}
=head2 index
@@ -162,7 +163,7 @@ sub setup_page_data : Private {
distinct => 1,
order_by => [ 'category' ],
} )->all;
- @categories = map { $_->category } @categories;
+ @categories = map { { name => $_->category, value => $_->category_display } } @categories;
$c->stash->{filter_categories} = \@categories;
$c->stash->{page} = 'my';
@@ -205,6 +206,20 @@ sub planned_change : Path('planned/change') {
}
}
+sub shortlist_multiple : Path('planned/change_multiple') {
+ my ($self, $c) = @_;
+ $c->forward('/auth/check_csrf_token');
+
+ my @ids = $c->get_param_list('ids[]');
+
+ foreach my $id (@ids) {
+ $c->forward( '/report/load_problem_or_display_error', [ $id ] );
+ $c->user->add_to_planned_reports($c->stash->{problem});
+ }
+
+ $c->res->body(encode_json({ outcome => 'add' }));
+}
+
sub by_shortlisted {
my $a_order = $a->get_extra_metadata('order') || 0;
my $b_order = $b->get_extra_metadata('order') || 0;
@@ -220,6 +235,38 @@ sub by_shortlisted {
}
}
+sub anonymize : Path('anonymize') {
+ my ($self, $c) = @_;
+ $c->forward('/auth/get_csrf_token');
+
+ my $object;
+ if (my $id = $c->get_param('problem')) {
+ $c->forward( '/report/load_problem_or_display_error', [ $id ] );
+ $object = $c->stash->{problem};
+ } elsif ($id = $c->get_param('update')) {
+ $c->stash->{update} = $object = $c->model('DB::Comment')->find({ id => $id });
+ $c->detach('/page_error_400_bad_request') unless $object;
+ } else {
+ $c->detach('/page_error_404_not_found');
+ }
+ $c->detach('/page_error_400_bad_request') unless $c->user->id == $object->user_id;
+ $c->detach('/page_error_400_bad_request') if $object->anonymous;
+
+ if ($c->get_param('hide') || $c->get_param('hide_everywhere')) {
+ $c->detach('/page_error_400_bad_request') unless $c->req->method eq 'POST';
+ $c->forward('/auth/check_csrf_token');
+ if ($c->get_param('hide')) {
+ $object->update({ anonymous => 1 });
+ $c->flash->{anonymized} = _('Your name has been hidden.');
+ } elsif ($c->get_param('hide_everywhere')) {
+ $c->user->problems->update({anonymous => 1});
+ $c->user->comments->update({anonymous => 1});
+ $c->flash->{anonymized} = _('Your name has been hidden from all your reports and updates.');
+ }
+ $c->res->redirect($object->url);
+ }
+}
+
__PACKAGE__->meta->make_immutable;
1;
diff --git a/perllib/FixMyStreet/App/Controller/Open311.pm b/perllib/FixMyStreet/App/Controller/Open311.pm
index bc08593de..95b29d116 100644
--- a/perllib/FixMyStreet/App/Controller/Open311.pm
+++ b/perllib/FixMyStreet/App/Controller/Open311.pm
@@ -160,7 +160,7 @@ sub get_services : Private {
my $lon = $c->get_param('long') || '';
# Look up categories for this council or councils
- my $categories = $c->model('DB::Contact')->not_deleted;
+ my $categories = $c->model('DB::Contact')->active;
if ($lat || $lon) {
my $area_types = $c->cobrand->area_types;
@@ -241,7 +241,8 @@ sub output_requests : Private {
'long' => $problem->longitude,
'status' => $problem->state,
# 'status_notes' => {},
- 'requested_datetime' => w3date($problem->confirmed),
+ # Zurich has visible unconfirmed reports
+ 'requested_datetime' => w3date($problem->confirmed || $problem->created),
'updated_datetime' => w3date($problem->lastupdate),
# 'expected_datetime' => {},
# 'address' => {},
@@ -258,8 +259,8 @@ sub output_requests : Private {
}
else {
# FIXME Not according to Open311 v2
- my @body_names = map { $_->name } values %{$problem->bodies};
- $request->{agency_responsible} = {'recipient' => [ @body_names ] };
+ my $body_names = $problem->body_names;
+ $request->{agency_responsible} = {'recipient' => $body_names };
}
if ( !$problem->anonymous ) {
diff --git a/perllib/FixMyStreet/App/Controller/Report.pm b/perllib/FixMyStreet/App/Controller/Report.pm
index ad2702460..e37e08698 100644
--- a/perllib/FixMyStreet/App/Controller/Report.pm
+++ b/perllib/FixMyStreet/App/Controller/Report.pm
@@ -28,14 +28,11 @@ Redirect to homepage unless C<id> parameter in query, in which case redirect to
sub index : Path('') : Args(0) {
my ( $self, $c ) = @_;
- my $id = $c->get_param('id');
-
- my $uri =
- $id
- ? $c->uri_for( '/report', $id )
- : $c->uri_for('/');
-
- $c->res->redirect($uri);
+ if ($c->stash->{homepage_template}) {
+ $c->stash->{template} = 'index.html';
+ } else {
+ $c->res->redirect('/');
+ }
}
=head2 report_display
@@ -124,7 +121,7 @@ sub load_problem_or_display_error : Private {
$c->detach( '/page_error_404_not_found', [ _('Unknown problem ID') ] )
unless $c->cobrand->show_unconfirmed_reports ;
}
- elsif ( $problem->hidden_states->{ $problem->state } or
+ elsif ( $problem->hidden_states->{ $problem->state } or
(($problem->get_extra_metadata('closure_status')||'') eq 'hidden')) {
$c->detach(
'/page_error_410_gone',
@@ -159,7 +156,7 @@ sub load_updates : Private {
my $updates = $c->model('DB::Comment')->search(
{ problem_id => $c->stash->{problem}->id, state => 'confirmed' },
- { order_by => 'confirmed' }
+ { order_by => [ 'confirmed', 'id' ] }
);
my $questionnaires = $c->model('DB::Questionnaire')->search(
@@ -181,8 +178,10 @@ sub load_updates : Private {
@combined = map { $_->[1] } sort { $a->[0] <=> $b->[0] } @combined;
$c->stash->{updates} = \@combined;
- if ($c->sessionid && $c->flash->{alert_to_reporter}) {
- $c->stash->{alert_to_reporter} = 1;
+ if ($c->sessionid) {
+ foreach (qw(alert_to_reporter anonymized)) {
+ $c->stash->{$_} = $c->flash->{$_} if $c->flash->{$_};
+ }
}
return 1;
@@ -201,7 +200,8 @@ sub format_problem_for_display : Private {
$c->stash->{add_alert} = 1;
}
- $c->stash->{extra_name_info} = $problem->bodies_str && $problem->bodies_str eq '2482' ? 1 : 0;
+ my $first_body = (values %{$problem->bodies})[0];
+ $c->stash->{extra_name_info} = $first_body && $first_body->name =~ /Bromley/ ? 1 : 0;
$c->forward('generate_map_tags');
@@ -309,38 +309,33 @@ sub inspect : Private {
$c->forward('/admin/categories_for_point');
$c->stash->{report_meta} = { map { $_->{name} => $_ } @{ $c->stash->{problem}->get_extra_fields() } };
- my %category_body = map { $_->category => $_->body_id } map { $_->contacts->all } values %{$problem->bodies};
-
- my @priorities = $c->model('DB::ResponsePriority')->for_bodies($problem->bodies_str_ids)->all;
- my $priorities_by_category = {};
- foreach my $pri (@priorities) {
- my $any = 0;
- foreach ($pri->contacts->all) {
- $any = 1;
- push @{$priorities_by_category->{$_->category}}, $pri->id . '=' . URI::Escape::uri_escape_utf8($pri->name);
- }
- if (!$any) {
- foreach (grep { $category_body{$_} == $pri->body_id } @{$c->stash->{categories}}) {
- push @{$priorities_by_category->{$_}}, $pri->id . '=' . URI::Escape::uri_escape_utf8($pri->name);
- }
- }
+ if ($c->cobrand->can('council_area_id')) {
+ my $priorities_by_category = FixMyStreet::App->model('DB::ResponsePriority')->by_categories($c->cobrand->council_area_id, @{$c->stash->{contacts}});
+ $c->stash->{priorities_by_category} = $priorities_by_category;
+ my $templates_by_category = FixMyStreet::App->model('DB::ResponseTemplate')->by_categories($c->cobrand->council_area_id, @{$c->stash->{contacts}});
+ $c->stash->{templates_by_category} = $templates_by_category;
}
- foreach (keys %{$priorities_by_category}) {
- $priorities_by_category->{$_} = join('&', @{$priorities_by_category->{$_}});
+
+ if ($c->user->has_body_permission_to('planned_reports')) {
+ $c->stash->{post_inspect_url} = $c->req->referer;
}
- $c->stash->{priorities_by_category} = $priorities_by_category;
+ if ($c->user->has_body_permission_to('report_edit_priority') or
+ $c->user->has_body_permission_to('report_inspect')
+ ) {
+ $c->stash->{has_default_priority} = scalar( grep { $_->is_default } $problem->response_priorities );
+ }
if ( $c->get_param('save') ) {
$c->forward('/auth/check_csrf_token');
my $valid = 1;
- my $update_text;
+ my $update_text = '';
my $reputation_change = 0;
my %update_params = ();
if ($permissions->{report_inspect}) {
- foreach (qw/detailed_information traffic_information duplicate_of/) {
+ foreach (qw/detailed_information traffic_information/) {
$problem->set_extra_metadata( $_ => $c->get_param($_) );
}
@@ -375,19 +370,35 @@ sub inspect : Private {
}
if ( $problem->state ne 'duplicate' ) {
$problem->unset_extra_metadata('duplicate_of');
+ } elsif (my $duplicate_of = $c->get_param('duplicate_of')) {
+ $problem->set_duplicate_of($duplicate_of);
}
+
if ( $problem->state ne $old_state ) {
$c->forward( '/admin/log_edit', [ $problem->id, 'problem', 'state_change' ] );
- # If the state has been changed by an inspector, consider the
- # report to be inspected.
- unless ($problem->get_extra_metadata('inspected')) {
- $problem->set_extra_metadata( inspected => 1 );
- $c->forward( '/admin/log_edit', [ $problem->id, 'problem', 'inspected' ] );
- my $state = $problem->state;
- $reputation_change = 1 if $c->cobrand->reputation_increment_states->{$state};
- $reputation_change = -1 if $c->cobrand->reputation_decrement_states->{$state};
- }
+ $update_params{problem_state} = $problem->state;
+
+ my $state = $problem->state;
+ $reputation_change = 1 if $c->cobrand->reputation_increment_states->{$state};
+ $reputation_change = -1 if $c->cobrand->reputation_decrement_states->{$state};
+
+ # If an inspector has changed the state, subscribe them to
+ # updates
+ my $options = {
+ cobrand => $c->cobrand->moniker,
+ cobrand_data => $problem->cobrand_data,
+ lang => $problem->lang,
+ };
+ $problem->user->create_alert($problem->id, $options);
+ }
+
+ # If the state has been changed to action scheduled and they've said
+ # they want to raise a defect, consider the report to be inspected.
+ if ($problem->state eq 'action scheduled' && $c->get_param('raise_defect') && !$problem->get_extra_metadata('inspected')) {
+ $update_params{extra} = { 'defect_raised' => 1 };
+ $problem->set_extra_metadata( inspected => 1 );
+ $c->forward( '/admin/log_edit', [ $problem->id, 'problem', 'inspected' ] );
}
}
@@ -421,39 +432,52 @@ sub inspect : Private {
}
$problem->lastupdate( \'current_timestamp' );
$problem->update;
- if ( defined($update_text) ) {
- my $timestamp = \'current_timestamp';
- if (my $saved_at = $c->get_param('saved_at')) {
- $timestamp = DateTime->from_epoch( epoch => $saved_at );
- }
- my $name = $c->user->from_body ? $c->user->from_body->name : $c->user->name;
- $problem->add_to_comments( {
- text => $update_text,
- created => $timestamp,
- confirmed => $timestamp,
- user_id => $c->user->id,
- name => $name,
- state => 'confirmed',
- mark_fixed => 0,
- anonymous => 0,
- %update_params,
- } );
+ my $timestamp = \'current_timestamp';
+ if (my $saved_at = $c->get_param('saved_at')) {
+ $timestamp = DateTime->from_epoch( epoch => $saved_at );
}
- # This problem might no longer be visible on the current cobrand,
- # if its body has changed (e.g. by virtue of the category changing)
- # so redirect to a cobrand where it can be seen if necessary
+ my $name = $c->user->from_body ? $c->user->from_body->name : $c->user->name;
+ $problem->add_to_comments( {
+ text => $update_text,
+ created => $timestamp,
+ confirmed => $timestamp,
+ user_id => $c->user->id,
+ name => $name,
+ state => 'confirmed',
+ mark_fixed => 0,
+ anonymous => 0,
+ %update_params,
+ } );
+
my $redirect_uri;
- if ( $c->cobrand->is_council && !$c->cobrand->owns_problem($problem) ) {
+ $problem->discard_changes;
+
+ # If inspector, redirect back to the map view they came from
+ # with the right filters. If that wasn't set, go to /around at this
+ # report's location.
+ # We go here rather than the shortlist because it makes it much
+ # simpler to inspect many reports in the same location. The
+ # shortlist is always a single click away, being on the main nav.
+ if ($c->user->has_body_permission_to('planned_reports')) {
+ unless ($redirect_uri = $c->get_param("post_inspect_url")) {
+ my $categories = join(',', @{ $c->user->categories });
+ my $params = {
+ lat => $problem->latitude,
+ lon => $problem->longitude,
+ };
+ $params->{filter_category} = $categories if $categories;
+ $params->{js} = 1 if $c->get_param('js');
+ $redirect_uri = $c->uri_for( "/around", $params );
+ }
+ } elsif ( $c->cobrand->is_council && !$c->cobrand->owns_problem($problem) ) {
+ # This problem might no longer be visible on the current cobrand,
+ # if its body has changed (e.g. by virtue of the category changing)
+ # so redirect to a cobrand where it can be seen if necessary
$redirect_uri = $c->cobrand->base_url_for_report( $problem ) . $problem->url;
} else {
$redirect_uri = $c->uri_for( $problem->url );
}
- # Or if inspector, redirect back to shortlist
- if ($c->user->has_body_permission_to('planned_reports')) {
- $redirect_uri = $c->uri_for_action('my/planned');
- }
-
$c->log->debug( "Redirecting to: " . $redirect_uri );
$c->res->redirect( $redirect_uri );
}
@@ -476,7 +500,7 @@ sub nearby_json : Private {
$c->forward( 'load_problem_or_display_error', [ $id ] );
my $p = $c->stash->{problem};
- my $dist = 1000;
+ my $dist = 1;
my $nearby = $c->model('DB::Nearby')->nearby(
$c, $dist, [ $p->id ], 5, $p->latitude, $p->longitude, undef, [ $p->category ], undef
@@ -496,7 +520,7 @@ sub nearby_json : Private {
);
my $json = { pins => \@pins };
- $json->{current} = $on_map_list_html if $on_map_list_html;
+ $json->{reports_list} = $on_map_list_html if $on_map_list_html;
my $body = encode_json($json);
$c->res->content_type('application/json; charset=utf-8');
$c->res->body($body);
diff --git a/perllib/FixMyStreet/App/Controller/Report/New.pm b/perllib/FixMyStreet/App/Controller/Report/New.pm
index 2a68b170e..f92a5cb22 100644
--- a/perllib/FixMyStreet/App/Controller/Report/New.pm
+++ b/perllib/FixMyStreet/App/Controller/Report/New.pm
@@ -99,12 +99,14 @@ sub report_new : Path : Args(0) {
# create a problem from the submitted details
$c->stash->{template} = "report/new/fill_in_details.html";
$c->forward('setup_categories_and_bodies');
+ $c->forward('setup_report_extra_fields');
$c->forward('generate_map');
$c->forward('check_for_category');
# deal with the user and report and check both are happy
return unless $c->forward('check_form_submitted');
+
$c->forward('/auth/check_csrf_token');
$c->forward('process_user');
$c->forward('process_report');
@@ -137,6 +139,7 @@ sub report_new_ajax : Path('mobile') : Args(0) {
}
$c->forward('setup_categories_and_bodies');
+ $c->forward('setup_report_extra_fields');
$c->forward('process_user');
$c->forward('process_report');
$c->forward('/photo/process_photo');
@@ -184,6 +187,7 @@ sub report_form_ajax : Path('ajax') : Args(0) {
}
$c->forward('setup_categories_and_bodies');
+ $c->forward('setup_report_extra_fields');
# render templates to get the html
my $category = $c->render_fragment( 'report/new/category.html');
@@ -200,8 +204,10 @@ sub report_form_ajax : Path('ajax') : Args(0) {
if ($c->user_exists) {
my @bodies = keys %{$c->stash->{bodies}};
my $ca_another_user = $c->user->has_permission_to('contribute_as_another_user', \@bodies);
- my $ca_body = $c->user->has_permission_to('contribute_as_body', \@bodies);
+ my $ca_anonymous_user = $c->user->has_permission_to('contribute_as_anonymous_user', \@bodies);
+ my $ca_body = $c->user->from_body && $c->user->has_permission_to('contribute_as_body', \@bodies);
$contribute_as->{another_user} = $ca_another_user if $ca_another_user;
+ $contribute_as->{anonymous_user} = $ca_anonymous_user if $ca_anonymous_user;
$contribute_as->{body} = $ca_body if $ca_body;
}
@@ -212,7 +218,6 @@ sub report_form_ajax : Path('ajax') : Args(0) {
category => $category,
extra_name_info => $extra_name_info,
titles_list => $extra_titles_list,
- categories => $c->stash->{category_options},
%$contribute_as ? (contribute_as => $contribute_as) : (),
$top_message ? (top_message => $top_message) : (),
}
@@ -233,6 +238,7 @@ sub category_extras_ajax : Path('category_extras') : Args(0) {
return 1;
}
$c->forward('setup_categories_and_bodies');
+ $c->forward('setup_report_extra_fields');
$c->forward('check_for_category');
my $category = $c->stash->{category} || "";
@@ -252,6 +258,9 @@ sub category_extras_ajax : Path('category_extras') : Args(0) {
if ($c->stash->{unresponsive}->{$category}) {
$generate = 1;
}
+ if ($c->stash->{report_extra_fields}) {
+ $generate = 1;
+ }
if ($generate) {
$category_extra = $c->render_fragment('report/new/category_extras.html', $vars);
}
@@ -493,7 +502,7 @@ Work out what the location of the report should be - either by using lat,lng or
a tile click or what's come in from a partial. Returns false if no location
could be found.
-=cut
+=cut
sub determine_location : Private {
my ( $self, $c ) = @_;
@@ -515,7 +524,7 @@ sub determine_location : Private {
Detect that the map tiles have been clicked on by looking for the tile
parameters.
-=cut
+=cut
sub determine_location_from_tile_click : Private {
my ( $self, $c ) = @_;
@@ -566,7 +575,7 @@ sub determine_location_from_tile_click : Private {
Use latitude and longitude stored in the report - this is probably result of a
partial report being loaded.
-=cut
+=cut
sub determine_location_from_report : Private {
my ( $self, $c ) = @_;
@@ -604,8 +613,8 @@ sub setup_categories_and_bodies : Private {
my $contacts #
= $c #
->model('DB::Contact') #
- ->not_deleted #
- ->search( { body_id => [ keys %bodies ] } );
+ ->active
+ ->search( { body_id => [ keys %bodies ] }, { prefetch => 'body' } );
my @contacts = $c->cobrand->categories_restriction($contacts)->all;
# variables to populate
@@ -632,13 +641,19 @@ sub setup_categories_and_bodies : Private {
# keysort does not appear to obey locale so use strcoll (see i18n.t)
@contacts = sort { strcoll( $a->category, $b->category ) } @contacts;
+ # Get defect types for inspectors
+ if ($c->cobrand->can('council_area_id')) {
+ my $category_defect_types = FixMyStreet::App->model('DB::DefectType')->by_categories($c->cobrand->council_area_id, @contacts);
+ $c->stash->{category_defect_types} = $category_defect_types;
+ }
+
my %seen;
foreach my $contact (@contacts) {
$bodies_to_list{ $contact->body_id } = $contact->body;
unless ( $seen{$contact->category} ) {
- push @category_options, $contact->category;
+ push @category_options, { name => $contact->category, value => $contact->category_display };
my $metas = $contact->get_metadata_for_input;
$category_extras{$contact->category} = $metas if @$metas;
@@ -650,13 +665,15 @@ sub setup_categories_and_bodies : Private {
$non_public_categories{ $contact->category } = 1 if $contact->non_public;
}
- $seen{$contact->category} = 1;
+ $seen{$contact->category} = $contact->category_display;
}
if (@category_options) {
# If there's an Other category present, put it at the bottom
- @category_options = ( _('-- Pick a category --'), grep { $_ ne _('Other') } @category_options );
- push @category_options, _('Other') if $seen{_('Other')};
+ @category_options = (
+ { name => _('-- Pick a category --'), value => _('-- Pick a category --') },
+ grep { $_->{name} ne _('Other') } @category_options );
+ push @category_options, { name => _('Other'), value => $seen{_('Other')} } if $seen{_('Other')};
}
$c->cobrand->call_hook(munge_category_list => \@category_options, \@contacts, \%category_extras);
@@ -679,6 +696,15 @@ sub setup_categories_and_bodies : Private {
$c->stash->{missing_details_body_names} = \@missing_details_body_names;
}
+sub setup_report_extra_fields : Private {
+ my ( $self, $c ) = @_;
+
+ return unless $c->cobrand->allow_report_extra_fields;
+
+ my @extras = $c->model('DB::ReportExtraFields')->for_cobrand($c->cobrand)->for_language($c->stash->{lang_code})->all;
+ $c->stash->{report_extra_fields} = \@extras;
+}
+
=head2 check_form_submitted
$bool = $c->forward('check_form_submitted');
@@ -734,7 +760,8 @@ sub process_user : Private {
$user->title( $user_title ) if $user_title;
$report->user( $user );
- if ($c->stash->{contributing_as_body} = $user->contributing_as('body', $c, $c->stash->{bodies})) {
+ if ($c->stash->{contributing_as_body} = $user->contributing_as('body', $c, $c->stash->{bodies}) or
+ $c->stash->{contributing_as_anonymous_user} = $user->contributing_as('anonymous_user', $c, $c->stash->{bodies})) {
$report->name($user->from_body->name);
$user->name($user->from_body->name) unless $user->name;
$c->stash->{no_reporter_alert} = 1;
@@ -814,6 +841,8 @@ sub process_report : Private {
# set some simple bool values (note they get inverted)
if ($c->stash->{contributing_as_body}) {
$report->anonymous(0);
+ } elsif ($c->stash->{contributing_as_anonymous_user}) {
+ $report->anonymous(1);
} else {
$report->anonymous( $params{may_show_name} ? 0 : 1 );
}
@@ -933,7 +962,24 @@ sub set_report_extras : Private {
}
}
- $c->cobrand->process_open311_extras( $c, @$contacts[0]->body_id, \@extra )
+ foreach my $extra_fields (@{ $c->stash->{report_extra_fields} }) {
+ my $metas = $extra_fields->get_extra_fields;
+ $param_prefix = "extra[" . $extra_fields->id . "]";
+ foreach my $field ( @$metas ) {
+ if ( lc( $field->{required} ) eq 'true' && !$c->cobrand->category_extra_hidden($field->{code})) {
+ unless ( $c->get_param($param_prefix . $field->{code}) ) {
+ $c->stash->{field_errors}->{ $field->{code} } = _('This information is required');
+ }
+ }
+ push @extra, {
+ name => $field->{code},
+ description => $field->{description},
+ value => $c->get_param($param_prefix . $field->{code}) || '',
+ };
+ }
+ }
+
+ $c->cobrand->process_open311_extras( $c, @$contacts[0]->body, \@extra )
if ( scalar @$contacts );
if ( @extra ) {
@@ -1140,7 +1186,7 @@ sub save_user_and_report : Private {
sub created_as_someone_else : Private {
my ($self, $c, $bodies) = @_;
- return $c->stash->{contributing_as_another_user} || $c->stash->{contributing_as_body};
+ return $c->stash->{contributing_as_another_user} || $c->stash->{contributing_as_body} || $c->stash->{contributing_as_anonymous_user};
}
=head2 generate_map
@@ -1203,9 +1249,14 @@ sub redirect_or_confirm_creation : Private {
to => [ [ $report->user->email, $report->name ] ],
} );
}
- $c->log->info($report->user->id . ' was logged in, showing confirmation page for ' . $report->id);
- $c->stash->{created_report} = 'loggedin';
- $c->stash->{template} = 'tokens/confirm_problem.html';
+ if ($c->user_exists && $c->user->has_body_permission_to('planned_reports')) {
+ $c->log->info($report->user->id . ' is an inspector - redirecting straight to report page for ' . $report->id);
+ $c->res->redirect( '/report/'. $report->id );
+ } else {
+ $c->log->info($report->user->id . ' was logged in, showing confirmation page for ' . $report->id);
+ $c->stash->{created_report} = 'loggedin';
+ $c->stash->{template} = 'tokens/confirm_problem.html';
+ }
return 1;
}
diff --git a/perllib/FixMyStreet/App/Controller/Report/Update.pm b/perllib/FixMyStreet/App/Controller/Report/Update.pm
index 4c2d92d5e..033f5c017 100644
--- a/perllib/FixMyStreet/App/Controller/Report/Update.pm
+++ b/perllib/FixMyStreet/App/Controller/Report/Update.pm
@@ -128,7 +128,7 @@ sub process_user : Private {
$update->user( $user );
# Just in case, make sure the user will have a name
- if ($c->stash->{contributing_as_body}) {
+ if ($c->stash->{contributing_as_body} or $c->stash->{contributing_as_anonymous_user}) {
$user->name($user->from_body->name) unless $user->name;
}
@@ -277,17 +277,19 @@ sub process_update : Private {
$update->mark_open($params{reopen} ? 1 : 0);
$c->stash->{contributing_as_body} = $c->user_exists && $c->user->contributing_as('body', $c, $update->problem->bodies_str_ids);
+ $c->stash->{contributing_as_anonymous_user} = $c->user_exists && $c->user->contributing_as('anonymous_user', $c, $update->problem->bodies_str_ids);
if ($c->stash->{contributing_as_body}) {
$update->name($c->user->from_body->name);
$update->anonymous(0);
+ } elsif ($c->stash->{contributing_as_anonymous_user}) {
+ $update->name($c->user->from_body->name);
+ $update->anonymous(1);
} else {
$update->name($name);
$update->anonymous($c->get_param('may_show_name') ? 0 : 1);
}
if ( $params{state} ) {
- $params{state} = 'fixed - council'
- if $params{state} eq 'fixed' && $c->user && $c->user->belongs_to_body( $update->problem->bodies_str );
$update->problem_state( $params{state} );
} else {
# we do this so we have a record of the state of the problem at this point
@@ -309,7 +311,8 @@ sub process_update : Private {
my @extra; # Next function fills this, but we don't need it here.
# This is just so that the error checking for these extra fields runs.
# TODO Use extra here as it is used on reports.
- $c->cobrand->process_open311_extras( $c, $update->problem->bodies_str, \@extra );
+ my $body = (values %{$update->problem->bodies})[0];
+ $c->cobrand->process_open311_extras( $c, $body, \@extra );
if ( $c->get_param('fms_extra_title') ) {
my %extras = ();
@@ -344,14 +347,11 @@ sub check_for_errors : Private {
my ( $self, $c ) = @_;
# they have to be an authority user to update the state
- if ( $c->get_param('state') ) {
+ my $state = $c->get_param('state');
+ if ( $state && $state ne $c->stash->{update}->problem->state ) {
my $error = 0;
$error = 1 unless $c->user && $c->user->belongs_to_body( $c->stash->{update}->problem->bodies_str );
-
- my $state = $c->get_param('state');
- $state = 'fixed - council' if $state eq 'fixed';
- $error = 1 unless ( grep { $state eq $_ } ( FixMyStreet::DB::Result::Problem->council_states() ) );
-
+ $error = 1 unless grep { $state eq $_ } FixMyStreet::DB::Result::Problem->visible_states();
if ( $error ) {
$c->stash->{errors} ||= [];
push @{ $c->stash->{errors} }, _('There was a problem with your update. Please try again.');
@@ -548,24 +548,17 @@ sub signup_for_alerts : Private {
my ( $self, $c ) = @_;
my $update = $c->stash->{update};
+ my $user = $update->user;
+ my $problem_id = $update->problem_id;
+
if ( $c->stash->{add_alert} ) {
my $options = {
- user => $update->user,
- alert_type => 'new_updates',
- parameter => $update->problem_id,
+ cobrand => $update->cobrand,
+ cobrand_data => $update->cobrand_data,
+ lang => $update->lang,
};
- my $alert = $c->model('DB::Alert')->find($options);
- unless ($alert) {
- $alert = $c->model('DB::Alert')->create({
- %$options,
- cobrand => $update->cobrand,
- cobrand_data => $update->cobrand_data,
- lang => $update->lang,
- });
- }
- $alert->confirm();
-
- } elsif ( my $alert = $update->user->alert_for_problem($update->problem_id) ) {
+ $user->create_alert($problem_id, $options);
+ } elsif ( my $alert = $user->alert_for_problem($problem_id) ) {
$alert->disable();
}
diff --git a/perllib/FixMyStreet/App/Controller/Reports.pm b/perllib/FixMyStreet/App/Controller/Reports.pm
index ed851f71f..8f8205719 100644
--- a/perllib/FixMyStreet/App/Controller/Reports.pm
+++ b/perllib/FixMyStreet/App/Controller/Reports.pm
@@ -36,6 +36,12 @@ sub index : Path : Args(0) {
if ( $c->cobrand->moniker eq 'zurich' ) {
$c->forward( 'stash_report_filter_status' );
$c->forward( 'load_and_group_problems' );
+ $c->stash->{body} = { id => 0 }; # So template can fetch the list
+
+ if ($c->get_param('ajax')) {
+ $c->detach('ajax', [ 'reports/_problem-list.html' ]);
+ }
+
my $pins = $c->stash->{pins};
$c->stash->{page} = 'reports';
FixMyStreet::Map::display_map(
@@ -54,6 +60,15 @@ sub index : Path : Args(0) {
$c->detach( 'redirect_body' );
}
+ if (my $body = $c->get_param('body')) {
+ $body = $c->model('DB::Body')->find( { id => $body } );
+ if ($body) {
+ $body = $c->cobrand->short_name($body);
+ $c->res->redirect("/reports/$body");
+ $c->detach;
+ }
+ }
+
# Fetch all bodies
my @bodies = $c->model('DB::Body')->search({
deleted => 0,
@@ -67,15 +82,21 @@ sub index : Path : Args(0) {
$c->stash->{bodies} = \@bodies;
$c->stash->{any_empty_bodies} = any { $_->get_column('area_count') == 0 } @bodies;
- eval {
+ my $dashboard = eval {
+ my $data = File::Slurp::read_file(
+ FixMyStreet->path_to( '../data/all-reports-dashboard.json' )->stringify
+ );
+ $c->stash(decode_json($data));
+ return 1;
+ };
+ my $table = eval {
my $data = File::Slurp::read_file(
FixMyStreet->path_to( '../data/all-reports.json' )->stringify
);
- my $j = decode_json($data);
- $c->stash->{fixed} = $j->{fixed};
- $c->stash->{open} = $j->{open};
+ $c->stash(decode_json($data));
+ return 1;
};
- if ($@) {
+ if (!$dashboard && !$table) {
my $message = _("There was a problem showing the All Reports page. Please try again later.");
if ($c->config->{STAGING_SITE}) {
$message .= '</p><p>Perhaps the bin/update-all-reports script needs running. Use: bin/update-all-reports</p><p>'
@@ -88,7 +109,7 @@ sub index : Path : Args(0) {
$c->response->header('Cache-Control' => 'max-age=3600');
}
-=head2 index
+=head2 body
Show the summary page for a particular body.
@@ -99,7 +120,7 @@ sub body : Path : Args(1) {
$c->detach( 'ward', [ $body ] );
}
-=head2 index
+=head2 ward
Show the summary page for a particular ward.
@@ -135,7 +156,7 @@ sub ward : Path : Args(2) {
distinct => 1,
order_by => [ 'category' ],
} )->all;
- @categories = map { $_->category } @categories;
+ @categories = map { { name => $_->category, value => $_->category_display } } @categories;
$c->stash->{filter_categories} = \@categories;
$c->stash->{filter_category} = { map { $_ => 1 } $c->get_param_list('filter_category', 1) };
@@ -303,6 +324,19 @@ sub body_check : Private {
}
}
+ my @translations = $c->model('DB::Translation')->search( {
+ tbl => 'body',
+ col => 'name',
+ msgstr => $q_body
+ } )->all;
+
+ if (@translations == 1) {
+ if ( my $body = $c->model('DB::Body')->find( { id => $translations[0]->object_id } ) ) {
+ $c->stash->{body} = $body;
+ return;
+ }
+ }
+
# No result, bad body name.
$c->detach( 'redirect_index' );
}
@@ -369,8 +403,6 @@ sub load_and_group_problems : Private {
$c->forward('stash_report_sort', [ $c->cobrand->reports_ordering ]);
my $page = $c->get_param('p') || 1;
- # NB: If 't' is specified, it will override 'status'.
- my $type = $c->get_param('t') || 'all';
my $category = [ $c->get_param_list('filter_category', 1) ];
my $states = $c->stash->{filter_problem_states};
@@ -382,6 +414,18 @@ sub load_and_group_problems : Private {
order_by => $c->stash->{sort_order},
rows => $c->cobrand->reports_per_page,
};
+ if ($c->user_exists && $c->stash->{body}) {
+ my $bid = $c->stash->{body}->id;
+ my $prefetch = [];
+ if ($c->user->has_permission_to('planned_reports', $bid)) {
+ push @$prefetch, 'user_planned_reports';
+ }
+ if ($c->user->has_permission_to('report_edit_priority', $bid) || $c->user->has_permission_to('report_inspect', $bid)) {
+ push @$prefetch, 'response_priority';
+ }
+ $prefetch = $prefetch->[0] if @$prefetch == 1;
+ $filter->{prefetch} = $prefetch;
+ }
if (defined $c->stash->{filter_status}{shortlisted}) {
$where->{'me.id'} = { '=', \"user_planned_reports.report_id"};
@@ -398,25 +442,6 @@ sub load_and_group_problems : Private {
$where->{'me.id'} = { -not_in => $shortlisted_ids };
}
- my $not_open = [ FixMyStreet::DB::Result::Problem::fixed_states(), FixMyStreet::DB::Result::Problem::closed_states() ];
- if ( $type eq 'new' ) {
- $where->{confirmed} = { '>', \"current_timestamp - INTERVAL '4 week'" };
- $where->{state} = { 'IN', [ FixMyStreet::DB::Result::Problem::open_states() ] };
- } elsif ( $type eq 'older' ) {
- $where->{confirmed} = { '<', \"current_timestamp - INTERVAL '4 week'" };
- $where->{lastupdate} = { '>', \"current_timestamp - INTERVAL '8 week'" };
- $where->{state} = { 'IN', [ FixMyStreet::DB::Result::Problem::open_states() ] };
- } elsif ( $type eq 'unknown' ) {
- $where->{lastupdate} = { '<', \"current_timestamp - INTERVAL '8 week'" };
- $where->{state} = { 'IN', [ FixMyStreet::DB::Result::Problem::open_states() ] };
- } elsif ( $type eq 'fixed' ) {
- $where->{lastupdate} = { '>', \"current_timestamp - INTERVAL '8 week'" };
- $where->{state} = $not_open;
- } elsif ( $type eq 'older_fixed' ) {
- $where->{lastupdate} = { '<', \"current_timestamp - INTERVAL '8 week'" };
- $where->{state} = $not_open;
- }
-
if (@$category) {
$where->{category} = $category;
}
@@ -445,7 +470,6 @@ sub load_and_group_problems : Private {
my ( %problems, @pins );
while ( my $problem = $problems->next ) {
- $c->log->debug( $problem->cobrand . ', cobrand is ' . $c->cobrand->moniker );
if ( !$c->stash->{body} ) {
add_row( $c, $problem, 0, \%problems, \@pins );
next;
@@ -531,6 +555,18 @@ sub stash_report_filter_status : Private {
$filter_status{unshortlisted} = 1;
}
+ if ($c->user and ($c->user->is_superuser or (
+ $c->stash->{body} and $c->user->belongs_to_body($c->stash->{body}->id)
+ ))) {
+ $c->stash->{filter_states} = $c->cobrand->state_groups_inspect;
+ foreach my $state (FixMyStreet::DB::Result::Problem->visible_states()) {
+ if ($status{$state}) {
+ $filter_problem_states{$state} = 1;
+ $filter_status{$state} = 1;
+ }
+ }
+ }
+
if (keys %filter_problem_states == 0) {
my $s = FixMyStreet::DB::Result::Problem->open_states();
%filter_problem_states = (%filter_problem_states, %$s);
diff --git a/perllib/FixMyStreet/App/Controller/Root.pm b/perllib/FixMyStreet/App/Controller/Root.pm
index 4f098dfc3..7f70623ae 100644
--- a/perllib/FixMyStreet/App/Controller/Root.pm
+++ b/perllib/FixMyStreet/App/Controller/Root.pm
@@ -16,6 +16,18 @@ FixMyStreet::App::Controller::Root - Root Controller for FixMyStreet::App
=head1 METHODS
+=head2 begin
+
+Any pre-flight checking for all requests
+
+=cut
+sub begin : Private {
+ my ( $self, $c ) = @_;
+
+ $c->forward( 'check_login_required' );
+}
+
+
=head2 auto
Set up general things for this instance
@@ -58,6 +70,11 @@ sub index : Path : Args(0) {
return;
}
+ if ($c->stash->{homepage_template}) {
+ $c->stash->{template} = $c->stash->{homepage_template};
+ $c->detach;
+ }
+
$c->forward('/auth/get_csrf_token');
}
@@ -125,6 +142,27 @@ sub page_error : Private {
$c->response->status($code);
}
+sub check_login_required : Private {
+ my ($self, $c) = @_;
+
+ return if $c->user_exists || !FixMyStreet->config('LOGIN_REQUIRED');
+
+ # Whitelisted URL patterns are allowed without login
+ my $whitelist = qr{
+ ^auth(/|$)
+ | ^js/translation_strings\.(.*?)\.js
+ | ^[PACQM]/ # various tokens that log the user in
+ }x;
+ return if $c->request->path =~ $whitelist;
+
+ # Blacklisted URLs immediately 404
+ # This is primarily to work around a Safari bug where the appcache
+ # URL is requested in an infinite loop if it returns a 302 redirect.
+ $c->detach('/page_error_404_not_found', []) if $c->request->path =~ /^offline/;
+
+ $c->detach( '/auth/redirect' );
+}
+
=head2 end
Attempt to render a view, if needed.
diff --git a/perllib/FixMyStreet/App/Controller/Rss.pm b/perllib/FixMyStreet/App/Controller/Rss.pm
index 28f1aba43..3497ad0e1 100755
--- a/perllib/FixMyStreet/App/Controller/Rss.pm
+++ b/perllib/FixMyStreet/App/Controller/Rss.pm
@@ -3,6 +3,7 @@ package FixMyStreet::App::Controller::Rss;
use Moose;
use namespace::autoclean;
use POSIX qw(strftime);
+use HTML::Entities;
use URI::Escape;
use XML::RSS;
@@ -11,8 +12,7 @@ use FixMyStreet::App::Model::PhotoSet;
use FixMyStreet::Gaze;
use mySociety::Locale;
use mySociety::MaPit;
-use mySociety::Sundries qw(ordinal);
-use mySociety::Web qw(ent);
+use Lingua::EN::Inflect qw(ORD);
BEGIN { extends 'Catalyst::Controller'; }
@@ -250,7 +250,7 @@ sub add_row : Private {
};
$row->{created} = strftime("%e %B", $6, $5, $4, $3, $2-1, $1-1900, -1, -1, 0);
$row->{created} =~ s/^\s+//;
- $row->{created} =~ s/^(\d+)/ordinal($1)/e if $c->stash->{lang_code} eq 'en-gb';
+ $row->{created} =~ s/^(\d+)/ORD($1)/e if $c->stash->{lang_code} eq 'en-gb';
}
if ($row->{confirmed}) {
$row->{confirmed} =~ /^(\d\d\d\d)-(\d\d)-(\d\d) (\d\d):(\d\d):(\d\d)/;
@@ -259,7 +259,7 @@ sub add_row : Private {
};
$row->{confirmed} = strftime("%e %B", $6, $5, $4, $3, $2-1, $1-1900, -1, -1, 0);
$row->{confirmed} =~ s/^\s+//;
- $row->{confirmed} =~ s/^(\d+)/ordinal($1)/e if $c->stash->{lang_code} eq 'en-gb';
+ $row->{confirmed} =~ s/^(\d+)/ORD($1)/e if $c->stash->{lang_code} eq 'en-gb';
}
(my $title = _($alert_type->item_title)) =~ s/\{\{(.*?)}}/$row->{$1}/g;
@@ -270,13 +270,13 @@ sub add_row : Private {
my $url = $base_url . $link;
my %item = (
- title => ent($title),
+ title => encode_entities($title),
link => $url,
guid => $url,
- description => ent(ent($desc)) # Yes, double-encoded, really.
+ description => encode_entities(encode_entities($desc)) # Yes, double-encoded, really.
);
$item{pubDate} = $pubDate if $pubDate;
- $item{category} = ent($row->{category}) if $row->{category};
+ $item{category} = encode_entities($row->{category}) if $row->{category};
if ($c->cobrand->allow_photo_display($row) && $row->{photo}) {
# Bit yucky as we don't have full objects here
@@ -285,16 +285,16 @@ sub add_row : Private {
my ($hash, $format) = split /\./, $first_fn;
my $cachebust = substr($hash, 0, 8);
my $key = $alert_type->item_table eq 'comment' ? 'c/' : '';
- $item{description} .= ent("\n<br><img src=\"". $base_url . "/photo/$key$row->{id}.0.$format?$cachebust\">");
+ $item{description} .= encode_entities("\n<br><img src=\"". $base_url . "/photo/$key$row->{id}.0.$format?$cachebust\">");
}
if ( $row->{used_map} ) {
- my $address = $c->cobrand->find_closest_address_for_rss( $row->{latitude}, $row->{longitude}, $row );
- $item{description} .= ent("\n<br>$address") if $address;
+ my $address = $c->cobrand->find_closest_address_for_rss($row);
+ $item{description} .= encode_entities("\n<br>$address") if $address;
}
my $recipient_name = $c->cobrand->contact_name;
- $item{description} .= ent("\n<br><a href='$url'>" .
+ $item{description} .= encode_entities("\n<br><a href='$url'>" .
sprintf(_("Report on %s"), $recipient_name) . "</a>");
if ($row->{latitude} || $row->{longitude}) {
@@ -329,9 +329,9 @@ sub add_parameters : Private {
(my $desc = _($alert_type->head_description)) =~ s/\{\{(.*?)}}/$row->{$1}/g;
$c->stash->{rss}->channel(
- title => ent($title),
+ title => encode_entities($title),
link => $c->uri_for($link) . ($c->stash->{qs} || ''),
- description => ent($desc),
+ description => encode_entities($desc),
language => 'en-gb',
);
}
diff --git a/perllib/FixMyStreet/App/Model/DB.pm b/perllib/FixMyStreet/App/Model/DB.pm
index ac1f98dc9..c116abffc 100644
--- a/perllib/FixMyStreet/App/Model/DB.pm
+++ b/perllib/FixMyStreet/App/Model/DB.pm
@@ -5,11 +5,26 @@ use strict;
use warnings;
use FixMyStreet;
+use Catalyst::Utils;
+use Moose;
+
+with 'Catalyst::Component::InstancePerContext';
__PACKAGE__->config(
- schema_class => 'FixMyStreet::DB',
- connect_info => sub { FixMyStreet::DB->storage->dbh },
+ schema_class => 'FixMyStreet::DB::Schema',
+ connect_info => sub { FixMyStreet::DB->schema->storage->dbh },
);
+__PACKAGE__->config(
+ traits => ['QueryLog::AdoptPlack'],
+)
+ if Catalyst::Utils::env_value( 'FixMyStreet::App', 'DEBUG' );
+
+sub build_per_context_instance {
+ my ( $self, $c ) = @_;
+ # $self->schema->cobrand($c->cobrand);
+ $self->schema->cache({});
+ return $self;
+}
=head1 NAME
@@ -17,7 +32,7 @@ FixMyStreet::App::Model::DB - Catalyst DBIC Schema Model
=head1 DESCRIPTION
-L<Catalyst::Model::DBIC::Schema> Model using schema L<FixMyStreet::DB>
+L<Catalyst::Model::DBIC::Schema> Model using schema L<FixMyStreet::DB::Schema>
=cut
diff --git a/perllib/FixMyStreet/App/View/Web.pm b/perllib/FixMyStreet/App/View/Web.pm
index 496463700..93aa0e2fb 100644
--- a/perllib/FixMyStreet/App/View/Web.pm
+++ b/perllib/FixMyStreet/App/View/Web.pm
@@ -18,6 +18,7 @@ __PACKAGE__->config(
expose_methods => [
'tprintf', 'prettify_dt',
'version', 'decode',
+ 'prettify_state',
],
FILTERS => {
add_links => \&add_links,
@@ -167,5 +168,11 @@ sub decode {
return $text;
}
+sub prettify_state {
+ my ($self, $c, $text, $single_fixed) = @_;
+
+ return FixMyStreet::DB->resultset("State")->display($text, $single_fixed);
+}
+
1;
diff --git a/perllib/FixMyStreet/Cobrand.pm b/perllib/FixMyStreet/Cobrand.pm
index 4b9f2bd0b..a0a076f67 100644
--- a/perllib/FixMyStreet/Cobrand.pm
+++ b/perllib/FixMyStreet/Cobrand.pm
@@ -158,8 +158,8 @@ sub body_handler {
foreach my $avail ( $class->available_cobrand_classes ) {
my $cobrand = $class->get_class_for_moniker($avail->{moniker})->new({});
- next unless $cobrand->can('council_id');
- return $cobrand if $areas->{$cobrand->council_id};
+ next unless $cobrand->can('council_area_id');
+ return $cobrand if $areas->{$cobrand->council_area_id};
}
}
diff --git a/perllib/FixMyStreet/Cobrand/Angus.pm b/perllib/FixMyStreet/Cobrand/Angus.pm
index 0361c2d11..51a3da56a 100644
--- a/perllib/FixMyStreet/Cobrand/Angus.pm
+++ b/perllib/FixMyStreet/Cobrand/Angus.pm
@@ -4,7 +4,7 @@ use parent 'FixMyStreet::Cobrand::UKCouncils';
use strict;
use warnings;
-sub council_id { return 2550; }
+sub council_area_id { return 2550; }
sub council_area { return 'Angus'; }
sub council_name { return 'Angus Council'; }
sub council_url { return 'angus'; }
@@ -70,13 +70,17 @@ sub temp_update_contacts {
my $contact_rs = $self->{c}->model('DB::Contact');
+ my $body = FixMyStreet::DB->resultset('Body')->search({
+ 'body_areas.area_id' => $self->council_area_id,
+ }, { join => 'body_areas' })->first;
+
my $_update = sub {
my ($category, $field, $category_details) = @_;
# NB: we're accepting just 1 field, but supply as array [ $field ]
my $contact = $contact_rs->find_or_create(
{
- body_id => $self->council_id,
+ body => $body,
category => $category,
%{ $category_details || {} },
},
diff --git a/perllib/FixMyStreet/Cobrand/Borsetshire.pm b/perllib/FixMyStreet/Cobrand/Borsetshire.pm
new file mode 100644
index 000000000..7ddcff469
--- /dev/null
+++ b/perllib/FixMyStreet/Cobrand/Borsetshire.pm
@@ -0,0 +1,32 @@
+package FixMyStreet::Cobrand::Borsetshire;
+use parent 'FixMyStreet::Cobrand::Whitelabel';
+
+use strict;
+use warnings;
+
+sub council_area_id { return 2608; }
+sub council_area { return 'Borsetshire'; }
+sub council_name { return 'Borsetshire County Council'; }
+sub council_url { return 'demo'; }
+
+sub example_places {
+ return ( 'BS36 2NS', 'Coalpit Heath' );
+}
+
+sub pin_colour {
+ my ( $self, $p, $context ) = @_;
+ return 'grey' if $p->is_closed;
+ return 'green' if $p->is_fixed;
+ return 'yellow' if $p->state eq 'confirmed';
+ return 'orange'; # all the other `open_states` like "in progress"
+}
+
+sub path_to_pin_icons {
+ return '/cobrands/oxfordshire/images/';
+}
+
+sub send_questionnaires {
+ return 0;
+}
+
+1;
diff --git a/perllib/FixMyStreet/Cobrand/Bristol.pm b/perllib/FixMyStreet/Cobrand/Bristol.pm
index fa7f98666..b11a52643 100644
--- a/perllib/FixMyStreet/Cobrand/Bristol.pm
+++ b/perllib/FixMyStreet/Cobrand/Bristol.pm
@@ -4,7 +4,7 @@ use parent 'FixMyStreet::Cobrand::UKCouncils';
use strict;
use warnings;
-sub council_id { return 2561; }
+sub council_area_id { return 2561; }
sub council_area { return 'Bristol'; }
sub council_name { return 'Bristol County Council'; }
sub council_url { return 'bristol'; }
@@ -68,7 +68,7 @@ sub categories_restriction {
# cobrand, not the email categories from FMS.com. We've set up the
# Email categories with a devolved send_method, so can identify Open311
# categories as those which have a blank send_method.
- return $rs->search( { send_method => undef } );
+ return $rs->search( { 'me.send_method' => undef } );
}
1;
diff --git a/perllib/FixMyStreet/Cobrand/Bromley.pm b/perllib/FixMyStreet/Cobrand/Bromley.pm
index 169175947..e7d5e186a 100644
--- a/perllib/FixMyStreet/Cobrand/Bromley.pm
+++ b/perllib/FixMyStreet/Cobrand/Bromley.pm
@@ -5,7 +5,7 @@ use strict;
use warnings;
use DateTime::Format::W3CDTF;
-sub council_id { return 2482; }
+sub council_area_id { return 2482; }
sub council_area { return 'Bromley'; }
sub council_name { return 'Bromley Council'; }
sub council_url { return 'bromley'; }
diff --git a/perllib/FixMyStreet/Cobrand/Default.pm b/perllib/FixMyStreet/Cobrand/Default.pm
index ac70fff08..250919d09 100644
--- a/perllib/FixMyStreet/Cobrand/Default.pm
+++ b/perllib/FixMyStreet/Cobrand/Default.pm
@@ -4,6 +4,7 @@ use base 'FixMyStreet::Cobrand::Base';
use strict;
use warnings;
use FixMyStreet;
+use FixMyStreet::DB;
use FixMyStreet::Geocode::Bing;
use DateTime;
use Encode;
@@ -71,7 +72,7 @@ a cobrand that only wants some of the data.
sub problems {
my $self = shift;
- return $self->problems_restriction($self->{c}->model('DB::Problem'));
+ return $self->problems_restriction(FixMyStreet::DB->resultset('Problem'));
}
=head1 problems_on_map
@@ -83,7 +84,7 @@ restricted to a subset if we're on a cobrand that only wants some of the data.
sub problems_on_map {
my $self = shift;
- return $self->problems_on_map_restriction($self->{c}->model('DB::Problem'));
+ return $self->problems_on_map_restriction(FixMyStreet::DB->resultset('Problem'));
}
=head1 updates
@@ -95,7 +96,7 @@ a cobrand that only wants some of the data.
sub updates {
my $self = shift;
- return $self->updates_restriction($self->{c}->model('DB::Comment'));
+ return $self->updates_restriction(FixMyStreet::DB->resultset('Comment'));
}
=head1 problems_restriction/updates_restriction
@@ -149,7 +150,7 @@ a cobrand that only wants some of the data.
sub users {
my $self = shift;
- return $self->users_restriction($self->{c}->model('DB::User'));
+ return $self->users_restriction(FixMyStreet::DB->resultset('User'));
}
=head1 users_restriction
@@ -178,7 +179,7 @@ sub restriction {
return $self->moniker ? { cobrand => $self->moniker } : {};
}
-=head2 base_url_with_lang
+=head2 base_url_with_lang
=cut
@@ -268,6 +269,8 @@ sub set_lang_and_domain {
DateTime->DefaultLocale( 'en_US' );
}
+ FixMyStreet::DB->schema->lang($set_lang);
+
return $set_lang;
}
sub languages { FixMyStreet->config('LANGUAGES') || [] }
@@ -355,7 +358,7 @@ sub front_stats_data {
Returns any disambiguating information available. Defaults to none.
-=cut
+=cut
sub disambiguate_location { FixMyStreet->config('GEOCODING_DISAMBIGUATION') or {}; }
@@ -509,27 +512,35 @@ sub geocoded_string_check { return 1; }
=head2 find_closest
-Used by send-reports to attach nearest things to the bottom of the report
+Used by send-reports and similar to attach nearest things to the bottom of the
+report.
=cut
sub find_closest {
- my ( $self, $latitude, $longitude, $problem ) = @_;
- my $str = '';
+ my ( $self, $problem, $as_data ) = @_;
- if ( my $j = FixMyStreet::Geocode::Bing::reverse( $latitude, $longitude, disambiguate_location()->{bing_culture} ) ) {
+ my $j = $problem->geocode;
+ if (!$j) {
+ $j = FixMyStreet::Geocode::Bing::reverse( $problem->latitude, $problem->longitude,
+ disambiguate_location()->{bing_culture} );
# cache the bing results for use in alerts
- if ( $problem ) {
- $problem->geocode( $j );
- $problem->update;
- }
- if ($j->{resourceSets}[0]{resources}[0]{name}) {
- $str .= sprintf(_("Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"),
- $j->{resourceSets}[0]{resources}[0]{name}) . "\n\n";
+ $problem->geocode( $j );
+ $problem->update;
+ }
+
+ my $data = $as_data ? {} : '';
+ if ($j && $j->{resourceSets}[0]{resources}[0]{name}) {
+ my $str = $j->{resourceSets}[0]{resources}[0]{name};
+ if ($as_data) {
+ $data->{road} = $str;
+ } else {
+ $data .= sprintf(_("Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"),
+ $str) . "\n\n";
}
}
- return $str;
+ return $data;
}
=head2 find_closest_address_for_rss
@@ -539,26 +550,14 @@ Used by rss feeds to provide a bit more context
=cut
sub find_closest_address_for_rss {
- my ( $self, $latitude, $longitude, $problem ) = @_;
- my $str = '';
+ my ( $self, $problem ) = @_;
- my $j;
- if ( $problem && ref($problem) =~ /FixMyStreet/ && $problem->can( 'geocode' ) ) {
- $j = $problem->geocode;
- } else {
+ if (ref($problem) eq 'HASH') {
$problem = FixMyStreet::App->model('DB::Problem')->find( { id => $problem->{id} } );
- $j = $problem->geocode;
}
+ my $j = $problem->geocode;
- # if we've not cached it then we don't want to look it up in order to avoid
- # hammering the bing api
- # if ( !$j ) {
- # $j = FixMyStreet::Geocode::Bing::reverse( $latitude, $longitude, disambiguate_location()->{bing_culture}, 1 );
-
- # $problem->geocode( $j );
- # $problem->update;
- # }
-
+ my $str = '';
if ($j && $j->{resourceSets}[0]{resources}[0]{name}) {
my $address = $j->{resourceSets}[0]{resources}[0]{address};
my @address;
@@ -643,6 +642,7 @@ sub admin_pages {
# There are some pages that only super users can see
if ( $user->is_superuser ) {
$pages->{flagged} = [ _('Flagged'), 7 ];
+ $pages->{states} = [ _('States'), 8 ];
$pages->{config} = [ _('Configuration'), 9];
};
# And some that need special permissions
@@ -669,6 +669,10 @@ sub admin_pages {
$pages->{users} = [ _('Users'), 6 ];
$pages->{user_edit} = [ undef, undef ];
}
+ if ( $self->allow_report_extra_fields && $user->has_body_permission_to('category_edit') ) {
+ $pages->{reportextrafields} = [ _('Extra Fields'), 10 ];
+ $pages->{reportextrafields_edit} = [ undef, undef ];
+ }
return $pages;
}
@@ -711,6 +715,7 @@ sub available_permissions {
report_instruct => _("Instruct contractors to fix problems"), # future use
planned_reports => _("Manage shortlist"),
contribute_as_another_user => _("Create reports/updates on a user's behalf"),
+ contribute_as_anonymous_user => _("Create reports/updates as anonymous user"),
contribute_as_body => _("Create reports/updates as the council"),
view_body_contribute_details => _("See user detail for reports created as the council"),
@@ -816,7 +821,7 @@ sub is_two_tier { 0; }
=item council_rss_alert_options
-Generate a set of options for council rss alerts.
+Generate a set of options for council rss alerts.
=cut
@@ -948,6 +953,15 @@ sub pin_colour {
return $p->is_fixed ? 'green' : 'red';
}
+=head2 pin_new_report_colour
+
+Returns the colour of pin to be used for a new report.
+
+=cut
+sub pin_new_report_colour {
+ return 'green';
+}
+
=head2 path_to_pin_icons
Used to override the path for the pin icons if you want to add custom pin icons
@@ -1053,6 +1067,28 @@ sub show_unconfirmed_reports {
0;
}
+sub state_groups_admin {
+ my $rs = FixMyStreet::DB->resultset("State");
+ my @fixed = FixMyStreet::DB::Result::Problem->fixed_states;
+ [
+ [ $rs->display('confirmed'), [ FixMyStreet::DB::Result::Problem->open_states ] ],
+ @fixed ? [ $rs->display('fixed'), [ FixMyStreet::DB::Result::Problem->fixed_states ] ] : (),
+ [ $rs->display('closed'), [ FixMyStreet::DB::Result::Problem->closed_states ] ],
+ [ $rs->display('hidden'), [ FixMyStreet::DB::Result::Problem->hidden_states ] ]
+ ]
+}
+
+sub state_groups_inspect {
+ my $rs = FixMyStreet::DB->resultset("State");
+ my @fixed = FixMyStreet::DB::Result::Problem->fixed_states;
+ [
+ [ $rs->display('confirmed'), [ grep { $_ ne 'planned' } FixMyStreet::DB::Result::Problem->open_states ] ],
+ @fixed ? [ $rs->display('fixed'), [ 'fixed - council' ] ] : (),
+ [ $rs->display('closed'), [ grep { $_ ne 'closed' } FixMyStreet::DB::Result::Problem->closed_states ] ],
+ [ $rs->display('hidden'), [ 'hidden' ] ]
+ ]
+}
+
=head2 never_confirm_updates
If true then we never send an email to confirm an update
@@ -1212,5 +1248,16 @@ the 'n days ago' format is used. By default the absolute date is always used.
=cut
sub display_days_ago_threshold { 0 }
+=head2 allow_report_extra_fields
+
+Used to control whether site-wide extra fields are available. If true,
+users with the category_edit permission can add site-wide fields via the
+admin.
+
+=cut
+
+sub allow_report_extra_fields { 0 }
+
+
1;
diff --git a/perllib/FixMyStreet/Cobrand/EastHerts.pm b/perllib/FixMyStreet/Cobrand/EastHerts.pm
index ea5ed7f55..0e60c6b08 100644
--- a/perllib/FixMyStreet/Cobrand/EastHerts.pm
+++ b/perllib/FixMyStreet/Cobrand/EastHerts.pm
@@ -4,7 +4,7 @@ use parent 'FixMyStreet::Cobrand::UKCouncils';
use strict;
use warnings;
-sub council_id { return 2342; }
+sub council_area_id { return 2342; }
sub council_area { return 'East Hertfordshire'; }
sub council_name { return 'East Hertfordshire District Council'; }
sub council_url { return 'eastherts'; }
@@ -51,4 +51,4 @@ sub contact_email {
return join( '@', 'enquiries', 'eastherts.gov.uk' );
}
-1; \ No newline at end of file
+1;
diff --git a/perllib/FixMyStreet/Cobrand/FiksGataMi.pm b/perllib/FixMyStreet/Cobrand/FiksGataMi.pm
index fd788d892..ddae3010b 100644
--- a/perllib/FixMyStreet/Cobrand/FiksGataMi.pm
+++ b/perllib/FixMyStreet/Cobrand/FiksGataMi.pm
@@ -68,8 +68,8 @@ sub geocoded_string_check {
}
sub find_closest {
- my ( $self, $latitude, $longitude ) = @_;
- return FixMyStreet::Geocode::OSM::closest_road_text( $self, $latitude, $longitude );
+ my ( $self, $problem ) = @_;
+ return FixMyStreet::Geocode::OSM::closest_road_text( $self, $problem->latitude, $problem->longitude );
}
# Used by send-reports, calling find_closest, calling OSM geocoding
diff --git a/perllib/FixMyStreet/Cobrand/FixMyStreet.pm b/perllib/FixMyStreet/Cobrand/FixMyStreet.pm
index 1052bac0e..c50721334 100644
--- a/perllib/FixMyStreet/Cobrand/FixMyStreet.pm
+++ b/perllib/FixMyStreet/Cobrand/FixMyStreet.pm
@@ -21,6 +21,8 @@ sub path_to_email_templates {
sub add_response_headers {
my $self = shift;
+ # uncoverable branch true
+ return if $self->{c}->debug;
my $csp_nonce = $self->{c}->stash->{csp_nonce} = unpack('h*', mySociety::Random::random_bytes(16, 1));
$self->{c}->res->header('Content-Security-Policy', "script-src 'self' www.google-analytics.com www.googleadservices.com 'unsafe-inline' 'nonce-$csp_nonce'")
}
diff --git a/perllib/FixMyStreet/Cobrand/FixaMinGata.pm b/perllib/FixMyStreet/Cobrand/FixaMinGata.pm
index 324811008..07a4ef920 100644
--- a/perllib/FixMyStreet/Cobrand/FixaMinGata.pm
+++ b/perllib/FixMyStreet/Cobrand/FixaMinGata.pm
@@ -67,8 +67,8 @@ sub geocoded_string_check {
}
sub find_closest {
- my ( $self, $latitude, $longitude ) = @_;
- return FixMyStreet::Geocode::OSM::closest_road_text( $self, $latitude, $longitude );
+ my ( $self, $problem ) = @_;
+ return FixMyStreet::Geocode::OSM::closest_road_text( $self, $problem->latitude, $problem->longitude );
}
# Used by send-reports, calling find_closest, calling OSM geocoding
diff --git a/perllib/FixMyStreet/Cobrand/Greenwich.pm b/perllib/FixMyStreet/Cobrand/Greenwich.pm
index 700a12782..ce4fae381 100644
--- a/perllib/FixMyStreet/Cobrand/Greenwich.pm
+++ b/perllib/FixMyStreet/Cobrand/Greenwich.pm
@@ -4,7 +4,7 @@ use parent 'FixMyStreet::Cobrand::UKCouncils';
use strict;
use warnings;
-sub council_id { return 2493; }
+sub council_area_id { return 2493; }
sub council_area { return 'Greenwich'; }
sub council_name { return 'Royal Borough of Greenwich'; }
sub council_url { return 'greenwich'; }
diff --git a/perllib/FixMyStreet/Cobrand/Hart.pm b/perllib/FixMyStreet/Cobrand/Hart.pm
index 42c4a636e..3ff2a2a19 100644
--- a/perllib/FixMyStreet/Cobrand/Hart.pm
+++ b/perllib/FixMyStreet/Cobrand/Hart.pm
@@ -4,7 +4,7 @@ use parent 'FixMyStreet::Cobrand::UKCouncils';
use strict;
use warnings;
-sub council_id { return 2333; } # http://mapit.mysociety.org/area/2333.html
+sub council_area_id { return 2333; } # http://mapit.mysociety.org/area/2333.html
sub council_area { return 'Hart'; }
sub council_name { return 'Hart Council'; }
sub council_url { return 'hart'; }
diff --git a/perllib/FixMyStreet/Cobrand/Oxfordshire.pm b/perllib/FixMyStreet/Cobrand/Oxfordshire.pm
index 3e262a700..44747a16f 100644
--- a/perllib/FixMyStreet/Cobrand/Oxfordshire.pm
+++ b/perllib/FixMyStreet/Cobrand/Oxfordshire.pm
@@ -4,7 +4,7 @@ use base 'FixMyStreet::Cobrand::UKCouncils';
use strict;
use warnings;
-sub council_id { return 2237; }
+sub council_area_id { return 2237; }
sub council_area { return 'Oxfordshire'; }
sub council_name { return 'Oxfordshire County Council'; }
sub council_url { return 'oxfordshire'; }
@@ -96,7 +96,7 @@ sub problem_response_days {
return 10 if $p->category eq 'Utilities';
return 10 if $p->category eq 'Vegetation';
- return undef;
+ return 0;
}
sub reports_ordering {
@@ -106,12 +106,35 @@ sub reports_ordering {
sub pin_colour {
my ( $self, $p, $context ) = @_;
return 'grey' unless $self->owns_problem( $p );
- return 'grey' if $p->state eq 'not responsible';
- return 'green' if $p->is_fixed || $p->is_closed;
- return 'red' if $p->state eq 'confirmed';
+ return 'grey' if $p->is_closed;
+ return 'green' if $p->is_fixed;
+ return 'yellow' if $p->state eq 'confirmed';
+ return 'orange'; # all the other `open_states` like "in progress"
+}
+
+sub pin_new_report_colour {
return 'yellow';
}
+sub path_to_pin_icons {
+ return '/cobrands/oxfordshire/images/';
+}
+
+sub pin_hover_title {
+ my ($self, $problem, $title) = @_;
+ my $state = FixMyStreet::DB->resultset("State")->display($problem->state, 1);
+ return "$state: $title";
+}
+
+sub state_groups_inspect {
+ [
+ [ _('New'), [ 'confirmed', 'investigating' ] ],
+ [ _('Scheduled'), [ 'action scheduled' ] ],
+ [ _('Fixed'), [ 'fixed - council' ] ],
+ [ _('Closed'), [ 'not responsible', 'duplicate', 'unable to fix' ] ],
+ ]
+}
+
sub open311_config {
my ($self, $row, $h, $params) = @_;
diff --git a/perllib/FixMyStreet/Cobrand/Stevenage.pm b/perllib/FixMyStreet/Cobrand/Stevenage.pm
index 2c305d326..28734b14b 100644
--- a/perllib/FixMyStreet/Cobrand/Stevenage.pm
+++ b/perllib/FixMyStreet/Cobrand/Stevenage.pm
@@ -4,7 +4,7 @@ use parent 'FixMyStreet::Cobrand::UKCouncils';
use strict;
use warnings;
-sub council_id { return 2347; }
+sub council_area_id { return 2347; }
sub council_area { return 'Stevenage'; }
sub council_name { return 'Stevenage Council'; }
sub council_url { return 'stevenage'; }
diff --git a/perllib/FixMyStreet/Cobrand/UK.pm b/perllib/FixMyStreet/Cobrand/UK.pm
index 945af48f8..e1f5e565f 100644
--- a/perllib/FixMyStreet/Cobrand/UK.pm
+++ b/perllib/FixMyStreet/Cobrand/UK.pm
@@ -5,6 +5,7 @@ use strict;
use JSON::MaybeXS;
use mySociety::MaPit;
use mySociety::VotingArea;
+use Utils;
sub country { return 'GB'; }
sub area_types { [ 'DIS', 'LBO', 'MTD', 'UTA', 'CTY', 'COI', 'LGD' ] }
@@ -31,12 +32,11 @@ sub disambiguate_location {
sub process_open311_extras {
my $self = shift;
my $ctx = shift;
- my $body_id = shift;
+ my $body = shift;
my $extra = shift;
my $fields = shift || [];
- # XXX Hardcoded body ID matching mapit area ID
- if ( $body_id eq '2482' ) {
+ if ( $body && $body->name =~ /Bromley/ ) {
my @fields = ( 'fms_extra_title', @$fields );
for my $field ( @fields ) {
my $value = $ctx->get_param($field);
@@ -117,21 +117,27 @@ sub short_name {
}
sub find_closest {
- my ( $self, $latitude, $longitude, $problem ) = @_;
+ my ( $self, $problem, $as_data ) = @_;
- my $str = $self->SUPER::find_closest( $latitude, $longitude, $problem );
+ my $data = $self->SUPER::find_closest($problem, $as_data);
- my $url = "http://mapit.mysociety.org/nearest/4326/$longitude,$latitude";
+ my $mapit_url = FixMyStreet->config('MAPIT_URL');
+ my ($lat, $lon) = map { Utils::truncate_coordinate($_) } $problem->latitude, $problem->longitude;
+ my $url = $mapit_url . "nearest/4326/$lon,$lat";
my $j = LWP::Simple::get($url);
if ($j) {
$j = JSON->new->utf8->allow_nonref->decode($j);
if ($j->{postcode}) {
- $str .= sprintf(_("Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"),
- $j->{postcode}{postcode}, $j->{postcode}{distance}) . "\n\n";
+ if ($as_data) {
+ $data->{postcode} = $j->{postcode};
+ } else {
+ $data .= sprintf(_("Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"),
+ $j->{postcode}{postcode}, $j->{postcode}{distance}) . "\n\n";
+ }
}
}
- return $str;
+ return $data;
}
sub reports_body_check {
@@ -248,25 +254,25 @@ sub council_rss_alert_options {
push @options, {
type => 'area',
id => sprintf( 'area:%s:%s', $district->{id}, $district->{id_name} ),
- text => $district_name,
+ text => sprintf( _('Problems within %s'), $district_name ),
rss_text => sprintf( _('RSS feed for %s'), $district_name ),
uri => $c->uri_for( '/rss/area/' . $district->{short_name} )
}, {
type => 'area',
id => sprintf( 'area:%s:%s:%s:%s', $district->{id}, $d_ward->{id}, $district->{id_name}, $d_ward->{id_name} ),
- text => sprintf( _('%s ward, %s'), $d_ward_name, $district_name ),
+ text => sprintf( _('Problems within %s ward, %s'), $d_ward_name, $district_name ),
rss_text => sprintf( _('RSS feed for %s ward, %s'), $d_ward_name, $district_name ),
uri => $c->uri_for( '/rss/area/' . $district->{short_name} . '/' . $d_ward->{short_name} )
}, {
type => 'area',
id => sprintf( 'area:%s:%s', $county->{id}, $county->{id_name} ),
- text => $county_name,
+ text => sprintf( _('Problems within %s'), $county_name ),
rss_text => sprintf( _('RSS feed for %s'), $county_name ),
uri => $c->uri_for( '/rss/area/' . $county->{short_name} )
}, {
type => 'area',
id => sprintf( 'area:%s:%s:%s:%s', $county->{id}, $c_ward->{id}, $county->{id_name}, $c_ward->{id_name} ),
- text => sprintf( _('%s ward, %s'), $c_ward_name, $county_name ),
+ text => sprintf( _('Problems within %s ward, %s'), $c_ward_name, $county_name ),
rss_text => sprintf( _('RSS feed for %s ward, %s'), $c_ward_name, $county_name ),
uri => $c->uri_for( '/rss/area/' . $county->{short_name} . '/' . $c_ward->{short_name} )
};
@@ -274,26 +280,26 @@ sub council_rss_alert_options {
push @reported_to_options, {
type => 'council',
id => sprintf( 'council:%s:%s', $district->{id}, $district->{id_name} ),
- text => $district->{name},
+ text => sprintf( _('Reports sent to %s'), $district->{name} ),
rss_text => sprintf( _('RSS feed of %s'), $district->{name}),
uri => $c->uri_for( '/rss/reports/' . $district->{short_name} ),
}, {
type => 'ward',
id => sprintf( 'ward:%s:%s:%s:%s', $district->{id}, $d_ward->{id}, $district->{id_name}, $d_ward->{id_name} ),
rss_text => sprintf( _('RSS feed of %s, within %s ward'), $district->{name}, $d_ward->{name}),
- text => sprintf( _('%s, within %s ward'), $district->{name}, $d_ward->{name}),
+ text => sprintf( _('Reports sent to %s, within %s ward'), $district->{name}, $d_ward->{name}),
uri => $c->uri_for( '/rss/reports/' . $district->{short_name} . '/' . $d_ward->{short_name} ),
}, {
type => 'council',
id => sprintf( 'council:%s:%s', $county->{id}, $county->{id_name} ),
- text => $county->{name},
+ text => sprintf( _('Reports sent to %s'), $county->{name} ),
rss_text => sprintf( _('RSS feed of %s'), $county->{name}),
uri => $c->uri_for( '/rss/reports/' . $county->{short_name} ),
}, {
type => 'ward',
id => sprintf( 'ward:%s:%s:%s:%s', $county->{id}, $c_ward->{id}, $county->{id_name}, $c_ward->{id_name} ),
rss_text => sprintf( _('RSS feed of %s, within %s ward'), $county->{name}, $c_ward->{name}),
- text => sprintf( _('%s, within %s ward'), $county->{name}, $c_ward->{name}),
+ text => sprintf( _('Reports sent to %s, within %s ward'), $county->{name}, $c_ward->{name}),
uri => $c->uri_for( '/rss/reports/' . $county->{short_name} . '/' . $c_ward->{short_name} ),
};
@@ -321,15 +327,11 @@ sub report_check_for_errors {
);
}
- # XXX Hardcoded body ID matching mapit area ID
if ( $report->bodies_str && $report->detail ) {
# Custom character limit:
- # Bromley Council
- if ( $report->bodies_str eq '2482' && length($report->detail) > 1750 ) {
+ if ( $report->to_body_named('Bromley') && length($report->detail) > 1750 ) {
$errors{detail} = sprintf( _('Reports are limited to %s characters in length. Please shorten your report'), 1750 );
- }
- # Oxfordshire
- if ( $report->bodies_str eq '2237' && length($report->detail) > 1700 ) {
+ } elsif ( $report->to_body_named('Oxfordshire') && length($report->detail) > 1700 ) {
$errors{detail} = sprintf( _('Reports are limited to %s characters in length. Please shorten your report'), 1700 );
}
}
@@ -377,7 +379,7 @@ sub link_to_council_cobrand {
my $handler = $self->get_body_handler_for_problem($problem);
$self->{c}->log->debug( sprintf "bodies: %s areas: %s self: %s handler: %s", $problem->bodies_str, $problem->areas, $self->moniker, $handler->moniker );
my $bodies_str_ids = $problem->bodies_str_ids;
- if ( !mySociety::Config::get('AREA_LINKS_FROM_PROBLEMS') &&
+ if ( !FixMyStreet->config('AREA_LINKS_FROM_PROBLEMS') &&
scalar(@$bodies_str_ids) == 1 && $handler->is_council &&
$handler->moniker ne $self->{c}->cobrand->moniker
) {
diff --git a/perllib/FixMyStreet/Cobrand/UKCouncils.pm b/perllib/FixMyStreet/Cobrand/UKCouncils.pm
index e0b6b5298..b82e170b6 100644
--- a/perllib/FixMyStreet/Cobrand/UKCouncils.pm
+++ b/perllib/FixMyStreet/Cobrand/UKCouncils.pm
@@ -1,7 +1,5 @@
package FixMyStreet::Cobrand::UKCouncils;
-use base 'FixMyStreet::Cobrand::UK';
-
-# XXX Things using this cobrand base assume that a body ID === MapIt area ID
+use parent 'FixMyStreet::Cobrand::UK';
use strict;
use warnings;
@@ -40,16 +38,32 @@ sub restriction {
return { cobrand => shift->moniker };
}
+# UK cobrands assume that each MapIt area ID maps both ways with one body
+sub body {
+ my $self = shift;
+ my $body = FixMyStreet::DB->resultset('Body')->search({
+ 'body_areas.area_id' => $self->council_area_id
+ }, { join => 'body_areas' })->first;
+ return $body;
+}
+
sub problems_restriction {
my ($self, $rs) = @_;
return $rs if FixMyStreet->staging_flag('skip_checks');
- return $rs->to_body($self->council_id);
+ return $rs->to_body($self->body);
+}
+
+sub problems_on_map_restriction {
+ my ($self, $rs) = @_;
+ # If we're a two-tier council show all problems on the map and not just
+ # those for this cobrand's council to reduce duplicate reports.
+ return $self->is_two_tier ? $rs : $self->problems_restriction($rs);
}
sub updates_restriction {
my ($self, $rs) = @_;
return $rs if FixMyStreet->staging_flag('skip_checks');
- return $rs->to_body($self->council_id);
+ return $rs->to_body($self->body);
}
sub users_restriction {
@@ -75,7 +89,7 @@ sub users_restriction {
)->as_query;
my $or_query = [
- from_body => $self->council_id,
+ from_body => $self->body->id,
'me.id' => [ { -in => $problem_user_ids }, { -in => $update_user_ids } ],
];
if ($self->can('admin_user_domain')) {
@@ -108,7 +122,7 @@ sub area_check {
return 1 if FixMyStreet->staging_flag('skip_checks');
my $councils = $params->{all_areas};
- my $council_match = defined $councils->{$self->council_id};
+ my $council_match = defined $councils->{$self->council_area_id};
if ($council_match) {
return 1;
}
@@ -164,7 +178,7 @@ sub owns_problem {
@bodies = values %{$report->bodies};
}
my %areas = map { %{$_->areas} } @bodies;
- return $areas{$self->council_id} ? 1 : undef;
+ return $areas{$self->council_area_id} ? 1 : undef;
}
# If the council is two-tier then show pins for the other council as grey
@@ -192,7 +206,7 @@ sub admin_allow_user {
my ( $self, $user ) = @_;
return 1 if $user->is_superuser;
return undef unless defined $user->from_body;
- return $user->from_body->id == $self->council_id;
+ return $user->from_body->areas->{$self->council_area_id};
}
sub available_permissions {
diff --git a/perllib/FixMyStreet/Cobrand/Warwickshire.pm b/perllib/FixMyStreet/Cobrand/Warwickshire.pm
index e52188311..5fa967c62 100644
--- a/perllib/FixMyStreet/Cobrand/Warwickshire.pm
+++ b/perllib/FixMyStreet/Cobrand/Warwickshire.pm
@@ -4,7 +4,7 @@ use base 'FixMyStreet::Cobrand::UKCouncils';
use strict;
use warnings;
-sub council_id { return 2243; }
+sub council_area_id { return 2243; }
sub council_area { return 'Warwickshire'; }
sub council_name { return 'Warwickshire County Council'; }
sub council_url { return 'warwickshire'; }
diff --git a/perllib/FixMyStreet/Cobrand/WestBerkshire.pm b/perllib/FixMyStreet/Cobrand/WestBerkshire.pm
index 7e98187bb..e13d701a6 100644
--- a/perllib/FixMyStreet/Cobrand/WestBerkshire.pm
+++ b/perllib/FixMyStreet/Cobrand/WestBerkshire.pm
@@ -4,7 +4,7 @@ use base 'FixMyStreet::Cobrand::UK';
use strict;
use warnings;
-sub council_id { 2619 }
+sub council_area_id { 2619 }
# non standard west berks end points
sub open311_pre_send {
diff --git a/perllib/FixMyStreet/Cobrand/Whitelabel.pm b/perllib/FixMyStreet/Cobrand/Whitelabel.pm
new file mode 100644
index 000000000..42a23e40f
--- /dev/null
+++ b/perllib/FixMyStreet/Cobrand/Whitelabel.pm
@@ -0,0 +1,13 @@
+package FixMyStreet::Cobrand::Whitelabel;
+use base 'FixMyStreet::Cobrand::UKCouncils';
+
+sub path_to_web_templates {
+ my $self = shift;
+ return [
+ FixMyStreet->path_to( 'templates/web', $self->moniker ),
+ FixMyStreet->path_to( 'templates/web/whitelabel' ),
+ FixMyStreet->path_to( 'templates/web/fixmystreet-uk-councils' ),
+ ];
+}
+
+1;
diff --git a/perllib/FixMyStreet/Cobrand/Zurich.pm b/perllib/FixMyStreet/Cobrand/Zurich.pm
index dca722224..de4a5262a 100644
--- a/perllib/FixMyStreet/Cobrand/Zurich.pm
+++ b/perllib/FixMyStreet/Cobrand/Zurich.pm
@@ -54,6 +54,11 @@ you already have, and the countres set so that they shouldn't in future.
=cut
+sub setup_states {
+ FixMyStreet::DB::Result::Problem->visible_states_add('unconfirmed');
+ FixMyStreet::DB::Result::Problem->visible_states_remove('investigating');
+}
+
sub shorten_recency_if_new_greater_than_fixed {
return 0;
}
@@ -67,7 +72,7 @@ sub pin_colour {
# This isn't used
sub find_closest {
- my ( $self, $latitude, $longitude, $problem ) = @_;
+ my ( $self, $problem ) = @_;
return '';
}
@@ -519,7 +524,7 @@ sub admin_report_edit {
# Can change category to any other
my @categories = $c->model('DB::Contact')->not_deleted->all;
- $c->stash->{categories} = [ map { $_->category } @categories ];
+ $c->stash->{category_options} = [ map { { name => $_->category, value => $_->category } } @categories ];
} elsif ($type eq 'dm') {
@@ -534,7 +539,7 @@ sub admin_report_edit {
# Can change category to any other
my @categories = $c->model('DB::Contact')->not_deleted->all;
- $c->stash->{categories} = [ map { $_->category } @categories ];
+ $c->stash->{category_options} = [ map { { name => $_->category, value => $_->category } } @categories ];
}
diff --git a/perllib/FixMyStreet/DB.pm b/perllib/FixMyStreet/DB.pm
index d920c809f..cee66b434 100644
--- a/perllib/FixMyStreet/DB.pm
+++ b/perllib/FixMyStreet/DB.pm
@@ -1,22 +1,13 @@
-use utf8;
package FixMyStreet::DB;
-# Created by DBIx::Class::Schema::Loader
-# DO NOT MODIFY THE FIRST PART OF THIS FILE
-
use strict;
use warnings;
+use FixMyStreet::DB::Schema;
-use base 'DBIx::Class::Schema';
-
-__PACKAGE__->load_namespaces;
-
-
-# Created by DBIx::Class::Schema::Loader v0.07017 @ 2012-03-08 17:19:55
-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:CjFpUvon7KggFM7OF7VK/w
+my $schema;
-use FixMyStreet;
+sub schema { $schema ||= FixMyStreet::DB::Schema->clone }
-__PACKAGE__->connection(FixMyStreet->dbic_connect_info);
+sub resultset { shift->schema->resultset(@_) }
1;
diff --git a/perllib/FixMyStreet/DB/Factories.pm b/perllib/FixMyStreet/DB/Factories.pm
new file mode 100644
index 000000000..ec4dd630a
--- /dev/null
+++ b/perllib/FixMyStreet/DB/Factories.pm
@@ -0,0 +1,173 @@
+use FixMyStreet::DB;
+
+package FixMyStreet::DB::Factory::Base;
+
+use parent "DBIx::Class::Factory";
+
+sub find_or_create {
+ my ($class, $fields) = @_;
+ my $key_field = $class->key_field;
+ my $id = $class->get_fields($fields)->{$key_field};
+ my $rs = $class->_class_data->{resultset};
+ my $obj = $rs->find({ $key_field => $id });
+ return $obj if $obj;
+ return $class->create($fields);
+}
+
+#######################
+
+package FixMyStreet::DB::Factory::Problem;
+
+use parent "DBIx::Class::Factory";
+
+__PACKAGE__->resultset(FixMyStreet::DB->resultset("Problem"));
+
+__PACKAGE__->exclude(['body']);
+
+__PACKAGE__->fields({
+ postcode => '',
+ title => __PACKAGE__->seq(sub { 'Title #' . (shift()+1) }),
+ detail => __PACKAGE__->seq(sub { 'Detail #' . (shift()+1) }),
+ name => __PACKAGE__->callback(sub { shift->get('user')->name }),
+ bodies_str => __PACKAGE__->callback(sub { shift->get('body')->id }),
+ confirmed => \'current_timestamp',
+ whensent => \'current_timestamp',
+ state => 'confirmed',
+ cobrand => 'default',
+ latitude => 0,
+ longitude => 0,
+ areas => '',
+ used_map => 't',
+ anonymous => 'f',
+ category => 'Other',
+});
+
+#######################
+
+package FixMyStreet::DB::Factory::Body;
+
+use parent -norequire, "FixMyStreet::DB::Factory::Base";
+use mySociety::MaPit;
+
+__PACKAGE__->resultset(FixMyStreet::DB->resultset("Body"));
+
+__PACKAGE__->exclude(['area_id', 'categories']);
+
+__PACKAGE__->fields({
+ name => __PACKAGE__->callback(sub {
+ my $area_id = shift->get('area_id');
+ my $area = mySociety::MaPit::call('area', $area_id);
+ $area->{name};
+ }),
+ body_areas => __PACKAGE__->callback(sub {
+ my $area_id = shift->get('area_id');
+ [ { area_id => $area_id } ]
+ }),
+ contacts => __PACKAGE__->callback(sub {
+ my $categories = shift->get('categories');
+ push @$categories, 'Other' unless @$categories;
+ [ map { FixMyStreet::DB::Factory::Contact->get_fields({ category => $_ }) } @$categories ];
+ }),
+});
+
+sub key_field { 'id' }
+
+#######################
+
+package FixMyStreet::DB::Factory::Contact;
+
+use parent "DBIx::Class::Factory";
+
+__PACKAGE__->resultset(FixMyStreet::DB->resultset("Contact"));
+
+__PACKAGE__->fields({
+ body_id => __PACKAGE__->callback(sub {
+ my $fields = shift;
+ return $fields->get('body')->id if $fields->get('body');
+ }),
+ category => 'Other',
+ email => __PACKAGE__->callback(sub {
+ my $category = shift->get('category');
+ (my $email = lc $_) =~ s/ /-/g;
+ lc $category . '@example.org';
+ }),
+ state => 'confirmed',
+ editor => 'Factory',
+ whenedited => \'current_timestamp',
+ note => 'Created by factory',
+});
+
+#######################
+
+package FixMyStreet::DB::Factory::ResponseTemplate;
+
+use parent -norequire, "FixMyStreet::DB::Factory::Base";
+
+__PACKAGE__->resultset(FixMyStreet::DB->resultset("ResponseTemplate"));
+
+__PACKAGE__->fields({
+ text => __PACKAGE__->seq(sub { 'Template text #' . (shift()+1) }),
+});
+
+#######################
+
+package FixMyStreet::DB::Factory::ResponsePriority;
+
+use parent "DBIx::Class::Factory";
+
+__PACKAGE__->resultset(FixMyStreet::DB->resultset("ResponsePriority"));
+
+__PACKAGE__->fields({
+ name => __PACKAGE__->seq(sub { 'Priority #' . (shift()+1) }),
+ description => __PACKAGE__->seq(sub { 'Description #' . (shift()+1) }),
+});
+
+#######################
+
+package FixMyStreet::DB::Factory::Comment;
+
+use parent "DBIx::Class::Factory";
+
+__PACKAGE__->resultset(FixMyStreet::DB->resultset("Comment"));
+
+__PACKAGE__->fields({
+ anonymous => 'f',
+ name => __PACKAGE__->callback(sub { shift->get('user')->name }),
+ text => __PACKAGE__->seq(sub { 'Comment #' . (shift()+1) }),
+ confirmed => \'current_timestamp',
+ state => 'confirmed',
+ cobrand => 'default',
+ mark_fixed => 0,
+});
+
+#######################
+
+package FixMyStreet::DB::Factory::User;
+
+use parent -norequire, "FixMyStreet::DB::Factory::Base";
+
+__PACKAGE__->resultset(FixMyStreet::DB->resultset("User"));
+
+__PACKAGE__->exclude(['body', 'permissions']);
+
+__PACKAGE__->fields({
+ name => 'User',
+ email => 'user@example.org',
+ password => 'password',
+ from_body => __PACKAGE__->callback(sub {
+ my $fields = shift;
+ if (my $body = $fields->get('body')) {
+ return $body->id;
+ }
+ }),
+ user_body_permissions => __PACKAGE__->callback(sub {
+ my $fields = shift;
+ my $body = $fields->get('body');
+ my $permissions = $fields->get('permissions');
+ [ map { { body_id => $body->id, permission_type => $_ } } @$permissions ];
+ }),
+});
+
+sub key_field { 'email' }
+
+1;
diff --git a/perllib/FixMyStreet/DB/Result/Body.pm b/perllib/FixMyStreet/DB/Result/Body.pm
index 82015ad2d..6481d5cfc 100644
--- a/perllib/FixMyStreet/DB/Result/Body.pm
+++ b/perllib/FixMyStreet/DB/Result/Body.pm
@@ -121,18 +121,52 @@ __PACKAGE__->has_many(
# Created by DBIx::Class::Schema::Loader v0.07035 @ 2017-02-13 15:11:11
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:BOJANVwg3kR/1VjDq0LykA
+use Moo;
+use namespace::clean;
+
+with 'FixMyStreet::Roles::Translatable';
+
sub url {
my ( $self, $c, $args ) = @_;
# XXX $areas_info was used here for Norway parent - needs body parents, I guess
return $c->uri_for( '/reports/' . $c->cobrand->short_name( $self ), $args || {} );
}
+__PACKAGE__->might_have(
+ "translations",
+ "FixMyStreet::DB::Result::Translation",
+ sub {
+ my $args = shift;
+ return {
+ "$args->{foreign_alias}.object_id" => { -ident => "$args->{self_alias}.id" },
+ "$args->{foreign_alias}.tbl" => { '=' => \"?" },
+ "$args->{foreign_alias}.col" => { '=' => \"?" },
+ "$args->{foreign_alias}.lang" => { '=' => \"?" },
+ };
+ },
+ { cascade_copy => 0, cascade_delete => 0 },
+);
+
+around name => \&translate_around;
+
sub areas {
my $self = shift;
my %ids = map { $_->area_id => 1 } $self->body_areas->all;
return \%ids;
}
+sub first_area_children {
+ my ( $self, $c ) = @_;
+
+ my $area_id = $self->body_areas->first->area_id;
+
+ my $children = mySociety::MaPit::call('area/children', $area_id,
+ type => $c->cobrand->area_types_children,
+ );
+
+ return $children;
+}
+
=head2 get_cobrand_handler
Get a cobrand object for this body, if there is one.
diff --git a/perllib/FixMyStreet/DB/Result/Comment.pm b/perllib/FixMyStreet/DB/Result/Comment.pm
index cf1ba444d..562f29693 100644
--- a/perllib/FixMyStreet/DB/Result/Comment.pm
+++ b/perllib/FixMyStreet/DB/Result/Comment.pm
@@ -101,6 +101,7 @@ use Moo;
use namespace::clean -except => [ 'meta' ];
with 'FixMyStreet::Roles::Abuser',
+ 'FixMyStreet::Roles::Extra',
'FixMyStreet::Roles::PhotoSet';
my $stz = sub {
@@ -128,9 +129,10 @@ sub check_for_errors {
unless $self->text =~ m/\S/;
# Bromley Council custom character limit
- if ( $self->text && $self->problem && $self->problem->bodies_str
- && $self->problem->bodies_str eq '2482' && length($self->text) > 1750 ) {
- $errors{update} = sprintf( _('Updates are limited to %s characters in length. Please shorten your update'), 1750 );
+ if ( $self->text && $self->problem && $self->problem->bodies_str) {
+ if ($self->problem->to_body_named('Bromley') && length($self->text) > 1750) {
+ $errors{update} = sprintf( _('Updates are limited to %s characters in length. Please shorten your update'), 1750 );
+ }
}
return \%errors;
@@ -149,6 +151,11 @@ sub confirm {
$self->confirmed( \'current_timestamp' );
}
+sub url {
+ my $self = shift;
+ return "/report/" . $self->problem_id . '#update_' . $self->id;
+}
+
sub photos {
my $self = shift;
my $photoset = $self->get_photoset;
@@ -169,22 +176,6 @@ sub photos {
return \@photos;
}
-=head2 problem_state_display
-
-Returns a string suitable for display lookup in the update meta section.
-Removes the '- council/user' bit from fixed states.
-
-=cut
-
-sub problem_state_display {
- my $self = shift;
-
- my $state = $self->problem_state;
- $state =~ s/ -.*$//;
-
- return $state;
-}
-
=head2 latest_moderation_log_entry
Return most recent ModerationLog object
@@ -236,8 +227,6 @@ sub meta_line {
my $meta = '';
- $c->stash->{last_state} ||= '';
-
if ($self->anonymous or !$self->name) {
$meta = sprintf( _( 'Posted anonymously at %s' ), Utils::prettify_dt( $self->confirmed ) )
} elsif ($self->user->from_body) {
@@ -248,68 +237,54 @@ sub meta_line {
} elsif ($body eq 'Royal Borough of Greenwich') {
$body = "$body <img src='/cobrands/greenwich/favicon.png' alt=''>";
}
- if ($c->user_exists and $c->user->has_permission_to('view_body_contribute_details', $self->problem->bodies_str_ids)) {
- $meta = sprintf( _( 'Posted by <strong>%s</strong> (%s) at %s' ), $body, $user_name, Utils::prettify_dt( $self->confirmed ) );
+ my $can_view_contribute = $c->user_exists && $c->user->has_permission_to('view_body_contribute_details', $self->problem->bodies_str_ids);
+ if ($self->text) {
+ if ($can_view_contribute) {
+ $meta = sprintf( _( 'Posted by <strong>%s</strong> (%s) at %s' ), $body, $user_name, Utils::prettify_dt( $self->confirmed ) );
+ } else {
+ $meta = sprintf( _( 'Posted by <strong>%s</strong> at %s' ), $body, Utils::prettify_dt( $self->confirmed ) );
+ }
} else {
- $meta = sprintf( _( 'Posted by <strong>%s</strong> at %s' ), $body, Utils::prettify_dt( $self->confirmed ) );
+ if ($can_view_contribute) {
+ $meta = sprintf( _( 'Updated by <strong>%s</strong> (%s) at %s' ), $body, $user_name, Utils::prettify_dt( $self->confirmed ) );
+ } else {
+ $meta = sprintf( _( 'Updated by <strong>%s</strong> at %s' ), $body, Utils::prettify_dt( $self->confirmed ) );
+ }
}
} else {
$meta = sprintf( _( 'Posted by %s at %s' ), FixMyStreet::Template::html_filter($self->name), Utils::prettify_dt( $self->confirmed ) )
}
+ if ($self->get_extra_metadata('defect_raised')) {
+ $meta .= ', ' . _( 'and a defect raised' );
+ }
+
+ return $meta;
+};
+
+sub problem_state_display {
+ my ( $self, $c ) = @_;
+
my $update_state = '';
+ my $cobrand = $c->cobrand->moniker;
if ($self->mark_fixed) {
- $update_state = _( 'marked as fixed' );
+ return FixMyStreet::DB->resultset("State")->display('fixed', 1);
} elsif ($self->mark_open) {
- $update_state = _( 'reopened' );
+ return FixMyStreet::DB->resultset("State")->display('confirmed', 1);
} elsif ($self->problem_state) {
- my $state = $self->problem_state_display;
-
- if ($state eq 'confirmed') {
- if ($c->stash->{last_state}) {
- $update_state = _( 'reopened' )
- }
- } elsif ($state eq 'investigating') {
- $update_state = _( 'marked as investigating' )
- } elsif ($state eq 'planned') {
- $update_state = _( 'marked as planned' )
- } elsif ($state eq 'in progress') {
- $update_state = _( 'marked as in progress' )
- } elsif ($state eq 'action scheduled') {
- $update_state = _( 'marked as action scheduled' )
- } elsif ($state eq 'closed') {
- $update_state = _( 'marked as closed' )
- } elsif ($state eq 'fixed') {
- $update_state = _( 'marked as fixed' )
- } elsif ($state eq 'unable to fix') {
- $update_state = _( 'marked as no further action' )
- } elsif ($state eq 'not responsible') {
- $update_state = _( "marked as not the council's responsibility" )
- } elsif ($state eq 'duplicate') {
- $update_state = _( 'closed as a duplicate report' )
- } elsif ($state eq 'internal referral') {
- $update_state = _( 'marked as an internal referral' )
- }
-
- if ($c->cobrand->moniker eq 'bromley' || (
- $self->problem->bodies_str &&
- $self->problem->bodies_str eq '2482'
- )) {
- if ($state eq 'not responsible') {
- $update_state = 'marked as third party responsibility'
+ my $state = $self->problem_state;
+ if ($state eq 'not responsible') {
+ $update_state = _( "not the council's responsibility" );
+ if ($cobrand eq 'bromley' || $self->problem->to_body_named('Bromley')) {
+ $update_state = 'third party responsibility';
}
+ } else {
+ $update_state = FixMyStreet::DB->resultset("State")->display($state, 1);
}
-
- }
-
- if ($update_state ne $c->stash->{last_state} and $update_state) {
- $meta .= ", $update_state";
}
- $c->stash->{last_state} = $update_state;
-
- return $meta;
-};
+ return $update_state;
+}
1;
diff --git a/perllib/FixMyStreet/DB/Result/Contact.pm b/perllib/FixMyStreet/DB/Result/Contact.pm
index a620b7358..f9cbf1c44 100644
--- a/perllib/FixMyStreet/DB/Result/Contact.pm
+++ b/perllib/FixMyStreet/DB/Result/Contact.pm
@@ -11,8 +11,17 @@ use base 'DBIx::Class::Core';
__PACKAGE__->load_components("FilterColumn", "InflateColumn::DateTime", "EncodedColumn");
__PACKAGE__->table("contacts");
__PACKAGE__->add_columns(
+ "id",
+ {
+ data_type => "integer",
+ is_auto_increment => 1,
+ is_nullable => 0,
+ sequence => "contacts_id_seq",
+ },
"body_id",
{ data_type => "integer", is_foreign_key => 1, is_nullable => 0 },
+ "category",
+ { data_type => "text", default_value => "Other", is_nullable => 0 },
"email",
{ data_type => "text", is_nullable => 0 },
"editor",
@@ -21,19 +30,6 @@ __PACKAGE__->add_columns(
{ data_type => "timestamp", is_nullable => 0 },
"note",
{ data_type => "text", is_nullable => 0 },
- "confirmed",
- { data_type => "boolean", is_nullable => 0 },
- "category",
- { data_type => "text", default_value => "Other", is_nullable => 0 },
- "deleted",
- { data_type => "boolean", is_nullable => 0 },
- "id",
- {
- data_type => "integer",
- is_auto_increment => 1,
- is_nullable => 0,
- sequence => "contacts_id_seq",
- },
"extra",
{ data_type => "text", is_nullable => 1 },
"non_public",
@@ -46,6 +42,8 @@ __PACKAGE__->add_columns(
{ data_type => "text", default_value => "", is_nullable => 1 },
"send_method",
{ data_type => "text", is_nullable => 1 },
+ "state",
+ { data_type => "text", is_nullable => 0 },
);
__PACKAGE__->set_primary_key("id");
__PACKAGE__->add_unique_constraint("contacts_body_id_category_idx", ["body_id", "category"]);
@@ -75,8 +73,8 @@ __PACKAGE__->has_many(
);
-# Created by DBIx::Class::Schema::Loader v0.07035 @ 2017-02-13 15:11:11
-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:f9VepR/oPyr3z6PUpJ4w2A
+# Created by DBIx::Class::Schema::Loader v0.07035 @ 2017-07-08 20:45:04
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:t/VtPP11R8bbqPZdEVXffw
__PACKAGE__->load_components("+FixMyStreet::DB::RABXColumn");
__PACKAGE__->rabx_column('extra');
@@ -84,12 +82,18 @@ __PACKAGE__->rabx_column('extra');
use Moo;
use namespace::clean -except => [ 'meta' ];
-with 'FixMyStreet::Roles::Extra';
+with 'FixMyStreet::Roles::Extra',
+ 'FixMyStreet::Roles::Translatable';
__PACKAGE__->many_to_many( response_templates => 'contact_response_templates', 'response_template' );
__PACKAGE__->many_to_many( response_priorities => 'contact_response_priorities', 'response_priority' );
__PACKAGE__->many_to_many( defect_types => 'contact_defect_types', 'defect_type' );
+sub category_display {
+ my $self = shift;
+ $self->translate_column('category');
+}
+
sub get_metadata_for_input {
my $self = shift;
my $id_field = $self->id_field;
diff --git a/perllib/FixMyStreet/DB/Result/ContactsHistory.pm b/perllib/FixMyStreet/DB/Result/ContactsHistory.pm
index 7126d91c9..c90bb9d66 100644
--- a/perllib/FixMyStreet/DB/Result/ContactsHistory.pm
+++ b/perllib/FixMyStreet/DB/Result/ContactsHistory.pm
@@ -26,22 +26,20 @@ __PACKAGE__->add_columns(
{ data_type => "text", default_value => "Other", is_nullable => 0 },
"email",
{ data_type => "text", is_nullable => 0 },
- "confirmed",
- { data_type => "boolean", is_nullable => 0 },
- "deleted",
- { data_type => "boolean", is_nullable => 0 },
"editor",
{ data_type => "text", is_nullable => 0 },
"whenedited",
{ data_type => "timestamp", is_nullable => 0 },
"note",
{ data_type => "text", is_nullable => 0 },
+ "state",
+ { data_type => "text", is_nullable => 0 },
);
__PACKAGE__->set_primary_key("contacts_history_id");
-# Created by DBIx::Class::Schema::Loader v0.07017 @ 2012-12-12 16:37:16
-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:sxflEBBn0Mn0s3MroWnWFA
+# Created by DBIx::Class::Schema::Loader v0.07035 @ 2017-07-08 20:45:04
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:HTt0g29yXTM/WyHKN179FA
# You can replace this text with custom code or comments, and it will be preserved on regeneration
diff --git a/perllib/FixMyStreet/DB/Result/Problem.pm b/perllib/FixMyStreet/DB/Result/Problem.pm
index 84db41490..3b622b561 100644
--- a/perllib/FixMyStreet/DB/Result/Problem.pm
+++ b/perllib/FixMyStreet/DB/Result/Problem.pm
@@ -206,6 +206,7 @@ my $IM = eval {
with 'FixMyStreet::Roles::Abuser',
'FixMyStreet::Roles::Extra',
+ 'FixMyStreet::Roles::Translatable',
'FixMyStreet::Roles::PhotoSet';
=head2
@@ -219,15 +220,8 @@ HASHREF.
=cut
sub open_states {
- my $states = {
- 'confirmed' => 1,
- 'investigating' => 1,
- 'in progress' => 1,
- 'planned' => 1,
- 'action scheduled' => 1,
- };
-
- return wantarray ? keys %{$states} : $states;
+ my @states = map { $_->label } @{FixMyStreet::DB->resultset("State")->open};
+ return wantarray ? @states : { map { $_ => 1 } @states };
}
=head2
@@ -241,13 +235,9 @@ HASHREF.
=cut
sub fixed_states {
- my $states = {
- 'fixed' => 1,
- 'fixed - user' => 1,
- 'fixed - council' => 1,
- };
-
- return wantarray ? keys %{ $states } : $states;
+ my @states = map { $_->label } @{FixMyStreet::DB->resultset("State")->fixed};
+ push @states, 'fixed - user', 'fixed - council' if @states;
+ return wantarray ? @states : { map { $_ => 1 } @states };
}
=head2
@@ -261,18 +251,10 @@ HASHREF.
=cut
sub closed_states {
- my $states = {
- 'closed' => 1,
- 'unable to fix' => 1,
- 'not responsible' => 1,
- 'duplicate' => 1,
- 'internal referral' => 1,
- };
-
- return wantarray ? keys %{$states} : $states;
+ my @states = map { $_->label } @{FixMyStreet::DB->resultset("State")->closed};
+ return wantarray ? @states : { map { $_ => 1 } @states };
}
-
=head2
@states = FixMyStreet::DB::Problem::all_states();
@@ -288,21 +270,10 @@ sub all_states {
'hidden' => 1,
'partial' => 1,
'unconfirmed' => 1,
- 'confirmed' => 1,
- 'investigating' => 1,
- 'in progress' => 1,
- 'planned' => 1,
- 'action scheduled' => 1,
- 'fixed' => 1,
'fixed - council' => 1,
'fixed - user' => 1,
- 'unable to fix' => 1,
- 'not responsible' => 1,
- 'duplicate' => 1,
- 'closed' => 1,
- 'internal referral' => 1,
};
-
+ map { $states->{$_->label} = 1 } @{FixMyStreet::DB->resultset("State")->states};
return wantarray ? keys %{$states} : $states;
}
@@ -322,75 +293,31 @@ my $hidden_states = {
'unconfirmed' => 1,
};
-my $visible_states = {
- map {
- $hidden_states->{$_} ? () : ($_ => 1)
- } all_states()
-};
- ## e.g.:
- # 'confirmed' => 1,
- # 'investigating' => 1,
- # 'in progress' => 1,
- # 'planned' => 1,
- # 'action scheduled' => 1,
- # 'fixed' => 1,
- # 'fixed - council' => 1,
- # 'fixed - user' => 1,
- # 'unable to fix' => 1,
- # 'not responsible' => 1,
- # 'duplicate' => 1,
- # 'closed' => 1,
- # 'internal referral' => 1,
-
sub hidden_states {
return wantarray ? keys %{$hidden_states} : $hidden_states;
}
sub visible_states {
- return wantarray ? keys %{$visible_states} : $visible_states;
+ my %visible_states = map {
+ $hidden_states->{$_} ? () : ($_ => 1)
+ } all_states();
+ return wantarray ? keys %visible_states : \%visible_states;
}
sub visible_states_add {
my ($self, @states) = @_;
for my $state (@states) {
delete $hidden_states->{$state};
- $visible_states->{$state} = 1;
}
}
sub visible_states_remove {
my ($self, @states) = @_;
for my $state (@states) {
- delete $visible_states->{$state};
$hidden_states->{$state} = 1;
}
}
-=head2
-
- @states = FixMyStreet::DB::Problem::council_states();
-
-Get a list of states that are availble to council users. If called in
-array context then returns an array of names, otherwise returns a
-HASHREF.
-
-=cut
-sub council_states {
- my $states = {
- 'confirmed' => 1,
- 'investigating' => 1,
- 'action scheduled' => 1,
- 'in progress' => 1,
- 'fixed - council' => 1,
- 'unable to fix' => 1,
- 'not responsible' => 1,
- 'duplicate' => 1,
- 'internal referral' => 1,
- };
-
- return wantarray ? keys %{$states} : $states;
-}
-
my $stz = sub {
my ( $orig, $self ) = ( shift, shift );
my $s = $self->$orig(@_);
@@ -456,12 +383,6 @@ sub check_for_errors {
$errors{category} = _('Please choose a category');
$self->category(undef);
}
- elsif ($self->category
- && $self->category eq _('-- Pick a property type --') )
- {
- $errors{category} = _('Please choose a property type');
- $self->category(undef);
- }
return \%errors;
}
@@ -489,6 +410,11 @@ sub confirm {
return 1;
}
+sub category_display {
+ my $self = shift;
+ $self->translate_column('category');
+}
+
sub bodies_str_ids {
my $self = shift;
return [] unless $self->bodies_str;
@@ -502,12 +428,36 @@ Returns a hashref of bodies to which a report was sent.
=cut
-sub bodies($) {
+has bodies => (
+ is => 'ro',
+ lazy => 1,
+ default => sub {
+ my $self = shift;
+ return {} unless $self->bodies_str;
+ my $cache = $self->result_source->schema->cache;
+ return $cache->{bodies}{$self->bodies_str} if $cache->{bodies}{$self->bodies_str};
+
+ my $bodies = $self->bodies_str_ids;
+ my @bodies = $self->result_source->schema->resultset('Body')->search(
+ { id => $bodies },
+ { prefetch => 'body_areas' },
+ )->all;
+ $cache->{bodies}{$self->bodies_str} = { map { $_->id => $_ } @bodies };
+ return $cache->{bodies}{$self->bodies_str};
+ },
+);
+
+sub body_names($) {
my $self = shift;
- return {} unless $self->bodies_str;
- my $bodies = $self->bodies_str_ids;
- my @bodies = $self->result_source->schema->resultset('Body')->search({ id => $bodies })->all;
- return { map { $_->id => $_ } @bodies };
+ my $bodies = $self->bodies;
+ my @names = map { $_->name } values %$bodies;
+ return \@names;
+}
+
+sub to_body_named($$) {
+ my ($self, $re) = @_;
+ my $names = join(',,', @{$self->body_names});
+ $names =~ /$re/;
}
=head2 url
@@ -609,19 +559,6 @@ sub is_visible {
return exists $self->visible_states->{ $self->state } ? 1 : 0;
}
-=head2 state_display
-
-Returns a string suitable for display lookup in the update meta section.
-Removes the '- council/user' bit from fixed states.
-
-=cut
-
-sub state_display {
- my $self = shift;
- (my $state = $self->state) =~ s/ -.*$//;
- return $state;
-}
-
=head2 meta_line
Returns a string to be used on a problem report page, describing some of the
@@ -635,7 +572,7 @@ sub meta_line {
my $date_time = Utils::prettify_dt( $problem->confirmed );
my $meta = '';
- my $category = $problem->category;
+ my $category = $problem->category_display;
$category = $c->cobrand->call_hook(change_category_text => $category) || $category;
if ( $problem->anonymous ) {
@@ -787,7 +724,7 @@ sub defect_types {
# Note: this only makes sense when called on a problem that has been sent!
sub can_display_external_id {
my $self = shift;
- if ($self->external_id && $self->send_method_used && $self->bodies_str =~ /(2237|2550)/) {
+ if ($self->external_id && $self->send_method_used && $self->to_body_named('Oxfordshire|Angus')) {
return 1;
}
return 0;
@@ -924,6 +861,7 @@ sub as_hashref {
latitude => $self->latitude,
longitude => $self->longitude,
postcode => $self->postcode,
+ areas => $self->areas,
state => $self->state,
state_t => _( $self->state ),
used_map => $self->used_map,
@@ -953,15 +891,21 @@ sub photos {
my $id = $self->id;
my @photos = map {
my $cachebust = substr($_, 0, 8);
+ # Some Varnish configurations (e.g. on mySociety infra) strip cookies from
+ # images, which means image requests will be redirected to the login page
+ # if LOGIN_REQUIRED is set. To stop this happening, Varnish should be
+ # configured to not strip cookies if the cookie_passthrough param is
+ # present, which this line ensures will be if LOGIN_REQUIRED is set.
+ my $extra = (FixMyStreet->config('LOGIN_REQUIRED')) ? "&cookie_passthrough=1" : "";
my ($hash, $format) = split /\./, $_;
{
id => $hash,
- url_temp => "/photo/temp.$hash.$format",
- url_temp_full => "/photo/fulltemp.$hash.$format",
- url => "/photo/$id.$i.$format?$cachebust",
- url_full => "/photo/$id.$i.full.$format?$cachebust",
- url_tn => "/photo/$id.$i.tn.$format?$cachebust",
- url_fp => "/photo/$id.$i.fp.$format?$cachebust",
+ url_temp => "/photo/temp.$hash.$format$extra",
+ url_temp_full => "/photo/fulltemp.$hash.$format$extra",
+ url => "/photo/$id.$i.$format?$cachebust$extra",
+ url_full => "/photo/$id.$i.full.$format?$cachebust$extra",
+ url_tn => "/photo/$id.$i.tn.$format?$cachebust$extra",
+ url_fp => "/photo/$id.$i.fp.$format?$cachebust$extra",
idx => $i++,
}
} $photoset->all_ids;
@@ -1013,13 +957,14 @@ has get_cobrand_logged => (
sub pin_data {
my ($self, $c, $page, %opts) = @_;
my $colour = $c->cobrand->pin_colour($self, $page);
-
+ my $title = $opts{private} ? $self->title : $self->title_safe;
+ $title = $c->cobrand->call_hook(pin_hover_title => $self, $title) || $title;
{
latitude => $self->latitude,
longitude => $self->longitude,
colour => $colour,
id => $self->id,
- title => $opts{private} ? $self->title : $self->title_safe,
+ title => $title,
problem => $self,
type => $opts{type},
}
@@ -1082,6 +1027,7 @@ sub static_map {
if ($pin) {
my $im = Image::Magick->new;
$im->read(FixMyStreet->path_to('web', 'i', 'pin-yellow.png'));
+ $im->Scale( geometry => '48x64' );
$image->Composite(image => $im, gravity => 'NorthWest',
x => $pin->{px} - 24, y => $pin->{py} - 64);
}
@@ -1113,6 +1059,16 @@ has shortlisted_user => (
},
);
+sub set_duplicate_of {
+ my ($self, $other_id) = @_;
+ $self->set_extra_metadata( duplicate_of => $other_id );
+ my $dupe = $self->result_source->schema->resultset("Problem")->find($other_id);
+ my $dupes_duplicates = $dupe->get_extra_metadata('duplicates') || [];
+ push @$dupes_duplicates, $self->id;
+ $dupe->set_extra_metadata( duplicates => $dupes_duplicates );
+ $dupe->update;
+}
+
has duplicate_of => (
is => 'ro',
lazy => 1,
@@ -1130,8 +1086,9 @@ has duplicates => (
lazy => 1,
default => sub {
my $self = shift;
- my $rabx_id = RABX::serialise( $self->id );
- my @duplicates = $self->result_source->schema->resultset('Problem')->search({ extra => { like => "\%duplicate_of,$rabx_id%" } })->all;
+ my $duplicates = $self->get_extra_metadata("duplicates") || [];
+ return [] unless $duplicates && @$duplicates;
+ my @duplicates = $self->result_source->schema->resultset('Problem')->search({ id => $duplicates })->all;
return \@duplicates;
},
);
diff --git a/perllib/FixMyStreet/DB/Result/ReportExtraFields.pm b/perllib/FixMyStreet/DB/Result/ReportExtraFields.pm
new file mode 100644
index 000000000..27a6bd2c6
--- /dev/null
+++ b/perllib/FixMyStreet/DB/Result/ReportExtraFields.pm
@@ -0,0 +1,45 @@
+use utf8;
+package FixMyStreet::DB::Result::ReportExtraFields;
+
+# Created by DBIx::Class::Schema::Loader
+# DO NOT MODIFY THE FIRST PART OF THIS FILE
+
+use strict;
+use warnings;
+
+use base 'DBIx::Class::Core';
+__PACKAGE__->load_components("FilterColumn", "InflateColumn::DateTime", "EncodedColumn");
+__PACKAGE__->table("report_extra_fields");
+__PACKAGE__->add_columns(
+ "id",
+ {
+ data_type => "integer",
+ is_auto_increment => 1,
+ is_nullable => 0,
+ sequence => "report_extra_fields_id_seq",
+ },
+ "name",
+ { data_type => "text", is_nullable => 0 },
+ "cobrand",
+ { data_type => "text", is_nullable => 1 },
+ "language",
+ { data_type => "text", is_nullable => 1 },
+ "extra",
+ { data_type => "text", is_nullable => 1 },
+);
+__PACKAGE__->set_primary_key("id");
+
+
+# Created by DBIx::Class::Schema::Loader v0.07035 @ 2017-07-28 09:51:34
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:LkfbsUInnEyXowdcCEPjUQ
+
+__PACKAGE__->load_components("+FixMyStreet::DB::RABXColumn");
+__PACKAGE__->rabx_column('extra');
+
+use Moo;
+use namespace::clean -except => [ 'meta' ];
+
+with 'FixMyStreet::Roles::Extra';
+
+# You can replace this text with custom code or comments, and it will be preserved on regeneration
+1;
diff --git a/perllib/FixMyStreet/DB/Result/ResponsePriority.pm b/perllib/FixMyStreet/DB/Result/ResponsePriority.pm
index 44635d174..df54cfa08 100644
--- a/perllib/FixMyStreet/DB/Result/ResponsePriority.pm
+++ b/perllib/FixMyStreet/DB/Result/ResponsePriority.pm
@@ -28,6 +28,8 @@ __PACKAGE__->add_columns(
{ data_type => "text", is_nullable => 1 },
"external_id",
{ data_type => "text", is_nullable => 1 },
+ "is_default",
+ { data_type => "boolean", default_value => \"false", is_nullable => 0 },
);
__PACKAGE__->set_primary_key("id");
__PACKAGE__->add_unique_constraint("response_priorities_body_id_name_key", ["body_id", "name"]);
@@ -51,8 +53,8 @@ __PACKAGE__->has_many(
);
-# Created by DBIx::Class::Schema::Loader v0.07035 @ 2016-12-14 17:12:09
-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:glsO0fLK6fNvg4TmW1DMPg
+# Created by DBIx::Class::Schema::Loader v0.07035 @ 2017-09-12 09:32:53
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:JBIHFnaLvXCAUjgwTSB3CQ
__PACKAGE__->many_to_many( contacts => 'contact_response_priorities', 'contact' );
diff --git a/perllib/FixMyStreet/DB/Result/State.pm b/perllib/FixMyStreet/DB/Result/State.pm
new file mode 100644
index 000000000..b8a35d42b
--- /dev/null
+++ b/perllib/FixMyStreet/DB/Result/State.pm
@@ -0,0 +1,48 @@
+use utf8;
+package FixMyStreet::DB::Result::State;
+
+# Created by DBIx::Class::Schema::Loader
+# DO NOT MODIFY THE FIRST PART OF THIS FILE
+
+use strict;
+use warnings;
+
+use base 'DBIx::Class::Core';
+__PACKAGE__->load_components("FilterColumn", "InflateColumn::DateTime", "EncodedColumn");
+__PACKAGE__->table("state");
+__PACKAGE__->add_columns(
+ "id",
+ {
+ data_type => "integer",
+ is_auto_increment => 1,
+ is_nullable => 0,
+ sequence => "state_id_seq",
+ },
+ "label",
+ { data_type => "text", is_nullable => 0 },
+ "type",
+ { data_type => "text", is_nullable => 0 },
+ "name",
+ { data_type => "text", is_nullable => 0 },
+);
+__PACKAGE__->set_primary_key("id");
+__PACKAGE__->add_unique_constraint("state_label_key", ["label"]);
+__PACKAGE__->add_unique_constraint("state_name_key", ["name"]);
+
+
+# Created by DBIx::Class::Schema::Loader v0.07035 @ 2017-08-22 15:17:43
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:dvtAOpeYqEF9T3otHHgLqw
+
+use Moo;
+use namespace::clean;
+
+with 'FixMyStreet::Roles::Translatable';
+
+sub msgstr {
+ my $self = shift;
+ my $lang = $self->result_source->schema->lang;
+ return $self->name unless $lang && $self->translated->{name}{$lang};
+ return $self->translated->{name}{$lang}{msgstr};
+}
+
+1;
diff --git a/perllib/FixMyStreet/DB/Result/Translation.pm b/perllib/FixMyStreet/DB/Result/Translation.pm
new file mode 100644
index 000000000..fafc7ccf1
--- /dev/null
+++ b/perllib/FixMyStreet/DB/Result/Translation.pm
@@ -0,0 +1,44 @@
+use utf8;
+package FixMyStreet::DB::Result::Translation;
+
+# Created by DBIx::Class::Schema::Loader
+# DO NOT MODIFY THE FIRST PART OF THIS FILE
+
+use strict;
+use warnings;
+
+use base 'DBIx::Class::Core';
+__PACKAGE__->load_components("FilterColumn", "InflateColumn::DateTime", "EncodedColumn");
+__PACKAGE__->table("translation");
+__PACKAGE__->add_columns(
+ "id",
+ {
+ data_type => "integer",
+ is_auto_increment => 1,
+ is_nullable => 0,
+ sequence => "translation_id_seq",
+ },
+ "tbl",
+ { data_type => "text", is_nullable => 0 },
+ "object_id",
+ { data_type => "integer", is_nullable => 0 },
+ "col",
+ { data_type => "text", is_nullable => 0 },
+ "lang",
+ { data_type => "text", is_nullable => 0 },
+ "msgstr",
+ { data_type => "text", is_nullable => 0 },
+);
+__PACKAGE__->set_primary_key("id");
+__PACKAGE__->add_unique_constraint(
+ "translation_tbl_object_id_col_lang_key",
+ ["tbl", "object_id", "col", "lang"],
+);
+
+
+# Created by DBIx::Class::Schema::Loader v0.07035 @ 2017-07-14 23:24:32
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:///VNqg4BOuO29xKhnY8vw
+
+
+# You can replace this text with custom code or comments, and it will be preserved on regeneration
+1;
diff --git a/perllib/FixMyStreet/DB/Result/User.pm b/perllib/FixMyStreet/DB/Result/User.pm
index cf6de9a76..19adf5d49 100644
--- a/perllib/FixMyStreet/DB/Result/User.pm
+++ b/perllib/FixMyStreet/DB/Result/User.pm
@@ -204,6 +204,27 @@ sub alert_for_problem {
} );
}
+=head2 create_alert
+
+Sign a user up to receive alerts on a given problem
+
+=cut
+
+sub create_alert {
+ my ( $self, $id, $options ) = @_;
+ my $alert = $self->alert_for_problem($id);
+
+ unless ( $alert ) {
+ $alert = $self->alerts->create({
+ %$options,
+ alert_type => 'new_updates',
+ parameter => $id,
+ });
+ }
+
+ $alert->confirm();
+}
+
sub body {
my $self = shift;
return '' unless $self->from_body;
@@ -274,6 +295,16 @@ sub permissions {
sub has_permission_to {
my ($self, $permission_type, $body_ids) = @_;
+ # Nobody, including superusers, can have a permission which isn't available
+ # in the current cobrand.
+ my $cobrand = $self->result_source->schema->cobrand;
+ my $cobrand_perms = $cobrand->available_permissions;
+ my %available = map { %$_ } values %$cobrand_perms;
+ # The 'trusted' permission is never set in the cobrand's
+ # available_permissions (see note there in Default.pm) so include it here.
+ $available{trusted} = 1;
+ return 0 unless $available{$permission_type};
+
return 1 if $self->is_superuser;
return 0 if !$body_ids || (ref $body_ids && !@$body_ids);
$body_ids = [ $body_ids ] unless ref $body_ids;
@@ -391,9 +422,19 @@ sub active_planned_reports {
$self->planned_reports->search({ removed => undef });
}
+has active_user_planned_reports => (
+ is => 'ro',
+ lazy => 1,
+ default => sub {
+ my $self = shift;
+ [ $self->user_planned_reports->search({ removed => undef })->all ];
+ },
+);
+
sub is_planned_report {
my ($self, $problem) = @_;
- return $self->active_planned_reports->find({ id => $problem->id });
+ my $id = $problem->id;
+ return scalar grep { $_->report_id == $id } @{$self->active_user_planned_reports};
}
sub update_reputation {
diff --git a/perllib/FixMyStreet/DB/ResultSet/Body.pm b/perllib/FixMyStreet/DB/ResultSet/Body.pm
index 6802ed604..e79d038b1 100644
--- a/perllib/FixMyStreet/DB/ResultSet/Body.pm
+++ b/perllib/FixMyStreet/DB/ResultSet/Body.pm
@@ -14,4 +14,15 @@ sub for_areas {
return $result;
}
+sub all_translated {
+ my $rs = shift;
+ my $schema = $rs->result_source->schema;
+ my @bodies = $rs->search(undef, {
+ '+columns' => { 'msgstr' => 'translations.msgstr' },
+ join => 'translations',
+ bind => [ 'name', $schema->lang, 'body' ],
+ })->all;
+ return @bodies;
+}
+
1;
diff --git a/perllib/FixMyStreet/DB/ResultSet/Contact.pm b/perllib/FixMyStreet/DB/ResultSet/Contact.pm
index f402b5461..8ef6d1ac5 100644
--- a/perllib/FixMyStreet/DB/ResultSet/Contact.pm
+++ b/perllib/FixMyStreet/DB/ResultSet/Contact.pm
@@ -10,13 +10,18 @@ sub me { join('.', shift->current_source_alias, shift || q{}) }
$rs = $rs->not_deleted();
-Filter down to not deleted contacts - which have C<deleted> set to false;
+Filter down to not deleted contacts (so active or inactive).
=cut
sub not_deleted {
my $rs = shift;
- return $rs->search( { $rs->me('deleted') => 0 } );
+ return $rs->search( { $rs->me('state') => { '!=' => 'deleted' } } );
+}
+
+sub active {
+ my $rs = shift;
+ $rs->search( { $rs->me('state') => [ 'unconfirmed', 'confirmed' ] } );
}
sub summary_count {
@@ -25,9 +30,9 @@ sub summary_count {
return $rs->search(
$restriction,
{
- group_by => ['confirmed'],
- select => [ 'confirmed', { count => 'id' } ],
- as => [qw/confirmed confirmed_count/]
+ group_by => ['state'],
+ select => [ 'state', { count => 'id' } ],
+ as => [qw/state state_count/]
}
);
}
diff --git a/perllib/FixMyStreet/DB/ResultSet/DefectType.pm b/perllib/FixMyStreet/DB/ResultSet/DefectType.pm
index a873ef252..b2ef77f7c 100644
--- a/perllib/FixMyStreet/DB/ResultSet/DefectType.pm
+++ b/perllib/FixMyStreet/DB/ResultSet/DefectType.pm
@@ -3,20 +3,26 @@ use base 'DBIx::Class::ResultSet';
use strict;
use warnings;
+use Moo;
+use HTML::Entities;
-sub for_bodies {
- my ($rs, $bodies, $category) = @_;
- my $attrs = {
- 'me.body_id' => $bodies,
- };
- if ($category) {
- $attrs->{'contact.category'} = [ $category, undef ];
- }
- $rs->search($attrs, {
- order_by => 'name',
- join => { 'contact_defect_types' => 'contact' },
- distinct => 1,
- });
+with('FixMyStreet::Roles::ContactExtra');
+
+sub join_table {
+ return 'contact_defect_types';
+}
+
+sub map_extras {
+ my ($rs, @ts) = @_;
+ return map {
+ my $meta = $_->get_extra_metadata();
+ my %extra = map { $_ => encode_entities($meta->{$_}) } keys %$meta;
+ {
+ id => $_->id,
+ name => encode_entities($_->name),
+ extra => \%extra
+ }
+ } @ts;
}
1;
diff --git a/perllib/FixMyStreet/DB/ResultSet/ReportExtraFields.pm b/perllib/FixMyStreet/DB/ResultSet/ReportExtraFields.pm
new file mode 100644
index 000000000..1348df3c2
--- /dev/null
+++ b/perllib/FixMyStreet/DB/ResultSet/ReportExtraFields.pm
@@ -0,0 +1,25 @@
+package FixMyStreet::DB::ResultSet::ReportExtraFields;
+use base 'DBIx::Class::ResultSet';
+
+use strict;
+use warnings;
+
+sub for_cobrand {
+ my ( $rs, $cobrand ) = @_;
+
+ my $result = $rs->search(
+ { cobrand => [ undef, $cobrand->moniker, '' ] }
+ );
+ return $result;
+}
+
+sub for_language {
+ my ( $rs, $language ) = @_;
+
+ my $result = $rs->search(
+ { language => [ undef, $language, '' ] }
+ );
+ return $result;
+}
+
+1;
diff --git a/perllib/FixMyStreet/DB/ResultSet/ResponsePriority.pm b/perllib/FixMyStreet/DB/ResultSet/ResponsePriority.pm
index aa9c426f4..89bb4dfd7 100644
--- a/perllib/FixMyStreet/DB/ResultSet/ResponsePriority.pm
+++ b/perllib/FixMyStreet/DB/ResultSet/ResponsePriority.pm
@@ -3,20 +3,18 @@ use base 'DBIx::Class::ResultSet';
use strict;
use warnings;
+use Moo;
+use HTML::Entities;
-sub for_bodies {
- my ($rs, $bodies, $category) = @_;
- my $attrs = {
- 'me.body_id' => $bodies,
- };
- if ($category) {
- $attrs->{'contact.category'} = [ $category, undef ];
- }
- $rs->search($attrs, {
- order_by => 'name',
- join => { 'contact_response_priorities' => 'contact' },
- distinct => 1,
- });
+with('FixMyStreet::Roles::ContactExtra');
+
+sub join_table {
+ return 'contact_response_priorities';
+}
+
+sub map_extras {
+ my ($rs, @ts) = @_;
+ return map { { id => $_->id, name => encode_entities($_->name) } } @ts;
}
1;
diff --git a/perllib/FixMyStreet/DB/ResultSet/ResponseTemplate.pm b/perllib/FixMyStreet/DB/ResultSet/ResponseTemplate.pm
new file mode 100644
index 000000000..aa070daa3
--- /dev/null
+++ b/perllib/FixMyStreet/DB/ResultSet/ResponseTemplate.pm
@@ -0,0 +1,27 @@
+package FixMyStreet::DB::ResultSet::ResponseTemplate;
+use base 'DBIx::Class::ResultSet';
+
+use Moo;
+use HTML::Entities;
+
+with('FixMyStreet::Roles::ContactExtra');
+
+sub join_table {
+ return 'contact_response_templates';
+}
+
+sub name_column {
+ 'title';
+}
+
+sub map_extras {
+ my ($rs, @ts) = @_;
+ return map {
+ my $out = { id => encode_entities($_->text), name => encode_entities($_->title) };
+ $out->{state} = encode_entities($_->state) if $_->state;
+ $out;
+ } @ts;
+}
+
+1;
+
diff --git a/perllib/FixMyStreet/DB/ResultSet/State.pm b/perllib/FixMyStreet/DB/ResultSet/State.pm
new file mode 100644
index 000000000..ac13ec2a4
--- /dev/null
+++ b/perllib/FixMyStreet/DB/ResultSet/State.pm
@@ -0,0 +1,84 @@
+package FixMyStreet::DB::ResultSet::State;
+use base 'DBIx::Class::ResultSet';
+
+use strict;
+use warnings;
+use Memcached;
+
+sub _hardcoded_states {
+ my $rs = shift;
+ # These are translated on use, not here
+ my $open = $rs->new({ id => -1, label => 'confirmed', type => 'open', name => "Open" });
+ my $closed = $rs->new({ id => -2, label => 'closed', type => 'closed', name => "Closed" });
+ return ($open, $closed);
+}
+
+# As states will change rarely, and then only through the admin,
+# we cache these in the package on first use, and clear on update.
+
+sub clear {
+ Memcached::set('states', '');
+}
+
+sub states {
+ my $rs = shift;
+
+ my $states = Memcached::get('states');
+ if ($states) {
+ # Need to reattach schema
+ $states->[0]->result_source->schema( $rs->result_source->schema ) if $states->[0];
+ return $states;
+ }
+
+ # Pick up and cache any translations
+ my $q = $rs->result_source->schema->resultset("Translation")->search({
+ tbl => 'state',
+ col => 'name',
+ });
+ my %trans;
+ $trans{$_->object_id}{$_->lang} = { id => $_->id, msgstr => $_->msgstr } foreach $q->all;
+
+ my @states = ($rs->_hardcoded_states, $rs->search(undef, { order_by => 'label' })->all);
+ $_->translated->{name} = $trans{$_->id} || {} foreach @states;
+ $states = \@states;
+ Memcached::set('states', $states);
+ return $states;
+}
+
+# Some functions to provide filters on the above data
+
+sub open { [ $_[0]->_filter(sub { $_->type eq 'open' }) ] }
+sub closed { [ $_[0]->_filter(sub { $_->type eq 'closed' }) ] }
+sub fixed { [ $_[0]->_filter(sub { $_->type eq 'fixed' }) ] }
+
+# We sometimes have only a state label to display, no associated object.
+# This function can be used to return that label's display name.
+
+sub display {
+ my ($rs, $label, $single_fixed) = @_;
+ my $unchanging = {
+ unconfirmed => _("Unconfirmed"),
+ hidden => _("Hidden"),
+ partial => _("Partial"),
+ 'fixed - council' => _("Fixed - Council"),
+ 'fixed - user' => _("Fixed - User"),
+ };
+ my $translate_now = {
+ confirmed => _("Open"),
+ closed => _("Closed"),
+ };
+ $label = 'fixed' if $single_fixed && $label =~ /^fixed - (council|user)$/;
+ return $unchanging->{$label} if $unchanging->{$label};
+ my ($state) = $rs->_filter(sub { $_->label eq $label });
+ return $label unless $state;
+ $state->name($translate_now->{$label}) if $translate_now->{$label};
+ return $state->msgstr;
+}
+
+sub _filter {
+ my ($rs, $fn) = @_;
+ my $states = $rs->states;
+ grep &$fn, @$states;
+}
+
+1;
diff --git a/perllib/FixMyStreet/DB/ResultSet/UserPlannedReport.pm b/perllib/FixMyStreet/DB/ResultSet/UserPlannedReport.pm
index 7e16e2dd3..460a4912e 100644
--- a/perllib/FixMyStreet/DB/ResultSet/UserPlannedReport.pm
+++ b/perllib/FixMyStreet/DB/ResultSet/UserPlannedReport.pm
@@ -6,7 +6,17 @@ use warnings;
sub active {
my $rs = shift;
- $rs->search({ removed => undef });
+
+ # If we have been prefetched we can't use `active` as that'll blow away the
+ # cache and query the DB due to the `removed IS NULL` clause. So let's do
+ # the filtering here instead, if the query has been prefetched.
+ if ( $rs->get_cache ) {
+ my @users = grep { !defined($_->removed) } $rs->all;
+ $rs->set_cache(\@users);
+ $rs;
+ } else {
+ $rs->search({ removed => undef });
+ }
}
sub for_report {
diff --git a/perllib/FixMyStreet/DB/Schema.pm b/perllib/FixMyStreet/DB/Schema.pm
new file mode 100644
index 000000000..be39069d8
--- /dev/null
+++ b/perllib/FixMyStreet/DB/Schema.pm
@@ -0,0 +1,32 @@
+use utf8;
+package FixMyStreet::DB::Schema;
+
+# Created by DBIx::Class::Schema::Loader
+# DO NOT MODIFY THE FIRST PART OF THIS FILE
+
+use strict;
+use warnings;
+
+use base 'DBIx::Class::Schema';
+
+__PACKAGE__->load_namespaces(
+ result_namespace => "+FixMyStreet::DB::Result",
+ resultset_namespace => "+FixMyStreet::DB::ResultSet",
+);
+
+
+# Created by DBIx::Class::Schema::Loader v0.07035 @ 2017-07-13 14:15:09
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:UpH30RXb6SbCqRv2FPmpkg
+
+use Moo;
+use FixMyStreet;
+
+__PACKAGE__->connection(FixMyStreet->dbic_connect_info);
+
+has lang => ( is => 'rw' );
+
+has cobrand => ( is => 'rw' );
+
+has cache => ( is => 'rw', lazy => 1, default => sub { {} } );
+
+1;
diff --git a/perllib/FixMyStreet/Email/Sender.pm b/perllib/FixMyStreet/Email/Sender.pm
index e6148a56c..2fb819fbc 100644
--- a/perllib/FixMyStreet/Email/Sender.pm
+++ b/perllib/FixMyStreet/Email/Sender.pm
@@ -28,11 +28,14 @@ sub build_default_transport {
if ( FixMyStreet->test_mode ) {
Email::Sender::Util->easy_transport(Test => {});
} elsif ( my $smtp_host = FixMyStreet->config('SMTP_SMARTHOST') ) {
- my $type = FixMyStreet->config('SMTP_TYPE') || '';
+ my $type = lc (FixMyStreet->config('SMTP_TYPE') || '');
my $port = FixMyStreet->config('SMTP_PORT') || '';
my $username = FixMyStreet->config('SMTP_USERNAME') || '';
my $password = FixMyStreet->config('SMTP_PASSWORD') || '';
+ die "Bad SMTP_TYPE config: is $type, should be tls, ssl, or blank"
+ unless $type =~ /^(tls|ssl|)$/;
+
my $ssl = $type eq 'tls' ? 'starttls' : $type eq 'ssl' ? 'ssl' : '';
my $args = {
host => $smtp_host,
diff --git a/perllib/FixMyStreet/Integrations/ExorRDI.pm b/perllib/FixMyStreet/Integrations/ExorRDI.pm
new file mode 100644
index 000000000..093688e47
--- /dev/null
+++ b/perllib/FixMyStreet/Integrations/ExorRDI.pm
@@ -0,0 +1,243 @@
+package FixMyStreet::Integrations::ExorRDI::Error;
+
+use Moo;
+with 'Throwable';
+
+has message => (is => 'ro');
+
+package FixMyStreet::Integrations::ExorRDI::CSV;
+
+use parent 'Text::CSV';
+
+sub add_row {
+ my ($self, $data, @data) = @_;
+ $self->combine(@data);
+ push @$data, $self->string;
+}
+
+package FixMyStreet::Integrations::ExorRDI;
+
+use DateTime;
+use Moo;
+use Scalar::Util 'blessed';
+use FixMyStreet::DB;
+use namespace::clean;
+
+has [qw(start_date end_date inspection_date mark_as_processed)] => (
+ is => 'ro',
+ required => 1,
+);
+
+has user => (
+ is => 'ro',
+ coerce => sub {
+ return $_[0] if blessed($_[0]) && $_[0]->isa('FixMyStreet::DB::Result::User');
+ FixMyStreet::DB->resultset('User')->find( { id => $_[0] } )
+ if $_[0];
+ },
+);
+
+sub construct {
+ my $self = shift;
+
+ my $cobrand = FixMyStreet::Cobrand->get_class_for_moniker('oxfordshire')->new;
+ my $dtf = $cobrand->problems->result_source->storage->datetime_parser;
+ my $now = DateTime->now(
+ time_zone => FixMyStreet->time_zone || FixMyStreet->local_time_zone
+ );
+
+ my $missed_cutoff = $now - DateTime::Duration->new( hours => 24 );
+ my %params = (
+ -and => [
+ state => [ 'action scheduled' ],
+ external_id => { '!=' => undef },
+ -or => [
+ -and => [
+ 'admin_log_entries.action' => 'inspected',
+ 'admin_log_entries.whenedited' => { '>=', $dtf->format_datetime($self->start_date) },
+ 'admin_log_entries.whenedited' => { '<=', $dtf->format_datetime($self->end_date) },
+ ],
+ -and => [
+ extra => { -not_like => '%rdi_processed%' },
+ 'admin_log_entries.action' => 'inspected',
+ 'admin_log_entries.whenedited' => { '<=', $dtf->format_datetime($missed_cutoff) },
+ ]
+ ]
+ ]
+ );
+
+ $params{'admin_log_entries.user_id'} = $self->user->id if $self->user;
+
+ my $problems = $cobrand->problems->search(
+ \%params,
+ {
+ join => 'admin_log_entries',
+ distinct => 1,
+ }
+ );
+ FixMyStreet::Integrations::ExorRDI::Error->throw unless $problems->count;
+
+ # A single RDI file might contain inspections from multiple inspectors, so
+ # we need to group inspections by inspector within G records.
+ my $inspectors = {};
+ my $inspector_initials = {};
+ while ( my $report = $problems->next ) {
+ my $user = $report->inspection_log_entry->user;
+ $inspectors->{$user->id} ||= [];
+ push @{ $inspectors->{$user->id} }, $report;
+ unless ( $inspector_initials->{$user->id} ) {
+ $inspector_initials->{$user->id} = $user->get_extra_metadata('initials');
+ }
+ }
+
+ my $csv = FixMyStreet::Integrations::ExorRDI::CSV->new({ binary => 1, eol => "" });
+
+ my $p_count = 0;
+ my $link_id = $cobrand->exor_rdi_link_id;
+
+ # RDI first line is always the same
+ my $body = [];
+ $csv->add_row($body, "1", "1.8", "1.0.0.0", "ENHN", "");
+
+ my $i = 0;
+ foreach my $inspector_id (keys %$inspectors) {
+ my $inspections = $inspectors->{$inspector_id};
+ my $initials = $inspector_initials->{$inspector_id};
+
+ my %body_by_activity_code;
+ foreach my $report (@$inspections) {
+ my ($eastings, $northings) = $report->local_coords;
+
+ my $location = "${eastings}E ${northings}N";
+ $location = "[DID NOT USE MAP] $location" unless $report->used_map;
+ my $closest_address = $cobrand->find_closest($report, 1);
+ if (%$closest_address) {
+ $location .= " Nearest road: $closest_address->{road}." if $closest_address->{road};
+ $location .= " Nearest postcode: $closest_address->{postcode}{postcode}." if $closest_address->{postcode};
+ }
+
+ my $description = sprintf("%s %s", $report->external_id || "", $report->get_extra_metadata('detailed_information') || "");
+ my $activity_code = $report->defect_type ?
+ $report->defect_type->get_extra_metadata('activity_code')
+ : 'MC';
+ my $traffic_information = $report->get_extra_metadata('traffic_information') ?
+ 'TM ' . $report->get_extra_metadata('traffic_information')
+ : 'TM none';
+ $body_by_activity_code{$activity_code} ||= [];
+
+ $csv->add_row($body_by_activity_code{$activity_code},
+ "I", # beginning of defect record
+ $activity_code, # activity code - minor carriageway, also FC (footway)
+ "", # empty field, can also be A (seen on MC) or B (seen on FC)
+ sprintf("%03d", ++$i), # randomised sequence number
+ $location, # defect location field, which we don't capture from inspectors
+ $report->inspection_log_entry->whenedited->strftime("%H%M"), # defect time raised
+ "","","","","","","", # empty fields
+ $traffic_information,
+ $description, # defect description
+ );
+
+ my $defect_type = $report->defect_type ?
+ $report->defect_type->get_extra_metadata('defect_code')
+ : 'SFP2';
+ $csv->add_row($body_by_activity_code{$activity_code},
+ "J", # georeferencing record
+ $defect_type, # defect type - SFP2: sweep and fill <1m2, POT2 also seen
+ $report->response_priority ?
+ $report->response_priority->external_id :
+ "2", # priority of defect
+ "","", # empty fields
+ $eastings, # eastings
+ $northings, # northings
+ "","","","","" # empty fields
+ );
+
+ my $m_row_activity_code = $activity_code;
+ $m_row_activity_code .= 'I' if length $activity_code == 1;
+
+ $csv->add_row($body_by_activity_code{$activity_code},
+ "M", # bill of quantities record
+ "resolve", # permanent repair
+ "","", # empty fields
+ "/C$m_row_activity_code", # /C + activity code + perhaps an "I"
+ "", "" # empty fields
+ );
+ }
+
+ foreach my $activity_code (sort keys %body_by_activity_code) {
+ $csv->add_row($body,
+ "G", # start of an area/sequence
+ $link_id, # area/link id, fixed value for our purposes
+ "","", # must be empty
+ $initials || "XX", # inspector initials
+ $self->inspection_date->strftime("%y%m%d"), # date of inspection yymmdd
+ "1600", # time of inspection hhmm, set to static value for now
+ "D", # inspection variant, should always be D
+ "INS", # inspection type, always INS
+ "N", # Area of the county - north (N) or south (S)
+ "", "", "", "" # empty fields
+ );
+
+ $csv->add_row($body,
+ "H", # initial inspection type
+ $activity_code # e.g. MC = minor carriageway
+ );
+
+ # List of I/J/M entries from above
+ push @$body, @{$body_by_activity_code{$activity_code}};
+
+ # end this group of defects with a P record
+ $csv->add_row($body,
+ "P", # end of area/sequence
+ 0, # always 0
+ 999999, # charging code, always 999999 in OCC
+ );
+ $p_count++;
+ }
+ }
+
+ # end the RDI file with an X record
+ my $record_count = $i;
+ $csv->add_row($body,
+ "X", # end of inspection record
+ $p_count,
+ $p_count,
+ $record_count, # number of I records
+ $record_count, # number of J records
+ 0, 0, 0, # always zero
+ $record_count, # number of M records
+ 0, # always zero
+ $p_count,
+ 0, 0, 0 # error counts, always zero
+ );
+
+ if ($self->mark_as_processed) {
+ # Mark all these problems are having been included in an RDI
+ $problems->reset;
+ while ( my $report = $problems->next ) {
+ $report->set_extra_metadata('rdi_processed' => $now->strftime( '%Y-%m-%d %H:%M' ));
+ $report->update;
+ }
+ }
+
+ # The RDI format is very weird CSV - each line must be wrapped in
+ # double quotes.
+ return join "", map { "\"$_\"\r\n" } @$body;
+}
+
+has filename => (
+ is => 'lazy',
+ default => sub {
+ my $self = shift;
+ my $start = $self->inspection_date->strftime("%Y%m%d");
+ my $end = $self->end_date->strftime("%Y%m%d");
+ my $filename = sprintf("exor_defects-%s-%s.rdi", $start, $end);
+ if ( $self->user ) {
+ my $initials = $self->user->get_extra_metadata("initials") || "";
+ $filename = sprintf("exor_defects-%s-%s-%s.rdi", $start, $end, $initials);
+ }
+ return $filename;
+ },
+);
+
+1;
diff --git a/perllib/FixMyStreet/Roles/ContactExtra.pm b/perllib/FixMyStreet/Roles/ContactExtra.pm
new file mode 100644
index 000000000..55c055d99
--- /dev/null
+++ b/perllib/FixMyStreet/Roles/ContactExtra.pm
@@ -0,0 +1,48 @@
+package FixMyStreet::Roles::ContactExtra;
+
+use Moo::Role;
+use JSON::MaybeXS;
+
+requires 'join_table', 'map_extras';
+
+sub for_bodies {
+ my ($rs, $bodies, $category) = @_;
+ my $join_table = $rs->join_table();
+ my $attrs = {
+ 'me.body_id' => $bodies,
+ };
+ my $order = $rs->can('name_column') ? $rs->name_column() : 'name';
+ my $filters = {
+ order_by => $order,
+ join => { $join_table => 'contact' },
+ prefetch => $join_table,
+ distinct => 1,
+ };
+ if ($category) {
+ $attrs->{'contact.category'} = [ $category, undef ];
+ }
+ $rs->search($attrs, $filters);
+}
+
+sub by_categories {
+ my ($rs, $area_id, @contacts) = @_;
+ my %body_ids = map { $_->body_id => 1 } FixMyStreet::DB->resultset('BodyArea')->search({ area_id => $area_id });
+ my @body_ids = keys %body_ids;
+ my %extras = ();
+ my @results = $rs->for_bodies(\@body_ids, undef);
+ @contacts = grep { $body_ids{$_->body_id} } @contacts;
+
+ foreach my $contact (@contacts) {
+ my $join_table = $rs->join_table();
+ my @ts = grep {
+ $_->$join_table == 0 # There's no category at all on this defect type/template/priority
+ || (grep { $_->contact_id == $contact->get_column('id') } $_->$join_table)
+ } @results;
+ @ts = $rs->map_extras(@ts);
+ $extras{$contact->category} = encode_json(\@ts);
+ }
+
+ return \%extras;
+}
+
+1;
diff --git a/perllib/FixMyStreet/Roles/Extra.pm b/perllib/FixMyStreet/Roles/Extra.pm
index dc2e5c241..445f6d91c 100644
--- a/perllib/FixMyStreet/Roles/Extra.pm
+++ b/perllib/FixMyStreet/Roles/Extra.pm
@@ -175,4 +175,20 @@ sub get_extra {
return $extra;
}
+=head2 get_extra_field_value
+
+Return the value of a field stored in `_fields` in extra, or undefined if
+it's not present.
+
+=cut
+
+sub get_extra_field_value {
+ my ($self, $name) = @_;
+
+ my @fields = @{ $self->get_extra_fields() };
+
+ my ($field) = grep { $_->{name} eq $name } @fields;
+ return $field->{value};
+}
+
1;
diff --git a/perllib/FixMyStreet/Roles/Translatable.pm b/perllib/FixMyStreet/Roles/Translatable.pm
new file mode 100644
index 000000000..d39d97bf8
--- /dev/null
+++ b/perllib/FixMyStreet/Roles/Translatable.pm
@@ -0,0 +1,116 @@
+package FixMyStreet::Roles::Translatable;
+
+use Moo::Role;
+use FixMyStreet;
+
+has _translated => (is => 'rw');
+
+sub translated {
+ my $self = shift;
+ $self->_translated or $self->_translated({});
+}
+
+sub translate_around {
+ my ($orig, $self) = (shift, shift);
+ my $fallback = $self->$orig(@_);
+ (my $col = (caller(2))[3]) =~ s/.*:://;
+ $self->_translate($col, $fallback);
+}
+
+sub translate_column {
+ my ($self, $col) = (shift, shift);
+ my $fallback = $self->$col(@_);
+ $self->_translate($col, $fallback);
+}
+
+sub _translate {
+ my ($self, $col, $fallback) = @_;
+
+ my $langs = FixMyStreet->config('LANGUAGES');
+ return $fallback if !$langs || @$langs < 2;
+
+ my %cols = $self->get_columns;
+ return $cols{msgstr} if $cols{msgstr};
+
+ my $schema = $self->result_source->schema;
+ my $table = lc $self->result_source->source_name;
+ my $id = $self->id;
+ my $lang = $schema->lang || '';
+
+ my $translated = $self->translated->{$col}{$lang};
+ return $translated if $translated;
+
+ # Deal with the fact problem table has denormalized copy of category string
+ if ($table eq 'problem' && $col eq 'category') {
+ my $body_id = $self->bodies_str_ids->[0];
+ return $fallback unless $body_id && $body_id =~ /^[0-9]+$/;
+ my $contact = $schema->resultset("Contact")->find( {
+ body_id => $body_id,
+ category => $fallback,
+ } );
+ return $fallback unless $contact; # Shouldn't happen, but some tests
+ $table = 'contact';
+ $id = $contact->id;
+ }
+
+ if (ref $schema) {
+ my $translation = $schema->resultset('Translation')->find({
+ lang => $lang,
+ tbl => $table,
+ object_id => $id,
+ col => $col
+ });
+ $fallback = $translation->msgstr if $translation;
+ } else {
+ warn "Can't use translation on this call to $table.$col";
+ }
+ $self->translated->{$col}{$lang} = $fallback;
+ return $fallback;
+};
+
+# These next two functions (translation_for and and_translation_for) are
+# convenience methods for use in the translation interface in the admin.
+# They shouldn't be used else where as they don't take account of things
+# like denormalised strings (e.g report category)
+sub translation_for {
+ my ($self, $col, $lang) = @_;
+
+ my $schema = $self->result_source->schema;
+
+ my $props = {
+ tbl => lc $self->result_source->source_name,
+ object_id => $self->id,
+ col => $col
+ };
+
+ if ($lang) {
+ $props->{lang} = $lang;
+ }
+
+ my $translations = $schema->resultset('Translation')->search($props);
+
+ return $lang ? $translations->first : $translations;
+}
+
+sub add_translation_for {
+ my ($self, $col, $lang, $msgstr) = @_;
+
+ my $schema = $self->result_source->schema;
+
+ my $props = {
+ tbl => lc $self->result_source->source_name,
+ object_id => $self->id,
+ col => $col,
+ lang => $lang,
+ msgstr => $msgstr,
+ };
+
+ my $translation = $schema->resultset('Translation')->update_or_create(
+ $props,
+ { key => 'translation_tbl_object_id_col_lang_key' }
+ );
+
+ return $translation;
+}
+
+1;
diff --git a/perllib/FixMyStreet/Script/Alerts.pm b/perllib/FixMyStreet/Script/Alerts.pm
index 1a760a0c1..c001cc311 100644
--- a/perllib/FixMyStreet/Script/Alerts.pm
+++ b/perllib/FixMyStreet/Script/Alerts.pm
@@ -6,7 +6,6 @@ use warnings;
use DateTime::Format::Pg;
use IO::String;
-use mySociety::DBHandle qw(dbh);
use FixMyStreet::Gaze;
use mySociety::Locale;
use mySociety::MaPit;
@@ -18,8 +17,6 @@ use FixMyStreet::Email;
use FixMyStreet::Map;
use FixMyStreet::App::Model::PhotoSet;
-FixMyStreet->configure_mysociety_dbhandle;
-
my $parser = DateTime::Format::Pg->new();
# Child must have confirmed, id, email, state(!) columns
@@ -65,7 +62,7 @@ sub send() {
$query =~ s/\?/alert.parameter/ if ($query =~ /\?/);
$query =~ s/\?/alert.parameter2/ if ($query =~ /\?/);
- $query = dbh()->prepare($query);
+ $query = FixMyStreet::DB->schema->storage->dbh->prepare($query);
$query->execute();
my $last_alert_id;
my %data = ( template => $alert_type->template, data => [], schema => $schema );
@@ -105,7 +102,7 @@ sub send() {
my $url = $cobrand->base_url_for_report($row);
# this is currently only for new_updates
- if ($row->{item_text}) {
+ if (defined($row->{item_text})) {
if ( $cobrand->moniker ne 'zurich' && $row->{alert_user_id} == $row->{user_id} ) {
# This is an alert to the same user who made the report - make this a login link
# Don't bother with Zurich which has no accounts
@@ -143,7 +140,7 @@ sub send() {
# this is ward and council problems
} else {
if ( exists $row->{geocode} && $row->{geocode} && $ref =~ /ward|council/ ) {
- my $nearest_st = _get_address_from_gecode( $row->{geocode} );
+ my $nearest_st = _get_address_from_geocode( $row->{geocode} );
$row->{nearest} = $nearest_st;
}
@@ -228,7 +225,7 @@ sub send() {
and (select whenqueued from alert_sent where alert_sent.alert_id = ? and alert_sent.parameter::integer = problem.id) is null
and users.email <> ?
order by confirmed desc";
- $q = dbh()->prepare($q);
+ $q = FixMyStreet::DB->schema->storage->dbh->prepare($q);
$q->execute($latitude, $longitude, $d, $alert->whensubscribed, $alert->id, $alert->user->email);
while (my $row = $q->fetchrow_hashref) {
$schema->resultset('AlertSent')->create( {
@@ -236,7 +233,7 @@ sub send() {
parameter => $row->{id},
} );
if ( exists $row->{geocode} && $row->{geocode} ) {
- my $nearest_st = _get_address_from_gecode( $row->{geocode} );
+ my $nearest_st = _get_address_from_geocode( $row->{geocode} );
$row->{nearest} = $nearest_st;
}
my $dt = $parser->parse_timestamp( $row->{confirmed} );
@@ -304,7 +301,7 @@ sub _send_aggregated_alert_email(%) {
}
}
-sub _get_address_from_gecode {
+sub _get_address_from_geocode {
my $geocode = shift;
return '' unless defined $geocode;
diff --git a/perllib/FixMyStreet/Script/Questionnaires.pm b/perllib/FixMyStreet/Script/Questionnaires.pm
index 3f22eb150..ec6139d2d 100644
--- a/perllib/FixMyStreet/Script/Questionnaires.pm
+++ b/perllib/FixMyStreet/Script/Questionnaires.pm
@@ -16,6 +16,9 @@ sub send {
sub send_questionnaires_period {
my ( $period, $params ) = @_;
+ # Don't send if we don't have a fixed state
+ return unless FixMyStreet::DB::Result::Problem::fixed_states->{fixed};
+
my $rs = FixMyStreet::DB->resultset('Questionnaire');
# Select all problems that need a questionnaire email sending
diff --git a/perllib/FixMyStreet/Script/Reports.pm b/perllib/FixMyStreet/Script/Reports.pm
index 6057807de..1e5fd55bb 100644
--- a/perllib/FixMyStreet/Script/Reports.pm
+++ b/perllib/FixMyStreet/Script/Reports.pm
@@ -98,7 +98,7 @@ sub send(;$) {
$h{osm_url} = Utils::OpenStreetMap::short_url($h{latitude}, $h{longitude});
if ( $row->used_map ) {
- $h{closest_address} = $cobrand->find_closest( $h{latitude}, $h{longitude}, $row );
+ $h{closest_address} = $cobrand->find_closest($row);
$h{osm_url} .= '?m';
}
diff --git a/perllib/FixMyStreet/Script/UpdateAllReports.pm b/perllib/FixMyStreet/Script/UpdateAllReports.pm
new file mode 100755
index 000000000..1bd069ee8
--- /dev/null
+++ b/perllib/FixMyStreet/Script/UpdateAllReports.pm
@@ -0,0 +1,274 @@
+package FixMyStreet::Script::UpdateAllReports;
+
+use strict;
+use warnings;
+
+use FixMyStreet;
+use FixMyStreet::DB;
+
+use File::Path ();
+use File::Slurp;
+use JSON::MaybeXS;
+use List::MoreUtils qw(zip);
+use List::Util qw(sum);
+
+my $fourweeks = 4*7*24*60*60;
+
+# Age problems from when they're confirmed, except on Zurich
+# where they appear as soon as they're created.
+my $age_column = 'confirmed';
+if ( FixMyStreet->config('BASE_URL') =~ /zurich|zueri/ ) {
+ $age_column = 'created';
+}
+
+sub generate {
+ my $include_areas = shift;
+
+ my $problems = FixMyStreet::DB->resultset('Problem')->search(
+ {
+ state => [ FixMyStreet::DB::Result::Problem->visible_states() ],
+ bodies_str => \'is not null',
+ },
+ {
+ columns => [
+ 'id', 'bodies_str', 'state', 'areas', 'cobrand',
+ { duration => { extract => "epoch from current_timestamp-lastupdate" } },
+ { age => { extract => "epoch from current_timestamp-$age_column" } },
+ ]
+ }
+ );
+ $problems = $problems->cursor; # Raw DB cursor for speed
+
+ my ( %fixed, %open );
+ my @cols = ( 'id', 'bodies_str', 'state', 'areas', 'cobrand', 'duration', 'age' );
+ while ( my @problem = $problems->next ) {
+ my %problem = zip @cols, @problem;
+ my @bodies;
+ my @areas;
+ my $cobrand = $problem{cobrand};
+ my $duration_str = ( $problem{duration} > 2 * $fourweeks ) ? 'old' : 'new';
+ my $type = ( $problem{duration} > 2 * $fourweeks )
+ ? 'unknown'
+ : ($problem{age} > $fourweeks ? 'older' : 'new');
+ my $problem_fixed =
+ FixMyStreet::DB::Result::Problem->fixed_states()->{$problem{state}}
+ || FixMyStreet::DB::Result::Problem->closed_states()->{$problem{state}};
+
+ # Add to bodies it was sent to
+ @bodies = split( /,/, $problem{bodies_str} );
+
+ foreach my $body ( @bodies ) {
+ if ( $problem_fixed ) {
+ # Fixed problems are either old or new
+ $fixed{$body}{$duration_str}++;
+ $fixed{$cobrand}{$body}{$duration_str}++;
+ } else {
+ # Open problems are either unknown, older, or new
+ $open{$body}{$type}++;
+ $open{$cobrand}{$body}{$type}++;
+ }
+ }
+
+ if ( $include_areas ) {
+ @areas = grep { $_ } split( /,/, $problem{areas} );
+ foreach my $area ( @areas ) {
+ if ( $problem_fixed ) {
+ $fixed{areas}{$area}{$duration_str}++;
+ } else {
+ $open{areas}{$area}{$type}++;
+ }
+ }
+ }
+ }
+
+ my $body = encode_json( {
+ fixed => \%fixed,
+ open => \%open,
+ } );
+
+ File::Path::mkpath( FixMyStreet->path_to( '../data/' )->stringify );
+ File::Slurp::write_file( FixMyStreet->path_to( '../data/all-reports.json' )->stringify, \$body );
+}
+
+sub end_period {
+ my $period = shift;
+ FixMyStreet->set_time_zone(DateTime->now)->truncate(to => $period)->add($period . 's' => 1)->subtract(seconds => 1);
+}
+
+sub loop_period {
+ my ($date, $period, $extra) = @_;
+ my $end = end_period($period);
+ my @out;
+ while ($date <= $end) {
+ push @out, { n => $date->$period, $extra ? (d => $date->$extra) : () };
+ $date->add($period . 's' => 1);
+ }
+ return @out;
+}
+
+sub generate_dashboard {
+ my %data;
+
+ my $end_today = end_period('day');
+ my $min_confirmed = FixMyStreet::DB->resultset('Problem')->search({
+ state => [ FixMyStreet::DB::Result::Problem->visible_states() ],
+ }, {
+ select => [ { min => 'confirmed' } ],
+ as => [ 'confirmed' ],
+ })->first->confirmed;
+ if ($min_confirmed) {
+ $min_confirmed = $min_confirmed->truncate(to => 'day');
+ } else {
+ $min_confirmed = FixMyStreet->set_time_zone(DateTime->now)->truncate(to => 'day');
+ }
+
+ my ($group_by, $extra);
+ if (DateTime::Duration->compare($end_today - $min_confirmed, DateTime::Duration->new(months => 1)) < 0) {
+ $group_by = 'day';
+ } elsif (DateTime::Duration->compare($end_today - $min_confirmed, DateTime::Duration->new(years => 1)) < 0) {
+ $group_by = 'month';
+ $extra = 'month_abbr';
+ } else {
+ $group_by = 'year';
+ }
+ my @problem_periods = loop_period($min_confirmed, $group_by, $extra);
+
+ my %problems_reported_by_period = stuff_by_day_or_year(
+ $group_by, 'Problem',
+ state => [ FixMyStreet::DB::Result::Problem->visible_states() ],
+ );
+ my %problems_fixed_by_period = stuff_by_day_or_year(
+ $group_by, 'Problem',
+ state => [ FixMyStreet::DB::Result::Problem->fixed_states() ],
+ );
+
+ my (@problems_reported_by_period, @problems_fixed_by_period);
+ foreach (map { $_->{n} } @problem_periods) {
+ push @problems_reported_by_period, ($problems_reported_by_period[-1]||0) + ($problems_reported_by_period{$_}||0);
+ push @problems_fixed_by_period, ($problems_fixed_by_period[-1]||0) + ($problems_fixed_by_period{$_}||0);
+ }
+ $data{problem_periods} = [ map { $_->{d} || $_->{n} } @problem_periods ];
+ $data{problems_reported_by_period} = \@problems_reported_by_period;
+ $data{problems_fixed_by_period} = \@problems_fixed_by_period;
+
+ my %last_seven_days = (
+ problems => [],
+ updated => [],
+ fixed => [],
+ );
+ $data{last_seven_days} = \%last_seven_days;
+
+ my $dtf = FixMyStreet::DB->schema->storage->datetime_parser;
+ my $eight_ago = $dtf->format_datetime(DateTime->now->subtract(days => 8));
+ %problems_reported_by_period = stuff_by_day_or_year('day',
+ 'Problem',
+ state => [ FixMyStreet::DB::Result::Problem->visible_states() ],
+ confirmed => { '>=', $eight_ago },
+ );
+ %problems_fixed_by_period = stuff_by_day_or_year('day',
+ 'Comment',
+ confirmed => { '>=', $eight_ago },
+ -or => [
+ problem_state => [ FixMyStreet::DB::Result::Problem->fixed_states() ],
+ mark_fixed => 1,
+ ],
+ );
+ my %problems_updated_by_period = stuff_by_day_or_year('day',
+ 'Comment',
+ confirmed => { '>=', $eight_ago },
+ );
+
+ my $date = DateTime->today->subtract(days => 7);
+ while ($date < DateTime->today) {
+ push @{$last_seven_days{problems}}, $problems_reported_by_period{$date->day} || 0;
+ push @{$last_seven_days{fixed}}, $problems_fixed_by_period{$date->day} || 0;
+ push @{$last_seven_days{updated}}, $problems_updated_by_period{$date->day} || 0;
+ $date->add(days => 1);
+ }
+ $last_seven_days{problems_total} = sum @{$last_seven_days{problems}};
+ $last_seven_days{fixed_total} = sum @{$last_seven_days{fixed}};
+ $last_seven_days{updated_total} = sum @{$last_seven_days{updated}};
+
+ my(@top_five_bodies);
+ $data{top_five_bodies} = \@top_five_bodies;
+
+ my $bodies = FixMyStreet::DB->resultset('Body')->search;
+ my $substmt = "select min(id) from comment where me.problem_id=comment.problem_id and (problem_state in ('fixed', 'fixed - council', 'fixed - user') or mark_fixed)";
+ while (my $body = $bodies->next) {
+ my $subquery = FixMyStreet::DB->resultset('Comment')->to_body($body)->search({
+ -or => [
+ problem_state => [ FixMyStreet::DB::Result::Problem->fixed_states() ],
+ mark_fixed => 1,
+ ],
+ 'me.id' => \"= ($substmt)",
+ 'me.state' => 'confirmed',
+ }, {
+ select => [
+ { extract => "epoch from me.confirmed-problem.confirmed", -as => 'time' },
+ ],
+ as => [ qw/time/ ],
+ rows => 100,
+ order_by => { -desc => 'me.confirmed' },
+ join => 'problem'
+ })->as_subselect_rs;
+ my $avg = $subquery->search({
+ }, {
+ select => [ { avg => "time" } ],
+ as => [ qw/avg/ ],
+ })->first->get_column('avg');
+ push @top_five_bodies, { name => $body->name, days => int($avg / 60 / 60 / 24 + 0.5) }
+ if defined $avg;
+ }
+ @top_five_bodies = sort { $a->{days} <=> $b->{days} } @top_five_bodies;
+ $data{average} = @top_five_bodies
+ ? int((sum map { $_->{days} } @top_five_bodies) / @top_five_bodies + 0.5) : undef;
+
+ @top_five_bodies = @top_five_bodies[0..4] if @top_five_bodies > 5;
+
+ my $week_ago = $dtf->format_datetime(DateTime->now->subtract(days => 7));
+ my $last_seven_days = FixMyStreet::DB->resultset("Problem")->search({
+ confirmed => { '>=', $week_ago },
+ })->count;
+ my @top_five_categories = FixMyStreet::DB->resultset("Problem")->search({
+ confirmed => { '>=', $week_ago },
+ category => { '!=', 'Other' },
+ }, {
+ select => [ 'category', { count => 'id' } ],
+ as => [ 'category', 'count' ],
+ group_by => 'category',
+ rows => 5,
+ order_by => { -desc => 'count' },
+ });
+ $data{top_five_categories} = [ map {
+ { category => $_->category, count => $_->get_column('count') }
+ } @top_five_categories ];
+ foreach (@top_five_categories) {
+ $last_seven_days -= $_->get_column('count');
+ }
+ $data{other_categories} = $last_seven_days;
+
+ my $body = encode_json( \%data );
+ File::Path::mkpath( FixMyStreet->path_to( '../data/' )->stringify );
+ File::Slurp::write_file( FixMyStreet->path_to( '../data/all-reports-dashboard.json' )->stringify, \$body );
+}
+
+sub stuff_by_day_or_year {
+ my $period = shift;
+ my $table = shift;
+ my %params = @_;
+ my $results = FixMyStreet::DB->resultset($table)->search({
+ %params
+ }, {
+ select => [ { extract => \"$period from confirmed", -as => $period }, { count => 'id' } ],
+ as => [ $period, 'count' ],
+ group_by => [ $period ],
+ });
+ my %out;
+ while (my $row = $results->next) {
+ my $p = $row->get_column($period);
+ $out{$p} = $row->get_column('count');
+ }
+ return %out;
+}
+
+1;
diff --git a/perllib/FixMyStreet/SendReport/Angus.pm b/perllib/FixMyStreet/SendReport/Angus.pm
index cab5de173..b552fbd9d 100644
--- a/perllib/FixMyStreet/SendReport/Angus.pm
+++ b/perllib/FixMyStreet/SendReport/Angus.pm
@@ -7,7 +7,6 @@ BEGIN { extends 'FixMyStreet::SendReport'; }
use Try::Tiny;
use Encode;
use XML::Simple;
-use mySociety::Web qw(ent);
sub get_auth_token {
my ($self, $authxml) = @_;
diff --git a/perllib/FixMyStreet/SendReport/EastHants.pm b/perllib/FixMyStreet/SendReport/EastHants.pm
index 55ec79613..b24123f94 100644
--- a/perllib/FixMyStreet/SendReport/EastHants.pm
+++ b/perllib/FixMyStreet/SendReport/EastHants.pm
@@ -6,7 +6,7 @@ BEGIN { extends 'FixMyStreet::SendReport'; }
use Try::Tiny;
use Encode;
-use mySociety::Web qw(ent);
+use HTML::Entities;
sub construct_message {
my %h = @_;
@@ -43,8 +43,8 @@ sub send {
$eh_service ||= Integrations::EastHantsWSDL->on_fault(sub { my($soap, $res) = @_; die ref $res ? $res->faultstring : $soap->transport->status, "\n"; });
try {
# ServiceName, RemoteCreatedBy, Salutation, FirstName, Name, Email, Telephone, HouseNoName, Street, Town, County, Country, Postcode, Comments, FurtherInfo, ImageURL
- my $message = ent(encode_utf8($h->{message}));
- my $name = ent(encode_utf8($h->{name}));
+ my $message = encode_entities(encode_utf8($h->{message}));
+ my $name = encode_entities(encode_utf8($h->{name}));
my $result = $eh_service->INPUTFEEDBACK(
$h->{category}, 'FixMyStreet', '', '', $name, $h->{email}, $h->{phone},
'', '', '', '', '', '', $message, 'Yes', $h->{image_url}
diff --git a/perllib/FixMyStreet/SendReport/Email.pm b/perllib/FixMyStreet/SendReport/Email.pm
index 28f3411d0..eefb14553 100644
--- a/perllib/FixMyStreet/SendReport/Email.pm
+++ b/perllib/FixMyStreet/SendReport/Email.pm
@@ -12,15 +12,14 @@ sub build_recipient_list {
my $all_confirmed = 1;
foreach my $body ( @{ $self->bodies } ) {
- my $contact = $row->result_source->schema->resultset("Contact")->find( {
- deleted => 0,
+ my $contact = $row->result_source->schema->resultset("Contact")->not_deleted->find( {
body_id => $body->id,
category => $row->category
} );
- my ($body_email, $confirmed, $note) = ( $contact->email, $contact->confirmed, $contact->note );
+ my ($body_email, $state, $note) = ( $contact->email, $contact->state, $contact->note );
- unless ($confirmed) {
+ unless ($state eq 'confirmed') {
$all_confirmed = 0;
$note = 'Body ' . $row->bodies_str . ' deleted'
unless $note;
diff --git a/perllib/FixMyStreet/SendReport/Open311.pm b/perllib/FixMyStreet/SendReport/Open311.pm
index 059690612..eaa223bb2 100644
--- a/perllib/FixMyStreet/SendReport/Open311.pm
+++ b/perllib/FixMyStreet/SendReport/Open311.pm
@@ -35,8 +35,7 @@ sub send {
# Try and fill in some ones that we've been asked for, but not asked the user for
- my $contact = $row->result_source->schema->resultset("Contact")->find( {
- deleted => 0,
+ my $contact = $row->result_source->schema->resultset("Contact")->not_deleted->find( {
body_id => $body->id,
category => $row->category
} );
diff --git a/perllib/FixMyStreet/Test.pm b/perllib/FixMyStreet/Test.pm
new file mode 100644
index 000000000..572ae0a44
--- /dev/null
+++ b/perllib/FixMyStreet/Test.pm
@@ -0,0 +1,32 @@
+package FixMyStreet::Test;
+
+use parent qw(Exporter);
+
+use strict;
+use warnings FATAL => 'all';
+use utf8;
+use Test::More;
+use mySociety::Locale;
+use FixMyStreet::DB;
+
+my $db = FixMyStreet::DB->schema->storage;
+
+sub import {
+ strict->import;
+ warnings->import(FATAL => 'all');
+ utf8->import;
+ Test::More->export_to_level(1);
+ $db->txn_begin;
+}
+
+BEGIN {
+ use FixMyStreet;
+ FixMyStreet->test_mode(1);
+ mySociety::Locale::gettext_domain('FixMyStreet', 1);
+}
+
+END {
+ $db->txn_rollback if $db;
+}
+
+1;
diff --git a/perllib/FixMyStreet/TestAppProve.pm b/perllib/FixMyStreet/TestAppProve.pm
index 5298d225f..7a387547d 100644
--- a/perllib/FixMyStreet/TestAppProve.pm
+++ b/perllib/FixMyStreet/TestAppProve.pm
@@ -21,7 +21,7 @@ see bin/run-tests for usage
=cut
sub cleanup {
- unlink "conf/general.test-autogenerated.$$.yml";
+ unlink "conf/general-test-autogenerated.$$.yml";
}
sub signal_handler {
@@ -75,7 +75,7 @@ sub run {
$SIG{__WARN__} =
sub { print STDERR @_ if $_[0] !~ m/NOTICE: CREATE TABLE/; };
$dbh->do( path('db/schema.sql')->slurp ) or die $!;
- $dbh->do( path('db/alert_types.sql')->slurp ) or die $!;
+ $dbh->do( path('db/fixture.sql')->slurp ) or die $!;
$dbh->do( path('db/generate_secret.sql')->slurp ) or die $!;
$SIG{__WARN__} = $tmpwarn;
@@ -86,23 +86,23 @@ sub run {
$config->{FMS_DB_PASS} = '';
}
- my $config_out = "general.test-autogenerated.$$";
+ my $config_out = "general-test-autogenerated.$$";
path("conf/$config_out.yml")->spew( YAML::Dump($config) );
local $ENV{FMS_OVERRIDE_CONFIG} = $config_out;
- # If no arguments, test everything
- unshift @ARGV, 't' unless @ARGV;
+ my $prove = App::Prove->new;
+ $prove->process_args(@ARGV);
+ # If no arguments, test everything
+ $prove->argv(['t']) unless @{$prove->argv};
# verbose if we have a single file
- unshift @ARGV, '--verbose' if @ARGV and -f $ARGV[-1];
+ $prove->verbose(1) if @{$prove->argv} and -f $prove->argv->[-1];
+ # we always want to recurse
+ $prove->recurse(1);
+ # we always want to save state
+ $prove->state([ @state, 'save' ]);
- unshift @ARGV,
- '--recurse', # we always want to recurse
- '--state', (join ',' => @state, 'save'); # we always want to save state
-
- my $prove = App::Prove->new;
- $prove->process_args(@ARGV);
$prove->run;
}
diff --git a/perllib/FixMyStreet/TestMech.pm b/perllib/FixMyStreet/TestMech.pm
index 166ba116f..46f5344e2 100644
--- a/perllib/FixMyStreet/TestMech.pm
+++ b/perllib/FixMyStreet/TestMech.pm
@@ -1,12 +1,13 @@
package FixMyStreet::TestMech;
-use base qw(Test::WWW::Mechanize::Catalyst Test::Builder::Module);
+use parent qw(Test::WWW::Mechanize::Catalyst Test::Builder::Module);
-use strict;
-use warnings;
+use FixMyStreet::Test;
-BEGIN {
- use FixMyStreet;
- FixMyStreet->test_mode(1);
+sub import {
+ strict->import;
+ warnings->import(FATAL => 'all');
+ utf8->import;
+ Test::More->export_to_level(1);
}
use Test::WWW::Mechanize::Catalyst 'FixMyStreet::App';
@@ -484,31 +485,6 @@ sub extract_problem_list {
return $result->{ problems } || [];
}
-=head2 extract_report_stats
-
- $stats = $mech->extract_report_stats
-
-Returns a hash ref keyed by council name of all the council stats from the all reports
-page. Each value is an array ref with the first element being the council name and the
-rest being the stats in the order the appear in each row.
-
-=cut
-
-sub extract_report_stats {
- my $mech = shift;
-
- my $result = scraper {
- process 'tr[align=center]', 'councils[]' => scraper {
- process 'td.title a', 'council', 'TEXT',
- process 'td', 'stats[]', 'TEXT'
- }
- }->scrape( $mech->response );
-
- my %councils = map { $_->{council} => $_->{stats} } @{ $result->{councils} };
-
- return \%councils;
-}
-
=head2 visible_form_values
$hashref = $mech->visible_form_values( );
@@ -655,8 +631,7 @@ sub delete_defect_type {
sub create_contact_ok {
my $self = shift;
my %contact_params = (
- confirmed => 1,
- deleted => 0,
+ state => 'confirmed',
editor => 'Test',
whenedited => \'current_timestamp',
note => 'Created for test',
@@ -668,16 +643,12 @@ sub create_contact_ok {
}
sub create_body_ok {
- my $self = shift;
- my ( $area_id, $name, %extra ) = @_;
+ my ( $self, $area_id, $name, $params ) = @_;
+
+ $params->{name} = $name;
my $body = FixMyStreet::DB->resultset('Body');
- my $params = { name => $name };
- if ($extra{id}) {
- $body = $body->update_or_create({ %$params, id => $extra{id} }, { key => 'primary' });
- } else {
- $body = $body->find_or_create($params);
- }
+ $body = $body->find_or_create( $params );
ok $body, "found/created body $name";
$body->body_areas->delete;
diff --git a/perllib/Open311.pm b/perllib/Open311.pm
index c1323acfa..da5a0a377 100644
--- a/perllib/Open311.pm
+++ b/perllib/Open311.pm
@@ -59,6 +59,24 @@ sub get_service_meta_info {
return $self->_get_xml_object( $service_meta_xml );
}
+sub to_bristol {
+ my $problem = shift;
+ return unless $problem->cobrand =~ /fixmystreet|bristol/;
+ my $bodies = $problem->bodies;
+ return unless %$bodies;
+ my $body = (values %$bodies)[0];
+ return unless $body->areas->{2561};
+ return 1;
+}
+
+sub warn_failure {
+ my ($obj, $problem) = @_;
+ # Special case a poorly behaving Open311 server
+ return 0 if to_bristol($problem || $obj);
+ my $threshold = 1;
+ return $obj->send_fail_count && $obj->send_fail_count == $threshold;
+}
+
sub send_service_request {
my $self = shift;
my $problem = shift;
@@ -83,10 +101,10 @@ sub send_service_request {
}
warn sprintf( "Failed to submit problem %s over Open311, response\n: %s\n%s", $problem->id, $response, $self->debug_details )
- if $problem->send_fail_count && $problem->send_fail_count == 2;
+ if warn_failure($problem);
} else {
warn sprintf( "Failed to submit problem %s over Open311, details:\n%s", $problem->id, $self->error)
- if $problem->send_fail_count && $problem->send_fail_count == 2;
+ if warn_failure($problem);
}
return 0;
}
@@ -175,6 +193,7 @@ sub _generate_service_request_description {
$description = "title: " . $problem->title . "\n\n$description";
}
} elsif ($problem->cobrand eq 'fixamingata') {
+ $description .= "Titel: " . $problem->title . "\n\n";
$description .= "Beskrivning: " . $problem->detail . "\n\n";
$description .= "Länk till ärendet: " . $extra->{url} . "\n\n";
$description .= "Skickad via FixaMinGata\n";
@@ -259,10 +278,10 @@ sub post_service_request_update {
}
warn sprintf( "Failed to submit comment %s over Open311, response - %s\n%s\n", $comment->id, $response, $self->debug_details )
- if $comment->send_fail_count && $comment->send_fail_count == 2;
+ if warn_failure($comment, $comment->problem);
} else {
warn sprintf( "Failed to submit comment %s over Open311, details\n%s\n", $comment->id, $self->error)
- if $comment->send_fail_count && $comment->send_fail_count == 2;
+ if warn_failure($comment, $comment->problem);
}
return 0;
}
diff --git a/perllib/Open311/GetServiceRequestUpdates.pm b/perllib/Open311/GetServiceRequestUpdates.pm
index 0751092fb..db2a452da 100644
--- a/perllib/Open311/GetServiceRequestUpdates.pm
+++ b/perllib/Open311/GetServiceRequestUpdates.pm
@@ -11,7 +11,7 @@ has start_date => ( is => 'ro', default => sub { undef } );
has end_date => ( is => 'ro', default => sub { undef } );
has suppress_alerts => ( is => 'rw', default => 0 );
has verbose => ( is => 'ro', default => 0 );
-has schema => ( is =>'ro', lazy => 1, default => sub { FixMyStreet::DB->connect } );
+has schema => ( is =>'ro', lazy => 1, default => sub { FixMyStreet::DB->schema->connect } );
Readonly::Scalar my $AREA_ID_BROMLEY => 2482;
Readonly::Scalar my $AREA_ID_OXFORDSHIRE => 2237;
@@ -142,7 +142,10 @@ sub update_comments {
# don't update state unless it's an allowed state and it's
# actually changing the state of the problem
- if ( FixMyStreet::DB::Result::Problem->council_states()->{$state} && $p->state ne $state &&
+ if ( FixMyStreet::DB::Result::Problem->visible_states()->{$state} && $p->state ne $state &&
+ # For Oxfordshire, don't allow changes back to Open from other open states
+ !( $body->areas->{$AREA_ID_OXFORDSHIRE} && $state eq 'confirmed' && $p->is_open ) &&
+ # Don't let it change between the (same in the front end) fixed states
!( $p->is_fixed && FixMyStreet::DB::Result::Problem->fixed_states()->{$state} ) ) {
if ($p->is_visible) {
$p->state($state);
diff --git a/perllib/Open311/PopulateServiceList.pm b/perllib/Open311/PopulateServiceList.pm
index c5f17334b..764207626 100644
--- a/perllib/Open311/PopulateServiceList.pm
+++ b/perllib/Open311/PopulateServiceList.pm
@@ -6,7 +6,7 @@ use Open311;
has bodies => ( is => 'ro' );
has found_contacts => ( is => 'rw', default => sub { [] } );
has verbose => ( is => 'ro', default => 0 );
-has schema => ( is => 'ro', lazy => 1, default => sub { FixMyStreet::DB->connect } );
+has schema => ( is => 'ro', lazy => 1, default => sub { FixMyStreet::DB->schema->connect } );
has _current_body => ( is => 'rw' );
has _current_open311 => ( is => 'rw' );
@@ -131,14 +131,13 @@ sub _handle_existing_contact {
print $self->_current_body->id . " already has a contact for service code " . $self->_current_service->{service_code} . "\n" if $self->verbose >= 2;
- if ( $contact->deleted || $service_name ne $contact->category || $self->_current_service->{service_code} ne $contact->email ) {
+ if ( $contact->state eq 'deleted' || $service_name ne $contact->category || $self->_current_service->{service_code} ne $contact->email ) {
eval {
$contact->update(
{
category => $service_name,
email => $self->_current_service->{service_code},
- confirmed => 1,
- deleted => 0,
+ state => 'confirmed',
editor => $0,
whenedited => \'current_timestamp',
note => 'automatically undeleted by script',
@@ -175,8 +174,7 @@ sub _create_contact {
email => $self->_current_service->{service_code},
body_id => $self->_current_body->id,
category => $service_name,
- confirmed => 1,
- deleted => 0,
+ state => 'confirmed',
editor => $0,
whenedited => \'current_timestamp',
note => 'created automatically by script',
@@ -278,11 +276,10 @@ sub _normalize_service_name {
sub _delete_contacts_not_in_service_list {
my $self = shift;
- my $found_contacts = $self->schema->resultset('Contact')->search(
+ my $found_contacts = $self->schema->resultset('Contact')->not_deleted->search(
{
email => { -not_in => $self->found_contacts },
body_id => $self->_current_body->id,
- deleted => 0,
}
);
@@ -299,7 +296,7 @@ sub _delete_contacts_not_in_service_list {
$found_contacts->update(
{
- deleted => 1,
+ state => 'deleted',
editor => $0,
whenedited => \'current_timestamp',
note => 'automatically marked as deleted by script'
diff --git a/perllib/Plack/Middleware/Debug/FixMyStreet/Template.pm b/perllib/Plack/Middleware/Debug/FixMyStreet/Template.pm
new file mode 100644
index 000000000..05cb9f18a
--- /dev/null
+++ b/perllib/Plack/Middleware/Debug/FixMyStreet/Template.pm
@@ -0,0 +1,33 @@
+package Plack::Middleware::Debug::FixMyStreet::Template;
+
+=head1 NAME
+
+Plack::Middleware::Debug::FixMyStreet::Template -
+small subclass for FixMyStreet-specific tweaks.
+
+=head1 VERSION
+
+Version 1.00
+
+=cut
+
+our $VERSION = '1.00';
+
+use strict;
+use warnings;
+use parent qw(Plack::Middleware::Debug::Template);
+
+sub show_pathname { 1 }
+
+sub hook_pathname {
+ my ($self, $name) = @_;
+ $name =~ s/^.*templates\/web\///;
+ $name;
+}
+
+sub ignore_template {
+ my ($self, $template) = @_;
+ return 1 if $template eq 'site-name.html';
+}
+
+1;
diff --git a/script/bootstrap b/script/bootstrap
new file mode 100755
index 000000000..dfebd7449
--- /dev/null
+++ b/script/bootstrap
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+set -e
+cd "$(dirname "$0")/.."
+
+git submodule --quiet update --init --recursive --rebase
+bin/install_perl_modules
diff --git a/script/console b/script/console
new file mode 100755
index 000000000..e92105f73
--- /dev/null
+++ b/script/console
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+set -e
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"/..
+
+eval `"$DIR"/setenv.pl`
diff --git a/script/server b/script/server
new file mode 100755
index 000000000..b1d72269e
--- /dev/null
+++ b/script/server
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+set -e
+cd "$(dirname "$0")/.."
+
+export FIXMYSTREET_APP_DEBUG=${FIXMYSTREET_APP_DEBUG=1}
+bin/cron-wrapper local/bin/plackup -s Starman --listen :3000 --Reload perllib,conf/general.yml
diff --git a/script/setup b/script/setup
new file mode 100755
index 000000000..30f375712
--- /dev/null
+++ b/script/setup
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+set -e
+cd "$(dirname "$0")/.."
+
+# Same as update for now
+script/update
diff --git a/script/test b/script/test
new file mode 100755
index 000000000..778c967b4
--- /dev/null
+++ b/script/test
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+set -e
+cd "$(dirname "$0")/.."
+
+bin/run-tests $@
diff --git a/script/update b/script/update
new file mode 100755
index 000000000..aa97935d3
--- /dev/null
+++ b/script/update
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+set -e
+cd "$(dirname "$0")/.."
+
+script/bootstrap
+bin/update-schema --commit
+bin/make_css
+commonlib/bin/gettext-makemo
diff --git a/t/Mock/Bing.pm b/t/Mock/Bing.pm
new file mode 100644
index 000000000..3dfb8fbe0
--- /dev/null
+++ b/t/Mock/Bing.pm
@@ -0,0 +1,37 @@
+package t::Mock::Bing;
+
+use JSON::MaybeXS;
+use Web::Simple;
+use LWP::Protocol::PSGI;
+
+has json => (
+ is => 'lazy',
+ default => sub {
+ JSON->new->pretty->allow_blessed->convert_blessed;
+ },
+);
+
+sub dispatch_request {
+ my $self = shift;
+
+ sub (GET + /REST/v1/Locations/* + ?*) {
+ my ($self, $location, $query) = @_;
+ my $data = {
+ resourceSets => [ {
+ resources => [ {
+ name => 'Constitution Hill, London, SW1A',
+ address => {
+ addressLine => 'Constitution Hill',
+ locality => 'London',
+ }
+ } ],
+ } ],
+ };
+ my $json = $self->json->encode($data);
+ return [ 200, [ 'Content-Type' => 'application/json' ], [ $json ] ];
+ },
+}
+
+LWP::Protocol::PSGI->register(t::Mock::Bing->to_psgi_app, host => 'dev.virtualearth.net');
+
+__PACKAGE__->run_if_script;
diff --git a/t/Mock/MapIt.pm b/t/Mock/MapIt.pm
index 43d44d519..926d94b1e 100644
--- a/t/Mock/MapIt.pm
+++ b/t/Mock/MapIt.pm
@@ -24,13 +24,17 @@ sub output {
my @PLACES = (
[ 'EH1 1BB', 55.952055, -3.189579, 2651, 'Edinburgh City Council', 'UTA', 20728, 'City Centre', 'UTE' ],
+ [ 'BS10 5EE', 51.494885, -2.602237, 2561, 'Bristol City Council', 'UTA', 148646, 'Bedminster', 'UTW' ],
[ 'SW1A 1AA', 51.501009, -0.141588, 2504, 'Westminster City Council', 'LBO' ],
[ 'GL50 2PR', 51.896268, -2.093063, 2226, 'Gloucestershire County Council', 'CTY', 2326, 'Cheltenham Borough Council', 'DIS', 4544, 'Lansdown', 'DIW', 143641, 'Lansdown and Park', 'CED' ],
[ '?', 51.754926, -1.256179, 2237, 'Oxfordshire County Council', 'CTY', 2421, 'Oxford City Council', 'DIS' ],
+ [ 'OX20 1SZ', 51.754926, -1.256179, 2237, 'Oxfordshire County Council', 'CTY', 2421, 'Oxford City Council', 'DIS' ],
[ 'BR1 3UH', 51.4021, 0.01578, 2482, 'Bromley Council', 'LBO' ],
[ '?', 50.78301, -0.646929 ],
[ 'GU51 4AE', 51.279456, -0.846216, 2333, 'Hart District Council', 'DIS', 2227, 'Hampshire County Council', 'CTY' ],
[ 'WS1 4NH', 52.563074, -1.991032, 2535, 'Sandwell Borough Council', 'MTD' ],
+ [ 'OX28 4DS', 51.784721, -1.494453 ],
+ [ 'E14 2DN', 51.508536, '0.000001' ],
);
sub dispatch_request {
@@ -105,6 +109,19 @@ sub dispatch_request {
my ($self, $area) = @_;
return [ 200, [ 'Content-Type' => 'application/json' ], [ '"AB12 1AA"' ] ];
},
+
+ sub (GET + /nearest/**.*) {
+ my ($self, $point) = @_;
+ foreach (@PLACES) {
+ if ($point eq "4326/$_->[2],$_->[1]") {
+ return $self->output({
+ postcode => { wgs84_lat => $_->[1], wgs84_lon => $_->[2], postcode => $_->[0], distance => 93 },
+ });
+ }
+ }
+ return $self->output({});
+ },
+
}
LWP::Protocol::PSGI->register(t::Mock::MapIt->to_psgi_app, host => 'mapit.uk');
diff --git a/t/Mock/MapItZurich.pm b/t/Mock/MapItZurich.pm
index 9195749f6..f7fd61a32 100644
--- a/t/Mock/MapItZurich.pm
+++ b/t/Mock/MapItZurich.pm
@@ -3,8 +3,6 @@ package t::Mock::MapItZurich;
use JSON::MaybeXS;
use Web::Simple;
-use mySociety::Locale;
-
has json => (
is => 'lazy',
default => sub {
@@ -46,4 +44,6 @@ sub dispatch_request {
},
}
+LWP::Protocol::PSGI->register(t::Mock::MapItZurich->to_psgi_app, host => 'mapit.zurich');
+
__PACKAGE__->run_if_script;
diff --git a/t/app/controller/about.t b/t/app/controller/about.t
index cec50abfa..04d902bc5 100644
--- a/t/app/controller/about.t
+++ b/t/app/controller/about.t
@@ -1,11 +1,12 @@
-use utf8;
-use strict;
-use warnings;
+package FixMyStreet::Cobrand::Tester;
+use parent 'FixMyStreet::Cobrand::Default';
+sub path_to_web_templates { [ FixMyStreet->path_to( 't', 'app', 'controller', 'templates') ] }
-use Test::More;
-use Test::WWW::Mechanize::Catalyst 'FixMyStreet::App';
+package main;
-ok( my $mech = Test::WWW::Mechanize::Catalyst->new, 'Created mech object' );
+use FixMyStreet::TestMech;
+
+ok( my $mech = FixMyStreet::TestMech->new, 'Created mech object' );
# check that we can get the page
$mech->get_ok('/faq');
@@ -30,4 +31,22 @@ FixMyStreet::override_config {
$mech->content_contains('html class="no-js" lang="nb"');
};
+$mech->get_ok('/');
+$mech->content_contains('Report a problem');
+$mech->content_lacks('STATIC FRONT PAGE');
+$mech->get('/report');
+is $mech->res->code, 200, "got 200";
+is $mech->res->previous->code, 302, "got 302 for redirect";
+is $mech->uri->path, '/', 'redirected to front page';
+
+FixMyStreet::override_config {
+ ALLOWED_COBRANDS => [ 'tester' ],
+}, sub {
+ $mech->get_ok('/');
+ $mech->content_contains('STATIC FRONT PAGE');
+ $mech->get_ok('/report');
+ is $mech->res->previous, undef, 'No redirect';
+ $mech->content_contains('Report a problem');
+};
+
done_testing();
diff --git a/t/app/controller/admin.t b/t/app/controller/admin.t
index 5f8abe5a6..bd0f9e408 100644
--- a/t/app/controller/admin.t
+++ b/t/app/controller/admin.t
@@ -1,7 +1,3 @@
-use strict;
-use warnings;
-use Test::More;
-
use FixMyStreet::TestMech;
my $mech = FixMyStreet::TestMech->new;
@@ -12,7 +8,7 @@ my $user2 = $mech->create_user_ok('test2@example.com', name => 'Test User 2');
my $superuser = $mech->create_user_ok('superuser@example.com', name => 'Super User', is_superuser => 1);
-my $oxfordshire = $mech->create_body_ok(2237, 'Oxfordshire County Council', id => 2237);
+my $oxfordshire = $mech->create_body_ok(2237, 'Oxfordshire County Council');
my $oxfordshirecontact = $mech->create_contact_ok( body_id => $oxfordshire->id, category => 'Potholes', email => 'potholes@example.com' );
$mech->create_contact_ok( body_id => $oxfordshire->id, category => 'Traffic lights', email => 'lights@example.com' );
my $oxfordshireuser = $mech->create_user_ok('counciluser@example.com', name => 'Council User', from_body => $oxfordshire);
@@ -20,13 +16,9 @@ my $oxfordshireuser = $mech->create_user_ok('counciluser@example.com', name => '
my $oxford = $mech->create_body_ok(2421, 'Oxford City Council');
$mech->create_contact_ok( body_id => $oxford->id, category => 'Graffiti', email => 'graffiti@example.net' );
-my $bromley = $mech->create_body_ok(2482, 'Bromley Council', id => 2482);
-
-my $user3 = $mech->create_user_ok('test3@example.com', name => 'Test User 2');
+my $bromley = $mech->create_body_ok(2482, 'Bromley Council');
-if ( $user3 ) {
- $mech->delete_user( $user3 );
-}
+my $user3;
my $dt = DateTime->new(
year => 2011,
@@ -119,7 +111,7 @@ subtest 'check summary counts' => sub {
my ($num_alerts) = $mech->content =~ /(\d+) confirmed alerts/;
my ($num_qs) = $mech->content =~ /(\d+) questionnaires sent/;
- $report->bodies_str(2237);
+ $report->bodies_str($oxfordshire->id);
$report->cobrand('oxfordshire');
$report->update;
@@ -158,16 +150,6 @@ $mech->content_like(qr{AB\d\d});
$mech->content_contains("http://www.example.org/around");
subtest 'check contact creation' => sub {
- my $contact = FixMyStreet::App->model('DB::Contact')->search(
- { body_id => $body->id, category => [ 'test category', 'test/category' ] }
- );
- $contact->delete_all;
-
- my $history = FixMyStreet::App->model('DB::ContactsHistory')->search(
- { body_id => $body->id, category => [ 'test category', 'test/category' ] }
- );
- $history->delete_all;
-
$mech->get_ok('/admin/body/' . $body->id);
$mech->submit_form_ok( { with_fields => {
@@ -175,13 +157,13 @@ subtest 'check contact creation' => sub {
email => 'test@example.com',
note => 'test note',
non_public => undef,
- confirmed => 0,
+ state => 'unconfirmed',
} } );
$mech->content_contains( 'test category' );
$mech->content_contains( 'test@example.com' );
$mech->content_contains( '<td>test note' );
- $mech->content_contains( 'Private:&nbsp;No' );
+ $mech->content_like( qr/<td>\s*unconfirmed\s*<\/td>/ ); # No private
$mech->submit_form_ok( { with_fields => {
category => 'private category',
@@ -191,7 +173,7 @@ subtest 'check contact creation' => sub {
} } );
$mech->content_contains( 'private category' );
- $mech->content_contains( 'Private:&nbsp;Yes' );
+ $mech->content_like( qr{test\@example.com\s*</td>\s*<td>\s*confirmed\s*<br>\s*<small>\s*Private\s*</small>\s*</td>} );
$mech->submit_form_ok( { with_fields => {
category => 'test/category',
@@ -200,7 +182,7 @@ subtest 'check contact creation' => sub {
non_public => 'on',
} } );
$mech->get_ok('/admin/body/' . $body->id . '/test/category');
-
+ $mech->content_contains('<h1>test/category</h1>');
};
subtest 'check contact editing' => sub {
@@ -213,9 +195,8 @@ subtest 'check contact editing' => sub {
} } );
$mech->content_contains( 'test category' );
- $mech->content_contains( 'test2@example.com' );
+ $mech->content_like( qr{test2\@example.com\s*</td>\s*<td>\s*unconfirmed\s*</td>} );
$mech->content_contains( '<td>test2 note' );
- $mech->content_contains( 'Private:&nbsp;No' );
$mech->get_ok('/admin/body/' . $body->id . '/test%20category');
$mech->submit_form_ok( { with_fields => {
@@ -228,14 +209,13 @@ subtest 'check contact editing' => sub {
$mech->get_ok('/admin/body/' . $body->id . '/test%20category');
$mech->content_contains( '<td><strong>test2@example.com,test3@example.com' );
- $mech->get_ok('/admin/body/' . $body->id . '/test%20category');
$mech->submit_form_ok( { with_fields => {
email => 'test2@example.com',
note => 'test2 note',
non_public => 'on',
} } );
- $mech->content_contains( 'Private:&nbsp;Yes' );
+ $mech->content_like( qr{test2\@example.com\s*</td>\s*<td>\s*unconfirmed\s*<br>\s*<small>\s*Private\s*</small>\s*</td>} );
$mech->get_ok('/admin/body/' . $body->id . '/test%20category');
$mech->content_contains( '<td><strong>test2@example.com' );
@@ -243,7 +223,7 @@ subtest 'check contact editing' => sub {
subtest 'check contact updating' => sub {
$mech->get_ok('/admin/body/' . $body->id . '/test%20category');
- $mech->content_like(qr{test2\@example.com</strong>[^<]*</td>[^<]*<td>No}s);
+ $mech->content_like(qr{test2\@example.com</strong>[^<]*</td>[^<]*<td>unconfirmed}s);
$mech->get_ok('/admin/body/' . $body->id);
@@ -251,9 +231,9 @@ subtest 'check contact updating' => sub {
$mech->tick( 'confirmed', 'test category' );
$mech->submit_form_ok({form_number => 1});
- $mech->content_like(qr'test2@example.com</td>[^<]*<td>\s*Confirmed:&nbsp;Yes's);
+ $mech->content_like(qr'test2@example.com</td>[^<]*<td>\s*confirmed's);
$mech->get_ok('/admin/body/' . $body->id . '/test%20category');
- $mech->content_like(qr{test2\@example.com[^<]*</td>[^<]*<td><strong>Yes}s);
+ $mech->content_like(qr{test2\@example.com[^<]*</td>[^<]*<td><strong>confirmed}s);
};
$body->update({ send_method => undef });
@@ -1197,6 +1177,7 @@ my %default_perms = (
"permissions[report_inspect]" => undef,
"permissions[report_instruct]" => undef,
"permissions[contribute_as_another_user]" => undef,
+ "permissions[contribute_as_anonymous_user]" => undef,
"permissions[contribute_as_body]" => undef,
"permissions[view_body_contribute_details]" => undef,
"permissions[user_edit]" => undef,
@@ -1489,6 +1470,7 @@ subtest "response priorities can be added" => sub {
name => "Cat 1A",
description => "Fixed within 24 hours",
deleted => undef,
+ is_default => undef,
"contacts[".$oxfordshirecontact->id."]" => 1,
};
$mech->submit_form_ok( { with_fields => $fields } );
@@ -1497,6 +1479,25 @@ subtest "response priorities can be added" => sub {
is $oxfordshirecontact->response_priorities->count, 1, "Response template was added to contact";
};
+subtest "response priorities can set to default" => sub {
+ my $priority_id = $oxfordshire->response_priorities->first->id;
+ is $oxfordshire->response_priorities->count, 1, "Response priority exists";
+ $mech->get_ok( "/admin/responsepriorities/" . $oxfordshire->id . "/$priority_id" );
+
+ my $fields = {
+ name => "Cat 1A",
+ description => "Fixed within 24 hours",
+ deleted => undef,
+ is_default => 1,
+ "contacts[".$oxfordshirecontact->id."]" => 1,
+ };
+ $mech->submit_form_ok( { with_fields => $fields } );
+
+ is $oxfordshire->response_priorities->count, 1, "Still one response priority";
+ is $oxfordshirecontact->response_priorities->count, 1, "Still one response template";
+ ok $oxfordshire->response_priorities->first->is_default, "Response priority set to default";
+};
+
subtest "response priorities can be listed" => sub {
$mech->get_ok( "/admin/responsepriorities/" . $oxfordshire->id );
@@ -1546,15 +1547,4 @@ subtest "response priorities can't be viewed across councils" => sub {
};
};
-END {
- $mech->delete_user( $user );
- $mech->delete_user( $user2 );
- $mech->delete_user( $user3 );
- $mech->delete_user( $superuser );
- $mech->delete_user( 'test4@example.com' );
- $mech->delete_body( $oxfordshire );
- $mech->delete_body( $oxford );
- $mech->delete_body( $bromley );
- $mech->delete_body( $westminster );
- done_testing();
-}
+done_testing();
diff --git a/t/app/controller/admin_defecttypes.t b/t/app/controller/admin_defecttypes.t
new file mode 100644
index 000000000..e7d0e42af
--- /dev/null
+++ b/t/app/controller/admin_defecttypes.t
@@ -0,0 +1,193 @@
+use FixMyStreet::TestMech;
+
+my $mech = FixMyStreet::TestMech->new;
+
+FixMyStreet::override_config { ALLOWED_COBRANDS => ['bromley'], }, sub {
+ subtest 'check defecttypes menu not available' => sub {
+ my $body = $mech->create_body_ok( 2482, 'Bromley Council' );
+
+ my $user = $mech->create_user_ok(
+ 'bromley@example.com',
+ name => 'Test User',
+ from_body => $body
+ );
+
+ $mech->log_in_ok( $user->email );
+
+ $mech->get_ok('/admin');
+ $mech->content_lacks('Defect Types');
+
+ is $mech->get('/admin/defecttypes')->code, 404, '404 if no permission';
+ is $mech->get('/admin/defecttypes/' . $body->id)->code, 404, '404 if no permission';
+
+ $mech->log_out_ok();
+ };
+};
+
+FixMyStreet::override_config { ALLOWED_COBRANDS => ['oxfordshire'], }, sub {
+
+ my $body = $mech->create_body_ok( 2237, 'Oxfordshire County Council' );
+
+ my $user = $mech->create_user_ok(
+ 'oxford@example.com',
+ name => 'Test User',
+ from_body => $body
+ );
+
+ $mech->log_in_ok( $user->email );
+
+ my $contact = $mech->create_contact_ok(
+ body_id => $body->id,
+ category => 'Traffic lights',
+ email => 'lights@example.com'
+ );
+
+ subtest 'check defecttypes menu not available without permissions' => sub {
+ $mech->get_ok('/admin');
+ $mech->content_lacks('Defect Types');
+
+ is $mech->get('/admin/defecttypes')->code, 404, '404 if no permission';
+ is $mech->get('/admin/defecttypes/' . $body->id)->code, 404, '404 if no permission';
+ };
+
+ $user->user_body_permissions->create( {
+ body => $body,
+ permission_type => 'defect_type_edit',
+ } );
+
+ subtest 'check defecttypes menu available with permissions' => sub {
+ $mech->get_ok('/admin');
+ $mech->content_contains('Defect Types');
+ $mech->get_ok('/admin/defecttypes');
+ is $mech->res->previous->code, 302, 'index redirects...';
+ is $mech->uri->path, '/admin/defecttypes/' . $body->id, '...to body page';
+ };
+
+ subtest 'check missing defect type is 404' => sub {
+ is $mech->get( '/admin/defecttypes/' . $body->id . '/299')->code, 404;
+ };
+
+ subtest 'check adding a defect type' => sub {
+ $mech->get_ok( '/admin/defecttypes/' . $body->id . '/new' );
+
+ $mech->content_contains('Traffic lights');
+
+ $mech->submit_form_ok( {
+ with_fields => {
+ name => 'A defect',
+ description => 'This is a new defect',
+ } } );
+
+ $mech->content_contains('New defect');
+ };
+
+ subtest 'check editing a defect type' => sub {
+ my $defect = FixMyStreet::App->model('DB::DefectType')->search( {
+ name => 'A defect',
+ body_id => $body->id
+ } )->first;
+
+ $mech->get_ok( '/admin/defecttypes/' . $body->id . '/' . $defect->id );
+
+ $mech->submit_form_ok( {
+ with_fields => {
+ name => 'Updated defect',
+ description => 'This is a new defect',
+ }
+ },
+ 'submitted form'
+ );
+
+ $mech->content_lacks('A defect');
+ $mech->content_contains('Updated defect');
+
+ my $defects = FixMyStreet::App->model('DB::DefectType')->search( {
+ body_id => $body->id
+ } );
+
+ is $defects->count, 1, 'only 1 defect';
+ };
+
+ subtest 'check adding a category to a defect' => sub {
+ my $defect = FixMyStreet::App->model('DB::DefectType')->search( {
+ name => 'Updated defect',
+ body_id => $body->id
+ } )->first;
+
+ is $defect->contact_defect_types->count, 0,
+ 'defect has no contact types';
+
+ $mech->get_ok( '/admin/defecttypes/' . $body->id . '/' . $defect->id );
+
+ $mech->submit_form_ok( {
+ with_fields => {
+ name => 'Updated defect',
+ description => 'This is a new defect',
+ categories => [ $contact->id ],
+ }
+ },
+ 'submitted form'
+ );
+
+ $mech->content_contains('Traffic lights');
+
+ $defect->discard_changes;
+ is $defect->contact_defect_types->count, 1, 'defect has a contact type';
+ is $defect->contact_defect_types->first->contact->category,
+ 'Traffic lights', 'defect has correct contact type';
+ };
+
+ subtest 'check removing category from a defect' => sub {
+ my $defect = FixMyStreet::App->model('DB::DefectType')->search( {
+ name => 'Updated defect',
+ body_id => $body->id
+ } )->first;
+
+ is $defect->contact_defect_types->count, 1,
+ 'defect has one contact types';
+
+ $mech->get_ok( '/admin/defecttypes/' . $body->id . '/' . $defect->id );
+
+ $mech->submit_form_ok( {
+ with_fields => {
+ name => 'Updated defect',
+ description => 'This is a new defect',
+ categories => '',
+ }
+ },
+ 'submitted form'
+ );
+
+ $mech->content_lacks('Traffic lights');
+
+ $defect->discard_changes;
+ is $defect->contact_defect_types->count, 0,
+ 'defect has no contact type';
+ };
+
+ subtest 'check adding codes to a defect' => sub {
+ my $defect = FixMyStreet::App->model('DB::DefectType')->search( {
+ name => 'Updated defect',
+ body_id => $body->id
+ } )->first;
+
+ $mech->get_ok( '/admin/defecttypes/' . $body->id . '/' . $defect->id );
+
+ $mech->submit_form_ok( {
+ with_fields => {
+ name => 'Updated defect',
+ description => 'This is a new defect',
+ 'extra[activity_code]' => 1,
+ 'extra[defect_code]' => 2,
+ }
+ },
+ 'submitted form'
+ );
+
+ $defect->discard_changes;
+ is_deeply $defect->get_extra_metadata,
+ { activity_code => 1, defect_code => 2 }, 'defect codes set';
+ };
+};
+
+done_testing();
diff --git a/t/app/controller/admin_permissions.t b/t/app/controller/admin_permissions.t
index dd256173d..7944cc0b1 100644
--- a/t/app/controller/admin_permissions.t
+++ b/t/app/controller/admin_permissions.t
@@ -1,7 +1,3 @@
-use strict;
-use warnings;
-use Test::More;
-
use FixMyStreet::TestMech;
my $mech = FixMyStreet::TestMech->new;
@@ -10,17 +6,10 @@ my $user = $mech->create_user_ok('test@example.com', name => 'Test User');
my $user2 = $mech->create_user_ok('test2@example.com', name => 'Test User 2');
my $superuser = $mech->create_user_ok('superuser@example.com', name => 'Super User', is_superuser => 1);
-my $oxfordshire = $mech->create_body_ok(2237, 'Oxfordshire County Council', id => 2237);
+my $oxfordshire = $mech->create_body_ok(2237, 'Oxfordshire County Council');
my $oxfordshireuser = $mech->create_user_ok('counciluser@example.com', name => 'Council User', from_body => $oxfordshire);
-my $bromley = $mech->create_body_ok(2482, 'Bromley Council', id => 2482);
-
-END {
- $mech->delete_user( $user );
- $mech->delete_user( $user2 );
- $mech->delete_user( $superuser );
- $mech->delete_user( $oxfordshireuser );
-}
+my $bromley = $mech->create_body_ok(2482, 'Bromley Council');
my $dt = DateTime->new(
year => 2011,
@@ -157,6 +146,7 @@ FixMyStreet::override_config {
"permissions[report_inspect]" => undef,
"permissions[report_instruct]" => undef,
"permissions[contribute_as_another_user]" => undef,
+ "permissions[contribute_as_anonymous_user]" => undef,
"permissions[contribute_as_body]" => undef,
"permissions[user_edit]" => undef,
"permissions[user_manage_permissions]" => undef,
@@ -189,6 +179,7 @@ FixMyStreet::override_config {
"permissions[report_inspect]" => undef,
"permissions[report_instruct]" => undef,
"permissions[contribute_as_another_user]" => undef,
+ "permissions[contribute_as_anonymous_user]" => undef,
"permissions[contribute_as_body]" => undef,
"permissions[user_edit]" => undef,
"permissions[user_manage_permissions]" => undef,
diff --git a/t/app/controller/admin_reportextrafields.t b/t/app/controller/admin_reportextrafields.t
new file mode 100644
index 000000000..fb06665f4
--- /dev/null
+++ b/t/app/controller/admin_reportextrafields.t
@@ -0,0 +1,316 @@
+use strict;
+use warnings;
+
+package FixMyStreet::Cobrand::Tester;
+
+use parent 'FixMyStreet::Cobrand::FixMyStreet';
+
+sub allow_report_extra_fields { 1 }
+
+sub area_types { [ 'UTA' ] }
+
+
+package FixMyStreet::Cobrand::SecondTester;
+
+use parent 'FixMyStreet::Cobrand::FixMyStreet';
+
+sub allow_report_extra_fields { 1 }
+
+sub area_types { [ 'UTA' ] }
+
+
+package FixMyStreet::Cobrand::NoExtras;
+
+use parent 'FixMyStreet::Cobrand::FixMyStreet';
+
+sub allow_report_extra_fields { 0 }
+
+sub area_types { [ 'UTA' ] }
+
+package main;
+
+use FixMyStreet::TestMech;
+
+# disable info logs for this test run
+FixMyStreet::App->log->disable('info');
+END { FixMyStreet::App->log->enable('info'); }
+
+my $mech = FixMyStreet::TestMech->new;
+
+my $user = $mech->create_user_ok('superuser@example.com', name => 'Super User', is_superuser => 1);
+my $body = $mech->create_body_ok(2237, 'Oxfordshire County Council');
+my $contact = $mech->create_contact_ok( body_id => $body->id, category => 'Potholes', email => 'potholes@example.com' );
+
+my $body2 = $mech->create_body_ok(2651, 'Edinburgh City Council');
+my $contact2 = $mech->create_contact_ok( body_id => $body2->id, category => 'Potholes', email => 'potholes@example.com' );
+
+
+FixMyStreet::override_config {
+ ALLOWED_COBRANDS => [ { 'tester' => '.' } ],
+ MAPIT_URL => 'http://mapit.uk/',
+ LANGUAGES => [
+ 'en-gb,English,en_GB',
+ 'de,German,de_DE'
+ ]
+}, sub {
+ $mech->log_in_ok( $user->email );
+
+ subtest 'add extra fields to Contacts' => sub {
+ my $contact_extra_fields = [];
+
+ is_deeply $contact->get_extra_fields, $contact_extra_fields, 'contact has empty extra fields';
+ $mech->get_ok("/admin/body/" . $body->id . "/" . $contact->category);
+
+ $mech->submit_form_ok( { with_fields => {
+ "metadata[0].order" => "1",
+ "metadata[0].code" => "string_test",
+ "metadata[0].required" => "on",
+ "metadata[0].notice" => "",
+ "metadata[0].description" => "this is a test description",
+ "metadata[0].datatype_description" => "hint here",
+ "metadata[0].datatype" => "string",
+ "note" => "Added extra field",
+ }});
+ $mech->content_contains('Values updated');
+
+ push @$contact_extra_fields, {
+ order => "1",
+ code => "string_test",
+ required => "true",
+ variable => "true",
+ description => "this is a test description",
+ datatype_description => "hint here",
+ datatype => "string",
+ };
+ $contact->discard_changes;
+ is_deeply $contact->get_extra_fields, $contact_extra_fields, 'new string field was added';
+
+
+ $mech->get_ok("/admin/body/" . $body->id . "/" . $contact->category);
+ $mech->submit_form_ok( { with_fields => {
+ "metadata[1].order" => "2",
+ "metadata[1].code" => "list_test",
+ "metadata[1].required" => undef,
+ "metadata[1].notice" => "",
+ "metadata[1].description" => "this field is a list",
+ "metadata[1].datatype_description" => "",
+ "metadata[1].datatype" => "list",
+ "metadata[1].values[0].key" => "key1",
+ "metadata[1].values[0].name" => "name1",
+ "note" => "Added extra list field",
+ }});
+ $mech->content_contains('Values updated');
+
+ push @$contact_extra_fields, {
+ order => "2",
+ code => "list_test",
+ required => "false",
+ variable => "true",
+ description => "this field is a list",
+ datatype_description => "",
+ datatype => "singlevaluelist",
+ values => [
+ { name => "name1", key => "key1" },
+ ]
+ };
+ $contact->discard_changes;
+ is_deeply $contact->get_extra_fields, $contact_extra_fields, 'new list field was added';
+
+ $contact->set_extra_fields();
+ $contact->update;
+ };
+
+ subtest 'Create and update new ReportExtraFields' => sub {
+ my $extra_fields = [];
+
+ my $model = FixMyStreet::App->model('DB::ReportExtraFields');
+ is $model->count, 0, 'no ReportExtraFields yet';
+
+ $mech->get_ok("/admin/reportextrafields/new");
+ $mech->submit_form_ok({ with_fields => {
+ name => "Test extra fields",
+ cobrand => "tester",
+ language => undef,
+ "metadata[0].order" => "1",
+ "metadata[0].code" => "string_test",
+ "metadata[0].required" => "on",
+ "metadata[0].notice" => "",
+ "metadata[0].description" => "this is a test description",
+ "metadata[0].datatype_description" => "hint here",
+ "metadata[0].datatype" => "string",
+ }});
+ is $model->count, 1, 'new ReportExtraFields created';
+
+ my $object = $model->first;
+ push @$extra_fields, {
+ order => "1",
+ code => "string_test",
+ required => "true",
+ variable => "true",
+ description => "this is a test description",
+ datatype_description => "hint here",
+ datatype => "string",
+ };
+ is_deeply $object->get_extra_fields, $extra_fields, 'new string field was added';
+ is $object->cobrand, 'tester', 'Correct cobrand set';
+ is $object->language, undef, 'Correct language set';
+
+ $mech->get_ok("/admin/reportextrafields/" . $object->id);
+ $mech->submit_form_ok( { with_fields => {
+ "language" => "en-gb",
+ "metadata[1].order" => "2",
+ "metadata[1].code" => "list_test",
+ "metadata[1].required" => undef,
+ "metadata[1].notice" => "",
+ "metadata[1].description" => "this field is a list",
+ "metadata[1].datatype_description" => "",
+ "metadata[1].datatype" => "list",
+ "metadata[1].values[0].key" => "key1",
+ "metadata[1].values[0].name" => "name1",
+ }});
+
+ push @$extra_fields, {
+ order => "2",
+ code => "list_test",
+ required => "false",
+ variable => "true",
+ description => "this field is a list",
+ datatype_description => "",
+ datatype => "singlevaluelist",
+ values => [
+ { name => "name1", key => "key1" },
+ ]
+ };
+ $object->discard_changes;
+ is_deeply $object->get_extra_fields, $extra_fields, 'new list field was added';
+ is $object->language, "en-gb", "Correct language was set";
+
+ $mech->get_ok("/admin/reportextrafields/" . $object->id);
+ $mech->submit_form_ok( { with_fields => {
+ "metadata[1].values[1].key" => "key2",
+ "metadata[1].values[1].name" => "name2",
+ }});
+
+ push @{$extra_fields->[1]->{values}}, { name => "name2", key => "key2" };
+ $object->discard_changes;
+ is_deeply $object->get_extra_fields, $extra_fields, 'options can be added to list field';
+ };
+
+ subtest 'Fields appear on /report/new' => sub {
+ $mech->get_ok("/report/new?longitude=-1.351488&latitude=51.847235&category=" . $contact->category);
+ $mech->content_contains("this is a test description");
+ $mech->content_contains("this field is a list");
+ };
+};
+
+FixMyStreet::override_config {
+ ALLOWED_COBRANDS => [ { 'tester' => '.' } ],
+ MAPIT_URL => 'http://mapit.uk/',
+ LANGUAGES => [ 'de,German,de_DE' ]
+}, sub {
+ subtest 'Language-specific fields are missing from /report/new for other language' => sub {
+ $mech->get_ok("/report/new?longitude=-1.351488&latitude=51.847235&category=" . $contact->category);
+ $mech->content_lacks("this is a test description");
+ $mech->content_lacks("this field is a list");
+ };
+};
+
+FixMyStreet::override_config {
+ ALLOWED_COBRANDS => [ { 'secondtester' => '.' } ],
+ MAPIT_URL => 'http://mapit.uk/',
+ LANGUAGES => [ 'en-gb,English,en_GB' ]
+}, sub {
+ subtest 'Cobrand-specific fields are missing from /report/new for other cobrand' => sub {
+ $mech->get_ok("/report/new?longitude=-1.351488&latitude=51.847235&category=" . $contact->category);
+ $mech->content_lacks("this is a test description");
+ $mech->content_lacks("this field is a list");
+ };
+};
+
+FixMyStreet::override_config {
+ ALLOWED_COBRANDS => [ { 'noextras' => '.' } ],
+ MAPIT_URL => 'http://mapit.uk/',
+ LANGUAGES => [ 'en-gb,English,en_GB' ]
+}, sub {
+ subtest "Extra fields are missing from cobrand that doesn't allow them" => sub {
+ my $object = FixMyStreet::App->model('DB::ReportExtraFields')->first;
+ $object->update({ language => "", cobrand => ""});
+
+ $mech->get_ok("/report/new?longitude=-1.351488&latitude=51.847235&category=" . $contact->category);
+ $mech->content_lacks("this is a test description");
+ $mech->content_lacks("this field is a list");
+ };
+};
+
+FixMyStreet::App->model('DB::ReportExtraFields')->delete_all;
+$mech->log_out_ok;
+
+subtest 'Reports are created with correct extra metadata' => sub {
+ FixMyStreet::override_config {
+ ALLOWED_COBRANDS => [ 'tester' ],
+ MAPIT_URL => 'http://mapit.uk/',
+ }, sub {
+ my $model = FixMyStreet::App->model('DB::ReportExtraFields');
+ my $extra_fields = $model->find_or_create({
+ name => "Test extra fields",
+ language => "",
+ cobrand => ""
+ });
+ $extra_fields->push_extra_fields({
+ order => "1",
+ code => "string_test",
+ required => "true",
+ variable => "true",
+ description => "this is a test description",
+ datatype_description => "hint here",
+ datatype => "string",
+ });
+ $extra_fields->push_extra_fields({
+ order => "2",
+ code => "list_test",
+ required => "false",
+ variable => "true",
+ description => "this field is a list",
+ datatype_description => "",
+ datatype => "singlevaluelist",
+ values => [
+ { name => "name1", key => "key1" },
+ ]
+ });
+ $extra_fields->update;
+
+ my $user = $mech->create_user_ok('testuser@example.com', name => 'Test User');
+ $mech->log_in_ok($user->email);
+
+ $mech->get_ok('/report/new?latitude=55.952055&longitude=-3.189579');
+ $mech->content_contains($contact2->category);
+
+ my $extra_id = $extra_fields->id;
+ $mech->submit_form_ok( {
+ with_fields => {
+ title => "Test Report",
+ detail => "This is a test report",
+ category => $contact2->category,
+ "extra[$extra_id]string_test" => "Problem meta string",
+ "extra[$extra_id]list_test" => "key1",
+ }
+ } );
+
+ my $report = $user->problems->first;
+ is_deeply $report->get_extra_fields, [
+ {
+ name => 'string_test',
+ description => 'this is a test description',
+ value => 'Problem meta string',
+ },
+ {
+ name => 'list_test',
+ description => 'this field is a list',
+ value => 'key1',
+ }
+ ], 'Report has correct extra data';
+ };
+};
+
+
+done_testing();
diff --git a/t/app/controller/admin_states.t b/t/app/controller/admin_states.t
new file mode 100644
index 000000000..60ffe5b88
--- /dev/null
+++ b/t/app/controller/admin_states.t
@@ -0,0 +1,24 @@
+use FixMyStreet::TestMech;
+
+my $mech = FixMyStreet::TestMech->new;
+
+my $user = $mech->create_user_ok('superuser@example.com', name => 'Super User', is_superuser => 1);
+
+$mech->log_in_ok( $user->email );
+
+subtest 'basic states admin' => sub {
+ $mech->get_ok('/admin/states');
+ $mech->submit_form_ok({ button => 'new', with_fields => { label => 'third party', type => 'closed', name => 'Third party referral' } });
+ $mech->content_contains('Third party referral');
+ $mech->content_contains('Fixed');
+ $mech->submit_form_ok({ button => 'delete:fixed' });
+ $mech->content_lacks('Fixed');
+ $mech->submit_form_ok({ form_number => 2, button => 'new_fixed' });
+ $mech->content_contains('Fixed');
+ $mech->submit_form_ok({ with_fields => { 'name:third party' => 'Third party incident' } });
+ $mech->content_contains('Third party incident');
+};
+
+# TODO Language tests
+
+done_testing;
diff --git a/t/app/controller/admin_translations.t b/t/app/controller/admin_translations.t
new file mode 100644
index 000000000..f5c32baa6
--- /dev/null
+++ b/t/app/controller/admin_translations.t
@@ -0,0 +1,191 @@
+use FixMyStreet::TestMech;
+
+my $mech = FixMyStreet::TestMech->new;
+
+my $superuser = $mech->create_user_ok('superuser@example.com', name => 'Super User', is_superuser => 1);
+
+$mech->log_in_ok( $superuser->email );
+
+FixMyStreet::override_config {
+ MAPIT_URL => 'http://mapit.uk/',
+ MAPIT_TYPES => [ 'UTA' ],
+}, sub {
+
+my $body = $mech->create_body_ok(2650, 'Aberdeen City Council');
+$mech->create_contact_ok( body_id => $body->id, category => 'Traffic lights', email => 'lights@example.com' );
+
+subtest 'check no translations if one language' => sub {
+ $mech->get_ok('/admin/body/' . $body->id . '/Traffic%20lights');
+
+ $mech->content_lacks( 'Translations' );
+
+};
+
+};
+
+FixMyStreet::override_config {
+ MAPIT_URL => 'http://mapit.uk/',
+ MAPIT_TYPES => [ 'UTA' ],
+ LANGUAGES => [
+ 'en-gb,English,en_GB',
+ 'de,German,de_DE'
+ ]
+}, sub {
+
+my $body = $mech->create_body_ok(2650, 'Aberdeen City Council');
+$mech->create_contact_ok( body_id => $body->id, category => 'Traffic lights', email => 'lights@example.com' );
+
+my $body2 = $mech->create_body_ok(2643, 'Arun District Council');
+
+FixMyStreet::DB->resultset("Translation")->create({
+ lang => "de",
+ tbl => "body",
+ object_id => $body2->id,
+ col => "name",
+ msgstr => "DE Arun",
+});
+
+subtest 'check translations if multiple languages' => sub {
+ $mech->get_ok('/admin/body/' . $body->id . '/Traffic%20lights');
+
+ $mech->content_contains( 'Translations' );
+};
+
+subtest 'check add category with translation' => sub {
+ $mech->get_ok('/admin/body/' . $body2->id);
+
+ $mech->content_contains('DE Arun');
+
+ $mech->submit_form_ok( { with_fields => {
+ category => 'Potholes',
+ translation_de => 'DE potholes',
+ email => 'potholes@example.org',
+ } } );
+
+ # check that error page includes translations
+ $mech->content_lacks('DE Arun');
+ $mech->content_contains('DE potholes');
+
+ $mech->submit_form_ok( { with_fields => {
+ category => 'Potholes',
+ translation_de => 'DE potholes',
+ email => 'potholes@example.org',
+ note => 'adding category with translation',
+ } } );
+
+ $mech->content_contains('DE Arun');
+ $mech->content_lacks('DE potholes');
+
+ $mech->get_ok('/admin/body/' . $body2->id . '/Potholes');
+
+ $mech->content_contains( 'DE potholes' );
+};
+
+subtest 'check add category translation' => sub {
+ $mech->get_ok('/admin/body/' . $body->id . '/Traffic%20lights');
+
+ $mech->content_lacks( 'DE Traffic lights' );
+
+ $mech->submit_form_ok( { with_fields => {
+ translation_de => 'DE Traffic lights',
+ note => 'updating translation',
+ } } );
+
+ $mech->get_ok('/admin/body/' . $body->id . '/Traffic%20lights');
+
+ $mech->content_contains( 'DE Traffic lights' );
+};
+
+subtest 'check replace category translation' => sub {
+ $mech->get_ok('/admin/body/' . $body->id . '/Traffic%20lights');
+
+ $mech->content_contains( 'DE Traffic lights' );
+
+ $mech->submit_form_ok( { with_fields => {
+ translation_de => 'German Traffic lights',
+ note => 'updating translation',
+ } } );
+
+ $mech->get_ok('/admin/body/' . $body->id . '/Traffic%20lights');
+
+ $mech->content_lacks( 'DE Traffic lights' );
+ $mech->content_contains( 'German Traffic lights' );
+};
+
+subtest 'delete category translation' => sub {
+ $mech->get_ok('/admin/body/' . $body->id . '/Traffic%20lights');
+ $mech->content_contains( 'German Traffic lights' );
+
+ $mech->submit_form_ok( { with_fields => {
+ translation_de => '',
+ note => 'updating translation',
+ } } );
+
+ $mech->get_ok('/admin/body/' . $body->id . '/Traffic%20lights');
+
+ $mech->content_lacks( 'DE German Traffic lights' );
+};
+
+subtest 'check add body translation' => sub {
+ $mech->get_ok('/admin/body/' . $body->id);
+
+ $mech->content_lacks( 'DE Aberdeen' );
+
+ $mech->submit_form_ok( { with_fields => {
+ send_method => 'email',
+ translation_de => 'DE Aberdeen',
+ } } );
+
+ $mech->content_contains( 'DE Aberdeen' );
+};
+
+subtest 'check replace body translation' => sub {
+ $mech->get_ok('/admin/body/' . $body->id);
+
+ $mech->content_contains( 'DE Aberdeen' );
+
+ $mech->submit_form_ok( { with_fields => {
+ send_method => 'email',
+ translation_de => 'German Aberdeen',
+ } } );
+
+ $mech->content_lacks( 'DE Aberdeen' );
+ $mech->content_contains( 'German Aberdeen' );
+};
+
+subtest 'delete body translation' => sub {
+ $mech->get_ok('/admin/body/' . $body->id);
+ $mech->content_contains( 'German Aberdeen' );
+
+ $mech->submit_form_ok( { with_fields => {
+ send_method => 'email',
+ translation_de => '',
+ } } );
+
+ $mech->content_lacks( 'DE German Aberdeen' );
+};
+
+subtest 'check add body with translation' => sub {
+ $mech->get_ok('/admin/bodies/');
+ $mech->submit_form_ok( { with_fields => {
+ area_ids => 2643,
+ send_method => 'email',
+ translation_de => 'DE A Body',
+ } } );
+
+ # check that error page includes translations
+ $mech->content_contains( 'DE A Body' );
+
+ $mech->submit_form_ok( { with_fields => {
+ name => 'A body',
+ area_ids => 2643,
+ send_method => 'email',
+ translation_de => 'DE A Body',
+ } } );
+
+ $mech->follow_link_ok({ text => 'A body' });
+ $mech->content_contains( 'DE A Body' );
+}
+};
+
+done_testing();
diff --git a/t/app/controller/alert.t b/t/app/controller/alert.t
index cb5949b8f..ce3c2ef9b 100644
--- a/t/app/controller/alert.t
+++ b/t/app/controller/alert.t
@@ -1,6 +1,3 @@
-use strict;
-use warnings;
-use Test::More;
use LWP::Protocol::PSGI;
use FixMyStreet::TestMech;
@@ -27,7 +24,7 @@ FixMyStreet::override_config {
$mech->get_ok('/alert/list?pc=EH1 1BB');
$mech->title_like(qr/^Local RSS feeds and email alerts/);
- $mech->content_contains('Here are the types of local problem alerts for &lsquo;EH1&nbsp;1BB&rsquo;');
+ $mech->content_like(qr/Local RSS feeds and email alerts for .EH1 1BB/);
$mech->content_contains('html class="no-js" lang="en-gb"');
$mech->content_contains('Problems within 10.0km');
$mech->content_contains('rss/pc/EH11BB/2');
@@ -50,8 +47,10 @@ FixMyStreet::override_config {
$mech->get_ok('/alert/list?pc=');
$mech->content_contains('To find out what local alerts we have for you');
+ # Two-tier council
$mech->get_ok('/alert/list?pc=GL502PR');
- $mech->content_contains('Problems within the boundary of');
+ $mech->content_contains('Problems in an area');
+ $mech->content_contains('Reports by destination');
$mech->get_ok('/alert/subscribe?rss=1&type=local&pc=ky16+8yg&rss=Give+me+an+RSS+feed&rznvy=' );
$mech->content_contains('Please select the feed you want');
diff --git a/t/app/controller/alert_new.t b/t/app/controller/alert_new.t
index ea38f7c25..97a19b3b8 100644
--- a/t/app/controller/alert_new.t
+++ b/t/app/controller/alert_new.t
@@ -1,9 +1,6 @@
-use strict;
-use warnings;
-use Test::More;
-
use FixMyStreet::TestMech;
use FixMyStreet::App;
+use FixMyStreet::Script::Alerts;
my $mech = FixMyStreet::TestMech->new;
@@ -291,7 +288,7 @@ for my $test (
};
}
-$mech->create_body_ok(2226, 'Gloucestershire County Council');
+my $gloucester = $mech->create_body_ok(2226, 'Gloucestershire County Council');
$mech->create_body_ok(2326, 'Cheltenham Borough Council');
subtest "Test two-tier council alerts" => sub {
@@ -438,7 +435,7 @@ subtest "Test normal alert signups and that alerts are sent" => sub {
FixMyStreet::override_config {
MAPIT_URL => 'http://mapit.uk/',
}, sub {
- FixMyStreet::App->model('DB::AlertType')->email_alerts();
+ FixMyStreet::Script::Alerts::send();
};
# TODO Note the below will fail if the db has an existing alert that matches
$mech->email_count_is(3);
@@ -478,6 +475,85 @@ subtest "Test normal alert signups and that alerts are sent" => sub {
$mech->delete_user($user2);
};
+subtest "Test alerts are correct for no-text updates" => sub {
+ $mech->delete_user( 'reporter@example.com' );
+ $mech->delete_user( 'alerts@example.com' );
+
+ my $user1 = $mech->create_user_ok('reporter@example.com', name => 'Reporter User' );
+ my $user2 = $mech->create_user_ok('alerts@example.com', name => 'Alert User' );
+ my $user3 = $mech->create_user_ok('staff@example.com', name => 'Staff User', from_body => $gloucester );
+ my $dt = DateTime->now(time_zone => 'Europe/London')->add(days => 2);
+
+ my $dt_parser = FixMyStreet::App->model('DB')->schema->storage->datetime_parser;
+
+ my $report_time = '2011-03-01 12:00:00';
+ my $report = FixMyStreet::App->model('DB::Problem')->find_or_create( {
+ postcode => 'EH1 1BB',
+ bodies_str => '1',
+ areas => ',11808,135007,14419,134935,2651,20728,',
+ category => 'Street lighting',
+ title => 'Testing',
+ detail => 'Testing Detail',
+ used_map => 1,
+ name => $user1->name,
+ anonymous => 0,
+ state => 'fixed - user',
+ confirmed => $dt_parser->format_datetime($dt),
+ lastupdate => $dt_parser->format_datetime($dt),
+ whensent => $dt_parser->format_datetime($dt->clone->add( minutes => 5 )),
+ lang => 'en-gb',
+ service => '',
+ cobrand => 'default',
+ cobrand_data => '',
+ send_questionnaire => 1,
+ latitude => '55.951963',
+ longitude => '-3.189944',
+ user_id => $user1->id,
+ } );
+ my $report_id = $report->id;
+ ok $report, "created test report - $report_id";
+
+ my $alert = FixMyStreet::App->model('DB::Alert')->create( {
+ parameter => $report_id,
+ alert_type => 'new_updates',
+ user => $user2,
+ } )->confirm;
+ ok $alert, 'created alert for other user';
+
+ my $update = FixMyStreet::App->model('DB::Comment')->create( {
+ problem_id => $report_id,
+ user_id => $user3->id,
+ name => 'Staff User',
+ mark_fixed => 'false',
+ text => '',
+ state => 'confirmed',
+ confirmed => $dt->clone->add( hours => 9 ),
+ anonymous => 'f',
+ } );
+ my $update_id = $update->id;
+ ok $update, "created test update from staff user - $update_id";
+
+ $mech->clear_emails_ok;
+ FixMyStreet::override_config {
+ MAPIT_URL => 'http://mapit.uk/',
+ }, sub {
+ FixMyStreet::Script::Alerts::send();
+ };
+
+ $mech->email_count_is(1);
+ my $email = $mech->get_email;
+ my $body = $mech->get_text_body_from_email($email);
+ like $body, qr/The following updates have been left on this report:/, 'email is about updates to existing report';
+ like $body, qr/Staff User/, 'Update comes from correct user';
+
+ my @urls = $mech->get_link_from_email($email, 1);
+ is $urls[0], "http://www.example.org/report/" . $report_id, "Correct report URL in email";
+
+ $mech->delete_user($user1);
+ $mech->delete_user($user2);
+ $mech->delete_user($user3);
+};
+
subtest "Test signature template is used from cobrand" => sub {
$mech->delete_user( 'reporter@example.com' );
$mech->delete_user( 'alerts@example.com' );
diff --git a/t/app/controller/around.t b/t/app/controller/around.t
index c8aca04aa..fbb4e76cd 100644
--- a/t/app/controller/around.t
+++ b/t/app/controller/around.t
@@ -1,7 +1,3 @@
-use strict;
-use warnings;
-use Test::More;
-
use FixMyStreet::TestMech;
my $mech = FixMyStreet::TestMech->new;
diff --git a/t/app/controller/auth.t b/t/app/controller/auth.t
index 3a11cfc4a..cb7d16969 100644
--- a/t/app/controller/auth.t
+++ b/t/app/controller/auth.t
@@ -1,7 +1,3 @@
-use strict;
-use warnings;
-
-use Test::More;
use Test::MockModule;
use FixMyStreet::TestMech;
@@ -9,12 +5,10 @@ my $mech = FixMyStreet::TestMech->new;
my $test_email = 'test@example.com';
my $test_email2 = 'test@example.net';
+my $test_email3 = 'newuser@example.org';
my $test_password = 'foobar';
-$mech->delete_user($test_email);
END {
- $mech->delete_user($test_email);
- $mech->delete_user($test_email2);
done_testing();
}
@@ -286,6 +280,94 @@ subtest "sign in but have email form autofilled" => sub {
is $mech->uri->path, '/my', "redirected to correct page";
};
+$mech->log_out_ok;
+
+subtest "sign in with uppercase email" => sub {
+ $mech->get_ok('/auth');
+ my $uc_test_email = uc $test_email;
+ $mech->submit_form_ok(
+ {
+ form_name => 'general_auth',
+ fields => {
+ email => $uc_test_email,
+ password_sign_in => $test_password,
+ },
+ button => 'sign_in',
+ },
+ "sign in with '$uc_test_email' and auto-completed name"
+ );
+ is $mech->uri->path, '/my', "redirected to correct page";
+
+ $mech->content_contains($test_email);
+ $mech->content_lacks($uc_test_email);
+
+ my $count = FixMyStreet::App->model('DB::User')->search( { email => $uc_test_email } )->count;
+ is $count, 0, "uppercase user wasn't created";
+};
+
+
+FixMyStreet::override_config {
+ SIGNUPS_DISABLED => 1,
+}, sub {
+ subtest 'signing in with an unknown email address disallowed' => sub {
+ $mech->log_out_ok;
+ # create a new account
+ $mech->clear_emails_ok;
+ $mech->get_ok('/auth');
+ $mech->submit_form_ok(
+ {
+ form_name => 'general_auth',
+ fields => { email => $test_email3, },
+ button => 'email_sign_in',
+ },
+ "create a new account"
+ );
+
+ ok $mech->email_count_is(0);
+
+ my $count = FixMyStreet::App->model('DB::User')->search( { email => $test_email3 } )->count;
+ is $count, 0, "no user exists";
+ };
+
+ subtest 'signing in as known email address with new password is allowed' => sub {
+ my $new_password = "myshinynewpassword";
+
+ $mech->clear_emails_ok;
+ $mech->get_ok('/auth');
+ $mech->submit_form_ok(
+ {
+ form_name => 'general_auth',
+ fields => {
+ email => "$test_email",
+ password_register => $new_password,
+ r => 'faq', # Just as a test
+ },
+ button => 'email_sign_in',
+ },
+ "email_sign_in with '$test_email'"
+ );
-# more test:
-# TODO: test that email are always lowercased
+ $mech->not_logged_in_ok;
+
+ ok $mech->email_count_is(1);
+ my $link = $mech->get_link_from_email;
+ $mech->get_ok($link);
+ is $mech->uri->path, '/faq', "redirected to the Help page";
+
+ $mech->log_out_ok;
+
+ $mech->get_ok('/auth');
+ $mech->submit_form_ok(
+ {
+ form_name => 'general_auth',
+ fields => {
+ email => $test_email,
+ password_sign_in => $new_password,
+ },
+ button => 'sign_in',
+ },
+ "sign in with '$test_email' and new password"
+ );
+ is $mech->uri->path, '/my', "redirected to correct page";
+ };
+};
diff --git a/t/app/controller/auth_social.t b/t/app/controller/auth_social.t
index 09fdf22d3..726d264bd 100644
--- a/t/app/controller/auth_social.t
+++ b/t/app/controller/auth_social.t
@@ -1,6 +1,3 @@
-use strict;
-use warnings;
-use Test::More;
use Test::MockModule;
use LWP::Protocol::PSGI;
use LWP::Simple;
@@ -254,6 +251,5 @@ for my $tw_state ( 'refused', 'existing UID', 'no email' ) {
};
END {
- $mech->delete_problems_for_body('2345');
done_testing();
}
diff --git a/t/app/controller/contact.t b/t/app/controller/contact.t
index 7c2769b9c..c1039d15b 100644
--- a/t/app/controller/contact.t
+++ b/t/app/controller/contact.t
@@ -1,7 +1,3 @@
-use strict;
-use warnings;
-use Test::More;
-
use FixMyStreet::TestMech;
my $mech = FixMyStreet::TestMech->new;
@@ -214,6 +210,7 @@ for my $test (
# we santise this when we submit so need to remove it
delete $test->{fields}->{id}
if $test->{fields}->{id} and $test->{fields}->{id} eq 'invalid';
+ $test->{fields}->{'extra.phone'} = '';
is_deeply $mech->visible_form_values, $test->{fields}, 'form values';
};
}
@@ -327,6 +324,7 @@ for my $test (
# we santise this when we submit so need to remove it
delete $test->{fields}->{id}
if $test->{fields}->{id} and $test->{fields}->{id} eq 'invalid';
+ $test->{fields}->{'extra.phone'} = '';
is_deeply $mech->visible_form_values, $test->{fields}, 'form values';
if ( $test->{fields}->{dest} and $test->{fields}->{dest} eq 'update' ) {
@@ -382,6 +380,41 @@ for my $test (
};
}
+for my $test (
+ {
+ fields => {
+ em => 'test@example.com',
+ name => 'A name',
+ subject => 'A subject',
+ message => 'A message',
+ dest => 'from_council',
+ success_url => '/faq',
+ },
+ url_should_be => 'http://localhost/faq',
+ },
+ {
+ fields => {
+ em => 'test@example.com',
+ name => 'A name',
+ subject => 'A subject',
+ message => 'A message',
+ dest => 'from_council',
+ success_url => 'http://www.example.com',
+ },
+ url_should_be => 'http://www.example.com',
+ },
+ )
+{
+ subtest 'check user can be redirected to a custom URL after contact form is submitted' => sub {
+ FixMyStreet::override_config {
+ ALLOWED_COBRANDS => [ 'fixmystreet' ],
+ }, sub {
+ $mech->post('/contact/submit', $test->{fields});
+ is $mech->uri->as_string, $test->{url_should_be};
+ }
+ };
+}
+
$problem_main->delete;
done_testing();
diff --git a/t/app/controller/council.t b/t/app/controller/council.t
index 11898995a..41398ae61 100644
--- a/t/app/controller/council.t
+++ b/t/app/controller/council.t
@@ -1,14 +1,9 @@
-use strict;
-use warnings;
-use Test::More;
+use FixMyStreet::Test;
-
-use Catalyst::Test 'FixMyStreet::App';
use_ok( 'FixMyStreet::App::Controller::Council' );
TODO: {
local $TODO = 'need to write some tests for this';
-
}
done_testing();
diff --git a/t/app/controller/dashboard.t b/t/app/controller/dashboard.t
index 903affdcf..457eceade 100644
--- a/t/app/controller/dashboard.t
+++ b/t/app/controller/dashboard.t
@@ -1,6 +1,3 @@
-use strict;
-use warnings;
-use Test::More;
use Test::MockTime ':all';
use FixMyStreet::TestMech;
@@ -62,9 +59,8 @@ FixMyStreet::override_config {
body_id => $body->id,
category => $contact,
email => "$contact\@example.org",
- confirmed => 1,
+ state => 'confirmed',
whenedited => DateTime->now,
- deleted => 0,
editor => 'test',
note => 'test',
}
@@ -132,7 +128,7 @@ FixMyStreet::override_config {
},
{
desc => 'confirmed last 2 weeks with no state',
- dt => $now->clone->subtract( weeks => 2 ),
+ dt => $now->clone->subtract( weeks => 2, hours => 1 ),
counts => [1,2,4,4],
report_counts => [2, 1, 1],
},
@@ -535,12 +531,12 @@ FixMyStreet::override_config {
desc => 'Selecting no state does nothing',
p1 => {
state => 'fixed - user',
- conf_dt => DateTime->now(),
+ conf_dt => DateTime->now()->subtract( minutes => 1 ),
category => 'Potholes',
},
p2 => {
state => 'confirmed',
- conf_dt => DateTime->now(),
+ conf_dt => DateTime->now()->subtract( minutes => 1 ),
category => 'Litter',
},
state => '',
@@ -549,35 +545,24 @@ FixMyStreet::override_config {
},
{
desc => 'limit by state works',
- state => 'fixed',
+ state => 'fixed - council',
report_counts => [2,0,0],
report_counts_after => [1,0,0],
},
{
- desc => 'planned counted as action scheduled',
- p1 => {
- state => 'planned',
- conf_dt => DateTime->now(),
- category => 'Potholes',
- },
- state => 'action scheduled',
- report_counts => [3,0,0],
- report_counts_after => [1,0,0],
- },
- {
desc => 'All fixed states count as fixed',
p1 => {
state => 'fixed - council',
- conf_dt => DateTime->now(),
+ conf_dt => DateTime->now()->subtract( minutes => 1 ),
category => 'Potholes',
},
p2 => {
state => 'fixed',
- conf_dt => DateTime->now(),
+ conf_dt => DateTime->now()->subtract( minutes => 1 ),
category => 'Potholes',
},
state => 'fixed',
- report_counts => [5,0,0],
+ report_counts => [4,0,0],
report_counts_after => [3,0,0],
},
) {
@@ -608,6 +593,7 @@ FixMyStreet::override_config {
detail => "this report\nis split across\nseveral lines",
state => "confirmed",
conf_dt => DateTime->now(),
+ areas => 62883,
} );
$mech->get_ok('/dashboard?export=1');
open my $data_handle, '<', \$mech->content;
@@ -616,7 +602,37 @@ FixMyStreet::override_config {
while ( my $row = $csv->getline( $data_handle ) ) {
push @rows, $row;
}
- is scalar @rows, 7, '1 (header) + 6 (reports) = 7 lines';
+ is scalar @rows, 6, '1 (header) + 5 (reports) = 6 lines';
+
+ is scalar @{$rows[0]}, 18, '18 columns present';
+
+ is_deeply $rows[0],
+ [
+ 'Report ID',
+ 'Title',
+ 'Detail',
+ 'User Name',
+ 'Category',
+ 'Created',
+ 'Confirmed',
+ 'Acknowledged',
+ 'Fixed',
+ 'Closed',
+ 'Status',
+ 'Latitude',
+ 'Longitude',
+ 'Nearest Postcode',
+ 'Ward',
+ 'Easting',
+ 'Northing',
+ 'Report URL',
+ ],
+ 'Column headers look correct';
+
+ is $rows[5]->[14], 'Bradford-on-Avon', 'Ward column is name not ID';
+
+ is $rows[5]->[15], '610591', 'Correct Easting conversion';
+ is $rows[5]->[16], '126573', 'Correct Northing conversion';
};
};
restore_time;
diff --git a/t/app/controller/index.t b/t/app/controller/index.t
index 6b28a03d2..be4da6034 100644
--- a/t/app/controller/index.t
+++ b/t/app/controller/index.t
@@ -1,7 +1,3 @@
-use strict;
-use warnings;
-use Test::More;
-
use FixMyStreet::TestMech;
my $mech = FixMyStreet::TestMech->new;
@@ -75,7 +71,7 @@ ok $mech->get('/report/' . $edinburgh_problems[2]->id);
is $mech->res->code, 403, 'page forbidden';
is $problem_rs->count, $num+5;
-my $oxon = $mech->create_body_ok(2237, 'Oxfordshire County Council', id => 2237);
+my $oxon = $mech->create_body_ok(2237, 'Oxfordshire County Council');
subtest "prefilters /around if user has categories" => sub {
my $user = $mech->log_in_ok('test@example.com');
my $categories = [
@@ -92,7 +88,5 @@ subtest "prefilters /around if user has categories" => sub {
};
END {
- $mech->delete_problems_for_body( 2651 );
- $mech->delete_body($oxon);
done_testing();
}
diff --git a/t/app/controller/json.t b/t/app/controller/json.t
index b2cea674f..8ee472f5d 100644
--- a/t/app/controller/json.t
+++ b/t/app/controller/json.t
@@ -1,8 +1,3 @@
-use strict;
-use warnings;
-
-use Test::More;
-
use FixMyStreet::TestMech;
my $mech = FixMyStreet::TestMech->new;
@@ -116,6 +111,4 @@ is_deeply #
],
"correct response";
-$mech->delete_user($user);
-
done_testing();
diff --git a/t/app/controller/moderate.t b/t/app/controller/moderate.t
index 10287ab22..c3c77866b 100644
--- a/t/app/controller/moderate.t
+++ b/t/app/controller/moderate.t
@@ -1,8 +1,3 @@
-use strict;
-use warnings;
-use Test::More;
-use utf8;
-
use FixMyStreet::TestMech;
use FixMyStreet::App;
use Data::Dumper;
@@ -16,9 +11,6 @@ my $body = $mech->create_body_ok( $BROMLEY_ID, 'Bromley Council' );
my $dt = DateTime->now;
my $user = $mech->create_user_ok('test-moderation@example.com', name => 'Test User');
-$user->user_body_permissions->delete_all;
-$user->discard_changes;
-
my $user2 = $mech->create_user_ok('test-moderation2@example.com', name => 'Test User 2');
sub create_report {
@@ -104,8 +96,8 @@ subtest 'Problem moderation' => sub {
$mech->content_like(qr/Moderated by Bromley Council/);
$report->discard_changes;
- is $report->title, 'Good [...] good';
- is $report->detail, 'Good [...] good [...]improved';
+ is $report->title, 'Good good';
+ is $report->detail, 'Good good improved';
};
subtest 'Revert title and text' => sub {
@@ -199,8 +191,8 @@ subtest 'Problem 2' => sub {
$mech->base_like( qr{\Q$REPORT2_URL\E} );
$report2->discard_changes;
- is $report2->title, 'Good [...] good';
- is $report2->detail, 'Good [...] good [...]improved';
+ is $report2->title, 'Good good';
+ is $report2->detail, 'Good good improved';
$mech->submit_form_ok({ with_fields => {
%problem_prepopulated,
@@ -244,7 +236,7 @@ subtest 'updates' => sub {
$mech->base_like( qr{\Q$REPORT_URL\E} );
$update->discard_changes;
- is $update->text, 'update good good [...] good',
+ is $update->text, 'update good good good',
};
subtest 'Revert text' => sub {
@@ -328,7 +320,7 @@ subtest 'Update 2' => sub {
}}) or die $mech->content;
$update2->discard_changes;
- is $update2->text, 'update good good [...] good',
+ is $update2->text, 'update good good good',
};
subtest 'Now stop being a staff user' => sub {
@@ -348,11 +340,4 @@ subtest 'And do it as a superuser' => sub {
$mech->content_contains('Moderated by a FixMyStreet administrator');
};
-$update->delete;
-$update2->delete;
-$report->moderation_original_data->delete;
-$report->delete;
-$report2->delete;
-$mech->delete_user($user);
-
done_testing();
diff --git a/t/app/controller/my.t b/t/app/controller/my.t
index 00070ed81..8b4a25c26 100644
--- a/t/app/controller/my.t
+++ b/t/app/controller/my.t
@@ -1,17 +1,17 @@
-use strict;
-use warnings;
-
-use Test::More;
-
use FixMyStreet::TestMech;
my $mech = FixMyStreet::TestMech->new;
$mech->get_ok('/my');
is $mech->uri->path, '/auth', "got sent to the sign in page";
-$mech->create_problems_for_body(1, 1234, 'Test Title');
+$mech->get_ok('/my/anonymize');
+is $mech->uri->path, '/auth', "got sent to the sign in page";
+
+my @problems = $mech->create_problems_for_body(3, 1234, 'Test Title');
+$problems[1]->update({anonymous => 1});
+
my $other_user = FixMyStreet::DB->resultset('User')->find_or_create({ email => 'another@example.com' });
-$mech->create_problems_for_body(1, 1234, 'Another Title', { user => $other_user });
+my @other = $mech->create_problems_for_body(1, 1234, 'Another Title', { user => $other_user });
my $user = $mech->log_in_ok( 'test@example.com' );
$mech->get_ok('/my');
@@ -20,9 +20,46 @@ is $mech->uri->path, '/my', "stayed on '/my' page";
$mech->content_contains('Test Title');
$mech->content_lacks('Another Title');
-done_testing();
+my @update;
+my $i = 0;
+foreach ($user, $user, $other_user) {
+ $update[$i] = FixMyStreet::App->model('DB::Comment')->create({
+ text => 'this is an update',
+ user => $_,
+ state => 'confirmed',
+ problem => $problems[0],
+ mark_fixed => 0,
+ confirmed => \'current_timestamp',
+ anonymous => $i % 2,
+ });
+ $i++;
+}
-END {
- $mech->delete_user($user);
- $mech->delete_user($other_user);
+foreach (
+ { type => 'problem', id => 0, result => 404, desc => 'nothing' },
+ { type => 'problem', obj => $problems[0], result => 200, desc => 'own report' },
+ { type => 'problem', obj => $problems[1], result => 400, desc => 'already anon report' },
+ { type => 'problem', obj => $other[0], result => 400, desc => 'other user report' },
+ { type => 'update', id => -1, result => 400, desc => 'non-existent update' },
+ { type => 'update', obj => $update[0], result => 200, desc => 'own update' },
+ { type => 'update', obj => $update[1], result => 400, desc => 'already anon update' },
+ { type => 'update', obj => $update[2], result => 400, desc => 'other user update' },
+) {
+ my $id = $_->{id} // $_->{obj}->id;
+ $mech->get("/my/anonymize?$_->{type}=$id");
+ is $mech->res->code, $_->{result}, "Got $_->{result} fetching $_->{desc}";
+ if ($_->{result} == 200) {
+ $mech->submit_form_ok( { button => 'hide' }, 'Submit button to hide name' );
+ $_->{obj}->discard_changes;
+ is $_->{obj}->anonymous, 1, 'Object now made anonymous';
+ $_->{obj}->update({anonymous => 0});
+ }
}
+
+$mech->get("/my/anonymize?problem=" . $problems[0]->id);
+$mech->submit_form_ok( { button => 'hide_everywhere' }, 'Submit button to hide name everywhere' );
+is $problems[0]->discard_changes->anonymous, 1, 'Problem from form made anonymous';
+is $problems[2]->discard_changes->anonymous, 1, 'Other user problem made anonymous';
+is $update[0]->discard_changes->anonymous, 1, 'User update made anonymous';
+
+done_testing();
diff --git a/t/app/controller/my_planned.t b/t/app/controller/my_planned.t
index fa463e61e..51ea0297e 100644
--- a/t/app/controller/my_planned.t
+++ b/t/app/controller/my_planned.t
@@ -1,15 +1,10 @@
-use strict;
-use warnings;
-
-use Test::More;
-
use FixMyStreet::TestMech;
my $mech = FixMyStreet::TestMech->new;
$mech->get_ok('/my/planned');
is $mech->uri->path, '/auth', "got sent to the sign in page";
-my $body = $mech->create_body_ok(2237, 'Oxfordshire');
+my $body = $mech->create_body_ok(2237, 'Oxfordshire County Council');
my ($problem) = $mech->create_problems_for_body(1, $body->id, 'Test Title');
$mech->get_ok($problem->url);
@@ -39,11 +34,11 @@ $mech->get_ok('/my/planned');
$mech->content_contains('Test Title');
$mech->get_ok($problem->url);
-$mech->content_contains('Shortlisted');
+$mech->text_contains('Shortlisted');
$mech->submit_form_ok({ with_fields => { 'shortlist-remove' => 1 } });
-$mech->content_contains('Shortlist');
+$mech->text_contains('Shortlist');
$mech->submit_form_ok({ with_fields => { 'shortlist-add' => 1 } });
-$mech->content_contains('Shortlisted');
+$mech->text_contains('Shortlisted');
$mech->get_ok('/my/planned?sort=shortlist&ajax=1');
$mech->content_contains('shortlist-up');
@@ -57,8 +52,29 @@ $mech->get_ok('/my/planned?ajax=1');
$mech->content_contains('shortlist-up');
$mech->content_contains('shortlist-down');
-done_testing();
+subtest "POSTing multiple problems to my/planned/change adds all to shortlist" => sub {
+ my ($problem1, $problem2, $problem3) = $mech->create_problems_for_body(3, $body->id, 'New Problem');
+
+ # Grab CSRF token
+ $mech->get_ok($problem1->url);
+ my ($csrf) = $mech->content =~ /meta content="([^"]*)" name="csrf-token"/;
+
+ $mech->post_ok( '/my/planned/change_multiple', {
+ 'ids[]' => [
+ $problem1->id,
+ $problem2->id,
+ $problem3->id,
+ ],
+ token => $csrf,
+ }
+ );
+
+ $mech->get_ok($problem1->url);
+ $mech->text_contains('Shortlisted');
+ $mech->get_ok($problem2->url);
+ $mech->text_contains('Shortlisted');
+ $mech->get_ok($problem3->url);
+ $mech->text_contains('Shortlisted');
+};
-END {
- $mech->delete_user($user);
-}
+done_testing();
diff --git a/t/app/controller/open311.t b/t/app/controller/open311.t
index 9b0a6f8af..29cd38129 100644
--- a/t/app/controller/open311.t
+++ b/t/app/controller/open311.t
@@ -1,8 +1,3 @@
-use strict;
-use warnings;
-
-use Test::More;
-
use FixMyStreet::TestMech;
my $mech = FixMyStreet::TestMech->new;
diff --git a/t/app/controller/page_not_found.t b/t/app/controller/page_not_found.t
index 3c2bc3c3d..30a24df09 100644
--- a/t/app/controller/page_not_found.t
+++ b/t/app/controller/page_not_found.t
@@ -1,11 +1,6 @@
-use strict;
-use warnings;
+use FixMyStreet::TestMech;
-use Test::More tests => 4;
-
-use Test::WWW::Mechanize::Catalyst 'FixMyStreet::App';
-
-my $mech = Test::WWW::Mechanize::Catalyst->new;
+my $mech = FixMyStreet::TestMech->new;
# homepage ok
$mech->get_ok('/');
@@ -16,3 +11,5 @@ my $res = $mech->get($path_to_404);
ok !$res->is_success(), "want a bad response";
is $res->code, 404, "got 404";
$mech->content_contains($path_to_404);
+
+done_testing();
diff --git a/t/app/controller/photo.t b/t/app/controller/photo.t
index ad857b5e3..dbbc697d7 100644
--- a/t/app/controller/photo.t
+++ b/t/app/controller/photo.t
@@ -1,10 +1,3 @@
-use strict;
-use utf8; # sign in error message has &ndash; in it
-use warnings;
-use feature 'say';
-use Test::More;
-use utf8;
-
use FixMyStreet::TestMech;
use FixMyStreet::App;
use Web::Scraper;
diff --git a/t/app/controller/questionnaire.t b/t/app/controller/questionnaire.t
index f42908a3e..c6d112df7 100644
--- a/t/app/controller/questionnaire.t
+++ b/t/app/controller/questionnaire.t
@@ -1,6 +1,3 @@
-use strict;
-use warnings;
-use Test::More;
use DateTime;
use FixMyStreet::TestMech;
@@ -8,15 +5,6 @@ use FixMyStreet::App::Controller::Questionnaire;
ok( my $mech = FixMyStreet::TestMech->new, 'Created mech object' );
-# Make sure there's no outstanding questionnaire emails to be sent
-FixMyStreet::App->model('DB::Questionnaire')->send_questionnaires( {
- site => 'fixmystreet'
-} );
-$mech->clear_emails_ok;
-
-# create a test user and report
-$mech->delete_user('test@example.com');
-
my $user = $mech->create_user_ok('test@example.com', name => 'Test User');
my $dt = DateTime->now()->subtract( weeks => 5 );
@@ -458,5 +446,4 @@ FixMyStreet::override_config {
is $plain->header('Content-Type'), 'text/plain; charset="utf-8"', 'email is in right encoding';
};
-$mech->delete_user('test@example.com');
done_testing();
diff --git a/t/app/controller/report_as_other.t b/t/app/controller/report_as_other.t
index 551a59481..daa213e8c 100644
--- a/t/app/controller/report_as_other.t
+++ b/t/app/controller/report_as_other.t
@@ -1,7 +1,3 @@
-use strict;
-use warnings;
-use Test::More;
-
use FixMyStreet::TestMech;
use FixMyStreet::App;
@@ -80,6 +76,20 @@ subtest "Body user, has permission to add report as another (existing) user" =>
push @users, $report->user;
};
+subtest "Body user, has permission to add report as anonymous user" => sub {
+ my $report = add_report(
+ 'contribute_as_anonymous_user',
+ form_as => 'anonymous_user',
+ title => "Test Report",
+ detail => 'Test report details.',
+ category => 'Street lighting',
+ );
+ is $report->name, 'Oxfordshire County Council', 'report name is body';
+ is $report->user->name, 'Body User', 'user name unchanged';
+ is $report->user->id, $user->id, 'user matches';
+ is $report->anonymous, 1, 'report anonymous';
+};
+
subtest "Body user, has permission to add update as council" => sub {
my $update = add_update(
'contribute_as_body',
@@ -123,12 +133,19 @@ subtest "Body user, has permission to add update as another (existing) user" =>
like $mech->get_text_body_from_email, qr/Your update has been logged/;
};
-done_testing();
+subtest "Body user, has permission to add update as anonymous user" => sub {
+ my $update = add_update(
+ 'contribute_as_anonymous_user',
+ form_as => 'anonymous_user',
+ update => 'Test Update',
+ );
+ is $update->name, 'Oxfordshire County Council', 'update name is body';
+ is $update->user->name, 'Body User', 'user name unchanged';
+ is $update->user->id, $user->id, 'user matches';
+ is $update->anonymous, 1, 'update anonymous';
+};
-END {
- $mech->delete_body($body);
- $mech->delete_user($_) for @users;
-}
+done_testing();
sub start_report {
my $permission = shift;
diff --git a/t/app/controller/report_display.t b/t/app/controller/report_display.t
index b35a4a026..4d73a5204 100644
--- a/t/app/controller/report_display.t
+++ b/t/app/controller/report_display.t
@@ -1,7 +1,3 @@
-use strict;
-use warnings;
-use Test::More;
-
use FixMyStreet::TestMech;
use Web::Scraper;
use Path::Class;
@@ -10,8 +6,6 @@ use DateTime;
my $mech = FixMyStreet::TestMech->new;
-# create a test user and report
-$mech->delete_user('test@example.com');
my $user = $mech->create_user_ok('test@example.com', name => 'Test User');
my $user2 = $mech->create_user_ok('test2@example.com', name => 'Other User');
@@ -41,11 +35,6 @@ subtest "check that no id redirects to homepage" => sub {
is $mech->uri->path, '/', "at home page";
};
-subtest "test id=NNN redirects to /NNN" => sub {
- $mech->get_ok("/report?id=$report_id");
- is $mech->uri->path, "/report/$report_id", "at /report/$report_id";
-};
-
subtest "test bad council email clients web links" => sub {
$mech->get_ok("/report/3D$report_id");
is $mech->uri->path, "/report/$report_id", "at /report/$report_id";
@@ -324,7 +313,7 @@ for my $test (
date => DateTime->now,
state => 'investigating',
banner_id => 'progress',
- banner_text => 'progress',
+ banner_text => 'investigating',
fixed => 0
},
{
@@ -332,7 +321,7 @@ for my $test (
date => DateTime->now,
state => 'action scheduled',
banner_id => 'progress',
- banner_text => 'progress',
+ banner_text => 'action scheduled',
fixed => 0
},
{
@@ -340,7 +329,7 @@ for my $test (
date => DateTime->now,
state => 'planned',
banner_id => 'progress',
- banner_text => 'progress',
+ banner_text => 'planned',
fixed => 0
},
{
@@ -530,7 +519,7 @@ subtest "Zurich banners are displayed correctly" => sub {
};
};
-my $oxfordshire = $mech->create_body_ok(2237, 'Oxfordshire County Council', id => 2237);
+my $oxfordshire = $mech->create_body_ok(2237, 'Oxfordshire County Council');
my $oxfordshireuser = $mech->create_user_ok('counciluser@example.com', name => 'Council User', from_body => $oxfordshire);
subtest "check user details show when a user has correct permissions" => sub {
@@ -551,14 +540,14 @@ subtest "check user details show when a user has correct permissions" => sub {
$mech->log_in_ok( $oxfordshireuser->email );
ok $mech->get("/report/$report_id"), "get '/report/$report_id'";
is $mech->extract_problem_meta,
- 'Reported in the Roads category by Oxfordshire County Council (Council User) at 15:17, Tue 10 January 2012',
+ 'Reported in the Roads category by Oxfordshire County Council (Council User) at 15:17, Tue 10 January 2012 (Hide your name?)',
'correct problem meta information';
ok $oxfordshireuser->user_body_permissions->delete_all, "Remove view_body_contribute_details permissions";
ok $mech->get("/report/$report_id"), "get '/report/$report_id'";
is $mech->extract_problem_meta,
- 'Reported in the Roads category by Oxfordshire County Council at 15:17, Tue 10 January 2012',
+ 'Reported in the Roads category by Oxfordshire County Council at 15:17, Tue 10 January 2012 (Hide your name?)',
'correct problem meta information for user without relevant permissions';
$mech->log_out_ok;
@@ -578,12 +567,10 @@ subtest "check brackets don't appear when username and report name are the same"
$mech->log_in_ok( $oxfordshireuser->email );
ok $mech->get("/report/$report_id"), "get '/report/$report_id'";
is $mech->extract_problem_meta,
- 'Reported in the Roads category by Council User at 15:17, Tue 10 January 2012',
+ 'Reported in the Roads category by Council User at 15:17, Tue 10 January 2012 (Hide your name?)',
'correct problem meta information';
};
END {
- $mech->delete_user('test@example.com');
- $mech->delete_body($westminster);
done_testing();
}
diff --git a/t/app/controller/report_import.t b/t/app/controller/report_import.t
index b956b61ae..47113198e 100644
--- a/t/app/controller/report_import.t
+++ b/t/app/controller/report_import.t
@@ -1,7 +1,3 @@
-use strict;
-use warnings;
-use Test::More;
-
use FixMyStreet::TestMech;
use FixMyStreet::App;
use Web::Scraper;
@@ -386,7 +382,3 @@ subtest "Submit a correct entry (with location) to cobrand" => sub {
};
done_testing();
-
-END {
- $mech->delete_body($body);
-}
diff --git a/t/app/controller/report_inspect.t b/t/app/controller/report_inspect.t
index 69e43ad99..5bbbdff79 100644
--- a/t/app/controller/report_inspect.t
+++ b/t/app/controller/report_inspect.t
@@ -1,14 +1,12 @@
-use strict;
-use warnings;
-use Test::More;
-
use FixMyStreet::TestMech;
my $mech = FixMyStreet::TestMech->new;
-my $brum = $mech->create_body_ok(2514, 'Birmingham City Council', id => 2514);
-my $oxon = $mech->create_body_ok(2237, 'Oxfordshire County Council', id => 2237);
+my $brum = $mech->create_body_ok(2514, 'Birmingham City Council');
+my $oxon = $mech->create_body_ok(2237, 'Oxfordshire County Council', { can_be_devolved => 1 } );
my $contact = $mech->create_contact_ok( body_id => $oxon->id, category => 'Cows', email => 'cows@example.net' );
+my $contact2 = $mech->create_contact_ok( body_id => $oxon->id, category => 'Sheep', email => 'SHEEP', send_method => 'Open311' );
+my $contact3 = $mech->create_contact_ok( body_id => $oxon->id, category => 'Badgers', email => 'badgers@example.net' );
my $rp = FixMyStreet::DB->resultset("ResponsePriority")->create({
body => $oxon,
name => 'High Priority',
@@ -17,20 +15,22 @@ FixMyStreet::DB->resultset("ContactResponsePriority")->create({
contact => $contact,
response_priority => $rp,
});
-my $wodc = $mech->create_body_ok(2420, 'West Oxfordshire District Council', id => 2420);
+my $wodc = $mech->create_body_ok(2420, 'West Oxfordshire District Council');
$mech->create_contact_ok( body_id => $wodc->id, category => 'Horses', email => 'horses@example.net' );
-my ($report, $report2) = $mech->create_problems_for_body(2, $oxon->id, 'Test', {
+my ($report, $report2, $report3) = $mech->create_problems_for_body(3, $oxon->id, 'Test', {
category => 'Cows', cobrand => 'fixmystreet', areas => ',2237,2420',
whensent => \'current_timestamp',
latitude => 51.847693, longitude => -1.355908,
});
my $report_id = $report->id;
my $report2_id = $report2->id;
+my $report3_id = $report3->id;
my $user = $mech->log_in_ok('test@example.com');
+$user->set_extra_metadata('categories', [ $contact->id ]);
$user->update( { from_body => $oxon } );
FixMyStreet::override_config {
@@ -57,24 +57,44 @@ FixMyStreet::override_config {
};
subtest "test basic inspect submission" => sub {
- $mech->submit_form_ok({ button => 'save', with_fields => { traffic_information => 'Yes', state => 'Action Scheduled', include_update => undef } });
+ $mech->submit_form_ok({ button => 'save', with_fields => { traffic_information => 'Yes', state => 'Action scheduled', include_update => undef } });
$report->discard_changes;
+ my $alert = FixMyStreet::App->model('DB::Alert')->find(
+ { user => $user, alert_type => 'new_updates', confirmed => 1, }
+ );
+
is $report->state, 'action scheduled', 'report state changed';
is $report->get_extra_metadata('traffic_information'), 'Yes', 'report data changed';
+ ok defined( $alert ) , 'sign up for alerts';
};
subtest "test inspect & instruct submission" => sub {
- $report->unset_extra_metadata('inspected');
+ $user->user_body_permissions->create({ body => $oxon, permission_type => 'report_instruct' });
+ $user->user_body_permissions->create({ body => $oxon, permission_type => 'planned_reports' });
$report->state('confirmed');
$report->update;
- $report->inspection_log_entry->delete;
my $reputation = $report->user->get_extra_metadata("reputation");
$mech->get_ok("/report/$report_id");
- $mech->submit_form_ok({ button => 'save', with_fields => { public_update => "This is a public update.", include_update => "1", state => 'action scheduled' } });
+ $mech->submit_form_ok({ button => 'save', with_fields => {
+ public_update => "This is a public update.", include_update => "1",
+ state => 'action scheduled', raise_defect => 1,
+ } });
+ $mech->get_ok("/report/$report_id");
+ $mech->submit_form_ok({ with_fields => {
+ update => "This is a second public update, of normal update form, no actual change.",
+ } });
$report->discard_changes;
- is $report->comments->first->text, "This is a public update.", 'Update was created';
+ my $comment = ($report->comments( undef, { order_by => { -desc => 'id' } } )->all)[1]->text;
+ is $comment, "This is a public update.", 'Update was created';
is $report->get_extra_metadata('inspected'), 1, 'report marked as inspected';
is $report->user->get_extra_metadata('reputation'), $reputation, "User reputation wasn't changed";
+ $mech->get_ok("/report/$report_id");
+ my $meta = $mech->extract_update_metas;
+ like $meta->[0], qr/State changed to: Action scheduled/, 'First update mentions action scheduled';
+ like $meta->[2], qr/Posted by .*defect raised/, 'Update mentions defect raised';
+
+ $user->unset_extra_metadata('categories');
+ $user->update;
};
subtest "test update is required when instructing" => sub {
@@ -94,8 +114,9 @@ FixMyStreet::override_config {
$mech->get_ok("/report/$report_id");
$mech->submit_form_ok({ button => 'save', with_fields => { latitude => 55, longitude => -2 } });
$mech->content_contains('Invalid location');
- $mech->submit_form_ok({ button => 'save', with_fields => { latitude => 51.754926, longitude => -1.256179 } });
+ $mech->submit_form_ok({ button => 'save', with_fields => { latitude => 51.754926, longitude => -1.256179, include_update => undef } });
$mech->content_lacks('Invalid location');
+ $user->user_body_permissions->search({ body_id => $oxon->id, permission_type => 'planned_reports' })->delete;
};
subtest "test duplicate reports are shown" => sub {
@@ -103,6 +124,8 @@ FixMyStreet::override_config {
$report->set_extra_metadata('duplicate_of' => $report2->id);
$report->state('duplicate');
$report->update;
+ $report2->set_extra_metadata('duplicates' => [ $report->id ]);
+ $report2->update;
$mech->get_ok("/report/$report_id");
$mech->content_contains($report2->title);
@@ -113,6 +136,8 @@ FixMyStreet::override_config {
$report->unset_extra_metadata('duplicate_of');
$report->state($old_state);
$report->update;
+ $report2->unset_extra_metadata('duplicates');
+ $report2->update;
};
subtest "marking a report as a duplicate with update correctly sets update status" => sub {
@@ -122,13 +147,27 @@ FixMyStreet::override_config {
$mech->get_ok("/report/$report_id");
$mech->submit_form_ok({ button => 'save', with_fields => { state => 'Duplicate', duplicate_of => $report2->id, public_update => "This is a duplicate.", include_update => "1" } });
$report->discard_changes;
+ $report2->discard_changes;
is $report->state, 'duplicate', 'report marked as duplicate';
is $report->comments->search({ problem_state => 'duplicate' })->count, 1, 'update marking report as duplicate was left';
+ is $report->get_extra_metadata('duplicate_of'), $report2->id;
+ is_deeply $report2->get_extra_metadata('duplicates'), [ $report->id ];
$report->update({ state => $old_state });
};
+ subtest "changing state does not add another alert" =>sub {
+ $mech->get_ok("/report/$report_id");
+ $mech->submit_form_ok({ button => 'save', with_fields => { state => 'Investigating', public_update => "We're investigating.", include_update => "1" } });
+
+ my $alert_count = FixMyStreet::App->model('DB::Alert')->search(
+ { user_id => $user->id, alert_type => 'new_updates', confirmed => 1, parameter => $report_id }
+ )->count();
+
+ is $alert_count, 1 , 'User has only one alert';
+ };
+
subtest "marking a report as a duplicate doesn't clobber user-provided update" => sub {
my $old_state = $report->state;
$report->comments->delete_all;
@@ -151,6 +190,54 @@ FixMyStreet::override_config {
$report->update({ state => $old_state });
};
+ subtest "post-inspect redirect is to the right place if URL set" => sub {
+ $user->user_body_permissions->create({ body => $oxon, permission_type => 'planned_reports' });
+ $mech->get_ok("/report/$report_id");
+ my $update_text = "This text was entered as an update by the user.";
+ $mech->submit_form_ok({ button => 'save', with_fields => {
+ public_update => $update_text,
+ include_update => "1",
+ post_inspect_url => "/"
+ }});
+ is $mech->res->code, 200, "got 200";
+ is $mech->res->previous->code, 302, "got 302 for redirect";
+ is $mech->uri->path, '/', 'redirected to front page';
+ $user->user_body_permissions->search({ body_id => $oxon->id, permission_type => 'planned_reports' })->delete;
+ };
+
+ subtest "post-inspect redirect is to the right place if URL not set" => sub {
+ $user->user_body_permissions->create({ body => $oxon, permission_type => 'planned_reports' });
+ $user->set_extra_metadata(categories => [ $contact->id ]);
+ $user->update;
+ $mech->get_ok("/report/$report_id");
+ my $update_text = "This text was entered as an update by the user.";
+ $mech->submit_form_ok({ button => 'save', with_fields => {
+ public_update => $update_text,
+ include_update => "1",
+ post_inspect_url => ""
+ }});
+ is $mech->res->code, 200, "got 200";
+ is $mech->res->previous->code, 302, "got 302 for redirect";
+ is $mech->uri->path, '/around', 'redirected to /around';
+ my %params = $mech->uri->query_form;
+ is $params{lat}, $report->latitude, "latitude param is correct";
+ is $params{lon}, $report->longitude, "longitude param is correct";
+ is $params{filter_category}, $contact->category, "categories param is correct";
+ $user->user_body_permissions->search({ body_id => $oxon->id, permission_type => 'planned_reports' })->delete;
+ };
+
+ subtest "default response priorities display correctly" => sub {
+ $mech->get_ok("/report/$report_id");
+ $mech->content_contains('Priority</label', 'report priority list present');
+ like $mech->content, qr/<select name="priority" id="problem_priority" class="form-control">[^<]*<option value="" selecte/s, 'blank priority option is selected';
+ $mech->content_lacks('value="' . $rp->id . '" selected>High', 'non default priority not selected');
+
+ $rp->update({ is_default => 1});
+ $mech->get_ok("/report/$report_id");
+ unlike $mech->content, qr/<select name="priority" id="problem_priority" class="form-control">[^<]*<option value="" selecte/s, 'blank priority option not selected';
+ $mech->content_contains('value="' . $rp->id . '" selected>High', 'default priority selected');
+ };
+
foreach my $test (
{ type => 'report_edit_priority', priority => 1 },
{ type => 'report_edit_category', category => 1 },
@@ -191,21 +278,40 @@ FixMyStreet::override_config {
};
subtest "test positive reputation" => sub {
+ $user->user_body_permissions->create({ body => $oxon, permission_type => 'report_instruct' });
$report->unset_extra_metadata('inspected');
$report->update;
$report->inspection_log_entry->delete if $report->inspection_log_entry;
my $reputation = $report->user->get_extra_metadata("reputation") || 0;
$mech->get_ok("/report/$report_id");
- $mech->submit_form_ok({ button => 'save', with_fields => { state => 'action scheduled', include_update => undef } });
+ $mech->submit_form_ok({ button => 'save', with_fields => {
+ state => 'in progress', include_update => undef,
+ } });
$report->discard_changes;
- is $report->get_extra_metadata('inspected'), 1, 'report marked as inspected';
+ is $report->get_extra_metadata('inspected'), undef, 'report not marked as inspected';
+
+ $mech->submit_form_ok({ button => 'save', with_fields => {
+ state => 'action scheduled', include_update => undef,
+ } });
+ $report->discard_changes;
+ is $report->get_extra_metadata('inspected'), undef, 'report not marked as inspected';
is $report->user->get_extra_metadata('reputation'), $reputation+1, "User reputation was increased";
+
+ $mech->submit_form_ok({ button => 'save', with_fields => {
+ state => 'action scheduled', include_update => undef,
+ raise_defect => 1,
+ } });
+ $report->discard_changes;
+ is $report->get_extra_metadata('inspected'), 1, 'report marked as inspected';
+ $mech->get_ok("/report/$report_id");
+ my $meta = $mech->extract_update_metas;
+ like $meta->[-1], qr/Updated by .*defect raised/, 'Update mentions defect raised';
};
subtest "Oxfordshire-specific traffic management options are shown" => sub {
$report->update({ state => 'confirmed' });
$mech->get_ok("/report/$report_id");
- $mech->submit_form_ok({ button => 'save', with_fields => { traffic_information => 'Signs and Cones', state => 'Action Scheduled', include_update => undef } });
+ $mech->submit_form_ok({ button => 'save', with_fields => { traffic_information => 'Signs and Cones', state => 'Action scheduled', include_update => undef } });
$report->discard_changes;
is $report->state, 'action scheduled', 'report state changed';
is $report->get_extra_metadata('traffic_information'), 'Signs and Cones', 'report data changed';
@@ -217,6 +323,28 @@ FixMyStreet::override_config {
ALLOWED_COBRANDS => [ 'oxfordshire', 'fixmystreet' ],
BASE_URL => 'http://fixmystreet.site',
}, sub {
+ subtest "test report not resent when category changes if send_method doesn't change" => sub {
+ $mech->get_ok("/report/$report3_id");
+ $mech->submit_form(button => 'save', with_fields => { category => 'Badgers', include_update => undef, });
+
+ $report3->discard_changes;
+ is $report3->category, "Badgers", "Report in correct category";
+ isnt $report3->whensent, undef, "Report not marked as unsent";
+ is $report3->bodies_str, $oxon->id, "Reported to OCC";
+ };
+
+ subtest "test resending when send_method changes" => sub {
+ $mech->get_ok("/report/$report3_id");
+ # Then change the category to the other category within the same council,
+ # which should cause it to be resent because it has a different send method
+ $mech->submit_form(button => 'save', with_fields => { category => 'Sheep', include_update => undef, });
+
+ $report3->discard_changes;
+ is $report3->category, "Sheep", "Report in correct category";
+ is $report3->whensent, undef, "Report marked as unsent";
+ is $report3->bodies_str, $oxon->id, "Reported to OCC";
+ };
+
subtest "test category/body changes" => sub {
$mech->host('oxfordshire.fixmystreet.site');
$report->update({ state => 'confirmed' });
@@ -242,7 +370,5 @@ FixMyStreet::override_config {
END {
- $mech->delete_body($oxon);
- $mech->delete_body($brum);
done_testing();
}
diff --git a/t/app/controller/report_interest_count.t b/t/app/controller/report_interest_count.t
index 3cb80ea5f..04f567615 100644
--- a/t/app/controller/report_interest_count.t
+++ b/t/app/controller/report_interest_count.t
@@ -1,6 +1,3 @@
-use strict;
-use warnings;
-
package FixMyStreet::Cobrand::Tester;
use parent 'FixMyStreet::Cobrand::Default';
@@ -11,8 +8,6 @@ sub can_support_problems {
package main;
-use Test::More;
-
use FixMyStreet::TestMech;
use Web::Scraper;
use Path::Class;
@@ -20,8 +15,6 @@ use DateTime;
my $mech = FixMyStreet::TestMech->new;
-# create a test user and report
-$mech->delete_user('test@example.com');
my $user = $mech->create_user_ok('test@example.com', name => 'Test User');
my $dt = DateTime->new(
@@ -133,6 +126,5 @@ subtest 'check support details not shown if not enabled in cobrand' => sub {
};
END {
- $mech->delete_user('test@example.com');
done_testing();
}
diff --git a/t/app/controller/report_new.t b/t/app/controller/report_new.t
index 71090cd26..ab6b5d78e 100644
--- a/t/app/controller/report_new.t
+++ b/t/app/controller/report_new.t
@@ -1,8 +1,3 @@
-use strict;
-use utf8; # sign in error message has &ndash; in it
-use warnings;
-use Test::More;
-
use FixMyStreet::TestMech;
use FixMyStreet::App;
use Web::Scraper;
@@ -41,13 +36,11 @@ for my $body (
{ area_id => 2226, name => 'Gloucestershire County Council' },
{ area_id => 2326, name => 'Cheltenham Borough Council' },
{ area_id => 2504, name => 'Westminster City Council' },
- # The next three have fixed IDs because bits of the code rely on
- # the body ID === MapIt area ID.
- { area_id => 2482, name => 'Bromley Council', id => 2482 },
- { area_id => 2227, name => 'Hampshire County Council', id => 2227 },
- { area_id => 2333, name => 'Hart Council', id => 2333 },
+ { area_id => 2482, name => 'Bromley Council' },
+ { area_id => 2227, name => 'Hampshire County Council' },
+ { area_id => 2333, name => 'Hart Council' },
) {
- my $body_obj = $mech->create_body_ok($body->{area_id}, $body->{name}, id => $body->{id});
+ my $body_obj = $mech->create_body_ok($body->{area_id}, $body->{name});
push @bodies, $body_obj;
$body_ids{$body->{area_id}} = $body_obj->id;
}
@@ -897,6 +890,32 @@ foreach my $test (
}
+subtest "Test inactive categories" => sub {
+ FixMyStreet::override_config {
+ ALLOWED_COBRANDS => [ { fixmystreet => '.' } ],
+ BASE_URL => 'https://www.fixmystreet.com',
+ MAPIT_URL => 'http://mapit.uk/',
+ }, sub {
+ # Around and New report have both categories
+ $mech->get_ok('/around?pc=GL50+2PR');
+ $mech->content_contains('Potholes');
+ $mech->content_contains('Trees');
+ $mech->get_ok("/report/new?lat=$saved_lat&lon=$saved_lon");
+ $mech->content_contains('Potholes');
+ $mech->content_contains('Trees');
+ $contact2->update( { state => 'inactive' } ); # Potholes
+ # But when Potholes is inactive, it's not on New report
+ $mech->get_ok('/around?pc=GL50+2PR');
+ $mech->content_contains('Potholes');
+ $mech->content_contains('Trees');
+ $mech->get_ok("/report/new?lat=$saved_lat&lon=$saved_lon");
+ $mech->content_lacks('Potholes');
+ $mech->content_contains('Trees');
+ # Change back
+ $contact2->update( { state => 'confirmed' } );
+ };
+};
+
subtest "test report creation for a category that is non public" => sub {
$mech->log_out_ok;
$mech->clear_emails_ok;
@@ -1635,8 +1654,46 @@ subtest "extra google analytics code displayed on email confirmation problem cre
};
};
-done_testing();
+subtest "inspectors get redirected directly to the report page" => sub {
+ FixMyStreet::override_config {
+ ALLOWED_COBRANDS => [ { fixmystreet => '.' } ],
+ BASE_URL => 'https://www.fixmystreet.com',
+ MAPIT_URL => 'http://mapit.uk/',
+ }, sub {
+ $mech->log_out_ok;
-END {
- $mech->delete_body($_) foreach @bodies;
-}
+ my $user = $mech->create_user_ok('inspector@example.org', name => 'inspector', from_body => $bodies[0]);
+ $user->user_body_permissions->find_or_create({
+ body => $bodies[0],
+ permission_type => 'planned_reports',
+ });
+
+ $mech->log_in_ok('inspector@example.org');
+ $mech->get_ok('/');
+ $mech->submit_form_ok( { with_fields => { pc => 'GL50 2PR' } },
+ "submit location" );
+ $mech->follow_link_ok(
+ { text_regex => qr/skip this step/i, },
+ "follow 'skip this step' link"
+ );
+
+ $mech->submit_form_ok(
+ {
+ with_fields => {
+ title => "Inspector report",
+ detail => 'Inspector report details.',
+ photo1 => '',
+ name => 'Joe Bloggs',
+ may_show_name => '1',
+ phone => '07903 123 456',
+ category => 'Trees',
+ }
+ },
+ "submit good details"
+ );
+
+ like $mech->uri->path, qr/\/report\/[0-9]+/, 'Redirects directly to report';
+ }
+};
+
+done_testing();
diff --git a/t/app/controller/report_new_mobile.t b/t/app/controller/report_new_mobile.t
index 3dfb99b2f..296007ce3 100644
--- a/t/app/controller/report_new_mobile.t
+++ b/t/app/controller/report_new_mobile.t
@@ -1,4 +1,3 @@
-use Test::More;
use FixMyStreet::TestMech;
use LWP::Protocol::PSGI;
use t::Mock::MapItZurich;
@@ -37,6 +36,5 @@ subtest "Check signed up for alert when logged in" => sub {
};
END {
- $mech->delete_user('user@example.org');
done_testing();
}
diff --git a/t/app/controller/report_new_open311.t b/t/app/controller/report_new_open311.t
index e3a464f88..9a4a81182 100644
--- a/t/app/controller/report_new_open311.t
+++ b/t/app/controller/report_new_open311.t
@@ -1,7 +1,3 @@
-use strict;
-use warnings;
-use Test::More;
-
use FixMyStreet::TestMech;
use FixMyStreet::App;
use Web::Scraper;
@@ -176,7 +172,3 @@ foreach my $test (
}
done_testing();
-
-END {
- $mech->delete_body($body);
-}
diff --git a/t/app/controller/report_updates.t b/t/app/controller/report_updates.t
index de153978b..0526b2fd7 100644
--- a/t/app/controller/report_updates.t
+++ b/t/app/controller/report_updates.t
@@ -1,7 +1,3 @@
-use strict;
-use warnings;
-use Test::More;
-
use FixMyStreet::TestMech;
use Web::Scraper;
use Path::Class;
@@ -9,10 +5,6 @@ use DateTime;
my $mech = FixMyStreet::TestMech->new;
-# create a test user and report
-$mech->delete_user('commenter@example.com');
-$mech->delete_user('test@example.com');
-
my $user = $mech->create_user_ok('test@example.com', name => 'Test User');
my $user2 = $mech->create_user_ok('commenter@example.com', name => 'Commenter');
@@ -101,8 +93,7 @@ for my $test (
anonymous => 't',
mark_fixed => 'true',
mark_open => 'false',
- meta =>
-'Posted anonymously at 15:47, Sat 16 April 2011, marked as fixed',
+ meta => [ 'State changed to: Fixed', 'Posted anonymously at 15:47, Sat 16 April 2011' ]
},
{
description => 'named user, anon is true, reopened',
@@ -110,7 +101,7 @@ for my $test (
anonymous => 't',
mark_fixed => 'false',
mark_open => 'true',
- meta => 'Posted anonymously at 15:47, Sat 16 April 2011, reopened',
+ meta => [ 'State changed to: Open', 'Posted anonymously at 15:47, Sat 16 April 2011' ]
}
)
{
@@ -126,20 +117,21 @@ for my $test (
$mech->content_contains('This is some update text');
my $meta = $mech->extract_update_metas;
- is scalar @$meta, 1, 'number of updates';
- is $meta->[0], $test->{meta};
+ my $test_meta = ref $test->{meta} ? $test->{meta} : [ $test->{meta} ];
+ is scalar @$meta, scalar @$test_meta, 'number of updates';
+ is_deeply $meta, $test_meta;
};
}
subtest "updates displayed on report with empty bodies_str" => sub {
my $old_bodies_str = $report->bodies_str;
$report->update({ bodies_str => undef });
- $comment->update({ problem_state => 'fixed' , mark_open => 'false', mark_fixed => 'false' });
+ $comment->update({ problem_state => 'fixed - user' , mark_open => 'false', mark_fixed => 'false' });
$mech->get_ok("/report/$report_id");
my $meta = $mech->extract_update_metas;
- is scalar @$meta, 1, 'update displayed';
+ is scalar @$meta, 2, 'update displayed';
$report->update({ bodies_str => $old_bodies_str });
};
@@ -193,10 +185,11 @@ subtest "several updates shown in correct order" => sub {
$mech->get_ok("/report/$report_id");
my $meta = $mech->extract_update_metas;
- is scalar @$meta, 3, 'number of updates';
+ is scalar @$meta, 4, 'number of updates';
is $meta->[0], 'Posted by Other User at 12:23, Thu 10 March 2011', 'first update';
is $meta->[1], 'Posted by Main User at 12:23, Thu 10 March 2011', 'second update';
- is $meta->[2], 'Posted anonymously at 08:12, Tue 15 March 2011, marked as fixed', 'third update';
+ is $meta->[2], 'State changed to: Fixed', 'third update, part 1';
+ is $meta->[3], 'Posted anonymously at 08:12, Tue 15 March 2011', 'third update, part 2';
};
for my $test (
@@ -587,9 +580,10 @@ for my $test (
name => $user->name,
may_show_name => 1,
update => 'Set state to fixed',
- state => 'fixed',
+ state => 'fixed - council',
},
state => 'fixed - council',
+ meta => 'fixed',
},
{
desc => 'from authority user marks report as action scheduled',
@@ -620,7 +614,6 @@ for my $test (
state => 'internal referral',
},
state => 'internal referral',
- meta => "an internal referral",
},
{
desc => 'from authority user marks report as not responsible',
@@ -642,7 +635,6 @@ for my $test (
state => 'duplicate',
},
state => 'duplicate',
- meta => 'a duplicate report',
},
{
desc => 'from authority user marks report as internal referral',
@@ -653,7 +645,6 @@ for my $test (
state => 'internal referral',
},
state => 'internal referral',
- meta => 'an internal referral',
},
{
desc => 'from authority user marks report sent to two councils as fixed',
@@ -661,9 +652,10 @@ for my $test (
name => $user->name,
may_show_name => 1,
update => 'Set state to fixed',
- state => 'fixed',
+ state => 'fixed - council',
},
state => 'fixed - council',
+ meta => 'fixed',
report_bodies => $body->id . ',2505',
},
{
@@ -672,9 +664,10 @@ for my $test (
name => $user->name,
may_show_name => 1,
update => 'Set state to fixed',
- state => 'fixed',
+ state => 'fixed - council',
},
state => 'fixed - council',
+ meta => 'fixed',
report_bodies => $body->id . ',2505',
view_username => 1
},
@@ -716,19 +709,13 @@ for my $test (
my $update_meta = $mech->extract_update_metas;
my $meta_state = $test->{meta} || $test->{fields}->{state};
- if ( $test->{reopened} ) {
- like $update_meta->[0], qr/reopened$/, 'update meta says reopened';
- } elsif ( $test->{state} eq 'duplicate' ) {
- like $update_meta->[0], qr/closed as $meta_state$/, 'update meta includes state change';
- } else {
- like $update_meta->[0], qr/marked as $meta_state$/, 'update meta includes state change';
- }
+ like $update_meta->[0], qr/$meta_state/i, 'update meta includes state change';
if ($test->{view_username}) {
- like $update_meta->[0], qr{Westminster City Council \(Test User\)}, 'update meta includes council and user name';
+ like $update_meta->[1], qr{Westminster City Council \(Test User\)}, 'update meta includes council and user name';
$user->user_body_permissions->delete_all;
} else {
- like $update_meta->[0], qr{Westminster City Council}, 'update meta includes council name';
+ like $update_meta->[1], qr{Westminster City Council}, 'update meta includes council name';
$mech->content_contains( '<strong>Westminster City Council</strong>', 'council name in bold');
}
@@ -756,24 +743,22 @@ subtest 'check meta correct for comments marked confirmed but not marked open' =
$mech->get_ok( "/report/" . $report->id );
my $update_meta = $mech->extract_update_metas;
- unlike $update_meta->[0], qr/reopened$/,
+ unlike $update_meta->[0], qr/Open/,
'update meta does not say reopened';
$comment->update( { mark_open => 1, problem_state => undef } );
$mech->get_ok( "/report/" . $report->id );
$update_meta = $mech->extract_update_metas;
- unlike $update_meta->[0], qr/marked as open$/,
- 'update meta does not says marked as open';
- like $update_meta->[0], qr/reopened$/, 'update meta does say reopened';
+ like $update_meta->[0], qr/Open/, 'update meta does say open';
$comment->update( { mark_open => 0, problem_state => undef } );
$mech->get_ok( "/report/" . $report->id );
$update_meta = $mech->extract_update_metas;
- unlike $update_meta->[0], qr/marked as open$/,
+ unlike $update_meta->[0], qr/Open/,
'update meta does not says marked as open';
- unlike $update_meta->[0], qr/reopened$/, 'update meta does not say reopened';
+ unlike $update_meta->[0], qr/Open/, 'update meta does not say reopened';
};
subtest "check first comment with no status change has no status in meta" => sub {
@@ -787,7 +772,7 @@ subtest "check first comment with no status change has no status in meta" => sub
$mech->get_ok("/report/$report_id");
my $update_meta = $mech->extract_update_metas;
- unlike $update_meta->[0], qr/marked as|reopened/, 'update meta does not include state change';
+ unlike $update_meta->[0], qr/State changed to/, 'update meta does not include state change';
};
subtest "check comment with no status change has not status in meta" => sub {
@@ -817,7 +802,7 @@ subtest "check comment with no status change has not status in meta" => sub {
$mech->get_ok("/report/$report_id");
$report->discard_changes;
- my @updates = $report->comments->all;
+ my @updates = $report->comments->search(undef, { order_by => ['created', 'id'] })->all;
is scalar @updates, 2, 'correct number of updates';
my $update = pop @updates;
@@ -825,7 +810,7 @@ subtest "check comment with no status change has not status in meta" => sub {
is $report->state, 'fixed - council', 'correct report state';
is $update->problem_state, 'fixed - council', 'correct update state';
my $update_meta = $mech->extract_update_metas;
- unlike $update_meta->[1], qr/marked as/, 'update meta does not include state change';
+ unlike $update_meta->[1], qr/State changed to/, 'update meta does not include state change';
$user->from_body( $body->id );
$user->update;
@@ -850,7 +835,7 @@ subtest "check comment with no status change has not status in meta" => sub {
$mech->get_ok("/report/$report_id");
$report->discard_changes;
- @updates = $report->comments->search(undef, { order_by => 'created' })->all;;
+ @updates = $report->comments->search(undef, { order_by => ['created', 'id'] })->all;
is scalar @updates, 3, 'correct number of updates';
@@ -859,9 +844,9 @@ subtest "check comment with no status change has not status in meta" => sub {
is $report->state, 'investigating', 'correct report state';
is $update->problem_state, 'investigating', 'correct update state';
$update_meta = $mech->extract_update_metas;
- like $update_meta->[0], qr/marked as fixed/, 'first update meta says fixed';
- unlike $update_meta->[1], qr/marked as/, 'second update meta does not include state change';
- like $update_meta->[2], qr/marked as investigating/, 'third update meta says investigating';
+ like $update_meta->[0], qr/fixed/i, 'first update meta says fixed';
+ unlike $update_meta->[2], qr/State changed to/, 'second update meta does not include state change';
+ like $update_meta->[3], qr/investigating/i, 'third update meta says investigating';
my $dt = DateTime->now( time_zone => "local" )->add( seconds => 1 );
$comment = FixMyStreet::App->model('DB::Comment')->find_or_create(
@@ -880,7 +865,7 @@ subtest "check comment with no status change has not status in meta" => sub {
$mech->get_ok("/report/$report_id");
$report->discard_changes;
- @updates = $report->comments->search(undef, { order_by => 'created' })->all;;
+ @updates = $report->comments->search(undef, { order_by => ['created', 'id'] })->all;;
is scalar @updates, 4, 'correct number of updates';
$update = pop @updates;
@@ -888,10 +873,10 @@ subtest "check comment with no status change has not status in meta" => sub {
is $report->state, 'investigating', 'correct report state';
is $update->problem_state, undef, 'no update state';
$update_meta = $mech->extract_update_metas;
- like $update_meta->[0], qr/marked as fixed/, 'first update meta says fixed';
- unlike $update_meta->[1], qr/marked as/, 'second update meta does not include state change';
- like $update_meta->[2], qr/marked as investigating/, 'third update meta says investigating';
- unlike $update_meta->[3], qr/marked as/, 'fourth update meta has no state change';
+ like $update_meta->[0], qr/fixed/i, 'first update meta says fixed';
+ unlike $update_meta->[2], qr/State changed to/, 'second update meta does not include state change';
+ like $update_meta->[3], qr/investigating/i, 'third update meta says investigating';
+ unlike $update_meta->[5], qr/State changed to/, 'fourth update meta has no state change';
};
subtest 'check meta correct for second comment marking as reopened' => sub {
@@ -912,7 +897,7 @@ subtest 'check meta correct for second comment marking as reopened' => sub {
$mech->get_ok( "/report/" . $report->id );
my $update_meta = $mech->extract_update_metas;
- like $update_meta->[0], qr/fixed$/, 'update meta says fixed';
+ like $update_meta->[0], qr/fixed/i, 'update meta says fixed';
$comment = FixMyStreet::App->model('DB::Comment')->create(
{
@@ -930,9 +915,51 @@ subtest 'check meta correct for second comment marking as reopened' => sub {
$mech->get_ok( "/report/" . $report->id );
$update_meta = $mech->extract_update_metas;
- like $update_meta->[1], qr/reopened$/, 'update meta says reopened';
+ like $update_meta->[2], qr/Open/, 'update meta says reopened';
+};
+
+subtest "check first comment with status change but no text is displayed" => sub {
+ $user->from_body( $body->id );
+ $user->update;
+
+ $report->comments->delete;
+
+ my $comment = FixMyStreet::App->model('DB::Comment')->create(
+ {
+ user => $user,
+ name => $user->from_body->name,
+ problem_id => $report->id,
+ text => '',
+ confirmed => DateTime->now( time_zone => 'local'),
+ problem_state => 'investigating',
+ anonymous => 0,
+ mark_open => 0,
+ mark_fixed => 0,
+ state => 'confirmed',
+ }
+ );
+ $mech->log_in_ok( $user->email );
+
+ $mech->get_ok("/report/$report_id");
+
+ my $update_meta = $mech->extract_update_metas;
+ like $update_meta->[1], qr/Updated by/, 'updated by meta if no text';
+ unlike $update_meta->[1], qr/Test User/, 'commenter name not included';
+ like $update_meta->[0], qr/investigating/i, 'update meta includes state change';
+
+ ok $user->user_body_permissions->create({
+ body => $body,
+ permission_type => 'view_body_contribute_details'
+ }), 'Give user view_body_contribute_details permissions';
+
+ $mech->get_ok("/report/$report_id");
+ $update_meta = $mech->extract_update_metas;
+ like $update_meta->[1], qr/Updated by/, 'updated by meta if no text';
+ like $update_meta->[1], qr/Test User/, 'commenter name included if user has view contribute permission';
+ like $update_meta->[0], qr/investigating/i, 'update meta includes state change';
};
+
$user->from_body(undef);
$user->update;
@@ -1662,23 +1689,23 @@ for my $test (
},
{
desc => 'update fixed without marking as open leaves state unchanged',
- initial_state => 'fixed',
+ initial_state => 'fixed - user',
expected_form_fields => {
reopen => undef,
},
submitted_form_fields => {
reopen => 0,
},
- end_state => 'fixed',
+ end_state => 'fixed - user',
},
{
desc => 'update unable to fix without marking as fixed leaves state unchanged',
initial_state => 'unable to fix',
expected_form_fields => {
- fixed => undef,
+ reopen => undef,
},
submitted_form_fields => {
- fixed => 0,
+ reopen => 0,
},
end_state => 'unable to fix',
},
@@ -1686,10 +1713,10 @@ for my $test (
desc => 'update internal referral without marking as fixed leaves state unchanged',
initial_state => 'internal referral',
expected_form_fields => {
- fixed => undef,
+ reopen => undef,
},
submitted_form_fields => {
- fixed => 0,
+ reopen => 0,
},
end_state => 'internal referral',
},
@@ -1697,10 +1724,10 @@ for my $test (
desc => 'update not responsible without marking as fixed leaves state unchanged',
initial_state => 'not responsible',
expected_form_fields => {
- fixed => undef,
+ reopen => undef,
},
submitted_form_fields => {
- fixed => 0,
+ reopen => 0,
},
end_state => 'not responsible',
},
@@ -1708,10 +1735,10 @@ for my $test (
desc => 'update duplicate without marking as fixed leaves state unchanged',
initial_state => 'duplicate',
expected_form_fields => {
- fixed => undef,
+ reopen => undef,
},
submitted_form_fields => {
- fixed => 0,
+ reopen => 0,
},
end_state => 'duplicate',
},
@@ -1761,7 +1788,7 @@ for my $test (
},
{
desc => 'cannot mark fixed as fixed, can mark as not fixed',
- initial_state => 'fixed',
+ initial_state => 'fixed - user',
expected_form_fields => {
reopen => undef,
},
@@ -1771,48 +1798,48 @@ for my $test (
end_state => 'confirmed',
},
{
- desc => 'can mark unable to fix as fixed, cannot mark not closed',
+ desc => 'cannot mark unable to fix as fixed, can reopen',
initial_state => 'unable to fix',
expected_form_fields => {
- fixed => undef,
+ reopen => undef,
},
submitted_form_fields => {
- fixed => 1,
+ reopen => 1,
},
- end_state => 'fixed - user',
+ end_state => 'confirmed',
},
{
- desc => 'can mark internal referral as fixed, cannot mark not closed',
+ desc => 'cannot mark internal referral as fixed, can reopen',
initial_state => 'internal referral',
expected_form_fields => {
- fixed => undef,
+ reopen => undef,
},
submitted_form_fields => {
- fixed => 1,
+ reopen => 1,
},
- end_state => 'fixed - user',
+ end_state => 'confirmed',
},
{
- desc => 'can mark not responsible as fixed, cannot mark not closed',
+ desc => 'cannot mark not responsible as fixed, can reopen',
initial_state => 'not responsible',
expected_form_fields => {
- fixed => undef,
+ reopen => undef,
},
submitted_form_fields => {
- fixed => 1,
+ reopen => 1,
},
- end_state => 'fixed - user',
+ end_state => 'confirmed',
},
{
- desc => 'can mark duplicate as fixed, cannot mark not closed',
+ desc => 'cannot mark duplicate as fixed, can reopen',
initial_state => 'duplicate',
expected_form_fields => {
- fixed => undef,
+ reopen => undef,
},
submitted_form_fields => {
- fixed => 1,
+ reopen => 1,
},
- end_state => 'fixed - user',
+ end_state => 'confirmed',
},
) {
subtest $test->{desc} => sub {
@@ -1884,7 +1911,4 @@ subtest 'check cannot answer other user\'s creator fixed questionnaire' => sub {
$mech->content_contains( "I'm afraid we couldn't locate your problem in the database." )
};
-ok $comment->delete, 'deleted comment';
-$mech->delete_user('commenter@example.com');
-$mech->delete_user('test@example.com');
done_testing();
diff --git a/t/app/controller/reports.t b/t/app/controller/reports.t
index a21d3ad65..f3958a0a5 100644
--- a/t/app/controller/reports.t
+++ b/t/app/controller/reports.t
@@ -1,26 +1,39 @@
-use strict;
-use warnings;
-use Test::More;
+use Test::MockTime qw(:all);
use FixMyStreet::TestMech;
use mySociety::MaPit;
use FixMyStreet::App;
+use FixMyStreet::Script::UpdateAllReports;
use DateTime;
+set_absolute_time('2017-07-07T16:00:00');
+END {
+ restore_time;
+}
+
ok( my $mech = FixMyStreet::TestMech->new, 'Created mech object' );
+# Run the cron script with empty database
+FixMyStreet::Script::UpdateAllReports::generate_dashboard();
+
$mech->create_body_ok(2514, 'Birmingham City Council');
my $body_edin_id = $mech->create_body_ok(2651, 'City of Edinburgh Council')->id;
my $body_west_id = $mech->create_body_ok(2504, 'Westminster City Council')->id;
my $body_fife_id = $mech->create_body_ok(2649, 'Fife Council')->id;
my $body_slash_id = $mech->create_body_ok(10000, 'Electricity/Gas Council')->id;
-$mech->delete_problems_for_body( $body_west_id );
-$mech->delete_problems_for_body( $body_edin_id );
-$mech->delete_problems_for_body( $body_fife_id );
+my @edinburgh_problems = $mech->create_problems_for_body(3, $body_edin_id, 'All reports', { category => 'Potholes' });
+my @westminster_problems = $mech->create_problems_for_body(5, $body_west_id, 'All reports', { category => 'Graffiti' });
+my @fife_problems = $mech->create_problems_for_body(15, $body_fife_id, 'All reports', { category => 'Flytipping' });
+
+my $west_trans = FixMyStreet::DB->resultset('Translation')->find_or_create({
+ tbl => 'body',
+ object_id => $body_west_id,
+ col => 'name',
+ lang => 'de',
+ msgstr => 'De Westminster'
+});
-my @edinburgh_problems = $mech->create_problems_for_body(3, $body_edin_id, 'All reports');
-my @westminster_problems = $mech->create_problems_for_body(5, $body_west_id, 'All reports');
-my @fife_problems = $mech->create_problems_for_body(15, $body_fife_id, 'All reports');
+ok $west_trans, 'created westminster translation';
is scalar @westminster_problems, 5, 'correct number of westminster problems created';
is scalar @edinburgh_problems, 3, 'correct number of edinburgh problems created';
@@ -86,30 +99,21 @@ $fife_problems[10]->update( {
});
# Run the cron script that makes the data for /reports so we don't get an error.
-system( "bin/update-all-reports" );
+FixMyStreet::Script::UpdateAllReports::generate_dashboard();
# check that we can get the page
$mech->get_ok('/reports');
-$mech->title_like(qr{Summary reports});
+$mech->title_like(qr{Dashboard});
$mech->content_contains('Birmingham');
-my $stats = $mech->extract_report_stats;
-
-is $stats->{'City of Edinburgh Council'}->[1], 2, 'correct number of new reports for Edinburgh';
-is $stats->{'City of Edinburgh Council'}->[2], 1, 'correct number of older reports for Edinburgh';
-
-is $stats->{'Westminster City Council'}->[1], 5, 'correct number of reports for Westminster';
-
-is $stats->{'Fife Council'}->[1], 5, 'correct number of new reports for Fife';
-is $stats->{'Fife Council'}->[2], 4, 'correct number of old reports for Fife';
-is $stats->{'Fife Council'}->[3], 1, 'correct number of unknown reports for Fife';
-is $stats->{'Fife Council'}->[4], 3, 'correct number of fixed reports for Fife';
-is $stats->{'Fife Council'}->[5], 1, 'correct number of older fixed reports for Fife';
+$mech->content_contains('&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Jul&quot;');
+$mech->content_contains('5,9,10,22');
+$mech->content_contains('2,3,4,4');
FixMyStreet::override_config {
MAPIT_URL => 'http://mapit.uk/',
}, sub {
- $mech->follow_link_ok( { text_regex => qr/Birmingham/ } );
+ $mech->submit_form_ok( { with_fields => { body => $body_edin_id } }, 'Submitted dropdown okay' );
$mech->get_ok('/reports/Westminster');
};
@@ -124,54 +128,44 @@ FixMyStreet::override_config {
MAPIT_URL => 'http://mapit.uk/',
}, sub {
$mech->get_ok('/reports');
- $mech->follow_link_ok({ url_regex => qr{/reports/Electricity_Gas\+Council} });
+ $mech->submit_form_ok({ with_fields => { body => $body_slash_id } }, 'Submitted dropdown okay');
is $mech->uri->path, '/reports/Electricity_Gas+Council', 'Path is correct';
- $mech->get_ok('/reports/City+of+Edinburgh?t=new');
+ $mech->get_ok('/reports/City+of+Edinburgh?status=open');
};
$problems = $mech->extract_problem_list;
-is scalar @$problems, 2, 'correct number of new problems displayed';
+is scalar @$problems, 3, 'correct number of open problems displayed';
FixMyStreet::override_config {
MAPIT_URL => 'http://mapit.uk/',
}, sub {
- $mech->get_ok('/reports/City+of+Edinburgh?t=older');
+ $mech->get_ok('/reports/City+of+Edinburgh?status=closed');
};
$problems = $mech->extract_problem_list;
-is scalar @$problems, 1, 'correct number of older problems displayed';
+is scalar @$problems, 0, 'correct number of closed problems displayed';
for my $test (
{
- desc => 'new fife problems on report page',
- type => 'new',
- expected => 5
+ desc => 'open fife problems on report page',
+ type => 'open',
+ expected => 10
},
{
- desc => 'older fife problems on report page',
- type => 'older',
- expected => 4
- },
- {
- desc => 'unknown fife problems on report page',
- type => 'unknown',
- expected => 1
+ desc => 'closed fife problems on report page',
+ type => 'closed',
+ expected => 0
},
{
desc => 'fixed fife problems on report page',
type => 'fixed',
- expected => 3
- },
- {
- desc => 'older_fixed fife problems on report page',
- type => 'older_fixed',
- expected => 1
+ expected => 4
},
) {
subtest $test->{desc} => sub {
FixMyStreet::override_config {
MAPIT_URL => 'http://mapit.uk/',
}, sub {
- $mech->get_ok('/reports/Fife+Council?t=' . $test->{type});
+ $mech->get_ok('/reports/Fife+Council?status=' . $test->{type});
};
$problems = $mech->extract_problem_list;
@@ -192,14 +186,14 @@ is scalar @$problems, 4, 'only public problems are displayed';
$mech->content_lacks('All reports Test 3 for ' . $body_west_id, 'non public problem is not visible');
+# No change to numbers if report is non-public
$mech->get_ok('/reports');
-$stats = $mech->extract_report_stats;
-is $stats->{'Westminster City Council'}->[1], 5, 'non public reports included in stats';
+$mech->content_contains('&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Jul&quot;');
+$mech->content_contains('5,9,10,22');
subtest "test fiksgatami all reports page" => sub {
FixMyStreet::override_config {
ALLOWED_COBRANDS => [ 'fiksgatami' ],
- MAPIT_URL => 'http://mapit.nuug.no/',
}, sub {
$mech->create_body_ok(3, 'Oslo');
ok $mech->host("fiksgatami.no"), 'change host to fiksgatami';
@@ -220,7 +214,7 @@ subtest "test greenwich all reports page" => sub {
body_id => $body->id,
category => 'Deleted',
email => 'deleted@example.com',
- deleted => 1
+ state => 'deleted',
);
ok $mech->host("greenwich.fixmystreet.com"), 'change host to greenwich';
$mech->get_ok('/reports/Royal+Borough+of+Greenwich');
@@ -283,4 +277,92 @@ subtest "it lists shortlisted reports" => sub {
};
};
+subtest "it allows body users to filter by subtypes" => sub {
+ FixMyStreet::override_config {
+ MAPIT_URL => 'http://mapit.uk/'
+ }, sub {
+ my $body = FixMyStreet::App->model('DB::Body')->find( $body_edin_id );
+ my $user = $mech->log_in_ok( 'test@example.com' );
+ $user->update({ from_body => $body });
+
+ my ($investigating_problem) = $mech->create_problems_for_body(1, $body_edin_id, 'Investigating report');
+ my ($scheduled_problem) = $mech->create_problems_for_body(1, $body_edin_id, 'A Scheduled report');
+ my ($in_progress_problem) = $mech->create_problems_for_body(1, $body_edin_id, 'In progress report');
+
+ $investigating_problem->update({ state => 'investigating' });
+ $scheduled_problem->update({ state => 'action scheduled' });
+ $in_progress_problem->update({ state => 'in progress' });
+
+ $mech->get_ok('/reports/City+of+Edinburgh+Council');
+ $mech->content_contains('<option value="investigating">Investigating</option>');
+ $mech->content_contains('<option value="in progress">In progress</option>');
+ $mech->content_contains('<option value="action scheduled">Action scheduled</option>');
+ $mech->content_contains('<option value="unable to fix">No further action</option>');
+ $mech->content_contains('<option value="not responsible">Not responsible</option>');
+ $mech->content_contains('<option value="internal referral">Internal referral</option>');
+ $mech->content_contains('<option value="duplicate">Duplicate</option>');
+
+ $mech->get_ok('/reports/City+of+Edinburgh+Council?status=investigating');
+
+ $in_progress_problem->discard_changes();
+
+ $mech->content_contains('Investigating report');
+ $mech->content_lacks('In progress report');
+ $mech->content_lacks('A Scheduled report');
+
+ $mech->get_ok('/reports/City+of+Edinburgh+Council?status=in progress');
+
+ $mech->content_lacks('Investigating report');
+ $mech->content_contains('In progress report');
+ $mech->content_lacks('A Scheduled report');
+ };
+};
+
+subtest "it does not allow non body users to filter by subtypes" => sub {
+ FixMyStreet::override_config {
+ MAPIT_URL => 'http://mapit.uk/'
+ }, sub {
+ my $user = $mech->log_in_ok( 'test@example.com' );
+ $user->update({ from_body => undef });
+
+ $mech->get_ok('/reports/City+of+Edinburgh+Council');
+ $mech->content_lacks('<option value="investigating">Investigating</option>');
+ $mech->content_lacks('<option value="in progress">In progress</option>');
+ $mech->content_lacks('<option value="action scheduled">Action scheduled</option>');
+ $mech->content_lacks('<option value="unable to fix">No further action</option>');
+ $mech->content_lacks('<option value="not responsible">Not responsible</option>');
+ $mech->content_lacks('<option value="internal referral">Internal referral</option>');
+ $mech->content_lacks('<option value="duplicate">Duplicate</option>');
+ };
+};
+
+subtest "it does not allow body users to filter subcategories for other bodies" => sub {
+ FixMyStreet::override_config {
+ MAPIT_URL => 'http://mapit.uk/'
+ }, sub {
+ my $body = FixMyStreet::App->model('DB::Body')->find( $body_west_id );
+ my $user = $mech->log_in_ok( 'test@example.com' );
+ $user->update({ from_body => $body });
+
+ $mech->get_ok('/reports/City+of+Edinburgh+Council');
+
+ $mech->content_lacks('<option value="investigating">Investigating</option>');
+ $mech->content_lacks('<option value="in progress">In progress</option>');
+ $mech->content_lacks('<option value="action scheduled">Action scheduled</option>');
+ $mech->content_lacks('<option value="unable to fix">No further action</option>');
+ $mech->content_lacks('<option value="not responsible">Not responsible</option>');
+ $mech->content_lacks('<option value="internal referral">Internal referral</option>');
+ $mech->content_lacks('<option value="duplicate">Duplicate</option>');
+ };
+};
+
+subtest "can use translated body name" => sub {
+ FixMyStreet::override_config {
+ MAPIT_URL => 'http://mapit.uk/',
+ }, sub {
+ $mech->get_ok('/reports/De Westminster');
+ $mech->title_like(qr/Westminster City Council/);
+ };
+};
+
done_testing();
diff --git a/t/app/controller/root.t b/t/app/controller/root.t
new file mode 100644
index 000000000..ddf659b77
--- /dev/null
+++ b/t/app/controller/root.t
@@ -0,0 +1,76 @@
+use FixMyStreet::TestMech;
+
+ok( my $mech = FixMyStreet::TestMech->new, 'Created mech object' );
+
+my @urls = (
+ "/",
+ "/contact",
+ "/about/faq",
+ "/around?longitude=-1.351488&latitude=51.847235"
+);
+
+
+FixMyStreet::override_config {
+ LOGIN_REQUIRED => 0,
+ MAPIT_URL => 'http://mapit.uk/'
+}, sub {
+ subtest 'LOGIN_REQUIRED = 0 behaves correctly' => sub {
+ foreach my $url (@urls) {
+ $mech->get_ok($url);
+ is $mech->res->code, 200, "got 200 for page";
+ is $mech->res->previous, undef, 'No redirect';
+ }
+ };
+};
+
+
+FixMyStreet::override_config {
+ LOGIN_REQUIRED => 1,
+ MAPIT_URL => 'http://mapit.uk/'
+}, sub {
+ subtest 'LOGIN_REQUIRED = 1 redirects to /auth if not logged in' => sub {
+ foreach my $url (@urls) {
+ $mech->get_ok($url);
+ is $mech->res->code, 200, "got 200 for final destination";
+ is $mech->res->previous->code, 302, "got 302 for redirect";
+ is $mech->uri->path, '/auth';
+ }
+ };
+
+ subtest 'LOGIN_REQUIRED = 1 does not redirect if logged in' => sub {
+ $mech->log_in_ok('user@example.org');
+ foreach my $url (@urls) {
+ $mech->get_ok($url);
+ is $mech->res->code, 200, "got 200 for final destination";
+ is $mech->res->previous, undef, 'No redirect';
+ }
+ $mech->log_out_ok;
+ };
+
+ subtest 'LOGIN_REQUIRED = 1 allows whitelisted URLs' => sub {
+ my @whitelist = (
+ '/auth',
+ '/js/translation_strings.en-gb.js'
+ );
+
+ foreach my $url (@whitelist) {
+ $mech->get_ok($url);
+ is $mech->res->code, 200, "got 200 for final destination";
+ is $mech->res->previous, undef, 'No redirect';
+ }
+ };
+
+ subtest 'LOGIN_REQUIRED = 1 404s blacklisted URLs' => sub {
+ my @blacklist = (
+ '/offline/appcache',
+ );
+
+ foreach my $url (@blacklist) {
+ $mech->get($url);
+ ok !$mech->res->is_success(), "want a bad response";
+ is $mech->res->code, 404, "got 404";
+ }
+ };
+};
+
+done_testing();
diff --git a/t/app/controller/rss.t b/t/app/controller/rss.t
index bec504760..5ec7bfae7 100644
--- a/t/app/controller/rss.t
+++ b/t/app/controller/rss.t
@@ -1,7 +1,3 @@
-use strict;
-use warnings;
-use Test::More;
-
use FixMyStreet::TestMech;
use FixMyStreet::App;
@@ -197,6 +193,4 @@ subtest "check RSS feeds on cobrand have correct URLs for non-cobrand reports" =
$mech->content_contains($expected2, 'cobrand area report point to cobrand url');
};
-$mech->delete_user( $user1 );
-
done_testing();
diff --git a/t/app/controller/templates/about/homepage.html b/t/app/controller/templates/about/homepage.html
new file mode 100644
index 000000000..c8d5c1eb3
--- /dev/null
+++ b/t/app/controller/templates/about/homepage.html
@@ -0,0 +1,3 @@
+<p>
+ THIS IS A STATIC FRONT PAGE.
+</p>
diff --git a/t/app/controller/token.t b/t/app/controller/token.t
index ac88f4f7a..858838865 100644
--- a/t/app/controller/token.t
+++ b/t/app/controller/token.t
@@ -1,8 +1,3 @@
-use strict;
-use warnings;
-use Test::More;
-use utf8;
-
use FixMyStreet::TestMech;
use FixMyStreet::App;
diff --git a/t/app/helpers/send_email.t b/t/app/helpers/send_email.t
index 66b771292..a692fb6bc 100644
--- a/t/app/helpers/send_email.t
+++ b/t/app/helpers/send_email.t
@@ -1,20 +1,10 @@
-use strict;
-use warnings;
-use utf8;
-
package FixMyStreet::Cobrand::Tester;
use parent 'FixMyStreet::Cobrand::Default';
sub path_to_email_templates { [ FixMyStreet->path_to( 't', 'app', 'helpers', 'emails') ] }
package main;
-BEGIN {
- use FixMyStreet;
- FixMyStreet->test_mode(1);
-}
-
use Email::MIME;
-use Test::More;
use Test::LongString;
use Catalyst::Test 'FixMyStreet::App';
diff --git a/t/app/load_general_config.t b/t/app/load_general_config.t
index 16ca2fc54..a34a5ad69 100644
--- a/t/app/load_general_config.t
+++ b/t/app/load_general_config.t
@@ -1,10 +1,9 @@
-use strict;
-use warnings;
+use FixMyStreet::Test;
-use Test::More tests => 2;
+use_ok 'FixMyStreet';
-use_ok 'FixMyStreet::App';
-
-is FixMyStreet::App->config->{GAZE_URL},
+is(FixMyStreet->config('GAZE_URL'),
'https://gaze.mysociety.org/gaze',
- "check that known config param is loaded";
+ "check that known config param is loaded");
+
+done_testing();
diff --git a/t/app/model/alert_type.t b/t/app/model/alert_type.t
index 5e4fcec0a..c978b5ccf 100644
--- a/t/app/model/alert_type.t
+++ b/t/app/model/alert_type.t
@@ -1,10 +1,5 @@
-use strict;
-use warnings;
-use Test::More;
use FixMyStreet::TestMech;
-mySociety::Locale::gettext_domain( 'FixMyStreet' );
-
my $mech = FixMyStreet::TestMech->new();
# this is the easiest way to make sure we're not going
@@ -507,8 +502,5 @@ subtest "correct i18n-ed summary for state of closed" => sub {
};
END {
- $mech->delete_user($user) if $user;
- $mech->delete_user($user2) if $user2;
- $mech->delete_user($user3) if $user3;
done_testing();
}
diff --git a/t/app/model/comment.t b/t/app/model/comment.t
index e83d795fc..3f30b3a1e 100644
--- a/t/app/model/comment.t
+++ b/t/app/model/comment.t
@@ -1,10 +1,4 @@
-use strict;
-use warnings;
-
-use Test::More tests => 2;
-
-use FixMyStreet;
-use FixMyStreet::DB;
+use FixMyStreet::Test;
my $comment_rs = FixMyStreet::DB->resultset('Comment');
@@ -23,3 +17,4 @@ my $comment = $comment_rs->new(
is $comment->confirmed, undef, 'inflating null confirmed ok';
is $comment->created, undef, 'inflating null confirmed ok';
+done_testing();
diff --git a/t/app/model/db.t b/t/app/model/db.t
index bebd68f0b..191058bbe 100644
--- a/t/app/model/db.t
+++ b/t/app/model/db.t
@@ -1,7 +1,4 @@
-use strict;
-use warnings;
-
-use Test::More;
+use FixMyStreet::Test;
use_ok 'FixMyStreet::App::Model::DB';
diff --git a/t/app/model/defecttype.t b/t/app/model/defecttype.t
index 0f66ac684..4f380db59 100644
--- a/t/app/model/defecttype.t
+++ b/t/app/model/defecttype.t
@@ -1,29 +1,35 @@
-use strict;
-use warnings;
-use Test::More;
-
use FixMyStreet::App;
use FixMyStreet::TestMech;
+use JSON::MaybeXS;
+
my $mech = FixMyStreet::TestMech->new;
+my $area_id = 2237;
-my $oxfordshire = $mech->create_body_ok(2237, 'Oxfordshire County Council', id => 2237);
+my $oxfordshire = $mech->create_body_ok($area_id, 'Oxfordshire County Council');
+my $other_body = $mech->create_body_ok($area_id, 'Some Other Council');
my $potholes_contact = $mech->create_contact_ok( body_id => $oxfordshire->id, category => 'Potholes', email => 'potholes@example.com' );
my $traffic_lights_contact =$mech->create_contact_ok( body_id => $oxfordshire->id, category => 'Traffic lights', email => 'lights@example.com' );
+my $pavements_contact =$mech->create_contact_ok( body_id => $oxfordshire->id, category => 'Pavements', email => 'pavements@example.com' );
my $potholes_defect_type = FixMyStreet::App->model('DB::DefectType')->find_or_create(
{
- body_id => 2237,
- name => 'Potholes',
- description => 'This defect type is to do with potholes'
+ body_id => $oxfordshire->id,
+ name => 'Potholes and Pavements',
+ description => 'This defect type is to do with potholes and Pavements'
}
);
+$potholes_defect_type->set_extra_metadata('defect_code' => 123);
$potholes_defect_type->contact_defect_types->find_or_create({
contact_id => $potholes_contact->id,
});
+$potholes_defect_type->contact_defect_types->find_or_create({
+ contact_id => $pavements_contact->id,
+});
+$potholes_defect_type->update();
my $general_defect_type = FixMyStreet::App->model('DB::DefectType')->find_or_create(
{
- body_id => 2237,
+ body_id => $oxfordshire->id,
name => 'All categories',
description => 'This defect type is for all categories'
}
@@ -59,9 +65,61 @@ subtest 'Problem->defect_types behaves correctly' => sub {
is $problem->defect_types->first->name, $general_defect_type->name, 'Correct defect type is returned for Traffic lights category';
};
+subtest 'by_categories returns all defect types grouped by category' => sub {
+ my @contacts = FixMyStreet::DB->resultset('Contact')->not_deleted->search( { body_id => [ $oxfordshire->id ] } )->all;
+ my $defect_types = FixMyStreet::App->model('DB::DefectType')->by_categories($area_id, @contacts);
+ my $potholes = decode_json($defect_types->{Potholes});
+ my $traffic_lights = decode_json($defect_types->{'Traffic lights'});
+ my $pavements = decode_json($defect_types->{Pavements});
-END {
- $mech->delete_body( $oxfordshire );
+ is scalar @$potholes, 2, 'Potholes have 2 defect types';
+ is scalar @$traffic_lights, 1, 'Traffic lights have 1 defect type';
+ is scalar @$pavements, 2, 'Pavements have 2 defect types';
+
+ is @$potholes[1]->{extra}->{defect_code}, 123, 'Defect code is present';
+};
+
+subtest 'by_categories returns defect types for an area with multiple bodies' => sub {
+ FixMyStreet::App->model('DB::DefectType')->find_or_create(
+ {
+ body_id => $other_body->id,
+ name => 'All categories',
+ description => 'This defect type is for all categories'
+ }
+ );
+
+ my @contacts = FixMyStreet::DB->resultset('Contact')->not_deleted->search( { body_id => [ $oxfordshire->id ] } )->all;
+ my $defect_types = FixMyStreet::App->model('DB::DefectType')->by_categories($area_id, @contacts);
+ my $potholes = decode_json($defect_types->{Potholes});
+ my $traffic_lights = decode_json($defect_types->{'Traffic lights'});
+ my $pavements = decode_json($defect_types->{Pavements});
+ is scalar @$potholes, 3, 'Potholes have 3 defect types';
+ is scalar @$traffic_lights, 2, 'Traffic lights have 2 defect type';
+ is scalar @$pavements, 3, 'Pavements have 3 defect types';
+};
+
+subtest 'by_categories encodes HTML entities' => sub {
+ my $apostrophe_defect_type = FixMyStreet::App->model('DB::DefectType')->find_or_create(
+ {
+ body_id => $oxfordshire->id,
+ name => 'This defect type\'s name has an apostrophe',
+ description => 'This defect type is for all categories'
+ }
+ );
+ $apostrophe_defect_type->set_extra_metadata('defect_code' => 'Here\'s an apostrophe');
+ $apostrophe_defect_type->update();
+
+ my @contacts = FixMyStreet::DB->resultset('Contact')->not_deleted->search( { body_id => [ $oxfordshire->id ] } )->all;
+ my $defect_types = FixMyStreet::App->model('DB::DefectType')->by_categories($area_id, @contacts);
+ my $traffic_lights = decode_json($defect_types->{'Traffic lights'});
+ my $defect_type = @$traffic_lights[2];
+ is $defect_type->{name}, 'This defect type&#39;s name has an apostrophe';
+ is $defect_type->{extra}->{defect_code}, 'Here&#39;s an apostrophe';
+
+};
+
+
+END {
done_testing();
}
diff --git a/t/app/model/extra.t b/t/app/model/extra.t
index 3b46ce128..a5e3e3574 100644
--- a/t/app/model/extra.t
+++ b/t/app/model/extra.t
@@ -1,14 +1,8 @@
-use strict;
-use warnings;
-use Test::More;
-use utf8;
+use FixMyStreet::Test;
-use FixMyStreet::DB;
-use Data::Dumper;
use DateTime;
-my $db = FixMyStreet::DB->connect;
-$db->txn_begin;
+my $db = FixMyStreet::DB->schema;
my $body = $db->resultset('Body')->create({ name => 'ExtraTestingBody' });
@@ -19,8 +13,7 @@ sub get_test_contact {
category => "Testing ${serial}",
body => $body,
email => 'test@example.com',
- confirmed => 1,
- deleted => 0,
+ state => 'confirmed',
editor => 'test script',
note => 'test script',
whenedited => DateTime->now(),
@@ -105,5 +98,46 @@ subtest 'Default hash layout' => sub {
};
};
-$db->txn_rollback;
+subtest 'Get named field values' => sub {
+ my $user = $db->resultset('User')->create({
+ email => 'test-moderation@example.com',
+ name => 'Test User'
+ });
+ my $report = $db->resultset('Problem')->create(
+ {
+ postcode => 'BR1 3SB',
+ bodies_str => "",
+ areas => "",
+ category => 'Other',
+ title => 'Good bad good',
+ detail => 'Good bad bad bad good bad',
+ used_map => 't',
+ name => 'Test User 2',
+ anonymous => 'f',
+ state => 'confirmed',
+ lang => 'en-gb',
+ service => '',
+ cobrand => 'default',
+ latitude => '51.4129',
+ longitude => '0.007831',
+ user_id => $user->id,
+ });
+
+ $report->push_extra_fields(
+ {
+ name => "field1",
+ description => "This is a test field",
+ value => "value 1",
+ },
+ {
+ name => "field 2",
+ description => "Another test",
+ value => "this is a test value",
+ }
+ );
+
+ is $report->get_extra_field_value("field1"), "value 1", "field1 has correct value";
+ is $report->get_extra_field_value("field 2"), "this is a test value", "field 2 has correct value";
+};
+
done_testing();
diff --git a/t/app/model/moderation.t b/t/app/model/moderation.t
index 8fa333db4..973b9a70a 100644
--- a/t/app/model/moderation.t
+++ b/t/app/model/moderation.t
@@ -1,11 +1,7 @@
-use strict;
-use warnings;
-use Test::More;
+use FixMyStreet::Test;
use Test::Exception;
-use utf8;
use FixMyStreet::DB;
-use Data::Dumper;
use DateTime;
my $dt = DateTime->now;
diff --git a/t/app/model/photoset.t b/t/app/model/photoset.t
index 54530adfb..4aa5c8992 100644
--- a/t/app/model/photoset.t
+++ b/t/app/model/photoset.t
@@ -1,8 +1,5 @@
-use strict;
-use warnings;
-use Test::More;
+use FixMyStreet::Test;
use Test::Exception;
-use utf8;
use FixMyStreet::DB;
use DateTime;
@@ -13,7 +10,7 @@ my $dt = DateTime->now;
my $UPLOAD_DIR = tempdir( CLEANUP => 1 );
-my $db = FixMyStreet::DB->storage->schema;
+my $db = FixMyStreet::DB->schema;
my $user = $db->resultset('User')->find_or_create({
name => 'Bob', email => 'bob@example.com',
@@ -23,8 +20,6 @@ FixMyStreet::override_config {
UPLOAD_DIR => $UPLOAD_DIR,
}, sub {
-$db->txn_begin;
-
my $image_path = path('t/app/controller/sample.jpg');
sub make_report {
@@ -74,8 +69,6 @@ subtest 'Photoset with 3 referenced photo' => sub {
is $photoset->num_images, 3, 'Found 3 images';
};
-$db->txn_rollback;
-
};
done_testing();
diff --git a/t/app/model/problem.t b/t/app/model/problem.t
index 6b1be0a76..efc9057da 100644
--- a/t/app/model/problem.t
+++ b/t/app/model/problem.t
@@ -1,17 +1,9 @@
-use strict;
-use warnings;
-
-use Test::More;
-
use FixMyStreet::TestMech;
use FixMyStreet;
use FixMyStreet::App;
use FixMyStreet::DB;
-use mySociety::Locale;
use Sub::Override;
-mySociety::Locale::gettext_domain('FixMyStreet');
-
my $problem_rs = FixMyStreet::DB->resultset('Problem');
my $problem = $problem_rs->new(
@@ -122,15 +114,6 @@ for my $test (
}
},
{
- desc => 'bad category',
- changed => {
- category => '-- Pick a property type --',
- },
- errors => {
- category => 'Please choose a property type',
- }
- },
- {
desc => 'correct category',
changed => {
category => 'Horse!',
@@ -430,7 +413,7 @@ for my $contact ( {
category => 'Graffiti',
email => 'highways@example.net',
}, {
- confirmed => 0,
+ state => 'unconfirmed',
body_id => $body_ids{2636}, # Isle of Wight
category => 'potholes',
email => '2636@example.com',
@@ -531,7 +514,6 @@ foreach my $test ( {
my $override = {
ALLOWED_COBRANDS => [ 'fixmystreet' ],
BASE_URL => 'http://www.fixmystreet.com',
- MAPIT_URL => 'http://mapit.mysociety.org/',
};
if ( $test->{cobrand} && $test->{cobrand} =~ /hart/ ) {
$override->{ALLOWED_COBRANDS} = [ 'hart' ];
@@ -607,8 +589,6 @@ foreach my $test ( {
subtest 'check can set mutiple emails as a single contact' => sub {
my $override = {
ALLOWED_COBRANDS => [ 'fixmystreet' ],
- BASE_URL => 'http://www.fixmystreet.com',
- MAPIT_URL => 'http://mapit.mysociety.org/',
};
my $contact = {
@@ -793,6 +773,8 @@ subtest 'check duplicate reports' => sub {
$problem1->set_extra_metadata(duplicate_of => $problem2->id);
$problem1->state('duplicate');
$problem1->update;
+ $problem2->set_extra_metadata(duplicates => [ $problem1->id ]);
+ $problem2->update;
is $problem1->duplicate_of->title, $problem2->title, 'problem1 returns correct problem from duplicate_of';
is scalar @{ $problem2->duplicates }, 1, 'problem2 has correct number of duplicates';
@@ -883,11 +865,5 @@ subtest 'return how many days ago a problem was reported' => sub {
};
END {
- $problem->comments->delete if $problem;
- $problem->delete if $problem;
- $mech->delete_user( $user ) if $user;
-
- $mech->delete_body($_) for @bodies;
-
done_testing();
}
diff --git a/t/app/model/questionnaire.t b/t/app/model/questionnaire.t
index 945a64633..169895f95 100644
--- a/t/app/model/questionnaire.t
+++ b/t/app/model/questionnaire.t
@@ -1,8 +1,3 @@
-use strict;
-use warnings;
-
-use Test::More;
-
use FixMyStreet;
use FixMyStreet::TestMech;
@@ -113,6 +108,4 @@ for my $test (
}
}
-$mech->delete_user( $user );
-
done_testing();
diff --git a/t/app/model/rabx_column.t b/t/app/model/rabx_column.t
index 607d578ce..9232a92f0 100644
--- a/t/app/model/rabx_column.t
+++ b/t/app/model/rabx_column.t
@@ -1,7 +1,4 @@
-use strict;
-use warnings;
-
-use Test::More;
+use FixMyStreet::Test;
use_ok "FixMyStreet::DB::RABXColumn";
diff --git a/t/app/model/responsepriority.t b/t/app/model/responsepriority.t
new file mode 100644
index 000000000..03c5bccae
--- /dev/null
+++ b/t/app/model/responsepriority.t
@@ -0,0 +1,103 @@
+use strict;
+use warnings;
+use Test::More;
+
+use FixMyStreet::App;
+use FixMyStreet::TestMech;
+use JSON::MaybeXS;
+
+my $mech = FixMyStreet::TestMech->new;
+my $area_id = 2237;
+
+my $oxfordshire = $mech->create_body_ok($area_id, 'Oxfordshire County Council');
+my $other_body = $mech->create_body_ok($area_id, 'Some Other Council');
+my $potholes_contact = $mech->create_contact_ok( body_id => $oxfordshire->id, category => 'Potholes', email => 'potholes@example.com' );
+my $traffic_lights_contact =$mech->create_contact_ok( body_id => $oxfordshire->id, category => 'Traffic lights', email => 'lights@example.com' );
+
+my $potholes_response_priority = FixMyStreet::App->model('DB::ResponsePriority')->find_or_create(
+ {
+ body_id => $oxfordshire->id,
+ name => 'Potholes',
+ description => 'This priority is to do with potholes'
+ }
+);
+$potholes_response_priority->contact_response_priorities->find_or_create({
+ contact_id => $potholes_contact->id,
+});
+
+my $general_response_priority = FixMyStreet::App->model('DB::ResponsePriority')->find_or_create(
+ {
+ body_id => $oxfordshire->id,
+ name => 'All categories',
+ description => 'This priority is for all categories'
+ }
+);
+
+subtest 'for_bodies returns correct results' => sub {
+ my $priorities = FixMyStreet::App->model('DB::ResponsePriority')->for_bodies(
+ [ $oxfordshire->id ],
+ 'Potholes'
+ );
+
+ is $priorities->count, 2, 'Both priorities are included for Potholes category';
+
+ $priorities = FixMyStreet::App->model('DB::ResponsePriority')->for_bodies(
+ [ $oxfordshire->id ],
+ 'Traffic lights'
+ );
+
+ is $priorities->count, 1, 'Only 1 priority is included for Traffic lights category';
+ is $priorities->first->name, $general_response_priority->name, 'Correct priority is returned for Traffic lights category';
+};
+
+subtest 'by_categories returns allresponse priorities grouped by category' => sub {
+ my @contacts = FixMyStreet::DB->resultset('Contact')->not_deleted->search( { body_id => [ $oxfordshire->id ] } )->all;
+ my $priorities = FixMyStreet::App->model('DB::ResponsePriority')->by_categories($area_id, @contacts);
+ my $potholes = decode_json($priorities->{Potholes});
+ my $traffic_lights = decode_json($priorities->{'Traffic lights'});
+
+ is scalar @$potholes, 2, 'Potholes have 2 defect types';
+ is scalar @$traffic_lights, 1, 'Traffic lights have 1 defect type';
+};
+
+subtest 'by_categories returns all response priorities for an area with multiple bodies' => sub {
+ my $other_response_priority = FixMyStreet::App->model('DB::ResponsePriority')->find_or_create(
+ {
+ body_id => $other_body->id,
+ name => 'All categories',
+ description => 'This priority is for all categories'
+ }
+ );
+
+ my @contacts = FixMyStreet::DB->resultset('Contact')->not_deleted->search( { body_id => [ $oxfordshire->id ] } )->all;
+ my $priorities = FixMyStreet::App->model('DB::ResponsePriority')->by_categories($area_id, @contacts);
+ my $potholes = decode_json($priorities->{Potholes});
+ my $traffic_lights = decode_json($priorities->{'Traffic lights'});
+
+ is scalar @$potholes, 3, 'Potholes have 3 defect types';
+ is scalar @$traffic_lights, 2, 'Traffic lights have 2 defect types';
+};
+
+subtest 'by_categories encodes HTML entities' => sub {
+ FixMyStreet::App->model('DB::ResponsePriority')->find_or_create(
+ {
+ body_id => $other_body->id,
+ name => 'This priority\'s name has an apostrophe',
+ description => 'This priority is for all categories'
+ }
+ );
+
+ my @contacts = FixMyStreet::DB->resultset('Contact')->not_deleted->search( { body_id => [ $oxfordshire->id ] } )->all;
+ my $priorities = FixMyStreet::App->model('DB::ResponsePriority')->by_categories($area_id, @contacts);
+
+ my $traffic_lights = decode_json($priorities->{'Traffic lights'});
+ use Data::Dumper;
+ my $priority = @$traffic_lights[2];
+ is $priority->{name}, 'This priority&#39;s name has an apostrophe';
+};
+
+END {
+ $mech->delete_body( $other_body );
+ $mech->delete_body( $oxfordshire );
+ done_testing();
+}
diff --git a/t/app/model/state.t b/t/app/model/state.t
new file mode 100644
index 000000000..35f3d4fb3
--- /dev/null
+++ b/t/app/model/state.t
@@ -0,0 +1,83 @@
+use FixMyStreet::Test;
+use FixMyStreet::Cobrand;
+
+my $rs = FixMyStreet::DB->resultset('State');
+my $trans_rs = FixMyStreet::DB->resultset('Translation');
+
+for (
+ { label => 'in progress', lang => 'de' },
+ { label => 'investigating', lang => 'fr' },
+ { label => 'duplicate', lang => 'de' },
+) {
+ my $lang = $_->{lang};
+ my $obj = $rs->find({ label => $_->{label} });
+ $trans_rs->create({ tbl => 'state', col => 'name', object_id => $obj->id,
+ lang => $lang, msgstr => "$lang $_->{label}" });
+}
+$trans_rs->create({ tbl => 'state', col => 'name', object_id => -1, lang => 'en-gb', msgstr => "Open Eng trans" });
+
+$rs->clear;
+
+my $states = $rs->states;
+my %states = map { $_->label => $_ } @$states;
+
+subtest 'Open/closed database data is as expected' => sub {
+ my $open = $rs->open;
+ is @$open, 5;
+ my $closed = $rs->closed;
+ is @$closed, 5;
+};
+
+# No language set at this point
+
+is $rs->display('investigating'), 'Investigating';
+is $rs->display('bad'), 'bad';
+is $rs->display('confirmed'), 'Open';
+is $rs->display('closed'), 'Closed';
+is $rs->display('fixed - council'), 'Fixed - Council';
+is $rs->display('fixed - user'), 'Fixed - User';
+is $rs->display('fixed'), 'Fixed';
+
+subtest 'default name is untranslated' => sub {
+ is $states{'in progress'}->name, 'In progress';
+ is $states{'in progress'}->msgstr, 'In progress';
+ is $states{'action scheduled'}->name, 'Action scheduled';
+ is $states{'action scheduled'}->msgstr, 'Action scheduled';
+};
+
+subtest 'msgstr gets translated if available when the language changes' => sub {
+ FixMyStreet::DB->schema->lang('en-gb');
+ is $states{confirmed}->name, 'Open';
+ is $states{confirmed}->msgstr, 'Open Eng trans';
+ FixMyStreet::DB->schema->lang('de');
+ is $states{'in progress'}->name, 'In progress';
+ is $states{'in progress'}->msgstr, 'de in progress';
+ is $states{'investigating'}->name, 'Investigating';
+ is $states{'investigating'}->msgstr, 'Investigating';
+ is $states{'unable to fix'}->name, 'No further action';
+ is $states{'unable to fix'}->msgstr, 'No further action';
+};
+
+is_deeply [ sort FixMyStreet::DB::Result::Problem->open_states ],
+ ['action scheduled', 'confirmed', 'in progress', 'investigating', 'planned'], 'open states okay';
+is_deeply [ sort FixMyStreet::DB::Result::Problem->closed_states ],
+ ['closed', 'duplicate', 'internal referral', 'not responsible', 'unable to fix'], 'closed states okay';
+is_deeply [ sort FixMyStreet::DB::Result::Problem->fixed_states ],
+ ['fixed', 'fixed - council', 'fixed - user'], 'fixed states okay';
+
+FixMyStreet::override_config {
+ LANGUAGES => [ 'en-gb,English,en_GB', 'nb,Norwegian,nb_NO' ],
+}, sub {
+ subtest 'translation of open works both ways (file/db)' => sub {
+ # Note at this point the states have been cached
+ my $cobrand = FixMyStreet::Cobrand->get_class_for_moniker('default')->new;
+ my $lang = $cobrand->set_lang_and_domain('nb', 1, FixMyStreet->path_to('locale')->stringify);
+ is $lang, 'nb';
+ is $rs->display('confirmed'), "Ã…pen";
+ $lang = $cobrand->set_lang_and_domain('en-gb', 1, FixMyStreet->path_to('locale')->stringify);
+ is $lang, 'en-gb';
+ is $rs->display('confirmed'), "Open Eng trans";
+ };
+};
+
+done_testing();
diff --git a/t/app/model/token.t b/t/app/model/token.t
index e31901187..60b170a26 100644
--- a/t/app/model/token.t
+++ b/t/app/model/token.t
@@ -1,7 +1,4 @@
-use strict;
-use warnings;
-
-use Test::More;
+use FixMyStreet::Test;
use FixMyStreet;
use FixMyStreet::DB;
diff --git a/t/app/model/user.t b/t/app/model/user.t
index d4115d586..5a9c898a2 100644
--- a/t/app/model/user.t
+++ b/t/app/model/user.t
@@ -1,8 +1,3 @@
-use strict;
-use warnings;
-
-use Test::More;
-
use FixMyStreet::TestMech;
use FixMyStreet::DB;
@@ -30,6 +25,35 @@ is $problem->user->latest_anonymity, 0, "User's last update was not anonyous";
create_update($problem, anonymous => 't');
is $problem->user->latest_anonymity, 1, "User's last update was anonymous";
+subtest "Sign user up for alerts" => sub {
+ my $user = $problem->user;
+
+ my $alert_exists = $user->alert_for_problem( $problem->id );
+ is !defined( $alert_exists ), 1, "No current alerts exist";
+
+ my $options = {
+ cobrand => 'default',
+ lang => 'en-gb',
+ };
+ $user->create_alert($problem->id, $options);
+ my $alert = $user->alert_for_problem( $problem->id );
+
+ is defined( $alert ), 1, "User is signed up for alerts";
+ is $alert->confirmed, 1, "Alert is confirmed";
+
+ $alert->delete();
+
+ $user->alerts->create({
+ alert_type => 'new_updates',
+ parameter => $problem->id,
+ });
+
+ $user->create_alert($problem->id, $options);
+
+ my $new_alert = $user->alert_for_problem( $problem->id );
+ is $alert->confirmed, 1, "Already created alert is confirmed";
+};
+
FixMyStreet::override_config {
ALLOWED_COBRANDS => [ { fixmystreet => '.' } ],
MAPIT_URL => 'http://mapit.uk/',
@@ -40,7 +64,6 @@ FixMyStreet::override_config {
};
END {
- $mech->delete_user( $problem->user ) if $problem;
done_testing();
}
diff --git a/t/app/model/user_planned_report.t b/t/app/model/user_planned_report.t
index 95a76615e..e51552e5c 100644
--- a/t/app/model/user_planned_report.t
+++ b/t/app/model/user_planned_report.t
@@ -1,8 +1,3 @@
-use strict;
-use warnings;
-
-use Test::More;
-
use FixMyStreet::TestMech;
use FixMyStreet::DB;
@@ -19,6 +14,7 @@ is $user->planned_reports, 0;
$user->add_to_planned_reports($problem);
is $user->active_planned_reports, 1;
is $user->planned_reports, 1;
+is $user->is_planned_report($problem), 1;
$user->add_to_planned_reports($problem);
is $user->active_planned_reports, 1;
@@ -27,10 +23,14 @@ is $user->planned_reports, 1;
$user->remove_from_planned_reports($problem);
is $user->active_planned_reports, 0;
is $user->planned_reports, 1;
+$user->discard_changes;
+is $user->is_planned_report($problem), 0;
$user->add_to_planned_reports($problem);
is $user->active_planned_reports, 1;
is $user->planned_reports, 2;
+$user->discard_changes;
+is $user->is_planned_report($problem), 1;
$user2->add_to_planned_reports($problem);
is $user->active_planned_reports, 0;
@@ -45,8 +45,3 @@ is $user2->active_planned_reports, 0;
is $user2->planned_reports, 1;
done_testing();
-
-END {
- $mech->delete_user($user);
- $mech->delete_user($user2);
-}
diff --git a/t/app/script/archive_old_enquiries.t b/t/app/script/archive_old_enquiries.t
index e87d6a0f8..e1adeec85 100644
--- a/t/app/script/archive_old_enquiries.t
+++ b/t/app/script/archive_old_enquiries.t
@@ -1,11 +1,6 @@
-use strict;
-use warnings;
-use Test::More;
use FixMyStreet::TestMech;
use FixMyStreet::Script::ArchiveOldEnquiries;
-mySociety::Locale::gettext_domain( 'FixMyStreet' );
-
my $mech = FixMyStreet::TestMech->new();
$mech->clear_emails_ok;
@@ -15,8 +10,10 @@ my $opts = {
};
my $user = $mech->create_user_ok('test@example.com', name => 'Test User');
-my $oxfordshire = $mech->create_body_ok(2237, 'Oxfordshire County Council', id => 2237);
-my $west_oxon = $mech->create_body_ok(2420, 'West Oxfordshire District Council', id => 2420);
+my $oxfordshire = $mech->create_body_ok(2237, 'Oxfordshire County Council');
+my $west_oxon = $mech->create_body_ok(2420, 'West Oxfordshire District Council');
+
+$opts->{body} = $oxfordshire->id;
subtest 'sets reports to the correct status' => sub {
FixMyStreet::override_config {
@@ -156,8 +153,3 @@ subtest 'user with new reports does not get email' => sub {
};
done_testing();
-
-END {
- $mech->delete_user($user);
- $mech->delete_body($oxfordshire);
-}
diff --git a/t/app/sendreport/angus.t b/t/app/sendreport/angus.t
index a19ee483a..41379b4ff 100644
--- a/t/app/sendreport/angus.t
+++ b/t/app/sendreport/angus.t
@@ -1,9 +1,4 @@
-use strict;
-use warnings;
-
-use FixMyStreet::DB;
-
-use Test::More;
+use FixMyStreet::Test;
use_ok("FixMyStreet::SendReport::Angus");
diff --git a/t/app/sendreport/email.t b/t/app/sendreport/email.t
index 471145dcb..6b292725b 100644
--- a/t/app/sendreport/email.t
+++ b/t/app/sendreport/email.t
@@ -1,13 +1,7 @@
-use strict;
-use warnings;
-
-use Test::More;
-
use FixMyStreet;
use FixMyStreet::DB;
use FixMyStreet::SendReport::Email;
use FixMyStreet::TestMech;
-use mySociety::Locale;
ok( my $mech = FixMyStreet::TestMech->new, 'Created mech object' );
@@ -61,7 +55,7 @@ foreach my $test ( {
) {
subtest $test->{desc} => sub {
my $e = FixMyStreet::SendReport::Email->new;
- $contact->update( { confirmed => 0 } ) if $test->{unconfirmed};
+ $contact->update( { state => 'unconfirmed' } ) if $test->{unconfirmed};
$contact->update( { note => $test->{note} } ) if $test->{note};
$e->add_body( $body ) if $test->{add_council};
is $e->build_recipient_list( $row, {} ), $test->{count}, 'correct recipient list count';
@@ -74,7 +68,3 @@ foreach my $test ( {
}
done_testing();
-
-END {
- $mech->delete_body($body);
-}
diff --git a/t/app/sendreport/inspection_required.t b/t/app/sendreport/inspection_required.t
index f9d40d39f..c8cb30592 100644
--- a/t/app/sendreport/inspection_required.t
+++ b/t/app/sendreport/inspection_required.t
@@ -1,19 +1,16 @@
-use strict;
-use warnings;
-
-use Test::More;
-
use FixMyStreet;
use FixMyStreet::DB;
use FixMyStreet::TestMech;
use FixMyStreet::SendReport::Email;
-use mySociety::Locale;
ok( my $mech = FixMyStreet::TestMech->new, 'Created mech object' );
+use_ok 'FixMyStreet::Cobrand';
+FixMyStreet::DB->schema->cobrand(FixMyStreet::Cobrand::FixMyStreet->new());
+
my $user = $mech->create_user_ok( 'user@example.com' );
-my $body = $mech->create_body_ok( 2237, 'Oxfordshire County Council', id => 2237 );
+my $body = $mech->create_body_ok( 2237, 'Oxfordshire County Council');
# $body->update({ send_method => 'Email' });
my $contact = $mech->create_contact_ok(
@@ -31,13 +28,13 @@ my @reports = $mech->create_problems_for_body( 1, $body->id, 'Test', {
});
my $report = $reports[0];
-subtest 'Report isn’t sent if uninspected' => sub {
+subtest "Report isn't sent if uninspected" => sub {
$mech->clear_emails_ok;
FixMyStreet::DB->resultset('Problem')->send_reports();
$mech->email_count_is( 0 );
- is $report->whensent, undef, 'Report hasn’t been sent';
+ is $report->whensent, undef, "Report hasn't been sent";
};
subtest 'Report is sent when inspected' => sub {
@@ -72,7 +69,7 @@ subtest 'Uninspected report is sent when made by trusted user' => sub {
is $report->get_extra_metadata('inspected'), undef, 'Report not marked as inspected';
};
-subtest 'Uninspected report isn’t sent when user rep is too low' => sub {
+subtest "Uninspected report isn't sent when user rep is too low" => sub {
$mech->clear_emails_ok;
$report->whensent( undef );
$report->update;
@@ -88,7 +85,7 @@ subtest 'Uninspected report isn’t sent when user rep is too low' => sub {
$report->discard_changes;
$mech->email_count_is( 0 );
- is $report->whensent, undef, 'Report hasn’t been sent';
+ is $report->whensent, undef, "Report hasn't been sent";
};
subtest 'Uninspected report is sent when user rep is high enough' => sub {
@@ -104,8 +101,3 @@ subtest 'Uninspected report is sent when user rep is high enough' => sub {
};
done_testing();
-
-END {
- $mech->delete_user($user);
- $mech->delete_body($body);
-}
diff --git a/t/app/sendreport/open311.t b/t/app/sendreport/open311.t
index c4c17577c..32564dbd8 100644
--- a/t/app/sendreport/open311.t
+++ b/t/app/sendreport/open311.t
@@ -1,7 +1,5 @@
-use strict;
-use warnings;
+use FixMyStreet::Test;
-use Test::More;
use Test::Deep;
use Open311;
@@ -159,20 +157,19 @@ sub test_overrides {
FixMyStreet::override_config {
ALLOWED_COBRANDS => ['fixmystreet', 'oxfordshire', 'bromley', 'westberkshire', 'greenwich'],
}, sub {
- my $db = FixMyStreet::DB->storage->schema;
- $db->txn_begin;
+ my $db = FixMyStreet::DB->schema;
+ #$db->txn_begin;
my $params = { id => $input->{body_id}, name => $input->{body_name} };
my $body = $db->resultset('Body')->find_or_create($params);
- $body->body_areas->create({ area_id => $input->{body_id} });
+ $body->body_areas->find_or_create({ area_id => $input->{body_id} });
ok $body, "found/created body " . $input->{body_name};
$body->update({ can_be_devolved => 1 });
my $contact = $body->contacts->find_or_create(
- confirmed => 1,
+ state => 'confirmed',
email => 'ZZ',
category => 'ZZ',
- deleted => 0,
editor => 'test suite',
note => '',
whenedited => DateTime->now,
@@ -182,7 +179,7 @@ sub test_overrides {
);
$contact->update({ send_method => 'Open311', endpoint => 'http://example.com/open311' });
- my $user = $db->resultset('User')->create( {
+ my $user = $db->resultset('User')->find_or_create( {
name => 'Fred Bloggs',
email => TEST_USER_EMAIL,
password => 'dummy',
@@ -215,7 +212,7 @@ sub test_overrides {
or diag Dumper( Open311->_get_test_data );
Open311->_reset_test_data();
- $db->txn_rollback;
+ #$db->txn_rollback;
};
}
}
diff --git a/t/app/uri_for.t b/t/app/uri_for.t
index 9cbcd3767..7d9c8dc07 100644
--- a/t/app/uri_for.t
+++ b/t/app/uri_for.t
@@ -1,7 +1,4 @@
-use strict;
-use warnings;
-
-use Test::More;
+use FixMyStreet::Test;
# FIXME Should this be here? A better way? uri_for varies by map.
use Catalyst::Test 'FixMyStreet::App';
diff --git a/t/app/view/web.t b/t/app/view/web.t
index 0f49b986b..3a95a2ad7 100644
--- a/t/app/view/web.t
+++ b/t/app/view/web.t
@@ -1,6 +1,6 @@
use strict;
use warnings;
-use Test::More;
+
use Test::More;
BEGIN { use_ok 'FixMyStreet::App::View::Web' }
diff --git a/t/cobrand/bristol.t b/t/cobrand/bristol.t
new file mode 100644
index 000000000..b4b6ed4ac
--- /dev/null
+++ b/t/cobrand/bristol.t
@@ -0,0 +1,44 @@
+use FixMyStreet::TestMech;
+my $mech = FixMyStreet::TestMech->new;
+
+# Create test data
+my $body = $mech->create_body_ok( 2561, 'Bristol County Council', {
+ send_method => 'Open311',
+ can_be_devolved => 1
+});
+
+my $open311_contact = $mech->create_contact_ok(
+ body_id => $body->id,
+ category => 'Street Lighting',
+ email => 'LIGHT',
+);
+my $email_contact = $mech->create_contact_ok(
+ body_id => $body->id,
+ category => 'Potholes',
+ email => 'potholes@example.org',
+ send_method => 'Email'
+);
+
+subtest 'Only Open311 categories are shown on Bristol cobrand', sub {
+ FixMyStreet::override_config {
+ ALLOWED_COBRANDS => [ 'bristol' ],
+ MAPIT_URL => 'http://mapit.uk/',
+ }, sub {
+ $mech->get_ok("/report/new/ajax?latitude=51.494885&longitude=-2.602237");
+ $mech->content_contains($open311_contact->category);
+ $mech->content_lacks($email_contact->category);
+ };
+};
+
+subtest 'All categories are shown on FMS cobrand', sub {
+ FixMyStreet::override_config {
+ ALLOWED_COBRANDS => [ 'fixmystreet' ],
+ MAPIT_URL => 'http://mapit.uk/',
+ }, sub {
+ $mech->get_ok("/report/new/ajax?latitude=51.494885&longitude=-2.602237");
+ $mech->content_contains($open311_contact->category);
+ $mech->content_contains($email_contact->category);
+ };
+};
+
+done_testing();
diff --git a/t/cobrand/bromley.t b/t/cobrand/bromley.t
index a7cc563dc..f3053c29a 100644
--- a/t/cobrand/bromley.t
+++ b/t/cobrand/bromley.t
@@ -1,14 +1,10 @@
-use strict;
-use warnings;
-use Test::More;
-
use CGI::Simple;
use FixMyStreet::TestMech;
my $mech = FixMyStreet::TestMech->new;
# Create test data
my $user = $mech->create_user_ok( 'bromley@example.com' );
-my $body = $mech->create_body_ok( 2482, 'Bromley Council', id => 2482 );
+my $body = $mech->create_body_ok( 2482, 'Bromley Council');
my $contact = $mech->create_contact_ok(
body_id => $body->id,
category => 'Other',
@@ -45,9 +41,9 @@ for my $update ('in progress', 'unable to fix') {
# Test Bromley special casing of 'unable to fix'
$mech->get_ok( '/report/' . $report->id );
$mech->content_contains( 'marks it as in progress' );
-$mech->content_contains( 'marked as in progress' );
+$mech->content_contains( 'State changed to: In progress' );
$mech->content_contains( 'marks it as unable to fix' );
-$mech->content_contains( 'marked as no further action' );
+$mech->content_contains( 'State changed to: No further action' );
subtest 'testing special Open311 behaviour', sub {
$report->set_extra_fields();
@@ -132,7 +128,4 @@ for my $test (
};
}
-# Clean up
-$mech->delete_user($user);
-$mech->delete_body($body);
done_testing();
diff --git a/t/cobrand/closest.t b/t/cobrand/closest.t
index 43b36f608..36fe78a01 100644
--- a/t/cobrand/closest.t
+++ b/t/cobrand/closest.t
@@ -1,9 +1,5 @@
-use strict;
-use warnings;
+use t::Mock::Bing;
-use Test::More;
-
-use mySociety::Locale;
use FixMyStreet::DB;
use FixMyStreet::TestMech;
@@ -11,8 +7,6 @@ my $mech = FixMyStreet::TestMech->new;
use_ok 'FixMyStreet::Cobrand';
-mySociety::Locale::gettext_domain( 'FixMyStreet' );
-
my $c = FixMyStreet::Cobrand::UK->new();
my $user =
@@ -31,7 +25,7 @@ my $dt = DateTime->new(
my $report = FixMyStreet::DB->resultset('Problem')->find_or_create(
{
- postcode => 'SW1A 1AA',
+ postcode => 'E142DN',
bodies_str => '2504',
areas => ',105255,11806,11828,2247,2504,',
category => 'Other',
@@ -47,8 +41,8 @@ my $report = FixMyStreet::DB->resultset('Problem')->find_or_create(
cobrand => 'default',
cobrand_data => '',
send_questionnaire => 't',
- latitude => '51.5016605453401',
- longitude => '-0.142497580865087',
+ latitude => 51.508536,
+ longitude => 0.000001,
user_id => $user->id,
}
);
@@ -56,33 +50,30 @@ my $report_id = $report->id;
ok $report, "created test report - $report_id";
$report->geocode( undef );
-
ok !$report->geocode, 'no geocode entry for report';
-my $near = $c->find_closest( $report->latitude, $report->longitude, $report );
-
-SKIP: {
- if (!FixMyStreet->config('BING_MAPS_API_KEY')) {
- skip 'No Bing Maps key', 0;
- }
-
+FixMyStreet::override_config {
+ MAPIT_URL => 'http://mapit.uk/',
+ BING_MAPS_API_KEY => 'test',
+}, sub {
+ my $near = $c->find_closest($report);
ok $report->geocode, 'geocode entry added to report';
ok $report->geocode->{resourceSets}, 'geocode entry looks like right sort of thing';
like $near, qr/Constitution Hill/i, 'nearest street looks right';
- like $near, qr/Nearest postcode .*: SW1A 1AA/i, 'nearest postcode looks right';
+ like $near, qr/Nearest postcode .*: E14 2DN/i, 'nearest postcode looks right';
- $near = $c->find_closest_address_for_rss( $report->latitude, $report->longitude, $report );
+ $near = $c->find_closest_address_for_rss($report);
like $near, qr/Constitution Hill/i, 'nearest street for RSS looks right';
unlike $near, qr/Nearest postcode/i, 'no nearest postcode in RSS text';
$report->geocode( undef );
- $near = $c->find_closest_address_for_rss( $report->latitude, $report->longitude, $report );
+ $near = $c->find_closest_address_for_rss($report);
ok !$near, 'no closest address for RSS if not cached';
-}
+};
-# all done
-$mech->delete_user( $user );
-done_testing();
+END {
+ done_testing();
+}
diff --git a/t/cobrand/councils.t b/t/cobrand/councils.t
index 0e8b71f04..4de8bbf2e 100644
--- a/t/cobrand/councils.t
+++ b/t/cobrand/councils.t
@@ -1,7 +1,3 @@
-use strict;
-use warnings;
-use Test::More;
-
use FixMyStreet::TestMech;
my $mech = FixMyStreet::TestMech->new;
diff --git a/t/cobrand/fixamingata.t b/t/cobrand/fixamingata.t
index d6a1c2b34..1e6bd7e65 100644
--- a/t/cobrand/fixamingata.t
+++ b/t/cobrand/fixamingata.t
@@ -1,13 +1,5 @@
-use strict;
-use warnings;
-use Test::More;
use Test::MockModule;
-BEGIN {
- use FixMyStreet;
- FixMyStreet->test_mode(1);
-}
-
use mySociety::Locale;
use FixMyStreet::TestMech;
@@ -115,7 +107,6 @@ subtest "Test ajax decimal points" => sub {
};
END {
- $mech->delete_body($body);
ok $mech->host("www.fixmystreet.com"), "change host back";
done_testing();
}
diff --git a/t/cobrand/form_extras.t b/t/cobrand/form_extras.t
index 22a86ef21..f450d908e 100644
--- a/t/cobrand/form_extras.t
+++ b/t/cobrand/form_extras.t
@@ -1,6 +1,3 @@
-use strict;
-use warnings;
-
package FixMyStreet::Cobrand::Tester;
use parent 'FixMyStreet::Cobrand::FixMyStreet';
@@ -18,7 +15,6 @@ sub path_to_web_templates {
package main;
-use Test::More;
use FixMyStreet::TestMech;
# disable info logs for this test run
@@ -67,6 +63,5 @@ FixMyStreet::override_config {
};
END {
- $mech->delete_problems_for_body(undef);
done_testing();
}
diff --git a/t/cobrand/get_body_sender.t b/t/cobrand/get_body_sender.t
index fbdfbffa7..06ffb42a5 100644
--- a/t/cobrand/get_body_sender.t
+++ b/t/cobrand/get_body_sender.t
@@ -1,15 +1,9 @@
-use strict;
-use warnings;
+use FixMyStreet::Test;
-use Test::More;
-
-use mySociety::Locale;
use FixMyStreet::DB;
use_ok 'FixMyStreet::Cobrand';
-mySociety::Locale::gettext_domain( 'FixMyStreet' );
-
my $c = FixMyStreet::Cobrand::FixMyStreet->new();
FixMyStreet::DB->resultset('BodyArea')->search( { body_id => 1000 } )->delete;
@@ -23,7 +17,7 @@ my $body_area = $body->body_areas->find_or_create({ area_id => 1000 });
FixMyStreet::override_config {
MAPIT_TYPES => [ 'LBO' ],
- MAPIT_URL => 'http://mapit.mysociety.org/',
+ MAPIT_URL => 'http://mapit.uk/', # Not actually used as no special casing at present
}, sub {
is_deeply $c->get_body_sender( $body ), { method => 'Email', contact => undef }, 'defaults to email';
$body_area->update({ area_id => 2481 }); # Croydon LBO
diff --git a/t/cobrand/hart.t b/t/cobrand/hart.t
index f4a2473eb..d1681a537 100644
--- a/t/cobrand/hart.t
+++ b/t/cobrand/hart.t
@@ -1,7 +1,3 @@
-use strict;
-use warnings;
-use Test::More;
-
use FixMyStreet::TestMech;
my $mech = FixMyStreet::TestMech->new;
diff --git a/t/cobrand/loading.t b/t/cobrand/loading.t
index b4738fb63..16c7b4ab7 100644
--- a/t/cobrand/loading.t
+++ b/t/cobrand/loading.t
@@ -1,7 +1,5 @@
-use strict;
-use warnings;
+use FixMyStreet::Test;
-use Test::More;
use Sub::Override;
use FixMyStreet;
diff --git a/t/cobrand/oxfordshire.t b/t/cobrand/oxfordshire.t
index b0fad3b56..a79a8f2a4 100644
--- a/t/cobrand/oxfordshire.t
+++ b/t/cobrand/oxfordshire.t
@@ -1,16 +1,19 @@
-use strict;
-use warnings;
-use Test::More;
+
+use Test::MockModule;
+use FixMyStreet::Integrations::ExorRDI;
use FixMyStreet::TestMech;
my $mech = FixMyStreet::TestMech->new;
+my $oxon = $mech->create_body_ok(2237, 'Oxfordshire County Council');
+
subtest 'check /ajax defaults to open reports only' => sub {
my $categories = [ 'Bridges', 'Fences', 'Manhole' ];
my $params = {
postcode => 'OX28 4DS',
- latitude => 51.7847208192,
- longitude => -1.49445264029,
+ cobrand => 'oxfordshire',
+ latitude => 51.784721,
+ longitude => -1.494453,
};
my $bbox = ($params->{longitude} - 0.01) . ',' . ($params->{latitude} - 0.01)
. ',' . ($params->{longitude} + 0.01) . ',' . ($params->{latitude} + 0.01);
@@ -23,13 +26,12 @@ subtest 'check /ajax defaults to open reports only' => sub {
category => $category,
state => $state,
);
- $mech->create_problems_for_body( 1, 2237, 'Around page', \%report_params );
+ $mech->create_problems_for_body( 1, $oxon->id, 'Around page', \%report_params );
}
}
FixMyStreet::override_config {
ALLOWED_COBRANDS => [ { 'oxfordshire' => '.' } ],
- MAPIT_URL => 'http://mapit.mysociety.org/',
}, sub {
my $json = $mech->get_ok_json( '/ajax?status=all&bbox=' . $bbox );
my $pins = $json->{pins};
@@ -46,6 +48,10 @@ subtest 'check /ajax defaults to open reports only' => sub {
};
my $superuser = $mech->create_user_ok('superuser@example.com', name => 'Super User', is_superuser => 1);
+my $inspector = $mech->create_user_ok('inspector@example.com', name => 'Inspector');
+$inspector->user_body_permissions->create({ body => $oxon, permission_type => 'report_inspect' });
+
+my @problems = FixMyStreet::DB->resultset('Problem')->search({}, { rows => 3 })->all;
subtest 'Exor RDI download appears on Oxfordshire cobrand admin' => sub {
FixMyStreet::override_config {
@@ -57,7 +63,7 @@ subtest 'Exor RDI download appears on Oxfordshire cobrand admin' => sub {
}
};
-subtest 'Exor RDI download doesn’t appear outside of Oxfordshire cobrand admin' => sub {
+subtest "Exor RDI download doesn't appear outside of Oxfordshire cobrand admin" => sub {
FixMyStreet::override_config {
ALLOWED_COBRANDS => [ { 'fixmystreet' => '.' } ],
}, sub {
@@ -67,7 +73,168 @@ subtest 'Exor RDI download doesn’t appear outside of Oxfordshire cobrand admin
}
};
-# Clean up
-$mech->delete_user( $superuser );
-$mech->delete_problems_for_body( 2237 );
-done_testing();
+subtest 'Exor file looks okay' => sub {
+ FixMyStreet::override_config {
+ ALLOWED_COBRANDS => [ 'oxfordshire' ],
+ MAPIT_URL => 'http://mapit.uk/',
+ }, sub {
+ $mech->log_in_ok( $superuser->email );
+ $mech->get_ok('/admin/exordefects');
+ $mech->submit_form_ok( { with_fields => {
+ start_date => '05/05/2017',
+ end_date => '05/05/2017',
+ user_id => $inspector->id,
+ } }, 'submit download');
+ $mech->content_contains("No inspections by that inspector in the selected date range");
+
+ my $dt = FixMyStreet::DB->resultset('DefectType')->create({
+ body => $oxon,
+ name => 'Footpath',
+ description => 'Footpath stuff',
+ });
+ $dt->set_extra_metadata(activity_code => 'FC');
+ $dt->set_extra_metadata(defect_code => 'SFP1');
+ $dt->update;
+ my $dt2 = FixMyStreet::DB->resultset('DefectType')->create({
+ body => $oxon,
+ name => 'Accidental sign damage',
+ description => 'Accidental sign damage',
+ });
+ $dt2->set_extra_metadata(activity_code => 'S');
+ $dt2->set_extra_metadata(defect_code => 'ACC2');
+ $dt2->update;
+ my $i = 123;
+ foreach my $problem (@problems) {
+ $problem->update({ state => 'action scheduled', external_id => $i });
+ $problem->update({ defect_type => $dt }) if $i == 123;
+ $problem->update({ defect_type => $dt2 }) if $i == 124;
+ FixMyStreet::DB->resultset('AdminLog')->create({
+ admin_user => $inspector->name,
+ user => $inspector,
+ object_type => 'problem',
+ action => 'inspected',
+ object_id => $problem->id,
+ whenedited => DateTime->new(year => 2017, month => 5, day => 5, hour => 12),
+ });
+ $i++;
+ }
+ $mech->submit_form_ok( { with_fields => {
+ start_date => '05/05/2017',
+ end_date => '05/05/2017',
+ user_id => $inspector->id,
+ } }, 'submit download');
+ (my $rdi = $mech->content) =~ s/\r\n/\n/g;
+ $rdi =~ s/(I,[FMS]C?,,)\d+/$1XXX/g; # Remove unique ID figures, unknown order
+ is $rdi, <<EOF, "RDI file matches expected";
+"1,1.8,1.0.0.0,ENHN,"
+"G,1989169,,,XX,170505,1600,D,INS,N,,,,"
+"H,FC"
+"I,FC,,XXX,"434970E 209683N Nearest postcode: OX28 4DS.",1200,,,,,,,,"TM none","123 ""
+"J,SFP1,2,,,434970,209683,,,,,"
+"M,resolve,,,/CFC,,"
+"P,0,999999"
+"G,1989169,,,XX,170505,1600,D,INS,N,,,,"
+"H,MC"
+"I,MC,,XXX,"434970E 209683N Nearest postcode: OX28 4DS.",1200,,,,,,,,"TM none","125 ""
+"J,SFP2,2,,,434970,209683,,,,,"
+"M,resolve,,,/CMC,,"
+"P,0,999999"
+"G,1989169,,,XX,170505,1600,D,INS,N,,,,"
+"H,S"
+"I,S,,XXX,"434970E 209683N Nearest postcode: OX28 4DS.",1200,,,,,,,,"TM none","124 ""
+"J,ACC2,2,,,434970,209683,,,,,"
+"M,resolve,,,/CSI,,"
+"P,0,999999"
+"X,3,3,3,3,0,0,0,3,0,3,0,0,0"
+EOF
+ foreach my $problem (@problems) {
+ $problem->discard_changes;
+ is $problem->get_extra_metadata('rdi_processed'), undef, "Problem was not logged as sent in RDI";
+ }
+
+ }
+};
+
+subtest 'Reports are marked as inspected correctly' => sub {
+ FixMyStreet::override_config {
+ ALLOWED_COBRANDS => [ 'oxfordshire' ],
+ }, sub {
+ my $date = DateTime->new(year => 2017, month => 5, day => 5, hour => 12);
+
+ my $now = DateTime->now(
+ time_zone => FixMyStreet->time_zone || FixMyStreet->local_time_zone
+ );
+ my $datetime = Test::MockModule->new('DateTime');
+ $datetime->mock('now', sub { $now });
+
+ my $params = {
+ start_date => $date,
+ end_date => $date,
+ inspection_date => $date,
+ user => $inspector,
+ mark_as_processed => 1,
+ };
+ my $rdi = FixMyStreet::Integrations::ExorRDI->new($params);
+ $rdi->construct;
+
+ foreach my $problem (@problems) {
+ $problem->discard_changes;
+ is $problem->get_extra_metadata('rdi_processed'), $now->strftime( '%Y-%m-%d %H:%M' ), "Problem was logged as sent in RDI";
+ }
+ };
+};
+
+subtest 'response times messages displayed' => sub {
+ my $oxfordshire = $mech->create_body_ok(
+ 2237, 'Oxfordshire County Council'
+ );
+ my $contact = $mech->create_contact_ok(
+ body_id => $oxfordshire->id,
+ category => 'Pothole',
+ email => 'pothole@example.com',
+ );
+
+ FixMyStreet::override_config {
+ ALLOWED_COBRANDS => [ 'oxfordshire' ],
+ MAPIT_URL => 'http://mapit.uk/',
+ }, sub {
+ $mech->log_out_ok;
+ $mech->clear_emails_ok;
+
+ $mech->get_ok('/around');
+ $mech->submit_form_ok( {
+ with_fields => { pc => 'OX20 1SZ' }
+ },
+ "submit_location"
+ );
+
+ $mech->follow_link_ok( { text_regex => qr/skip this step/i, },
+ "follow 'skip this step' link" );
+
+ $mech->submit_form_ok(
+ {
+ with_fields => {
+ title => 'Test Report',
+ detail => 'Test report details.',
+ photo1 => '',
+ email => 'test-2@example.com',
+ name => 'Test User',
+ category => 'Pothole',
+ }
+ },
+ "submit details"
+ );
+
+ $mech->text_contains('Problems in the Pothole category are generally responded');
+ my $email = $mech->get_email;
+ ok $email, 'got and email';
+ like $mech->get_text_body_from_email, qr/Problems in the Pothole category/, 'emails contains response time message';
+ my $url = $mech->get_link_from_email($email);
+ $mech->get_ok($url);
+ $mech->text_contains('Problems in the Pothole category are generally responded')
+ };
+};
+
+END {
+ done_testing();
+}
diff --git a/t/cobrand/restriction.t b/t/cobrand/restriction.t
index 873a396b7..9e3018625 100644
--- a/t/cobrand/restriction.t
+++ b/t/cobrand/restriction.t
@@ -17,7 +17,6 @@ sub updates_restriction {
package main;
-use Test::More;
use FixMyStreet::TestMech;
my $c = FixMyStreet::App->new;
@@ -51,5 +50,4 @@ is($cobrand->updates->count, 1, 'One update in the right cobrand');
my $nearby = $c->model('DB::Nearby')->nearby($c, 5, [], 10, 0.003, 0.004);
is(@$nearby, 1, 'One report close to the origin point');
-$mech->delete_problems_for_body(1234);
done_testing();
diff --git a/t/cobrand/two_tier.t b/t/cobrand/two_tier.t
index 97bbccc01..c8a16ea9a 100644
--- a/t/cobrand/two_tier.t
+++ b/t/cobrand/two_tier.t
@@ -1,8 +1,4 @@
-use strict;
-use warnings;
-use Test::More;
-
-use FixMyStreet;
+use FixMyStreet::Test;
use FixMyStreet::Cobrand;
my @cobrands = (
@@ -19,8 +15,8 @@ FixMyStreet::override_config {
for my $c (@cobrands) {
my ($m, $id) = @$c;
my $cobrand = FixMyStreet::Cobrand->get_class_for_moniker($m);
- my $council_id = $cobrand->council_id;
- is $council_id, $id, "council_id for $m";
+ my $council_area_id = $cobrand->council_area_id;
+ is $council_area_id, $id, "council_area_id for $m";
}
};
diff --git a/t/cobrand/zurich.t b/t/cobrand/zurich.t
index 0a84d2d03..03b20b087 100644
--- a/t/cobrand/zurich.t
+++ b/t/cobrand/zurich.t
@@ -1,15 +1,14 @@
# TODO
# Overdue alerts
-use strict;
-use warnings;
use DateTime;
use Email::MIME;
use LWP::Protocol::PSGI;
-use Test::More;
use Test::LongString;
use Path::Tiny;
use t::Mock::MapItZurich;
+use FixMyStreet::TestMech;
+my $mech = FixMyStreet::TestMech->new;
# Check that you have the required locale installed - the following
# should return a line with de_CH.utf8 in. If not install that locale.
@@ -53,9 +52,6 @@ sub reset_report_state {
$report->update;
}
-use FixMyStreet::TestMech;
-my $mech = FixMyStreet::TestMech->new;
-
# Front page test
ok $mech->host("zurich.example.com"), "change host to Zurich";
FixMyStreet::override_config {
@@ -699,6 +695,7 @@ subtest "only superuser can edit bodies" => sub {
$user = $mech->log_in_ok( 'dm1@example.org' );
FixMyStreet::override_config {
ALLOWED_COBRANDS => [ 'zurich' ],
+ MAPIT_URL => 'http://mapit.zurich/',
}, sub {
$mech->get( '/admin/body/' . $zurich->id );
};
@@ -707,7 +704,6 @@ subtest "only superuser can edit bodies" => sub {
};
subtest "only superuser can see 'Add body' form" => sub {
- LWP::Protocol::PSGI->register(t::Mock::MapItZurich->run_if_script, host => 'mapit.zurich');
$user = $mech->log_in_ok( 'dm1@example.org' );
FixMyStreet::override_config {
ALLOWED_COBRANDS => [ 'zurich' ],
@@ -722,7 +718,6 @@ subtest "only superuser can see 'Add body' form" => sub {
};
subtest "phone number is mandatory" => sub {
- LWP::Protocol::PSGI->register(t::Mock::MapItZurich->run_if_script, host => 'mapit.zurich');
FixMyStreet::override_config {
MAPIT_TYPES => [ 'O08' ],
MAPIT_URL => 'http://mapit.zurich/',
@@ -739,7 +734,6 @@ subtest "phone number is mandatory" => sub {
};
subtest "phone number is not mandatory for reports from mobile apps" => sub {
- LWP::Protocol::PSGI->register(t::Mock::MapItZurich->run_if_script, host => 'mapit.zurich');
FixMyStreet::override_config {
MAPIT_TYPES => [ 'O08' ],
MAPIT_URL => 'http://mapit.zurich/',
@@ -766,7 +760,6 @@ subtest "phone number is not mandatory for reports from mobile apps" => sub {
};
subtest "problems can't be assigned to deleted bodies" => sub {
- LWP::Protocol::PSGI->register(t::Mock::MapItZurich->run_if_script, host => 'mapit.zurich');
$user = $mech->log_in_ok( 'dm1@example.org' );
$user->from_body( $zurich->id );
$user->update;
@@ -795,13 +788,11 @@ subtest "problems can't be assigned to deleted bodies" => sub {
};
subtest "photo must be supplied for categories that require it" => sub {
- LWP::Protocol::PSGI->register(t::Mock::MapItZurich->run_if_script, host => 'mapit.zurich');
FixMyStreet::App->model('DB::Contact')->find_or_create({
body => $division,
category => "Graffiti - photo required",
email => "graffiti\@example.org",
- confirmed => 1,
- deleted => 0,
+ state => 'confirmed',
editor => "editor",
whenedited => DateTime->now(),
note => "note for graffiti",
@@ -974,20 +965,21 @@ FixMyStreet::override_config {
MAPIT_URL => 'http://mapit.zurich/',
MAPIT_TYPES => [ 'ZZZ' ],
}, sub {
- LWP::Protocol::PSGI->register(t::Mock::MapItZurich->run_if_script, host => 'mapit.zurich');
subtest 'users at the top level can be edited' => sub {
$mech->log_in_ok( $superuser->email );
$mech->get_ok('/admin/user_edit/' . $superuser->id );
};
};
+FixMyStreet::override_config {
+ ALLOWED_COBRANDS => [ 'zurich' ],
+}, sub {
+ subtest 'A visit to /reports is okay' => sub {
+ $mech->get_ok('/reports');
+ };
+};
+
END {
- $mech->delete_body($subdivision);
- $mech->delete_body($division);
- $mech->delete_body($zurich);
- $mech->delete_body($external_body);
- $mech->delete_user( 'dm1@example.org' );
- $mech->delete_user( 'sdm1@example.org' );
ok $mech->host("www.fixmystreet.com"), "change host back";
done_testing();
}
diff --git a/t/email.t b/t/email.t
index 40a650da5..7e8e60a8a 100644
--- a/t/email.t
+++ b/t/email.t
@@ -1,7 +1,4 @@
-use strict;
-use warnings;
-
-use Test::More;
+use FixMyStreet::Test;
use FixMyStreet::Email;
my $secret = FixMyStreet::DB->resultset('Secret')->update({
diff --git a/t/email/sender.t b/t/email/sender.t
new file mode 100644
index 000000000..49310db83
--- /dev/null
+++ b/t/email/sender.t
@@ -0,0 +1,36 @@
+use FixMyStreet::Test;
+use FixMyStreet::Email::Sender;
+use Test::Exception;
+
+# Specifically testing live email sending errors
+FixMyStreet->test_mode(0);
+
+subtest 'SMTP settings' => sub {
+ FixMyStreet::override_config {
+ SMTP_SMARTHOST => 'localhost',
+ SMTP_TYPE => 'bad',
+ }, sub {
+ throws_ok { FixMyStreet::Email::Sender->send('test') }
+ qr/Bad SMTP_TYPE config: is bad, should be tls, ssl, or blank/, 'Bad SMTP_TYPE throws';
+ };
+
+ FixMyStreet::override_config {
+ SMTP_SMARTHOST => 'localhost',
+ SMTP_TYPE => 'TLS',
+ }, sub {
+ throws_ok { FixMyStreet::Email::Sender->send('test') }
+ qr/no recipients/, 'Upper case SMTP_TYPE passes, no recipients throws';
+ };
+};
+
+subtest 'sendmail default' => sub {
+ FixMyStreet::override_config {
+ SMTP_SMARTHOST => '',
+ }, sub {
+ FixMyStreet::Email::Sender->reset_default_transport;
+ throws_ok { FixMyStreet::Email::Sender->send('test') }
+ qr/no recipients|couldn't find a sendmail/, 'Sendmail throws some form of error';
+ };
+};
+
+done_testing();
diff --git a/t/map/tilma/original.t b/t/map/tilma/original.t
index f16f5b244..b29155bee 100644
--- a/t/map/tilma/original.t
+++ b/t/map/tilma/original.t
@@ -1,22 +1,15 @@
-use strict;
-use warnings;
-use Test::More;
use FixMyStreet::DB;
use FixMyStreet::Map;
use FixMyStreet::TestMech;
use DateTime;
-use mySociety::Locale;
use Catalyst::Test 'FixMyStreet::App';
my $mech = FixMyStreet::TestMech->new;
-mySociety::Locale::gettext_domain('FixMyStreet');
-
FixMyStreet::Map::set_map_class();
my $c = ctx_request('http://fixmystreet.com/test?bbox=-7.6,49.7,-7.5,49.8');
-$mech->delete_user('test@example.com');
my $user =
FixMyStreet::DB->resultset('User')
->find_or_create( { email => 'test@example.com', name => 'Test User' } );
@@ -114,7 +107,4 @@ for my $test (
};
}
-$mech->delete_user( $user );
-
-
done_testing();
diff --git a/t/open311.t b/t/open311.t
index e6ea9b6fc..b41d42b55 100644
--- a/t/open311.t
+++ b/t/open311.t
@@ -1,8 +1,6 @@
#!/usr/bin/env perl
-use utf8;
-use strict;
-use warnings;
+use FixMyStreet::Test;
use File::Temp 'tempdir';
use Path::Tiny;
use Test::More;
@@ -44,7 +42,7 @@ for my $sfc (0..2) {
} );
my $expected_error = qr{Failed to submit problem 1 over Open311}ism;
- if ($sfc == 2) {
+ if ($sfc == 1) {
warning_like {$o2->send_service_request( $p, { url => 'http://example.com/' }, 1 )} $expected_error, 'warning generated on failed call';
} else {
warning_like {$o2->send_service_request( $p, { url => 'http://example.com/' }, 1 )} undef, 'no warning generated on failed call';
@@ -578,8 +576,8 @@ for my $test (
};
}
-$problem->send_fail_count(2);
-$comment->send_fail_count(2);
+$problem->send_fail_count(1);
+$comment->send_fail_count(1);
subtest 'No request id in reponse' => sub {
my $results;
@@ -679,6 +677,8 @@ subtest 'check FixaMinGata' => sub {
my $results = make_service_req( $problem, $extra, $problem->category, '<?xml version="1.0" encoding="utf-8"?><service_requests><request><service_request_id>248</service_request_id></request></service_requests>' );
is $results->{ res }, 248, 'got request id';
my $description = <<EOT;
+Titel: a problem
+
Beskrivning: MØØse
Länk till ärendet: http://example.com/report/1
diff --git a/t/open311/getservicerequestupdates.t b/t/open311/getservicerequestupdates.t
index 8876a3ccf..9a8db4374 100644
--- a/t/open311/getservicerequestupdates.t
+++ b/t/open311/getservicerequestupdates.t
@@ -1,8 +1,6 @@
#!/usr/bin/env perl
-use strict;
-use warnings;
-use Test::More;
+use FixMyStreet::Test;
use CGI::Simple;
use LWP::Protocol::PSGI;
use t::Mock::Static;
@@ -21,9 +19,11 @@ my $user = FixMyStreet::DB->resultset('User')->find_or_create(
);
my %bodies = (
+ 2237 => FixMyStreet::DB->resultset("Body")->create({ name => 'Oxfordshire' }),
2482 => FixMyStreet::DB->resultset("Body")->new({ id => 2482 }),
2651 => FixMyStreet::DB->resultset("Body")->new({ id => 2651 }),
);
+$bodies{2237}->body_areas->create({ area_id => 2237 });
my $requests_xml = qq{<?xml version="1.0" encoding="utf-8"?>
<service_requests_updates>
@@ -279,6 +279,17 @@ for my $test (
end_state => 'confirmed',
},
{
+ desc => 'open status removes action scheduled status',
+ description => 'This is a note',
+ external_id => 638344,
+ start_state => 'action scheduled',
+ comment_status => 'OPEN',
+ mark_fixed => 0,
+ mark_open => 0,
+ problem_state => 'confirmed',
+ end_state => 'confirmed',
+ },
+ {
desc => 'fixed status leaves fixed - user report as fixed - user',
description => 'This is a note',
external_id => 638344,
@@ -335,16 +346,9 @@ for my $test (
},
) {
subtest $test->{desc} => sub {
- my $local_requests_xml = $requests_xml;
- my $updated_datetime = sprintf( '<updated_datetime>%s</updated_datetime>', $dt );
- $local_requests_xml =~ s/UPDATED_DATETIME/$updated_datetime/;
- $local_requests_xml =~ s#<service_request_id>\d+</service_request_id>#<service_request_id>@{[$problem->external_id]}</service_request_id>#;
- $local_requests_xml =~ s#<service_request_id_ext>\d+</service_request_id_ext>#<service_request_id_ext>@{[$problem->id]}</service_request_id_ext>#;
- $local_requests_xml =~ s#<status>\w+</status>#<status>$test->{comment_status}</status># if $test->{comment_status};
-
+ my $local_requests_xml = setup_xml($problem->external_id, $problem->id, $test->{comment_status});
my $o = Open311->new( jurisdiction => 'mysociety', endpoint => 'http://example.com', test_mode => 1, test_get_returns => { 'servicerequestupdates.xml' => $local_requests_xml } );
- $problem->comments->delete;
$problem->lastupdate( DateTime->now()->subtract( days => 1 ) );
$problem->state( $test->{start_state} );
$problem->update;
@@ -362,22 +366,78 @@ for my $test (
is $c->problem_state, $test->{problem_state}, 'problem_state correct';
is $c->mark_open, $test->{mark_open}, 'mark_open correct';
is $problem->state, $test->{end_state}, 'correct problem state';
+ $problem->comments->delete;
+ };
+}
+
+my $problemOx = $problem_rs->create({
+ postcode => 'EH99 1SP',
+ latitude => 1,
+ longitude => 1,
+ areas => 1,
+ title => '',
+ detail => '',
+ used_map => 1,
+ user_id => 1,
+ name => '',
+ state => 'confirmed',
+ service => '',
+ cobrand => 'default',
+ cobrand_data => '',
+ user => $user,
+ created => DateTime->now()->subtract( days => 1 ),
+ lastupdate => DateTime->now()->subtract( days => 1 ),
+ anonymous => 1,
+ external_id => time(),
+ bodies_str => $bodies{2237}->id,
+});
+
+for my $test (
+ {
+ desc => 'OPEN status for confirmed problem does not change state (Oxfordshire)',
+ start_state => 'confirmed',
+ comment_status => 'OPEN',
+ problem_state => undef,
+ end_state => 'confirmed',
+ },
+ {
+ desc => 'OPEN status for action scheduled problem does not change state (Oxfordshire)',
+ start_state => 'action scheduled',
+ comment_status => 'OPEN',
+ problem_state => undef,
+ end_state => 'action scheduled',
+ },
+) {
+ subtest $test->{desc} => sub {
+ my $local_requests_xml = setup_xml($problemOx->external_id, $problemOx->id, $test->{comment_status});
+ my $o = Open311->new( jurisdiction => 'mysociety', endpoint => 'http://example.com', test_mode => 1, test_get_returns => { 'servicerequestupdates.xml' => $local_requests_xml } );
+
+ $problemOx->lastupdate( DateTime->now()->subtract( days => 1 ) );
+ $problemOx->state( $test->{start_state} );
+ $problemOx->update;
+
+ my $update = Open311::GetServiceRequestUpdates->new( system_user => $user );
+ $update->update_comments( $o, $bodies{2237} );
+
+ is $problemOx->comments->count, 1, 'comment count';
+ $problemOx->discard_changes;
+
+ my $c = FixMyStreet::DB->resultset('Comment')->search( { external_id => 638344 } )->first;
+ ok $c, 'comment exists';
+ is $c->problem_state, $test->{problem_state}, 'problem_state correct';
+ is $problemOx->state, $test->{end_state}, 'correct problem state';
+ $problemOx->comments->delete;
};
}
subtest 'Update with media_url includes image in update' => sub {
my $guard = LWP::Protocol::PSGI->register(t::Mock::Static->to_psgi_app, host => 'example.com');
- my $local_requests_xml = $requests_xml;
- my $updated_datetime = sprintf( '<updated_datetime>%s</updated_datetime>', $dt );
- $local_requests_xml =~ s/UPDATED_DATETIME/$updated_datetime/;
- $local_requests_xml =~ s#<service_request_id>\d+</service_request_id>#
- <service_request_id>@{[$problem->external_id]}</service_request_id>
+ my $local_requests_xml = setup_xml($problem->external_id, 1, "");
+ $local_requests_xml =~ s#</service_request_id>#</service_request_id>
<media_url>http://example.com/image.jpeg</media_url>#;
-
my $o = Open311->new( jurisdiction => 'mysociety', endpoint => 'http://example.com', test_mode => 1, test_get_returns => { 'servicerequestupdates.xml' => $local_requests_xml } );
- $problem->comments->delete;
$problem->lastupdate( DateTime->now()->subtract( days => 1 ) );
$problem->state('confirmed');
$problem->update;
@@ -389,40 +449,23 @@ subtest 'Update with media_url includes image in update' => sub {
my $c = $problem->comments->first;
is $c->external_id, 638344;
is $c->photo, '74e3362283b6ef0c48686fb0e161da4043bbcc97.jpeg', 'photo exists';
+ $problem->comments->delete;
};
-foreach my $test (
- {
- desc => 'date for comment correct',
- updated_datetime => sprintf( '<updated_datetime>%s</updated_datetime>', $dt ),
- external_id => 638344,
- },
-) {
- subtest $test->{desc} => sub {
- my $dt = DateTime->now();
- $dt->subtract( minutes => 10 );
- my $local_requests_xml = $requests_xml;
-
- my $updated = sprintf( '<updated_datetime>%s</updated_datetime>', DateTime::Format::W3CDTF->format_datetime( $dt ) );
-
- $local_requests_xml =~ s/UPDATED_DATETIME/$updated/;
- $local_requests_xml =~ s#<service_request_id>\d+</service_request_id>#<service_request_id>@{[$problem->external_id]}</service_request_id>#;
- $local_requests_xml =~ s#<service_request_id_ext>\d+</service_request_id_ext>#<service_request_id_ext>@{[$problem->id]}</service_request_id_ext>#;
-
- my $o = Open311->new( jurisdiction => 'mysociety', endpoint => 'http://example.com', test_mode => 1, test_get_returns => { 'servicerequestupdates.xml' => $local_requests_xml } );
-
- $problem->comments->delete;
+subtest 'date for comment correct' => sub {
+ my $local_requests_xml = setup_xml($problem->external_id, $problem->id, "");
+ my $o = Open311->new( jurisdiction => 'mysociety', endpoint => 'http://example.com', test_mode => 1, test_get_returns => { 'servicerequestupdates.xml' => $local_requests_xml } );
- my $update = Open311::GetServiceRequestUpdates->new( system_user => $user );
- $update->update_comments( $o, $bodies{2482} );
+ my $update = Open311::GetServiceRequestUpdates->new( system_user => $user );
+ $update->update_comments( $o, $bodies{2482} );
- my $comment = $problem->comments->first;
- is $comment->created, $dt, 'created date set to date from XML';
- is $comment->confirmed, $dt, 'confirmed date set to date from XML';
- };
-}
+ my $comment = $problem->comments->first;
+ is $comment->created, $dt, 'created date set to date from XML';
+ is $comment->confirmed, $dt, 'confirmed date set to date from XML';
+ $problem->comments->delete;
+};
-my $problem2 = $problem_rs->new(
+my $problem2 = $problem_rs->create(
{
postcode => 'EH99 1SP',
latitude => 1,
@@ -446,14 +489,9 @@ my $problem2 = $problem_rs->new(
}
);
-$problem2->insert();
-$problem->comments->delete;
-$problem2->comments->delete;
-
for my $test (
{
desc => 'identical external_ids on problem resolved using council',
- updated_datetime => sprintf( '<updated_datetime>%s</updated_datetime>', $dt ),
external_id => 638344,
area_id => 2651,
request_id => $problem2->external_id,
@@ -463,7 +501,6 @@ for my $test (
},
{
desc => 'identical external_ids on comments resolved',
- updated_datetime => sprintf( '<updated_datetime>%s</updated_datetime>', $dt ),
external_id => 638344,
area_id => 2482,
request_id => $problem->external_id,
@@ -473,14 +510,9 @@ for my $test (
},
) {
subtest $test->{desc} => sub {
- my $local_requests_xml = $requests_xml;
- $local_requests_xml =~ s/UPDATED_DATETIME/$test->{updated_datetime}/;
- $local_requests_xml =~ s#<service_request_id>\d+</service_request_id>#<service_request_id>$test->{request_id}</service_request_id>#;
- $local_requests_xml =~ s#<service_request_id_ext>\d+</service_request_id_ext>#<service_request_id_ext>$test->{request_id_ext}</service_request_id_ext>#;
-
+ my $local_requests_xml = setup_xml($test->{request_id}, $test->{request_id_ext}, "");
my $o = Open311->new( jurisdiction => 'mysociety', endpoint => 'http://example.com', test_mode => 1, test_get_returns => { 'servicerequestupdates.xml' => $local_requests_xml } );
-
my $update = Open311::GetServiceRequestUpdates->new( system_user => $user );
$update->update_comments( $o, $bodies{$test->{area_id}} );
@@ -497,7 +529,6 @@ subtest 'using start and end date' => sub {
$start_dt->subtract( days => 1 );
my $end_dt = DateTime->now();
-
my $update = Open311::GetServiceRequestUpdates->new(
system_user => $user,
start_date => $start_dt,
@@ -626,7 +657,6 @@ foreach my $test ( {
</service_requests_updates>
};
- $problem->comments->delete;
$problem->state( 'confirmed' );
$problem->lastupdate( $dt->clone->subtract( hours => 3 ) );
$problem->update;
@@ -645,6 +675,7 @@ foreach my $test ( {
$problem->discard_changes;
is $problem->comments->count, 2, 'two comments after fetching updates';
is $problem->state, 'confirmed', 'correct problem status';
+ $problem->comments->delete;
};
}
@@ -682,7 +713,6 @@ foreach my $test ( {
</service_requests_updates>
};
- $problem->comments->delete;
$problem->state( 'confirmed' );
$problem->lastupdate( $dt->clone->subtract( hours => 3 ) );
$problem->update;
@@ -725,15 +755,21 @@ foreach my $test ( {
for my $alert (@alerts) {
$alert->delete;
}
+ $problem->comments->delete;
}
}
-$problem2->comments->delete();
-$problem->comments->delete();
-$problem2->delete;
-$problem->delete;
-$user->comments->delete;
-$user->problems->delete;
-$user->delete;
-
done_testing();
+
+sub setup_xml {
+ my ($id, $id_ext, $status) = @_;
+ my $xml = $requests_xml;
+ my $updated_datetime = sprintf( '<updated_datetime>%s</updated_datetime>', $dt );
+ $xml =~ s/UPDATED_DATETIME/$updated_datetime/;
+ $xml =~ s#<service_request_id>\d+</service_request_id>#<service_request_id>$id</service_request_id>#;
+ $xml =~ s#<service_request_id_ext>\d+</service_request_id_ext>#<service_request_id_ext>$id_ext</service_request_id_ext>#;
+ $xml =~ s#<status>\w+</status>#<status>$status</status># if $status;
+ return $xml;
+
+
+}
diff --git a/t/open311/getupdates.t b/t/open311/getupdates.t
index 0e31db482..1cbabc5ab 100644
--- a/t/open311/getupdates.t
+++ b/t/open311/getupdates.t
@@ -1,8 +1,6 @@
#!/usr/bin/env perl
-use strict;
-use warnings;
-use Test::More;
+use FixMyStreet::Test;
use URI::Split qw(uri_split);
use FixMyStreet;
@@ -222,7 +220,7 @@ my $problem3 = $problem_rs->create( {
used_map => 1,
name => '',
state => 'confirmed',
- cobrand => 'fixamingata',
+ cobrand => 'fiksgatami',
user => $user,
created => DateTime->now()->subtract( days => 1 ),
lastupdate => DateTime->now()->subtract( days => 1 ),
@@ -237,7 +235,7 @@ subtest 'test translation of auto-added comment from old-style Open311 update' =
my $o = Open311->new( jurisdiction => 'mysociety', endpoint => 'http://example.com', test_mode => 1, test_get_returns => { 'requests.xml' => $requests_xml } );
FixMyStreet::override_config {
- ALLOWED_COBRANDS => [ 'fixamingata' ],
+ ALLOWED_COBRANDS => [ 'fiksgatami' ],
}, sub {
ok $updates->update_reports( [ 638346 ], $o, $body ), 'Updated reports';
};
@@ -247,7 +245,7 @@ subtest 'test translation of auto-added comment from old-style Open311 update' =
is_deeply(\@qs, [ 'jurisdiction_id=mysociety', 'service_request_id=638346' ], 'query string matches');
is $problem3->comments->count, 1, 'added a comment';
- is $problem3->comments->first->text, "St\xe4ngd av kommunen", 'correct comment text';
+ is $problem3->comments->first->text, "(ikke rapportert til administrasjonen)", 'correct comment text';
};
END {
diff --git a/t/open311/populate-service-list.t b/t/open311/populate-service-list.t
index 606bcbc44..04740a9e8 100644
--- a/t/open311/populate-service-list.t
+++ b/t/open311/populate-service-list.t
@@ -1,9 +1,6 @@
#!/usr/bin/env perl
-use strict;
-use warnings;
-use Test::More;
-
+use FixMyStreet::Test;
use FixMyStreet::DB;
use_ok( 'Open311::PopulateServiceList' );
@@ -52,8 +49,7 @@ subtest 'check non open311 contacts marked as deleted' => sub {
body_id => 1,
email => 'contact@example.com',
category => 'An old category',
- confirmed => 1,
- deleted => 0,
+ state => 'confirmed',
editor => $0,
whenedited => \'current_timestamp',
note => 'test contact',
@@ -69,7 +65,7 @@ subtest 'check non open311 contacts marked as deleted' => sub {
my $contact_count = FixMyStreet::DB->resultset('Contact')->search( { body_id => 1 } )->count();
is $contact_count, 4, 'correct number of contacts';
- $contact_count = FixMyStreet::DB->resultset('Contact')->search( { body_id => 1, deleted => 1 } )->count();
+ $contact_count = FixMyStreet::DB->resultset('Contact')->search( { body_id => 1, state => 'deleted' } )->count();
is $contact_count, 1, 'correct number of deleted contacts';
};
@@ -81,8 +77,7 @@ subtest 'check email changed if matching category' => sub {
body_id => 1,
email => '009',
category => 'Cans left out 24x7',
- confirmed => 1,
- deleted => 0,
+ state => 'confirmed',
editor => $0,
whenedited => \'current_timestamp',
note => 'test contact',
@@ -99,8 +94,7 @@ subtest 'check email changed if matching category' => sub {
$contact->discard_changes;
is $contact->email, '001', 'email unchanged';
- is $contact->confirmed, 1, 'contact still confirmed';
- is $contact->deleted, 0, 'contact still not deleted';
+ is $contact->state, 'confirmed', 'contact still confirmed';
my $contact_count = FixMyStreet::DB->resultset('Contact')->search( { body_id => 1 } )->count();
is $contact_count, 3, 'correct number of contacts';
@@ -114,8 +108,7 @@ subtest 'check category name changed if updated' => sub {
body_id => 1,
email => '001',
category => 'Bins left out 24x7',
- confirmed => 1,
- deleted => 0,
+ state => 'confirmed',
editor => $0,
whenedited => \'current_timestamp',
note => 'test contact',
@@ -133,8 +126,7 @@ subtest 'check category name changed if updated' => sub {
$contact->discard_changes;
is $contact->email, '001', 'email unchanged';
is $contact->category, 'Cans left out 24x7', 'category changed';
- is $contact->confirmed, 1, 'contact still confirmed';
- is $contact->deleted, 0, 'contact still not deleted';
+ is $contact->state, 'confirmed', 'contact still confirmed';
my $contact_count = FixMyStreet::DB->resultset('Contact')->search( { body_id => 1 } )->count();
is $contact_count, 3, 'correct number of contacts';
@@ -148,8 +140,7 @@ subtest 'check conflicting contacts not changed' => sub {
body_id => 1,
email => 'existing@example.com',
category => 'Cans left out 24x7',
- confirmed => 1,
- deleted => 0,
+ state => 'confirmed',
editor => $0,
whenedited => \'current_timestamp',
note => 'test contact',
@@ -163,8 +154,7 @@ subtest 'check conflicting contacts not changed' => sub {
body_id => 1,
email => '001',
category => 'Bins left out 24x7',
- confirmed => 1,
- deleted => 0,
+ state => 'confirmed',
editor => $0,
whenedited => \'current_timestamp',
note => 'test contact',
@@ -182,14 +172,12 @@ subtest 'check conflicting contacts not changed' => sub {
$contact->discard_changes;
is $contact->email, 'existing@example.com', 'first contact email unchanged';
is $contact->category, 'Cans left out 24x7', 'first contact category unchanged';
- is $contact->confirmed, 1, 'first contact contact still confirmed';
- is $contact->deleted, 0, 'first contact contact still not deleted';
+ is $contact->state, 'confirmed', 'first contact still confirmed';
$contact2->discard_changes;
is $contact2->email, '001', 'second contact email unchanged';
is $contact2->category, 'Bins left out 24x7', 'second contact category unchanged';
- is $contact2->confirmed, 1, 'second contact contact still confirmed';
- is $contact2->deleted, 0, 'second contact contact still not deleted';
+ is $contact2->state, 'confirmed', 'second contact still confirmed';
my $contact_count = FixMyStreet::DB->resultset('Contact')->search( { body_id => 1 } )->count();
is $contact_count, 4, 'correct number of contacts';
@@ -220,8 +208,7 @@ subtest 'check meta data population' => sub {
body_id => 1,
email => '001',
category => 'Bins left out 24x7',
- confirmed => 1,
- deleted => 0,
+ state => 'confirmed',
editor => $0,
whenedited => \'current_timestamp',
note => 'test contact',
@@ -400,8 +387,7 @@ for my $test (
body_id => 1,
email => '100',
category => 'Cans left out 24x7',
- confirmed => 1,
- deleted => 0,
+ state => 'confirmed',
editor => $0,
whenedited => \'current_timestamp',
note => 'test contact',
@@ -474,8 +460,7 @@ subtest 'check attribute ordering' => sub {
body_id => 1,
email => '001',
category => 'Bins left out 24x7',
- confirmed => 1,
- deleted => 0,
+ state => 'confirmed',
editor => $0,
whenedited => \'current_timestamp',
note => 'test contact',
@@ -576,8 +561,7 @@ subtest 'check bromely skip code' => sub {
body_id => 1,
email => '001',
category => 'Bins left out 24x7',
- confirmed => 1,
- deleted => 0,
+ state => 'confirmed',
editor => $0,
whenedited => \'current_timestamp',
note => 'test contact',
diff --git a/t/roles/translatable.t b/t/roles/translatable.t
new file mode 100644
index 000000000..e13f49fc6
--- /dev/null
+++ b/t/roles/translatable.t
@@ -0,0 +1,77 @@
+use FixMyStreet::TestMech;
+my $mech = FixMyStreet::TestMech->new;
+
+my $body = FixMyStreet::DB->resultset("Body")->create({ name => 'Dunkirk' });
+my $contact = $mech->create_contact_ok(
+ body => $body,
+ email => 'potholes@dunkirk',
+ category => 'Potholes'
+);
+
+FixMyStreet::DB->resultset("Translation")->create({
+ lang => "fr",
+ tbl => "body",
+ object_id => $body->id,
+ col => "name",
+ msgstr => "Dunkerque",
+});
+
+FixMyStreet::DB->resultset("Translation")->create({
+ lang => "de",
+ tbl => "contact",
+ object_id => $contact->id,
+ col => "category",
+ msgstr => "Schlaglöcher",
+});
+
+FixMyStreet::DB->resultset("Translation")->create({
+ lang => "nb",
+ tbl => "contact",
+ object_id => $contact->id,
+ col => "category",
+ msgstr => "Hull i veien",
+});
+
+my ($problem) = $mech->create_problems_for_body(1, $body->id, "Title", {
+ whensent => \'current_timestamp',
+ category => 'Potholes',
+});
+
+is $body->name, "Dunkirk";
+is $contact->category_display, "Potholes";
+is $problem->category_display, "Potholes";
+
+# Multiple LANGUAGES so translation code is called
+FixMyStreet::override_config {
+ LANGUAGES => [ 'en-gb,English,en_GB', 'de,German,de_DE' ]
+}, sub {
+ FixMyStreet::DB->schema->lang("fr");
+ is $body->name, "Dunkerque";
+ is $contact->category_display, "Potholes";
+ is $problem->category_display, "Potholes";
+
+ FixMyStreet::DB->schema->lang("de");
+ is $body->name, "Dunkirk";
+ is $contact->category_display, "Schlaglöcher";
+ is $problem->category_display, "Schlaglöcher";
+
+ is $contact->translation_for('category', 'de')->msgstr, "Schlaglöcher";
+ is $body->translation_for('name', 'fr')->msgstr, "Dunkerque";
+
+ ok $body->add_translation_for('name', 'es', 'Dunkerque');
+
+ FixMyStreet::DB->schema->lang("es");
+ is $body->name, "Dunkerque";
+
+ is $body->translation_for('name')->count, 2;
+};
+
+FixMyStreet::override_config {
+ LANGUAGES => [ 'en-gb,English,en_GB', 'nb,Norwegian,nb_NO' ],
+ ALLOWED_COBRANDS => [ 'fiksgatami' ],
+}, sub {
+ $mech->get_ok($problem->url);
+ $mech->content_contains('Hull i veien');
+};
+
+done_testing;
diff --git a/t/sendreport/open311.t b/t/sendreport/open311.t
index c40b64d12..52b1952f4 100644
--- a/t/sendreport/open311.t
+++ b/t/sendreport/open311.t
@@ -1,7 +1,3 @@
-use strict;
-use warnings;
-use Test::More;
-
use CGI::Simple;
use FixMyStreet::TestMech;
my $mech = FixMyStreet::TestMech->new;
@@ -44,7 +40,4 @@ subtest 'testing Open311 behaviour', sub {
is $c->param('jurisdiction_id'), 'FMS', 'Request had correct jurisdiction';
};
-# Clean up
-$mech->delete_user($user);
-$mech->delete_body($body);
done_testing();
diff --git a/templates/email/default/_email_sidebar.html b/templates/email/default/_email_sidebar.html
index 291584195..7897d168c 100644
--- a/templates/email/default/_email_sidebar.html
+++ b/templates/email/default/_email_sidebar.html
@@ -1,6 +1,19 @@
-[% DEFAULT report = object ~%]
+[%
+
+# There are cases (eg: when sending email about an update on a problem)
+# where `object` might not be a report. So in those cases, you can pass
+# in a `report` argument, which should be the report the email is about.
+# Otherwise, we assume the `object` you passed is a report.
+DEFAULT report = object;
+
+# There are cases (eg: when confirming a not-yet-published report) where
+# you will want the map image to link to somewhere other than the report
+# page. So in those cases, you can pass in a custom `url` argument.
+DEFAULT url = cobrand.base_url_for_report(report) _ report.url
+
+~%]
<th style="[% td_style %][% secondary_column_style %]" id="secondary_column">
- <img style="[% map_image_style %]" src="[% inline_image(report.static_map, 'map.jpeg') %]" width="310" height="200" alt="">
+ <a href="[% url %]"><img style="[% map_image_style %]" src="[% inline_image(report.static_map, 'map.jpeg') %]" width="310" height="200" alt=""></a>
[% start_padded_box %]
[%~ IF object.photo %]
<img style="[% preview_photo_style %]" src="[% inline_image(object.get_first_image_fp) %]" alt="" align="right">
diff --git a/templates/email/default/other-updated.html b/templates/email/default/other-updated.html
index fbae37268..27eba9007 100644
--- a/templates/email/default/other-updated.html
+++ b/templates/email/default/other-updated.html
@@ -13,7 +13,7 @@ INCLUDE '_email_top.html';
<h1 style="[% h1_style %]">Your update has been&nbsp;logged</h1>
<p style="[% p_style %]">Your update has been logged on [% site_name %]:</p>
<p style="margin: 20px auto; text-align: center">
- <a style="[% button_style %]" href="[% cobrand.base_url_for_report(problem) %][% problem.url %]#update_[% update.id %]">View my update</a>
+ <a style="[% button_style %]" href="[% cobrand.base_url_for_report(problem) %][% update.url %]">View my update</a>
</p>
[% end_padded_box %]
</th>
diff --git a/templates/email/default/other-updated.txt b/templates/email/default/other-updated.txt
index 4900f6c29..7e5631ef1 100644
--- a/templates/email/default/other-updated.txt
+++ b/templates/email/default/other-updated.txt
@@ -4,7 +4,7 @@ Hello [% update.name %],
Your update has been logged on [% site_name %]:
-[% cobrand.base_url_for_report(problem) %][% problem.url %]#update_[% update.id %]
+[% cobrand.base_url_for_report(problem) %][% update.url %]
Your update reads:
diff --git a/templates/email/default/problem-confirm-not-sending.html b/templates/email/default/problem-confirm-not-sending.html
index dad5b64bc..827a49d55 100644
--- a/templates/email/default/problem-confirm-not-sending.html
+++ b/templates/email/default/problem-confirm-not-sending.html
@@ -22,7 +22,7 @@ council.</p>
<p style="[% p_style %]">If you no longer wish to publish this report, please take no further action.</p>
[% end_padded_box %]
</th>
-[% WRAPPER '_email_sidebar.html' object = report %]
+[% WRAPPER '_email_sidebar.html' object = report, url = token_url %]
<h2 style="[% h2_style %]">[% report.title | html %]</h2>
<p style="[% secondary_p_style %]">[% report.detail | html %]</p>
[% END %]
diff --git a/templates/email/default/problem-confirm.html b/templates/email/default/problem-confirm.html
index f69449b52..f545d7385 100644
--- a/templates/email/default/problem-confirm.html
+++ b/templates/email/default/problem-confirm.html
@@ -17,6 +17,8 @@ INCLUDE '_email_top.html';
Please note that [% c.cobrand.council_name %] is not responsible for this type
of problem, so it will instead be sent to [% report.body %].
[% END %]
+
+[% TRY %][% INCLUDE '_problem-confirm_extra.html' %][% CATCH file %][% END %]
</p>
<p style="[% p_style %]">Your report will also appear on the [% site_name %] website.</p>
<p style="margin: 20px auto; text-align: center">
@@ -25,7 +27,7 @@ of problem, so it will instead be sent to [% report.body %].
<p style="[% p_style %]">If you no longer wish to send this report, please take no further action.</p>
[% end_padded_box %]
</th>
-[% WRAPPER '_email_sidebar.html' object = report %]
+[% WRAPPER '_email_sidebar.html' object = report, url = token_url %]
<h2 style="[% h2_style %]">[% report.title | html %]</h2>
<p style="[% secondary_p_style %]">[% report.detail | html %]</p>
[% END %]
diff --git a/templates/email/default/problem-confirm.txt b/templates/email/default/problem-confirm.txt
index 9d0767671..e9e7378d1 100644
--- a/templates/email/default/problem-confirm.txt
+++ b/templates/email/default/problem-confirm.txt
@@ -14,6 +14,7 @@ into your web browser and press return.
Please note that [% c.cobrand.council_name %] is not responsible for this type
of problem, so it will instead be sent to [% report.body %].
[% END %]
+[% TRY %][% INCLUDE '_problem-confirm_extra.txt' %][% CATCH file %][% END %]
Your problem had the title:
[% report.title %]
diff --git a/templates/email/default/questionnaire.html b/templates/email/default/questionnaire.html
index ab5783d17..6d9c32af4 100644
--- a/templates/email/default/questionnaire.html
+++ b/templates/email/default/questionnaire.html
@@ -22,7 +22,7 @@ INCLUDE '_email_top.html';
<p style="[% p_style %]">Thank you! Your feedback is really valuable.</p>
[% end_padded_box %]
</th>
-[% WRAPPER '_email_sidebar.html' object = report %]
+[% WRAPPER '_email_sidebar.html' object = report, url = url %]
<h2 style="[% h2_style %]">[% title %]</h2>
<p style="[% secondary_p_style %]">[% report.detail | html %]</p>
[% END %]
diff --git a/templates/email/default/submit-example.txt b/templates/email/default/submit-example.txt
index c4ae6704f..1d9db23d3 100644
--- a/templates/email/default/submit-example.txt
+++ b/templates/email/default/submit-example.txt
@@ -55,5 +55,5 @@ feedback you may have.
FixMyStreet is now available for full integration into council
websites, making life easier for both you and your residents.
-Read more here: https://www.fixmystreet.com/about/council
+Read more here: https://www.fixmystreet.com/pro
diff --git a/templates/email/fixamingata/_email_bottom.html b/templates/email/fixamingata/_email_bottom.html
new file mode 100644
index 000000000..dab4486cd
--- /dev/null
+++ b/templates/email/fixamingata/_email_bottom.html
@@ -0,0 +1,17 @@
+ </tr>
+ <tr>
+ <th colspan="[% email_columns %]" style="[% td_style %][% hint_style %]" class="hint">
+ [%~ IF email_footer %]
+ [% email_footer %]
+ [%~ ELSE %]
+ Det går inte att svara på detta mail
+ [%~ END %]
+ </th>
+ </tr>
+ </table>
+ </th>
+ <th></th>
+ </tr>
+ </table>
+</body>
+</html>
diff --git a/templates/email/fixamingata/_email_color_overrides.html b/templates/email/fixamingata/_email_color_overrides.html
new file mode 100644
index 000000000..5deaf5f88
--- /dev/null
+++ b/templates/email/fixamingata/_email_color_overrides.html
@@ -0,0 +1,15 @@
+[%
+
+color_fixamingata_grey = '#eee'
+color_fixamingata_blue = '#00b1da'
+
+header_background_color = color_fixamingata_grey
+
+secondary_column_background_color = color_fixamingata_grey
+
+button_background_color = color_fixamingata_blue
+
+logo_width = "207" # pixel measurement, but without 'px' suffix
+logo_height = "35" # pixel measurement, but without 'px' suffix
+
+%]
diff --git a/templates/email/fixamingata/_email_comment_list.html b/templates/email/fixamingata/_email_comment_list.html
new file mode 100644
index 000000000..efbb3e8da
--- /dev/null
+++ b/templates/email/fixamingata/_email_comment_list.html
@@ -0,0 +1,14 @@
+[% FOR update IN data %]
+ <div style="[% list_item_style %]">
+ [%~ IF update.item_photo %]
+ <a href="[% problem_url %]">
+ <img style="[% list_item_photo_style %]" src="[% inline_image(update.get_first_image_fp) %]" alt="">
+ </a>
+ [%~ END %]
+ <p style="[% list_item_p_style %]">&ldquo;[% update.item_text | html %]&rdquo;</p>
+ <p style="[% list_item_date_style %]">
+ [%~ update.item_name | html IF update.item_name AND NOT update.item_anonymous -%]
+ [% '(' _ cobrand.prettify_dt(update.confirmed) _ ') ' IF cobrand.include_time_in_update_alerts -%]
+ </p>
+ </div>
+[% END %]
diff --git a/templates/email/fixamingata/_email_report_list.html b/templates/email/fixamingata/_email_report_list.html
new file mode 100644
index 000000000..5f7f67864
--- /dev/null
+++ b/templates/email/fixamingata/_email_report_list.html
@@ -0,0 +1,19 @@
+[% FOR report IN data %]
+<div style="[% list_item_style %]">
+[% IF report.photo %]
+ <a href="[% cobrand.base_url_for_report( report ) %]/report/[% report.id %]">
+ <img style="[% list_item_photo_style %]" src="[% inline_image(report.get_first_image_fp) %]" alt="">
+ </a>
+[% END %]
+ <h2 style="[% list_item_h2_style %]">
+ <a href="[% cobrand.base_url_for_report( report ) %]/report/[% report.id %]">
+ [%~ report.title | html ~%]
+ </a>
+ </h2>
+ <p style="[% list_item_p_style %]">[% report.detail | html %]</p>
+ <p style="[% list_item_date_style %]">
+ [% cobrand.prettify_dt( report.confirmed ) %].
+ [% report.nearest %]
+ </p>
+</div>
+[% END %]
diff --git a/templates/email/fixamingata/alert-confirm.html b/templates/email/fixamingata/alert-confirm.html
new file mode 100644
index 000000000..43b09fc24
--- /dev/null
+++ b/templates/email/fixamingata/alert-confirm.html
@@ -0,0 +1,21 @@
+[%
+
+email_summary = "Bekräfta din bevakning på FixaMinGata";
+email_columns = 1;
+
+PROCESS '_email_settings.html';
+
+INCLUDE '_email_top.html';
+
+%]
+
+<th style="[% td_style %][% only_column_style %]">
+ <h1 style="[% h1_style %]">Bekräfta din bevakning på&nbsp;FixaMinGata</h1>
+ <p style="[% p_style %]">Vänligen klicka på knappen nedan för att bekräfta din prenumerationsbevakning på FixaMinGata:</p>
+ <p style="margin: 20px auto; text-align: center">
+ <a style="[% button_style %]" href="[% token_url %]">Aktivera bevakning</a>
+ </p>
+ <p style="[% p_style %]">Om du inte vill aktivera din bevakning så behöver du inte göra något.</p>
+</th>
+
+[% INCLUDE '_email_bottom.html' %]
diff --git a/templates/email/fixamingata/alert-confirm.txt b/templates/email/fixamingata/alert-confirm.txt
index c2a32b051..8f17765b6 100644
--- a/templates/email/fixamingata/alert-confirm.txt
+++ b/templates/email/fixamingata/alert-confirm.txt
@@ -1,9 +1,9 @@
-Subject: Bekräfta din bevakning på [% INCLUDE 'site-name.txt' | trim %]
+Subject: Bekräfta din bevakning på FixaMinGata
Hej,
-vänligen klicka på länken nedan för att bekräfta den bevakning du
-just valde att prenumerera till på [% INCLUDE 'site-name.txt' | trim %]:
+Vänligen klicka på länken nedan för att bekräfta den bevakning du
+just valde att prenumerera till på FixaMinGata:
[% token_url %]
diff --git a/templates/email/fixamingata/alert-problem-area.html b/templates/email/fixamingata/alert-problem-area.html
new file mode 100644
index 000000000..45e1b7db5
--- /dev/null
+++ b/templates/email/fixamingata/alert-problem-area.html
@@ -0,0 +1,19 @@
+[%
+
+email_summary = "Nya rapporter i " _ area_name _ " på FixaMinGata";
+email_columns = 1;
+
+PROCESS '_email_settings.html';
+
+INCLUDE '_email_top.html';
+
+%]
+
+<th style="[% td_style %][% only_column_style %]">
+ <h1 style="[% h1_style %]">Nya rapporter inom [% area_name %]</h1>
+ [%~ INCLUDE '_email_report_list.html' %]
+
+ <p style="[% p_style %]"><a href="[% unsubscribe_url %]">Avsluta min prenumeration på nya rapporter i [% area_name %]</a></p>
+</th>
+
+[% INCLUDE '_email_bottom.html' %]
diff --git a/templates/email/fixamingata/alert-problem-council.html b/templates/email/fixamingata/alert-problem-council.html
new file mode 100644
index 000000000..4f4df5820
--- /dev/null
+++ b/templates/email/fixamingata/alert-problem-council.html
@@ -0,0 +1,19 @@
+[%
+
+email_summary = "Nya rapporter i ${ area_name } på FixaMinGata";
+email_columns = 1;
+
+PROCESS '_email_settings.html';
+
+INCLUDE '_email_top.html';
+
+%]
+
+<th style="[% td_style %][% only_column_style %]">
+ <h1 style="[% h1_style %]">Nya rapporter inom [% area_name %]</h1>
+ [%~ INCLUDE '_email_report_list.html' %]
+
+ <p style="[% p_style %]"><a href="[% unsubscribe_url %]">Avsluta min prenumeration på nya rapporter i [% area_name %]</a></p>
+</th>
+
+[% INCLUDE '_email_bottom.html' %]
diff --git a/templates/email/fixamingata/alert-problem-nearby.html b/templates/email/fixamingata/alert-problem-nearby.html
new file mode 100644
index 000000000..19e086a1a
--- /dev/null
+++ b/templates/email/fixamingata/alert-problem-nearby.html
@@ -0,0 +1,19 @@
+[%
+
+email_summary = "Nya rapporter på FixaMinGata";
+email_columns = 1;
+
+PROCESS '_email_settings.html';
+
+INCLUDE '_email_top.html';
+
+%]
+
+<th style="[% td_style %][% only_column_style %]">
+ <h1 style="[% h1_style %]">Nya rapporter i din&nbsp;närhet</h1>
+ [%~ INCLUDE '_email_report_list.html' %]
+
+ <p style="[% p_style %]"><a href="[% unsubscribe_url %]">Avsluta min prenumeration på den här typen av rapporter</a></p>
+</th>
+
+[% INCLUDE '_email_bottom.html' %]
diff --git a/templates/email/fixamingata/alert-problem-nearby.txt b/templates/email/fixamingata/alert-problem-nearby.txt
index e278e0b7b..358032ed5 100644
--- a/templates/email/fixamingata/alert-problem-nearby.txt
+++ b/templates/email/fixamingata/alert-problem-nearby.txt
@@ -1,6 +1,6 @@
Subject: Nya rapporter på FixaMinGata
-Följande rapporter har nyligen lagts till på:
+Följande rapporter har nyligen lagts till i din närhet:
[% INCLUDE '_email_report_list.txt' %]
diff --git a/templates/email/fixamingata/alert-problem-ward.html b/templates/email/fixamingata/alert-problem-ward.html
new file mode 100644
index 000000000..b189d56a4
--- /dev/null
+++ b/templates/email/fixamingata/alert-problem-ward.html
@@ -0,0 +1,19 @@
+[%
+
+email_summary = "Nya rapporter i " _ area_name _ " på FixaMinGata"
+email_columns = 1;
+
+PROCESS '_email_settings.html';
+
+INCLUDE '_email_top.html';
+
+%]
+
+<th style="[% td_style %][% only_column_style %]">
+ <h1 style="[% h1_style %]">Nya rapporter inom [% area_name %]</h1>
+ [%~ INCLUDE '_email_report_list.html' %]
+
+ <p style="[% p_style %]"><a href="[% unsubscribe_url %]">Avsluta min prenumeration på nya rapporter i [% area_name %]</a></p>
+</th>
+
+[% INCLUDE '_email_bottom.html' %]
diff --git a/templates/email/fixamingata/alert-problem.html b/templates/email/fixamingata/alert-problem.html
new file mode 100644
index 000000000..a91e3d545
--- /dev/null
+++ b/templates/email/fixamingata/alert-problem.html
@@ -0,0 +1,19 @@
+[%
+
+email_summary = "Nya rapporter på FixaMinGata";
+email_columns = 1;
+
+PROCESS '_email_settings.html';
+
+INCLUDE '_email_top.html';
+
+%]
+
+<th style="[% td_style %][% only_column_style %]">
+ <h1 style="[% h1_style %]">Nya rapporter på FixaMinGata</h1>
+ [%~ INCLUDE '_email_report_list.html' %]
+
+ <p style="[% p_style %]"><a href="[% unsubscribe_url %]">Avsluta min prenumeration på nya rapporter</a></p>
+</th>
+
+[% INCLUDE '_email_bottom.html' %]
diff --git a/templates/email/fixamingata/alert-update.html b/templates/email/fixamingata/alert-update.html
new file mode 100644
index 000000000..e24bb4e31
--- /dev/null
+++ b/templates/email/fixamingata/alert-update.html
@@ -0,0 +1,25 @@
+[%
+
+title = title | html;
+email_summary = "Ny uppdatering - " _ title;
+email_columns = 2;
+
+PROCESS '_email_settings.html';
+
+INCLUDE '_email_top.html';
+
+%]
+
+<th style="[% td_style %][% primary_column_style %]" id="primary_column">
+ [% start_padded_box %]
+ <h1 style="[% h1_style %]">Ny uppdatering i <a href="[% problem_url %]">[% title %]</a></h1>
+ [%~ INCLUDE '_email_comment_list.html' %]
+ <p style="[% p_style %]"><a href="[% unsubscribe_url %]">Avsluta min prenumeration kring denna rapport</a></p>
+ [% end_padded_box %]
+</th>
+[% WRAPPER '_email_sidebar.html' object = report %]
+ <h2 style="[% h2_style %]">[% title | html %]</h2>
+ <p style="[% secondary_p_style %]">[% detail | html %]</p>
+[% END %]
+
+[% INCLUDE '_email_bottom.html' %]
diff --git a/templates/email/fixamingata/change_email.html b/templates/email/fixamingata/change_email.html
new file mode 100644
index 000000000..c5514fc2f
--- /dev/null
+++ b/templates/email/fixamingata/change_email.html
@@ -0,0 +1,21 @@
+[%
+
+email_summary = "Klicka på den här länken för att ändra din FixaMinGata-epostadress";
+email_columns = 1;
+
+PROCESS '_email_settings.html';
+
+INCLUDE '_email_top.html';
+
+%]
+
+<th style="[% td_style %][% only_column_style %]">
+ <h1 style="[% h1_style %]">Ändra din&nbsp;FixaMinGata-epostadress</h1>
+ <p style="[% p_style %]">Klicka på länken nedan för att bekräfta att du vill uppdatera din epostadress på FixaMinGata.</p>
+ <p style="margin: 20px auto; text-align: center">
+ <a style="[% button_style %]" href="[% c.uri_for_action( 'auth/token', token ) %]">Ändra min epostadress</a>
+ </p>
+ <p style="[% p_style %]">Om du inte vill ändra din epostadress så behöver du inte göra något.</p>
+</th>
+
+[% INCLUDE '_email_bottom.html' %]
diff --git a/templates/email/fixamingata/change_email.txt b/templates/email/fixamingata/change_email.txt
new file mode 100644
index 000000000..c83c9bd3f
--- /dev/null
+++ b/templates/email/fixamingata/change_email.txt
@@ -0,0 +1,10 @@
+Subject: Uppdatera din e-postadress på [% site_name %]
+
+Klicka på länken nedan för att bekräfta att du vill uppdatera din
+e-postadress på [% site_name %].
+
+[% c.uri_for_action( 'auth/token', token ) %]
+
+[% INCLUDE 'signature.txt' %]
+
+Det går inte att svara på detta mail.
diff --git a/templates/email/fixamingata/confirm_report_sent.txt b/templates/email/fixamingata/confirm_report_sent.txt
new file mode 100644
index 000000000..50b28caf4
--- /dev/null
+++ b/templates/email/fixamingata/confirm_report_sent.txt
@@ -0,0 +1,23 @@
+Subject: [% site_name %] Rapport skickad: [% title %]
+
+Hej,
+
+Tack för att du använder [% site_name %] för att skicka din rapport
+"[% title %]".
+
+Din rapport har nu skickats till [% bodies_name %].
+
+Din rapport är också tillgänglig på [% url %], där andra kan läsa eller
+diskutera kring rapporten.
+
+Du kan lämna uppdateringar på ovanstående sida, men dessa kommer inte att
+skickas till kommunen.
+
+Om du vill skicka en uppdatering till din kommun, gör då detta då de har
+återkopplat till dig, så att du kan svara direkt till kommunen.
+
+Lycka till med att få ditt problem fixat!
+
+[% signature %]
+
+Det går inte att svara på detta mail.
diff --git a/templates/email/fixamingata/contact.html b/templates/email/fixamingata/contact.html
new file mode 100644
index 000000000..47c828a36
--- /dev/null
+++ b/templates/email/fixamingata/contact.html
@@ -0,0 +1,38 @@
+[%
+
+subject_html = subject | html;
+name = form_name | html;
+email_summary = "&ldquo;" _ subject_html _ "&rdquo; &ndash; Meddelande från " _ name _ " hos " _ host;
+email_footer = "Skickat via " _ host _ " och IP-adressen " _ ip;
+email_columns = 1;
+
+PROCESS '_email_settings.html';
+
+INCLUDE '_email_top.html';
+
+%]
+
+<th style="[% td_style %][% contact_meta_style %]">
+ <table [% table_reset %]>
+ <tr>
+ <th style="[% contact_th_style %]">Från</th>
+ <td style="[% contact_td_style %]">[% name %] &lt;<a href="mailto:[% em | html %]">[% em | html %]</a>&gt;</td>
+ </tr>
+ </table>
+</th>
+</tr>
+
+<tr>
+<th style="[% td_style %][% only_column_style %]">
+ <h1 style="[% h1_style %]">[% subject | html %]</h1>
+ <p style="[% p_style %]">[% message | html %]</p>
+ [%~ IF complaint %]
+ <p style="[% secondary_p_style %]">
+ [% complaint | html %]
+ - <a href="[% problem_url %]">Rapport</a>
+ - <a href="[% admin_url %]">Administratörskontrollpanel</a>
+ </p>
+ [%~ END %]
+</th>
+
+[% INCLUDE '_email_bottom.html' %]
diff --git a/templates/email/fixamingata/login.html b/templates/email/fixamingata/login.html
new file mode 100644
index 000000000..ade57f912
--- /dev/null
+++ b/templates/email/fixamingata/login.html
@@ -0,0 +1,21 @@
+[%
+
+email_summary = "Klicka på knappen för att bekräfta din e-postadress och logga in på FixaMinGata";
+email_columns = 1;
+
+PROCESS '_email_settings.html';
+
+INCLUDE '_email_top.html';
+
+%]
+
+<th style="[% td_style %][% only_column_style %]">
+ <h1 style="[% h1_style %]">Välkommen till FixaMinGata!</h1>
+ <p style="[% p_style %]">För att bekräfta din epostadress måste du nu klicka på knappen nedan.</p>
+ <p style="margin: 20px auto; text-align: center">
+ <a style="[% button_style %]" href="[% c.uri_for_action( 'auth/token', token ) %]">Bekräfta min epostadress</a>
+ </p>
+ <p style="[% p_style %]">Du kommer sedan att kunna se dina rapporter och hantera dem via sajten.</p>
+</th>
+
+[% INCLUDE '_email_bottom.html' %]
diff --git a/templates/email/fixamingata/login.txt b/templates/email/fixamingata/login.txt
index defcb57cb..e3d8f9f27 100644
--- a/templates/email/fixamingata/login.txt
+++ b/templates/email/fixamingata/login.txt
@@ -1,4 +1,4 @@
-Subject: [% loc('Your FixMyStreet.com account details') %]
+Subject: Ditt FixaMinGata-konto
Välkommen till FixaMinGata!
@@ -6,7 +6,6 @@ För att bekräfta din epostadress måste du nu klicka på länken nedan.
Du kommer sedan att kunna se dina rapporter och hantera dem via
webbsidan.
-
[% c.uri_for_action( 'auth/token', token ) %]
[% INCLUDE 'signature.txt' %]
diff --git a/templates/email/fixamingata/other-reported.html b/templates/email/fixamingata/other-reported.html
new file mode 100644
index 000000000..3ba29dcb0
--- /dev/null
+++ b/templates/email/fixamingata/other-reported.html
@@ -0,0 +1,30 @@
+[%
+
+email_summary = "Tack för att du loggade din rapport";
+email_columns = 2;
+
+PROCESS '_email_settings.html';
+INCLUDE '_email_top.html';
+
+%]
+
+<th style="[% td_style %][% primary_column_style %]" id="primary_column">
+ [% start_padded_box %]
+ <h1 style="[% h1_style %]">Din rapport har&nbsp;loggats</h1>
+ <p style="[% p_style %]">Din rapport till [% report.body %] har blivit loggad på [% site_name %].
+[% IF c.cobrand.is_council && !c.cobrand.owns_problem( report ) %]
+Eftersom [% c.cobrand.council_name %] inte är ansvarig för den här typen av
+rapporter, så kommer rapporten istället att skickas till [% report.body %].
+[% END %]
+ </p>
+ <p style="margin: 20px auto; text-align: center">
+ <a style="[% button_style %]" href="[% cobrand.base_url_for_report(report) %][% report.url %]">Visa min rapport</a>
+ </p>
+ [% end_padded_box %]
+</th>
+[% WRAPPER '_email_sidebar.html' object = report %]
+ <h2 style="[% h2_style %]">[% report.title | html %]</h2>
+ <p style="[% secondary_p_style %]">[% report.detail | html %]</p>
+[% END %]
+
+[% INCLUDE '_email_bottom.html' %]
diff --git a/templates/email/fixamingata/other-reported.txt b/templates/email/fixamingata/other-reported.txt
new file mode 100644
index 000000000..f530f788e
--- /dev/null
+++ b/templates/email/fixamingata/other-reported.txt
@@ -0,0 +1,26 @@
+Subject: Din rapport har&nbsp;loggats: [% report.title %]
+
+Hej [% report.name %],
+
+Din rapport till [% report.body %] har blivit loggad på [% site_name %].
+
+[% IF c.cobrand.is_council && !c.cobrand.owns_problem( report ) %]
+Eftersom [% c.cobrand.council_name %] inte är ansvarig för den här typen av
+rapporter, så kommer rapporten istället att skickas till [% report.body %].
+[% END %]
+
+Du kan se din rapport på:
+
+[% cobrand.base_url_for_report(report) %][% report.url %]
+
+Din rapport har titeln:
+
+[% report.title %]
+
+Och detaljerna:
+
+[% report.detail %]
+
+[% INCLUDE 'signature.txt' %]
+
+Det går inte att svara på detta mail.
diff --git a/templates/email/fixamingata/other-updated.html b/templates/email/fixamingata/other-updated.html
new file mode 100644
index 000000000..7be360ef7
--- /dev/null
+++ b/templates/email/fixamingata/other-updated.html
@@ -0,0 +1,26 @@
+[%
+
+email_summary = "Tack för att du loggade din uppdatering";
+email_columns = 2;
+
+PROCESS '_email_settings.html';
+INCLUDE '_email_top.html';
+
+%]
+
+<th style="[% td_style %][% primary_column_style %]" id="primary_column">
+ [% start_padded_box %]
+ <h1 style="[% h1_style %]">Din uppdatering har&nbsp;loggats</h1>
+ <p style="[% p_style %]">Din uppdatering har blivit loggad på [% site_name %]:</p>
+ <p style="margin: 20px auto; text-align: center">
+ <a style="[% button_style %]" href="[% cobrand.base_url_for_report(problem) %][% problem.url %]#update_[% update.id %]">Visa min uppdatering</a>
+ </p>
+ [% end_padded_box %]
+</th>
+[% WRAPPER '_email_sidebar.html'
+ object = update
+ report = problem %]
+ <p style="[% secondary_p_style %]">[% update.text | html %]</p>
+[% END %]
+
+[% INCLUDE '_email_bottom.html' %]
diff --git a/templates/email/fixamingata/other-updated.txt b/templates/email/fixamingata/other-updated.txt
new file mode 100644
index 000000000..2010511e9
--- /dev/null
+++ b/templates/email/fixamingata/other-updated.txt
@@ -0,0 +1,15 @@
+Subject: Din uppdatering har loggats
+
+Hej [% update.name %],
+
+Din uppdatering har blivit loggad på [% site_name %]:
+
+[% cobrand.base_url_for_report(problem) %][% problem.url %]#update_[% update.id %]
+
+Din uppdatering:
+
+[% update.text %]
+
+[% INCLUDE 'signature.txt' %]
+
+Det går inte att svara på detta mail.
diff --git a/templates/email/fixamingata/problem-confirm-not-sending.html b/templates/email/fixamingata/problem-confirm-not-sending.html
new file mode 100644
index 000000000..665288a02
--- /dev/null
+++ b/templates/email/fixamingata/problem-confirm-not-sending.html
@@ -0,0 +1,30 @@
+[%
+
+email_summary = "Du måste bekräfta din FixaMinGata-rapport innan den kan visas på sajten";
+email_columns = 2;
+
+PROCESS '_email_settings.html';
+
+INCLUDE '_email_top.html';
+
+%]
+
+<th style="[% td_style %][% primary_column_style %]" id="primary_column">
+ [% start_padded_box %]
+ <h1 style="[% h1_style %]">Bekräfta din&nbsp;FixaMinGata-rapport</h1>
+ <p style="[% p_style %]">För att bekräfta den rapport som du nyligen lade in på FixaMinGata
+måste du klicka på nedanstående länk. Notera att din rapport inte kommer att
+skickas till kommunen.</p>
+ <p style="[% p_style %]">Din rapport kommer också att visas på FixaMinGata.</p>
+ <p style="margin: 20px auto; text-align: center">
+ <a style="[% button_style %]" href="[% token_url %]">Skicka min rapport</a>
+ </p>
+ <p style="[% p_style %]">Om du inte vill skicka din rapport så behöver du inte göra något.</p>
+ [% end_padded_box %]
+</th>
+[% WRAPPER '_email_sidebar.html' object = report, url = token_url %]
+ <h2 style="[% h2_style %]">[% report.title | html %]</h2>
+ <p style="[% secondary_p_style %]">[% report.detail | html %]</p>
+[% END %]
+
+[% INCLUDE '_email_bottom.html' %]
diff --git a/templates/email/fixamingata/problem-confirm-not-sending.txt b/templates/email/fixamingata/problem-confirm-not-sending.txt
new file mode 100644
index 000000000..0ec162063
--- /dev/null
+++ b/templates/email/fixamingata/problem-confirm-not-sending.txt
@@ -0,0 +1,22 @@
+Subject: Bekräfta din rapport på [% INCLUDE 'site-name.txt' | trim %]
+
+Hej [% report.name %],
+
+För att bekräfta den rapport som du nyligen lade in på FixaMinGata
+måste du klicka på nedanstående länk. Notera att din rapport inte
+kommer att skickas till kommunen.
+
+[% token_url %]
+
+Om det inte går att klicka på länken kan du kopiera den och klistra in
+i adressfältet på din webläsare.
+
+Din rapport har titeln: [% report.title %]
+
+Du har angivit följande information om problemet:
+
+[% report.detail %]
+
+[% INCLUDE 'signature.txt' %]
+
+Det går inte att svara på detta mail.
diff --git a/templates/email/fixamingata/problem-confirm.html b/templates/email/fixamingata/problem-confirm.html
new file mode 100644
index 000000000..937743fc6
--- /dev/null
+++ b/templates/email/fixamingata/problem-confirm.html
@@ -0,0 +1,29 @@
+[%
+
+email_summary = "Du måste bekräfta din FixaMinGata-rapport innan den kan skickas till ${ report.body }";
+email_columns = 2;
+
+PROCESS '_email_settings.html';
+
+INCLUDE '_email_top.html';
+
+%]
+
+<th style="[% td_style %][% primary_column_style %]" id="primary_column">
+ [% start_padded_box %]
+ <h1 style="[% h1_style %]">Bekräfta din&nbsp;FixaMinGata-rapport</h1>
+ <p style="[% p_style %]">För att bekräfta den rapport som du nyligen lade in på FixaMinGata
+måste du klicka på nedanstående knapp.</p>
+ <p style="[% p_style %]">Din rapport kommer också att visas på FixaMinGata.</p>
+ <p style="margin: 20px auto; text-align: center">
+ <a style="[% button_style %]" href="[% token_url %]">Skicka min rapport</a>
+ </p>
+ <p style="[% p_style %]">Om du inte vill skicka din rapport så behöver du inte göra något.</p>
+ [% end_padded_box %]
+</th>
+[% WRAPPER '_email_sidebar.html' object = report, url = token_url %]
+ <h2 style="[% h2_style %]">[% report.title | html %]</h2>
+ <p style="[% secondary_p_style %]">[% report.detail | html %]</p>
+[% END %]
+
+[% INCLUDE '_email_bottom.html' %]
diff --git a/templates/email/fixamingata/problem-confirm.txt b/templates/email/fixamingata/problem-confirm.txt
index 67bc4b82d..8d020ce5d 100644
--- a/templates/email/fixamingata/problem-confirm.txt
+++ b/templates/email/fixamingata/problem-confirm.txt
@@ -16,5 +16,4 @@ Du har angivit följande information om problemet:
[% report.detail %]
-
[% INCLUDE 'signature.txt' %]
diff --git a/templates/email/fixamingata/problem-moderated.html b/templates/email/fixamingata/problem-moderated.html
new file mode 100644
index 000000000..02bace72f
--- /dev/null
+++ b/templates/email/fixamingata/problem-moderated.html
@@ -0,0 +1,32 @@
+[%
+
+email_summary = "Din rapport på " _ site_name _ " har blivit modererad.";
+email_columns = 2;
+
+PROCESS '_email_settings.html';
+
+INCLUDE '_email_top.html';
+
+%]
+
+<th style="[% td_style %][% primary_column_style %]" id="primary_column">
+ [% start_padded_box %]
+ <h1 style="[% h1_style %]">Din rapport har blivit&nbsp;modererad</h1>
+[% IF types == 'hide' -%]
+ <p style="[% p_style %]">Din rapport har dolts från sajten.</p>
+[% ELSE %]
+ <p style="[% p_style %]">Följande information har ändrats: <strong>[% types %]</strong></p>
+ <p style="margin: 20px auto; text-align: center">
+ <a style="[% button_style %]" href="[% report_uri %]">Visa min rapport</a>
+ </p>
+[% END -%]
+ <p style="[% p_style %]">Om du inte tycker att rapporten skulle ha blivit modererad kan du
+kontakta FixaMinGata:s support på <a href="[% report_complain_uri %]">[% report_complain_uri %]</a></p>
+ [% end_padded_box %]
+</th>
+[% WRAPPER '_email_sidebar.html' object = problem %]
+ <h2 style="[% h2_style %]">[% problem.moderation_original_data.title | html %]</h2>
+ <p style="[% secondary_p_style %]">[% problem.moderation_original_data.detail | html %]</p>
+[% END %]
+
+[% INCLUDE '_email_bottom.html' %]
diff --git a/templates/email/fixamingata/problem-moderated.txt b/templates/email/fixamingata/problem-moderated.txt
new file mode 100644
index 000000000..ad03ba421
--- /dev/null
+++ b/templates/email/fixamingata/problem-moderated.txt
@@ -0,0 +1,33 @@
+Subject: Din rapport har blivit modererad
+
+Hej [% user.name %],
+
+Din rapport på [% site_name %] har blivit modererad.
+
+[% IF types == 'hide' -%]
+Din rapport har dolts från sajten.
+[% ELSE %]
+Följande information har ändrats:
+
+ [% types %]
+
+[% END -%]
+
+Din rapport har titeln:
+
+[% problem.moderation_original_data.title %]
+
+Du har angivit följande information om problemet:
+
+[% problem.moderation_original_data.detail %]
+
+[% UNLESS types == 'hide' %]
+Du kan se rapporten på [% report_uri %]
+[% END %]
+
+Om du inte tycker att rapporten skulle ha blivit modererad kan du kontakta
+FixaMinGata:s support på [% report_complain_uri %]
+
+[% INCLUDE 'signature.txt' %]
+
+Det går inte att svara på detta mail.
diff --git a/templates/email/fixamingata/questionnaire.html b/templates/email/fixamingata/questionnaire.html
new file mode 100644
index 000000000..0f15b478e
--- /dev/null
+++ b/templates/email/fixamingata/questionnaire.html
@@ -0,0 +1,30 @@
+[%
+
+title = report.title | html;
+email_summary = "Har du en minut över? Informera oss om vad som hände med din FixaMinGata-rapport om ${ title }.";
+email_columns = 2;
+
+PROCESS '_email_settings.html';
+
+INCLUDE '_email_top.html';
+
+%]
+
+<th style="[% td_style %][% primary_column_style %]" id="primary_column">
+ [% start_padded_box %]
+ <h1 style="[% h1_style %]">Har ditt problem blivit&nbsp;fixat?</h1>
+ <p style="[% p_style %]">[% created %] sedan lämnade du en rapport på FixaMinGata.</p>
+ <p style="[% p_style %]">För att hålla alla rapporter uppdaterade skulle vi uppskatta om du kunde informera oss om huruvida problemet har blivit fixat än:</p>
+ <p style="margin: 20px auto; text-align: center">
+ <a style="[% fixed_button_style %]" href="[% url %]">Fixat</a>
+ <a style="[% notfixed_button_style %]" href="[% url %]">Ej fixat</a>
+ </p>
+ <p style="[% p_style %]">Tack! Din feedback är värdefull.</p>
+ [% end_padded_box %]
+</th>
+[% WRAPPER '_email_sidebar.html' object = report, url = url %]
+ <h2 style="[% h2_style %]">[% title %]</h2>
+ <p style="[% secondary_p_style %]">[% report.detail | html %]</p>
+[% END %]
+
+[% INCLUDE '_email_bottom.html' %]
diff --git a/templates/email/fixamingata/reply-autoresponse b/templates/email/fixamingata/reply-autoresponse
index 7935b1717..aee80078f 100644
--- a/templates/email/fixamingata/reply-autoresponse
+++ b/templates/email/fixamingata/reply-autoresponse
@@ -2,7 +2,7 @@ Subject: Automatiskt svar på ditt brev till FixaMinGata
Hej,
-det här ett ett automatiskt svar på ditt brev. Ditt brev har inte
+Det här ett ett automatiskt svar på ditt brev. Ditt brev har inte
lästs eller levererats till någon.
Om du svarar på ett brev om en uppdatering måste du klicka på
diff --git a/templates/email/fixamingata/submit.html b/templates/email/fixamingata/submit.html
new file mode 100644
index 000000000..da4e7f48f
--- /dev/null
+++ b/templates/email/fixamingata/submit.html
@@ -0,0 +1,57 @@
+[%
+
+email_summary = "Det här meddelandet rör en rapport om ett problem i gatumiljön som en medborgare lämnat via tjänsten FixaMinGata";
+email_footer = "Föreningen Sambruk som driver tjänsten ansvarar för en användargrupp som det går bra att gå med i för att få tillgång till ytterligare FixaMinGata-relaterade tjänster och support. Bland annat kan varje kategori ha sin egen e-postadress, och FixaMinGata kan även kopplas mot system som Open311";
+email_columns = 2;
+
+PROCESS '_email_settings.html';
+
+INCLUDE '_email_top.html';
+
+%]
+
+<th style="[% td_style %][% primary_column_style %]" id="primary_column">
+ [% start_padded_box %]
+ <h1 style="[% h1_style %]">Ny rapport för [% report.body %]</h1>
+ <p style="[% p_style %]">[% missing %][% multiple %]Följande rapport
+tror medborgaren behöver er uppmärksamhet.</p>
+
+ <p style="margin: 20px auto; text-align: center">
+ <a style="[% button_style %]" href="[% url %]">Visa rapporten</a>
+ </p>
+ <h2 style="[% h2_style %] margin: 30px 0 10px 0">Rapporterad av:</h2>
+ <table [% table_reset %]>
+ <tr>
+ <th style="[% contact_th_style %]">Namn</th>
+ <td style="[% contact_td_style %]">[% name | html %]</td>
+ </tr>
+ <tr>
+ <th style="[% contact_th_style %]">Epost</th>
+ <td style="[% contact_td_style %]"><a href="mailto:[% email | html %]">[% email | html %]</a></td>
+ </tr>
+ [%~ IF phone %]
+ <tr>
+ <th style="[% contact_th_style %]">Telefon</th>
+ <td style="[% contact_td_style %]"><a href="tel:[% phone | html %]">[% phone | html %]</a></td>
+ </tr>
+ [%~ END %]
+ </table>
+ <p style="[% p_style %] margin-top: 0.5em;">Svar på det här brevet kommer att skickas till den person som lämnade rapporten.</p>
+ [% end_padded_box %]
+</th>
+[% WRAPPER '_email_sidebar.html' object = report %]
+ <h2 style="[% h2_style %]">[% title | html %]</h2>
+ [%~ IF category_line %]
+ <p style="[% secondary_p_style %]">[% category | html %]</p>
+ [%~ END %]
+ <p style="[% secondary_p_style %]">[% detail | html %]</p>
+ <p style="[% secondary_p_style %]">
+ <strong>Plats:</strong>
+ <a href="[% osm_url %]" title="Se den här platsen på OpenStreetMap">
+ [%~ latitude %], [% longitude ~%]
+ </a>
+ [% IF closest_address %]<br>[% closest_address | trim | replace("\n\n", "<br>") %][% END %]
+ </p>
+[% END %]
+
+[% INCLUDE '_email_bottom.html' %]
diff --git a/templates/email/fixamingata/update-confirm-donotsend.txt b/templates/email/fixamingata/update-confirm-donotsend.txt
new file mode 100644
index 000000000..1dae08ac9
--- /dev/null
+++ b/templates/email/fixamingata/update-confirm-donotsend.txt
@@ -0,0 +1,2 @@
+Notera att vi inte skickar uppdateringar till [% update.problem.body %] - endast
+användare som prenumererar på uppdateringar i ärendet kommer att se ditt inlägg.
diff --git a/templates/email/fixamingata/update-confirm.html b/templates/email/fixamingata/update-confirm.html
new file mode 100644
index 000000000..3953b16fd
--- /dev/null
+++ b/templates/email/fixamingata/update-confirm.html
@@ -0,0 +1,29 @@
+[%
+
+email_summary = "Bekräfta din uppdatering på " _ site_name;
+email_columns = 2;
+
+PROCESS '_email_settings.html';
+
+INCLUDE '_email_top.html';
+
+%]
+
+<th style="[% td_style %][% primary_column_style %]" id="primary_column">
+ [% start_padded_box %]
+ <h1 style="[% h1_style %]">Bekräfta din uppdatering</h1>
+ <p style="[% p_style %]">Vänligen klicka på knappen nedan för att bekräfta den uppdatering du just lämnade:</p>
+ <p style="margin: 20px auto; text-align: center">
+ <a style="[% button_style %]" href="[% token_url %]">Bekräfta min uppdatering</a>
+ </p>
+ <p style="[% p_style %]">[% INCLUDE 'update-confirm-donotsend.txt' %]</p>
+ <p style="[% p_style %]">Om du inte vill bekräfta din uppdatering behöver du inte göra något.</p>
+ [% end_padded_box %]
+</th>
+[% WRAPPER '_email_sidebar.html'
+ object = update
+ report = problem %]
+ <p style="[% secondary_p_style %]">[% update.text | html %]</p>
+[% END %]
+
+[% INCLUDE '_email_bottom.html' %]
diff --git a/templates/email/fixamingata/update-confirm.txt b/templates/email/fixamingata/update-confirm.txt
index 6ef35f83d..6670bd0ea 100644
--- a/templates/email/fixamingata/update-confirm.txt
+++ b/templates/email/fixamingata/update-confirm.txt
@@ -2,7 +2,7 @@ Subject: Bekräfta din uppdatering på [% INCLUDE 'site-name.txt' | trim %]
Hej [% update.name %],
-vänligen klicka på länken nedan för att bekräfta den uppdatering du
+Vänligen klicka på länken nedan för att bekräfta den uppdatering du
just lämnade:
[% token_url %]
diff --git a/templates/email/fixmystreet.com/_submit_footer.html b/templates/email/fixmystreet.com/_submit_footer.html
index 40118bc9a..94b79fed2 100644
--- a/templates/email/fixmystreet.com/_submit_footer.html
+++ b/templates/email/fixmystreet.com/_submit_footer.html
@@ -6,4 +6,4 @@ welcome any other feedback you may have.
<br><br>
FixMyStreet is now available for full integration into council websites, making
life easier for both you and your residents.
-<a href="https://www.fixmystreet.com/about/council">Read more</a>
+<a href="https://www.fixmystreet.com/about/professional">Read more</a>
diff --git a/templates/email/fixmystreet.com/submit.txt b/templates/email/fixmystreet.com/submit.txt
index 8d658e4f2..aa05316bf 100644
--- a/templates/email/fixmystreet.com/submit.txt
+++ b/templates/email/fixmystreet.com/submit.txt
@@ -47,5 +47,5 @@ also welcome any other feedback you may have.
FixMyStreet is now available for full integration into council
websites, making life easier for both you and your residents.
-Read more here: https://www.fixmystreet.com/about/council
+Read more here: https://www.fixmystreet.com/pro
diff --git a/templates/email/fixmystreet.com/update-confirm-donotsend.txt b/templates/email/fixmystreet.com/update-confirm-donotsend.txt
index 43be8fe26..8ab91836b 100644
--- a/templates/email/fixmystreet.com/update-confirm-donotsend.txt
+++ b/templates/email/fixmystreet.com/update-confirm-donotsend.txt
@@ -1,4 +1,4 @@
-[% IF update.problem.bodies_str != 2482 AND update.problem.bodies_str != 2347 %]
+[% IF NOT update.problem.to_body_named('Bromley|Stevenage') %]
Note that we do not send updates to [% update.problem.body %] - they are
intended as a place for [% site_name %] users to
discuss, support, and offer advice.
diff --git a/templates/email/oxfordshire/_problem-confirm_extra.html b/templates/email/oxfordshire/_problem-confirm_extra.html
new file mode 100644
index 000000000..5e22be6b9
--- /dev/null
+++ b/templates/email/oxfordshire/_problem-confirm_extra.html
@@ -0,0 +1,14 @@
+[% IF c.cobrand.problem_response_days(report) == 'emergency' %]
+ <p>
+ Thank you for contacting Oxfordshire County Council [% report.category %], unfortunately we are currently only available to respond to emergency situations which may have an impact on the health and safety of members of the public, these will be dealt with within a 24 hour period.<br />
+ Reported faults will continue to be registered on our management system and these will be tackled in coming months.
+ </p>
+[% ELSIF c.cobrand.problem_response_days(report) > 0 %]
+ <p>
+ Problems in the
+ [% report.category %]
+ category are generally responded to within
+ [% c.cobrand.problem_response_days(report) %]
+ working days.
+ </p>
+[% END %]
diff --git a/templates/email/oxfordshire/_problem-confirm_extra.txt b/templates/email/oxfordshire/_problem-confirm_extra.txt
new file mode 100644
index 000000000..eb9ccfd12
--- /dev/null
+++ b/templates/email/oxfordshire/_problem-confirm_extra.txt
@@ -0,0 +1,12 @@
+[% IF c.cobrand.problem_response_days(report) == 'emergency' %]
+Thank you for contacting Oxfordshire County Council [% report.category %],
+unfortunately we are currently only available to respond to emergency
+situations which may have an impact on the health and safety of members
+of the public, these will be dealt with within a 24 hour period.
+
+Reported faults will continue to be registered on our management
+system and these will be tackled in coming months.
+[% ELSIF c.cobrand.problem_response_days(report) > 0 %]
+Problems in the [% report.category %] category are generally responded
+to within [% c.cobrand.problem_response_days(report) %] working days.
+[% END %]
diff --git a/templates/email/oxfordshire/archive.html b/templates/email/oxfordshire/archive.html
index ed48456a2..886ffa8de 100644
--- a/templates/email/oxfordshire/archive.html
+++ b/templates/email/oxfordshire/archive.html
@@ -9,7 +9,7 @@ INCLUDE '_email_top.html';
%]
<th style="[% td_style %][% only_column_style %]">
- <h1 style="[% h1_style %]">Your [% site_name %] reports on FixMyStreet</h1>
+ <h1 style="[% h1_style %]">Your reports on [% site_name %]</h1>
<p style="[% p_style %]">
Hello [% user.name %],
</p>
@@ -30,7 +30,7 @@ INCLUDE '_email_top.html';
</p>
<p style="[% p_style %]">
If you believe that your report is still a problem, you can reopen it by
- clicking the 'reopen' button by a report.
+ clicking the 'view report' button by a report and leaving an update.
</p>
[% FOR report IN reports %]
@@ -48,7 +48,7 @@ INCLUDE '_email_top.html';
Reported [% report.time_ago %] ago.
</p>
<p>
- <a style="[% button_style %]" href="[% cobrand.base_url_for_report( report ) %][% report.tokenised_url( user, { reopen => 'true' } ) %]#update_form">Reopen report</a>
+ <a style="[% button_style %]" href="[% cobrand.base_url_for_report( report ) %][% report.tokenised_url( user, { reopen => 'true' } ) %]#update_form">View report</a>
</p>
</div>
[% END %]
diff --git a/templates/email/oxfordshire/archive.txt b/templates/email/oxfordshire/archive.txt
index 6ecf5b02f..d6b24979b 100644
--- a/templates/email/oxfordshire/archive.txt
+++ b/templates/email/oxfordshire/archive.txt
@@ -11,7 +11,7 @@ We noticed that you have [% report_count %] old [% nget('report', 'reports', rep
If your report is no longer an issue, you don't need to do anything.
If you believe that your report is still a problem, you can reopen it by clicking or copying and pasting
-the link marked 'Reopen?' by a report.
+the link marked 'View report' by a report and leaving an update.
[% FOR report IN reports %]
@@ -19,7 +19,7 @@ the link marked 'Reopen?' by a report.
Reported [% report.time_ago %] ago.
-Reopen? [% cobrand.base_url_for_report( report ) %][% report.tokenised_url( user, { reopen => 'true' } ) %]#update_form
+View report: [% cobrand.base_url_for_report( report ) %][% report.tokenised_url( user, { reopen => 'true' } ) %]#update_form
----
diff --git a/templates/email/oxfordshire/rdi.txt b/templates/email/oxfordshire/rdi.txt
new file mode 100644
index 000000000..f12467d68
--- /dev/null
+++ b/templates/email/oxfordshire/rdi.txt
@@ -0,0 +1,8 @@
+Subject: RDI report for [% user.name %]
+
+Please find attached RDI file for [% start_date %]
+to [% end_date %].
+
+----
+
+The mySociety team and Oxfordshire County Council
diff --git a/templates/web/angus/footer.html b/templates/web/angus/footer.html
index ec91aaa71..f9e1f3a99 100644
--- a/templates/web/angus/footer.html
+++ b/templates/web/angus/footer.html
@@ -3,8 +3,8 @@
</div><!-- .table-cell -->
<div class="nav-wrapper">
- <div class="nav-wrapper-2">
- [% INCLUDE "main_nav.html" body_name=c.cobrand.council_area hide_mysoc_link=1 %]
+ <div class="container">
+ [% INCLUDE "main_nav.html" body_name=c.cobrand.council_area %]
</div>
</div>
</div> <!-- .wrapper -->
diff --git a/templates/web/angus/maps/fms.html b/templates/web/angus/maps/fms.html
index 1516ae05e..61c56f121 100644
--- a/templates/web/angus/maps/fms.html
+++ b/templates/web/angus/maps/fms.html
@@ -1,6 +1,6 @@
[%
map_js = [
- version('/js/OpenLayers/OpenLayers.angus.js'),
+ version('/vendor/OpenLayers/OpenLayers.angus.js'),
version('/js/map-OpenLayers.js'),
version('/js/map-bing-ol.js'),
version('/js/map-fms.js'),
diff --git a/templates/web/angus/post_header_extra.html b/templates/web/angus/post_header_extra.html
index 43ba8af92..0c30e1a45 100644
--- a/templates/web/angus/post_header_extra.html
+++ b/templates/web/angus/post_header_extra.html
@@ -7,8 +7,8 @@
</div>
</div>
-<div class="wrapper wrapper__main_menu">
+<div class="clearfix wrapper__main_menu">
<div class="container">
- [% INCLUDE "main_nav.html" body_name=c.cobrand.council_area hide_mysoc_link=1 ul_class="nav-menu nav-menu--breadcrumb" omit_wrapper=1 %]
+ [% INCLUDE "main_nav.html" body_name=c.cobrand.council_area ul_class="nav-menu nav-menu--breadcrumb" omit_wrapper=1 %]
</div>
</div>
diff --git a/templates/web/base/about/faq-en-gb.html b/templates/web/base/about/faq-en-gb.html
index fc087a0e6..0ddc1b73d 100755
--- a/templates/web/base/about/faq-en-gb.html
+++ b/templates/web/base/about/faq-en-gb.html
@@ -99,6 +99,7 @@ to update the address or addresses we use.</dd>
you&rsquo;re from the authority then the emailed version of the problem
report might also contain the closest road or postcode to the pin on the
map.</dd>
+</dl>
<h2><a name="organisation"></a>Organisation Questions</h2>
diff --git a/templates/web/base/admin/_translations.html b/templates/web/base/admin/_translations.html
new file mode 100644
index 000000000..d8f7d52fb
--- /dev/null
+++ b/templates/web/base/admin/_translations.html
@@ -0,0 +1,19 @@
+[% IF languages.size > 1 %]
+<h2>[% loc('Translations') %]</h2>
+ <input type="hidden" name="token" value="[% csrf_token %]" >
+<table>
+ <tr>
+ <th>[% loc('Language') %]</th>
+ <th>[% loc('Translation') %]</th>
+ </tr>
+ [% FOREACH language IN languages.keys.sort %]
+ <tr>
+ <td>
+ <label for="translation_[% language %]">[% languages.$language.name %] ([% language %])</label>
+ <input type="hidden" name="translation_id_[% language %]" value="[% translations.$language.id %]">
+ </td>
+ <td><input type="text" name="translation_[% language %]" id="translation_[% language %]" value="[% translations.$language.msgstr %]"></td>
+ </tr>
+ [% END %]
+</table>
+[% END %]
diff --git a/templates/web/base/admin/body-form.html b/templates/web/base/admin/body-form.html
index 6c750bcaf..55d0e500c 100644
--- a/templates/web/base/admin/body-form.html
+++ b/templates/web/base/admin/body-form.html
@@ -25,6 +25,8 @@
<input type="text" class="form-control" name="name" id="name" value="[% body.name | html %]" size="50">
</p>
+ [% INCLUDE 'admin/_translations.html' %]
+
<div class="admin-hint">
<p>
[% loc(
diff --git a/templates/web/base/admin/body.html b/templates/web/base/admin/body.html
index 5e8c6a164..7fa446f44 100644
--- a/templates/web/base/admin/body.html
+++ b/templates/web/base/admin/body.html
@@ -70,7 +70,7 @@
<table cellspacing="0" cellpadding="2" border="1">
<tr>
<th>[% loc('Category') %]</th>
- <th colspan=2>[% loc('State') %]</th>
+ <th>[% loc('State') %]</th>
<th>[% loc('Last editor') %]</th>
<th>[% loc('Note') %]</th>
[% IF any_not_confirmed %]
@@ -78,20 +78,20 @@
[% END %]
</tr>
[% WHILE ( cat = contacts.next ) %]
- <tr [% IF cat.deleted %]class="is-deleted"[% END %]>
- <td class="contact-category"><a href="[% c.uri_for( 'body', body_id, cat.category ) %]">[% cat.category | html %]</a>
+ <tr [% IF cat.state == 'deleted' %]class="is-deleted"[% END %]>
+ <td class="contact-category"><a href="[% c.uri_for( 'body', body_id, cat.category ) %]">[% cat.category_display | html %]</a>
<br>[% cat.email | html %]</td>
<td>
- [% loc('Confirmed') %]:&nbsp;
- [%- IF cat.confirmed %][% loc('Yes') %][% ELSE %][% loc('No') %][% END %]
- <br>[% loc('Deleted') %]:&nbsp;
- [%- IF cat.deleted %]<strong>[% loc('Yes') %]</strong>[% ELSE %][% loc('No') %][% END %]
- </td>
- <td>
- [% loc('Private') %]:&nbsp;
- [%- cat.non_public ? loc('Yes') : loc('No') %]
- <br>[% loc('Devolved') %]:&nbsp;
- [%- IF body.can_be_devolved AND cat.send_method %][% loc('Yes') %][% ELSE %][% loc('No') %][% END %]
+ [% cat.state %]
+ [% IF cat.non_public OR (body.can_be_devolved AND cat.send_method) %]
+ <br><small>
+ [% IF cat.non_public %][% loc('Private') %][% END %]
+ [% IF cat.non_public AND (body.can_be_devolved AND cat.send_method) %]
+ /
+ [% END %]
+ [% IF body.can_be_devolved AND cat.send_method %][% loc('Devolved') %][% END %]
+ </small>
+ [% END %]
</td>
<td>[% cat.editor | html %]
<br><small>[% PROCESS format_time time=cat.whenedited %]</small></td>
@@ -130,9 +130,10 @@
<div class="fms-admin-warning">
[% errors.values.join('<br>') %]
</div>
+ [% INCLUDE 'admin/contact-form.html' translations=contact_translations %]
+ [% ELSE %]
+ [% INCLUDE 'admin/contact-form.html' translations={} %]
[% END %]
-
- [% INCLUDE 'admin/contact-form.html' %]
</div>
[% IF NOT errors and c.user.is_superuser %]
diff --git a/templates/web/base/admin/category_edit.html b/templates/web/base/admin/category_edit.html
index 5eb3c943e..7ae4e59b4 100644
--- a/templates/web/base/admin/category_edit.html
+++ b/templates/web/base/admin/category_edit.html
@@ -21,38 +21,12 @@
[% INCLUDE 'admin/contact-form.html' %]
-[% IF contact.extra %]
-<h2>[% loc('Extra data:') %] </h2>
-<dl>
- [% FOR pair IN contact.get_extra_metadata %]
- <dt>[% pair.key %]</dt> <dd>[% pair.value %]</dd>
- [% END %]
-</dl>
-<ul>
- [% FOR meta IN contact.get_metadata_for_input %]
- <li>
- [% meta.order %], <code>[% meta.code %]</code>, [% meta.datatype %],
- [% meta.required == 'true' ? loc('required') : loc('optional') %]
- <br><small>[% meta.description %]</small>
- [% IF meta.variable != 'false' AND meta.exists('values') %]
- <ul>
- [% FOR option IN meta.values %]
- <li>[% option.name %] <small>([% option.key %])</small></li>
- [% END %]
- </ul>
- [%- END %]
- </li>
- [%- END %]
-</ul>
-[% END %]
-
<h2>[% loc('History') %]</h2>
<table border="1">
<tr>
<th>[% loc('When edited') %]</th>
<th>[% loc('Email') %]</th>
- <th>[% loc('Confirmed') %]</th>
- <th>[% loc('Deleted') %]</th>
+ <th>[% loc('State') %]</th>
<th>[% loc('Editor') %]</th>
<th>[% loc('Note') %]</th>
</tr>
@@ -61,8 +35,7 @@
<tr>
<td>[% contact.whenedited.ymd _ ' ' _ contact.whenedited.hms %]</td>
<td>[% PROCESS highlightchanged old=prev new=contact value='email' %]</td>
- <td>[% PROCESS highlightchanged_yesno old=prev new=contact value='confirmed' %]</td>
- <td>[% PROCESS highlightchanged_yesno old=prev new=contact value='deleted' %]</td>
+ <td>[% PROCESS highlightchanged old=prev new=contact value='state' %]</td>
<td>[% contact.editor | html %]</td>
<td>[% contact.note | html %]</td>
</tr>
diff --git a/templates/web/base/admin/config_page.html b/templates/web/base/admin/config_page.html
index f35cd6adb..87032b0b6 100644
--- a/templates/web/base/admin/config_page.html
+++ b/templates/web/base/admin/config_page.html
@@ -88,6 +88,9 @@ running version <strong>[% git_version || 'unknown' %]</strong>.
[% INCLUDE subsection heading="MapIt" %]
[% INCLUDE just_value value="MAPIT_URL"
conf = "<a href='" _ c.config.MAPIT_URL _ "'>" _ c.config.MAPIT_URL _ "</a>" %]
+[% IF c.config.MAPIT_API_KEY %]
+ [% INCLUDE just_value value="MAPIT_API_KEY" %]
+[% END %]
[% INCLUDE with_cobrand value="MAPIT_TYPES"
cob = c.cobrand.area_types %]
<tr>
diff --git a/templates/web/base/admin/contact-form.html b/templates/web/base/admin/contact-form.html
index 493d8020f..1157e781e 100644
--- a/templates/web/base/admin/contact-form.html
+++ b/templates/web/base/admin/contact-form.html
@@ -2,7 +2,7 @@
[% IF contact.in_storage %]
<p>
- <h1>[% contact.category | html %]</h2>
+ <h1>[% contact.category_display | html %]</h1>
<input type="hidden" name="category" value="[% contact.category | html %]" >
</p>
[% ELSE %]
@@ -20,6 +20,8 @@
</p>
[% END %]
+ [% INCLUDE 'admin/_translations.html' %]
+
<div class="admin-hint">
<p>
[% loc("The <strong>email address</strong> is the destination to which reports about this category will be sent.
@@ -38,24 +40,23 @@
<div class="admin-hint">
<p>
- [% loc("Check <strong>confirmed</strong> to indicate that this contact has been confirmed as correct.
- If you are not sure of the origin or validity of the contact, leave this unchecked.") %]
+ [%
+loc("Use <strong>confirmed</strong> to indicate that this contact has been
+confirmed as correct. If you are not sure of the origin or validity of the
+contact, use <strong>unconfirmed</strong>. <strong>inactive</strong> will
+remove the category from use when reporting problems, but keep it available in
+map filters, and <strong>deleted</strong> will remove the category from there
+as well.") %]
</p>
</div>
<p>
- <input type="checkbox" name="confirmed" value="1" id="confirmed"[% ' checked' IF contact.confirmed OR contact.confirmed == "" %]>
- <label for="confirmed" class="inline">[% loc('Confirmed') %]</label>
- </p>
-
- <div class="admin-hint">
- <p>
- [% loc("Check <strong>deleted</strong> to remove the category from use.
- It will not appear as an available category in the drop-down menu on the report-a-problem page.") %]
- </p>
- </div>
- <p>
- <input type="checkbox" name="deleted" value="1" id="deleted"[% ' checked' IF contact.deleted %]>
- <label for="deleted" class="inline">[% loc('Deleted') %]</label>
+ <label for="state">[% loc('State') %]</label>
+ <select name="state" id="state">
+ <option value="unconfirmed"[% ' selected' IF contact.state == 'unconfirmed' %]>[% loc('Unconfirmed') %]
+ <option value="confirmed"[% ' selected' IF contact.state == 'confirmed' || contact.state == "" %]>[% loc('Confirmed') %]
+ <option value="inactive"[% ' selected' IF contact.state == 'inactive' %]>[% loc('Inactive') %]
+ <option value="deleted"[% ' selected' IF contact.state == 'deleted' %]>[% loc('Deleted') %]
+ </select>
</p>
<div class="admin-hint">
@@ -136,4 +137,12 @@
<input type="hidden" name="token" value="[% csrf_token %]" >
<input type="submit" class="btn" name="Create category" value="[% contact.in_storage ? loc('Save changes') : loc('Create category') %]" >
</p>
+
+ <h2>[% loc('Extra data:') %] </h2>
+ <dl>
+ [% FOR pair IN contact.get_extra_metadata %]
+ <dt>[% pair.key %]</dt> <dd>[% pair.value %]</dd>
+ [% END %]
+ </dl>
+ [% INCLUDE 'admin/extra-metadata-form.html' metas=(contact.get_metadata_for_input OR []) %]
</form>
diff --git a/templates/web/base/admin/council_contacts.txt b/templates/web/base/admin/council_contacts.txt
index 2d1e04bfa..f11615789 100644
--- a/templates/web/base/admin/council_contacts.txt
+++ b/templates/web/base/admin/council_contacts.txt
@@ -1,4 +1,4 @@
[% WHILE ( contact = contacts.next ) -%]
-[%- NEXT IF contact.deleted || ! contact.confirmed %]
-[% contact.category %] [% contact.email %]
+[%- NEXT IF contact.state != 'confirmed' %]
+[% contact.category_display %] [% contact.email %]
[%- END %]
diff --git a/templates/web/base/admin/defecttypes/list.html b/templates/web/base/admin/defecttypes/list.html
index 783bd085c..ffff89eff 100644
--- a/templates/web/base/admin/defecttypes/list.html
+++ b/templates/web/base/admin/defecttypes/list.html
@@ -20,7 +20,7 @@
<em>[% ('All categories') %]</em>
[% ELSE %]
[% FOR contact IN d.contacts %]
- [% contact.category %][% ',' UNLESS loop.last %]
+ [% contact.category_display %][% ',' UNLESS loop.last %]
[% END %]
[% END %]
</td>
diff --git a/templates/web/base/admin/extra-metadata-form.html b/templates/web/base/admin/extra-metadata-form.html
new file mode 100644
index 000000000..6a88a3c1e
--- /dev/null
+++ b/templates/web/base/admin/extra-metadata-form.html
@@ -0,0 +1,81 @@
+<ul class="js-metadata-items">
+ [% FOR meta IN metas.merge([{}]) %]
+ <li class="js-metadata-item [% IF loop.last %]hidden-js js-metadata-item-template[% END %]" data-index="[% loop.index %]">
+ <button class="btn btn--small js-metadata-item-remove hidden-nojs">[% loc('Remove field') %]</button>
+
+ <div class="admin-hint"><p>[% loc('The ordering of this field on the report page. Fields are shown in ascending order according to this value.') %]</p></div>
+ <label>
+ [% loc('Order') %]
+ <input name="metadata[[% loop.index %]].order" data-field-name="order" type=text value="[% meta.order | html %]">
+ </label>
+
+ <div class="admin-hint"><p>[% loc('The code used to store this field value in the database. e.g. <code>address</code> would be available as <code>problem.extra.address</code> in the templates.') %]</p></div>
+ <label>
+ [% loc('Code') %]
+ <input name="metadata[[% loop.index %]].code" data-field-name="code" type=text value="[% meta.code | html %]">
+ </label>
+
+ <div class="admin-hint"><p>[% loc('Whether the user is required to provide a value for this field.') %]</p></div>
+ <label>
+ [% loc('Required') %]
+ <input name="metadata[[% loop.index %]].required" data-field-name="required" type=checkbox [% meta.required == 'true' ? 'checked' : '' %]>
+ </label>
+
+ <div class="admin-hint"><p>[% loc('If ticked the user won’t see an input field, just the ‘Description’ text.') %]</p></div>
+ <label>
+ [% loc('Notice') %]
+ <input name="metadata[[% loop.index %]].notice" data-field-name="notice" type=checkbox [% meta.variable == 'false' ? 'checked' : '' %]>
+ </label>
+
+ <div class="admin-hint"><p>[% loc('The field name as shown to the user on the report form.') %]</p></div>
+ <label>
+ [% loc('Description') %]
+ <input name="metadata[[% loop.index %]].description" data-field-name="description" type=text value="[% meta.description | html %]">
+ </label>
+
+ <div class="admin-hint"><p>[% loc('Can be used to display extra text to the user alongside the field. The default template does not show this (<code>meta.datatype_description</code>), you must add it in <code>category_extras_fields.html</code>') %]</p></div>
+ <label>
+ [% loc('Hint') %]
+ <input name="metadata[[% loop.index %]].datatype_description" data-field-name="datatype_description" type=text value="[% meta.datatype_description | html %]">
+ </label>
+
+ <div class="admin-hint"><p>[% loc('The type of input field to show to the user. <strong>Text</strong> is a simple text field, <strong>List</strong> is a drop-down selection.') %]</p></div>
+ <label>
+ [% loc('Type') %]
+ <select name="metadata[[% loop.index %]].datatype" data-field-name="datatype" class="js-metadata-item-type">
+ <option value="string" [% meta.datatype == 'string' ? 'selected' : '' %]>[% loc('String') %]</option>
+ <option value="singlevaluelist" [% meta.datatype == 'singlevaluelist' ? 'selected' : '' %]>[% loc('List') %]</option>
+ </select>
+ </label>
+
+ <div class="js-metadata-options">
+ <div class="admin-hint"><p>[% loc('For each option, <strong>Key</strong> is the value which is stored in the database for that option and <strong>Name</strong> is the value displayed to the user.') %]</p></div>
+ [% loc('Options') %]<span class="hidden-js"> [% loc('(ignored if type is "String")') %]</span>
+ <ul>
+ [% outer_loop = loop %]
+ [% values = meta.values OR [] %]
+ [% FOREACH option IN values.merge([{}]) %]
+ [%# the .merge() call is so there's an empty one on the end %]
+ <li class="js-metadata-option [% IF loop.last %]hidden-js js-metadata-option-template[% END %]">
+ <label>
+ [% loc('Key') %]
+ <input class="js-metadata-option-key" name="metadata[[% outer_loop.index %]].values[[% loop.index %]].key" type="text" value="[% option.key | html %]">
+ </label>
+ <label>
+ [% loc('Name') %]
+ <input class="js-metadata-option-name" name="metadata[[% outer_loop.index %]].values[[% loop.index %]].name" type="text" value="[% option.name | html %]">
+ </label>
+ <button class="btn btn--small js-metadata-option-remove hidden-nojs">[% loc('Remove') %]</button>
+ </li>
+ [% END %]
+ <li class="hidden-nojs">
+ <button class="btn btn--small js-metadata-option-add">[% loc('Add option') %]</button>
+ </li>
+ </ul>
+ </div>
+ </li>
+ [%- END %]
+ <li class="hidden-nojs">
+ <button class="btn btn--small js-metadata-item-add">[% loc('Add field') %]</button>
+ </li>
+</ul>
diff --git a/templates/web/base/admin/list_updates.html b/templates/web/base/admin/list_updates.html
index 35f7adf66..d759a2354 100644
--- a/templates/web/base/admin/list_updates.html
+++ b/templates/web/base/admin/list_updates.html
@@ -34,7 +34,7 @@
<td>[% IF update.user.id == update.problem.user_id %][% loc('Yes') %][% ELSE %][% loc('No') %][% END %]</td>
<td>[% IF update.user.belongs_to_body( update.problem.bodies_str ) %][% loc('Yes') %][% ELSE %][% loc('No') %][% END %]</td>
<td>[% update.cobrand %]<br>[% update.cobrand_data | html %]</td>
- <td>[% state_pretty.${update.state} %]<br><small>
+ <td>[% prettify_state(update.state) %]<br><small>
[% loc('Created:') %] [% PROCESS format_time time=update.created %]
<br>[% loc('Confirmed:') %] [% PROCESS format_time time=update.confirmed %]
</small></td>
diff --git a/templates/web/base/admin/problem_row.html b/templates/web/base/admin/problem_row.html
index 577e36992..446e94d66 100644
--- a/templates/web/base/admin/problem_row.html
+++ b/templates/web/base/admin/problem_row.html
@@ -20,7 +20,7 @@
<br>[% loc('Anonymous') %]: [% IF problem.anonymous %][% loc('Yes') %][% ELSE %][% loc('No') %][% END %]
</td>
<td>
- [% PROCESS value_or_nbsp value=problem.category %]
+ [% PROCESS value_or_nbsp value=problem.category_display %]
<br>[%- IF edit_body_contacts -%]
[% FOR body IN problem.bodies.values %]
<a href="[% c.uri_for('body', body.id ) %]">[% PROCESS value_or_nbsp value=body.name %]</a>
@@ -30,12 +30,12 @@
[%- END -%]
<br>[% problem.cobrand %]<br>[% problem.cobrand_data | html %]
</td>
- <td>[% state_pretty.${problem.state} %]<br><small>
+ <td>[% prettify_state(problem.state, 1) %]<br><small>
[% loc('Created') %]:&nbsp;[% PROCESS format_time time=problem.created %]
<br>[% loc('When sent') %]:&nbsp;[% PROCESS format_time time=problem.whensent %]
[%- IF problem.is_visible %]<br>[% loc('Confirmed:' ) %]&nbsp;[% PROCESS format_time time=problem.confirmed %][% END -%]
- [%- IF problem.is_fixed %]<br>[% loc('Fixed:') %] [% PROCESS format_time time=problem.lastupdate %][% END -%]
- [%- IF problem.is_closed %]<br>[% loc('Closed:') %] [% PROCESS format_time time=problem.lastupdate %][% END -%]
+ [%- IF problem.is_fixed %]<br>[% prettify_state('fixed') %]: [% PROCESS format_time time=problem.lastupdate %][% END -%]
+ [%- IF problem.is_closed %]<br>[% prettify_state('closed') %]: [% PROCESS format_time time=problem.lastupdate %][% END -%]
[%- IF problem.is_open %]<br>[% loc('Last&nbsp;update:') %] [% PROCESS format_time time=problem.lastupdate %][% END -%]
</small></td>
<td><a href="[% c.uri_for( 'report_edit', problem.id ) %]">[% loc('Edit') %]</a></td>
diff --git a/templates/web/base/admin/report-category.html b/templates/web/base/admin/report-category.html
index 1e39236d7..a2290089b 100644
--- a/templates/web/base/admin/report-category.html
+++ b/templates/web/base/admin/report-category.html
@@ -1,13 +1,13 @@
<select class="form-control" name="category" id="category">
[% IF NOT problem.category OR NOT categories_hash.${problem.category} %]
<optgroup label="[% loc('Existing category') %]">
- <option selected value="[% problem.category | html %]">[% (problem.category OR '-') | html %]</option>
+ <option selected value="[% problem.category | html %]">[% (problem.category_display OR '-') | html %]</option>
</optgroup>
[% END %]
- [% IF categories.size %]
+ [% IF category_options_copy.size %]
<optgroup label="[% loc('Available categories') %]">
- [% FOREACH cat IN categories %]
- <option[% ' selected' IF problem.category == cat %]>[% cat | html %]</option>
+ [% FOREACH cat IN category_options_copy %]
+ <option value="[% cat.name | html %]"[% ' selected' IF problem.category == cat.name %]>[% cat.value | html %]</option>
[% END %]
</optgroup>
[% END %]
diff --git a/templates/web/base/admin/report_blocks.html b/templates/web/base/admin/report_blocks.html
index 9231dd1c2..f5896b88f 100644
--- a/templates/web/base/admin/report_blocks.html
+++ b/templates/web/base/admin/report_blocks.html
@@ -1,32 +1,7 @@
[%
SET report_blocks_included = 1;
-
-SET state_pretty = {
- 'confirmed' = loc('Open')
- 'investigating' = loc('Investigating')
- 'planned' = loc('Planned')
- 'in progress' = loc('In progress')
- 'action scheduled' = loc('Action Scheduled')
- 'fixed' = loc('Fixed')
- 'fixed - user' = loc('Fixed - User')
- 'fixed - council' = loc('Fixed - Council')
- 'unable to fix' = loc('No further action')
- 'not responsible' = loc('Not Responsible')
- 'duplicate' = loc('Duplicate')
- 'closed' = loc('Closed')
- 'internal referral' = loc('Internal referral')
- 'hidden' = loc('Hidden')
- 'partial' = loc('Partial')
- 'unconfirmed' = loc('Unconfirmed')
-};
-
-SET state_groups = [
- [ loc('Open'), [ 'confirmed', 'investigating', 'planned', 'in progress', 'action scheduled' ] ],
- [ loc('Fixed'), [ 'fixed', 'fixed - user', 'fixed - council' ] ],
- [ loc('Closed'), [ 'unable to fix', 'not responsible', 'duplicate', 'closed', 'internal referral' ] ],
- [ loc('Hidden'), [ 'hidden', 'partial', 'unconfirmed' ] ]
-];
+SET state_groups = c.cobrand.state_groups_admin;
%]
diff --git a/templates/web/base/admin/reportextrafields/edit.html b/templates/web/base/admin/reportextrafields/edit.html
new file mode 100644
index 000000000..bc2f60ab3
--- /dev/null
+++ b/templates/web/base/admin/reportextrafields/edit.html
@@ -0,0 +1,68 @@
+[% INCLUDE 'admin/header.html' title=loc('Extra Fields') -%]
+
+<form method=post action="[% c.uri_for('', extra.id || 'new' ) %]">
+ <div class="admin-hint">
+ <p>
+ [% loc('Give this collection of fields a name. It is not shown publicly, just here in the admin.') %]
+ </p>
+ </div>
+ <p>
+ <label>
+ [% loc('Name') %]
+ <input type=text name="name" value="[% extra.name | html %]" />
+ </label>
+ </p>
+
+ [% IF cobrands.size > 1 %]
+ <div class="admin-hint">
+ <p>
+ [% loc('To limit this collection of fields to a single cobrand, select it here.') %]
+ </p>
+ </div>
+ <p>
+ <label>
+ [% loc('Cobrand') %]
+ <select name="cobrand">
+ <option value="">[% loc('All cobrands') %]</option>
+ [% FOREACH cobrand IN cobrands %]
+ <option value="[% cobrand | html %]" [% IF cobrand == extra.cobrand %]selected[% END %]>[% cobrand | html %]</option>
+ [% END %]
+ </select>
+ </label>
+ </p>
+ [% ELSE %]
+ <input type=hidden name=cobrand value="[% extra.cobrand | html %]" />
+ [% END %]
+
+ [% IF languages.size > 1 %]
+ <div class="admin-hint">
+ <p>
+ [% loc('To limit this collection of fields to a single language, select it here.') %]
+ </p>
+ </div>
+ <p>
+ <label>
+ [% loc('Language') %]
+ <select name="language">
+ <option value="">[% loc('All languages') %]</option>
+ [% FOREACH lang IN languages.pairs %]
+ <option value="[% lang.key | html %]" [% IF lang.key == extra.language %]selected[% END %]>[% lang.value.name | html %]</option>
+ [% END %]
+ </select>
+ </label>
+ </p>
+ [% ELSE %]
+ <input type=hidden name=language value="[% extra.language | html %]" />
+ [% END %]
+ <p>
+ <label>[% loc('Fields') %]</label>
+ [% INCLUDE 'admin/extra-metadata-form.html' metas=extra.get_extra_fields %]
+ </p>
+
+ <p>
+ <input type="hidden" name="token" value="[% csrf_token %]" >
+ <input type="submit" class="btn" name="save" value="[% extra.in_storage ? loc('Save changes') : loc('Save new fields') %]">
+ </p>
+</form>
+
+[% INCLUDE 'admin/footer.html' %]
diff --git a/templates/web/base/admin/reportextrafields/index.html b/templates/web/base/admin/reportextrafields/index.html
new file mode 100644
index 000000000..14d6f60d4
--- /dev/null
+++ b/templates/web/base/admin/reportextrafields/index.html
@@ -0,0 +1,26 @@
+[% INCLUDE 'admin/header.html' title=loc('Extra Fields') -%]
+
+<table>
+ <thead>
+ <tr>
+ <th>[% loc('Name') %]</th>
+ <th>[% loc('Cobrand') %]</th>
+ <th>[% loc('Languages') %]</th>
+ <th>[% loc('Fields') %]</th>
+ </tr>
+ </thead>
+ <tbody>
+ [% FOR f IN extra_fields %]
+ <tr>
+ <td><a href="[% c.uri_for('', f.id) %]">[% f.name | html %]</a></td>
+ <td>[% f.cobrand | html %]</td>
+ <td>[% f.language | html %]</td>
+ <td>[% f.get_extra_fields.size %]</td>
+ </tr>
+ [% END %]
+ </tbody>
+</table>
+
+<a href="[% c.uri_for('', 'new') %]" class="btn">[% loc('Add extra fields') %]</a>
+
+[% INCLUDE 'admin/footer.html' %]
diff --git a/templates/web/base/admin/responsepriorities/edit.html b/templates/web/base/admin/responsepriorities/edit.html
index 07d6906ba..608f19e74 100644
--- a/templates/web/base/admin/responsepriorities/edit.html
+++ b/templates/web/base/admin/responsepriorities/edit.html
@@ -30,6 +30,18 @@
<div class="admin-hint">
<p>
+ [% loc('Select if this is the default priority') %]
+ </p>
+ </div>
+ <p>
+ <label>
+ <input type="checkbox" name="is_default" is="is_deleted" value="1"[% ' checked' IF rp.is_default %]>
+ [% loc('Default priority') %]
+ </label>
+ </p>
+
+ <div class="admin-hint">
+ <p>
[% loc('If you only want this priority to be an option for specific categories, pick them here. By default they will show for all categories.') %]
</p>
</div>
diff --git a/templates/web/base/admin/responsepriorities/list.html b/templates/web/base/admin/responsepriorities/list.html
index 4c05ca14d..eedaccfdb 100644
--- a/templates/web/base/admin/responsepriorities/list.html
+++ b/templates/web/base/admin/responsepriorities/list.html
@@ -6,6 +6,7 @@
<th> [% loc('Name') %] </th>
<th> [% loc('Description') %] </th>
<th> [% loc('Categories') %] </th>
+ <th> [% loc('Default') %] </th>
<th> &nbsp; </th>
</tr>
</thead>
@@ -19,10 +20,11 @@
<em>[% loc('All categories') %]</em>
[% ELSE %]
[% FOR contact IN p.contacts %]
- [% contact.category %][% ',' UNLESS loop.last %]
+ [% contact.category_display %][% ',' UNLESS loop.last %]
[% END %]
[% END %]
</td>
+ <td> [% IF p.is_default %]X[% END %]</td>
<td> <a href="[% c.uri_for('', body.id, p.id) %]" class="btn">[% loc('Edit') %]</a> </td>
</tr>
[% END %]
diff --git a/templates/web/base/admin/state_groups_select.html b/templates/web/base/admin/state_groups_select.html
index 9a70cd2c9..87674c47d 100644
--- a/templates/web/base/admin/state_groups_select.html
+++ b/templates/web/base/admin/state_groups_select.html
@@ -1,3 +1,3 @@
[% PROCESS 'admin/report_blocks.html'; # For state_groups %]
[% DEFAULT current_state = problem.state %]
-[% INCLUDE 'report/_state_select_field.html' %]
+[% INCLUDE 'report/_state_select_field.html' single_fixed=0 %]
diff --git a/templates/web/base/admin/states/index.html b/templates/web/base/admin/states/index.html
new file mode 100644
index 000000000..1b68d4aea
--- /dev/null
+++ b/templates/web/base/admin/states/index.html
@@ -0,0 +1,118 @@
+[% INCLUDE 'admin/header.html' title=loc('States') ~%]
+
+[% SET rows = languages.size + 1 IF languages.size > 1 ~%]
+
+<form method="post" accept-charset="utf-8">
+
+<table>
+ <tr>
+ <th>[% loc('Label') %]</th>
+ <th>[% loc('Type') %]</th>
+ <th colspan="2">[% loc('Name') %]</th>
+ <th>&nbsp;</th>
+ </tr>
+ [% FOREACH state IN open_states.merge(closed_states).merge(fixed_states) %]
+ <tr>
+ <td rowspan="[% rows %]">
+ [% IF state.label == 'confirmed' %]
+ open
+ [% ELSE %]
+ [% state.label %]
+ [% END %]
+ </td>
+ <td rowspan="[% rows %]">
+ [% IF state.label == 'confirmed' %]
+ [% loc('Open') %]<input type="hidden" name="type:confirmed" value="open">
+ [% ELSIF state.label == 'closed' %]
+ [% loc('Closed') %]<input type="hidden" name="type:closed" value="closed">
+ [% ELSIF state.label == 'fixed' %]
+ [% loc('Fixed') %]<input type="hidden" name="type:fixed" value="fixed">
+ [% ELSE %]
+ <select name="type:[% state.label %]">
+ <option value="open"[% ' selected' IF state.type == 'open' %]>[% loc('Open') %]</option>
+ <option value="closed"[% ' selected' IF state.type == 'closed' %]>[% loc('Closed') %]</option>
+ </select>
+ [% END %]
+ </td>
+ <td colspan="2">
+ [% IF state.label != 'confirmed' AND state.label != 'closed' %]
+ <input type="text" name="name:[% state.label %]" value="[% state.name %]">
+ [% ELSIF languages.size == 1 %]
+ <input type="text" name="name:[% state.label %]" value="[% state.msgstr %]">
+ [% ELSE %]
+ [% state.name %]
+ [% END %]
+ </td>
+ <td style="text-align:center;vertical-align:middle" rowspan="[% rows %]">
+ [% IF state.label != 'confirmed' AND state.label != 'closed' %]
+ <input class="btn btn--small" type="submit" name="delete:[% state.label %]" value="Delete">
+ [% END %]
+ </td>
+ </tr>
+ [% IF languages.size > 1 %]
+ [% FOREACH language IN languages.keys.sort %]
+ <tr>
+ <td style="vertical-align:middle; text-align:right;">
+ <label style="margin:0" for="translation:[% state.label %]:[% language %]">
+ [% languages.$language.name %] ([% language %])
+ </label>
+ </td>
+ <td>
+ <input type="hidden" name="translation_id:[% state.label %]:[% language %]"
+ value="[% state.translated.name.$language.id %]">
+ <input type="text" name="translation:[% state.label %]:[% language %]"
+ id="translation:[% state.label %]:[% language %]" value="[% state.translated.name.$language.msgstr %]">
+ </td>
+ </tr>
+ [% END %]
+ [% END %]
+ </td>
+ </tr>
+ [% END %]
+</table>
+
+ <p>
+ <input type="hidden" name="token" value="[% csrf_token %]">
+ <input type="submit" class="btn" value="[% loc('Update') %]">
+ </p>
+
+</form>
+
+[% IF fixed_states.size == 0 %]
+<form method="post" accept-charset="utf-8">
+ <p>
+ <input type="hidden" name="token" value="[% csrf_token %]">
+ <input type="submit" class="btn" name="new_fixed" value="[% loc('Add fixed state') %]">
+ </p>
+</form>
+
+[% END %]
+
+<h2>[% loc('New state') %]</h2>
+
+<form method="post" accept-charset="utf-8">
+ <p>
+ <label for="label">[% loc('Label') %] <small>[% loc('(a-z and space only)') %]</small></label>
+ <input type="text" class="form-control" name="label" id="label" value="" size="20" pattern="[a-z ]+">
+ </p>
+
+ <p>
+ <label for="type">[% loc('Type') %]</label>
+ <select name="type" id="type">
+ <option value="open">[% loc('Open') %]</option>
+ <option value="closed">[% loc('Closed') %]</option>
+ </select>
+ </p>
+
+ <p>
+ <label for="name">[% loc('Name') %]</label>
+ <input type="text" class="form-control" name="name" id="name" value="" size="20">
+ </p>
+
+ <p>
+ <input type="hidden" name="token" value="[% csrf_token %]">
+ <input type="submit" class="btn" name="new" value="[% loc('Create') %]">
+ </p>
+</form>
+
+[% INCLUDE 'admin/footer.html' %]
diff --git a/templates/web/base/admin/stats.html b/templates/web/base/admin/stats.html
index 535f04d18..150afd619 100644
--- a/templates/web/base/admin/stats.html
+++ b/templates/web/base/admin/stats.html
@@ -99,7 +99,7 @@
[% END %]
<p>
- <input type="submit" class="btn" name="getcounts" size="30" id="getcounts" value="Get Count" />
+ <input type="submit" class="btn" name="getcounts" size="30" id="getcounts" value="[% loc('Get Count') %]" />
</p>
</form>
diff --git a/templates/web/base/admin/stats_by_state.html b/templates/web/base/admin/stats_by_state.html
index b003d934e..6bcd35f88 100644
--- a/templates/web/base/admin/stats_by_state.html
+++ b/templates/web/base/admin/stats_by_state.html
@@ -4,7 +4,7 @@
[%- BLOCK states -%]
[%- FOREACH state IN list %]
[%- '<ul>' IF loop.first %]
- <li>[% object.$state %] [% state_pretty.$state %]</li>
+ <li>[% object.$state %] [% prettify_state(state) %]</li>
[%- "\n</ul>" IF loop.last %]
[%- END %]
[% END -%]
diff --git a/templates/web/base/alert/_list.html b/templates/web/base/alert/_list.html
index 388e0e9bc..d997a5abb 100644
--- a/templates/web/base/alert/_list.html
+++ b/templates/web/base/alert/_list.html
@@ -1,94 +1,85 @@
+ [% SET name_of_location = pretty_pc || loc('this location') %]
+
<input type="hidden" name="token" value="[% csrf_token %]">
<input type="hidden" name="type" value="local">
<input type="hidden" name="pc" value="[% pc | html %]">
<input type="hidden" name="latitude" value="[% latitude | html %]">
<input type="hidden" name="longitude" value="[% longitude | html %]">
- <p>
- [% IF pretty_pc %]
- [% tprintf( loc('Here are the types of local problem alerts for &lsquo;%s&rsquo;.'), pretty_pc ) %]
- [% END %]
- [% loc('Select which type of alert you’d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert.') %]
- </p>
+ <h2>[% loc('Which problems do you want alerts about?') %]</h2>
[% INCLUDE 'errors.html' %]
- <p>
- [% loc('The simplest alert is our geographic one:') %]
- </p>
+ [% IF reported_to_options %]
+ <p>
+ [% tprintf(loc('Reports near %s are sent to different councils, depending on the type of problem.'), name_of_location) %]
+ </p>
+ <p>
+ [% loc('You can choose to subscribe to all problems reported in an area, or reports based on their destination.') %]
+ </p>
+ <div class="alerts__columns">
+ <div>
+ <h3>[% loc('Problems in an area') %]</h3>
+ [% END %]
<p id="rss_local">
- <input type="radio" name="feed" id="[% rss_feed_id %]" value="[% rss_feed_id %]"[% IF rss_feed_id == selected_feed || selected_feed == '' %] checked[% END %]>
- <label class="inline" for="[% rss_feed_id %]">[% tprintf( loc('Problems within %.1fkm of this location'), population_radius ) %]</label>
<a href="[% rss_feed_uri %]"><img src='/i/feed.png' width='16' height='16' title='[% loc('RSS feed of nearby problems') %]' alt='[% loc('RSS feed') %]' border='0'></a>
- <br />
- [% loc('(a default distance which covers roughly 200,000 people)') %]
+ <label class="label-containing-checkbox" for="[% rss_feed_id %]">
+ <input type="radio" name="feed" id="[% rss_feed_id %]" value="[% rss_feed_id %]"[% IF rss_feed_id == selected_feed || selected_feed == '' %] checked[% END %]>
+ [% tprintf( loc('Problems within %.1fkm of %s'), population_radius, name_of_location ) %]
+ [% loc('(covers roughly 200,000 people)') %]
+ </label>
</p>
<p id="rss_local_alt">
[% SET distance_options = '<a href="' _ rss_feed_2k _ ' ">2km</a> / <a href="' _ rss_feed_5k _ ' ">5km</a> / <a href="' _ rss_feed_10k _ '">10km</a> / <a href="' _ rss_feed_20k _ '">20km</a>' %]
- [% tprintf(loc('(alternatively the RSS feed can be customised, within %s)', "%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]"), distance_options) %]
+ [% tprintf(loc('(we also have RSS feeds for problems within %s)', "%s is a list of distance links, e.g. [2km] / [5km] / [10km] / [20km]"), distance_options) %]
</p>
- <p>
- [% IF c.cobrand.is_council %]
- Or you can subscribe to an alert for all council problems or one based upon what ward you&rsquo;re in:
- [% ELSE %]
- [% loc("Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:") %]
- [% END %]
- </p>
-
- [% IF reported_to_options %]
- <p><strong>
- [% loc('Problems within the boundary of:') %]
- </strong></p>
- <ul class="plain-list">
- [% ELSE %]
- <ul id="rss_feed" class="plain-list">
- [% END %]
-
[% FOREACH option IN options %]
- <li[% IF ! (loop.count % 2) %] class="a"[% END %]>
- <input type="radio" name="feed" id="[% option.id %]" value="[% option.id %]"[% IF option.id == selected_feed %] checked[% END %]>
- <a href="[% option.uri %]"><img src="/i/feed.png" width="16" height="16"
+ <p>
+ <a href="[% option.uri %]"><img src="/i/feed.png" width="16" height="16"
title="[% option.rss_text %]" alt="RSS feed" border="0"></a>
- <label class="inline" for="[% option.id %]">[% option.text %]</label>
- </li>
- [% END %]
-</ul>
- [% IF reported_to_options %]
- <p><strong>
- [% loc('Or problems reported to:') %]
- </strong></p>
- <ul class="plain-list">
- [% FOREACH option IN reported_to_options %]
- <li[% IF ! (loop.count % 2) %] class="a"[% END %]>
+ <label class="label-containing-checkbox" for="[% option.id %]">
<input type="radio" name="feed" id="[% option.id %]" value="[% option.id %]"[% IF option.id == selected_feed %] checked[% END %]>
+ [% option.text %]
+ </label>
+ </p>
+ [% END %]
+
+ [% IF reported_to_options %]
+ </div>
+ <div>
+
+ <h3>[% loc('Reports by destination') %]</h3>
+
+ [% FOREACH option IN reported_to_options %]
+ <p>
<a href="[% option.uri %]"><img src="/i/feed.png" width="16" height="16"
title="[% option.rss_text %]" alt="RSS feed" border="0"></a>
- <label class="inline" for="[% option.id %]">[% option.text %]</label>
- </li>
- [% END %]
- </ul>
- <p><small>
- [% tprintf(loc('%s sends different categories of problem
-to the appropriate council, so problems within the boundary of a particular council
-might not match the problems sent to that council. For example, a graffiti report
-will be sent to the district council, so will appear in both of the district
-council&rsquo;s alerts, but will only appear in the "Within the boundary" alert
-for the county council.', "%s is the site name"), site_name) %]
- </small></p>
+ <label class="label-containing-checkbox" for="[% option.id %]">
+ <input type="radio" name="feed" id="[% option.id %]" value="[% option.id %]"[% IF option.id == selected_feed %] checked[% END %]>
+ [% option.text %]
+ </label>
+ </p>
[% END %]
+ </div>
+ </div>
+ [% END %]
- <input id="alert_rss_button" class="green-btn" type="submit" name="rss" value="[% loc('Give me an RSS feed') %]">
-
- <p id="alert_or">
- [% loc('or') %]
- </p>
- [% UNLESS c.user_exists %]
- <label for="rznvy">[% loc('Your email') %]</label>
- <input class="form-control" type="text" id="rznvy" name="rznvy" value="[% rznvy | html %]">
- [% END %]
- <input id="alert_email_button" style="margin-top:1em;" class="green-btn" type="submit" name="alert" value="[% loc('Subscribe me to an email alert') %]">
+ <div class="alerts__cta-box">
+ <h3>[% loc('Subscribe by email') %]</h3>
+ [% UNLESS c.user_exists %]
+ <label for="rznvy">[% loc('Email address') %]</label>
+ <div class="form-txt-submit-box">
+ <input class="form-control" type="text" id="rznvy" name="rznvy" value="[% rznvy | html %]">
+ <input id="alert_email_button" class="btn-primary" type="submit" name="alert" value="[% loc('Subscribe') %]">
+ </div>
+ [% ELSE %]
+ <input id="alert_email_button" class="btn-primary" type="submit" name="alert" value="[% loc('Subscribe') %]">
+ [% END %]
+ </div>
+ <h3>[% loc('Or subscribe by RSS') %]</h3>
+ <input id="alert_rss_button" class="btn" type="submit" name="rss" value="[% loc('Give me an RSS feed') %]">
diff --git a/templates/web/base/alert/index.html b/templates/web/base/alert/index.html
index 5c61e93d9..acef89a78 100644
--- a/templates/web/base/alert/index.html
+++ b/templates/web/base/alert/index.html
@@ -27,7 +27,7 @@ within a certain distance of a particular location.', "%s is the site name"), si
[% loc('To find out what local alerts we have for you, please enter your postcode or street name and area' ) %]
[% END %]
</p>
-<form method="get" action="/alert/list" class="form-box">
+<form method="get" action="/alert/list" class="form-box js-geolocate">
<fieldset>
<div class="form-txt-submit-box">
<input class="form-control" type="text" name="pc" value="[% pc | html %]" placeholder="[% tprintf(loc('e.g. ‘%s’ or ‘%s’'), c.cobrand.example_places) %]">
diff --git a/templates/web/base/around/postcode_form.html b/templates/web/base/around/postcode_form.html
index 135a70294..69c95d311 100644
--- a/templates/web/base/around/postcode_form.html
+++ b/templates/web/base/around/postcode_form.html
@@ -6,7 +6,7 @@
question = c.cobrand.enter_postcode_text || loc('Enter a nearby street name and area');
%]
- <form action="[% c.uri_for('/around') %]" method="get" name="postcodeForm" id="postcodeForm">
+ <form action="[% c.uri_for('/around') %]" method="get" name="postcodeForm" id="postcodeForm" class="js-geolocate">
<label for="pc">[% question %]:</label>
<div>
<input type="text" name="pc" value="[% pc | html %]" id="pc" size="10" maxlength="200" placeholder="[% tprintf(loc('e.g. ‘%s’ or ‘%s’'), c.cobrand.example_places) %]">
diff --git a/templates/web/base/around/tabbed_lists.html b/templates/web/base/around/tabbed_lists.html
index b0d46444d..5418ef914 100755
--- a/templates/web/base/around/tabbed_lists.html
+++ b/templates/web/base/around/tabbed_lists.html
@@ -1,5 +1,5 @@
[% INCLUDE "reports/_list-filters.html" %]
-<ul id="current" class="item-list item-list--reports">
+<ul id="js-reports-list" class="item-list item-list--reports">
[% INCLUDE "around/on_map_list_items.html" %]
</ul>
diff --git a/templates/web/base/auth/general.html b/templates/web/base/auth/general.html
index 41ff3a2e1..2a8bea402 100644
--- a/templates/web/base/auth/general.html
+++ b/templates/web/base/auth/general.html
@@ -2,6 +2,8 @@
<h1>[% loc('Sign in') %]</h1>
+[% TRY %][% INCLUDE 'auth/_general_top.html' %][% CATCH file %][% END %]
+
[% IF oauth_need_email %]
<p class="form-error">[% loc('We need your email address, please give it below.') %]</p>
[% END %]
diff --git a/templates/web/base/auth/sign_out.html b/templates/web/base/auth/sign_out.html
index c95efacf5..1a468b278 100644
--- a/templates/web/base/auth/sign_out.html
+++ b/templates/web/base/auth/sign_out.html
@@ -5,6 +5,6 @@
<p>[% tprintf( loc('Please feel free to <a href="%s">sign in again</a>, or go back to the <a href="/">front page</a>.'), c.uri_for('/auth') ) %]</p>
</div>
-[% INCLUDE next_steps.html %]
+[% INCLUDE next_steps.html utm_content='signed out' %]
[% INCLUDE 'footer.html' %]
diff --git a/templates/web/base/auth/token.html b/templates/web/base/auth/token.html
index a4dedcec3..9a79a5e67 100644
--- a/templates/web/base/auth/token.html
+++ b/templates/web/base/auth/token.html
@@ -14,8 +14,14 @@
<div class="confirmation-header confirmation-header--inbox">
- <h1>[% loc("Nearly done! Now check your email&hellip;") %]</h1>
- <p>[% loc("Click the link in our confirmation email to sign in.") %]</p>
+ [% IF c.config.SIGNUPS_DISABLED %]
+ <h1>[% loc("Nearly done!") %]</h1>
+ <p>[% loc("If there's a user associated with the address you entered, we've sent a confirmation email.") %]</p>
+ <p>[% loc("Click the link in that email to sign in.") %]</p>
+ [% ELSE %]
+ <h1>[% loc("Nearly done! Now check your email&hellip;") %]</h1>
+ <p>[% loc("Click the link in our confirmation email to sign in.") %]</p>
+ [% END %]
<p>
[% loc("Can&rsquo;t find our email? Check your spam folder&nbsp;&ndash; that&rsquo;s the solution 99% of the time.") %]
diff --git a/templates/web/base/common_footer_tags.html b/templates/web/base/common_footer_tags.html
index 01420c37d..915751802 100644
--- a/templates/web/base/common_footer_tags.html
+++ b/templates/web/base/common_footer_tags.html
@@ -3,7 +3,7 @@
[% PROCESS 'common_scripts.html' %]
<!--[if lte IE 9]>
- <script src="[% version('/js/history.polyfill.min.js') %]"></script>
+ <script src="[% version('/vendor/history.polyfill.min.js') %]"></script>
<![endif]-->
[% FOR script IN scripts ~%]
[% script = script.0 ? script : [ script ] ~%]
diff --git a/templates/web/base/common_header_tags.html b/templates/web/base/common_header_tags.html
index e64722f01..e5a4d25f2 100644
--- a/templates/web/base/common_header_tags.html
+++ b/templates/web/base/common_header_tags.html
@@ -1,13 +1,17 @@
[% SET start = c.config.ADMIN_BASE_URL IF admin %]
-<link rel="stylesheet" href="[% version('/js/OpenLayers/theme/default/style.css') %]">
+<link rel="stylesheet" href="[% version('/vendor/OpenLayers/theme/default/style.css') %]">
<meta http-equiv="content-type" content="text/html; charset=utf-8"
id="js-meta-data" data-page="[% page %]"
data-cobrand="[% c.cobrand.moniker %]">
+[% IF csrf_token %]
+ <meta content="[% csrf_token %]" name="csrf-token" />
+[% END %]
+
<!--[if (lt IE 9)]>
- <script src="[% version('/js/html5shiv.js') %]""></script>
+ <script src="[% version('/vendor/html5shiv.js') %]"></script>
<![endif]-->
<script nonce="[% csp_nonce %]">
window.Modernizr=function(e,t,n){function r(e){p.cssText=e}function o(e,t){return typeof e===t}var a,i,c,l="2.8.3",s={},u=t.documentElement,d="modernizr",f=t.createElement(d),p=f.style,m=({}.toString,{}),h=[],y=h.slice,v=function(e,n,r,o){var a,i,c,l,s=t.createElement("div"),f=t.body,p=f||t.createElement("body");if(parseInt(r,10))for(;r--;)c=t.createElement("div"),c.id=o?o[r]:d+(r+1),s.appendChild(c);return a=["&#173;",'<style id="s',d,'">',e,"</style>"].join(""),s.id=d,(f?s:p).innerHTML+=a,p.appendChild(s),f||(p.style.background="",p.style.overflow="hidden",l=u.style.overflow,u.style.overflow="hidden",u.appendChild(p)),i=n(s,e),f?s.parentNode.removeChild(s):(p.parentNode.removeChild(p),u.style.overflow=l),!!i},g=function(t){var n=e.matchMedia||e.msMatchMedia;if(n)return n(t)&&n(t).matches||!1;var r;return v("@media "+t+" { #"+d+" { position: absolute; } }",function(t){r="absolute"==(e.getComputedStyle?getComputedStyle(t,null):t.currentStyle).position}),r},b={}.hasOwnProperty;c=o(b,"undefined")||o(b.call,"undefined")?function(e,t){return t in e&&o(e.constructor.prototype[t],"undefined")}:function(e,t){return b.call(e,t)};for(var E in m)c(m,E)&&(i=E.toLowerCase(),s[i]=m[E](),h.push((s[i]?"":"no-")+i));return r(""),f=a=null,s._version=l,s.mq=g,s.testStyles=v,s}(this,this.document);
@@ -16,7 +20,7 @@
</script>
[% IF admin %]
- <link rel="stylesheet" href="[% version('/js/jquery-ui/css/smoothness/jquery-ui-1.10.3.custom.min.css') %]">
+ <link rel="stylesheet" href="[% version('/vendor/jquery-ui/css/smoothness/jquery-ui-1.10.3.custom.min.css') %]">
[% END %]
[% IF robots %]
diff --git a/templates/web/base/common_scripts.html b/templates/web/base/common_scripts.html
index 42c04f11f..474edc46e 100644
--- a/templates/web/base/common_scripts.html
+++ b/templates/web/base/common_scripts.html
@@ -9,10 +9,10 @@ scripts.push(
start _ "/js/translation_strings." _ lang_code _ ".js?" _ Math.int( date.now / 3600 ),
version('/jslib/jquery-1.7.2.min.js'),
version('/js/validation_rules.js'),
- version('/js/jquery.validate.min.js'),
- version('/js/dropzone.min.js'),
+ version('/vendor/jquery.validate.min.js'),
+ version('/vendor/dropzone.min.js'),
version('/js/jquery.multi-select.js'),
- version('/js/geo.min.js'),
+ version('/vendor/geo.min.js'),
version('/cobrands/fixmystreet/fixmystreet.js'),
);
@@ -33,7 +33,7 @@ scripts.push(
IF admin;
scripts.push(
- version('/js/jquery-ui/js/jquery-ui-1.10.3.custom.min.js'),
+ version('/vendor/jquery-ui/js/jquery-ui-1.10.3.custom.min.js'),
version('/cobrands/fixmystreet/admin.js'),
);
END;
diff --git a/templates/web/base/contact/blurb.html b/templates/web/base/contact/blurb.html
index 3f9e88ed0..1142dc874 100644
--- a/templates/web/base/contact/blurb.html
+++ b/templates/web/base/contact/blurb.html
@@ -1,9 +1,3 @@
-[% IF c.cobrand.moniker == 'fixmystreet' %]
-<h3>Send a message to FixMyStreet's technical support team</h3>
-
-<h4>If you have questions about FixMyStreet</h4>
-[% END %]
-
<p>
[% tprintf( loc("It's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there."), c.uri_for('/faq') ) %]
</p>
diff --git a/templates/web/base/contact/index.html b/templates/web/base/contact/index.html
index f24f8afea..dfd3ef6b2 100644
--- a/templates/web/base/contact/index.html
+++ b/templates/web/base/contact/index.html
@@ -77,13 +77,17 @@
[% END %]
<input type="text" class="form-control required" name="name" id="form_name" value="[% form_name | html %]" size="30">
-
<label for="form_email">[% loc('Your email') %]</label>
[% IF field_errors.em %]
<div class="form-error">[% field_errors.em %]</div>
[% END %]
<input type="text" class="form-control required email" name="em" id="form_email" value="[% em | html %]" size="30">
+ <div class="form-group">
+ <label for="form_phone">[% loc('Your phone number') %]</label>
+ <span class="required-text required-text--optional">optional</span>
+ <input type="text" class="form-control extra.phone" name="extra.phone" id="form_phone" value="" size="30">
+ </div>
<label for="form_subject">[% loc('Subject') %]</label>
[% IF field_errors.subject %]
@@ -100,7 +104,7 @@
<textarea class="form-control required" name="message" id="form_message" rows="7" cols="50">[% message | html %]</textarea>
- <input class="final-submit green-btn" type="submit" value="[% loc('Post') %]">
+ <input class="final-submit green-btn" type="submit" value="[% loc('Send') %]">
</fieldset>
</form>
diff --git a/templates/web/base/contact/submit.html b/templates/web/base/contact/submit.html
index 4bf82dcd6..acb7caad9 100644
--- a/templates/web/base/contact/submit.html
+++ b/templates/web/base/contact/submit.html
@@ -16,6 +16,6 @@
[% END %]
-[% INCLUDE next_steps.html %]
+[% INCLUDE next_steps.html utm_content='contact form submitted' %]
[% INCLUDE 'footer.html' %]
diff --git a/templates/web/base/dashboard/index.html b/templates/web/base/dashboard/index.html
index 2a9a2ef42..e47798573 100644
--- a/templates/web/base/dashboard/index.html
+++ b/templates/web/base/dashboard/index.html
@@ -29,7 +29,7 @@
<label for="category">[% loc('Category:') %]</label>
<select class="form-control" name="category"><option value=''>[% loc('All') %]</option>
[% FOR cat_op IN category_options %]
- <option value='[% cat_op | html %]'[% ' selected' IF category == cat_op %]>[% cat_op | html %]</option>
+ <option value='[% cat_op.name | html %]'[% ' selected' IF category == cat_op.name %]>[% cat_op.value | html %]</option>
[% END %]
</select>
</p>
@@ -136,11 +136,12 @@
</select>
<p>[% loc('Report state:') %] <select class="form-control" name="state">
<option value=''>[% loc('All') %]</option>
- [% FOREACH state IN [ ['confirmed', loc('Open')], ['investigating',
- loc('Investigating')], ['action scheduled', loc('Planned')], ['in progress',
- loc('In Progress')], ['closed', loc('Closed')], ['fixed', loc('Fixed')] ] %]
- <option [% 'selected ' IF state.0 == q_state %] value="[% state.0 %]">[% state.1 %]</option>
- [% END %]
+ [% FOR group IN filter_states %]
+ [% FOR state IN group.1 %]
+ [% NEXT IF state == 'hidden' %]
+ <option [% 'selected ' IF state == q_state %] value="[% state %]">[% prettify_state(state, 1) %]</option>
+ [% END %]
+ [% END %]
</select>
<input type="submit" class="btn" value="[% loc('Look up') %]">
<a class="export_as_csv" href="[% c.req.uri_with({ export => 1 }) %]">[% loc('Export as CSV') %]</a>
diff --git a/templates/web/base/email_sent.html b/templates/web/base/email_sent.html
index 7d38f9d67..2724dabb9 100644
--- a/templates/web/base/email_sent.html
+++ b/templates/web/base/email_sent.html
@@ -14,6 +14,8 @@
[% END %]
</p>
+ [% TRY %][% INCLUDE '_email_sent_extra.html' %][% CATCH file %][% END %]
+
<p>
[% loc("Can&rsquo;t find our email? Check your spam folder&nbsp;&ndash; that&rsquo;s the solution 99% of the time.") %]
</p>
diff --git a/templates/web/base/footer.html b/templates/web/base/footer.html
index 9f86f7519..e2bdbb01a 100644
--- a/templates/web/base/footer.html
+++ b/templates/web/base/footer.html
@@ -8,7 +8,7 @@
</div><!-- .table-cell -->
<div class="nav-wrapper">
- <div class="nav-wrapper-2">
+ <div class="container">
[% INCLUDE "main_nav.html" %]
</div>
</div>
diff --git a/templates/web/base/front/footer-marketing.html b/templates/web/base/front/footer-marketing.html
index c0c9b4168..3fb7a3044 100644
--- a/templates/web/base/front/footer-marketing.html
+++ b/templates/web/base/front/footer-marketing.html
@@ -1,21 +1,8 @@
- <div class="tablewrapper bordered">
- <div id="footer-mobileapps">
- <!--
- <h4></h4>
- <p>
- </p>
- -->
- </div>
-
- <div id="footer-help">
- <p>
- [% loc('Powered by <a class="platform-logo" href="http://fixmystreet.org/">FixMyStreet Platform</a>') %]
- </p>
- <ul>
- <li>
- <h4>[% loc('Are you a developer?') %]</h4>
- <p>[% loc('Would you like to contribute to FixMyStreet? Our code is open source and <a href="http://fixmystreet.org">available at fixmystreet.org</a>.') %]</p>
- </li>
- </ul>
- </div>
+ <div class="tablewrapper bordered footer-marketing">
+ <p>
+ [% loc('Would you like to contribute to FixMyStreet? Our code is open source and <a href="http://fixmystreet.org">available at fixmystreet.org</a>.') %]
+ </p>
+ <p>
+ [% loc('Powered by <a class="platform-logo" href="http://fixmystreet.org/">FixMyStreet Platform</a>') %]
+ </p>
</div>
diff --git a/templates/web/base/front/javascript.html b/templates/web/base/front/javascript.html
index 6b8e2a292..69eb626f7 100644
--- a/templates/web/base/front/javascript.html
+++ b/templates/web/base/front/javascript.html
@@ -1,10 +1,10 @@
[%
# Assume using OpenStreetMap maps
map_js = [
- version('/js/yepnope.js'),
+ version('/vendor/yepnope.js'),
[ version('/cobrands/fixmystreet/front.js'), {
id = 'script_front',
- 'data-scripts' = version('/js/OpenLayers/OpenLayers.fixmystreet.js') _ ',' _
+ 'data-scripts' = version('/vendor/OpenLayers/OpenLayers.fixmystreet.js') _ ',' _
version('/js/map-OpenLayers.js') _ ',' _
version('/js/map-OpenStreetMap.js')
} ],
diff --git a/templates/web/base/front/recent.html b/templates/web/base/front/recent.html
index cb83c51b8..1fe6ad2be 100644
--- a/templates/web/base/front/recent.html
+++ b/templates/web/base/front/recent.html
@@ -13,7 +13,7 @@
</h2>
<section class="full-width">
- <ul class="item-list item-list--reports item-list--front-page">
+ <ul id="js-reports-list" class="item-list item-list--reports item-list--front-page">
[% FOREACH problem IN recent_photos %]
[% INCLUDE 'front/_list-entry.html' %]
[% END %]
diff --git a/templates/web/base/front/stats.html b/templates/web/base/front/stats.html
index eb671137b..41358c869 100644
--- a/templates/web/base/front/stats.html
+++ b/templates/web/base/front/stats.html
@@ -35,7 +35,9 @@
<div id="front_stats">
<div>[% tprintf( new_text, decode(new_n) ) %]</div>
+ [% IF has_fixed_state %]
<div>[% tprintf( fixed_text, decode(fixed_n) ) %]</div>
+ [% END %]
[% IF c.cobrand.moniker != 'zurich' %]
<div>[% tprintf( updates_text, decode(updates_n) ) %]</div>
[% END %]
diff --git a/templates/web/base/js/translation_strings.html b/templates/web/base/js/translation_strings.html
index b90a4d576..bc2f013ff 100644
--- a/templates/web/base/js/translation_strings.html
+++ b/templates/web/base/js/translation_strings.html
@@ -51,6 +51,9 @@
permalink: '[% loc('Permalink') | replace("'", "\\'") %]',
+ show_pins: '[% loc('Show pins') | replace("'", "\\'") %]',
+ hide_pins: '[% loc('Hide pins') | replace("'", "\\'") %]',
+
upload_max_files_exceeded: '[% loc ('Whoa there Testino! Three photos are enough.') | replace("'", "\\'") %]',
upload_default_message: '[% loc ('Drag and drop photos here or <u>click to upload</u>') | replace("'", "\\'") %]',
upload_cancel_confirmation: '[% loc ('Are you sure you want to cancel this upload?') | replace("'", "\\'") %]',
@@ -66,7 +69,7 @@
are_you_sure: '[% loc('Are you sure?') | replace("'", "\\'") %]',
data_cleared: '[% loc('Offline data cleared') | replace("'", "\\'") %]',
reports_saved: '[% loc('Reports saved offline.') | replace("'", "\\'") %]',
- saving_reports: '[% loc('Saving reports offline', 'This is followed by a progress count, e.g. 3/5') | replace("'", "\\'") %]',
+ saving_reports: '[% loc('Saving reports offline', "This is followed by a progress count, e.g. 3/5") | replace("'", "\\'") %]',
you_are_offline: '[% loc('You are offline') | replace("'", "\\'") %]',
N_saved: '[% loc('<span>%s</span> saved.') | replace("'", "\\'") %]',
saved_to_submit: '[% loc('You have <a id="oFN" href=""><span>%s</span> saved to submit</a>.') | replace("'", "\\'") %]',
diff --git a/templates/web/base/main_nav.html b/templates/web/base/main_nav.html
index 31bd61af5..b8a3165a4 100644
--- a/templates/web/base/main_nav.html
+++ b/templates/web/base/main_nav.html
@@ -20,12 +20,6 @@
<div id="main-nav" role="navigation">
[% END %]
- [% UNLESS hide_mysoc_link %]
- <ul class="nav-menu nav-menu--mysoc">
- <li><a id="mysoc-logo" href="https://www.mysociety.org/">mySociety</a></li>
- </ul>
- [% END %]
-
<ul class="[% ul_class %]"[% " id='" _ ul_id _ "'" IF ul_id %]>
[% INCLUDE 'main_nav_items.html' %]
</ul>
diff --git a/templates/web/base/main_nav_items.html b/templates/web/base/main_nav_items.html
index 6b5e09e56..845ef7c65 100644
--- a/templates/web/base/main_nav_items.html
+++ b/templates/web/base/main_nav_items.html
@@ -1,4 +1,4 @@
-[%~ INCLUDE navitem uri='/' label=loc('Report a problem') attrs='class="report-a-problem-btn"' ~%]
+[%~ INCLUDE navitem uri=(homepage_template ? '/report' : '/') label=loc('Report a problem') attrs='class="report-a-problem-btn"' ~%]
[%~ IF c.user_exists ~%]
[%~ INCLUDE navitem uri='/my' label=loc('Your account') ~%]
diff --git a/templates/web/base/maps/bing.html b/templates/web/base/maps/bing.html
index 59d012c4f..df45eced5 100644
--- a/templates/web/base/maps/bing.html
+++ b/templates/web/base/maps/bing.html
@@ -1,6 +1,6 @@
[%
map_js = [
- version('/js/OpenLayers/OpenLayers.fixmystreet.js'),
+ version('/vendor/OpenLayers/OpenLayers.fixmystreet.js'),
version('/js/map-OpenLayers.js'),
version('/js/map-bing-ol.js'),
];
diff --git a/templates/web/base/maps/fms.html b/templates/web/base/maps/fms.html
index e155ff778..ff5b4eab6 100644
--- a/templates/web/base/maps/fms.html
+++ b/templates/web/base/maps/fms.html
@@ -1,6 +1,6 @@
[%
map_js = [
- version('/js/OpenLayers/OpenLayers.fixmystreet.js'),
+ version('/vendor/OpenLayers/OpenLayers.fixmystreet.js'),
version('/js/map-OpenLayers.js'),
version('/js/map-bing-ol.js'),
version('/js/map-fms.js'),
diff --git a/templates/web/base/maps/google-ol.html b/templates/web/base/maps/google-ol.html
index 7c7711de9..d88043403 100644
--- a/templates/web/base/maps/google-ol.html
+++ b/templates/web/base/maps/google-ol.html
@@ -6,7 +6,7 @@ END;
map_js = [
google_maps_url,
- version('/js/OpenLayers/OpenLayers.google.js'),
+ version('/vendor/OpenLayers/OpenLayers.google.js'),
version('/js/map-OpenLayers.js'),
version('/js/map-google-ol.js'),
]
diff --git a/templates/web/base/maps/mapquest-attribution.html b/templates/web/base/maps/mapquest-attribution.html
index e469901a8..43d6106a5 100644
--- a/templates/web/base/maps/mapquest-attribution.html
+++ b/templates/web/base/maps/mapquest-attribution.html
@@ -1,6 +1,6 @@
[%
map_js = [
- version('/js/OpenLayers/OpenLayers.fixmystreet.js'),
+ version('/vendor/OpenLayers/OpenLayers.fixmystreet.js'),
version('/js/map-OpenLayers.js'),
version('/js/map-OpenStreetMap.js'),
];
diff --git a/templates/web/base/maps/openlayers.html b/templates/web/base/maps/openlayers.html
index 215b69d26..8f8d527e2 100644
--- a/templates/web/base/maps/openlayers.html
+++ b/templates/web/base/maps/openlayers.html
@@ -6,7 +6,9 @@
<input type="hidden" name="zoom" value="[% map.zoom %]">
<div id="js-map-data"
+[%- UNLESS c.cobrand.call_hook('hide_areas_on_reports') %]
data-area="[% map.area.join(',') %]"
+[%- END %]
data-all_pins='[% all_pins %]'
data-latitude=[% map.latitude %]
data-longitude=[% map.longitude %]
@@ -16,13 +18,14 @@
[% IF map.zoom -%]
data-zoom=[% map.zoom %]
[%- END %]
- data-pin_prefix='[% c.config.ADMIN_BASE_URL IF admin %][% c.cobrand.path_to_pin_icons %]',
+ data-pin_prefix='[% c.config.ADMIN_BASE_URL IF admin %][% c.cobrand.path_to_pin_icons %]'
+ data-pin_new_report_colour='[% c.cobrand.pin_new_report_colour %]'
data-numZoomLevels=[% map.numZoomLevels %]
data-zoomOffset=[% map.zoomOffset %]
data-map_type="[% map.map_type %]"
[% IF include_key -%]
data-key='[% c.config.BING_MAPS_API_KEY %]'
-[%- END %]
+[%- END -%]
>
</div>
<div id="map_box" aria-hidden="true">
diff --git a/templates/web/base/maps/osm-streetview.html b/templates/web/base/maps/osm-streetview.html
index dcf45d3b6..f68f53039 100644
--- a/templates/web/base/maps/osm-streetview.html
+++ b/templates/web/base/maps/osm-streetview.html
@@ -1,6 +1,6 @@
[%
map_js = [
- version('/js/OpenLayers/OpenLayers.fixmystreet.js'),
+ version('/vendor/OpenLayers/OpenLayers.fixmystreet.js'),
version('/js/map-OpenLayers.js'),
version('/js/map-streetview.js'),
];
diff --git a/templates/web/base/maps/osm-toner-lite.html b/templates/web/base/maps/osm-toner-lite.html
index 6512eaf2c..22b6636c5 100644
--- a/templates/web/base/maps/osm-toner-lite.html
+++ b/templates/web/base/maps/osm-toner-lite.html
@@ -1,6 +1,6 @@
[%
map_js = [
- version('/js/OpenLayers/OpenLayers.fixmystreet.js'),
+ version('/vendor/OpenLayers/OpenLayers.fixmystreet.js'),
"https://stamen-maps.a.ssl.fastly.net/js/tile.stamen.js?v1.3.0",
version('/js/map-OpenLayers.js'),
version('/js/map-toner-lite.js'),
diff --git a/templates/web/base/maps/osm.html b/templates/web/base/maps/osm.html
index e469901a8..43d6106a5 100644
--- a/templates/web/base/maps/osm.html
+++ b/templates/web/base/maps/osm.html
@@ -1,6 +1,6 @@
[%
map_js = [
- version('/js/OpenLayers/OpenLayers.fixmystreet.js'),
+ version('/vendor/OpenLayers/OpenLayers.fixmystreet.js'),
version('/js/map-OpenLayers.js'),
version('/js/map-OpenStreetMap.js'),
];
diff --git a/templates/web/base/my/anonymize.html b/templates/web/base/my/anonymize.html
new file mode 100644
index 000000000..e82a03ce0
--- /dev/null
+++ b/templates/web/base/my/anonymize.html
@@ -0,0 +1,26 @@
+[% INCLUDE 'header.html',
+ title = loc('Hide my name'),
+ bodyclass = 'twothirdswidthpage' %]
+
+<form method="post" action="/my/anonymize" class="box-warning hide-name-form">
+ <input type="hidden" name="token" value="[% csrf_token %]">
+
+ [% IF update %]
+ <input type="hidden" name="update" value="[% update.id %]">
+ <input class="btn-primary" type="submit" name="hide" value="[% loc('Hide my name in this update') %]">
+ [% ELSIF problem %]
+ [% IF problem.bodies_str %]
+ <p>[% tprintf(loc('Your name has already been sent to %s, but we can hide it on this page:'), problem.body(c)) %]</p>
+ [% END %]
+ <input type="hidden" name="problem" value="[% problem.id %]">
+ <input class="btn-primary" type="submit" name="hide" value="[% loc('Hide my name on this report') %]">
+ [% END %]
+
+ [% IF NOT c.user.from_body %]
+ <p>[% loc('Alternatively, we can hide your name on <strong>all of your reports and updates</strong> across the site:') %]</p>
+ <input class="btn" type="submit" name="hide_everywhere" value="[% loc('Hide my name everywhere') %]">
+ [% END %]
+
+</form>
+
+[% INCLUDE 'footer.html' %]
diff --git a/templates/web/base/my/my.html b/templates/web/base/my/my.html
index a61a8ea44..1aaad6dc9 100644
--- a/templates/web/base/my/my.html
+++ b/templates/web/base/my/my.html
@@ -66,7 +66,7 @@
<p class="meta-2">
[% tprintf( loc("Added %s"), prettify_dt( u.confirmed, 'date' ) ) %]
&ndash;
- <a href="[% c.uri_for( '/report', u.problem_id ) %]#update_[% u.id %]">
+ <a href="[% u.url %]">
[% u.problem.title | html %]
</a>
</p>
diff --git a/templates/web/base/open311/index.html b/templates/web/base/open311/index.html
index 51e7ef364..2a8044a54 100644
--- a/templates/web/base/open311/index.html
+++ b/templates/web/base/open311/index.html
@@ -40,8 +40,8 @@ about future-proofing your communication channels in an easy and economical way
[% IF c.cobrand.moniker == 'fixmystreet' %]
<p>You may be interested to know about <a
-href="https://www.fixmystreet.com/about/council">FixMyStreet
-for Councils</a>, our hosted service which sits seamlessly on your council
+href="https://www.fixmystreet.com/about/professional">FixMyStreet
+Professional</a>, our hosted service which sits seamlessly on your council
website.</p>
<p>We can integrate it with any council back-end system, but if you use
diff --git a/templates/web/base/pagination.html b/templates/web/base/pagination.html
index 448186838..a677b9d58 100644
--- a/templates/web/base/pagination.html
+++ b/templates/web/base/pagination.html
@@ -1,4 +1,4 @@
-[% IF pager.last_page > 1 %]
+[% IF pager.total_entries > 1 %]
<p class="pagination">
[% IF pager.previous_page %]
<a class="prev" href="[% c.uri_with({ $param => pager.previous_page, ajax => undefined }) %][% '#' _ hash IF hash %]">[% loc('Previous') %]</a>
diff --git a/templates/web/base/questionnaire/completed.html b/templates/web/base/questionnaire/completed.html
index 32aa8bd68..280cc33b8 100644
--- a/templates/web/base/questionnaire/completed.html
+++ b/templates/web/base/questionnaire/completed.html
@@ -16,6 +16,6 @@
[% END %]
</div>
-[% INCLUDE next_steps.html %]
+[% INCLUDE next_steps.html utm_content='questionnaire completed' %]
[% INCLUDE 'footer.html' %]
diff --git a/templates/web/base/questionnaire/index.html b/templates/web/base/questionnaire/index.html
index 8639a436f..84a9d7efd 100644
--- a/templates/web/base/questionnaire/index.html
+++ b/templates/web/base/questionnaire/index.html
@@ -22,8 +22,8 @@
<p class="questionnaire-report-reminder__report-meta">[% problem.meta_line(c) | html %]</p>
[% IF updates.size %]
<p class="questionnaire-report-reminder__last-update-header">
- <strong>Last update</strong>
- <a href="/report/[% problem.id %]">Show all updates</a>
+ <strong>[% loc('Last update') %]</strong>
+ <a href="/report/[% problem.id %]">[% loc('Show all updates') %]</a>
</p>
<p class="questionnaire-report-reminder__last-update">&ldquo;[% updates.last.text | add_links %]&rdquo;</p>
[% END %]
diff --git a/templates/web/base/report/_inspect.html b/templates/web/base/report/_inspect.html
index b75394abd..436c89e4a 100644
--- a/templates/web/base/report/_inspect.html
+++ b/templates/web/base/report/_inspect.html
@@ -1,15 +1,25 @@
[% permissions = c.user.permissions(c, problem.bodies_str) %]
[% second_column = BLOCK -%]
<div id="side-inspect">
+
+ <h2 class="inspect-form-heading">[% loc('Inspect report') %]</h2>
+
[% INCLUDE 'errors.html' %]
- <form id="report_inspect_form" method="post" action="[% c.uri_for( '/report', problem.id ) %]">
+ <form id="report_inspect_form" method="post" action="[% c.uri_for( '/report', problem.id ) %]" class="validate">
+ <input type="hidden" name="js" value="">
<div class="inspect-section">
<p>
<strong>[% loc('Report ID:') %]</strong>
<span class="js-report-id">[% problem.id %]</span>
</p>
+ [% IF permissions.report_inspect AND problem.user.phone %]
+ <p>
+ <strong>[% loc('Phone Reporter:') %]</strong>
+ <a href="tel:[% problem.user.phone | html %]">[% problem.user.phone | html %]</a>
+ </p>
+ [% END %]
<p>
[% SET local_coords = problem.local_coords; %]
[% IF local_coords %]
@@ -18,8 +28,8 @@
<span id="problem_northing">[% local_coords.1 %]</span>
[% ELSE %]
<strong>[% loc('Latitude/Longitude:') %]</strong>
- <span id="problem_latitude">[% problem.latitude %]</span>
- <span id="problem_longitude">[% problem.longitude %]</span>,
+ <span id="problem_latitude">[% problem.latitude %]</span>,
+ <span id="problem_longitude">[% problem.longitude %]</span>
[% END %]
<input type="hidden" name="longitude" value="[% problem.longitude %]">
<input type="hidden" name="latitude" value="[% problem.latitude %]">
@@ -39,18 +49,21 @@
[% INCLUDE 'admin/report-category.html' %]
</p>
- [% FOREACH category IN categories %]
- [% cat_prefix = category | lower | replace('[^a-z]', '') %]
- [% cat_prefix = "category_" _ cat_prefix _ "_" %]
- [% IF category == problem.category %]
- <p data-category="[% category | html %]" data-priorities="[% priorities_by_category.$category %]">
- [% INCLUDE 'report/new/category_extras_fields.html' %]
- </p>
- [% ELSE %]
- <p data-category="[% category | html %]" class="hidden" data-priorities="[% priorities_by_category.$category %]">
- [% INCLUDE 'report/new/category_extras_fields.html' report_meta='' %]
+ [% FOREACH category IN category_options_copy %]
+ [% cat_name = category.name;
+ cat_prefix = cat_name | lower | replace('[^a-z]', '');
+ cat_prefix = "category_" _ cat_prefix _ "_" %]
+ <p data-category="[% cat_name | html %]"
+ [%~ IF cat_name != problem.category %] class="hidden"[% END %]
+ data-priorities='[% priorities_by_category.$cat_name %]'
+ data-defect-types='[% category_defect_types.$cat_name %]'
+ data-templates='[% templates_by_category.$cat_name %]'>
+ [% IF cat_name == problem.category %]
+ [% INCLUDE 'report/new/category_extras_fields.html' metas=category_extras.$category %]
+ [% ELSE %]
+ [% INCLUDE 'report/new/category_extras_fields.html' metas=category_extras.$category report_meta='' %]
+ [% END %]
</p>
- [% END %]
[% END %]
[% IF permissions.report_inspect %]
@@ -69,11 +82,22 @@
<label for="state">[% loc('State') %]</label>
[% INCLUDE 'report/inspect/state_groups_select.html' %]
</p>
+ [% IF permissions.report_instruct AND NOT problem.get_extra_metadata('inspected') %]
+ <div id="js-inspect-action-scheduled" class="[% "hidden" UNLESS problem.state == 'action scheduled' %]">
+ <p>[% loc('Do you want to automatically raise a defect?') %]</p>
+ <p class="segmented-control segmented-control--radio">
+ <input type="radio" name="raise_defect" id="raise_defect_yes" value="1">
+ <label class="btn" for="raise_defect_yes">[% loc('Yes') %]</label>
+ <input type="radio" name="raise_defect" id="raise_defect_no" value="0">
+ <label class="btn" for="raise_defect_no">[% loc('No') %]</label>
+ </p>
+ </div>
+ [% END %]
<div id="js-duplicate-reports" class="[% "hidden" UNLESS problem.duplicate_of %]">
<input type="hidden" name="duplicate_of" value="[% problem.duplicate_of.id %]">
<p class="[% "hidden" UNLESS problem.duplicate_of %]"><strong>[% loc('Duplicate of') %]</strong></p>
<p class="[% "hidden" IF problem.duplicate_of %]">[% loc('Which report is it a duplicate of?') %]</p>
- <ul class="item-list">
+ <ul class="item-list item-list--inspect-duplicates">
[% IF problem.duplicate_of %]
[% INCLUDE 'report/_item.html' item_extra_class = 'item-list--reports__item--selected' problem = problem.duplicate_of %]
<li class="item-list__item"><a class="btn" href="#" id="js-change-duplicate-report">[% loc('Choose another') %]</a></li>
@@ -82,7 +106,7 @@
</div>
[% IF problem.duplicates.size %]
<p><strong>[% loc('Duplicates') %]</strong></p>
- <ul class="item-list">
+ <ul class="item-list item-list--inspect-duplicates">
[% FOR duplicate IN problem.duplicates %]
[% INCLUDE 'report/_item.html' problem = duplicate %]
[% END %]
@@ -98,9 +122,9 @@
<p>
<label for="problem_priority">[% loc('Priority') %]</label>
<select name="priority" id="problem_priority" class="form-control">
- <option value="" [% 'selected' UNLESS problem.response_priority_id %]>-</option>
+ <option value="" [% 'selected' UNLESS problem.response_priority_id OR has_default_priority %]>-</option>
[% FOREACH priority IN problem.response_priorities %]
- <option value="[% priority.id %]" [% 'selected' IF problem.response_priority_id == priority.id %] [% 'disabled' IF priority.deleted %]>[% priority.name | html %]</option>
+ <option value="[% priority.id %]" [% 'selected' IF ( problem.response_priority_id == priority.id ) OR priority.is_default %][% 'disabled' IF priority.deleted %]>[% priority.name | html %]</option>
[% END %]
</select>
</p>
@@ -147,10 +171,14 @@
[% ELSE %]
<p>[% loc("<strong>Note:</strong> This report hasn't yet been sent onwards for action. Any changes made may not be passed on.") %]</p>
[% END %]
+ [% TRY %][% INCLUDE 'report/_inspect_extra_info.html' %][% CATCH file %][% END %]
[% END %]
<p>
- <input type="hidden" name="token" value="[% csrf_token %]">
+ <input type="hidden" name="token" value="[% csrf_token %]" />
+ [% IF permissions.planned_reports %]
+ <input type="hidden" name="post_inspect_url" value="[% post_inspect_url | html %]" />
+ [% END %]
<input class="btn btn-primary" type="submit" value="[% loc('Save changes') %]" data-value-original="[% loc('Save changes') %]" data-value-duplicate="[% loc('Save + close as duplicate') %]" name="save" />
</p>
</div>
diff --git a/templates/web/base/report/_item.html b/templates/web/base/report/_item.html
index e627227d4..9449ca55d 100644
--- a/templates/web/base/report/_item.html
+++ b/templates/web/base/report/_item.html
@@ -11,7 +11,9 @@
[% IF c.user.is_planned_report(problem) ~%]
name="shortlist-remove" title="[% loc('Remove from shortlist') %]" class="item-list__item__shortlist-remove"
[%~ ELSE ~%]
- name="shortlist-add" title="[% loc('Add to shortlist') %]" class="item-list__item__shortlist-[% IF problem.shortlisted_user %]take[% ELSE %]add[% END %]"
+ name="shortlist-add" title="[% IF problem.shortlisted_user %]
+ [%~ tprintf(loc('Shortlisted by %s'), problem.shortlisted_user.name) %]; [% END %]
+ [%~ loc('Add to shortlist') %]" class="item-list__item__shortlist-[% IF problem.shortlisted_user %]take[% ELSE %]add[% END %]"
[%~ END ~%]
>
[%~ END %]
@@ -27,7 +29,7 @@
[% END %]
<li class="item-list__item item-list--reports__item [% item_extra_class %]"
- data-report-id="[% problem.id | html %]" data-lastupdate="[% problem.lastupdate %]">
+ data-report-id="[% problem.id | html %]" data-lastupdate="[% problem.lastupdate %]" id="report-[% problem.id | html %]">
<a href="[% c.cobrand.base_url_for_report( problem ) %][% problem.url %]">
[% IF problem.photo %]
<img class="img" height="60" width="90" src="[% problem.photos.first.url_fp %]" alt="">
@@ -38,10 +40,10 @@
[% END %]
<small>
[% IF NOT no_fixed AND problem.is_fixed %]
- <span class="item-list__item__state">[% loc('Fixed') %]</span>
+ <span class="item-list__item__state">[% prettify_state('fixed') %]</span>
[% ELSIF NOT no_fixed AND problem.is_closed %]
- <span class="item-list__item__state">[% loc('Closed') %]</span>
- [% ELSIF problem.response_priority AND (c.user.has_permission_to('report_edit_priority', problem.bodies_str_ids) OR c.user.has_permission_to('report_inspect', problem.bodies_str_ids)) %]
+ <span class="item-list__item__state">[% prettify_state('closed') %]</span>
+ [% ELSIF (c.user.has_permission_to('report_edit_priority', problem.bodies_str_ids) OR c.user.has_permission_to('report_inspect', problem.bodies_str_ids)) AND problem.response_priority %]
<span class="item-list__item__state">[% problem.response_priority.name %]</span>
[% END %]
[%- IF c.cobrand.moniker != 'fixamingata' %] [%# Default: %]
@@ -88,11 +90,11 @@
</div>
<div>
<h4>[% loc('Category') %]</h4>
- <p>[% (problem.category OR '-') | html %]</p>
+ <p>[% (problem.category_display OR '-') | html %]</p>
</div>
<div>
<h4>[% loc('State') %]</h4>
- <p>[% state_pretty.${problem.state} %]</p>
+ <p>[% prettify_state(problem.state, 1) %]</p>
</div>
<div>
<h4>[% loc('Priority') %]</h4>
diff --git a/templates/web/base/report/_main.html b/templates/web/base/report/_main.html
index 83a3a1109..405cb2118 100644
--- a/templates/web/base/report/_main.html
+++ b/templates/web/base/report/_main.html
@@ -64,6 +64,10 @@
[% INCLUDE 'report/_report_meta_info.html' %]
</p>
+ [% IF anonymized ~%]
+ <p class="form-success">[% anonymized %]</p>
+ [% END ~%]
+
[% INCLUDE 'report/_main_sent_info.html' %]
[% mlog = problem.latest_moderation_log_entry(); IF mlog %]
<p>[% tprintf(loc('Moderated by %s at %s'), mlog.admin_user, prettify_dt(mlog.whenedited)) %]</p>
diff --git a/templates/web/base/report/_report_meta_info.html b/templates/web/base/report/_report_meta_info.html
index da7339c81..e2a6412a3 100644
--- a/templates/web/base/report/_report_meta_info.html
+++ b/templates/web/base/report/_report_meta_info.html
@@ -1,2 +1,5 @@
[% problem.meta_line(c) | html %]
+[% IF c.user_exists AND c.user.id == problem.user_id AND !problem.anonymous %]
+ <small>(<a href="/my/anonymize?problem=[% problem.id | uri %]" class="js-hide-name">[% loc('Hide your name?') %]</a>)</small>
+[% END %]
[%- IF !problem.used_map %]; <strong>([% loc('there is no pin shown as the user did not use the map') %])</strong>[% END %]
diff --git a/templates/web/base/report/_state_select_field.html b/templates/web/base/report/_state_select_field.html
index 9b3ed18df..0f6d8faf6 100644
--- a/templates/web/base/report/_state_select_field.html
+++ b/templates/web/base/report/_state_select_field.html
@@ -2,10 +2,19 @@
[% IF include_empty %]
<option value="">---</option>
[% END %]
+[% SET found = 0 ~%]
+[% FOREACH group IN state_groups ~%]
+ [% FOREACH state IN group.1 ~%]
+ [% SET found = 1 IF state == current_state ~%]
+ [% END ~%]
+[% END ~%]
+[% IF NOT found ~%]
+ <option selected value="[% current_state %]">[% prettify_state(current_state, single_fixed) %]</option>
+[% END ~%]
[% FOREACH group IN state_groups %]
<optgroup label="[% group.0 %]">
[% FOREACH state IN group.1 %]
- <option [% 'selected ' IF state == current_state %] value="[% state %]">[% state_pretty.$state %]</option>
+ <option [% 'selected ' IF state == current_state %]value="[% state %]">[% prettify_state(state, single_fixed) %]</option>
[% END %]
</optgroup>
[% END %]
diff --git a/templates/web/base/report/banner.html b/templates/web/base/report/banner.html
index c80d129eb..ee73d287a 100644
--- a/templates/web/base/report/banner.html
+++ b/templates/web/base/report/banner.html
@@ -9,11 +9,11 @@
[% INCLUDE banner, id = 'unknown', text = loc('Unknown') %]
[% END %]
[% IF problem.is_fixed %]
- [% INCLUDE banner, id = 'fixed', text = loc('Fixed') %]
+ [% INCLUDE banner, id = 'fixed', text = prettify_state('fixed') %]
[% END %]
[% IF problem.is_closed %]
- [% INCLUDE banner, id = 'closed', text = loc('Closed') %]
+ [% INCLUDE banner, id = 'closed', text = prettify_state('closed') %]
[% END %]
[% IF problem.is_in_progress %]
- [% INCLUDE banner, id = 'progress', text = loc('In progress') %]
+ [% INCLUDE banner, id = 'progress', text = prettify_state(problem.state) %]
[% END %]
diff --git a/templates/web/base/report/display_tools.html b/templates/web/base/report/display_tools.html
index fb337df59..c477fd8dd 100644
--- a/templates/web/base/report/display_tools.html
+++ b/templates/web/base/report/display_tools.html
@@ -25,7 +25,7 @@
[% IF c.cobrand.moniker == 'fixmystreet' %]
<div id="report-share" class="hidden-js" align="center">
- <a class="btn btn--social btn--twitter" href="https://twitter.com/intent/tweet?text=I%20just%20viewed%20this%20report:%20&lsquo;[% problem.title_safe | uri %]&rsquo;&amp;via=fixmystreet&amp;related=mySociety">
+ <a class="btn btn--social btn--twitter" href="https://twitter.com/intent/tweet?text=I%20just%20viewed%20this%20report:%20&lsquo;[% problem.title_safe | uri %]&rsquo;&amp;url=[% c.cobrand.base_url | uri %][% c.req.uri.path | uri %]&amp;via=fixmystreet&amp;related=mySociety">
<img alt="" src="/i/twitter-icon-32.png" width="17" height="32">
Tweet
</a>
diff --git a/templates/web/base/report/duplicate-no-updates.html b/templates/web/base/report/duplicate-no-updates.html
index eb9ded728..c8020a107 100644
--- a/templates/web/base/report/duplicate-no-updates.html
+++ b/templates/web/base/report/duplicate-no-updates.html
@@ -1,5 +1,5 @@
<div>
- [% UNLESS hide_header %]<h2>[% loc( 'Provide an update') %]</h2>[% END %]
+ [% UNLESS hide_header %]<h2 class="update-form-heading">[% loc( 'Provide an update') %]</h2>[% END %]
<p>[% loc("This report is a duplicate. Please leave updates on the original report:") %]</p>
<ul class="item-list">
[% INCLUDE 'report/_item.html' item_extra_class = 'item-list__item--with-pin item-list--reports__item--selected' problem = problem.duplicate_of %]
diff --git a/templates/web/base/report/inspect/state_groups_select.html b/templates/web/base/report/inspect/state_groups_select.html
index c4043751b..998b99739 100644
--- a/templates/web/base/report/inspect/state_groups_select.html
+++ b/templates/web/base/report/inspect/state_groups_select.html
@@ -1,24 +1,7 @@
[%
-SET state_pretty = {
- 'confirmed' = loc('Open')
- 'investigating' = loc('Investigating')
- 'in progress' = loc('In progress')
- 'action scheduled' = loc('Action Scheduled')
- 'fixed - council' = loc('Fixed - Council')
- 'unable to fix' = loc('No further action')
- 'not responsible' = loc('Not Responsible')
- 'duplicate' = loc('Duplicate')
- 'internal referral' = loc('Internal referral')
- 'hidden' = loc('Hidden')
-};
-SET state_groups = [
- [ loc('Open'), [ 'confirmed', 'investigating', 'in progress', 'action scheduled' ] ],
- [ loc('Fixed'), [ 'fixed - council' ] ],
- [ loc('Closed'), [ 'unable to fix', 'not responsible', 'duplicate', 'internal referral' ] ],
- [ loc('Hidden'), [ 'hidden' ] ]
-];
+SET state_groups = c.cobrand.state_groups_inspect;
%]
[% DEFAULT current_state = problem.state %]
-[% INCLUDE 'report/_state_select_field.html' %]
+[% INCLUDE 'report/_state_select_field.html' single_fixed=1 %]
diff --git a/templates/web/base/report/new/category.html b/templates/web/base/report/new/category.html
index d63649083..b8ebf1653 100644
--- a/templates/web/base/report/new/category.html
+++ b/templates/web/base/report/new/category.html
@@ -5,11 +5,11 @@
<label for='form_category' id="form_category_label">
[%~ loc('Category') ~%]
</label>[% =%]
- <select class="form-control" name='category' id='form_category'>
+ <select class="form-control" name='category' id='form_category' data-role='[% c.user.has_body_permission_to('planned_reports') ? 'inspector' : 'user' %]' data-body='[% c.user.from_body.name %]'>
[%~ FOREACH cat_op IN category_options ~%]
- [% cat_op_lc = cat_op | lower =%]
- <option value='[% cat_op | html %]'[% ' selected' IF report.category == cat_op || category_lc == cat_op_lc || (category_options.size == 2 AND loop.last) ~%]
- >[% IF loop.first %][% cat_op %][% ELSE %][% cat_op | html %][% END %]</option>
+ [% cat_op_lc = cat_op.name | lower =%]
+ <option value='[% cat_op.name | html %]'[% ' selected' IF report.category == cat_op.name || category_lc == cat_op_lc || (category_options.size == 2 AND loop.last) ~%]
+ >[% IF loop.first %][% cat_op.value %][% ELSE %][% cat_op.value | html %][% END %]</option>
[%~ END =%]
</select>
[%~ END ~%]
diff --git a/templates/web/base/report/new/category_extras.html b/templates/web/base/report/new/category_extras.html
index 084dd2d93..fd2752388 100644
--- a/templates/web/base/report/new/category_extras.html
+++ b/templates/web/base/report/new/category_extras.html
@@ -15,7 +15,14 @@
list_of_names.join( '</strong>' _ loc(' or ') _ '<strong>' )
); %]
</p>
- [% INCLUDE 'report/new/category_extras_fields.html' %]
+ [% INCLUDE 'report/new/category_extras_fields.html' metas=category_extras.$category %]
</div>
[%- END %]
+
+ [%- IF report_extra_fields %]
+ [% FOREACH extras IN report_extra_fields %]
+ [% cat_prefix = "extra[" _ extras.id _ "]" %]
+ [% INCLUDE 'report/new/category_extras_fields.html' metas=extras.get_extra_fields %]
+ [% END %]
+ [%- END %]
</div>
diff --git a/templates/web/base/report/new/category_extras_fields.html b/templates/web/base/report/new/category_extras_fields.html
index 012007e06..9c2731730 100644
--- a/templates/web/base/report/new/category_extras_fields.html
+++ b/templates/web/base/report/new/category_extras_fields.html
@@ -1,4 +1,4 @@
-[%- FOR meta IN category_extras.$category %]
+[%- FOR meta IN metas %]
[%- meta_name = meta.code -%]
[% IF c.cobrand.category_extra_hidden(meta_name) %]
diff --git a/templates/web/base/report/new/category_wrapper.html b/templates/web/base/report/new/category_wrapper.html
index 9f628c44e..291f5e923 100644
--- a/templates/web/base/report/new/category_wrapper.html
+++ b/templates/web/base/report/new/category_wrapper.html
@@ -1,7 +1,7 @@
<div id="form_category_row">
[% IF js %]
<label for="form_category">[% loc('Category') %]</label>
- <select class="form-control" name="category" id="form_category" required><option>[% loc('Loading...') %]</option></select>
+ <select class="form-control" name="category" id="form_category" data-role="[% c.user.has_body_permission_to('planned_reports') ? 'inspector' : 'user' %]" data-body="[% c.user.from_body.name %]" required><option>[% loc('Loading...') %]</option></select>
[% ELSE %]
[% IF category_options.size %]
[% IF field_errors.category %]
@@ -12,6 +12,6 @@
[% END %]
</div>
-[%- IF category_extras %]
+[%- IF category_extras OR report_extra_fields %]
[% PROCESS "report/new/category_extras.html" %]
[%- END %]
diff --git a/templates/web/base/report/new/form_report.html b/templates/web/base/report/new/form_report.html
index e85d890c9..1d1a0e289 100644
--- a/templates/web/base/report/new/form_report.html
+++ b/templates/web/base/report/new/form_report.html
@@ -22,6 +22,8 @@
[% END %]
<input class="form-control" type="text" value="[% report.title | html %]" name="title" id="form_title" placeholder="[% loc('10 inch pothole on Example St, near post box') %]" required>
+[% TRY %][% PROCESS 'report/new/after_title.html' %][% CATCH file %][% END %]
+
[% IF c.cobrand.allow_photo_upload %]
<input type="hidden" name="upload_fileid" value="[% upload_fileid %]">
<label for="form_photo">
diff --git a/templates/web/base/report/new/form_user_loggedin.html b/templates/web/base/report/new/form_user_loggedin.html
index 7fc1b1b5f..e841845bf 100644
--- a/templates/web/base/report/new/form_user_loggedin.html
+++ b/templates/web/base/report/new/form_user_loggedin.html
@@ -6,8 +6,9 @@
</div>
[% ELSE %]
[% can_contribute_as_another_user = c.user.has_permission_to("contribute_as_another_user", bodies.keys) %]
+ [% can_contribute_as_anonymous_user = c.user.has_permission_to("contribute_as_anonymous_user", bodies.keys) %]
[% can_contribute_as_body = c.user.from_body AND c.user.has_permission_to("contribute_as_body", bodies.keys) %]
- [% IF can_contribute_as_another_user OR can_contribute_as_body %]
+ [% IF can_contribute_as_another_user OR can_contribute_as_anonymous_user OR can_contribute_as_body %]
[% INCLUDE form_as %]
[% END %]
[% END %]
@@ -15,21 +16,22 @@
[% BLOCK form_as %]
<label for="form_as">[% loc('Report as') %]</label>
<select id="form_as" class="form-control js-contribute-as" name="form_as">
- <option value="myself" selected>[% loc('Yourself') %]</option>
+ <option value="myself" [% c.user.has_body_permission_to('planned_reports') ? '' : 'selected' %]>[% loc('Yourself') %]</option>
+ [% IF js || can_contribute_as_anonymous_user %]
+ <option value="anonymous_user">[% loc('Anonymous user') %]</option>
+ [% END %]
[% IF js || can_contribute_as_another_user %]
<option value="another_user">[% loc('Another user') %]</option>
[% END %]
[% IF js || can_contribute_as_body %]
- <option value="body">[% c.user.from_body.name %]</option>
+ <option value="body" [% c.user.has_body_permission_to('planned_reports') ? 'selected' : '' %]>[% c.user.from_body.name %]</option>
[% END %]
</select>
[% END %]
<label for="form_email">[% loc('Email address') %]</label>
- <input class="form-control" id="form_email"
- [%- IF js OR can_contribute_as_another_user OR can_contribute_as_body -%]
- name="email"
- [%- ELSE -%]
+ <input class="form-control" id="form_email" name="email"
+ [%- IF NOT can_contribute_as_another_user -%]
disabled
[%- END -%]
type="text" value="[% c.user.email | html %]">
diff --git a/templates/web/base/report/photo-js.html b/templates/web/base/report/photo-js.html
index 91b9930e7..8c8c91669 100644
--- a/templates/web/base/report/photo-js.html
+++ b/templates/web/base/report/photo-js.html
@@ -1,6 +1,6 @@
[% extra_css = BLOCK %]
- <link rel="stylesheet" href="[% version('/js/fancybox/jquery.fancybox-1.3.4.css') %]">
+ <link rel="stylesheet" href="[% version('/vendor/fancybox/jquery.fancybox-1.3.4.css') %]">
[% END %]
[% extra_js = [
- version('/js/fancybox/jquery.fancybox-1.3.4.pack.js')
+ version('/vendor/fancybox/jquery.fancybox-1.3.4.pack.js')
] %]
diff --git a/templates/web/base/report/update-form.html b/templates/web/base/report/update-form.html
index 49d011c0e..ea7b14970 100644
--- a/templates/web/base/report/update-form.html
+++ b/templates/web/base/report/update-form.html
@@ -3,7 +3,7 @@
<div id="update_form">
[% IF NOT login_success AND NOT oauth_need_email %]
- <h2>[% loc( 'Provide an update') %]</h2>
+ <h2 class="update-form-heading">[% loc( 'Provide an update') %]</h2>
[% IF c.cobrand.moniker != 'stevenage' %]
<div class="general-notes">
diff --git a/templates/web/base/report/update.html b/templates/web/base/report/update.html
index 51c1a9e4f..85624669a 100644
--- a/templates/web/base/report/update.html
+++ b/templates/web/base/report/update.html
@@ -24,7 +24,7 @@
<div class="item-list__update-wrap">
[% IF update.whenanswered %]
<div class="item-list__update-text">
- <p class="meta-2"> [% INCLUDE meta_line %] </p>
+ <p class="meta-2">[% INCLUDE meta_line %]</p>
</div>
[% ELSE %]
<a name="update_[% update.id %]" class="internal-link-fixed-header"></a>
@@ -43,8 +43,17 @@
</div>
[% END %]
+ [% SET update_state = update.problem_state_display(c) %]
+ [% IF update_state AND update_state != global.last_state AND NOT (global.last_state == "" AND update.problem_state == 'confirmed') %]
+ <p class="meta-2">[% loc('State changed to:') %] [% update_state %]</p>
+ [%- global.last_state = update_state %]
+ [% END %]
+
<p class="meta-2">
[% INCLUDE meta_line %]
+ [% IF c.user_exists AND c.user.id == update.user_id AND !update.anonymous %]
+ <small>(<a href="/my/anonymize?update=[% update.id | uri %]" class="js-hide-name">[% loc('Hide your name?') %]</a>)</small>
+ [% END %]
[% mlog = update.latest_moderation_log_entry(); IF mlog %]
<br />[% tprintf(loc('Moderated by %s at %s'), mlog.admin_user, prettify_dt(mlog.whenedited)) %]
[% END %]
diff --git a/templates/web/base/report/update/form_name.html b/templates/web/base/report/update/form_name.html
index 926e16878..e4f7ac60c 100644
--- a/templates/web/base/report/update/form_name.html
+++ b/templates/web/base/report/update/form_name.html
@@ -3,15 +3,19 @@
[% PROCESS 'user/_anonymity.html' anonymous = update.anonymous %]
[% can_contribute_as_another_user = c.user.has_permission_to("contribute_as_another_user", problem.bodies_str_ids) %]
+ [% can_contribute_as_anonymous_user = c.user.has_permission_to("contribute_as_anonymous_user", problem.bodies_str_ids) %]
[% can_contribute_as_body = c.user.from_body AND c.user.has_permission_to("contribute_as_body", problem.bodies_str_ids) %]
- [% IF can_contribute_as_another_user OR can_contribute_as_body %]
+ [% IF can_contribute_as_another_user OR can_contribute_as_body OR can_contribute_as_anonymous_user %]
<label for="form_as">[% loc('Provide update as') %]</label>
<select id="form_as" class="form-control js-contribute-as" name="form_as">
<option value="myself" selected>[% loc('Yourself') %]</option>
[% IF can_contribute_as_another_user %]
<option value="another_user">[% loc('Another user') %]</option>
[% END %]
+ [% IF can_contribute_as_anonymous_user %]
+ <option value="anonymous_user">[% loc('Anonymous user') %]</option>
+ [% END %]
[% IF can_contribute_as_body %]
<option value="body">[% c.user.from_body.name %]</option>
[% END %]
diff --git a/templates/web/base/report/update/form_update.html b/templates/web/base/report/update/form_update.html
index f15a1f74b..5a1b3b602 100644
--- a/templates/web/base/report/update/form_update.html
+++ b/templates/web/base/report/update/form_update.html
@@ -36,18 +36,10 @@
<textarea rows="7" cols="30" name="update" class="form-control" id="form_update" placeholder="[% loc('Please write your update here') %]" required>[% update.text | html %]</textarea>
[% IF c.user && c.user.belongs_to_body( problem.bodies_str ) %]
- <label for="form_state">[% loc( 'State' ) %]</label>
- <select name="state" id="form_state" class="form-control">
- [% FOREACH state IN [ ['confirmed', loc('Open')], ['investigating',
- loc('Investigating')], ['action scheduled', loc('Action Scheduled')],
- ['in progress', loc('In Progress')], ['duplicate', loc('Duplicate')],
- ['unable to fix', loc('No further action')], ['not responsible', loc('Not Responsible')],
- ['fixed', loc('Fixed')] ] %]
- <option [% 'selected ' IF state.0 == problem.state_display %] value="[% state.0 %]">[% state.1 %]</option>
- [% END %]
- </select>
+ <label for="state">[% loc( 'State' ) %]</label>
+ [% INCLUDE 'report/inspect/state_groups_select.html' %]
[% ELSE %]
- [% IF (problem.is_fixed OR problem.state == 'closed') AND ((c.user_exists AND c.user.id == problem.user_id) OR alert_to_reporter) %]
+ [% IF (problem.is_fixed OR problem.is_closed) AND ((c.user_exists AND c.user.id == problem.user_id) OR alert_to_reporter) %]
<input type="checkbox" name="reopen" id="form_reopen" value="1"[% ' checked' IF (update.mark_open || c.req.params.reopen) %]>
[% IF problem.is_closed %]
@@ -56,7 +48,7 @@
<label class="inline" for="form_reopen">[% loc('This problem has not been fixed') %]</label>
[% END %]
- [% ELSIF !problem.is_fixed %]
+ [% ELSIF !problem.is_fixed AND has_fixed_state %]
<div class="checkbox-group">
<input type="checkbox" name="fixed" id="form_fixed" value="1"[% ' checked' IF update.mark_fixed %]>
diff --git a/templates/web/base/reports/_list-filters.html b/templates/web/base/reports/_list-filters.html
index e657e0375..50e88857d 100644
--- a/templates/web/base/reports/_list-filters.html
+++ b/templates/web/base/reports/_list-filters.html
@@ -1,6 +1,6 @@
[% select_status = BLOCK %]
<select class="form-control js-multiple" name="status" id="statuses" multiple
- data-all="[% loc('All reports') %]" data-all-options='["open","closed","fixed"]'
+ data-all="[% loc('All') %]" data-all-options='["open","closed","fixed"]'
[%~ IF c.cobrand.on_map_default_status == 'open' %]
data-none="[% loc('Unfixed reports') %]"
[%~ END ~%]
@@ -9,9 +9,20 @@
<option value="shortlisted"[% ' selected' IF filter_status.shortlisted %]>[% loc('Shortlisted') %]</option>
<option value="unshortlisted"[% ' selected' IF filter_status.unshortlisted %]>[% loc('Unshortlisted') %]</option>
[% END %]
- <option value="open"[% ' selected' IF filter_status.open %]>[% loc('Unfixed reports') %]</option>
- <option value="closed"[% ' selected' IF filter_status.closed %]>[% loc('Closed reports') %]</option>
- <option value="fixed"[% ' selected' IF filter_status.fixed %]>[% loc('Fixed reports') %]</option>
+ [% IF c.user_exists AND c.user.is_superuser OR c.user.belongs_to_body(body.id) %]
+ [% FOR group IN filter_states %]
+ [% FOR state IN group.1 %]
+ [% NEXT IF state == 'hidden' %]
+ <option value="[% state %]"[% ' selected' IF filter_status.$state %]>[% prettify_state(state, 1) %]</option>
+ [% END %]
+ [% END %]
+ [% ELSE %]
+ <option value="open"[% ' selected' IF filter_status.open %]>[% prettify_state('confirmed') %]</option>
+ <option value="closed"[% ' selected' IF filter_status.closed %]>[% prettify_state('closed') %]</option>
+ [% IF has_fixed_state %]
+ <option value="fixed"[% ' selected' IF filter_status.fixed %]>[% prettify_state('fixed') %]</option>
+ [% END %]
+ [% END %]
</select>
[% END %]
@@ -19,8 +30,8 @@
[% IF filter_categories.size %]
<select class="form-control js-multiple" name="filter_category" id="filter_categories" multiple data-all="[% loc('Everything') %]">
[% FOR cat IN filter_categories %]
- <option value="[% cat | html %]"[% ' selected' IF filter_category.$cat %]>
- [% cat | html %]
+ <option value="[% cat.name | html %]"[% ' selected' IF filter_category.${cat.name} %]>
+ [% cat.value | html %]
</option>
[% END %]
</select>
@@ -34,7 +45,7 @@
[% END %]
<p class="report-list-filters">
- [% tprintf(loc('<label for="statuses">Show</label> %s <label for="filter_categories">about</label> %s', 'The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories'), select_status, select_category) %]
+ [% tprintf(loc('<label for="statuses">Show</label> %s reports <label for="filter_categories">about</label> %s', "The first %s is a dropdown of all/fixed/etc, the second is a dropdown of categories"), select_status, select_category) %]
<input type="submit" name="filter_update" value="[% loc('Go') %]">
</p>
diff --git a/templates/web/base/reports/body.html b/templates/web/base/reports/body.html
index 14ecec0f1..b6e6df73b 100755
--- a/templates/web/base/reports/body.html
+++ b/templates/web/base/reports/body.html
@@ -27,17 +27,26 @@
[% map_html %]
+[% IF c.user && c.user.has_body_permission_to('planned_reports') %]
+ <p id="sub_map_links">
+ <a id="fms_shortlist_all" class="hidden">[% loc('Shortlist all visible') %]</a>
+ </p>
+[% END %]
+
</div>
<div id="map_sidebar">
<div id="side">
-<h1 id="reports_heading">
- [% IF ward %]
- [% ward.name %]<span>, </span><a href="[% body_url %]">[% body.name %]</a>
+ [% IF ward %]
+ <h1 id="reports_heading">
+ [% ward.name %]
+ </h1>
+ <a href="[% body_url %]">[% body.name %]</a>
[% ELSE %]
- [% body.name %]
- [% END %]
-</h1>
+ <h1 id="reports_heading">
+ [% body.name %]
+ </h1>
+ [% END %]
[% IF c.cobrand.moniker == 'hart' %]
[% INCLUDE '_hart_hants_note.html' %]
diff --git a/templates/web/base/reports/index.html b/templates/web/base/reports/index.html
index b07227144..a653a2686 100755
--- a/templates/web/base/reports/index.html
+++ b/templates/web/base/reports/index.html
@@ -1,50 +1,113 @@
+[% USE Number.Format -%]
[% extra_js = [
- version('/js/jquery.fixedthead.js')
+ version('/vendor/chart.min.js'),
+ version('/vendor/accessible-autocomplete.min.js'),
+ version('/js/dashboard.js')
] -%]
-[% INCLUDE 'header.html', title = loc('Summary reports'), bodyclass => 'fullwidthpage' %]
+[%
+ problems_reported = problems_reported_by_period.last | format_number;
+ problems_fixed = problems_fixed_by_period.last | format_number;
+ last_seven_reported = last_seven_days.problems_total | format_number;
+ last_seven_updated = last_seven_days.updated_total | format_number;
+ last_seven_fixed = last_seven_days.fixed_total | format_number;
+ other_categories_formatted = other_categories | format_number;
+-%]
+[% INCLUDE 'header.html', title = loc('Dashboard'), bodyclass => 'dashboard fullwidthpage' %]
-<h1>[% loc('All Reports') %]</h1>
+<div class="dashboard-header">
+ <h1>[% loc('Dashboard') %]</h1>
+</div>
-<div class="intro">
-<p>
- [% loc('This is a summary of all reports on this site.') %]
- [% IF bodies.size > 1 %]
- [% loc('Select a particular council to see the reports sent there.') %]
- [% END %]
- [% IF any_empty_bodies %]
- [% loc('Greyed-out lines are councils that no longer exist.') %]
- [% END %]
-</p>
+<div class="dashboard-row">
+ <div class="dashboard-item dashboard-item--12">
+ <h2>[% loc('All time') %]</h2>
+ <div class="labelled-line-chart">
+ <canvas id="chart-all-reports" width="600" height="300"
+ data-labels="[&quot;[% problem_periods.join('&quot;,&quot;') %]&quot;]"
+ data-values-reports="[[% problems_reported_by_period.join(',') %]]"
+ data-values-fixed="[[% problems_fixed_by_period.join(',') %]]"
+ ></canvas>
+ <span class="label" data-datasetindex="0"><strong style="color: #F4A140">[% tprintf(nget("%s problem reported", "%s problems reported", problems_reported_by_period.last), decode(problems_reported) _ '</strong>') %]</span>
+ <span class="label" data-datasetindex="1"><strong style="color: #62B356">[% tprintf(nget("%s report marked as fixed", "%s reports marked as fixed", problems_fixed_by_period.last), decode(problems_fixed) _ '</strong>') %]</span>
+ </div>
+ </div>
</div>
-<table cellpadding="3" cellspacing="1" border="0" class="nicetable">
-<thead>
-<tr>
-<th class="title">[% loc('Name') %]</th>
-<th title="[% loc('Reported within the last four weeks') %]" class="data">[% loc('New <br>problems') %]</th>
-<th title="[% loc('Open for more than four weeks, with an update within the past eight weeks') %]" class="data">[% loc('Older <br>problems') %]</th>
-<th title="[% loc('Open, but not had any update in eight weeks') %]" class="data">[% loc('Old / unknown <br>problems') %]</th>
-<th title="[% loc('Marked fixed/closed in the past eight weeks') %]" class="data">[% loc('Recently <br>fixed') %]</th>
-<th title="[% loc('Marked fixed/closed more than eight weeks ago') %]" class="data">[% loc('Older <br>fixed') %]</th>
-</tr>
-</thead>
+<div class="dashboard-row">
+ <div class="dashboard-item dashboard-item--6">
+ <h2 class="dashboard-subheading">[% loc('Last 7 days') %]</h2>
+ <div class="dashboard-sparklines">
+ <div>
+ <div class="labelled-sparkline">
+ <canvas width="200" height="50" data-color="#F4A140" data-values="[% last_seven_days.problems.join(' ') %]"></canvas>
+ <span class="label" data-datasetindex="0"><strong style="color: #F4A140;">[% tprintf(nget("%s problem reported", "%s problems reported", last_seven_days.problems_total), decode(last_seven_reported) _ '</strong>') %]</span>
+ </div>
+ </div>
+ <div>
+ <div class="labelled-sparkline">
+ <canvas width="200" height="50" data-color="#4FADED" data-values="[% last_seven_days.updated.join(' ') %]"></canvas>
+ <span class="label" data-datasetindex="0"><strong style="color: #4FADED;">[% tprintf(nget("%s update on problems", "%s updates on problems", last_seven_days.updated_total), decode(last_seven_updated) _ '</strong>') %]</span>
+ </div>
+ </div>
+ <div>
+ <div class="labelled-sparkline">
+ <canvas width="200" height="50" data-color="#62B356" data-values="[% last_seven_days.fixed.join(' ') %]"></canvas>
+ <span class="label" data-datasetindex="0"><strong style="color: #62B356;">[% tprintf(nget("%s problem marked as fixed", "%s problems marked as fixed", last_seven_days.fixed_total), decode(last_seven_fixed) _ '</strong>') %]</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="dashboard-item dashboard-item--6">
+ <form class="dashboard-search" action="/reports">
+ <h2>[% loc('Show reports in your area') %]</h2>
+ <label for="body">[% loc('Pick your council') %]</label>
+ <div class="dashboard-search__input">
+ <select id="body" name="body" class="js-autocomplete">
+ <option value="">[% loc('Pick your council') %]</option>
+ [% FOR body IN bodies %]
+ <option value="[% body.id %]">[% body.name | html ~%]
+ [% IF NOT body.get_column("area_count") %] [% loc('(no longer exists)') %][% END ~%]
+ </option>
+ [% END %]
+ </select>
+ </div>
+ <div class="dashboard-search__submit">
+ <input type="submit" value="[% loc('Go') %]">
+ </div>
+ </form>
+ </div>
+</div>
-<tbody>
-[% FOREACH body IN bodies %]
-<tr align="center"
-[%- IF NOT body.get_column("area_count") %] class="gone"
-[%- ELSIF ! (loop.count % 2) %] class="a"
-[%- END %]>
-<td class="title"><a href="[% body.url(c) %]">[% body.name %]</a></td>
-<td class="data">[% IF open.${body.id}.new %]<a href="[% body.url(c, { t => 'new' }) %]">[% open.${body.id}.new %]</a>[% ELSE %]0[% END %]</td>
-<td class="data">[% IF open.${body.id}.older %]<a href="[% body.url(c, { t => 'older' }) %]">[% open.${body.id}.older %]</a>[% ELSE %]0[% END %]</td>
-<td class="data">[% IF open.${body.id}.unknown %]<a href="[% body.url(c, { t => 'unknown' }) %]">[% open.${body.id}.unknown %]</a>[% ELSE %]0[% END %]</td>
-<td class="data">[% IF fixed.${body.id}.new %]<a href="[% body.url(c, { t => 'fixed' }) %]">[% fixed.${body.id}.new %]</a>[% ELSE %]0[% END %]</td>
-<td class="data">[% IF fixed.${body.id}.old %]<a href="[% body.url(c, { t => 'older_fixed' }) %]">[% fixed.${body.id}.old %]</a>[% ELSE %]0[% END %]</td>
-</tr>
-[% TRY %][% PROCESS "reports/_extras.html" %][% CATCH file %][% END %]
-[% END %]
-</tbody>
-</table>
+<div class="dashboard-row">
+ <div class="dashboard-item dashboard-item--6">
+ <h2 class="dashboard-subheading">[% loc('Top 5 responsive councils') %]</h2>
+ <p>[% loc('Average time between a problem being reported and being fixed, last 100 reports.') %]</p>
+ <table class="dashboard-ranking-table">
+ <tbody>
+ [% FOR line IN top_five_bodies %]
+ <tr><td>[% line.name %]</td><td>[% tprintf(nget("%s day", "%s days", line.days), line.days) %]</td></tr>
+ [% END %]
+ </tbody>
+ <tfoot>
+ <tr><td>[% loc('Overall average') %]</td><td>[% tprintf(nget("%s day", "%s days", average), average) %]</td></tr>
+ </tfoot>
+ </table>
+ </div>
+ <div class="dashboard-item dashboard-item--6">
+ <h2 class="dashboard-subheading">[% loc('Top 5 most used categories') %]</h2>
+ <p>[% loc('Number of problems reported in each category, in the last 7 days.') %]</p>
+ <table class="dashboard-ranking-table">
+ <tbody>
+ [% FOR line IN top_five_categories %]
+ [% line_count = line.count | format_number ~%]
+ <tr><td>[% line.category %]</td><td>[% tprintf(nget("%s report", "%s reports", line.count), decode(line_count)) %]</td></tr>
+ [% END %]
+ </tbody>
+ <tfoot>
+ <tr><td>[% loc('Other categories') %]</td><td>[% tprintf(nget("%s report", "%s reports", other_categories), decode(other_categories_formatted)) %]</td></tr>
+ </tfoot>
+ </table>
+ </div>
+</div>
-[% INCLUDE 'footer.html', pagefooter = 'yes' %]
+[% INCLUDE 'footer.html' pagefooter = 'yes' %]
diff --git a/templates/web/base/status/stats.html b/templates/web/base/status/stats.html
index 0f201920d..02f9de904 100644
--- a/templates/web/base/status/stats.html
+++ b/templates/web/base/status/stats.html
@@ -10,8 +10,8 @@
questionnaires_1 = questionnaires.1 | format_number;
total_bodies = bodies.size | format_number;
contacts_total = contacts.total | format_number;
- contacts_1 = contacts.1 | format_number;
- contacts_0 = contacts.0 | format_number;
+ contacts_confirmed = contacts.confirmed | format_number;
+ contacts_unconfirmed = contacts.unconfirmed | format_number;
-%]
<ul>
@@ -24,5 +24,5 @@
<li>[% tprintf( loc('%s confirmed alerts, %s unconfirmed'), decode(alerts_1), decode(alerts_0)) %]</li>
<li>[% tprintf( loc('%s questionnaires sent &ndash; %s answered (%s%%)'), decode(questionnaires_total), decode(questionnaires_1), questionnaires_pc) %]</li>
<li>[% tprintf( loc('%s bodies'), decode(total_bodies)) %],
- [% tprintf( loc('%s council contacts &ndash; %s confirmed, %s unconfirmed'), decode(contacts_total), decode(contacts_1), decode(contacts_0)) %]</li>
+ [% tprintf( loc('%s council contacts &ndash; %s confirmed, %s unconfirmed'), decode(contacts_total), decode(contacts_confirmed), decode(contacts_unconfirmed)) %]</li>
</ul>
diff --git a/templates/web/base/tokens/confirm_alert.html b/templates/web/base/tokens/confirm_alert.html
index f0ad12ff8..0154f0225 100644
--- a/templates/web/base/tokens/confirm_alert.html
+++ b/templates/web/base/tokens/confirm_alert.html
@@ -14,6 +14,6 @@
</div>
-[% INCLUDE next_steps.html %]
+[% INCLUDE next_steps.html utm_content='email alert set up' %]
[% INCLUDE 'footer.html' %]
diff --git a/templates/web/base/tokens/confirm_problem.html b/templates/web/base/tokens/confirm_problem.html
index a4573b5e6..ff9882d4b 100644
--- a/templates/web/base/tokens/confirm_problem.html
+++ b/templates/web/base/tokens/confirm_problem.html
@@ -36,6 +36,7 @@
[% INCLUDE
next_steps.html,
just_interacted = 1,
+ utm_content = 'problem confirmed',
share_url = c.cobrand.base_url_for_report(report) _ report.url,
twitter_comment = loc('I just reported a problem on @fixmystreet')
%]
diff --git a/templates/web/base/tokens/confirm_update.html b/templates/web/base/tokens/confirm_update.html
index 01ac992ab..6b03308a5 100644
--- a/templates/web/base/tokens/confirm_update.html
+++ b/templates/web/base/tokens/confirm_update.html
@@ -1,9 +1,10 @@
[% INCLUDE 'header.html', bodyclass = 'fullwidthpage', title = loc('Confirmation');
DEFAULT problem = update.problem;
-SET problem_url = c.uri_for('/report', problem.id);
IF update;
- problem_url = problem_url _ '#update_' _ update.id;
+ SET problem_url = update.url;
+ELSE;
+ SET problem_url = problem.url;
END;
%]
@@ -19,6 +20,7 @@ END;
[% INCLUDE
next_steps.html,
just_interacted = 1,
+ utm_content = 'update confirmed',
share_url = c.cobrand.base_url_for_report(problem) _ problem.url,
twitter_comment = loc('I just updated a problem on @fixmystreet')
%]
diff --git a/templates/web/borsetshire/around/postcode_form.html b/templates/web/borsetshire/around/postcode_form.html
new file mode 100644
index 000000000..bb4accf26
--- /dev/null
+++ b/templates/web/borsetshire/around/postcode_form.html
@@ -0,0 +1,26 @@
+<div id="front-main">
+ <div id="front-main-container">
+ [% INCLUDE 'around/intro.html' %]
+
+ [%
+ question = c.cobrand.enter_postcode_text || loc('Enter a nearby street name and area');
+ %]
+
+ <form action="[% c.uri_for('/around') %]" method="get" name="postcodeForm" id="postcodeForm">
+ <label for="pc">[% question %]:</label>
+ <div>
+ <input type="hidden" name="pc" value="[% c.cobrand.problems.first.postcode | html %]">
+ <input type="text" name="_pc" value="[% pc | html %]" id="pc" size="10" maxlength="200" placeholder="[% tprintf(loc('e.g. ‘%s’ or ‘%s’'), c.cobrand.example_places) %]">
+ <input type="submit" value="[% loc('Go') %]" id="sub">
+ </div>
+
+ [% IF partial_token %]
+ <input type="hidden" name="partial" value="[% partial_token.token %]">
+ [% END %]
+
+ [% IF c.user_exists AND c.user.categories.size %]
+ <input type="hidden" name="filter_category" value="[% c.user.categories.join(",") | html %]">
+ [% END %]
+ </form>
+ </div>
+</div>
diff --git a/templates/web/borsetshire/auth/_general_top.html b/templates/web/borsetshire/auth/_general_top.html
new file mode 100644
index 000000000..6e65bf90b
--- /dev/null
+++ b/templates/web/borsetshire/auth/_general_top.html
@@ -0,0 +1,28 @@
+<p>The following users exist, all with password <kbd>password</kbd>
+(click them to quickly log in):</p>
+<style>
+#demo-user-list dt {
+ padding: 0 0.5em;
+}
+#demo-user-list dd {
+ color: #666;
+ font-size: 87.5%;
+ padding: 0 0.5em;
+}
+.js #demo-user-list dt:hover {
+ background-color: #faebac;
+ cursor: pointer;
+}
+</style>
+
+<dl id='demo-user-list'>
+ <dt>inspector@example.org</dt>
+ <dd>an inspector, who can shortlist and inspect reports.</dd>
+ <dt>cs@example.org</dt>
+ <dd>a customer service rep, who can create reports as the council or another user, and moderate reports.</dd>
+ <dt>super@example.org</dt>
+ <dd>a council super user, who can do all the above, plus also edit users, templates, priorities, and more.</dd>
+ <dt>user@example.org</dt>
+ <dd>a normal user, who has created the example reports on the site.</dd>
+</dl>
+
diff --git a/templates/web/borsetshire/footer_extra_js.html b/templates/web/borsetshire/footer_extra_js.html
new file mode 100644
index 000000000..3e443af71
--- /dev/null
+++ b/templates/web/borsetshire/footer_extra_js.html
@@ -0,0 +1,5 @@
+[% scripts.push(
+ version('/cobrands/fixmystreet-uk-councils/js.js'),
+ version('/cobrands/borsetshire/google_maps_style.js'),
+ version('/cobrands/borsetshire/js.js'),
+) %]
diff --git a/templates/web/borsetshire/header_site.html b/templates/web/borsetshire/header_site.html
new file mode 100644
index 000000000..51f42881b
--- /dev/null
+++ b/templates/web/borsetshire/header_site.html
@@ -0,0 +1,20 @@
+<header id="site-header" role="banner">
+ <div class="container">
+ [% INCLUDE 'header_logo.html' %]
+ <a href="#main-nav" id="nav-link">Main Navigation</a>
+
+ <!-- hide this on mobile and on map page -->
+ <ul class="site-header__fake-nav">
+ <li>Residents</li>
+ <li>Businesses</li>
+ <li><input type="text"><span class="button">Search</span></li>
+ </ul>
+ </div>
+</header>
+
+<!-- hide this on mobile and on map page -->
+<div id="site-subheader">
+ <div class="container">
+ <h2>Report a problem</h2>
+ </div>
+</div>
diff --git a/templates/web/bristol/footer.html b/templates/web/bristol/footer.html
index 52f2d50df..794dbe457 100644
--- a/templates/web/bristol/footer.html
+++ b/templates/web/bristol/footer.html
@@ -3,8 +3,8 @@
</div><!-- .table-cell -->
<div class="nav-wrapper">
- <div class="nav-wrapper-2">
- [% INCLUDE "main_nav.html" body_name=c.cobrand.council_area hide_mysoc_link=1 %]
+ <div class="container">
+ [% INCLUDE "main_nav.html" body_name=c.cobrand.council_area %]
</div>
</div>
</div> <!-- .wrapper -->
diff --git a/templates/web/bristol/footer_extra_js.html b/templates/web/bristol/footer_extra_js.html
index 1cfcf00f6..2f54083a0 100644
--- a/templates/web/bristol/footer_extra_js.html
+++ b/templates/web/bristol/footer_extra_js.html
@@ -1,5 +1,5 @@
[% scripts.push(
- version('/js/OpenLayers.Projection.OrdnanceSurvey.js')
+ version('/vendor/OpenLayers.Projection.OrdnanceSurvey.js')
version('/cobrands/fixmystreet-uk-councils/js.js'),
version('/cobrands/fixmystreet/assets.js'),
version('/cobrands/bristol/js.js'),
diff --git a/templates/web/bristol/header_logo.html b/templates/web/bristol/header_logo.html
index 42633fbf8..fdcabc99e 100644
--- a/templates/web/bristol/header_logo.html
+++ b/templates/web/bristol/header_logo.html
@@ -1,2 +1,2 @@
- <a href="https://bristol.gov.uk/" id="site-logo">bristol.gov.uk</a>
+ <a href="https://www.bristol.gov.uk/" id="site-logo">bristol.gov.uk</a>
<a href="/" id="report-cta" title="[%- loc('Report a problem') -%]">[%- loc('Report') -%]</a>
diff --git a/templates/web/bristol/maps/bristol.html b/templates/web/bristol/maps/bristol.html
index 08f6fba1c..f13ea4d32 100644
--- a/templates/web/bristol/maps/bristol.html
+++ b/templates/web/bristol/maps/bristol.html
@@ -1,6 +1,6 @@
[%
map_js = [
- version('/js/OpenLayers/OpenLayers.bristol.js'),
+ version('/vendor/OpenLayers/OpenLayers.bristol.js'),
version('/js/map-OpenLayers.js'),
version('/js/map-wmts-base.js'),
version('/js/map-wmts-bristol.js'),
diff --git a/templates/web/bromley/footer.html b/templates/web/bromley/footer.html
index f9b844ce5..5ac94ba83 100644
--- a/templates/web/bromley/footer.html
+++ b/templates/web/bromley/footer.html
@@ -8,8 +8,8 @@
</div><!-- .table-cell -->
<div class="nav-wrapper">
- <div class="nav-wrapper-2">
- [% INCLUDE "main_nav.html" body_name=c.cobrand.council_area hide_mysoc_link=1 hide_privacy_link=1 %]
+ <div class="container">
+ [% INCLUDE "main_nav.html" body_name=c.cobrand.council_area hide_privacy_link=1 %]
</div>
</div>
</div> <!-- .wrapper -->
diff --git a/templates/web/bromley/front/footer-marketing.html b/templates/web/bromley/front/footer-marketing.html
index 34611a1b4..c519eba66 100644
--- a/templates/web/bromley/front/footer-marketing.html
+++ b/templates/web/bromley/front/footer-marketing.html
@@ -12,7 +12,7 @@
<div id="footer-help">
<p>
- Powered by <a class="platform-logo" href="https://fixmystreet.com/about/council">FixMyStreet Platform</a>
+ Powered by <a class="platform-logo" href="https://www.fixmystreet.com/about/professional">FixMyStreet Platform</a>
</p>
</div>
</div>
diff --git a/templates/web/bromley/maps/bromley.html b/templates/web/bromley/maps/bromley.html
index c2ee0273f..71a150f5a 100644
--- a/templates/web/bromley/maps/bromley.html
+++ b/templates/web/bromley/maps/bromley.html
@@ -1,6 +1,6 @@
[%
map_js = [
- version('/js/OpenLayers/OpenLayers.fixmystreet.js'),
+ version('/vendor/OpenLayers/OpenLayers.fixmystreet.js'),
version('/js/map-OpenLayers.js'),
version('/js/map-bing-ol.js'),
version('/js/map-fms.js'),
diff --git a/templates/web/bromley/report/new/after_photo.html b/templates/web/bromley/report/new/after_photo.html
new file mode 100644
index 000000000..e8fac0d2a
--- /dev/null
+++ b/templates/web/bromley/report/new/after_photo.html
@@ -0,0 +1,8 @@
+<div class="description_tips" aria-label="Tips for perfect photos">
+ <ul class="do">
+ <li>To help us locate the problem, include both a close-up and a wide shot</li>
+ </ul>
+ <ul class="dont">
+ <li>Avoid personal information</li>
+ </ul>
+</div>
diff --git a/templates/web/bromley/report/update-form.html b/templates/web/bromley/report/update-form.html
index 99f8248e3..e71e27528 100644
--- a/templates/web/bromley/report/update-form.html
+++ b/templates/web/bromley/report/update-form.html
@@ -1,5 +1,5 @@
<div id="update_form">
- <h2>[% loc( 'Provide an update') %]</h2>
+ <h2 class="update-form-heading">[% loc( 'Provide an update') %]</h2>
[% INCLUDE 'errors.html' %]
@@ -34,28 +34,25 @@
</div>
[% END %]
+ <div class="general-notes">
+ <p>Please note that new and separate occurrences of issues
+ should be logged as new reports, to avoid conflicting
+ information or updates and ensure the information is passed
+ promptly to our teams. Please log any new issue via
+ <a href="https://www.bromley.gov.uk/report">https://www.bromley.gov.uk/report</a>
+ using the map marker and description to detail where the issue
+ is located.</p>
+ </div>
+
<label for="form_update">[% loc( 'Update' ) %]</label>
[% IF field_errors.update %]
<div class='form-error'>[% field_errors.update %]</div>
[% END %]
<textarea class="form-control" rows="7" cols="30" name="update" id="form_update" placeholder="[% loc('Please write your update here') %]" required>[% update.text | html %]</textarea>
- <div class="general-notes">
- <p>Please note this comments box can only be used for this report.
- <br><a href="http://www.bromley.gov.uk/report">Report a different issue</a>
- </div>
-
[% IF c.user && c.user.belongs_to_body( problem.bodies_str ) %]
- <label for="form_state">[% loc( 'State' ) %]</label>
- <select name="state" id="form_state" class="form-control">
- [% FOREACH state IN [ ['confirmed', loc('Open')], ['investigating',
- loc('Investigating')], ['action scheduled', loc('Action Scheduled')],
- ['in progress', loc('In Progress')], ['duplicate', loc('Duplicate')],
- ['unable to fix', loc('No further action')], ['not responsible', loc('Not Responsible')],
- ['fixed', loc('Fixed')] ] %]
- <option [% 'selected ' IF state.0 == problem.state_display %] value="[% state.0 %]">[% state.1 %]</option>
- [% END %]
- </select>
+ <label for="state">[% loc( 'State' ) %]</label>
+ [% INCLUDE 'report/inspect/state_groups_select.html' %]
[% ELSE %]
[% IF problem.is_fixed AND c.user_exists AND c.user.id == problem.user_id %]
diff --git a/templates/web/eastherts/footer.html b/templates/web/eastherts/footer.html
index fb39c29c2..59d998959 100644
--- a/templates/web/eastherts/footer.html
+++ b/templates/web/eastherts/footer.html
@@ -3,24 +3,49 @@
</div><!-- .table-cell -->
<div class="nav-wrapper">
- <div class="nav-wrapper-2">
- [% INCLUDE "main_nav.html" body_name=c.cobrand.council_area hide_mysoc_link=1 %]
+ <div class="container">
+ [% INCLUDE "main_nav.html" body_name=c.cobrand.council_area %]
</div>
</div>
</div> <!-- .wrapper -->
[% IF pagefooter %]
- <footer role="contentinfo">
- <ul>
- <li><a href="http://www.eastherts.gov.uk/article/10/A-to-Z">A to Z</a></li>
- <li><a href="http://www.eastherts.gov.uk/article/3347/Accessibility" accesskey="0">Accessibility</a></li>
- <li><a href="http://www.eastherts.gov.uk/article/3351/Disclaimer">Disclaimer</a></li>
- <li><a href="http://www.eastherts.gov.uk/article/3352/Copyright-2016">Copyright 2016</a></li>
- <li><a href="http://www.eastherts.gov.uk/privacy">Privacy, Data Protection and Fraud Prevention</a></li>
- <li class="last"><a href="http://www.eastherts.gov.uk/article/6653/Neighbouring-Councils">Neighbouring Councils</a></li>
- </ul>
- <p>© 2016 East Herts Council , <strong>Telephone:</strong> +44 (0)1279 655261 <strong>Bishop's Stortford Office:</strong>- Charringtons House, Bishop's Stortford, Herts, CM23 2EN. <strong>Hertford Office:</strong>- Wallfields, Pegs Lane, Hertford, SG13 8EQ.</p>
- </footer>
+ <div class="footer clearfix">
+ <div class="container">
+ <div class="footer__left"><img src="https://www.eastherts.gov.uk/image/29958/EastHertsLogo-Footer/original.png" width="250" height="75" alt="EastHertsLogo-Footer" title="EastHertsLogo-Footer" class="footer__logo" />
+ <div class="footer__socialmedia">
+
+ <a href="https://www.facebook.com" rel="external" title="Facebook"><img src="https://www.eastherts.gov.uk/image/29956/Facebook/original.png" width="40" height="40" alt="Facebook" title="Facebook" />
+ </a>
+
+ <a href="https://www.twitter.com" rel="external" title="Twitter"><img src="https://www.eastherts.gov.uk/image/29959/Twitter/original.png" width="40" height="40" alt="Twitter" title="Twitter" />
+ </a><img src="https://www.eastherts.gov.uk/image/29957/RSS/original.png" width="40" height="40" alt="RSS" title="RSS" />
+ </div>
+ </div>
+ <div class="footer__right">
+ <div class="footer__navigation">
+ <ul>
+ <li class="footer__navitem"><a href="https://www.eastherts.gov.uk/article/34224/Site-map" class="footer__navlink">Site map</a>
+ </li>
+ <li class="footer__navitem"><a href="/article/34226/Terms--Conditions" class="footer__navlink">Terms & Conditions</a>
+ </li>
+ <li class="footer__navitem"><a href="https://www.eastherts.gov.uk/article/34230/Privacy--Cookies" class="footer__navlink">Privacy & Cookies</a>
+ </li>
+ <li class="footer__navitem"><a href="https://www.eastherts.gov.uk/article/34378/Privacy-Data-Protection-and-Fraud-Prevention" class="footer__navlink">Privacy, Data Protection and Fraud Prevention</a>
+ </li>
+ <li class="footer__navitem"><a href="https://www.eastherts.gov.uk/article/34376/Comments-Compliments-and-Complaints" class="footer__navlink" accesskey="7">Comments, Compliments and Complaints</a>
+ </li>
+ </ul>
+ </div>
+ <div class="footer__copyright">
+ <p>&copy; 2017 mySociety</p>
+ </div>
+ <div class="footer__goss">
+ <a href="https://www.fixmystreet.com/about/professional">Powered by FixMyStreet</a>
+ </div>
+ </div>
+ </div>
+ </div>
[% END %]
[% INCLUDE 'common_footer_tags.html' %]
diff --git a/templates/web/eastherts/header_extra.html b/templates/web/eastherts/header_extra.html
new file mode 100644
index 000000000..6a1d1bdc1
--- /dev/null
+++ b/templates/web/eastherts/header_extra.html
@@ -0,0 +1,2 @@
+<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,600,700" rel="stylesheet" type="text/css">
+
diff --git a/templates/web/eastherts/header_logo.html b/templates/web/eastherts/header_logo.html
deleted file mode 100644
index 868edc6cd..000000000
--- a/templates/web/eastherts/header_logo.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<a href="[% c.cobrand.base_url IF admin %]/" id="site-logo">[% site_name %]</a>
-<a href="[% c.cobrand.base_url IF admin %]/" id="report-cta" title="[%- loc('Report a problem') -%]">[%- loc('Report') -%]</a>
-
-<div class="header__eh_top_nav">
- <ul id="toputilnav" class="internal">
- <li><a href="http://www.eastherts.gov.uk/">Home</a>
- </li>
- <li><a href="http://www.eastherts.gov.uk/cookies">Cookies on our site</a></li>
- [%# <li><a href="http://www.eastherts.gov.uk/article/5/Log-in">Log in</a></li> %]
- <li><a href="http://www.eastherts.gov.uk/search" accesskey="4">Search the site</a></li>
- <li><a href="http://www.eastherts.gov.uk/article/42/Site-Map" accesskey="3">Site Map</a></li>
- <li class="last"><a href="http://www.eastherts.gov.uk/article/6715/Translation-Services">Translation Services</a></li>
- </ul>
- <ul id="bannerimages">
- <li><a href="http://www.eastherts.gov.uk/payments"><img src="[% version('/cobrands/eastherts/img/paymentsd1.gif') %]" width="110" height="50" alt="Payments"></a>
- </li>
- <li><a href="http://www.eastherts.gov.uk/report"><img src="[% version('/cobrands/eastherts/img/reportd1.gif') %]" width="110" height="50" alt="Report"></a>
- </li>
- <li><a href="http://www.eastherts.gov.uk/contactus"><img src="[% version('/cobrands/eastherts/img/contactusd1.gif') %]" width="110" height="50" alt="Contact Us"></a>
- </li>
- <li>
- <img src="[% version('/cobrands/eastherts/img/consultationd1.gif') %]" width="110" height="50" alt="Consultations">
- </li>
- </ul>
-</div> \ No newline at end of file
diff --git a/templates/web/eastherts/header_site.html b/templates/web/eastherts/header_site.html
index 30f692573..5f1f4965e 100644
--- a/templates/web/eastherts/header_site.html
+++ b/templates/web/eastherts/header_site.html
@@ -1,87 +1,37 @@
-<header id="site-header" role="banner">
+<div class="toputils">
<div class="container">
- [% INCLUDE 'header_logo.html' %]
+ <a href="[% c.cobrand.base_url IF admin %]/" id="report-cta" title="[%- loc('Report a problem') -%]">[%- loc('Report') -%]</a>
<a href="#main-nav" id="nav-link">Main Navigation</a>
- </div>
- <div class="header__eh_nav">
- <div class="container">
- <ul>
- <li>
- <a href="http://www.eastherts.gov.uk/article/11/A">A - Z Index - A</a>
- </li>
- <li>
- <a href="http://www.eastherts.gov.uk/article/12/B">B</a>
- </li>
- <li>
- <a href="http://www.eastherts.gov.uk/article/13/C">C</a>
- </li>
- <li>
- <a href="http://www.eastherts.gov.uk/article/14/D">D</a>
- </li>
- <li>
- <a href="http://www.eastherts.gov.uk/article/15/E">E</a>
- </li>
- <li>
- <a href="http://www.eastherts.gov.uk/article/16/F">F</a>
- </li>
- <li>
- <a href="http://www.eastherts.gov.uk/article/17/G">G</a>
- </li>
- <li>
- <a href="http://www.eastherts.gov.uk/article/18/H">H</a>
- </li>
- <li>
- <a href="http://www.eastherts.gov.uk/article/29071/I">I</a>
- </li>
- <li>
- <a href="http://www.eastherts.gov.uk/article/20/J">J</a>
- </li>
- <li>
- <a href="http://www.eastherts.gov.uk/article/21/K">K</a>
- </li>
- <li>
- <a href="http://www.eastherts.gov.uk/article/22/L">L</a>
- </li>
- <li>
- <a href="http://www.eastherts.gov.uk/article/23/M">M</a>
- </li>
- <li>
- <a href="http://www.eastherts.gov.uk/article/24/N">N</a>
- </li>
- <li>
- <a href="http://www.eastherts.gov.uk/article/25/O">O</a>
- </li>
- <li>
- <a href="http://www.eastherts.gov.uk/article/26/P">P</a>
- </li>
- <li>
- <a href="http://www.eastherts.gov.uk/article/28/R">R</a>
- </li>
- <li>
- <a href="http://www.eastherts.gov.uk/article/29/S">S</a>
- </li>
- <li>
- <a href="http://www.eastherts.gov.uk/article/30/T">T</a>
- </li>
- <li>
- <a href="http://www.eastherts.gov.uk/article/31/U">U</a>
- </li>
- <li>
- <a href="http://www.eastherts.gov.uk/article/32/V">V</a>
- </li>
- <li>
- <a href="http://www.eastherts.gov.uk/article/33/W">W</a>
- </li>
- <li>
- <a href="http://www.eastherts.gov.uk/article/34/X">X</a>
- </li>
- <li>
- <a href="http://www.eastherts.gov.uk/article/35/Y">Y</a>
- </li>
- <li>
- <a href="http://www.eastherts.gov.uk/article/36/Z">Z</a>
- </li>
- </ul>
+ <!-- <a href="https://www.eastherts.gov.uk/article/34246/Search">Search</a> -->
+
+ <div class="toputils__right desk-only">
+ <div class="toputils__nav">
+ <ul class="toputils__navlist">
+ <li><a href="/article/34210/Accessibility" class="toputils__navitem">Accessibility</a>
+ </li>
+ <li><a href="/article/34212/A-Z-of-Services" class="toputils__navitem">A-Z of Services</a>
+ </li>
+ <li><a href="/article/34377/Contact-us" class="toputils__navitem">Contact us</a>
+ </li>
+ </ul>
+ </div>
</div>
</div>
+</div>
+
+<header id="site-header" role="banner">
+ <div class="container">
+ <a href="[% c.cobrand.base_url IF admin %]/" id="site-logo">[% site_name %]</a>
+ <div class="mainmenu desk-only">
+ <ul class="mainmenu__list">
+ <li class="footer__navitem"><a href="http://www.eastherts.gov.uk/residents" class="mainmenu__item">Residents</a></li>
+ <li class="footer__navitem"><a href="http://www.eastherts.gov.uk/business" class="mainmenu__item">Business</a></li>
+ <li class="footer__navitem"><a href="http://www.eastherts.gov.uk/council" class="mainmenu__item">Your Council</a></li>
+ <li class="footer__navitem"><a href="http://www.eastherts.gov.uk/news" class="mainmenu__item">News</a></li>
+ </ul>
+ </div>
+ <div class="searchcontrol desk-only">
+ <a href="https://www.eastherts.gov.uk/article/34246/Search" class="searchcontrol__expandtoggle">Search</a>
+ </div>
+ </div>
</header>
diff --git a/templates/web/fiksgatami/footer.html b/templates/web/fiksgatami/footer.html
index 097fe82e1..76f52a212 100644
--- a/templates/web/fiksgatami/footer.html
+++ b/templates/web/fiksgatami/footer.html
@@ -8,7 +8,7 @@
</div><!-- .table-cell -->
<div class="nav-wrapper">
- <div class="nav-wrapper-2">
+ <div class="container">
<div id="main-nav" role="navigation">
<ul class="nav-menu nav-menu--mysoc">
<li><a href="http://www.nuug.no/">Foreningen NUUG</a></li>
diff --git a/templates/web/fiksgatami/nn/footer.html b/templates/web/fiksgatami/nn/footer.html
index 08ec155f5..519a8c3f5 100644
--- a/templates/web/fiksgatami/nn/footer.html
+++ b/templates/web/fiksgatami/nn/footer.html
@@ -8,7 +8,7 @@
</div><!-- .table-cell -->
<div class="nav-wrapper">
- <div class="nav-wrapper-2">
+ <div class="container">
<div id="main-nav" role="navigation">
<ul class="nav-menu nav-menu--mysoc">
<li><a href="http://www.nuug.no/">Foreininga NUUG</a></li>
diff --git a/templates/web/fixamingata/about/faq-sv.html b/templates/web/fixamingata/about/faq-sv.html
index aea90743b..05ffdaddc 100755
--- a/templates/web/fixamingata/about/faq-sv.html
+++ b/templates/web/fixamingata/about/faq-sv.html
@@ -21,8 +21,6 @@ markera problemen på en karta. Tjänsten bygger på en förlaga från Storbrita
där tjänsten lanserades i Februari 2007. I Norge lanserades den 2011 och i
Sverige 2013.
</dd>
- <dt>Hur kan jag lämna ett förbättringsförslag kring FixaMinGata?</dt>
- <dd>Lämna ditt förslag <a href="javascript:UserVoice.showPopupWidget();">här</a>.</dd>
<dt>Hur kommer jag i kontakt med FixaMinGata?</dt>
<dd>Använd vårt <a href="/contact">kontaktformulär</a>.</dd>
<dt>Vilken typ av problem ska jag rapportera i FixaMinGata?</dt>
diff --git a/templates/web/fixamingata/footer.html b/templates/web/fixamingata/footer.html
index fc3cf02f0..ad4d6c4a6 100644
--- a/templates/web/fixamingata/footer.html
+++ b/templates/web/fixamingata/footer.html
@@ -8,7 +8,7 @@
</div><!-- .table-cell -->
<div class="nav-wrapper">
- <div class="nav-wrapper-2">
+ <div class="container">
<div id="main-nav" role="navigation">
<ul class="nav-menu nav-menu--main">
<li><[% IF c.req.uri.path == '/' %]span[% ELSE %]a href="/"[% END %] class="report-a-problem-btn"
@@ -21,7 +21,6 @@
%]>[% loc("Local alerts") %]</[% c.req.uri.path == '/alert' ? 'span' : 'a' %]></li>[%
%]<li><[% IF c.req.uri.path == '/faq' %]span[% ELSE %]a href="/faq"[% END
%]>[% loc("Help") %]</[% c.req.uri.path == '/faq' ? 'span' : 'a' %]></li>
- <!-- <li><a href="javascript:UserVoice.showPopupWidget();">Lämna förslag</a></li> -->
</ul>
</div>
</div>
@@ -29,15 +28,6 @@
</div> <!-- .wrapper -->
[% INCLUDE 'common_footer_tags.html' %]
-
-<script type="text/javascript">
- var uvOptions = {};
- (function() {
- var uv = document.createElement('script'); uv.type = 'text/javascript'; uv.async = true;
- uv.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'widget.uservoice.com/vflswzMnwvfytYBz1rNw.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(uv, s);
- })();
-</script>
</body>
</html>
diff --git a/templates/web/fixamingata/front/tips.html b/templates/web/fixamingata/front/tips.html
index fd309708f..038343d90 100644
--- a/templates/web/fixamingata/front/tips.html
+++ b/templates/web/fixamingata/front/tips.html
@@ -1 +1 @@
-<div style="height: 329px; padding-top: 20px;"><iframe width="100%" height="329" src="//www.youtube.com/embed/H5knzdalYI0" frameborder="0" allowfullscreen></iframe></div>
+<div style="height: 329px; padding-top: 20px;"><iframe width="100%" height="329" src="//www.youtube.com/embed/uyiRyuIV0qY" frameborder="0" allowfullscreen></iframe></div>
diff --git a/templates/web/fixamingata/header_opengraph_image.html b/templates/web/fixamingata/header_opengraph_image.html
index 7ec1aabb0..7a681484a 100644
--- a/templates/web/fixamingata/header_opengraph_image.html
+++ b/templates/web/fixamingata/header_opengraph_image.html
@@ -1,4 +1,4 @@
- <meta property="og:image" content="[% c.cobrand.base_url %]/cobrands/fixmystreet/images/fms-og_image.jpg">
+ <meta property="og:image" content="[% c.cobrand.base_url %]/cobrands/fixamingata/images/fms-og_image.jpg">
<meta property="og:image:type" content="image/jpeg">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
diff --git a/templates/web/fixamingata/report/new/after_title.html b/templates/web/fixamingata/report/new/after_title.html
new file mode 100644
index 000000000..ff38624f5
--- /dev/null
+++ b/templates/web/fixamingata/report/new/after_title.html
@@ -0,0 +1,8 @@
+<div class="description_tips" aria-label="Allmänna riktlinjer kring rapporter">
+ <ul class="do">
+ <li>Rapportera endast fysiska problem som kan åtgärdas</li>
+ </ul>
+ <ul class="dont">
+ <li>Använd inte FixaMinGata för rena synpunkter och förslag</li>
+ </ul>
+</div>
diff --git a/templates/web/fixamingata/report/new/inline-tips.html b/templates/web/fixamingata/report/new/inline-tips.html
index 4fab9c81c..5bce67257 100644
--- a/templates/web/fixamingata/report/new/inline-tips.html
+++ b/templates/web/fixamingata/report/new/inline-tips.html
@@ -8,7 +8,6 @@
</ul>
<ul class="dont">
<li>Vid akut situation används inte FixaMinGata (ex. vattenläckor)</li>
- <li>Använd inte FixaMinGata för rena synpunkter och förslag</li>
<li>Inkludera inte privata kontaktdetaljer i beskrivningen</li>
</ul>
</div>
diff --git a/templates/web/fixamingata/report/new/notes.html b/templates/web/fixamingata/report/new/notes.html
deleted file mode 100644
index 9ec6b0e29..000000000
--- a/templates/web/fixamingata/report/new/notes.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<ul class="plain-list">
-[% IF all_councils.items.first > 0 %]
- <li style="margin-bottom: 0em;">[% id = all_councils.items.first;
- tprintf("Kom ihåg att FixaMinGata primärt är avsett för att rapportera fysiska problem som kan åtgärdas. Om ditt problem inte lämpar sig för att rapportera via den här webbsidan kan du kontakta din kommun direkt via <a href='%s'>deras webbsida</a>.", all_body_urls.$id); %]</li>
-[% ELSE %]
- <li style="margin-bottom: 0em;">[% loc("Remember that FixMyStreet is primarily for reporting physical problems that can be fixed. If your problem is not appropriate for submission via this site remember that you can contact your council directly using their own website.") %]</li>
-[% END %]
-</ul>
diff --git a/templates/web/fixamingata/report/new/sidebar.html b/templates/web/fixamingata/report/new/sidebar.html
index 972fccf53..e69de29bb 100644
--- a/templates/web/fixamingata/report/new/sidebar.html
+++ b/templates/web/fixamingata/report/new/sidebar.html
@@ -1,5 +0,0 @@
-<div id="report-a-problem-sidebar">
- <div class="sidebar-notes">
- [% INCLUDE 'report/new/notes.html' %]
- </div>
-</div>
diff --git a/templates/web/fixmystreet-uk-councils/footer_extra_js.html b/templates/web/fixmystreet-uk-councils/footer_extra_js.html
index 1e7a38f8a..218607498 100644
--- a/templates/web/fixmystreet-uk-councils/footer_extra_js.html
+++ b/templates/web/fixmystreet-uk-councils/footer_extra_js.html
@@ -1,4 +1,4 @@
[% scripts.push(
- version('/js/OpenLayers.Projection.OrdnanceSurvey.js')
+ version('/vendor/OpenLayers.Projection.OrdnanceSurvey.js')
version('/cobrands/fixmystreet-uk-councils/js.js'),
) %]
diff --git a/templates/web/fixmystreet.com/about/council.html b/templates/web/fixmystreet.com/about/council.html
deleted file mode 100644
index 5abbbb2ef..000000000
--- a/templates/web/fixmystreet.com/about/council.html
+++ /dev/null
@@ -1,280 +0,0 @@
-[% extra_css = BLOCK %]
- <link rel="stylesheet" href="[% version('/cobrands/fixmystreet.com/fmsforcouncils.css') %]">
- <link href="https://fonts.googleapis.com/css?family=Rubik:400,500" rel="stylesheet">
-[% END %]
-
-[% INCLUDE header.html
- title = 'FixMyStreet for Councils', bodyclass = 'fms-for-councils fullwidthpage'
-%]
-
-<div class="fixed-container">
- <div class="council-header">
- <h1 class="councils-logo">FixMyStreet for Councils</h1>
- </div>
- <div class="councils-hero">
- <div class="councils-hero__presentation">
- <div class="councils-content-wrapper">
- <h2 class="councils-hero__title">Reliable fault-reporting and case management for councils, based on the nation’s most popular service, FixMyStreet.com</h2>
- <img class="councils-hero__product" src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/device-mockup.png') %]" alt="">
- </div>
- </div>
- <p class="councils-hero__subtitle">Since 2007, FixMyStreet’s user-centric design has given UK citizens an
- easy, intuitive way to report street issues. That same focus on usability is reflected in the management interface for council staff, working in tandem with your existing systems.
- The result? Happy residents and happy colleagues.</p>
- </div>
- <div class="councils-features">
- <div class="councils-content-wrapper">
- <div class="councils-features__grid">
- <div class="councils-features__feature">
- <div class="councils-features__thumb councils-features__thumb--excellence"></div>
- <h3>Digital excellence</h3>
- <p>FixMyStreet was co-designed with council insiders. We made it into the most user-centred, accessible approach to non-emergency issue reporting available today. And now it’s the leader in its class.</p>
- </div>
- <div class="councils-features__feature">
- <div class="councils-features__thumb councils-features__thumb--duplication"></div>
- <h3>Minimise duplication </h3>
- <p>FixMyStreet’s open and transparent approach to local issue reporting that reduces incidents of repeat and duplicate reports. Residents who go to report an issue that’s already in your database will see the existing report, along with a progress report showing how near it is to a fix.</p>
- </div>
- <div class="councils-features__feature">
- <div class="councils-features__thumb councils-features__thumb--reduce"></div>
- <h3>Reduce operating costs</h3>
- <p>FixMyStreet intelligently routes problems to where you want them. Allocate the correct person, team, authority or contractor for each type of report, based on any combination of location, category and priority.</p>
- </div>
- <div class="councils-features__feature">
- <div class="councils-features__thumb councils-features__thumb--customise"></div>
- <h3>Stay flexible</h3>
- <p>FixMyStreet is open standards compliant. That gives you complete customer flexibility to work with additional contractors at any time. Integrate other services as and when you need them, and provide additional functionalities to your residents.</p>
- </div>
- <div class="councils-features__feature">
- <div class="councils-features__thumb councils-features__thumb--bringyourown"></div>
- <h3>Bring your own</h3>
- <p>You’ve already invested in mapping, asset, customer and case management services. FixMyStreet slots right in with your existing portfolio, so you can continue to use the systems your team knows and trusts.</p>
- </div>
- <div class="councils-features__feature">
- <div class="councils-features__thumb councils-features__thumb--process"></div>
- <h3>Streamline your process </h3>
- <p>FixMyStreet is the first case-management service designed with councils, for councils. It streamlines your processes right through from customer service, to inspection, instruction and resolution.</p>
- </div>
- <div class="councils-features__feature">
- <div class="councils-features__thumb councils-features__thumb--expand"></div>
- <h3>Expand your reach</h3>
- <p>Users can make a report via your own website, or on FixMyStreet.com — and either way, those that fall within your council boundaries will be published on both sites. This extends your services to our 1 million+ visitors per year — and offers a public display of the often-hidden work you are doing to keep your area in good shape.</p>
- </div>
- <div class="councils-features__feature">
- <div class="councils-features__thumb councils-features__thumb--control"></div>
- <h3>Complete control</h3>
- <p>FixMyStreet gives you and your team an at-a-glance snapshot, or a deeper picture of performance. Track service levels, highlight bottlenecks and monitor contracts with area dashboards, accessible only to staff.</p>
- </div>
- </div>
- <a href="#order" class="button order-now-button">Order now</a>
- </div>
- </div>
- <div class="councils-clients">
- <div class="councils-clients__grid">
- <div class="councils-clients__client">
- <a href="https://fixmystreet.bristol.gov.uk/">
- <img src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/bristol-logo.png') %]" alt="Bristol City Council">
- </a>
- </div>
- <div class="councils-clients__client">
- <a href="https://fix.angus.gov.uk/">
- <img src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/angus-logo.png') %]" alt="Angus Council">
- </a>
- </div>
- <div class="councils-clients__client">
- <a href="https://fixmystreet.oxfordshire.gov.uk/">
- <img src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/oxfordshire-logo.png') %]" alt="Oxfordshire County Council">
- </a>
- </div>
- <div class="councils-clients__client">
- <a href="https://hart.fixmystreet.com/">
- <img src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/hart-logo.png') %]" alt="Hart District Council">
- </a>
- </div>
- <div class="councils-clients__client">
- <a href="https://fix.bromley.gov.uk/">
- <img src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/bromley-logo.png') %]" alt="Bromley Council">
- </a>
- </div>
- <div class="councils-clients__client">
- <a href="https://www.zueriwieneu.ch/">
- <img src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/zurich-logo.png') %]" alt="Stadt Z&uuml;rich">
- </a>
- </div>
- <div class="councils-clients__client">
- <a href="https://greenwich.fixmystreet.com/">
- <img src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/greenwich-logo.png') %]" alt="Royal Borough of Greenwich">
- </a>
- </div>
- </div>
- </div>
-
- <div class="councils-compatibility">
- <div class="councils-content-wrapper">
- <h2>Works with</h2>
- <div class="councils-compatibility__grid">
- <div class="councils-compatibility__item">
- <h3>Customer management</h3>
- <ul>
- <li><a href="http://www.kana.com/lagan-crm/customer-experience-management">Lagan</a></li>
- <li><a href="https://www.microsoft.com/en-gb/dynamics/default.aspx">Microsoft Dynamics</a></li>
- <li><a href="https://products.office.com/en-us/sharepoint/collaboration">Sharepoint</a></li>
- <li><a href="http://www.salesforce.com/uk/homepage/index-l.jsp?mboxSession=1471855891730-631658">Salesforce</a></li>
- <li><a href="http://www.jadu.net/cxm">Jadu</a></li>
- <li><a href="http://www.agilysys.com/">Agilsys</a></li>
- </ul>
- </div>
- <div class="councils-compatibility__item">
- <h3>Asset management</h3>
- <ul>
- <li><a href="https://go.sap.com">SAP EAS</a></li>
- <li><a href="http://www-03.ibm.com/software/products/en/maximoassetmanagement">IBM Maximo</a></li>
- <li><a href="http://www.ifsworld.com/">IFS</a></li>
- </ul>
-
- <h3>Geographic Information Systems</h3>
- <ul>
- <li><a href="http://www.esri.com/software/arcgis">ESRI ArcGIS</a></li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
- <div class="councils-pricing">
- <div class="councils-content-wrapper">
- <h2>Pricing</h2>
- <div class="councils-pricing__grid">
- <div class="councils-pricing__main-prices">
-
- <div class="pricing-table">
- <div class="pricing-table__item">
- <h3>Basic FixMyStreet integration</h3>
- <p class="pricing-table__item__price"><strong>&pound;7,500 per year</strong></p>
- <p>The award-winning FixMyStreet experience seamlessly integrated with your site. A responsive web application for reporting, viewing and discussing problems - branded to match your site’s styles and templates. Use FixMyStreet for Councils to keep your residents up to date and route problems by email to the correct individual or team. The internal dashboard eanbles you to manage performance.</p>
- </div>
- <div class="pricing-table__item">
- <h3>Case&hyphen;management integration</h3>
- <p class="pricing-table__item__price"><strong>&pound;15,000 per year</strong></p>
- <p>Our award-winning reporting solution &ndash; your existing processes and systems. We’ll integrate FixMyStreet into your customer, case or asset management system ensuring that there’s minimal impact on your organisation. Accept reports, automatically publish updates and reports from other channels via your existing tools, directly onto FixMyStreet.</p>
- <p>Supported services include: Confirm, Mayrise, MS Dynamics and Exor. If you use an alternative service or your own internal system we’ll scope and implement additional support via our Specialist Cloud Service.</p>
- </div>
- <div class="pricing-table__item">
- <h3>Top&hyphen;to&hyphen;bottom case&hyphen;management</h3>
- <p class="pricing-table__item__price"><strong>&pound;35,000 per year</strong></p>
- <p>Starting from zero? Want a completely new system from beginning to end? Then opt for the full-service option. </p>
- <p>Use FixMyStreet to manage reports every step of the way. This system handles everything, from acknowledgement, through inspection to contractor instruction or resolution. Each element was co-designed with local government insiders who know exactly what’s needed for clear, simple highways parks and street case management.</p>
- </div>
-
- </div>
-
- </div>
- <div class="councils-pricing__extra-prices">
- <div class="extra-pricing-table">
- <h3>Optional extras</h3>
-
- <h4>Mobile application</h4>
- <p class="extra-pricing__price">&pound;4,500 per year</p>
- <p class="extra-pricing__desc">Companion iOS and Android app (other platforms available by negotiation) with council branding to match your new FixMyStreet based reporting service.</p>
- <hr>
- <h3>Bring your own, or we can provide</h3>
- <div class="pricing-accordion accordion">
- <div class="accordion-item">
- <a href="#" class="accordion-switch accordion-switch--closed"><h4>Custom map tiles</h4></a>
- <div class="accordion-content">
- <p class="extra-pricing__price">&pound;1,500 per year</p>
- <p class="extra-pricing__desc">FixMyStreet comes with OpenStreetMap/Bing geographical base maps as standard. But for a completely unique look, or to key in with your existing mapping visuals, we can support the industry standard WMS maps of your choice.</p>
- </div>
- </div>
- <div class="accordion-item">
- <a href="#" class="accordion-switch accordion-switch--closed"><h4>Custom geocoding</h4></a>
- <div class="accordion-content">
- <p class="extra-pricing__price">&pound;1,500 per year</p>
- <p class="extra-pricing__desc">Transforming an address into a point on a map: it’s called geocoding, and we utilise Bing, OpenStreetMap and Google’s services as standard. But if you have your own geocoding system, we can integrate that to ensure a precise location for a given postcode, address or place name.</p>
- </div>
- </div>
- <div class="accordion-item">
- <a href="#" class="accordion-switch accordion-switch--closed"><h4>Asset locations</h4></a>
- <div class="accordion-content">
- <p class="extra-pricing__price">&pound;3,500 per year or included as standard within our topâ€toâ€bottom caseâ€management service.</p>
- <p class="extra-pricing__desc">Show your residents the locations, identifiers and status of assets right on the map — all they have to do is pick the right one. Compatible with any industry standard WFS or WMS service.</p>
- </div>
- </div>
- <div class="accordion-item">
- <a href="#" class="accordion-switch accordion-switch--closed"><h4>Adopted roads</h4></a>
- <div class="accordion-content">
- <p class="extra-pricing__price">&pound;3,500 per year or included as standard within our topâ€toâ€bottom caseâ€management service.</p>
- <p class="extra-pricing__desc">Ensure that you only receive reports for roads that you actually manage. Highlight adopted roads and private estates at the point of report creation, saving valuable time, expense and irritation. Compatible with any industry standard WFS or WMS service.</p>
- </div>
- </div>
- <div class="accordion-item">
- <a href="#" class="accordion-switch accordion-switch--closed"><h4>Planned works</h4></a>
- <div class="accordion-content">
- <p class="extra-pricing__price">&pound;3,000 per year or included as standard within our topâ€toâ€bottom caseâ€management service.</p>
- <p class="extra-pricing__desc">Publish your planned works alongside reports to keep residents informed and lower the incidence of unnecessary reporting. Support for Elgin’s roadworks.org or any industry standard WFS or WMS service.</p>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
-
-<div class="council-order" id="order">
- <div class="councils-content-wrapper">
- <h2>Request a free demo</h2>
- <form action="/contact/submit" method="post">
- <div class="council-order__form">
- <div class="form-group">
- <label for="product">We are interested in&hellip;</label>
- <span class="required">required</span>
- <div class="radio-as-buttons">
- <label><input name="extra.product" id="product" type="radio" value="simple-fault-reporting" required>Basic FixMyStreet integration <span class="council-order__form__product__price">&pound;7,500 per year</span></label>
- <label><input name="extra.product" id="product" type="radio" value="case-management-integration">Case-management integration <span class="council-order__form__product__price">&pound;15,000 per year</span></label>
- <label><input name="extra.product" id="product" type="radio" value="top-to-bottom-case-management">Top-to-bottom case-management <span class="council-order__form__product__price">&pound;35,000 per year</span></label>
- </div>
- </div>
- <div class="form-group">
- <label for="message">A little more about your requirements</label>
- <textarea name="message" id="message" required> </textarea>
- </div>
- <div class="form-group">
- <label for="name">Name</label>
- <span class="required">required</span>
- <input type="text" name="name" id="name" required>
- </div>
- <div class="form-group">
- <label for="org">Organisation</label>
- <span class="required">required</span>
- <input type="text" name="extra.organisation" id="org" required>
- </div>
- <div class="form-group">
- <label for="email">Contact email</label>
- <span class="required">required</span>
- <input type="email" name="em" id="email" required>
- </div>
- <div class="form-group">
- <label for="phone">Contact telephone</label>
- <input type="tel" name="extra.phone" id="phone">
- </div>
- <div class="form-group submit-group">
- <input type="hidden" name="extra.referer" value="[% c.req.headers.referer | html %]">
- <input type="hidden" name="subject" value="Councils submission">
- <input type="hidden" name="recipient" value="enquiries">
- <input type="hidden" name="dest" value="from_council">
- <input type="submit" value="Send">
- </div>
- </div>
- </form>
- </div>
- <div class="council-order__screenshot">
- </div>
-</div>
-
-
-
- </div>
-
-
-[% INCLUDE footer.html %]
diff --git a/templates/web/fixmystreet.com/about/faq-en-gb.html b/templates/web/fixmystreet.com/about/faq-en-gb.html
index 0bf55742b..8c38b2cdb 100755
--- a/templates/web/fixmystreet.com/about/faq-en-gb.html
+++ b/templates/web/fixmystreet.com/about/faq-en-gb.html
@@ -318,7 +318,7 @@ correspondence to you – or if you only have an auto-response, you may be able
to find further contact details there.
<p>If you still have no joy, we suggest starting a new FixMyStreet report. You
may also like to use another useful mySociety website, <a
-href="https://www.writetothem.com/?utm_source=fixmystreet.com&utm_campaign=static_links&utm_medium=link&utm_content=help+what_now">WriteToThem</a>,
+href="https://www.writetothem.com/?utm_source=fixmystreet.com&amp;utm_campaign=static_links&amp;utm_medium=link&amp;utm_content=help+what_now">WriteToThem</a>,
to contact your local councillors and ask them to help.
</dd>
@@ -357,7 +357,7 @@ categories if you wish.
<p>FixMyStreet reports usually come by email. If you reply to the email in your
normal way, your response will go directly into the user's inbox.
<p>Your reply is not published on the FixMyStreet website (unless you are a
-FixMyStreet for Councils customer who has chosen this option – see 'Can
+FixMyStreet Professional customer who has chosen this option – see 'Can
FixMyStreet connect directly with council systems?', below).
</dd>
@@ -397,7 +397,7 @@ FixMyStreet about as easy to use as possible.
<dt>FixMyStreet is better than our own reporting system</dt>
<dd>
<p>Then why not replace it with FixMyStreet? We now offer a <a
-href="/council">complete fault-reporting solution for councils</a>, that
+href="/about/professional">complete fault-reporting solution for councils</a>, that
integrates with your own website.
<p>It has all the benefits of FixMyStreet's focus on usability, and is a
robust, economical, cloud-based option.
diff --git a/templates/web/fixmystreet.com/about/professional.html b/templates/web/fixmystreet.com/about/professional.html
new file mode 100644
index 000000000..0978d19bc
--- /dev/null
+++ b/templates/web/fixmystreet.com/about/professional.html
@@ -0,0 +1,720 @@
+[% extra_css = BLOCK %]
+ <link rel="stylesheet" href="[% version('/cobrands/fixmystreet.com/fmsforcouncils.css') %]">
+ <link href="https://fonts.googleapis.com/css?family=Rubik:400,500" rel="stylesheet">
+[% END %]
+
+[% INCLUDE header.html
+ title = 'FixMyStreet Professional', bodyclass = 'fms-for-councils fullwidthpage'
+%]
+
+<div class="fixed-container">
+ <div class="council-header">
+ <h1 class="councils-logo">FixMyStreet Professional</h1>
+ </div>
+ <div class="councils-hero">
+ <div class="councils-hero__presentation">
+ <div class="councils-content-wrapper">
+ <h2 class="councils-hero__title">FixMyStreet Professional: street reporting service for councils</h2>
+ <img class="councils-hero__product" src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/device-mockup.png') %]" alt="">
+ </div>
+ </div>
+ <div class="councils-hero__subtitle">
+ <p class="councils-hero__subtitle__primary">Integrate FixMyStreet with any council system for smooth end-to-end report fulfilment</p>
+ <p class="councils-hero__subtitle__secondary">Residents, staff and contractors love FixMyStreet for its easy-use interfaces.
+ If you’re the budget-holder, you’ll love its sensible pricing, too.</p>
+ </div>
+ <div class="councils-hero__demo-access">
+ <h2>Try FixMyStreet Professional right now, on our demo site</h2>
+ <form action="/contact/submit" method="post" class="councils-hero__demo-access__form js-fms-pro-demo-form">
+ <div class="form-group">
+ <label for="demo-name">Name</label>
+ <span class="required">required</span>
+ <input type="text" name="name" id="demo-name" required>
+ </div>
+ <div class="form-group">
+ <label for="demo-email">Contact email</label>
+ <span class="required">required</span>
+ <input type="email" name="em" id="demo-email" required>
+ <p class="form-note">Ending in .gov.uk</p>
+ </div>
+ <div class="form-group">
+ <label for="demo-phone">Contact phone number</label>
+ <input type="text" name="extra.phone" id="demo-phone">
+ </div>
+ <div class="form-group">
+ <label for="demo-job">Job title</label>
+ <input type="text" name="extra.job_title" id="demo-job">
+ </div>
+ <div class="form-group submit-group">
+ <input type="hidden" name="extra.referer" value="[% c.req.headers.referer | html %]">
+ <input type="hidden" name="subject" value="Demo site request">
+ <input type="hidden" name="message" value="This visitor was sent a link to demo.fixmystreet.com">
+ <input type="hidden" name="recipient" value="bettercities">
+ <input type="hidden" name="dest" value="from_council">
+ <input type="hidden" name="success_url" value="https://demo.fixmystreet.com">
+ <input type="submit" value="Let me in" class="btn">
+ </div>
+ </form>
+ </div>
+ </div>
+ <div class="councils-sales councils-sales--benefits">
+ <div class="councils-content-wrapper">
+ <h2>Benefits</h2>
+ <div class="councils-sales__grid">
+ <div class="councils-features__feature">
+ <h3>Increase efficiency</h3>
+ <p>Route problems to the correct person, team, authority or contractor based on location, category and priority.</p>
+ </div>
+ <div class="councils-features__feature">
+ <h3>Minimise duplication</h3>
+ <p>An open and transparent approach to local issue reporting that reduces incidents of repeat and duplicate reports.</p>
+ </div>
+ <div class="councils-features__feature">
+ <h3>Streamline your process</h3>
+ <p>The first case-management service designed with councils, for councils. Streamline your process from customer service, through inspection to instruction and resolution.</p>
+ </div>
+ <div class="councils-features__feature">
+ <h3>Stay flexible</h3>
+ <p>Open standards compliant for complete customer flexibility: support the landscape of service providers to further increase your reach.</p>
+ </div>
+ <div class="councils-features__feature">
+ <h3>Work with your existing services</h3>
+ <p>Support for your existing mapping, asset, customer and case management services ensures that your solution works for your current processes and systems.</p>
+ </div>
+ <div class="councils-features__feature">
+ <h3>Expand your reach</h3>
+ <p>Reports made within your boundaries are published to FixMyStreet.com’s one million visitors a year.</p>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="councils-pricing">
+ <div class="councils-content-wrapper">
+ <h2>Plans</h2>
+ <div class="councils-pricing__grid">
+
+ <table class="pricing-table">
+ <caption class="visuallyhidden">Pricing and feature information for all FixMyStreet Pro tiers</caption>
+ <thead>
+ <tr>
+ <th scope="col" class="blank">
+ <span class="visuallyhidden">Features</span>
+ </th>
+ <th scope="col">
+ <span class="pricing-table__tier-name">Driveway</span>
+ </th>
+ <th scope="col">
+ <span class="pricing-table__tier-name">Crescent</span>
+ </th>
+ <th scope="col">
+ <span class="pricing-table__tier-name">Boulevard</span>
+ </th>
+ <th scope="col">
+ <span class="pricing-table__tier-name">Avenue</span>
+ </th>
+ </tr>
+ </thead>
+
+ <tbody>
+ <tr>
+ <th scope="row">
+ <span class="pricing-table__feature-name">
+ Define problem categories and email contacts
+ </span>
+ </th>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--yes">Yes</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--yes">Yes</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--yes">Yes</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--yes">Yes</i>
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <th scope="row">
+ <span class="pricing-table__feature-name">
+ Dashboards
+ </span>
+ </th>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">None</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ 1 customisable dashboard
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ Customisable dashboards for up to 3 teams
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ Customisable dashboards for up to 3 teams
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <th scope="row">
+ <span class="pricing-table__feature-name">
+ FixMyStreet at your domain, with your branding
+ </span>
+ </th>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">No</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--yes">Yes</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--yes">Yes</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--yes">Yes</i>
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <th scope="row">
+ <span class="pricing-table__feature-name">
+ System integrations (eg: CONFIRM, Salesforce, Mayrise)
+ </span>
+ </th>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">None</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">None</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ Up to 2 integrations
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ Up to 4 integrations
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <th scope="row">
+ <span class="pricing-table__feature-name">
+ Inspector specific views
+ </span>
+ </th>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">None</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">None</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">None</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--yes">Yes</i>
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <th scope="row">
+ <span class="pricing-table__feature-name">
+ Moderate reports
+ </span>
+ </th>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">No</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--yes">Yes</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--yes">Yes</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--yes">Yes</i>
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <th scope="row">
+ <span class="pricing-table__feature-name">
+ De-duplicate reports
+ </span>
+ </th>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">No</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">No</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--yes">Yes</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--yes">Yes</i>
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <th scope="row">
+ <span class="pricing-table__feature-name">
+ Customer services agents can report on customer’s behalf
+ </span>
+ </th>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">No</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">No</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--yes">Yes</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--yes">Yes</i>
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <th scope="row">
+ <span class="pricing-table__feature-name">
+ Training
+ </span>
+ </th>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">No</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">No</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ Training workshop for up to 12 staff
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ Training workshop for up to 40 staff
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <th scope="row">
+ <span class="pricing-table__feature-name">
+ AddressBase integration
+ </span>
+ </th>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">No</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">No</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">No</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--yes">Yes</i>
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <th scope="row">
+ <span class="pricing-table__feature-name">
+ Roadworks.org planned works integration
+ </span>
+ </th>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">No</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">No</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">No</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--yes">Yes</i>
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <th scope="row">
+ <span class="pricing-table__feature-name">
+ Add asset locations
+ </span>
+ </th>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">No</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">No</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">No</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--yes">Yes</i>
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <th scope="row">
+ <span class="pricing-table__feature-name">
+ Offline functionality
+ </span>
+ </th>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">No</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">No</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">No</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--yes">Yes</i>
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <th scope="row">
+ <span class="pricing-table__feature-name">
+ Custom map tiles
+ </span>
+ </th>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">No</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">No</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">No</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--yes">Yes</i>
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <th scope="row">
+ <span class="pricing-table__feature-name">
+ Custom geocoder
+ </span>
+ </th>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">No</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">No</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">No</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--yes">Yes</i>
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <th scope="row">
+ <span class="pricing-table__feature-name">
+ Add adopted roads
+ </span>
+ </th>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">No</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">No</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--no">No</i>
+ </span>
+ </td>
+ <td>
+ <span class="pricing-table__feature-value">
+ <i class="boolean-icon boolean-icon--yes">Yes</i>
+ </span>
+ </td>
+ </tr>
+ <tr class="pricing-table__prices">
+ <td>
+ <span class="pricing-table__price">Price</span>
+ </td>
+ <td>
+ <span class="pricing-table__price">Free</span>
+ </td>
+ <td>
+ <span class="pricing-table__price">£7500</span>
+ </td>
+ <td>
+ <span class="pricing-table__price">£20000</span>
+ </td>
+ <td>
+ <span class="pricing-table__price">£35000</span>
+ </td>
+ </tr>
+ </tbody>
+
+ </table>
+
+ </div>
+ </div>
+ </div>
+
+ <div class="councils-clients">
+ <h2>Clients</h2>
+ <div class="councils-clients__grid">
+ <div class="councils-clients__client">
+ <a href="https://fixmystreet.bristol.gov.uk/">
+ <img src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/bristol-logo.png') %]" alt="Bristol City Council">
+ </a>
+ </div>
+ <div class="councils-clients__client">
+ <a href="https://fix.angus.gov.uk/">
+ <img src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/angus-logo.png') %]" alt="Angus Council">
+ </a>
+ </div>
+ <div class="councils-clients__client">
+ <a href="https://fixmystreet.oxfordshire.gov.uk/">
+ <img src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/oxfordshire-logo.png') %]" alt="Oxfordshire County Council">
+ </a>
+ </div>
+ <div class="councils-clients__client">
+ <a href="https://hart.fixmystreet.com/">
+ <img src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/hart-logo.png') %]" alt="Hart District Council">
+ </a>
+ </div>
+ <div class="councils-clients__client">
+ <a href="https://fix.bromley.gov.uk/">
+ <img src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/bromley-logo.png') %]" alt="Bromley Council">
+ </a>
+ </div>
+ <div class="councils-clients__client">
+ <a href="https://www.zueriwieneu.ch/">
+ <img src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/zurich-logo.png') %]" alt="Stadt Z&uuml;rich">
+ </a>
+ </div>
+ <div class="councils-clients__client">
+ <a href="https://greenwich.fixmystreet.com/">
+ <img src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/greenwich-logo.png') %]" alt="Royal Borough of Greenwich">
+ </a>
+ </div>
+ </div>
+ </div>
+
+ <div class="screenshot-of-themes">
+ <div class="councils-content-wrapper">
+ <img src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/screenshot-of-themes.jpg') %]" alt="">
+ </div>
+ </div>
+
+ <div class="councils-sales councils-sales--features">
+ <div class="councils-content-wrapper">
+ <h2>Features</h2>
+ <div class="councils-sales__grid">
+ <div class="councils-features__feature">
+ <div class="councils-features__screenshot"></div>
+ <h3>Map-centric problem reporting</h3>
+ <p>Handle any type of location-specific report within the nominated
+ county, borough or city; including geolocation and images. </p>
+ </div>
+ <div class="councils-features__feature">
+ <div class="councils-features__screenshot"></div>
+ <h3>Mobile ready</h3>
+ <p>Companion mobile application for Android and iOS, so your customers
+ can report issues on the go and FixMyStreet is designed for optimal
+ display on desktop, tablet and mobile browsers.</p>
+ </div>
+ <div class="councils-features__feature">
+ <div class="councils-features__screenshot"></div>
+ <h3>Our experience, your brand</h3>
+ <p>White-labelled product, branded to complement your existing services.
+ Extend your reach to over a million visitors on the nation’s most
+ popular local issues service, FixMyStreet.com.</p>
+ </div>
+ <div class="councils-features__feature">
+ <div class="councils-features__screenshot"></div>
+ <h3>End-to-end case management</h3>
+ <p>A complete case management solution for customer services,
+ inspection and maintenance teams. Support for industry standard
+ mapping, asset, works and applications including Salesforce, Mayrise
+ and Confirm®.</p>
+ </div>
+ <div class="councils-features__feature">
+ <div class="councils-features__screenshot"></div>
+ <h3>Inspection service</h3>
+ <p>Mobile optimised, offline capable planning, markup and instructing
+ service for your inspection teams.</p>
+ </div>
+ <div class="councils-features__feature">
+ <div class="councils-features__screenshot"></div>
+ <h3>Customised reporting</h3>
+ <p>Supports category-specific report content and data, to help you
+ collect the details you need. Track service levels, highlight
+ bottlenecks and monitor contracts with area dashboards.</p>
+ </div>
+ </div>
+ </div>
+ </div>
+<div class="council-order" id="order">
+ <div class="councils-content-wrapper">
+ <h2>Contact</h2>
+ <form action="/contact/submit" method="post">
+ <div class="council-order__form">
+ <div class="form-group">
+ <p>Use any address ending in .gov.uk to verify that you are making contact from a council within the UK.</p>
+ <p>We’ll get right back to you to find out more about your needs.</p>
+ <p>If you are contacting FixMyStreet for any other reason, please see our <a href="/contact">main contact page</a>.</p>
+ </div>
+ <div class="form-group">
+ <label for="name">Name</label>
+ <span class="required">required</span>
+ <input type="text" name="name" id="name" required>
+ </div>
+ <div class="form-group">
+ <label for="email">Contact email</label>
+ <span class="required">required</span>
+ <input type="email" name="em" id="email" required>
+ <p class="form-note">Ending in .gov.uk</p>
+ </div>
+ <div class="form-group">
+ <label for="extra.phone">Contact phone number</label>
+ <span class="required required--optional">optional</span>
+ <input type="text" name="extra.phone" id="extra.phone">
+ </div>
+ <div class="form-group">
+ <label for="email-newsletter" class="checkbox-label"> <input type="checkbox" name="extra.newsletter" value="Sign me up to the Better Cities newsletter" id="email-newsletter" class="checkbox-input"> Sign up for the Better Cities newsletter for news and insights on smarter technology for councils.</label>
+ </div>
+ <div class="form-group submit-group">
+ <input type="hidden" name="extra.referer" value="[% c.req.headers.referer | html %]">
+ <input type="hidden" name="subject" value="Councils submission">
+ <input type="hidden" name="recipient" value="enquiries">
+ <input type="hidden" name="dest" value="from_council">
+ <input type="submit" value="Send">
+ </div>
+ </div>
+ </form>
+ </div>
+ <div class="council-order__screenshot">
+ </div>
+</div>
+
+
+
+ </div>
+
+
+[% INCLUDE footer.html %]
diff --git a/templates/web/fixmystreet.com/contact/blurb.html b/templates/web/fixmystreet.com/contact/blurb.html
new file mode 100644
index 000000000..27412f894
--- /dev/null
+++ b/templates/web/fixmystreet.com/contact/blurb.html
@@ -0,0 +1,18 @@
+<h4>If you have questions about FixMyStreet</h4>
+
+<p>
+[% tprintf( loc("It's often quickest to <a href=\"%s\">check our FAQs</a> and see if the answer is there."), c.uri_for('/faq') ) %]
+</p>
+
+<p>
+[% loc('Please do <strong>not</strong> report problems through this form; messages go to
+the team behind this site, not a council. To report a problem,
+please <a href="/">go to the front page</a> and follow the instructions.') %]
+</p>
+
+<h4>From a UK Local Council and interested in finding out about FixMyStreet Pro?</h4>
+<p>
+ Please get in touch <a href="/about/professional#order">via our sales enquiry form</a>
+</p>
+
+<h3>Send a message to FixMyStreet's technical support team</h3>
diff --git a/templates/web/fixmystreet.com/contact/who.html b/templates/web/fixmystreet.com/contact/who.html
index 5fad05dd2..e16809e48 100644
--- a/templates/web/fixmystreet.com/contact/who.html
+++ b/templates/web/fixmystreet.com/contact/who.html
@@ -44,7 +44,7 @@
<p>
<strong>If you're not having any luck getting your community problems fixed</strong>,
you could try contacting your local councillor, using another useful mySociety site:
- <a href="https://www.writetothem.com/?utm_source=fixmystreet.com&utm_campaign=contact_workflow_links&utm_medium=link&utm_content=contact+not_fixed">WriteToThem</a>.
+ <a href="https://www.writetothem.com/?utm_source=fixmystreet.com&amp;utm_campaign=contact_workflow_links&amp;utm_medium=link&amp;utm_content=contact+not_fixed">WriteToThem</a>.
</p>
[% END %]
diff --git a/templates/web/fixmystreet.com/footer_extra.html b/templates/web/fixmystreet.com/footer_extra.html
index e16198bb1..819943f67 100644
--- a/templates/web/fixmystreet.com/footer_extra.html
+++ b/templates/web/fixmystreet.com/footer_extra.html
@@ -31,7 +31,7 @@
%]>[% loc("Local alerts") %]</[% c.req.uri.path == '/alert' ? 'span' : 'a' %]></li>
</ul>
<ul>
- <li><a href="/about/council">FixMyStreet for Councils</a></li>
+ <li><a href="/about/professional">FixMyStreet Professional</a></li>
<li><[% IF c.req.uri.path == '/posters' %]span[% ELSE %]a href="[% base %]/posters"[% END
%]>[% loc("FixMyStreet Goodies") %]</[% c.req.uri.path == '/posters' ? 'span' : 'a' %]></li>
<li><[% IF c.req.uri.path == '/contact' %]span[% ELSE %]a href="[% base %]/contact"[% END
@@ -47,7 +47,7 @@
<div class="col-sm-3">
<div class="mysoc-footer__donate">
<p>Your donations keep this site and others like it running</p>
- <a href="https://www.mysociety.org/donate?utm_source=fixmystreet.com&utm_content=footer+donate+now&utm_medium=link&utm_campaign=mysoc_footer" class="mysoc-footer__donate__button">Donate now</a>
+ <a href="https://www.mysociety.org/donate?utm_source=fixmystreet.com&amp;utm_content=footer+donate+now&amp;utm_medium=link&amp;utm_campaign=mysoc_footer" class="mysoc-footer__donate__button">Donate now</a>
</div>
</div>
@@ -59,7 +59,7 @@
<div class="mysoc-footer__orgs">
<p class="mysoc-footer__org">
Built by
- <a href="https://www.mysociety.org?utm_source=fixmystreet.com&utm_content=footer+logo&utm_medium=link&utm_campaign=mysoc_footer" class="mysoc-footer__org__logo mysoc-footer__org__logo--mysociety">mySociety</a>
+ <a href="https://www.mysociety.org?utm_source=fixmystreet.com&amp;utm_content=footer+logo&amp;utm_medium=link&amp;utm_campaign=mysoc_footer" class="mysoc-footer__org__logo mysoc-footer__org__logo--mysociety">mySociety</a>
</p>
<p class="mysoc-footer__org">
Powered by
@@ -70,7 +70,7 @@
<div class="col-sm-4">
<div class="mysoc-footer__legal">
- <p>mySociety Limited is a project of UK Citizens Online Democracy, a registered charity in England and Wales. For full details visit <a href="https://www.mysociety.org?utm_source=fixmystreet.com&utm_content=footer+full+legal+details&utm_medium=link&utm_campaign=mysoc_footer">mysociety.org</a>.</p>
+ <p>mySociety Limited is a project of UK Citizens Online Democracy, a registered charity in England and Wales. For full details visit <a href="https://www.mysociety.org?utm_source=fixmystreet.com&amp;utm_content=footer+full+legal+details&amp;utm_medium=link&amp;utm_campaign=mysoc_footer">mysociety.org</a>.</p>
</div>
</div>
diff --git a/templates/web/fixmystreet.com/footer_extra_js.html b/templates/web/fixmystreet.com/footer_extra_js.html
index d03aa8657..d5ed1543d 100644
--- a/templates/web/fixmystreet.com/footer_extra_js.html
+++ b/templates/web/fixmystreet.com/footer_extra_js.html
@@ -1,5 +1,5 @@
[% scripts.push(
- version('/js/OpenLayers.Projection.OrdnanceSurvey.js'),
- version('/js/jquery.cookie.min.js'),
+ version('/vendor/OpenLayers.Projection.OrdnanceSurvey.js'),
+ version('/cobrands/fixmystreet.com/vendor/jquery.cookie.min.js'),
version('/cobrands/fixmystreet.com/js.js'),
) %]
diff --git a/templates/web/fixmystreet.com/front/footer-marketing.html b/templates/web/fixmystreet.com/front/footer-marketing.html
index 2095b51c5..fa9c188d0 100644
--- a/templates/web/fixmystreet.com/front/footer-marketing.html
+++ b/templates/web/fixmystreet.com/front/footer-marketing.html
@@ -1,14 +1,10 @@
- <div class="tablewrapper bordered">
- <div id="footer-help">
- <ul>
- <li>
- <h4>[% loc('Are you a developer?') %]</h4>
- <p>[% loc('Would you like to contribute to FixMyStreet? Our code is open source and <a href="http://fixmystreet.org">available at fixmystreet.org</a>.') %]</p>
- </li>
- <li>
- <h4>[% loc('Are you from a council?') %]</h4>
- <p>[% loc('Would you like better integration with FixMyStreet? <a href="/about/council">Find out about FixMyStreet for councils</a>.') %]</p>
- </li>
- </ul>
- </div>
- </div>
+<div class="fms-pro-promo">
+ <h2>FixMyStreet Professional</h2>
+ <p class="lead">The one-stop street reporting service for councils.</p>
+ <p>Integrate FixMyStreet with your council system for smooth, end-to-end report fullfilment.</p>
+ <p><a href="/about/professional" class="btn">Learn more</a></p>
+</div>
+
+<div class="footer-marketing">
+ <p>[% loc('Would you like to contribute to FixMyStreet? Our code is open source and <a href="http://fixmystreet.org">available at fixmystreet.org</a>.') %]</p>
+</div>
diff --git a/templates/web/fixmystreet.com/front/javascript.html b/templates/web/fixmystreet.com/front/javascript.html
index baf7ebb64..4bf586b70 100644
--- a/templates/web/fixmystreet.com/front/javascript.html
+++ b/templates/web/fixmystreet.com/front/javascript.html
@@ -1,9 +1,9 @@
[%
map_js = [
- version('/js/yepnope.js'),
+ version('/vendor/yepnope.js'),
[ version('/cobrands/fixmystreet/front.js'), {
id = "script_front",
- 'data-scripts' = version('/js/OpenLayers/OpenLayers.fixmystreet.js') _ ',' _
+ 'data-scripts' = version('/vendor/OpenLayers/OpenLayers.fixmystreet.js') _ ',' _
version('/js/map-OpenLayers.js') _ ',' _
version('/js/map-bing-ol.js') _ ',' _
version('/js/map-fms.js')
diff --git a/templates/web/fixmystreet.com/next_steps.html b/templates/web/fixmystreet.com/next_steps.html
index 2bfc23ddb..e561b9d98 100644
--- a/templates/web/fixmystreet.com/next_steps.html
+++ b/templates/web/fixmystreet.com/next_steps.html
@@ -2,23 +2,8 @@
[% DEFAULT share_url = c.cobrand.base_url %]
[% DEFAULT twitter_comment = 'I just used @fixmystreet, you should try it!' %]
-[% SET app_step = 1 IF NOT report OR NOT report.service %]
-<div class="next-steps[% ' next-steps--two' IF NOT app_step %]">
- [% IF app_step %]
- <div class="next-steps__step next-steps__step--apps">
- [% IF just_interacted %]
- <h2>[% loc('Next time, try our mobile app!') %]</h2>
- [% ELSE %]
- <h2>[% loc('Have you tried our mobile app?') %]</h2>
- [% END %]
- <p>[% loc('Download it now, and it’ll be ready to use when you next pick up your phone.') %]</p>
- <p class="next-steps__step__cta">
- <a href="https://itunes.apple.com/gb/app/fixmystreet/id297456545"><img src="/cobrands/fixmystreet.com/images/next-step-apple.png" alt="Download on the App Store" width="120" height="37"></a>
- <a href="https://play.google.com/store/apps/details?id=org.mysociety.FixMyStreet"><img src="/cobrands/fixmystreet.com/images/next-step-google.png" alt="Android app on Google Play" width="120" height="37"></a>
- </p>
- </div>
- [% END %]
+<div class="next-steps">
<div class="next-steps__step next-steps__step--social">
[% IF just_interacted %]
<h2>[% loc('Great work. Now spread the word!') %]</h2>
@@ -32,6 +17,13 @@
<a href="https://www.facebook.com/sharer/sharer.php?u=[% share_url | uri %]"><img src="/cobrands/fixmystreet.com/images/next-step-facebook.png" alt="Share on Facebook" width="120" height="37"></a>
</p>
</div>
+ <div class="next-steps__step next-steps__step--donate">
+ <h2>[% loc('Help support FixMyStreet') %]</h2>
+ <p>[% loc('Even a small donation of £5 today will help mySociety run sites like FixMyStreet.') %]</p>
+ <p class="next-steps__step__cta">
+ <a href="https://www.mysociety.org/donate?utm_source=fixmystreet.com&amp;utm_content=[% utm_content | uri %]&amp;utm_medium=link&amp;utm_campaign=fms_thankyou_pages"><img src="/cobrands/fixmystreet.com/images/next-step-donate.png" alt="Donate now" width="138" height="37"></a>
+ </p>
+ </div>
<div class="next-steps__step next-steps__step--goodies">
<h2>[% loc('Free FixMyStreet goodies for you!') %]</h2>
<a href="/posters">
diff --git a/templates/web/fixmystreet.com/questionnaire/completed-open.html b/templates/web/fixmystreet.com/questionnaire/completed-open.html
index f10d5d266..86ea4742a 100644
--- a/templates/web/fixmystreet.com/questionnaire/completed-open.html
+++ b/templates/web/fixmystreet.com/questionnaire/completed-open.html
@@ -13,7 +13,7 @@
</p>
<p>
- You can do this on <a href="https://www.writetothem.com/?utm_source=fixmystreet.com&utm_campaign=workflow_links&utm_medium=link&utm_content=completed+unfixed">WriteToThem</a>, another
+ You can do this on <a href="https://www.writetothem.com/?utm_source=fixmystreet.com&amp;utm_campaign=workflow_links&amp;utm_medium=link&amp;utm_content=completed+unfixed">WriteToThem</a>, another
useful mySociety website.
</p>
[% END %]
diff --git a/templates/web/fixmystreet.com/report/_report_meta_info.html b/templates/web/fixmystreet.com/report/_report_meta_info.html
index da0912a3f..f0b3503b9 100644
--- a/templates/web/fixmystreet.com/report/_report_meta_info.html
+++ b/templates/web/fixmystreet.com/report/_report_meta_info.html
@@ -1,5 +1,8 @@
[% problem.meta_line(c) | html %]
[% IF c.cobrand.moniker != problem.get_cobrand_logged.moniker AND problem.get_cobrand_logged.is_council %]
- using <a href="https://www.fixmystreet.com/about/council">FixMyStreet for Councils</a>
+ using <a href="https://www.fixmystreet.com/about/professional">FixMyStreet Professional</a>
+[% END %]
+[% IF c.user_exists AND c.user.id == problem.user_id AND !problem.anonymous %]
+ <small>(<a href="/my/anonymize?problem=[% problem.id | uri %]" class="js-hide-name">[% loc('Hide your name?') %]</a>)</small>
[% END %]
[%- IF !problem.used_map %]; <strong>([% loc('there is no pin shown as the user did not use the map') %])</strong>[% END %]
diff --git a/templates/web/fixmystreet.com/report/banner.html b/templates/web/fixmystreet.com/report/banner.html
index 6fd74a7fe..0a1af38f2 100644
--- a/templates/web/fixmystreet.com/report/banner.html
+++ b/templates/web/fixmystreet.com/report/banner.html
@@ -14,7 +14,7 @@
[% INCLUDE banner, id = 'closed', text = loc('Closed') %]
[% END %]
-[% IF NOT problem.bodies_str == '2482' %]
+[% IF NOT problem.to_body_named('Bromley') %]
[% IF problem.is_open AND date.now - problem.lastupdate.epoch > 8 * 7 * 24 * 60 * 60 %]
[% INCLUDE banner, id = 'unknown', text = loc('Unknown') %]
diff --git a/templates/web/fixmystreet.com/report/new/unresponsive_body.html b/templates/web/fixmystreet.com/report/new/unresponsive_body.html
index 5089f5198..5a53cc8d0 100644
--- a/templates/web/fixmystreet.com/report/new/unresponsive_body.html
+++ b/templates/web/fixmystreet.com/report/new/unresponsive_body.html
@@ -8,5 +8,5 @@
reports from third party reporting sites such as FixMyStreet.
</p>
<p>We can make your report public, but we can’t send it to the council.</p>
- <a href="[% c.cobrand.base_url %]/unresponsive?body=[% body_id %][% IF category %];category=[% category | uri %][% END %]">What can I do instead?</a>
+ <a href="[% c.cobrand.base_url %]/unresponsive?body=[% body_id %][% IF category %];category=[% category | uri %][% END %]" class="btn">What can I do instead?</a>
</div>
diff --git a/templates/web/fixmystreet.com/report/updates-sidebar-notes.html b/templates/web/fixmystreet.com/report/updates-sidebar-notes.html
index 276ab4106..90e88d86c 100644
--- a/templates/web/fixmystreet.com/report/updates-sidebar-notes.html
+++ b/templates/web/fixmystreet.com/report/updates-sidebar-notes.html
@@ -1,5 +1,5 @@
<p>
- [% IF problem.send_method_used != 'Open311' OR ( NOT problem.bodies_str.match('2482|2347') ) %]
+ [% IF problem.send_method_used != 'Open311' OR NOT problem.to_body_named('Bromley|Stevenage') %]
[% loc( 'Please note that updates are not sent to the council.' ) %]
[% END %]
[% loc( 'Your information will only be used in accordance with our <a href="/privacy">privacy policy</a>' ) %]
diff --git a/templates/web/fixmystreet.com/reports/_extras.html b/templates/web/fixmystreet.com/reports/_extras.html
deleted file mode 100755
index 77c2cecdf..000000000
--- a/templates/web/fixmystreet.com/reports/_extras.html
+++ /dev/null
@@ -1,31 +0,0 @@
-[%
- fms_councils = {
- 'Angus Council' = 'fix.angus.gov.uk'
- 'Bromley Council' = 'fix.bromley.gov.uk'
- 'Bristol City Council' = 'fixmystreet.bristol.gov.uk'
- 'East Hertfordshire District Council' = 'fixmystreet.eastherts.gov.uk'
- 'Hart District Council' = 'hart.fixmystreet.com'
- 'Oxfordshire County Council' = 'fixmystreet.oxfordshire.gov.uk'
- 'Stevenage Borough Council' = 'stevenage.fixmystreet.com',
- 'Royal Borough of Greenwich' = 'fix.royalgreenwich.gov.uk'
- 'Warwickshire County Council' = 'warwickshire.fixmystreet.com'
- }
- secure = {
- 'fixmystreet.bristol.gov.uk' = 's'
- 'fix.bromley.gov.uk' = 's'
- 'fix.angus.gov.uk' = 's'
- 'fixmystreet.eastherts.gov.uk' = 's'
- }
- site = fms_councils.${body.name}
-%]
-[% IF site %]
-<tr align="center"
-[%- IF ! (loop.count % 2) %] class="a"
-[%- END %]>
-<td class="title" colspan="6" style="padding-top:0">
- <small title="This council's online reporting is powered by FixMyStreet">(includes reports from
- <a href="http[% secure.$site %]://[% site %]">[% site %]</a> using
- <a href="/about/council">FixMyStreet for Councils</a>)</small>
-</td>
-</tr>
-[% END %]
diff --git a/templates/web/fixmystreet.com/static/unresponsive.html b/templates/web/fixmystreet.com/static/unresponsive.html
index 8014ab8e1..5d9b4bfab 100644
--- a/templates/web/fixmystreet.com/static/unresponsive.html
+++ b/templates/web/fixmystreet.com/static/unresponsive.html
@@ -26,7 +26,7 @@
<h2>If you’d prefer to use FixMyStreet next time:</h2>
- <a href="https://www.writetothem.com/?utm_source=fixmystreet.com&utm_campaign=workflow_links&utm_medium=link&utm_content=unresponsive_council+cta" class="unresponsive-council-cta">
+ <a href="https://www.writetothem.com/?utm_source=fixmystreet.com&amp;utm_campaign=workflow_links&amp;utm_medium=link&amp;utm_content=unresponsive_council+cta" class="unresponsive-council-cta">
<strong>Write to your MP or local councillors</strong> to let them know this isn’t okay
</a>
diff --git a/templates/web/greenwich/footer.html b/templates/web/greenwich/footer.html
index 03dbc0330..7cc4f185c 100644
--- a/templates/web/greenwich/footer.html
+++ b/templates/web/greenwich/footer.html
@@ -8,8 +8,8 @@
</div><!-- .table-cell -->
<div class="nav-wrapper">
- <div class="nav-wrapper-2">
- [% INCLUDE "main_nav.html" body_name=c.cobrand.council_name hide_mysoc_link=1 %]
+ <div class="container">
+ [% INCLUDE "main_nav.html" body_name=c.cobrand.council_name %]
</div>
</div>
</div> <!-- .wrapper -->
diff --git a/templates/web/greenwich/front/footer-marketing.html b/templates/web/greenwich/front/footer-marketing.html
index bf08a11dd..773314aa9 100644
--- a/templates/web/greenwich/front/footer-marketing.html
+++ b/templates/web/greenwich/front/footer-marketing.html
@@ -13,7 +13,7 @@
<div id="footer-help">
<p>
- Powered by <a class="platform-logo" href="https://fixmystreet.com/about/council">FixMyStreet Platform</a>
+ Powered by <a class="platform-logo" href="https://www.fixmystreet.com/about/professional">FixMyStreet Platform</a>
</p>
</div>
</div>
diff --git a/templates/web/greenwich/header_logo.html b/templates/web/greenwich/header_logo.html
index 6359eba3b..cfe485af1 100644
--- a/templates/web/greenwich/header_logo.html
+++ b/templates/web/greenwich/header_logo.html
@@ -15,4 +15,4 @@
<li><a href="/">FixMyStreet</a></li>
</ul>
- [% INCLUDE "main_nav.html" body_name=c.cobrand.council_name hide_mysoc_link=1 hide_privacy_link=1 ul_id="fms-menu-desktop" ul_class="" omit_wrapper=1 %]
+ [% INCLUDE "main_nav.html" body_name=c.cobrand.council_name hide_privacy_link=1 ul_id="fms-menu-desktop" ul_class="" omit_wrapper=1 %]
diff --git a/templates/web/hart/footer.html b/templates/web/hart/footer.html
index e1b013032..01cf76f9d 100644
--- a/templates/web/hart/footer.html
+++ b/templates/web/hart/footer.html
@@ -5,14 +5,12 @@
</div><!-- .table-cell -->
<div class="nav-wrapper clearfix">
- <div class="main-menu-wrapper">
- <div class="main-menu">
- [% INCLUDE "main_nav.html" body_name=c.cobrand.council_area hide_mysoc_link=1 ul_class="clearfix" hide_privacy_link=1 %]
- </div>
- </div>
- <div class="nav-wrapper-2 clearfix">
- <div id="main-nav" class="clearfix" role="navigation">
- <ul class="nav-menu">
+ <div class="container container--hart">
+ [% INCLUDE "main_nav.html" body_name=c.cobrand.council_area ul_class="nav-menu nav-menu--first" hide_privacy_link=1 %]
+ </div>
+ <div class="container">
+ <div id="main-nav--hart" role="navigation">
+ <ul class="nav-menu nav-menu--hart">
<li>
<a href="http://www.hart.gov.uk/home">Home</a>
</li>
@@ -44,54 +42,64 @@
</div>
</div>
- <div class="hart-footer-wrapper">
- <div id="footer_outside_wrapper">
- <div id="footer_inside_wrapper" class="clearfix">
- <div id="footer-right" class="clearfix">
- <ul class="footer-nav">
- <li> <a href="http://www.hart.gov.uk/sitemap">Site map</a> </li>
- <li> <a href="http://www.hart.gov.uk/Accessibility">Accessibility</a> </li>
- </ul>
- </div>
- <footer id="hart-footer" class="clearfix">
- <div id="copyright-block" class="desk-only">
- <strong>©</strong> &nbsp;
- <a href="http://www.hart.gov.uk/disclaimer" title="More information on the Disclaimer">Hart District Council</a>
- </div>
- <ul class="footer-nav clearfix">
- <li> <a href="http://www.hart.gov.uk/disclaimer">Disclaimer</a></li>
- <li> <a href="http://www.hart.gov.uk/freedom-information">Freedom of Information</a></li>
- <li> <a href="http://www.hart.gov.uk/privacy">Privacy</a></li>
- </ul>
- </footer>
- <div class="clearfix" id="footer-row-2">
- <div id="hart-powered-by">
- <a href="https://www.fixmystreet.com/about/council">Powered by <img src="/cobrands/hart/fms-logo.png" alt="FixMyStreet" style="height:20px;"></a>
- </div>
- <div id="footer-images">
- <a href="https://twitter.com/HartCouncil">
- <img alt="" src="/cobrands/hart/twitter-logo.png" style="height:43px; width:43px" />
- </a>
- <a href="http://www.facebook.com/HartDistrictCouncil">
- <img alt="" src="/cobrands/hart/facebook-logo.png" style="height:43px; margin-right: 10px; width:43px" />
- </a>
- <a href="http://www.gov.uk">
- <img alt="" src="/cobrands/hart/gov-logo.png" style="height:43px; width:172px" />
- </a>
- </div>
- </div>
- <div id="footer-row-3">
- <div id="copyright-block-mobile" class="mob-only">
- <strong>©</strong> &nbsp;
- <a href="http://www.hart.gov.uk/disclaimer" title="More information on the Disclaimer">
- Hart District Council</a>
- </div>
- </div>
- </div>
+ <footer id="hart-footer">
+ <div id="footer-inner" class="container">
+ <div id="footer-row-1" class="clearfix row">
+ <p class="desk-only">
+ <strong>©</strong>
+ <a href="http://www.hart.gov.uk/disclaimer" title="More information on the Disclaimer" class="hart">Hart District Council</a>
+ <a href="http://www.gov.uk/" title="GOV.UK">GOV.UK</a>
+ </p>
+ <ul id="footer-nav">
+ <li> <a href="http://www.hart.gov.uk/Accessibility">Accessibility</a> </li>
+ <li class="mob-only"> <a href="http://www.gov.uk/" title="GOV.UK">GOV.UK</a> </li>
+ <li> <a href="http://www.hart.gov.uk/privacy">Privacy</a> </li>
+ <li class="mob-only"> <a href="http://www3.basingstoke.gov.uk/ccmwa/chat/a6f6143d-407f-4f99-b673-6feb98b54815">Web Chat</a> </li>
+ <li class="mob-only"> <a href="https://www.hart.gov.uk/contact-us">Contact us</a> </li>
+ <li class="mob-only"> <a href="https://www.hart.gov.uk/feedback">Feedback</a> </li>
+ <li class="mob-only bottom"> <a href="https://www.hart.gov.uk/user/login?current=node/1">Login</a> </li>
+ <li class="mob-only bottom"> <a href="https://www.hart.gov.uk/user/register">Register</a> </li>
+ </ul>
</div>
- </div>
- <div class="footer_border">
- </div>
+ <div id="footer-row-2" class="clearfix row">
+ <ul id="footer-images">
+ <li>
+ <a href="https://www.facebook.com/HartDistrictCouncil">
+ <img alt="Facebook" src="/cobrands/hart/facebook-logo.png" style="width: 50px; height: 50px;">
+ </a>
+ </li>
+ <li>
+ <a href="https://twitter.com/HartCouncil">
+ <img alt="Twitter" src="/cobrands/hart/twitter-logo.png" style="width: 50px; height: 50px;">
+ </a>
+ </li>
+ <li>
+ <a href="https://www.youtube.com/channel/UCtkLOTkot4Z24Mr9C4I3t-A">
+ <img alt="YouTube" src="/cobrands/hart/youtube-logo.png" style="width: 50px; height: 50px;">
+ </a>
+ </li>
+ <li>
+ <a href="https://www.instagram.com/hartcouncil/">
+ <img alt="Instagram" src="/cobrands/hart/instagram-logo.png" style="width: 50px; height: 50px;">
+ </a>
+ </li>
+ <li class="web-chat">
+ <a href="http://www3.basingstoke.gov.uk/ccmwa/chat/a6f6143d-407f-4f99-b673-6feb98b54815">
+ <span class="desk-only">Web Chat</span>
+ <img alt="Web chat" src="/cobrands/hart/chat.png" style="height: 50px; width: 50px;">
+ </a>
+ </li>
+ </ul>
+ </div>
+ <div id="footer-row-3" class="clearfix row">
+ <p class="mob-only">
+ <strong>©</strong>
+ <a href="http://www.hart.gov.uk/disclaimer" title="More information on the Disclaimer" class="hart">Hart District Council</a>
+ </p>
+ <a href="https://www.fixmystreet.com/about/professional">Powered by <img src="/cobrands/hart/fms-logo.png" alt="FixMyStreet" style="height:20px;"></a>
+ </div>
+ </div>
+ </footer>
[% INCLUDE 'common_footer_tags.html' %]
diff --git a/templates/web/oxfordshire/_email_sent_extra.html b/templates/web/oxfordshire/_email_sent_extra.html
new file mode 100644
index 000000000..5fdcd3bfd
--- /dev/null
+++ b/templates/web/oxfordshire/_email_sent_extra.html
@@ -0,0 +1 @@
+[% INCLUDE '_response_time.html' problem=report %]
diff --git a/templates/web/oxfordshire/_response_time.html b/templates/web/oxfordshire/_response_time.html
new file mode 100644
index 000000000..c3cb5fdfa
--- /dev/null
+++ b/templates/web/oxfordshire/_response_time.html
@@ -0,0 +1,14 @@
+[% IF c.cobrand.problem_response_days(problem) == 'emergency' %]
+ <p>
+ Thank you for contacting Oxfordshire County Council [% problem.category %], unfortunately we are currently only available to respond to emergency situations which may have an impact on the health and safety of members of the public, these will be dealt with within a 24 hour period.<br />
+ Reported faults will continue to be registered on our management system and these will be tackled in coming months.
+ </p>
+[% ELSIF c.cobrand.problem_response_days(problem) > 0 %]
+ <p>
+ Problems in the
+ [% problem.category %]
+ category are generally responded to within
+ [% c.cobrand.problem_response_days(problem) %]
+ working days.
+ </p>
+[% END %]
diff --git a/templates/web/oxfordshire/footer.html b/templates/web/oxfordshire/footer.html
index dd90cab01..b7e3d9829 100644
--- a/templates/web/oxfordshire/footer.html
+++ b/templates/web/oxfordshire/footer.html
@@ -8,13 +8,12 @@
</div><!-- .table-cell -->
<div class="nav-wrapper">
- <div class="nav-wrapper-2">
+ <div class="container">
<div id="main-nav" role="navigation">
- <ul class="nav-menu nav-menu--mysoc">
- <li><a id="mysoc-logo" href="https://www.fixmystreet.com/about/council">Powered by <img src="/cobrands/oxfordshire/images/fms-logo-105x20.png" alt="FixMyStreet"></a></li>
+ [% INCLUDE "main_nav.html" body_name=c.cobrand.council_area omit_wrapper=1 hide_privacy_link=1 %]
+ <ul class="nav-menu">
+ <li><a id="mysoc-logo" href="https://www.fixmystreet.com/about/professional">Powered by <img src="/cobrands/oxfordshire/images/fms-logo-105x20.png" alt="FixMyStreet"></a></li>
</ul>
-
- [% INCLUDE "main_nav.html" body_name=c.cobrand.council_area hide_mysoc_link=1 omit_wrapper=1 hide_privacy_link=1 %]
</div>
</div>
</div>
diff --git a/templates/web/oxfordshire/footer_extra_js.html b/templates/web/oxfordshire/footer_extra_js.html
new file mode 100644
index 000000000..abef0d40f
--- /dev/null
+++ b/templates/web/oxfordshire/footer_extra_js.html
@@ -0,0 +1,3 @@
+[% scripts.push(
+ version('/cobrands/oxfordshire/js.js'),
+) %]
diff --git a/templates/web/oxfordshire/front/_list-entry.html b/templates/web/oxfordshire/front/_list-entry.html
index 046c3b97f..43d3d6265 100755
--- a/templates/web/oxfordshire/front/_list-entry.html
+++ b/templates/web/oxfordshire/front/_list-entry.html
@@ -1 +1,4 @@
-[% INCLUDE 'report/_item.html' no_fixed = 1 item_extra_class = 'item-list__item--with-pin' %]
+[% INCLUDE 'report/_item.html'
+ no_fixed = 1
+ item_extra_class = 'item-list__item--with-pin ' _ c.cobrand.pin_colour(problem)
+%]
diff --git a/templates/web/oxfordshire/header.html b/templates/web/oxfordshire/header.html
index 452a71e88..3666eb4ff 100644
--- a/templates/web/oxfordshire/header.html
+++ b/templates/web/oxfordshire/header.html
@@ -26,10 +26,10 @@
</head>
<body class="[% bodyclass | html IF bodyclass %]">
<div id="oxford-wrapper">
- <div id="oxford-header" class="desk-only oxford-left">
- <a href="http://www.oxfordshire.gov.uk/" title="Home" class="logo">Oxfordshire County Council<span></span></a>
+ <div id="oxford-header" class="desk-only">
+ <a href="https://www.oxfordshire.gov.uk/" title="Home" class="logo">Oxfordshire County Council</a>
<span id="oxford-links">
- <a href="http://www.oxfordshire.gov.uk/" title="">Oxfordshire County Council home</a>
+ <a href="https://www.oxfordshire.gov.uk/" title="">Oxfordshire County Council home</a>
</span>
<div style="clear:both"></div>
<span class="header"><a href="/">Report a road or street problem</a></span>
@@ -37,7 +37,7 @@
<div id="navigation">
<div class="menubar">
<div class="menu-inner">
- [% INCLUDE "main_nav.html" body_name=c.cobrand.council_area hide_mysoc_link=1 hide_privacy_link=1 omit_wrapper=1 ul_class="menu" %]
+ [% INCLUDE "main_nav.html" body_name=c.cobrand.council_area hide_privacy_link=1 omit_wrapper=1 ul_class="menu" %]
</div>
</div>
</div>
diff --git a/templates/web/oxfordshire/report/_council_sent_info.html b/templates/web/oxfordshire/report/_council_sent_info.html
index 52b20a0af..5bc7949ff 100644
--- a/templates/web/oxfordshire/report/_council_sent_info.html
+++ b/templates/web/oxfordshire/report/_council_sent_info.html
@@ -10,20 +10,7 @@
</h3>
[% END %]
- [% IF c.cobrand.problem_response_days(problem) == 'emergency' %]
- <p>
- Thank you for contacting Oxfordshire County Council [% problem.category %], unfortunately we are currently only available to respond to emergency situations which may have an impact on the health and safety of members of the public, these will be dealt with within a 24 hour period.<br />
- Reported faults will continue to be registered on our management system and these will be tackled in coming months.
- </p>
- [% ELSIF c.cobrand.problem_response_days(problem) > 0 %]
- <p>
- Problems in the
- [% problem.category %]
- category are generally responded to within
- [% c.cobrand.problem_response_days(problem) %]
- working days.
- </p>
- [% END %]
+ [% INCLUDE '_response_time.html' %]
</div>
[% END %]
diff --git a/templates/web/oxfordshire/report/_inspect_extra_info.html b/templates/web/oxfordshire/report/_inspect_extra_info.html
new file mode 100644
index 000000000..6151d79ae
--- /dev/null
+++ b/templates/web/oxfordshire/report/_inspect_extra_info.html
@@ -0,0 +1,8 @@
+<p><small>
+RDI sent:
+[% IF problem.get_extra_metadata('rdi_processed') %]
+ [% problem.get_extra_metadata('rdi_processed') %]
+[% ELSE %]
+ <strong>not yet sent</strong>
+[% END %]
+</small></p>
diff --git a/templates/web/oxfordshire/report/inspect/state_groups_select.html b/templates/web/oxfordshire/report/inspect/state_groups_select.html
deleted file mode 100644
index d9db3864a..000000000
--- a/templates/web/oxfordshire/report/inspect/state_groups_select.html
+++ /dev/null
@@ -1,21 +0,0 @@
-[%
-SET state_pretty = {
- 'confirmed' = loc('Open')
- 'investigating' = loc('Investigating')
- 'action scheduled' = loc('Action Scheduled')
- 'fixed - council' = loc('Fixed')
- 'not responsible' = loc('Not Responsible')
- 'duplicate' = loc('Duplicate')
- 'unable to fix' = loc('No further action')
-};
-
-SET state_groups = [
- [ loc('New'), [ 'confirmed', 'investigating' ] ],
- [ loc('Scheduled'), [ 'action scheduled' ] ],
- [ loc('Fixed'), [ 'fixed - council' ] ],
- [ loc('Closed'), [ 'not responsible', 'duplicate', 'unable to fix' ] ]
-];
-
-%]
-[% DEFAULT current_state = problem.state %]
-[% INCLUDE 'report/_state_select_field.html' %]
diff --git a/templates/web/oxfordshire/tokens/_extras_confirm.html b/templates/web/oxfordshire/tokens/_extras_confirm.html
new file mode 100644
index 000000000..5fdcd3bfd
--- /dev/null
+++ b/templates/web/oxfordshire/tokens/_extras_confirm.html
@@ -0,0 +1 @@
+[% INCLUDE '_response_time.html' problem=report %]
diff --git a/templates/web/stevenage/footer.html b/templates/web/stevenage/footer.html
index ee0fc15d5..c2944e97b 100644
--- a/templates/web/stevenage/footer.html
+++ b/templates/web/stevenage/footer.html
@@ -19,7 +19,7 @@
</li>
<li>
<h4>[% loc('Are you from a council?') %]</h4>
- <p>[% loc('Would you like better integration with FixMyStreet? <a href="https://www.fixmystreet.com/about/council">Find out about FixMyStreet for councils</a>.') %]</p>
+ <p>[% loc('Would you like better integration with FixMyStreet? <a href="https://www.fixmystreet.com/about/professional">Find out about FixMyStreet Professional</a>.') %]</p>
</li>
</ul>
</div>
@@ -31,7 +31,7 @@
</div><!-- .container -->
</div><!-- .table-cell -->
- <div class="nav-wrapper">
+ <div class="table-caption">
<header id="stevenage_cc_header" role="banner">
@@ -86,11 +86,11 @@
</div>
</header>
-
-
- <div class="nav-wrapper-2">
- [% INCLUDE "main_nav.html" body_name=c.cobrand.council_area hide_mysoc_link=1 hide_privacy_link=1 %]
+ <div class="nav-wrapper">
+ <div class="container">
+ [% INCLUDE "main_nav.html" body_name=c.cobrand.council_area hide_privacy_link=1 %]
</div>
+ </div>
</div>
</div> <!-- .wrapper -->
diff --git a/templates/web/warwickshire/header.html b/templates/web/warwickshire/header.html
index da56719eb..81c1d9d23 100644
--- a/templates/web/warwickshire/header.html
+++ b/templates/web/warwickshire/header.html
@@ -7,16 +7,16 @@
<head>
<meta name="viewport" content="initial-scale=1.0">
- <link rel="shortcut icon" href="/cobrands/warwickshire/gamma/images/favicon.ico" />
+ <link rel="shortcut icon" href="/cobrands/warwickshire/vendor/gamma/images/favicon.ico" />
<!-- Style -->
- <link rel="stylesheet" type="text/css" href="[% version ('/cobrands/' _ c.cobrand.moniker _ '/gamma/style.css') %]" />
- <link rel="stylesheet" type="text/css" href="[% version ('/cobrands/' _ c.cobrand.moniker _ '/gamma/bootstrap-responsive.css') %]">
+ <link rel="stylesheet" type="text/css" href="[% version ('/cobrands/' _ c.cobrand.moniker _ '/vendor/gamma/style.css') %]" />
+ <link rel="stylesheet" type="text/css" href="[% version ('/cobrands/' _ c.cobrand.moniker _ '/vendor/gamma/bootstrap-responsive.css') %]">
<!-- Scripts -->
- <script src="[% version ('/cobrands/' _ c.cobrand.moniker _ '/gamma/modernizr-2.6.2-respond-1.1.0.min.js') %]" type="text/javascript"></script>
- <script src="[% version ('/cobrands/' _ c.cobrand.moniker _ '/gamma/jquery-1.9.0.min.js') %]" type="text/javascript"></script>
- <script src="[% version ('/cobrands/' _ c.cobrand.moniker _ '/gamma/bootstrap.min.js') %]" type="text/javascript"></script>
- <script src="[% version ('/cobrands/' _ c.cobrand.moniker _ '/gamma/main.js') %]" type="text/javascript"></script>
+ <script src="[% version ('/cobrands/' _ c.cobrand.moniker _ '/vendor/gamma/modernizr-2.6.2-respond-1.1.0.min.js') %]" type="text/javascript"></script>
+ <script src="[% version ('/cobrands/' _ c.cobrand.moniker _ '/vendor/gamma/jquery-1.9.0.min.js') %]" type="text/javascript"></script>
+ <script src="[% version ('/cobrands/' _ c.cobrand.moniker _ '/vendor/gamma/bootstrap.min.js') %]" type="text/javascript"></script>
+ <script src="[% version ('/cobrands/' _ c.cobrand.moniker _ '/vendor/gamma/main.js') %]" type="text/javascript"></script>
<link rel="stylesheet" href="[% version('/cobrands/' _ c.cobrand.moniker _ '/base.css') %]">
<link rel="stylesheet" href="[% version('/cobrands/' _ c.cobrand.moniker _ '/layout.css') %]" media="(min-width:48em)">
@@ -85,7 +85,7 @@
<li><a href="//www.warwickshire.gov.uk/listsanddata">Lists, data and information</a></li>
<li><a href="//www.warwickshire.gov.uk/organisation" accesskey="2">Organisation</a></li>
<li><a href="//www.warwickshire.gov.uk/performance">Our performance</a></li>
- <li><a href="//www.warwickshire.gov.uk/partnerships">Partnerships</a></li>
+ <li><a href="//www.warwickshire.gov.uk/partnerships">Partnerships</a></li>
<li><a href="//www.warwickshire.gov.uk/policies">Policies, standards and legislation</a></li>
<li><a href="//www.warwickshire.gov.uk/projects">Projects</a></li>
<li><a href="//www.warwickshire.gov.uk/strategies">Strategies and priorities</a></li>
@@ -146,24 +146,11 @@
<a href="//www.warwickshire.gov.uk/"><img src="//www.warwickshire.gov.uk/wp-content/themes/gamma/images/wdwhitelogo.png" alt="Warwickshire County Council - home" title="Warwickshire County Council - home" ></a>
</div>
<div class="span9">
- <div class="row">
- <div class="span9">
- <form action="//search3.openobjects.com/kb5/warwickshire/search/results.page" method="get" name="kbs" class="navbar-form pull-right" id="site-search">
- <label for="qtbottom" class="skip" style="display:none;">Search again</label>
- <input class="span3" type="text" maxlength="1000" size="40" name="qt" id="qtbottom" alt="Search" placeholder="eg; libraries, roadworks" accesskey="4">
- <button type="submit" value="Search" id="kbsubmitbottom" class="btn btn-mini searchbutton">Search</button>
- </form>
- </div>
- </div>
- <div class="row">
- <div id="site-tabs" class="span9">
- <ul class="nav nav-tabs">
- <li class="tab"><a href="//www.warwickshire.gov.uk/">Residents</a></li>
- <li class="tab"><a href="//www.warwickshire.gov.uk/business">Businesses</a></li>
- <li class="tab"><a href="//www.warwickshire.gov.uk/corporate">About the council</a></li>
- </ul>
- </div>
- </div>
+ <form action="//search3.openobjects.com/kb5/warwickshire/search/results.page" method="get" name="kbs" class="navbar-form pull-right" id="site-search">
+ <label for="qtbottom" class="skip" style="display:none;">Search again</label>
+ <input type="text" maxlength="1000" size="40" name="qt" id="qtbottom" alt="Search" placeholder="eg; libraries, roadworks" accesskey="4">
+ <button type="submit" value="Search" id="kbsubmitbottom" class="btn btn-mini searchbutton">Search</button>
+ </form>
</div>
</div>
</div>
@@ -172,7 +159,7 @@
<div class="container navbar-container">
<div class="navbar" id="mega-menu-navbar">
<div class="navbar-inner">
- [% INCLUDE "main_nav.html" body_name=c.cobrand.council_area hide_mysoc_link=1 hide_all_reports_link=1 omit_wrapper=1 ul_class="menu nav" ul_id="mega-menu" %]
+ [% INCLUDE "main_nav.html" body_name=c.cobrand.council_area hide_all_reports_link=1 omit_wrapper=1 ul_class="menu nav" ul_id="mega-menu" %]
</div>
</div>
</div>
diff --git a/templates/web/whitelabel/footer_extra.html b/templates/web/whitelabel/footer_extra.html
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/templates/web/whitelabel/footer_extra.html
diff --git a/templates/web/whitelabel/front/footer-marketing.html b/templates/web/whitelabel/front/footer-marketing.html
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/templates/web/whitelabel/front/footer-marketing.html
diff --git a/templates/web/whitelabel/next_steps.html b/templates/web/whitelabel/next_steps.html
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/templates/web/whitelabel/next_steps.html
diff --git a/templates/web/zurich/admin/body.html b/templates/web/zurich/admin/body.html
index cf860990d..468f7adff 100644
--- a/templates/web/zurich/admin/body.html
+++ b/templates/web/zurich/admin/body.html
@@ -19,7 +19,7 @@
</tr>
[% WHILE ( cat = contacts.next ) %]
<tr[% IF cat.deleted %] class="is-deleted"[% END %]>
- <td><a href="[% c.uri_for( 'body', body_id, cat.category ) %]">[% cat.category %]</a></td>
+ <td><a href="[% c.uri_for( 'body', body_id, cat.category ) %]">[% cat.category_display %]</a></td>
<td>[% cat.email | html %]</td>
<td>[% cat.editor %]</td>
<td>[% cat.note | html %]</td>
diff --git a/templates/web/zurich/admin/contact-form.html b/templates/web/zurich/admin/contact-form.html
index dddfc6d01..236b169d0 100644
--- a/templates/web/zurich/admin/contact-form.html
+++ b/templates/web/zurich/admin/contact-form.html
@@ -1,5 +1,5 @@
<form method="post" action="[% c.uri_for('body', body_id ) %]" enctype="application/x-www-form-urlencoded" accept-charset="utf-8" id="category_edit">
- <p><strong>[% loc('Category:') %] </strong>[% contact.category | html %]
+ <p><strong>[% loc('Category:') %] </strong>[% contact.category_display | html %]
<input type="hidden" name="category" value="[% contact.category | html %]" >
<input type="hidden" name="token" value="[% csrf_token %]" >
@@ -7,9 +7,11 @@
<input type="text" class="form-control" name="email" value="[% contact.email | html %]" size="30">
<p>
- <input type="hidden" name="confirmed" value="1">
- <input type="checkbox" name="deleted" value="1" id="deleted"[% ' checked' IF contact.deleted %]>
- <label class="inline" for="deleted">[% loc('Deleted') %]</label>
+ <label for="state">[% loc('State') %]</label>
+ <select name="state" id="state">
+ <option value="confirmed"[% ' selected' IF contact.state == 'confirmed' %]>[% loc('Confirmed') %]
+ <option value="deleted"[% ' selected' IF contact.state == 'deleted' %]>[% loc('Deleted') %]
+ </select>
<input type="checkbox" name="photo_required" value="1" id="photo_required"[% ' checked' IF contact.get_extra_metadata('photo_required') %]>
<label class="inline" for="photo_required">[% loc('Photo required') %]</label>
</p>
diff --git a/templates/web/zurich/admin/index.html b/templates/web/zurich/admin/index.html
index 275f50183..fb3609bb3 100644
--- a/templates/web/zurich/admin/index.html
+++ b/templates/web/zurich/admin/index.html
@@ -3,7 +3,7 @@
<ul>
<li>[% tprintf( loc('<strong>%s</strong> live problems'), total_problems_live ) %];
[% tprintf( loc('from %s different users'), total_problems_users ) %]</li>
- <li>[% tprintf( loc('%s council contacts &ndash; %s confirmed, %s unconfirmed'), contacts.total, contacts.1, contacts.0) %]</li>
+ <li>[% tprintf( loc('%s council contacts &ndash; %s confirmed, %s unconfirmed'), contacts.total, contacts.confirmed, contacts.unconfirmed) %]</li>
</ul>
<h2>[% loc('Problem breakdown by state') %]</h2>
diff --git a/templates/web/zurich/admin/problem_row.html b/templates/web/zurich/admin/problem_row.html
index acbf17017..a83e22b27 100644
--- a/templates/web/zurich/admin/problem_row.html
+++ b/templates/web/zurich/admin/problem_row.html
@@ -15,7 +15,7 @@
[% END %]
</td>
<td>[% PROCESS value_or_nbsp value=problem.title %]</td>
- <td>[% PROCESS value_or_nbsp value=problem.category %]</td>
+ <td>[% PROCESS value_or_nbsp value=problem.category_display %]</td>
<td>[% PROCESS format_date this_date=problem.created %]</td>
<td>[% PROCESS format_date this_date=problem.lastupdate %]</td>
<td> [% states.${problem.state} %][% IF problem.state == 'planned';
diff --git a/templates/web/zurich/admin/report_edit-sdm.html b/templates/web/zurich/admin/report_edit-sdm.html
index 3df9459f9..07f0332d5 100644
--- a/templates/web/zurich/admin/report_edit-sdm.html
+++ b/templates/web/zurich/admin/report_edit-sdm.html
@@ -70,7 +70,7 @@
</dd>
<dt>[% loc('Category:') %] <!-- Kategorie --></dt>
- <dd>[% problem.category | html %]</dd>
+ <dd>[% problem.category_display | html %]</dd>
<dt class="print-only">[% loc('State:') %] <!-- Status --></dt>
<dd class="print-only">[% states.${problem.state} %]</dd>
diff --git a/templates/web/zurich/admin/report_edit.html b/templates/web/zurich/admin/report_edit.html
index f87dcb5cf..35075a9f0 100644
--- a/templates/web/zurich/admin/report_edit.html
+++ b/templates/web/zurich/admin/report_edit.html
@@ -98,7 +98,7 @@
</dd>
<dt>[% loc('Category:') %] <!-- Kategorie --></dt>
- <dd>[% problem.category | html %]</dd>
+ <dd>[% problem.category_display | html %]</dd>
<dt class="print-only">[% loc('State:') %] <!-- Status --></dt>
<dd class="print-only">[% states_trans.${problem.state} %]</dd>
@@ -169,8 +169,8 @@
<label for="category">[% loc('Assign to different category:') %]</label>
<select class="form-control" name="category" id="category">
<option value="">--</option>
- [% FOREACH cat IN categories %]
- <option value="[% cat %]">[% cat %]</option>
+ [% FOREACH cat IN category_options %]
+ <option value="[% cat.name %]">[% cat.value %]</option>
[% END %]
</select>
</div>
diff --git a/templates/web/zurich/footer.html b/templates/web/zurich/footer.html
index d299284d6..0164dbcab 100644
--- a/templates/web/zurich/footer.html
+++ b/templates/web/zurich/footer.html
@@ -4,8 +4,7 @@
</div><!-- .table-cell -->
<div class="nav-wrapper">
- <div class="nav-wrapper-2">
- <div class="nav-wrapper-3">
+ <div class="container">
<div id="main-nav" role="navigation">
[% IF c.user_exists %]
<p>
@@ -23,7 +22,6 @@
%]>[% loc("Help") %]</[% c.req.uri.path == '/faq' ? 'span' : 'a' %]></li>
</ul>
</div>
- </div>
</div>
</div>
</div> <!-- .wrapper -->
diff --git a/templates/web/zurich/header.html b/templates/web/zurich/header.html
index 303d861a4..0ab051aa7 100644
--- a/templates/web/zurich/header.html
+++ b/templates/web/zurich/header.html
@@ -27,7 +27,7 @@
<body class="[% bodyclass | html IF bodyclass %]">
<div class="wrapper">
- <div class="table-cell">
+ <div class="table-cell clearfix">
<header id="site-header" role="banner">
<div class="container">
<a href="/" id="site-logo-text">Züri wie neu</a>
diff --git a/templates/web/zurich/maps/zurich.html b/templates/web/zurich/maps/zurich.html
index f85be4aef..a9499f657 100644
--- a/templates/web/zurich/maps/zurich.html
+++ b/templates/web/zurich/maps/zurich.html
@@ -1,6 +1,6 @@
[%
map_js = [
- version('/js/OpenLayers.2.11.zurich.js'),
+ version('/vendor/OpenLayers/OpenLayers.zurich.js'),
version('/js/OpenLayers.Projection.CH1903Plus.js'),
version('/js/map-OpenLayers.js'),
version('/js/map-wmts-base.js'),
diff --git a/templates/web/zurich/report/_main.html b/templates/web/zurich/report/_main.html
index c1e4d15e6..b868c03e2 100644
--- a/templates/web/zurich/report/_main.html
+++ b/templates/web/zurich/report/_main.html
@@ -1,5 +1,5 @@
<div class="problem-header clearfix">
- <h1>[% tprintf( loc('Reported in the %s category'), problem.category ) %]</h1>
+ <h1>[% tprintf( loc('Reported in the %s category'), problem.category_display ) %]</h1>
<p class="sub">
[% prettify_dt( problem.created, 'zurich' ) %]
[%- IF !problem.used_map %]<br>[% loc('there is no pin shown as the user did not use the map') %][% END %]
diff --git a/templates/web/zurich/reports/index.html b/templates/web/zurich/reports/index.html
index f7383dfee..8bec64c86 100755
--- a/templates/web/zurich/reports/index.html
+++ b/templates/web/zurich/reports/index.html
@@ -13,17 +13,17 @@
<h1>[% loc('All Reports') %]</h1>
<section class="full-width">
- [% INCLUDE 'pagination.html', param = 'p' %]
+ <div class="js-pagination">
+ [% INCLUDE 'pagination.html', param = 'p' %]
+ </div>
- [% IF problems.0 %]
- <ul class="item-list item-list--reports">
- [% FOREACH problem IN problems.0 %]
- [% INCLUDE 'reports/_list-entry.html' %]
- [% END %]
- </ul>
- [% END %]
+ <div id="js-reports-list">
+ [% INCLUDE 'reports/_problem-list.html' %]
+ </div>
- [% INCLUDE 'pagination.html', param = 'p' %]
+ <div class="js-pagination">
+ [% INCLUDE 'pagination.html', param = 'p' %]
+ </div>
</section>
</div>
diff --git a/vendor/bin/carton b/vendor/bin/carton
index b311208a4..0a714c6d7 100755
--- a/vendor/bin/carton
+++ b/vendor/bin/carton
@@ -7,7 +7,7 @@ my %fatpacked;
$fatpacked{"App/cpanminus.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'APP_CPANMINUS';
package App::cpanminus;
- our $VERSION = "1.7039";
+ our $VERSION = "1.7043";
=encoding utf8
@@ -117,7 +117,7 @@ $fatpacked{"App/cpanminus.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'A
It queries the CPAN Meta DB site at L<http://cpanmetadb.plackperl.org/>.
The site is updated at least every hour to reflect the latest changes
from fast syncing mirrors. The script then also falls back to query the
- module at L<http://metacpan.org/> using its seach API.
+ module at L<http://metacpan.org/> using its search API.
Upon calling these API hosts, cpanm (1.6004 or later) will send the
local perl versions to the server in User-Agent string by default. You
@@ -272,7 +272,7 @@ $fatpacked{"App/cpanminus.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'A
=item L<http://github.com/miyagawa/cpanminus> - source code repository, issue tracker
- =item L<irc://irc.perl.org/#toolchain> - discussions about Perl toolchain. I'm there.
+ =item L<irc://irc.perl.org/#cpanm> - discussions about cpanm and its related tools
=back
@@ -316,7 +316,7 @@ $fatpacked{"App/cpanminus/fatscript.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."
$fatpacked{"App/cpanminus.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'APP_CPANMINUS';
package App::cpanminus;
- our $VERSION = "1.7039";
+ our $VERSION = "1.7043";
=encoding utf8
@@ -426,7 +426,7 @@ $fatpacked{"App/cpanminus/fatscript.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."
It queries the CPAN Meta DB site at L<http://cpanmetadb.plackperl.org/>.
The site is updated at least every hour to reflect the latest changes
from fast syncing mirrors. The script then also falls back to query the
- module at L<http://metacpan.org/> using its seach API.
+ module at L<http://metacpan.org/> using its search API.
Upon calling these API hosts, cpanm (1.6004 or later) will send the
local perl versions to the server in User-Agent string by default. You
@@ -581,7 +581,7 @@ $fatpacked{"App/cpanminus/fatscript.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."
=item L<http://github.com/miyagawa/cpanminus> - source code repository, issue tracker
- =item L<irc://irc.perl.org/#toolchain> - discussions about Perl toolchain. I'm there.
+ =item L<irc://irc.perl.org/#cpanm> - discussions about cpanm and its related tools
=back
@@ -777,6 +777,7 @@ $fatpacked{"App/cpanminus/fatscript.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."
installed_dists => 0,
install_types => ['requires'],
with_develop => 0,
+ with_configure => 0,
showdeps => 0,
scandeps => 0,
scandeps_tree => [],
@@ -902,6 +903,8 @@ $fatpacked{"App/cpanminus/fatscript.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."
'test-timeout=i' => \$self->{test_timeout},
'with-develop' => \$self->{with_develop},
'without-develop' => sub { $self->{with_develop} = 0 },
+ 'with-configure' => \$self->{with_configure},
+ 'without-configure' => sub { $self->{with_configure} = 0 },
'with-feature=s' => sub { $self->{features}{$_[1]} = 1 },
'without-feature=s' => sub { $self->{features}{$_[1]} = 0 },
'with-all-features' => sub { $self->{features}{__all} = 1 },
@@ -1652,7 +1655,7 @@ $fatpacked{"App/cpanminus/fatscript.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."
! Can't write to $Config{installsitelib} and $Config{installsitebin}: Installing modules to $ENV{HOME}/perl5
! To turn off this warning, you have to do one of the following:
! - run me as a root or with --sudo option (to install to $Config{installsitelib} and $Config{installsitebin})
- ! - Configure local::lib your existing local::lib in this shell to set PERL_MM_OPT etc.
+ ! - Configure local::lib in your existing shell to set PERL_MM_OPT etc.
! - Install local::lib by running the following commands
!
! cpanm --local-lib=~/perl5 local::lib && eval \$(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)
@@ -1947,6 +1950,9 @@ $fatpacked{"App/cpanminus/fatscript.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."
$ENV{PERL_MB_OPT} .= " --pureperl-only";
}
+ local $ENV{PERL_USE_UNSAFE_INC} = 1
+ unless exists $ENV{PERL_USE_UNSAFE_INC};
+
$cmd = $self->append_args($cmd, 'configure') if $depth == 0;
local $self->{verbose} = $self->{verbose} || $self->{interactive};
@@ -1958,6 +1964,9 @@ $fatpacked{"App/cpanminus/fatscript.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."
local $ENV{PERL_MM_USE_DEFAULT} = !$self->{interactive};
+ local $ENV{PERL_USE_UNSAFE_INC} = 1
+ unless exists $ENV{PERL_USE_UNSAFE_INC};
+
$cmd = $self->append_args($cmd, 'build') if $depth == 0;
return 1 if $self->run_timeout($cmd, $self->{build_timeout});
@@ -1982,6 +1991,9 @@ $fatpacked{"App/cpanminus/fatscript.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."
$cmd = $self->append_args($cmd, 'test') if $depth == 0;
+ local $ENV{PERL_USE_UNSAFE_INC} = 1
+ unless exists $ENV{PERL_USE_UNSAFE_INC};
+
return 1 if $self->run_timeout($cmd, $self->{test_timeout});
if ($self->{force}) {
$self->diag_fail("Testing $distname failed but installing it anyway.");
@@ -2006,6 +2018,9 @@ $fatpacked{"App/cpanminus/fatscript.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."
return 1;
}
+ local $ENV{PERL_USE_UNSAFE_INC} = 1
+ unless exists $ENV{PERL_USE_UNSAFE_INC};
+
if ($self->{sudo}) {
unshift @$cmd, "sudo";
}
@@ -2848,6 +2863,7 @@ $fatpacked{"App/cpanminus/fatscript.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."
$dist->{meta} = $dist->{cpanmeta} ? $dist->{cpanmeta}->as_struct : {};
my @config_deps;
+
if ($dist->{cpanmeta}) {
push @config_deps, App::cpanminus::Dependency->from_prereqs(
$dist->{cpanmeta}->effective_prereqs, ['configure'], $self->{install_types},
@@ -2860,11 +2876,12 @@ $fatpacked{"App/cpanminus/fatscript.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."
);
}
+ $self->merge_with_cpanfile($dist, \@config_deps);
+
$self->upgrade_toolchain(\@config_deps);
my $target = $dist->{meta}{name} ? "$dist->{meta}{name}-$dist->{meta}{version}" : $dist->{dir};
{
- local $self->{notest} = 1;
$self->install_deps_bailout($target, $dist->{dir}, $depth, @config_deps)
or return;
}
@@ -2884,6 +2901,7 @@ $fatpacked{"App/cpanminus/fatscript.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."
? [qw( build runtime )] : [qw( build test runtime )];
push @{$dist->{want_phases}}, 'develop' if $self->{with_develop} && $depth == 0;
+ push @{$dist->{want_phases}}, 'configure' if $self->{with_configure} && $depth == 0;
my @deps = $self->find_prereqs($dist);
my $module_name = $self->find_module_name($configure_state) || $dist->{meta}{name};
@@ -3277,13 +3295,19 @@ $fatpacked{"App/cpanminus/fatscript.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."
push @deps, $self->bundle_deps($dist);
}
+ $self->merge_with_cpanfile($dist, \@deps);
+
+ return @deps;
+ }
+
+ sub merge_with_cpanfile {
+ my($self, $dist, $deps) = @_;
+
if ($self->{cpanfile_requirements} && !$dist->{cpanfile}) {
- for my $dep (@deps) {
+ for my $dep (@$deps) {
$dep->merge_with($self->{cpanfile_requirements});
}
}
-
- return @deps;
}
sub extract_meta_prereqs {
@@ -3344,9 +3368,21 @@ $fatpacked{"App/cpanminus/fatscript.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."
sub bundle_deps {
my($self, $dist) = @_;
+ my $match;
+ if ($dist->{module}) {
+ $match = sub {
+ my $meta = Module::Metadata->new_from_file($_[0]);
+ $meta && ($meta->name eq $dist->{module});
+ };
+ } else {
+ $match = sub { 1 };
+ }
+
my @files;
File::Find::find({
- wanted => sub { push @files, File::Spec->rel2abs($_) if /\.pm/i },
+ wanted => sub {
+ push @files, File::Spec->rel2abs($_) if /\.pm$/i && $match->($_);
+ },
no_chdir => 1,
}, '.');
@@ -3565,7 +3601,15 @@ $fatpacked{"App/cpanminus/fatscript.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."
sub file_mirror {
my($self, $uri, $path) = @_;
my $file = $self->uri_to_file($uri);
+
+ my $source_mtime = (stat $file)[9];
+
+ # Don't mirror a file that's already there (like the index)
+ return 1 if -e $path && (stat $path)[9] >= $source_mtime;
+
File::Copy::copy($file, $path);
+
+ utime $source_mtime, $source_mtime, $path;
}
sub has_working_lwp {
@@ -24997,15 +25041,17 @@ $fatpacked{"App/cpanminus/fatscript.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."
if ($] < 5.008) {
*{"${class}::INC"} = sub {
- if (my $fat = $_[0]{$_[1]}) {
- return sub {
- return 0 unless length $fat;
- $fat =~ s/^([^\n]*\n?)//;
- $_ = $1;
- return 1;
- };
- }
- return;
+ if (my $fat = $_[0]{$_[1]}) {
+ my $pos = 0;
+ my $last = length $fat;
+ return (sub {
+ return 0 if $pos == $last;
+ my $next = (1 + index $fat, "\n", $pos) || $last;
+ $_ .= substr $fat, $pos, $next - $pos;
+ $pos = $next;
+ return 1;
+ });
+ }
};
}
@@ -25348,6 +25394,11 @@ $fatpacked{"App/cpanminus/fatscript.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."
B<EXPERIMENTAL>: Installs develop phase dependencies in META files or
C<cpanfile> when used with C<--installdeps>. Defaults to false.
+ =item --with-configure
+
+ B<EXPERIMENTAL>: Installs configure phase dependencies in C<cpanfile>
+ when used with C<--installdeps>. Defaults to false.
+
=item --with-feature, --without-feature, --with-all-features
B<EXPERIMENTAL>: Specifies the feature to enable, if a module supports
@@ -25568,6 +25619,23 @@ $fatpacked{"App/cpanminus/fatscript.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."
=back
+ =head1 ENVIRONMENT VARIABLES
+
+ =over 4
+
+ =item PERL_CPANM_HOME
+
+ The directory cpanm should use to store downloads and build and test
+ modules. Defaults to the C<.cpanm> directory in your user's home
+ directory.
+
+ =item PERL_CPANM_OPT
+
+ If set, adds a set of default options to every cpanm command. These
+ options come first, and so are overridden by command-line options.
+
+ =back
+
=head1 SEE ALSO
L<App::cpanminus>
@@ -34046,7 +34114,7 @@ $fatpacked{"Carton.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'CARTON';
package Carton;
use strict;
use 5.008_005;
- use version; our $VERSION = version->declare("v1.0.22");
+ use version; our $VERSION = version->declare("v1.0.28");
1;
__END__
@@ -34183,7 +34251,7 @@ $fatpacked{"Carton.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'CARTON';
=over 4
- =item L<https://github.com/miyagawa/carton>
+ =item L<https://github.com/perl-carton/carton>
Code repository, Wiki and Issue Tracker
@@ -34702,6 +34770,13 @@ $fatpacked{"Carton/CLI.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'CART
$env->snapshot->save;
}
+ sub cmd_run {
+ my($self, @args) = @_;
+
+ local $UseSystem = 1;
+ $self->cmd_exec(@args);
+ }
+
sub cmd_exec {
my($self, @args) = @_;
@@ -35065,7 +35140,7 @@ $fatpacked{"Carton/Index.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'CA
EOF
for my $p ($self->packages) {
- print $fh $self->_format_line($p->name, $p->version || 'undef', $p->pathname);
+ print $fh $self->_format_line($p->name, $p->version_format, $p->pathname);
}
}
@@ -35134,6 +35209,11 @@ $fatpacked{"Carton/Package.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'
return { name => $args[0], version => $args[1], pathname => $args[2] };
}
+ sub version_format {
+ my $self = shift;
+ defined $self->version ? $self->version : 'undef';
+ }
+
1;
@@ -35192,7 +35272,7 @@ $fatpacked{"Carton/Packer.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'C
# HACK: File::Spec bundled into arch in < 5.16, but is loadable as pure-perl
use Config;
- $fatpacked =~ s/\$fatpacked{"$Config{archname}\/(Cwd|File)/\$fatpacked{"$1/g;
+ $fatpacked =~ s/\$fatpacked\{"$Config{archname}\/(Cwd|File)/\$fatpacked{"$1/g;
$fatpacked;
}
@@ -35451,7 +35531,9 @@ $fatpacked{"Carton/Snapshot/Emitter.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."
$data .= " provides:\n";
for my $package (sort keys %{$dist->provides}) {
- $data .= " $package @{[$dist->provides->{$package}{version} || 'undef' ]}\n";
+ my $version = $dist->provides->{$package}{version};
+ $version = 'undef' unless defined $version;
+ $data .= " $package $version\n";
}
$data .= " requirements:\n";
@@ -35540,7 +35622,6 @@ $fatpacked{"Carton/Snapshot/Parser.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\
re => qr/^\s{6}([0-9A-Za-z_:]+) ([v0-9\._,=\!<>\s]+|undef)/,
code => sub {
my($stash, $snapshot, $module, $version) = @_;
-
if ($stash->{property} eq 'provides') {
$stash->{dist}->provides->{$module} = { version => $version };
} else {
@@ -35587,7 +35668,7 @@ $fatpacked{"Carton/Snapshot/Parser.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\
}
}
- Carton::Error::SnapshotParseError->throw(error => "Could not parse snapshot file.");
+ Carton::Error::SnapshotParseError->throw(error => "Could not parse snapshot file: $line");
}
}
}
@@ -35710,7 +35791,7 @@ $fatpacked{"Class/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'CLAS
package Class::Tiny;
# ABSTRACT: Minimalist class construction
- our $VERSION = '1.001';
+ our $VERSION = '1.006';
use Carp ();
@@ -35740,28 +35821,63 @@ $fatpacked{"Class/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'CLAS
or Carp::croak "Invalid accessor name '$_'"
} keys %defaults;
$CLASS_ATTRIBUTES{$pkg}{$_} = $defaults{$_} for @attr;
- _gen_accessor( $pkg, $_ ) for grep { !*{"$pkg\::$_"}{CODE} } @attr;
+ $class->_gen_accessor( $pkg, $_ ) for grep { !*{"$pkg\::$_"}{CODE} } @attr;
Carp::croak("Failed to generate attributes for $pkg: $@\n") if $@;
}
sub _gen_accessor {
- my ( $pkg, $name ) = @_;
+ my ( $class, $pkg, $name ) = @_;
my $outer_default = $CLASS_ATTRIBUTES{$pkg}{$name};
- my $sub = "sub $name { if (\@_ == 1) {";
- if ( defined $outer_default && ref $outer_default eq 'CODE' ) {
- $sub .= "if ( !exists \$_[0]{$name} ) { \$_[0]{$name} = \$default->(\$_[0]) }";
- }
- elsif ( defined $outer_default ) {
- $sub .= "if ( !exists \$_[0]{$name} ) { \$_[0]{$name} = \$default }";
- }
- $sub .= "return \$_[0]{$name} } else { return \$_[0]{$name}=\$_[1] } }";
+ my $sub =
+ $class->__gen_sub_body( $name, defined($outer_default), ref($outer_default) );
# default = outer_default avoids "won't stay shared" bug
eval "package $pkg; my \$default=\$outer_default; $sub"; ## no critic
Carp::croak("Failed to generate attributes for $pkg: $@\n") if $@;
}
+ # NOTE: overriding __gen_sub_body in a subclass of Class::Tiny is risky and
+ # could break if the internals of Class::Tiny need to change for any
+ # reason. That said, I currently see no reason why this would be likely to
+ # change.
+ #
+ # The generated sub body should assume that a '$default' variable will be
+ # in scope (i.e. when the sub is evaluated) with any default value/coderef
+ sub __gen_sub_body {
+ my ( $self, $name, $has_default, $default_type ) = @_;
+
+ if ( $has_default && $default_type eq 'CODE' ) {
+ return << "HERE";
+ sub $name {
+ return (
+ ( \@_ == 1 && exists \$_[0]{$name} )
+ ? ( \$_[0]{$name} )
+ : ( \$_[0]{$name} = ( \@_ == 2 ) ? \$_[1] : \$default->( \$_[0] ) )
+ );
+ }
+ HERE
+ }
+ elsif ($has_default) {
+ return << "HERE";
+ sub $name {
+ return (
+ ( \@_ == 1 && exists \$_[0]{$name} )
+ ? ( \$_[0]{$name} )
+ : ( \$_[0]{$name} = ( \@_ == 2 ) ? \$_[1] : \$default )
+ );
+ }
+ HERE
+ }
+ else {
+ return << "HERE";
+ sub $name {
+ return \@_ == 1 ? \$_[0]{$name} : ( \$_[0]{$name} = \$_[1] );
+ }
+ HERE
+ }
+ }
+
sub get_all_attributes_for {
my ( $class, $pkg ) = @_;
my %attr =
@@ -35784,7 +35900,7 @@ $fatpacked{"Class/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'CLAS
package Class::Tiny::Object;
# ABSTRACT: Base class for classes built with Class::Tiny
- our $VERSION = '1.001';
+ our $VERSION = '1.006';
my ( %HAS_BUILDARGS, %BUILD_CACHE, %DEMOLISH_CACHE, %ATTR_CACHE );
@@ -35880,7 +35996,7 @@ $fatpacked{"Class/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'CLAS
=head1 VERSION
- version 1.001
+ version 1.006
=head1 SYNOPSIS
@@ -36255,7 +36371,7 @@ $fatpacked{"Class/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'CLAS
=head1 CONTRIBUTORS
- =for stopwords Dagfinn Ilmari Mannsåker Gelu Lupas Karen Etheridge Matt S Trout Olivier Mengué Toby Inkster
+ =for stopwords Dagfinn Ilmari Mannsåker David Golden Gelu Lupas Karen Etheridge Olivier Mengué Toby Inkster
=over 4
@@ -36265,15 +36381,15 @@ $fatpacked{"Class/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'CLAS
=item *
- Gelu Lupas <gelu@devnull.ro>
+ David Golden <xdg@xdg.me>
=item *
- Karen Etheridge <ether@cpan.org>
+ Gelu Lupas <gelu@devnull.ro>
=item *
- Matt S Trout <mstrout@cpan.org>
+ Karen Etheridge <ether@cpan.org>
=item *
@@ -36296,119 +36412,6 @@ $fatpacked{"Class/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'CLAS
=cut
CLASS_TINY
-$fatpacked{"Devel/GlobalDestruction.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'DEVEL_GLOBALDESTRUCTION';
- package Devel::GlobalDestruction;
-
- use strict;
- use warnings;
-
- our $VERSION = '0.13';
-
- use Sub::Exporter::Progressive -setup => {
- exports => [ qw(in_global_destruction) ],
- groups => { default => [ -all ] },
- };
-
- # we run 5.14+ - everything is in core
- #
- if (defined ${^GLOBAL_PHASE}) {
- eval 'sub in_global_destruction () { ${^GLOBAL_PHASE} eq q[DESTRUCT] }; 1'
- or die $@;
- }
- # try to load the xs version if it was compiled
- #
- elsif (eval {
- require Devel::GlobalDestruction::XS;
- no warnings 'once';
- *in_global_destruction = \&Devel::GlobalDestruction::XS::in_global_destruction;
- 1;
- }) {
- # the eval already installed everything, nothing to do
- }
- else {
- # internally, PL_main_cv is set to Nullcv immediately before entering
- # global destruction and we can use B to detect that. B::main_cv will
- # only ever be a B::CV or a B::SPECIAL that is a reference to 0
- require B;
- eval 'sub in_global_destruction () { ${B::main_cv()} == 0 }; 1'
- or die $@;
- }
-
- 1; # keep require happy
-
-
- __END__
-
- =head1 NAME
-
- Devel::GlobalDestruction - Provides function returning the equivalent of
- C<${^GLOBAL_PHASE} eq 'DESTRUCT'> for older perls.
-
- =head1 SYNOPSIS
-
- package Foo;
- use Devel::GlobalDestruction;
-
- use namespace::clean; # to avoid having an "in_global_destruction" method
-
- sub DESTROY {
- return if in_global_destruction;
-
- do_something_a_little_tricky();
- }
-
- =head1 DESCRIPTION
-
- Perl's global destruction is a little tricky to deal with WRT finalizers
- because it's not ordered and objects can sometimes disappear.
-
- Writing defensive destructors is hard and annoying, and usually if global
- destruction is happening you only need the destructors that free up non
- process local resources to actually execute.
-
- For these constructors you can avoid the mess by simply bailing out if global
- destruction is in effect.
-
- =head1 EXPORTS
-
- This module uses L<Sub::Exporter::Progressive> so the exports may be renamed,
- aliased, etc. if L<Sub::Exporter> is present.
-
- =over 4
-
- =item in_global_destruction
-
- Returns true if the interpreter is in global destruction. In perl 5.14+, this
- returns C<${^GLOBAL_PHASE} eq 'DESTRUCT'>, and on earlier perls, detects it using
- the value of C<PL_main_cv> or C<PL_dirty>.
-
- =back
-
- =head1 AUTHORS
-
- Yuval Kogman E<lt>nothingmuch@woobling.orgE<gt>
-
- Florian Ragwitz E<lt>rafl@debian.orgE<gt>
-
- Jesse Luehrs E<lt>doy@tozt.netE<gt>
-
- Peter Rabbitson E<lt>ribasushi@cpan.orgE<gt>
-
- Arthur Axel 'fREW' Schmidt E<lt>frioux@gmail.comE<gt>
-
- Elizabeth Mattijsen E<lt>liz@dijkmat.nlE<gt>
-
- Greham Knop E<lt>haarg@haarg.orgE<gt>
-
- =head1 COPYRIGHT
-
- Copyright (c) 2008 Yuval Kogman. All rights reserved
- This program is free software; you can redistribute
- it and/or modify it under the same terms as Perl itself.
-
- =cut
-DEVEL_GLOBALDESTRUCTION
-
$fatpacked{"ExtUtils/Command.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'EXTUTILS_COMMAND';
package ExtUtils::Command;
@@ -36419,7 +36422,7 @@ $fatpacked{"ExtUtils/Command.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
@ISA = qw(Exporter);
@EXPORT = qw(cp rm_f rm_rf mv cat eqtime mkpath touch test_f test_d chmod
dos2unix);
- $VERSION = '7.06';
+ $VERSION = '7.30';
$VERSION = eval $VERSION;
my $Is_VMS = $^O eq 'VMS';
@@ -36432,7 +36435,10 @@ $fatpacked{"ExtUtils/Command.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
my $vms_efs;
my $vms_case;
- if (eval { local $SIG{__DIE__}; require VMS::Feature; }) {
+ if (eval { local $SIG{__DIE__};
+ local @INC = @INC;
+ pop @INC if $INC[-1] eq '.';
+ require VMS::Feature; }) {
$vms_unix_rpt = VMS::Feature::current("filename_unix_report");
$vms_efs = VMS::Feature::current("efs_charset");
$vms_case = VMS::Feature::current("efs_case_preserve");
@@ -36759,6 +36765,7 @@ $fatpacked{"ExtUtils/Command.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
open ORIG, $_ or do { warn "dos2unix can't open $_: $!"; return };
open TEMP, ">$temp" or
do { warn "dos2unix can't create .dos2unix_tmp: $!"; return };
+ binmode ORIG; binmode TEMP;
while (my $line = <ORIG>) {
$line =~ s/\015\012/\012/g;
print TEMP $line;
@@ -36802,15 +36809,20 @@ $fatpacked{"ExtUtils/Command/MM.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n
our @EXPORT = qw(test_harness pod2man perllocal_install uninstall
warn_if_old_packlist test_s cp_nonempty);
- our $VERSION = '7.06';
+ our $VERSION = '7.30';
$VERSION = eval $VERSION;
my $Is_VMS = $^O eq 'VMS';
- eval { require Time::HiRes; die unless Time::HiRes->can("stat"); };
- *mtime = $@ ?
- sub { [ stat($_[0])]->[9] } :
- sub { [Time::HiRes::stat($_[0])]->[9] } ;
+ sub mtime {
+ no warnings 'redefine';
+ local $@;
+ *mtime = (eval { require Time::HiRes } && defined &Time::HiRes::stat)
+ ? sub { (Time::HiRes::stat($_[0]))[9] }
+ : sub { ( stat($_[0]))[9] }
+ ;
+ goto &mtime;
+ }
=head1 NAME
@@ -37006,8 +37018,9 @@ $fatpacked{"ExtUtils/Command/MM.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n
: @ARGV;
my $pod;
- $pod = sprintf <<'POD', scalar(localtime), $type, $name;
- =head2 %s: C<%s> L<%3$s|%3$s>
+ my $time = gmtime($ENV{SOURCE_DATE_EPOCH} || time);
+ $pod = sprintf <<'POD', scalar($time), $type, $name, $name;
+ =head2 %s: C<%s> L<%s|%s>
=over 4
@@ -37109,12 +37122,1845 @@ $fatpacked{"ExtUtils/Command/MM.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n
1;
EXTUTILS_COMMAND_MM
+$fatpacked{"ExtUtils/Install.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'EXTUTILS_INSTALL';
+ package ExtUtils::Install;
+ use strict;
+
+ use vars qw(@ISA @EXPORT $VERSION $MUST_REBOOT %Config);
+
+ use AutoSplit;
+ use Carp ();
+ use Config qw(%Config);
+ use Cwd qw(cwd);
+ use Exporter;
+ use ExtUtils::Packlist;
+ use File::Basename qw(dirname);
+ use File::Compare qw(compare);
+ use File::Copy;
+ use File::Find qw(find);
+ use File::Path;
+ use File::Spec;
+
+
+ @ISA = ('Exporter');
+ @EXPORT = ('install','uninstall','pm_to_blib', 'install_default');
+
+ =pod
+
+ =head1 NAME
+
+ ExtUtils::Install - install files from here to there
+
+ =head1 SYNOPSIS
+
+ use ExtUtils::Install;
+
+ install({ 'blib/lib' => 'some/install/dir' } );
+
+ uninstall($packlist);
+
+ pm_to_blib({ 'lib/Foo/Bar.pm' => 'blib/lib/Foo/Bar.pm' });
+
+ =head1 VERSION
+
+ 2.06
+
+ =cut
+
+ $VERSION = '2.06'; # <-- do not forget to update the POD section just above this line!
+ $VERSION = eval $VERSION;
+
+ =pod
+
+ =head1 DESCRIPTION
+
+ Handles the installing and uninstalling of perl modules, scripts, man
+ pages, etc...
+
+ Both install() and uninstall() are specific to the way
+ ExtUtils::MakeMaker handles the installation and deinstallation of
+ perl modules. They are not designed as general purpose tools.
+
+ On some operating systems such as Win32 installation may not be possible
+ until after a reboot has occurred. This can have varying consequences:
+ removing an old DLL does not impact programs using the new one, but if
+ a new DLL cannot be installed properly until reboot then anything
+ depending on it must wait. The package variable
+
+ $ExtUtils::Install::MUST_REBOOT
+
+ is used to store this status.
+
+ If this variable is true then such an operation has occurred and
+ anything depending on this module cannot proceed until a reboot
+ has occurred.
+
+ If this value is defined but false then such an operation has
+ ocurred, but should not impact later operations.
+
+ =over
+
+ =begin _private
+
+ =item _chmod($$;$)
+
+ Wrapper to chmod() for debugging and error trapping.
+
+ =item _warnonce(@)
+
+ Warns about something only once.
+
+ =item _choke(@)
+
+ Dies with a special message.
+
+ =back
+
+ =end _private
+
+ =cut
+
+ my $Is_VMS = $^O eq 'VMS';
+ my $Is_MacPerl = $^O eq 'MacOS';
+ my $Is_Win32 = $^O eq 'MSWin32';
+ my $Is_cygwin = $^O eq 'cygwin';
+ my $CanMoveAtBoot = ($Is_Win32 || $Is_cygwin);
+
+
+ my $Inc_uninstall_warn_handler;
+
+ # install relative to here
+
+ my $INSTALL_ROOT = $ENV{PERL_INSTALL_ROOT};
+ my $INSTALL_QUIET = $ENV{PERL_INSTALL_QUIET};
+
+ my $Curdir = File::Spec->curdir;
+ my $Updir = File::Spec->updir;
+
+ sub _estr(@) {
+ return join "\n",'!' x 72,@_,'!' x 72,'';
+ }
+
+ {my %warned;
+ sub _warnonce(@) {
+ my $first=shift;
+ my $msg=_estr "WARNING: $first",@_;
+ warn $msg unless $warned{$msg}++;
+ }}
+
+ sub _choke(@) {
+ my $first=shift;
+ my $msg=_estr "ERROR: $first",@_;
+ Carp::croak($msg);
+ }
+
+
+ sub _chmod($$;$) {
+ my ( $mode, $item, $verbose )=@_;
+ $verbose ||= 0;
+ if (chmod $mode, $item) {
+ printf "chmod(0%o, %s)\n",$mode, $item if $verbose > 1;
+ } else {
+ my $err="$!";
+ _warnonce sprintf "WARNING: Failed chmod(0%o, %s): %s\n",
+ $mode, $item, $err
+ if -e $item;
+ }
+ }
+
+ =begin _private
+
+ =over
+
+ =item _move_file_at_boot( $file, $target, $moan )
+
+ OS-Specific, Win32/Cygwin
+
+ Schedules a file to be moved/renamed/deleted at next boot.
+ $file should be a filespec of an existing file
+ $target should be a ref to an array if the file is to be deleted
+ otherwise it should be a filespec for a rename. If the file is existing
+ it will be replaced.
+
+ Sets $MUST_REBOOT to 0 to indicate a deletion operation has occurred
+ and sets it to 1 to indicate that a move operation has been requested.
+
+ returns 1 on success, on failure if $moan is false errors are fatal.
+ If $moan is true then returns 0 on error and warns instead of dies.
+
+ =end _private
+
+ =cut
+
+ {
+ my $Has_Win32API_File;
+ sub _move_file_at_boot { #XXX OS-SPECIFIC
+ my ( $file, $target, $moan )= @_;
+ Carp::confess("Panic: Can't _move_file_at_boot on this platform!")
+ unless $CanMoveAtBoot;
+
+ my $descr= ref $target
+ ? "'$file' for deletion"
+ : "'$file' for installation as '$target'";
+
+ # *note* CanMoveAtBoot is only incidentally the same condition as below
+ # this needs not hold true in the future.
+ $Has_Win32API_File = ($Is_Win32 || $Is_cygwin)
+ ? (eval {require Win32API::File; 1} || 0)
+ : 0 unless defined $Has_Win32API_File;
+ if ( ! $Has_Win32API_File ) {
+
+ my @msg=(
+ "Cannot schedule $descr at reboot.",
+ "Try installing Win32API::File to allow operations on locked files",
+ "to be scheduled during reboot. Or try to perform the operation by",
+ "hand yourself. (You may need to close other perl processes first)"
+ );
+ if ( $moan ) { _warnonce(@msg) } else { _choke(@msg) }
+ return 0;
+ }
+ my $opts= Win32API::File::MOVEFILE_DELAY_UNTIL_REBOOT();
+ $opts= $opts | Win32API::File::MOVEFILE_REPLACE_EXISTING()
+ unless ref $target;
+
+ _chmod( 0666, $file );
+ _chmod( 0666, $target ) unless ref $target;
+
+ if (Win32API::File::MoveFileEx( $file, $target, $opts )) {
+ $MUST_REBOOT ||= ref $target ? 0 : 1;
+ return 1;
+ } else {
+ my @msg=(
+ "MoveFileEx $descr at reboot failed: $^E",
+ "You may try to perform the operation by hand yourself. ",
+ "(You may need to close other perl processes first).",
+ );
+ if ( $moan ) { _warnonce(@msg) } else { _choke(@msg) }
+ }
+ return 0;
+ }
+ }
+
+
+ =begin _private
+
+
+ =item _unlink_or_rename( $file, $tryhard, $installing )
+
+ OS-Specific, Win32/Cygwin
+
+ Tries to get a file out of the way by unlinking it or renaming it. On
+ some OS'es (Win32 based) DLL files can end up locked such that they can
+ be renamed but not deleted. Likewise sometimes a file can be locked such
+ that it cant even be renamed or changed except at reboot. To handle
+ these cases this routine finds a tempfile name that it can either rename
+ the file out of the way or use as a proxy for the install so that the
+ rename can happen later (at reboot).
+
+ $file : the file to remove.
+ $tryhard : should advanced tricks be used for deletion
+ $installing : we are not merely deleting but we want to overwrite
+
+ When $tryhard is not true if the unlink fails its fatal. When $tryhard
+ is true then the file is attempted to be renamed. The renamed file is
+ then scheduled for deletion. If the rename fails then $installing
+ governs what happens. If it is false the failure is fatal. If it is true
+ then an attempt is made to schedule installation at boot using a
+ temporary file to hold the new file. If this fails then a fatal error is
+ thrown, if it succeeds it returns the temporary file name (which will be
+ a derivative of the original in the same directory) so that the caller can
+ use it to install under. In all other cases of success returns $file.
+ On failure throws a fatal error.
+
+ =end _private
+
+ =cut
+
+
+
+ sub _unlink_or_rename { #XXX OS-SPECIFIC
+ my ( $file, $tryhard, $installing )= @_;
+
+ # this chmod was originally unconditional. However, its not needed on
+ # POSIXy systems since permission to unlink a file is specified by the
+ # directory rather than the file; and in fact it screwed up hard- and
+ # symlinked files. Keep it for other platforms in case its still
+ # needed there.
+ if ($^O =~ /^(dos|os2|MSWin32|VMS)$/) {
+ _chmod( 0666, $file );
+ }
+ my $unlink_count = 0;
+ while (unlink $file) { $unlink_count++; }
+ return $file if $unlink_count > 0;
+ my $error="$!";
+
+ _choke("Cannot unlink '$file': $!")
+ unless $CanMoveAtBoot && $tryhard;
+
+ my $tmp= "AAA";
+ ++$tmp while -e "$file.$tmp";
+ $tmp= "$file.$tmp";
+
+ warn "WARNING: Unable to unlink '$file': $error\n",
+ "Going to try to rename it to '$tmp'.\n";
+
+ if ( rename $file, $tmp ) {
+ warn "Rename successful. Scheduling '$tmp'\nfor deletion at reboot.\n";
+ # when $installing we can set $moan to true.
+ # IOW, if we cant delete the renamed file at reboot its
+ # not the end of the world. The other cases are more serious
+ # and need to be fatal.
+ _move_file_at_boot( $tmp, [], $installing );
+ return $file;
+ } elsif ( $installing ) {
+ _warnonce("Rename failed: $!. Scheduling '$tmp'\nfor".
+ " installation as '$file' at reboot.\n");
+ _move_file_at_boot( $tmp, $file );
+ return $tmp;
+ } else {
+ _choke("Rename failed:$!", "Cannot proceed.");
+ }
+
+ }
+
+
+ =pod
+
+ =back
+
+ =head2 Functions
+
+ =begin _private
+
+ =over
+
+ =item _get_install_skip
+
+ Handles loading the INSTALL.SKIP file. Returns an array of patterns to use.
+
+ =cut
+
+
+
+ sub _get_install_skip {
+ my ( $skip, $verbose )= @_;
+ if ($ENV{EU_INSTALL_IGNORE_SKIP}) {
+ print "EU_INSTALL_IGNORE_SKIP is set, ignore skipfile settings\n"
+ if $verbose>2;
+ return [];
+ }
+ if ( ! defined $skip ) {
+ print "Looking for install skip list\n"
+ if $verbose>2;
+ for my $file ( 'INSTALL.SKIP', $ENV{EU_INSTALL_SITE_SKIPFILE} ) {
+ next unless $file;
+ print "\tChecking for $file\n"
+ if $verbose>2;
+ if (-e $file) {
+ $skip= $file;
+ last;
+ }
+ }
+ }
+ if ($skip && !ref $skip) {
+ print "Reading skip patterns from '$skip'.\n"
+ if $verbose;
+ if (open my $fh,$skip ) {
+ my @patterns;
+ while (<$fh>) {
+ chomp;
+ next if /^\s*(?:#|$)/;
+ print "\tSkip pattern: $_\n" if $verbose>3;
+ push @patterns, $_;
+ }
+ $skip= \@patterns;
+ } else {
+ warn "Can't read skip file:'$skip':$!\n";
+ $skip=[];
+ }
+ } elsif ( UNIVERSAL::isa($skip,'ARRAY') ) {
+ print "Using array for skip list\n"
+ if $verbose>2;
+ } elsif ($verbose) {
+ print "No skip list found.\n"
+ if $verbose>1;
+ $skip= [];
+ }
+ warn "Got @{[0+@$skip]} skip patterns.\n"
+ if $verbose>3;
+ return $skip
+ }
+
+ =pod
+
+ =item _have_write_access
+
+ Abstract a -w check that tries to use POSIX::access() if possible.
+
+ =cut
+
+ {
+ my $has_posix;
+ sub _have_write_access {
+ my $dir=shift;
+ unless (defined $has_posix) {
+ $has_posix= (!$Is_cygwin && !$Is_Win32
+ && eval 'local $^W; require POSIX; 1') || 0;
+ }
+ if ($has_posix) {
+ return POSIX::access($dir, POSIX::W_OK());
+ } else {
+ return -w $dir;
+ }
+ }
+ }
+
+ =pod
+
+ =item _can_write_dir(C<$dir>)
+
+ Checks whether a given directory is writable, taking account
+ the possibility that the directory might not exist and would have to
+ be created first.
+
+ Returns a list, containing: C<($writable, $determined_by, @create)>
+
+ C<$writable> says whether the directory is (hypothetically) writable
+
+ C<$determined_by> is the directory the status was determined from. It will be
+ either the C<$dir>, or one of its parents.
+
+ C<@create> is a list of directories that would probably have to be created
+ to make the requested directory. It may not actually be correct on
+ relative paths with C<..> in them. But for our purposes it should work ok
+
+ =cut
+
+
+ sub _can_write_dir {
+ my $dir=shift;
+ return
+ unless defined $dir and length $dir;
+
+ my ($vol, $dirs, $file) = File::Spec->splitpath($dir,1);
+ my @dirs = File::Spec->splitdir($dirs);
+ unshift @dirs, File::Spec->curdir
+ unless File::Spec->file_name_is_absolute($dir);
+
+ my $path='';
+ my @make;
+ while (@dirs) {
+ if ($Is_VMS) {
+ $dir = File::Spec->catdir($vol,@dirs);
+ }
+ else {
+ $dir = File::Spec->catdir(@dirs);
+ $dir = File::Spec->catpath($vol,$dir,'')
+ if defined $vol and length $vol;
+ }
+ next if ( $dir eq $path );
+ if ( ! -e $dir ) {
+ unshift @make,$dir;
+ next;
+ }
+ if ( _have_write_access($dir) ) {
+ return 1,$dir,@make
+ } else {
+ return 0,$dir,@make
+ }
+ } continue {
+ pop @dirs;
+ }
+ return 0;
+ }
+
+ =pod
+
+ =item _mkpath($dir,$show,$mode,$verbose,$dry_run)
+
+ Wrapper around File::Path::mkpath() to handle errors.
+
+ If $verbose is true and >1 then additional diagnostics will be produced, also
+ this will force $show to true.
+
+ If $dry_run is true then the directory will not be created but a check will be
+ made to see whether it would be possible to write to the directory, or that
+ it would be possible to create the directory.
+
+ If $dry_run is not true dies if the directory can not be created or is not
+ writable.
+
+ =cut
+
+ sub _mkpath {
+ my ($dir,$show,$mode,$verbose,$dry_run)=@_;
+ if ( $verbose && $verbose > 1 && ! -d $dir) {
+ $show= 1;
+ printf "mkpath(%s,%d,%#o)\n", $dir, $show, $mode;
+ }
+ if (!$dry_run) {
+ if ( ! eval { File::Path::mkpath($dir,$show,$mode); 1 } ) {
+ _choke("Can't create '$dir'","$@");
+ }
+
+ }
+ my ($can,$root,@make)=_can_write_dir($dir);
+ if (!$can) {
+ my @msg=(
+ "Can't create '$dir'",
+ $root ? "Do not have write permissions on '$root'"
+ : "Unknown Error"
+ );
+ if ($dry_run) {
+ _warnonce @msg;
+ } else {
+ _choke @msg;
+ }
+ } elsif ($show and $dry_run) {
+ print "$_\n" for @make;
+ }
+
+ }
+
+ =pod
+
+ =item _copy($from,$to,$verbose,$dry_run)
+
+ Wrapper around File::Copy::copy to handle errors.
+
+ If $verbose is true and >1 then additional diagnostics will be emitted.
+
+ If $dry_run is true then the copy will not actually occur.
+
+ Dies if the copy fails.
+
+ =cut
+
+
+ sub _copy {
+ my ( $from, $to, $verbose, $dry_run)=@_;
+ if ($verbose && $verbose>1) {
+ printf "copy(%s,%s)\n", $from, $to;
+ }
+ if (!$dry_run) {
+ File::Copy::copy($from,$to)
+ or Carp::croak( _estr "ERROR: Cannot copy '$from' to '$to': $!" );
+ }
+ }
+
+ =pod
+
+ =item _chdir($from)
+
+ Wrapper around chdir to catch errors.
+
+ If not called in void context returns the cwd from before the chdir.
+
+ dies on error.
+
+ =cut
+
+ sub _chdir {
+ my ($dir)= @_;
+ my $ret;
+ if (defined wantarray) {
+ $ret= cwd;
+ }
+ chdir $dir
+ or _choke("Couldn't chdir to '$dir': $!");
+ return $ret;
+ }
+
+ =pod
+
+ =back
+
+ =end _private
+
+ =over
+
+ =item B<install>
+
+ # deprecated forms
+ install(\%from_to);
+ install(\%from_to, $verbose, $dry_run, $uninstall_shadows,
+ $skip, $always_copy, \%result);
+
+ # recommended form as of 1.47
+ install([
+ from_to => \%from_to,
+ verbose => 1,
+ dry_run => 0,
+ uninstall_shadows => 1,
+ skip => undef,
+ always_copy => 1,
+ result => \%install_results,
+ ]);
+
+
+ Copies each directory tree of %from_to to its corresponding value
+ preserving timestamps and permissions.
+
+ There are two keys with a special meaning in the hash: "read" and
+ "write". These contain packlist files. After the copying is done,
+ install() will write the list of target files to $from_to{write}. If
+ $from_to{read} is given the contents of this file will be merged into
+ the written file. The read and the written file may be identical, but
+ on AFS it is quite likely that people are installing to a different
+ directory than the one where the files later appear.
+
+ If $verbose is true, will print out each file removed. Default is
+ false. This is "make install VERBINST=1". $verbose values going
+ up to 5 show increasingly more diagnostics output.
+
+ If $dry_run is true it will only print what it was going to do
+ without actually doing it. Default is false.
+
+ If $uninstall_shadows is true any differing versions throughout @INC
+ will be uninstalled. This is "make install UNINST=1"
+
+ As of 1.37_02 install() supports the use of a list of patterns to filter out
+ files that shouldn't be installed. If $skip is omitted or undefined then
+ install will try to read the list from INSTALL.SKIP in the CWD. This file is
+ a list of regular expressions and is just like the MANIFEST.SKIP file used
+ by L<ExtUtils::Manifest>.
+
+ A default site INSTALL.SKIP may be provided by setting then environment
+ variable EU_INSTALL_SITE_SKIPFILE, this will only be used when there isn't a
+ distribution specific INSTALL.SKIP. If the environment variable
+ EU_INSTALL_IGNORE_SKIP is true then no install file filtering will be
+ performed.
+
+ If $skip is undefined then the skip file will be autodetected and used if it
+ is found. If $skip is a reference to an array then it is assumed the array
+ contains the list of patterns, if $skip is a true non reference it is
+ assumed to be the filename holding the list of patterns, any other value of
+ $skip is taken to mean that no install filtering should occur.
+
+ B<Changes As of Version 1.47>
+
+ As of version 1.47 the following additions were made to the install interface.
+ Note that the new argument style and use of the %result hash is recommended.
+
+ The $always_copy parameter which when true causes files to be updated
+ regardless as to whether they have changed, if it is defined but false then
+ copies are made only if the files have changed, if it is undefined then the
+ value of the environment variable EU_INSTALL_ALWAYS_COPY is used as default.
+
+ The %result hash will be populated with the various keys/subhashes reflecting
+ the install. Currently these keys and their structure are:
+
+ install => { $target => $source },
+ install_fail => { $target => $source },
+ install_unchanged => { $target => $source },
+
+ install_filtered => { $source => $pattern },
+
+ uninstall => { $uninstalled => $source },
+ uninstall_fail => { $uninstalled => $source },
+
+ where C<$source> is the filespec of the file being installed. C<$target> is where
+ it is being installed to, and C<$uninstalled> is any shadow file that is in C<@INC>
+ or C<$ENV{PERL5LIB}> or other standard locations, and C<$pattern> is the pattern that
+ caused a source file to be skipped. In future more keys will be added, such as to
+ show created directories, however this requires changes in other modules and must
+ therefore wait.
+
+ These keys will be populated before any exceptions are thrown should there be an
+ error.
+
+ Note that all updates of the %result are additive, the hash will not be
+ cleared before use, thus allowing status results of many installs to be easily
+ aggregated.
+
+ B<NEW ARGUMENT STYLE>
+
+ If there is only one argument and it is a reference to an array then
+ the array is assumed to contain a list of key-value pairs specifying
+ the options. In this case the option "from_to" is mandatory. This style
+ means that you do not have to supply a cryptic list of arguments and can
+ use a self documenting argument list that is easier to understand.
+
+ This is now the recommended interface to install().
+
+ B<RETURN>
+
+ If all actions were successful install will return a hashref of the results
+ as described above for the $result parameter. If any action is a failure
+ then install will die, therefore it is recommended to pass in the $result
+ parameter instead of using the return value. If the result parameter is
+ provided then the returned hashref will be the passed in hashref.
+
+ =cut
+
+ sub install { #XXX OS-SPECIFIC
+ my($from_to,$verbose,$dry_run,$uninstall_shadows,$skip,$always_copy,$result) = @_;
+ if (@_==1 and eval { 1+@$from_to }) {
+ my %opts = @$from_to;
+ $from_to = $opts{from_to}
+ or Carp::confess("from_to is a mandatory parameter");
+ $verbose = $opts{verbose};
+ $dry_run = $opts{dry_run};
+ $uninstall_shadows = $opts{uninstall_shadows};
+ $skip = $opts{skip};
+ $always_copy = $opts{always_copy};
+ $result = $opts{result};
+ }
+
+ $result ||= {};
+ $verbose ||= 0;
+ $dry_run ||= 0;
+
+ $skip= _get_install_skip($skip,$verbose);
+ $always_copy = $ENV{EU_INSTALL_ALWAYS_COPY}
+ || $ENV{EU_ALWAYS_COPY}
+ || 0
+ unless defined $always_copy;
+
+ my(%from_to) = %$from_to;
+ my(%pack, $dir, %warned);
+ my($packlist) = ExtUtils::Packlist->new();
+
+ local(*DIR);
+ for (qw/read write/) {
+ $pack{$_}=$from_to{$_};
+ delete $from_to{$_};
+ }
+ my $tmpfile = install_rooted_file($pack{"read"});
+ $packlist->read($tmpfile) if (-f $tmpfile);
+ my $cwd = cwd();
+ my @found_files;
+ my %check_dirs;
+
+ MOD_INSTALL: foreach my $source (sort keys %from_to) {
+ #copy the tree to the target directory without altering
+ #timestamp and permission and remember for the .packlist
+ #file. The packlist file contains the absolute paths of the
+ #install locations. AFS users may call this a bug. We'll have
+ #to reconsider how to add the means to satisfy AFS users also.
+
+ #October 1997: we want to install .pm files into archlib if
+ #there are any files in arch. So we depend on having ./blib/arch
+ #hardcoded here.
+
+ my $targetroot = install_rooted_dir($from_to{$source});
+
+ my $blib_lib = File::Spec->catdir('blib', 'lib');
+ my $blib_arch = File::Spec->catdir('blib', 'arch');
+ if ($source eq $blib_lib and
+ exists $from_to{$blib_arch} and
+ directory_not_empty($blib_arch)
+ ){
+ $targetroot = install_rooted_dir($from_to{$blib_arch});
+ print "Files found in $blib_arch: installing files in $blib_lib into architecture dependent library tree\n";
+ }
+
+ next unless -d $source;
+ _chdir($source);
+ # 5.5.3's File::Find missing no_chdir option
+ # XXX OS-SPECIFIC
+ # File::Find seems to always be Unixy except on MacPerl :(
+ my $current_directory= $Is_MacPerl ? $Curdir : '.';
+ find(sub {
+ my ($mode,$size,$atime,$mtime) = (stat)[2,7,8,9];
+
+ return if !-f _;
+ my $origfile = $_;
+
+ return if $origfile eq ".exists";
+ my $targetdir = File::Spec->catdir($targetroot, $File::Find::dir);
+ my $targetfile = File::Spec->catfile($targetdir, $origfile);
+ my $sourcedir = File::Spec->catdir($source, $File::Find::dir);
+ my $sourcefile = File::Spec->catfile($sourcedir, $origfile);
+
+ for my $pat (@$skip) {
+ if ( $sourcefile=~/$pat/ ) {
+ print "Skipping $targetfile (filtered)\n"
+ if $verbose>1;
+ $result->{install_filtered}{$sourcefile} = $pat;
+ return;
+ }
+ }
+ # we have to do this for back compat with old File::Finds
+ # and because the target is relative
+ my $save_cwd = _chdir($cwd);
+ my $diff = 0;
+ # XXX: I wonder how useful this logic is actually -- demerphq
+ if ( $always_copy or !-f $targetfile or -s $targetfile != $size) {
+ $diff++;
+ } else {
+ # we might not need to copy this file
+ $diff = compare($sourcefile, $targetfile);
+ }
+ $check_dirs{$targetdir}++
+ unless -w $targetfile;
+
+ push @found_files,
+ [ $diff, $File::Find::dir, $origfile,
+ $mode, $size, $atime, $mtime,
+ $targetdir, $targetfile, $sourcedir, $sourcefile,
+
+ ];
+ #restore the original directory we were in when File::Find
+ #called us so that it doesn't get horribly confused.
+ _chdir($save_cwd);
+ }, $current_directory );
+ _chdir($cwd);
+ }
+ foreach my $targetdir (sort keys %check_dirs) {
+ _mkpath( $targetdir, 0, 0755, $verbose, $dry_run );
+ }
+ foreach my $found (@found_files) {
+ my ($diff, $ffd, $origfile, $mode, $size, $atime, $mtime,
+ $targetdir, $targetfile, $sourcedir, $sourcefile)= @$found;
+
+ my $realtarget= $targetfile;
+ if ($diff) {
+ eval {
+ if (-f $targetfile) {
+ print "_unlink_or_rename($targetfile)\n" if $verbose>1;
+ $targetfile= _unlink_or_rename( $targetfile, 'tryhard', 'install' )
+ unless $dry_run;
+ } elsif ( ! -d $targetdir ) {
+ _mkpath( $targetdir, 0, 0755, $verbose, $dry_run );
+ }
+ print "Installing $targetfile\n";
+
+ _copy( $sourcefile, $targetfile, $verbose, $dry_run, );
+
+
+ #XXX OS-SPECIFIC
+ print "utime($atime,$mtime,$targetfile)\n" if $verbose>1;
+ utime($atime,$mtime + $Is_VMS,$targetfile) unless $dry_run>1;
+
+
+ $mode = 0444 | ( $mode & 0111 ? 0111 : 0 );
+ $mode = $mode | 0222
+ if $realtarget ne $targetfile;
+ _chmod( $mode, $targetfile, $verbose );
+ $result->{install}{$targetfile} = $sourcefile;
+ 1
+ } or do {
+ $result->{install_fail}{$targetfile} = $sourcefile;
+ die $@;
+ };
+ } else {
+ $result->{install_unchanged}{$targetfile} = $sourcefile;
+ print "Skipping $targetfile (unchanged)\n" if $verbose;
+ }
+
+ if ( $uninstall_shadows ) {
+ inc_uninstall($sourcefile,$ffd, $verbose,
+ $dry_run,
+ $realtarget ne $targetfile ? $realtarget : "",
+ $result);
+ }
+
+ # Record the full pathname.
+ $packlist->{$targetfile}++;
+ }
+
+ if ($pack{'write'}) {
+ $dir = install_rooted_dir(dirname($pack{'write'}));
+ _mkpath( $dir, 0, 0755, $verbose, $dry_run );
+ print "Writing $pack{'write'}\n" if $verbose;
+ $packlist->write(install_rooted_file($pack{'write'})) unless $dry_run;
+ }
+
+ _do_cleanup($verbose);
+ return $result;
+ }
+
+ =begin _private
+
+ =item _do_cleanup
+
+ Standardize finish event for after another instruction has occurred.
+ Handles converting $MUST_REBOOT to a die for instance.
+
+ =end _private
+
+ =cut
+
+ sub _do_cleanup {
+ my ($verbose) = @_;
+ if ($MUST_REBOOT) {
+ die _estr "Operation not completed! ",
+ "You must reboot to complete the installation.",
+ "Sorry.";
+ } elsif (defined $MUST_REBOOT & $verbose) {
+ warn _estr "Installation will be completed at the next reboot.\n",
+ "However it is not necessary to reboot immediately.\n";
+ }
+ }
+
+ =begin _undocumented
+
+ =item install_rooted_file( $file )
+
+ Returns $file, or catfile($INSTALL_ROOT,$file) if $INSTALL_ROOT
+ is defined.
+
+ =item install_rooted_dir( $dir )
+
+ Returns $dir, or catdir($INSTALL_ROOT,$dir) if $INSTALL_ROOT
+ is defined.
+
+ =end _undocumented
+
+ =cut
+
+
+ sub install_rooted_file {
+ if (defined $INSTALL_ROOT) {
+ File::Spec->catfile($INSTALL_ROOT, $_[0]);
+ } else {
+ $_[0];
+ }
+ }
+
+
+ sub install_rooted_dir {
+ if (defined $INSTALL_ROOT) {
+ File::Spec->catdir($INSTALL_ROOT, $_[0]);
+ } else {
+ $_[0];
+ }
+ }
+
+ =begin _undocumented
+
+ =item forceunlink( $file, $tryhard )
+
+ Tries to delete a file. If $tryhard is true then we will use whatever
+ devious tricks we can to delete the file. Currently this only applies to
+ Win32 in that it will try to use Win32API::File to schedule a delete at
+ reboot. A wrapper for _unlink_or_rename().
+
+ =end _undocumented
+
+ =cut
+
+
+ sub forceunlink {
+ my ( $file, $tryhard )= @_; #XXX OS-SPECIFIC
+ _unlink_or_rename( $file, $tryhard, not("installing") );
+ }
+
+ =begin _undocumented
+
+ =item directory_not_empty( $dir )
+
+ Returns 1 if there is an .exists file somewhere in a directory tree.
+ Returns 0 if there is not.
+
+ =end _undocumented
+
+ =cut
+
+ sub directory_not_empty ($) {
+ my($dir) = @_;
+ my $files = 0;
+ find(sub {
+ return if $_ eq ".exists";
+ if (-f) {
+ $File::Find::prune++;
+ $files = 1;
+ }
+ }, $dir);
+ return $files;
+ }
+
+ =pod
+
+ =item B<install_default> I<DISCOURAGED>
+
+ install_default();
+ install_default($fullext);
+
+ Calls install() with arguments to copy a module from blib/ to the
+ default site installation location.
+
+ $fullext is the name of the module converted to a directory
+ (ie. Foo::Bar would be Foo/Bar). If $fullext is not specified, it
+ will attempt to read it from @ARGV.
+
+ This is primarily useful for install scripts.
+
+ B<NOTE> This function is not really useful because of the hard-coded
+ install location with no way to control site vs core vs vendor
+ directories and the strange way in which the module name is given.
+ Consider its use discouraged.
+
+ =cut
+
+ sub install_default {
+ @_ < 2 or Carp::croak("install_default should be called with 0 or 1 argument");
+ my $FULLEXT = @_ ? shift : $ARGV[0];
+ defined $FULLEXT or die "Do not know to where to write install log";
+ my $INST_LIB = File::Spec->catdir($Curdir,"blib","lib");
+ my $INST_ARCHLIB = File::Spec->catdir($Curdir,"blib","arch");
+ my $INST_BIN = File::Spec->catdir($Curdir,'blib','bin');
+ my $INST_SCRIPT = File::Spec->catdir($Curdir,'blib','script');
+ my $INST_MAN1DIR = File::Spec->catdir($Curdir,'blib','man1');
+ my $INST_MAN3DIR = File::Spec->catdir($Curdir,'blib','man3');
+
+ my @INST_HTML;
+ if($Config{installhtmldir}) {
+ my $INST_HTMLDIR = File::Spec->catdir($Curdir,'blib','html');
+ @INST_HTML = ($INST_HTMLDIR => $Config{installhtmldir});
+ }
+
+ install({
+ read => "$Config{sitearchexp}/auto/$FULLEXT/.packlist",
+ write => "$Config{installsitearch}/auto/$FULLEXT/.packlist",
+ $INST_LIB => (directory_not_empty($INST_ARCHLIB)) ?
+ $Config{installsitearch} :
+ $Config{installsitelib},
+ $INST_ARCHLIB => $Config{installsitearch},
+ $INST_BIN => $Config{installbin} ,
+ $INST_SCRIPT => $Config{installscript},
+ $INST_MAN1DIR => $Config{installman1dir},
+ $INST_MAN3DIR => $Config{installman3dir},
+ @INST_HTML,
+ },1,0,0);
+ }
+
+
+ =item B<uninstall>
+
+ uninstall($packlist_file);
+ uninstall($packlist_file, $verbose, $dont_execute);
+
+ Removes the files listed in a $packlist_file.
+
+ If $verbose is true, will print out each file removed. Default is
+ false.
+
+ If $dont_execute is true it will only print what it was going to do
+ without actually doing it. Default is false.
+
+ =cut
+
+ sub uninstall {
+ my($fil,$verbose,$dry_run) = @_;
+ $verbose ||= 0;
+ $dry_run ||= 0;
+
+ die _estr "ERROR: no packlist file found: '$fil'"
+ unless -f $fil;
+ # my $my_req = $self->catfile(qw(auto ExtUtils Install forceunlink.al));
+ # require $my_req; # Hairy, but for the first
+ my ($packlist) = ExtUtils::Packlist->new($fil);
+ foreach (sort(keys(%$packlist))) {
+ chomp;
+ print "unlink $_\n" if $verbose;
+ forceunlink($_,'tryhard') unless $dry_run;
+ }
+ print "unlink $fil\n" if $verbose;
+ forceunlink($fil, 'tryhard') unless $dry_run;
+ _do_cleanup($verbose);
+ }
+
+ =begin _undocumented
+
+ =item inc_uninstall($filepath,$libdir,$verbose,$dry_run,$ignore,$results)
+
+ Remove shadowed files. If $ignore is true then it is assumed to hold
+ a filename to ignore. This is used to prevent spurious warnings from
+ occurring when doing an install at reboot.
+
+ We now only die when failing to remove a file that has precedence over
+ our own, when our install has precedence we only warn.
+
+ $results is assumed to contain a hashref which will have the keys
+ 'uninstall' and 'uninstall_fail' populated with keys for the files
+ removed and values of the source files they would shadow.
+
+ =end _undocumented
+
+ =cut
+
+ sub inc_uninstall {
+ my($filepath,$libdir,$verbose,$dry_run,$ignore,$results) = @_;
+ my($dir);
+ $ignore||="";
+ my $file = (File::Spec->splitpath($filepath))[2];
+ my %seen_dir = ();
+
+ my @PERL_ENV_LIB = split $Config{path_sep}, defined $ENV{'PERL5LIB'}
+ ? $ENV{'PERL5LIB'} : $ENV{'PERLLIB'} || '';
+
+ my @dirs=( @PERL_ENV_LIB,
+ @INC,
+ @Config{qw(archlibexp
+ privlibexp
+ sitearchexp
+ sitelibexp)});
+
+ #warn join "\n","---",@dirs,"---";
+ my $seen_ours;
+ foreach $dir ( @dirs ) {
+ my $canonpath = $Is_VMS ? $dir : File::Spec->canonpath($dir);
+ next if $canonpath eq $Curdir;
+ next if $seen_dir{$canonpath}++;
+ my $targetfile = File::Spec->catfile($canonpath,$libdir,$file);
+ next unless -f $targetfile;
+
+ # The reason why we compare file's contents is, that we cannot
+ # know, which is the file we just installed (AFS). So we leave
+ # an identical file in place
+ my $diff = 0;
+ if ( -f $targetfile && -s _ == -s $filepath) {
+ # We have a good chance, we can skip this one
+ $diff = compare($filepath,$targetfile);
+ } else {
+ $diff++;
+ }
+ print "#$file and $targetfile differ\n" if $diff && $verbose > 1;
+
+ if (!$diff or $targetfile eq $ignore) {
+ $seen_ours = 1;
+ next;
+ }
+ if ($dry_run) {
+ $results->{uninstall}{$targetfile} = $filepath;
+ if ($verbose) {
+ $Inc_uninstall_warn_handler ||= ExtUtils::Install::Warn->new();
+ $libdir =~ s|^\./||s ; # That's just cosmetics, no need to port. It looks prettier.
+ $Inc_uninstall_warn_handler->add(
+ File::Spec->catfile($libdir, $file),
+ $targetfile
+ );
+ }
+ # if not verbose, we just say nothing
+ } else {
+ print "Unlinking $targetfile (shadowing?)\n" if $verbose;
+ eval {
+ die "Fake die for testing"
+ if $ExtUtils::Install::Testing and
+ ucase(File::Spec->canonpath($ExtUtils::Install::Testing)) eq ucase($targetfile);
+ forceunlink($targetfile,'tryhard');
+ $results->{uninstall}{$targetfile} = $filepath;
+ 1;
+ } or do {
+ $results->{fail_uninstall}{$targetfile} = $filepath;
+ if ($seen_ours) {
+ warn "Failed to remove probably harmless shadow file '$targetfile'\n";
+ } else {
+ die "$@\n";
+ }
+ };
+ }
+ }
+ }
+
+ =begin _undocumented
+
+ =item run_filter($cmd,$src,$dest)
+
+ Filter $src using $cmd into $dest.
+
+ =end _undocumented
+
+ =cut
+
+ sub run_filter {
+ my ($cmd, $src, $dest) = @_;
+ local(*CMD, *SRC);
+ open(CMD, "|$cmd >$dest") || die "Cannot fork: $!";
+ open(SRC, $src) || die "Cannot open $src: $!";
+ my $buf;
+ my $sz = 1024;
+ while (my $len = sysread(SRC, $buf, $sz)) {
+ syswrite(CMD, $buf, $len);
+ }
+ close SRC;
+ close CMD or die "Filter command '$cmd' failed for $src";
+ }
+
+ =pod
+
+ =item B<pm_to_blib>
+
+ pm_to_blib(\%from_to);
+ pm_to_blib(\%from_to, $autosplit_dir);
+ pm_to_blib(\%from_to, $autosplit_dir, $filter_cmd);
+
+ Copies each key of %from_to to its corresponding value efficiently.
+ If an $autosplit_dir is provided, all .pm files will be autosplit into it.
+ Any destination directories are created.
+
+ $filter_cmd is an optional shell command to run each .pm file through
+ prior to splitting and copying. Input is the contents of the module,
+ output the new module contents.
+
+ You can have an environment variable PERL_INSTALL_ROOT set which will
+ be prepended as a directory to each installed file (and directory).
+
+ By default verbose output is generated, setting the PERL_INSTALL_QUIET
+ environment variable will silence this output.
+
+ =cut
+
+ sub pm_to_blib {
+ my($fromto,$autodir,$pm_filter) = @_;
+
+ _mkpath($autodir,0,0755) if defined $autodir;
+ while(my($from, $to) = each %$fromto) {
+ if( -f $to && -s $from == -s $to && -M $to < -M $from ) {
+ print "Skip $to (unchanged)\n" unless $INSTALL_QUIET;
+ next;
+ }
+
+ # When a pm_filter is defined, we need to pre-process the source first
+ # to determine whether it has changed or not. Therefore, only perform
+ # the comparison check when there's no filter to be ran.
+ # -- RAM, 03/01/2001
+
+ my $need_filtering = defined $pm_filter && length $pm_filter &&
+ $from =~ /\.pm$/;
+
+ if (!$need_filtering && 0 == compare($from,$to)) {
+ print "Skip $to (unchanged)\n" unless $INSTALL_QUIET;
+ next;
+ }
+ if (-f $to){
+ # we wont try hard here. its too likely to mess things up.
+ forceunlink($to);
+ } else {
+ _mkpath(dirname($to),0,0755);
+ }
+ if ($need_filtering) {
+ run_filter($pm_filter, $from, $to);
+ print "$pm_filter <$from >$to\n";
+ } else {
+ _copy( $from, $to );
+ print "cp $from $to\n" unless $INSTALL_QUIET;
+ }
+ my($mode,$atime,$mtime) = (stat $from)[2,8,9];
+ utime($atime,$mtime+$Is_VMS,$to);
+ _chmod(0444 | ( $mode & 0111 ? 0111 : 0 ),$to);
+ next unless $from =~ /\.pm$/;
+ _autosplit($to,$autodir) if defined $autodir;
+ }
+ }
+
+
+ =begin _private
+
+ =item _autosplit
+
+ From 1.0307 back, AutoSplit will sometimes leave an open filehandle to
+ the file being split. This causes problems on systems with mandatory
+ locking (ie. Windows). So we wrap it and close the filehandle.
+
+ =end _private
+
+ =cut
+
+ sub _autosplit { #XXX OS-SPECIFIC
+ my $retval = autosplit(@_);
+ close *AutoSplit::IN if defined *AutoSplit::IN{IO};
+
+ return $retval;
+ }
+
+
+ package ExtUtils::Install::Warn;
+
+ sub new { bless {}, shift }
+
+ sub add {
+ my($self,$file,$targetfile) = @_;
+ push @{$self->{$file}}, $targetfile;
+ }
+
+ sub DESTROY {
+ unless(defined $INSTALL_ROOT) {
+ my $self = shift;
+ my($file,$i,$plural);
+ foreach $file (sort keys %$self) {
+ $plural = @{$self->{$file}} > 1 ? "s" : "";
+ print "## Differing version$plural of $file found. You might like to\n";
+ for (0..$#{$self->{$file}}) {
+ print "rm ", $self->{$file}[$_], "\n";
+ $i++;
+ }
+ }
+ $plural = $i>1 ? "all those files" : "this file";
+ my $inst = (_invokant() eq 'ExtUtils::MakeMaker')
+ ? ( $Config::Config{make} || 'make' ).' install'
+ . ( $Is_VMS ? '/MACRO="UNINST"=1' : ' UNINST=1' )
+ : './Build install uninst=1';
+ print "## Running '$inst' will unlink $plural for you.\n";
+ }
+ }
+
+ =begin _private
+
+ =item _invokant
+
+ Does a heuristic on the stack to see who called us for more intelligent
+ error messages. Currently assumes we will be called only by Module::Build
+ or by ExtUtils::MakeMaker.
+
+ =end _private
+
+ =cut
+
+ sub _invokant {
+ my @stack;
+ my $frame = 0;
+ while (my $file = (caller($frame++))[1]) {
+ push @stack, (File::Spec->splitpath($file))[2];
+ }
+
+ my $builder;
+ my $top = pop @stack;
+ if ($top =~ /^Build/i || exists($INC{'Module/Build.pm'})) {
+ $builder = 'Module::Build';
+ } else {
+ $builder = 'ExtUtils::MakeMaker';
+ }
+ return $builder;
+ }
+
+ =pod
+
+ =back
+
+ =head1 ENVIRONMENT
+
+ =over 4
+
+ =item B<PERL_INSTALL_ROOT>
+
+ Will be prepended to each install path.
+
+ =item B<EU_INSTALL_IGNORE_SKIP>
+
+ Will prevent the automatic use of INSTALL.SKIP as the install skip file.
+
+ =item B<EU_INSTALL_SITE_SKIPFILE>
+
+ If there is no INSTALL.SKIP file in the make directory then this value
+ can be used to provide a default.
+
+ =item B<EU_INSTALL_ALWAYS_COPY>
+
+ If this environment variable is true then normal install processes will
+ always overwrite older identical files during the install process.
+
+ Note that the alias EU_ALWAYS_COPY will be supported if EU_INSTALL_ALWAYS_COPY
+ is not defined until at least the 1.50 release. Please ensure you use the
+ correct EU_INSTALL_ALWAYS_COPY.
+
+ =back
+
+ =head1 AUTHOR
+
+ Original author lost in the mists of time. Probably the same as Makemaker.
+
+ Production release currently maintained by demerphq C<yves at cpan.org>,
+ extensive changes by Michael G. Schwern.
+
+ Send bug reports via http://rt.cpan.org/. Please send your
+ generated Makefile along with your report.
+
+ =head1 LICENSE
+
+ This program is free software; you can redistribute it and/or
+ modify it under the same terms as Perl itself.
+
+ See L<http://www.perl.com/perl/misc/Artistic.html>
+
+
+ =cut
+
+ 1;
+EXTUTILS_INSTALL
+
+$fatpacked{"ExtUtils/Installed.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'EXTUTILS_INSTALLED';
+ package ExtUtils::Installed;
+
+ use 5.00503;
+ use strict;
+ #use warnings; # XXX requires 5.6
+ use Carp qw();
+ use ExtUtils::Packlist;
+ use ExtUtils::MakeMaker;
+ use Config;
+ use File::Find;
+ use File::Basename;
+ use File::Spec;
+
+ my $Is_VMS = $^O eq 'VMS';
+ my $DOSISH = ($^O =~ /^(MSWin\d\d|os2|dos|mint)$/);
+
+ require VMS::Filespec if $Is_VMS;
+
+ use vars qw($VERSION);
+ $VERSION = '2.06';
+ $VERSION = eval $VERSION;
+
+ sub _is_prefix {
+ my ($self, $path, $prefix) = @_;
+ return unless defined $prefix && defined $path;
+
+ if( $Is_VMS ) {
+ $prefix = VMS::Filespec::unixify($prefix);
+ $path = VMS::Filespec::unixify($path);
+ }
+
+ # Unix path normalization.
+ $prefix = File::Spec->canonpath($prefix);
+
+ return 1 if substr($path, 0, length($prefix)) eq $prefix;
+
+ if ($DOSISH) {
+ $path =~ s|\\|/|g;
+ $prefix =~ s|\\|/|g;
+ return 1 if $path =~ m{^\Q$prefix\E}i;
+ }
+ return(0);
+ }
+
+ sub _is_doc {
+ my ($self, $path) = @_;
+
+ my $man1dir = $self->{':private:'}{Config}{man1direxp};
+ my $man3dir = $self->{':private:'}{Config}{man3direxp};
+ return(($man1dir && $self->_is_prefix($path, $man1dir))
+ ||
+ ($man3dir && $self->_is_prefix($path, $man3dir))
+ ? 1 : 0)
+ }
+
+ sub _is_type {
+ my ($self, $path, $type) = @_;
+ return 1 if $type eq "all";
+
+ return($self->_is_doc($path)) if $type eq "doc";
+ my $conf= $self->{':private:'}{Config};
+ if ($type eq "prog") {
+ return($self->_is_prefix($path, $conf->{prefix} || $conf->{prefixexp})
+ && !($self->_is_doc($path)) ? 1 : 0);
+ }
+ return(0);
+ }
+
+ sub _is_under {
+ my ($self, $path, @under) = @_;
+ $under[0] = "" if (! @under);
+ foreach my $dir (@under) {
+ return(1) if ($self->_is_prefix($path, $dir));
+ }
+
+ return(0);
+ }
+
+ sub _fix_dirs {
+ my ($self, @dirs)= @_;
+ # File::Find does not know how to deal with VMS filepaths.
+ if( $Is_VMS ) {
+ $_ = VMS::Filespec::unixify($_)
+ for @dirs;
+ }
+
+ if ($DOSISH) {
+ s|\\|/|g for @dirs;
+ }
+ return wantarray ? @dirs : $dirs[0];
+ }
+
+ sub _make_entry {
+ my ($self, $module, $packlist_file, $modfile)= @_;
+
+ my $data= {
+ module => $module,
+ packlist => scalar(ExtUtils::Packlist->new($packlist_file)),
+ packlist_file => $packlist_file,
+ };
+
+ if (!$modfile) {
+ $data->{version} = $self->{':private:'}{Config}{version};
+ } else {
+ $data->{modfile} = $modfile;
+ # Find the top-level module file in @INC
+ $data->{version} = '';
+ foreach my $dir (@{$self->{':private:'}{INC}}) {
+ my $p = File::Spec->catfile($dir, $modfile);
+ if (-r $p) {
+ $module = _module_name($p, $module) if $Is_VMS;
+
+ $data->{version} = MM->parse_version($p);
+ $data->{version_from} = $p;
+ $data->{packlist_valid} = exists $data->{packlist}{$p};
+ last;
+ }
+ }
+ }
+ $self->{$module}= $data;
+ }
+
+ our $INSTALLED;
+ sub new {
+ my ($class) = shift(@_);
+ $class = ref($class) || $class;
+
+ my %args = @_;
+
+ return $INSTALLED if $INSTALLED and ($args{default_get} || $args{default});
+
+ my $self = bless {}, $class;
+
+ $INSTALLED= $self if $args{default_set} || $args{default};
+
+
+ if ($args{config_override}) {
+ eval {
+ $self->{':private:'}{Config} = { %{$args{config_override}} };
+ } or Carp::croak(
+ "The 'config_override' parameter must be a hash reference."
+ );
+ }
+ else {
+ $self->{':private:'}{Config} = \%Config;
+ }
+
+ for my $tuple ([inc_override => INC => [ @INC ] ],
+ [ extra_libs => EXTRA => [] ])
+ {
+ my ($arg,$key,$val)=@$tuple;
+ if ( $args{$arg} ) {
+ eval {
+ $self->{':private:'}{$key} = [ @{$args{$arg}} ];
+ } or Carp::croak(
+ "The '$arg' parameter must be an array reference."
+ );
+ }
+ elsif ($val) {
+ $self->{':private:'}{$key} = $val;
+ }
+ }
+ {
+ my %dupe;
+ @{$self->{':private:'}{LIBDIRS}} =
+ grep { $_ ne '.' || ! $args{skip_cwd} }
+ grep { -e $_ && !$dupe{$_}++ }
+ @{$self->{':private:'}{EXTRA}}, @{$self->{':private:'}{INC}};
+ }
+
+ my @dirs= $self->_fix_dirs(@{$self->{':private:'}{LIBDIRS}});
+
+ # Read the core packlist
+ my $archlib = $self->_fix_dirs($self->{':private:'}{Config}{archlibexp});
+ $self->_make_entry("Perl",File::Spec->catfile($archlib, '.packlist'));
+
+ my $root;
+ # Read the module packlists
+ my $sub = sub {
+ # Only process module .packlists
+ return if $_ ne ".packlist" || $File::Find::dir eq $archlib;
+
+ # Hack of the leading bits of the paths & convert to a module name
+ my $module = $File::Find::name;
+ my $found = $module =~ s!^.*?/auto/(.*)/.packlist!$1!s
+ or do {
+ # warn "Woah! \$_=$_\n\$module=$module\n\$File::Find::dir=$File::Find::dir\n",
+ # join ("\n",@dirs);
+ return;
+ };
+
+ my $modfile = "$module.pm";
+ $module =~ s!/!::!g;
+
+ return if $self->{$module}; #shadowing?
+ $self->_make_entry($module,$File::Find::name,$modfile);
+ };
+ while (@dirs) {
+ $root= shift @dirs;
+ next if !-d $root;
+ find($sub,$root);
+ }
+
+ return $self;
+ }
+
+ # VMS's non-case preserving file-system means the package name can't
+ # be reconstructed from the filename.
+ sub _module_name {
+ my($file, $orig_module) = @_;
+
+ my $module = '';
+ if (open PACKFH, $file) {
+ while (<PACKFH>) {
+ if (/package\s+(\S+)\s*;/) {
+ my $pack = $1;
+ # Make a sanity check, that lower case $module
+ # is identical to lowercase $pack before
+ # accepting it
+ if (lc($pack) eq lc($orig_module)) {
+ $module = $pack;
+ last;
+ }
+ }
+ }
+ close PACKFH;
+ }
+
+ print STDERR "Couldn't figure out the package name for $file\n"
+ unless $module;
+
+ return $module;
+ }
+
+ sub modules {
+ my ($self) = @_;
+ $self= $self->new(default=>1) if !ref $self;
+
+ # Bug/feature of sort in scalar context requires this.
+ return wantarray
+ ? sort grep { not /^:private:$/ } keys %$self
+ : grep { not /^:private:$/ } keys %$self;
+ }
+
+ sub files {
+ my ($self, $module, $type, @under) = @_;
+ $self= $self->new(default=>1) if !ref $self;
+
+ # Validate arguments
+ Carp::croak("$module is not installed") if (! exists($self->{$module}));
+ $type = "all" if (! defined($type));
+ Carp::croak('type must be "all", "prog" or "doc"')
+ if ($type ne "all" && $type ne "prog" && $type ne "doc");
+
+ my (@files);
+ foreach my $file (keys(%{$self->{$module}{packlist}})) {
+ push(@files, $file)
+ if ($self->_is_type($file, $type) &&
+ $self->_is_under($file, @under));
+ }
+ return(@files);
+ }
+
+ sub directories {
+ my ($self, $module, $type, @under) = @_;
+ $self= $self->new(default=>1) if !ref $self;
+ my (%dirs);
+ foreach my $file ($self->files($module, $type, @under)) {
+ $dirs{dirname($file)}++;
+ }
+ return sort keys %dirs;
+ }
+
+ sub directory_tree {
+ my ($self, $module, $type, @under) = @_;
+ $self= $self->new(default=>1) if !ref $self;
+ my (%dirs);
+ foreach my $dir ($self->directories($module, $type, @under)) {
+ $dirs{$dir}++;
+ my ($last) = ("");
+ while ($last ne $dir) {
+ $last = $dir;
+ $dir = dirname($dir);
+ last if !$self->_is_under($dir, @under);
+ $dirs{$dir}++;
+ }
+ }
+ return(sort(keys(%dirs)));
+ }
+
+ sub validate {
+ my ($self, $module, $remove) = @_;
+ $self= $self->new(default=>1) if !ref $self;
+ Carp::croak("$module is not installed") if (! exists($self->{$module}));
+ return($self->{$module}{packlist}->validate($remove));
+ }
+
+ sub packlist {
+ my ($self, $module) = @_;
+ $self= $self->new(default=>1) if !ref $self;
+ Carp::croak("$module is not installed") if (! exists($self->{$module}));
+ return($self->{$module}{packlist});
+ }
+
+ sub version {
+ my ($self, $module) = @_;
+ $self= $self->new(default=>1) if !ref $self;
+ Carp::croak("$module is not installed") if (! exists($self->{$module}));
+ return($self->{$module}{version});
+ }
+
+ sub debug_dump {
+ my ($self, $module) = @_;
+ $self= $self->new(default=>1) if !ref $self;
+ local $self->{":private:"}{Config};
+ require Data::Dumper;
+ print Data::Dumper->new([$self])->Sortkeys(1)->Indent(1)->Dump();
+ }
+
+
+ 1;
+
+ __END__
+
+ =head1 NAME
+
+ ExtUtils::Installed - Inventory management of installed modules
+
+ =head1 SYNOPSIS
+
+ use ExtUtils::Installed;
+ my ($inst) = ExtUtils::Installed->new( skip_cwd => 1 );
+ my (@modules) = $inst->modules();
+ my (@missing) = $inst->validate("DBI");
+ my $all_files = $inst->files("DBI");
+ my $files_below_usr_local = $inst->files("DBI", "all", "/usr/local");
+ my $all_dirs = $inst->directories("DBI");
+ my $dirs_below_usr_local = $inst->directory_tree("DBI", "prog");
+ my $packlist = $inst->packlist("DBI");
+
+ =head1 DESCRIPTION
+
+ ExtUtils::Installed provides a standard way to find out what core and module
+ files have been installed. It uses the information stored in .packlist files
+ created during installation to provide this information. In addition it
+ provides facilities to classify the installed files and to extract directory
+ information from the .packlist files.
+
+ =head1 USAGE
+
+ The new() function searches for all the installed .packlists on the system, and
+ stores their contents. The .packlists can be queried with the functions
+ described below. Where it searches by default is determined by the settings found
+ in C<%Config::Config>, and what the value is of the PERL5LIB environment variable.
+
+ =head1 METHODS
+
+ Unless specified otherwise all method can be called as class methods, or as object
+ methods. If called as class methods then the "default" object will be used, and if
+ necessary created using the current processes %Config and @INC. See the
+ 'default' option to new() for details.
+
+
+ =over 4
+
+ =item new()
+
+ This takes optional named parameters. Without parameters, this
+ searches for all the installed .packlists on the system using
+ information from C<%Config::Config> and the default module search
+ paths C<@INC>. The packlists are read using the
+ L<ExtUtils::Packlist> module.
+
+ If the named parameter C<skip_cwd> is true, the current directory C<.> will
+ be stripped from C<@INC> before searching for .packlists. This keeps
+ ExtUtils::Installed from finding modules installed in other perls that
+ happen to be located below the current directory.
+
+ If the named parameter C<config_override> is specified,
+ it should be a reference to a hash which contains all information
+ usually found in C<%Config::Config>. For example, you can obtain
+ the configuration information for a separate perl installation and
+ pass that in.
+
+ my $yoda_cfg = get_fake_config('yoda');
+ my $yoda_inst =
+ ExtUtils::Installed->new(config_override=>$yoda_cfg);
+
+ Similarly, the parameter C<inc_override> may be a reference to an
+ array which is used in place of the default module search paths
+ from C<@INC>.
+
+ use Config;
+ my @dirs = split(/\Q$Config{path_sep}\E/, $ENV{PERL5LIB});
+ my $p5libs = ExtUtils::Installed->new(inc_override=>\@dirs);
+
+ B<Note>: You probably do not want to use these options alone, almost always
+ you will want to set both together.
+
+ The parameter C<extra_libs> can be used to specify B<additional> paths to
+ search for installed modules. For instance
+
+ my $installed =
+ ExtUtils::Installed->new(extra_libs=>["/my/lib/path"]);
+
+ This should only be necessary if F</my/lib/path> is not in PERL5LIB.
+
+ Finally there is the 'default', and the related 'default_get' and 'default_set'
+ options. These options control the "default" object which is provided by the
+ class interface to the methods. Setting C<default_get> to true tells the constructor
+ to return the default object if it is defined. Setting C<default_set> to true tells
+ the constructor to make the default object the constructed object. Setting the
+ C<default> option is like setting both to true. This is used primarily internally
+ and probably isn't interesting to any real user.
+
+ =item modules()
+
+ This returns a list of the names of all the installed modules. The perl 'core'
+ is given the special name 'Perl'.
+
+ =item files()
+
+ This takes one mandatory parameter, the name of a module. It returns a list of
+ all the filenames from the package. To obtain a list of core perl files, use
+ the module name 'Perl'. Additional parameters are allowed. The first is one
+ of the strings "prog", "doc" or "all", to select either just program files,
+ just manual files or all files. The remaining parameters are a list of
+ directories. The filenames returned will be restricted to those under the
+ specified directories.
+
+ =item directories()
+
+ This takes one mandatory parameter, the name of a module. It returns a list of
+ all the directories from the package. Additional parameters are allowed. The
+ first is one of the strings "prog", "doc" or "all", to select either just
+ program directories, just manual directories or all directories. The remaining
+ parameters are a list of directories. The directories returned will be
+ restricted to those under the specified directories. This method returns only
+ the leaf directories that contain files from the specified module.
+
+ =item directory_tree()
+
+ This is identical in operation to directories(), except that it includes all the
+ intermediate directories back up to the specified directories.
+
+ =item validate()
+
+ This takes one mandatory parameter, the name of a module. It checks that all
+ the files listed in the modules .packlist actually exist, and returns a list of
+ any missing files. If an optional second argument which evaluates to true is
+ given any missing files will be removed from the .packlist
+
+ =item packlist()
+
+ This returns the ExtUtils::Packlist object for the specified module.
+
+ =item version()
+
+ This returns the version number for the specified module.
+
+ =back
+
+ =head1 EXAMPLE
+
+ See the example in L<ExtUtils::Packlist>.
+
+ =head1 AUTHOR
+
+ Alan Burlison <Alan.Burlison@uk.sun.com>
+
+ =cut
+EXTUTILS_INSTALLED
+
$fatpacked{"ExtUtils/Liblist.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'EXTUTILS_LIBLIST';
package ExtUtils::Liblist;
use strict;
- our $VERSION = '7.06';
+ our $VERSION = '7.30';
$VERSION = eval $VERSION;
use File::Spec;
@@ -37413,7 +39259,7 @@ $fatpacked{"ExtUtils/Liblist/Kid.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\
use strict;
use warnings;
- our $VERSION = '7.06';
+ our $VERSION = '7.30';
$VERSION = eval $VERSION;
use ExtUtils::MakeMaker::Config;
@@ -37740,7 +39586,7 @@ $fatpacked{"ExtUtils/Liblist/Kid.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\
$libs_seen{$fullname} = 1 if $path; # why is this a special case?
}
- my @libs = keys %libs_seen;
+ my @libs = sort keys %libs_seen;
return ( '', '', '', '', ( $give_libs ? \@libs : () ) ) unless @extralibs;
@@ -38053,7 +39899,7 @@ $fatpacked{"ExtUtils/MM.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'EXT
use strict;
use ExtUtils::MakeMaker::Config;
- our $VERSION = '7.06';
+ our $VERSION = '7.30';
$VERSION = eval $VERSION;
require ExtUtils::Liblist;
@@ -38145,9 +39991,10 @@ $fatpacked{"ExtUtils/MM_AIX.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
package ExtUtils::MM_AIX;
use strict;
- our $VERSION = '7.06';
+ our $VERSION = '7.30';
$VERSION = eval $VERSION;
+ use ExtUtils::MakeMaker::Config;
require ExtUtils::MM_Unix;
our @ISA = qw(ExtUtils::MM_Unix);
@@ -38178,13 +40025,7 @@ $fatpacked{"ExtUtils/MM_AIX.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
sub dlsyms {
my($self,%attribs) = @_;
return '' unless $self->needs_linking;
- my @m;
- # these will need XSMULTI-fying but maybe that already happens
- push @m,"\ndynamic :: $self->{BASEEXT}.exp\n\n"
- unless $self->{SKIPHASH}{'dynamic'}; # dynamic and static are subs, so...
- push @m,"\nstatic :: $self->{BASEEXT}.exp\n\n"
- unless $self->{SKIPHASH}{'static'}; # we avoid a warning if we tick them
- join "\n", @m, $self->xs_dlsyms_iterator(\%attribs);
+ join "\n", $self->xs_dlsyms_iterator(\%attribs);
}
=head3 xs_dlsyms_ext
@@ -38197,6 +40038,21 @@ $fatpacked{"ExtUtils/MM_AIX.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
'.exp';
}
+ sub xs_dlsyms_arg {
+ my($self, $file) = @_;
+ return qq{-bE:${file}};
+ }
+
+ sub init_others {
+ my $self = shift;
+ $self->SUPER::init_others;
+ # perl "hints" add -bE:$(BASEEXT).exp to LDDLFLAGS. strip that out
+ # so right value can be added by xs_make_dynamic_lib to work for XSMULTI
+ $self->{LDDLFLAGS} ||= $Config{lddlflags};
+ $self->{LDDLFLAGS} =~ s#(\s*)\S*\Q$(BASEEXT)\E\S*(\s*)#$1$2#;
+ return;
+ }
+
=head1 AUTHOR
Michael G Schwern <schwern@pobox.com> with code from ExtUtils::MM_Unix
@@ -38215,7 +40071,7 @@ $fatpacked{"ExtUtils/MM_Any.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
package ExtUtils::MM_Any;
use strict;
- our $VERSION = '7.06';
+ our $VERSION = '7.30';
$VERSION = eval $VERSION;
use Carp;
@@ -38224,7 +40080,7 @@ $fatpacked{"ExtUtils/MM_Any.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
BEGIN { our @ISA = qw(File::Spec); }
# We need $Verbose
- use ExtUtils::MakeMaker qw($Verbose write_file_via_tmp neatvalue _sprintf562);
+ use ExtUtils::MakeMaker qw($Verbose neatvalue _sprintf562);
use ExtUtils::MakeMaker::Config;
@@ -38232,12 +40088,10 @@ $fatpacked{"ExtUtils/MM_Any.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
# So we don't have to keep calling the methods over and over again,
# we have these globals to cache the values. Faster and shrtr.
my $Curdir = __PACKAGE__->curdir;
- my $Rootdir = __PACKAGE__->rootdir;
- my $Updir = __PACKAGE__->updir;
+ #my $Updir = __PACKAGE__->updir;
my $METASPEC_URL = 'https://metacpan.org/pod/CPAN::Meta::Spec';
my $METASPEC_V = 2;
- my $STASHDIR = File::Spec->catdir('blib', '_eumm');
=head1 NAME
@@ -38590,16 +40444,7 @@ $fatpacked{"ExtUtils/MM_Any.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
sub stashmeta {
my($self, $text, $file) = @_;
- require File::Path;
- -d $STASHDIR or die "$STASHDIR: $!" unless File::Path::mkpath($STASHDIR,0,0777);
- my $stashfile = File::Spec->catfile($STASHDIR, $file);
- write_file_via_tmp($stashfile, [ $text ]);
- my $qlfile = $self->quote_literal($file);
- my $qlstashfile = $self->quote_literal($stashfile);
- (
- sprintf('-$(NOECHO) $(RM_F) %s', $qlfile),
- sprintf('-$(NOECHO) $(CP) %s %s', $qlstashfile, $qlfile),
- );
+ $self->echo($text, $file, { allow_variables => 0, append => 0 });
}
@@ -38939,7 +40784,7 @@ $fatpacked{"ExtUtils/MM_Any.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
my $file = $_;
map { $file.$_ } $self->{OBJ_EXT}, qw(.def _def.old .bs .bso .exp .base);
} $self->_xs_list_basenames;
- my @dirs = qw(blib _eumm);
+ my @dirs = qw(blib);
# Normally these are all under blib but they might have been
# redefined.
@@ -39135,6 +40980,17 @@ $fatpacked{"ExtUtils/MM_Any.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
}
+ =head3 xs_dlsyms_arg
+
+ Returns command-line arg(s) to linker for file listing dlsyms to export.
+ Defaults to returning empty string, can be overridden by e.g. AIX.
+
+ =cut
+
+ sub xs_dlsyms_arg {
+ return '';
+ }
+
=head3 xs_dlsyms_ext
Returns file-extension for C<xs_make_dlsyms> method's output file,
@@ -39250,7 +41106,7 @@ $fatpacked{"ExtUtils/MM_Any.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
my($self) = shift;
'
- dynamic :: $(FIRST_MAKEFILE) $(INST_BOOT) $(INST_DYNAMIC)
+ dynamic :: $(FIRST_MAKEFILE) config $(INST_BOOT) $(INST_DYNAMIC)
$(NOECHO) $(NOOP)
';
}
@@ -39316,12 +41172,16 @@ $fatpacked{"ExtUtils/MM_Any.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
return $manify;
}
- sub _has_cpan_meta {
- return eval {
- require CPAN::Meta;
- CPAN::Meta->VERSION(2.112150);
- 1;
- };
+ {
+ my $has_cpan_meta;
+ sub _has_cpan_meta {
+ return $has_cpan_meta if defined $has_cpan_meta;
+ return $has_cpan_meta = !!eval {
+ require CPAN::Meta;
+ CPAN::Meta->VERSION(2.112150);
+ 1;
+ };
+ }
}
=head3 metafile_target
@@ -39539,8 +41399,10 @@ $fatpacked{"ExtUtils/MM_Any.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
# needs to be based on the original version
my $v1_add = _metaspec_version($meta_add) !~ /^2/;
+ my ($add_v, $merge_v) = map _metaspec_version($_), $meta_add, $meta_merge;
for my $frag ($meta_add, $meta_merge) {
- $frag = CPAN::Meta::Converter->new($frag, default_version => "1.4")->upgrade_fragment;
+ my $def_v = $frag == $meta_add ? $merge_v : $add_v;
+ $frag = CPAN::Meta::Converter->new($frag, default_version => $def_v)->upgrade_fragment;
}
# if we upgraded a 1.x _ADD fragment, we gave it a prereqs key that
@@ -41018,38 +42880,50 @@ $fatpacked{"ExtUtils/MM_Any.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
my $tests = $mm->find_tests_recursive;
Returns a string suitable for feeding to the shell to return all
- tests in t/ but recursively.
+ tests in t/ but recursively. Equivalent to
+
+ my $tests = $mm->find_tests_recursive_in('t');
=cut
sub find_tests_recursive {
- my($self) = shift;
- return '' unless -d 't';
+ my $self = shift;
+ return $self->find_tests_recursive_in('t');
+ }
+
+ =head3 find_tests_recursive_in
+
+ my $tests = $mm->find_tests_recursive_in($dir);
+
+ Returns a string suitable for feeding to the shell to return all
+ tests in $dir recursively.
+
+ =cut
+
+ sub find_tests_recursive_in {
+ my($self, $dir) = @_;
+ return '' unless -d $dir;
require File::Find;
- my %testfiles;
+ my $base_depth = grep { $_ ne '' } File::Spec->splitdir( (File::Spec->splitpath($dir))[1] );
+ my %depths;
my $wanted = sub {
return unless m!\.t$!;
my ($volume,$directories,$file) =
File::Spec->splitpath( $File::Find::name );
- my @dirs = File::Spec->splitdir( $directories );
- for ( @dirs ) {
- next if $_ eq 't';
- unless ( $_ ) {
- $_ = '*.t';
- next;
- }
- $_ = '*';
- }
- my $testfile = join '/', @dirs;
- $testfiles{ $testfile } = 1;
+ my $depth = grep { $_ ne '' } File::Spec->splitdir( $directories );
+ $depth -= $base_depth;
+ $depths{ $depth } = 1;
};
- File::Find::find( $wanted, 't' );
+ File::Find::find( $wanted, $dir );
- return join ' ', sort keys %testfiles;
+ return join ' ',
+ map { $dir . '/*' x $_ . '.t' }
+ sort { $a <=> $b }
+ keys %depths;
}
=head3 extra_clean_files
@@ -41317,7 +43191,7 @@ $fatpacked{"ExtUtils/MM_BeOS.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
require ExtUtils::MM_Unix;
our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix );
- our $VERSION = '7.06';
+ our $VERSION = '7.30';
$VERSION = eval $VERSION;
@@ -41366,7 +43240,7 @@ $fatpacked{"ExtUtils/MM_Cygwin.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n"
require ExtUtils::MM_Win32;
our @ISA = qw( ExtUtils::MM_Unix );
- our $VERSION = '7.06';
+ our $VERSION = '7.30';
$VERSION = eval $VERSION;
@@ -41444,7 +43318,7 @@ $fatpacked{"ExtUtils/MM_Cygwin.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n"
if ($Config{useshrplib} eq 'true') {
my $libperl = '$(PERL_INC)' .'/'. "$Config{libperl}";
if( $] >= 5.006002 ) {
- $libperl =~ s/a$/dll.a/;
+ $libperl =~ s/(dll\.)?a$/dll.a/;
}
$self->{PERL_ARCHIVE} = $libperl;
} else {
@@ -41537,7 +43411,7 @@ $fatpacked{"ExtUtils/MM_DOS.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
use strict;
- our $VERSION = '7.06';
+ our $VERSION = '7.30';
$VERSION = eval $VERSION;
require ExtUtils::MM_Any;
@@ -41611,7 +43485,7 @@ $fatpacked{"ExtUtils/MM_Darwin.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n"
our @ISA = qw( ExtUtils::MM_Unix );
}
- our $VERSION = '7.06';
+ our $VERSION = '7.30';
$VERSION = eval $VERSION;
@@ -41657,7 +43531,7 @@ $fatpacked{"ExtUtils/MM_MacOS.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".
use strict;
- our $VERSION = '7.06';
+ our $VERSION = '7.30';
$VERSION = eval $VERSION;
sub new {
@@ -41714,7 +43588,7 @@ $fatpacked{"ExtUtils/MM_NW5.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
use ExtUtils::MakeMaker::Config;
use File::Basename;
- our $VERSION = '7.06';
+ our $VERSION = '7.30';
$VERSION = eval $VERSION;
require ExtUtils::MM_Win32;
@@ -41900,7 +43774,7 @@ $fatpacked{"ExtUtils/MM_OS2.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
use ExtUtils::MakeMaker qw(neatvalue);
use File::Spec;
- our $VERSION = '7.06';
+ our $VERSION = '7.30';
$VERSION = eval $VERSION;
require ExtUtils::MM_Any;
@@ -41949,7 +43823,8 @@ $fatpacked{"ExtUtils/MM_OS2.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
# Make import files (needed for static build)
-d 'tmp_imp' or mkdir 'tmp_imp', 0777 or die "Can't mkdir tmp_imp";
open my $imp, '>', 'tmpimp.imp' or die "Can't open tmpimp.imp";
- while (my($name, $exp) = each %{$self->{IMPORTS}}) {
+ foreach my $name (sort keys %{$self->{IMPORTS}}) {
+ my $exp = $self->{IMPORTS}->{$name};
my ($lib, $id) = ($exp =~ /(.*)\.(.*)/) or die "Malformed IMPORT `$exp'";
print $imp "$name $lib $id ?\n";
}
@@ -42036,7 +43911,7 @@ $fatpacked{"ExtUtils/MM_QNX.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
package ExtUtils::MM_QNX;
use strict;
- our $VERSION = '7.06';
+ our $VERSION = '7.30';
$VERSION = eval $VERSION;
require ExtUtils::MM_Unix;
@@ -42097,7 +43972,7 @@ $fatpacked{"ExtUtils/MM_UWIN.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
package ExtUtils::MM_UWIN;
use strict;
- our $VERSION = '7.06';
+ our $VERSION = '7.30';
$VERSION = eval $VERSION;
require ExtUtils::MM_Unix;
@@ -42171,7 +44046,6 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
use Carp;
use ExtUtils::MakeMaker::Config;
use File::Basename qw(basename dirname);
- use DirHandle;
our %Config_Override;
@@ -42179,7 +44053,7 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
# If we make $VERSION an our variable parse_version() breaks
use vars qw($VERSION);
- $VERSION = '7.06';
+ $VERSION = '7.30';
$VERSION = eval $VERSION; ## no critic [BuiltinFunctions::ProhibitStringyEval]
require ExtUtils::MM_Any;
@@ -42262,7 +44136,6 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
# So we don't have to keep calling the methods over and over again,
# we have these globals to cache the values. Faster and shrtr.
my $Curdir = __PACKAGE__->curdir;
- my $Rootdir = __PACKAGE__->rootdir;
my $Updir = __PACKAGE__->updir;
@@ -42307,7 +44180,8 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
};
}
- push @m, sprintf <<'EOF', $command, $flags, $self->xs_obj_opt('$*.s');
+ my $m_o = $self->{XSMULTI} ? $self->xs_obj_opt('$*.s') : '';
+ push @m, sprintf <<'EOF', $command, $flags, $m_o;
.c.s :
%s -S %s $*.c %s
@@ -42315,9 +44189,9 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
my @exts = qw(c cpp cxx cc);
push @exts, 'C' if !$Is{OS2} and !$Is{Win32} and !$Is{Dos}; #Case-specific
- my $oo = $self->xs_obj_opt('$*$(OBJ_EXT)');
+ $m_o = $self->{XSMULTI} ? $self->xs_obj_opt('$*$(OBJ_EXT)') : '';
for my $ext (@exts) {
- push @m, "\n.$ext\$(OBJ_EXT) :\n\t$command $flags \$*.$ext $oo\n";
+ push @m, "\n.$ext\$(OBJ_EXT) :\n\t$command $flags \$*.$ext" . ( $m_o ? " $m_o" : '' ) . "\n";
}
return join "", @m;
}
@@ -42630,7 +44504,7 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
push @m, q{
# Where is the Config information that we are using/depend on
CONFIGDEP = $(PERL_ARCHLIBDEP)$(DFSEP)Config.pm $(PERL_INCDEP)$(DFSEP)config.h
- } if -e File::Spec->catfile( $self->{PERL_INC}, 'config.h' );
+ } if -e $self->catfile( $self->{PERL_INC}, 'config.h' );
push @m, qq{
@@ -42840,7 +44714,7 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
sub dist_ci {
my($self) = shift;
return sprintf "ci :\n\t%s\n", $self->oneliner(<<'EOF', [qw(-MExtUtils::Manifest=maniread)]);
- @all = keys %{ maniread() };
+ @all = sort keys %{ maniread() };
print(qq{Executing $(CI) @all\n});
system(qq{$(CI) @all}) == 0 or die $!;
print(qq{Executing $(RCS_LABEL) ...\n});
@@ -43062,9 +44936,9 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
my ($v, $d, $f) = File::Spec->splitpath($basename);
my @d = File::Spec->splitdir($d);
shift @d if $self->{XSMULTI} and $d[0] eq 'lib';
- my $instdir = File::Spec->catdir('$(INST_ARCHLIB)', 'auto', @d, $f);
+ my $instdir = $self->catdir('$(INST_ARCHLIB)', 'auto', @d, $f);
$instdir = '$(INST_ARCHAUTODIR)' if $basename eq '$(BASEEXT)';
- my $instfile = File::Spec->catfile($instdir, "$f.bs");
+ my $instfile = $self->catfile($instdir, "$f.bs");
my $exists = "$instdir\$(DFSEP).exists"; # match blibdirs_target
# 1 2 3
return _sprintf562 <<'MAKE_FRAG', $basename, $instfile, $exists;
@@ -43097,23 +44971,35 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
return '' unless $self->has_link_code;
my @m = $self->xs_dynamic_lib_macros(\%attribs);
my @libs;
+ my $dlsyms_ext = eval { $self->xs_dlsyms_ext };
if ($self->{XSMULTI}) {
my @exts = $self->_xs_list_basenames;
for my $ext (@exts) {
my ($v, $d, $f) = File::Spec->splitpath($ext);
my @d = File::Spec->splitdir($d);
shift @d if $d[0] eq 'lib';
- my $instdir = File::Spec->catdir('$(INST_ARCHLIB)', 'auto', @d, $f);
- my $instfile = File::Spec->catfile($instdir, "$f.\$(DLEXT)");
+ my $instdir = $self->catdir('$(INST_ARCHLIB)', 'auto', @d, $f);
+
+ # Dynamic library names may need special handling.
+ eval { require DynaLoader };
+ if (defined &DynaLoader::mod2fname) {
+ $f = &DynaLoader::mod2fname([@d, $f]);
+ }
+
+ my $instfile = $self->catfile($instdir, "$f.\$(DLEXT)");
my $objfile = $self->_xsbuild_value('xs', $ext, 'OBJECT');
$objfile = "$ext\$(OBJ_EXT)" unless defined $objfile;
my $ldfrom = $self->_xsbuild_value('xs', $ext, 'LDFROM');
$ldfrom = $objfile unless defined $ldfrom;
my $exportlist = "$ext.def";
- push @libs, [ $objfile, $instfile, $instdir, $ldfrom, $exportlist ];
+ my @libchunk = ($objfile, $instfile, $instdir, $ldfrom, $exportlist);
+ push @libchunk, $dlsyms_ext ? $ext.$dlsyms_ext : undef;
+ push @libs, \@libchunk;
}
} else {
- @libs = ([ qw($(OBJECT) $(INST_DYNAMIC) $(INST_ARCHAUTODIR) $(LDFROM) $(EXPORT_LIST)) ]);
+ my @libchunk = qw($(OBJECT) $(INST_DYNAMIC) $(INST_ARCHAUTODIR) $(LDFROM) $(EXPORT_LIST));
+ push @libchunk, $dlsyms_ext ? '$(BASEEXT)'.$dlsyms_ext : undef;
+ @libs = (\@libchunk);
}
push @m, map { $self->xs_make_dynamic_lib(\%attribs, @$_); } @libs;
@@ -43157,10 +45043,11 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
=cut
sub xs_make_dynamic_lib {
- my ($self, $attribs, $object, $to, $todir, $ldfrom, $exportlist) = @_;
+ my ($self, $attribs, $object, $to, $todir, $ldfrom, $exportlist, $dlsyms) = @_;
$exportlist = '' if $exportlist ne '$(EXPORT_LIST)';
my $armaybe = $self->_xs_armaybe($attribs);
- my @m = sprintf '%s : %s $(MYEXTLIB) %s$(DFSEP).exists %s $(PERL_ARCHIVEDEP) $(PERL_ARCHIVE_AFTER) $(INST_DYNAMIC_DEP)'."\n", $to, $object, $todir, $exportlist;
+ my @m = sprintf '%s : %s $(MYEXTLIB) %s$(DFSEP).exists %s $(PERL_ARCHIVEDEP) $(PERL_ARCHIVE_AFTER) $(INST_DYNAMIC_DEP) %s'."\n", $to, $object, $todir, $exportlist, ($dlsyms || '');
+ my $dlsyms_arg = $self->xs_dlsyms_arg($dlsyms);
if ($armaybe ne ':'){
$ldfrom = 'tmp$(LIB_EXT)';
push(@m," \$(ARMAYBE) cr $ldfrom $object\n");
@@ -43201,8 +45088,8 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
$ld_run_path_shell = 'LD_RUN_PATH="$(LD_RUN_PATH)" ';
}
- push @m, sprintf <<'MAKE', $ld_run_path_shell, $ldrun, $self->xs_obj_opt('$@'), $ldfrom, $libs, $exportlist;
- %s$(LD) %s $(LDDLFLAGS) %s $(OTHERLDFLAGS) %s $(MYEXTLIB) \
+ push @m, sprintf <<'MAKE', $ld_run_path_shell, $ldrun, $dlsyms_arg, $ldfrom, $self->xs_obj_opt('$@'), $libs, $exportlist;
+ %s$(LD) %s $(LDDLFLAGS) %s %s $(OTHERLDFLAGS) %s $(MYEXTLIB) \
$(PERL_ARCHIVE) %s $(PERL_ARCHIVE_AFTER) %s \
$(INST_DYNAMIC_FIX)
$(CHMOD) $(PERM_RWX) $@
@@ -43268,21 +45155,26 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
}
foreach my $name (@$names){
- foreach my $dir (@$dirs){
+ my ($abs, $use_dir);
+ if ($self->file_name_is_absolute($name)) { # /foo/bar
+ $abs = $name;
+ } elsif ($self->canonpath($name) eq
+ $self->canonpath(basename($name))) { # foo
+ $use_dir = 1;
+ } else { # foo/bar
+ $abs = $self->catfile($Curdir, $name);
+ }
+ foreach my $dir ($use_dir ? @$dirs : 1){
next unless defined $dir; # $self->{PERL_SRC} may be undefined
- my ($abs, $val);
- if ($self->file_name_is_absolute($name)) { # /foo/bar
- $abs = $name;
- } elsif ($self->canonpath($name) eq
- $self->canonpath(basename($name))) { # foo
- $abs = File::Spec->catfile($dir, $name);
- } else { # foo/bar
- $abs = File::Spec->catfile($Curdir, $name);
- }
+
+ $abs = $self->catfile($dir, $name)
+ if $use_dir;
+
print "Checking $abs\n" if ($trace >= 2);
next unless $self->maybe_command($abs);
print "Executing $abs\n" if ($trace >= 2);
+ my $val;
my $version_check = qq{"$abs" -le "require $ver; print qq{VER_OK}"};
# To avoid using the unportable 2>&1 to suppress STDERR,
@@ -43410,7 +45302,7 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
$interpreter = '';
foreach my $dir (@absdirs) {
- my $maybefile = File::Spec->catfile($dir,$cmd);
+ my $maybefile = $self->catfile($dir,$cmd);
if ( $self->maybe_command($maybefile) ) {
warn "Ignoring $interpreter in $file\n"
if $Verbose && $interpreter;
@@ -43535,7 +45427,7 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
if (-d $name){
next if -l $name; # We do not support symlinks at all
next if $self->{NORECURS};
- $dir{$name} = $name if (-f File::Spec->catfile($name,"Makefile.PL"));
+ $dir{$name} = $name if (-f $self->catfile($name,"Makefile.PL"));
} elsif ($name =~ /\.xs\z/){
my($c); ($c = $name) =~ s/\.xs\z/.c/;
$xs{$name} = $c;
@@ -43555,10 +45447,10 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
($pl_files{$name} = $name) =~ s/[._]pl\z//i ;
}
else {
- $pm{$name} = File::Spec->catfile($self->{INST_LIBDIR},$name);
+ $pm{$name} = $self->catfile($self->{INST_LIBDIR},$name);
}
} elsif ($name =~ /\.(p[ml]|pod)\z/){
- $pm{$name} = File::Spec->catfile($self->{INST_LIBDIR},$name);
+ $pm{$name} = $self->catfile($self->{INST_LIBDIR},$name);
}
}
@@ -43635,7 +45527,7 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
next unless $self->_has_pod($name);
$self->{MAN1PODS}->{$name} =
- File::Spec->catfile("\$(INST_MAN1DIR)",
+ $self->catfile("\$(INST_MAN1DIR)",
basename($name).".\$(MAN1EXT)");
}
}
@@ -43672,7 +45564,7 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
foreach my $name (keys %manifypods) {
if (
($self->{PERL_CORE} and $name =~ /(config|setup).*\.pm/is) or
- ( $name eq 'README.pod') # don't manify top-level README.pod
+ ( $name =~ m/^README\.pod$/i ) # don't manify top-level README.pod
) {
delete $manifypods{$name};
next;
@@ -43681,13 +45573,13 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
$manpagename =~ s/\.p(od|m|l)\z//;
# everything below lib is ok
unless($manpagename =~ s!^\W*($parentlibs_re)\W+!!s) {
- $manpagename = File::Spec->catfile(
+ $manpagename = $self->catfile(
split(/::/,$self->{PARENT_NAME}),$manpagename
);
}
$manpagename = $self->replace_manpage_separator($manpagename);
$self->{MAN3PODS}->{$name} =
- File::Spec->catfile("\$(INST_MAN3DIR)", "$manpagename.\$(MAN3EXT)");
+ $self->catfile("\$(INST_MAN3DIR)", "$manpagename.\$(MAN3EXT)");
}
}
@@ -43779,7 +45671,7 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
if ($striplibpath = $path) =~ s{^(\W*)($parentlibs_re)\W}
{$1}i;
- my($inst) = File::Spec->catfile($prefix,$striplibpath);
+ my($inst) = $self->catfile($prefix,$striplibpath);
local($_) = $inst; # for backwards compatibility
$inst = $self->libscan($inst);
print "libscan($path) => '$inst'\n" if ($Verbose >= 2);
@@ -43833,7 +45725,7 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
### Only UNIX:
### ($self->{FULLEXT} =
### $self->{NAME}) =~ s!::!/!g ; #eg. BSD/Foo/Socket
- $self->{FULLEXT} = File::Spec->catdir(split /::/, $self->{NAME});
+ $self->{FULLEXT} = $self->catdir(split /::/, $self->{NAME});
# Copied from DynaLoader:
@@ -43869,11 +45761,11 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
unless ($self->{PERL_SRC}){
foreach my $dir_count (1..8) { # 8 is the VMS limit for nesting
- my $dir = File::Spec->catdir(($Updir) x $dir_count);
+ my $dir = $self->catdir(($Updir) x $dir_count);
- if (-f File::Spec->catfile($dir,"config_h.SH") &&
- -f File::Spec->catfile($dir,"perl.h") &&
- -f File::Spec->catfile($dir,"lib","strict.pm")
+ if (-f $self->catfile($dir,"config_h.SH") &&
+ -f $self->catfile($dir,"perl.h") &&
+ -f $self->catfile($dir,"lib","strict.pm")
) {
$self->{PERL_SRC}=$dir ;
last;
@@ -43885,19 +45777,19 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
$self->{PERL_CORE} and !$self->{PERL_SRC};
if ($self->{PERL_SRC}){
- $self->{PERL_LIB} ||= File::Spec->catdir("$self->{PERL_SRC}","lib");
+ $self->{PERL_LIB} ||= $self->catdir("$self->{PERL_SRC}","lib");
$self->{PERL_ARCHLIB} = $self->{PERL_LIB};
$self->{PERL_INC} = ($Is{Win32}) ?
- File::Spec->catdir($self->{PERL_LIB},"CORE") : $self->{PERL_SRC};
+ $self->catdir($self->{PERL_LIB},"CORE") : $self->{PERL_SRC};
# catch a situation that has occurred a few times in the past:
unless (
- -s File::Spec->catfile($self->{PERL_SRC},'cflags')
+ -s $self->catfile($self->{PERL_SRC},'cflags')
or
$Is{VMS}
&&
- -s File::Spec->catfile($self->{PERL_SRC},'vmsish.h')
+ -s $self->catfile($self->{PERL_SRC},'vmsish.h')
or
$Is{Win32}
){
@@ -43920,23 +45812,23 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
my $old = $self->{PERL_LIB} || $self->{PERL_ARCHLIB} || $self->{PERL_INC};
$self->{PERL_LIB} ||= $Config{privlibexp};
$self->{PERL_ARCHLIB} ||= $Config{archlibexp};
- $self->{PERL_INC} = File::Spec->catdir("$self->{PERL_ARCHLIB}","CORE"); # wild guess for now
+ $self->{PERL_INC} = $self->catdir("$self->{PERL_ARCHLIB}","CORE"); # wild guess for now
my $perl_h;
- if (not -f ($perl_h = File::Spec->catfile($self->{PERL_INC},"perl.h"))
+ if (not -f ($perl_h = $self->catfile($self->{PERL_INC},"perl.h"))
and not $old){
# Maybe somebody tries to build an extension with an
# uninstalled Perl outside of Perl build tree
my $lib;
for my $dir (@INC) {
- $lib = $dir, last if -e File::Spec->catfile($dir, "Config.pm");
+ $lib = $dir, last if -e $self->catfile($dir, "Config.pm");
}
if ($lib) {
# Win32 puts its header files in /perl/src/lib/CORE.
# Unix leaves them in /perl/src.
- my $inc = $Is{Win32} ? File::Spec->catdir($lib, "CORE" )
+ my $inc = $Is{Win32} ? $self->catdir($lib, "CORE" )
: dirname $lib;
- if (-e File::Spec->catfile($inc, "perl.h")) {
+ if (-e $self->catfile($inc, "perl.h")) {
$self->{PERL_LIB} = $lib;
$self->{PERL_ARCHLIB} = $lib;
$self->{PERL_INC} = $inc;
@@ -44007,7 +45899,7 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
# make a simple check if we find strict
warn "Warning: PERL_LIB ($self->{PERL_LIB}) seems not to be a perl library directory
(strict.pm not found)"
- unless -f File::Spec->catfile("$self->{PERL_LIB}","strict.pm") ||
+ unless -f $self->catfile("$self->{PERL_LIB}","strict.pm") ||
$self->{NAME} eq "ExtUtils::MakeMaker";
}
@@ -44218,7 +46110,7 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
# Make sure perl can find itself before it's installed.
my $lib_paths = $self->{UNINSTALLED_PERL} || $self->{PERL_CORE}
- ? $self->{PERL_ARCHLIB} ne $self->{PERL_LIB} ?
+ ? ( $self->{PERL_ARCHLIB} && $self->{PERL_LIB} && $self->{PERL_ARCHLIB} ne $self->{PERL_LIB} ) ?
q{ "-I$(PERL_LIB)" "-I$(PERL_ARCHLIB)"} : q{ "-I$(PERL_LIB)"}
: undef;
my $inst_lib_paths = $self->{INST_ARCHLIB} ne $self->{INST_LIB}
@@ -44303,11 +46195,11 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
if ($self->has_link_code()) {
$self->{INST_STATIC} =
- File::Spec->catfile('$(INST_ARCHAUTODIR)', '$(BASEEXT)$(LIB_EXT)');
+ $self->catfile('$(INST_ARCHAUTODIR)', '$(BASEEXT)$(LIB_EXT)');
$self->{INST_DYNAMIC} =
- File::Spec->catfile('$(INST_ARCHAUTODIR)', '$(DLBASE).$(DLEXT)');
+ $self->catfile('$(INST_ARCHAUTODIR)', '$(DLBASE).$(DLEXT)');
$self->{INST_BOOT} =
- File::Spec->catfile('$(INST_ARCHAUTODIR)', '$(BASEEXT).bs');
+ $self->catfile('$(INST_ARCHAUTODIR)', '$(BASEEXT).bs');
if ($self->{XSMULTI}) {
my @exts = $self->_xs_list_basenames;
my (@statics, @dynamics, @boots);
@@ -44315,10 +46207,18 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
my ($v, $d, $f) = File::Spec->splitpath($ext);
my @d = File::Spec->splitdir($d);
shift @d if defined $d[0] and $d[0] eq 'lib';
- my $instdir = File::Spec->catdir('$(INST_ARCHLIB)', 'auto', @d, $f);
- my $instfile = File::Spec->catfile($instdir, $f);
+ my $instdir = $self->catdir('$(INST_ARCHLIB)', 'auto', @d, $f);
+ my $instfile = $self->catfile($instdir, $f);
push @statics, "$instfile\$(LIB_EXT)";
- push @dynamics, "$instfile.\$(DLEXT)";
+
+ # Dynamic library names may need special handling.
+ my $dynfile = $instfile;
+ eval { require DynaLoader };
+ if (defined &DynaLoader::mod2fname) {
+ $dynfile = $self->catfile($instdir, &DynaLoader::mod2fname([@d, $f]));
+ }
+
+ push @dynamics, "$dynfile.\$(DLEXT)";
push @boots, "$instfile.bs";
}
$self->{INST_STATIC} = join ' ', @statics;
@@ -44372,8 +46272,8 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
};
push @m,
- q{ read "}.File::Spec->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{" \
- write "}.File::Spec->catfile('$(DESTINSTALLARCHLIB)','auto','$(FULLEXT)','.packlist').q{" \
+ q{ read "}.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{" \
+ write "}.$self->catfile('$(DESTINSTALLARCHLIB)','auto','$(FULLEXT)','.packlist').q{" \
} unless $self->{NO_PACKLIST};
push @m,
@@ -44384,15 +46284,15 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
"$(INST_MAN1DIR)" "$(DESTINSTALLMAN1DIR)" \
"$(INST_MAN3DIR)" "$(DESTINSTALLMAN3DIR)"
$(NOECHO) $(WARN_IF_OLD_PACKLIST) \
- "}.File::Spec->catdir('$(SITEARCHEXP)','auto','$(FULLEXT)').q{"
+ "}.$self->catdir('$(SITEARCHEXP)','auto','$(FULLEXT)').q{"
pure_site_install :: all
$(NOECHO) $(MOD_INSTALL) \
};
push @m,
- q{ read "}.File::Spec->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{" \
- write "}.File::Spec->catfile('$(DESTINSTALLSITEARCH)','auto','$(FULLEXT)','.packlist').q{" \
+ q{ read "}.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{" \
+ write "}.$self->catfile('$(DESTINSTALLSITEARCH)','auto','$(FULLEXT)','.packlist').q{" \
} unless $self->{NO_PACKLIST};
push @m,
@@ -44403,14 +46303,14 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
"$(INST_MAN1DIR)" "$(DESTINSTALLSITEMAN1DIR)" \
"$(INST_MAN3DIR)" "$(DESTINSTALLSITEMAN3DIR)"
$(NOECHO) $(WARN_IF_OLD_PACKLIST) \
- "}.File::Spec->catdir('$(PERL_ARCHLIB)','auto','$(FULLEXT)').q{"
+ "}.$self->catdir('$(PERL_ARCHLIB)','auto','$(FULLEXT)').q{"
pure_vendor_install :: all
$(NOECHO) $(MOD_INSTALL) \
};
push @m,
- q{ read "}.File::Spec->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{" \
- write "}.File::Spec->catfile('$(DESTINSTALLVENDORARCH)','auto','$(FULLEXT)','.packlist').q{" \
+ q{ read "}.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{" \
+ write "}.$self->catfile('$(DESTINSTALLVENDORARCH)','auto','$(FULLEXT)','.packlist').q{" \
} unless $self->{NO_PACKLIST};
push @m,
@@ -44445,7 +46345,7 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
LINKTYPE "$(LINKTYPE)" \
VERSION "$(VERSION)" \
EXE_FILES "$(EXE_FILES)" \
- >> "}.File::Spec->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{"
+ >> "}.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{"
doc_site_install :: all
$(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod"
@@ -44456,7 +46356,7 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
LINKTYPE "$(LINKTYPE)" \
VERSION "$(VERSION)" \
EXE_FILES "$(EXE_FILES)" \
- >> "}.File::Spec->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{"
+ >> "}.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{"
doc_vendor_install :: all
$(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod"
@@ -44467,7 +46367,7 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
LINKTYPE "$(LINKTYPE)" \
VERSION "$(VERSION)" \
EXE_FILES "$(EXE_FILES)" \
- >> "}.File::Spec->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{"
+ >> "}.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{"
} unless $self->{NO_PERLLOCAL};
@@ -44476,13 +46376,13 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
$(NOECHO) $(NOOP)
uninstall_from_perldirs ::
- $(NOECHO) $(UNINSTALL) "}.File::Spec->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{"
+ $(NOECHO) $(UNINSTALL) "}.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{"
uninstall_from_sitedirs ::
- $(NOECHO) $(UNINSTALL) "}.File::Spec->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{"
+ $(NOECHO) $(UNINSTALL) "}.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{"
uninstall_from_vendordirs ::
- $(NOECHO) $(UNINSTALL) "}.File::Spec->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{"
+ $(NOECHO) $(UNINSTALL) "}.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{"
};
join("",@m);
@@ -44505,7 +46405,7 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
my %fromto;
for my $from (@exefiles) {
- my($path)= File::Spec->catfile('$(INST_SCRIPT)', basename($from));
+ my($path)= $self->catfile('$(INST_SCRIPT)', basename($from));
local($_) = $path; # for backwards compatibility
my $to = $self->libscan($path);
@@ -44577,14 +46477,13 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
=cut
sub lsdir {
- my($self) = shift;
- my($dir, $regex) = @_;
- my(@ls);
- my $dh = new DirHandle;
- $dh->open($dir || ".") or return ();
- @ls = $dh->read;
- $dh->close;
- @ls = grep(/$regex/, @ls) if $regex;
+ # $self
+ my(undef, $dir, $regex) = @_;
+ opendir(my $dh, defined($dir) ? $dir : ".")
+ or return;
+ my @ls = readdir $dh;
+ closedir $dh;
+ @ls = grep(/$regex/, @ls) if defined $regex;
@ls;
}
@@ -44597,9 +46496,9 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
sub macro {
my($self,%attribs) = @_;
- my(@m,$key,$val);
- while (($key,$val) = each %attribs){
- last unless defined $key;
+ my @m;
+ foreach my $key (sort keys %attribs) {
+ my $val = $attribs{$key};
push @m, "$key = $val\n";
}
join "", @m;
@@ -44645,12 +46544,12 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
MAKEAPERL=1 NORECURS=1 CCCDLFLAGS=};
foreach (@ARGV){
- if( /\s/ ){
- s/=(.*)/='$1'/;
+ my $arg = $_; # avoid lvalue aliasing
+ if ( $arg =~ /(^.*?=)(.*['\s].*)/ ) {
+ $arg = $1 . $self->quote_literal($2);
}
- push @m, " \\\n\t\t$_";
+ push @m, " \\\n\t\t$arg";
}
- # push @m, map( " \\\n\t\t$_", @ARGV );
push @m, "\n";
return join '', @m;
@@ -44677,8 +46576,18 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
'auto', $self->{FULLEXT}, "$self->{BASEEXT}$self->{LIB_EXT}"
);
File::Find::find(sub {
+ if ($File::Find::name =~ m{/auto/share\z}) {
+ # in a subdir of auto/share, prune because e.g.
+ # Alien::pkgconfig uses File::ShareDir to put .a files
+ # there. do not want
+ $File::Find::prune = 1;
+ return;
+ }
+
return unless m/\Q$self->{LIB_EXT}\E$/;
+ return unless -f 'extralibs.ld'; # this checks is a "proper" XS installation
+
# Skip perl's libraries.
return if m/^libperl/ or m/^perl\Q$self->{LIB_EXT}\E$/;
@@ -44724,7 +46633,7 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
return if $File::Find::name =~ m:\Q$installed_version\E\z:;
use Cwd 'cwd';
$static{cwd() . "/" . $_}++;
- }, grep( -d $_, @{$searchdirs || []}) );
+ }, grep( -d $_, map { $self->catdir($_, 'auto') } @{$searchdirs || []}) );
# We trust that what has been handed in as argument, will be buildable
$static = [] unless $static;
@@ -44804,7 +46713,7 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
my $ldfrom = $self->{XSMULTI} ? '' : '$(LDFROM)';
# 1 2 3 4
- push @m, _sprintf562 <<'EOF', $tmp, $self->xs_obj_opt('$@'), $ldfrom, $makefilename;
+ push @m, _sprintf562 <<'EOF', $tmp, $ldfrom, $self->xs_obj_opt('$@'), $makefilename;
$(MAP_TARGET) :: %1$s/perlmain$(OBJ_EXT) $(MAP_LIBPERLDEP) $(MAP_STATICDEP) $(INST_ARCHAUTODIR)/extralibs.all
$(MAP_LINKCMD) %2$s $(OPTIMIZE) %1$s/perlmain$(OBJ_EXT) %3$s $(MAP_STATIC) "$(LLIBPERL)" `cat $(INST_ARCHAUTODIR)/extralibs.all` $(MAP_PRELIBS)
$(NOECHO) $(ECHO) "To install the new '$(MAP_TARGET)' binary, call"
@@ -44838,7 +46747,7 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
MAP_STATIC "$(MAP_STATIC)" \
MAP_EXTRA "`cat $(INST_ARCHAUTODIR)/extralibs.all`" \
MAP_LIBPERL "$(MAP_LIBPERL)" \
- >> "}.File::Spec->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{"
+ >> "}.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{"
};
@@ -44846,7 +46755,7 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
inst_perl : pure_inst_perl doc_inst_perl
pure_inst_perl : $(MAP_TARGET)
- }.$self->{CP}.q{ $(MAP_TARGET) "}.File::Spec->catfile('$(DESTINSTALLBIN)','$(MAP_TARGET)').q{"
+ }.$self->{CP}.q{ $(MAP_TARGET) "}.$self->catfile('$(DESTINSTALLBIN)','$(MAP_TARGET)').q{"
clean :: map_clean
@@ -45027,7 +46936,7 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
next if $inpod || /^\s*#/;
chop;
next if /^\s*(if|unless|elsif)/;
- if ( m{^ \s* package \s+ \w[\w\:\']* \s+ (v?[0-9._]+) \s* ; }x ) {
+ if ( m{^ \s* package \s+ \w[\w\:\']* \s+ (v?[0-9._]+) \s* (;|\{) }x ) {
local $^W = 0;
$result = $1;
}
@@ -45106,7 +47015,7 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
my $val = qq{\$($key)};
# expand within perl if given since need to use quote_literal
# since INC might include space-protecting ""!
- $val = $self->{$key} if defined $self->{$key};
+ chomp($val = $self->{$key}) if defined $self->{$key};
$val .= " \$(PASTHRU_$key)";
my $quoted = $self->quote_literal($val);
push @pasthru, qq{PASTHRU_$key=$quoted};
@@ -45178,7 +47087,7 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
sub pm_to_blib {
my $self = shift;
- my($autodir) = File::Spec->catdir('$(INST_LIB)','auto');
+ my($autodir) = $self->catdir('$(INST_LIB)','auto');
my $r = q{
pm_to_blib : $(FIRST_MAKEFILE) $(TO_INST_PM)
};
@@ -45355,7 +47264,7 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
warn " cannot prefix, using default.\n" if $Verbose >= 2;
warn " no default!\n" if !$default && $Verbose >= 2;
- $path = File::Spec->catdir($rprefix, $default) if $default;
+ $path = $self->catdir($rprefix, $default) if $default;
}
print " now $path\n" if $Verbose >= 2;
@@ -45405,7 +47314,7 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
$m .= <<MAKE_FRAG;
- all :: $target
+ pure_all :: $target
\$(NOECHO) \$(NOOP)
$target :: $plfile $pm_dep
@@ -45688,7 +47597,7 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
# And as it's not yet built, we add the current extension
# but only if it has some C code (or XS code, which implies C code)
if (@{$self->{C}}) {
- @static = File::Spec->catfile($self->{INST_ARCHLIB},
+ @static = $self->catfile($self->{INST_ARCHLIB},
"auto",
$self->{FULLEXT},
"$self->{BASEEXT}$self->{LIB_EXT}"
@@ -45805,7 +47714,8 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
EOF
for my $linktype (qw(dynamic static)) {
- push @m, "subdirs-test_$linktype :: $linktype pure_all\n";
+ my $directdeps = join ' ', grep !$self->{SKIPHASH}{$_}, $linktype, "pure_all"; # no depend on a linktype if SKIPped
+ push @m, "subdirs-test_$linktype :: $directdeps\n";
foreach my $dir (@{ $self->{DIR} }) {
my $test = $self->cd($dir, "\$(MAKE) test_$linktype \$(PASTHRU)");
push @m, "\t\$(NOECHO) $test\n";
@@ -45815,7 +47725,8 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
for my $testspec ([ '', '' ], [ 'db', ' $(TESTDB_SW)' ]) {
my ($db, $switch) = @$testspec;
my ($command, $deps);
- $deps = "subdirs-test_$linktype";
+ # if testdb, build all but don't test all
+ $deps = $db eq 'db' ? $directdeps : "subdirs-test_$linktype";
if ($linktype eq 'static' and $self->needs_linking) {
my $target = File::Spec->rel2abs('$(MAP_TARGET)');
$command = qq{"$target" \$(MAP_PERLINC)};
@@ -45824,10 +47735,14 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
$command = '$(FULLPERLRUN)' . $switch;
}
push @m, "test${db}_$linktype :: $deps\n";
- push @m, $self->test_via_harness($command, '$(TEST_FILES)')
- if $tests;
- push @m, $self->test_via_script($command, '$(TEST_FILE)')
- if -f "test.pl";
+ if ($db eq 'db') {
+ push @m, $self->test_via_script($command, '$(TEST_FILE)')
+ } else {
+ push @m, $self->test_via_script($command, '$(TEST_FILE)')
+ if -f "test.pl";
+ push @m, $self->test_via_harness($command, '$(TEST_FILES)')
+ if $tests;
+ }
push @m, "\n";
}
} else {
@@ -45884,22 +47799,23 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
my $foundxsubpp = 0;
foreach my $dir (@xsubpp_dirs) {
- $xsdir = File::Spec->catdir($dir, 'ExtUtils');
- if( -r File::Spec->catfile($xsdir, "xsubpp") ) {
+ $xsdir = $self->catdir($dir, 'ExtUtils');
+ if( -r $self->catfile($xsdir, "xsubpp") ) {
$foundxsubpp = 1;
last;
}
}
die "ExtUtils::MM_Unix::tool_xsubpp : Can't find xsubpp" if !$foundxsubpp;
- my $tmdir = File::Spec->catdir($self->{PERL_LIB},"ExtUtils");
- my(@tmdeps) = File::Spec->catfile($tmdir,'typemap');
+ my $tmdir = $self->catdir($self->{PERL_LIB},"ExtUtils");
+ my(@tmdeps) = $self->catfile($tmdir,'typemap');
if( $self->{TYPEMAPS} ){
foreach my $typemap (@{$self->{TYPEMAPS}}){
if( ! -f $typemap ) {
warn "Typemap $typemap not found.\n";
}
else {
+ $typemap = vmsify($typemap) if $Is{VMS};
push(@tmdeps, $typemap);
}
}
@@ -46008,7 +47924,7 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
sub writedoc {
# --- perllocal.pod section ---
my($self,$what,$name,@attribs)=@_;
- my $time = localtime;
+ my $time = gmtime($ENV{SOURCE_DATE_EPOCH} || time);
print "=head2 $time: $what C<$name>\n\n=over 4\n\n=item *\n\n";
print join "\n\n=item *\n\n", map("C<$_>",@attribs);
print "\n\n=back\n\n";
@@ -46058,10 +47974,10 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
sub xs_o {
my ($self) = @_;
return '' unless $self->needs_linking();
- my $minus_o = $self->xs_obj_opt('$*$(OBJ_EXT)');
+ my $m_o = $self->{XSMULTI} ? $self->xs_obj_opt('$*$(OBJ_EXT)') : '';
my $frag = '';
# dmake makes noise about ambiguous rule
- $frag .= sprintf <<'EOF', $minus_o unless $self->is_make_type('dmake');
+ $frag .= sprintf <<'EOF', $m_o unless $self->is_make_type('dmake');
.xs$(OBJ_EXT) :
$(XSUBPPRUN) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.xsc
$(MV) $*.xsc $*.c
@@ -46079,8 +47995,8 @@ $fatpacked{"ExtUtils/MM_Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<
$self->_xsbuild_replace_macro($cccmd, 'xs', $ext, 'INC');
my $define = '$(DEFINE)';
$self->_xsbuild_replace_macro($define, 'xs', $ext, 'DEFINE');
- # 1 2 3 4
- $frag .= _sprintf562 <<'EOF', $ext, $cccmd, $minus_o, $define;
+ # 1 2 3 4
+ $frag .= _sprintf562 <<'EOF', $ext, $cccmd, $m_o, $define;
%1$s$(OBJ_EXT): %1$s.xs
$(XSUBPPRUN) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.xsc
@@ -46140,7 +48056,7 @@ $fatpacked{"ExtUtils/MM_VMS.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
use File::Basename;
- our $VERSION = '7.06';
+ our $VERSION = '7.30';
$VERSION = eval $VERSION;
require ExtUtils::MM_Any;
@@ -46428,15 +48344,22 @@ $fatpacked{"ExtUtils/MM_VMS.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
=item pasthru (override)
- VMS has $(MMSQUALIFIERS) which is a listing of all the original command line
- options. This is used in every invocation of make in the VMS Makefile so
- PASTHRU should not be necessary. Using PASTHRU tends to blow commands past
- the 256 character limit.
+ The list of macro definitions to be passed through must be specified using
+ the /MACRO qualifier and must not add another /DEFINE qualifier. We prepend
+ our own comma here to the contents of $(PASTHRU_DEFINE) because it is often
+ empty and a comma always present in CCFLAGS would generate a missing
+ qualifier value error.
=cut
sub pasthru {
- return "PASTHRU=\n";
+ my($self) = shift;
+ my $pasthru = $self->SUPER::pasthru;
+ $pasthru =~ s|(PASTHRU\s*=\s*)|$1/MACRO=(|;
+ $pasthru =~ s|\n\z|)\n|m;
+ $pasthru =~ s|/defi?n?e?=\(?([^\),]+)\)?|,$1|ig;
+
+ return $pasthru;
}
@@ -46851,13 +48774,14 @@ $fatpacked{"ExtUtils/MM_VMS.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
my $term = $1;
$term =~ s:^\((.+)\)$:$1:;
push @terms, $term;
- }
+ }
if ($type eq 'Def') {
push @terms, qw[ $(DEFINE_VERSION) $(XS_DEFINE_VERSION) ];
}
if (@terms) {
$quals =~ s:/${type}i?n?e?=[^/]+::ig;
- $quals .= "/${type}ine=(" . join(',',@terms) . ')';
+ # PASTHRU_DEFINE will have its own comma
+ $quals .= "/${type}ine=(" . join(',',@terms) . ($type eq 'Def' ? '$(PASTHRU_DEFINE)' : '') . ')';
}
}
@@ -47055,24 +48979,103 @@ $fatpacked{"ExtUtils/MM_VMS.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
if ($self->{XSMULTI}) {
for my $ext ($self->_xs_list_basenames) {
my $version = $self->parse_version("$ext.pm");
- my $cccmd = $self->{CONST_CCCMD};
- $cccmd =~ m/^\s*CCCMD\s*=\s*(.*)\n/m;
- $cccmd = $1;
- $cccmd =~ s/\b(VERSION=)[^,\)]*/$1\\"$version\\"/;
- $cccmd =~ s/\b(XS_VERSION=)[^,\)]*/$1\\"$version\\"/;
- # 1 2
- $frag .= _sprintf562 <<'EOF', $ext, $cccmd;
+ my $ccflags = $self->{CCFLAGS};
+ $ccflags =~ s/\$\(DEFINE_VERSION\)/\"VERSION_MACRO=\\"\"$version\\"\"/;
+ $ccflags =~ s/\$\(XS_DEFINE_VERSION\)/\"XS_VERSION_MACRO=\\"\"$version\\"\"/;
+ $self->_xsbuild_replace_macro($ccflags, 'xs', $ext, 'INC');
+ $self->_xsbuild_replace_macro($ccflags, 'xs', $ext, 'DEFINE');
+
+ $frag .= _sprintf562 <<'EOF', $ext, $ccflags;
%1$s$(OBJ_EXT) : %1$s.xs
$(XSUBPPRUN) $(XSPROTOARG) $(XSUBPPARGS) $(MMS$TARGET_NAME).xs > $(MMS$TARGET_NAME).xsc
$(MV) $(MMS$TARGET_NAME).xsc $(MMS$TARGET_NAME).c
- %2$s $(CCCDLFLAGS) $(MMS$TARGET_NAME).c /OBJECT=$(MMS$TARGET_NAME)$(OBJ_EXT)
+ $(CC)%2$s$(OPTIMIZE) $(CCCDLFLAGS) $(MMS$TARGET_NAME).c /OBJECT=$(MMS$TARGET_NAME)$(OBJ_EXT)
EOF
}
}
$frag;
}
+ =item _xsbuild_replace_macro (override)
+
+ There is no simple replacement possible since a qualifier and all its
+ subqualifiers must be considered together, so we use our own utility
+ routine for the replacement.
+
+ =cut
+
+ sub _xsbuild_replace_macro {
+ my ($self, undef, $xstype, $ext, $varname) = @_;
+ my $value = $self->_xsbuild_value($xstype, $ext, $varname);
+ return unless defined $value;
+ $_[1] = _vms_replace_qualifier($self, $_[1], $value, $varname);
+ }
+
+ =item _xsbuild_value (override)
+
+ Convert the extension spec to Unix format, as that's what will
+ match what's in the XSBUILD data structure.
+
+ =cut
+
+ sub _xsbuild_value {
+ my ($self, $xstype, $ext, $varname) = @_;
+ $ext = unixify($ext);
+ return $self->SUPER::_xsbuild_value($xstype, $ext, $varname);
+ }
+
+ sub _vms_replace_qualifier {
+ my ($self, $flags, $newflag, $macro) = @_;
+ my $qual_type;
+ my $type_suffix;
+ my $quote_subquals = 0;
+ my @subquals_new = split /\s+/, $newflag;
+
+ if ($macro eq 'DEFINE') {
+ $qual_type = 'Def';
+ $type_suffix = 'ine';
+ map { $_ =~ s/^-D// } @subquals_new;
+ $quote_subquals = 1;
+ }
+ elsif ($macro eq 'INC') {
+ $qual_type = 'Inc';
+ $type_suffix = 'lude';
+ map { $_ =~ s/^-I//; $_ = $self->fixpath($_) } @subquals_new;
+ }
+
+ my @subquals = ();
+ while ($flags =~ m:/${qual_type}\S{0,4}=([^/]+):ig) {
+ my $term = $1;
+ $term =~ s/\"//g;
+ $term =~ s:^\((.+)\)$:$1:;
+ push @subquals, split /,/, $term;
+ }
+ for my $new (@subquals_new) {
+ my ($sq_new, $sqval_new) = split /=/, $new;
+ my $replaced_old = 0;
+ for my $old (@subquals) {
+ my ($sq, $sqval) = split /=/, $old;
+ if ($sq_new eq $sq) {
+ $old = $sq_new;
+ $old .= '=' . $sqval_new if defined($sqval_new) and length($sqval_new);
+ $replaced_old = 1;
+ last;
+ }
+ }
+ push @subquals, $new unless $replaced_old;
+ }
+
+ if (@subquals) {
+ $flags =~ s:/${qual_type}\S{0,4}=[^/]+::ig;
+ # add quotes if requested but not for unexpanded macros
+ map { $_ = qq/"$_"/ if $_ !~ m/^\$\(/ } @subquals if $quote_subquals;
+ $flags .= "/${qual_type}$type_suffix=(" . join(',',@subquals) . ')';
+ }
+
+ return $flags;
+ }
+
sub xs_dlsyms_ext {
'.opt';
@@ -47081,7 +49084,7 @@ $fatpacked{"ExtUtils/MM_VMS.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
=item dlsyms (override)
Create VMS linker options files specifying universal symbols for this
- extension's shareable image, and listing other shareable images or
+ extension's shareable image(s), and listing other shareable images or
libraries to which it should be linked.
=cut
@@ -47095,25 +49098,27 @@ $fatpacked{"ExtUtils/MM_VMS.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
sub xs_make_dlsyms {
my ($self, $attribs, $target, $dep, $name, $dlbase, $funcs, $funclist, $imports, $vars, $extra) = @_;
my @m;
+ my $instloc;
if ($self->{XSMULTI}) {
my ($v, $d, $f) = File::Spec->splitpath($target);
my @d = File::Spec->splitdir($d);
shift @d if $d[0] eq 'lib';
- my $instloc = $self->catfile('$(INST_ARCHLIB)', 'auto', @d, $f);
+ $instloc = $self->catfile('$(INST_ARCHLIB)', 'auto', @d, $f);
push @m,"\ndynamic :: $instloc\n\t\$(NOECHO) \$(NOOP)\n"
unless $self->{SKIPHASH}{'dynamic'};
push @m,"\nstatic :: $instloc\n\t\$(NOECHO) \$(NOOP)\n"
unless $self->{SKIPHASH}{'static'};
- push @m, sprintf <<'EOF', $instloc, $target;
+ push @m, "\n", sprintf <<'EOF', $instloc, $target;
%s : %s
$(CP) $(MMS$SOURCE) $(MMS$TARGET)
EOF
- } else {
+ }
+ else {
push @m,"\ndynamic :: \$(INST_ARCHAUTODIR)$self->{BASEEXT}.opt\n\t\$(NOECHO) \$(NOOP)\n"
unless $self->{SKIPHASH}{'dynamic'};
push @m,"\nstatic :: \$(INST_ARCHAUTODIR)$self->{BASEEXT}.opt\n\t\$(NOECHO) \$(NOOP)\n"
unless $self->{SKIPHASH}{'static'};
- push @m, sprintf <<'EOF', $target;
+ push @m, "\n", sprintf <<'EOF', $target;
$(INST_ARCHAUTODIR)$(BASEEXT).opt : %s
$(CP) $(MMS$SOURCE) $(MMS$TARGET)
EOF
@@ -47128,33 +49133,45 @@ $fatpacked{"ExtUtils/MM_VMS.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
q!, 'DL_VARS' => !, neatvalue($vars);
push @m, $extra if defined $extra;
push @m, qq!);"\n\t!;
- push @m, ' $(PERL) -e "print ""$(INST_STATIC)/Include=';
+ # Can't use dlbase as it's been through mod2fname.
+ my $olb_base = basename($target, '.opt');
if ($self->{XSMULTI}) {
- push @m, uc($dlbase); # the "DLBASE" - is this right?
- } elsif ($self->{OBJECT} =~ /\bBASEEXT\b/ or
- $self->{OBJECT} =~ /\b$self->{BASEEXT}\b/i) {
- push @m, ($Config{d_vms_case_sensitive_symbols}
- ? uc($self->{BASEEXT}) :'$(BASEEXT)');
- } else { # We don't have a "main" object file, so pull 'em all in
- # Upcase module names if linker is being case-sensitive
- my($upcase) = $Config{d_vms_case_sensitive_symbols};
- my(@omods) = split ' ', $self->eliminate_macros($self->{OBJECT});
- for (@omods) {
- s/\.[^.]*$//; # Trim off file type
- s[\$\(\w+_EXT\)][]; # even as a macro
- s/.*[:>\/\]]//; # Trim off dir spec
- $_ = uc if $upcase;
- };
- my(@lines);
- my $tmp = shift @omods;
- foreach my $elt (@omods) {
- $tmp .= ",$elt";
- if (length($tmp) > 80) { push @lines, $tmp; $tmp = ''; }
+ # We've been passed everything but the kitchen sink -- and the location of the
+ # static library we're using to build the dynamic library -- so concoct that
+ # location from what we do have.
+ my $olb_dir = $self->catdir(dirname($instloc), $olb_base);
+ push @m, qq!\$(PERL) -e "print ""${olb_dir}${olb_base}\$(LIB_EXT)/Include=!;
+ push @m, ($Config{d_vms_case_sensitive_symbols} ? uc($olb_base) : $olb_base);
+ push @m, '\n' . $olb_dir . $olb_base . '$(LIB_EXT)/Library\n"";" >>$(MMS$TARGET)',"\n";
+ }
+ else {
+ push @m, qq!\$(PERL) -e "print ""\$(INST_ARCHAUTODIR)${olb_base}\$(LIB_EXT)/Include=!;
+ if ($self->{OBJECT} =~ /\bBASEEXT\b/ or
+ $self->{OBJECT} =~ /\b$self->{BASEEXT}\b/i) {
+ push @m, ($Config{d_vms_case_sensitive_symbols}
+ ? uc($self->{BASEEXT}) :'$(BASEEXT)');
+ }
+ else { # We don't have a "main" object file, so pull 'em all in
+ # Upcase module names if linker is being case-sensitive
+ my($upcase) = $Config{d_vms_case_sensitive_symbols};
+ my(@omods) = split ' ', $self->eliminate_macros($self->{OBJECT});
+ for (@omods) {
+ s/\.[^.]*$//; # Trim off file type
+ s[\$\(\w+_EXT\)][]; # even as a macro
+ s/.*[:>\/\]]//; # Trim off dir spec
+ $_ = uc if $upcase;
+ };
+ my(@lines);
+ my $tmp = shift @omods;
+ foreach my $elt (@omods) {
+ $tmp .= ",$elt";
+ if (length($tmp) > 80) { push @lines, $tmp; $tmp = ''; }
+ }
+ push @lines, $tmp;
+ push @m, '(', join( qq[, -\\n\\t"";" >>\$(MMS\$TARGET)\n\t\$(PERL) -e "print ""], @lines),')';
}
- push @lines, $tmp;
- push @m, '(', join( qq[, -\\n\\t"";" >>\$(MMS\$TARGET)\n\t\$(PERL) -e "print ""], @lines),')';
+ push @m, '\n$(INST_ARCHAUTODIR)' . $olb_base . '$(LIB_EXT)/Library\n"";" >>$(MMS$TARGET)',"\n";
}
- push @m, '\n$(INST_STATIC)/Library\n"";" >>$(MMS$TARGET)',"\n";
if (length $self->{LDLOADLIBS}) {
my($line) = '';
foreach my $lib (split ' ', $self->{LDLOADLIBS}) {
@@ -47212,29 +49229,34 @@ $fatpacked{"ExtUtils/MM_VMS.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
EOF
}
-
- =item static_lib (override)
+ =item xs_make_static_lib (override)
Use VMS commands to manipulate object library.
=cut
- sub static_lib {
- my($self) = @_;
- return '' unless $self->needs_linking();
+ sub xs_make_static_lib {
+ my ($self, $object, $to, $todir) = @_;
- return '
- $(INST_STATIC) :
- $(NOECHO) $(NOOP)
- ' unless ($self->{OBJECT} or @{$self->{C} || []} or $self->{MYEXTLIB});
+ my @objects;
+ if ($self->{XSMULTI}) {
+ # The extension name should be the main object file name minus file type.
+ my $lib = $object;
+ $lib =~ s/\$\(OBJ_EXT\)\z//;
+ my $override = $self->_xsbuild_value('xs', $lib, 'OBJECT');
+ $object = $override if defined $override;
+ @objects = map { $self->fixpath($_,0) } split /(?<!\^)\s+/, $object;
+ }
+ else {
+ push @objects, $object;
+ }
- my(@m);
- push @m,'
- # Rely on suffix rule for update action
- $(OBJECT) : $(INST_ARCHAUTODIR)$(DFSEP).exists
+ my @m;
+ for my $obj (@objects) {
+ push(@m, sprintf "\n%s : %s\$(DFSEP).exists", $obj, $todir);
+ }
+ push(@m, sprintf "\n\n%s : %s \$(MYEXTLIB)\n", $to, (join ' ', @objects));
- $(INST_STATIC) : $(OBJECT) $(MYEXTLIB)
- ';
# If this extension has its own library (eg SDBM_File)
# then copy that to $(INST_STATIC) and add $(OBJECT) into it.
push(@m, "\t",'$(CP) $(MYEXTLIB) $(MMS$TARGET)',"\n") if $self->{MYEXTLIB};
@@ -47245,8 +49267,11 @@ $fatpacked{"ExtUtils/MM_VMS.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
# 'cause it's a library and you can't stick them in other libraries.
# In that case, we use $OBJECT instead and hope for the best
if ($self->{MYEXTLIB}) {
- push(@m,"\t",'Library/Object/Replace $(MMS$TARGET) $(OBJECT)',"\n");
- } else {
+ for my $obj (@objects) {
+ push(@m,"\t",'Library/Object/Replace $(MMS$TARGET) ' . $obj,"\n");
+ }
+ }
+ else {
push(@m,"\t",'Library/Object/Replace $(MMS$TARGET) $(MMS$SOURCE_LIST)',"\n");
}
@@ -47528,7 +49553,7 @@ $fatpacked{"ExtUtils/MM_VMS.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
]);
}
- push(@m, join(" ", map($self->fixpath($_,0),values %{$self->{XS}}))." : \$(XSUBPPDEPS)\n")
+ push(@m, join(" ", map($self->fixpath($_,0),sort values %{$self->{XS}}))." : \$(XSUBPPDEPS)\n")
if %{$self->{XS}};
join('',@m);
@@ -47638,7 +49663,7 @@ $fatpacked{"ExtUtils/MM_VMS.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
# (e.g. Intuit::DWIM will precede Intuit, so unresolved
# references from [.intuit.dwim]dwim.obj can be found
# in [.intuit]intuit.olb).
- for (sort { length($a) <=> length($b) } keys %olbs) {
+ for (sort { length($a) <=> length($b) || $a cmp $b } keys %olbs) {
next unless $olbs{$_} =~ /\Q$self->{LIB_EXT}\E$/;
my($dir) = $self->fixpath($_,1);
my($extralibs) = $dir . "extralibs.ld";
@@ -47933,7 +49958,8 @@ $fatpacked{"ExtUtils/MM_VMS.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
$cmd =~ s{^\n+}{};
$cmd =~ s{\n+$}{};
- $cmd = $self->quote_literal($cmd);
+ my @cmds = split /\n/, $cmd;
+ $cmd = join " \n\t -e ", map $self->quote_literal($_), @cmds;
$cmd = $self->escape_newlines($cmd);
# Switches must be quoted else they will be lowercased.
@@ -48143,7 +50169,12 @@ $fatpacked{"ExtUtils/MM_VMS.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
$complex = 1;
}
}
- else { ($macro = unixify($self->{$macro})) =~ s#/\Z(?!\n)##; }
+ else {
+ $macro = $self->{$macro};
+ # Don't unixify if there is unescaped whitespace
+ $macro = unixify($macro) unless ($macro =~ /(?<!\^)\s/);
+ $macro =~ s#/\Z(?!\n)##;
+ }
$npath = "$head$macro$tail";
}
}
@@ -48271,7 +50302,7 @@ $fatpacked{"ExtUtils/MM_VOS.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
package ExtUtils::MM_VOS;
use strict;
- our $VERSION = '7.06';
+ our $VERSION = '7.30';
$VERSION = eval $VERSION;
require ExtUtils::MM_Unix;
@@ -48351,12 +50382,12 @@ $fatpacked{"ExtUtils/MM_Win32.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix );
- our $VERSION = '7.06';
+ our $VERSION = '7.30';
$VERSION = eval $VERSION;
$ENV{EMXSHELL} = 'sh'; # to run `commands`
- my ( $BORLAND, $GCC, $MSVC, $DLLTOOL ) = _identify_compiler_environment( \%Config );
+ my ( $BORLAND, $GCC, $MSVC ) = _identify_compiler_environment( \%Config );
sub _identify_compiler_environment {
my ( $config ) = @_;
@@ -48364,9 +50395,8 @@ $fatpacked{"ExtUtils/MM_Win32.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".
my $BORLAND = $config->{cc} =~ /\bbcc/i ? 1 : 0;
my $GCC = $config->{cc} =~ /\bgcc\b/i ? 1 : 0;
my $MSVC = $config->{cc} =~ /\b(?:cl|icl)/i ? 1 : 0; # MSVC can come as clarm.exe, icl=Intel C
- my $DLLTOOL = $config->{dlltool} || 'dlltool';
- return ( $BORLAND, $GCC, $MSVC, $DLLTOOL );
+ return ( $BORLAND, $GCC, $MSVC );
}
@@ -48976,7 +51006,7 @@ $fatpacked{"ExtUtils/MM_Win95.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".
use strict;
- our $VERSION = '7.06';
+ our $VERSION = '7.30';
$VERSION = eval $VERSION;
require ExtUtils::MM_Win32;
@@ -49056,7 +51086,7 @@ $fatpacked{"ExtUtils/MY.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'EXT
use strict;
require ExtUtils::MM;
- our $VERSION = '7.06';
+ our $VERSION = '7.30';
$VERSION = eval $VERSION;
our @ISA = qw(ExtUtils::MM);
@@ -49109,7 +51139,7 @@ $fatpacked{"ExtUtils/MakeMaker.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n"
use File::Path;
my $CAN_DECODE = eval { require ExtUtils::MakeMaker::Locale; }; # 2 birds, 1 stone
eval { ExtUtils::MakeMaker::Locale::reinit('UTF-8') }
- if $CAN_DECODE and $ExtUtils::MakeMaker::Locale::ENCODING_LOCALE eq 'US-ASCII';
+ if $CAN_DECODE and Encode::find_encoding('locale')->name eq 'ascii';
our $Verbose = 0; # exported
our @Parent; # needs to be localized
@@ -49121,7 +51151,7 @@ $fatpacked{"ExtUtils/MakeMaker.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n"
our %macro_fsentity; # whether a macro is a filesystem name
our %macro_dep; # whether a macro is a dependency
- our $VERSION = '7.06';
+ our $VERSION = '7.30';
$VERSION = eval $VERSION; ## no critic [BuiltinFunctions::ProhibitStringyEval]
# Emulate something resembling CVS $Revision$
@@ -49131,7 +51161,7 @@ $fatpacked{"ExtUtils/MakeMaker.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n"
our $Filename = __FILE__; # referenced outside MakeMaker
our @ISA = qw(Exporter);
- our @EXPORT = qw(&WriteMakefile $Verbose &prompt);
+ our @EXPORT = qw(&WriteMakefile $Verbose &prompt &os_unsupported);
our @EXPORT_OK = qw($VERSION &neatvalue &mkbootstrap &mksymlists
&WriteEmptyMakefile &open_for_writing &write_file_via_tmp
&_sprintf562);
@@ -49140,7 +51170,7 @@ $fatpacked{"ExtUtils/MakeMaker.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n"
# purged.
my $Is_VMS = $^O eq 'VMS';
my $Is_Win32 = $^O eq 'MSWin32';
- my $UNDER_CORE = $ENV{PERL_CORE};
+ our $UNDER_CORE = $ENV{PERL_CORE}; # needs to be our
full_setup();
@@ -49249,7 +51279,8 @@ $fatpacked{"ExtUtils/MakeMaker.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n"
sub _verify_att {
my($att) = @_;
- while( my($key, $val) = each %$att ) {
+ foreach my $key (sort keys %$att) {
+ my $val = $att->{$key};
my $sig = $Att_Sigs{$key};
unless( defined $sig ) {
warn "WARNING: $key is not a known parameter.\n";
@@ -49323,6 +51354,10 @@ $fatpacked{"ExtUtils/MakeMaker.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n"
return (!defined $ans || $ans eq '') ? $def : $ans;
}
+ sub os_unsupported {
+ die "OS unsupported\n";
+ }
+
sub eval_in_subdirs {
my($self) = @_;
use Cwd qw(cwd abs_path);
@@ -49547,8 +51582,16 @@ $fatpacked{"ExtUtils/MakeMaker.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n"
$self->{$key},
{
bad_version_hook => sub {
- carp "Unparsable version '$_[0]' for prerequisite $_[1] treated as 0";
- version->new(0);
+ #no warnings 'numeric'; # module doesn't use warnings
+ my $fallback;
+ if ( $_[0] =~ m!^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$! ) {
+ $fallback = sprintf "%f", $_[0];
+ } else {
+ ($fallback) = $_[0] ? ($_[0] =~ /^([0-9.]+)/) : 0;
+ $fallback += 0;
+ carp "Unparsable version '$_[0]' for prerequisite $_[1] treated as $fallback";
+ }
+ version->new($fallback);
},
},
);
@@ -49557,13 +51600,23 @@ $fatpacked{"ExtUtils/MakeMaker.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n"
} else {
for my $module (sort keys %{ $self->{$key} }) {
my $version = $self->{$key}->{$module};
+ my $fallback = 0;
if (!defined($version) or !length($version)) {
carp "Undefined requirement for $module treated as '0' (CPAN::Meta::Requirements not available)";
- } else {
- next if $version =~ /^\d+(?:\.\d+(?:_\d+)*)?$/;
- carp "Unparsable version '$version' for prerequisite $module treated as 0 (CPAN::Meta::Requirements not available)";
}
- $self->{$key}->{$module} = 0;
+ elsif ($version =~ /^\d+(?:\.\d+(?:_\d+)*)?$/) {
+ next;
+ }
+ else {
+ if ( $version =~ m!^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$! ) {
+ $fallback = sprintf "%f", $version;
+ } else {
+ ($fallback) = $version ? ($version =~ /^([0-9.]+)/) : 0;
+ $fallback += 0;
+ carp "Unparsable version '$version' for prerequisite $module treated as $fallback (CPAN::Meta::Requirements not available)";
+ }
+ }
+ $self->{$key}->{$module} = $fallback;
}
}
}
@@ -49578,7 +51631,7 @@ $fatpacked{"ExtUtils/MakeMaker.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n"
}
print "MakeMaker (v$VERSION)\n" if $Verbose;
- if (-f "MANIFEST" && ! -f "Makefile" && ! $ENV{PERL_CORE}){
+ if (-f "MANIFEST" && ! -f "Makefile" && ! $UNDER_CORE){
check_manifest();
}
@@ -49670,6 +51723,18 @@ $fatpacked{"ExtUtils/MakeMaker.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n"
$installed_file = MM->_installed_file_for_module($prereq);
$pr_version = MM->parse_version($installed_file) if $installed_file;
$pr_version = 0 if $pr_version eq 'undef';
+ if ( !eval { version->new( $pr_version ); 1 } ) {
+ #no warnings 'numeric'; # module doesn't use warnings
+ my $fallback;
+ if ( $pr_version =~ m!^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$! ) {
+ $fallback = sprintf '%f', $pr_version;
+ } else {
+ ($fallback) = $pr_version ? ($pr_version =~ /^([0-9.]+)/) : 0;
+ $fallback += 0;
+ carp "Unparsable version '$pr_version' for installed prerequisite $prereq treated as $fallback";
+ }
+ $pr_version = $fallback;
+ }
}
# convert X.Y_Z alpha version #s to X.YZ for easier comparisons
@@ -49679,7 +51744,7 @@ $fatpacked{"ExtUtils/MakeMaker.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n"
warn sprintf "Warning: prerequisite %s %s not found.\n",
$prereq, $required_version
unless $self->{PREREQ_FATAL}
- or $ENV{PERL_CORE};
+ or $UNDER_CORE;
$unsatisfied{$prereq} = 'not installed';
}
@@ -49691,7 +51756,7 @@ $fatpacked{"ExtUtils/MakeMaker.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n"
warn sprintf "Warning: prerequisite %s %s not found. We have %s.\n",
$prereq, $required_version, ($pr_version || 'unknown version')
unless $self->{PREREQ_FATAL}
- or $ENV{PERL_CORE};
+ or $UNDER_CORE;
$unsatisfied{$prereq} = $required_version || 'unknown version' ;
}
@@ -49718,11 +51783,6 @@ $fatpacked{"ExtUtils/MakeMaker.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n"
}
}
- # This is for old Makefiles written pre 5.00, will go away
- if ( Carp::longmess("") =~ /runsubdirpl/s ){
- carp("WARNING: Please rerun 'perl Makefile.PL' to regenerate your Makefiles\n");
- }
-
my $newclass = ++$PACKNAME;
local @Parent = @Parent; # Protect against non-local exits
{
@@ -49917,12 +51977,8 @@ $fatpacked{"ExtUtils/MakeMaker.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n"
croak "WriteEmptyMakefile: Need an even number of args" if @_ % 2;
my %att = @_;
- $att{NAME} = 'Dummy' unless $att{NAME}; # eliminate pointless warnings
$att{DIR} = [] unless $att{DIR}; # don't recurse by default
my $self = MM->new(\%att);
- require File::Path;
- require File::Spec;
- File::Path::rmtree( File::Spec->catdir(qw[blib _eumm]) ); # because MM->new does too much stuff
my $new = $self->{MAKEFILE};
my $old = $self->{MAKEFILE_OLD};
@@ -49933,7 +51989,7 @@ $fatpacked{"ExtUtils/MakeMaker.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n"
_rename($new, $old) or warn "rename $new => $old: $!"
}
open my $mfh, '>', $new or die "open $new for write: $!";
- printf $mfh <<'EOP', $self->{RM_F}, $self->{MAKEFILE};
+ print $mfh <<'EOP';
all :
manifypods :
@@ -49944,10 +52000,7 @@ $fatpacked{"ExtUtils/MakeMaker.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n"
static :
- realclean : clean
-
clean :
- %s %s
install :
@@ -50272,6 +52325,7 @@ $fatpacked{"ExtUtils/MakeMaker.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n"
sub skipcheck {
my($self) = shift;
my($section) = @_;
+ return 'skipped' if $section eq 'metafile' && $UNDER_CORE;
if ($section eq 'dynamic') {
print "Warning (non-fatal): Target 'dynamic' depends on targets ",
"in skipped section 'dynamic_bs'\n"
@@ -50308,8 +52362,8 @@ $fatpacked{"ExtUtils/MakeMaker.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n"
my $self = shift;
my $finalname = $self->{MAKEFILE};
- printf "Generating a %s %s\n", $self->make_type, $finalname;
- print "Writing $finalname for $self->{NAME}\n";
+ printf "Generating a %s %s\n", $self->make_type, $finalname if $Verbose || !$self->{PARENT};
+ print "Writing $finalname for $self->{NAME}\n" if $Verbose || !$self->{PARENT};
unlink($finalname, "MakeMaker.tmp", $Is_VMS ? 'Descrip.MMS' : ());
@@ -50444,14 +52498,10 @@ $fatpacked{"ExtUtils/MakeMaker.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n"
# here so even if top_targets is overridden, these will still be defined
# gmake will silently still work if any are .PHONY-ed but nmake won't
- static ::
- $(NOECHO) $(NOOP)
-
- dynamic ::
- $(NOECHO) $(NOOP)
EOF
push @m, join "\n", map "$_ ::\n\t\$(NOECHO) \$(NOOP)\n",
# config is so manifypods won't puke if no subdirs
+ grep !$self->{SKIPHASH}{$_},
qw(static dynamic config);
join "\n", @m;
}
@@ -50542,6 +52592,23 @@ $fatpacked{"ExtUtils/MakeMaker.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n"
execute all matching files in alphabetical order via the
L<Test::Harness> module with the C<-I> switches set correctly.
+ You can also organize your tests within subdirectories in the F<t/> directory.
+ To do so, use the F<test> directive in your I<Makefile.PL>. For example, if you
+ had tests in:
+
+ t/foo
+ t/foo/bar
+
+ You could tell make to run tests in both of those directories with the
+ following directives:
+
+ test => {TESTS => 't/*/*.t t/*/*/*.t'}
+ test => {TESTS => 't/foo/*.t t/foo/bar/*.t'}
+
+ The first will run all test files in all first-level subdirectories and all
+ subdirectories they contain. The second will run tests in only the F<t/foo>
+ and F<t/foo/bar>.
+
If you'd like to see the raw output of your tests, set the
C<TEST_VERBOSE> variable to true.
@@ -52073,6 +54140,8 @@ $fatpacked{"ExtUtils/MakeMaker.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n"
{RECURSIVE_TEST_FILES=>1}
+ This is supported since 6.76
+
=item tool_autosplit
{MAXLEN => 8}
@@ -52301,13 +54370,13 @@ $fatpacked{"ExtUtils/MakeMaker.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n"
seamlessly and rapidly populate CPAN with module meta-data. If you wish to
shut this feature off, set the C<NO_META> C<WriteMakefile()> flag to true.
- At the 2008 QA Hackathon in Oslo, Perl module toolchain maintainers agrees
+ At the 2008 QA Hackathon in Oslo, Perl module toolchain maintainers agreed
to use the CPAN Meta format to communicate post-configuration requirements
between toolchain components. These files, F<MYMETA.json> and F<MYMETA.yml>,
are generated when F<Makefile.PL> generates a F<Makefile> (if L<CPAN::Meta>
- is installed). Clients like L<CPAN> or L<CPANPLUS> will read this
+ is installed). Clients like L<CPAN> or L<CPANPLUS> will read these
files to see what prerequisites must be fulfilled before building or testing
- the distribution. If you with to shut this feature off, set the C<NO_MYMETA>
+ the distribution. If you wish to shut this feature off, set the C<NO_MYMETA>
C<WriteMakeFile()> flag to true.
=head2 Disabling an extension
@@ -52349,6 +54418,17 @@ $fatpacked{"ExtUtils/MakeMaker.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n"
If no $default is provided an empty string will be used instead.
+ =item os_unsupported
+
+ os_unsupported();
+ os_unsupported if $^O eq 'MSWin32';
+
+ The C<os_unsupported()> function provides a way to correctly exit your
+ C<Makefile.PL> before calling C<WriteMakefile>. It is essentially a
+ C<die> with the message "OS unsupported".
+
+ This is supported since 7.26
+
=back
=head2 Supported versions of Perl
@@ -52436,7 +54516,7 @@ $fatpacked{"ExtUtils/MakeMaker/Config.pm"} = '#line '.(1+__LINE__).' "'.__FILE__
use strict;
- our $VERSION = '7.06';
+ our $VERSION = '7.30';
$VERSION = eval $VERSION;
use Config ();
@@ -52478,7 +54558,7 @@ $fatpacked{"ExtUtils/MakeMaker/Locale.pm"} = '#line '.(1+__LINE__).' "'.__FILE__
package ExtUtils::MakeMaker::Locale;
use strict;
- our $VERSION = "7.06";
+ our $VERSION = "7.30";
$VERSION = eval $VERSION;
use base 'Exporter';
@@ -52505,11 +54585,8 @@ $fatpacked{"ExtUtils/MakeMaker/Locale.pm"} = '#line '.(1+__LINE__).' "'.__FILE__
eval {
unless (defined &GetConsoleCP) {
require Win32;
- # no point falling back to Win32::GetConsoleCP from this
- # as added same time, 0.45
- eval { Win32::GetConsoleCP() };
# manually "import" it since Win32->import refuses
- *GetConsoleCP = sub { &Win32::GetConsoleCP } unless $@;
+ *GetConsoleCP = sub { &Win32::GetConsoleCP } if defined &Win32::GetConsoleCP;
}
unless (defined &GetConsoleCP) {
require Win32::API;
@@ -52529,18 +54606,17 @@ $fatpacked{"ExtUtils/MakeMaker/Locale.pm"} = '#line '.(1+__LINE__).' "'.__FILE__
require Win32;
eval { Win32::GetConsoleCP() };
# manually "import" it since Win32->import refuses
- *GetInputCP = sub { &Win32::GetConsoleCP } unless $@;
- *GetOutputCP = sub { &Win32::GetConsoleOutputCP } unless $@;
+ *GetInputCP = sub { &Win32::GetConsoleCP } if defined &Win32::GetConsoleCP;
+ *GetOutputCP = sub { &Win32::GetConsoleOutputCP } if defined &Win32::GetConsoleOutputCP;
};
unless (defined &GetInputCP) {
eval {
# try Win32::Console module for codepage to use
require Win32::Console;
- eval { Win32::Console::InputCP() };
*GetInputCP = sub { &Win32::Console::InputCP }
- unless $@;
+ if defined &Win32::Console::InputCP;
*GetOutputCP = sub { &Win32::Console::OutputCP }
- unless $@;
+ if defined &Win32::Console::OutputCP;
};
}
unless (defined &GetInputCP) {
@@ -52615,7 +54691,7 @@ $fatpacked{"ExtUtils/MakeMaker/Locale.pm"} = '#line '.(1+__LINE__).' "'.__FILE__
sub _flush_aliases {
no strict 'refs';
- for my $a (keys %Encode::Alias::Alias) {
+ for my $a (sort keys %Encode::Alias::Alias) {
if (defined ${"ENCODING_" . uc($a)}) {
delete $Encode::Alias::Alias{$a};
warn "Flushed alias cache for $a" if DEBUG;
@@ -52872,7 +54948,7 @@ $fatpacked{"ExtUtils/MakeMaker/version.pm"} = '#line '.(1+__LINE__).' "'.__FILE_
use vars qw(@ISA $VERSION $CLASS $STRICT $LAX *declare *qv);
- $VERSION = '7.06';
+ $VERSION = '7.30';
$VERSION = eval $VERSION;
$CLASS = 'version';
@@ -52926,7 +55002,7 @@ $fatpacked{"ExtUtils/MakeMaker/version/regex.pm"} = '#line '.(1+__LINE__).' "'._
use vars qw($VERSION $CLASS $STRICT $LAX);
- $VERSION = '7.06';
+ $VERSION = '7.30';
$VERSION = eval $VERSION;
#--------------------------------------------------------------------------#
@@ -53171,7 +55247,7 @@ $fatpacked{"ExtUtils/MakeMaker/version/vpp.pm"} = '#line '.(1+__LINE__).' "'.__F
use Config;
use vars qw($VERSION $CLASS @ISA $LAX $STRICT);
- $VERSION = '7.06';
+ $VERSION = '7.30';
$VERSION = eval $VERSION;
$CLASS = 'ExtUtils::MakeMaker::version::vpp';
@@ -54992,7 +57068,7 @@ $fatpacked{"ExtUtils/Mkbootstrap.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\
# There's just too much Dynaloader incest here to turn on strict vars.
use strict 'refs';
- our $VERSION = '7.06';
+ our $VERSION = '7.30';
$VERSION = eval $VERSION;
require Exporter;
@@ -55114,7 +57190,7 @@ $fatpacked{"ExtUtils/Mksymlists.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n
our @ISA = qw(Exporter);
our @EXPORT = qw(&Mksymlists);
- our $VERSION = '7.06';
+ our $VERSION = '7.30';
$VERSION = eval $VERSION;
sub Mksymlists {
@@ -55422,13 +57498,369 @@ $fatpacked{"ExtUtils/Mksymlists.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n
Last revised 14-Feb-1996, for Perl 5.002.
EXTUTILS_MKSYMLISTS
+$fatpacked{"ExtUtils/Packlist.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'EXTUTILS_PACKLIST';
+ package ExtUtils::Packlist;
+
+ use 5.00503;
+ use strict;
+ use Carp qw();
+ use Config;
+ use vars qw($VERSION $Relocations);
+ $VERSION = '2.06';
+ $VERSION = eval $VERSION;
+
+ # Used for generating filehandle globs. IO::File might not be available!
+ my $fhname = "FH1";
+
+ =begin _undocumented
+
+ =over
+
+ =item mkfh()
+
+ Make a filehandle. Same kind of idea as Symbol::gensym().
+
+ =cut
+
+ sub mkfh()
+ {
+ no strict;
+ local $^W;
+ my $fh = \*{$fhname++};
+ use strict;
+ return($fh);
+ }
+
+ =item __find_relocations
+
+ Works out what absolute paths in the configuration have been located at run
+ time relative to $^X, and generates a regexp that matches them
+
+ =back
+
+ =end _undocumented
+
+ =cut
+
+ sub __find_relocations
+ {
+ my %paths;
+ while (my ($raw_key, $raw_val) = each %Config) {
+ my $exp_key = $raw_key . "exp";
+ next unless exists $Config{$exp_key};
+ next unless $raw_val =~ m!\.\.\./!;
+ $paths{$Config{$exp_key}}++;
+ }
+ # Longest prefixes go first in the alternatives
+ my $alternations = join "|", map {quotemeta $_}
+ sort {length $b <=> length $a} keys %paths;
+ qr/^($alternations)/o;
+ }
+
+ sub new($$)
+ {
+ my ($class, $packfile) = @_;
+ $class = ref($class) || $class;
+ my %self;
+ tie(%self, $class, $packfile);
+ return(bless(\%self, $class));
+ }
+
+ sub TIEHASH
+ {
+ my ($class, $packfile) = @_;
+ my $self = { packfile => $packfile };
+ bless($self, $class);
+ $self->read($packfile) if (defined($packfile) && -f $packfile);
+ return($self);
+ }
+
+ sub STORE
+ {
+ $_[0]->{data}->{$_[1]} = $_[2];
+ }
+
+ sub FETCH
+ {
+ return($_[0]->{data}->{$_[1]});
+ }
+
+ sub FIRSTKEY
+ {
+ my $reset = scalar(keys(%{$_[0]->{data}}));
+ return(each(%{$_[0]->{data}}));
+ }
+
+ sub NEXTKEY
+ {
+ return(each(%{$_[0]->{data}}));
+ }
+
+ sub EXISTS
+ {
+ return(exists($_[0]->{data}->{$_[1]}));
+ }
+
+ sub DELETE
+ {
+ return(delete($_[0]->{data}->{$_[1]}));
+ }
+
+ sub CLEAR
+ {
+ %{$_[0]->{data}} = ();
+ }
+
+ sub DESTROY
+ {
+ }
+
+ sub read($;$)
+ {
+ my ($self, $packfile) = @_;
+ $self = tied(%$self) || $self;
+
+ if (defined($packfile)) { $self->{packfile} = $packfile; }
+ else { $packfile = $self->{packfile}; }
+ Carp::croak("No packlist filename specified") if (! defined($packfile));
+ my $fh = mkfh();
+ open($fh, "<$packfile") || Carp::croak("Can't open file $packfile: $!");
+ $self->{data} = {};
+ my ($line);
+ while (defined($line = <$fh>))
+ {
+ chomp $line;
+ my ($key, $data) = $line;
+ if ($key =~ /^(.*?)( \w+=.*)$/)
+ {
+ $key = $1;
+ $data = { map { split('=', $_) } split(' ', $2)};
+
+ if ($Config{userelocatableinc} && $data->{relocate_as})
+ {
+ require File::Spec;
+ require Cwd;
+ my ($vol, $dir) = File::Spec->splitpath($packfile);
+ my $newpath = File::Spec->catpath($vol, $dir, $data->{relocate_as});
+ $key = Cwd::realpath($newpath);
+ }
+ }
+ $key =~ s!/\./!/!g; # Some .packlists have spurious '/./' bits in the paths
+ $self->{data}->{$key} = $data;
+ }
+ close($fh);
+ }
+
+ sub write($;$)
+ {
+ my ($self, $packfile) = @_;
+ $self = tied(%$self) || $self;
+ if (defined($packfile)) { $self->{packfile} = $packfile; }
+ else { $packfile = $self->{packfile}; }
+ Carp::croak("No packlist filename specified") if (! defined($packfile));
+ my $fh = mkfh();
+ open($fh, ">$packfile") || Carp::croak("Can't open file $packfile: $!");
+ foreach my $key (sort(keys(%{$self->{data}})))
+ {
+ my $data = $self->{data}->{$key};
+ if ($Config{userelocatableinc}) {
+ $Relocations ||= __find_relocations();
+ if ($packfile =~ $Relocations) {
+ # We are writing into a subdirectory of a run-time relocated
+ # path. Figure out if the this file is also within a subdir.
+ my $prefix = $1;
+ if (File::Spec->no_upwards(File::Spec->abs2rel($key, $prefix)))
+ {
+ # The relocated path is within the found prefix
+ my $packfile_prefix;
+ (undef, $packfile_prefix)
+ = File::Spec->splitpath($packfile);
+
+ my $relocate_as
+ = File::Spec->abs2rel($key, $packfile_prefix);
+
+ if (!ref $data) {
+ $data = {};
+ }
+ $data->{relocate_as} = $relocate_as;
+ }
+ }
+ }
+ print $fh ("$key");
+ if (ref($data))
+ {
+ foreach my $k (sort(keys(%$data)))
+ {
+ print $fh (" $k=$data->{$k}");
+ }
+ }
+ print $fh ("\n");
+ }
+ close($fh);
+ }
+
+ sub validate($;$)
+ {
+ my ($self, $remove) = @_;
+ $self = tied(%$self) || $self;
+ my @missing;
+ foreach my $key (sort(keys(%{$self->{data}})))
+ {
+ if (! -e $key)
+ {
+ push(@missing, $key);
+ delete($self->{data}{$key}) if ($remove);
+ }
+ }
+ return(@missing);
+ }
+
+ sub packlist_file($)
+ {
+ my ($self) = @_;
+ $self = tied(%$self) || $self;
+ return($self->{packfile});
+ }
+
+ 1;
+
+ __END__
+
+ =head1 NAME
+
+ ExtUtils::Packlist - manage .packlist files
+
+ =head1 SYNOPSIS
+
+ use ExtUtils::Packlist;
+ my ($pl) = ExtUtils::Packlist->new('.packlist');
+ $pl->read('/an/old/.packlist');
+ my @missing_files = $pl->validate();
+ $pl->write('/a/new/.packlist');
+
+ $pl->{'/some/file/name'}++;
+ or
+ $pl->{'/some/other/file/name'} = { type => 'file',
+ from => '/some/file' };
+
+ =head1 DESCRIPTION
+
+ ExtUtils::Packlist provides a standard way to manage .packlist files.
+ Functions are provided to read and write .packlist files. The original
+ .packlist format is a simple list of absolute pathnames, one per line. In
+ addition, this package supports an extended format, where as well as a filename
+ each line may contain a list of attributes in the form of a space separated
+ list of key=value pairs. This is used by the installperl script to
+ differentiate between files and links, for example.
+
+ =head1 USAGE
+
+ The hash reference returned by the new() function can be used to examine and
+ modify the contents of the .packlist. Items may be added/deleted from the
+ .packlist by modifying the hash. If the value associated with a hash key is a
+ scalar, the entry written to the .packlist by any subsequent write() will be a
+ simple filename. If the value is a hash, the entry written will be the
+ filename followed by the key=value pairs from the hash. Reading back the
+ .packlist will recreate the original entries.
+
+ =head1 FUNCTIONS
+
+ =over 4
+
+ =item new()
+
+ This takes an optional parameter, the name of a .packlist. If the file exists,
+ it will be opened and the contents of the file will be read. The new() method
+ returns a reference to a hash. This hash holds an entry for each line in the
+ .packlist. In the case of old-style .packlists, the value associated with each
+ key is undef. In the case of new-style .packlists, the value associated with
+ each key is a hash containing the key=value pairs following the filename in the
+ .packlist.
+
+ =item read()
+
+ This takes an optional parameter, the name of the .packlist to be read. If
+ no file is specified, the .packlist specified to new() will be read. If the
+ .packlist does not exist, Carp::croak will be called.
+
+ =item write()
+
+ This takes an optional parameter, the name of the .packlist to be written. If
+ no file is specified, the .packlist specified to new() will be overwritten.
+
+ =item validate()
+
+ This checks that every file listed in the .packlist actually exists. If an
+ argument which evaluates to true is given, any missing files will be removed
+ from the internal hash. The return value is a list of the missing files, which
+ will be empty if they all exist.
+
+ =item packlist_file()
+
+ This returns the name of the associated .packlist file
+
+ =back
+
+ =head1 EXAMPLE
+
+ Here's C<modrm>, a little utility to cleanly remove an installed module.
+
+ #!/usr/local/bin/perl -w
+
+ use strict;
+ use IO::Dir;
+ use ExtUtils::Packlist;
+ use ExtUtils::Installed;
+
+ sub emptydir($) {
+ my ($dir) = @_;
+ my $dh = IO::Dir->new($dir) || return(0);
+ my @count = $dh->read();
+ $dh->close();
+ return(@count == 2 ? 1 : 0);
+ }
+
+ # Find all the installed packages
+ print("Finding all installed modules...\n");
+ my $installed = ExtUtils::Installed->new();
+
+ foreach my $module (grep(!/^Perl$/, $installed->modules())) {
+ my $version = $installed->version($module) || "???";
+ print("Found module $module Version $version\n");
+ print("Do you want to delete $module? [n] ");
+ my $r = <STDIN>; chomp($r);
+ if ($r && $r =~ /^y/i) {
+ # Remove all the files
+ foreach my $file (sort($installed->files($module))) {
+ print("rm $file\n");
+ unlink($file);
+ }
+ my $pf = $installed->packlist($module)->packlist_file();
+ print("rm $pf\n");
+ unlink($pf);
+ foreach my $dir (sort($installed->directory_tree($module))) {
+ if (emptydir($dir)) {
+ print("rmdir $dir\n");
+ rmdir($dir);
+ }
+ }
+ }
+ }
+
+ =head1 AUTHOR
+
+ Alan Burlison <Alan.Burlison@uk.sun.com>
+
+ =cut
+EXTUTILS_PACKLIST
+
$fatpacked{"ExtUtils/testlib.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'EXTUTILS_TESTLIB';
package ExtUtils::testlib;
use strict;
use warnings;
- our $VERSION = '7.06';
+ our $VERSION = '7.30';
$VERSION = eval $VERSION;
use Cwd;
@@ -55474,23 +57906,24 @@ $fatpacked{"Getopt/Long.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'GET
# Author : Johan Vromans
# Created On : Tue Sep 11 15:00:12 1990
# Last Modified By: Johan Vromans
- # Last Modified On: Tue Jun 16 15:28:03 2015
- # Update Count : 1695
+ # Last Modified On: Sat May 27 12:11:39 2017
+ # Update Count : 1715
# Status : Released
################ Module Preamble ################
- package Getopt::Long;
-
use 5.004;
use strict;
+ use warnings;
+
+ package Getopt::Long;
use vars qw($VERSION);
- $VERSION = 2.47;
+ $VERSION = 2.50;
# For testing versions only.
use vars qw($VERSION_STRING);
- $VERSION_STRING = "2.47";
+ $VERSION_STRING = "2.50";
use Exporter;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@@ -56515,7 +58948,8 @@ $fatpacked{"Getopt/Long.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'GET
# Complete the option name, if appropriate.
if ( @hits == 1 && $hits[0] ne $opt ) {
$tryopt = $hits[0];
- $tryopt = lc ($tryopt) if $ignorecase;
+ $tryopt = lc ($tryopt)
+ if $ignorecase > (($bundling && length($tryopt) == 1) ? 1 : 0);
print STDERR ("=> option \"$opt\" -> \"$tryopt\"\n")
if $debug;
}
@@ -56579,9 +59013,26 @@ $fatpacked{"Getopt/Long.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'GET
my $mand = $ctl->[CTL_AMIN];
# Check if there is an option argument available.
- if ( $gnu_compat && defined $optarg && $optarg eq '' ) {
- return (1, $opt, $ctl, $type eq 's' ? '' : 0) ;#unless $mand;
- $optarg = 0 unless $type eq 's';
+ if ( $gnu_compat ) {
+ my $optargtype = 0; # none, 1 = empty, 2 = nonempty, 3 = aux
+ if ( defined($optarg) ) {
+ $optargtype = (length($optarg) == 0) ? 1 : 2;
+ }
+ elsif ( defined $rest || @$argv > 0 ) {
+ # GNU getopt_long() does not accept the (optional)
+ # argument to be passed to the option without = sign.
+ # We do, since not doing so breaks existing scripts.
+ $optargtype = 3;
+ }
+ if(($optargtype == 0) && !$mand) {
+ my $val
+ = defined($ctl->[CTL_DEFAULT]) ? $ctl->[CTL_DEFAULT]
+ : $type eq 's' ? ''
+ : 0;
+ return (1, $opt, $ctl, $val);
+ }
+ return (1, $opt, $ctl, $type eq 's' ? '' : 0)
+ if $optargtype == 1; # --foo= -> return nothing
}
# Check if there is an option argument available.
@@ -56829,6 +59280,8 @@ $fatpacked{"Getopt/Long.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'GET
}
elsif ( $try eq 'gnu_compat' ) {
$gnu_compat = $action;
+ $bundling = 0;
+ $bundling_values = 1;
}
elsif ( $try =~ /^(auto_?)?version$/ ) {
$auto_version = $action;
@@ -56915,7 +59368,7 @@ $fatpacked{"Getopt/Long.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'GET
my $v = $main::VERSION;
my $fh = $pa->{-output} ||
- ($pa->{-exitval} eq "NOEXIT" || $pa->{-exitval} < 2) ? \*STDOUT : \*STDERR;
+ ( ($pa->{-exitval} eq "NOEXIT" || $pa->{-exitval} < 2) ? \*STDOUT : \*STDERR );
print $fh (defined($pa->{-message}) ? $pa->{-message} : (),
$0, defined $v ? " version $v" : (),
@@ -57217,12 +59670,12 @@ $fatpacked{"Getopt/Long.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'GET
GetOptions ("library=s" => \@libfiles);
Alternatively, you can specify that the option can have multiple
- values by adding a "@", and pass a scalar reference as the
+ values by adding a "@", and pass a reference to a scalar as the
destination:
GetOptions ("library=s@" => \$libfiles);
- Used with the example above, C<@libfiles> (or C<@$libfiles>) would
+ Used with the example above, C<@libfiles> c.q. C<@$libfiles> would
contain two strings upon completion: C<"lib/stdlib"> and
C<"lib/extlib">, in that order. It is also possible to specify that
only integer or floating point numbers are acceptable values.
@@ -57786,11 +60239,14 @@ $fatpacked{"Getopt/Long.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'GET
C<--opt=> will give option C<opt> and empty value.
This is the way GNU getopt_long() does it.
+ Note that C<--opt value> is still accepted, even though GNU
+ getopt_long() doesn't.
+
=item gnu_getopt
This is a short way of setting C<gnu_compat> C<bundling> C<permute>
C<no_getopt_compat>. With C<gnu_getopt>, command line handling should be
- fully compatible with GNU getopt_long().
+ reasonably compatible with GNU getopt_long().
=item require_order
@@ -58219,21 +60675,21 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
use strict;
use Carp ();
- use base qw(Exporter);
+ use Exporter;
+ BEGIN { @JSON::ISA = 'Exporter' }
+
@JSON::EXPORT = qw(from_json to_json jsonToObj objToJson encode_json decode_json);
BEGIN {
- $JSON::VERSION = '2.90';
+ $JSON::VERSION = '2.94';
$JSON::DEBUG = 0 unless (defined $JSON::DEBUG);
$JSON::DEBUG = $ENV{ PERL_JSON_DEBUG } if exists $ENV{ PERL_JSON_DEBUG };
}
- my $Module_XS = 'JSON::XS';
- my $Module_PP = 'JSON::PP';
- my $Module_bp = 'JSON::backportPP'; # included in JSON distribution
- my $PP_Version = '2.27203';
- my $XS_Version = '2.34';
-
+ my %RequiredVersion = (
+ 'JSON::PP' => '2.27203',
+ 'JSON::XS' => '2.34',
+ );
# XS and PP common methods
@@ -58258,10 +60714,8 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
# used in _load_xs and _load_pp ($INSTALL_ONLY is not used currently)
my $_INSTALL_DONT_DIE = 1; # When _load_xs fails to load XS, don't die.
- my $_INSTALL_ONLY = 2; # Don't call _set_methods()
my $_ALLOW_UNSUPPORTED = 0;
my $_UNIV_CONV_BLESSED = 0;
- my $_USSING_bpPP = 0;
# Check the environment variable to decide worker module.
@@ -58271,21 +60725,32 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
my $backend = exists $ENV{PERL_JSON_BACKEND} ? $ENV{PERL_JSON_BACKEND} : 1;
- if ($backend eq '1' or $backend =~ /JSON::XS\s*,\s*JSON::PP/) {
- _load_xs($_INSTALL_DONT_DIE) or _load_pp();
+ if ($backend eq '1') {
+ $backend = 'JSON::XS,JSON::PP';
}
- elsif ($backend eq '0' or $backend eq 'JSON::PP') {
- _load_pp();
+ elsif ($backend eq '0') {
+ $backend = 'JSON::PP';
}
- elsif ($backend eq '2' or $backend eq 'JSON::XS') {
- _load_xs();
+ elsif ($backend eq '2') {
+ $backend = 'JSON::XS';
}
- elsif ($backend eq 'JSON::backportPP') {
- $_USSING_bpPP = 1;
- _load_pp();
- }
- else {
- Carp::croak "The value of environmental variable 'PERL_JSON_BACKEND' is invalid.";
+ $backend =~ s/\s+//g;
+
+ my @backend_modules = split /,/, $backend;
+ while(my $module = shift @backend_modules) {
+ if ($module =~ /JSON::XS/) {
+ _load_xs($module, @backend_modules ? $_INSTALL_DONT_DIE : 0);
+ }
+ elsif ($module =~ /JSON::PP/) {
+ _load_pp($module);
+ }
+ elsif ($module =~ /JSON::backportPP/) {
+ _load_pp($module);
+ }
+ else {
+ Carp::croak "The value of environmental variable 'PERL_JSON_BACKEND' is invalid.";
+ }
+ last if $JSON::Backend;
}
}
@@ -58299,7 +60764,7 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
if ($tag eq '-support_by_pp') {
if (!$_ALLOW_UNSUPPORTED++) {
JSON::Backend::XS
- ->support_by_pp(@PPOnlyMethods) if ($JSON::Backend eq $Module_XS);
+ ->support_by_pp(@PPOnlyMethods) if ($JSON::Backend->is_xs);
}
next;
}
@@ -58307,15 +60772,22 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
$no_export++, next;
}
elsif ( $tag eq '-convert_blessed_universally' ) {
+ my $org_encode = $JSON::Backend->can('encode');
eval q|
require B;
- *UNIVERSAL::TO_JSON = sub {
- my $b_obj = B::svref_2object( $_[0] );
- return $b_obj->isa('B::HV') ? { %{ $_[0] } }
- : $b_obj->isa('B::AV') ? [ @{ $_[0] } ]
- : undef
- ;
- }
+ local $^W;
+ no strict 'refs';
+ *{"${JSON::Backend}\::encode"} = sub {
+ # only works with Perl 5.18+
+ local *UNIVERSAL::TO_JSON = sub {
+ my $b_obj = B::svref_2object( $_[0] );
+ return $b_obj->isa('B::HV') ? { %{ $_[0] } }
+ : $b_obj->isa('B::AV') ? [ @{ $_[0] } ]
+ : undef
+ ;
+ };
+ $org_encode->(@_);
+ };
| if ( !$_UNIV_CONV_BLESSED++ );
next;
}
@@ -58396,7 +60868,7 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
sub null { undef; }
- sub require_xs_version { $XS_Version; }
+ sub require_xs_version { $RequiredVersion{'JSON::XS'}; }
sub backend {
my $proto = shift;
@@ -58407,12 +60879,12 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
sub is_xs {
- return $_[0]->backend eq $Module_XS;
+ return $_[0]->backend->is_xs;
}
sub is_pp {
- return not $_[0]->is_xs;
+ return $_[0]->backend->is_pp;
}
@@ -58457,172 +60929,106 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
# INTERNAL
- sub _load_xs {
- my $opt = shift;
-
- $JSON::DEBUG and Carp::carp "Load $Module_XS.";
+ sub __load_xs {
+ my ($module, $opt) = @_;
- # if called after install module, overload is disable.... why?
- JSON::Boolean::_overrride_overload($Module_XS);
- JSON::Boolean::_overrride_overload($Module_PP);
+ $JSON::DEBUG and Carp::carp "Load $module.";
+ my $required_version = $RequiredVersion{$module} || '';
eval qq|
- use $Module_XS $XS_Version ();
+ use $module $required_version ();
|;
if ($@) {
if (defined $opt and $opt & $_INSTALL_DONT_DIE) {
- $JSON::DEBUG and Carp::carp "Can't load $Module_XS...($@)";
+ $JSON::DEBUG and Carp::carp "Can't load $module...($@)";
return 0;
}
Carp::croak $@;
}
+ $JSON::BackendModuleXS = $module;
+ return 1;
+ }
- unless (defined $opt and $opt & $_INSTALL_ONLY) {
- _set_module( $JSON::Backend = $Module_XS );
- my $data = join("", <DATA>); # this code is from Jcode 2.xx.
- close(DATA);
- eval $data;
- JSON::Backend::XS->init;
- }
+ sub _load_xs {
+ my ($module, $opt) = @_;
+ __load_xs($module, $opt) or return;
+
+ my $data = join("", <DATA>); # this code is from Jcode 2.xx.
+ close(DATA);
+ eval $data;
+ JSON::Backend::XS->init($module);
return 1;
};
- sub _load_pp {
- my $opt = shift;
- my $backend = $_USSING_bpPP ? $Module_bp : $Module_PP;
+ sub __load_pp {
+ my ($module, $opt) = @_;
- $JSON::DEBUG and Carp::carp "Load $backend.";
+ $JSON::DEBUG and Carp::carp "Load $module.";
+ my $required_version = $RequiredVersion{$module} || '';
- # if called after install module, overload is disable.... why?
- JSON::Boolean::_overrride_overload($Module_XS);
- JSON::Boolean::_overrride_overload($backend);
-
- if ( $_USSING_bpPP ) {
- eval qq| require $backend |;
- }
- else {
- eval qq| use $backend $PP_Version () |;
- }
+ eval qq| use $module $required_version () |;
if ($@) {
- if ( $backend eq $Module_PP ) {
- $JSON::DEBUG and Carp::carp "Can't load $Module_PP ($@), so try to load $Module_bp";
- $_USSING_bpPP++;
- $backend = $Module_bp;
- JSON::Boolean::_overrride_overload($backend);
+ if ( $module eq 'JSON::PP' ) {
+ $JSON::DEBUG and Carp::carp "Can't load $module ($@), so try to load JSON::backportPP";
+ $module = 'JSON::backportPP';
local $^W; # if PP installed but invalid version, backportPP redefines methods.
- eval qq| require $Module_bp |;
+ eval qq| require $module |;
}
Carp::croak $@ if $@;
}
-
- unless (defined $opt and $opt & $_INSTALL_ONLY) {
- _set_module( $JSON::Backend = $Module_PP ); # even if backportPP, set $Backend with 'JSON::PP'
- JSON::Backend::PP->init;
- }
- };
-
-
- sub _set_module {
- return if defined $JSON::true;
-
- my $module = shift;
-
- local $^W;
- no strict qw(refs);
-
- $JSON::true = ${"$module\::true"};
- $JSON::false = ${"$module\::false"};
-
- push @JSON::ISA, $module;
- if ( JSON->is_xs and JSON->backend->VERSION < 3 ) {
- eval 'package JSON::PP::Boolean';
- push @{"$module\::Boolean::ISA"}, qw(JSON::PP::Boolean);
- }
-
- *{"JSON::is_bool"} = \&{"$module\::is_bool"};
-
- for my $method ($module eq $Module_XS ? @PPOnlyMethods : @XSOnlyMethods) {
- *{"JSON::$method"} = sub {
- Carp::carp("$method is not supported in $module.");
- $_[0];
- };
- }
-
+ $JSON::BackendModulePP = $module;
return 1;
}
+ sub _load_pp {
+ my ($module, $opt) = @_;
+ __load_pp($module, $opt);
+ JSON::Backend::PP->init($module);
+ };
#
- # JSON Boolean
+ # Helper classes for Backend Module (PP)
#
- package JSON::Boolean;
+ package JSON::Backend::PP;
- my %Installed;
+ sub init {
+ my ($class, $module) = @_;
- sub _overrride_overload {
- return; # this function is currently disable.
- return if ($Installed{ $_[0] }++);
+ # name may vary, but the module should (always) be a JSON::PP
- my $boolean = $_[0] . '::Boolean';
+ local $^W;
+ no strict qw(refs); # this routine may be called after JSON::Backend::XS init was called.
+ *{"JSON::decode_json"} = \&{"JSON::PP::decode_json"};
+ *{"JSON::encode_json"} = \&{"JSON::PP::encode_json"};
+ *{"JSON::is_bool"} = \&{"JSON::PP::is_bool"};
- eval sprintf(q|
- package %s;
- use overload (
- '""' => sub { ${$_[0]} == 1 ? 'true' : 'false' },
- 'eq' => sub {
- my ($obj, $op) = ref ($_[0]) ? ($_[0], $_[1]) : ($_[1], $_[0]);
- if ($op eq 'true' or $op eq 'false') {
- return "$obj" eq 'true' ? 'true' eq $op : 'false' eq $op;
- }
- else {
- return $obj ? 1 == $op : 0 == $op;
- }
- },
- );
- |, $boolean);
+ $JSON::true = ${"JSON::PP::true"};
+ $JSON::false = ${"JSON::PP::false"};
- if ($@) { Carp::croak $@; }
+ push @JSON::Backend::PP::ISA, 'JSON::PP';
+ push @JSON::ISA, $class;
+ $JSON::Backend = $class;
+ $JSON::BackendModule = $module;
+ ${"$class\::VERSION"} = $module->VERSION;
- if ( exists $INC{'JSON/XS.pm'} and $boolean eq 'JSON::XS::Boolean' ) {
- local $^W;
- my $true = do { bless \(my $dummy = 1), $boolean };
- my $false = do { bless \(my $dummy = 0), $boolean };
- *JSON::XS::true = sub () { $true };
- *JSON::XS::false = sub () { $false };
- }
- elsif ( exists $INC{'JSON/PP.pm'} and $boolean eq 'JSON::PP::Boolean' ) {
- local $^W;
- my $true = do { bless \(my $dummy = 1), $boolean };
- my $false = do { bless \(my $dummy = 0), $boolean };
- *JSON::PP::true = sub { $true };
- *JSON::PP::false = sub { $false };
+ for my $method (@XSOnlyMethods) {
+ *{"JSON::$method"} = sub {
+ Carp::carp("$method is not supported in $module.");
+ $_[0];
+ };
}
return 1;
}
-
- #
- # Helper classes for Backend Module (PP)
- #
-
- package JSON::Backend::PP;
-
- sub init {
- local $^W;
- no strict qw(refs); # this routine may be called after JSON::Backend::XS init was called.
- *{"JSON::decode_json"} = \&{"JSON::PP::decode_json"};
- *{"JSON::encode_json"} = \&{"JSON::PP::encode_json"};
- *{"JSON::PP::is_xs"} = sub { 0 };
- *{"JSON::PP::is_pp"} = sub { 1 };
- return 1;
- }
+ sub is_xs { 0 };
+ sub is_pp { 1 };
#
# To save memory, the below lines are read only when XS backend is used.
@@ -58640,201 +61046,69 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
package JSON::Backend::XS;
- use constant INDENT_LENGTH_FLAG => 15 << 12;
-
- use constant UNSUPPORTED_ENCODE_FLAG => {
- ESCAPE_SLASH => 0x00000010,
- ALLOW_BIGNUM => 0x00000020,
- AS_NONBLESSED => 0x00000040,
- EXPANDED => 0x10000000, # for developer's
- };
-
- use constant UNSUPPORTED_DECODE_FLAG => {
- LOOSE => 0x00000001,
- ALLOW_BIGNUM => 0x00000002,
- ALLOW_BAREKEY => 0x00000004,
- ALLOW_SINGLEQUOTE => 0x00000008,
- EXPANDED => 0x20000000, # for developer's
- };
-
-
sub init {
- local $^W;
- no strict qw(refs);
- *{"JSON::decode_json"} = \&{"JSON::XS::decode_json"};
- *{"JSON::encode_json"} = \&{"JSON::XS::encode_json"};
- *{"JSON::XS::is_xs"} = sub { 1 };
- *{"JSON::XS::is_pp"} = sub { 0 };
- return 1;
- }
-
-
- sub support_by_pp {
- my ($class, @methods) = @_;
+ my ($class, $module) = @_;
local $^W;
no strict qw(refs);
+ *{"JSON::decode_json"} = \&{"$module\::decode_json"};
+ *{"JSON::encode_json"} = \&{"$module\::encode_json"};
+ *{"JSON::is_bool"} = \&{"$module\::is_bool"};
- my $JSON_XS_encode_orignal = \&JSON::XS::encode;
- my $JSON_XS_decode_orignal = \&JSON::XS::decode;
- my $JSON_XS_incr_parse_orignal = \&JSON::XS::incr_parse;
-
- *JSON::XS::decode = \&JSON::Backend::XS::Supportable::_decode;
- *JSON::XS::encode = \&JSON::Backend::XS::Supportable::_encode;
- *JSON::XS::incr_parse = \&JSON::Backend::XS::Supportable::_incr_parse;
-
- *{JSON::XS::_original_decode} = $JSON_XS_decode_orignal;
- *{JSON::XS::_original_encode} = $JSON_XS_encode_orignal;
- *{JSON::XS::_original_incr_parse} = $JSON_XS_incr_parse_orignal;
-
- push @JSON::Backend::XS::Supportable::ISA, 'JSON';
-
- my $pkg = 'JSON::Backend::XS::Supportable';
-
- *{JSON::new} = sub {
- my $proto = JSON::XS->new; $$proto = 0;
- bless $proto, $pkg;
- };
-
-
- for my $method (@methods) {
- my $flag = uc($method);
- my $type |= (UNSUPPORTED_ENCODE_FLAG->{$flag} || 0);
- $type |= (UNSUPPORTED_DECODE_FLAG->{$flag} || 0);
+ $JSON::true = ${"$module\::true"};
+ $JSON::false = ${"$module\::false"};
- next unless($type);
+ push @JSON::Backend::XS::ISA, $module;
+ push @JSON::ISA, $class;
+ $JSON::Backend = $class;
+ $JSON::BackendModule = $module;
+ ${"$class\::VERSION"} = $module->VERSION;
- $pkg->_make_unsupported_method($method => $type);
+ if ( $module->VERSION < 3 ) {
+ eval 'package JSON::PP::Boolean';
+ push @{"$module\::Boolean::ISA"}, qw(JSON::PP::Boolean);
}
- # push @{"JSON::XS::Boolean::ISA"}, qw(JSON::PP::Boolean);
- # push @{"JSON::PP::Boolean::ISA"}, qw(JSON::Boolean);
-
- $JSON::DEBUG and Carp::carp("set -support_by_pp mode.");
+ for my $method (@PPOnlyMethods) {
+ *{"JSON::$method"} = sub {
+ Carp::carp("$method is not supported in $module.");
+ $_[0];
+ };
+ }
return 1;
}
+ sub is_xs { 1 };
+ sub is_pp { 0 };
+ sub support_by_pp {
+ my ($class, @methods) = @_;
-
- #
- # Helper classes for XS
- #
-
- package JSON::Backend::XS::Supportable;
-
- $Carp::Internal{'JSON::Backend::XS::Supportable'} = 1;
-
- sub _make_unsupported_method {
- my ($pkg, $method, $type) = @_;
+ JSON::__load_pp('JSON::PP');
local $^W;
no strict qw(refs);
- *{"$pkg\::$method"} = sub {
- local $^W;
- if (defined $_[1] ? $_[1] : 1) {
- ${$_[0]} |= $type;
- }
- else {
- ${$_[0]} &= ~$type;
- }
- $_[0];
- };
-
- *{"$pkg\::get_$method"} = sub {
- ${$_[0]} & $type ? 1 : '';
- };
-
- }
-
-
- sub _set_for_pp {
- JSON::_load_pp( $_INSTALL_ONLY );
-
- my $type = shift;
- my $pp = JSON::PP->new;
- my $prop = $_[0]->property;
-
- for my $name (keys %$prop) {
- $pp->$name( $prop->{$name} ? $prop->{$name} : 0 );
- }
-
- my $unsupported = $type eq 'encode' ? JSON::Backend::XS::UNSUPPORTED_ENCODE_FLAG
- : JSON::Backend::XS::UNSUPPORTED_DECODE_FLAG;
- my $flags = ${$_[0]} || 0;
-
- for my $name (keys %$unsupported) {
- next if ($name eq 'EXPANDED'); # for developer's
- my $enable = ($flags & $unsupported->{$name}) ? 1 : 0;
- my $method = lc $name;
- $pp->$method($enable);
- }
-
- $pp->indent_length( $_[0]->get_indent_length );
-
- return $pp;
- }
-
- sub _encode { # using with PP encode
- if (${$_[0]}) {
- _set_for_pp('encode' => @_)->encode($_[1]);
- }
- else {
- $_[0]->_original_encode( $_[1] );
- }
- }
-
-
- sub _decode { # if unsupported-flag is set, use PP
- if (${$_[0]}) {
- _set_for_pp('decode' => @_)->decode($_[1]);
- }
- else {
- $_[0]->_original_decode( $_[1] );
- }
- }
-
-
- sub decode_prefix { # if unsupported-flag is set, use PP
- _set_for_pp('decode' => @_)->decode_prefix($_[1]);
- }
-
-
- sub _incr_parse {
- if (${$_[0]}) {
- _set_for_pp('decode' => @_)->incr_parse($_[1]);
- }
- else {
- $_[0]->_original_incr_parse( $_[1] );
- }
- }
-
-
- sub get_indent_length {
- ${$_[0]} << 4 >> 16;
- }
-
-
- sub indent_length {
- my $length = $_[1];
-
- if (!defined $length or $length > 15 or $length < 0) {
- Carp::carp "The acceptable range of indent_length() is 0 to 15.";
- }
- else {
- local $^W;
- $length <<= 12;
- ${$_[0]} &= ~ JSON::Backend::XS::INDENT_LENGTH_FLAG;
- ${$_[0]} |= $length;
- *JSON::XS::encode = \&JSON::Backend::XS::Supportable::_encode;
+ for my $method (@methods) {
+ my $pp_method = JSON::PP->can($method) or next;
+ *{"JSON::$method"} = sub {
+ if (!$_[0]->isa('JSON::PP')) {
+ my $xs_self = $_[0];
+ my $pp_self = JSON::PP->new;
+ for (@Properties) {
+ my $getter = "get_$_";
+ $pp_self->$_($xs_self->$getter);
+ }
+ $_[0] = $pp_self;
+ }
+ $pp_method->(@_);
+ };
}
- $_[0];
+ $JSON::DEBUG and Carp::carp("set -support_by_pp mode.");
}
-
1;
__END__
@@ -58859,247 +61133,212 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
$perl_scalar = $json->decode( $json_text );
$pretty_printed = $json->pretty->encode( $perl_scalar ); # pretty-printing
-
- # If you want to use PP only support features, call with '-support_by_pp'
- # When XS unsupported feature is enable, using PP (de|en)code instead of XS ones.
-
- use JSON -support_by_pp;
-
- # option-acceptable interfaces (expect/generate UNICODE by default)
-
- $json_text = to_json( $perl_scalar, { ascii => 1, pretty => 1 } );
- $perl_scalar = from_json( $json_text, { utf8 => 1 } );
-
- # Between (en|de)code_json and (to|from)_json, if you want to write
- # a code which communicates to an outer world (encoded in UTF-8),
- # recommend to use (en|de)code_json.
-
- =head1 VERSION
-
- 2.90
-
- This version is compatible with JSON::XS B<2.34> and later.
- (Not yet compatble to JSON::XS B<3.0x>.)
-
-
- =head1 NOTE
-
- JSON::PP was earlier included in the C<JSON> distribution, but
- has since Perl 5.14 been a core module. For this reason,
- L<JSON::PP> was removed from the JSON distribution and can now
- be found also in the Perl5 repository at
- =over
+ =head1 VERSION
- =item * L<http://perl5.git.perl.org/perl.git>
+ 2.93
- =back
+ =head1 DESCRIPTION
- (The newest JSON::PP version still exists in CPAN.)
+ This module is a thin wrapper for L<JSON::XS>-compatible modules with a few
+ additional features. All the backend modules convert a Perl data structure
+ to a JSON text as of RFC4627 (which we know is obsolete but we still stick
+ to; see below for an option to support part of RFC7159) and vice versa.
+ This module uses L<JSON::XS> by default, and when JSON::XS is not available,
+ this module falls back on L<JSON::PP>, which is in the Perl core since 5.14.
+ If JSON::PP is not available either, this module then falls back on
+ JSON::backportPP (which is actually JSON::PP in a different .pm file)
+ bundled in the same distribution as this module. You can also explicitly
+ specify to use L<Cpanel::JSON::XS>, a fork of JSON::XS by Reini Urban.
- Instead, the C<JSON> distribution will include JSON::backportPP
- for backwards computability. JSON.pm should thus work as it did
- before.
+ All these backend modules have slight incompatibilities between them,
+ including extra features that other modules don't support, but as long as you
+ use only common features (most important ones are described below), migration
+ from backend to backend should be reasonably easy. For details, see each
+ backend module you use.
- =head1 DESCRIPTION
+ =head1 CHOOSING BACKEND
- *************************** CAUTION **************************************
- * *
- * INCOMPATIBLE CHANGE (JSON::XS version 2.90) *
- * *
- * JSON.pm had patched JSON::XS::Boolean and JSON::PP::Boolean internally *
- * on loading time for making these modules inherit JSON::Boolean. *
- * But since JSON::XS v3.0 it use Types::Serialiser as boolean class. *
- * Then now JSON.pm breaks boolean classe overload features and *
- * -support_by_pp if JSON::XS v3.0 or later is installed. *
- * *
- * JSON::true and JSON::false returned JSON::Boolean objects. *
- * For workaround, they return JSON::PP::Boolean objects in this version. *
- * *
- * isa_ok(JSON::true, 'JSON::PP::Boolean'); *
- * *
- * And it discards a feature: *
- * *
- * ok(JSON::true eq 'true'); *
- * *
- * In other word, JSON::PP::Boolean overload numeric only. *
- * *
- * ok( JSON::true == 1 ); *
- * *
- **************************************************************************
-
- ************************** CAUTION ********************************
- * This is 'JSON module version 2' and there are many differences *
- * to version 1.xx *
- * Please check your applications using old version. *
- * See to 'INCOMPATIBLE CHANGES TO OLD VERSION' *
- *******************************************************************
-
- JSON (JavaScript Object Notation) is a simple data format.
- See to L<http://www.json.org/> and C<RFC4627>(L<http://www.ietf.org/rfc/rfc4627.txt>).
-
- This module converts Perl data structures to JSON and vice versa using either
- L<JSON::XS> or L<JSON::PP>.
-
- JSON::XS is the fastest and most proper JSON module on CPAN which must be
- compiled and installed in your environment.
- JSON::PP is a pure-Perl module which is bundled in this distribution and
- has a strong compatibility to JSON::XS.
-
- This module try to use JSON::XS by default and fail to it, use JSON::PP instead.
- So its features completely depend on JSON::XS or JSON::PP.
-
- See to L<BACKEND MODULE DECISION>.
-
- To distinguish the module name 'JSON' and the format type JSON,
- the former is quoted by CE<lt>E<gt> (its results vary with your using media),
- and the latter is left just as it is.
-
- Module name : C<JSON>
-
- Format type : JSON
+ This module respects an environmental variable called C<PERL_JSON_BACKEND>
+ when it decides a backend module to use. If this environmental variable is
+ not set, it tries to load JSON::XS, and if JSON::XS is not available, it
+ falls back on JSON::PP, and then JSON::backportPP if JSON::PP is not available
+ either.
- =head2 FEATURES
+ If you always don't want it to fall back on pure perl modules, set the
+ variable like this (C<export> may be C<setenv>, C<set> and the likes,
+ depending on your environment):
- =over
+ > export PERL_JSON_BACKEND=JSON::XS
- =item * correct unicode handling
+ If you prefer Cpanel::JSON::XS to JSON::XS, then:
- This module (i.e. backend modules) knows how to handle Unicode, documents
- how and when it does so, and even documents what "correct" means.
+ > export PERL_JSON_BACKEND=Cpanel::JSON::XS,JSON::XS,JSON::PP
- Even though there are limitations, this feature is available since Perl version 5.6.
+ You may also want to set this variable at the top of your test files, in order
+ not to be bothered with incompatibilities between backends (you need to wrap
+ this in C<BEGIN>, and set before actually C<use>-ing JSON module, as it decides
+ its backend as soon as it's loaded):
- JSON::XS requires Perl 5.8.2 (but works correctly in 5.8.8 or later), so in older versions
- C<JSON> should call JSON::PP as the backend which can be used since Perl 5.005.
+ BEGIN { $ENV{PERL_JSON_BACKEND}='JSON::backportPP'; }
+ use JSON;
- With Perl 5.8.x JSON::PP works, but from 5.8.0 to 5.8.2, because of a Perl side problem,
- JSON::PP works slower in the versions. And in 5.005, the Unicode handling is not available.
- See to L<JSON::PP/UNICODE HANDLING ON PERLS> for more information.
+ =head1 USING OPTIONAL FEATURES
- See also to L<JSON::XS/A FEW NOTES ON UNICODE AND PERL>
- and L<JSON::XS/ENCODING/CODESET_FLAG_NOTES>.
+ There are a few options you can set when you C<use> this module:
+ =over
- =item * round-trip integrity
+ =item -support_by_pp
- When you serialise a perl data structure using only data types supported
- by JSON and Perl, the deserialised data structure is identical on the Perl
- level. (e.g. the string "2.0" doesn't suddenly become "2" just because
- it looks like a number). There I<are> minor exceptions to this, read the
- L</MAPPING> section below to learn about those.
+ BEGIN { $ENV{PERL_JSON_BACKEND} = 'JSON::XS' }
+
+ use JSON -support_by_pp;
+
+ my $json = JSON->new;
+ # escape_slash is for JSON::PP only.
+ $json->allow_nonref->escape_slash->encode("/");
+ With this option, this module loads its pure perl backend along with
+ its XS backend (if available), and lets the XS backend to watch if you set
+ a flag only JSON::PP supports. When you do, the internal JSON::XS object
+ is replaced with a newly created JSON::PP object with the setting copied
+ from the XS object, so that you can use JSON::PP flags (and its slower
+ C<decode>/C<encode> methods) from then on. In other words, this is not
+ something that allows you to hook JSON::XS to change its behavior while
+ keeping its speed. JSON::XS and JSON::PP objects are quite different
+ (JSON::XS object is a blessed scalar reference, while JSON::PP object is
+ a blessed hash reference), and can't share their internals.
- =item * strict checking of JSON correctness
+ To avoid needless overhead (by copying settings), you are advised not
+ to use this option and just to use JSON::PP explicitly when you need
+ JSON::PP features.
- There is no guessing, no generating of illegal JSON texts by default,
- and only JSON is accepted as input by default (the latter is a security
- feature).
+ =item -convert_blessed_universally
- See to L<JSON::XS/FEATURES> and L<JSON::PP/FEATURES>.
+ use JSON -convert_blessed_universally;
- =item * fast
+ my $json = JSON->new->allow_nonref->convert_blessed;
+ my $object = bless {foo => 'bar'}, 'Foo';
+ $json->encode($object); # => {"foo":"bar"}
+
+ JSON::XS-compatible backend modules don't encode blessed objects by
+ default (except for their boolean values, which are typically blessed
+ JSON::PP::Boolean objects). If you need to encode a data structure
+ that may contain objects, you usually need to look into the structure
+ and replace objects with alternative non-blessed values, or enable
+ C<convert_blessed> and provide a C<TO_JSON> method for each object's
+ (base) class that may be found in the structure, in order to let the
+ methods replace the objects with whatever scalar values the methods
+ return.
+
+ If you need to serialise data structures that may contain arbitrary
+ objects, it's probably better to use other serialisers (such as
+ L<Sereal> or L<Storable> for example), but if you do want to use
+ this module for that purpose, C<-convert_blessed_universally> option
+ may help, which tweaks C<encode> method of the backend to install
+ C<UNIVERSAL::TO_JSON> method (locally) before encoding, so that
+ all the objects that don't have their own C<TO_JSON> method can
+ fall back on the method in the C<UNIVERSAL> namespace. Note that you
+ still need to enable C<convert_blessed> flag to actually encode
+ objects in a data structure, and C<UNIVERSAL::TO_JSON> method
+ installed by this option only converts blessed hash/array references
+ into their unblessed clone (including private keys/values that are
+ not supposed to be exposed). Other blessed references will be
+ converted into null.
- This module returns a JSON::XS object itself if available.
- Compared to other JSON modules and other serialisers such as Storable,
- JSON::XS usually compares favorably in terms of speed, too.
+ This feature is experimental and may be removed in the future.
- If not available, C<JSON> returns a JSON::PP object instead of JSON::XS and
- it is very slow as pure-Perl.
+ =item -no_export
- =item * simple to use
+ When you don't want to import functional interfaces from a module, you
+ usually supply C<()> to its C<use> statement.
- This module has both a simple functional interface as well as an
- object oriented interface interface.
+ use JSON (); # no functional interfaces
- =item * reasonably versatile output formats
+ If you don't want to import functional interfaces, but you also want to
+ use any of the above options, add C<-no_export> to the option list.
- You can choose between the most compact guaranteed-single-line format possible
- (nice for simple line-based protocols), a pure-ASCII format (for when your transport
- is not 8-bit clean, still supports the whole Unicode range), or a pretty-printed
- format (for when you want to read that stuff). Or you can combine those features
- in whatever way you like.
+ # no functional interfaces, while JSON::PP support is enabled.
+ use JSON -support_by_pp, -no_export;
=back
=head1 FUNCTIONAL INTERFACE
- Some documents are copied and modified from L<JSON::XS/FUNCTIONAL INTERFACE>.
- C<to_json> and C<from_json> are additional functions.
+ This section is taken from JSON::XS. C<encode_json> and C<decode_json>
+ are exported by default.
+
+ This module also exports C<to_json> and C<from_json> for backward
+ compatibility. These are slower, and may expect/generate different stuff
+ from what C<encode_json> and C<decode_json> do, depending on their
+ options. It's better just to use Object-Oriented interfaces than using
+ these two functions.
=head2 encode_json
$json_text = encode_json $perl_scalar
- Converts the given Perl data structure to a UTF-8 encoded, binary string.
+ Converts the given Perl data structure to a UTF-8 encoded, binary string
+ (that is, the string contains octets only). Croaks on error.
This function call is functionally identical to:
$json_text = JSON->new->utf8->encode($perl_scalar)
+ Except being faster.
+
=head2 decode_json
$perl_scalar = decode_json $json_text
The opposite of C<encode_json>: expects an UTF-8 (binary) string and tries
to parse that as an UTF-8 encoded JSON text, returning the resulting
- reference.
+ reference. Croaks on error.
This function call is functionally identical to:
$perl_scalar = JSON->new->utf8->decode($json_text)
+ Except being faster.
=head2 to_json
- $json_text = to_json($perl_scalar)
+ $json_text = to_json($perl_scalar[, $optional_hashref])
- Converts the given Perl data structure to a json string.
+ Converts the given Perl data structure to a Unicode string by default.
+ Croaks on error.
- This function call is functionally identical to:
+ Basically, this function call is functionally identical to:
$json_text = JSON->new->encode($perl_scalar)
- Takes a hash reference as the second.
+ Except being slower.
- $json_text = to_json($perl_scalar, $flag_hashref)
-
- So,
+ You can pass an optional hash reference to modify its behavior, but
+ that may change what C<to_json> expects/generates (see
+ C<ENCODING/CODESET FLAG NOTES> for details).
$json_text = to_json($perl_scalar, {utf8 => 1, pretty => 1})
-
- equivalent to:
-
- $json_text = JSON->new->utf8(1)->pretty(1)->encode($perl_scalar)
-
- If you want to write a modern perl code which communicates to outer world,
- you should use C<encode_json> (supposed that JSON data are encoded in UTF-8).
+ # => JSON->new->utf8(1)->pretty(1)->encode($perl_scalar)
=head2 from_json
- $perl_scalar = from_json($json_text)
-
- The opposite of C<to_json>: expects a json string and tries
- to parse it, returning the resulting reference.
-
- This function call is functionally identical to:
+ $perl_scalar = from_json($json_text[, $optional_hashref])
- $perl_scalar = JSON->decode($json_text)
+ The opposite of C<to_json>: expects a Unicode string and tries
+ to parse it, returning the resulting reference. Croaks on error.
- Takes a hash reference as the second.
+ Basically, this function call is functionally identical to:
- $perl_scalar = from_json($json_text, $flag_hashref)
+ $perl_scalar = JSON->new->decode($json_text)
- So,
+ You can pass an optional hash reference to modify its behavior, but
+ that may change what C<from_json> expects/generates (see
+ C<ENCODING/CODESET FLAG NOTES> for details).
$perl_scalar = from_json($json_text, {utf8 => 1})
-
- equivalent to:
-
- $perl_scalar = JSON->new->utf8(1)->decode($json_text)
-
- If you want to write a modern perl code which communicates to outer world,
- you should use C<decode_json> (supposed that JSON data are encoded in UTF-8).
+ # => JSON->new->utf8(1)->decode($json_text)
=head2 JSON::is_bool
@@ -59109,115 +61348,24 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
JSON::false, two constants that act like C<1> and C<0> respectively
and are also used to represent JSON C<true> and C<false> in Perl strings.
- =head2 JSON::true
-
- Returns JSON true value which is blessed object.
- It C<isa> JSON::Boolean object.
-
- =head2 JSON::false
-
- Returns JSON false value which is blessed object.
- It C<isa> JSON::Boolean object.
-
- =head2 JSON::null
-
- Returns C<undef>.
-
See L<MAPPING>, below, for more information on how JSON values are mapped to
Perl.
- =head1 HOW DO I DECODE A DATA FROM OUTER AND ENCODE TO OUTER
-
- This section supposes that your perl version is 5.8 or later.
-
- If you know a JSON text from an outer world - a network, a file content, and so on,
- is encoded in UTF-8, you should use C<decode_json> or C<JSON> module object
- with C<utf8> enable. And the decoded result will contain UNICODE characters.
-
- # from network
- my $json = JSON->new->utf8;
- my $json_text = CGI->new->param( 'json_data' );
- my $perl_scalar = $json->decode( $json_text );
-
- # from file content
- local $/;
- open( my $fh, '<', 'json.data' );
- $json_text = <$fh>;
- $perl_scalar = decode_json( $json_text );
-
- If an outer data is not encoded in UTF-8, firstly you should C<decode> it.
-
- use Encode;
- local $/;
- open( my $fh, '<', 'json.data' );
- my $encoding = 'cp932';
- my $unicode_json_text = decode( $encoding, <$fh> ); # UNICODE
-
- # or you can write the below code.
- #
- # open( my $fh, "<:encoding($encoding)", 'json.data' );
- # $unicode_json_text = <$fh>;
-
- In this case, C<$unicode_json_text> is of course UNICODE string.
- So you B<cannot> use C<decode_json> nor C<JSON> module object with C<utf8> enable.
- Instead of them, you use C<JSON> module object with C<utf8> disable or C<from_json>.
-
- $perl_scalar = $json->utf8(0)->decode( $unicode_json_text );
- # or
- $perl_scalar = from_json( $unicode_json_text );
-
- Or C<encode 'utf8'> and C<decode_json>:
-
- $perl_scalar = decode_json( encode( 'utf8', $unicode_json_text ) );
- # this way is not efficient.
-
- And now, you want to convert your C<$perl_scalar> into JSON data and
- send it to an outer world - a network or a file content, and so on.
-
- Your data usually contains UNICODE strings and you want the converted data to be encoded
- in UTF-8, you should use C<encode_json> or C<JSON> module object with C<utf8> enable.
-
- print encode_json( $perl_scalar ); # to a network? file? or display?
- # or
- print $json->utf8->encode( $perl_scalar );
-
- If C<$perl_scalar> does not contain UNICODE but C<$encoding>-encoded strings
- for some reason, then its characters are regarded as B<latin1> for perl
- (because it does not concern with your $encoding).
- You B<cannot> use C<encode_json> nor C<JSON> module object with C<utf8> enable.
- Instead of them, you use C<JSON> module object with C<utf8> disable or C<to_json>.
- Note that the resulted text is a UNICODE string but no problem to print it.
-
- # $perl_scalar contains $encoding encoded string values
- $unicode_json_text = $json->utf8(0)->encode( $perl_scalar );
- # or
- $unicode_json_text = to_json( $perl_scalar );
- # $unicode_json_text consists of characters less than 0x100
- print $unicode_json_text;
-
- Or C<decode $encoding> all string values and C<encode_json>:
-
- $perl_scalar->{ foo } = decode( $encoding, $perl_scalar->{ foo } );
- # ... do it to each string values, then encode_json
- $json_text = encode_json( $perl_scalar );
-
- This method is a proper way but probably not efficient.
-
- See to L<Encode>, L<perluniintro>.
+ =head1 COMMON OBJECT-ORIENTED INTERFACE
+ This section is also taken from JSON::XS.
- =head1 COMMON OBJECT-ORIENTED INTERFACE
+ The object oriented interface lets you configure your own encoding or
+ decoding style, within the limits of supported formats.
=head2 new
$json = JSON->new
- Returns a new C<JSON> object inherited from either JSON::XS or JSON::PP
- that can be used to de/encode JSON strings.
-
- All boolean flags described below are by default I<disabled>.
+ Creates a new JSON::XS-compatible backend object that can be used to de/encode JSON
+ strings. All boolean flags described below are by default I<disabled>.
- The mutators for flags all return the JSON object again and thus calls can
+ The mutators for flags all return the backend object again and thus calls can
be chained:
my $json = JSON->new->utf8->space_after->encode({a => [1,2]})
@@ -59229,16 +61377,23 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
$enabled = $json->get_ascii
- If $enable is true (or missing), then the encode method will not generate characters outside
- the code range 0..127. Any Unicode characters outside that range will be escaped using either
- a single \uXXXX or a double \uHHHH\uLLLLL escape sequence, as per RFC4627.
+ If C<$enable> is true (or missing), then the C<encode> method will not
+ generate characters outside the code range C<0..127> (which is ASCII). Any
+ Unicode characters outside that range will be escaped using either a
+ single \uXXXX (BMP characters) or a double \uHHHH\uLLLLL escape sequence,
+ as per RFC4627. The resulting encoded JSON text can be treated as a native
+ Unicode string, an ascii-encoded, latin1-encoded or UTF-8 encoded string,
+ or any other superset of ASCII.
- If $enable is false, then the encode method will not escape Unicode characters unless
- required by the JSON syntax or other flags. This results in a faster and more compact format.
+ If C<$enable> is false, then the C<encode> method will not escape Unicode
+ characters unless required by the JSON syntax or other flags. This results
+ in a faster and more compact format.
- This feature depends on the used Perl version and environment.
+ See also the section I<ENCODING/CODESET FLAG NOTES> later in this document.
- See to L<JSON::PP/UNICODE HANDLING ON PERLS> if the backend is PP.
+ The main use for this flag is to produce JSON texts that can be
+ transmitted over a 7-bit channel, as the encoded JSON texts will not
+ contain any 8 bit characters.
JSON->new->ascii(1)->encode([chr 0x10401])
=> ["\ud801\udc01"]
@@ -59249,11 +61404,25 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
$enabled = $json->get_latin1
- If $enable is true (or missing), then the encode method will encode the resulting JSON
- text as latin1 (or iso-8859-1), escaping any characters outside the code range 0..255.
+ If C<$enable> is true (or missing), then the C<encode> method will encode
+ the resulting JSON text as latin1 (or iso-8859-1), escaping any characters
+ outside the code range C<0..255>. The resulting string can be treated as a
+ latin1-encoded JSON text or a native Unicode string. The C<decode> method
+ will not be affected in any way by this flag, as C<decode> by default
+ expects Unicode, which is a strict superset of latin1.
+
+ If C<$enable> is false, then the C<encode> method will not escape Unicode
+ characters unless required by the JSON syntax or other flags.
+
+ See also the section I<ENCODING/CODESET FLAG NOTES> later in this document.
- If $enable is false, then the encode method will not escape Unicode characters
- unless required by the JSON syntax or other flags.
+ The main use for this flag is efficiently encoding binary data as JSON
+ text, as most octets will not be escaped, resulting in a smaller encoded
+ size. The disadvantage is that the resulting JSON text is encoded
+ in latin1 (and must correctly be treated as such when storing and
+ transferring), a rare encoding for JSON. It is therefore most useful when
+ you want to store data structures known to contain binary data efficiently
+ in files or databases, not when talking to other JSON encoders/decoders.
JSON->new->latin1->encode (["\x{89}\x{abc}"]
=> ["\x{89}\\u0abc"] # (perl syntax, U+abc escaped, U+89 not)
@@ -59264,31 +61433,30 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
$enabled = $json->get_utf8
- If $enable is true (or missing), then the encode method will encode the JSON result
- into UTF-8, as required by many protocols, while the decode method expects to be handled
- an UTF-8-encoded string. Please note that UTF-8-encoded strings do not contain any
- characters outside the range 0..255, they are thus useful for bytewise/binary I/O.
-
- In future versions, enabling this option might enable autodetection of the UTF-16 and UTF-32
- encoding families, as described in RFC4627.
+ If C<$enable> is true (or missing), then the C<encode> method will encode
+ the JSON result into UTF-8, as required by many protocols, while the
+ C<decode> method expects to be handled an UTF-8-encoded string. Please
+ note that UTF-8-encoded strings do not contain any characters outside the
+ range C<0..255>, they are thus useful for bytewise/binary I/O. In future
+ versions, enabling this option might enable autodetection of the UTF-16
+ and UTF-32 encoding families, as described in RFC4627.
- If $enable is false, then the encode method will return the JSON string as a (non-encoded)
- Unicode string, while decode expects thus a Unicode string. Any decoding or encoding
- (e.g. to UTF-8 or UTF-16) needs to be done yourself, e.g. using the Encode module.
+ If C<$enable> is false, then the C<encode> method will return the JSON
+ string as a (non-encoded) Unicode string, while C<decode> expects thus a
+ Unicode string. Any decoding or encoding (e.g. to UTF-8 or UTF-16) needs
+ to be done yourself, e.g. using the Encode module.
+ See also the section I<ENCODING/CODESET FLAG NOTES> later in this document.
Example, output UTF-16BE-encoded JSON:
use Encode;
- $jsontext = encode "UTF-16BE", JSON::XS->new->encode ($object);
+ $jsontext = encode "UTF-16BE", JSON->new->encode ($object);
Example, decode UTF-32LE-encoded JSON:
use Encode;
- $object = JSON::XS->new->decode (decode "UTF-32LE", $jsontext);
-
- See to L<JSON::PP/UNICODE HANDLING ON PERLS> if the backend is PP.
-
+ $object = JSON->new->decode (decode "UTF-32LE", $jsontext);
=head2 pretty
@@ -59298,13 +61466,6 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
C<space_after> (and in the future possibly more) flags in one call to
generate the most readable (or most compact) form possible.
- Equivalent to:
-
- $json->indent->space_before->space_after
-
- The indent space length is three and JSON::XS cannot change the indent
- space length.
-
=head2 indent
$json = $json->indent([$enable])
@@ -59313,17 +61474,13 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
If C<$enable> is true (or missing), then the C<encode> method will use a multiline
format as output, putting every array member or object/hash key-value pair
- into its own line, identifying them properly.
+ into its own line, indenting them properly.
If C<$enable> is false, no newlines or indenting will be produced, and the
resulting JSON text is guaranteed not to contain any C<newlines>.
This setting has no effect when decoding JSON texts.
- The indent space length is three.
- With JSON::PP, you can also access C<indent_length> to change indent space length.
-
-
=head2 space_before
$json = $json->space_before([$enable])
@@ -59336,13 +61493,13 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
If C<$enable> is false, then the C<encode> method will not add any extra
space at those places.
- This setting has no effect when decoding JSON texts.
+ This setting has no effect when decoding JSON texts. You will also
+ most likely combine this setting with C<space_after>.
Example, space_before enabled, space_after and indent disabled:
{"key" :"value"}
-
=head2 space_after
$json = $json->space_after([$enable])
@@ -59363,7 +61520,6 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
{"key": "value"}
-
=head2 relaxed
$json = $json->relaxed([$enable])
@@ -59413,7 +61569,6 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
=back
-
=head2 canonical
$json = $json->canonical([$enable])
@@ -59425,7 +61580,8 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
If C<$enable> is false, then the C<encode> method will output key-value
pairs in the order Perl stores them (which will likely change between runs
- of the same script).
+ of the same script, and can change even within the same run from 5.18
+ onwards).
This option is useful if you want the same data structure to be encoded as
the same JSON text (given the same overall settings). If it is disabled,
@@ -59434,6 +61590,8 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
This setting has no effect when decoding JSON texts.
+ This setting has currently no effect on tied hashes.
+
=head2 allow_nonref
$json = $json->allow_nonref([$enable])
@@ -59450,6 +61608,9 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
or array. Likewise, C<decode> will croak if given something that is not a
JSON object or array.
+ Example, encode a Perl scalar as JSON value with enabled C<allow_nonref>,
+ resulting in an invalid JSON text:
+
JSON->new->allow_nonref->encode ("Hello, World!")
=> "Hello, World!"
@@ -59459,18 +61620,17 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
$enabled = $json->get_allow_unknown
- If $enable is true (or missing), then "encode" will *not* throw an
+ If C<$enable> is true (or missing), then C<encode> will I<not> throw an
exception when it encounters values it cannot represent in JSON (for
- example, filehandles) but instead will encode a JSON "null" value.
- Note that blessed objects are not included here and are handled
- separately by c<allow_nonref>.
+ example, filehandles) but instead will encode a JSON C<null> value. Note
+ that blessed objects are not included here and are handled separately by
+ c<allow_nonref>.
- If $enable is false (the default), then "encode" will throw an
+ If C<$enable> is false (the default), then C<encode> will throw an
exception when it encounters anything it cannot encode as JSON.
- This option does not affect "decode" in any way, and it is
- recommended to leave it off unless you know your communications
- partner.
+ This option does not affect C<decode> in any way, and it is recommended to
+ leave it off unless you know your communications partner.
=head2 allow_blessed
@@ -59478,16 +61638,17 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
$enabled = $json->get_allow_blessed
+ See L<OBJECT SERIALISATION> for details.
+
If C<$enable> is true (or missing), then the C<encode> method will not
- barf when it encounters a blessed reference. Instead, the value of the
- B<convert_blessed> option will decide whether C<null> (C<convert_blessed>
- disabled or no C<TO_JSON> method found) or a representation of the
- object (C<convert_blessed> enabled and C<TO_JSON> method found) is being
- encoded. Has no effect on C<decode>.
+ barf when it encounters a blessed reference that it cannot convert
+ otherwise. Instead, a JSON C<null> value is encoded instead of the object.
If C<$enable> is false (the default), then C<encode> will throw an
- exception when it encounters a blessed object.
+ exception when it encounters a blessed object that it cannot convert
+ otherwise.
+ This setting has no effect on C<decode>.
=head2 convert_blessed
@@ -59495,63 +61656,38 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
$enabled = $json->get_convert_blessed
+ See L<OBJECT SERIALISATION> for details.
+
If C<$enable> is true (or missing), then C<encode>, upon encountering a
blessed object, will check for the availability of the C<TO_JSON> method
- on the object's class. If found, it will be called in scalar context
- and the resulting scalar will be encoded instead of the object. If no
- C<TO_JSON> method is found, the value of C<allow_blessed> will decide what
- to do.
+ on the object's class. If found, it will be called in scalar context and
+ the resulting scalar will be encoded instead of the object.
The C<TO_JSON> method may safely call die if it wants. If C<TO_JSON>
returns other blessed objects, those will be handled in the same
way. C<TO_JSON> must take care of not causing an endless recursion cycle
(== crash) in this case. The name of C<TO_JSON> was chosen because other
methods called by the Perl core (== not by the user of the object) are
- usually in upper case letters and to avoid collisions with the C<to_json>
+ usually in upper case letters and to avoid collisions with any C<to_json>
function or method.
- This setting does not yet influence C<decode> in any way.
-
- If C<$enable> is false, then the C<allow_blessed> setting will decide what
- to do when a blessed object is found.
-
- =over
-
- =item convert_blessed_universally mode
-
- If use C<JSON> with C<-convert_blessed_universally>, the C<UNIVERSAL::TO_JSON>
- subroutine is defined as the below code:
-
- *UNIVERSAL::TO_JSON = sub {
- my $b_obj = B::svref_2object( $_[0] );
- return $b_obj->isa('B::HV') ? { %{ $_[0] } }
- : $b_obj->isa('B::AV') ? [ @{ $_[0] } ]
- : undef
- ;
- }
-
- This will cause that C<encode> method converts simple blessed objects into
- JSON objects as non-blessed object.
-
- JSON -convert_blessed_universally;
- $json->allow_blessed->convert_blessed->encode( $blessed_object )
-
- This feature is experimental and may be removed in the future.
+ If C<$enable> is false (the default), then C<encode> will not consider
+ this type of conversion.
- =back
+ This setting has no effect on C<decode>.
=head2 filter_json_object
$json = $json->filter_json_object([$coderef])
When C<$coderef> is specified, it will be called from C<decode> each
- time it decodes a JSON object. The only argument passed to the coderef
- is a reference to the newly-created hash. If the code references returns
- a single scalar (which need not be a reference), this value
- (i.e. a copy of that scalar to avoid aliasing) is inserted into the
- deserialised data structure. If it returns an empty list
- (NOTE: I<not> C<undef>, which is a valid scalar), the original deserialised
- hash will be inserted. This setting can slow down decoding considerably.
+ time it decodes a JSON object. The only argument is a reference to the
+ newly-created hash. If the code references returns a single scalar (which
+ need not be a reference), this value (i.e. a copy of that scalar to avoid
+ aliasing) is inserted into the deserialised data structure. If it returns
+ an empty list (NOTE: I<not> C<undef>, which is a valid scalar), the
+ original deserialised hash will be inserted. This setting can slow down
+ decoding considerably.
When C<$coderef> is omitted or undefined, any existing callback will
be removed and C<decode> will not change the deserialised hash in any
@@ -59566,7 +61702,6 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
# so a lone 5 is not allowed.
$js->decode ('{"a":1, "b":2}');
-
=head2 filter_json_single_key_object
$json = $json->filter_json_single_key_object($key [=> $coderef])
@@ -59621,27 +61756,6 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
{ __widget__ => $self->{id} }
}
-
- =head2 shrink
-
- $json = $json->shrink([$enable])
-
- $enabled = $json->get_shrink
-
- With JSON::XS, this flag resizes strings generated by either
- C<encode> or C<decode> to their minimum size possible. This can save
- memory when your JSON texts are either very very long or you have many
- short strings. It will also try to downgrade any strings to octet-form
- if possible: perl stores strings internally either in an encoding called
- UTF-X or in octet-form. The latter cannot store everything but uses less
- space in general (and some buggy Perl or C code might even rely on that
- internal representation being used).
-
- With JSON::PP, it is noop about resizing strings but tries
- C<utf8::downgrade> to the returned string by C<encode>. See to L<utf8>.
-
- See to L<JSON::XS/OBJECT-ORIENTED INTERFACE> and L<JSON::PP/METHODS>.
-
=head2 max_depth
$json = $json->max_depth([$maximum_nesting_depth])
@@ -59658,19 +61772,12 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
characters without their matching closing parenthesis crossed to reach a
given character in a string.
+ Setting the maximum depth to one disallows any nesting, so that ensures
+ that the object is only a single hash/object or array.
+
If no argument is given, the highest possible setting will be used, which
is rarely useful.
- Note that nesting is implemented by recursion in C. The default value has
- been chosen to be as large as typical operating systems allow without
- crashing. (JSON::XS)
-
- With JSON::PP as the backend, when a large value (100 or more) was set and
- it de/encodes a deep nested object/text, it may raise a warning
- 'Deep recursion on subroutine' at the perl runtime phase.
-
- See L<JSON::XS/SECURITY CONSIDERATIONS> for more info on why this is useful.
-
=head2 max_size
$json = $json->max_size([$maximum_string_size])
@@ -59686,18 +61793,12 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
If no argument is given, the limit check will be deactivated (same as when
C<0> is specified).
- See L<JSON::XS/SECURITY CONSIDERATIONS>, below, for more info on why this is useful.
-
=head2 encode
$json_text = $json->encode($perl_scalar)
- Converts the given Perl data structure (a simple scalar or a reference
- to a hash or array) to its JSON representation. Simple scalars will be
- converted into JSON string or number sequences, while references to arrays
- become JSON arrays and references to hashes become JSON objects. Undefined
- Perl values (e.g. C<undef>) become JSON C<null> values.
- References to the integers C<0> and C<1> are converted into C<true> and C<false>.
+ Converts the given Perl value or data structure to its JSON
+ representation. Croaks on error.
=head2 decode
@@ -59706,11 +61807,6 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
The opposite of C<encode>: expects a JSON text and tries to parse it,
returning the resulting simple scalar or reference. Croaks on error.
- JSON numbers and strings become simple Perl scalars. JSON arrays become
- Perl arrayrefs and JSON objects become Perl hashrefs. C<true> becomes
- C<1> (C<JSON::true>), C<false> becomes C<0> (C<JSON::false>) and
- C<null> becomes C<undef>.
-
=head2 decode_prefix
($perl_scalar, $characters) = $json->decode_prefix($json_text)
@@ -59720,52 +61816,68 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
silently stop parsing there and return the number of characters consumed
so far.
+ This is useful if your JSON texts are not delimited by an outer protocol
+ and you need to know where the JSON text ends.
+
JSON->new->decode_prefix ("[1] the tail")
- => ([], 3)
+ => ([1], 3)
- See to L<JSON::XS/OBJECT-ORIENTED INTERFACE>
+ =head1 ADDITIONAL METHODS
- =head2 property
+ The following methods are for this module only.
+
+ =head2 backend
+
+ $backend = $json->backend
+
+ Since 2.92, C<backend> method returns an abstract backend module used currently,
+ which should be JSON::Backend::XS (which inherits JSON::XS or Cpanel::JSON::XS),
+ or JSON::Backend::PP (which inherits JSON::PP), not to monkey-patch the actual
+ backend module globally.
- $boolean = $json->property($property_name)
+ If you need to know what is used actually, use C<isa>, instead of string comparison.
- Returns a boolean value about above some properties.
+ =head2 is_xs
- The available properties are C<ascii>, C<latin1>, C<utf8>,
- C<indent>,C<space_before>, C<space_after>, C<relaxed>, C<canonical>,
- C<allow_nonref>, C<allow_unknown>, C<allow_blessed>, C<convert_blessed>,
- C<shrink>, C<max_depth> and C<max_size>.
+ $boolean = $json->is_xs
- $boolean = $json->property('utf8');
- => 0
- $json->utf8;
- $boolean = $json->property('utf8');
- => 1
+ Returns true if the backend inherits JSON::XS or Cpanel::JSON::XS.
- Sets the property with a given boolean value.
+ =head2 is_pp
- $json = $json->property($property_name => $boolean);
+ $boolean = $json->is_pp
+
+ Returns true if the backend inherits JSON::PP.
+
+ =head2 property
- With no argument, it returns all the above properties as a hash reference.
+ $settings = $json->property()
- $flag_hashref = $json->property();
+ Returns a reference to a hash that holds all the common flag settings.
+
+ $json = $json->property('utf8' => 1)
+ $value = $json->property('utf8') # 1
+
+ You can use this to get/set a value of a particular flag.
=head1 INCREMENTAL PARSING
- Most of this section are copied and modified from L<JSON::XS/INCREMENTAL PARSING>.
+ This section is also taken from JSON::XS.
- In some cases, there is the need for incremental parsing of JSON texts.
- This module does allow you to parse a JSON stream incrementally.
- It does so by accumulating text until it has a full JSON object, which
- it then can decode. This process is similar to using C<decode_prefix>
- to see if a full JSON object is available, but is much more efficient
- (and can be implemented with a minimum of method calls).
+ In some cases, there is the need for incremental parsing of JSON
+ texts. While this module always has to keep both JSON text and resulting
+ Perl data structure in memory at one time, it does allow you to parse a
+ JSON stream incrementally. It does so by accumulating text until it has
+ a full JSON object, which it then can decode. This process is similar to
+ using C<decode_prefix> to see if a full JSON object is available, but
+ is much more efficient (and can be implemented with a minimum of method
+ calls).
- The backend module will only attempt to parse the JSON text once it is sure it
+ This module will only attempt to parse the JSON text once it is sure it
has enough text to get a decisive result, using a very simple but
truly incremental parser. This means that it sometimes won't stop as
- early as the full parser, for example, it doesn't detect parenthesis
- mismatches. The only thing it guarantees is that it starts decoding as
+ early as the full parser, for example, it doesn't detect mismatched
+ parentheses. The only thing it guarantees is that it starts decoding as
soon as a syntactically valid JSON text has been seen. This means you need
to set resource limits (e.g. C<max_size>) to ensure the parser will stop
parsing in the presence if syntax errors.
@@ -59800,13 +61912,14 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
And finally, in list context, it will try to extract as many objects
from the stream as it can find and return them, or the empty list
- otherwise. For this to work, there must be no separators between the JSON
- objects or arrays, instead they must be concatenated back-to-back. If
- an error occurs, an exception will be raised as in the scalar context
- case. Note that in this case, any previously-parsed JSON texts will be
- lost.
+ otherwise. For this to work, there must be no separators (other than
+ whitespace) between the JSON objects or arrays, instead they must be
+ concatenated back-to-back. If an error occurs, an exception will be
+ raised as in the scalar context case. Note that in this case, any
+ previously-parsed JSON texts will be lost.
- Example: Parse some JSON arrays/objects in a given string and return them.
+ Example: Parse some JSON arrays/objects in a given string and return
+ them.
my @objs = JSON->new->incr_parse ("[5][7][1,2]");
@@ -59822,27 +61935,26 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
real world conditions). As a special exception, you can also call this
method before having parsed anything.
+ That means you can only use this function to look at or manipulate text
+ before or after complete JSON objects, not while the parser is in the
+ middle of parsing a JSON object.
+
This function is useful in two cases: a) finding the trailing text after a
JSON object or b) parsing multiple JSON objects separated by non-JSON text
(such as commas).
- $json->incr_text =~ s/\s*,\s*//;
-
- In Perl 5.005, C<lvalue> attribute is not available.
- You must write codes like the below:
-
- $string = $json->incr_text;
- $string =~ s/\s*,\s*//;
- $json->incr_text( $string );
-
=head2 incr_skip
$json->incr_skip
- This will reset the state of the incremental parser and will remove the
- parsed text from the input buffer. This is useful after C<incr_parse>
- died, in which case the input buffer and incremental parser state is left
- unchanged, to skip the text parsed so far and to reset the parse state.
+ This will reset the state of the incremental parser and will remove
+ the parsed text from the input buffer so far. This is useful after
+ C<incr_parse> died, in which case the input buffer and incremental parser
+ state is left unchanged, to skip the text parsed so far and to reset the
+ parse state.
+
+ The difference to C<incr_reset> is that only text until the parse error
+ occurred is removed.
=head2 incr_reset
@@ -59855,140 +61967,18 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
ignore any trailing data, which means you have to reset the parser after
each successful decode.
- See to L<JSON::XS/INCREMENTAL PARSING> for examples.
-
-
- =head1 JSON::PP SUPPORT METHODS
-
- The below methods are JSON::PP own methods, so when C<JSON> works
- with JSON::PP (i.e. the created object is a JSON::PP object), available.
- See to L<JSON::PP/JSON::PP OWN METHODS> in detail.
-
- If you use C<JSON> with additional C<-support_by_pp>, some methods
- are available even with JSON::XS. See to L<USE PP FEATURES EVEN THOUGH XS BACKEND>.
-
- BEING { $ENV{PERL_JSON_BACKEND} = 'JSON::XS' }
-
- use JSON -support_by_pp;
-
- my $json = JSON->new;
- $json->allow_nonref->escape_slash->encode("/");
-
- # functional interfaces too.
- print to_json(["/"], {escape_slash => 1});
- print from_json('["foo"]', {utf8 => 1});
-
- If you do not want to all functions but C<-support_by_pp>,
- use C<-no_export>.
-
- use JSON -support_by_pp, -no_export;
- # functional interfaces are not exported.
-
- =head2 allow_singlequote
-
- $json = $json->allow_singlequote([$enable])
-
- If C<$enable> is true (or missing), then C<decode> will accept
- any JSON strings quoted by single quotations that are invalid JSON
- format.
-
- $json->allow_singlequote->decode({"foo":'bar'});
- $json->allow_singlequote->decode({'foo':"bar"});
- $json->allow_singlequote->decode({'foo':'bar'});
-
- As same as the C<relaxed> option, this option may be used to parse
- application-specific files written by humans.
-
- =head2 allow_barekey
-
- $json = $json->allow_barekey([$enable])
-
- If C<$enable> is true (or missing), then C<decode> will accept
- bare keys of JSON object that are invalid JSON format.
-
- As same as the C<relaxed> option, this option may be used to parse
- application-specific files written by humans.
-
- $json->allow_barekey->decode('{foo:"bar"}');
-
- =head2 allow_bignum
-
- $json = $json->allow_bignum([$enable])
-
- If C<$enable> is true (or missing), then C<decode> will convert
- the big integer Perl cannot handle as integer into a L<Math::BigInt>
- object and convert a floating number (any) into a L<Math::BigFloat>.
-
- On the contrary, C<encode> converts C<Math::BigInt> objects and C<Math::BigFloat>
- objects into JSON numbers with C<allow_blessed> enable.
-
- $json->allow_nonref->allow_blessed->allow_bignum;
- $bigfloat = $json->decode('2.000000000000000000000000001');
- print $json->encode($bigfloat);
- # => 2.000000000000000000000000001
-
- See to L<MAPPING> about the conversion of JSON number.
-
- =head2 loose
-
- $json = $json->loose([$enable])
-
- The unescaped [\x00-\x1f\x22\x2f\x5c] strings are invalid in JSON strings
- and the module doesn't allow to C<decode> to these (except for \x2f).
- If C<$enable> is true (or missing), then C<decode> will accept these
- unescaped strings.
-
- $json->loose->decode(qq|["abc
- def"]|);
-
- See to L<JSON::PP/JSON::PP OWN METHODS>.
-
- =head2 escape_slash
-
- $json = $json->escape_slash([$enable])
-
- According to JSON Grammar, I<slash> (U+002F) is escaped. But by default
- JSON backend modules encode strings without escaping slash.
-
- If C<$enable> is true (or missing), then C<encode> will escape slashes.
-
- =head2 indent_length
-
- $json = $json->indent_length($length)
-
- With JSON::XS, The indent space length is 3 and cannot be changed.
- With JSON::PP, it sets the indent space length with the given $length.
- The default is 3. The acceptable range is 0 to 15.
-
- =head2 sort_by
-
- $json = $json->sort_by($function_name)
- $json = $json->sort_by($subroutine_ref)
-
- If $function_name or $subroutine_ref are set, its sort routine are used.
-
- $js = $pc->sort_by(sub { $JSON::PP::a cmp $JSON::PP::b })->encode($obj);
- # is($js, q|{"a":1,"b":2,"c":3,"d":4,"e":5,"f":6,"g":7,"h":8,"i":9}|);
-
- $js = $pc->sort_by('own_sort')->encode($obj);
- # is($js, q|{"a":1,"b":2,"c":3,"d":4,"e":5,"f":6,"g":7,"h":8,"i":9}|);
-
- sub JSON::PP::own_sort { $JSON::PP::a cmp $JSON::PP::b }
-
- As the sorting routine runs in the JSON::PP scope, the given
- subroutine name and the special variables C<$a>, C<$b> will begin
- with 'JSON::PP::'.
-
- If $integer is set, then the effect is same as C<canonical> on.
-
- See to L<JSON::PP/JSON::PP OWN METHODS>.
-
=head1 MAPPING
- This section is copied from JSON::XS and modified to C<JSON>.
- JSON::XS and JSON::PP mapping mechanisms are almost equivalent.
+ Most of this section is also taken from JSON::XS.
- See to L<JSON::XS/MAPPING>.
+ This section describes how the backend modules map Perl values to JSON values and
+ vice versa. These mappings are designed to "do the right thing" in most
+ circumstances automatically, preserving round-tripping characteristics
+ (what you put in comes out as something equivalent).
+
+ For the more enlightened: note that in the following descriptions,
+ lowercase I<perl> refers to the Perl interpreter, while uppercase I<Perl>
+ refers to the abstract Perl language itself.
=head2 JSON -> PERL
@@ -60017,7 +62007,7 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
the conversion details, but an integer may take slightly less memory and
might represent more values exactly than floating point numbers.
- If the number consists of digits only, C<JSON> will try to represent
+ If the number consists of digits only, this module will try to represent
it as an integer value. If that fails, it will try to represent it as
a numeric (floating point) value if that is possible without loss of
precision. Otherwise it will preserve the number as a string value (in
@@ -60031,13 +62021,9 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
Note that precision is not accuracy - binary floating point values cannot
represent most decimal fractions exactly, and when converting from and to
- floating point, C<JSON> only guarantees precision up to but not including
+ floating point, this module only guarantees precision up to but not including
the least significant bit.
- If the backend is JSON::PP and C<allow_bignum> is enable, the big integers
- and the numeric can be optionally converted into L<Math::BigInt> and
- L<Math::BigFloat> objects.
-
=item true, false
These JSON atoms become C<JSON::true> and C<JSON::false>,
@@ -60045,20 +62031,15 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
C<1> and C<0>. You can check whether a scalar is a JSON boolean by using
the C<JSON::is_bool> function.
- print JSON::true + 1;
- => 1
-
- ok(JSON::true eq '1');
- ok(JSON::true == 1);
-
- C<JSON> will install these missing overloading features to the backend modules.
-
-
=item null
A JSON null atom becomes C<undef> in Perl.
- C<JSON::null> returns C<undef>.
+ =item shell-style comments (C<< # I<text> >>)
+
+ As a nonstandard extension to the JSON syntax that is enabled by the
+ C<relaxed> setting, shell-style comments are allowed. They can start
+ anywhere outside strings and go till the end of the line.
=back
@@ -60073,18 +62054,13 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
=item hash references
- Perl hash references become JSON objects. As there is no inherent ordering
- in hash keys (or JSON objects), they will usually be encoded in a
- pseudo-random order that can change between runs of the same program but
- stays generally the same within a single run of a program. C<JSON>
- optionally sort the hash keys (determined by the I<canonical> flag), so
- the same data structure will serialise to the same JSON text (given same
- settings and version of JSON::XS), but this incurs a runtime overhead
- and is only rarely useful, e.g. when you want to compare some JSON text
- against another for equality.
-
- In future, the ordered object feature will be added to JSON::PP using C<tie> mechanism.
-
+ Perl hash references become JSON objects. As there is no inherent
+ ordering in hash keys (or JSON objects), they will usually be encoded
+ in a pseudo-random order. This module can optionally sort the hash keys
+ (determined by the I<canonical> flag), so the same data structure will
+ serialise to the same JSON text (given same settings and version of
+ the same backend), but this incurs a runtime overhead and is only rarely useful,
+ e.g. when you want to compare some JSON text against another for equality.
=item array references
@@ -60097,36 +62073,23 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
C<1>, which get turned into C<false> and C<true> atoms in JSON. You can
also use C<JSON::false> and C<JSON::true> to improve readability.
- to_json [\0,JSON::true] # yields [false,true]
+ encode_json [\0,JSON::true] # yields [false,true]
=item JSON::true, JSON::false, JSON::null
These special values become JSON true and JSON false values,
respectively. You can also use C<\1> and C<\0> directly if you want.
- JSON::null returns C<undef>.
-
=item blessed objects
- Blessed objects are not directly representable in JSON. See the
- C<allow_blessed> and C<convert_blessed> methods on various options on
- how to deal with this: basically, you can choose between throwing an
- exception, encoding the reference as if it weren't blessed, or provide
- your own serialiser method.
-
- With C<convert_blessed_universally> mode, C<encode> converts blessed
- hash references or blessed array references (contains other blessed references)
- into JSON members and arrays.
-
- use JSON -convert_blessed_universally;
- JSON->new->allow_blessed->convert_blessed->encode( $blessed_object );
-
- See to L<convert_blessed>.
+ Blessed objects are not directly representable in JSON, but C<JSON::XS>
+ allows various ways of handling objects. See L<OBJECT SERIALISATION>,
+ below, for details.
=item simple scalars
Simple Perl scalars (any scalar that is not a reference) are the most
- difficult objects to encode: JSON::XS and JSON::PP will encode undefined scalars as
+ difficult objects to encode: this module will encode undefined scalars as
JSON C<null> values, scalars that have last been used in a string context
before encoding as JSON strings, and anything else as number value:
@@ -60155,7 +62118,9 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
$x += 0; # numify it, ensuring it will be dumped as a number
$x *= 1; # same thing, the choice is yours.
- You can not currently force the type in other, less obscure, ways.
+ You can not currently force the type in other, less obscure, ways. Tell me
+ if you need this capability (but don't forget to explain why it's needed
+ :).
Note that numerical precision has the same meaning as under Perl (so
binary to decimal conversion follows the same rules as in Perl, which
@@ -60164,352 +62129,185 @@ $fatpacked{"JSON.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON';
infinities or NaN's - these cannot be represented in JSON, and it is an
error to pass those in.
- =item Big Number
-
- If the backend is JSON::PP and C<allow_bignum> is enable,
- C<encode> converts C<Math::BigInt> objects and C<Math::BigFloat>
- objects into JSON numbers.
-
-
=back
- =head1 JSON and ECMAscript
-
- See to L<JSON::XS/JSON and ECMAscript>.
-
- =head1 JSON and YAML
-
- JSON is not a subset of YAML.
- See to L<JSON::XS/JSON and YAML>.
-
-
- =head1 BACKEND MODULE DECISION
-
- When you use C<JSON>, C<JSON> tries to C<use> JSON::XS. If this call failed, it will
- C<uses> JSON::PP. The required JSON::XS version is I<2.2> or later.
-
- The C<JSON> constructor method returns an object inherited from the backend module,
- and JSON::XS object is a blessed scalar reference while JSON::PP is a blessed hash
- reference.
-
- So, your program should not depend on the backend module, especially
- returned objects should not be modified.
-
- my $json = JSON->new; # XS or PP?
- $json->{stash} = 'this is xs object'; # this code may raise an error!
-
- To check the backend module, there are some methods - C<backend>, C<is_pp> and C<is_xs>.
+ =head2 OBJECT SERIALISATION
- JSON->backend; # 'JSON::XS' or 'JSON::PP'
-
- JSON->backend->is_pp: # 0 or 1
-
- JSON->backend->is_xs: # 1 or 0
-
- $json->is_xs; # 1 or 0
-
- $json->is_pp; # 0 or 1
+ As for Perl objects, this module only supports a pure JSON representation
+ (without the ability to deserialise the object automatically again).
+ =head3 SERIALISATION
- If you set an environment variable C<PERL_JSON_BACKEND>, the calling action will be changed.
+ What happens when this module encounters a Perl object depends on the
+ C<allow_blessed> and C<convert_blessed> settings, which are used in
+ this order:
- =over
+ =over 4
- =item PERL_JSON_BACKEND = 0 or PERL_JSON_BACKEND = 'JSON::PP'
+ =item 1. C<convert_blessed> is enabled and the object has a C<TO_JSON> method.
- Always use JSON::PP
+ In this case, the C<TO_JSON> method of the object is invoked in scalar
+ context. It must return a single scalar that can be directly encoded into
+ JSON. This scalar replaces the object in the JSON text.
- =item PERL_JSON_BACKEND == 1 or PERL_JSON_BACKEND = 'JSON::XS,JSON::PP'
+ For example, the following C<TO_JSON> method will convert all L<URI>
+ objects to JSON strings when serialised. The fact that these values
+ originally were L<URI> objects is lost.
- (The default) Use compiled JSON::XS if it is properly compiled & installed,
- otherwise use JSON::PP.
+ sub URI::TO_JSON {
+ my ($uri) = @_;
+ $uri->as_string
+ }
- =item PERL_JSON_BACKEND == 2 or PERL_JSON_BACKEND = 'JSON::XS'
+ =item 2. C<allow_blessed> is enabled.
- Always use compiled JSON::XS, die if it isn't properly compiled & installed.
+ The object will be serialised as a JSON null value.
- =item PERL_JSON_BACKEND = 'JSON::backportPP'
+ =item 3. none of the above
- Always use JSON::backportPP.
- JSON::backportPP is JSON::PP back port module.
- C<JSON> includes JSON::backportPP instead of JSON::PP.
+ If none of the settings are enabled or the respective methods are missing,
+ this module throws an exception.
=back
- These ideas come from L<DBI::PurePerl> mechanism.
-
- example:
-
- BEGIN { $ENV{PERL_JSON_BACKEND} = 'JSON::PP' }
- use JSON; # always uses JSON::PP
-
- In future, it may be able to specify another module.
-
- =head1 USE PP FEATURES EVEN THOUGH XS BACKEND
-
- Many methods are available with either JSON::XS or JSON::PP and
- when the backend module is JSON::XS, if any JSON::PP specific (i.e. JSON::XS unsupported)
- method is called, it will C<warn> and be noop.
-
- But If you C<use> C<JSON> passing the optional string C<-support_by_pp>,
- it makes a part of those unsupported methods available.
- This feature is achieved by using JSON::PP in C<de/encode>.
-
- BEGIN { $ENV{PERL_JSON_BACKEND} = 2 } # with JSON::XS
- use JSON -support_by_pp;
- my $json = JSON->new;
- $json->allow_nonref->escape_slash->encode("/");
-
- At this time, the returned object is a C<JSON::Backend::XS::Supportable>
- object (re-blessed XS object), and by checking JSON::XS unsupported flags
- in de/encoding, can support some unsupported methods - C<loose>, C<allow_bignum>,
- C<allow_barekey>, C<allow_singlequote>, C<escape_slash> and C<indent_length>.
-
- When any unsupported methods are not enable, C<XS de/encode> will be
- used as is. The switch is achieved by changing the symbolic tables.
-
- C<-support_by_pp> is effective only when the backend module is JSON::XS
- and it makes the de/encoding speed down a bit.
-
- See to L<JSON::PP SUPPORT METHODS>.
-
- =head1 INCOMPATIBLE CHANGES TO OLD VERSION
+ =head1 ENCODING/CODESET FLAG NOTES
- There are big incompatibility between new version (2.00) and old (1.xx).
- If you use old C<JSON> 1.xx in your code, please check it.
+ This section is taken from JSON::XS.
- See to L<Transition ways from 1.xx to 2.xx.>
+ The interested reader might have seen a number of flags that signify
+ encodings or codesets - C<utf8>, C<latin1> and C<ascii>. There seems to be
+ some confusion on what these do, so here is a short comparison:
- =over
+ C<utf8> controls whether the JSON text created by C<encode> (and expected
+ by C<decode>) is UTF-8 encoded or not, while C<latin1> and C<ascii> only
+ control whether C<encode> escapes character values outside their respective
+ codeset range. Neither of these flags conflict with each other, although
+ some combinations make less sense than others.
- =item jsonToObj and objToJson are obsoleted.
+ Care has been taken to make all flags symmetrical with respect to
+ C<encode> and C<decode>, that is, texts encoded with any combination of
+ these flag values will be correctly decoded when the same flags are used
+ - in general, if you use different flag settings while encoding vs. when
+ decoding you likely have a bug somewhere.
- Non Perl-style name C<jsonToObj> and C<objToJson> are obsoleted
- (but not yet deleted from the source).
- If you use these functions in your code, please replace them
- with C<from_json> and C<to_json>.
+ Below comes a verbose discussion of these flags. Note that a "codeset" is
+ simply an abstract set of character-codepoint pairs, while an encoding
+ takes those codepoint numbers and I<encodes> them, in our case into
+ octets. Unicode is (among other things) a codeset, UTF-8 is an encoding,
+ and ISO-8859-1 (= latin 1) and ASCII are both codesets I<and> encodings at
+ the same time, which can be confusing.
+ =over 4
- =item Global variables are no longer available.
+ =item C<utf8> flag disabled
- C<JSON> class variables - C<$JSON::AUTOCONVERT>, C<$JSON::BareKey>, etc...
- - are not available any longer.
- Instead, various features can be used through object methods.
+ When C<utf8> is disabled (the default), then C<encode>/C<decode> generate
+ and expect Unicode strings, that is, characters with high ordinal Unicode
+ values (> 255) will be encoded as such characters, and likewise such
+ characters are decoded as-is, no changes to them will be done, except
+ "(re-)interpreting" them as Unicode codepoints or Unicode characters,
+ respectively (to Perl, these are the same thing in strings unless you do
+ funny/weird/dumb stuff).
+ This is useful when you want to do the encoding yourself (e.g. when you
+ want to have UTF-16 encoded JSON texts) or when some other layer does
+ the encoding for you (for example, when printing to a terminal using a
+ filehandle that transparently encodes to UTF-8 you certainly do NOT want
+ to UTF-8 encode your data first and have Perl encode it another time).
- =item Package JSON::Converter and JSON::Parser are deleted.
+ =item C<utf8> flag enabled
- Now C<JSON> bundles with JSON::PP which can handle JSON more properly than them.
+ If the C<utf8>-flag is enabled, C<encode>/C<decode> will encode all
+ characters using the corresponding UTF-8 multi-byte sequence, and will
+ expect your input strings to be encoded as UTF-8, that is, no "character"
+ of the input string must have any value > 255, as UTF-8 does not allow
+ that.
- =item Package JSON::NotString is deleted.
+ The C<utf8> flag therefore switches between two modes: disabled means you
+ will get a Unicode string in Perl, enabled means you get an UTF-8 encoded
+ octet/binary string in Perl.
- There was C<JSON::NotString> class which represents JSON value C<true>, C<false>, C<null>
- and numbers. It was deleted and replaced by C<JSON::Boolean>.
+ =item C<latin1> or C<ascii> flags enabled
- C<JSON::Boolean> represents C<true> and C<false>.
+ With C<latin1> (or C<ascii>) enabled, C<encode> will escape characters
+ with ordinal values > 255 (> 127 with C<ascii>) and encode the remaining
+ characters as specified by the C<utf8> flag.
- C<JSON::Boolean> does not represent C<null>.
+ If C<utf8> is disabled, then the result is also correctly encoded in those
+ character sets (as both are proper subsets of Unicode, meaning that a
+ Unicode string with all character values < 256 is the same thing as a
+ ISO-8859-1 string, and a Unicode string with all character values < 128 is
+ the same thing as an ASCII string in Perl).
- C<JSON::null> returns C<undef>.
+ If C<utf8> is enabled, you still get a correct UTF-8-encoded string,
+ regardless of these flags, just some more characters will be escaped using
+ C<\uXXXX> then before.
- C<JSON> makes L<JSON::XS::Boolean> and L<JSON::PP::Boolean> is-a relation
- to L<JSON::Boolean>.
+ Note that ISO-8859-1-I<encoded> strings are not compatible with UTF-8
+ encoding, while ASCII-encoded strings are. That is because the ISO-8859-1
+ encoding is NOT a subset of UTF-8 (despite the ISO-8859-1 I<codeset> being
+ a subset of Unicode), while ASCII is.
- =item function JSON::Number is obsoleted.
+ Surprisingly, C<decode> will ignore these flags and so treat all input
+ values as governed by the C<utf8> flag. If it is disabled, this allows you
+ to decode ISO-8859-1- and ASCII-encoded strings, as both strict subsets of
+ Unicode. If it is enabled, you can correctly decode UTF-8 encoded strings.
- C<JSON::Number> is now needless because JSON::XS and JSON::PP have
- round-trip integrity.
+ So neither C<latin1> nor C<ascii> are incompatible with the C<utf8> flag -
+ they only govern when the JSON output engine escapes a character or not.
- =item JSONRPC modules are deleted.
+ The main use for C<latin1> is to relatively efficiently store binary data
+ as JSON, at the expense of breaking compatibility with most JSON decoders.
- Perl implementation of JSON-RPC protocol - C<JSONRPC >, C<JSONRPC::Transport::HTTP>
- and C<Apache::JSONRPC > are deleted in this distribution.
- Instead of them, there is L<JSON::RPC> which supports JSON-RPC protocol version 1.1.
+ The main use for C<ascii> is to force the output to not contain characters
+ with values > 127, which means you can interpret the resulting string
+ as UTF-8, ISO-8859-1, ASCII, KOI8-R or most about any character set and
+ 8-bit-encoding, and still get the same data structure back. This is useful
+ when your channel for JSON transfer is not 8-bit clean or the encoding
+ might be mangled in between (e.g. in mail), and works because ASCII is a
+ proper subset of most 8-bit and multibyte encodings in use in the world.
=back
- =head2 Transition ways from 1.xx to 2.xx.
-
- You should set C<suport_by_pp> mode firstly, because
- it is always successful for the below codes even with JSON::XS.
-
- use JSON -support_by_pp;
-
- =over
-
- =item Exported jsonToObj (simple)
-
- from_json($json_text);
-
- =item Exported objToJson (simple)
-
- to_json($perl_scalar);
-
- =item Exported jsonToObj (advanced)
-
- $flags = {allow_barekey => 1, allow_singlequote => 1};
- from_json($json_text, $flags);
-
- equivalent to:
-
- $JSON::BareKey = 1;
- $JSON::QuotApos = 1;
- jsonToObj($json_text);
-
- =item Exported objToJson (advanced)
-
- $flags = {allow_blessed => 1, allow_barekey => 1};
- to_json($perl_scalar, $flags);
-
- equivalent to:
-
- $JSON::BareKey = 1;
- objToJson($perl_scalar);
-
- =item jsonToObj as object method
-
- $json->decode($json_text);
-
- =item objToJson as object method
-
- $json->encode($perl_scalar);
-
- =item new method with parameters
-
- The C<new> method in 2.x takes any parameters no longer.
- You can set parameters instead;
-
- $json = JSON->new->pretty;
-
- =item $JSON::Pretty, $JSON::Indent, $JSON::Delimiter
-
- If C<indent> is enable, that means C<$JSON::Pretty> flag set. And
- C<$JSON::Delimiter> was substituted by C<space_before> and C<space_after>.
- In conclusion:
-
- $json->indent->space_before->space_after;
-
- Equivalent to:
-
- $json->pretty;
-
- To change indent length, use C<indent_length>.
-
- (Only with JSON::PP, if C<-support_by_pp> is not used.)
-
- $json->pretty->indent_length(2)->encode($perl_scalar);
-
- =item $JSON::BareKey
-
- (Only with JSON::PP, if C<-support_by_pp> is not used.)
-
- $json->allow_barekey->decode($json_text)
-
- =item $JSON::ConvBlessed
-
- use C<-convert_blessed_universally>. See to L<convert_blessed>.
-
- =item $JSON::QuotApos
-
- (Only with JSON::PP, if C<-support_by_pp> is not used.)
-
- $json->allow_singlequote->decode($json_text)
-
- =item $JSON::SingleQuote
-
- Disable. C<JSON> does not make such a invalid JSON string any longer.
-
- =item $JSON::KeySort
-
- $json->canonical->encode($perl_scalar)
-
- This is the ascii sort.
-
- If you want to use with your own sort routine, check the C<sort_by> method.
-
- (Only with JSON::PP, even if C<-support_by_pp> is used currently.)
-
- $json->sort_by($sort_routine_ref)->encode($perl_scalar)
-
- $json->sort_by(sub { $JSON::PP::a <=> $JSON::PP::b })->encode($perl_scalar)
-
- Can't access C<$a> and C<$b> but C<$JSON::PP::a> and C<$JSON::PP::b>.
-
- =item $JSON::SkipInvalid
-
- $json->allow_unknown
-
- =item $JSON::AUTOCONVERT
-
- Needless. C<JSON> backend modules have the round-trip integrity.
-
- =item $JSON::UTF8
-
- Needless because C<JSON> (JSON::XS/JSON::PP) sets
- the UTF8 flag on properly.
-
- # With UTF8-flagged strings
-
- $json->allow_nonref;
- $str = chr(1000); # UTF8-flagged
-
- $json_text = $json->utf8(0)->encode($str);
- utf8::is_utf8($json_text);
- # true
- $json_text = $json->utf8(1)->encode($str);
- utf8::is_utf8($json_text);
- # false
-
- $str = '"' . chr(1000) . '"'; # UTF8-flagged
-
- $perl_scalar = $json->utf8(0)->decode($str);
- utf8::is_utf8($perl_scalar);
- # true
- $perl_scalar = $json->utf8(1)->decode($str);
- # died because of 'Wide character in subroutine'
-
- See to L<JSON::XS/A FEW NOTES ON UNICODE AND PERL>.
+ =head1 BACKWARD INCOMPATIBILITY
- =item $JSON::UnMapping
+ Since version 2.90, stringification (and string comparison) for
+ C<JSON::true> and C<JSON::false> has not been overloaded. It shouldn't
+ matter as long as you treat them as boolean values, but a code that
+ expects they are stringified as "true" or "false" doesn't work as
+ you have expected any more.
- Disable. See to L<MAPPING>.
+ if (JSON::true eq 'true') { # now fails
- =item $JSON::SelfConvert
+ print "The result is $JSON::true now."; # => The result is 1 now.
- This option was deleted.
- Instead of it, if a given blessed object has the C<TO_JSON> method,
- C<TO_JSON> will be executed with C<convert_blessed>.
+ And now these boolean values don't inherit JSON::Boolean, either.
+ When you need to test a value is a JSON boolean value or not, use
+ C<JSON::is_bool> function, instead of testing the value inherits
+ a particular boolean class or not.
- $json->convert_blessed->encode($blessed_hashref_or_arrayref)
- # if need, call allow_blessed
+ =head1 BUGS
- Note that it was C<toJson> in old version, but now not C<toJson> but C<TO_JSON>.
+ Please report bugs on backend selection and additional features
+ this module provides to RT or GitHub issues for this module:
- =back
+ =over 4
- =head1 TODO
+ =item https://rt.cpan.org/Public/Dist/Display.html?Queue=JSON
- =over
-
- =item example programs
+ =item https://github.com/makamaka/JSON/issues
=back
- =head1 THREADS
-
- No test with JSON::PP. If with JSON::XS, See to L<JSON::XS/THREADS>.
-
-
- =head1 BUGS
-
- Please report bugs relevant to C<JSON> to E<lt>makamaka[at]cpan.orgE<gt>.
-
+ Please report bugs and feature requests on decoding/encoding
+ and boolean behaviors to the author of the backend module you
+ are using.
=head1 SEE ALSO
- Most of the document is copied and modified from JSON::XS doc.
+ L<JSON::XS>, L<Cpanel::JSON::XS>, L<JSON::PP> for backends.
- L<JSON::XS>, L<JSON::PP>
+ L<JSON::MaybeXS>, an alternative that prefers Cpanel::JSON::XS.
C<RFC4627>(L<http://www.ietf.org/rfc/rfc4627.txt>)
@@ -60540,14 +62338,17 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
use 5.005;
use strict;
- use base qw(Exporter);
+
+ use Exporter ();
+ BEGIN { @JSON::PP::ISA = ('Exporter') }
+
use overload ();
+ use JSON::PP::Boolean;
use Carp ();
- use B ();
#use Devel::Peek;
- $JSON::PP::VERSION = '2.27203';
+ $JSON::PP::VERSION = '2.94';
@JSON::PP::EXPORT = qw(encode_json decode_json from_json to_json);
@@ -60577,6 +62378,13 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
use constant P_ALLOW_UNKNOWN => 18;
use constant OLD_PERL => $] < 5.008 ? 1 : 0;
+ use constant USE_B => 0;
+
+ BEGIN {
+ if (USE_B) {
+ require B;
+ }
+ }
BEGIN {
my @xs_compati_bit_properties = qw(
@@ -60588,33 +62396,33 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
allow_barekey escape_slash as_nonblessed
);
- # Perl version check, Unicode handling is enable?
+ # Perl version check, Unicode handling is enabled?
# Helper module sets @JSON::PP::_properties.
- if ($] < 5.008 ) {
+ if ( OLD_PERL ) {
my $helper = $] >= 5.006 ? 'JSON::PP::Compat5006' : 'JSON::PP::Compat5005';
eval qq| require $helper |;
if ($@) { Carp::croak $@; }
}
for my $name (@xs_compati_bit_properties, @pp_bit_properties) {
- my $flag_name = 'P_' . uc($name);
+ my $property_id = 'P_' . uc($name);
eval qq/
sub $name {
my \$enable = defined \$_[1] ? \$_[1] : 1;
if (\$enable) {
- \$_[0]->{PROPS}->[$flag_name] = 1;
+ \$_[0]->{PROPS}->[$property_id] = 1;
}
else {
- \$_[0]->{PROPS}->[$flag_name] = 0;
+ \$_[0]->{PROPS}->[$property_id] = 0;
}
\$_[0];
}
sub get_$name {
- \$_[0]->{PROPS}->[$flag_name] ? 1 : '';
+ \$_[0]->{PROPS}->[$property_id] ? 1 : '';
}
/;
}
@@ -60625,16 +62433,6 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
# Functions
- my %encode_allow_method
- = map {($_ => 1)} qw/utf8 pretty allow_nonref latin1 self_encode escape_slash
- allow_blessed convert_blessed indent indent_length allow_bignum
- as_nonblessed
- /;
- my %decode_allow_method
- = map {($_ => 1)} qw/utf8 allow_nonref loose allow_singlequote allow_bignum
- allow_barekey max_size relaxed/;
-
-
my $JSON; # cache
sub encode_json ($) { # encode
@@ -60665,9 +62463,6 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
my $self = {
max_depth => 512,
max_size => 0,
- indent => 0,
- FLAGS => 0,
- fallback => sub { encode_error('Invalid value. JSON can only reference.') },
indent_length => 3,
};
@@ -60700,7 +62495,7 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
my $enable = defined $v ? $v : 1;
if ($enable) { # indent_length(3) for JSON::XS compatibility
- $self->indent(1)->indent_length(3)->space_before(1)->space_after(1);
+ $self->indent(1)->space_before(1)->space_after(1);
}
else {
$self->indent(0)->space_before(0)->space_after(0);
@@ -60732,14 +62527,24 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
sub filter_json_object {
- $_[0]->{cb_object} = defined $_[1] ? $_[1] : 0;
+ if (defined $_[1] and ref $_[1] eq 'CODE') {
+ $_[0]->{cb_object} = $_[1];
+ } else {
+ delete $_[0]->{cb_object};
+ }
$_[0]->{F_HOOK} = ($_[0]->{cb_object} or $_[0]->{cb_sk_object}) ? 1 : 0;
$_[0];
}
sub filter_json_single_key_object {
- if (@_ > 1) {
+ if (@_ == 1 or @_ > 3) {
+ Carp::croak("Usage: JSON::PP::filter_json_single_key_object(self, key, callback = undef)");
+ }
+ if (defined $_[2] and ref $_[2] eq 'CODE') {
$_[0]->{cb_sk_object}->{$_[1]} = $_[2];
+ } else {
+ delete $_[0]->{cb_sk_object}->{$_[1]};
+ delete $_[0]->{cb_sk_object} unless %{$_[0]->{cb_sk_object} || {}};
}
$_[0]->{F_HOOK} = ($_[0]->{cb_object} or $_[0]->{cb_sk_object}) ? 1 : 0;
$_[0];
@@ -60765,7 +62570,8 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
}
sub allow_bigint {
- Carp::carp("allow_bigint() is obsoleted. use allow_bignum() insted.");
+ Carp::carp("allow_bigint() is obsoleted. use allow_bignum() instead.");
+ $_[0]->allow_bignum;
}
###############################
@@ -60805,11 +62611,11 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
$indent_count = 0;
$depth = 0;
- my $idx = $self->{PROPS};
+ my $props = $self->{PROPS};
($ascii, $latin1, $utf8, $indent, $canonical, $space_before, $space_after, $allow_blessed,
$convert_blessed, $escape_slash, $bignum, $as_nonblessed)
- = @{$idx}[P_ASCII .. P_SPACE_AFTER, P_ALLOW_BLESSED, P_CONVERT_BLESSED,
+ = @{$props}[P_ASCII .. P_SPACE_AFTER, P_ALLOW_BLESSED, P_CONVERT_BLESSED,
P_ESCAPE_SLASH, P_ALLOW_BIGNUM, P_AS_NONBLESSED];
($max_depth, $indent_length) = @{$self}{qw/max_depth indent_length/};
@@ -60823,7 +62629,7 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
}
encode_error("hash- or arrayref expected (not a simple scalar, use allow_nonref to allow this)")
- if(!ref $obj and !$idx->[ P_ALLOW_NONREF ]);
+ if(!ref $obj and !$props->[ P_ALLOW_NONREF ]);
my $str = $self->object_to_json($obj);
@@ -60833,7 +62639,7 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
utf8::upgrade($str);
}
- if ($idx->[ P_SHRINK ]) {
+ if ($props->[ P_SHRINK ]) {
utf8::downgrade($str, 1);
}
@@ -60871,13 +62677,14 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
}
return "$obj" if ( $bignum and _is_bignum($obj) );
- return $self->blessed_to_json($obj) if ($allow_blessed and $as_nonblessed); # will be removed.
+ if ($allow_blessed) {
+ return $self->blessed_to_json($obj) if ($as_nonblessed); # will be removed.
+ return 'null';
+ }
encode_error( sprintf("encountered object '%s', but neither allow_blessed "
. "nor convert_blessed settings are enabled", $obj)
- ) unless ($allow_blessed);
-
- return 'null';
+ );
}
else {
return $self->value_to_json($obj);
@@ -60901,15 +62708,16 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
for my $k ( _sort( $obj ) ) {
if ( OLD_PERL ) { utf8::decode($k) } # key for Perl 5.6 / be optimized
- push @res, string_to_json( $self, $k )
+ push @res, $self->string_to_json( $k )
. $del
- . ( $self->object_to_json( $obj->{$k} ) || $self->value_to_json( $obj->{$k} ) );
+ . ( ref $obj->{$k} ? $self->object_to_json( $obj->{$k} ) : $self->value_to_json( $obj->{$k} ) );
}
--$depth;
$self->_down_indent() if ($indent);
- return '{' . ( @res ? $pre : '' ) . ( @res ? join( ",$pre", @res ) . $post : '' ) . '}';
+ return '{}' unless @res;
+ return '{' . $pre . join( ",$pre", @res ) . $post . '}';
}
@@ -60923,36 +62731,53 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
my ($pre, $post) = $indent ? $self->_up_indent() : ('', '');
for my $v (@$obj){
- push @res, $self->object_to_json($v) || $self->value_to_json($v);
+ push @res, ref($v) ? $self->object_to_json($v) : $self->value_to_json($v);
}
--$depth;
$self->_down_indent() if ($indent);
- return '[' . ( @res ? $pre : '' ) . ( @res ? join( ",$pre", @res ) . $post : '' ) . ']';
+ return '[]' unless @res;
+ return '[' . $pre . join( ",$pre", @res ) . $post . ']';
}
+ sub _looks_like_number {
+ my $value = shift;
+ if (USE_B) {
+ my $b_obj = B::svref_2object(\$value);
+ my $flags = $b_obj->FLAGS;
+ return 1 if $flags & ( B::SVp_IOK() | B::SVp_NOK() ) and !( $flags & B::SVp_POK() );
+ return;
+ } else {
+ no warnings 'numeric';
+ # detect numbers
+ # string & "" -> ""
+ # number & "" -> 0 (with warning)
+ # nan and inf can detect as numbers, so check with * 0
+ return unless length((my $dummy = "") & $value);
+ return unless 0 + $value eq $value;
+ return 1 if $value * 0 == 0;
+ return -1; # inf/nan
+ }
+ }
sub value_to_json {
my ($self, $value) = @_;
return 'null' if(!defined $value);
- my $b_obj = B::svref_2object(\$value); # for round trip problem
- my $flags = $b_obj->FLAGS;
-
- return $value # as is
- if $flags & ( B::SVp_IOK | B::SVp_NOK ) and !( $flags & B::SVp_POK ); # SvTYPE is IV or NV?
-
my $type = ref($value);
- if(!$type){
- return string_to_json($self, $value);
+ if (!$type) {
+ if (_looks_like_number($value)) {
+ return $value;
+ }
+ return $self->string_to_json($value);
}
elsif( blessed($value) and $value->isa('JSON::PP::Boolean') ){
return $$value == 1 ? 'true' : 'false';
}
- elsif ($type) {
+ else {
if ((overload::StrVal($value) =~ /=(\w+)/)[0]) {
return $self->value_to_json("$value");
}
@@ -60964,25 +62789,19 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
: encode_error("cannot encode reference to scalar");
}
- if ( $self->{PROPS}->[ P_ALLOW_UNKNOWN ] ) {
- return 'null';
- }
- else {
- if ( $type eq 'SCALAR' or $type eq 'REF' ) {
+ if ( $self->{PROPS}->[ P_ALLOW_UNKNOWN ] ) {
+ return 'null';
+ }
+ else {
+ if ( $type eq 'SCALAR' or $type eq 'REF' ) {
encode_error("cannot encode reference to scalar");
- }
- else {
+ }
+ else {
encode_error("encountered $value, but JSON can only represent references to arrays or hashes");
- }
- }
+ }
+ }
}
- else {
- return $self->{fallback}->($value)
- if ($self->{fallback} and ref($self->{fallback}) eq 'CODE');
- return 'null';
- }
-
}
@@ -61144,7 +62963,7 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
my $text; # json data
my $at; # offset
- my $ch; # 1chracter
+ my $ch; # first character
my $len; # text length (changed according to UTF8 or NON UTF8)
# INTERNAL
my $depth; # nest counter
@@ -61153,7 +62972,7 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
my $utf8_len; # utf8 byte length
# FLAGS
my $utf8; # must be utf8
- my $max_depth; # max nest nubmer of objects and arrays
+ my $max_depth; # max nest number of objects and arrays
my $max_size;
my $relaxed;
my $cb_object;
@@ -61161,19 +62980,27 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
my $F_HOOK;
- my $allow_bigint; # using Math::BigInt
+ my $allow_bignum; # using Math::BigInt/BigFloat
my $singlequote; # loosely quoting
my $loose; #
my $allow_barekey; # bareKey
- # $opt flag
- # 0x00000001 .... decode_prefix
- # 0x10000000 .... incr_parse
+ sub _detect_utf_encoding {
+ my $text = shift;
+ my @octets = unpack('C4', $text);
+ return 'unknown' unless defined $octets[3];
+ return ( $octets[0] and $octets[1]) ? 'UTF-8'
+ : (!$octets[0] and $octets[1]) ? 'UTF-16BE'
+ : (!$octets[0] and !$octets[1]) ? 'UTF-32BE'
+ : ( $octets[2] ) ? 'UTF-16LE'
+ : (!$octets[2] ) ? 'UTF-32LE'
+ : 'unknown';
+ }
sub PP_decode_json {
- my ($self, $opt); # $opt is an effective flag during this decode_json.
+ my ($self, $want_offset);
- ($self, $text, $opt) = @_;
+ ($self, $text, $want_offset) = @_;
($at, $ch, $depth) = (0, '', 0);
@@ -61181,16 +63008,23 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
decode_error("malformed JSON string, neither array, object, number, string or atom");
}
- my $idx = $self->{PROPS};
+ my $props = $self->{PROPS};
- ($utf8, $relaxed, $loose, $allow_bigint, $allow_barekey, $singlequote)
- = @{$idx}[P_UTF8, P_RELAXED, P_LOOSE .. P_ALLOW_SINGLEQUOTE];
+ ($utf8, $relaxed, $loose, $allow_bignum, $allow_barekey, $singlequote)
+ = @{$props}[P_UTF8, P_RELAXED, P_LOOSE .. P_ALLOW_SINGLEQUOTE];
if ( $utf8 ) {
- utf8::downgrade( $text, 1 ) or Carp::croak("Wide character in subroutine entry");
+ $encoding = _detect_utf_encoding($text);
+ if ($encoding ne 'UTF-8' and $encoding ne 'unknown') {
+ require Encode;
+ Encode::from_to($text, $encoding, 'utf-8');
+ } else {
+ utf8::downgrade( $text, 1 ) or Carp::croak("Wide character in subroutine entry");
+ }
}
else {
utf8::upgrade( $text );
+ utf8::encode( $text );
}
$len = length $text;
@@ -61207,27 +63041,13 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
) if ($bytes > $max_size);
}
- # Currently no effect
- # should use regexp
- my @octets = unpack('C4', $text);
- $encoding = ( $octets[0] and $octets[1]) ? 'UTF-8'
- : (!$octets[0] and $octets[1]) ? 'UTF-16BE'
- : (!$octets[0] and !$octets[1]) ? 'UTF-32BE'
- : ( $octets[2] ) ? 'UTF-16LE'
- : (!$octets[2] ) ? 'UTF-32LE'
- : 'unknown';
-
white(); # remove head white space
- my $valid_start = defined $ch; # Is there a first character for JSON structure?
+ decode_error("malformed JSON string, neither array, object, number, string or atom") unless defined $ch; # Is there a first character for JSON structure?
my $result = value();
- return undef if ( !$result && ( $opt & 0x10000000 ) ); # for incr_parse
-
- decode_error("malformed JSON string, neither array, object, number, string or atom") unless $valid_start;
-
- if ( !$idx->[ P_ALLOW_NONREF ] and !ref $result ) {
+ if ( !$props->[ P_ALLOW_NONREF ] and !ref $result ) {
decode_error(
'JSON text must be an object or array (but found number, string, true, false or null,'
. ' use allow_nonref to allow this)', 1);
@@ -61239,12 +63059,11 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
white(); # remove tail white space
- if ( $ch ) {
- return ( $result, $consumed ) if ($opt & 0x00000001); # all right if decode_prefix
- decode_error("garbage after JSON object");
- }
+ return ( $result, $consumed ) if $want_offset; # all right if decode_prefix
- ( $opt & 0x00000001 ) ? ( $result, $consumed ) : $result;
+ decode_error("garbage after JSON object") if defined $ch;
+
+ $result;
}
@@ -61265,13 +63084,12 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
}
sub string {
- my ($i, $s, $t, $u);
my $utf16;
my $is_utf8;
($is_valid_utf8, $utf8_len) = ('', 0);
- $s = ''; # basically UTF8 flag on
+ my $s = ''; # basically UTF8 flag on
if($ch eq '"' or ($singlequote and $ch eq "'")){
my $boundChar = $ch;
@@ -61342,17 +63160,12 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
else{
if ( ord $ch > 127 ) {
- if ( $utf8 ) {
- unless( $ch = is_valid_utf8($ch) ) {
- $at -= 1;
- decode_error("malformed UTF-8 character in JSON string");
- }
- else {
- $at += $utf8_len - 1;
- }
+ unless( $ch = is_valid_utf8($ch) ) {
+ $at -= 1;
+ decode_error("malformed UTF-8 character in JSON string");
}
else {
- utf8::encode( $ch );
+ $at += $utf8_len - 1;
}
$is_utf8 = 1;
@@ -61376,10 +63189,10 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
sub white {
while( defined $ch ){
- if($ch le ' '){
+ if($ch eq '' or $ch =~ /\A[ \t\r\n]\z/){
next_chr();
}
- elsif($ch eq '/'){
+ elsif($relaxed and $ch eq '/'){
next_chr();
if(defined $ch and $ch eq '/'){
1 while(defined(next_chr()) and $ch ne "\n" and $ch ne "\r");
@@ -61470,6 +63283,7 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
}
}
+ $at-- if defined $ch and $ch ne '';
decode_error(", or ] expected while parsing array");
}
@@ -61536,7 +63350,7 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
}
- $at--;
+ $at-- if defined $ch and $ch ne '';
decode_error(", or } expected while parsing object/hash");
}
@@ -61585,32 +63399,8 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
sub number {
my $n = '';
my $v;
-
- # According to RFC4627, hex or oct digts are invalid.
- if($ch eq '0'){
- my $peek = substr($text,$at,1);
- my $hex = $peek =~ /[xX]/; # 0 or 1
-
- if($hex){
- decode_error("malformed number (leading zero must not be followed by another digit)");
- ($n) = ( substr($text, $at+1) =~ /^([0-9a-fA-F]+)/);
- }
- else{ # oct
- ($n) = ( substr($text, $at) =~ /^([0-7]+)/);
- if (defined $n and length $n > 1) {
- decode_error("malformed number (leading zero must not be followed by another digit)");
- }
- }
-
- if(defined $n and length($n)){
- if (!$hex and length($n) == 1) {
- decode_error("malformed number (leading zero must not be followed by another digit)");
- }
- $at += length($n) + $hex;
- next_chr;
- return $hex ? hex($n) : oct($n);
- }
- }
+ my $is_dec;
+ my $is_exp;
if($ch eq '-'){
$n = '-';
@@ -61620,6 +63410,16 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
}
}
+ # According to RFC4627, hex or oct digits are invalid.
+ if($ch eq '0'){
+ my $peek = substr($text,$at,1);
+ if($peek =~ /^[0-9a-dfA-DF]/){ # e may be valid (exponential)
+ decode_error("malformed number (leading zero must not be followed by another digit)");
+ }
+ $n .= $ch;
+ next_chr;
+ }
+
while(defined $ch and $ch =~ /\d/){
$n .= $ch;
next_chr;
@@ -61627,6 +63427,7 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
if(defined $ch and $ch eq '.'){
$n .= '.';
+ $is_dec = 1;
next_chr;
if (!defined $ch or $ch !~ /\d/) {
@@ -61643,6 +63444,7 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
if(defined $ch and ($ch eq 'e' or $ch eq 'E')){
$n .= $ch;
+ $is_exp = 1;
next_chr;
if(defined($ch) and ($ch eq '+' or $ch eq '-')){
@@ -61668,21 +63470,24 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
$v .= $n;
- if ($v !~ /[.eE]/ and length $v > $max_intsize) {
- if ($allow_bigint) { # from Adam Sussman
- require Math::BigInt;
- return Math::BigInt->new($v);
+ if ($is_dec or $is_exp) {
+ if ($allow_bignum) {
+ require Math::BigFloat;
+ return Math::BigFloat->new($v);
}
- else {
- return "$v";
+ } else {
+ if (length $v > $max_intsize) {
+ if ($allow_bignum) { # from Adam Sussman
+ require Math::BigInt;
+ return Math::BigInt->new($v);
+ }
+ else {
+ return "$v";
+ }
}
}
- elsif ($allow_bigint) {
- require Math::BigFloat;
- return Math::BigFloat->new($v);
- }
- return 0+$v;
+ return $is_dec ? $v/1.0 : 0+$v;
}
@@ -61718,11 +63523,14 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
my $no_rep = shift;
my $str = defined $text ? substr($text, $at) : '';
my $mess = '';
- my $type = $] >= 5.008 ? 'U*'
- : $] < 5.006 ? 'C*'
- : utf8::is_utf8( $str ) ? 'U*' # 5.6
- : 'C*'
- ;
+ my $type = 'U*';
+
+ if ( OLD_PERL ) {
+ my $type = $] < 5.006 ? 'C*'
+ : utf8::is_utf8( $str ) ? 'U*' # 5.6
+ : 'C*'
+ ;
+ }
for my $c ( unpack( $type, $str ) ) { # emulate pv_uni_display() ?
$mess .= $c == 0x07 ? '\a'
@@ -61813,26 +63621,26 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
*utf8::is_utf8 = *Encode::is_utf8;
}
- if ( $] >= 5.008 ) {
+ if ( !OLD_PERL ) {
*JSON::PP::JSON_PP_encode_ascii = \&_encode_ascii;
*JSON::PP::JSON_PP_encode_latin1 = \&_encode_latin1;
*JSON::PP::JSON_PP_decode_surrogates = \&_decode_surrogates;
*JSON::PP::JSON_PP_decode_unicode = \&_decode_unicode;
- }
- if ($] >= 5.008 and $] < 5.008003) { # join() in 5.8.0 - 5.8.2 is broken.
- package JSON::PP;
- require subs;
- subs->import('join');
- eval q|
- sub join {
- return '' if (@_ < 2);
- my $j = shift;
- my $str = shift;
- for (@_) { $str .= $j . $_; }
- return $str;
- }
- |;
+ if ($] < 5.008003) { # join() in 5.8.0 - 5.8.2 is broken.
+ package JSON::PP;
+ require subs;
+ subs->import('join');
+ eval q|
+ sub join {
+ return '' if (@_ < 2);
+ my $j = shift;
+ my $str = shift;
+ for (@_) { $str .= $j . $_; }
+ return $str;
+ }
+ |;
+ }
}
@@ -61855,8 +63663,8 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
sub JSON::PP::incr_text : lvalue {
$_[0]->{_incr_parser} ||= JSON::PP::IncrParser->new;
- if ( $_[0]->{_incr_parser}->{incr_parsing} ) {
- Carp::croak("incr_text can not be called when the incremental parser already started parsing");
+ if ( $_[0]->{_incr_parser}->{incr_pos} ) {
+ Carp::croak("incr_text cannot be called when the incremental parser already started parsing");
}
$_[0]->{_incr_parser}->{incr_text};
}
@@ -61876,13 +63684,14 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
*JSON::PP::reftype = \&Scalar::Util::reftype;
*JSON::PP::refaddr = \&Scalar::Util::refaddr;
}
- else{ # This code is from Sclar::Util.
+ else{ # This code is from Scalar::Util.
# warn $@;
eval 'sub UNIVERSAL::a_sub_not_likely_to_be_here { ref($_[0]) }';
*JSON::PP::blessed = sub {
local($@, $SIG{__DIE__}, $SIG{__WARN__});
ref($_[0]) ? eval { $_[0]->a_sub_not_likely_to_be_here } : undef;
};
+ require B;
my %tmap = qw(
B::NULL SCALAR
B::HV HASH
@@ -61925,7 +63734,7 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
}
- # shamely copied and modified from JSON::XS code.
+ # shamelessly copied and modified from JSON::XS code.
$JSON::PP::true = do { bless \(my $dummy = 1), "JSON::PP::Boolean" };
$JSON::PP::false = do { bless \(my $dummy = 0), "JSON::PP::Boolean" };
@@ -61938,18 +63747,6 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
###############################
- package JSON::PP::Boolean;
-
- use overload (
- "0+" => sub { ${$_[0]} },
- "++" => sub { $_[0] = ${$_[0]} + 1 },
- "--" => sub { $_[0] = ${$_[0]} - 1 },
- fallback => 1,
- );
-
-
- ###############################
-
package JSON::PP::IncrParser;
use strict;
@@ -61963,16 +63760,14 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
$JSON::PP::IncrParser::VERSION = '1.01';
- my $unpack_format = $] < 5.006 ? 'C*' : 'U*';
-
sub new {
my ( $class ) = @_;
bless {
incr_nest => 0,
incr_text => undef,
- incr_parsing => 0,
- incr_p => 0,
+ incr_pos => 0,
+ incr_mode => 0,
}, $class;
}
@@ -61990,123 +63785,151 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
$self->{incr_text} .= $text;
}
-
- my $max_size = $coder->get_max_size;
-
if ( defined wantarray ) {
-
- $self->{incr_mode} = INCR_M_WS unless defined $self->{incr_mode};
-
- if ( wantarray ) {
- my @ret;
-
- $self->{incr_parsing} = 1;
-
+ my $max_size = $coder->get_max_size;
+ my $p = $self->{incr_pos};
+ my @ret;
+ {
do {
- push @ret, $self->_incr_parse( $coder, $self->{incr_text} );
+ unless ( $self->{incr_nest} <= 0 and $self->{incr_mode} == INCR_M_JSON ) {
+ $self->_incr_parse( $coder );
- unless ( !$self->{incr_nest} and $self->{incr_mode} == INCR_M_JSON ) {
- $self->{incr_mode} = INCR_M_WS if $self->{incr_mode} != INCR_M_STR;
+ if ( $max_size and $self->{incr_pos} > $max_size ) {
+ Carp::croak("attempted decode of JSON text of $self->{incr_pos} bytes size, but max_size is set to $max_size");
+ }
+ unless ( $self->{incr_nest} <= 0 and $self->{incr_mode} == INCR_M_JSON ) {
+ # as an optimisation, do not accumulate white space in the incr buffer
+ if ( $self->{incr_mode} == INCR_M_WS and $self->{incr_pos} ) {
+ $self->{incr_pos} = 0;
+ $self->{incr_text} = '';
+ }
+ last;
+ }
}
- } until ( length $self->{incr_text} >= $self->{incr_p} );
-
- $self->{incr_parsing} = 0;
+ my ($obj, $offset) = $coder->PP_decode_json( $self->{incr_text}, 0x00000001 );
+ push @ret, $obj;
+ use bytes;
+ $self->{incr_text} = substr( $self->{incr_text}, $offset || 0 );
+ $self->{incr_pos} = 0;
+ $self->{incr_nest} = 0;
+ $self->{incr_mode} = 0;
+ last unless wantarray;
+ } while ( wantarray );
+ }
+ if ( wantarray ) {
return @ret;
}
else { # in scalar context
- $self->{incr_parsing} = 1;
- my $obj = $self->_incr_parse( $coder, $self->{incr_text} );
- $self->{incr_parsing} = 0 if defined $obj; # pointed by Martin J. Evans
- return $obj ? $obj : undef; # $obj is an empty string, parsing was completed.
+ return $ret[0] ? $ret[0] : undef;
}
-
}
-
}
sub _incr_parse {
- my ( $self, $coder, $text, $skip ) = @_;
- my $p = $self->{incr_p};
- my $restore = $p;
-
- my @obj;
+ my ($self, $coder) = @_;
+ my $text = $self->{incr_text};
my $len = length $text;
+ my $p = $self->{incr_pos};
- if ( $self->{incr_mode} == INCR_M_WS ) {
- while ( $len > $p ) {
- my $s = substr( $text, $p, 1 );
- $p++ and next if ( 0x20 >= unpack($unpack_format, $s) );
- $self->{incr_mode} = INCR_M_JSON;
- last;
- }
- }
-
+ INCR_PARSE:
while ( $len > $p ) {
- my $s = substr( $text, $p++, 1 );
-
- if ( $s eq '"' ) {
- if (substr( $text, $p - 2, 1 ) eq '\\' ) {
- next;
- }
-
- if ( $self->{incr_mode} != INCR_M_STR ) {
- $self->{incr_mode} = INCR_M_STR;
+ my $s = substr( $text, $p, 1 );
+ last INCR_PARSE unless defined $s;
+ my $mode = $self->{incr_mode};
+
+ if ( $mode == INCR_M_WS ) {
+ while ( $len > $p ) {
+ $s = substr( $text, $p, 1 );
+ last INCR_PARSE unless defined $s;
+ if ( ord($s) > 0x20 ) {
+ if ( $s eq '#' ) {
+ $self->{incr_mode} = INCR_M_C0;
+ redo INCR_PARSE;
+ } else {
+ $self->{incr_mode} = INCR_M_JSON;
+ redo INCR_PARSE;
+ }
+ }
+ $p++;
}
- else {
- $self->{incr_mode} = INCR_M_JSON;
- unless ( $self->{incr_nest} ) {
+ } elsif ( $mode == INCR_M_BS ) {
+ $p++;
+ $self->{incr_mode} = INCR_M_STR;
+ redo INCR_PARSE;
+ } elsif ( $mode == INCR_M_C0 or $mode == INCR_M_C1 ) {
+ while ( $len > $p ) {
+ $s = substr( $text, $p, 1 );
+ last INCR_PARSE unless defined $s;
+ if ( $s eq "\n" ) {
+ $self->{incr_mode} = $self->{incr_mode} == INCR_M_C0 ? INCR_M_WS : INCR_M_JSON;
last;
}
+ $p++;
}
- }
-
- if ( $self->{incr_mode} == INCR_M_JSON ) {
-
- if ( $s eq '[' or $s eq '{' ) {
- if ( ++$self->{incr_nest} > $coder->get_max_depth ) {
- Carp::croak('json text or perl structure exceeds maximum nesting level (max_depth set too low?)');
+ next;
+ } elsif ( $mode == INCR_M_STR ) {
+ while ( $len > $p ) {
+ $s = substr( $text, $p, 1 );
+ last INCR_PARSE unless defined $s;
+ if ( $s eq '"' ) {
+ $p++;
+ $self->{incr_mode} = INCR_M_JSON;
+
+ last INCR_PARSE unless $self->{incr_nest};
+ redo INCR_PARSE;
}
+ elsif ( $s eq '\\' ) {
+ $p++;
+ if ( !defined substr($text, $p, 1) ) {
+ $self->{incr_mode} = INCR_M_BS;
+ last INCR_PARSE;
+ }
+ }
+ $p++;
}
- elsif ( $s eq ']' or $s eq '}' ) {
- last if ( --$self->{incr_nest} <= 0 );
- }
- elsif ( $s eq '#' ) {
- while ( $len > $p ) {
- last if substr( $text, $p++, 1 ) eq "\n";
+ } elsif ( $mode == INCR_M_JSON ) {
+ while ( $len > $p ) {
+ $s = substr( $text, $p++, 1 );
+ if ( $s eq "\x00" ) {
+ $p--;
+ last INCR_PARSE;
+ } elsif ( $s eq "\x09" or $s eq "\x0a" or $s eq "\x0d" or $s eq "\x20" ) {
+ if ( !$self->{incr_nest} ) {
+ $p--; # do not eat the whitespace, let the next round do it
+ last INCR_PARSE;
+ }
+ next;
+ } elsif ( $s eq '"' ) {
+ $self->{incr_mode} = INCR_M_STR;
+ redo INCR_PARSE;
+ } elsif ( $s eq '[' or $s eq '{' ) {
+ if ( ++$self->{incr_nest} > $coder->get_max_depth ) {
+ Carp::croak('json text or perl structure exceeds maximum nesting level (max_depth set too low?)');
+ }
+ next;
+ } elsif ( $s eq ']' or $s eq '}' ) {
+ if ( --$self->{incr_nest} <= 0 ) {
+ last INCR_PARSE;
+ }
+ } elsif ( $s eq '#' ) {
+ $self->{incr_mode} = INCR_M_C1;
+ redo INCR_PARSE;
}
}
-
}
-
}
- $self->{incr_p} = $p;
-
- return if ( $self->{incr_mode} == INCR_M_STR and not $self->{incr_nest} );
- return if ( $self->{incr_mode} == INCR_M_JSON and $self->{incr_nest} > 0 );
-
- return '' unless ( length substr( $self->{incr_text}, 0, $p ) );
-
- local $Carp::CarpLevel = 2;
-
- $self->{incr_p} = $restore;
- $self->{incr_c} = $p;
-
- my ( $obj, $tail ) = $coder->PP_decode_json( substr( $self->{incr_text}, 0, $p ), 0x10000001 );
-
- $self->{incr_text} = substr( $self->{incr_text}, $p );
- $self->{incr_p} = 0;
-
- return $obj || '';
+ $self->{incr_pos} = $p;
+ $self->{incr_parsing} = $p ? 1 : 0; # for backward compatibility
}
sub incr_text {
- if ( $_[0]->{incr_parsing} ) {
- Carp::croak("incr_text can not be called when the incremental parser already started parsing");
+ if ( $_[0]->{incr_pos} ) {
+ Carp::croak("incr_text cannot be called when the incremental parser already started parsing");
}
$_[0]->{incr_text};
}
@@ -62114,18 +63937,19 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
sub incr_skip {
my $self = shift;
- $self->{incr_text} = substr( $self->{incr_text}, $self->{incr_c} );
- $self->{incr_p} = 0;
+ $self->{incr_text} = substr( $self->{incr_text}, $self->{incr_pos} );
+ $self->{incr_pos} = 0;
+ $self->{incr_mode} = 0;
+ $self->{incr_nest} = 0;
}
sub incr_reset {
my $self = shift;
$self->{incr_text} = undef;
- $self->{incr_p} = 0;
+ $self->{incr_pos} = 0;
$self->{incr_mode} = 0;
$self->{incr_nest} = 0;
- $self->{incr_parsing} = 0;
}
###############################
@@ -62151,13 +63975,11 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
# OO-interface
- $coder = JSON::PP->new->ascii->pretty->allow_nonref;
+ $json = JSON::PP->new->ascii->pretty->allow_nonref;
- $json_text = $json->encode( $perl_scalar );
+ $pretty_printed_json_text = $json->encode( $perl_scalar );
$perl_scalar = $json->decode( $json_text );
- $pretty_printed = $json->pretty->encode( $perl_scalar ); # pretty-printing
-
# Note that JSON version 2.0 and above will automatically use
# JSON::XS or JSON::PP, so you should be able to just:
@@ -62166,81 +63988,61 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
=head1 VERSION
- 2.27202
-
- L<JSON::XS> 2.27 (~2.30) compatible.
-
- =head1 NOTE
-
- JSON::PP had been inculded in JSON distribution (CPAN module).
- It was a perl core module in Perl 5.14.
+ 2.91_04
=head1 DESCRIPTION
- This module is L<JSON::XS> compatible pure Perl module.
- (Perl 5.8 or later is recommended)
-
- JSON::XS is the fastest and most proper JSON module on CPAN.
- It is written by Marc Lehmann in C, so must be compiled and
- installed in the used environment.
-
- JSON::PP is a pure-Perl module and has compatibility to JSON::XS.
-
-
- =head2 FEATURES
-
- =over
-
- =item * correct unicode handling
-
- This module knows how to handle Unicode (depending on Perl version).
-
- See to L<JSON::XS/A FEW NOTES ON UNICODE AND PERL> and L<UNICODE HANDLING ON PERLS>.
-
-
- =item * round-trip integrity
-
- When you serialise a perl data structure using only data types supported
- by JSON and Perl, the deserialised data structure is identical on the Perl
- level. (e.g. the string "2.0" doesn't suddenly become "2" just because
- it looks like a number). There I<are> minor exceptions to this, read the
- MAPPING section below to learn about those.
-
-
- =item * strict checking of JSON correctness
-
- There is no guessing, no generating of illegal JSON texts by default,
- and only JSON is accepted as input by default (the latter is a security feature).
- But when some options are set, loose chcking features are available.
-
- =back
+ JSON::PP is a pure perl JSON decoder/encoder (as of RFC4627, which
+ we know is obsolete but we still stick to; see below for an option
+ to support part of RFC7159), and (almost) compatible to much
+ faster L<JSON::XS> written by Marc Lehmann in C. JSON::PP works as
+ a fallback module when you use L<JSON> module without having
+ installed JSON::XS.
+
+ Because of this fallback feature of JSON.pm, JSON::PP tries not to
+ be more JavaScript-friendly than JSON::XS (i.e. not to escape extra
+ characters such as U+2028 and U+2029 nor support RFC7159/ECMA-404),
+ in order for you not to lose such JavaScript-friendliness silently
+ when you use JSON.pm and install JSON::XS for speed or by accident.
+ If you need JavaScript-friendly RFC7159-compliant pure perl module,
+ try L<JSON::Tiny>, which is derived from L<Mojolicious> web
+ framework and is also smaller and faster than JSON::PP.
+
+ JSON::PP has been in the Perl core since Perl 5.14, mainly for
+ CPAN toolchain modules to parse META.json.
=head1 FUNCTIONAL INTERFACE
- Some documents are copied and modified from L<JSON::XS/FUNCTIONAL INTERFACE>.
+ This section is taken from JSON::XS almost verbatim. C<encode_json>
+ and C<decode_json> are exported by default.
=head2 encode_json
$json_text = encode_json $perl_scalar
- Converts the given Perl data structure to a UTF-8 encoded, binary string.
+ Converts the given Perl data structure to a UTF-8 encoded, binary string
+ (that is, the string contains octets only). Croaks on error.
This function call is functionally identical to:
$json_text = JSON::PP->new->utf8->encode($perl_scalar)
+ Except being faster.
+
=head2 decode_json
$perl_scalar = decode_json $json_text
The opposite of C<encode_json>: expects an UTF-8 (binary) string and tries
to parse that as an UTF-8 encoded JSON text, returning the resulting
- reference.
+ reference. Croaks on error.
This function call is functionally identical to:
$perl_scalar = JSON::PP->new->utf8->decode($json_text)
+ Except being faster.
+
=head2 JSON::PP::is_bool
$is_boolean = JSON::PP::is_bool($scalar)
@@ -62249,114 +64051,24 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
JSON::PP::false, two constants that act like C<1> and C<0> respectively
and are also used to represent JSON C<true> and C<false> in Perl strings.
- =head2 JSON::PP::true
-
- Returns JSON true value which is blessed object.
- It C<isa> JSON::PP::Boolean object.
-
- =head2 JSON::PP::false
-
- Returns JSON false value which is blessed object.
- It C<isa> JSON::PP::Boolean object.
-
- =head2 JSON::PP::null
-
- Returns C<undef>.
-
See L<MAPPING>, below, for more information on how JSON values are mapped to
Perl.
+ =head1 OBJECT-ORIENTED INTERFACE
- =head1 HOW DO I DECODE A DATA FROM OUTER AND ENCODE TO OUTER
-
- This section supposes that your perl vresion is 5.8 or later.
-
- If you know a JSON text from an outer world - a network, a file content, and so on,
- is encoded in UTF-8, you should use C<decode_json> or C<JSON> module object
- with C<utf8> enable. And the decoded result will contain UNICODE characters.
-
- # from network
- my $json = JSON::PP->new->utf8;
- my $json_text = CGI->new->param( 'json_data' );
- my $perl_scalar = $json->decode( $json_text );
-
- # from file content
- local $/;
- open( my $fh, '<', 'json.data' );
- $json_text = <$fh>;
- $perl_scalar = decode_json( $json_text );
-
- If an outer data is not encoded in UTF-8, firstly you should C<decode> it.
-
- use Encode;
- local $/;
- open( my $fh, '<', 'json.data' );
- my $encoding = 'cp932';
- my $unicode_json_text = decode( $encoding, <$fh> ); # UNICODE
-
- # or you can write the below code.
- #
- # open( my $fh, "<:encoding($encoding)", 'json.data' );
- # $unicode_json_text = <$fh>;
-
- In this case, C<$unicode_json_text> is of course UNICODE string.
- So you B<cannot> use C<decode_json> nor C<JSON> module object with C<utf8> enable.
- Instead of them, you use C<JSON> module object with C<utf8> disable.
-
- $perl_scalar = $json->utf8(0)->decode( $unicode_json_text );
-
- Or C<encode 'utf8'> and C<decode_json>:
-
- $perl_scalar = decode_json( encode( 'utf8', $unicode_json_text ) );
- # this way is not efficient.
-
- And now, you want to convert your C<$perl_scalar> into JSON data and
- send it to an outer world - a network or a file content, and so on.
-
- Your data usually contains UNICODE strings and you want the converted data to be encoded
- in UTF-8, you should use C<encode_json> or C<JSON> module object with C<utf8> enable.
-
- print encode_json( $perl_scalar ); # to a network? file? or display?
- # or
- print $json->utf8->encode( $perl_scalar );
-
- If C<$perl_scalar> does not contain UNICODE but C<$encoding>-encoded strings
- for some reason, then its characters are regarded as B<latin1> for perl
- (because it does not concern with your $encoding).
- You B<cannot> use C<encode_json> nor C<JSON> module object with C<utf8> enable.
- Instead of them, you use C<JSON> module object with C<utf8> disable.
- Note that the resulted text is a UNICODE string but no problem to print it.
-
- # $perl_scalar contains $encoding encoded string values
- $unicode_json_text = $json->utf8(0)->encode( $perl_scalar );
- # $unicode_json_text consists of characters less than 0x100
- print $unicode_json_text;
-
- Or C<decode $encoding> all string values and C<encode_json>:
-
- $perl_scalar->{ foo } = decode( $encoding, $perl_scalar->{ foo } );
- # ... do it to each string values, then encode_json
- $json_text = encode_json( $perl_scalar );
-
- This method is a proper way but probably not efficient.
-
- See to L<Encode>, L<perluniintro>.
-
-
- =head1 METHODS
+ This section is also taken from JSON::XS.
- Basically, check to L<JSON> or L<JSON::XS>.
+ The object oriented interface lets you configure your own encoding or
+ decoding style, within the limits of supported formats.
=head2 new
$json = JSON::PP->new
- Rturns a new JSON::PP object that can be used to de/encode JSON
- strings.
-
- All boolean flags described below are by default I<disabled>.
+ Creates a new JSON::PP object that can be used to de/encode JSON
+ strings. All boolean flags described below are by default I<disabled>.
- The mutators for flags all return the JSON object again and thus calls can
+ The mutators for flags all return the JSON::PP object again and thus calls can
be chained:
my $json = JSON::PP->new->utf8->space_after->encode({a => [1,2]})
@@ -62368,16 +64080,23 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
$enabled = $json->get_ascii
- If $enable is true (or missing), then the encode method will not generate characters outside
- the code range 0..127. Any Unicode characters outside that range will be escaped using either
- a single \uXXXX or a double \uHHHH\uLLLLL escape sequence, as per RFC4627.
- (See to L<JSON::XS/OBJECT-ORIENTED INTERFACE>).
+ If C<$enable> is true (or missing), then the C<encode> method will not
+ generate characters outside the code range C<0..127> (which is ASCII). Any
+ Unicode characters outside that range will be escaped using either a
+ single \uXXXX (BMP characters) or a double \uHHHH\uLLLLL escape sequence,
+ as per RFC4627. The resulting encoded JSON text can be treated as a native
+ Unicode string, an ascii-encoded, latin1-encoded or UTF-8 encoded string,
+ or any other superset of ASCII.
- In Perl 5.005, there is no character having high value (more than 255).
- See to L<UNICODE HANDLING ON PERLS>.
+ If C<$enable> is false, then the C<encode> method will not escape Unicode
+ characters unless required by the JSON syntax or other flags. This results
+ in a faster and more compact format.
+
+ See also the section I<ENCODING/CODESET FLAG NOTES> later in this document.
- If $enable is false, then the encode method will not escape Unicode characters unless
- required by the JSON syntax or other flags. This results in a faster and more compact format.
+ The main use for this flag is to produce JSON texts that can be
+ transmitted over a 7-bit channel, as the encoded JSON texts will not
+ contain any 8 bit characters.
JSON::PP->new->ascii(1)->encode([chr 0x10401])
=> ["\ud801\udc01"]
@@ -62388,16 +64107,28 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
$enabled = $json->get_latin1
- If $enable is true (or missing), then the encode method will encode the resulting JSON
- text as latin1 (or iso-8859-1), escaping any characters outside the code range 0..255.
+ If C<$enable> is true (or missing), then the C<encode> method will encode
+ the resulting JSON text as latin1 (or iso-8859-1), escaping any characters
+ outside the code range C<0..255>. The resulting string can be treated as a
+ latin1-encoded JSON text or a native Unicode string. The C<decode> method
+ will not be affected in any way by this flag, as C<decode> by default
+ expects Unicode, which is a strict superset of latin1.
- If $enable is false, then the encode method will not escape Unicode characters
- unless required by the JSON syntax or other flags.
+ If C<$enable> is false, then the C<encode> method will not escape Unicode
+ characters unless required by the JSON syntax or other flags.
- JSON::XS->new->latin1->encode (["\x{89}\x{abc}"]
- => ["\x{89}\\u0abc"] # (perl syntax, U+abc escaped, U+89 not)
+ See also the section I<ENCODING/CODESET FLAG NOTES> later in this document.
- See to L<UNICODE HANDLING ON PERLS>.
+ The main use for this flag is efficiently encoding binary data as JSON
+ text, as most octets will not be escaped, resulting in a smaller encoded
+ size. The disadvantage is that the resulting JSON text is encoded
+ in latin1 (and must correctly be treated as such when storing and
+ transferring), a rare encoding for JSON. It is therefore most useful when
+ you want to store data structures known to contain binary data efficiently
+ in files or databases, not when talking to other JSON encoders/decoders.
+
+ JSON::PP->new->latin1->encode (["\x{89}\x{abc}"]
+ => ["\x{89}\\u0abc"] # (perl syntax, U+abc escaped, U+89 not)
=head2 utf8
@@ -62405,20 +64136,20 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
$enabled = $json->get_utf8
- If $enable is true (or missing), then the encode method will encode the JSON result
- into UTF-8, as required by many protocols, while the decode method expects to be handled
- an UTF-8-encoded string. Please note that UTF-8-encoded strings do not contain any
- characters outside the range 0..255, they are thus useful for bytewise/binary I/O.
-
- (In Perl 5.005, any character outside the range 0..255 does not exist.
- See to L<UNICODE HANDLING ON PERLS>.)
+ If C<$enable> is true (or missing), then the C<encode> method will encode
+ the JSON result into UTF-8, as required by many protocols, while the
+ C<decode> method expects to be handled an UTF-8-encoded string. Please
+ note that UTF-8-encoded strings do not contain any characters outside the
+ range C<0..255>, they are thus useful for bytewise/binary I/O. In future
+ versions, enabling this option might enable autodetection of the UTF-16
+ and UTF-32 encoding families, as described in RFC4627.
- In future versions, enabling this option might enable autodetection of the UTF-16 and UTF-32
- encoding families, as described in RFC4627.
+ If C<$enable> is false, then the C<encode> method will return the JSON
+ string as a (non-encoded) Unicode string, while C<decode> expects thus a
+ Unicode string. Any decoding or encoding (e.g. to UTF-8 or UTF-16) needs
+ to be done yourself, e.g. using the Encode module.
- If $enable is false, then the encode method will return the JSON string as a (non-encoded)
- Unicode string, while decode expects thus a Unicode string. Any decoding or encoding
- (e.g. to UTF-8 or UTF-16) needs to be done yourself, e.g. using the Encode module.
+ See also the section I<ENCODING/CODESET FLAG NOTES> later in this document.
Example, output UTF-16BE-encoded JSON:
@@ -62430,18 +64161,13 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
use Encode;
$object = JSON::PP->new->decode (decode "UTF-32LE", $jsontext);
-
=head2 pretty
$json = $json->pretty([$enable])
This enables (or disables) all of the C<indent>, C<space_before> and
- C<space_after> flags in one call to generate the most readable
- (or most compact) form possible.
-
- Equivalent to:
-
- $json->indent->space_before->space_after
+ C<space_after> (and in the future possibly more) flags in one call to
+ generate the most readable (or most compact) form possible.
=head2 indent
@@ -62449,6 +64175,15 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
$enabled = $json->get_indent
+ If C<$enable> is true (or missing), then the C<encode> method will use a multiline
+ format as output, putting every array member or object/hash key-value pair
+ into its own line, indenting them properly.
+
+ If C<$enable> is false, no newlines or indenting will be produced, and the
+ resulting JSON text is guaranteed not to contain any C<newlines>.
+
+ This setting has no effect when decoding JSON texts.
+
The default indent space length is three.
You can use C<indent_length> to change the length.
@@ -62464,7 +64199,8 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
If C<$enable> is false, then the C<encode> method will not add any extra
space at those places.
- This setting has no effect when decoding JSON texts.
+ This setting has no effect when decoding JSON texts. You will also
+ most likely combine this setting with C<space_after>.
Example, space_before enabled, space_after and indent disabled:
@@ -62537,6 +64273,28 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
# neither this one...
]
+ =item * C-style multiple-line '/* */'-comments (JSON::PP only)
+
+ Whenever JSON allows whitespace, C-style multiple-line comments are additionally
+ allowed. Everything between C</*> and C<*/> is a comment, after which
+ more white-space and comments are allowed.
+
+ [
+ 1, /* this comment not allowed in JSON */
+ /* neither this one... */
+ ]
+
+ =item * C++-style one-line '//'-comments (JSON::PP only)
+
+ Whenever JSON allows whitespace, C++-style one-line comments are additionally
+ allowed. They are terminated by the first carriage-return or line-feed
+ character, after which more white-space and comments are allowed.
+
+ [
+ 1, // this comment not allowed in JSON
+ // neither this one...
+ ]
+
=back
=head2 canonical
@@ -62550,7 +64308,8 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
If C<$enable> is false, then the C<encode> method will output key-value
pairs in the order Perl stores them (which will likely change between runs
- of the same script).
+ of the same script, and can change even within the same run from 5.18
+ onwards).
This option is useful if you want the same data structure to be encoded as
the same JSON text (given the same overall settings). If it is disabled,
@@ -62559,8 +64318,7 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
This setting has no effect when decoding JSON texts.
- If you want your own sorting routine, you can give a code referece
- or a subroutine name to C<sort_by>. See to C<JSON::PP OWN METHODS>.
+ This setting has currently no effect on tied hashes.
=head2 allow_nonref
@@ -62578,6 +64336,9 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
or array. Likewise, C<decode> will croak if given something that is not a
JSON object or array.
+ Example, encode a Perl scalar as JSON value with enabled C<allow_nonref>,
+ resulting in an invalid JSON text:
+
JSON::PP->new->allow_nonref->encode ("Hello, World!")
=> "Hello, World!"
@@ -62587,18 +64348,17 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
$enabled = $json->get_allow_unknown
- If $enable is true (or missing), then "encode" will *not* throw an
+ If C<$enable> is true (or missing), then C<encode> will I<not> throw an
exception when it encounters values it cannot represent in JSON (for
- example, filehandles) but instead will encode a JSON "null" value.
- Note that blessed objects are not included here and are handled
- separately by c<allow_nonref>.
+ example, filehandles) but instead will encode a JSON C<null> value. Note
+ that blessed objects are not included here and are handled separately by
+ c<allow_blessed>.
- If $enable is false (the default), then "encode" will throw an
+ If C<$enable> is false (the default), then C<encode> will throw an
exception when it encounters anything it cannot encode as JSON.
- This option does not affect "decode" in any way, and it is
- recommended to leave it off unless you know your communications
- partner.
+ This option does not affect C<decode> in any way, and it is recommended to
+ leave it off unless you know your communications partner.
=head2 allow_blessed
@@ -62606,15 +64366,17 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
$enabled = $json->get_allow_blessed
+ See L<OBJECT SERIALISATION> for details.
+
If C<$enable> is true (or missing), then the C<encode> method will not
- barf when it encounters a blessed reference. Instead, the value of the
- B<convert_blessed> option will decide whether C<null> (C<convert_blessed>
- disabled or no C<TO_JSON> method found) or a representation of the
- object (C<convert_blessed> enabled and C<TO_JSON> method found) is being
- encoded. Has no effect on C<decode>.
+ barf when it encounters a blessed reference that it cannot convert
+ otherwise. Instead, a JSON C<null> value is encoded instead of the object.
If C<$enable> is false (the default), then C<encode> will throw an
- exception when it encounters a blessed object.
+ exception when it encounters a blessed object that it cannot convert
+ otherwise.
+
+ This setting has no effect on C<decode>.
=head2 convert_blessed
@@ -62622,38 +64384,38 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
$enabled = $json->get_convert_blessed
+ See L<OBJECT SERIALISATION> for details.
+
If C<$enable> is true (or missing), then C<encode>, upon encountering a
blessed object, will check for the availability of the C<TO_JSON> method
- on the object's class. If found, it will be called in scalar context
- and the resulting scalar will be encoded instead of the object. If no
- C<TO_JSON> method is found, the value of C<allow_blessed> will decide what
- to do.
+ on the object's class. If found, it will be called in scalar context and
+ the resulting scalar will be encoded instead of the object.
The C<TO_JSON> method may safely call die if it wants. If C<TO_JSON>
returns other blessed objects, those will be handled in the same
way. C<TO_JSON> must take care of not causing an endless recursion cycle
(== crash) in this case. The name of C<TO_JSON> was chosen because other
methods called by the Perl core (== not by the user of the object) are
- usually in upper case letters and to avoid collisions with the C<to_json>
+ usually in upper case letters and to avoid collisions with any C<to_json>
function or method.
- This setting does not yet influence C<decode> in any way.
+ If C<$enable> is false (the default), then C<encode> will not consider
+ this type of conversion.
- If C<$enable> is false, then the C<allow_blessed> setting will decide what
- to do when a blessed object is found.
+ This setting has no effect on C<decode>.
=head2 filter_json_object
$json = $json->filter_json_object([$coderef])
When C<$coderef> is specified, it will be called from C<decode> each
- time it decodes a JSON object. The only argument passed to the coderef
- is a reference to the newly-created hash. If the code references returns
- a single scalar (which need not be a reference), this value
- (i.e. a copy of that scalar to avoid aliasing) is inserted into the
- deserialised data structure. If it returns an empty list
- (NOTE: I<not> C<undef>, which is a valid scalar), the original deserialised
- hash will be inserted. This setting can slow down decoding considerably.
+ time it decodes a JSON object. The only argument is a reference to the
+ newly-created hash. If the code references returns a single scalar (which
+ need not be a reference), this value (i.e. a copy of that scalar to avoid
+ aliasing) is inserted into the deserialised data structure. If it returns
+ an empty list (NOTE: I<not> C<undef>, which is a valid scalar), the
+ original deserialised hash will be inserted. This setting can slow down
+ decoding considerably.
When C<$coderef> is omitted or undefined, any existing callback will
be removed and C<decode> will not change the deserialised hash in any
@@ -62728,15 +64490,13 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
$enabled = $json->get_shrink
- In JSON::XS, this flag resizes strings generated by either
- C<encode> or C<decode> to their minimum size possible.
- It will also try to downgrade any strings to octet-form if possible.
+ If C<$enable> is true (or missing), the string returned by C<encode> will
+ be shrunk (i.e. downgraded if possible).
- In JSON::PP, it is noop about resizing strings but tries
- C<utf8::downgrade> to the returned string by C<encode>.
- See to L<utf8>.
+ The actual definition of what shrink does might change in future versions,
+ but it will always try to save space at the expense of time.
- See to L<JSON::XS/OBJECT-ORIENTED INTERFACE>
+ If C<$enable> is false, then JSON::PP does nothing.
=head2 max_depth
@@ -62754,13 +64514,13 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
characters without their matching closing parenthesis crossed to reach a
given character in a string.
+ Setting the maximum depth to one disallows any nesting, so that ensures
+ that the object is only a single hash/object or array.
+
If no argument is given, the highest possible setting will be used, which
is rarely useful.
- See L<JSON::XS/SSECURITY CONSIDERATIONS> for more info on why this is useful.
-
- When a large value (100 or more) was set and it de/encodes a deep nested object/text,
- it may raise a warning 'Deep recursion on subroutin' at the perl runtime phase.
+ See L<JSON::XS/SECURITY CONSIDERATIONS> for more info on why this is useful.
=head2 max_size
@@ -62777,18 +64537,14 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
If no argument is given, the limit check will be deactivated (same as when
C<0> is specified).
- See L<JSON::XS/SSECURITY CONSIDERATIONS> for more info on why this is useful.
+ See L<JSON::XS/SECURITY CONSIDERATIONS> for more info on why this is useful.
=head2 encode
$json_text = $json->encode($perl_scalar)
- Converts the given Perl data structure (a simple scalar or a reference
- to a hash or array) to its JSON representation. Simple scalars will be
- converted into JSON string or number sequences, while references to arrays
- become JSON arrays and references to hashes become JSON objects. Undefined
- Perl values (e.g. C<undef>) become JSON C<null> values.
- References to the integers C<0> and C<1> are converted into C<true> and C<false>.
+ Converts the given Perl value or data structure to its JSON
+ representation. Croaks on error.
=head2 decode
@@ -62797,11 +64553,6 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
The opposite of C<encode>: expects a JSON text and tries to parse it,
returning the resulting simple scalar or reference. Croaks on error.
- JSON numbers and strings become simple Perl scalars. JSON arrays become
- Perl arrayrefs and JSON objects become Perl hashrefs. C<true> becomes
- C<1> (C<JSON::true>), C<false> becomes C<0> (C<JSON::false>) and
- C<null> becomes C<undef>.
-
=head2 decode_prefix
($perl_scalar, $characters) = $json->decode_prefix($json_text)
@@ -62811,25 +64562,185 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
silently stop parsing there and return the number of characters consumed
so far.
- JSON->new->decode_prefix ("[1] the tail")
- => ([], 3)
+ This is useful if your JSON texts are not delimited by an outer protocol
+ and you need to know where the JSON text ends.
+
+ JSON::PP->new->decode_prefix ("[1] the tail")
+ => ([1], 3)
+
+ =head1 FLAGS FOR JSON::PP ONLY
+
+ The following flags and properties are for JSON::PP only. If you use
+ any of these, you can't make your application run faster by replacing
+ JSON::PP with JSON::XS. If you need these and also speed boost,
+ try L<Cpanel::JSON::XS>, a fork of JSON::XS by Reini Urban, which
+ supports some of these.
+
+ =head2 allow_singlequote
+
+ $json = $json->allow_singlequote([$enable])
+ $enabled = $json->get_allow_singlequote
+
+ If C<$enable> is true (or missing), then C<decode> will accept
+ invalid JSON texts that contain strings that begin and end with
+ single quotation marks. C<encode> will not be affected in anyway.
+ I<Be aware that this option makes you accept invalid JSON texts
+ as if they were valid!>. I suggest only to use this option to
+ parse application-specific files written by humans (configuration
+ files, resource files etc.)
+
+ If C<$enable> is false (the default), then C<decode> will only accept
+ valid JSON texts.
+
+ $json->allow_singlequote->decode(qq|{"foo":'bar'}|);
+ $json->allow_singlequote->decode(qq|{'foo':"bar"}|);
+ $json->allow_singlequote->decode(qq|{'foo':'bar'}|);
+
+ =head2 allow_barekey
+
+ $json = $json->allow_barekey([$enable])
+ $enabled = $json->get_allow_barekey
+
+ If C<$enable> is true (or missing), then C<decode> will accept
+ invalid JSON texts that contain JSON objects whose names don't
+ begin and end with quotation marks. C<encode> will not be affected
+ in anyway. I<Be aware that this option makes you accept invalid JSON
+ texts as if they were valid!>. I suggest only to use this option to
+ parse application-specific files written by humans (configuration
+ files, resource files etc.)
+
+ If C<$enable> is false (the default), then C<decode> will only accept
+ valid JSON texts.
+
+ $json->allow_barekey->decode(qq|{foo:"bar"}|);
+
+ =head2 allow_bignum
+
+ $json = $json->allow_bignum([$enable])
+ $enabled = $json->get_allow_bignum
+
+ If C<$enable> is true (or missing), then C<decode> will convert
+ big integers Perl cannot handle as integer into L<Math::BigInt>
+ objects and convert floating numbers into L<Math::BigFloat>
+ objects. C<encode> will convert C<Math::BigInt> and C<Math::BigFloat>
+ objects into JSON numbers.
+
+ $json->allow_nonref->allow_bignum;
+ $bigfloat = $json->decode('2.000000000000000000000000001');
+ print $json->encode($bigfloat);
+ # => 2.000000000000000000000000001
+
+ See also L<MAPPING>.
+
+ =head2 loose
+
+ $json = $json->loose([$enable])
+ $enabled = $json->get_loose
+
+ If C<$enable> is true (or missing), then C<decode> will accept
+ invalid JSON texts that contain unescaped [\x00-\x1f\x22\x5c]
+ characters. C<encode> will not be affected in anyway.
+ I<Be aware that this option makes you accept invalid JSON texts
+ as if they were valid!>. I suggest only to use this option to
+ parse application-specific files written by humans (configuration
+ files, resource files etc.)
+
+ If C<$enable> is false (the default), then C<decode> will only accept
+ valid JSON texts.
+
+ $json->loose->decode(qq|["abc
+ def"]|);
+
+ =head2 escape_slash
+
+ $json = $json->escape_slash([$enable])
+ $enabled = $json->get_escape_slash
+
+ If C<$enable> is true (or missing), then C<encode> will explicitly
+ escape I<slash> (solidus; C<U+002F>) characters to reduce the risk of
+ XSS (cross site scripting) that may be caused by C<< </script> >>
+ in a JSON text, with the cost of bloating the size of JSON texts.
+
+ This option may be useful when you embed JSON in HTML, but embedding
+ arbitrary JSON in HTML (by some HTML template toolkit or by string
+ interpolation) is risky in general. You must escape necessary
+ characters in correct order, depending on the context.
+
+ C<decode> will not be affected in anyway.
+
+ =head2 indent_length
+
+ $json = $json->indent_length($number_of_spaces)
+ $length = $json->get_indent_length
+
+ This option is only useful when you also enable C<indent> or C<pretty>.
+
+ JSON::XS indents with three spaces when you C<encode> (if requested
+ by C<indent> or C<pretty>), and the number cannot be changed.
+ JSON::PP allows you to change/get the number of indent spaces with these
+ mutator/accessor. The default number of spaces is three (the same as
+ JSON::XS), and the acceptable range is from C<0> (no indentation;
+ it'd be better to disable indentation by C<indent(0)>) to C<15>.
+
+ =head2 sort_by
+
+ $json = $json->sort_by($code_ref)
+ $json = $json->sort_by($subroutine_name)
+
+ If you just want to sort keys (names) in JSON objects when you
+ C<encode>, enable C<canonical> option (see above) that allows you to
+ sort object keys alphabetically.
+
+ If you do need to sort non-alphabetically for whatever reasons,
+ you can give a code reference (or a subroutine name) to C<sort_by>,
+ then the argument will be passed to Perl's C<sort> built-in function.
+
+ As the sorting is done in the JSON::PP scope, you usually need to
+ prepend C<JSON::PP::> to the subroutine name, and the special variables
+ C<$a> and C<$b> used in the subrontine used by C<sort> function.
+
+ Example:
+
+ my %ORDER = (id => 1, class => 2, name => 3);
+ $json->sort_by(sub {
+ ($ORDER{$JSON::PP::a} // 999) <=> ($ORDER{$JSON::PP::b} // 999)
+ or $JSON::PP::a cmp $JSON::PP::b
+ });
+ print $json->encode([
+ {name => 'CPAN', id => 1, href => 'http://cpan.org'}
+ ]);
+ # [{"id":1,"name":"CPAN","href":"http://cpan.org"}]
+
+ Note that C<sort_by> affects all the plain hashes in the data structure.
+ If you need finer control, C<tie> necessary hashes with a module that
+ implements ordered hash (such as L<Hash::Ordered> and L<Tie::IxHash>).
+ C<canonical> and C<sort_by> don't affect the key order in C<tie>d
+ hashes.
+
+ use Hash::Ordered;
+ tie my %hash, 'Hash::Ordered',
+ (name => 'CPAN', id => 1, href => 'http://cpan.org');
+ print $json->encode([\%hash]);
+ # [{"name":"CPAN","id":1,"href":"http://cpan.org"}] # order is kept
=head1 INCREMENTAL PARSING
- Most of this section are copied and modified from L<JSON::XS/INCREMENTAL PARSING>.
+ This section is also taken from JSON::XS.
- In some cases, there is the need for incremental parsing of JSON texts.
- This module does allow you to parse a JSON stream incrementally.
- It does so by accumulating text until it has a full JSON object, which
- it then can decode. This process is similar to using C<decode_prefix>
- to see if a full JSON object is available, but is much more efficient
- (and can be implemented with a minimum of method calls).
+ In some cases, there is the need for incremental parsing of JSON
+ texts. While this module always has to keep both JSON text and resulting
+ Perl data structure in memory at one time, it does allow you to parse a
+ JSON stream incrementally. It does so by accumulating text until it has
+ a full JSON object, which it then can decode. This process is similar to
+ using C<decode_prefix> to see if a full JSON object is available, but
+ is much more efficient (and can be implemented with a minimum of method
+ calls).
- This module will only attempt to parse the JSON text once it is sure it
+ JSON::PP will only attempt to parse the JSON text once it is sure it
has enough text to get a decisive result, using a very simple but
truly incremental parser. This means that it sometimes won't stop as
- early as the full parser, for example, it doesn't detect parenthese
- mismatches. The only thing it guarantees is that it starts decoding as
+ early as the full parser, for example, it doesn't detect mismatched
+ parentheses. The only thing it guarantees is that it starts decoding as
soon as a syntactically valid JSON text has been seen. This means you need
to set resource limits (e.g. C<max_size>) to ensure the parser will stop
parsing in the presence if syntax errors.
@@ -62859,20 +64770,21 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
exactly I<one> JSON object. If that is successful, it will return this
object, otherwise it will return C<undef>. If there is a parse error,
this method will croak just as C<decode> would do (one can then use
- C<incr_skip> to skip the errornous part). This is the most common way of
+ C<incr_skip> to skip the erroneous part). This is the most common way of
using the method.
And finally, in list context, it will try to extract as many objects
from the stream as it can find and return them, or the empty list
- otherwise. For this to work, there must be no separators between the JSON
- objects or arrays, instead they must be concatenated back-to-back. If
- an error occurs, an exception will be raised as in the scalar context
- case. Note that in this case, any previously-parsed JSON texts will be
- lost.
+ otherwise. For this to work, there must be no separators (other than
+ whitespace) between the JSON objects or arrays, instead they must be
+ concatenated back-to-back. If an error occurs, an exception will be
+ raised as in the scalar context case. Note that in this case, any
+ previously-parsed JSON texts will be lost.
- Example: Parse some JSON arrays/objects in a given string and return them.
+ Example: Parse some JSON arrays/objects in a given string and return
+ them.
- my @objs = JSON->new->incr_parse ("[5][7][1,2]");
+ my @objs = JSON::PP->new->incr_parse ("[5][7][1,2]");
=head2 incr_text
@@ -62886,27 +64798,26 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
real world conditions). As a special exception, you can also call this
method before having parsed anything.
+ That means you can only use this function to look at or manipulate text
+ before or after complete JSON objects, not while the parser is in the
+ middle of parsing a JSON object.
+
This function is useful in two cases: a) finding the trailing text after a
JSON object or b) parsing multiple JSON objects separated by non-JSON text
(such as commas).
- $json->incr_text =~ s/\s*,\s*//;
-
- In Perl 5.005, C<lvalue> attribute is not available.
- You must write codes like the below:
-
- $string = $json->incr_text;
- $string =~ s/\s*,\s*//;
- $json->incr_text( $string );
-
=head2 incr_skip
$json->incr_skip
- This will reset the state of the incremental parser and will remove the
- parsed text from the input buffer. This is useful after C<incr_parse>
- died, in which case the input buffer and incremental parser state is left
- unchanged, to skip the text parsed so far and to reset the parse state.
+ This will reset the state of the incremental parser and will remove
+ the parsed text from the input buffer so far. This is useful after
+ C<incr_parse> died, in which case the input buffer and incremental parser
+ state is left unchanged, to skip the text parsed so far and to reset the
+ parse state.
+
+ The difference to C<incr_reset> is that only text until the parse error
+ occurred is removed.
=head2 incr_reset
@@ -62915,152 +64826,22 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
This completely resets the incremental parser, that is, after this call,
it will be as if the parser had never parsed anything.
- This is useful if you want ot repeatedly parse JSON objects and want to
+ This is useful if you want to repeatedly parse JSON objects and want to
ignore any trailing data, which means you have to reset the parser after
each successful decode.
- See to L<JSON::XS/INCREMENTAL PARSING> for examples.
-
-
- =head1 JSON::PP OWN METHODS
-
- =head2 allow_singlequote
-
- $json = $json->allow_singlequote([$enable])
-
- If C<$enable> is true (or missing), then C<decode> will accept
- JSON strings quoted by single quotations that are invalid JSON
- format.
-
- $json->allow_singlequote->decode({"foo":'bar'});
- $json->allow_singlequote->decode({'foo':"bar"});
- $json->allow_singlequote->decode({'foo':'bar'});
-
- As same as the C<relaxed> option, this option may be used to parse
- application-specific files written by humans.
-
-
- =head2 allow_barekey
-
- $json = $json->allow_barekey([$enable])
-
- If C<$enable> is true (or missing), then C<decode> will accept
- bare keys of JSON object that are invalid JSON format.
-
- As same as the C<relaxed> option, this option may be used to parse
- application-specific files written by humans.
-
- $json->allow_barekey->decode('{foo:"bar"}');
-
- =head2 allow_bignum
-
- $json = $json->allow_bignum([$enable])
-
- If C<$enable> is true (or missing), then C<decode> will convert
- the big integer Perl cannot handle as integer into a L<Math::BigInt>
- object and convert a floating number (any) into a L<Math::BigFloat>.
-
- On the contary, C<encode> converts C<Math::BigInt> objects and C<Math::BigFloat>
- objects into JSON numbers with C<allow_blessed> enable.
-
- $json->allow_nonref->allow_blessed->allow_bignum;
- $bigfloat = $json->decode('2.000000000000000000000000001');
- print $json->encode($bigfloat);
- # => 2.000000000000000000000000001
-
- See to L<JSON::XS/MAPPING> aboout the normal conversion of JSON number.
-
- =head2 loose
-
- $json = $json->loose([$enable])
-
- The unescaped [\x00-\x1f\x22\x2f\x5c] strings are invalid in JSON strings
- and the module doesn't allow to C<decode> to these (except for \x2f).
- If C<$enable> is true (or missing), then C<decode> will accept these
- unescaped strings.
-
- $json->loose->decode(qq|["abc
- def"]|);
-
- See L<JSON::XS/SSECURITY CONSIDERATIONS>.
-
- =head2 escape_slash
-
- $json = $json->escape_slash([$enable])
-
- According to JSON Grammar, I<slash> (U+002F) is escaped. But default
- JSON::PP (as same as JSON::XS) encodes strings without escaping slash.
-
- If C<$enable> is true (or missing), then C<encode> will escape slashes.
-
- =head2 indent_length
-
- $json = $json->indent_length($length)
-
- JSON::XS indent space length is 3 and cannot be changed.
- JSON::PP set the indent space length with the given $length.
- The default is 3. The acceptable range is 0 to 15.
-
- =head2 sort_by
-
- $json = $json->sort_by($function_name)
- $json = $json->sort_by($subroutine_ref)
-
- If $function_name or $subroutine_ref are set, its sort routine are used
- in encoding JSON objects.
-
- $js = $pc->sort_by(sub { $JSON::PP::a cmp $JSON::PP::b })->encode($obj);
- # is($js, q|{"a":1,"b":2,"c":3,"d":4,"e":5,"f":6,"g":7,"h":8,"i":9}|);
-
- $js = $pc->sort_by('own_sort')->encode($obj);
- # is($js, q|{"a":1,"b":2,"c":3,"d":4,"e":5,"f":6,"g":7,"h":8,"i":9}|);
-
- sub JSON::PP::own_sort { $JSON::PP::a cmp $JSON::PP::b }
-
- As the sorting routine runs in the JSON::PP scope, the given
- subroutine name and the special variables C<$a>, C<$b> will begin
- 'JSON::PP::'.
-
- If $integer is set, then the effect is same as C<canonical> on.
-
- =head1 INTERNAL
-
- For developers.
-
- =over
-
- =item PP_encode_box
-
- Returns
-
- {
- depth => $depth,
- indent_count => $indent_count,
- }
-
-
- =item PP_decode_box
-
- Returns
-
- {
- text => $text,
- at => $at,
- ch => $ch,
- len => $len,
- depth => $depth,
- encoding => $encoding,
- is_valid_utf8 => $is_valid_utf8,
- };
-
- =back
-
=head1 MAPPING
- This section is copied from JSON::XS and modified to C<JSON::PP>.
- JSON::XS and JSON::PP mapping mechanisms are almost equivalent.
+ Most of this section is also taken from JSON::XS.
- See to L<JSON::XS/MAPPING>.
+ This section describes how JSON::PP maps Perl values to JSON values and
+ vice versa. These mappings are designed to "do the right thing" in most
+ circumstances automatically, preserving round-tripping characteristics
+ (what you put in comes out as something equivalent).
+
+ For the more enlightened: note that in the following descriptions,
+ lowercase I<perl> refers to the Perl interpreter, while uppercase I<Perl>
+ refers to the abstract Perl language itself.
=head2 JSON -> PERL
@@ -63069,7 +64850,7 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
=item object
A JSON object becomes a reference to a hash in Perl. No ordering of object
- keys is preserved (JSON does not preserver object key ordering itself).
+ keys is preserved (JSON does not preserve object key ordering itself).
=item array
@@ -63089,12 +64870,12 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
the conversion details, but an integer may take slightly less memory and
might represent more values exactly than floating point numbers.
- If the number consists of digits only, C<JSON> will try to represent
+ If the number consists of digits only, JSON::PP will try to represent
it as an integer value. If that fails, it will try to represent it as
a numeric (floating point) value if that is possible without loss of
precision. Otherwise it will preserve the number as a string value (in
which case you lose roundtripping ability, as the JSON number will be
- re-encoded toa JSON string).
+ re-encoded to a JSON string).
Numbers containing a fractional or exponential part will always be
represented as numeric (floating point) values, possibly at a loss of
@@ -63103,36 +64884,30 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
Note that precision is not accuracy - binary floating point values cannot
represent most decimal fractions exactly, and when converting from and to
- floating point, C<JSON> only guarantees precision up to but not including
- the leats significant bit.
+ floating point, JSON::PP only guarantees precision up to but not including
+ the least significant bit.
- When C<allow_bignum> is enable, the big integers
- and the numeric can be optionally converted into L<Math::BigInt> and
- L<Math::BigFloat> objects.
+ When C<allow_bignum> is enabled, big integer values and any numeric
+ values will be converted into L<Math::BigInt> and L<Math::BigFloat>
+ objects respectively, without becoming string scalars or losing
+ precision.
=item true, false
These JSON atoms become C<JSON::PP::true> and C<JSON::PP::false>,
respectively. They are overloaded to act almost exactly like the numbers
- C<1> and C<0>. You can check wether a scalar is a JSON boolean by using
- the C<JSON::is_bool> function.
-
- print JSON::PP::true . "\n";
- => true
- print JSON::PP::true + 1;
- => 1
-
- ok(JSON::true eq '1');
- ok(JSON::true == 1);
-
- C<JSON> will install these missing overloading features to the backend modules.
-
+ C<1> and C<0>. You can check whether a scalar is a JSON boolean by using
+ the C<JSON::PP::is_bool> function.
=item null
A JSON null atom becomes C<undef> in Perl.
- C<JSON::PP::null> returns C<unddef>.
+ =item shell-style comments (C<< # I<text> >>)
+
+ As a nonstandard extension to the JSON syntax that is enabled by the
+ C<relaxed> setting, shell-style comments are allowed. They can start
+ anywhere outside strings and go till the end of the line.
=back
@@ -63147,16 +64922,14 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
=item hash references
- Perl hash references become JSON objects. As there is no inherent ordering
- in hash keys (or JSON objects), they will usually be encoded in a
- pseudo-random order that can change between runs of the same program but
- stays generally the same within a single run of a program. C<JSON>
- optionally sort the hash keys (determined by the I<canonical> flag), so
- the same datastructure will serialise to the same JSON text (given same
- settings and version of JSON::XS), but this incurs a runtime overhead
- and is only rarely useful, e.g. when you want to compare some JSON text
- against another for equality.
-
+ Perl hash references become JSON objects. As there is no inherent
+ ordering in hash keys (or JSON objects), they will usually be encoded
+ in a pseudo-random order. JSON::PP can optionally sort the hash keys
+ (determined by the I<canonical> flag and/or I<sort_by> property), so
+ the same data structure will serialise to the same JSON text (given
+ same settings and version of JSON::PP), but this incurs a runtime
+ overhead and is only rarely useful, e.g. when you want to compare some
+ JSON text against another for equality.
=item array references
@@ -63167,31 +64940,30 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
Other unblessed references are generally not allowed and will cause an
exception to be thrown, except for references to the integers C<0> and
C<1>, which get turned into C<false> and C<true> atoms in JSON. You can
- also use C<JSON::false> and C<JSON::true> to improve readability.
+ also use C<JSON::PP::false> and C<JSON::PP::true> to improve
+ readability.
- to_json [\0,JSON::PP::true] # yields [false,true]
+ to_json [\0, JSON::PP::true] # yields [false,true]
- =item JSON::PP::true, JSON::PP::false, JSON::PP::null
+ =item JSON::PP::true, JSON::PP::false
These special values become JSON true and JSON false values,
respectively. You can also use C<\1> and C<\0> directly if you want.
- JSON::PP::null returns C<undef>.
+ =item JSON::PP::null
- =item blessed objects
+ This special value becomes JSON null.
- Blessed objects are not directly representable in JSON. See the
- C<allow_blessed> and C<convert_blessed> methods on various options on
- how to deal with this: basically, you can choose between throwing an
- exception, encoding the reference as if it weren't blessed, or provide
- your own serialiser method.
+ =item blessed objects
- See to L<convert_blessed>.
+ Blessed objects are not directly representable in JSON, but C<JSON::PP>
+ allows various ways of handling objects. See L<OBJECT SERIALISATION>,
+ below, for details.
=item simple scalars
Simple Perl scalars (any scalar that is not a reference) are the most
- difficult objects to encode: JSON::XS and JSON::PP will encode undefined scalars as
+ difficult objects to encode: JSON::PP will encode undefined scalars as
JSON C<null> values, scalars that have last been used in a string context
before encoding as JSON strings, and anything else as number value:
@@ -63213,14 +64985,15 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
"$x"; # stringified
$x .= ""; # another, more awkward way to stringify
print $x; # perl does it for you, too, quite often
+ # (but for older perls)
You can force the type to be a number by numifying it:
my $x = "3"; # some variable containing a string
$x += 0; # numify it, ensuring it will be dumped as a number
- $x *= 1; # same thing, the choise is yours.
+ $x *= 1; # same thing, the choice is yours.
- You can not currently force the type in other, less obscure, ways.
+ You cannot currently force the type in other, less obscure, ways.
Note that numerical precision has the same meaning as under Perl (so
binary to decimal conversion follows the same rules as in Perl, which
@@ -63229,94 +65002,171 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
infinities or NaN's - these cannot be represented in JSON, and it is an
error to pass those in.
- =item Big Number
+ JSON::PP (and JSON::XS) trusts what you pass to C<encode> method
+ (or C<encode_json> function) is a clean, validated data structure with
+ values that can be represented as valid JSON values only, because it's
+ not from an external data source (as opposed to JSON texts you pass to
+ C<decode> or C<decode_json>, which JSON::PP considers tainted and
+ doesn't trust). As JSON::PP doesn't know exactly what you and consumers
+ of your JSON texts want the unexpected values to be (you may want to
+ convert them into null, or to stringify them with or without
+ normalisation (string representation of infinities/NaN may vary
+ depending on platforms), or to croak without conversion), you're advised
+ to do what you and your consumers need before you encode, and also not
+ to numify values that may start with values that look like a number
+ (including infinities/NaN), without validating.
- When C<allow_bignum> is enable,
- C<encode> converts C<Math::BigInt> objects and C<Math::BigFloat>
- objects into JSON numbers.
+ =back
+ =head2 OBJECT SERIALISATION
- =back
+ As for Perl objects, JSON::PP only supports a pure JSON representation (without the ability to deserialise the object automatically again).
- =head1 UNICODE HANDLING ON PERLS
+ =head3 SERIALISATION
- If you do not know about Unicode on Perl well,
- please check L<JSON::XS/A FEW NOTES ON UNICODE AND PERL>.
+ What happens when C<JSON::PP> encounters a Perl object depends on the
+ C<allow_blessed>, C<convert_blessed> and C<allow_bignum> settings, which are
+ used in this order:
- =head2 Perl 5.8 and later
+ =over 4
- Perl can handle Unicode and the JSON::PP de/encode methods also work properly.
+ =item 1. C<convert_blessed> is enabled and the object has a C<TO_JSON> method.
- $json->allow_nonref->encode(chr hex 3042);
- $json->allow_nonref->encode(chr hex 12345);
+ In this case, the C<TO_JSON> method of the object is invoked in scalar
+ context. It must return a single scalar that can be directly encoded into
+ JSON. This scalar replaces the object in the JSON text.
- Reuturns C<"\u3042"> and C<"\ud808\udf45"> respectively.
+ For example, the following C<TO_JSON> method will convert all L<URI>
+ objects to JSON strings when serialised. The fact that these values
+ originally were L<URI> objects is lost.
- $json->allow_nonref->decode('"\u3042"');
- $json->allow_nonref->decode('"\ud808\udf45"');
+ sub URI::TO_JSON {
+ my ($uri) = @_;
+ $uri->as_string
+ }
- Returns UTF-8 encoded strings with UTF8 flag, regarded as C<U+3042> and C<U+12345>.
+ =item 2. C<allow_bignum> is enabled and the object is a C<Math::BigInt> or C<Math::BigFloat>.
- Note that the versions from Perl 5.8.0 to 5.8.2, Perl built-in C<join> was broken,
- so JSON::PP wraps the C<join> with a subroutine. Thus JSON::PP works slow in the versions.
+ The object will be serialised as a JSON number value.
+ =item 3. C<allow_blessed> is enabled.
- =head2 Perl 5.6
+ The object will be serialised as a JSON null value.
- Perl can handle Unicode and the JSON::PP de/encode methods also work.
+ =item 4. none of the above
- =head2 Perl 5.005
+ If none of the settings are enabled or the respective methods are missing,
+ C<JSON::PP> throws an exception.
- Perl 5.005 is a byte sementics world -- all strings are sequences of bytes.
- That means the unicode handling is not available.
+ =back
- In encoding,
+ =head1 ENCODING/CODESET FLAG NOTES
- $json->allow_nonref->encode(chr hex 3042); # hex 3042 is 12354.
- $json->allow_nonref->encode(chr hex 12345); # hex 12345 is 74565.
+ This section is taken from JSON::XS.
- Returns C<B> and C<E>, as C<chr> takes a value more than 255, it treats
- as C<$value % 256>, so the above codes are equivalent to :
+ The interested reader might have seen a number of flags that signify
+ encodings or codesets - C<utf8>, C<latin1> and C<ascii>. There seems to be
+ some confusion on what these do, so here is a short comparison:
- $json->allow_nonref->encode(chr 66);
- $json->allow_nonref->encode(chr 69);
+ C<utf8> controls whether the JSON text created by C<encode> (and expected
+ by C<decode>) is UTF-8 encoded or not, while C<latin1> and C<ascii> only
+ control whether C<encode> escapes character values outside their respective
+ codeset range. Neither of these flags conflict with each other, although
+ some combinations make less sense than others.
- In decoding,
+ Care has been taken to make all flags symmetrical with respect to
+ C<encode> and C<decode>, that is, texts encoded with any combination of
+ these flag values will be correctly decoded when the same flags are used
+ - in general, if you use different flag settings while encoding vs. when
+ decoding you likely have a bug somewhere.
- $json->decode('"\u00e3\u0081\u0082"');
+ Below comes a verbose discussion of these flags. Note that a "codeset" is
+ simply an abstract set of character-codepoint pairs, while an encoding
+ takes those codepoint numbers and I<encodes> them, in our case into
+ octets. Unicode is (among other things) a codeset, UTF-8 is an encoding,
+ and ISO-8859-1 (= latin 1) and ASCII are both codesets I<and> encodings at
+ the same time, which can be confusing.
- The returned is a byte sequence C<0xE3 0x81 0x82> for UTF-8 encoded
- japanese character (C<HIRAGANA LETTER A>).
- And if it is represented in Unicode code point, C<U+3042>.
+ =over 4
- Next,
+ =item C<utf8> flag disabled
- $json->decode('"\u3042"');
+ When C<utf8> is disabled (the default), then C<encode>/C<decode> generate
+ and expect Unicode strings, that is, characters with high ordinal Unicode
+ values (> 255) will be encoded as such characters, and likewise such
+ characters are decoded as-is, no changes to them will be done, except
+ "(re-)interpreting" them as Unicode codepoints or Unicode characters,
+ respectively (to Perl, these are the same thing in strings unless you do
+ funny/weird/dumb stuff).
- We ordinary expect the returned value is a Unicode character C<U+3042>.
- But here is 5.005 world. This is C<0xE3 0x81 0x82>.
+ This is useful when you want to do the encoding yourself (e.g. when you
+ want to have UTF-16 encoded JSON texts) or when some other layer does
+ the encoding for you (for example, when printing to a terminal using a
+ filehandle that transparently encodes to UTF-8 you certainly do NOT want
+ to UTF-8 encode your data first and have Perl encode it another time).
- $json->decode('"\ud808\udf45"');
+ =item C<utf8> flag enabled
- This is not a character C<U+12345> but bytes - C<0xf0 0x92 0x8d 0x85>.
+ If the C<utf8>-flag is enabled, C<encode>/C<decode> will encode all
+ characters using the corresponding UTF-8 multi-byte sequence, and will
+ expect your input strings to be encoded as UTF-8, that is, no "character"
+ of the input string must have any value > 255, as UTF-8 does not allow
+ that.
+ The C<utf8> flag therefore switches between two modes: disabled means you
+ will get a Unicode string in Perl, enabled means you get an UTF-8 encoded
+ octet/binary string in Perl.
- =head1 TODO
+ =item C<latin1> or C<ascii> flags enabled
- =over
+ With C<latin1> (or C<ascii>) enabled, C<encode> will escape characters
+ with ordinal values > 255 (> 127 with C<ascii>) and encode the remaining
+ characters as specified by the C<utf8> flag.
- =item speed
+ If C<utf8> is disabled, then the result is also correctly encoded in those
+ character sets (as both are proper subsets of Unicode, meaning that a
+ Unicode string with all character values < 256 is the same thing as a
+ ISO-8859-1 string, and a Unicode string with all character values < 128 is
+ the same thing as an ASCII string in Perl).
- =item memory saving
+ If C<utf8> is enabled, you still get a correct UTF-8-encoded string,
+ regardless of these flags, just some more characters will be escaped using
+ C<\uXXXX> then before.
- =back
+ Note that ISO-8859-1-I<encoded> strings are not compatible with UTF-8
+ encoding, while ASCII-encoded strings are. That is because the ISO-8859-1
+ encoding is NOT a subset of UTF-8 (despite the ISO-8859-1 I<codeset> being
+ a subset of Unicode), while ASCII is.
+
+ Surprisingly, C<decode> will ignore these flags and so treat all input
+ values as governed by the C<utf8> flag. If it is disabled, this allows you
+ to decode ISO-8859-1- and ASCII-encoded strings, as both strict subsets of
+ Unicode. If it is enabled, you can correctly decode UTF-8 encoded strings.
+
+ So neither C<latin1> nor C<ascii> are incompatible with the C<utf8> flag -
+ they only govern when the JSON output engine escapes a character or not.
+
+ The main use for C<latin1> is to relatively efficiently store binary data
+ as JSON, at the expense of breaking compatibility with most JSON decoders.
+
+ The main use for C<ascii> is to force the output to not contain characters
+ with values > 127, which means you can interpret the resulting string
+ as UTF-8, ISO-8859-1, ASCII, KOI8-R or most about any character set and
+ 8-bit-encoding, and still get the same data structure back. This is useful
+ when your channel for JSON transfer is not 8-bit clean or the encoding
+ might be mangled in between (e.g. in mail), and works because ASCII is a
+ proper subset of most 8-bit and multibyte encodings in use in the world.
+ =back
=head1 SEE ALSO
- Most of the document are copied and modified from JSON::XS doc.
+ The F<json_pp> command line utility for quick experiments.
- L<JSON::XS>
+ L<JSON::XS>, L<Cpanel::JSON::XS>, and L<JSON::Tiny> for faster alternatives.
+ L<JSON> and L<JSON::MaybeXS> for easy migration.
+
+ L<JSON::PP::Compat5005> and L<JSON::PP::Compat5006> for older perl users.
RFC4627 (L<http://www.ietf.org/rfc/rfc4627.txt>)
@@ -63327,7 +65177,7 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
=head1 COPYRIGHT AND LICENSE
- Copyright 2007-2013 by Makamaka Hannyaharamitu
+ Copyright 2007-2016 by Makamaka Hannyaharamitu
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
@@ -63336,6 +65186,22 @@ $fatpacked{"JSON/PP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP
JSON_PP
$fatpacked{"JSON/PP/Boolean.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_PP_BOOLEAN';
+ package JSON::PP::Boolean;
+
+ use strict;
+ use overload (
+ "0+" => sub { ${$_[0]} },
+ "++" => sub { $_[0] = ${$_[0]} + 1 },
+ "--" => sub { $_[0] = ${$_[0]} - 1 },
+ fallback => 1,
+ );
+
+ $JSON::PP::Boolean::VERSION = '2.94';
+
+ 1;
+
+ __END__
+
=head1 NAME
JSON::PP::Boolean - dummy module providing JSON::PP::Boolean
@@ -63349,13 +65215,6 @@ $fatpacked{"JSON/PP/Boolean.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
This module exists only to provide overload resolution for Storable and similar modules. See
L<JSON::PP> for more info about this class.
- =cut
-
- use JSON::PP ();
- use strict;
-
- 1;
-
=head1 AUTHOR
This idea is from L<JSON::XS::Boolean> written by Marc Lehmann <schmorp[at]schmorp.de>
@@ -63372,15 +65231,17 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
use 5.005;
use strict;
- use base qw(Exporter);
+
+ use Exporter ();
+ BEGIN { @JSON::backportPP::ISA = ('Exporter') }
+
use overload ();
+ use JSON::backportPP::Boolean;
use Carp ();
- use B ();
#use Devel::Peek;
- use vars qw($VERSION);
- $VERSION = '2.27204';
+ $JSON::backportPP::VERSION = '2.94';
@JSON::PP::EXPORT = qw(encode_json decode_json from_json to_json);
@@ -63410,6 +65271,13 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
use constant P_ALLOW_UNKNOWN => 18;
use constant OLD_PERL => $] < 5.008 ? 1 : 0;
+ use constant USE_B => 0;
+
+ BEGIN {
+ if (USE_B) {
+ require B;
+ }
+ }
BEGIN {
my @xs_compati_bit_properties = qw(
@@ -63421,33 +65289,33 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
allow_barekey escape_slash as_nonblessed
);
- # Perl version check, Unicode handling is enable?
+ # Perl version check, Unicode handling is enabled?
# Helper module sets @JSON::PP::_properties.
- if ($] < 5.008 ) {
+ if ( OLD_PERL ) {
my $helper = $] >= 5.006 ? 'JSON::backportPP::Compat5006' : 'JSON::backportPP::Compat5005';
eval qq| require $helper |;
if ($@) { Carp::croak $@; }
}
for my $name (@xs_compati_bit_properties, @pp_bit_properties) {
- my $flag_name = 'P_' . uc($name);
+ my $property_id = 'P_' . uc($name);
eval qq/
sub $name {
my \$enable = defined \$_[1] ? \$_[1] : 1;
if (\$enable) {
- \$_[0]->{PROPS}->[$flag_name] = 1;
+ \$_[0]->{PROPS}->[$property_id] = 1;
}
else {
- \$_[0]->{PROPS}->[$flag_name] = 0;
+ \$_[0]->{PROPS}->[$property_id] = 0;
}
\$_[0];
}
sub get_$name {
- \$_[0]->{PROPS}->[$flag_name] ? 1 : '';
+ \$_[0]->{PROPS}->[$property_id] ? 1 : '';
}
/;
}
@@ -63458,16 +65326,6 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
# Functions
- my %encode_allow_method
- = map {($_ => 1)} qw/utf8 pretty allow_nonref latin1 self_encode escape_slash
- allow_blessed convert_blessed indent indent_length allow_bignum
- as_nonblessed
- /;
- my %decode_allow_method
- = map {($_ => 1)} qw/utf8 allow_nonref loose allow_singlequote allow_bignum
- allow_barekey max_size relaxed/;
-
-
my $JSON; # cache
sub encode_json ($) { # encode
@@ -63498,9 +65356,6 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
my $self = {
max_depth => 512,
max_size => 0,
- indent => 0,
- FLAGS => 0,
- fallback => sub { encode_error('Invalid value. JSON can only reference.') },
indent_length => 3,
};
@@ -63533,7 +65388,7 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
my $enable = defined $v ? $v : 1;
if ($enable) { # indent_length(3) for JSON::XS compatibility
- $self->indent(1)->indent_length(3)->space_before(1)->space_after(1);
+ $self->indent(1)->space_before(1)->space_after(1);
}
else {
$self->indent(0)->space_before(0)->space_after(0);
@@ -63565,14 +65420,24 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
sub filter_json_object {
- $_[0]->{cb_object} = defined $_[1] ? $_[1] : 0;
+ if (defined $_[1] and ref $_[1] eq 'CODE') {
+ $_[0]->{cb_object} = $_[1];
+ } else {
+ delete $_[0]->{cb_object};
+ }
$_[0]->{F_HOOK} = ($_[0]->{cb_object} or $_[0]->{cb_sk_object}) ? 1 : 0;
$_[0];
}
sub filter_json_single_key_object {
- if (@_ > 1) {
+ if (@_ == 1 or @_ > 3) {
+ Carp::croak("Usage: JSON::PP::filter_json_single_key_object(self, key, callback = undef)");
+ }
+ if (defined $_[2] and ref $_[2] eq 'CODE') {
$_[0]->{cb_sk_object}->{$_[1]} = $_[2];
+ } else {
+ delete $_[0]->{cb_sk_object}->{$_[1]};
+ delete $_[0]->{cb_sk_object} unless %{$_[0]->{cb_sk_object} || {}};
}
$_[0]->{F_HOOK} = ($_[0]->{cb_object} or $_[0]->{cb_sk_object}) ? 1 : 0;
$_[0];
@@ -63598,7 +65463,8 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
}
sub allow_bigint {
- Carp::carp("allow_bigint() is obsoleted. use allow_bignum() insted.");
+ Carp::carp("allow_bigint() is obsoleted. use allow_bignum() instead.");
+ $_[0]->allow_bignum;
}
###############################
@@ -63638,11 +65504,11 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
$indent_count = 0;
$depth = 0;
- my $idx = $self->{PROPS};
+ my $props = $self->{PROPS};
($ascii, $latin1, $utf8, $indent, $canonical, $space_before, $space_after, $allow_blessed,
$convert_blessed, $escape_slash, $bignum, $as_nonblessed)
- = @{$idx}[P_ASCII .. P_SPACE_AFTER, P_ALLOW_BLESSED, P_CONVERT_BLESSED,
+ = @{$props}[P_ASCII .. P_SPACE_AFTER, P_ALLOW_BLESSED, P_CONVERT_BLESSED,
P_ESCAPE_SLASH, P_ALLOW_BIGNUM, P_AS_NONBLESSED];
($max_depth, $indent_length) = @{$self}{qw/max_depth indent_length/};
@@ -63656,7 +65522,7 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
}
encode_error("hash- or arrayref expected (not a simple scalar, use allow_nonref to allow this)")
- if(!ref $obj and !$idx->[ P_ALLOW_NONREF ]);
+ if(!ref $obj and !$props->[ P_ALLOW_NONREF ]);
my $str = $self->object_to_json($obj);
@@ -63666,7 +65532,7 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
utf8::upgrade($str);
}
- if ($idx->[ P_SHRINK ]) {
+ if ($props->[ P_SHRINK ]) {
utf8::downgrade($str, 1);
}
@@ -63704,13 +65570,14 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
}
return "$obj" if ( $bignum and _is_bignum($obj) );
- return $self->blessed_to_json($obj) if ($allow_blessed and $as_nonblessed); # will be removed.
+ if ($allow_blessed) {
+ return $self->blessed_to_json($obj) if ($as_nonblessed); # will be removed.
+ return 'null';
+ }
encode_error( sprintf("encountered object '%s', but neither allow_blessed "
. "nor convert_blessed settings are enabled", $obj)
- ) unless ($allow_blessed);
-
- return 'null';
+ );
}
else {
return $self->value_to_json($obj);
@@ -63734,15 +65601,16 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
for my $k ( _sort( $obj ) ) {
if ( OLD_PERL ) { utf8::decode($k) } # key for Perl 5.6 / be optimized
- push @res, string_to_json( $self, $k )
+ push @res, $self->string_to_json( $k )
. $del
- . ( $self->object_to_json( $obj->{$k} ) || $self->value_to_json( $obj->{$k} ) );
+ . ( ref $obj->{$k} ? $self->object_to_json( $obj->{$k} ) : $self->value_to_json( $obj->{$k} ) );
}
--$depth;
$self->_down_indent() if ($indent);
- return '{' . ( @res ? $pre : '' ) . ( @res ? join( ",$pre", @res ) . $post : '' ) . '}';
+ return '{}' unless @res;
+ return '{' . $pre . join( ",$pre", @res ) . $post . '}';
}
@@ -63756,36 +65624,53 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
my ($pre, $post) = $indent ? $self->_up_indent() : ('', '');
for my $v (@$obj){
- push @res, $self->object_to_json($v) || $self->value_to_json($v);
+ push @res, ref($v) ? $self->object_to_json($v) : $self->value_to_json($v);
}
--$depth;
$self->_down_indent() if ($indent);
- return '[' . ( @res ? $pre : '' ) . ( @res ? join( ",$pre", @res ) . $post : '' ) . ']';
+ return '[]' unless @res;
+ return '[' . $pre . join( ",$pre", @res ) . $post . ']';
}
+ sub _looks_like_number {
+ my $value = shift;
+ if (USE_B) {
+ my $b_obj = B::svref_2object(\$value);
+ my $flags = $b_obj->FLAGS;
+ return 1 if $flags & ( B::SVp_IOK() | B::SVp_NOK() ) and !( $flags & B::SVp_POK() );
+ return;
+ } else {
+ no warnings 'numeric';
+ # detect numbers
+ # string & "" -> ""
+ # number & "" -> 0 (with warning)
+ # nan and inf can detect as numbers, so check with * 0
+ return unless length((my $dummy = "") & $value);
+ return unless 0 + $value eq $value;
+ return 1 if $value * 0 == 0;
+ return -1; # inf/nan
+ }
+ }
sub value_to_json {
my ($self, $value) = @_;
return 'null' if(!defined $value);
- my $b_obj = B::svref_2object(\$value); # for round trip problem
- my $flags = $b_obj->FLAGS;
-
- return $value # as is
- if $flags & ( B::SVp_IOK | B::SVp_NOK ) and !( $flags & B::SVp_POK ); # SvTYPE is IV or NV?
-
my $type = ref($value);
- if(!$type){
- return string_to_json($self, $value);
+ if (!$type) {
+ if (_looks_like_number($value)) {
+ return $value;
+ }
+ return $self->string_to_json($value);
}
elsif( blessed($value) and $value->isa('JSON::PP::Boolean') ){
return $$value == 1 ? 'true' : 'false';
}
- elsif ($type) {
+ else {
if ((overload::StrVal($value) =~ /=(\w+)/)[0]) {
return $self->value_to_json("$value");
}
@@ -63797,25 +65682,19 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
: encode_error("cannot encode reference to scalar");
}
- if ( $self->{PROPS}->[ P_ALLOW_UNKNOWN ] ) {
- return 'null';
- }
- else {
- if ( $type eq 'SCALAR' or $type eq 'REF' ) {
+ if ( $self->{PROPS}->[ P_ALLOW_UNKNOWN ] ) {
+ return 'null';
+ }
+ else {
+ if ( $type eq 'SCALAR' or $type eq 'REF' ) {
encode_error("cannot encode reference to scalar");
- }
- else {
+ }
+ else {
encode_error("encountered $value, but JSON can only represent references to arrays or hashes");
- }
- }
+ }
+ }
}
- else {
- return $self->{fallback}->($value)
- if ($self->{fallback} and ref($self->{fallback}) eq 'CODE');
- return 'null';
- }
-
}
@@ -63977,7 +65856,7 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
my $text; # json data
my $at; # offset
- my $ch; # 1chracter
+ my $ch; # first character
my $len; # text length (changed according to UTF8 or NON UTF8)
# INTERNAL
my $depth; # nest counter
@@ -63994,19 +65873,27 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
my $F_HOOK;
- my $allow_bigint; # using Math::BigInt
+ my $allow_bignum; # using Math::BigInt/BigFloat
my $singlequote; # loosely quoting
my $loose; #
my $allow_barekey; # bareKey
- # $opt flag
- # 0x00000001 .... decode_prefix
- # 0x10000000 .... incr_parse
+ sub _detect_utf_encoding {
+ my $text = shift;
+ my @octets = unpack('C4', $text);
+ return 'unknown' unless defined $octets[3];
+ return ( $octets[0] and $octets[1]) ? 'UTF-8'
+ : (!$octets[0] and $octets[1]) ? 'UTF-16BE'
+ : (!$octets[0] and !$octets[1]) ? 'UTF-32BE'
+ : ( $octets[2] ) ? 'UTF-16LE'
+ : (!$octets[2] ) ? 'UTF-32LE'
+ : 'unknown';
+ }
sub PP_decode_json {
- my ($self, $opt); # $opt is an effective flag during this decode_json.
+ my ($self, $want_offset);
- ($self, $text, $opt) = @_;
+ ($self, $text, $want_offset) = @_;
($at, $ch, $depth) = (0, '', 0);
@@ -64014,16 +65901,23 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
decode_error("malformed JSON string, neither array, object, number, string or atom");
}
- my $idx = $self->{PROPS};
+ my $props = $self->{PROPS};
- ($utf8, $relaxed, $loose, $allow_bigint, $allow_barekey, $singlequote)
- = @{$idx}[P_UTF8, P_RELAXED, P_LOOSE .. P_ALLOW_SINGLEQUOTE];
+ ($utf8, $relaxed, $loose, $allow_bignum, $allow_barekey, $singlequote)
+ = @{$props}[P_UTF8, P_RELAXED, P_LOOSE .. P_ALLOW_SINGLEQUOTE];
if ( $utf8 ) {
- utf8::downgrade( $text, 1 ) or Carp::croak("Wide character in subroutine entry");
+ $encoding = _detect_utf_encoding($text);
+ if ($encoding ne 'UTF-8' and $encoding ne 'unknown') {
+ require Encode;
+ Encode::from_to($text, $encoding, 'utf-8');
+ } else {
+ utf8::downgrade( $text, 1 ) or Carp::croak("Wide character in subroutine entry");
+ }
}
else {
utf8::upgrade( $text );
+ utf8::encode( $text );
}
$len = length $text;
@@ -64040,27 +65934,13 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
) if ($bytes > $max_size);
}
- # Currently no effect
- # should use regexp
- my @octets = unpack('C4', $text);
- $encoding = ( $octets[0] and $octets[1]) ? 'UTF-8'
- : (!$octets[0] and $octets[1]) ? 'UTF-16BE'
- : (!$octets[0] and !$octets[1]) ? 'UTF-32BE'
- : ( $octets[2] ) ? 'UTF-16LE'
- : (!$octets[2] ) ? 'UTF-32LE'
- : 'unknown';
-
white(); # remove head white space
- my $valid_start = defined $ch; # Is there a first character for JSON structure?
+ decode_error("malformed JSON string, neither array, object, number, string or atom") unless defined $ch; # Is there a first character for JSON structure?
my $result = value();
- return undef if ( !$result && ( $opt & 0x10000000 ) ); # for incr_parse
-
- decode_error("malformed JSON string, neither array, object, number, string or atom") unless $valid_start;
-
- if ( !$idx->[ P_ALLOW_NONREF ] and !ref $result ) {
+ if ( !$props->[ P_ALLOW_NONREF ] and !ref $result ) {
decode_error(
'JSON text must be an object or array (but found number, string, true, false or null,'
. ' use allow_nonref to allow this)', 1);
@@ -64072,12 +65952,11 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
white(); # remove tail white space
- if ( $ch ) {
- return ( $result, $consumed ) if ($opt & 0x00000001); # all right if decode_prefix
- decode_error("garbage after JSON object");
- }
+ return ( $result, $consumed ) if $want_offset; # all right if decode_prefix
+
+ decode_error("garbage after JSON object") if defined $ch;
- ( $opt & 0x00000001 ) ? ( $result, $consumed ) : $result;
+ $result;
}
@@ -64098,13 +65977,12 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
}
sub string {
- my ($i, $s, $t, $u);
my $utf16;
my $is_utf8;
($is_valid_utf8, $utf8_len) = ('', 0);
- $s = ''; # basically UTF8 flag on
+ my $s = ''; # basically UTF8 flag on
if($ch eq '"' or ($singlequote and $ch eq "'")){
my $boundChar = $ch;
@@ -64175,17 +66053,12 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
else{
if ( ord $ch > 127 ) {
- if ( $utf8 ) {
- unless( $ch = is_valid_utf8($ch) ) {
- $at -= 1;
- decode_error("malformed UTF-8 character in JSON string");
- }
- else {
- $at += $utf8_len - 1;
- }
+ unless( $ch = is_valid_utf8($ch) ) {
+ $at -= 1;
+ decode_error("malformed UTF-8 character in JSON string");
}
else {
- utf8::encode( $ch );
+ $at += $utf8_len - 1;
}
$is_utf8 = 1;
@@ -64209,10 +66082,10 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
sub white {
while( defined $ch ){
- if($ch le ' '){
+ if($ch eq '' or $ch =~ /\A[ \t\r\n]\z/){
next_chr();
}
- elsif($ch eq '/'){
+ elsif($relaxed and $ch eq '/'){
next_chr();
if(defined $ch and $ch eq '/'){
1 while(defined(next_chr()) and $ch ne "\n" and $ch ne "\r");
@@ -64303,6 +66176,7 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
}
}
+ $at-- if defined $ch and $ch ne '';
decode_error(", or ] expected while parsing array");
}
@@ -64369,7 +66243,7 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
}
- $at--;
+ $at-- if defined $ch and $ch ne '';
decode_error(", or } expected while parsing object/hash");
}
@@ -64418,32 +66292,8 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
sub number {
my $n = '';
my $v;
-
- # According to RFC4627, hex or oct digits are invalid.
- if($ch eq '0'){
- my $peek = substr($text,$at,1);
- my $hex = $peek =~ /[xX]/; # 0 or 1
-
- if($hex){
- decode_error("malformed number (leading zero must not be followed by another digit)");
- ($n) = ( substr($text, $at+1) =~ /^([0-9a-fA-F]+)/);
- }
- else{ # oct
- ($n) = ( substr($text, $at) =~ /^([0-7]+)/);
- if (defined $n and length $n > 1) {
- decode_error("malformed number (leading zero must not be followed by another digit)");
- }
- }
-
- if(defined $n and length($n)){
- if (!$hex and length($n) == 1) {
- decode_error("malformed number (leading zero must not be followed by another digit)");
- }
- $at += length($n) + $hex;
- next_chr;
- return $hex ? hex($n) : oct($n);
- }
- }
+ my $is_dec;
+ my $is_exp;
if($ch eq '-'){
$n = '-';
@@ -64453,6 +66303,16 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
}
}
+ # According to RFC4627, hex or oct digits are invalid.
+ if($ch eq '0'){
+ my $peek = substr($text,$at,1);
+ if($peek =~ /^[0-9a-dfA-DF]/){ # e may be valid (exponential)
+ decode_error("malformed number (leading zero must not be followed by another digit)");
+ }
+ $n .= $ch;
+ next_chr;
+ }
+
while(defined $ch and $ch =~ /\d/){
$n .= $ch;
next_chr;
@@ -64460,6 +66320,7 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
if(defined $ch and $ch eq '.'){
$n .= '.';
+ $is_dec = 1;
next_chr;
if (!defined $ch or $ch !~ /\d/) {
@@ -64476,6 +66337,7 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
if(defined $ch and ($ch eq 'e' or $ch eq 'E')){
$n .= $ch;
+ $is_exp = 1;
next_chr;
if(defined($ch) and ($ch eq '+' or $ch eq '-')){
@@ -64501,21 +66363,24 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
$v .= $n;
- if ($v !~ /[.eE]/ and length $v > $max_intsize) {
- if ($allow_bigint) { # from Adam Sussman
- require Math::BigInt;
- return Math::BigInt->new($v);
+ if ($is_dec or $is_exp) {
+ if ($allow_bignum) {
+ require Math::BigFloat;
+ return Math::BigFloat->new($v);
}
- else {
- return "$v";
+ } else {
+ if (length $v > $max_intsize) {
+ if ($allow_bignum) { # from Adam Sussman
+ require Math::BigInt;
+ return Math::BigInt->new($v);
+ }
+ else {
+ return "$v";
+ }
}
}
- elsif ($allow_bigint) {
- require Math::BigFloat;
- return Math::BigFloat->new($v);
- }
- return 0+$v;
+ return $is_dec ? $v/1.0 : 0+$v;
}
@@ -64551,11 +66416,14 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
my $no_rep = shift;
my $str = defined $text ? substr($text, $at) : '';
my $mess = '';
- my $type = $] >= 5.008 ? 'U*'
- : $] < 5.006 ? 'C*'
- : utf8::is_utf8( $str ) ? 'U*' # 5.6
- : 'C*'
- ;
+ my $type = 'U*';
+
+ if ( OLD_PERL ) {
+ my $type = $] < 5.006 ? 'C*'
+ : utf8::is_utf8( $str ) ? 'U*' # 5.6
+ : 'C*'
+ ;
+ }
for my $c ( unpack( $type, $str ) ) { # emulate pv_uni_display() ?
$mess .= $c == 0x07 ? '\a'
@@ -64646,27 +66514,27 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
*utf8::is_utf8 = *Encode::is_utf8;
}
- if ( $] >= 5.008 ) {
+ if ( !OLD_PERL ) {
*JSON::PP::JSON_PP_encode_ascii = \&_encode_ascii;
*JSON::PP::JSON_PP_encode_latin1 = \&_encode_latin1;
*JSON::PP::JSON_PP_decode_surrogates = \&_decode_surrogates;
*JSON::PP::JSON_PP_decode_unicode = \&_decode_unicode;
- }
- if ($] >= 5.008 and $] < 5.008003) { # join() in 5.8.0 - 5.8.2 is broken.
- package # hide from PAUSE
- JSON::PP;
- require subs;
- subs->import('join');
- eval q|
- sub join {
- return '' if (@_ < 2);
- my $j = shift;
- my $str = shift;
- for (@_) { $str .= $j . $_; }
- return $str;
- }
- |;
+ if ($] < 5.008003) { # join() in 5.8.0 - 5.8.2 is broken.
+ package # hide from PAUSE
+ JSON::PP;
+ require subs;
+ subs->import('join');
+ eval q|
+ sub join {
+ return '' if (@_ < 2);
+ my $j = shift;
+ my $str = shift;
+ for (@_) { $str .= $j . $_; }
+ return $str;
+ }
+ |;
+ }
}
@@ -64689,8 +66557,8 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
sub JSON::PP::incr_text : lvalue {
$_[0]->{_incr_parser} ||= JSON::PP::IncrParser->new;
- if ( $_[0]->{_incr_parser}->{incr_parsing} ) {
- Carp::croak("incr_text can not be called when the incremental parser already started parsing");
+ if ( $_[0]->{_incr_parser}->{incr_pos} ) {
+ Carp::croak("incr_text cannot be called when the incremental parser already started parsing");
}
$_[0]->{_incr_parser}->{incr_text};
}
@@ -64717,6 +66585,7 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
local($@, $SIG{__DIE__}, $SIG{__WARN__});
ref($_[0]) ? eval { $_[0]->a_sub_not_likely_to_be_here } : undef;
};
+ require B;
my %tmap = qw(
B::NULL SCALAR
B::HV HASH
@@ -64761,20 +66630,6 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
# shamelessly copied and modified from JSON::XS code.
- unless ( $INC{'JSON/PP.pm'} ) {
- eval q|
- package
- JSON::PP::Boolean;
-
- use overload (
- "0+" => sub { ${$_[0]} },
- "++" => sub { $_[0] = ${$_[0]} + 1 },
- "--" => sub { $_[0] = ${$_[0]} - 1 },
- fallback => 1,
- );
- |;
- }
-
$JSON::PP::true = do { bless \(my $dummy = 1), "JSON::PP::Boolean" };
$JSON::PP::false = do { bless \(my $dummy = 0), "JSON::PP::Boolean" };
@@ -64786,8 +66641,6 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
###############################
- ###############################
-
package # hide from PAUSE
JSON::PP::IncrParser;
@@ -64800,10 +66653,7 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
use constant INCR_M_C0 => 4;
use constant INCR_M_C1 => 5;
- use vars qw($VERSION);
- $VERSION = '1.01';
-
- my $unpack_format = $] < 5.006 ? 'C*' : 'U*';
+ $JSON::backportPP::IncrParser::VERSION = '1.01';
sub new {
my ( $class ) = @_;
@@ -64811,8 +66661,8 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
bless {
incr_nest => 0,
incr_text => undef,
- incr_parsing => 0,
- incr_p => 0,
+ incr_pos => 0,
+ incr_mode => 0,
}, $class;
}
@@ -64830,123 +66680,151 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
$self->{incr_text} .= $text;
}
-
- my $max_size = $coder->get_max_size;
-
if ( defined wantarray ) {
-
- $self->{incr_mode} = INCR_M_WS unless defined $self->{incr_mode};
-
- if ( wantarray ) {
- my @ret;
-
- $self->{incr_parsing} = 1;
-
+ my $max_size = $coder->get_max_size;
+ my $p = $self->{incr_pos};
+ my @ret;
+ {
do {
- push @ret, $self->_incr_parse( $coder, $self->{incr_text} );
+ unless ( $self->{incr_nest} <= 0 and $self->{incr_mode} == INCR_M_JSON ) {
+ $self->_incr_parse( $coder );
- unless ( !$self->{incr_nest} and $self->{incr_mode} == INCR_M_JSON ) {
- $self->{incr_mode} = INCR_M_WS if $self->{incr_mode} != INCR_M_STR;
+ if ( $max_size and $self->{incr_pos} > $max_size ) {
+ Carp::croak("attempted decode of JSON text of $self->{incr_pos} bytes size, but max_size is set to $max_size");
+ }
+ unless ( $self->{incr_nest} <= 0 and $self->{incr_mode} == INCR_M_JSON ) {
+ # as an optimisation, do not accumulate white space in the incr buffer
+ if ( $self->{incr_mode} == INCR_M_WS and $self->{incr_pos} ) {
+ $self->{incr_pos} = 0;
+ $self->{incr_text} = '';
+ }
+ last;
+ }
}
- } until ( length $self->{incr_text} >= $self->{incr_p} );
-
- $self->{incr_parsing} = 0;
+ my ($obj, $offset) = $coder->PP_decode_json( $self->{incr_text}, 0x00000001 );
+ push @ret, $obj;
+ use bytes;
+ $self->{incr_text} = substr( $self->{incr_text}, $offset || 0 );
+ $self->{incr_pos} = 0;
+ $self->{incr_nest} = 0;
+ $self->{incr_mode} = 0;
+ last unless wantarray;
+ } while ( wantarray );
+ }
+ if ( wantarray ) {
return @ret;
}
else { # in scalar context
- $self->{incr_parsing} = 1;
- my $obj = $self->_incr_parse( $coder, $self->{incr_text} );
- $self->{incr_parsing} = 0 if defined $obj; # pointed by Martin J. Evans
- return $obj ? $obj : undef; # $obj is an empty string, parsing was completed.
+ return $ret[0] ? $ret[0] : undef;
}
-
}
-
}
sub _incr_parse {
- my ( $self, $coder, $text, $skip ) = @_;
- my $p = $self->{incr_p};
- my $restore = $p;
-
- my @obj;
+ my ($self, $coder) = @_;
+ my $text = $self->{incr_text};
my $len = length $text;
+ my $p = $self->{incr_pos};
- if ( $self->{incr_mode} == INCR_M_WS ) {
- while ( $len > $p ) {
- my $s = substr( $text, $p, 1 );
- $p++ and next if ( 0x20 >= unpack($unpack_format, $s) );
- $self->{incr_mode} = INCR_M_JSON;
- last;
- }
- }
-
+ INCR_PARSE:
while ( $len > $p ) {
- my $s = substr( $text, $p++, 1 );
-
- if ( $s eq '"' ) {
- if (substr( $text, $p - 2, 1 ) eq '\\' ) {
- next;
- }
-
- if ( $self->{incr_mode} != INCR_M_STR ) {
- $self->{incr_mode} = INCR_M_STR;
+ my $s = substr( $text, $p, 1 );
+ last INCR_PARSE unless defined $s;
+ my $mode = $self->{incr_mode};
+
+ if ( $mode == INCR_M_WS ) {
+ while ( $len > $p ) {
+ $s = substr( $text, $p, 1 );
+ last INCR_PARSE unless defined $s;
+ if ( ord($s) > 0x20 ) {
+ if ( $s eq '#' ) {
+ $self->{incr_mode} = INCR_M_C0;
+ redo INCR_PARSE;
+ } else {
+ $self->{incr_mode} = INCR_M_JSON;
+ redo INCR_PARSE;
+ }
+ }
+ $p++;
}
- else {
- $self->{incr_mode} = INCR_M_JSON;
- unless ( $self->{incr_nest} ) {
+ } elsif ( $mode == INCR_M_BS ) {
+ $p++;
+ $self->{incr_mode} = INCR_M_STR;
+ redo INCR_PARSE;
+ } elsif ( $mode == INCR_M_C0 or $mode == INCR_M_C1 ) {
+ while ( $len > $p ) {
+ $s = substr( $text, $p, 1 );
+ last INCR_PARSE unless defined $s;
+ if ( $s eq "\n" ) {
+ $self->{incr_mode} = $self->{incr_mode} == INCR_M_C0 ? INCR_M_WS : INCR_M_JSON;
last;
}
+ $p++;
}
- }
-
- if ( $self->{incr_mode} == INCR_M_JSON ) {
-
- if ( $s eq '[' or $s eq '{' ) {
- if ( ++$self->{incr_nest} > $coder->get_max_depth ) {
- Carp::croak('json text or perl structure exceeds maximum nesting level (max_depth set too low?)');
+ next;
+ } elsif ( $mode == INCR_M_STR ) {
+ while ( $len > $p ) {
+ $s = substr( $text, $p, 1 );
+ last INCR_PARSE unless defined $s;
+ if ( $s eq '"' ) {
+ $p++;
+ $self->{incr_mode} = INCR_M_JSON;
+
+ last INCR_PARSE unless $self->{incr_nest};
+ redo INCR_PARSE;
}
+ elsif ( $s eq '\\' ) {
+ $p++;
+ if ( !defined substr($text, $p, 1) ) {
+ $self->{incr_mode} = INCR_M_BS;
+ last INCR_PARSE;
+ }
+ }
+ $p++;
}
- elsif ( $s eq ']' or $s eq '}' ) {
- last if ( --$self->{incr_nest} <= 0 );
- }
- elsif ( $s eq '#' ) {
- while ( $len > $p ) {
- last if substr( $text, $p++, 1 ) eq "\n";
+ } elsif ( $mode == INCR_M_JSON ) {
+ while ( $len > $p ) {
+ $s = substr( $text, $p++, 1 );
+ if ( $s eq "\x00" ) {
+ $p--;
+ last INCR_PARSE;
+ } elsif ( $s eq "\x09" or $s eq "\x0a" or $s eq "\x0d" or $s eq "\x20" ) {
+ if ( !$self->{incr_nest} ) {
+ $p--; # do not eat the whitespace, let the next round do it
+ last INCR_PARSE;
+ }
+ next;
+ } elsif ( $s eq '"' ) {
+ $self->{incr_mode} = INCR_M_STR;
+ redo INCR_PARSE;
+ } elsif ( $s eq '[' or $s eq '{' ) {
+ if ( ++$self->{incr_nest} > $coder->get_max_depth ) {
+ Carp::croak('json text or perl structure exceeds maximum nesting level (max_depth set too low?)');
+ }
+ next;
+ } elsif ( $s eq ']' or $s eq '}' ) {
+ if ( --$self->{incr_nest} <= 0 ) {
+ last INCR_PARSE;
+ }
+ } elsif ( $s eq '#' ) {
+ $self->{incr_mode} = INCR_M_C1;
+ redo INCR_PARSE;
}
}
-
}
-
}
- $self->{incr_p} = $p;
-
- return if ( $self->{incr_mode} == INCR_M_STR and not $self->{incr_nest} );
- return if ( $self->{incr_mode} == INCR_M_JSON and $self->{incr_nest} > 0 );
-
- return '' unless ( length substr( $self->{incr_text}, 0, $p ) );
-
- local $Carp::CarpLevel = 2;
-
- $self->{incr_p} = $restore;
- $self->{incr_c} = $p;
-
- my ( $obj, $tail ) = $coder->PP_decode_json( substr( $self->{incr_text}, 0, $p ), 0x10000001 );
-
- $self->{incr_text} = substr( $self->{incr_text}, $p );
- $self->{incr_p} = 0;
-
- return $obj || '';
+ $self->{incr_pos} = $p;
+ $self->{incr_parsing} = $p ? 1 : 0; # for backward compatibility
}
sub incr_text {
- if ( $_[0]->{incr_parsing} ) {
- Carp::croak("incr_text can not be called when the incremental parser already started parsing");
+ if ( $_[0]->{incr_pos} ) {
+ Carp::croak("incr_text cannot be called when the incremental parser already started parsing");
}
$_[0]->{incr_text};
}
@@ -64954,18 +66832,19 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
sub incr_skip {
my $self = shift;
- $self->{incr_text} = substr( $self->{incr_text}, $self->{incr_c} );
- $self->{incr_p} = 0;
+ $self->{incr_text} = substr( $self->{incr_text}, $self->{incr_pos} );
+ $self->{incr_pos} = 0;
+ $self->{incr_mode} = 0;
+ $self->{incr_nest} = 0;
}
sub incr_reset {
my $self = shift;
$self->{incr_text} = undef;
- $self->{incr_p} = 0;
+ $self->{incr_pos} = 0;
$self->{incr_mode} = 0;
$self->{incr_nest} = 0;
- $self->{incr_parsing} = 0;
}
###############################
@@ -64991,13 +66870,11 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
# OO-interface
- $coder = JSON::PP->new->ascii->pretty->allow_nonref;
+ $json = JSON::PP->new->ascii->pretty->allow_nonref;
- $json_text = $json->encode( $perl_scalar );
+ $pretty_printed_json_text = $json->encode( $perl_scalar );
$perl_scalar = $json->decode( $json_text );
- $pretty_printed = $json->pretty->encode( $perl_scalar ); # pretty-printing
-
# Note that JSON version 2.0 and above will automatically use
# JSON::XS or JSON::PP, so you should be able to just:
@@ -65006,79 +66883,61 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
=head1 VERSION
- 2.27200
-
- L<JSON::XS> 2.27 (~2.30) compatible.
+ 2.91_04
=head1 DESCRIPTION
- This module is L<JSON::XS> compatible pure Perl module.
- (Perl 5.8 or later is recommended)
-
- JSON::XS is the fastest and most proper JSON module on CPAN.
- It is written by Marc Lehmann in C, so must be compiled and
- installed in the used environment.
-
- JSON::PP is a pure-Perl module and has compatibility to JSON::XS.
-
-
- =head2 FEATURES
-
- =over
-
- =item * correct unicode handling
-
- This module knows how to handle Unicode (depending on Perl version).
-
- See to L<JSON::XS/A FEW NOTES ON UNICODE AND PERL> and
- L<UNICODE HANDLING ON PERLS>.
-
-
- =item * round-trip integrity
-
- When you serialise a perl data structure using only data types
- supported by JSON and Perl, the deserialised data structure is
- identical on the Perl level. (e.g. the string "2.0" doesn't suddenly
- become "2" just because it looks like a number). There I<are> minor
- exceptions to this, read the MAPPING section below to learn about
- those.
-
-
- =item * strict checking of JSON correctness
-
- There is no guessing, no generating of illegal JSON texts by default,
- and only JSON is accepted as input by default (the latter is a
- security feature). But when some options are set, loose checking
- features are available.
-
- =back
+ JSON::PP is a pure perl JSON decoder/encoder (as of RFC4627, which
+ we know is obsolete but we still stick to; see below for an option
+ to support part of RFC7159), and (almost) compatible to much
+ faster L<JSON::XS> written by Marc Lehmann in C. JSON::PP works as
+ a fallback module when you use L<JSON> module without having
+ installed JSON::XS.
+
+ Because of this fallback feature of JSON.pm, JSON::PP tries not to
+ be more JavaScript-friendly than JSON::XS (i.e. not to escape extra
+ characters such as U+2028 and U+2029 nor support RFC7159/ECMA-404),
+ in order for you not to lose such JavaScript-friendliness silently
+ when you use JSON.pm and install JSON::XS for speed or by accident.
+ If you need JavaScript-friendly RFC7159-compliant pure perl module,
+ try L<JSON::Tiny>, which is derived from L<Mojolicious> web
+ framework and is also smaller and faster than JSON::PP.
+
+ JSON::PP has been in the Perl core since Perl 5.14, mainly for
+ CPAN toolchain modules to parse META.json.
=head1 FUNCTIONAL INTERFACE
- Some documents are copied and modified from L<JSON::XS/FUNCTIONAL INTERFACE>.
+ This section is taken from JSON::XS almost verbatim. C<encode_json>
+ and C<decode_json> are exported by default.
=head2 encode_json
$json_text = encode_json $perl_scalar
- Converts the given Perl data structure to a UTF-8 encoded, binary string.
+ Converts the given Perl data structure to a UTF-8 encoded, binary string
+ (that is, the string contains octets only). Croaks on error.
This function call is functionally identical to:
$json_text = JSON::PP->new->utf8->encode($perl_scalar)
+ Except being faster.
+
=head2 decode_json
$perl_scalar = decode_json $json_text
The opposite of C<encode_json>: expects an UTF-8 (binary) string and tries
to parse that as an UTF-8 encoded JSON text, returning the resulting
- reference.
+ reference. Croaks on error.
This function call is functionally identical to:
$perl_scalar = JSON::PP->new->utf8->decode($json_text)
+ Except being faster.
+
=head2 JSON::PP::is_bool
$is_boolean = JSON::PP::is_bool($scalar)
@@ -65087,114 +66946,24 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
JSON::PP::false, two constants that act like C<1> and C<0> respectively
and are also used to represent JSON C<true> and C<false> in Perl strings.
- =head2 JSON::PP::true
-
- Returns JSON true value which is blessed object.
- It C<isa> JSON::PP::Boolean object.
-
- =head2 JSON::PP::false
-
- Returns JSON false value which is blessed object.
- It C<isa> JSON::PP::Boolean object.
-
- =head2 JSON::PP::null
-
- Returns C<undef>.
-
See L<MAPPING>, below, for more information on how JSON values are mapped to
Perl.
+ =head1 OBJECT-ORIENTED INTERFACE
- =head1 HOW DO I DECODE A DATA FROM OUTER AND ENCODE TO OUTER
-
- This section supposes that your perl version is 5.8 or later.
-
- If you know a JSON text from an outer world - a network, a file content, and so on,
- is encoded in UTF-8, you should use C<decode_json> or C<JSON> module object
- with C<utf8> enable. And the decoded result will contain UNICODE characters.
-
- # from network
- my $json = JSON::PP->new->utf8;
- my $json_text = CGI->new->param( 'json_data' );
- my $perl_scalar = $json->decode( $json_text );
-
- # from file content
- local $/;
- open( my $fh, '<', 'json.data' );
- $json_text = <$fh>;
- $perl_scalar = decode_json( $json_text );
-
- If an outer data is not encoded in UTF-8, firstly you should C<decode> it.
-
- use Encode;
- local $/;
- open( my $fh, '<', 'json.data' );
- my $encoding = 'cp932';
- my $unicode_json_text = decode( $encoding, <$fh> ); # UNICODE
-
- # or you can write the below code.
- #
- # open( my $fh, "<:encoding($encoding)", 'json.data' );
- # $unicode_json_text = <$fh>;
-
- In this case, C<$unicode_json_text> is of course UNICODE string.
- So you B<cannot> use C<decode_json> nor C<JSON> module object with C<utf8> enable.
- Instead of them, you use C<JSON> module object with C<utf8> disable.
-
- $perl_scalar = $json->utf8(0)->decode( $unicode_json_text );
-
- Or C<encode 'utf8'> and C<decode_json>:
-
- $perl_scalar = decode_json( encode( 'utf8', $unicode_json_text ) );
- # this way is not efficient.
-
- And now, you want to convert your C<$perl_scalar> into JSON data and
- send it to an outer world - a network or a file content, and so on.
-
- Your data usually contains UNICODE strings and you want the converted data to be encoded
- in UTF-8, you should use C<encode_json> or C<JSON> module object with C<utf8> enable.
-
- print encode_json( $perl_scalar ); # to a network? file? or display?
- # or
- print $json->utf8->encode( $perl_scalar );
-
- If C<$perl_scalar> does not contain UNICODE but C<$encoding>-encoded strings
- for some reason, then its characters are regarded as B<latin1> for perl
- (because it does not concern with your $encoding).
- You B<cannot> use C<encode_json> nor C<JSON> module object with C<utf8> enable.
- Instead of them, you use C<JSON> module object with C<utf8> disable.
- Note that the resulted text is a UNICODE string but no problem to print it.
-
- # $perl_scalar contains $encoding encoded string values
- $unicode_json_text = $json->utf8(0)->encode( $perl_scalar );
- # $unicode_json_text consists of characters less than 0x100
- print $unicode_json_text;
-
- Or C<decode $encoding> all string values and C<encode_json>:
-
- $perl_scalar->{ foo } = decode( $encoding, $perl_scalar->{ foo } );
- # ... do it to each string values, then encode_json
- $json_text = encode_json( $perl_scalar );
-
- This method is a proper way but probably not efficient.
-
- See to L<Encode>, L<perluniintro>.
-
-
- =head1 METHODS
+ This section is also taken from JSON::XS.
- Basically, check to L<JSON> or L<JSON::XS>.
+ The object oriented interface lets you configure your own encoding or
+ decoding style, within the limits of supported formats.
=head2 new
$json = JSON::PP->new
- Returns a new JSON::PP object that can be used to de/encode JSON
- strings.
-
- All boolean flags described below are by default I<disabled>.
+ Creates a new JSON::PP object that can be used to de/encode JSON
+ strings. All boolean flags described below are by default I<disabled>.
- The mutators for flags all return the JSON object again and thus calls can
+ The mutators for flags all return the JSON::PP object again and thus calls can
be chained:
my $json = JSON::PP->new->utf8->space_after->encode({a => [1,2]})
@@ -65206,16 +66975,23 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
$enabled = $json->get_ascii
- If $enable is true (or missing), then the encode method will not generate characters outside
- the code range 0..127. Any Unicode characters outside that range will be escaped using either
- a single \uXXXX or a double \uHHHH\uLLLLL escape sequence, as per RFC4627.
- (See to L<JSON::XS/OBJECT-ORIENTED INTERFACE>).
+ If C<$enable> is true (or missing), then the C<encode> method will not
+ generate characters outside the code range C<0..127> (which is ASCII). Any
+ Unicode characters outside that range will be escaped using either a
+ single \uXXXX (BMP characters) or a double \uHHHH\uLLLLL escape sequence,
+ as per RFC4627. The resulting encoded JSON text can be treated as a native
+ Unicode string, an ascii-encoded, latin1-encoded or UTF-8 encoded string,
+ or any other superset of ASCII.
+
+ If C<$enable> is false, then the C<encode> method will not escape Unicode
+ characters unless required by the JSON syntax or other flags. This results
+ in a faster and more compact format.
- In Perl 5.005, there is no character having high value (more than 255).
- See to L<UNICODE HANDLING ON PERLS>.
+ See also the section I<ENCODING/CODESET FLAG NOTES> later in this document.
- If $enable is false, then the encode method will not escape Unicode characters unless
- required by the JSON syntax or other flags. This results in a faster and more compact format.
+ The main use for this flag is to produce JSON texts that can be
+ transmitted over a 7-bit channel, as the encoded JSON texts will not
+ contain any 8 bit characters.
JSON::PP->new->ascii(1)->encode([chr 0x10401])
=> ["\ud801\udc01"]
@@ -65226,16 +67002,28 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
$enabled = $json->get_latin1
- If $enable is true (or missing), then the encode method will encode the resulting JSON
- text as latin1 (or iso-8859-1), escaping any characters outside the code range 0..255.
+ If C<$enable> is true (or missing), then the C<encode> method will encode
+ the resulting JSON text as latin1 (or iso-8859-1), escaping any characters
+ outside the code range C<0..255>. The resulting string can be treated as a
+ latin1-encoded JSON text or a native Unicode string. The C<decode> method
+ will not be affected in any way by this flag, as C<decode> by default
+ expects Unicode, which is a strict superset of latin1.
- If $enable is false, then the encode method will not escape Unicode characters
- unless required by the JSON syntax or other flags.
+ If C<$enable> is false, then the C<encode> method will not escape Unicode
+ characters unless required by the JSON syntax or other flags.
- JSON::XS->new->latin1->encode (["\x{89}\x{abc}"]
- => ["\x{89}\\u0abc"] # (perl syntax, U+abc escaped, U+89 not)
+ See also the section I<ENCODING/CODESET FLAG NOTES> later in this document.
+
+ The main use for this flag is efficiently encoding binary data as JSON
+ text, as most octets will not be escaped, resulting in a smaller encoded
+ size. The disadvantage is that the resulting JSON text is encoded
+ in latin1 (and must correctly be treated as such when storing and
+ transferring), a rare encoding for JSON. It is therefore most useful when
+ you want to store data structures known to contain binary data efficiently
+ in files or databases, not when talking to other JSON encoders/decoders.
- See to L<UNICODE HANDLING ON PERLS>.
+ JSON::PP->new->latin1->encode (["\x{89}\x{abc}"]
+ => ["\x{89}\\u0abc"] # (perl syntax, U+abc escaped, U+89 not)
=head2 utf8
@@ -65243,20 +67031,20 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
$enabled = $json->get_utf8
- If $enable is true (or missing), then the encode method will encode the JSON result
- into UTF-8, as required by many protocols, while the decode method expects to be handled
- an UTF-8-encoded string. Please note that UTF-8-encoded strings do not contain any
- characters outside the range 0..255, they are thus useful for bytewise/binary I/O.
-
- (In Perl 5.005, any character outside the range 0..255 does not exist.
- See to L<UNICODE HANDLING ON PERLS>.)
+ If C<$enable> is true (or missing), then the C<encode> method will encode
+ the JSON result into UTF-8, as required by many protocols, while the
+ C<decode> method expects to be handled an UTF-8-encoded string. Please
+ note that UTF-8-encoded strings do not contain any characters outside the
+ range C<0..255>, they are thus useful for bytewise/binary I/O. In future
+ versions, enabling this option might enable autodetection of the UTF-16
+ and UTF-32 encoding families, as described in RFC4627.
- In future versions, enabling this option might enable autodetection of the UTF-16 and UTF-32
- encoding families, as described in RFC4627.
+ If C<$enable> is false, then the C<encode> method will return the JSON
+ string as a (non-encoded) Unicode string, while C<decode> expects thus a
+ Unicode string. Any decoding or encoding (e.g. to UTF-8 or UTF-16) needs
+ to be done yourself, e.g. using the Encode module.
- If $enable is false, then the encode method will return the JSON string as a (non-encoded)
- Unicode string, while decode expects thus a Unicode string. Any decoding or encoding
- (e.g. to UTF-8 or UTF-16) needs to be done yourself, e.g. using the Encode module.
+ See also the section I<ENCODING/CODESET FLAG NOTES> later in this document.
Example, output UTF-16BE-encoded JSON:
@@ -65268,18 +67056,13 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
use Encode;
$object = JSON::PP->new->decode (decode "UTF-32LE", $jsontext);
-
=head2 pretty
$json = $json->pretty([$enable])
This enables (or disables) all of the C<indent>, C<space_before> and
- C<space_after> flags in one call to generate the most readable
- (or most compact) form possible.
-
- Equivalent to:
-
- $json->indent->space_before->space_after
+ C<space_after> (and in the future possibly more) flags in one call to
+ generate the most readable (or most compact) form possible.
=head2 indent
@@ -65287,6 +67070,15 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
$enabled = $json->get_indent
+ If C<$enable> is true (or missing), then the C<encode> method will use a multiline
+ format as output, putting every array member or object/hash key-value pair
+ into its own line, indenting them properly.
+
+ If C<$enable> is false, no newlines or indenting will be produced, and the
+ resulting JSON text is guaranteed not to contain any C<newlines>.
+
+ This setting has no effect when decoding JSON texts.
+
The default indent space length is three.
You can use C<indent_length> to change the length.
@@ -65302,7 +67094,8 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
If C<$enable> is false, then the C<encode> method will not add any extra
space at those places.
- This setting has no effect when decoding JSON texts.
+ This setting has no effect when decoding JSON texts. You will also
+ most likely combine this setting with C<space_after>.
Example, space_before enabled, space_after and indent disabled:
@@ -65375,6 +67168,28 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
# neither this one...
]
+ =item * C-style multiple-line '/* */'-comments (JSON::PP only)
+
+ Whenever JSON allows whitespace, C-style multiple-line comments are additionally
+ allowed. Everything between C</*> and C<*/> is a comment, after which
+ more white-space and comments are allowed.
+
+ [
+ 1, /* this comment not allowed in JSON */
+ /* neither this one... */
+ ]
+
+ =item * C++-style one-line '//'-comments (JSON::PP only)
+
+ Whenever JSON allows whitespace, C++-style one-line comments are additionally
+ allowed. They are terminated by the first carriage-return or line-feed
+ character, after which more white-space and comments are allowed.
+
+ [
+ 1, // this comment not allowed in JSON
+ // neither this one...
+ ]
+
=back
=head2 canonical
@@ -65388,7 +67203,8 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
If C<$enable> is false, then the C<encode> method will output key-value
pairs in the order Perl stores them (which will likely change between runs
- of the same script).
+ of the same script, and can change even within the same run from 5.18
+ onwards).
This option is useful if you want the same data structure to be encoded as
the same JSON text (given the same overall settings). If it is disabled,
@@ -65397,8 +67213,7 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
This setting has no effect when decoding JSON texts.
- If you want your own sorting routine, you can give a code reference
- or a subroutine name to C<sort_by>. See to C<JSON::PP OWN METHODS>.
+ This setting has currently no effect on tied hashes.
=head2 allow_nonref
@@ -65416,6 +67231,9 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
or array. Likewise, C<decode> will croak if given something that is not a
JSON object or array.
+ Example, encode a Perl scalar as JSON value with enabled C<allow_nonref>,
+ resulting in an invalid JSON text:
+
JSON::PP->new->allow_nonref->encode ("Hello, World!")
=> "Hello, World!"
@@ -65425,18 +67243,17 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
$enabled = $json->get_allow_unknown
- If $enable is true (or missing), then "encode" will *not* throw an
+ If C<$enable> is true (or missing), then C<encode> will I<not> throw an
exception when it encounters values it cannot represent in JSON (for
- example, filehandles) but instead will encode a JSON "null" value.
- Note that blessed objects are not included here and are handled
- separately by c<allow_nonref>.
+ example, filehandles) but instead will encode a JSON C<null> value. Note
+ that blessed objects are not included here and are handled separately by
+ c<allow_blessed>.
- If $enable is false (the default), then "encode" will throw an
+ If C<$enable> is false (the default), then C<encode> will throw an
exception when it encounters anything it cannot encode as JSON.
- This option does not affect "decode" in any way, and it is
- recommended to leave it off unless you know your communications
- partner.
+ This option does not affect C<decode> in any way, and it is recommended to
+ leave it off unless you know your communications partner.
=head2 allow_blessed
@@ -65444,15 +67261,17 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
$enabled = $json->get_allow_blessed
+ See L<OBJECT SERIALISATION> for details.
+
If C<$enable> is true (or missing), then the C<encode> method will not
- barf when it encounters a blessed reference. Instead, the value of the
- B<convert_blessed> option will decide whether C<null> (C<convert_blessed>
- disabled or no C<TO_JSON> method found) or a representation of the
- object (C<convert_blessed> enabled and C<TO_JSON> method found) is being
- encoded. Has no effect on C<decode>.
+ barf when it encounters a blessed reference that it cannot convert
+ otherwise. Instead, a JSON C<null> value is encoded instead of the object.
If C<$enable> is false (the default), then C<encode> will throw an
- exception when it encounters a blessed object.
+ exception when it encounters a blessed object that it cannot convert
+ otherwise.
+
+ This setting has no effect on C<decode>.
=head2 convert_blessed
@@ -65460,38 +67279,38 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
$enabled = $json->get_convert_blessed
+ See L<OBJECT SERIALISATION> for details.
+
If C<$enable> is true (or missing), then C<encode>, upon encountering a
blessed object, will check for the availability of the C<TO_JSON> method
- on the object's class. If found, it will be called in scalar context
- and the resulting scalar will be encoded instead of the object. If no
- C<TO_JSON> method is found, the value of C<allow_blessed> will decide what
- to do.
+ on the object's class. If found, it will be called in scalar context and
+ the resulting scalar will be encoded instead of the object.
The C<TO_JSON> method may safely call die if it wants. If C<TO_JSON>
returns other blessed objects, those will be handled in the same
way. C<TO_JSON> must take care of not causing an endless recursion cycle
(== crash) in this case. The name of C<TO_JSON> was chosen because other
methods called by the Perl core (== not by the user of the object) are
- usually in upper case letters and to avoid collisions with the C<to_json>
+ usually in upper case letters and to avoid collisions with any C<to_json>
function or method.
- This setting does not yet influence C<decode> in any way.
+ If C<$enable> is false (the default), then C<encode> will not consider
+ this type of conversion.
- If C<$enable> is false, then the C<allow_blessed> setting will decide what
- to do when a blessed object is found.
+ This setting has no effect on C<decode>.
=head2 filter_json_object
$json = $json->filter_json_object([$coderef])
When C<$coderef> is specified, it will be called from C<decode> each
- time it decodes a JSON object. The only argument passed to the coderef
- is a reference to the newly-created hash. If the code references returns
- a single scalar (which need not be a reference), this value
- (i.e. a copy of that scalar to avoid aliasing) is inserted into the
- deserialised data structure. If it returns an empty list
- (NOTE: I<not> C<undef>, which is a valid scalar), the original deserialised
- hash will be inserted. This setting can slow down decoding considerably.
+ time it decodes a JSON object. The only argument is a reference to the
+ newly-created hash. If the code references returns a single scalar (which
+ need not be a reference), this value (i.e. a copy of that scalar to avoid
+ aliasing) is inserted into the deserialised data structure. If it returns
+ an empty list (NOTE: I<not> C<undef>, which is a valid scalar), the
+ original deserialised hash will be inserted. This setting can slow down
+ decoding considerably.
When C<$coderef> is omitted or undefined, any existing callback will
be removed and C<decode> will not change the deserialised hash in any
@@ -65566,15 +67385,13 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
$enabled = $json->get_shrink
- In JSON::XS, this flag resizes strings generated by either
- C<encode> or C<decode> to their minimum size possible.
- It will also try to downgrade any strings to octet-form if possible.
+ If C<$enable> is true (or missing), the string returned by C<encode> will
+ be shrunk (i.e. downgraded if possible).
- In JSON::PP, it is noop about resizing strings but tries
- C<utf8::downgrade> to the returned string by C<encode>.
- See to L<utf8>.
+ The actual definition of what shrink does might change in future versions,
+ but it will always try to save space at the expense of time.
- See to L<JSON::XS/OBJECT-ORIENTED INTERFACE>
+ If C<$enable> is false, then JSON::PP does nothing.
=head2 max_depth
@@ -65592,13 +67409,13 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
characters without their matching closing parenthesis crossed to reach a
given character in a string.
+ Setting the maximum depth to one disallows any nesting, so that ensures
+ that the object is only a single hash/object or array.
+
If no argument is given, the highest possible setting will be used, which
is rarely useful.
- See L<JSON::XS/SSECURITY CONSIDERATIONS> for more info on why this is useful.
-
- When a large value (100 or more) was set and it de/encodes a deep nested object/text,
- it may raise a warning 'Deep recursion on subroutine' at the perl runtime phase.
+ See L<JSON::XS/SECURITY CONSIDERATIONS> for more info on why this is useful.
=head2 max_size
@@ -65621,12 +67438,8 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
$json_text = $json->encode($perl_scalar)
- Converts the given Perl data structure (a simple scalar or a reference
- to a hash or array) to its JSON representation. Simple scalars will be
- converted into JSON string or number sequences, while references to arrays
- become JSON arrays and references to hashes become JSON objects. Undefined
- Perl values (e.g. C<undef>) become JSON C<null> values.
- References to the integers C<0> and C<1> are converted into C<true> and C<false>.
+ Converts the given Perl value or data structure to its JSON
+ representation. Croaks on error.
=head2 decode
@@ -65635,11 +67448,6 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
The opposite of C<encode>: expects a JSON text and tries to parse it,
returning the resulting simple scalar or reference. Croaks on error.
- JSON numbers and strings become simple Perl scalars. JSON arrays become
- Perl arrayrefs and JSON objects become Perl hashrefs. C<true> becomes
- C<1> (C<JSON::true>), C<false> becomes C<0> (C<JSON::false>) and
- C<null> becomes C<undef>.
-
=head2 decode_prefix
($perl_scalar, $characters) = $json->decode_prefix($json_text)
@@ -65649,25 +67457,185 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
silently stop parsing there and return the number of characters consumed
so far.
- JSON->new->decode_prefix ("[1] the tail")
- => ([], 3)
+ This is useful if your JSON texts are not delimited by an outer protocol
+ and you need to know where the JSON text ends.
+
+ JSON::PP->new->decode_prefix ("[1] the tail")
+ => ([1], 3)
+
+ =head1 FLAGS FOR JSON::PP ONLY
+
+ The following flags and properties are for JSON::PP only. If you use
+ any of these, you can't make your application run faster by replacing
+ JSON::PP with JSON::XS. If you need these and also speed boost,
+ try L<Cpanel::JSON::XS>, a fork of JSON::XS by Reini Urban, which
+ supports some of these.
+
+ =head2 allow_singlequote
+
+ $json = $json->allow_singlequote([$enable])
+ $enabled = $json->get_allow_singlequote
+
+ If C<$enable> is true (or missing), then C<decode> will accept
+ invalid JSON texts that contain strings that begin and end with
+ single quotation marks. C<encode> will not be affected in anyway.
+ I<Be aware that this option makes you accept invalid JSON texts
+ as if they were valid!>. I suggest only to use this option to
+ parse application-specific files written by humans (configuration
+ files, resource files etc.)
+
+ If C<$enable> is false (the default), then C<decode> will only accept
+ valid JSON texts.
+
+ $json->allow_singlequote->decode(qq|{"foo":'bar'}|);
+ $json->allow_singlequote->decode(qq|{'foo':"bar"}|);
+ $json->allow_singlequote->decode(qq|{'foo':'bar'}|);
+
+ =head2 allow_barekey
+
+ $json = $json->allow_barekey([$enable])
+ $enabled = $json->get_allow_barekey
+
+ If C<$enable> is true (or missing), then C<decode> will accept
+ invalid JSON texts that contain JSON objects whose names don't
+ begin and end with quotation marks. C<encode> will not be affected
+ in anyway. I<Be aware that this option makes you accept invalid JSON
+ texts as if they were valid!>. I suggest only to use this option to
+ parse application-specific files written by humans (configuration
+ files, resource files etc.)
+
+ If C<$enable> is false (the default), then C<decode> will only accept
+ valid JSON texts.
+
+ $json->allow_barekey->decode(qq|{foo:"bar"}|);
+
+ =head2 allow_bignum
+
+ $json = $json->allow_bignum([$enable])
+ $enabled = $json->get_allow_bignum
+
+ If C<$enable> is true (or missing), then C<decode> will convert
+ big integers Perl cannot handle as integer into L<Math::BigInt>
+ objects and convert floating numbers into L<Math::BigFloat>
+ objects. C<encode> will convert C<Math::BigInt> and C<Math::BigFloat>
+ objects into JSON numbers.
+
+ $json->allow_nonref->allow_bignum;
+ $bigfloat = $json->decode('2.000000000000000000000000001');
+ print $json->encode($bigfloat);
+ # => 2.000000000000000000000000001
+
+ See also L<MAPPING>.
+
+ =head2 loose
+
+ $json = $json->loose([$enable])
+ $enabled = $json->get_loose
+
+ If C<$enable> is true (or missing), then C<decode> will accept
+ invalid JSON texts that contain unescaped [\x00-\x1f\x22\x5c]
+ characters. C<encode> will not be affected in anyway.
+ I<Be aware that this option makes you accept invalid JSON texts
+ as if they were valid!>. I suggest only to use this option to
+ parse application-specific files written by humans (configuration
+ files, resource files etc.)
+
+ If C<$enable> is false (the default), then C<decode> will only accept
+ valid JSON texts.
+
+ $json->loose->decode(qq|["abc
+ def"]|);
+
+ =head2 escape_slash
+
+ $json = $json->escape_slash([$enable])
+ $enabled = $json->get_escape_slash
+
+ If C<$enable> is true (or missing), then C<encode> will explicitly
+ escape I<slash> (solidus; C<U+002F>) characters to reduce the risk of
+ XSS (cross site scripting) that may be caused by C<< </script> >>
+ in a JSON text, with the cost of bloating the size of JSON texts.
+
+ This option may be useful when you embed JSON in HTML, but embedding
+ arbitrary JSON in HTML (by some HTML template toolkit or by string
+ interpolation) is risky in general. You must escape necessary
+ characters in correct order, depending on the context.
+
+ C<decode> will not be affected in anyway.
+
+ =head2 indent_length
+
+ $json = $json->indent_length($number_of_spaces)
+ $length = $json->get_indent_length
+
+ This option is only useful when you also enable C<indent> or C<pretty>.
+
+ JSON::XS indents with three spaces when you C<encode> (if requested
+ by C<indent> or C<pretty>), and the number cannot be changed.
+ JSON::PP allows you to change/get the number of indent spaces with these
+ mutator/accessor. The default number of spaces is three (the same as
+ JSON::XS), and the acceptable range is from C<0> (no indentation;
+ it'd be better to disable indentation by C<indent(0)>) to C<15>.
+
+ =head2 sort_by
+
+ $json = $json->sort_by($code_ref)
+ $json = $json->sort_by($subroutine_name)
+
+ If you just want to sort keys (names) in JSON objects when you
+ C<encode>, enable C<canonical> option (see above) that allows you to
+ sort object keys alphabetically.
+
+ If you do need to sort non-alphabetically for whatever reasons,
+ you can give a code reference (or a subroutine name) to C<sort_by>,
+ then the argument will be passed to Perl's C<sort> built-in function.
+
+ As the sorting is done in the JSON::PP scope, you usually need to
+ prepend C<JSON::PP::> to the subroutine name, and the special variables
+ C<$a> and C<$b> used in the subrontine used by C<sort> function.
+
+ Example:
+
+ my %ORDER = (id => 1, class => 2, name => 3);
+ $json->sort_by(sub {
+ ($ORDER{$JSON::PP::a} // 999) <=> ($ORDER{$JSON::PP::b} // 999)
+ or $JSON::PP::a cmp $JSON::PP::b
+ });
+ print $json->encode([
+ {name => 'CPAN', id => 1, href => 'http://cpan.org'}
+ ]);
+ # [{"id":1,"name":"CPAN","href":"http://cpan.org"}]
+
+ Note that C<sort_by> affects all the plain hashes in the data structure.
+ If you need finer control, C<tie> necessary hashes with a module that
+ implements ordered hash (such as L<Hash::Ordered> and L<Tie::IxHash>).
+ C<canonical> and C<sort_by> don't affect the key order in C<tie>d
+ hashes.
+
+ use Hash::Ordered;
+ tie my %hash, 'Hash::Ordered',
+ (name => 'CPAN', id => 1, href => 'http://cpan.org');
+ print $json->encode([\%hash]);
+ # [{"name":"CPAN","id":1,"href":"http://cpan.org"}] # order is kept
=head1 INCREMENTAL PARSING
- Most of this section are copied and modified from L<JSON::XS/INCREMENTAL PARSING>.
+ This section is also taken from JSON::XS.
- In some cases, there is the need for incremental parsing of JSON texts.
- This module does allow you to parse a JSON stream incrementally.
- It does so by accumulating text until it has a full JSON object, which
- it then can decode. This process is similar to using C<decode_prefix>
- to see if a full JSON object is available, but is much more efficient
- (and can be implemented with a minimum of method calls).
+ In some cases, there is the need for incremental parsing of JSON
+ texts. While this module always has to keep both JSON text and resulting
+ Perl data structure in memory at one time, it does allow you to parse a
+ JSON stream incrementally. It does so by accumulating text until it has
+ a full JSON object, which it then can decode. This process is similar to
+ using C<decode_prefix> to see if a full JSON object is available, but
+ is much more efficient (and can be implemented with a minimum of method
+ calls).
- This module will only attempt to parse the JSON text once it is sure it
+ JSON::PP will only attempt to parse the JSON text once it is sure it
has enough text to get a decisive result, using a very simple but
truly incremental parser. This means that it sometimes won't stop as
- early as the full parser, for example, it doesn't detect parenthesis
- mismatches. The only thing it guarantees is that it starts decoding as
+ early as the full parser, for example, it doesn't detect mismatched
+ parentheses. The only thing it guarantees is that it starts decoding as
soon as a syntactically valid JSON text has been seen. This means you need
to set resource limits (e.g. C<max_size>) to ensure the parser will stop
parsing in the presence if syntax errors.
@@ -65702,15 +67670,16 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
And finally, in list context, it will try to extract as many objects
from the stream as it can find and return them, or the empty list
- otherwise. For this to work, there must be no separators between the JSON
- objects or arrays, instead they must be concatenated back-to-back. If
- an error occurs, an exception will be raised as in the scalar context
- case. Note that in this case, any previously-parsed JSON texts will be
- lost.
+ otherwise. For this to work, there must be no separators (other than
+ whitespace) between the JSON objects or arrays, instead they must be
+ concatenated back-to-back. If an error occurs, an exception will be
+ raised as in the scalar context case. Note that in this case, any
+ previously-parsed JSON texts will be lost.
- Example: Parse some JSON arrays/objects in a given string and return them.
+ Example: Parse some JSON arrays/objects in a given string and return
+ them.
- my @objs = JSON->new->incr_parse ("[5][7][1,2]");
+ my @objs = JSON::PP->new->incr_parse ("[5][7][1,2]");
=head2 incr_text
@@ -65724,27 +67693,26 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
real world conditions). As a special exception, you can also call this
method before having parsed anything.
+ That means you can only use this function to look at or manipulate text
+ before or after complete JSON objects, not while the parser is in the
+ middle of parsing a JSON object.
+
This function is useful in two cases: a) finding the trailing text after a
JSON object or b) parsing multiple JSON objects separated by non-JSON text
(such as commas).
- $json->incr_text =~ s/\s*,\s*//;
-
- In Perl 5.005, C<lvalue> attribute is not available.
- You must write codes like the below:
-
- $string = $json->incr_text;
- $string =~ s/\s*,\s*//;
- $json->incr_text( $string );
-
=head2 incr_skip
$json->incr_skip
- This will reset the state of the incremental parser and will remove the
- parsed text from the input buffer. This is useful after C<incr_parse>
- died, in which case the input buffer and incremental parser state is left
- unchanged, to skip the text parsed so far and to reset the parse state.
+ This will reset the state of the incremental parser and will remove
+ the parsed text from the input buffer so far. This is useful after
+ C<incr_parse> died, in which case the input buffer and incremental parser
+ state is left unchanged, to skip the text parsed so far and to reset the
+ parse state.
+
+ The difference to C<incr_reset> is that only text until the parse error
+ occurred is removed.
=head2 incr_reset
@@ -65757,148 +67725,18 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
ignore any trailing data, which means you have to reset the parser after
each successful decode.
- See to L<JSON::XS/INCREMENTAL PARSING> for examples.
-
-
- =head1 JSON::PP OWN METHODS
-
- =head2 allow_singlequote
-
- $json = $json->allow_singlequote([$enable])
-
- If C<$enable> is true (or missing), then C<decode> will accept
- JSON strings quoted by single quotations that are invalid JSON
- format.
-
- $json->allow_singlequote->decode({"foo":'bar'});
- $json->allow_singlequote->decode({'foo':"bar"});
- $json->allow_singlequote->decode({'foo':'bar'});
-
- As same as the C<relaxed> option, this option may be used to parse
- application-specific files written by humans.
-
-
- =head2 allow_barekey
-
- $json = $json->allow_barekey([$enable])
-
- If C<$enable> is true (or missing), then C<decode> will accept
- bare keys of JSON object that are invalid JSON format.
-
- As same as the C<relaxed> option, this option may be used to parse
- application-specific files written by humans.
-
- $json->allow_barekey->decode('{foo:"bar"}');
-
- =head2 allow_bignum
-
- $json = $json->allow_bignum([$enable])
-
- If C<$enable> is true (or missing), then C<decode> will convert
- the big integer Perl cannot handle as integer into a L<Math::BigInt>
- object and convert a floating number (any) into a L<Math::BigFloat>.
-
- On the contrary, C<encode> converts C<Math::BigInt> objects and C<Math::BigFloat>
- objects into JSON numbers with C<allow_blessed> enable.
-
- $json->allow_nonref->allow_blessed->allow_bignum;
- $bigfloat = $json->decode('2.000000000000000000000000001');
- print $json->encode($bigfloat);
- # => 2.000000000000000000000000001
-
- See to L<JSON::XS/MAPPING> about the normal conversion of JSON number.
-
- =head2 loose
-
- $json = $json->loose([$enable])
-
- The unescaped [\x00-\x1f\x22\x2f\x5c] strings are invalid in JSON strings
- and the module doesn't allow to C<decode> to these (except for \x2f).
- If C<$enable> is true (or missing), then C<decode> will accept these
- unescaped strings.
-
- $json->loose->decode(qq|["abc
- def"]|);
-
- See L<JSON::XS/SSECURITY CONSIDERATIONS>.
-
- =head2 escape_slash
-
- $json = $json->escape_slash([$enable])
-
- According to JSON Grammar, I<slash> (U+002F) is escaped. But default
- JSON::PP (as same as JSON::XS) encodes strings without escaping slash.
-
- If C<$enable> is true (or missing), then C<encode> will escape slashes.
-
- =head2 indent_length
-
- $json = $json->indent_length($length)
-
- JSON::XS indent space length is 3 and cannot be changed.
- JSON::PP set the indent space length with the given $length.
- The default is 3. The acceptable range is 0 to 15.
-
- =head2 sort_by
-
- $json = $json->sort_by($function_name)
- $json = $json->sort_by($subroutine_ref)
-
- If $function_name or $subroutine_ref are set, its sort routine are used
- in encoding JSON objects.
-
- $js = $pc->sort_by(sub { $JSON::PP::a cmp $JSON::PP::b })->encode($obj);
- # is($js, q|{"a":1,"b":2,"c":3,"d":4,"e":5,"f":6,"g":7,"h":8,"i":9}|);
-
- $js = $pc->sort_by('own_sort')->encode($obj);
- # is($js, q|{"a":1,"b":2,"c":3,"d":4,"e":5,"f":6,"g":7,"h":8,"i":9}|);
-
- sub JSON::PP::own_sort { $JSON::PP::a cmp $JSON::PP::b }
-
- As the sorting routine runs in the JSON::PP scope, the given
- subroutine name and the special variables C<$a>, C<$b> will begin
- 'JSON::PP::'.
-
- If $integer is set, then the effect is same as C<canonical> on.
-
- =head1 INTERNAL
-
- For developers.
-
- =over
-
- =item PP_encode_box
-
- Returns
-
- {
- depth => $depth,
- indent_count => $indent_count,
- }
-
-
- =item PP_decode_box
-
- Returns
-
- {
- text => $text,
- at => $at,
- ch => $ch,
- len => $len,
- depth => $depth,
- encoding => $encoding,
- is_valid_utf8 => $is_valid_utf8,
- };
-
- =back
-
=head1 MAPPING
- This section is copied from JSON::XS and modified to C<JSON::PP>.
- JSON::XS and JSON::PP mapping mechanisms are almost equivalent.
+ Most of this section is also taken from JSON::XS.
+
+ This section describes how JSON::PP maps Perl values to JSON values and
+ vice versa. These mappings are designed to "do the right thing" in most
+ circumstances automatically, preserving round-tripping characteristics
+ (what you put in comes out as something equivalent).
- See to L<JSON::XS/MAPPING>.
+ For the more enlightened: note that in the following descriptions,
+ lowercase I<perl> refers to the Perl interpreter, while uppercase I<Perl>
+ refers to the abstract Perl language itself.
=head2 JSON -> PERL
@@ -65907,7 +67745,7 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
=item object
A JSON object becomes a reference to a hash in Perl. No ordering of object
- keys is preserved (JSON does not preserver object key ordering itself).
+ keys is preserved (JSON does not preserve object key ordering itself).
=item array
@@ -65927,7 +67765,7 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
the conversion details, but an integer may take slightly less memory and
might represent more values exactly than floating point numbers.
- If the number consists of digits only, C<JSON> will try to represent
+ If the number consists of digits only, JSON::PP will try to represent
it as an integer value. If that fails, it will try to represent it as
a numeric (floating point) value if that is possible without loss of
precision. Otherwise it will preserve the number as a string value (in
@@ -65941,36 +67779,30 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
Note that precision is not accuracy - binary floating point values cannot
represent most decimal fractions exactly, and when converting from and to
- floating point, C<JSON> only guarantees precision up to but not including
+ floating point, JSON::PP only guarantees precision up to but not including
the least significant bit.
- When C<allow_bignum> is enable, the big integers
- and the numeric can be optionally converted into L<Math::BigInt> and
- L<Math::BigFloat> objects.
+ When C<allow_bignum> is enabled, big integer values and any numeric
+ values will be converted into L<Math::BigInt> and L<Math::BigFloat>
+ objects respectively, without becoming string scalars or losing
+ precision.
=item true, false
These JSON atoms become C<JSON::PP::true> and C<JSON::PP::false>,
respectively. They are overloaded to act almost exactly like the numbers
C<1> and C<0>. You can check whether a scalar is a JSON boolean by using
- the C<JSON::is_bool> function.
-
- print JSON::PP::true . "\n";
- => true
- print JSON::PP::true + 1;
- => 1
-
- ok(JSON::true eq '1');
- ok(JSON::true == 1);
-
- C<JSON> will install these missing overloading features to the backend modules.
-
+ the C<JSON::PP::is_bool> function.
=item null
A JSON null atom becomes C<undef> in Perl.
- C<JSON::PP::null> returns C<undef>.
+ =item shell-style comments (C<< # I<text> >>)
+
+ As a nonstandard extension to the JSON syntax that is enabled by the
+ C<relaxed> setting, shell-style comments are allowed. They can start
+ anywhere outside strings and go till the end of the line.
=back
@@ -65985,16 +67817,14 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
=item hash references
- Perl hash references become JSON objects. As there is no inherent ordering
- in hash keys (or JSON objects), they will usually be encoded in a
- pseudo-random order that can change between runs of the same program but
- stays generally the same within a single run of a program. C<JSON>
- optionally sort the hash keys (determined by the I<canonical> flag), so
- the same data structure will serialise to the same JSON text (given same
- settings and version of JSON::XS), but this incurs a runtime overhead
- and is only rarely useful, e.g. when you want to compare some JSON text
- against another for equality.
-
+ Perl hash references become JSON objects. As there is no inherent
+ ordering in hash keys (or JSON objects), they will usually be encoded
+ in a pseudo-random order. JSON::PP can optionally sort the hash keys
+ (determined by the I<canonical> flag and/or I<sort_by> property), so
+ the same data structure will serialise to the same JSON text (given
+ same settings and version of JSON::PP), but this incurs a runtime
+ overhead and is only rarely useful, e.g. when you want to compare some
+ JSON text against another for equality.
=item array references
@@ -66005,31 +67835,30 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
Other unblessed references are generally not allowed and will cause an
exception to be thrown, except for references to the integers C<0> and
C<1>, which get turned into C<false> and C<true> atoms in JSON. You can
- also use C<JSON::false> and C<JSON::true> to improve readability.
+ also use C<JSON::PP::false> and C<JSON::PP::true> to improve
+ readability.
- to_json [\0,JSON::PP::true] # yields [false,true]
+ to_json [\0, JSON::PP::true] # yields [false,true]
- =item JSON::PP::true, JSON::PP::false, JSON::PP::null
+ =item JSON::PP::true, JSON::PP::false
These special values become JSON true and JSON false values,
respectively. You can also use C<\1> and C<\0> directly if you want.
- JSON::PP::null returns C<undef>.
+ =item JSON::PP::null
- =item blessed objects
+ This special value becomes JSON null.
- Blessed objects are not directly representable in JSON. See the
- C<allow_blessed> and C<convert_blessed> methods on various options on
- how to deal with this: basically, you can choose between throwing an
- exception, encoding the reference as if it weren't blessed, or provide
- your own serialiser method.
+ =item blessed objects
- See to L<convert_blessed>.
+ Blessed objects are not directly representable in JSON, but C<JSON::PP>
+ allows various ways of handling objects. See L<OBJECT SERIALISATION>,
+ below, for details.
=item simple scalars
Simple Perl scalars (any scalar that is not a reference) are the most
- difficult objects to encode: JSON::XS and JSON::PP will encode undefined scalars as
+ difficult objects to encode: JSON::PP will encode undefined scalars as
JSON C<null> values, scalars that have last been used in a string context
before encoding as JSON strings, and anything else as number value:
@@ -66051,6 +67880,7 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
"$x"; # stringified
$x .= ""; # another, more awkward way to stringify
print $x; # perl does it for you, too, quite often
+ # (but for older perls)
You can force the type to be a number by numifying it:
@@ -66058,7 +67888,7 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
$x += 0; # numify it, ensuring it will be dumped as a number
$x *= 1; # same thing, the choice is yours.
- You can not currently force the type in other, less obscure, ways.
+ You cannot currently force the type in other, less obscure, ways.
Note that numerical precision has the same meaning as under Perl (so
binary to decimal conversion follows the same rules as in Perl, which
@@ -66067,94 +67897,171 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
infinities or NaN's - these cannot be represented in JSON, and it is an
error to pass those in.
- =item Big Number
+ JSON::PP (and JSON::XS) trusts what you pass to C<encode> method
+ (or C<encode_json> function) is a clean, validated data structure with
+ values that can be represented as valid JSON values only, because it's
+ not from an external data source (as opposed to JSON texts you pass to
+ C<decode> or C<decode_json>, which JSON::PP considers tainted and
+ doesn't trust). As JSON::PP doesn't know exactly what you and consumers
+ of your JSON texts want the unexpected values to be (you may want to
+ convert them into null, or to stringify them with or without
+ normalisation (string representation of infinities/NaN may vary
+ depending on platforms), or to croak without conversion), you're advised
+ to do what you and your consumers need before you encode, and also not
+ to numify values that may start with values that look like a number
+ (including infinities/NaN), without validating.
- When C<allow_bignum> is enable,
- C<encode> converts C<Math::BigInt> objects and C<Math::BigFloat>
- objects into JSON numbers.
+ =back
+ =head2 OBJECT SERIALISATION
- =back
+ As for Perl objects, JSON::PP only supports a pure JSON representation (without the ability to deserialise the object automatically again).
- =head1 UNICODE HANDLING ON PERLS
+ =head3 SERIALISATION
- If you do not know about Unicode on Perl well,
- please check L<JSON::XS/A FEW NOTES ON UNICODE AND PERL>.
+ What happens when C<JSON::PP> encounters a Perl object depends on the
+ C<allow_blessed>, C<convert_blessed> and C<allow_bignum> settings, which are
+ used in this order:
- =head2 Perl 5.8 and later
+ =over 4
- Perl can handle Unicode and the JSON::PP de/encode methods also work properly.
+ =item 1. C<convert_blessed> is enabled and the object has a C<TO_JSON> method.
- $json->allow_nonref->encode(chr hex 3042);
- $json->allow_nonref->encode(chr hex 12345);
+ In this case, the C<TO_JSON> method of the object is invoked in scalar
+ context. It must return a single scalar that can be directly encoded into
+ JSON. This scalar replaces the object in the JSON text.
- Returns C<"\u3042"> and C<"\ud808\udf45"> respectively.
+ For example, the following C<TO_JSON> method will convert all L<URI>
+ objects to JSON strings when serialised. The fact that these values
+ originally were L<URI> objects is lost.
+
+ sub URI::TO_JSON {
+ my ($uri) = @_;
+ $uri->as_string
+ }
+
+ =item 2. C<allow_bignum> is enabled and the object is a C<Math::BigInt> or C<Math::BigFloat>.
- $json->allow_nonref->decode('"\u3042"');
- $json->allow_nonref->decode('"\ud808\udf45"');
+ The object will be serialised as a JSON number value.
+
+ =item 3. C<allow_blessed> is enabled.
+
+ The object will be serialised as a JSON null value.
+
+ =item 4. none of the above
- Returns UTF-8 encoded strings with UTF8 flag, regarded as C<U+3042> and C<U+12345>.
+ If none of the settings are enabled or the respective methods are missing,
+ C<JSON::PP> throws an exception.
- Note that the versions from Perl 5.8.0 to 5.8.2, Perl built-in C<join> was broken,
- so JSON::PP wraps the C<join> with a subroutine. Thus JSON::PP works slow in the versions.
+ =back
+ =head1 ENCODING/CODESET FLAG NOTES
- =head2 Perl 5.6
+ This section is taken from JSON::XS.
- Perl can handle Unicode and the JSON::PP de/encode methods also work.
+ The interested reader might have seen a number of flags that signify
+ encodings or codesets - C<utf8>, C<latin1> and C<ascii>. There seems to be
+ some confusion on what these do, so here is a short comparison:
- =head2 Perl 5.005
+ C<utf8> controls whether the JSON text created by C<encode> (and expected
+ by C<decode>) is UTF-8 encoded or not, while C<latin1> and C<ascii> only
+ control whether C<encode> escapes character values outside their respective
+ codeset range. Neither of these flags conflict with each other, although
+ some combinations make less sense than others.
- Perl 5.005 is a byte semantics world -- all strings are sequences of bytes.
- That means the unicode handling is not available.
+ Care has been taken to make all flags symmetrical with respect to
+ C<encode> and C<decode>, that is, texts encoded with any combination of
+ these flag values will be correctly decoded when the same flags are used
+ - in general, if you use different flag settings while encoding vs. when
+ decoding you likely have a bug somewhere.
- In encoding,
+ Below comes a verbose discussion of these flags. Note that a "codeset" is
+ simply an abstract set of character-codepoint pairs, while an encoding
+ takes those codepoint numbers and I<encodes> them, in our case into
+ octets. Unicode is (among other things) a codeset, UTF-8 is an encoding,
+ and ISO-8859-1 (= latin 1) and ASCII are both codesets I<and> encodings at
+ the same time, which can be confusing.
- $json->allow_nonref->encode(chr hex 3042); # hex 3042 is 12354.
- $json->allow_nonref->encode(chr hex 12345); # hex 12345 is 74565.
+ =over 4
- Returns C<B> and C<E>, as C<chr> takes a value more than 255, it treats
- as C<$value % 256>, so the above codes are equivalent to :
+ =item C<utf8> flag disabled
- $json->allow_nonref->encode(chr 66);
- $json->allow_nonref->encode(chr 69);
+ When C<utf8> is disabled (the default), then C<encode>/C<decode> generate
+ and expect Unicode strings, that is, characters with high ordinal Unicode
+ values (> 255) will be encoded as such characters, and likewise such
+ characters are decoded as-is, no changes to them will be done, except
+ "(re-)interpreting" them as Unicode codepoints or Unicode characters,
+ respectively (to Perl, these are the same thing in strings unless you do
+ funny/weird/dumb stuff).
- In decoding,
+ This is useful when you want to do the encoding yourself (e.g. when you
+ want to have UTF-16 encoded JSON texts) or when some other layer does
+ the encoding for you (for example, when printing to a terminal using a
+ filehandle that transparently encodes to UTF-8 you certainly do NOT want
+ to UTF-8 encode your data first and have Perl encode it another time).
- $json->decode('"\u00e3\u0081\u0082"');
+ =item C<utf8> flag enabled
- The returned is a byte sequence C<0xE3 0x81 0x82> for UTF-8 encoded
- japanese character (C<HIRAGANA LETTER A>).
- And if it is represented in Unicode code point, C<U+3042>.
+ If the C<utf8>-flag is enabled, C<encode>/C<decode> will encode all
+ characters using the corresponding UTF-8 multi-byte sequence, and will
+ expect your input strings to be encoded as UTF-8, that is, no "character"
+ of the input string must have any value > 255, as UTF-8 does not allow
+ that.
- Next,
+ The C<utf8> flag therefore switches between two modes: disabled means you
+ will get a Unicode string in Perl, enabled means you get an UTF-8 encoded
+ octet/binary string in Perl.
- $json->decode('"\u3042"');
+ =item C<latin1> or C<ascii> flags enabled
- We ordinary expect the returned value is a Unicode character C<U+3042>.
- But here is 5.005 world. This is C<0xE3 0x81 0x82>.
+ With C<latin1> (or C<ascii>) enabled, C<encode> will escape characters
+ with ordinal values > 255 (> 127 with C<ascii>) and encode the remaining
+ characters as specified by the C<utf8> flag.
- $json->decode('"\ud808\udf45"');
+ If C<utf8> is disabled, then the result is also correctly encoded in those
+ character sets (as both are proper subsets of Unicode, meaning that a
+ Unicode string with all character values < 256 is the same thing as a
+ ISO-8859-1 string, and a Unicode string with all character values < 128 is
+ the same thing as an ASCII string in Perl).
- This is not a character C<U+12345> but bytes - C<0xf0 0x92 0x8d 0x85>.
+ If C<utf8> is enabled, you still get a correct UTF-8-encoded string,
+ regardless of these flags, just some more characters will be escaped using
+ C<\uXXXX> then before.
+ Note that ISO-8859-1-I<encoded> strings are not compatible with UTF-8
+ encoding, while ASCII-encoded strings are. That is because the ISO-8859-1
+ encoding is NOT a subset of UTF-8 (despite the ISO-8859-1 I<codeset> being
+ a subset of Unicode), while ASCII is.
- =head1 TODO
+ Surprisingly, C<decode> will ignore these flags and so treat all input
+ values as governed by the C<utf8> flag. If it is disabled, this allows you
+ to decode ISO-8859-1- and ASCII-encoded strings, as both strict subsets of
+ Unicode. If it is enabled, you can correctly decode UTF-8 encoded strings.
- =over
+ So neither C<latin1> nor C<ascii> are incompatible with the C<utf8> flag -
+ they only govern when the JSON output engine escapes a character or not.
- =item speed
+ The main use for C<latin1> is to relatively efficiently store binary data
+ as JSON, at the expense of breaking compatibility with most JSON decoders.
- =item memory saving
+ The main use for C<ascii> is to force the output to not contain characters
+ with values > 127, which means you can interpret the resulting string
+ as UTF-8, ISO-8859-1, ASCII, KOI8-R or most about any character set and
+ 8-bit-encoding, and still get the same data structure back. This is useful
+ when your channel for JSON transfer is not 8-bit clean or the encoding
+ might be mangled in between (e.g. in mail), and works because ASCII is a
+ proper subset of most 8-bit and multibyte encodings in use in the world.
=back
-
=head1 SEE ALSO
- Most of the document are copied and modified from JSON::XS doc.
+ The F<json_pp> command line utility for quick experiments.
+
+ L<JSON::XS>, L<Cpanel::JSON::XS>, and L<JSON::Tiny> for faster alternatives.
+ L<JSON> and L<JSON::MaybeXS> for easy migration.
- L<JSON::XS>
+ L<JSON::backportPP::Compat5005> and L<JSON::backportPP::Compat5006> for older perl users.
RFC4627 (L<http://www.ietf.org/rfc/rfc4627.txt>)
@@ -66165,7 +68072,7 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
=head1 COPYRIGHT AND LICENSE
- Copyright 2007-2012 by Makamaka Hannyaharamitu
+ Copyright 2007-2016 by Makamaka Hannyaharamitu
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
@@ -66174,6 +68081,23 @@ $fatpacked{"JSON/backportPP.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
JSON_BACKPORTPP
$fatpacked{"JSON/backportPP/Boolean.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'JSON_BACKPORTPP_BOOLEAN';
+ package # This is JSON::backportPP
+ JSON::PP::Boolean;
+
+ use strict;
+ use overload (
+ "0+" => sub { ${$_[0]} },
+ "++" => sub { $_[0] = ${$_[0]} + 1 },
+ "--" => sub { $_[0] = ${$_[0]} - 1 },
+ fallback => 1,
+ );
+
+ $JSON::backportPP::Boolean::VERSION = '2.94';
+
+ 1;
+
+ __END__
+
=head1 NAME
JSON::PP::Boolean - dummy module providing JSON::PP::Boolean
@@ -66184,20 +68108,12 @@ $fatpacked{"JSON/backportPP/Boolean.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."
=head1 DESCRIPTION
- This module exists only to provide overload resolution for Storable
- and similar modules. See L<JSON::PP> for more info about this class.
-
- =cut
-
- use JSON::backportPP ();
- use strict;
-
- 1;
+ This module exists only to provide overload resolution for Storable and similar modules. See
+ L<JSON::PP> for more info about this class.
=head1 AUTHOR
- This idea is from L<JSON::XS::Boolean> written by
- Marc Lehmann <schmorp[at]schmorp.de>
+ This idea is from L<JSON::XS::Boolean> written by Marc Lehmann <schmorp[at]schmorp.de>
=cut
@@ -66522,7 +68438,19 @@ $fatpacked{"Module/CPANfile.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
use Module::CPANfile::Environment;
use Module::CPANfile::Requirement;
- our $VERSION = '1.1000';
+ our $VERSION = '1.1002';
+
+ BEGIN {
+ if (${^TAINT}) {
+ *untaint = sub {
+ my $str = shift;
+ ($str) = $str =~ /^(.+)$/s;
+ $str;
+ };
+ } else {
+ *untaint = sub { $_[0] };
+ }
+ }
sub new {
my($class, $file) = @_;
@@ -66533,7 +68461,7 @@ $fatpacked{"Module/CPANfile.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
my($proto, $file) = @_;
my $self = ref $proto ? $proto : $proto->new;
- $self->parse($file || Cwd::abs_path('cpanfile'));
+ $self->parse($file || _default_cpanfile());
$self;
}
@@ -66552,6 +68480,8 @@ $fatpacked{"Module/CPANfile.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
join '', <$fh>;
};
+ $code = untaint $code;
+
my $env = Module::CPANfile::Environment->new($file);
$env->parse($code) or die $@;
@@ -66648,6 +68578,11 @@ $fatpacked{"Module/CPANfile.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<
$value;
}
+ sub _default_cpanfile {
+ my $file = Cwd::abs_path('cpanfile');
+ untaint $file;
+ }
+
sub to_string {
my($self, $include_empty) = @_;
@@ -67187,1185 +69122,619 @@ $fatpacked{"Module/CPANfile/Requirement.pm"} = '#line '.(1+__LINE__).' "'.__FILE
1;
MODULE_CPANFILE_REQUIREMENT
-$fatpacked{"Module/Metadata.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'MODULE_METADATA';
- # -*- mode: cperl; tab-width: 8; indent-tabs-mode: nil; basic-offset: 2 -*-
- # vim:ts=8:sw=2:et:sta:sts=2
- package Module::Metadata; # git description: v1.000026-12-g9b12bf1
-
- # Adapted from Perl-licensed code originally distributed with
- # Module-Build by Ken Williams
-
- # This module provides routines to gather information about
- # perl modules (assuming this may be expanded in the distant
- # parrot future to look at other types of modules).
-
- sub __clean_eval { eval $_[0] }
+$fatpacked{"Module/Reader.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'MODULE_READER';
+ package Module::Reader;
+ BEGIN { require 5.006 }
use strict;
use warnings;
- our $VERSION = '1.000027';
-
- use Carp qw/croak/;
- use File::Spec;
- BEGIN {
- # Try really hard to not depend ony any DynaLoaded module, such as IO::File or Fcntl
- eval {
- require Fcntl; Fcntl->import('SEEK_SET'); 1;
- } or *SEEK_SET = sub { 0 }
- }
- use version 0.87;
- BEGIN {
- if ($INC{'Log/Contextual.pm'}) {
- require "Log/Contextual/WarnLogger.pm"; # Hide from AutoPrereqs
- Log::Contextual->import('log_info',
- '-default_logger' => Log::Contextual::WarnLogger->new({ env_prefix => 'MODULE_METADATA', }),
- );
- } else {
- *log_info = sub (&) { warn $_[0]->() };
- }
- }
- use File::Find qw(find);
-
- my $V_NUM_REGEXP = qr{v?[0-9._]+}; # crudely, a v-string or decimal
-
- my $PKG_FIRST_WORD_REGEXP = qr{ # the FIRST word in a package name
- [a-zA-Z_] # the first word CANNOT start with a digit
- (?:
- [\w']? # can contain letters, digits, _, or ticks
- \w # But, NO multi-ticks or trailing ticks
- )*
- }x;
+ our $VERSION = '0.003003';
+ $VERSION = eval $VERSION;
- my $PKG_ADDL_WORD_REGEXP = qr{ # the 2nd+ word in a package name
- \w # the 2nd+ word CAN start with digits
- (?:
- [\w']? # and can contain letters or ticks
- \w # But, NO multi-ticks or trailing ticks
- )*
- }x;
-
- my $PKG_NAME_REGEXP = qr{ # match a package name
- (?: :: )? # a pkg name can start with arisdottle
- $PKG_FIRST_WORD_REGEXP # a package word
- (?:
- (?: :: )+ ### arisdottle (allow one or many times)
- $PKG_ADDL_WORD_REGEXP ### a package word
- )* # ^ zero, one or many times
- (?:
- :: # allow trailing arisdottle
- )?
- }x;
-
- my $PKG_REGEXP = qr{ # match a package declaration
- ^[\s\{;]* # intro chars on a line
- package # the word 'package'
- \s+ # whitespace
- ($PKG_NAME_REGEXP) # a package name
- \s* # optional whitespace
- ($V_NUM_REGEXP)? # optional version number
- \s* # optional whitesapce
- [;\{] # semicolon line terminator or block start (since 5.16)
- }x;
-
- my $VARNAME_REGEXP = qr{ # match fully-qualified VERSION name
- ([\$*]) # sigil - $ or *
- (
- ( # optional leading package name
- (?:::|\')? # possibly starting like just :: (a la $::VERSION)
- (?:\w+(?:::|\'))* # Foo::Bar:: ...
- )?
- VERSION
- )\b
- }x;
-
- my $VERS_REGEXP = qr{ # match a VERSION definition
- (?:
- \(\s*$VARNAME_REGEXP\s*\) # with parens
- |
- $VARNAME_REGEXP # without parens
- )
- \s*
- =[^=~>] # = but not ==, nor =~, nor =>
- }x;
-
- sub new_from_file {
- my $class = shift;
- my $filename = File::Spec->rel2abs( shift );
-
- return undef unless defined( $filename ) && -f $filename;
- return $class->_init(undef, $filename, @_);
- }
-
- sub new_from_handle {
- my $class = shift;
- my $handle = shift;
- my $filename = shift;
- return undef unless defined($handle) && defined($filename);
- $filename = File::Spec->rel2abs( $filename );
+ use Exporter (); BEGIN { *import = \&Exporter::import }
+ our @EXPORT_OK = qw(module_content module_handle);
+ our %EXPORT_TAGS = (all => [@EXPORT_OK]);
- return $class->_init(undef, $filename, @_, handle => $handle);
+ use File::Spec ();
+ use Scalar::Util qw(reftype refaddr openhandle);
+ use Carp qw(croak);
+ use Config ();
+ use Errno qw(EACCES);
+ use constant _OPEN_LAYERS => "$]" >= 5.008_000 ? ':' : '';
+ use constant _ABORT_ON_EACCES => "$]" >= 5.017_001;
+ use constant _ALLOW_PREFIX => "$]" >= 5.008009;
+ use constant _VMS => $^O eq 'VMS' && !!require VMS::Filespec;
+ use constant _WIN32 => $^O eq 'MSWin32';
+ use constant _PMC_ENABLED => !(
+ exists &Config::non_bincompat_options
+ ? grep { $_ eq 'PERL_DISABLE_PMC' } Config::non_bincompat_options()
+ : $Config::Config{ccflags} =~ /(?:^|\s)-DPERL_DISABLE_PMC\b/
+ );
+ use constant _FAKE_FILE_FORMAT => do {
+ my $uvx = $Config::Config{uvxformat} || '';
+ $uvx =~ tr/"\0//d;
+ $uvx ||= 'lx';
+ "/loader/0x%$uvx/%s"
+ };
+ sub _mod_to_file {
+ my $module = shift;
+ (my $file = "$module.pm") =~ s{::}{/}g;
+ $file;
}
-
- sub new_from_module {
- my $class = shift;
- my $module = shift;
- my %props = @_;
-
- $props{inc} ||= \@INC;
- my $filename = $class->find_module_by_name( $module, $props{inc} );
- return undef unless defined( $filename ) && -f $filename;
- return $class->_init($module, $filename, %props);
+ sub module_content {
+ my $opts = ref $_[-1] eq 'HASH' && pop @_ || {};
+ my $module = shift;
+ $opts->{inc} = [@_]
+ if @_;
+ __PACKAGE__->new($opts)->module($module)->content;
}
- {
-
- my $compare_versions = sub {
- my ($v1, $op, $v2) = @_;
- $v1 = version->new($v1)
- unless UNIVERSAL::isa($v1,'version');
-
- my $eval_str = "\$v1 $op \$v2";
- my $result = eval $eval_str;
- log_info { "error comparing versions: '$eval_str' $@" } if $@;
-
- return $result;
- };
-
- my $normalize_version = sub {
- my ($version) = @_;
- if ( $version =~ /[=<>!,]/ ) { # logic, not just version
- # take as is without modification
- }
- elsif ( ref $version eq 'version' ) { # version objects
- $version = $version->is_qv ? $version->normal : $version->stringify;
- }
- elsif ( $version =~ /^[^v][^.]*\.[^.]+\./ ) { # no leading v, multiple dots
- # normalize string tuples without "v": "1.2.3" -> "v1.2.3"
- $version = "v$version";
- }
- else {
- # leave alone
- }
- return $version;
- };
-
- # separate out some of the conflict resolution logic
-
- my $resolve_module_versions = sub {
- my $packages = shift;
-
- my( $file, $version );
- my $err = '';
- foreach my $p ( @$packages ) {
- if ( defined( $p->{version} ) ) {
- if ( defined( $version ) ) {
- if ( $compare_versions->( $version, '!=', $p->{version} ) ) {
- $err .= " $p->{file} ($p->{version})\n";
- } else {
- # same version declared multiple times, ignore
- }
- } else {
- $file = $p->{file};
- $version = $p->{version};
- }
- }
- $file ||= $p->{file} if defined( $p->{file} );
- }
-
- if ( $err ) {
- $err = " $file ($version)\n" . $err;
- }
-
- my %result = (
- file => $file,
- version => $version,
- err => $err
- );
+ sub module_handle {
+ my $opts = ref $_[-1] eq 'HASH' && pop @_ || {};
+ my $module = shift;
+ $opts->{inc} = [@_]
+ if @_;
+ __PACKAGE__->new($opts)->module($module)->handle;
+ }
- return \%result;
- };
+ sub new {
+ my $class = shift;
+ my %options;
+ if (@_ == 1 && ref $_[-1]) {
+ %options = %{(pop)};
+ }
+ elsif (@_ % 2 == 0) {
+ %options = @_;
+ }
+ else {
+ croak "Expected hash ref, or key value pairs. Got ".@_." arguments.";
+ }
- sub provides {
- my $class = shift;
+ $options{inc} ||= \@INC;
+ $options{found} = \%INC
+ if exists $options{found} && $options{found} eq 1;
+ $options{pmc} = _PMC_ENABLED
+ if !exists $options{pmc};
+ $options{open} = 1
+ if !exists $options{open};
+ $options{abort_on_eacces} = _ABORT_ON_EACCES
+ if !exists $options{abort_on_eacces};
+ $options{check_hooks_for_nonsearchable} = 1
+ if !exists $options{check_hooks_for_nonsearchable};
+ bless \%options, $class;
+ }
- croak "provides() requires key/value pairs \n" if @_ % 2;
- my %args = @_;
+ sub module {
+ my ($self, $module) = @_;
+ $self->file(_mod_to_file($module));
+ }
- croak "provides() takes only one of 'dir' or 'files'\n"
- if $args{dir} && $args{files};
+ sub modules {
+ my ($self, $module) = @_;
+ $self->files(_mod_to_file($module));
+ }
- croak "provides() requires a 'version' argument"
- unless defined $args{version};
+ sub file {
+ my ($self, $file) = @_;
+ $self->_find($file);
+ }
- croak "provides() does not support version '$args{version}' metadata"
- unless grep { $args{version} eq $_ } qw/1.4 2/;
+ sub files {
+ my ($self, $file) = @_;
+ $self->_find($file, 1);
+ }
- $args{prefix} = 'lib' unless defined $args{prefix};
+ sub _searchable {
+ my $file = shift;
+ File::Spec->file_name_is_absolute($file) ? 0
+ : _WIN32 && $file =~ m{^\.\.?[/\\]} ? 0
+ : $file =~ m{^\.\.?/} ? 0
+ : 1
+ }
- my $p;
- if ( $args{dir} ) {
- $p = $class->package_versions_from_directory($args{dir});
- }
- else {
- croak "provides() requires 'files' to be an array reference\n"
- unless ref $args{files} eq 'ARRAY';
- $p = $class->package_versions_from_directory($args{files});
- }
+ sub _find {
+ my ($self, $file, $all) = @_;
- # Now, fix up files with prefix
- if ( length $args{prefix} ) { # check in case disabled with q{}
- $args{prefix} =~ s{/$}{};
- for my $v ( values %$p ) {
- $v->{file} = "$args{prefix}/$v->{file}";
+ my @found;
+ eval {
+ if (my $found = $self->{found}) {
+ if (defined( my $full = $found->{$file} )) {
+ my $open = length ref $full ? $self->_open_ref($full, $file)
+ : $self->_open_file($full, $file);
+ push @found, $open
+ if $open;
}
}
-
- return $p
+ };
+ if (!$all) {
+ return $found[0]
+ if @found;
+ die $@
+ if $@;
}
- sub package_versions_from_directory {
- my ( $class, $dir, $files ) = @_;
-
- my @files;
-
- if ( $files ) {
- @files = @$files;
- } else {
- find( {
- wanted => sub {
- push @files, $_ if -f $_ && /\.pm$/;
- },
- no_chdir => 1,
- }, $dir );
+ my $searchable = _searchable($file);
+ if (!$searchable) {
+ my $open = $self->_open_file($file);
+ if ($all) {
+ push @found, $open;
}
-
- # First, we enumerate all packages & versions,
- # separating into primary & alternative candidates
- my( %prime, %alt );
- foreach my $file (@files) {
- my $mapped_filename = File::Spec::Unix->abs2rel( $file, $dir );
- my @path = split( /\//, $mapped_filename );
- (my $prime_package = join( '::', @path )) =~ s/\.pm$//;
-
- my $pm_info = $class->new_from_file( $file );
-
- foreach my $package ( $pm_info->packages_inside ) {
- next if $package eq 'main'; # main can appear numerous times, ignore
- next if $package eq 'DB'; # special debugging package, ignore
- next if grep /^_/, split( /::/, $package ); # private package, ignore
-
- my $version = $pm_info->version( $package );
-
- $prime_package = $package if lc($prime_package) eq lc($package);
- if ( $package eq $prime_package ) {
- if ( exists( $prime{$package} ) ) {
- croak "Unexpected conflict in '$package'; multiple versions found.\n";
- } else {
- $mapped_filename = "$package.pm" if lc("$package.pm") eq lc($mapped_filename);
- $prime{$package}{file} = $mapped_filename;
- $prime{$package}{version} = $version if defined( $version );
- }
- } else {
- push( @{$alt{$package}}, {
- file => $mapped_filename,
- version => $version,
- } );
- }
- }
+ elsif ($open) {
+ return $open;
}
-
- # Then we iterate over all the packages found above, identifying conflicts
- # and selecting the "best" candidate for recording the file & version
- # for each package.
- foreach my $package ( keys( %alt ) ) {
- my $result = $resolve_module_versions->( $alt{$package} );
-
- if ( exists( $prime{$package} ) ) { # primary package selected
-
- if ( $result->{err} ) {
- # Use the selected primary package, but there are conflicting
- # errors among multiple alternative packages that need to be
- # reported
- log_info {
- "Found conflicting versions for package '$package'\n" .
- " $prime{$package}{file} ($prime{$package}{version})\n" .
- $result->{err}
- };
-
- } elsif ( defined( $result->{version} ) ) {
- # There is a primary package selected, and exactly one
- # alternative package
-
- if ( exists( $prime{$package}{version} ) &&
- defined( $prime{$package}{version} ) ) {
- # Unless the version of the primary package agrees with the
- # version of the alternative package, report a conflict
- if ( $compare_versions->(
- $prime{$package}{version}, '!=', $result->{version}
- )
- ) {
-
- log_info {
- "Found conflicting versions for package '$package'\n" .
- " $prime{$package}{file} ($prime{$package}{version})\n" .
- " $result->{file} ($result->{version})\n"
- };
- }
-
- } else {
- # The prime package selected has no version so, we choose to
- # use any alternative package that does have a version
- $prime{$package}{file} = $result->{file};
- $prime{$package}{version} = $result->{version};
- }
-
- } else {
- # no alt package found with a version, but we have a prime
- # package so we use it whether it has a version or not
- }
-
- } else { # No primary package was selected, use the best alternative
-
- if ( $result->{err} ) {
- log_info {
- "Found conflicting versions for package '$package'\n" .
- $result->{err}
- };
- }
-
- # Despite possible conflicting versions, we choose to record
- # something rather than nothing
- $prime{$package}{file} = $result->{file};
- $prime{$package}{version} = $result->{version}
- if defined( $result->{version} );
- }
- }
-
- # Normalize versions. Can't use exists() here because of bug in YAML::Node.
- # XXX "bug in YAML::Node" comment seems irrelevant -- dagolden, 2009-05-18
- for (grep defined $_->{version}, values %prime) {
- $_->{version} = $normalize_version->( $_->{version} );
+ else {
+ croak "Can't locate $file";
}
-
- return \%prime;
- }
- }
-
-
- sub _init {
- my $class = shift;
- my $module = shift;
- my $filename = shift;
- my %props = @_;
-
- my $handle = delete $props{handle};
- my( %valid_props, @valid_props );
- @valid_props = qw( collect_pod inc );
- @valid_props{@valid_props} = delete( @props{@valid_props} );
- warn "Unknown properties: @{[keys %props]}\n" if scalar( %props );
-
- my %data = (
- module => $module,
- filename => $filename,
- version => undef,
- packages => [],
- versions => {},
- pod => {},
- pod_headings => [],
- collect_pod => 0,
-
- %valid_props,
- );
-
- my $self = bless(\%data, $class);
-
- if ( not $handle ) {
- my $filename = $self->{filename};
- open $handle, '<', $filename
- or croak( "Can't open '$filename': $!" );
-
- $self->_handle_bom($handle, $filename);
}
- $self->_parse_fh($handle);
- unless($self->{module} and length($self->{module})) {
- my ($v, $d, $f) = File::Spec->splitpath($self->{filename});
- if($f =~ /\.pm$/) {
- $f =~ s/\..+$//;
- my @candidates = grep /$f$/, @{$self->{packages}};
- $self->{module} = shift(@candidates); # punt
+ my $search = $self->{inc};
+ for my $inc (@$search) {
+ my $open;
+ if (!$searchable) {
+ last
+ if !$self->{check_hooks_for_nonsearchable};
+ next
+ if !length ref $inc;
}
- else {
- if(grep /main/, @{$self->{packages}}) {
- $self->{module} = 'main';
+ eval {
+ if (!length ref $inc) {
+ my $full = _VMS ? VMS::Filespec::unixpath($inc) : $inc;
+ $full =~ s{/?$}{/};
+ $full .= $file;
+ $open = $self->_open_file($full, $file, $inc);
}
else {
- $self->{module} = $self->{packages}[0] || '';
+ $open = $self->_open_ref($inc, $file);
+ }
+ push @found, $open
+ if $open;
+ };
+ if (!$all) {
+ return $found[0]
+ if @found;
+ die $@
+ if $@;
+ }
+ }
+ croak "Can't locate $file"
+ if !$all;
+ return @found;
+ }
+
+ sub _open_file {
+ my ($self, $full, $file, $inc) = @_;
+ $file = $full
+ if !defined $file;
+ for my $try (
+ ($self->{pmc} && $file =~ /\.pm\z/ ? $full.'c' : ()),
+ $full,
+ ) {
+ my $pmc = $full ne $try;
+ if (-e $try) {
+ next
+ if -d _ || -b _;
+ if (open my $fh, '<'._OPEN_LAYERS, $try) {
+ return Module::Reader::File->new(
+ filename => $file,
+ ($self->{open} ? (raw_filehandle => $fh) : ()),
+ found_file => $full,
+ disk_file => $try,
+ is_pmc => $pmc,
+ (defined $inc ? (inc_entry => $inc) : ()),
+ );
}
}
- }
-
- $self->{version} = $self->{versions}{$self->{module}}
- if defined( $self->{module} );
-
- return $self;
- }
- # class method
- sub _do_find_module {
- my $class = shift;
- my $module = shift || croak 'find_module_by_name() requires a package name';
- my $dirs = shift || \@INC;
-
- my $file = File::Spec->catfile(split( /::/, $module));
- foreach my $dir ( @$dirs ) {
- my $testfile = File::Spec->catfile($dir, $file);
- return [ File::Spec->rel2abs( $testfile ), $dir ]
- if -e $testfile and !-d _; # For stuff like ExtUtils::xsubpp
- $testfile .= '.pm';
- return [ File::Spec->rel2abs( $testfile ), $dir ]
- if -e $testfile;
+ croak "Can't locate $file: $full: $!"
+ if $self->{abort_on_eacces} && $! == EACCES && !$pmc;
}
return;
}
- # class method
- sub find_module_by_name {
- my $found = shift()->_do_find_module(@_) or return;
- return $found->[0];
- }
-
- # class method
- sub find_module_dir_by_name {
- my $found = shift()->_do_find_module(@_) or return;
- return $found->[1];
- }
-
+ sub _open_ref {
+ my ($self, $inc, $file) = @_;
- # given a line of perl code, attempt to parse it if it looks like a
- # $VERSION assignment, returning sigil, full name, & package name
- sub _parse_version_expression {
- my $self = shift;
- my $line = shift;
-
- my( $sigil, $variable_name, $package);
- if ( $line =~ /$VERS_REGEXP/o ) {
- ( $sigil, $variable_name, $package) = $2 ? ( $1, $2, $3 ) : ( $4, $5, $6 );
- if ( $package ) {
- $package = ($package eq '::') ? 'main' : $package;
- $package =~ s/::$//;
- }
+ my @cb;
+ {
+ # strings in arrayrefs are taken as sub names relative to main
+ package
+ main;
+ no strict 'refs';
+ no warnings 'uninitialized';
+ @cb = defined Scalar::Util::blessed $inc ? $inc->INC($file)
+ : ref $inc eq 'ARRAY' ? $inc->[0]->($inc, $file)
+ : $inc->($inc, $file);
}
- return ( $sigil, $variable_name, $package );
- }
-
- # Look for a UTF-8/UTF-16BE/UTF-16LE BOM at the beginning of the stream.
- # If there's one, then skip it and set the :encoding layer appropriately.
- sub _handle_bom {
- my ($self, $fh, $filename) = @_;
+ return
+ unless length ref $cb[0];
- my $pos = tell $fh;
- return unless defined $pos;
+ my $fake_file = sprintf _FAKE_FILE_FORMAT, refaddr($inc), $file;
- my $buf = ' ' x 2;
- my $count = read $fh, $buf, length $buf;
- return unless defined $count and $count >= 2;
+ my $fh;
+ my $prefix;
+ my $cb;
+ my $cb_options;
- my $encoding;
- if ( $buf eq "\x{FE}\x{FF}" ) {
- $encoding = 'UTF-16BE';
- } elsif ( $buf eq "\x{FF}\x{FE}" ) {
- $encoding = 'UTF-16LE';
- } elsif ( $buf eq "\x{EF}\x{BB}" ) {
- $buf = ' ';
- $count = read $fh, $buf, length $buf;
- if ( defined $count and $count >= 1 and $buf eq "\x{BF}" ) {
- $encoding = 'UTF-8';
- }
+ if (_ALLOW_PREFIX && reftype $cb[0] eq 'SCALAR') {
+ $prefix = shift @cb;
}
- if ( defined $encoding ) {
- if ( "$]" >= 5.008 ) {
- binmode( $fh, ":encoding($encoding)" );
- }
- } else {
- seek $fh, $pos, SEEK_SET
- or croak( sprintf "Can't reset position to the top of '$filename'" );
+ if ((reftype $cb[0]||'') eq 'GLOB' && openhandle $cb[0]) {
+ $fh = shift @cb;
}
- return $encoding;
- }
-
- sub _parse_fh {
- my ($self, $fh) = @_;
-
- my( $in_pod, $seen_end, $need_vers ) = ( 0, 0, 0 );
- my( @packages, %vers, %pod, @pod );
- my $package = 'main';
- my $pod_sect = '';
- my $pod_data = '';
- my $in_end = 0;
-
- while (defined( my $line = <$fh> )) {
- my $line_num = $.;
-
- chomp( $line );
-
- # From toke.c : any line that begins by "=X", where X is an alphabetic
- # character, introduces a POD segment.
- my $is_cut;
- if ( $line =~ /^=([a-zA-Z].*)/ ) {
- my $cmd = $1;
- # Then it goes back to Perl code for "=cutX" where X is a non-alphabetic
- # character (which includes the newline, but here we chomped it away).
- $is_cut = $cmd =~ /^cut(?:[^a-zA-Z]|$)/;
- $in_pod = !$is_cut;
- }
-
- if ( $in_pod ) {
-
- if ( $line =~ /^=head[1-4]\s+(.+)\s*$/ ) {
- push( @pod, $1 );
- if ( $self->{collect_pod} && length( $pod_data ) ) {
- $pod{$pod_sect} = $pod_data;
- $pod_data = '';
- }
- $pod_sect = $1;
-
- } elsif ( $self->{collect_pod} ) {
- $pod_data .= "$line\n";
-
- }
-
- } elsif ( $is_cut ) {
-
- if ( $self->{collect_pod} && length( $pod_data ) ) {
- $pod{$pod_sect} = $pod_data;
- $pod_data = '';
- }
- $pod_sect = '';
-
- } else {
-
- # Skip after __END__
- next if $in_end;
-
- # Skip comments in code
- next if $line =~ /^\s*#/;
-
- # Would be nice if we could also check $in_string or something too
- if ($line eq '__END__') {
- $in_end++;
- next;
- }
- last if $line eq '__DATA__';
-
- # parse $line to see if it's a $VERSION declaration
- my( $version_sigil, $version_fullname, $version_package ) =
- index($line, 'VERSION') >= 1
- ? $self->_parse_version_expression( $line )
- : ();
-
- if ( $line =~ /$PKG_REGEXP/o ) {
- $package = $1;
- my $version = $2;
- push( @packages, $package ) unless grep( $package eq $_, @packages );
- $need_vers = defined $version ? 0 : 1;
-
- if ( not exists $vers{$package} and defined $version ){
- # Upgrade to a version object.
- my $dwim_version = eval { _dwim_version($version) };
- croak "Version '$version' from $self->{filename} does not appear to be valid:\n$line\n\nThe fatal error was: $@\n"
- unless defined $dwim_version; # "0" is OK!
- $vers{$package} = $dwim_version;
- }
-
- # VERSION defined with full package spec, i.e. $Module::VERSION
- } elsif ( $version_fullname && $version_package ) {
- push( @packages, $version_package ) unless grep( $version_package eq $_, @packages );
- $need_vers = 0 if $version_package eq $package;
-
- unless ( defined $vers{$version_package} && length $vers{$version_package} ) {
- $vers{$version_package} = $self->_evaluate_version_line( $version_sigil, $version_fullname, $line );
- }
-
- # first non-comment line in undeclared package main is VERSION
- } elsif ( $package eq 'main' && $version_fullname && !exists($vers{main}) ) {
- $need_vers = 0;
- my $v = $self->_evaluate_version_line( $version_sigil, $version_fullname, $line );
- $vers{$package} = $v;
- push( @packages, 'main' );
-
- # first non-comment line in undeclared package defines package main
- } elsif ( $package eq 'main' && !exists($vers{main}) && $line =~ /\w/ ) {
- $need_vers = 1;
- $vers{main} = '';
- push( @packages, 'main' );
-
- # only keep if this is the first $VERSION seen
- } elsif ( $version_fullname && $need_vers ) {
- $need_vers = 0;
- my $v = $self->_evaluate_version_line( $version_sigil, $version_fullname, $line );
-
- unless ( defined $vers{$package} && length $vers{$package} ) {
- $vers{$package} = $v;
- }
- }
- }
+ if ((reftype $cb[0]||'') eq 'CODE') {
+ $cb = $cb[0];
+ # only one or zero callback options will be passed
+ $cb_options = @cb > 1 ? [ $cb[1] ] : undef;
}
-
- if ( $self->{collect_pod} && length($pod_data) ) {
- $pod{$pod_sect} = $pod_data;
+ elsif (!defined $fh && !defined $prefix) {
+ return;
}
-
- $self->{versions} = \%vers;
- $self->{packages} = \@packages;
- $self->{pod} = \%pod;
- $self->{pod_headings} = \@pod;
+ return Module::Reader::File->new(
+ filename => $file,
+ found_file => $fake_file,
+ inc_entry => $inc,
+ (defined $prefix ? (prefix => $prefix) : ()),
+ (defined $fh ? (raw_filehandle => $fh) : ()),
+ (defined $cb ? (read_callback => $cb) : ()),
+ (defined $cb_options ? (read_callback_options => $cb_options) : ()),
+ );
}
+ sub inc { $_[0]->{inc} }
+ sub found { $_[0]->{found} }
+ sub pmc { $_[0]->{pmc} }
+ sub open { $_[0]->{open} }
+
{
- my $pn = 0;
- sub _evaluate_version_line {
- my $self = shift;
- my( $sigil, $variable_name, $line ) = @_;
+ package Module::Reader::File;
+ use constant _OPEN_STRING => "$]" >= 5.008 || !require IO::String;
+ use Carp 'croak';
- # We compile into a local sub because 'use version' would cause
- # compiletime/runtime issues with local()
- $pn++; # everybody gets their own package
- my $eval = qq{ my \$dummy = q# Hide from _packages_inside()
- #; package Module::Metadata::_version::p${pn};
- use version;
- sub {
- local $sigil$variable_name;
- $line;
- \$$variable_name
+ sub new {
+ my ($class, %opts) = @_;
+ my $filename = $opts{filename};
+ if (!exists $opts{module} && $opts{filename}
+ && $opts{filename} =~ m{\A(\w+(?:/\w+)?)\.pm\z}) {
+ my $module = $1;
+ $module =~ s{/}{::}g;
+ $opts{module} = $module;
+ }
+ bless \%opts, $class;
+ }
+
+ sub filename { $_[0]->{filename} }
+ sub module { $_[0]->{module} }
+ sub found_file { $_[0]->{found_file} }
+ sub disk_file { $_[0]->{disk_file} }
+ sub is_pmc { $_[0]->{is_pmc} }
+ sub inc_entry { $_[0]->{inc_entry} }
+ sub read_callback { $_[0]->{read_callback} }
+ sub read_callback_options { $_[0]->{read_callback_options} }
+ sub raw_filehandle {
+ $_[0]->{raw_filehandle} ||= !$_[0]->{disk_file} ? undef : do {
+ open my $fh, '<'.Module::Reader::_OPEN_LAYERS, $_[0]->{disk_file}
+ or croak "Can't locate $_[0]->{disk_file}";
+ $fh;
};
- };
-
- $eval = $1 if $eval =~ m{^(.+)}s;
-
- local $^W;
- # Try to get the $VERSION
- my $vsub = __clean_eval($eval);
- # some modules say $VERSION <equal sign> $Foo::Bar::VERSION, but Foo::Bar isn't
- # installed, so we need to hunt in ./lib for it
- if ( $@ =~ /Can't locate/ && -d 'lib' ) {
- local @INC = ('lib',@INC);
- $vsub = __clean_eval($eval);
}
- warn "Error evaling version line '$eval' in $self->{filename}: $@\n"
- if $@;
-
- (ref($vsub) eq 'CODE') or
- croak "failed to build version sub for $self->{filename}";
-
- my $result = eval { $vsub->() };
- # FIXME: $eval is not the right thing to print here
- croak "Could not get version from $self->{filename} by executing:\n$eval\n\nThe fatal error was: $@\n"
- if $@;
-
- # Upgrade it into a version object
- my $version = eval { _dwim_version($result) };
-
- # FIXME: $eval is not the right thing to print here
- croak "Version '$result' from $self->{filename} does not appear to be valid:\n$eval\n\nThe fatal error was: $@\n"
- unless defined $version; # "0" is OK!
-
- return $version;
- }
- }
-
- # Try to DWIM when things fail the lax version test in obvious ways
- {
- my @version_prep = (
- # Best case, it just works
- sub { return shift },
-
- # If we still don't have a version, try stripping any
- # trailing junk that is prohibited by lax rules
- sub {
- my $v = shift;
- $v =~ s{([0-9])[a-z-].*$}{$1}i; # 1.23-alpha or 1.23b
- return $v;
- },
-
- # Activestate apparently creates custom versions like '1.23_45_01', which
- # cause version.pm to think it's an invalid alpha. So check for that
- # and strip them
- sub {
- my $v = shift;
- my $num_dots = () = $v =~ m{(\.)}g;
- my $num_unders = () = $v =~ m{(_)}g;
- my $leading_v = substr($v,0,1) eq 'v';
- if ( ! $leading_v && $num_dots < 2 && $num_unders > 1 ) {
- $v =~ s{_}{}g;
- $num_unders = () = $v =~ m{(_)}g;
- }
- return $v;
- },
-
- # Worst case, try numifying it like we would have before version objects
- sub {
- my $v = shift;
- no warnings 'numeric';
- return 0 + $v;
- },
-
- );
-
- sub _dwim_version {
- my ($result) = shift;
- return $result if ref($result) eq 'version';
-
- my ($version, $error);
- for my $f (@version_prep) {
- $result = $f->($result);
- $version = eval { version->new($result) };
- $error ||= $@ if $@; # capture first failure
- last if defined $version;
+ sub content {
+ my $self = shift;
+ return $self->{content}
+ if exists $self->{content};
+ my $fh = $self->raw_filehandle;
+ my $cb = $self->read_callback;
+ my $content = defined $self->{prefix} ? ${$self->{prefix}} : '';
+ if ($fh && !$cb) {
+ local $/;
+ $content .= <$fh>;
+ }
+ if ($cb) {
+ my @params = @{$self->read_callback_options||[]};
+ while (1) {
+ local $_ = $fh ? <$fh> : '';
+ $_ = ''
+ if !defined;
+ # perlfunc/require says that the first parameter will be a reference the
+ # sub itself. this is wrong. 0 will be passed.
+ last if !$cb->(0, @params);
+ $content .= $_;
+ }
}
-
- croak $error unless defined $version;
-
- return $version;
+ return $self->{content} = $content;
}
- }
-
- ############################################################
-
- # accessors
- sub name { $_[0]->{module} }
- sub filename { $_[0]->{filename} }
- sub packages_inside { @{$_[0]->{packages}} }
- sub pod_inside { @{$_[0]->{pod_headings}} }
- sub contains_pod { 0+@{$_[0]->{pod_headings}} }
-
- sub version {
+ sub handle {
my $self = shift;
- my $mod = shift || $self->{module};
- my $vers;
- if ( defined( $mod ) && length( $mod ) &&
- exists( $self->{versions}{$mod} ) ) {
- return $self->{versions}{$mod};
- } else {
- return undef;
+ my $fh = $self->raw_filehandle;
+ if ($fh && !$self->read_callback && -f $fh) {
+ open my $dup, '<&', $fh
+ or croak "can't dup file handle: $!";
+ return $dup;
+ }
+ my $content = $self->content;
+ if (_OPEN_STRING) {
+ open my $fh, '<', \$content;
+ return $fh;
}
- }
-
- sub pod {
- my $self = shift;
- my $sect = shift;
- if ( defined( $sect ) && length( $sect ) &&
- exists( $self->{pod}{$sect} ) ) {
- return $self->{pod}{$sect};
- } else {
- return undef;
+ else {
+ return IO::String->new($content);
}
- }
-
- sub is_indexable {
- my ($self, $package) = @_;
-
- my @indexable_packages = grep { $_ ne 'main' } $self->packages_inside;
-
- # check for specific package, if provided
- return !! grep { $_ eq $package } @indexable_packages if $package;
-
- # otherwise, check for any indexable packages at all
- return !! @indexable_packages;
+ }
}
1;
+ __END__
+
=head1 NAME
- Module::Metadata - Gather package and POD information from perl module files
+ Module::Reader - Find and read perl modules like perl does
=head1 SYNOPSIS
- use Module::Metadata;
+ use Module::Reader;
- # information about a .pm file
- my $info = Module::Metadata->new_from_file( $file );
- my $version = $info->version;
+ my $reader = Module::Reader->new;
+ my $module = $reader->module("My::Module");
+ my $filename = $module->found_file;
+ my $content = $module->content;
+ my $file_handle = $module->handle;
+
+ # search options
+ my $other_reader = Module::Reader->new(inc => ["/some/lib/dir", "/another/lib/dir"]);
+ my $other_reader2 = Module::Reader->new(found => { 'My/Module.pm' => '/a_location.pm' });
+
+ # Functional Interface
+ use Module::Reader qw(module_handle module_content);
+ my $io = module_handle('My::Module');
+ my $content = module_content('My::Module');
- # CPAN META 'provides' field for .pm files in a directory
- my $provides = Module::Metadata->provides(
- dir => 'lib', version => 2
- );
=head1 DESCRIPTION
- This module provides a standard way to gather metadata about a .pm file through
- (mostly) static analysis and (some) code execution. When determining the
- version of a module, the C<$VERSION> assignment is C<eval>ed, as is traditional
- in the CPAN toolchain.
+ This module finds modules in C<@INC> using the same algorithm perl does. From
+ that, it will give you the source content of a module, the file name (where
+ available), and how it was found. Searches (and content) are based on the same
+ internal rules that perl uses for F<require|perlfunc/require> and
+ F<do|perlfunc/do>.
- =head1 CLASS METHODS
+ =head1 EXPORTS
- =head2 C<< new_from_file($filename, collect_pod => 1) >>
+ =head2 module_handle ( $module_name, @search_directories )
- Constructs a C<Module::Metadata> object given the path to a file. Returns
- undef if the filename does not exist.
+ Returns an IO handle for the given module.
- C<collect_pod> is a optional boolean argument that determines whether POD
- data is collected and stored for reference. POD data is not collected by
- default. POD headings are always collected.
+ =head2 module_content ( $module_name, @search_directories )
- If the file begins by an UTF-8, UTF-16BE or UTF-16LE byte-order mark, then
- it is skipped before processing, and the content of the file is also decoded
- appropriately starting from perl 5.8.
+ Returns the content of a given module.
- =head2 C<< new_from_handle($handle, $filename, collect_pod => 1) >>
+ =head1 ATTRIBUTES
- This works just like C<new_from_file>, except that a handle can be provided
- as the first argument.
+ =over 4
- Note that there is no validation to confirm that the handle is a handle or
- something that can act like one. Passing something that isn't a handle will
- cause a exception when trying to read from it. The C<filename> argument is
- mandatory or undef will be returned.
+ =item inc
- You are responsible for setting the decoding layers on C<$handle> if
- required.
+ An array reference containing a list of directories or hooks to search for
+ modules or files. This will be used in the same manner that
+ L<require|perlfunc/require> uses L<< C<@INC>|perlvar/@INC >>. If not provided,
+ L<< C<@INC>|perlvar/@INC >> itself will be used.
- =head2 C<< new_from_module($module, collect_pod => 1, inc => \@dirs) >>
+ =item found
- Constructs a C<Module::Metadata> object given a module or package name.
- Returns undef if the module cannot be found.
+ A hash reference of module filenames (of C<My/Module.pm> format>) to files that
+ exist on disk, working the same as L<< C<%INC>|perlvar/%INC >>. The values can
+ optionally be an L<< C<@INC> hook|perlfunc/require >>. This option can also be
+ 1, in which case L<< C<%INC>|perlfunc/%INC >> will be used instead.
- In addition to accepting the C<collect_pod> argument as described above,
- this method accepts a C<inc> argument which is a reference to an array of
- directories to search for the module. If none are given, the default is
- @INC.
+ =item pmc
- If the file that contains the module begins by an UTF-8, UTF-16BE or
- UTF-16LE byte-order mark, then it is skipped before processing, and the
- content of the file is also decoded appropriately starting from perl 5.8.
+ A boolean controlling if C<.pmc> files should be found in preference to C<.pm>
+ files. If not specified, the same behavior perl was compiled with will be used.
- =head2 C<< find_module_by_name($module, \@dirs) >>
+ =item open
- Returns the path to a module given the module or package name. A list
- of directories can be passed in as an optional parameter, otherwise
- @INC is searched.
+ A boolean controlling if the files found will be opened immediately when found.
+ Defaults to true.
- Can be called as either an object or a class method.
+ =item abort_on_eacces
- =head2 C<< find_module_dir_by_name($module, \@dirs) >>
+ A boolean controlling if an error should be thrown or if the path should be
+ skipped when encountering C<EACCES> (access denied) errors. Defaults to true
+ on perl 5.18 and above, matching the behavior of L<require|perlfunc/require>.
- Returns the entry in C<@dirs> (or C<@INC> by default) that contains
- the module C<$module>. A list of directories can be passed in as an
- optional parameter, otherwise @INC is searched.
+ =item check_hooks_for_nonsearchable
- Can be called as either an object or a class method.
+ For non-searchable paths (absolute paths and those starting with C<./> or
+ C<../>) attempt to check the hook items (and not the directories) in C<@INC> if
+ the file cannot be found directly. This matches the behavior of perl. Defaults
+ to true.
- =head2 C<< provides( %options ) >>
+ =back
- This is a convenience wrapper around C<package_versions_from_directory>
- to generate a CPAN META C<provides> data structure. It takes key/value
- pairs. Valid option keys include:
+ =head1 METHODS
- =over
+ =head2 module
- =item version B<(required)>
+ Returns a L<file object|/FILE OBJECTS> for the given module name. If the module
+ can't be found, an exception will be raised.
- Specifies which version of the L<CPAN::Meta::Spec> should be used as
- the format of the C<provides> output. Currently only '1.4' and '2'
- are supported (and their format is identical). This may change in
- the future as the definition of C<provides> changes.
+ =head2 file
- The C<version> option is required. If it is omitted or if
- an unsupported version is given, then C<provides> will throw an error.
+ Returns a L<file object|/FILE OBJECTS> for the given file name. If the file
+ can't be found, an exception will be raised. For absolute paths, or files
+ starting with C<./> or C<../> (and C<.\> or C<..\> on Windows), no directory
+ search will be performed.
- =item dir
+ =head2 modules
- Directory to search recursively for F<.pm> files. May not be specified with
- C<files>.
+ Returns an array of L<file objects|/FILE OBJECTS> for a given module name. This
+ will give every file that could be loaded based on the L</inc> options.
- =item files
+ =head2 files
- Array reference of files to examine. May not be specified with C<dir>.
+ Returns an array of L<file objects|/FILE OBJECTS> for a given file name. This
+ will give every file that could be loaded based on the L</inc> options.
- =item prefix
+ =head1 FILE OBJECTS
- String to prepend to the C<file> field of the resulting output. This defaults
- to F<lib>, which is the common case for most CPAN distributions with their
- F<.pm> files in F<lib>. This option ensures the META information has the
- correct relative path even when the C<dir> or C<files> arguments are
- absolute or have relative paths from a location other than the distribution
- root.
+ The file objects returned represent an entry that could be found in
+ L<< C<@INC>|perlvar/@INC >>. While they will generally be files that exist on
+ the file system somewhere, they may also represent files that only exist only in
+ memory or have arbitrary filters applied.
- =back
+ =head2 FILE METHODS
- For example, given C<dir> of 'lib' and C<prefix> of 'lib', the return value
- is a hashref of the form:
+ =head3 filename
- {
- 'Package::Name' => {
- version => '0.123',
- file => 'lib/Package/Name.pm'
- },
- 'OtherPackage::Name' => ...
- }
+ The filename that was searched for.
- =head2 C<< package_versions_from_directory($dir, \@files?) >>
+ =head3 module
- Scans C<$dir> for .pm files (unless C<@files> is given, in which case looks
- for those files in C<$dir> - and reads each file for packages and versions,
- returning a hashref of the form:
+ If a module was searched for, or a file of the matching form (C<My/Module.pm>),
+ this will be the module searched for.
- {
- 'Package::Name' => {
- version => '0.123',
- file => 'Package/Name.pm'
- },
- 'OtherPackage::Name' => ...
- }
+ =head3 found_file
- The C<DB> and C<main> packages are always omitted, as are any "private"
- packages that have leading underscores in the namespace (e.g.
- C<Foo::_private>)
+ The path to the file found by L<require|perlfunc/require>.
- Note that the file path is relative to C<$dir> if that is specified.
- This B<must not> be used directly for CPAN META C<provides>. See
- the C<provides> method instead.
+ This may not represent an actual file that exists, but the file name that perl
+ will use for the file for things like L<caller|perlfunc/caller> or
+ L<__FILE__|perlfunc/__FILE__>.
- =head2 C<< log_info (internal) >>
+ For C<.pmc> files, this will be the C<.pm> form of the file.
- Used internally to perform logging; imported from Log::Contextual if
- Log::Contextual has already been loaded, otherwise simply calls warn.
+ For L<< C<@INC> hooks|perlfunc/require >> this will be a file name of the form
+ C</loader/0x123456abcdef/My/Module.pm>, matching how perl treats them internally.
- =head1 OBJECT METHODS
+ =head3 disk_file
- =head2 C<< name() >>
+ The path to the file that exists on disk. When the file is found via an
+ L<< C<@INC> hook|perlfunc/require >>, this will be undef.
- Returns the name of the package represented by this module. If there
- is more than one package, it makes a best guess based on the
- filename. If it's a script (i.e. not a *.pm) the package name is
- 'main'.
+ =head3 content
- =head2 C<< version($package) >>
+ The content of the found file.
- Returns the version as defined by the $VERSION variable for the
- package as returned by the C<name> method if no arguments are
- given. If given the name of a package it will attempt to return the
- version of that package if it is specified in the file.
+ =head3 handle
- =head2 C<< filename() >>
+ A file handle to the found file's content.
- Returns the absolute path to the file.
- Note that this file may not actually exist on disk yet, e.g. if the module was read from an in-memory filehandle.
+ =head3 is_pmc
- =head2 C<< packages_inside() >>
+ A boolean value representing if the file found was C<.pmc> variant of the file
+ requested.
- Returns a list of packages. Note: this is a raw list of packages
- discovered (or assumed, in the case of C<main>). It is not
- filtered for C<DB>, C<main> or private packages the way the
- C<provides> method does. Invalid package names are not returned,
- for example "Foo:Bar". Strange but valid package names are
- returned, for example "Foo::Bar::", and are left up to the caller
- on how to handle.
+ =head3 inc_entry
- =head2 C<< pod_inside() >>
+ The directory or L<hook|perlfunc/require> that was used to find the given file
+ or module. If L</found> is used, this may be undef.
- Returns a list of POD sections.
+ =head2 RAW HOOK DATA
- =head2 C<< contains_pod() >>
+ File objects also have methods for the raw file handle and read callbacks used
+ to read a file. Interacting with the handle or callback can impact the return
+ values of L</content> and L</handle>, and vice versa. It should generally be
+ avoided unless you are introspecting the F<< C<@INC> hooks|perlfunc/require >>.
- Returns true if there is any POD in the file.
+ =head3 raw_filehandle
- =head2 C<< pod($section) >>
+ The raw file handle to the file found. This will be either a file handle to a
+ file found on disk, or something returned by an
+ F<< C<@INC> hook|perlfunc/require >>. The hook callback, if it exists, will not
+ be taken into account by this method.
- Returns the POD data in the given section.
+ =head3 read_callback
- =head2 C<< is_indexable($package) >> or C<< is_indexable() >>
+ A callback used to read content, or modify a file handle from an C<@INC> hook.
- Returns a boolean indicating whether the package (if provided) or any package
- (otherwise) is eligible for indexing by PAUSE, the Perl Authors Upload Server.
- Note This only checks for valid C<package> declarations, and does not take any
- ownership information into account.
+ =head3 read_callback_options
- =head1 AUTHOR
+ An array reference of arguments to send to the read callback whem reading or
+ modifying content from a file handle. Will contain either zero or one entries.
- Original code from Module::Build::ModuleInfo by Ken Williams
- <kwilliams@cpan.org>, Randy W. Sims <RandyS@ThePierianSpring.org>
+ =head1 SEE ALSO
- Released as Module::Metadata by Matt S Trout (mst) <mst@shadowcat.co.uk> with
- assistance from David Golden (xdg) <dagolden@cpan.org>.
+ Numerous other modules attempt to do C<@INC> searches similar to this module,
+ but no other module accurately represents how perl itself uses
+ L<< C<@INC>|perlvar/@INC >>. Most don't match perl's behavior regarding
+ character and block devices, directories, or permissions. Often, C<.pmc> files
+ are not taken into account.
- =head1 COPYRIGHT & LICENSE
+ Some of these modules have other use cases. The following comments are
+ primarily related to their ability to search C<@INC>.
- Original code Copyright (c) 2001-2011 Ken Williams.
- Additional code Copyright (c) 2010-2011 Matt Trout and David Golden.
- All rights reserved.
+ =over 4
- This library is free software; you can redistribute it and/or
- modify it under the same terms as Perl itself.
+ =item L<App::moduleswhere>
- =cut
-MODULE_METADATA
-
-$fatpacked{"Module/Reader.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'MODULE_READER';
- package Module::Reader;
- BEGIN { require 5.006 }
- use strict;
- use warnings;
+ Only available as a command line utility. Inaccurately gives the first file
+ found on disk in C<@INC>.
- our $VERSION = '0.002003';
- $VERSION = eval $VERSION;
+ =item L<App::whichpm>
- use base 'Exporter';
- our @EXPORT_OK = qw(module_content module_handle);
- our %EXPORT_TAGS = (all => [@EXPORT_OK]);
+ Inaccurately gives the first file found on disk in C<@INC>.
- use File::Spec;
- use Scalar::Util qw(blessed reftype openhandle);
- use Carp;
- use constant _OPEN_STRING => $] >= 5.008;
- BEGIN {
- require IO::String
- if !_OPEN_STRING;
- }
+ =item L<Class::Inspector>
- sub module_content {
- my $module = _get_module(@_);
- if (ref $module) {
- local $/;
- return scalar <$module>;
- }
- else {
- return $module;
- }
- }
+ For unloaded modules, inaccurately checks if a module exists.
- sub module_handle {
- my $module = _get_module(@_);
- if (ref $module) {
- return $module;
- }
- elsif (_OPEN_STRING) {
- open my $fh, '<', \$module;
- return $fh;
- }
- else {
- return IO::String->new($module);
- }
- }
+ =item L<Module::Data>
- sub _get_module {
- my ($package, @inc) = @_;
- (my $module = "$package.pm") =~ s{::}{/}g;
- my $opts = ref $_[-1] && ref $_[-1] eq 'HASH' && pop @inc || {};
- if (!@inc) {
- @inc = @INC;
- }
- if (my $found = $opts->{found}) {
- if (my $full_module = $found->{$module}) {
- if (ref $full_module) {
- @inc = $full_module;
- }
- elsif (-f $full_module) {
- open my $fh, '<', $full_module
- or die "Couldn't open ${full_module} for ${module}: $!";
- return $fh;
- }
- }
- }
- for my $inc (@inc) {
- if (!ref $inc) {
- my $full_module = File::Spec->catfile($inc, $module);
- next unless -f $full_module;
- open my $fh, '<', $full_module
- or die "Couldn't open ${full_module} for ${module}: $!";
- return $fh;
- }
+ Same caveats as L</Path::ScanINC>.
- my @cb = ref $inc eq 'ARRAY' ? $inc->[0]->($inc, $module)
- : blessed $inc ? $inc->INC($module)
- : $inc->($inc, $module);
+ =item L<Module::Filename>
- next
- unless ref $cb[0];
- my $fh;
- if (reftype $cb[0] eq 'GLOB' && openhandle $cb[0]) {
- $fh = shift @cb;
- }
+ Inaccurately gives the first file found on disk in C<@INC>.
- if (ref $cb[0] eq 'CODE') {
- my $cb = shift @cb;
- # require docs are wrong, perl sends 0 as the first param
- my @params = (0, @cb ? $cb[0] : ());
-
- my $module = '';
- while (1) {
- local $_ = $fh ? <$fh> : '';
- $_ = ''
- if !defined;
- last if !$cb->(@params);
- $module .= $_;
- }
- return $module;
- }
- elsif ($fh) {
- return $fh;
- }
- }
- croak "Can't find module $module";
- }
+ =item L<Module::Finder>
- 1;
+ Inaccurately searches for C<.pm> and C<.pmc> files in subdirectories of C<@INC>.
- __END__
+ =item L<Module::Info>
- =head1 NAME
+ Inaccurately searches C<@INC> for files and gives inaccurate information for the
+ files that it finds.
- Module::Reader - Read the source of a module like perl does
+ =item L<Module::Locate>
- =head1 SYNOPSIS
+ Inaccurately searches C<@INC> for matching files. Attempts to handle hooks, but
+ handles most cases wrong.
- use Module::Reader qw(:all);
- my $io = module_handle('My::Module');
- my $content = module_content('My::Module');
-
- my $io = module_handle('My::Module', @search_dirs);
-
- my $io = module_handle('My::Module', @search_dirs, { found => \%INC });
+ =item L<Module::Mapper>
- =head1 DESCRIPTION
+ Searches for C<.pm> and C<.pod> files in relatively unpredictable fashion,
+ based usually on the current directory. Optionally, can inaccurately scan
+ C<@INC>.
- Reads the content of perl modules the same way perl does. This
- includes reading modules available only by L<@INC hooks|perlfunc/require>, or filtered
- through them.
+ =item L<Module::Metadata>
- =head1 EXPORTS
+ Primarily designed as a version number extractor. Meant to find files on disk,
+ avoiding the nuance involved in perl's file loading.
- =head2 module_handle( $module_name, @search_dirs, \%options )
+ =item L<Module::Path>
- Returns an IO handle to the given module. Searches the directories
- specified, or L<@INC|perlvar/@INC> if none are.
+ Inaccurately gives the first file found on disk in C<@INC>.
- =head3 Options
+ =item L<Module::Util>
- =over 4
+ Inaccurately searches for modules, ignoring C<@INC> hooks.
- =item found
+ =item L<Path::ScanINC>
- A reference to a hash like L<%INC|perlvar/%INC> with module file names (in the
- style 'F<My/Module.pm>') as keys and full file paths as values.
- Modules listed in this will be used in preference to searching
- through directories.
+ Inaccurately searches for files, with confusing output for C<@INC> hooks.
- =back
+ =item L<Pod::Perldoc>
- =head2 module_content( $module_name, @search_dirs, \%options )
+ Primarily meant for searching for related documentation. Finds related module
+ files, or sometimes C<.pod> files. Unpredictable search path.
- Returns the content of the given module. Accepts the same options as C<module_handle>.
+ =back
=head1 AUTHOR
@@ -68744,12 +70113,12 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
package Path::Tiny;
# ABSTRACT: File path utility
- our $VERSION = '0.072'; # from Path-Tiny-0.072.tar.gz
+ our $VERSION = '0.104';
# Dependencies
use Config;
use Exporter 5.57 (qw/import/);
- use File::Spec 3.40 ();
+ use File::Spec 0.86 (); # shipped with 5.8.1
use Carp ();
our @EXPORT = qw/path/;
@@ -68783,6 +70152,12 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
!!eval { require Unicode::UTF8; Unicode::UTF8->VERSION(0.58); 1 };
}
+ my $HAS_PU; # has PerlIO::utf8_strict; lazily populated
+
+ sub _check_PU {
+ !!eval { require PerlIO::utf8_strict; PerlIO::utf8_strict->VERSION(0.003); 1 };
+ }
+
my $HAS_FLOCK = $Config{d_flock} || $Config{d_fcntl_can_lock} || $Config{d_lockf};
# notions of "root" directories differ on Win32: \\server\dir\ or C:\ or \
@@ -68812,6 +70187,10 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
return IS_WIN32() ? ( $_[0] =~ /^$WIN32_ROOT$/ ) : ( $_[0] eq '/' );
}
+ BEGIN {
+ *_same = IS_WIN32() ? sub { lc( $_[0] ) eq lc( $_[1] ) } : sub { $_[0] eq $_[1] };
+ }
+
# mode bits encoded for chmod in symbolic mode
my %MODEBITS = ( om => 0007, gm => 0070, um => 0700 ); ## no critic
{ my $m = 0; $MODEBITS{$_} = ( 1 << $m++ ) for qw/ox ow or gx gw gr ux uw ur/ };
@@ -68851,7 +70230,7 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
my $WARNED_BSD_NFS = 0;
sub _throw {
- my ( $self, $function, $file ) = @_;
+ my ( $self, $function, $file, $msg ) = @_;
if ( IS_BSD()
&& $function =~ /^flock/
&& $! =~ /operation not supported/i
@@ -68863,7 +70242,9 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
}
}
else {
- Path::Tiny::Error->throw( $function, ( defined $file ? $file : $self->[PATH] ), $! );
+ $msg = $! unless defined $msg;
+ Path::Tiny::Error->throw( $function, ( defined $file ? $file : $self->[PATH] ),
+ $msg );
}
return;
}
@@ -68962,6 +70343,7 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
# canonicalize, but with unix slashes and put back trailing volume slash
my $cpath = $path = File::Spec->canonpath($path);
$path =~ tr[\\][/] if IS_WIN32();
+ $path = "/" if $path eq '/..'; # for old File::Spec
$path .= "/" if IS_WIN32() && $path =~ m{^$UNC_VOL$};
# root paths must always have a trailing slash, but other paths must not
@@ -68976,6 +70358,7 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
if ( $path =~ m{^(~[^/]*).*} ) {
require File::Glob;
my ($homedir) = File::Glob::bsd_glob($1);
+ $homedir =~ tr[\\][/] if IS_WIN32();
$path =~ s{^(~[^/]*)}{$homedir};
}
@@ -69054,7 +70437,10 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
#pod $temp = Path::Tiny->tempfile( TEMPLATE => "customXXXXXXXX" ); # ok
#pod
#pod The tempfile path object will be normalized to have an absolute path, even if
- #pod created in a relative directory using C<DIR>.
+ #pod created in a relative directory using C<DIR>. If you want it to have
+ #pod the C<realpath> instead, pass a leading options hash like this:
+ #pod
+ #pod $real_temp = tempfile({realpath => 1}, @options);
#pod
#pod C<tempdir> is just like C<tempfile>, except it calls
#pod C<< File::Temp->newdir >> instead.
@@ -69068,12 +70454,29 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
#pod C<Path::Tiny> gives you to be just a temporary file B<name> that gets cleaned
#pod up.
#pod
- #pod Current API available since 0.018.
+ #pod B<Note 2>: if you don't want these cleaned up automatically when the object
+ #pod is destroyed, File::Temp requires different options for directories and
+ #pod files. Use C<< CLEANUP => 0 >> for directories and C<< UNLINK => 0 >> for
+ #pod files.
+ #pod
+ #pod B<Note 3>: Don't lose the temporary object by chaining a method call instead
+ #pod of storing it:
+ #pod
+ #pod my $lost = tempdir()->child("foo"); # tempdir cleaned up right away
+ #pod
+ #pod B<Note 4>: The cached object may be accessed with the L</cached_temp> method.
+ #pod Keeping a reference to, or modifying the cached object may break the
+ #pod behavior documented above and is not supported. Use at your own risk.
+ #pod
+ #pod Current API available since 0.097.
#pod
#pod =cut
sub tempfile {
shift if @_ && $_[0] eq 'Path::Tiny'; # called as method
+ my $opts = ( @_ && ref $_[0] eq 'HASH' ) ? shift @_ : {};
+ $opts = _get_args( $opts, qw/realpath/ );
+
my ( $maybe_template, $args ) = _parse_file_temp_args(@_);
# File::Temp->new demands TEMPLATE
$args->{TEMPLATE} = $maybe_template->[0] if @$maybe_template;
@@ -69081,19 +70484,22 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
require File::Temp;
my $temp = File::Temp->new( TMPDIR => 1, %$args );
close $temp;
- my $self = path($temp)->absolute;
+ my $self = $opts->{realpath} ? path($temp)->realpath : path($temp)->absolute;
$self->[TEMP] = $temp; # keep object alive while we are
return $self;
}
sub tempdir {
shift if @_ && $_[0] eq 'Path::Tiny'; # called as method
+ my $opts = ( @_ && ref $_[0] eq 'HASH' ) ? shift @_ : {};
+ $opts = _get_args( $opts, qw/realpath/ );
+
my ( $maybe_template, $args ) = _parse_file_temp_args(@_);
# File::Temp->newdir demands leading template
require File::Temp;
my $temp = File::Temp->newdir( @$maybe_template, TMPDIR => 1, %$args );
- my $self = path($temp)->absolute;
+ my $self = $opts->{realpath} ? path($temp)->realpath : path($temp)->absolute;
$self->[TEMP] = $temp; # keep object alive while we are
# Some ActiveState Perls for Windows break Cwd in ways that lead
# File::Temp to get confused about what path to remove; this
@@ -69124,6 +70530,24 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
@{$self}[ VOL, DIR, FILE ] = File::Spec->splitpath( $self->[PATH] );
}
+ sub _resolve_symlinks {
+ my ($self) = @_;
+ my $new = $self;
+ my ( $count, %seen ) = 0;
+ while ( -l $new->[PATH] ) {
+ if ( $seen{ $new->[PATH] }++ ) {
+ $self->_throw( 'readlink', $self->[PATH], "symlink loop detected" );
+ }
+ if ( ++$count > 100 ) {
+ $self->_throw( 'readlink', $self->[PATH], "maximum symlink depth exceeded" );
+ }
+ my $resolved = readlink $new->[PATH] or $new->_throw( 'readlink', $new->[PATH] );
+ $resolved = path($resolved);
+ $new = $resolved->is_absolute ? $resolved : $new->sibling($resolved);
+ }
+ return $new;
+ }
+
#--------------------------------------------------------------------------#
# Public methods
#--------------------------------------------------------------------------#
@@ -69134,9 +70558,9 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
#pod $abs = path("foo/bar")->absolute("/tmp");
#pod
#pod Returns a new C<Path::Tiny> object with an absolute path (or itself if already
- #pod absolute). Unless an argument is given, the current directory is used as the
- #pod absolute base path. The argument must be absolute or you won't get an absolute
- #pod result.
+ #pod absolute). If no argument is given, the current directory is used as the
+ #pod absolute base path. If an argument is given, it will be converted to an
+ #pod absolute path (if it is not already) and used as the absolute base path.
#pod
#pod This will not resolve upward directories ("foo/../bar") unless C<canonpath>
#pod in L<File::Spec> would normally do so on your platform. If you need them
@@ -69145,7 +70569,7 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
#pod On Windows, an absolute path without a volume component will have it added
#pod based on the current drive.
#pod
- #pod Current API available since 0.001.
+ #pod Current API available since 0.101.
#pod
#pod =cut
@@ -69168,9 +70592,15 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
return $self if $self->is_absolute;
}
- # relative path on any OS
+ # no base means use current directory as base
require Cwd;
- return path( ( defined($base) ? $base : Cwd::getcwd() ), $_[0]->[PATH] );
+ return path( Cwd::getcwd(), $_[0]->[PATH] ) unless defined $base;
+
+ # relative base should be made absolute; we check is_absolute rather
+ # than unconditionally make base absolute so that "/foo" doesn't become
+ # "C:/foo" on Windows.
+ $base = path($base);
+ return path( ( $base->is_absolute ? $base : $base->absolute ), $_[0]->[PATH] );
}
#pod =method append, append_raw, append_utf8
@@ -69196,8 +70626,9 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
#pod unbuffered, raw write.
#pod
#pod C<append_utf8> is like C<append> with a C<binmode> of
- #pod C<:unix:encoding(UTF-8)>. If L<Unicode::UTF8> 0.58+ is installed, a raw
- #pod append will be done instead on the data encoded with C<Unicode::UTF8>.
+ #pod C<:unix:encoding(UTF-8)> (or L<PerlIO::utf8_strict>). If L<Unicode::UTF8>
+ #pod 0.58+ is installed, a raw append will be done instead on the data encoded
+ #pod with C<Unicode::UTF8>.
#pod
#pod Current API available since 0.060.
#pod
@@ -69231,6 +70662,10 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
$args->{binmode} = ":unix";
append( $self, $args, map { Unicode::UTF8::encode_utf8($_) } @data );
}
+ elsif ( defined($HAS_PU) ? $HAS_PU : ( $HAS_PU = _check_PU() ) ) {
+ $args->{binmode} = ":unix:utf8_strict";
+ append( $self, $args, @data );
+ }
else {
$args->{binmode} = ":unix:encoding(UTF-8)";
append( $self, $args, @data );
@@ -69308,6 +70743,27 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
sub canonpath { $_[0]->[CANON] }
+ #pod =method cached_temp
+ #pod
+ #pod Returns the cached C<File::Temp> or C<File::Temp::Dir> object if the
+ #pod C<Path::Tiny> object was created with C</tempfile> or C</tempdir>.
+ #pod If there is no such object, this method throws.
+ #pod
+ #pod B<WARNING>: Keeping a reference to, or modifying the cached object may
+ #pod break the behavior documented for temporary files and directories created
+ #pod with C<Path::Tiny> and is not supported. Use at your own risk.
+ #pod
+ #pod Current API available since 0.101.
+ #pod
+ #pod =cut
+
+ sub cached_temp {
+ my $self = shift;
+ $self->_throw( "cached_temp", $self, "has no cached File::Temp object" )
+ unless defined $self->[TEMP];
+ return $self->[TEMP];
+ }
+
#pod =method child
#pod
#pod $file = path("/tmp")->child("foo.txt"); # "/tmp/foo.txt"
@@ -69409,9 +70865,9 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
#pod
#pod path("/tmp/foo.txt")->copy("/tmp/bar.txt");
#pod
- #pod Copies a file using L<File::Copy>'s C<copy> function. Upon
- #pod success, returns the C<Path::Tiny> object for the newly copied
- #pod file.
+ #pod Copies the current path to the given destination using L<File::Copy>'s
+ #pod C<copy> function. Upon success, returns the C<Path::Tiny> object for the
+ #pod newly copied file.
#pod
#pod Current API available since 0.070.
#pod
@@ -69486,6 +70942,120 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
return length $self->[DIR] ? $self->[DIR] : ".";
}
+ #pod =method edit, edit_raw, edit_utf8
+ #pod
+ #pod path("foo.txt")->edit( \&callback, $options );
+ #pod path("foo.txt")->edit_utf8( \&callback );
+ #pod path("foo.txt")->edit_raw( \&callback );
+ #pod
+ #pod These are convenience methods that allow "editing" a file using a single
+ #pod callback argument. They slurp the file using C<slurp>, place the contents
+ #pod inside a localized C<$_> variable, call the callback function (without
+ #pod arguments), and then write C<$_> (presumably mutated) back to the
+ #pod file with C<spew>.
+ #pod
+ #pod An optional hash reference may be used to pass options. The only option is
+ #pod C<binmode>, which is passed to C<slurp> and C<spew>.
+ #pod
+ #pod C<edit_utf8> and C<edit_raw> act like their respective C<slurp_*> and
+ #pod C<spew_*> methods.
+ #pod
+ #pod Current API available since 0.077.
+ #pod
+ #pod =cut
+
+ sub edit {
+ my $self = shift;
+ my $cb = shift;
+ my $args = _get_args( shift, qw/binmode/ );
+ Carp::croak("Callback for edit() must be a code reference")
+ unless defined($cb) && ref($cb) eq 'CODE';
+
+ local $_ =
+ $self->slurp( exists( $args->{binmode} ) ? { binmode => $args->{binmode} } : () );
+ $cb->();
+ $self->spew( $args, $_ );
+
+ return;
+ }
+
+ # this is done long-hand to benefit from slurp_utf8 optimizations
+ sub edit_utf8 {
+ my ( $self, $cb ) = @_;
+ Carp::croak("Callback for edit_utf8() must be a code reference")
+ unless defined($cb) && ref($cb) eq 'CODE';
+
+ local $_ = $self->slurp_utf8;
+ $cb->();
+ $self->spew_utf8($_);
+
+ return;
+ }
+
+ sub edit_raw { $_[2] = { binmode => ":unix" }; goto &edit }
+
+ #pod =method edit_lines, edit_lines_utf8, edit_lines_raw
+ #pod
+ #pod path("foo.txt")->edit_lines( \&callback, $options );
+ #pod path("foo.txt")->edit_lines_utf8( \&callback );
+ #pod path("foo.txt")->edit_lines_raw( \&callback );
+ #pod
+ #pod These are convenience methods that allow "editing" a file's lines using a
+ #pod single callback argument. They iterate over the file: for each line, the
+ #pod line is put into a localized C<$_> variable, the callback function is
+ #pod executed (without arguments) and then C<$_> is written to a temporary file.
+ #pod When iteration is finished, the temporary file is atomically renamed over
+ #pod the original.
+ #pod
+ #pod An optional hash reference may be used to pass options. The only option is
+ #pod C<binmode>, which is passed to the method that open handles for reading and
+ #pod writing.
+ #pod
+ #pod C<edit_lines_utf8> and C<edit_lines_raw> act like their respective
+ #pod C<slurp_*> and C<spew_*> methods.
+ #pod
+ #pod Current API available since 0.077.
+ #pod
+ #pod =cut
+
+ sub edit_lines {
+ my $self = shift;
+ my $cb = shift;
+ my $args = _get_args( shift, qw/binmode/ );
+ Carp::croak("Callback for edit_lines() must be a code reference")
+ unless defined($cb) && ref($cb) eq 'CODE';
+
+ my $binmode = $args->{binmode};
+ # get default binmode from caller's lexical scope (see "perldoc open")
+ $binmode = ( ( caller(0) )[10] || {} )->{'open>'} unless defined $binmode;
+
+ # writing need to follow the link and create the tempfile in the same
+ # dir for later atomic rename
+ my $resolved_path = $self->_resolve_symlinks;
+ my $temp = path( $resolved_path . $$ . int( rand( 2**31 ) ) );
+
+ my $temp_fh = $temp->filehandle( { exclusive => 1, locked => 1 }, ">", $binmode );
+ my $in_fh = $self->filehandle( { locked => 1 }, '<', $binmode );
+
+ local $_;
+ while (<$in_fh>) {
+ $cb->();
+ $temp_fh->print($_);
+ }
+
+ close $temp_fh or $self->_throw( 'close', $temp );
+ close $in_fh or $self->_throw('close');
+
+ return $temp->move($resolved_path);
+ }
+
+ sub edit_lines_raw { $_[2] = { binmode => ":unix" }; goto &edit_lines }
+
+ sub edit_lines_utf8 {
+ $_[2] = { binmode => ":raw:encoding(UTF-8)" };
+ goto &edit_lines;
+ }
+
#pod =method exists, is_file, is_dir
#pod
#pod if ( path("/tmp")->exists ) { ... } # -e
@@ -69518,7 +71088,7 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
#pod $fh = path("/tmp/foo.txt")->filehandle({ exclusive => 1 }, $mode, $binmode);
#pod
#pod Returns an open file handle. The C<$mode> argument must be a Perl-style
- #pod read/write mode string ("<" ,">", "<<", etc.). If a C<$binmode>
+ #pod read/write mode string ("<" ,">", ">>", etc.). If a C<$binmode>
#pod is given, it is set during the C<open> call.
#pod
#pod An optional hash reference may be used to pass options.
@@ -69764,8 +71334,8 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
#pod C<lines_raw> is like C<lines> with a C<binmode> of C<:raw>. We use C<:raw>
#pod instead of C<:unix> so PerlIO buffering can manage reading by line.
#pod
- #pod C<lines_utf8> is like C<lines> with a C<binmode> of
- #pod C<:raw:encoding(UTF-8)>. If L<Unicode::UTF8> 0.58+ is installed, a raw
+ #pod C<lines_utf8> is like C<lines> with a C<binmode> of C<:raw:encoding(UTF-8)>
+ #pod (or L<PerlIO::utf8_strict>). If L<Unicode::UTF8> 0.58+ is installed, a raw
#pod UTF-8 slurp will be done and then the lines will be split. This is
#pod actually faster than relying on C<:encoding(UTF-8)>, though a bit memory
#pod intensive. If memory use is a concern, consider C<openr_utf8> and
@@ -69818,6 +71388,8 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
}
}
+ my $CRLF = qr/(?:\x{0d}?\x{0a}|\x{0d})/;
+
sub lines_utf8 {
my $self = shift;
my $args = _get_args( shift, qw/binmode chomp count/ );
@@ -69825,7 +71397,13 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
&& $args->{chomp}
&& !$args->{count} )
{
- return split /(?:\x{0d}?\x{0a}|\x{0d})/, slurp_utf8($self); ## no critic
+ my $slurp = slurp_utf8($self);
+ $slurp =~ s/$CRLF$//; # like chomp, but full CR?LF|CR
+ return split $CRLF, $slurp, -1; ## no critic
+ }
+ elsif ( defined($HAS_PU) ? $HAS_PU : ( $HAS_PU = _check_PU() ) ) {
+ $args->{binmode} = ":unix:utf8_strict";
+ return lines( $self, $args );
}
else {
$args->{binmode} = ":raw:encoding(UTF-8)";
@@ -69865,7 +71443,9 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
#pod
#pod path("foo.txt")->move("bar.txt");
#pod
- #pod Just like C<rename>.
+ #pod Move the current path to the given destination path using Perl's
+ #pod built-in L<rename|perlfunc/rename> function. Returns the result
+ #pod of the C<rename> function.
#pod
#pod Current API available since 0.001.
#pod
@@ -70032,6 +71612,7 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
# doesn't throw an error resolving non-existent basename
sub realpath {
my $self = shift;
+ $self = $self->_resolve_symlinks;
require Cwd;
$self->_splitpath if !defined $self->[FILE];
my $check_parent =
@@ -70051,16 +71632,139 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
#pod
#pod $rel = path("/tmp/foo/bar")->relative("/tmp"); # foo/bar
#pod
- #pod Returns a C<Path::Tiny> object with a relative path name.
- #pod Given the trickiness of this, it's a thin wrapper around
- #pod C<< File::Spec->abs2rel() >>.
+ #pod Returns a C<Path::Tiny> object with a path relative to a new base path
+ #pod given as an argument. If no argument is given, the current directory will
+ #pod be used as the new base path.
#pod
- #pod Current API available since 0.001.
+ #pod If either path is already relative, it will be made absolute based on the
+ #pod current directly before determining the new relative path.
+ #pod
+ #pod The algorithm is roughly as follows:
+ #pod
+ #pod =for :list
+ #pod * If the original and new base path are on different volumes, an exception
+ #pod will be thrown.
+ #pod * If the original and new base are identical, the relative path is C<".">.
+ #pod * If the new base subsumes the original, the relative path is the original
+ #pod path with the new base chopped off the front
+ #pod * If the new base does not subsume the original, a common prefix path is
+ #pod determined (possibly the root directory) and the relative path will
+ #pod consist of updirs (C<"..">) to reach the common prefix, followed by the
+ #pod original path less the common prefix.
+ #pod
+ #pod Unlike C<File::Spec::abs2rel>, in the last case above, the calculation based
+ #pod on a common prefix takes into account symlinks that could affect the updir
+ #pod process. Given an original path "/A/B" and a new base "/A/C",
+ #pod (where "A", "B" and "C" could each have multiple path components):
+ #pod
+ #pod =for :list
+ #pod * Symlinks in "A" don't change the result unless the last component of A is
+ #pod a symlink and the first component of "C" is an updir.
+ #pod * Symlinks in "B" don't change the result and will exist in the result as
+ #pod given.
+ #pod * Symlinks and updirs in "C" must be resolved to actual paths, taking into
+ #pod account the possibility that not all path components might exist on the
+ #pod filesystem.
+ #pod
+ #pod Current API available since 0.001. New algorithm (that accounts for
+ #pod symlinks) available since 0.079.
#pod
#pod =cut
- # Easy to get wrong, so wash it through File::Spec (sigh)
- sub relative { path( File::Spec->abs2rel( $_[0]->[PATH], $_[1] ) ) }
+ sub relative {
+ my ( $self, $base ) = @_;
+ $base = path( defined $base && length $base ? $base : '.' );
+
+ # relative paths must be converted to absolute first
+ $self = $self->absolute if $self->is_relative;
+ $base = $base->absolute if $base->is_relative;
+
+ # normalize volumes if they exist
+ $self = $self->absolute if !length $self->volume && length $base->volume;
+ $base = $base->absolute if length $self->volume && !length $base->volume;
+
+ # can't make paths relative across volumes
+ if ( !_same( $self->volume, $base->volume ) ) {
+ Carp::croak("relative() can't cross volumes: '$self' vs '$base'");
+ }
+
+ # if same absolute path, relative is current directory
+ return path(".") if _same( $self->[PATH], $base->[PATH] );
+
+ # if base is a prefix of self, chop prefix off self
+ if ( $base->subsumes($self) ) {
+ $base = "" if $base->is_rootdir;
+ my $relative = "$self";
+ $relative =~ s{\A\Q$base/}{};
+ return path($relative);
+ }
+
+ # base is not a prefix, so must find a common prefix (even if root)
+ my ( @common, @self_parts, @base_parts );
+ @base_parts = split /\//, $base->_just_filepath;
+
+ # if self is rootdir, then common directory is root (shown as empty
+ # string for later joins); otherwise, must be computed from path parts.
+ if ( $self->is_rootdir ) {
+ @common = ("");
+ shift @base_parts;
+ }
+ else {
+ @self_parts = split /\//, $self->_just_filepath;
+
+ while ( @self_parts && @base_parts && _same( $self_parts[0], $base_parts[0] ) ) {
+ push @common, shift @base_parts;
+ shift @self_parts;
+ }
+ }
+
+ # if there are any symlinks from common to base, we have a problem, as
+ # you can't guarantee that updir from base reaches the common prefix;
+ # we must resolve symlinks and try again; likewise, any updirs are
+ # a problem as it throws off calculation of updirs needed to get from
+ # self's path to the common prefix.
+ if ( my $new_base = $self->_resolve_between( \@common, \@base_parts ) ) {
+ return $self->relative($new_base);
+ }
+
+ # otherwise, symlinks in common or from common to A don't matter as
+ # those don't involve updirs
+ my @new_path = ( ("..") x ( 0+ @base_parts ), @self_parts );
+ return path(@new_path);
+ }
+
+ sub _just_filepath {
+ my $self = shift;
+ my $self_vol = $self->volume;
+ return "$self" if !length $self_vol;
+
+ ( my $self_path = "$self" ) =~ s{\A\Q$self_vol}{};
+
+ return $self_path;
+ }
+
+ sub _resolve_between {
+ my ( $self, $common, $base ) = @_;
+ my $path = $self->volume . join( "/", @$common );
+ my $changed = 0;
+ for my $p (@$base) {
+ $path .= "/$p";
+ if ( $p eq '..' ) {
+ $changed = 1;
+ if ( -e $path ) {
+ $path = path($path)->realpath->[PATH];
+ }
+ else {
+ $path =~ s{/[^/]+/..$}{/};
+ }
+ }
+ if ( -l $path ) {
+ $changed = 1;
+ $path = path($path)->realpath->[PATH];
+ }
+ }
+ return $changed ? path($path) : undef;
+ }
#pod =method remove
#pod
@@ -70145,18 +71849,18 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
#pod $data = path("foo.txt")->slurp_raw;
#pod $data = path("foo.txt")->slurp_utf8;
#pod
- #pod Reads file contents into a scalar. Takes an optional hash reference may be
- #pod used to pass options. The only option is C<binmode>, which is passed to
- #pod C<binmode()> on the handle used for reading.
+ #pod Reads file contents into a scalar. Takes an optional hash reference which may
+ #pod be used to pass options. The only available option is C<binmode>, which is
+ #pod passed to C<binmode()> on the handle used for reading.
#pod
#pod C<slurp_raw> is like C<slurp> with a C<binmode> of C<:unix> for
#pod a fast, unbuffered, raw read.
#pod
#pod C<slurp_utf8> is like C<slurp> with a C<binmode> of
- #pod C<:unix:encoding(UTF-8)>. If L<Unicode::UTF8> 0.58+ is installed, a raw
- #pod slurp will be done instead and the result decoded with C<Unicode::UTF8>.
- #pod This is just as strict and is roughly an order of magnitude faster than
- #pod using C<:encoding(UTF-8)>.
+ #pod C<:unix:encoding(UTF-8)> (or L<PerlIO::utf8_strict>). If L<Unicode::UTF8>
+ #pod 0.58+ is installed, a raw slurp will be done instead and the result decoded
+ #pod with C<Unicode::UTF8>. This is just as strict and is roughly an order of
+ #pod magnitude faster than using C<:encoding(UTF-8)>.
#pod
#pod B<Note>: C<slurp> and friends lock the filehandle before slurping. If
#pod you plan to slurp from a file created with L<File::Temp>, be sure to
@@ -70194,6 +71898,10 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
if ( defined($HAS_UU) ? $HAS_UU : ( $HAS_UU = _check_UU() ) ) {
return Unicode::UTF8::decode_utf8( slurp( $_[0], { binmode => ":unix" } ) );
}
+ elsif ( defined($HAS_PU) ? $HAS_PU : ( $HAS_PU = _check_PU() ) ) {
+ $_[1] = { binmode => ":unix:utf8_strict" };
+ goto &slurp;
+ }
else {
$_[1] = { binmode => ":raw:encoding(UTF-8)" };
goto &slurp;
@@ -70216,9 +71924,9 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
#pod C<spew_raw> is like C<spew> with a C<binmode> of C<:unix> for a fast,
#pod unbuffered, raw write.
#pod
- #pod C<spew_utf8> is like C<spew> with a C<binmode> of C<:unix:encoding(UTF-8)>.
- #pod If L<Unicode::UTF8> 0.58+ is installed, a raw spew will be done instead on
- #pod the data encoded with C<Unicode::UTF8>.
+ #pod C<spew_utf8> is like C<spew> with a C<binmode> of C<:unix:encoding(UTF-8)>
+ #pod (or L<PerlIO::utf8_strict>). If L<Unicode::UTF8> 0.58+ is installed, a raw
+ #pod spew will be done instead on the data encoded with C<Unicode::UTF8>.
#pod
#pod B<NOTE>: because the file is written to a temporary file and then renamed, the
#pod new file will wind up with permissions based on your current umask. This is a
@@ -70238,15 +71946,16 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
my $binmode = $args->{binmode};
# get default binmode from caller's lexical scope (see "perldoc open")
$binmode = ( ( caller(0) )[10] || {} )->{'open>'} unless defined $binmode;
- my $temp = path( $self->[PATH] . $$ . int( rand( 2**31 ) ) );
+
+ # spewing need to follow the link
+ # and create the tempfile in the same dir
+ my $resolved_path = $self->_resolve_symlinks;
+
+ my $temp = path( $resolved_path . $$ . int( rand( 2**31 ) ) );
my $fh = $temp->filehandle( { exclusive => 1, locked => 1 }, ">", $binmode );
print {$fh} map { ref eq 'ARRAY' ? @$_ : $_ } @data;
close $fh or $self->_throw( 'close', $temp->[PATH] );
- # spewing need to follow the link
- # and replace the destination instead
- my $resolved_path = $self->[PATH];
- $resolved_path = readlink $resolved_path while -l $resolved_path;
return $temp->move($resolved_path);
}
@@ -70255,7 +71964,15 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
sub spew_utf8 {
if ( defined($HAS_UU) ? $HAS_UU : ( $HAS_UU = _check_UU() ) ) {
my $self = shift;
- spew( $self, { binmode => ":unix" }, map { Unicode::UTF8::encode_utf8($_) } @_ );
+ spew(
+ $self,
+ { binmode => ":unix" },
+ map { Unicode::UTF8::encode_utf8($_) } map { ref eq 'ARRAY' ? @$_ : $_ } @_
+ );
+ }
+ elsif ( defined($HAS_PU) ? $HAS_PU : ( $HAS_PU = _check_PU() ) ) {
+ splice @_, 1, 0, { binmode => ":unix:utf8_strict" };
+ goto &spew;
}
else {
splice @_, 1, 0, { binmode => ":unix:encoding(UTF-8)" };
@@ -70384,9 +72101,15 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
my $fh = $self->openw;
close $fh or $self->_throw('close');
}
- $epoch = defined($epoch) ? $epoch : time();
- utime $epoch, $epoch, $self->[PATH]
- or $self->_throw("utime ($epoch)");
+ if ( defined $epoch ) {
+ utime $epoch, $epoch, $self->[PATH]
+ or $self->_throw("utime ($epoch)");
+ }
+ else {
+ # literal undef prevents warnings :-(
+ utime undef, undef, $self->[PATH]
+ or $self->_throw("utime ()");
+ }
return $self;
}
@@ -70412,12 +72135,11 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
#pod
#pod path("/tmp")->visit( \&callback, \%options );
#pod
- #pod Wraps the L</iterator> method to execute a callback for each directory entry.
- #pod It returns a hash reference with any state accumulated during
- #pod iteration.
+ #pod Executes a callback for each child of a directory. It returns a hash
+ #pod reference with any state accumulated during iteration.
#pod
- #pod The options are the same as for L</iterator>: C<recurse> and
- #pod C<follow_symlinks>. Both default to false.
+ #pod The options are the same as for L</iterator> (which it uses internally):
+ #pod C<recurse> and C<follow_symlinks>. Both default to false.
#pod
#pod The callback function will receive a C<Path::Tiny> object as the first argument
#pod and a hash reference to accumulate state as the second argument. For example:
@@ -70480,7 +72202,7 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
#pod $vol = path("C:/tmp/foo.txt")->volume; # "C:"
#pod
#pod Returns the volume portion of the path. This is equivalent
- #pod equivalent to what L<File::Spec> would give from C<splitpath> and thus
+ #pod to what L<File::Spec> would give from C<splitpath> and thus
#pod usually is the empty string on Unix-like operating systems or the
#pod drive letter for an absolute path on C<MSWin32>.
#pod
@@ -70524,7 +72246,7 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
=head1 VERSION
- version 0.072
+ version 0.104
=head1 SYNOPSIS
@@ -70568,10 +72290,10 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
=head1 DESCRIPTION
- This module provide a small, fast utility for working with file paths. It is
+ This module provides a small, fast utility for working with file paths. It is
friendlier to use than L<File::Spec> and provides easy access to functions from
several other core file handling modules. It aims to be smaller and faster
- than many alternatives on CPAN while helping people do many common things in
+ than many alternatives on CPAN, while helping people do many common things in
consistent and less error-prone ways.
Path::Tiny does not try to work for anything except Unix-like and Win32
@@ -70585,10 +72307,15 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
File input/output methods C<flock> handles before reading or writing,
as appropriate (if supported by the platform).
- The C<*_utf8> methods (C<slurp_utf8>, C<lines_utf8>, etc.) operate in raw mode.
- On Windows, that means they will not have CRLF translation from the C<:crlf> IO
- layer. Installing L<Unicode::UTF8> 0.58 or later will speed up C<*_utf8>
- situations in many cases and is highly recommended.
+ The C<*_utf8> methods (C<slurp_utf8>, C<lines_utf8>, etc.) operate in raw
+ mode. On Windows, that means they will not have CRLF translation from the
+ C<:crlf> IO layer. Installing L<Unicode::UTF8> 0.58 or later will speed up
+ C<*_utf8> situations in many cases and is highly recommended.
+ Alternatively, installing L<PerlIO::utf8_strict> 0.003 or later will be
+ used in place of the default C<:encoding(UTF-8)>.
+
+ This module depends heavily on PerlIO layers for correct operation and thus
+ requires Perl 5.008001 or later.
=head1 CONSTRUCTORS
@@ -70690,7 +72417,10 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
$temp = Path::Tiny->tempfile( TEMPLATE => "customXXXXXXXX" ); # ok
The tempfile path object will be normalized to have an absolute path, even if
- created in a relative directory using C<DIR>.
+ created in a relative directory using C<DIR>. If you want it to have
+ the C<realpath> instead, pass a leading options hash like this:
+
+ $real_temp = tempfile({realpath => 1}, @options);
C<tempdir> is just like C<tempfile>, except it calls
C<< File::Temp->newdir >> instead.
@@ -70704,7 +72434,21 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
C<Path::Tiny> gives you to be just a temporary file B<name> that gets cleaned
up.
- Current API available since 0.018.
+ B<Note 2>: if you don't want these cleaned up automatically when the object
+ is destroyed, File::Temp requires different options for directories and
+ files. Use C<< CLEANUP => 0 >> for directories and C<< UNLINK => 0 >> for
+ files.
+
+ B<Note 3>: Don't lose the temporary object by chaining a method call instead
+ of storing it:
+
+ my $lost = tempdir()->child("foo"); # tempdir cleaned up right away
+
+ B<Note 4>: The cached object may be accessed with the L</cached_temp> method.
+ Keeping a reference to, or modifying the cached object may break the
+ behavior documented above and is not supported. Use at your own risk.
+
+ Current API available since 0.097.
=head1 METHODS
@@ -70714,9 +72458,9 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
$abs = path("foo/bar")->absolute("/tmp");
Returns a new C<Path::Tiny> object with an absolute path (or itself if already
- absolute). Unless an argument is given, the current directory is used as the
- absolute base path. The argument must be absolute or you won't get an absolute
- result.
+ absolute). If no argument is given, the current directory is used as the
+ absolute base path. If an argument is given, it will be converted to an
+ absolute path (if it is not already) and used as the absolute base path.
This will not resolve upward directories ("foo/../bar") unless C<canonpath>
in L<File::Spec> would normally do so on your platform. If you need them
@@ -70725,7 +72469,7 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
On Windows, an absolute path without a volume component will have it added
based on the current drive.
- Current API available since 0.001.
+ Current API available since 0.101.
=head2 append, append_raw, append_utf8
@@ -70758,8 +72502,9 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
unbuffered, raw write.
C<append_utf8> is like C<append> with a C<binmode> of
- C<:unix:encoding(UTF-8)>. If L<Unicode::UTF8> 0.58+ is installed, a raw
- append will be done instead on the data encoded with C<Unicode::UTF8>.
+ C<:unix:encoding(UTF-8)> (or L<PerlIO::utf8_strict>). If L<Unicode::UTF8>
+ 0.58+ is installed, a raw append will be done instead on the data encoded
+ with C<Unicode::UTF8>.
Current API available since 0.060.
@@ -70801,6 +72546,18 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
Current API available since 0.001.
+ =head2 cached_temp
+
+ Returns the cached C<File::Temp> or C<File::Temp::Dir> object if the
+ C<Path::Tiny> object was created with C</tempfile> or C</tempdir>.
+ If there is no such object, this method throws.
+
+ B<WARNING>: Keeping a reference to, or modifying the cached object may
+ break the behavior documented for temporary files and directories created
+ with C<Path::Tiny> and is not supported. Use at your own risk.
+
+ Current API available since 0.101.
+
=head2 child
$file = path("/tmp")->child("foo.txt"); # "/tmp/foo.txt"
@@ -70852,9 +72609,9 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
path("/tmp/foo.txt")->copy("/tmp/bar.txt");
- Copies a file using L<File::Copy>'s C<copy> function. Upon
- success, returns the C<Path::Tiny> object for the newly copied
- file.
+ Copies the current path to the given destination using L<File::Copy>'s
+ C<copy> function. Upon success, returns the C<Path::Tiny> object for the
+ newly copied file.
Current API available since 0.070.
@@ -70889,6 +72646,48 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
Deprecated in 0.056.
+ =head2 edit, edit_raw, edit_utf8
+
+ path("foo.txt")->edit( \&callback, $options );
+ path("foo.txt")->edit_utf8( \&callback );
+ path("foo.txt")->edit_raw( \&callback );
+
+ These are convenience methods that allow "editing" a file using a single
+ callback argument. They slurp the file using C<slurp>, place the contents
+ inside a localized C<$_> variable, call the callback function (without
+ arguments), and then write C<$_> (presumably mutated) back to the
+ file with C<spew>.
+
+ An optional hash reference may be used to pass options. The only option is
+ C<binmode>, which is passed to C<slurp> and C<spew>.
+
+ C<edit_utf8> and C<edit_raw> act like their respective C<slurp_*> and
+ C<spew_*> methods.
+
+ Current API available since 0.077.
+
+ =head2 edit_lines, edit_lines_utf8, edit_lines_raw
+
+ path("foo.txt")->edit_lines( \&callback, $options );
+ path("foo.txt")->edit_lines_utf8( \&callback );
+ path("foo.txt")->edit_lines_raw( \&callback );
+
+ These are convenience methods that allow "editing" a file's lines using a
+ single callback argument. They iterate over the file: for each line, the
+ line is put into a localized C<$_> variable, the callback function is
+ executed (without arguments) and then C<$_> is written to a temporary file.
+ When iteration is finished, the temporary file is atomically renamed over
+ the original.
+
+ An optional hash reference may be used to pass options. The only option is
+ C<binmode>, which is passed to the method that open handles for reading and
+ writing.
+
+ C<edit_lines_utf8> and C<edit_lines_raw> act like their respective
+ C<slurp_*> and C<spew_*> methods.
+
+ Current API available since 0.077.
+
=head2 exists, is_file, is_dir
if ( path("/tmp")->exists ) { ... } # -e
@@ -70913,7 +72712,7 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
$fh = path("/tmp/foo.txt")->filehandle({ exclusive => 1 }, $mode, $binmode);
Returns an open file handle. The C<$mode> argument must be a Perl-style
- read/write mode string ("<" ,">", "<<", etc.). If a C<$binmode>
+ read/write mode string ("<" ,">", ">>", etc.). If a C<$binmode>
is given, it is set during the C<open> call.
An optional hash reference may be used to pass options.
@@ -71022,8 +72821,8 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
C<lines_raw> is like C<lines> with a C<binmode> of C<:raw>. We use C<:raw>
instead of C<:unix> so PerlIO buffering can manage reading by line.
- C<lines_utf8> is like C<lines> with a C<binmode> of
- C<:raw:encoding(UTF-8)>. If L<Unicode::UTF8> 0.58+ is installed, a raw
+ C<lines_utf8> is like C<lines> with a C<binmode> of C<:raw:encoding(UTF-8)>
+ (or L<PerlIO::utf8_strict>). If L<Unicode::UTF8> 0.58+ is installed, a raw
UTF-8 slurp will be done and then the lines will be split. This is
actually faster than relying on C<:encoding(UTF-8)>, though a bit memory
intensive. If memory use is a concern, consider C<openr_utf8> and
@@ -71047,7 +72846,9 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
path("foo.txt")->move("bar.txt");
- Just like C<rename>.
+ Move the current path to the given destination path using Perl's
+ built-in L<rename|perlfunc/rename> function. Returns the result
+ of the C<rename> function.
Current API available since 0.001.
@@ -71128,11 +72929,58 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
$rel = path("/tmp/foo/bar")->relative("/tmp"); # foo/bar
- Returns a C<Path::Tiny> object with a relative path name.
- Given the trickiness of this, it's a thin wrapper around
- C<< File::Spec->abs2rel() >>.
+ Returns a C<Path::Tiny> object with a path relative to a new base path
+ given as an argument. If no argument is given, the current directory will
+ be used as the new base path.
- Current API available since 0.001.
+ If either path is already relative, it will be made absolute based on the
+ current directly before determining the new relative path.
+
+ The algorithm is roughly as follows:
+
+ =over 4
+
+ =item *
+
+ If the original and new base path are on different volumes, an exception will be thrown.
+
+ =item *
+
+ If the original and new base are identical, the relative path is C<".">.
+
+ =item *
+
+ If the new base subsumes the original, the relative path is the original path with the new base chopped off the front
+
+ =item *
+
+ If the new base does not subsume the original, a common prefix path is determined (possibly the root directory) and the relative path will consist of updirs (C<"..">) to reach the common prefix, followed by the original path less the common prefix.
+
+ =back
+
+ Unlike C<File::Spec::abs2rel>, in the last case above, the calculation based
+ on a common prefix takes into account symlinks that could affect the updir
+ process. Given an original path "/A/B" and a new base "/A/C",
+ (where "A", "B" and "C" could each have multiple path components):
+
+ =over 4
+
+ =item *
+
+ Symlinks in "A" don't change the result unless the last component of A is a symlink and the first component of "C" is an updir.
+
+ =item *
+
+ Symlinks in "B" don't change the result and will exist in the result as given.
+
+ =item *
+
+ Symlinks and updirs in "C" must be resolved to actual paths, taking into account the possibility that not all path components might exist on the filesystem.
+
+ =back
+
+ Current API available since 0.001. New algorithm (that accounts for
+ symlinks) available since 0.079.
=head2 remove
@@ -71181,18 +73029,18 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
$data = path("foo.txt")->slurp_raw;
$data = path("foo.txt")->slurp_utf8;
- Reads file contents into a scalar. Takes an optional hash reference may be
- used to pass options. The only option is C<binmode>, which is passed to
- C<binmode()> on the handle used for reading.
+ Reads file contents into a scalar. Takes an optional hash reference which may
+ be used to pass options. The only available option is C<binmode>, which is
+ passed to C<binmode()> on the handle used for reading.
C<slurp_raw> is like C<slurp> with a C<binmode> of C<:unix> for
a fast, unbuffered, raw read.
C<slurp_utf8> is like C<slurp> with a C<binmode> of
- C<:unix:encoding(UTF-8)>. If L<Unicode::UTF8> 0.58+ is installed, a raw
- slurp will be done instead and the result decoded with C<Unicode::UTF8>.
- This is just as strict and is roughly an order of magnitude faster than
- using C<:encoding(UTF-8)>.
+ C<:unix:encoding(UTF-8)> (or L<PerlIO::utf8_strict>). If L<Unicode::UTF8>
+ 0.58+ is installed, a raw slurp will be done instead and the result decoded
+ with C<Unicode::UTF8>. This is just as strict and is roughly an order of
+ magnitude faster than using C<:encoding(UTF-8)>.
B<Note>: C<slurp> and friends lock the filehandle before slurping. If
you plan to slurp from a file created with L<File::Temp>, be sure to
@@ -71219,9 +73067,9 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
C<spew_raw> is like C<spew> with a C<binmode> of C<:unix> for a fast,
unbuffered, raw write.
- C<spew_utf8> is like C<spew> with a C<binmode> of C<:unix:encoding(UTF-8)>.
- If L<Unicode::UTF8> 0.58+ is installed, a raw spew will be done instead on
- the data encoded with C<Unicode::UTF8>.
+ C<spew_utf8> is like C<spew> with a C<binmode> of C<:unix:encoding(UTF-8)>
+ (or L<PerlIO::utf8_strict>). If L<Unicode::UTF8> 0.58+ is installed, a raw
+ spew will be done instead on the data encoded with C<Unicode::UTF8>.
B<NOTE>: because the file is written to a temporary file and then renamed, the
new file will wind up with permissions based on your current umask. This is a
@@ -71300,12 +73148,11 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
path("/tmp")->visit( \&callback, \%options );
- Wraps the L</iterator> method to execute a callback for each directory entry.
- It returns a hash reference with any state accumulated during
- iteration.
+ Executes a callback for each child of a directory. It returns a hash
+ reference with any state accumulated during iteration.
- The options are the same as for L</iterator>: C<recurse> and
- C<follow_symlinks>. Both default to false.
+ The options are the same as for L</iterator> (which it uses internally):
+ C<recurse> and C<follow_symlinks>. Both default to false.
The callback function will receive a C<Path::Tiny> object as the first argument
and a hash reference to accumulate state as the second argument. For example:
@@ -71350,7 +73197,7 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
$vol = path("C:/tmp/foo.txt")->volume; # "C:"
Returns the volume portion of the path. This is equivalent
- equivalent to what L<File::Spec> would give from C<splitpath> and thus
+ to what L<File::Spec> would give from C<splitpath> and thus
usually is the empty string on Unix-like operating systems or the
drive letter for an absolute path on C<MSWin32>.
@@ -71358,7 +73205,7 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
=for Pod::Coverage openr_utf8 opena_utf8 openw_utf8 openrw_utf8
openr_raw opena_raw openw_raw openrw_raw
- IS_BSD IS_WIN32 FREEZE THAW TO_JSON
+ IS_BSD IS_WIN32 FREEZE THAW TO_JSON abs2rel
=head1 EXCEPTION HANDLING
@@ -71392,6 +73239,12 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
=head1 CAVEATS
+ =head2 Subclassing not supported
+
+ For speed, this class is implemented as an array based object and uses many
+ direct function calls internally. You must not subclass it and expect
+ things to work properly.
+
=head2 File locking
If flock is not supported on a platform, it will not be used, even if
@@ -71418,7 +73271,7 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
=head2 utf8 vs UTF-8
- All the C<*_utf8> methods use C<:encoding(UTF-8)> -- either as
+ All the C<*_utf8> methods by default use C<:encoding(UTF-8)> -- either as
C<:unix:encoding(UTF-8)> (unbuffered) or C<:raw:encoding(UTF-8)> (buffered) --
which is strict against the Unicode spec and disallows illegal Unicode
codepoints or UTF-8 sequences.
@@ -71426,7 +73279,8 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
Unfortunately, C<:encoding(UTF-8)> is very, very slow. If you install
L<Unicode::UTF8> 0.58 or later, that module will be used by some C<*_utf8>
methods to encode or decode data after a raw, binary input/output operation,
- which is much faster.
+ which is much faster. Alternatively, if you install L<PerlIO::utf8_strict>,
+ that will be used instead of C<:encoding(UTF-8)> and is also very fast.
If you need the performance and can accept the security risk,
C<< slurp({binmode => ":unix:utf8"}) >> will be faster than C<:unix:encoding(UTF-8)>
@@ -71439,10 +73293,6 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
$path->spew_utf8($data); # raw
$path->spew({binmode => ":encoding(UTF-8)"}, $data; # LF -> CRLF
- Consider L<PerlIO::utf8_strict> for a faster L<PerlIO> layer alternative to
- C<:encoding(UTF-8)>, though it does not appear to be as fast as the
- C<Unicode::UTF8> approach.
-
=head2 Default IO layers and the open pragma
If you have Perl 5.10 or later, file input/output methods (C<slurp>, C<spew>,
@@ -71527,7 +73377,7 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
=head1 CONTRIBUTORS
- =for stopwords Alex Efros Chris Williams David Steinbrunner Doug Bell Gabor Szabo Gabriel Andrade George Hartzell Geraud Continsouzas Goro Fuji Graham Knop James Hunt Karen Etheridge Martin Kjeldsen Michael G. Schwern Philippe Bruhat (BooK) Regina Verbae regina-verbae Smylers Tatsuhiko Miyagawa Toby Inkster Yanick Champoux ê¹€ë„형 - Keedi Kim
+ =for stopwords Alex Efros Chris Williams Dave Rolsky David Steinbrunner Doug Bell Gabor Szabo Gabriel Andrade George Hartzell Geraud Continsouzas Goro Fuji Graham Knop Ollis James Hunt John Karr Karen Etheridge Mark Ellis Martin Kjeldsen Michael G. Schwern Nigel Gregoire Philippe Bruhat (BooK) Regina Verbae Roy Ivy III Shlomi Fish Smylers Tatsuhiko Miyagawa Toby Inkster Yanick Champoux ê¹€ë„형 - Keedi Kim
=over 4
@@ -71541,6 +73391,10 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
=item *
+ Dave Rolsky <autarch@urth.org>
+
+ =item *
+
David Steinbrunner <dsteinbrunner@pobox.com>
=item *
@@ -71573,14 +73427,26 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
=item *
+ Graham Ollis <plicease@cpan.org>
+
+ =item *
+
James Hunt <james@niftylogic.com>
=item *
+ John Karr <brainbuz@brainbuz.org>
+
+ =item *
+
Karen Etheridge <ether@cpan.org>
=item *
+ Mark Ellis <mark.ellis@cartridgesave.co.uk>
+
+ =item *
+
Martin Kjeldsen <mk@bluepipe.dk>
=item *
@@ -71589,6 +73455,10 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
=item *
+ Nigel Gregoire <nigelgregoire@gmail.com>
+
+ =item *
+
Philippe Bruhat (BooK) <book@cpan.org>
=item *
@@ -71597,7 +73467,11 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
=item *
- regina-verbae <regina-verbae@users.noreply.github.com>
+ Roy Ivy III <rivy@cpan.org>
+
+ =item *
+
+ Shlomi Fish <shlomif@shlomifish.org>
=item *
@@ -71632,175 +73506,12 @@ $fatpacked{"Path/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PATH_
=cut
PATH_TINY
-$fatpacked{"Sub/Exporter/Progressive.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'SUB_EXPORTER_PROGRESSIVE';
- package Sub::Exporter::Progressive;
-
- use strict;
- use warnings;
-
- our $VERSION = '0.001011';
-
- use Carp ();
- use List::Util ();
-
- sub import {
- my ($self, @args) = @_;
-
- my $inner_target = caller;
- my $export_data = sub_export_options($inner_target, @args);
-
- my $full_exporter;
- no strict 'refs';
- @{"${inner_target}::EXPORT_OK"} = @{$export_data->{exports}};
- @{"${inner_target}::EXPORT"} = @{$export_data->{defaults}};
- %{"${inner_target}::EXPORT_TAGS"} = %{$export_data->{tags}};
- *{"${inner_target}::import"} = sub {
- use strict;
- my ($self, @args) = @_;
-
- if (List::Util::first { ref || !m/ \A [:-]? \w+ \z /xm } @args) {
- Carp::croak 'your usage of Sub::Exporter::Progressive requires Sub::Exporter to be installed'
- unless eval { require Sub::Exporter };
- $full_exporter ||= Sub::Exporter::build_exporter($export_data->{original});
-
- goto $full_exporter;
- } elsif (defined(my $num = List::Util::first { !ref and m/^\d/ } @args)) {
- die "cannot export symbols with a leading digit: '$num'";
- } else {
- require Exporter;
- s/ \A - /:/xm for @args;
- @_ = ($self, @args);
- goto \&Exporter::import;
- }
- };
- return;
- }
-
- my $too_complicated = <<'DEATH';
- You are using Sub::Exporter::Progressive, but the features your program uses from
- Sub::Exporter cannot be implemented without Sub::Exporter, so you might as well
- just use vanilla Sub::Exporter
- DEATH
-
- sub sub_export_options {
- my ($inner_target, $setup, $options) = @_;
-
- my @exports;
- my @defaults;
- my %tags;
-
- if ($setup eq '-setup') {
- my %options = %$options;
-
- OPTIONS:
- for my $opt (keys %options) {
- if ($opt eq 'exports') {
-
- Carp::croak $too_complicated if ref $options{exports} ne 'ARRAY';
- @exports = @{$options{exports}};
- Carp::croak $too_complicated if List::Util::first { ref } @exports;
-
- } elsif ($opt eq 'groups') {
- %tags = %{$options{groups}};
- for my $tagset (values %tags) {
- Carp::croak $too_complicated if List::Util::first { / \A - (?! all \b ) /x || ref } @{$tagset};
- }
- @defaults = @{$tags{default} || [] };
- } else {
- Carp::croak $too_complicated;
- }
- }
- @{$_} = map { / \A [:-] all \z /x ? @exports : $_ } @{$_} for \@defaults, values %tags;
- $tags{all} ||= [ @exports ];
- my %exports = map { $_ => 1 } @exports;
- my @errors = grep { not $exports{$_} } @defaults;
- Carp::croak join(', ', @errors) . " is not exported by the $inner_target module\n" if @errors;
- }
-
- return {
- exports => \@exports,
- defaults => \@defaults,
- original => $options,
- tags => \%tags,
- };
- }
-
- 1;
-
- =encoding utf8
-
- =head1 NAME
-
- Sub::Exporter::Progressive - Only use Sub::Exporter if you need it
-
- =head1 SYNOPSIS
-
- package Syntax::Keyword::Gather;
-
- use Sub::Exporter::Progressive -setup => {
- exports => [qw( break gather gathered take )],
- groups => {
- default => [qw( break gather gathered take )],
- },
- };
-
- # elsewhere
-
- # uses Exporter for speed
- use Syntax::Keyword::Gather;
-
- # somewhere else
-
- # uses Sub::Exporter for features
- use Syntax::Keyword::Gather 'gather', take => { -as => 'grab' };
-
- =head1 DESCRIPTION
-
- L<Sub::Exporter> is an incredibly powerful module, but with that power comes
- great responsibility, er- as well as some runtime penalties. This module
- is a C<Sub::Exporter> wrapper that will let your users just use L<Exporter>
- if all they are doing is picking exports, but use C<Sub::Exporter> if your
- users try to use C<Sub::Exporter>'s more advanced features, like
- renaming exports, if they try to use them.
-
- Note that this module will export C<@EXPORT>, C<@EXPORT_OK> and
- C<%EXPORT_TAGS> package variables for C<Exporter> to work. Additionally, if
- your package uses advanced C<Sub::Exporter> features like currying, this module
- will only ever use C<Sub::Exporter>, so you might as well use it directly.
-
- =head1 AUTHOR
-
- frew - Arthur Axel Schmidt (cpan:FREW) <frioux+cpan@gmail.com>
-
- =head1 CONTRIBUTORS
-
- ilmari - Dagfinn Ilmari Mannsåker (cpan:ILMARI) <ilmari@ilmari.org>
-
- mst - Matt S. Trout (cpan:MSTROUT) <mst@shadowcat.co.uk>
-
- leont - Leon Timmermans (cpan:LEONT) <leont@cpan.org>
-
- =head1 COPYRIGHT
-
- Copyright (c) 2012 the Sub::Exporter::Progressive L</AUTHOR> and
- L</CONTRIBUTORS> as listed above.
-
- =head1 LICENSE
-
- This library is free software and may be distributed under the same terms
- as perl itself.
-
- =cut
-SUB_EXPORTER_PROGRESSIVE
-
$fatpacked{"Try/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'TRY_TINY';
- package Try::Tiny;
- BEGIN {
- $Try::Tiny::AUTHORITY = 'cpan:NUFFIN';
- }
- $Try::Tiny::VERSION = '0.22';
+ package Try::Tiny; # git description: v0.27-8-g8dc27c7
use 5.006;
- # ABSTRACT: minimal try/catch with proper preservation of $@
+ # ABSTRACT: Minimal try/catch with proper preservation of $@
+
+ our $VERSION = '0.28';
use strict;
use warnings;
@@ -71811,7 +73522,23 @@ $fatpacked{"Try/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'TRY_TI
use Carp;
$Carp::Internal{+__PACKAGE__}++;
- BEGIN { eval "use Sub::Name; 1" or *{subname} = sub {1} }
+ BEGIN {
+ my $su = $INC{'Sub/Util.pm'} && defined &Sub::Util::set_subname;
+ my $sn = $INC{'Sub/Name.pm'} && eval { Sub::Name->VERSION(0.08) };
+ unless ($su || $sn) {
+ $su = eval { require Sub::Util; } && defined &Sub::Util::set_subname;
+ unless ($su) {
+ $sn = eval { require Sub::Name; Sub::Name->VERSION(0.08) };
+ }
+ }
+
+ *_subname = $su ? \&Sub::Util::set_subname
+ : $sn ? \&Sub::Name::subname
+ : sub { $_[1] };
+ *_HAS_SUBNAME = ($su || $sn) ? sub(){1} : sub(){0};
+ }
+
+ my %_finally_guards;
# Need to prototype as @ not $$ because of the way Perl evaluates the prototype.
# Keeping it at $$ means you only ever get 1 sub because we need to eval in a list
@@ -71853,9 +73580,17 @@ $fatpacked{"Try/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'TRY_TI
# name the blocks if we have Sub::Name installed
my $caller = caller;
- subname("${caller}::try {...} " => $try);
- subname("${caller}::catch {...} " => $catch) if $catch;
- subname("${caller}::finally {...} " => $_) foreach @finally;
+ _subname("${caller}::try {...} " => $try)
+ if _HAS_SUBNAME;
+
+ # set up scope guards to invoke the finally blocks at the end.
+ # this should really be a function scope lexical variable instead of
+ # file scope + local but that causes issues with perls < 5.20 due to
+ # perl rt#119311
+ local $_finally_guards{guards} = [
+ map { Try::Tiny::ScopeGuard->_new($_) }
+ @finally
+ ];
# save the value of $@ so we can set $@ back to it in the beginning of the eval
# and restore $@ after the eval finishes
@@ -71877,21 +73612,19 @@ $fatpacked{"Try/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'TRY_TI
$try->();
};
- return 1; # properly set $fail to false
+ return 1; # properly set $failed to false
};
# preserve the current error and reset the original value of $@
$error = $@;
$@ = $prev_error;
- # set up a scope guard to invoke the finally block at the end
- my @guards =
- map { Try::Tiny::ScopeGuard->_new($_, $failed ? $error : ()) }
- @finally;
-
# at this point $failed contains a true value if the eval died, even if some
# destructor overwrote $@ as the eval was unwinding.
if ( $failed ) {
+ # pass $error to the finally blocks
+ push @$_, $error for @{$_finally_guards{guards}};
+
# if we got an error, invoke the catch block.
if ( $catch ) {
# This works like given($error), but is backwards compatible and
@@ -71916,6 +73649,9 @@ $fatpacked{"Try/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'TRY_TI
croak 'Useless bare catch()' unless wantarray;
+ my $caller = caller;
+ _subname("${caller}::catch {...} " => $block)
+ if _HAS_SUBNAME;
return (
bless(\$block, 'Try::Tiny::Catch'),
@rest,
@@ -71927,6 +73663,9 @@ $fatpacked{"Try/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'TRY_TI
croak 'Useless bare finally()' unless wantarray;
+ my $caller = caller;
+ _subname("${caller}::finally {...} " => $block)
+ if _HAS_SUBNAME;
return (
bless(\$block, 'Try::Tiny::Finally'),
@rest,
@@ -71937,7 +73676,7 @@ $fatpacked{"Try/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'TRY_TI
package # hide from PAUSE
Try::Tiny::ScopeGuard;
- use constant UNSTABLE_DOLLARAT => ($] < '5.013002') ? 1 : 0;
+ use constant UNSTABLE_DOLLARAT => ("$]" < '5.013002') ? 1 : 0;
sub _new {
shift;
@@ -71974,11 +73713,11 @@ $fatpacked{"Try/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'TRY_TI
=head1 NAME
- Try::Tiny - minimal try/catch with proper preservation of $@
+ Try::Tiny - Minimal try/catch with proper preservation of $@
=head1 VERSION
- version 0.22
+ version 0.28
=head1 SYNOPSIS
@@ -72027,8 +73766,8 @@ $fatpacked{"Try/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'TRY_TI
assign C<"bar"> to C<$x>:
my $x = try { die "foo" } catch { "bar" };
- my $x = try { die "foo" } || { "bar" };
- my $x = (try { die "foo" }) // { "bar" };
+ my $x = try { die "foo" } || "bar";
+ my $x = (try { die "foo" }) // "bar";
my $x = eval { die "foo" } || "bar";
@@ -72253,6 +73992,8 @@ $fatpacked{"Try/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'TRY_TI
Using Perl 5.10 you can use L<perlsyn/"Switch statements">.
+ =for stopwords topicalizer
+
The C<catch> block is invoked in a topicalizer context (like a C<given> block),
but note that you can't return a useful value from C<catch> using the C<when>
blocks without an explicit C<return>.
@@ -72274,7 +74015,7 @@ $fatpacked{"Try/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'TRY_TI
=item *
C<@_> is not available within the C<try> block, so you need to copy your
- arglist. In case you want to work with argument values directly via C<@_>
+ argument list. In case you want to work with argument values directly via C<@_>
aliasing (i.e. allow C<$_[1] = "foo">), you need to pass C<@_> by reference:
sub foo {
@@ -72342,11 +74083,13 @@ $fatpacked{"Try/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'TRY_TI
will not report this when using full stack traces, though, because
C<%Carp::Internal> is used. This lack of magic is considered a feature.
+ =for stopwords unhygienically
+
=item *
The value of C<$_> in the C<catch> block is not guaranteed to be the value of
the exception thrown (C<$@>) in the C<try> block. There is no safe way to
- ensure this, since C<eval> may be used unhygenically in destructors. The only
+ ensure this, since C<eval> may be used unhygienically in destructors. The only
guarantee is that the C<catch> will be called if an exception is thrown.
=item *
@@ -72394,7 +74137,7 @@ $fatpacked{"Try/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'TRY_TI
Note that this behavior was changed once again in L<Perl5 version 18
|https://metacpan.org/module/perldelta#given-now-aliases-the-global-_>.
- However, since the entirety of lexical C<$_> is now L<considired experimental
+ However, since the entirety of lexical C<$_> is now L<considered experimental
|https://metacpan.org/module/perldelta#Lexical-_-is-now-experimental>, it
is unclear whether the new version 18 behavior is final.
@@ -72444,9 +74187,10 @@ $fatpacked{"Try/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'TRY_TI
L<http://web.archive.org/web/20100305133605/http://nothingmuch.woobling.org/talks/yapc_asia_2009/try_tiny.yml>
- =head1 VERSION CONTROL
+ =head1 SUPPORT
- L<http://github.com/doy/try-tiny/>
+ Bugs may be submitted through L<the RT bug tracker|https://rt.cpan.org/Public/Dist/Display.html?Name=Try-Tiny>
+ (or L<bug-Try-Tiny@rt.cpan.org|mailto:bug-Try-Tiny@rt.cpan.org>).
=head1 AUTHORS
@@ -72454,7 +74198,7 @@ $fatpacked{"Try/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'TRY_TI
=item *
- Yuval Kogman <nothingmuch@woobling.org>
+ יובל קוג'מן (Yuval Kogman) <nothingmuch@woobling.org>
=item *
@@ -72462,9 +74206,105 @@ $fatpacked{"Try/Tiny.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'TRY_TI
=back
- =head1 COPYRIGHT AND LICENSE
+ =head1 CONTRIBUTORS
+
+ =for stopwords Karen Etheridge Peter Rabbitson Ricardo Signes Mark Fowler Graham Knop Lukas Mai Dagfinn Ilmari Mannsåker Paul Howarth Rudolf Leermakers anaxagoras awalker chromatic Alex cm-perl Andrew Yates David Lowe Glenn Hans Dieter Pearcey Jonathan Yu Marc Mims Stosberg Pali
+
+ =over 4
+
+ =item *
+
+ Karen Etheridge <ether@cpan.org>
+
+ =item *
+
+ Peter Rabbitson <ribasushi@cpan.org>
- This software is Copyright (c) 2014 by Yuval Kogman.
+ =item *
+
+ Ricardo Signes <rjbs@cpan.org>
+
+ =item *
+
+ Mark Fowler <mark@twoshortplanks.com>
+
+ =item *
+
+ Graham Knop <haarg@haarg.org>
+
+ =item *
+
+ Lukas Mai <l.mai@web.de>
+
+ =item *
+
+ Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>
+
+ =item *
+
+ Paul Howarth <paul@city-fan.org>
+
+ =item *
+
+ Rudolf Leermakers <rudolf@hatsuseno.org>
+
+ =item *
+
+ anaxagoras <walkeraj@gmail.com>
+
+ =item *
+
+ awalker <awalker@sourcefire.com>
+
+ =item *
+
+ chromatic <chromatic@wgz.org>
+
+ =item *
+
+ Alex <alex@koban.(none)>
+
+ =item *
+
+ cm-perl <cm-perl@users.noreply.github.com>
+
+ =item *
+
+ Andrew Yates <ayates@haddock.local>
+
+ =item *
+
+ David Lowe <davidl@lokku.com>
+
+ =item *
+
+ Glenn Fowler <cebjyre@cpan.org>
+
+ =item *
+
+ Hans Dieter Pearcey <hdp@weftsoar.net>
+
+ =item *
+
+ Jonathan Yu <JAWNSY@cpan.org>
+
+ =item *
+
+ Marc Mims <marc@questright.com>
+
+ =item *
+
+ Mark Stosberg <mark@stosberg.com>
+
+ =item *
+
+ Pali <pali@cpan.org>
+
+ =back
+
+ =head1 COPYRIGHT AND LICENCE
+
+ This software is Copyright (c) 2009 by יובל קוג'מן (Yuval Kogman).
This is free software, licensed under:
@@ -72760,4558 +74600,6 @@ $fatpacked{"Types/Serialiser/Error.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\
TYPES_SERIALISER_ERROR
-$fatpacked{"parent.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'PARENT';
- package parent;
- use strict;
- use vars qw($VERSION);
- $VERSION = '0.234';
-
- sub import {
- my $class = shift;
-
- my $inheritor = caller(0);
-
- if ( @_ and $_[0] eq '-norequire' ) {
- shift @_;
- } else {
- for ( my @filename = @_ ) {
- s{::|'}{/}g;
- require "$_.pm"; # dies if the file is not found
- }
- }
-
- {
- no strict 'refs';
- push @{"$inheritor\::ISA"}, @_;
- };
- };
-
- "All your base are belong to us"
-
- __END__
-
- =encoding utf8
-
- =head1 NAME
-
- parent - Establish an ISA relationship with base classes at compile time
-
- =head1 SYNOPSIS
-
- package Baz;
- use parent qw(Foo Bar);
-
- =head1 DESCRIPTION
-
- Allows you to both load one or more modules, while setting up inheritance from
- those modules at the same time. Mostly similar in effect to
-
- package Baz;
- BEGIN {
- require Foo;
- require Bar;
- push @ISA, qw(Foo Bar);
- }
-
- By default, every base class needs to live in a file of its own.
- If you want to have a subclass and its parent class in the same file, you
- can tell C<parent> not to load any modules by using the C<-norequire> switch:
-
- package Foo;
- sub exclaim { "I CAN HAS PERL" }
-
- package DoesNotLoadFooBar;
- use parent -norequire, 'Foo', 'Bar';
- # will not go looking for Foo.pm or Bar.pm
-
- This is equivalent to the following code:
-
- package Foo;
- sub exclaim { "I CAN HAS PERL" }
-
- package DoesNotLoadFooBar;
- push @DoesNotLoadFooBar::ISA, 'Foo', 'Bar';
-
- This is also helpful for the case where a package lives within
- a differently named file:
-
- package MyHash;
- use Tie::Hash;
- use parent -norequire, 'Tie::StdHash';
-
- This is equivalent to the following code:
-
- package MyHash;
- require Tie::Hash;
- push @ISA, 'Tie::StdHash';
-
- If you want to load a subclass from a file that C<require> would
- not consider an eligible filename (that is, it does not end in
- either C<.pm> or C<.pmc>), use the following code:
-
- package MySecondPlugin;
- require './plugins/custom.plugin'; # contains Plugin::Custom
- use parent -norequire, 'Plugin::Custom';
-
- =head1 HISTORY
-
- This module was forked from L<base> to remove the cruft
- that had accumulated in it.
-
- =head1 CAVEATS
-
- =head1 SEE ALSO
-
- L<base>
-
- =head1 AUTHORS AND CONTRIBUTORS
-
- Rafaël Garcia-Suarez, Bart Lateur, Max Maischein, Anno Siegel, Michael Schwern
-
- =head1 MAINTAINER
-
- Max Maischein C< corion@cpan.org >
-
- Copyright (c) 2007-10 Max Maischein C<< <corion@cpan.org> >>
- Based on the idea of C<base.pm>, which was introduced with Perl 5.004_04.
-
- =head1 LICENSE
-
- This module is released under the same terms as Perl itself.
-
- =cut
-PARENT
-
-$fatpacked{"Cwd.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'X86_64-LINUX-GNU-THREAD-MULTI_CWD';
- package Cwd;
-
- =head1 NAME
-
- Cwd - get pathname of current working directory
-
- =head1 SYNOPSIS
-
- use Cwd;
- my $dir = getcwd;
-
- use Cwd 'abs_path';
- my $abs_path = abs_path($file);
-
- =head1 DESCRIPTION
-
- This module provides functions for determining the pathname of the
- current working directory. It is recommended that getcwd (or another
- *cwd() function) be used in I<all> code to ensure portability.
-
- By default, it exports the functions cwd(), getcwd(), fastcwd(), and
- fastgetcwd() (and, on Win32, getdcwd()) into the caller's namespace.
-
-
- =head2 getcwd and friends
-
- Each of these functions are called without arguments and return the
- absolute path of the current working directory.
-
- =over 4
-
- =item getcwd
-
- my $cwd = getcwd();
-
- Returns the current working directory.
-
- Exposes the POSIX function getcwd(3) or re-implements it if it's not
- available.
-
- =item cwd
-
- my $cwd = cwd();
-
- The cwd() is the most natural form for the current architecture. For
- most systems it is identical to `pwd` (but without the trailing line
- terminator).
-
- =item fastcwd
-
- my $cwd = fastcwd();
-
- A more dangerous version of getcwd(), but potentially faster.
-
- It might conceivably chdir() you out of a directory that it can't
- chdir() you back into. If fastcwd encounters a problem it will return
- undef but will probably leave you in a different directory. For a
- measure of extra security, if everything appears to have worked, the
- fastcwd() function will check that it leaves you in the same directory
- that it started in. If it has changed it will C<die> with the message
- "Unstable directory path, current directory changed
- unexpectedly". That should never happen.
-
- =item fastgetcwd
-
- my $cwd = fastgetcwd();
-
- The fastgetcwd() function is provided as a synonym for cwd().
-
- =item getdcwd
-
- my $cwd = getdcwd();
- my $cwd = getdcwd('C:');
-
- The getdcwd() function is also provided on Win32 to get the current working
- directory on the specified drive, since Windows maintains a separate current
- working directory for each drive. If no drive is specified then the current
- drive is assumed.
-
- This function simply calls the Microsoft C library _getdcwd() function.
-
- =back
-
-
- =head2 abs_path and friends
-
- These functions are exported only on request. They each take a single
- argument and return the absolute pathname for it. If no argument is
- given they'll use the current working directory.
-
- =over 4
-
- =item abs_path
-
- my $abs_path = abs_path($file);
-
- Uses the same algorithm as getcwd(). Symbolic links and relative-path
- components ("." and "..") are resolved to return the canonical
- pathname, just like realpath(3).
-
- =item realpath
-
- my $abs_path = realpath($file);
-
- A synonym for abs_path().
-
- =item fast_abs_path
-
- my $abs_path = fast_abs_path($file);
-
- A more dangerous, but potentially faster version of abs_path.
-
- =back
-
- =head2 $ENV{PWD}
-
- If you ask to override your chdir() built-in function,
-
- use Cwd qw(chdir);
-
- then your PWD environment variable will be kept up to date. Note that
- it will only be kept up to date if all packages which use chdir import
- it from Cwd.
-
-
- =head1 NOTES
-
- =over 4
-
- =item *
-
- Since the path separators are different on some operating systems ('/'
- on Unix, ':' on MacPerl, etc...) we recommend you use the File::Spec
- modules wherever portability is a concern.
-
- =item *
-
- Actually, on Mac OS, the C<getcwd()>, C<fastgetcwd()> and C<fastcwd()>
- functions are all aliases for the C<cwd()> function, which, on Mac OS,
- calls `pwd`. Likewise, the C<abs_path()> function is an alias for
- C<fast_abs_path()>.
-
- =back
-
- =head1 AUTHOR
-
- Originally by the perl5-porters.
-
- Maintained by Ken Williams <KWILLIAMS@cpan.org>
-
- =head1 COPYRIGHT
-
- Copyright (c) 2004 by the Perl 5 Porters. All rights reserved.
-
- This program is free software; you can redistribute it and/or modify
- it under the same terms as Perl itself.
-
- Portions of the C code in this library are copyright (c) 1994 by the
- Regents of the University of California. All rights reserved. The
- license on this code is compatible with the licensing of the rest of
- the distribution - please see the source code in F<Cwd.xs> for the
- details.
-
- =head1 SEE ALSO
-
- L<File::chdir>
-
- =cut
-
- use strict;
- use Exporter;
- use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION);
-
- $VERSION = '3.47';
- my $xs_version = $VERSION;
- $VERSION =~ tr/_//;
-
- @ISA = qw/ Exporter /;
- @EXPORT = qw(cwd getcwd fastcwd fastgetcwd);
- push @EXPORT, qw(getdcwd) if $^O eq 'MSWin32';
- @EXPORT_OK = qw(chdir abs_path fast_abs_path realpath fast_realpath);
-
- # sys_cwd may keep the builtin command
-
- # All the functionality of this module may provided by builtins,
- # there is no sense to process the rest of the file.
- # The best choice may be to have this in BEGIN, but how to return from BEGIN?
-
- if ($^O eq 'os2') {
- local $^W = 0;
-
- *cwd = defined &sys_cwd ? \&sys_cwd : \&_os2_cwd;
- *getcwd = \&cwd;
- *fastgetcwd = \&cwd;
- *fastcwd = \&cwd;
-
- *fast_abs_path = \&sys_abspath if defined &sys_abspath;
- *abs_path = \&fast_abs_path;
- *realpath = \&fast_abs_path;
- *fast_realpath = \&fast_abs_path;
-
- return 1;
- }
-
- # Need to look up the feature settings on VMS. The preferred way is to use the
- # VMS::Feature module, but that may not be available to dual life modules.
-
- my $use_vms_feature;
- BEGIN {
- if ($^O eq 'VMS') {
- if (eval { local $SIG{__DIE__}; require VMS::Feature; }) {
- $use_vms_feature = 1;
- }
- }
- }
-
- # Need to look up the UNIX report mode. This may become a dynamic mode
- # in the future.
- sub _vms_unix_rpt {
- my $unix_rpt;
- if ($use_vms_feature) {
- $unix_rpt = VMS::Feature::current("filename_unix_report");
- } else {
- my $env_unix_rpt = $ENV{'DECC$FILENAME_UNIX_REPORT'} || '';
- $unix_rpt = $env_unix_rpt =~ /^[ET1]/i;
- }
- return $unix_rpt;
- }
-
- # Need to look up the EFS character set mode. This may become a dynamic
- # mode in the future.
- sub _vms_efs {
- my $efs;
- if ($use_vms_feature) {
- $efs = VMS::Feature::current("efs_charset");
- } else {
- my $env_efs = $ENV{'DECC$EFS_CHARSET'} || '';
- $efs = $env_efs =~ /^[ET1]/i;
- }
- return $efs;
- }
-
-
- # If loading the XS stuff doesn't work, we can fall back to pure perl
- unless (defined &getcwd) {
- eval {
- if ( $] >= 5.006 ) {
- require XSLoader;
- XSLoader::load( __PACKAGE__, $xs_version);
- } else {
- require DynaLoader;
- push @ISA, 'DynaLoader';
- __PACKAGE__->bootstrap( $xs_version );
- }
- };
- }
-
- # Big nasty table of function aliases
- my %METHOD_MAP =
- (
- VMS =>
- {
- cwd => '_vms_cwd',
- getcwd => '_vms_cwd',
- fastcwd => '_vms_cwd',
- fastgetcwd => '_vms_cwd',
- abs_path => '_vms_abs_path',
- fast_abs_path => '_vms_abs_path',
- },
-
- MSWin32 =>
- {
- # We assume that &_NT_cwd is defined as an XSUB or in the core.
- cwd => '_NT_cwd',
- getcwd => '_NT_cwd',
- fastcwd => '_NT_cwd',
- fastgetcwd => '_NT_cwd',
- abs_path => 'fast_abs_path',
- realpath => 'fast_abs_path',
- },
-
- dos =>
- {
- cwd => '_dos_cwd',
- getcwd => '_dos_cwd',
- fastgetcwd => '_dos_cwd',
- fastcwd => '_dos_cwd',
- abs_path => 'fast_abs_path',
- },
-
- # QNX4. QNX6 has a $os of 'nto'.
- qnx =>
- {
- cwd => '_qnx_cwd',
- getcwd => '_qnx_cwd',
- fastgetcwd => '_qnx_cwd',
- fastcwd => '_qnx_cwd',
- abs_path => '_qnx_abs_path',
- fast_abs_path => '_qnx_abs_path',
- },
-
- cygwin =>
- {
- getcwd => 'cwd',
- fastgetcwd => 'cwd',
- fastcwd => 'cwd',
- abs_path => 'fast_abs_path',
- realpath => 'fast_abs_path',
- },
-
- epoc =>
- {
- cwd => '_epoc_cwd',
- getcwd => '_epoc_cwd',
- fastgetcwd => '_epoc_cwd',
- fastcwd => '_epoc_cwd',
- abs_path => 'fast_abs_path',
- },
-
- MacOS =>
- {
- getcwd => 'cwd',
- fastgetcwd => 'cwd',
- fastcwd => 'cwd',
- abs_path => 'fast_abs_path',
- },
- );
-
- $METHOD_MAP{NT} = $METHOD_MAP{MSWin32};
-
-
- # Find the pwd command in the expected locations. We assume these
- # are safe. This prevents _backtick_pwd() consulting $ENV{PATH}
- # so everything works under taint mode.
- my $pwd_cmd;
- foreach my $try ('/bin/pwd',
- '/usr/bin/pwd',
- '/QOpenSys/bin/pwd', # OS/400 PASE.
- ) {
-
- if( -x $try ) {
- $pwd_cmd = $try;
- last;
- }
- }
-
- # Android has a built-in pwd. Using $pwd_cmd will DTRT if
- # this perl was compiled with -Dd_useshellcmds, which is the
- # default for Android, but the block below is needed for the
- # miniperl running on the host when cross-compiling, and
- # potentially for native builds with -Ud_useshellcmds.
- if ($^O =~ /android/) {
- # If targetsh is executable, then we're either a full
- # perl, or a miniperl for a native build.
- if (-x $Config::Config{targetsh}) {
- $pwd_cmd = "$Config::Config{targetsh} -c pwd"
- }
- else {
- $pwd_cmd = "$Config::Config{sh} -c pwd"
- }
- }
-
- my $found_pwd_cmd = defined($pwd_cmd);
- unless ($pwd_cmd) {
- # Isn't this wrong? _backtick_pwd() will fail if someone has
- # pwd in their path but it is not /bin/pwd or /usr/bin/pwd?
- # See [perl #16774]. --jhi
- $pwd_cmd = 'pwd';
- }
-
- # Lazy-load Carp
- sub _carp { require Carp; Carp::carp(@_) }
- sub _croak { require Carp; Carp::croak(@_) }
-
- # The 'natural and safe form' for UNIX (pwd may be setuid root)
- sub _backtick_pwd {
- # Localize %ENV entries in a way that won't create new hash keys
- my @localize = grep exists $ENV{$_}, qw(PATH IFS CDPATH ENV BASH_ENV);
- local @ENV{@localize};
-
- my $cwd = `$pwd_cmd`;
- # Belt-and-suspenders in case someone said "undef $/".
- local $/ = "\n";
- # `pwd` may fail e.g. if the disk is full
- chomp($cwd) if defined $cwd;
- $cwd;
- }
-
- # Since some ports may predefine cwd internally (e.g., NT)
- # we take care not to override an existing definition for cwd().
-
- unless ($METHOD_MAP{$^O}{cwd} or defined &cwd) {
- # The pwd command is not available in some chroot(2)'ed environments
- my $sep = $Config::Config{path_sep} || ':';
- my $os = $^O; # Protect $^O from tainting
-
-
- # Try again to find a pwd, this time searching the whole PATH.
- if (defined $ENV{PATH} and $os ne 'MSWin32') { # no pwd on Windows
- my @candidates = split($sep, $ENV{PATH});
- while (!$found_pwd_cmd and @candidates) {
- my $candidate = shift @candidates;
- $found_pwd_cmd = 1 if -x "$candidate/pwd";
- }
- }
-
- # MacOS has some special magic to make `pwd` work.
- if( $os eq 'MacOS' || $found_pwd_cmd )
- {
- *cwd = \&_backtick_pwd;
- }
- else {
- *cwd = \&getcwd;
- }
- }
-
- if ($^O eq 'cygwin') {
- # We need to make sure cwd() is called with no args, because it's
- # got an arg-less prototype and will die if args are present.
- local $^W = 0;
- my $orig_cwd = \&cwd;
- *cwd = sub { &$orig_cwd() }
- }
-
-
- # set a reasonable (and very safe) default for fastgetcwd, in case it
- # isn't redefined later (20001212 rspier)
- *fastgetcwd = \&cwd;
-
- # A non-XS version of getcwd() - also used to bootstrap the perl build
- # process, when miniperl is running and no XS loading happens.
- sub _perl_getcwd
- {
- abs_path('.');
- }
-
- # By John Bazik
- #
- # Usage: $cwd = &fastcwd;
- #
- # This is a faster version of getcwd. It's also more dangerous because
- # you might chdir out of a directory that you can't chdir back into.
-
- sub fastcwd_ {
- my($odev, $oino, $cdev, $cino, $tdev, $tino);
- my(@path, $path);
- local(*DIR);
-
- my($orig_cdev, $orig_cino) = stat('.');
- ($cdev, $cino) = ($orig_cdev, $orig_cino);
- for (;;) {
- my $direntry;
- ($odev, $oino) = ($cdev, $cino);
- CORE::chdir('..') || return undef;
- ($cdev, $cino) = stat('.');
- last if $odev == $cdev && $oino == $cino;
- opendir(DIR, '.') || return undef;
- for (;;) {
- $direntry = readdir(DIR);
- last unless defined $direntry;
- next if $direntry eq '.';
- next if $direntry eq '..';
-
- ($tdev, $tino) = lstat($direntry);
- last unless $tdev != $odev || $tino != $oino;
- }
- closedir(DIR);
- return undef unless defined $direntry; # should never happen
- unshift(@path, $direntry);
- }
- $path = '/' . join('/', @path);
- if ($^O eq 'apollo') { $path = "/".$path; }
- # At this point $path may be tainted (if tainting) and chdir would fail.
- # Untaint it then check that we landed where we started.
- $path =~ /^(.*)\z/s # untaint
- && CORE::chdir($1) or return undef;
- ($cdev, $cino) = stat('.');
- die "Unstable directory path, current directory changed unexpectedly"
- if $cdev != $orig_cdev || $cino != $orig_cino;
- $path;
- }
- if (not defined &fastcwd) { *fastcwd = \&fastcwd_ }
-
-
- # Keeps track of current working directory in PWD environment var
- # Usage:
- # use Cwd 'chdir';
- # chdir $newdir;
-
- my $chdir_init = 0;
-
- sub chdir_init {
- if ($ENV{'PWD'} and $^O ne 'os2' and $^O ne 'dos' and $^O ne 'MSWin32') {
- my($dd,$di) = stat('.');
- my($pd,$pi) = stat($ENV{'PWD'});
- if (!defined $dd or !defined $pd or $di != $pi or $dd != $pd) {
- $ENV{'PWD'} = cwd();
- }
- }
- else {
- my $wd = cwd();
- $wd = Win32::GetFullPathName($wd) if $^O eq 'MSWin32';
- $ENV{'PWD'} = $wd;
- }
- # Strip an automounter prefix (where /tmp_mnt/foo/bar == /foo/bar)
- if ($^O ne 'MSWin32' and $ENV{'PWD'} =~ m|(/[^/]+(/[^/]+/[^/]+))(.*)|s) {
- my($pd,$pi) = stat($2);
- my($dd,$di) = stat($1);
- if (defined $pd and defined $dd and $di == $pi and $dd == $pd) {
- $ENV{'PWD'}="$2$3";
- }
- }
- $chdir_init = 1;
- }
-
- sub chdir {
- my $newdir = @_ ? shift : ''; # allow for no arg (chdir to HOME dir)
- $newdir =~ s|///*|/|g unless $^O eq 'MSWin32';
- chdir_init() unless $chdir_init;
- my $newpwd;
- if ($^O eq 'MSWin32') {
- # get the full path name *before* the chdir()
- $newpwd = Win32::GetFullPathName($newdir);
- }
-
- return 0 unless CORE::chdir $newdir;
-
- if ($^O eq 'VMS') {
- return $ENV{'PWD'} = $ENV{'DEFAULT'}
- }
- elsif ($^O eq 'MacOS') {
- return $ENV{'PWD'} = cwd();
- }
- elsif ($^O eq 'MSWin32') {
- $ENV{'PWD'} = $newpwd;
- return 1;
- }
-
- if (ref $newdir eq 'GLOB') { # in case a file/dir handle is passed in
- $ENV{'PWD'} = cwd();
- } elsif ($newdir =~ m#^/#s) {
- $ENV{'PWD'} = $newdir;
- } else {
- my @curdir = split(m#/#,$ENV{'PWD'});
- @curdir = ('') unless @curdir;
- my $component;
- foreach $component (split(m#/#, $newdir)) {
- next if $component eq '.';
- pop(@curdir),next if $component eq '..';
- push(@curdir,$component);
- }
- $ENV{'PWD'} = join('/',@curdir) || '/';
- }
- 1;
- }
-
-
- sub _perl_abs_path
- {
- my $start = @_ ? shift : '.';
- my($dotdots, $cwd, @pst, @cst, $dir, @tst);
-
- unless (@cst = stat( $start ))
- {
- _carp("stat($start): $!");
- return '';
- }
-
- unless (-d _) {
- # Make sure we can be invoked on plain files, not just directories.
- # NOTE that this routine assumes that '/' is the only directory separator.
-
- my ($dir, $file) = $start =~ m{^(.*)/(.+)$}
- or return cwd() . '/' . $start;
-
- # Can't use "-l _" here, because the previous stat was a stat(), not an lstat().
- if (-l $start) {
- my $link_target = readlink($start);
- die "Can't resolve link $start: $!" unless defined $link_target;
-
- require File::Spec;
- $link_target = $dir . '/' . $link_target
- unless File::Spec->file_name_is_absolute($link_target);
-
- return abs_path($link_target);
- }
-
- return $dir ? abs_path($dir) . "/$file" : "/$file";
- }
-
- $cwd = '';
- $dotdots = $start;
- do
- {
- $dotdots .= '/..';
- @pst = @cst;
- local *PARENT;
- unless (opendir(PARENT, $dotdots))
- {
- # probably a permissions issue. Try the native command.
- require File::Spec;
- return File::Spec->rel2abs( $start, _backtick_pwd() );
- }
- unless (@cst = stat($dotdots))
- {
- _carp("stat($dotdots): $!");
- closedir(PARENT);
- return '';
- }
- if ($pst[0] == $cst[0] && $pst[1] == $cst[1])
- {
- $dir = undef;
- }
- else
- {
- do
- {
- unless (defined ($dir = readdir(PARENT)))
- {
- _carp("readdir($dotdots): $!");
- closedir(PARENT);
- return '';
- }
- $tst[0] = $pst[0]+1 unless (@tst = lstat("$dotdots/$dir"))
- }
- while ($dir eq '.' || $dir eq '..' || $tst[0] != $pst[0] ||
- $tst[1] != $pst[1]);
- }
- $cwd = (defined $dir ? "$dir" : "" ) . "/$cwd" ;
- closedir(PARENT);
- } while (defined $dir);
- chop($cwd) unless $cwd eq '/'; # drop the trailing /
- $cwd;
- }
-
-
- my $Curdir;
- sub fast_abs_path {
- local $ENV{PWD} = $ENV{PWD} || ''; # Guard against clobberage
- my $cwd = getcwd();
- require File::Spec;
- my $path = @_ ? shift : ($Curdir ||= File::Spec->curdir);
-
- # Detaint else we'll explode in taint mode. This is safe because
- # we're not doing anything dangerous with it.
- ($path) = $path =~ /(.*)/s;
- ($cwd) = $cwd =~ /(.*)/s;
-
- unless (-e $path) {
- _croak("$path: No such file or directory");
- }
-
- unless (-d _) {
- # Make sure we can be invoked on plain files, not just directories.
-
- my ($vol, $dir, $file) = File::Spec->splitpath($path);
- return File::Spec->catfile($cwd, $path) unless length $dir;
-
- if (-l $path) {
- my $link_target = readlink($path);
- die "Can't resolve link $path: $!" unless defined $link_target;
-
- $link_target = File::Spec->catpath($vol, $dir, $link_target)
- unless File::Spec->file_name_is_absolute($link_target);
-
- return fast_abs_path($link_target);
- }
-
- return $dir eq File::Spec->rootdir
- ? File::Spec->catpath($vol, $dir, $file)
- : fast_abs_path(File::Spec->catpath($vol, $dir, '')) . '/' . $file;
- }
-
- if (!CORE::chdir($path)) {
- _croak("Cannot chdir to $path: $!");
- }
- my $realpath = getcwd();
- if (! ((-d $cwd) && (CORE::chdir($cwd)))) {
- _croak("Cannot chdir back to $cwd: $!");
- }
- $realpath;
- }
-
- # added function alias to follow principle of least surprise
- # based on previous aliasing. --tchrist 27-Jan-00
- *fast_realpath = \&fast_abs_path;
-
-
- # --- PORTING SECTION ---
-
- # VMS: $ENV{'DEFAULT'} points to default directory at all times
- # 06-Mar-1996 Charles Bailey bailey@newman.upenn.edu
- # Note: Use of Cwd::chdir() causes the logical name PWD to be defined
- # in the process logical name table as the default device and directory
- # seen by Perl. This may not be the same as the default device
- # and directory seen by DCL after Perl exits, since the effects
- # the CRTL chdir() function persist only until Perl exits.
-
- sub _vms_cwd {
- return $ENV{'DEFAULT'};
- }
-
- sub _vms_abs_path {
- return $ENV{'DEFAULT'} unless @_;
- my $path = shift;
-
- my $efs = _vms_efs;
- my $unix_rpt = _vms_unix_rpt;
-
- if (defined &VMS::Filespec::vmsrealpath) {
- my $path_unix = 0;
- my $path_vms = 0;
-
- $path_unix = 1 if ($path =~ m#(?<=\^)/#);
- $path_unix = 1 if ($path =~ /^\.\.?$/);
- $path_vms = 1 if ($path =~ m#[\[<\]]#);
- $path_vms = 1 if ($path =~ /^--?$/);
-
- my $unix_mode = $path_unix;
- if ($efs) {
- # In case of a tie, the Unix report mode decides.
- if ($path_vms == $path_unix) {
- $unix_mode = $unix_rpt;
- } else {
- $unix_mode = 0 if $path_vms;
- }
- }
-
- if ($unix_mode) {
- # Unix format
- return VMS::Filespec::unixrealpath($path);
- }
-
- # VMS format
-
- my $new_path = VMS::Filespec::vmsrealpath($path);
-
- # Perl expects directories to be in directory format
- $new_path = VMS::Filespec::pathify($new_path) if -d $path;
- return $new_path;
- }
-
- # Fallback to older algorithm if correct ones are not
- # available.
-
- if (-l $path) {
- my $link_target = readlink($path);
- die "Can't resolve link $path: $!" unless defined $link_target;
-
- return _vms_abs_path($link_target);
- }
-
- # may need to turn foo.dir into [.foo]
- my $pathified = VMS::Filespec::pathify($path);
- $path = $pathified if defined $pathified;
-
- return VMS::Filespec::rmsexpand($path);
- }
-
- sub _os2_cwd {
- $ENV{'PWD'} = `cmd /c cd`;
- chomp $ENV{'PWD'};
- $ENV{'PWD'} =~ s:\\:/:g ;
- return $ENV{'PWD'};
- }
-
- sub _win32_cwd_simple {
- $ENV{'PWD'} = `cd`;
- chomp $ENV{'PWD'};
- $ENV{'PWD'} =~ s:\\:/:g ;
- return $ENV{'PWD'};
- }
-
- sub _win32_cwd {
- # Need to avoid taking any sort of reference to the typeglob or the code in
- # the optree, so that this tests the runtime state of things, as the
- # ExtUtils::MakeMaker tests for "miniperl" need to be able to fake things at
- # runtime by deleting the subroutine. *foo{THING} syntax on a symbol table
- # lookup avoids needing a string eval, which has been reported to cause
- # problems (for reasons that we haven't been able to get to the bottom of -
- # rt.cpan.org #56225)
- if (*{$DynaLoader::{boot_DynaLoader}}{CODE}) {
- $ENV{'PWD'} = Win32::GetCwd();
- }
- else { # miniperl
- chomp($ENV{'PWD'} = `cd`);
- }
- $ENV{'PWD'} =~ s:\\:/:g ;
- return $ENV{'PWD'};
- }
-
- *_NT_cwd = defined &Win32::GetCwd ? \&_win32_cwd : \&_win32_cwd_simple;
-
- sub _dos_cwd {
- if (!defined &Dos::GetCwd) {
- $ENV{'PWD'} = `command /c cd`;
- chomp $ENV{'PWD'};
- $ENV{'PWD'} =~ s:\\:/:g ;
- } else {
- $ENV{'PWD'} = Dos::GetCwd();
- }
- return $ENV{'PWD'};
- }
-
- sub _qnx_cwd {
- local $ENV{PATH} = '';
- local $ENV{CDPATH} = '';
- local $ENV{ENV} = '';
- $ENV{'PWD'} = `/usr/bin/fullpath -t`;
- chomp $ENV{'PWD'};
- return $ENV{'PWD'};
- }
-
- sub _qnx_abs_path {
- local $ENV{PATH} = '';
- local $ENV{CDPATH} = '';
- local $ENV{ENV} = '';
- my $path = @_ ? shift : '.';
- local *REALPATH;
-
- defined( open(REALPATH, '-|') || exec '/usr/bin/fullpath', '-t', $path ) or
- die "Can't open /usr/bin/fullpath: $!";
- my $realpath = <REALPATH>;
- close REALPATH;
- chomp $realpath;
- return $realpath;
- }
-
- sub _epoc_cwd {
- $ENV{'PWD'} = EPOC::getcwd();
- return $ENV{'PWD'};
- }
-
-
- # Now that all the base-level functions are set up, alias the
- # user-level functions to the right places
-
- if (exists $METHOD_MAP{$^O}) {
- my $map = $METHOD_MAP{$^O};
- foreach my $name (keys %$map) {
- local $^W = 0; # assignments trigger 'subroutine redefined' warning
- no strict 'refs';
- *{$name} = \&{$map->{$name}};
- }
- }
-
- # In case the XS version doesn't load.
- *abs_path = \&_perl_abs_path unless defined &abs_path;
- *getcwd = \&_perl_getcwd unless defined &getcwd;
-
- # added function alias for those of us more
- # used to the libc function. --tchrist 27-Jan-00
- *realpath = \&abs_path;
-
- 1;
-X86_64-LINUX-GNU-THREAD-MULTI_CWD
-
-$fatpacked{"x86_64-linux-gnu-thread-multi/Devel/GlobalDestruction/XS.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'X86_64-LINUX-GNU-THREAD-MULTI_DEVEL_GLOBALDESTRUCTION_XS';
- package Devel::GlobalDestruction::XS;
- use strict;
- use warnings;
-
- our $VERSION = '0.01';
-
- require XSLoader;
- XSLoader::load(__PACKAGE__, $VERSION);
-
- 1; # keep require happy
-
- __END__
-
- =head1 NAME
-
- Devel::GlobalDestruction::XS - Faster implementation of the Devel::GlobalDestruction API
-
- =head1 SYNOPSIS
-
- use Devel::GlobalDestruction;
-
- =head1 DESCRIPTION
-
- This is an XS backend for L<Devel::GlobalDestruction> and should be used through that module.
-
- =head1 AUTHORS
-
- Yuval Kogman E<lt>nothingmuch@woobling.orgE<gt>
-
- Florian Ragwitz E<lt>rafl@debian.orgE<gt>
-
- Jesse Luehrs E<lt>doy@tozt.netE<gt>
-
- Peter Rabbitson E<lt>ribasushi@cpan.orgE<gt>
-
- Arthur Axel 'fREW' Schmidt E<lt>frioux@gmail.comE<gt>
-
- Elizabeth Mattijsen E<lt>liz@dijkmat.nlE<gt>
-
- Graham Knop E<lt>haarg@haarg.orgE<gt>
-
- =head1 COPYRIGHT
-
- Copyright (c) 2008 - 2013 the Devel::GlobalDestruction::XS L</AUTHORS> as listed
- above.
-
- =head1 LICENSE
-
- This library is free software and may be distributed under the same terms
- as perl itself.
-
- =cut
-X86_64-LINUX-GNU-THREAD-MULTI_DEVEL_GLOBALDESTRUCTION_XS
-
-$fatpacked{"File/Spec.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'X86_64-LINUX-GNU-THREAD-MULTI_FILE_SPEC';
- package File::Spec;
-
- use strict;
- use vars qw(@ISA $VERSION);
-
- $VERSION = '3.47';
- $VERSION =~ tr/_//;
-
- my %module = (MacOS => 'Mac',
- MSWin32 => 'Win32',
- os2 => 'OS2',
- VMS => 'VMS',
- epoc => 'Epoc',
- NetWare => 'Win32', # Yes, File::Spec::Win32 works on NetWare.
- symbian => 'Win32', # Yes, File::Spec::Win32 works on symbian.
- dos => 'OS2', # Yes, File::Spec::OS2 works on DJGPP.
- cygwin => 'Cygwin');
-
-
- my $module = $module{$^O} || 'Unix';
-
- require "File/Spec/$module.pm";
- @ISA = ("File::Spec::$module");
-
- 1;
-
- __END__
-
- =head1 NAME
-
- File::Spec - portably perform operations on file names
-
- =head1 SYNOPSIS
-
- use File::Spec;
-
- $x=File::Spec->catfile('a', 'b', 'c');
-
- which returns 'a/b/c' under Unix. Or:
-
- use File::Spec::Functions;
-
- $x = catfile('a', 'b', 'c');
-
- =head1 DESCRIPTION
-
- This module is designed to support operations commonly performed on file
- specifications (usually called "file names", but not to be confused with the
- contents of a file, or Perl's file handles), such as concatenating several
- directory and file names into a single path, or determining whether a path
- is rooted. It is based on code directly taken from MakeMaker 5.17, code
- written by Andreas KE<ouml>nig, Andy Dougherty, Charles Bailey, Ilya
- Zakharevich, Paul Schinder, and others.
-
- Since these functions are different for most operating systems, each set of
- OS specific routines is available in a separate module, including:
-
- File::Spec::Unix
- File::Spec::Mac
- File::Spec::OS2
- File::Spec::Win32
- File::Spec::VMS
-
- The module appropriate for the current OS is automatically loaded by
- File::Spec. Since some modules (like VMS) make use of facilities available
- only under that OS, it may not be possible to load all modules under all
- operating systems.
-
- Since File::Spec is object oriented, subroutines should not be called directly,
- as in:
-
- File::Spec::catfile('a','b');
-
- but rather as class methods:
-
- File::Spec->catfile('a','b');
-
- For simple uses, L<File::Spec::Functions> provides convenient functional
- forms of these methods.
-
- =head1 METHODS
-
- =over 2
-
- =item canonpath
- X<canonpath>
-
- No physical check on the filesystem, but a logical cleanup of a
- path.
-
- $cpath = File::Spec->canonpath( $path ) ;
-
- Note that this does *not* collapse F<x/../y> sections into F<y>. This
- is by design. If F</foo> on your system is a symlink to F</bar/baz>,
- then F</foo/../quux> is actually F</bar/quux>, not F</quux> as a naive
- F<../>-removal would give you. If you want to do this kind of
- processing, you probably want C<Cwd>'s C<realpath()> function to
- actually traverse the filesystem cleaning up paths like this.
-
- =item catdir
- X<catdir>
-
- Concatenate two or more directory names to form a complete path ending
- with a directory. But remove the trailing slash from the resulting
- string, because it doesn't look good, isn't necessary and confuses
- OS/2. Of course, if this is the root directory, don't cut off the
- trailing slash :-)
-
- $path = File::Spec->catdir( @directories );
-
- =item catfile
- X<catfile>
-
- Concatenate one or more directory names and a filename to form a
- complete path ending with a filename
-
- $path = File::Spec->catfile( @directories, $filename );
-
- =item curdir
- X<curdir>
-
- Returns a string representation of the current directory.
-
- $curdir = File::Spec->curdir();
-
- =item devnull
- X<devnull>
-
- Returns a string representation of the null device.
-
- $devnull = File::Spec->devnull();
-
- =item rootdir
- X<rootdir>
-
- Returns a string representation of the root directory.
-
- $rootdir = File::Spec->rootdir();
-
- =item tmpdir
- X<tmpdir>
-
- Returns a string representation of the first writable directory from a
- list of possible temporary directories. Returns the current directory
- if no writable temporary directories are found. The list of directories
- checked depends on the platform; e.g. File::Spec::Unix checks C<$ENV{TMPDIR}>
- (unless taint is on) and F</tmp>.
-
- $tmpdir = File::Spec->tmpdir();
-
- =item updir
- X<updir>
-
- Returns a string representation of the parent directory.
-
- $updir = File::Spec->updir();
-
- =item no_upwards
-
- Given a list of file names, strip out those that refer to a parent
- directory. (Does not strip symlinks, only '.', '..', and equivalents.)
-
- @paths = File::Spec->no_upwards( @paths );
-
- =item case_tolerant
-
- Returns a true or false value indicating, respectively, that alphabetic
- case is not or is significant when comparing file specifications.
- Cygwin and Win32 accept an optional drive argument.
-
- $is_case_tolerant = File::Spec->case_tolerant();
-
- =item file_name_is_absolute
-
- Takes as its argument a path, and returns true if it is an absolute path.
-
- $is_absolute = File::Spec->file_name_is_absolute( $path );
-
- This does not consult the local filesystem on Unix, Win32, OS/2, or
- Mac OS (Classic). It does consult the working environment for VMS
- (see L<File::Spec::VMS/file_name_is_absolute>).
-
- =item path
- X<path>
-
- Takes no argument. Returns the environment variable C<PATH> (or the local
- platform's equivalent) as a list.
-
- @PATH = File::Spec->path();
-
- =item join
- X<join, path>
-
- join is the same as catfile.
-
- =item splitpath
- X<splitpath> X<split, path>
-
- Splits a path in to volume, directory, and filename portions. On systems
- with no concept of volume, returns '' for volume.
-
- ($volume,$directories,$file) =
- File::Spec->splitpath( $path );
- ($volume,$directories,$file) =
- File::Spec->splitpath( $path, $no_file );
-
- For systems with no syntax differentiating filenames from directories,
- assumes that the last file is a path unless C<$no_file> is true or a
- trailing separator or F</.> or F</..> is present. On Unix, this means that C<$no_file>
- true makes this return ( '', $path, '' ).
-
- The directory portion may or may not be returned with a trailing '/'.
-
- The results can be passed to L</catpath()> to get back a path equivalent to
- (usually identical to) the original path.
-
- =item splitdir
- X<splitdir> X<split, dir>
-
- The opposite of L</catdir>.
-
- @dirs = File::Spec->splitdir( $directories );
-
- C<$directories> must be only the directory portion of the path on systems
- that have the concept of a volume or that have path syntax that differentiates
- files from directories.
-
- Unlike just splitting the directories on the separator, empty
- directory names (C<''>) can be returned, because these are significant
- on some OSes.
-
- =item catpath()
-
- Takes volume, directory and file portions and returns an entire path. Under
- Unix, C<$volume> is ignored, and directory and file are concatenated. A '/' is
- inserted if need be. On other OSes, C<$volume> is significant.
-
- $full_path = File::Spec->catpath( $volume, $directory, $file );
-
- =item abs2rel
- X<abs2rel> X<absolute, path> X<relative, path>
-
- Takes a destination path and an optional base path returns a relative path
- from the base path to the destination path:
-
- $rel_path = File::Spec->abs2rel( $path ) ;
- $rel_path = File::Spec->abs2rel( $path, $base ) ;
-
- If C<$base> is not present or '', then L<Cwd::cwd()|Cwd> is used. If C<$base> is
- relative, then it is converted to absolute form using
- L</rel2abs()>. This means that it is taken to be relative to
- L<Cwd::cwd()|Cwd>.
-
- On systems with the concept of volume, if C<$path> and C<$base> appear to be
- on two different volumes, we will not attempt to resolve the two
- paths, and we will instead simply return C<$path>. Note that previous
- versions of this module ignored the volume of C<$base>, which resulted in
- garbage results part of the time.
-
- On systems that have a grammar that indicates filenames, this ignores the
- C<$base> filename as well. Otherwise all path components are assumed to be
- directories.
-
- If C<$path> is relative, it is converted to absolute form using L</rel2abs()>.
- This means that it is taken to be relative to L<Cwd::cwd()|Cwd>.
-
- No checks against the filesystem are made. On VMS, there is
- interaction with the working environment, as logicals and
- macros are expanded.
-
- Based on code written by Shigio Yamaguchi.
-
- =item rel2abs()
- X<rel2abs> X<absolute, path> X<relative, path>
-
- Converts a relative path to an absolute path.
-
- $abs_path = File::Spec->rel2abs( $path ) ;
- $abs_path = File::Spec->rel2abs( $path, $base ) ;
-
- If C<$base> is not present or '', then L<Cwd::cwd()|Cwd> is used. If C<$base> is relative,
- then it is converted to absolute form using L</rel2abs()>. This means that it
- is taken to be relative to L<Cwd::cwd()|Cwd>.
-
- On systems with the concept of volume, if C<$path> and C<$base> appear to be
- on two different volumes, we will not attempt to resolve the two
- paths, and we will instead simply return C<$path>. Note that previous
- versions of this module ignored the volume of C<$base>, which resulted in
- garbage results part of the time.
-
- On systems that have a grammar that indicates filenames, this ignores the
- C<$base> filename as well. Otherwise all path components are assumed to be
- directories.
-
- If C<$path> is absolute, it is cleaned up and returned using L</canonpath>.
-
- No checks against the filesystem are made. On VMS, there is
- interaction with the working environment, as logicals and
- macros are expanded.
-
- Based on code written by Shigio Yamaguchi.
-
- =back
-
- For further information, please see L<File::Spec::Unix>,
- L<File::Spec::Mac>, L<File::Spec::OS2>, L<File::Spec::Win32>, or
- L<File::Spec::VMS>.
-
- =head1 SEE ALSO
-
- L<File::Spec::Unix>, L<File::Spec::Mac>, L<File::Spec::OS2>,
- L<File::Spec::Win32>, L<File::Spec::VMS>, L<File::Spec::Functions>,
- L<ExtUtils::MakeMaker>
-
- =head1 AUTHOR
-
- Currently maintained by Ken Williams C<< <KWILLIAMS@cpan.org> >>.
-
- The vast majority of the code was written by
- Kenneth Albanowski C<< <kjahds@kjahds.com> >>,
- Andy Dougherty C<< <doughera@lafayette.edu> >>,
- Andreas KE<ouml>nig C<< <A.Koenig@franz.ww.TU-Berlin.DE> >>,
- Tim Bunce C<< <Tim.Bunce@ig.co.uk> >>.
- VMS support by Charles Bailey C<< <bailey@newman.upenn.edu> >>.
- OS/2 support by Ilya Zakharevich C<< <ilya@math.ohio-state.edu> >>.
- Mac support by Paul Schinder C<< <schinder@pobox.com> >>, and
- Thomas Wegner C<< <wegner_thomas@yahoo.com> >>.
- abs2rel() and rel2abs() written by Shigio Yamaguchi C<< <shigio@tamacom.com> >>,
- modified by Barrie Slaymaker C<< <barries@slaysys.com> >>.
- splitpath(), splitdir(), catpath() and catdir() by Barrie Slaymaker.
-
- =head1 COPYRIGHT
-
- Copyright (c) 2004-2013 by the Perl 5 Porters. All rights reserved.
-
- This program is free software; you can redistribute it and/or modify
- it under the same terms as Perl itself.
-
- =cut
-X86_64-LINUX-GNU-THREAD-MULTI_FILE_SPEC
-
-$fatpacked{"File/Spec/Cygwin.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'X86_64-LINUX-GNU-THREAD-MULTI_FILE_SPEC_CYGWIN';
- package File::Spec::Cygwin;
-
- use strict;
- use vars qw(@ISA $VERSION);
- require File::Spec::Unix;
-
- $VERSION = '3.47';
- $VERSION =~ tr/_//;
-
- @ISA = qw(File::Spec::Unix);
-
- =head1 NAME
-
- File::Spec::Cygwin - methods for Cygwin file specs
-
- =head1 SYNOPSIS
-
- require File::Spec::Cygwin; # Done internally by File::Spec if needed
-
- =head1 DESCRIPTION
-
- See L<File::Spec> and L<File::Spec::Unix>. This package overrides the
- implementation of these methods, not the semantics.
-
- This module is still in beta. Cygwin-knowledgeable folks are invited
- to offer patches and suggestions.
-
- =cut
-
- =pod
-
- =over 4
-
- =item canonpath
-
- Any C<\> (backslashes) are converted to C</> (forward slashes),
- and then File::Spec::Unix canonpath() is called on the result.
-
- =cut
-
- sub canonpath {
- my($self,$path) = @_;
- return unless defined $path;
-
- $path =~ s|\\|/|g;
-
- # Handle network path names beginning with double slash
- my $node = '';
- if ( $path =~ s@^(//[^/]+)(?:/|\z)@/@s ) {
- $node = $1;
- }
- return $node . $self->SUPER::canonpath($path);
- }
-
- sub catdir {
- my $self = shift;
- return unless @_;
-
- # Don't create something that looks like a //network/path
- if ($_[0] and ($_[0] eq '/' or $_[0] eq '\\')) {
- shift;
- return $self->SUPER::catdir('', @_);
- }
-
- $self->SUPER::catdir(@_);
- }
-
- =pod
-
- =item file_name_is_absolute
-
- True is returned if the file name begins with C<drive_letter:>,
- and if not, File::Spec::Unix file_name_is_absolute() is called.
-
- =cut
-
-
- sub file_name_is_absolute {
- my ($self,$file) = @_;
- return 1 if $file =~ m{^([a-z]:)?[\\/]}is; # C:/test
- return $self->SUPER::file_name_is_absolute($file);
- }
-
- =item tmpdir (override)
-
- Returns a string representation of the first existing directory
- from the following list:
-
- $ENV{TMPDIR}
- /tmp
- $ENV{'TMP'}
- $ENV{'TEMP'}
- C:/temp
-
- If running under taint mode, and if the environment
- variables are tainted, they are not used.
-
- =cut
-
- sub tmpdir {
- my $cached = $_[0]->_cached_tmpdir(qw 'TMPDIR TMP TEMP');
- return $cached if defined $cached;
- $_[0]->_cache_tmpdir(
- $_[0]->_tmpdir(
- $ENV{TMPDIR}, "/tmp", $ENV{'TMP'}, $ENV{'TEMP'}, 'C:/temp'
- ),
- qw 'TMPDIR TMP TEMP'
- );
- }
-
- =item case_tolerant
-
- Override Unix. Cygwin case-tolerance depends on managed mount settings and
- as with MsWin32 on GetVolumeInformation() $ouFsFlags == FS_CASE_SENSITIVE,
- indicating the case significance when comparing file specifications.
- Default: 1
-
- =cut
-
- sub case_tolerant {
- return 1 unless $^O eq 'cygwin'
- and defined &Cygwin::mount_flags;
-
- my $drive = shift;
- if (! $drive) {
- my @flags = split(/,/, Cygwin::mount_flags('/cygwin'));
- my $prefix = pop(@flags);
- if (! $prefix || $prefix eq 'cygdrive') {
- $drive = '/cygdrive/c';
- } elsif ($prefix eq '/') {
- $drive = '/c';
- } else {
- $drive = "$prefix/c";
- }
- }
- my $mntopts = Cygwin::mount_flags($drive);
- if ($mntopts and ($mntopts =~ /,managed/)) {
- return 0;
- }
- eval { require Win32API::File; } or return 1;
- my $osFsType = "\0"x256;
- my $osVolName = "\0"x256;
- my $ouFsFlags = 0;
- Win32API::File::GetVolumeInformation($drive, $osVolName, 256, [], [], $ouFsFlags, $osFsType, 256 );
- if ($ouFsFlags & Win32API::File::FS_CASE_SENSITIVE()) { return 0; }
- else { return 1; }
- }
-
- =back
-
- =head1 COPYRIGHT
-
- Copyright (c) 2004,2007 by the Perl 5 Porters. All rights reserved.
-
- This program is free software; you can redistribute it and/or modify
- it under the same terms as Perl itself.
-
- =cut
-
- 1;
-X86_64-LINUX-GNU-THREAD-MULTI_FILE_SPEC_CYGWIN
-
-$fatpacked{"File/Spec/Epoc.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'X86_64-LINUX-GNU-THREAD-MULTI_FILE_SPEC_EPOC';
- package File::Spec::Epoc;
-
- use strict;
- use vars qw($VERSION @ISA);
-
- $VERSION = '3.47';
- $VERSION =~ tr/_//;
-
- require File::Spec::Unix;
- @ISA = qw(File::Spec::Unix);
-
- =head1 NAME
-
- File::Spec::Epoc - methods for Epoc file specs
-
- =head1 SYNOPSIS
-
- require File::Spec::Epoc; # Done internally by File::Spec if needed
-
- =head1 DESCRIPTION
-
- See File::Spec::Unix for a documentation of the methods provided
- there. This package overrides the implementation of these methods, not
- the semantics.
-
- This package is still a work in progress. ;-)
-
- =cut
-
- sub case_tolerant {
- return 1;
- }
-
- =pod
-
- =over 4
-
- =item canonpath()
-
- No physical check on the filesystem, but a logical cleanup of a
- path. On UNIX eliminated successive slashes and successive "/.".
-
- =back
-
- =cut
-
- sub canonpath {
- my ($self,$path) = @_;
- return unless defined $path;
-
- $path =~ s|/+|/|g; # xx////xx -> xx/xx
- $path =~ s|(/\.)+/|/|g; # xx/././xx -> xx/xx
- $path =~ s|^(\./)+||s unless $path eq "./"; # ./xx -> xx
- $path =~ s|^/(\.\./)+|/|s; # /../../xx -> xx
- $path =~ s|/\Z(?!\n)|| unless $path eq "/"; # xx/ -> xx
- return $path;
- }
-
- =pod
-
- =head1 AUTHOR
-
- o.flebbe@gmx.de
-
- =head1 COPYRIGHT
-
- Copyright (c) 2004 by the Perl 5 Porters. All rights reserved.
-
- This program is free software; you can redistribute it and/or modify
- it under the same terms as Perl itself.
-
- =head1 SEE ALSO
-
- See L<File::Spec> and L<File::Spec::Unix>. This package overrides the
- implementation of these methods, not the semantics.
-
- =cut
-
- 1;
-X86_64-LINUX-GNU-THREAD-MULTI_FILE_SPEC_EPOC
-
-$fatpacked{"File/Spec/Functions.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'X86_64-LINUX-GNU-THREAD-MULTI_FILE_SPEC_FUNCTIONS';
- package File::Spec::Functions;
-
- use File::Spec;
- use strict;
-
- use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $VERSION);
-
- $VERSION = '3.47';
- $VERSION =~ tr/_//;
-
- require Exporter;
-
- @ISA = qw(Exporter);
-
- @EXPORT = qw(
- canonpath
- catdir
- catfile
- curdir
- rootdir
- updir
- no_upwards
- file_name_is_absolute
- path
- );
-
- @EXPORT_OK = qw(
- devnull
- tmpdir
- splitpath
- splitdir
- catpath
- abs2rel
- rel2abs
- case_tolerant
- );
-
- %EXPORT_TAGS = ( ALL => [ @EXPORT_OK, @EXPORT ] );
-
- require File::Spec::Unix;
- my %udeps = (
- canonpath => [],
- catdir => [qw(canonpath)],
- catfile => [qw(canonpath catdir)],
- case_tolerant => [],
- curdir => [],
- devnull => [],
- rootdir => [],
- updir => [],
- );
-
- foreach my $meth (@EXPORT, @EXPORT_OK) {
- my $sub = File::Spec->can($meth);
- no strict 'refs';
- if (exists($udeps{$meth}) && $sub == File::Spec::Unix->can($meth) &&
- !(grep {
- File::Spec->can($_) != File::Spec::Unix->can($_)
- } @{$udeps{$meth}}) &&
- defined(&{"File::Spec::Unix::_fn_$meth"})) {
- *{$meth} = \&{"File::Spec::Unix::_fn_$meth"};
- } else {
- *{$meth} = sub {&$sub('File::Spec', @_)};
- }
- }
-
-
- 1;
- __END__
-
- =head1 NAME
-
- File::Spec::Functions - portably perform operations on file names
-
- =head1 SYNOPSIS
-
- use File::Spec::Functions;
- $x = catfile('a','b');
-
- =head1 DESCRIPTION
-
- This module exports convenience functions for all of the class methods
- provided by File::Spec.
-
- For a reference of available functions, please consult L<File::Spec::Unix>,
- which contains the entire set, and which is inherited by the modules for
- other platforms. For further information, please see L<File::Spec::Mac>,
- L<File::Spec::OS2>, L<File::Spec::Win32>, or L<File::Spec::VMS>.
-
- =head2 Exports
-
- The following functions are exported by default.
-
- canonpath
- catdir
- catfile
- curdir
- rootdir
- updir
- no_upwards
- file_name_is_absolute
- path
-
-
- The following functions are exported only by request.
-
- devnull
- tmpdir
- splitpath
- splitdir
- catpath
- abs2rel
- rel2abs
- case_tolerant
-
- All the functions may be imported using the C<:ALL> tag.
-
- =head1 COPYRIGHT
-
- Copyright (c) 2004 by the Perl 5 Porters. All rights reserved.
-
- This program is free software; you can redistribute it and/or modify
- it under the same terms as Perl itself.
-
- =head1 SEE ALSO
-
- File::Spec, File::Spec::Unix, File::Spec::Mac, File::Spec::OS2,
- File::Spec::Win32, File::Spec::VMS, ExtUtils::MakeMaker
-
- =cut
-
-X86_64-LINUX-GNU-THREAD-MULTI_FILE_SPEC_FUNCTIONS
-
-$fatpacked{"File/Spec/Mac.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'X86_64-LINUX-GNU-THREAD-MULTI_FILE_SPEC_MAC';
- package File::Spec::Mac;
-
- use strict;
- use vars qw(@ISA $VERSION);
- require File::Spec::Unix;
-
- $VERSION = '3.47';
- $VERSION =~ tr/_//;
-
- @ISA = qw(File::Spec::Unix);
-
- my $macfiles;
- if ($^O eq 'MacOS') {
- $macfiles = eval { require Mac::Files };
- }
-
- sub case_tolerant { 1 }
-
-
- =head1 NAME
-
- File::Spec::Mac - File::Spec for Mac OS (Classic)
-
- =head1 SYNOPSIS
-
- require File::Spec::Mac; # Done internally by File::Spec if needed
-
- =head1 DESCRIPTION
-
- Methods for manipulating file specifications.
-
- =head1 METHODS
-
- =over 2
-
- =item canonpath
-
- On Mac OS, there's nothing to be done. Returns what it's given.
-
- =cut
-
- sub canonpath {
- my ($self,$path) = @_;
- return $path;
- }
-
- =item catdir()
-
- Concatenate two or more directory names to form a path separated by colons
- (":") ending with a directory. Resulting paths are B<relative> by default,
- but can be forced to be absolute (but avoid this, see below). Automatically
- puts a trailing ":" on the end of the complete path, because that's what's
- done in MacPerl's environment and helps to distinguish a file path from a
- directory path.
-
- B<IMPORTANT NOTE:> Beginning with version 1.3 of this module, the resulting
- path is relative by default and I<not> absolute. This decision was made due
- to portability reasons. Since C<File::Spec-E<gt>catdir()> returns relative paths
- on all other operating systems, it will now also follow this convention on Mac
- OS. Note that this may break some existing scripts.
-
- The intended purpose of this routine is to concatenate I<directory names>.
- But because of the nature of Macintosh paths, some additional possibilities
- are allowed to make using this routine give reasonable results for some
- common situations. In other words, you are also allowed to concatenate
- I<paths> instead of directory names (strictly speaking, a string like ":a"
- is a path, but not a name, since it contains a punctuation character ":").
-
- So, beside calls like
-
- catdir("a") = ":a:"
- catdir("a","b") = ":a:b:"
- catdir() = "" (special case)
-
- calls like the following
-
- catdir(":a:") = ":a:"
- catdir(":a","b") = ":a:b:"
- catdir(":a:","b") = ":a:b:"
- catdir(":a:",":b:") = ":a:b:"
- catdir(":") = ":"
-
- are allowed.
-
- Here are the rules that are used in C<catdir()>; note that we try to be as
- compatible as possible to Unix:
-
- =over 2
-
- =item 1.
-
- The resulting path is relative by default, i.e. the resulting path will have a
- leading colon.
-
- =item 2.
-
- A trailing colon is added automatically to the resulting path, to denote a
- directory.
-
- =item 3.
-
- Generally, each argument has one leading ":" and one trailing ":"
- removed (if any). They are then joined together by a ":". Special
- treatment applies for arguments denoting updir paths like "::lib:",
- see (4), or arguments consisting solely of colons ("colon paths"),
- see (5).
-
- =item 4.
-
- When an updir path like ":::lib::" is passed as argument, the number
- of directories to climb up is handled correctly, not removing leading
- or trailing colons when necessary. E.g.
-
- catdir(":::a","::b","c") = ":::a::b:c:"
- catdir(":::a::","::b","c") = ":::a:::b:c:"
-
- =item 5.
-
- Adding a colon ":" or empty string "" to a path at I<any> position
- doesn't alter the path, i.e. these arguments are ignored. (When a ""
- is passed as the first argument, it has a special meaning, see
- (6)). This way, a colon ":" is handled like a "." (curdir) on Unix,
- while an empty string "" is generally ignored (see
- C<Unix-E<gt>canonpath()> ). Likewise, a "::" is handled like a ".."
- (updir), and a ":::" is handled like a "../.." etc. E.g.
-
- catdir("a",":",":","b") = ":a:b:"
- catdir("a",":","::",":b") = ":a::b:"
-
- =item 6.
-
- If the first argument is an empty string "" or is a volume name, i.e. matches
- the pattern /^[^:]+:/, the resulting path is B<absolute>.
-
- =item 7.
-
- Passing an empty string "" as the first argument to C<catdir()> is
- like passingC<File::Spec-E<gt>rootdir()> as the first argument, i.e.
-
- catdir("","a","b") is the same as
-
- catdir(rootdir(),"a","b").
-
- This is true on Unix, where C<catdir("","a","b")> yields "/a/b" and
- C<rootdir()> is "/". Note that C<rootdir()> on Mac OS is the startup
- volume, which is the closest in concept to Unix' "/". This should help
- to run existing scripts originally written for Unix.
-
- =item 8.
-
- For absolute paths, some cleanup is done, to ensure that the volume
- name isn't immediately followed by updirs. This is invalid, because
- this would go beyond "root". Generally, these cases are handled like
- their Unix counterparts:
-
- Unix:
- Unix->catdir("","") = "/"
- Unix->catdir("",".") = "/"
- Unix->catdir("","..") = "/" # can't go
- # beyond root
- Unix->catdir("",".","..","..","a") = "/a"
- Mac:
- Mac->catdir("","") = rootdir() # (e.g. "HD:")
- Mac->catdir("",":") = rootdir()
- Mac->catdir("","::") = rootdir() # can't go
- # beyond root
- Mac->catdir("",":","::","::","a") = rootdir() . "a:"
- # (e.g. "HD:a:")
-
- However, this approach is limited to the first arguments following
- "root" (again, see C<Unix-E<gt>canonpath()> ). If there are more
- arguments that move up the directory tree, an invalid path going
- beyond root can be created.
-
- =back
-
- As you've seen, you can force C<catdir()> to create an absolute path
- by passing either an empty string or a path that begins with a volume
- name as the first argument. However, you are strongly encouraged not
- to do so, since this is done only for backward compatibility. Newer
- versions of File::Spec come with a method called C<catpath()> (see
- below), that is designed to offer a portable solution for the creation
- of absolute paths. It takes volume, directory and file portions and
- returns an entire path. While C<catdir()> is still suitable for the
- concatenation of I<directory names>, you are encouraged to use
- C<catpath()> to concatenate I<volume names> and I<directory
- paths>. E.g.
-
- $dir = File::Spec->catdir("tmp","sources");
- $abs_path = File::Spec->catpath("MacintoshHD:", $dir,"");
-
- yields
-
- "MacintoshHD:tmp:sources:" .
-
- =cut
-
- sub catdir {
- my $self = shift;
- return '' unless @_;
- my @args = @_;
- my $first_arg;
- my $relative;
-
- # take care of the first argument
-
- if ($args[0] eq '') { # absolute path, rootdir
- shift @args;
- $relative = 0;
- $first_arg = $self->rootdir;
-
- } elsif ($args[0] =~ /^[^:]+:/) { # absolute path, volume name
- $relative = 0;
- $first_arg = shift @args;
- # add a trailing ':' if need be (may be it's a path like HD:dir)
- $first_arg = "$first_arg:" unless ($first_arg =~ /:\Z(?!\n)/);
-
- } else { # relative path
- $relative = 1;
- if ( $args[0] =~ /^::+\Z(?!\n)/ ) {
- # updir colon path ('::', ':::' etc.), don't shift
- $first_arg = ':';
- } elsif ($args[0] eq ':') {
- $first_arg = shift @args;
- } else {
- # add a trailing ':' if need be
- $first_arg = shift @args;
- $first_arg = "$first_arg:" unless ($first_arg =~ /:\Z(?!\n)/);
- }
- }
-
- # For all other arguments,
- # (a) ignore arguments that equal ':' or '',
- # (b) handle updir paths specially:
- # '::' -> concatenate '::'
- # '::' . '::' -> concatenate ':::' etc.
- # (c) add a trailing ':' if need be
-
- my $result = $first_arg;
- while (@args) {
- my $arg = shift @args;
- unless (($arg eq '') || ($arg eq ':')) {
- if ($arg =~ /^::+\Z(?!\n)/ ) { # updir colon path like ':::'
- my $updir_count = length($arg) - 1;
- while ((@args) && ($args[0] =~ /^::+\Z(?!\n)/) ) { # while updir colon path
- $arg = shift @args;
- $updir_count += (length($arg) - 1);
- }
- $arg = (':' x $updir_count);
- } else {
- $arg =~ s/^://s; # remove a leading ':' if any
- $arg = "$arg:" unless ($arg =~ /:\Z(?!\n)/); # ensure trailing ':'
- }
- $result .= $arg;
- }#unless
- }
-
- if ( ($relative) && ($result !~ /^:/) ) {
- # add a leading colon if need be
- $result = ":$result";
- }
-
- unless ($relative) {
- # remove updirs immediately following the volume name
- $result =~ s/([^:]+:)(:*)(.*)\Z(?!\n)/$1$3/;
- }
-
- return $result;
- }
-
- =item catfile
-
- Concatenate one or more directory names and a filename to form a
- complete path ending with a filename. Resulting paths are B<relative>
- by default, but can be forced to be absolute (but avoid this).
-
- B<IMPORTANT NOTE:> Beginning with version 1.3 of this module, the
- resulting path is relative by default and I<not> absolute. This
- decision was made due to portability reasons. Since
- C<File::Spec-E<gt>catfile()> returns relative paths on all other
- operating systems, it will now also follow this convention on Mac OS.
- Note that this may break some existing scripts.
-
- The last argument is always considered to be the file portion. Since
- C<catfile()> uses C<catdir()> (see above) for the concatenation of the
- directory portions (if any), the following with regard to relative and
- absolute paths is true:
-
- catfile("") = ""
- catfile("file") = "file"
-
- but
-
- catfile("","") = rootdir() # (e.g. "HD:")
- catfile("","file") = rootdir() . file # (e.g. "HD:file")
- catfile("HD:","file") = "HD:file"
-
- This means that C<catdir()> is called only when there are two or more
- arguments, as one might expect.
-
- Note that the leading ":" is removed from the filename, so that
-
- catfile("a","b","file") = ":a:b:file" and
-
- catfile("a","b",":file") = ":a:b:file"
-
- give the same answer.
-
- To concatenate I<volume names>, I<directory paths> and I<filenames>,
- you are encouraged to use C<catpath()> (see below).
-
- =cut
-
- sub catfile {
- my $self = shift;
- return '' unless @_;
- my $file = pop @_;
- return $file unless @_;
- my $dir = $self->catdir(@_);
- $file =~ s/^://s;
- return $dir.$file;
- }
-
- =item curdir
-
- Returns a string representing the current directory. On Mac OS, this is ":".
-
- =cut
-
- sub curdir {
- return ":";
- }
-
- =item devnull
-
- Returns a string representing the null device. On Mac OS, this is "Dev:Null".
-
- =cut
-
- sub devnull {
- return "Dev:Null";
- }
-
- =item rootdir
-
- Returns a string representing the root directory. Under MacPerl,
- returns the name of the startup volume, since that's the closest in
- concept, although other volumes aren't rooted there. The name has a
- trailing ":", because that's the correct specification for a volume
- name on Mac OS.
-
- If Mac::Files could not be loaded, the empty string is returned.
-
- =cut
-
- sub rootdir {
- #
- # There's no real root directory on Mac OS. The name of the startup
- # volume is returned, since that's the closest in concept.
- #
- return '' unless $macfiles;
- my $system = Mac::Files::FindFolder(&Mac::Files::kOnSystemDisk,
- &Mac::Files::kSystemFolderType);
- $system =~ s/:.*\Z(?!\n)/:/s;
- return $system;
- }
-
- =item tmpdir
-
- Returns the contents of $ENV{TMPDIR}, if that directory exits or the
- current working directory otherwise. Under MacPerl, $ENV{TMPDIR} will
- contain a path like "MacintoshHD:Temporary Items:", which is a hidden
- directory on your startup volume.
-
- =cut
-
- sub tmpdir {
- my $cached = $_[0]->_cached_tmpdir('TMPDIR');
- return $cached if defined $cached;
- $_[0]->_cache_tmpdir($_[0]->_tmpdir( $ENV{TMPDIR} ), 'TMPDIR');
- }
-
- =item updir
-
- Returns a string representing the parent directory. On Mac OS, this is "::".
-
- =cut
-
- sub updir {
- return "::";
- }
-
- =item file_name_is_absolute
-
- Takes as argument a path and returns true, if it is an absolute path.
- If the path has a leading ":", it's a relative path. Otherwise, it's an
- absolute path, unless the path doesn't contain any colons, i.e. it's a name
- like "a". In this particular case, the path is considered to be relative
- (i.e. it is considered to be a filename). Use ":" in the appropriate place
- in the path if you want to distinguish unambiguously. As a special case,
- the filename '' is always considered to be absolute. Note that with version
- 1.2 of File::Spec::Mac, this does no longer consult the local filesystem.
-
- E.g.
-
- File::Spec->file_name_is_absolute("a"); # false (relative)
- File::Spec->file_name_is_absolute(":a:b:"); # false (relative)
- File::Spec->file_name_is_absolute("MacintoshHD:");
- # true (absolute)
- File::Spec->file_name_is_absolute(""); # true (absolute)
-
-
- =cut
-
- sub file_name_is_absolute {
- my ($self,$file) = @_;
- if ($file =~ /:/) {
- return (! ($file =~ m/^:/s) );
- } elsif ( $file eq '' ) {
- return 1 ;
- } else {
- return 0; # i.e. a file like "a"
- }
- }
-
- =item path
-
- Returns the null list for the MacPerl application, since the concept is
- usually meaningless under Mac OS. But if you're using the MacPerl tool under
- MPW, it gives back $ENV{Commands} suitably split, as is done in
- :lib:ExtUtils:MM_Mac.pm.
-
- =cut
-
- sub path {
- #
- # The concept is meaningless under the MacPerl application.
- # Under MPW, it has a meaning.
- #
- return unless exists $ENV{Commands};
- return split(/,/, $ENV{Commands});
- }
-
- =item splitpath
-
- ($volume,$directories,$file) = File::Spec->splitpath( $path );
- ($volume,$directories,$file) = File::Spec->splitpath( $path,
- $no_file );
-
- Splits a path into volume, directory, and filename portions.
-
- On Mac OS, assumes that the last part of the path is a filename unless
- $no_file is true or a trailing separator ":" is present.
-
- The volume portion is always returned with a trailing ":". The directory portion
- is always returned with a leading (to denote a relative path) and a trailing ":"
- (to denote a directory). The file portion is always returned I<without> a leading ":".
- Empty portions are returned as empty string ''.
-
- The results can be passed to C<catpath()> to get back a path equivalent to
- (usually identical to) the original path.
-
-
- =cut
-
- sub splitpath {
- my ($self,$path, $nofile) = @_;
- my ($volume,$directory,$file);
-
- if ( $nofile ) {
- ( $volume, $directory ) = $path =~ m|^((?:[^:]+:)?)(.*)|s;
- }
- else {
- $path =~
- m|^( (?: [^:]+: )? )
- ( (?: .*: )? )
- ( .* )
- |xs;
- $volume = $1;
- $directory = $2;
- $file = $3;
- }
-
- $volume = '' unless defined($volume);
- $directory = ":$directory" if ( $volume && $directory ); # take care of "HD::dir"
- if ($directory) {
- # Make sure non-empty directories begin and end in ':'
- $directory .= ':' unless (substr($directory,-1) eq ':');
- $directory = ":$directory" unless (substr($directory,0,1) eq ':');
- } else {
- $directory = '';
- }
- $file = '' unless defined($file);
-
- return ($volume,$directory,$file);
- }
-
-
- =item splitdir
-
- The opposite of C<catdir()>.
-
- @dirs = File::Spec->splitdir( $directories );
-
- $directories should be only the directory portion of the path on systems
- that have the concept of a volume or that have path syntax that differentiates
- files from directories. Consider using C<splitpath()> otherwise.
-
- Unlike just splitting the directories on the separator, empty directory names
- (C<"">) can be returned. Since C<catdir()> on Mac OS always appends a trailing
- colon to distinguish a directory path from a file path, a single trailing colon
- will be ignored, i.e. there's no empty directory name after it.
-
- Hence, on Mac OS, both
-
- File::Spec->splitdir( ":a:b::c:" ); and
- File::Spec->splitdir( ":a:b::c" );
-
- yield:
-
- ( "a", "b", "::", "c")
-
- while
-
- File::Spec->splitdir( ":a:b::c::" );
-
- yields:
-
- ( "a", "b", "::", "c", "::")
-
-
- =cut
-
- sub splitdir {
- my ($self, $path) = @_;
- my @result = ();
- my ($head, $sep, $tail, $volume, $directories);
-
- return @result if ( (!defined($path)) || ($path eq '') );
- return (':') if ($path eq ':');
-
- ( $volume, $sep, $directories ) = $path =~ m|^((?:[^:]+:)?)(:*)(.*)|s;
-
- # deprecated, but handle it correctly
- if ($volume) {
- push (@result, $volume);
- $sep .= ':';
- }
-
- while ($sep || $directories) {
- if (length($sep) > 1) {
- my $updir_count = length($sep) - 1;
- for (my $i=0; $i<$updir_count; $i++) {
- # push '::' updir_count times;
- # simulate Unix '..' updirs
- push (@result, '::');
- }
- }
- $sep = '';
- if ($directories) {
- ( $head, $sep, $tail ) = $directories =~ m|^((?:[^:]+)?)(:*)(.*)|s;
- push (@result, $head);
- $directories = $tail;
- }
- }
- return @result;
- }
-
-
- =item catpath
-
- $path = File::Spec->catpath($volume,$directory,$file);
-
- Takes volume, directory and file portions and returns an entire path. On Mac OS,
- $volume, $directory and $file are concatenated. A ':' is inserted if need be. You
- may pass an empty string for each portion. If all portions are empty, the empty
- string is returned. If $volume is empty, the result will be a relative path,
- beginning with a ':'. If $volume and $directory are empty, a leading ":" (if any)
- is removed form $file and the remainder is returned. If $file is empty, the
- resulting path will have a trailing ':'.
-
-
- =cut
-
- sub catpath {
- my ($self,$volume,$directory,$file) = @_;
-
- if ( (! $volume) && (! $directory) ) {
- $file =~ s/^:// if $file;
- return $file ;
- }
-
- # We look for a volume in $volume, then in $directory, but not both
-
- my ($dir_volume, $dir_dirs) = $self->splitpath($directory, 1);
-
- $volume = $dir_volume unless length $volume;
- my $path = $volume; # may be ''
- $path .= ':' unless (substr($path, -1) eq ':'); # ensure trailing ':'
-
- if ($directory) {
- $directory = $dir_dirs if $volume;
- $directory =~ s/^://; # remove leading ':' if any
- $path .= $directory;
- $path .= ':' unless (substr($path, -1) eq ':'); # ensure trailing ':'
- }
-
- if ($file) {
- $file =~ s/^://; # remove leading ':' if any
- $path .= $file;
- }
-
- return $path;
- }
-
- =item abs2rel
-
- Takes a destination path and an optional base path and returns a relative path
- from the base path to the destination path:
-
- $rel_path = File::Spec->abs2rel( $path ) ;
- $rel_path = File::Spec->abs2rel( $path, $base ) ;
-
- Note that both paths are assumed to have a notation that distinguishes a
- directory path (with trailing ':') from a file path (without trailing ':').
-
- If $base is not present or '', then the current working directory is used.
- If $base is relative, then it is converted to absolute form using C<rel2abs()>.
- This means that it is taken to be relative to the current working directory.
-
- If $path and $base appear to be on two different volumes, we will not
- attempt to resolve the two paths, and we will instead simply return
- $path. Note that previous versions of this module ignored the volume
- of $base, which resulted in garbage results part of the time.
-
- If $base doesn't have a trailing colon, the last element of $base is
- assumed to be a filename. This filename is ignored. Otherwise all path
- components are assumed to be directories.
-
- If $path is relative, it is converted to absolute form using C<rel2abs()>.
- This means that it is taken to be relative to the current working directory.
-
- Based on code written by Shigio Yamaguchi.
-
-
- =cut
-
- # maybe this should be done in canonpath() ?
- sub _resolve_updirs {
- my $path = shift @_;
- my $proceed;
-
- # resolve any updirs, e.g. "HD:tmp::file" -> "HD:file"
- do {
- $proceed = ($path =~ s/^(.*):[^:]+::(.*?)\z/$1:$2/);
- } while ($proceed);
-
- return $path;
- }
-
-
- sub abs2rel {
- my($self,$path,$base) = @_;
-
- # Clean up $path
- if ( ! $self->file_name_is_absolute( $path ) ) {
- $path = $self->rel2abs( $path ) ;
- }
-
- # Figure out the effective $base and clean it up.
- if ( !defined( $base ) || $base eq '' ) {
- $base = $self->_cwd();
- }
- elsif ( ! $self->file_name_is_absolute( $base ) ) {
- $base = $self->rel2abs( $base ) ;
- $base = _resolve_updirs( $base ); # resolve updirs in $base
- }
- else {
- $base = _resolve_updirs( $base );
- }
-
- # Split up paths - ignore $base's file
- my ( $path_vol, $path_dirs, $path_file ) = $self->splitpath( $path );
- my ( $base_vol, $base_dirs ) = $self->splitpath( $base );
-
- return $path unless lc( $path_vol ) eq lc( $base_vol );
-
- # Now, remove all leading components that are the same
- my @pathchunks = $self->splitdir( $path_dirs );
- my @basechunks = $self->splitdir( $base_dirs );
-
- while ( @pathchunks &&
- @basechunks &&
- lc( $pathchunks[0] ) eq lc( $basechunks[0] ) ) {
- shift @pathchunks ;
- shift @basechunks ;
- }
-
- # @pathchunks now has the directories to descend in to.
- # ensure relative path, even if @pathchunks is empty
- $path_dirs = $self->catdir( ':', @pathchunks );
-
- # @basechunks now contains the number of directories to climb out of.
- $base_dirs = (':' x @basechunks) . ':' ;
-
- return $self->catpath( '', $self->catdir( $base_dirs, $path_dirs ), $path_file ) ;
- }
-
- =item rel2abs
-
- Converts a relative path to an absolute path:
-
- $abs_path = File::Spec->rel2abs( $path ) ;
- $abs_path = File::Spec->rel2abs( $path, $base ) ;
-
- Note that both paths are assumed to have a notation that distinguishes a
- directory path (with trailing ':') from a file path (without trailing ':').
-
- If $base is not present or '', then $base is set to the current working
- directory. If $base is relative, then it is converted to absolute form
- using C<rel2abs()>. This means that it is taken to be relative to the
- current working directory.
-
- If $base doesn't have a trailing colon, the last element of $base is
- assumed to be a filename. This filename is ignored. Otherwise all path
- components are assumed to be directories.
-
- If $path is already absolute, it is returned and $base is ignored.
-
- Based on code written by Shigio Yamaguchi.
-
- =cut
-
- sub rel2abs {
- my ($self,$path,$base) = @_;
-
- if ( ! $self->file_name_is_absolute($path) ) {
- # Figure out the effective $base and clean it up.
- if ( !defined( $base ) || $base eq '' ) {
- $base = $self->_cwd();
- }
- elsif ( ! $self->file_name_is_absolute($base) ) {
- $base = $self->rel2abs($base) ;
- }
-
- # Split up paths
-
- # ignore $path's volume
- my ( $path_dirs, $path_file ) = ($self->splitpath($path))[1,2] ;
-
- # ignore $base's file part
- my ( $base_vol, $base_dirs ) = $self->splitpath($base) ;
-
- # Glom them together
- $path_dirs = ':' if ($path_dirs eq '');
- $base_dirs =~ s/:$//; # remove trailing ':', if any
- $base_dirs = $base_dirs . $path_dirs;
-
- $path = $self->catpath( $base_vol, $base_dirs, $path_file );
- }
- return $path;
- }
-
-
- =back
-
- =head1 AUTHORS
-
- See the authors list in I<File::Spec>. Mac OS support by Paul Schinder
- <schinder@pobox.com> and Thomas Wegner <wegner_thomas@yahoo.com>.
-
- =head1 COPYRIGHT
-
- Copyright (c) 2004 by the Perl 5 Porters. All rights reserved.
-
- This program is free software; you can redistribute it and/or modify
- it under the same terms as Perl itself.
-
- =head1 SEE ALSO
-
- See L<File::Spec> and L<File::Spec::Unix>. This package overrides the
- implementation of these methods, not the semantics.
-
- =cut
-
- 1;
-X86_64-LINUX-GNU-THREAD-MULTI_FILE_SPEC_MAC
-
-$fatpacked{"File/Spec/OS2.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'X86_64-LINUX-GNU-THREAD-MULTI_FILE_SPEC_OS2';
- package File::Spec::OS2;
-
- use strict;
- use vars qw(@ISA $VERSION);
- require File::Spec::Unix;
-
- $VERSION = '3.47';
- $VERSION =~ tr/_//;
-
- @ISA = qw(File::Spec::Unix);
-
- sub devnull {
- return "/dev/nul";
- }
-
- sub case_tolerant {
- return 1;
- }
-
- sub file_name_is_absolute {
- my ($self,$file) = @_;
- return scalar($file =~ m{^([a-z]:)?[\\/]}is);
- }
-
- sub path {
- my $path = $ENV{PATH};
- $path =~ s:\\:/:g;
- my @path = split(';',$path);
- foreach (@path) { $_ = '.' if $_ eq '' }
- return @path;
- }
-
- sub _cwd {
- # In OS/2 the "require Cwd" is unnecessary bloat.
- return Cwd::sys_cwd();
- }
-
- sub tmpdir {
- my $cached = $_[0]->_cached_tmpdir(qw 'TMPDIR TEMP TMP');
- return $cached if defined $cached;
- my @d = @ENV{qw(TMPDIR TEMP TMP)}; # function call could autovivivy
- $_[0]->_cache_tmpdir(
- $_[0]->_tmpdir( @d, '/tmp', '/' ), qw 'TMPDIR TEMP TMP'
- );
- }
-
- sub catdir {
- my $self = shift;
- my @args = @_;
- foreach (@args) {
- tr[\\][/];
- # append a backslash to each argument unless it has one there
- $_ .= "/" unless m{/$};
- }
- return $self->canonpath(join('', @args));
- }
-
- sub canonpath {
- my ($self,$path) = @_;
- return unless defined $path;
-
- $path =~ s/^([a-z]:)/\l$1/s;
- $path =~ s|\\|/|g;
- $path =~ s|([^/])/+|$1/|g; # xx////xx -> xx/xx
- $path =~ s|(/\.)+/|/|g; # xx/././xx -> xx/xx
- $path =~ s|^(\./)+(?=[^/])||s; # ./xx -> xx
- $path =~ s|/\Z(?!\n)||
- unless $path =~ m#^([a-z]:)?/\Z(?!\n)#si;# xx/ -> xx
- $path =~ s{^/\.\.$}{/}; # /.. -> /
- 1 while $path =~ s{^/\.\.}{}; # /../xx -> /xx
- return $path;
- }
-
-
- sub splitpath {
- my ($self,$path, $nofile) = @_;
- my ($volume,$directory,$file) = ('','','');
- if ( $nofile ) {
- $path =~
- m{^( (?:[a-zA-Z]:|(?:\\\\|//)[^\\/]+[\\/][^\\/]+)? )
- (.*)
- }xs;
- $volume = $1;
- $directory = $2;
- }
- else {
- $path =~
- m{^ ( (?: [a-zA-Z]: |
- (?:\\\\|//)[^\\/]+[\\/][^\\/]+
- )?
- )
- ( (?:.*[\\\\/](?:\.\.?\Z(?!\n))?)? )
- (.*)
- }xs;
- $volume = $1;
- $directory = $2;
- $file = $3;
- }
-
- return ($volume,$directory,$file);
- }
-
-
- sub splitdir {
- my ($self,$directories) = @_ ;
- split m|[\\/]|, $directories, -1;
- }
-
-
- sub catpath {
- my ($self,$volume,$directory,$file) = @_;
-
- # If it's UNC, make sure the glue separator is there, reusing
- # whatever separator is first in the $volume
- $volume .= $1
- if ( $volume =~ m@^([\\/])[\\/][^\\/]+[\\/][^\\/]+\Z(?!\n)@s &&
- $directory =~ m@^[^\\/]@s
- ) ;
-
- $volume .= $directory ;
-
- # If the volume is not just A:, make sure the glue separator is
- # there, reusing whatever separator is first in the $volume if possible.
- if ( $volume !~ m@^[a-zA-Z]:\Z(?!\n)@s &&
- $volume =~ m@[^\\/]\Z(?!\n)@ &&
- $file =~ m@[^\\/]@
- ) {
- $volume =~ m@([\\/])@ ;
- my $sep = $1 ? $1 : '/' ;
- $volume .= $sep ;
- }
-
- $volume .= $file ;
-
- return $volume ;
- }
-
-
- sub abs2rel {
- my($self,$path,$base) = @_;
-
- # Clean up $path
- if ( ! $self->file_name_is_absolute( $path ) ) {
- $path = $self->rel2abs( $path ) ;
- } else {
- $path = $self->canonpath( $path ) ;
- }
-
- # Figure out the effective $base and clean it up.
- if ( !defined( $base ) || $base eq '' ) {
- $base = $self->_cwd();
- } elsif ( ! $self->file_name_is_absolute( $base ) ) {
- $base = $self->rel2abs( $base ) ;
- } else {
- $base = $self->canonpath( $base ) ;
- }
-
- # Split up paths
- my ( $path_volume, $path_directories, $path_file ) = $self->splitpath( $path, 1 ) ;
- my ( $base_volume, $base_directories ) = $self->splitpath( $base, 1 ) ;
- return $path unless $path_volume eq $base_volume;
-
- # Now, remove all leading components that are the same
- my @pathchunks = $self->splitdir( $path_directories );
- my @basechunks = $self->splitdir( $base_directories );
-
- while ( @pathchunks &&
- @basechunks &&
- lc( $pathchunks[0] ) eq lc( $basechunks[0] )
- ) {
- shift @pathchunks ;
- shift @basechunks ;
- }
-
- # No need to catdir, we know these are well formed.
- $path_directories = CORE::join( '/', @pathchunks );
- $base_directories = CORE::join( '/', @basechunks );
-
- # $base_directories now contains the directories the resulting relative
- # path must ascend out of before it can descend to $path_directory. So,
- # replace all names with $parentDir
-
- #FA Need to replace between backslashes...
- $base_directories =~ s|[^\\/]+|..|g ;
-
- # Glue the two together, using a separator if necessary, and preventing an
- # empty result.
-
- #FA Must check that new directories are not empty.
- if ( $path_directories ne '' && $base_directories ne '' ) {
- $path_directories = "$base_directories/$path_directories" ;
- } else {
- $path_directories = "$base_directories$path_directories" ;
- }
-
- return $self->canonpath(
- $self->catpath( "", $path_directories, $path_file )
- ) ;
- }
-
-
- sub rel2abs {
- my ($self,$path,$base ) = @_;
-
- if ( ! $self->file_name_is_absolute( $path ) ) {
-
- if ( !defined( $base ) || $base eq '' ) {
- $base = $self->_cwd();
- }
- elsif ( ! $self->file_name_is_absolute( $base ) ) {
- $base = $self->rel2abs( $base ) ;
- }
- else {
- $base = $self->canonpath( $base ) ;
- }
-
- my ( $path_directories, $path_file ) =
- ($self->splitpath( $path, 1 ))[1,2] ;
-
- my ( $base_volume, $base_directories ) =
- $self->splitpath( $base, 1 ) ;
-
- $path = $self->catpath(
- $base_volume,
- $self->catdir( $base_directories, $path_directories ),
- $path_file
- ) ;
- }
-
- return $self->canonpath( $path ) ;
- }
-
- 1;
- __END__
-
- =head1 NAME
-
- File::Spec::OS2 - methods for OS/2 file specs
-
- =head1 SYNOPSIS
-
- require File::Spec::OS2; # Done internally by File::Spec if needed
-
- =head1 DESCRIPTION
-
- See L<File::Spec> and L<File::Spec::Unix>. This package overrides the
- implementation of these methods, not the semantics.
-
- Amongst the changes made for OS/2 are...
-
- =over 4
-
- =item tmpdir
-
- Modifies the list of places temp directory information is looked for.
-
- $ENV{TMPDIR}
- $ENV{TEMP}
- $ENV{TMP}
- /tmp
- /
-
- =item splitpath
-
- Volumes can be drive letters or UNC sharenames (\\server\share).
-
- =back
-
- =head1 COPYRIGHT
-
- Copyright (c) 2004 by the Perl 5 Porters. All rights reserved.
-
- This program is free software; you can redistribute it and/or modify
- it under the same terms as Perl itself.
-
- =cut
-X86_64-LINUX-GNU-THREAD-MULTI_FILE_SPEC_OS2
-
-$fatpacked{"File/Spec/Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'X86_64-LINUX-GNU-THREAD-MULTI_FILE_SPEC_UNIX';
- package File::Spec::Unix;
-
- use strict;
- use vars qw($VERSION);
-
- $VERSION = '3.47';
- my $xs_version = $VERSION;
- $VERSION =~ tr/_//;
-
- unless (defined &canonpath) {
- eval {
- if ( $] >= 5.006 ) {
- require XSLoader;
- XSLoader::load("Cwd", $xs_version);
- } else {
- require Cwd;
- }
- };
- }
-
- =head1 NAME
-
- File::Spec::Unix - File::Spec for Unix, base for other File::Spec modules
-
- =head1 SYNOPSIS
-
- require File::Spec::Unix; # Done automatically by File::Spec
-
- =head1 DESCRIPTION
-
- Methods for manipulating file specifications. Other File::Spec
- modules, such as File::Spec::Mac, inherit from File::Spec::Unix and
- override specific methods.
-
- =head1 METHODS
-
- =over 2
-
- =item canonpath()
-
- No physical check on the filesystem, but a logical cleanup of a
- path. On UNIX eliminates successive slashes and successive "/.".
-
- $cpath = File::Spec->canonpath( $path ) ;
-
- Note that this does *not* collapse F<x/../y> sections into F<y>. This
- is by design. If F</foo> on your system is a symlink to F</bar/baz>,
- then F</foo/../quux> is actually F</bar/quux>, not F</quux> as a naive
- F<../>-removal would give you. If you want to do this kind of
- processing, you probably want C<Cwd>'s C<realpath()> function to
- actually traverse the filesystem cleaning up paths like this.
-
- =cut
-
- sub _pp_canonpath {
- my ($self,$path) = @_;
- return unless defined $path;
-
- # Handle POSIX-style node names beginning with double slash (qnx, nto)
- # (POSIX says: "a pathname that begins with two successive slashes
- # may be interpreted in an implementation-defined manner, although
- # more than two leading slashes shall be treated as a single slash.")
- my $node = '';
- my $double_slashes_special = $^O eq 'qnx' || $^O eq 'nto';
-
-
- if ( $double_slashes_special
- && ( $path =~ s{^(//[^/]+)/?\z}{}s || $path =~ s{^(//[^/]+)/}{/}s ) ) {
- $node = $1;
- }
- # This used to be
- # $path =~ s|/+|/|g unless ($^O eq 'cygwin');
- # but that made tests 29, 30, 35, 46, and 213 (as of #13272) to fail
- # (Mainly because trailing "" directories didn't get stripped).
- # Why would cygwin avoid collapsing multiple slashes into one? --jhi
- $path =~ s|/{2,}|/|g; # xx////xx -> xx/xx
- $path =~ s{(?:/\.)+(?:/|\z)}{/}g; # xx/././xx -> xx/xx
- $path =~ s|^(?:\./)+||s unless $path eq "./"; # ./xx -> xx
- $path =~ s|^/(?:\.\./)+|/|; # /../../xx -> xx
- $path =~ s|^/\.\.$|/|; # /.. -> /
- $path =~ s|/\z|| unless $path eq "/"; # xx/ -> xx
- return "$node$path";
- }
- *canonpath = \&_pp_canonpath unless defined &canonpath;
-
- =item catdir()
-
- Concatenate two or more directory names to form a complete path ending
- with a directory. But remove the trailing slash from the resulting
- string, because it doesn't look good, isn't necessary and confuses
- OS2. Of course, if this is the root directory, don't cut off the
- trailing slash :-)
-
- =cut
-
- sub _pp_catdir {
- my $self = shift;
-
- $self->canonpath(join('/', @_, '')); # '' because need a trailing '/'
- }
- *catdir = \&_pp_catdir unless defined &catdir;
-
- =item catfile
-
- Concatenate one or more directory names and a filename to form a
- complete path ending with a filename
-
- =cut
-
- sub _pp_catfile {
- my $self = shift;
- my $file = $self->canonpath(pop @_);
- return $file unless @_;
- my $dir = $self->catdir(@_);
- $dir .= "/" unless substr($dir,-1) eq "/";
- return $dir.$file;
- }
- *catfile = \&_pp_catfile unless defined &catfile;
-
- =item curdir
-
- Returns a string representation of the current directory. "." on UNIX.
-
- =cut
-
- sub curdir { '.' }
- use constant _fn_curdir => ".";
-
- =item devnull
-
- Returns a string representation of the null device. "/dev/null" on UNIX.
-
- =cut
-
- sub devnull { '/dev/null' }
- use constant _fn_devnull => "/dev/null";
-
- =item rootdir
-
- Returns a string representation of the root directory. "/" on UNIX.
-
- =cut
-
- sub rootdir { '/' }
- use constant _fn_rootdir => "/";
-
- =item tmpdir
-
- Returns a string representation of the first writable directory from
- the following list or the current directory if none from the list are
- writable:
-
- $ENV{TMPDIR}
- /tmp
-
- If running under taint mode, and if $ENV{TMPDIR}
- is tainted, it is not used.
-
- =cut
-
- my ($tmpdir, %tmpenv);
- # Cache and return the calculated tmpdir, recording which env vars
- # determined it.
- sub _cache_tmpdir {
- @tmpenv{@_[2..$#_]} = @ENV{@_[2..$#_]};
- return $tmpdir = $_[1];
- }
- # Retrieve the cached tmpdir, checking first whether relevant env vars have
- # changed and invalidated the cache.
- sub _cached_tmpdir {
- shift;
- local $^W;
- return if grep $ENV{$_} ne $tmpenv{$_}, @_;
- return $tmpdir;
- }
- sub _tmpdir {
- my $self = shift;
- my @dirlist = @_;
- my $taint = do { no strict 'refs'; ${"\cTAINT"} };
- if ($taint) { # Check for taint mode on perl >= 5.8.0
- require Scalar::Util;
- @dirlist = grep { ! Scalar::Util::tainted($_) } @dirlist;
- }
- elsif ($] < 5.007) { # No ${^TAINT} before 5.8
- @dirlist = grep { eval { eval('1'.substr $_,0,0) } } @dirlist;
- }
-
- foreach (@dirlist) {
- next unless defined && -d && -w _;
- $tmpdir = $_;
- last;
- }
- $tmpdir = $self->curdir unless defined $tmpdir;
- $tmpdir = defined $tmpdir && $self->canonpath($tmpdir);
- if ( !$self->file_name_is_absolute($tmpdir) ) {
- # See [perl #120593] for the full details
- # If possible, return a full path, rather than '.' or 'lib', but
- # jump through some hoops to avoid returning a tainted value.
- ($tmpdir) = grep {
- $taint ? ! Scalar::Util::tainted($_) :
- $] < 5.007 ? eval { eval('1'.substr $_,0,0) } : 1
- } $self->rel2abs($tmpdir), $tmpdir;
- }
- return $tmpdir;
- }
-
- sub tmpdir {
- my $cached = $_[0]->_cached_tmpdir('TMPDIR');
- return $cached if defined $cached;
- $_[0]->_cache_tmpdir($_[0]->_tmpdir( $ENV{TMPDIR}, "/tmp" ), 'TMPDIR');
- }
-
- =item updir
-
- Returns a string representation of the parent directory. ".." on UNIX.
-
- =cut
-
- sub updir { '..' }
- use constant _fn_updir => "..";
-
- =item no_upwards
-
- Given a list of file names, strip out those that refer to a parent
- directory. (Does not strip symlinks, only '.', '..', and equivalents.)
-
- =cut
-
- sub no_upwards {
- my $self = shift;
- return grep(!/^\.{1,2}\z/s, @_);
- }
-
- =item case_tolerant
-
- Returns a true or false value indicating, respectively, that alphabetic
- is not or is significant when comparing file specifications.
-
- =cut
-
- sub case_tolerant { 0 }
- use constant _fn_case_tolerant => 0;
-
- =item file_name_is_absolute
-
- Takes as argument a path and returns true if it is an absolute path.
-
- This does not consult the local filesystem on Unix, Win32, OS/2 or Mac
- OS (Classic). It does consult the working environment for VMS (see
- L<File::Spec::VMS/file_name_is_absolute>).
-
- =cut
-
- sub file_name_is_absolute {
- my ($self,$file) = @_;
- return scalar($file =~ m:^/:s);
- }
-
- =item path
-
- Takes no argument, returns the environment variable PATH as an array.
-
- =cut
-
- sub path {
- return () unless exists $ENV{PATH};
- my @path = split(':', $ENV{PATH});
- foreach (@path) { $_ = '.' if $_ eq '' }
- return @path;
- }
-
- =item join
-
- join is the same as catfile.
-
- =cut
-
- sub join {
- my $self = shift;
- return $self->catfile(@_);
- }
-
- =item splitpath
-
- ($volume,$directories,$file) = File::Spec->splitpath( $path );
- ($volume,$directories,$file) = File::Spec->splitpath( $path,
- $no_file );
-
- Splits a path into volume, directory, and filename portions. On systems
- with no concept of volume, returns '' for volume.
-
- For systems with no syntax differentiating filenames from directories,
- assumes that the last file is a path unless $no_file is true or a
- trailing separator or /. or /.. is present. On Unix this means that $no_file
- true makes this return ( '', $path, '' ).
-
- The directory portion may or may not be returned with a trailing '/'.
-
- The results can be passed to L</catpath()> to get back a path equivalent to
- (usually identical to) the original path.
-
- =cut
-
- sub splitpath {
- my ($self,$path, $nofile) = @_;
-
- my ($volume,$directory,$file) = ('','','');
-
- if ( $nofile ) {
- $directory = $path;
- }
- else {
- $path =~ m|^ ( (?: .* / (?: \.\.?\z )? )? ) ([^/]*) |xs;
- $directory = $1;
- $file = $2;
- }
-
- return ($volume,$directory,$file);
- }
-
-
- =item splitdir
-
- The opposite of L</catdir()>.
-
- @dirs = File::Spec->splitdir( $directories );
-
- $directories must be only the directory portion of the path on systems
- that have the concept of a volume or that have path syntax that differentiates
- files from directories.
-
- Unlike just splitting the directories on the separator, empty
- directory names (C<''>) can be returned, because these are significant
- on some OSs.
-
- On Unix,
-
- File::Spec->splitdir( "/a/b//c/" );
-
- Yields:
-
- ( '', 'a', 'b', '', 'c', '' )
-
- =cut
-
- sub splitdir {
- return split m|/|, $_[1], -1; # Preserve trailing fields
- }
-
-
- =item catpath()
-
- Takes volume, directory and file portions and returns an entire path. Under
- Unix, $volume is ignored, and directory and file are concatenated. A '/' is
- inserted if needed (though if the directory portion doesn't start with
- '/' it is not added). On other OSs, $volume is significant.
-
- =cut
-
- sub catpath {
- my ($self,$volume,$directory,$file) = @_;
-
- if ( $directory ne '' &&
- $file ne '' &&
- substr( $directory, -1 ) ne '/' &&
- substr( $file, 0, 1 ) ne '/'
- ) {
- $directory .= "/$file" ;
- }
- else {
- $directory .= $file ;
- }
-
- return $directory ;
- }
-
- =item abs2rel
-
- Takes a destination path and an optional base path returns a relative path
- from the base path to the destination path:
-
- $rel_path = File::Spec->abs2rel( $path ) ;
- $rel_path = File::Spec->abs2rel( $path, $base ) ;
-
- If $base is not present or '', then L<cwd()|Cwd> is used. If $base is
- relative, then it is converted to absolute form using
- L</rel2abs()>. This means that it is taken to be relative to
- L<cwd()|Cwd>.
-
- On systems that have a grammar that indicates filenames, this ignores the
- $base filename. Otherwise all path components are assumed to be
- directories.
-
- If $path is relative, it is converted to absolute form using L</rel2abs()>.
- This means that it is taken to be relative to L<cwd()|Cwd>.
-
- No checks against the filesystem are made, so the result may not be correct if
- C<$base> contains symbolic links. (Apply
- L<Cwd::abs_path()|Cwd/abs_path> beforehand if that
- is a concern.) On VMS, there is interaction with the working environment, as
- logicals and macros are expanded.
-
- Based on code written by Shigio Yamaguchi.
-
- =cut
-
- sub abs2rel {
- my($self,$path,$base) = @_;
- $base = $self->_cwd() unless defined $base and length $base;
-
- ($path, $base) = map $self->canonpath($_), $path, $base;
-
- my $path_directories;
- my $base_directories;
-
- if (grep $self->file_name_is_absolute($_), $path, $base) {
- ($path, $base) = map $self->rel2abs($_), $path, $base;
-
- my ($path_volume) = $self->splitpath($path, 1);
- my ($base_volume) = $self->splitpath($base, 1);
-
- # Can't relativize across volumes
- return $path unless $path_volume eq $base_volume;
-
- $path_directories = ($self->splitpath($path, 1))[1];
- $base_directories = ($self->splitpath($base, 1))[1];
-
- # For UNC paths, the user might give a volume like //foo/bar that
- # strictly speaking has no directory portion. Treat it as if it
- # had the root directory for that volume.
- if (!length($base_directories) and $self->file_name_is_absolute($base)) {
- $base_directories = $self->rootdir;
- }
- }
- else {
- my $wd= ($self->splitpath($self->_cwd(), 1))[1];
- $path_directories = $self->catdir($wd, $path);
- $base_directories = $self->catdir($wd, $base);
- }
-
- # Now, remove all leading components that are the same
- my @pathchunks = $self->splitdir( $path_directories );
- my @basechunks = $self->splitdir( $base_directories );
-
- if ($base_directories eq $self->rootdir) {
- return $self->curdir if $path_directories eq $self->rootdir;
- shift @pathchunks;
- return $self->canonpath( $self->catpath('', $self->catdir( @pathchunks ), '') );
- }
-
- my @common;
- while (@pathchunks && @basechunks && $self->_same($pathchunks[0], $basechunks[0])) {
- push @common, shift @pathchunks ;
- shift @basechunks ;
- }
- return $self->curdir unless @pathchunks || @basechunks;
-
- # @basechunks now contains the directories the resulting relative path
- # must ascend out of before it can descend to $path_directory. If there
- # are updir components, we must descend into the corresponding directories
- # (this only works if they are no symlinks).
- my @reverse_base;
- while( defined(my $dir= shift @basechunks) ) {
- if( $dir ne $self->updir ) {
- unshift @reverse_base, $self->updir;
- push @common, $dir;
- }
- elsif( @common ) {
- if( @reverse_base && $reverse_base[0] eq $self->updir ) {
- shift @reverse_base;
- pop @common;
- }
- else {
- unshift @reverse_base, pop @common;
- }
- }
- }
- my $result_dirs = $self->catdir( @reverse_base, @pathchunks );
- return $self->canonpath( $self->catpath('', $result_dirs, '') );
- }
-
- sub _same {
- $_[1] eq $_[2];
- }
-
- =item rel2abs()
-
- Converts a relative path to an absolute path.
-
- $abs_path = File::Spec->rel2abs( $path ) ;
- $abs_path = File::Spec->rel2abs( $path, $base ) ;
-
- If $base is not present or '', then L<cwd()|Cwd> is used. If $base is
- relative, then it is converted to absolute form using
- L</rel2abs()>. This means that it is taken to be relative to
- L<cwd()|Cwd>.
-
- On systems that have a grammar that indicates filenames, this ignores
- the $base filename. Otherwise all path components are assumed to be
- directories.
-
- If $path is absolute, it is cleaned up and returned using L</canonpath()>.
-
- No checks against the filesystem are made. On VMS, there is
- interaction with the working environment, as logicals and
- macros are expanded.
-
- Based on code written by Shigio Yamaguchi.
-
- =cut
-
- sub rel2abs {
- my ($self,$path,$base ) = @_;
-
- # Clean up $path
- if ( ! $self->file_name_is_absolute( $path ) ) {
- # Figure out the effective $base and clean it up.
- if ( !defined( $base ) || $base eq '' ) {
- $base = $self->_cwd();
- }
- elsif ( ! $self->file_name_is_absolute( $base ) ) {
- $base = $self->rel2abs( $base ) ;
- }
- else {
- $base = $self->canonpath( $base ) ;
- }
-
- # Glom them together
- $path = $self->catdir( $base, $path ) ;
- }
-
- return $self->canonpath( $path ) ;
- }
-
- =back
-
- =head1 COPYRIGHT
-
- Copyright (c) 2004 by the Perl 5 Porters. All rights reserved.
-
- This program is free software; you can redistribute it and/or modify
- it under the same terms as Perl itself.
-
- Please submit bug reports and patches to perlbug@perl.org.
-
- =head1 SEE ALSO
-
- L<File::Spec>
-
- =cut
-
- # Internal routine to File::Spec, no point in making this public since
- # it is the standard Cwd interface. Most of the platform-specific
- # File::Spec subclasses use this.
- sub _cwd {
- require Cwd;
- Cwd::getcwd();
- }
-
-
- # Internal method to reduce xx\..\yy -> yy
- sub _collapse {
- my($fs, $path) = @_;
-
- my $updir = $fs->updir;
- my $curdir = $fs->curdir;
-
- my($vol, $dirs, $file) = $fs->splitpath($path);
- my @dirs = $fs->splitdir($dirs);
- pop @dirs if @dirs && $dirs[-1] eq '';
-
- my @collapsed;
- foreach my $dir (@dirs) {
- if( $dir eq $updir and # if we have an updir
- @collapsed and # and something to collapse
- length $collapsed[-1] and # and its not the rootdir
- $collapsed[-1] ne $updir and # nor another updir
- $collapsed[-1] ne $curdir # nor the curdir
- )
- { # then
- pop @collapsed; # collapse
- }
- else { # else
- push @collapsed, $dir; # just hang onto it
- }
- }
-
- return $fs->catpath($vol,
- $fs->catdir(@collapsed),
- $file
- );
- }
-
-
- 1;
-X86_64-LINUX-GNU-THREAD-MULTI_FILE_SPEC_UNIX
-
-$fatpacked{"File/Spec/VMS.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'X86_64-LINUX-GNU-THREAD-MULTI_FILE_SPEC_VMS';
- package File::Spec::VMS;
-
- use strict;
- use vars qw(@ISA $VERSION);
- require File::Spec::Unix;
-
- $VERSION = '3.47';
- $VERSION =~ tr/_//;
-
- @ISA = qw(File::Spec::Unix);
-
- use File::Basename;
- use VMS::Filespec;
-
- =head1 NAME
-
- File::Spec::VMS - methods for VMS file specs
-
- =head1 SYNOPSIS
-
- require File::Spec::VMS; # Done internally by File::Spec if needed
-
- =head1 DESCRIPTION
-
- See File::Spec::Unix for a documentation of the methods provided
- there. This package overrides the implementation of these methods, not
- the semantics.
-
- The default behavior is to allow either VMS or Unix syntax on input and to
- return VMS syntax on output unless Unix syntax has been explicitly requested
- via the C<DECC$FILENAME_UNIX_REPORT> CRTL feature.
-
- =over 4
-
- =cut
-
- # Need to look up the feature settings. The preferred way is to use the
- # VMS::Feature module, but that may not be available to dual life modules.
-
- my $use_feature;
- BEGIN {
- if (eval { local $SIG{__DIE__}; require VMS::Feature; }) {
- $use_feature = 1;
- }
- }
-
- # Need to look up the UNIX report mode. This may become a dynamic mode
- # in the future.
- sub _unix_rpt {
- my $unix_rpt;
- if ($use_feature) {
- $unix_rpt = VMS::Feature::current("filename_unix_report");
- } else {
- my $env_unix_rpt = $ENV{'DECC$FILENAME_UNIX_REPORT'} || '';
- $unix_rpt = $env_unix_rpt =~ /^[ET1]/i;
- }
- return $unix_rpt;
- }
-
- =item canonpath (override)
-
- Removes redundant portions of file specifications and returns results
- in native syntax unless Unix filename reporting has been enabled.
-
- =cut
-
-
- sub canonpath {
- my($self,$path) = @_;
-
- return undef unless defined $path;
-
- my $unix_rpt = $self->_unix_rpt;
-
- if ($path =~ m|/|) {
- my $pathify = $path =~ m|/\Z(?!\n)|;
- $path = $self->SUPER::canonpath($path);
-
- return $path if $unix_rpt;
- $path = $pathify ? vmspath($path) : vmsify($path);
- }
-
- $path =~ s/(?<!\^)</[/; # < and > ==> [ and ]
- $path =~ s/(?<!\^)>/]/;
- $path =~ s/(?<!\^)\]\[\./\.\]\[/g; # ][. ==> .][
- $path =~ s/(?<!\^)\[000000\.\]\[/\[/g; # [000000.][ ==> [
- $path =~ s/(?<!\^)\[000000\./\[/g; # [000000. ==> [
- $path =~ s/(?<!\^)\.\]\[000000\]/\]/g; # .][000000] ==> ]
- $path =~ s/(?<!\^)\.\]\[/\./g; # foo.][bar ==> foo.bar
- 1 while ($path =~ s/(?<!\^)([\[\.])(-+)\.(-+)([\.\]])/$1$2$3$4/);
- # That loop does the following
- # with any amount of dashes:
- # .-.-. ==> .--.
- # [-.-. ==> [--.
- # .-.-] ==> .--]
- # [-.-] ==> [--]
- 1 while ($path =~ s/(?<!\^)([\[\.])[^\]\.]+\.-(-+)([\]\.])/$1$2$3/);
- # That loop does the following
- # with any amount (minimum 2)
- # of dashes:
- # .foo.--. ==> .-.
- # .foo.--] ==> .-]
- # [foo.--. ==> [-.
- # [foo.--] ==> [-]
- #
- # And then, the remaining cases
- $path =~ s/(?<!\^)\[\.-/[-/; # [.- ==> [-
- $path =~ s/(?<!\^)\.[^\]\.]+\.-\./\./g; # .foo.-. ==> .
- $path =~ s/(?<!\^)\[[^\]\.]+\.-\./\[/g; # [foo.-. ==> [
- $path =~ s/(?<!\^)\.[^\]\.]+\.-\]/\]/g; # .foo.-] ==> ]
- # [foo.-] ==> [000000]
- $path =~ s/(?<!\^)\[[^\]\.]+\.-\]/\[000000\]/g;
- # [] ==>
- $path =~ s/(?<!\^)\[\]// unless $path eq '[]';
- return $unix_rpt ? unixify($path) : $path;
- }
-
- =item catdir (override)
-
- Concatenates a list of file specifications, and returns the result as a
- native directory specification unless the Unix filename reporting feature
- has been enabled. No check is made for "impossible" cases (e.g. elements
- other than the first being absolute filespecs).
-
- =cut
-
- sub catdir {
- my $self = shift;
- my $dir = pop;
-
- my $unix_rpt = $self->_unix_rpt;
-
- my @dirs = grep {defined() && length()} @_;
-
- my $rslt;
- if (@dirs) {
- my $path = (@dirs == 1 ? $dirs[0] : $self->catdir(@dirs));
- my ($spath,$sdir) = ($path,$dir);
- $spath =~ s/\.dir\Z(?!\n)//i; $sdir =~ s/\.dir\Z(?!\n)//i;
-
- if ($unix_rpt) {
- $spath = unixify($spath) unless $spath =~ m#/#;
- $sdir= unixify($sdir) unless $sdir =~ m#/#;
- return $self->SUPER::catdir($spath, $sdir)
- }
-
- $sdir = $self->eliminate_macros($sdir) unless $sdir =~ /^[\w\-]+\Z(?!\n)/s;
- $rslt = $self->fixpath($self->eliminate_macros($spath)."/$sdir",1);
-
- # Special case for VMS absolute directory specs: these will have
- # had device prepended during trip through Unix syntax in
- # eliminate_macros(), since Unix syntax has no way to express
- # "absolute from the top of this device's directory tree".
- if ($spath =~ /^[\[<][^.\-]/s) { $rslt =~ s/^[^\[<]+//s; }
-
- } else {
- # Single directory. Return an empty string on null input; otherwise
- # just return a canonical path.
-
- if (not defined $dir or not length $dir) {
- $rslt = '';
- } else {
- $rslt = $unix_rpt ? $dir : vmspath($dir);
- }
- }
- return $self->canonpath($rslt);
- }
-
- =item catfile (override)
-
- Concatenates a list of directory specifications with a filename specification
- to build a path.
-
- =cut
-
- sub catfile {
- my $self = shift;
- my $tfile = pop();
- my $file = $self->canonpath($tfile);
- my @files = grep {defined() && length()} @_;
-
- my $unix_rpt = $self->_unix_rpt;
-
- my $rslt;
- if (@files) {
- my $path = (@files == 1 ? $files[0] : $self->catdir(@files));
- my $spath = $path;
-
- # Something building a VMS path in pieces may try to pass a
- # directory name in filename format, so normalize it.
- $spath =~ s/\.dir\Z(?!\n)//i;
-
- # If the spath ends with a directory delimiter and the file is bare,
- # then just concatenate them.
- if ($spath =~ /^(?<!\^)[^\)\]\/:>]+\)\Z(?!\n)/s && basename($file) eq $file) {
- $rslt = "$spath$file";
- } else {
- $rslt = $self->eliminate_macros($spath);
- $rslt .= (defined($rslt) && length($rslt) ? '/' : '') . unixify($file);
- $rslt = vmsify($rslt) unless $unix_rpt;
- }
- }
- else {
- # Only passed a single file?
- my $xfile = (defined($file) && length($file)) ? $file : '';
-
- $rslt = $unix_rpt ? $file : vmsify($file);
- }
- return $self->canonpath($rslt) unless $unix_rpt;
-
- # In Unix report mode, do not strip off redundant path information.
- return $rslt;
- }
-
-
- =item curdir (override)
-
- Returns a string representation of the current directory: '[]' or '.'
-
- =cut
-
- sub curdir {
- my $self = shift @_;
- return '.' if ($self->_unix_rpt);
- return '[]';
- }
-
- =item devnull (override)
-
- Returns a string representation of the null device: '_NLA0:' or '/dev/null'
-
- =cut
-
- sub devnull {
- my $self = shift @_;
- return '/dev/null' if ($self->_unix_rpt);
- return "_NLA0:";
- }
-
- =item rootdir (override)
-
- Returns a string representation of the root directory: 'SYS$DISK:[000000]'
- or '/'
-
- =cut
-
- sub rootdir {
- my $self = shift @_;
- if ($self->_unix_rpt) {
- # Root may exist, try it first.
- my $try = '/';
- my ($dev1, $ino1) = stat('/');
- my ($dev2, $ino2) = stat('.');
-
- # Perl falls back to '.' if it can not determine '/'
- if (($dev1 != $dev2) || ($ino1 != $ino2)) {
- return $try;
- }
- # Fall back to UNIX format sys$disk.
- return '/sys$disk/';
- }
- return 'SYS$DISK:[000000]';
- }
-
- =item tmpdir (override)
-
- Returns a string representation of the first writable directory
- from the following list or '' if none are writable:
-
- /tmp if C<DECC$FILENAME_UNIX_REPORT> is enabled.
- sys$scratch:
- $ENV{TMPDIR}
-
- If running under taint mode, and if $ENV{TMPDIR}
- is tainted, it is not used.
-
- =cut
-
- sub tmpdir {
- my $self = shift @_;
- my $tmpdir = $self->_cached_tmpdir('TMPDIR');
- return $tmpdir if defined $tmpdir;
- if ($self->_unix_rpt) {
- $tmpdir = $self->_tmpdir('/tmp', '/sys$scratch', $ENV{TMPDIR});
- }
- else {
- $tmpdir = $self->_tmpdir( 'sys$scratch:', $ENV{TMPDIR} );
- }
- $self->_cache_tmpdir($tmpdir, 'TMPDIR');
- }
-
- =item updir (override)
-
- Returns a string representation of the parent directory: '[-]' or '..'
-
- =cut
-
- sub updir {
- my $self = shift @_;
- return '..' if ($self->_unix_rpt);
- return '[-]';
- }
-
- =item case_tolerant (override)
-
- VMS file specification syntax is case-tolerant.
-
- =cut
-
- sub case_tolerant {
- return 1;
- }
-
- =item path (override)
-
- Translate logical name DCL$PATH as a searchlist, rather than trying
- to C<split> string value of C<$ENV{'PATH'}>.
-
- =cut
-
- sub path {
- my (@dirs,$dir,$i);
- while ($dir = $ENV{'DCL$PATH;' . $i++}) { push(@dirs,$dir); }
- return @dirs;
- }
-
- =item file_name_is_absolute (override)
-
- Checks for VMS directory spec as well as Unix separators.
-
- =cut
-
- sub file_name_is_absolute {
- my ($self,$file) = @_;
- # If it's a logical name, expand it.
- $file = $ENV{$file} while $file =~ /^[\w\$\-]+\Z(?!\n)/s && $ENV{$file};
- return scalar($file =~ m!^/!s ||
- $file =~ m![<\[][^.\-\]>]! ||
- $file =~ /^[A-Za-z0-9_\$\-\~]+(?<!\^):/);
- }
-
- =item splitpath (override)
-
- ($volume,$directories,$file) = File::Spec->splitpath( $path );
- ($volume,$directories,$file) = File::Spec->splitpath( $path,
- $no_file );
-
- Passing a true value for C<$no_file> indicates that the path being
- split only contains directory components, even on systems where you
- can usually (when not supporting a foreign syntax) tell the difference
- between directories and files at a glance.
-
- =cut
-
- sub splitpath {
- my($self,$path, $nofile) = @_;
- my($dev,$dir,$file) = ('','','');
- my $vmsify_path = vmsify($path);
-
- if ( $nofile ) {
- #vmsify('d1/d2/d3') returns '[.d1.d2]d3'
- #vmsify('/d1/d2/d3') returns 'd1:[d2]d3'
- if( $vmsify_path =~ /(.*)\](.+)/ ){
- $vmsify_path = $1.'.'.$2.']';
- }
- $vmsify_path =~ /(.+:)?(.*)/s;
- $dir = defined $2 ? $2 : ''; # dir can be '0'
- return ($1 || '',$dir,$file);
- }
- else {
- $vmsify_path =~ /(.+:)?([\[<].*[\]>])?(.*)/s;
- return ($1 || '',$2 || '',$3);
- }
- }
-
- =item splitdir (override)
-
- Split a directory specification into the components.
-
- =cut
-
- sub splitdir {
- my($self,$dirspec) = @_;
- my @dirs = ();
- return @dirs if ( (!defined $dirspec) || ('' eq $dirspec) );
-
- $dirspec =~ s/(?<!\^)</[/; # < and > ==> [ and ]
- $dirspec =~ s/(?<!\^)>/]/;
- $dirspec =~ s/(?<!\^)\]\[\./\.\]\[/g; # ][. ==> .][
- $dirspec =~ s/(?<!\^)\[000000\.\]\[/\[/g; # [000000.][ ==> [
- $dirspec =~ s/(?<!\^)\[000000\./\[/g; # [000000. ==> [
- $dirspec =~ s/(?<!\^)\.\]\[000000\]/\]/g; # .][000000] ==> ]
- $dirspec =~ s/(?<!\^)\.\]\[/\./g; # foo.][bar ==> foo.bar
- while ($dirspec =~ s/(^|[\[\<\.])\-(\-+)($|[\]\>\.])/$1-.$2$3/g) {}
- # That loop does the following
- # with any amount of dashes:
- # .--. ==> .-.-.
- # [--. ==> [-.-.
- # .--] ==> .-.-]
- # [--] ==> [-.-]
- $dirspec = "[$dirspec]" unless $dirspec =~ /(?<!\^)[\[<]/; # make legal
- $dirspec =~ s/^(\[|<)\./$1/;
- @dirs = split /(?<!\^)\./, vmspath($dirspec);
- $dirs[0] =~ s/^[\[<]//s; $dirs[-1] =~ s/[\]>]\Z(?!\n)//s;
- @dirs;
- }
-
-
- =item catpath (override)
-
- Construct a complete filespec.
-
- =cut
-
- sub catpath {
- my($self,$dev,$dir,$file) = @_;
-
- # We look for a volume in $dev, then in $dir, but not both
- my ($dir_volume, $dir_dir, $dir_file) = $self->splitpath($dir);
- $dev = $dir_volume unless length $dev;
- $dir = length $dir_file ? $self->catfile($dir_dir, $dir_file) : $dir_dir;
-
- if ($dev =~ m|^(?<!\^)/+([^/]+)|) { $dev = "$1:"; }
- else { $dev .= ':' unless $dev eq '' or $dev =~ /:\Z(?!\n)/; }
- if (length($dev) or length($dir)) {
- $dir = "[$dir]" unless $dir =~ /(?<!\^)[\[<\/]/;
- $dir = vmspath($dir);
- }
- $dir = '' if length($dev) && ($dir eq '[]' || $dir eq '<>');
- "$dev$dir$file";
- }
-
- =item abs2rel (override)
-
- Attempt to convert an absolute file specification to a relative specification.
-
- =cut
-
- sub abs2rel {
- my $self = shift;
- return vmspath(File::Spec::Unix::abs2rel( $self, @_ ))
- if grep m{/}, @_;
-
- my($path,$base) = @_;
- $base = $self->_cwd() unless defined $base and length $base;
-
- for ($path, $base) { $_ = $self->canonpath($_) }
-
- # Are we even starting $path on the same (node::)device as $base? Note that
- # logical paths or nodename differences may be on the "same device"
- # but the comparison that ignores device differences so as to concatenate
- # [---] up directory specs is not even a good idea in cases where there is
- # a logical path difference between $path and $base nodename and/or device.
- # Hence we fall back to returning the absolute $path spec
- # if there is a case blind device (or node) difference of any sort
- # and we do not even try to call $parse() or consult %ENV for $trnlnm()
- # (this module needs to run on non VMS platforms after all).
-
- my ($path_volume, $path_directories, $path_file) = $self->splitpath($path);
- my ($base_volume, $base_directories, $base_file) = $self->splitpath($base);
- return $path unless lc($path_volume) eq lc($base_volume);
-
- for ($path, $base) { $_ = $self->rel2abs($_) }
-
- # Now, remove all leading components that are the same
- my @pathchunks = $self->splitdir( $path_directories );
- my $pathchunks = @pathchunks;
- unshift(@pathchunks,'000000') unless $pathchunks[0] eq '000000';
- my @basechunks = $self->splitdir( $base_directories );
- my $basechunks = @basechunks;
- unshift(@basechunks,'000000') unless $basechunks[0] eq '000000';
-
- while ( @pathchunks &&
- @basechunks &&
- lc( $pathchunks[0] ) eq lc( $basechunks[0] )
- ) {
- shift @pathchunks ;
- shift @basechunks ;
- }
-
- # @basechunks now contains the directories to climb out of,
- # @pathchunks now has the directories to descend in to.
- if ((@basechunks > 0) || ($basechunks != $pathchunks)) {
- $path_directories = join '.', ('-' x @basechunks, @pathchunks) ;
- }
- else {
- $path_directories = join '.', @pathchunks;
- }
- $path_directories = '['.$path_directories.']';
- return $self->canonpath( $self->catpath( '', $path_directories, $path_file ) ) ;
- }
-
-
- =item rel2abs (override)
-
- Return an absolute file specification from a relative one.
-
- =cut
-
- sub rel2abs {
- my $self = shift ;
- my ($path,$base ) = @_;
- return undef unless defined $path;
- if ($path =~ m/\//) {
- $path = ( -d $path || $path =~ m/\/\z/ # educated guessing about
- ? vmspath($path) # whether it's a directory
- : vmsify($path) );
- }
- $base = vmspath($base) if defined $base && $base =~ m/\//;
-
- # Clean up and split up $path
- if ( ! $self->file_name_is_absolute( $path ) ) {
- # Figure out the effective $base and clean it up.
- if ( !defined( $base ) || $base eq '' ) {
- $base = $self->_cwd;
- }
- elsif ( ! $self->file_name_is_absolute( $base ) ) {
- $base = $self->rel2abs( $base ) ;
- }
- else {
- $base = $self->canonpath( $base ) ;
- }
-
- # Split up paths
- my ( $path_directories, $path_file ) =
- ($self->splitpath( $path ))[1,2] ;
-
- my ( $base_volume, $base_directories ) =
- $self->splitpath( $base ) ;
-
- $path_directories = '' if $path_directories eq '[]' ||
- $path_directories eq '<>';
- my $sep = '' ;
- $sep = '.'
- if ( $base_directories =~ m{[^.\]>]\Z(?!\n)} &&
- $path_directories =~ m{^[^.\[<]}s
- ) ;
- $base_directories = "$base_directories$sep$path_directories";
- $base_directories =~ s{\.?[\]>][\[<]\.?}{.};
-
- $path = $self->catpath( $base_volume, $base_directories, $path_file );
- }
-
- return $self->canonpath( $path ) ;
- }
-
-
- # eliminate_macros() and fixpath() are MakeMaker-specific methods
- # which are used inside catfile() and catdir(). MakeMaker has its own
- # copies as of 6.06_03 which are the canonical ones. We leave these
- # here, in peace, so that File::Spec continues to work with MakeMakers
- # prior to 6.06_03.
- #
- # Please consider these two methods deprecated. Do not patch them,
- # patch the ones in ExtUtils::MM_VMS instead.
- #
- # Update: MakeMaker 6.48 is still using these routines on VMS.
- # so they need to be kept up to date with ExtUtils::MM_VMS.
-
- sub eliminate_macros {
- my($self,$path) = @_;
- return '' unless (defined $path) && ($path ne '');
- $self = {} unless ref $self;
-
- if ($path =~ /\s/) {
- return join ' ', map { $self->eliminate_macros($_) } split /\s+/, $path;
- }
-
- my $npath = unixify($path);
- # sometimes unixify will return a string with an off-by-one trailing null
- $npath =~ s{\0$}{};
-
- my($complex) = 0;
- my($head,$macro,$tail);
-
- # perform m##g in scalar context so it acts as an iterator
- while ($npath =~ m#(.*?)\$\((\S+?)\)(.*)#gs) {
- if (defined $self->{$2}) {
- ($head,$macro,$tail) = ($1,$2,$3);
- if (ref $self->{$macro}) {
- if (ref $self->{$macro} eq 'ARRAY') {
- $macro = join ' ', @{$self->{$macro}};
- }
- else {
- print "Note: can't expand macro \$($macro) containing ",ref($self->{$macro}),
- "\n\t(using MMK-specific deferred substitutuon; MMS will break)\n";
- $macro = "\cB$macro\cB";
- $complex = 1;
- }
- }
- else { ($macro = unixify($self->{$macro})) =~ s#/\Z(?!\n)##; }
- $npath = "$head$macro$tail";
- }
- }
- if ($complex) { $npath =~ s#\cB(.*?)\cB#\${$1}#gs; }
- $npath;
- }
-
- # Deprecated. See the note above for eliminate_macros().
-
- # Catchall routine to clean up problem MM[SK]/Make macros. Expands macros
- # in any directory specification, in order to avoid juxtaposing two
- # VMS-syntax directories when MM[SK] is run. Also expands expressions which
- # are all macro, so that we can tell how long the expansion is, and avoid
- # overrunning DCL's command buffer when MM[KS] is running.
-
- # fixpath() checks to see whether the result matches the name of a
- # directory in the current default directory and returns a directory or
- # file specification accordingly. C<$is_dir> can be set to true to
- # force fixpath() to consider the path to be a directory or false to force
- # it to be a file.
-
- sub fixpath {
- my($self,$path,$force_path) = @_;
- return '' unless $path;
- $self = bless {}, $self unless ref $self;
- my($fixedpath,$prefix,$name);
-
- if ($path =~ /\s/) {
- return join ' ',
- map { $self->fixpath($_,$force_path) }
- split /\s+/, $path;
- }
-
- if ($path =~ m#^\$\([^\)]+\)\Z(?!\n)#s || $path =~ m#[/:>\]]#) {
- if ($force_path or $path =~ /(?:DIR\)|\])\Z(?!\n)/) {
- $fixedpath = vmspath($self->eliminate_macros($path));
- }
- else {
- $fixedpath = vmsify($self->eliminate_macros($path));
- }
- }
- elsif ((($prefix,$name) = ($path =~ m#^\$\(([^\)]+)\)(.+)#s)) && $self->{$prefix}) {
- my($vmspre) = $self->eliminate_macros("\$($prefix)");
- # is it a dir or just a name?
- $vmspre = ($vmspre =~ m|/| or $prefix =~ /DIR\Z(?!\n)/) ? vmspath($vmspre) : '';
- $fixedpath = ($vmspre ? $vmspre : $self->{$prefix}) . $name;
- $fixedpath = vmspath($fixedpath) if $force_path;
- }
- else {
- $fixedpath = $path;
- $fixedpath = vmspath($fixedpath) if $force_path;
- }
- # No hints, so we try to guess
- if (!defined($force_path) and $fixedpath !~ /[:>(.\]]/) {
- $fixedpath = vmspath($fixedpath) if -d $fixedpath;
- }
-
- # Trim off root dirname if it's had other dirs inserted in front of it.
- $fixedpath =~ s/\.000000([\]>])/$1/;
- # Special case for VMS absolute directory specs: these will have had device
- # prepended during trip through Unix syntax in eliminate_macros(), since
- # Unix syntax has no way to express "absolute from the top of this device's
- # directory tree".
- if ($path =~ /^[\[>][^.\-]/) { $fixedpath =~ s/^[^\[<]+//; }
- $fixedpath;
- }
-
-
- =back
-
- =head1 COPYRIGHT
-
- Copyright (c) 2004 by the Perl 5 Porters. All rights reserved.
-
- This program is free software; you can redistribute it and/or modify
- it under the same terms as Perl itself.
-
- =head1 SEE ALSO
-
- See L<File::Spec> and L<File::Spec::Unix>. This package overrides the
- implementation of these methods, not the semantics.
-
- An explanation of VMS file specs can be found at
- L<http://h71000.www7.hp.com/doc/731FINAL/4506/4506pro_014.html#apps_locating_naming_files>.
-
- =cut
-
- 1;
-X86_64-LINUX-GNU-THREAD-MULTI_FILE_SPEC_VMS
-
-$fatpacked{"File/Spec/Win32.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'X86_64-LINUX-GNU-THREAD-MULTI_FILE_SPEC_WIN32';
- package File::Spec::Win32;
-
- use strict;
-
- use vars qw(@ISA $VERSION);
- require File::Spec::Unix;
-
- $VERSION = '3.47';
- $VERSION =~ tr/_//;
-
- @ISA = qw(File::Spec::Unix);
-
- # Some regexes we use for path splitting
- my $DRIVE_RX = '[a-zA-Z]:';
- my $UNC_RX = '(?:\\\\\\\\|//)[^\\\\/]+[\\\\/][^\\\\/]+';
- my $VOL_RX = "(?:$DRIVE_RX|$UNC_RX)";
-
-
- =head1 NAME
-
- File::Spec::Win32 - methods for Win32 file specs
-
- =head1 SYNOPSIS
-
- require File::Spec::Win32; # Done internally by File::Spec if needed
-
- =head1 DESCRIPTION
-
- See File::Spec::Unix for a documentation of the methods provided
- there. This package overrides the implementation of these methods, not
- the semantics.
-
- =over 4
-
- =item devnull
-
- Returns a string representation of the null device.
-
- =cut
-
- sub devnull {
- return "nul";
- }
-
- sub rootdir { '\\' }
-
-
- =item tmpdir
-
- Returns a string representation of the first existing directory
- from the following list:
-
- $ENV{TMPDIR}
- $ENV{TEMP}
- $ENV{TMP}
- SYS:/temp
- C:\system\temp
- C:/temp
- /tmp
- /
-
- The SYS:/temp is preferred in Novell NetWare and the C:\system\temp
- for Symbian (the File::Spec::Win32 is used also for those platforms).
-
- If running under taint mode, and if the environment
- variables are tainted, they are not used.
-
- =cut
-
- sub tmpdir {
- my $tmpdir = $_[0]->_cached_tmpdir(qw(TMPDIR TEMP TMP));
- return $tmpdir if defined $tmpdir;
- $tmpdir = $_[0]->_tmpdir( map( $ENV{$_}, qw(TMPDIR TEMP TMP) ),
- 'SYS:/temp',
- 'C:\system\temp',
- 'C:/temp',
- '/tmp',
- '/' );
- $_[0]->_cache_tmpdir($tmpdir, qw(TMPDIR TEMP TMP));
- }
-
- =item case_tolerant
-
- MSWin32 case-tolerance depends on GetVolumeInformation() $ouFsFlags == FS_CASE_SENSITIVE,
- indicating the case significance when comparing file specifications.
- Since XP FS_CASE_SENSITIVE is effectively disabled for the NT subsubsystem.
- See http://cygwin.com/ml/cygwin/2007-07/msg00891.html
- Default: 1
-
- =cut
-
- sub case_tolerant {
- eval { require Win32API::File; } or return 1;
- my $drive = shift || "C:";
- my $osFsType = "\0"x256;
- my $osVolName = "\0"x256;
- my $ouFsFlags = 0;
- Win32API::File::GetVolumeInformation($drive, $osVolName, 256, [], [], $ouFsFlags, $osFsType, 256 );
- if ($ouFsFlags & Win32API::File::FS_CASE_SENSITIVE()) { return 0; }
- else { return 1; }
- }
-
- =item file_name_is_absolute
-
- As of right now, this returns 2 if the path is absolute with a
- volume, 1 if it's absolute with no volume, 0 otherwise.
-
- =cut
-
- sub file_name_is_absolute {
-
- my ($self,$file) = @_;
-
- if ($file =~ m{^($VOL_RX)}o) {
- my $vol = $1;
- return ($vol =~ m{^$UNC_RX}o ? 2
- : $file =~ m{^$DRIVE_RX[\\/]}o ? 2
- : 0);
- }
- return $file =~ m{^[\\/]} ? 1 : 0;
- }
-
- =item catfile
-
- Concatenate one or more directory names and a filename to form a
- complete path ending with a filename
-
- =cut
-
- sub catfile {
- shift;
-
- # Legacy / compatibility support
- #
- shift, return _canon_cat( "/", @_ )
- if $_[0] eq "";
-
- # Compatibility with File::Spec <= 3.26:
- # catfile('A:', 'foo') should return 'A:\foo'.
- return _canon_cat( ($_[0].'\\'), @_[1..$#_] )
- if $_[0] =~ m{^$DRIVE_RX\z}o;
-
- return _canon_cat( @_ );
- }
-
- sub catdir {
- shift;
-
- # Legacy / compatibility support
- #
- return ""
- unless @_;
- shift, return _canon_cat( "/", @_ )
- if $_[0] eq "";
-
- # Compatibility with File::Spec <= 3.26:
- # catdir('A:', 'foo') should return 'A:\foo'.
- return _canon_cat( ($_[0].'\\'), @_[1..$#_] )
- if $_[0] =~ m{^$DRIVE_RX\z}o;
-
- return _canon_cat( @_ );
- }
-
- sub path {
- my @path = split(';', $ENV{PATH});
- s/"//g for @path;
- @path = grep length, @path;
- unshift(@path, ".");
- return @path;
- }
-
- =item canonpath
-
- No physical check on the filesystem, but a logical cleanup of a
- path. On UNIX eliminated successive slashes and successive "/.".
- On Win32 makes
-
- dir1\dir2\dir3\..\..\dir4 -> \dir\dir4 and even
- dir1\dir2\dir3\...\dir4 -> \dir\dir4
-
- =cut
-
- sub canonpath {
- # Legacy / compatibility support
- #
- return $_[1] if !defined($_[1]) or $_[1] eq '';
- return _canon_cat( $_[1] );
- }
-
- =item splitpath
-
- ($volume,$directories,$file) = File::Spec->splitpath( $path );
- ($volume,$directories,$file) = File::Spec->splitpath( $path,
- $no_file );
-
- Splits a path into volume, directory, and filename portions. Assumes that
- the last file is a path unless the path ends in '\\', '\\.', '\\..'
- or $no_file is true. On Win32 this means that $no_file true makes this return
- ( $volume, $path, '' ).
-
- Separators accepted are \ and /.
-
- Volumes can be drive letters or UNC sharenames (\\server\share).
-
- The results can be passed to L</catpath> to get back a path equivalent to
- (usually identical to) the original path.
-
- =cut
-
- sub splitpath {
- my ($self,$path, $nofile) = @_;
- my ($volume,$directory,$file) = ('','','');
- if ( $nofile ) {
- $path =~
- m{^ ( $VOL_RX ? ) (.*) }sox;
- $volume = $1;
- $directory = $2;
- }
- else {
- $path =~
- m{^ ( $VOL_RX ? )
- ( (?:.*[\\/](?:\.\.?\Z(?!\n))?)? )
- (.*)
- }sox;
- $volume = $1;
- $directory = $2;
- $file = $3;
- }
-
- return ($volume,$directory,$file);
- }
-
-
- =item splitdir
-
- The opposite of L<catdir()|File::Spec/catdir>.
-
- @dirs = File::Spec->splitdir( $directories );
-
- $directories must be only the directory portion of the path on systems
- that have the concept of a volume or that have path syntax that differentiates
- files from directories.
-
- Unlike just splitting the directories on the separator, leading empty and
- trailing directory entries can be returned, because these are significant
- on some OSs. So,
-
- File::Spec->splitdir( "/a/b/c" );
-
- Yields:
-
- ( '', 'a', 'b', '', 'c', '' )
-
- =cut
-
- sub splitdir {
- my ($self,$directories) = @_ ;
- #
- # split() likes to forget about trailing null fields, so here we
- # check to be sure that there will not be any before handling the
- # simple case.
- #
- if ( $directories !~ m|[\\/]\Z(?!\n)| ) {
- return split( m|[\\/]|, $directories );
- }
- else {
- #
- # since there was a trailing separator, add a file name to the end,
- # then do the split, then replace it with ''.
- #
- my( @directories )= split( m|[\\/]|, "${directories}dummy" ) ;
- $directories[ $#directories ]= '' ;
- return @directories ;
- }
- }
-
-
- =item catpath
-
- Takes volume, directory and file portions and returns an entire path. Under
- Unix, $volume is ignored, and this is just like catfile(). On other OSs,
- the $volume become significant.
-
- =cut
-
- sub catpath {
- my ($self,$volume,$directory,$file) = @_;
-
- # If it's UNC, make sure the glue separator is there, reusing
- # whatever separator is first in the $volume
- my $v;
- $volume .= $v
- if ( (($v) = $volume =~ m@^([\\/])[\\/][^\\/]+[\\/][^\\/]+\Z(?!\n)@s) &&
- $directory =~ m@^[^\\/]@s
- ) ;
-
- $volume .= $directory ;
-
- # If the volume is not just A:, make sure the glue separator is
- # there, reusing whatever separator is first in the $volume if possible.
- if ( $volume !~ m@^[a-zA-Z]:\Z(?!\n)@s &&
- $volume =~ m@[^\\/]\Z(?!\n)@ &&
- $file =~ m@[^\\/]@
- ) {
- $volume =~ m@([\\/])@ ;
- my $sep = $1 ? $1 : '\\' ;
- $volume .= $sep ;
- }
-
- $volume .= $file ;
-
- return $volume ;
- }
-
- sub _same {
- lc($_[1]) eq lc($_[2]);
- }
-
- sub rel2abs {
- my ($self,$path,$base ) = @_;
-
- my $is_abs = $self->file_name_is_absolute($path);
-
- # Check for volume (should probably document the '2' thing...)
- return $self->canonpath( $path ) if $is_abs == 2;
-
- if ($is_abs) {
- # It's missing a volume, add one
- my $vol = ($self->splitpath( $self->_cwd() ))[0];
- return $self->canonpath( $vol . $path );
- }
-
- if ( !defined( $base ) || $base eq '' ) {
- require Cwd ;
- $base = Cwd::getdcwd( ($self->splitpath( $path ))[0] ) if defined &Cwd::getdcwd ;
- $base = $self->_cwd() unless defined $base ;
- }
- elsif ( ! $self->file_name_is_absolute( $base ) ) {
- $base = $self->rel2abs( $base ) ;
- }
- else {
- $base = $self->canonpath( $base ) ;
- }
-
- my ( $path_directories, $path_file ) =
- ($self->splitpath( $path, 1 ))[1,2] ;
-
- my ( $base_volume, $base_directories ) =
- $self->splitpath( $base, 1 ) ;
-
- $path = $self->catpath(
- $base_volume,
- $self->catdir( $base_directories, $path_directories ),
- $path_file
- ) ;
-
- return $self->canonpath( $path ) ;
- }
-
- =back
-
- =head2 Note For File::Spec::Win32 Maintainers
-
- Novell NetWare inherits its File::Spec behaviour from File::Spec::Win32.
-
- =head1 COPYRIGHT
-
- Copyright (c) 2004,2007 by the Perl 5 Porters. All rights reserved.
-
- This program is free software; you can redistribute it and/or modify
- it under the same terms as Perl itself.
-
- =head1 SEE ALSO
-
- See L<File::Spec> and L<File::Spec::Unix>. This package overrides the
- implementation of these methods, not the semantics.
-
- =cut
-
-
- sub _canon_cat # @path -> path
- {
- my ($first, @rest) = @_;
-
- my $volume = $first =~ s{ \A ([A-Za-z]:) ([\\/]?) }{}x # drive letter
- ? ucfirst( $1 ).( $2 ? "\\" : "" )
- : $first =~ s{ \A (?:\\\\|//) ([^\\/]+)
- (?: [\\/] ([^\\/]+) )?
- [\\/]? }{}xs # UNC volume
- ? "\\\\$1".( defined $2 ? "\\$2" : "" )."\\"
- : $first =~ s{ \A [\\/] }{}x # root dir
- ? "\\"
- : "";
- my $path = join "\\", $first, @rest;
-
- $path =~ tr#\\/#\\\\#s; # xx/yy --> xx\yy & xx\\yy --> xx\yy
-
- # xx/././yy --> xx/yy
- $path =~ s{(?:
- (?:\A|\\) # at begin or after a slash
- \.
- (?:\\\.)* # and more
- (?:\\|\z) # at end or followed by slash
- )+ # performance boost -- I do not know why
- }{\\}gx;
-
- # XXX I do not know whether more dots are supported by the OS supporting
- # this ... annotation (NetWare or symbian but not MSWin32).
- # Then .... could easily become ../../.. etc:
- # Replace \.\.\. by (\.\.\.+) and substitute with
- # { $1 . ".." . "\\.." x (length($2)-2) }gex
- # ... --> ../..
- $path =~ s{ (\A|\\) # at begin or after a slash
- \.\.\.
- (?=\\|\z) # at end or followed by slash
- }{$1..\\..}gx;
- # xx\yy\..\zz --> xx\zz
- while ( $path =~ s{(?:
- (?:\A|\\) # at begin or after a slash
- [^\\]+ # rip this 'yy' off
- \\\.\.
- (?<!\A\.\.\\\.\.) # do *not* replace ^..\..
- (?<!\\\.\.\\\.\.) # do *not* replace \..\..
- (?:\\|\z) # at end or followed by slash
- )+ # performance boost -- I do not know why
- }{\\}sx ) {}
-
- $path =~ s#\A\\##; # \xx --> xx NOTE: this is *not* root
- $path =~ s#\\\z##; # xx\ --> xx
-
- if ( $volume =~ m#\\\z# )
- { # <vol>\.. --> <vol>\
- $path =~ s{ \A # at begin
- \.\.
- (?:\\\.\.)* # and more
- (?:\\|\z) # at end or followed by slash
- }{}x;
-
- return $1 # \\HOST\SHARE\ --> \\HOST\SHARE
- if $path eq ""
- and $volume =~ m#\A(\\\\.*)\\\z#s;
- }
- return $path ne "" || $volume ? $volume.$path : ".";
- }
-
- 1;
-X86_64-LINUX-GNU-THREAD-MULTI_FILE_SPEC_WIN32
-
$fatpacked{"x86_64-linux-gnu-thread-multi/JSON/XS.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'X86_64-LINUX-GNU-THREAD-MULTI_JSON_XS';
=head1 NAME
@@ -77418,7 +74706,7 @@ $fatpacked{"x86_64-linux-gnu-thread-multi/JSON/XS.pm"} = '#line '.(1+__LINE__).'
use common::sense;
- our $VERSION = 3.01;
+ our $VERSION = 3.03;
our @ISA = qw(Exporter);
our @EXPORT = qw(encode_json decode_json);
@@ -77721,6 +75009,16 @@ $fatpacked{"x86_64-linux-gnu-thread-multi/JSON/XS.pm"} = '#line '.(1+__LINE__).'
# neither this one...
]
+ =item * literal ASCII TAB characters in strings
+
+ Literal ASCII TAB characters are now allowed in strings (and treated as
+ C<\t>).
+
+ [
+ "Hello\tWorld",
+ "Hello<TAB>World", # literal <TAB> would not normally be allowed
+ ]
+
=back
=item $json = $json->canonical ([$enable])
@@ -78004,7 +75302,7 @@ $fatpacked{"x86_64-linux-gnu-thread-multi/JSON/XS.pm"} = '#line '.(1+__LINE__).'
and you need to know where the JSON text ends.
JSON::XS->new->decode_prefix ("[1] the tail")
- => ([], 3)
+ => ([1], 3)
=back
@@ -78055,11 +75353,11 @@ $fatpacked{"x86_64-linux-gnu-thread-multi/JSON/XS.pm"} = '#line '.(1+__LINE__).'
And finally, in list context, it will try to extract as many objects
from the stream as it can find and return them, or the empty list
- otherwise. For this to work, there must be no separators between the JSON
- objects or arrays, instead they must be concatenated back-to-back. If
- an error occurs, an exception will be raised as in the scalar context
- case. Note that in this case, any previously-parsed JSON texts will be
- lost.
+ otherwise. For this to work, there must be no separators (other than
+ whitespace) between the JSON objects or arrays, instead they must be
+ concatenated back-to-back. If an error occurs, an exception will be
+ raised as in the scalar context case. Note that in this case, any
+ previously-parsed JSON texts will be lost.
Example: Parse some JSON arrays/objects in a given string and return
them.
@@ -78076,6 +75374,10 @@ $fatpacked{"x86_64-linux-gnu-thread-multi/JSON/XS.pm"} = '#line '.(1+__LINE__).'
real world conditions). As a special exception, you can also call this
method before having parsed anything.
+ That means you can only use this function to look at or manipulate text
+ before or after complete JSON objects, not while the parser is in the
+ middle of parsing a JSON object.
+
This function is useful in two cases: a) finding the trailing text after a
JSON object or b) parsing multiple JSON objects separated by non-JSON text
(such as commas).
@@ -78870,14 +76172,135 @@ $fatpacked{"x86_64-linux-gnu-thread-multi/JSON/XS.pm"} = '#line '.(1+__LINE__).'
security right).
+ =head1 "OLD" VS. "NEW" JSON (RFC 4627 VS. RFC 7159)
+
+ TL;DR: Due to security concerns, JSON::XS will not allow scalar data in
+ JSON texts by default - you need to create your own JSON::XS object and
+ enable C<allow_nonref>:
+
+
+ my $json = JSON::XS->new->allow_nonref;
+
+ $text = $json->encode ($data);
+ $data = $json->decode ($text);
+
+ The long version: JSON being an important and supposedly stable format,
+ the IETF standardised it as RFC 4627 in 2006. Unfortunately, the inventor
+ of JSON, Dougles Crockford, unilaterally changed the definition of JSON in
+ javascript. Rather than create a fork, the IETF decided to standardise the
+ new syntax (apparently, so Iw as told, without finding it very amusing).
+
+ The biggest difference between thed original JSON and the new JSON is that
+ the new JSON supports scalars (anything other than arrays and objects) at
+ the toplevel of a JSON text. While this is strictly backwards compatible
+ to older versions, it breaks a number of protocols that relied on sending
+ JSON back-to-back, and is a minor security concern.
+
+ For example, imagine you have two banks communicating, and on one side,
+ trhe JSON coder gets upgraded. Two messages, such as C<10> and C<1000>
+ might then be confused to mean C<101000>, something that couldn't happen
+ in the original JSON, because niether of these messages would be valid
+ JSON.
+
+ If one side accepts these messages, then an upgrade in the coder on either
+ side could result in this becoming exploitable.
+
+ This module has always allowed these messages as an optional extension, by
+ default disabled. The security concerns are the reason why the default is
+ still disabled, but future versions might/will likely upgrade to the newer
+ RFC as default format, so you are advised to check your implementation
+ and/or override the default with C<< ->allow_nonref (0) >> to ensure that
+ future versions are safe.
+
+
=head1 INTEROPERABILITY WITH OTHER MODULES
C<JSON::XS> uses the L<Types::Serialiser> module to provide boolean
constants. That means that the JSON true and false values will be
- comaptible to true and false values of iother modules that do the same,
+ comaptible to true and false values of other modules that do the same,
such as L<JSON::PP> and L<CBOR::XS>.
+ =head1 INTEROPERABILITY WITH OTHER JSON DECODERS
+
+ As long as you only serialise data that can be directly expressed in JSON,
+ C<JSON::XS> is incapable of generating invalid JSON output (modulo bugs,
+ but C<JSON::XS> has found more bugs in the official JSON testsuite (1)
+ than the official JSON testsuite has found in C<JSON::XS> (0)).
+
+ When you have trouble decoding JSON generated by this module using other
+ decoders, then it is very likely that you have an encoding mismatch or the
+ other decoder is broken.
+
+ When decoding, C<JSON::XS> is strict by default and will likely catch all
+ errors. There are currently two settings that change this: C<relaxed>
+ makes C<JSON::XS> accept (but not generate) some non-standard extensions,
+ and C<allow_tags> will allow you to encode and decode Perl objects, at the
+ cost of not outputting valid JSON anymore.
+
+ =head2 TAGGED VALUE SYNTAX AND STANDARD JSON EN/DECODERS
+
+ When you use C<allow_tags> to use the extended (and also nonstandard and
+ invalid) JSON syntax for serialised objects, and you still want to decode
+ the generated When you want to serialise objects, you can run a regex
+ to replace the tagged syntax by standard JSON arrays (it only works for
+ "normal" package names without comma, newlines or single colons). First,
+ the readable Perl version:
+
+ # if your FREEZE methods return no values, you need this replace first:
+ $json =~ s/\( \s* (" (?: [^\\":,]+|\\.|::)* ") \s* \) \s* \[\s*\]/[$1]/gx;
+
+ # this works for non-empty constructor arg lists:
+ $json =~ s/\( \s* (" (?: [^\\":,]+|\\.|::)* ") \s* \) \s* \[/[$1,/gx;
+
+ And here is a less readable version that is easy to adapt to other
+ languages:
+
+ $json =~ s/\(\s*("([^\\":,]+|\\.|::)*")\s*\)\s*\[/[$1,/g;
+
+ Here is an ECMAScript version (same regex):
+
+ json = json.replace (/\(\s*("([^\\":,]+|\\.|::)*")\s*\)\s*\[/g, "[$1,");
+
+ Since this syntax converts to standard JSON arrays, it might be hard to
+ distinguish serialised objects from normal arrays. You can prepend a
+ "magic number" as first array element to reduce chances of a collision:
+
+ $json =~ s/\(\s*("([^\\":,]+|\\.|::)*")\s*\)\s*\[/["XU1peReLzT4ggEllLanBYq4G9VzliwKF",$1,/g;
+
+ And after decoding the JSON text, you could walk the data
+ structure looking for arrays with a first element of
+ C<XU1peReLzT4ggEllLanBYq4G9VzliwKF>.
+
+ The same approach can be used to create the tagged format with another
+ encoder. First, you create an array with the magic string as first member,
+ the classname as second, and constructor arguments last, encode it as part
+ of your JSON structure, and then:
+
+ $json =~ s/\[\s*"XU1peReLzT4ggEllLanBYq4G9VzliwKF"\s*,\s*("([^\\":,]+|\\.|::)*")\s*,/($1)[/g;
+
+ Again, this has some limitations - the magic string must not be encoded
+ with character escapes, and the constructor arguments must be non-empty.
+
+
+ =head1 RFC7159
+
+ Since this module was written, Google has written a new JSON RFC, RFC 7159
+ (and RFC7158). Unfortunately, this RFC breaks compatibility with both the
+ original JSON specification on www.json.org and RFC4627.
+
+ As far as I can see, you can get partial compatibility when parsing by
+ using C<< ->allow_nonref >>. However, consider the security implications
+ of doing so.
+
+ I haven't decided yet when to break compatibility with RFC4627 by default
+ (and potentially leave applications insecure) and change the default to
+ follow RFC7159, but application authors are well advised to call C<<
+ ->allow_nonref(0) >> even if this is the current default, if they cannot
+ handle non-reference values, in preparation for the day when the default
+ will change.
+
+
=head1 THREADS
This module is I<not> guaranteed to be thread safe and there are no
@@ -78978,185 +76401,6 @@ $fatpacked{"x86_64-linux-gnu-thread-multi/JSON/XS/Boolean.pm"} = '#line '.(1+__L
X86_64-LINUX-GNU-THREAD-MULTI_JSON_XS_BOOLEAN
-$fatpacked{"x86_64-linux-gnu-thread-multi/Sub/Name.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'X86_64-LINUX-GNU-THREAD-MULTI_SUB_NAME';
- package Sub::Name; # git description: v0.13-7-g79187d2
- # ABSTRACT: (re)name a sub
-
- #pod =pod
- #pod
- #pod =head1 SYNOPSIS
- #pod
- #pod use Sub::Name;
- #pod
- #pod subname $name, $subref;
- #pod
- #pod $subref = subname foo => sub { ... };
- #pod
- #pod =head1 DESCRIPTION
- #pod
- #pod This module has only one function, which is also exported by default:
- #pod
- #pod =for stopwords subname
- #pod
- #pod =head2 subname NAME, CODEREF
- #pod
- #pod Assigns a new name to referenced sub. If package specification is omitted in
- #pod the name, then the current package is used. The return value is the sub.
- #pod
- #pod The name is only used for informative routines (caller, Carp, etc). You won't
- #pod be able to actually invoke the sub by the given name. To allow that, you need
- #pod to do glob-assignment yourself.
- #pod
- #pod Note that for anonymous closures (subs that reference lexicals declared outside
- #pod the sub itself) you can name each instance of the closure differently, which
- #pod can be very useful for debugging.
- #pod
- #pod =head1 SEE ALSO
- #pod
- #pod =for :list
- #pod * L<Sub::Identify> - for getting information about subs
- #pod * L<Sub::Util> - set_subname is another implementation of C<subname>
- #pod
- #pod =for stopwords cPanel
- #pod
- #pod =head1 COPYRIGHT AND LICENSE
- #pod
- #pod This software is copyright (c) 2004, 2008 by Matthijs van Duin, all rights reserved;
- #pod copyright (c) 2014 cPanel Inc., all rights reserved.
- #pod
- #pod This program is free software; you can redistribute it and/or modify
- #pod it under the same terms as Perl itself.
- #pod
- #pod =cut
-
- use 5.006;
-
- use strict;
- use warnings;
-
- our $VERSION = '0.14';
-
- use Exporter 5.57 'import';
-
- our @EXPORT = qw(subname);
- our @EXPORT_OK = @EXPORT;
-
- use XSLoader;
- XSLoader::load(
- __PACKAGE__,
- $VERSION,
- );
-
- 1;
-
- __END__
-
- =pod
-
- =encoding UTF-8
-
- =head1 NAME
-
- Sub::Name - (re)name a sub
-
- =head1 VERSION
-
- version 0.14
-
- =head1 SYNOPSIS
-
- use Sub::Name;
-
- subname $name, $subref;
-
- $subref = subname foo => sub { ... };
-
- =head1 DESCRIPTION
-
- This module has only one function, which is also exported by default:
-
- =for stopwords subname
-
- =head2 subname NAME, CODEREF
-
- Assigns a new name to referenced sub. If package specification is omitted in
- the name, then the current package is used. The return value is the sub.
-
- The name is only used for informative routines (caller, Carp, etc). You won't
- be able to actually invoke the sub by the given name. To allow that, you need
- to do glob-assignment yourself.
-
- Note that for anonymous closures (subs that reference lexicals declared outside
- the sub itself) you can name each instance of the closure differently, which
- can be very useful for debugging.
-
- =head1 SEE ALSO
-
- =over 4
-
- =item *
-
- L<Sub::Identify> - for getting information about subs
-
- =item *
-
- L<Sub::Util> - set_subname is another implementation of C<subname>
-
- =back
-
- =for stopwords cPanel
-
- =head1 AUTHOR
-
- Matthijs van Duin <xmath@cpan.org>
-
- =head1 CONTRIBUTORS
-
- =for stopwords Karen Etheridge Florian Ragwitz Matthijs van Duin Reini Urban Dagfinn Ilmari Mannsåker gfx J.R. Mash
-
- =over 4
-
- =item *
-
- Karen Etheridge <ether@cpan.org>
-
- =item *
-
- Florian Ragwitz <rafl@debian.org>
-
- =item *
-
- Matthijs van Duin <xmath-no-spam@nospam.cpan.org>
-
- =item *
-
- Reini Urban <rurban@cpanel.net>
-
- =item *
-
- Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>
-
- =item *
-
- gfx <gfuji@cpan.org>
-
- =item *
-
- J.R. Mash <jmash.code@gmail.com>
-
- =back
-
- =head1 COPYRIGHT AND LICENSE
-
- This software is copyright (c) 2004, 2008 by Matthijs van Duin, all rights reserved;
- copyright (c) 2014 cPanel Inc., all rights reserved.
-
- This program is free software; you can redistribute it and/or modify
- it under the same terms as Perl itself.
-
- =cut
-X86_64-LINUX-GNU-THREAD-MULTI_SUB_NAME
-
$fatpacked{"x86_64-linux-gnu-thread-multi/common/sense.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'X86_64-LINUX-GNU-THREAD-MULTI_COMMON_SENSE';
package common::sense;
@@ -79167,1332 +76411,15 @@ $fatpacked{"x86_64-linux-gnu-thread-multi/common/sense.pm"} = '#line '.(1+__LINE
sub import {
local $^W; # work around perl 5.16 spewing out warnings for next statement
# use warnings
- ${^WARNING_BITS} ^= ${^WARNING_BITS} ^ "\x0c\x3f\x33\x00\x0f\xf0\x0f\xc0\xf0\xfc\x33\x00";
+ ${^WARNING_BITS} ^= ${^WARNING_BITS} ^ "\x0c\x3f\x33\x00\x0f\xf0\x0f\xc0\xf0\xfc\x33\x00\x00";
# use strict, use utf8; use feature;
- $^H |= 0x820700;
- @^H{qw(feature_say feature_state feature_switch)} = (1) x 3;
+ $^H |= 0x820f00;
+ @^H{qw(feature_unicode feature_say feature_state feature_switch)} = (1) x 4;
}
1
X86_64-LINUX-GNU-THREAD-MULTI_COMMON_SENSE
-$fatpacked{"x86_64-linux-gnu-thread-multi/version.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'X86_64-LINUX-GNU-THREAD-MULTI_VERSION';
- #!perl -w
- package version;
-
- use 5.006002;
- use strict;
- use warnings::register;
- if ($] >= 5.015) {
- warnings::register_categories(qw/version/);
- }
-
- use vars qw(@ISA $VERSION $CLASS $STRICT $LAX *declare *qv);
-
- $VERSION = 0.9912;
- $CLASS = 'version';
-
- # !!!!Delete this next block completely when adding to Perl core!!!!
- {
- local $SIG{'__DIE__'};
- eval "use version::vxs $VERSION";
- if ( $@ ) { # don't have the XS version installed
- eval "use version::vpp $VERSION"; # don't tempt fate
- die "$@" if ( $@ );
- push @ISA, "version::vpp";
- local $^W;
- *version::qv = \&version::vpp::qv;
- *version::declare = \&version::vpp::declare;
- *version::_VERSION = \&version::vpp::_VERSION;
- *version::vcmp = \&version::vpp::vcmp;
- *version::new = \&version::vpp::new;
- *version::numify = \&version::vpp::numify;
- *version::normal = \&version::vpp::normal;
- if ($] >= 5.009000) {
- no strict 'refs';
- *version::stringify = \&version::vpp::stringify;
- *{'version::(""'} = \&version::vpp::stringify;
- *{'version::(<=>'} = \&version::vpp::vcmp;
- *version::parse = \&version::vpp::parse;
- }
- }
- else { # use XS module
- push @ISA, "version::vxs";
- local $^W;
- *version::declare = \&version::vxs::declare;
- *version::qv = \&version::vxs::qv;
- *version::_VERSION = \&version::vxs::_VERSION;
- *version::vcmp = \&version::vxs::VCMP;
- *version::new = \&version::vxs::new;
- *version::numify = \&version::vxs::numify;
- *version::normal = \&version::vxs::normal;
- if ($] >= 5.009000) {
- no strict 'refs';
- *version::stringify = \&version::vxs::stringify;
- *{'version::(""'} = \&version::vxs::stringify;
- *{'version::(<=>'} = \&version::vxs::VCMP;
- *version::parse = \&version::vxs::parse;
- }
- }
- }
-
- # avoid using Exporter
- require version::regex;
- *version::is_lax = \&version::regex::is_lax;
- *version::is_strict = \&version::regex::is_strict;
- *LAX = \$version::regex::LAX;
- *STRICT = \$version::regex::STRICT;
-
- sub import {
- no strict 'refs';
- my ($class) = shift;
-
- # Set up any derived class
- unless ($class eq $CLASS) {
- local $^W;
- *{$class.'::declare'} = \&{$CLASS.'::declare'};
- *{$class.'::qv'} = \&{$CLASS.'::qv'};
- }
-
- my %args;
- if (@_) { # any remaining terms are arguments
- map { $args{$_} = 1 } @_
- }
- else { # no parameters at all on use line
- %args =
- (
- qv => 1,
- 'UNIVERSAL::VERSION' => 1,
- );
- }
-
- my $callpkg = caller();
-
- if (exists($args{declare})) {
- *{$callpkg.'::declare'} =
- sub {return $class->declare(shift) }
- unless defined(&{$callpkg.'::declare'});
- }
-
- if (exists($args{qv})) {
- *{$callpkg.'::qv'} =
- sub {return $class->qv(shift) }
- unless defined(&{$callpkg.'::qv'});
- }
-
- if (exists($args{'UNIVERSAL::VERSION'})) {
- local $^W;
- *UNIVERSAL::VERSION
- = \&{$CLASS.'::_VERSION'};
- }
-
- if (exists($args{'VERSION'})) {
- *{$callpkg.'::VERSION'} = \&{$CLASS.'::_VERSION'};
- }
-
- if (exists($args{'is_strict'})) {
- *{$callpkg.'::is_strict'} = \&{$CLASS.'::is_strict'}
- unless defined(&{$callpkg.'::is_strict'});
- }
-
- if (exists($args{'is_lax'})) {
- *{$callpkg.'::is_lax'} = \&{$CLASS.'::is_lax'}
- unless defined(&{$callpkg.'::is_lax'});
- }
- }
-
-
- 1;
-X86_64-LINUX-GNU-THREAD-MULTI_VERSION
-
-$fatpacked{"x86_64-linux-gnu-thread-multi/version/regex.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'X86_64-LINUX-GNU-THREAD-MULTI_VERSION_REGEX';
- package version::regex;
-
- use strict;
-
- use vars qw($VERSION $CLASS $STRICT $LAX);
-
- $VERSION = 0.9912;
-
- #--------------------------------------------------------------------------#
- # Version regexp components
- #--------------------------------------------------------------------------#
-
- # Fraction part of a decimal version number. This is a common part of
- # both strict and lax decimal versions
-
- my $FRACTION_PART = qr/\.[0-9]+/;
-
- # First part of either decimal or dotted-decimal strict version number.
- # Unsigned integer with no leading zeroes (except for zero itself) to
- # avoid confusion with octal.
-
- my $STRICT_INTEGER_PART = qr/0|[1-9][0-9]*/;
-
- # First part of either decimal or dotted-decimal lax version number.
- # Unsigned integer, but allowing leading zeros. Always interpreted
- # as decimal. However, some forms of the resulting syntax give odd
- # results if used as ordinary Perl expressions, due to how perl treats
- # octals. E.g.
- # version->new("010" ) == 10
- # version->new( 010 ) == 8
- # version->new( 010.2) == 82 # "8" . "2"
-
- my $LAX_INTEGER_PART = qr/[0-9]+/;
-
- # Second and subsequent part of a strict dotted-decimal version number.
- # Leading zeroes are permitted, and the number is always decimal.
- # Limited to three digits to avoid overflow when converting to decimal
- # form and also avoid problematic style with excessive leading zeroes.
-
- my $STRICT_DOTTED_DECIMAL_PART = qr/\.[0-9]{1,3}/;
-
- # Second and subsequent part of a lax dotted-decimal version number.
- # Leading zeroes are permitted, and the number is always decimal. No
- # limit on the numerical value or number of digits, so there is the
- # possibility of overflow when converting to decimal form.
-
- my $LAX_DOTTED_DECIMAL_PART = qr/\.[0-9]+/;
-
- # Alpha suffix part of lax version number syntax. Acts like a
- # dotted-decimal part.
-
- my $LAX_ALPHA_PART = qr/_[0-9]+/;
-
- #--------------------------------------------------------------------------#
- # Strict version regexp definitions
- #--------------------------------------------------------------------------#
-
- # Strict decimal version number.
-
- my $STRICT_DECIMAL_VERSION =
- qr/ $STRICT_INTEGER_PART $FRACTION_PART? /x;
-
- # Strict dotted-decimal version number. Must have both leading "v" and
- # at least three parts, to avoid confusion with decimal syntax.
-
- my $STRICT_DOTTED_DECIMAL_VERSION =
- qr/ v $STRICT_INTEGER_PART $STRICT_DOTTED_DECIMAL_PART{2,} /x;
-
- # Complete strict version number syntax -- should generally be used
- # anchored: qr/ \A $STRICT \z /x
-
- $STRICT =
- qr/ $STRICT_DECIMAL_VERSION | $STRICT_DOTTED_DECIMAL_VERSION /x;
-
- #--------------------------------------------------------------------------#
- # Lax version regexp definitions
- #--------------------------------------------------------------------------#
-
- # Lax decimal version number. Just like the strict one except for
- # allowing an alpha suffix or allowing a leading or trailing
- # decimal-point
-
- my $LAX_DECIMAL_VERSION =
- qr/ $LAX_INTEGER_PART (?: \. | $FRACTION_PART $LAX_ALPHA_PART? )?
- |
- $FRACTION_PART $LAX_ALPHA_PART?
- /x;
-
- # Lax dotted-decimal version number. Distinguished by having either
- # leading "v" or at least three non-alpha parts. Alpha part is only
- # permitted if there are at least two non-alpha parts. Strangely
- # enough, without the leading "v", Perl takes .1.2 to mean v0.1.2,
- # so when there is no "v", the leading part is optional
-
- my $LAX_DOTTED_DECIMAL_VERSION =
- qr/
- v $LAX_INTEGER_PART (?: $LAX_DOTTED_DECIMAL_PART+ $LAX_ALPHA_PART? )?
- |
- $LAX_INTEGER_PART? $LAX_DOTTED_DECIMAL_PART{2,} $LAX_ALPHA_PART?
- /x;
-
- # Complete lax version number syntax -- should generally be used
- # anchored: qr/ \A $LAX \z /x
- #
- # The string 'undef' is a special case to make for easier handling
- # of return values from ExtUtils::MM->parse_version
-
- $LAX =
- qr/ undef | $LAX_DECIMAL_VERSION | $LAX_DOTTED_DECIMAL_VERSION /x;
-
- #--------------------------------------------------------------------------#
-
- # Preloaded methods go here.
- sub is_strict { defined $_[0] && $_[0] =~ qr/ \A $STRICT \z /x }
- sub is_lax { defined $_[0] && $_[0] =~ qr/ \A $LAX \z /x }
-
- 1;
-X86_64-LINUX-GNU-THREAD-MULTI_VERSION_REGEX
-
-$fatpacked{"x86_64-linux-gnu-thread-multi/version/vpp.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'X86_64-LINUX-GNU-THREAD-MULTI_VERSION_VPP';
- package charstar;
- # a little helper class to emulate C char* semantics in Perl
- # so that prescan_version can use the same code as in C
-
- use overload (
- '""' => \&thischar,
- '0+' => \&thischar,
- '++' => \&increment,
- '--' => \&decrement,
- '+' => \&plus,
- '-' => \&minus,
- '*' => \&multiply,
- 'cmp' => \&cmp,
- '<=>' => \&spaceship,
- 'bool' => \&thischar,
- '=' => \&clone,
- );
-
- sub new {
- my ($self, $string) = @_;
- my $class = ref($self) || $self;
-
- my $obj = {
- string => [split(//,$string)],
- current => 0,
- };
- return bless $obj, $class;
- }
-
- sub thischar {
- my ($self) = @_;
- my $last = $#{$self->{string}};
- my $curr = $self->{current};
- if ($curr >= 0 && $curr <= $last) {
- return $self->{string}->[$curr];
- }
- else {
- return '';
- }
- }
-
- sub increment {
- my ($self) = @_;
- $self->{current}++;
- }
-
- sub decrement {
- my ($self) = @_;
- $self->{current}--;
- }
-
- sub plus {
- my ($self, $offset) = @_;
- my $rself = $self->clone;
- $rself->{current} += $offset;
- return $rself;
- }
-
- sub minus {
- my ($self, $offset) = @_;
- my $rself = $self->clone;
- $rself->{current} -= $offset;
- return $rself;
- }
-
- sub multiply {
- my ($left, $right, $swapped) = @_;
- my $char = $left->thischar();
- return $char * $right;
- }
-
- sub spaceship {
- my ($left, $right, $swapped) = @_;
- unless (ref($right)) { # not an object already
- $right = $left->new($right);
- }
- return $left->{current} <=> $right->{current};
- }
-
- sub cmp {
- my ($left, $right, $swapped) = @_;
- unless (ref($right)) { # not an object already
- if (length($right) == 1) { # comparing single character only
- return $left->thischar cmp $right;
- }
- $right = $left->new($right);
- }
- return $left->currstr cmp $right->currstr;
- }
-
- sub bool {
- my ($self) = @_;
- my $char = $self->thischar;
- return ($char ne '');
- }
-
- sub clone {
- my ($left, $right, $swapped) = @_;
- $right = {
- string => [@{$left->{string}}],
- current => $left->{current},
- };
- return bless $right, ref($left);
- }
-
- sub currstr {
- my ($self, $s) = @_;
- my $curr = $self->{current};
- my $last = $#{$self->{string}};
- if (defined($s) && $s->{current} < $last) {
- $last = $s->{current};
- }
-
- my $string = join('', @{$self->{string}}[$curr..$last]);
- return $string;
- }
-
- package version::vpp;
-
- use 5.006002;
- use strict;
- use warnings::register;
-
- use Config;
- use vars qw($VERSION $CLASS @ISA $LAX $STRICT $WARN_CATEGORY);
- $VERSION = 0.9912;
- $CLASS = 'version::vpp';
- if ($] > 5.015) {
- warnings::register_categories(qw/version/);
- $WARN_CATEGORY = 'version';
- } else {
- $WARN_CATEGORY = 'numeric';
- }
-
- require version::regex;
- *version::vpp::is_strict = \&version::regex::is_strict;
- *version::vpp::is_lax = \&version::regex::is_lax;
- *LAX = \$version::regex::LAX;
- *STRICT = \$version::regex::STRICT;
-
- use overload (
- '""' => \&stringify,
- '0+' => \&numify,
- 'cmp' => \&vcmp,
- '<=>' => \&vcmp,
- 'bool' => \&vbool,
- '+' => \&vnoop,
- '-' => \&vnoop,
- '*' => \&vnoop,
- '/' => \&vnoop,
- '+=' => \&vnoop,
- '-=' => \&vnoop,
- '*=' => \&vnoop,
- '/=' => \&vnoop,
- 'abs' => \&vnoop,
- );
-
- sub import {
- no strict 'refs';
- my ($class) = shift;
-
- # Set up any derived class
- unless ($class eq $CLASS) {
- local $^W;
- *{$class.'::declare'} = \&{$CLASS.'::declare'};
- *{$class.'::qv'} = \&{$CLASS.'::qv'};
- }
-
- my %args;
- if (@_) { # any remaining terms are arguments
- map { $args{$_} = 1 } @_
- }
- else { # no parameters at all on use line
- %args =
- (
- qv => 1,
- 'UNIVERSAL::VERSION' => 1,
- );
- }
-
- my $callpkg = caller();
-
- if (exists($args{declare})) {
- *{$callpkg.'::declare'} =
- sub {return $class->declare(shift) }
- unless defined(&{$callpkg.'::declare'});
- }
-
- if (exists($args{qv})) {
- *{$callpkg.'::qv'} =
- sub {return $class->qv(shift) }
- unless defined(&{$callpkg.'::qv'});
- }
-
- if (exists($args{'UNIVERSAL::VERSION'})) {
- no warnings qw/redefine/;
- *UNIVERSAL::VERSION
- = \&{$CLASS.'::_VERSION'};
- }
-
- if (exists($args{'VERSION'})) {
- *{$callpkg.'::VERSION'} = \&{$CLASS.'::_VERSION'};
- }
-
- if (exists($args{'is_strict'})) {
- *{$callpkg.'::is_strict'} = \&{$CLASS.'::is_strict'}
- unless defined(&{$callpkg.'::is_strict'});
- }
-
- if (exists($args{'is_lax'})) {
- *{$callpkg.'::is_lax'} = \&{$CLASS.'::is_lax'}
- unless defined(&{$callpkg.'::is_lax'});
- }
- }
-
- my $VERSION_MAX = 0x7FFFFFFF;
-
- # implement prescan_version as closely to the C version as possible
- use constant TRUE => 1;
- use constant FALSE => 0;
-
- sub isDIGIT {
- my ($char) = shift->thischar();
- return ($char =~ /\d/);
- }
-
- sub isALPHA {
- my ($char) = shift->thischar();
- return ($char =~ /[a-zA-Z]/);
- }
-
- sub isSPACE {
- my ($char) = shift->thischar();
- return ($char =~ /\s/);
- }
-
- sub BADVERSION {
- my ($s, $errstr, $error) = @_;
- if ($errstr) {
- $$errstr = $error;
- }
- return $s;
- }
-
- sub prescan_version {
- my ($s, $strict, $errstr, $sqv, $ssaw_decimal, $swidth, $salpha) = @_;
- my $qv = defined $sqv ? $$sqv : FALSE;
- my $saw_decimal = defined $ssaw_decimal ? $$ssaw_decimal : 0;
- my $width = defined $swidth ? $$swidth : 3;
- my $alpha = defined $salpha ? $$salpha : FALSE;
-
- my $d = $s;
-
- if ($qv && isDIGIT($d)) {
- goto dotted_decimal_version;
- }
-
- if ($d eq 'v') { # explicit v-string
- $d++;
- if (isDIGIT($d)) {
- $qv = TRUE;
- }
- else { # degenerate v-string
- # requires v1.2.3
- return BADVERSION($s,$errstr,"Invalid version format (dotted-decimal versions require at least three parts)");
- }
-
- dotted_decimal_version:
- if ($strict && $d eq '0' && isDIGIT($d+1)) {
- # no leading zeros allowed
- return BADVERSION($s,$errstr,"Invalid version format (no leading zeros)");
- }
-
- while (isDIGIT($d)) { # integer part
- $d++;
- }
-
- if ($d eq '.')
- {
- $saw_decimal++;
- $d++; # decimal point
- }
- else
- {
- if ($strict) {
- # require v1.2.3
- return BADVERSION($s,$errstr,"Invalid version format (dotted-decimal versions require at least three parts)");
- }
- else {
- goto version_prescan_finish;
- }
- }
-
- {
- my $i = 0;
- my $j = 0;
- while (isDIGIT($d)) { # just keep reading
- $i++;
- while (isDIGIT($d)) {
- $d++; $j++;
- # maximum 3 digits between decimal
- if ($strict && $j > 3) {
- return BADVERSION($s,$errstr,"Invalid version format (maximum 3 digits between decimals)");
- }
- }
- if ($d eq '_') {
- if ($strict) {
- return BADVERSION($s,$errstr,"Invalid version format (no underscores)");
- }
- if ( $alpha ) {
- return BADVERSION($s,$errstr,"Invalid version format (multiple underscores)");
- }
- $d++;
- $alpha = TRUE;
- }
- elsif ($d eq '.') {
- if ($alpha) {
- return BADVERSION($s,$errstr,"Invalid version format (underscores before decimal)");
- }
- $saw_decimal++;
- $d++;
- }
- elsif (!isDIGIT($d)) {
- last;
- }
- $j = 0;
- }
-
- if ($strict && $i < 2) {
- # requires v1.2.3
- return BADVERSION($s,$errstr,"Invalid version format (dotted-decimal versions require at least three parts)");
- }
- }
- } # end if dotted-decimal
- else
- { # decimal versions
- my $j = 0;
- # special $strict case for leading '.' or '0'
- if ($strict) {
- if ($d eq '.') {
- return BADVERSION($s,$errstr,"Invalid version format (0 before decimal required)");
- }
- if ($d eq '0' && isDIGIT($d+1)) {
- return BADVERSION($s,$errstr,"Invalid version format (no leading zeros)");
- }
- }
-
- # and we never support negative version numbers
- if ($d eq '-') {
- return BADVERSION($s,$errstr,"Invalid version format (negative version number)");
- }
-
- # consume all of the integer part
- while (isDIGIT($d)) {
- $d++;
- }
-
- # look for a fractional part
- if ($d eq '.') {
- # we found it, so consume it
- $saw_decimal++;
- $d++;
- }
- elsif (!$d || $d eq ';' || isSPACE($d) || $d eq '}') {
- if ( $d == $s ) {
- # found nothing
- return BADVERSION($s,$errstr,"Invalid version format (version required)");
- }
- # found just an integer
- goto version_prescan_finish;
- }
- elsif ( $d == $s ) {
- # didn't find either integer or period
- return BADVERSION($s,$errstr,"Invalid version format (non-numeric data)");
- }
- elsif ($d eq '_') {
- # underscore can't come after integer part
- if ($strict) {
- return BADVERSION($s,$errstr,"Invalid version format (no underscores)");
- }
- elsif (isDIGIT($d+1)) {
- return BADVERSION($s,$errstr,"Invalid version format (alpha without decimal)");
- }
- else {
- return BADVERSION($s,$errstr,"Invalid version format (misplaced underscore)");
- }
- }
- elsif ($d) {
- # anything else after integer part is just invalid data
- return BADVERSION($s,$errstr,"Invalid version format (non-numeric data)");
- }
-
- # scan the fractional part after the decimal point
- if ($d && !isDIGIT($d) && ($strict || ! ($d eq ';' || isSPACE($d) || $d eq '}') )) {
- # $strict or lax-but-not-the-end
- return BADVERSION($s,$errstr,"Invalid version format (fractional part required)");
- }
-
- while (isDIGIT($d)) {
- $d++; $j++;
- if ($d eq '.' && isDIGIT($d-1)) {
- if ($alpha) {
- return BADVERSION($s,$errstr,"Invalid version format (underscores before decimal)");
- }
- if ($strict) {
- return BADVERSION($s,$errstr,"Invalid version format (dotted-decimal versions must begin with 'v')");
- }
- $d = $s; # start all over again
- $qv = TRUE;
- goto dotted_decimal_version;
- }
- if ($d eq '_') {
- if ($strict) {
- return BADVERSION($s,$errstr,"Invalid version format (no underscores)");
- }
- if ( $alpha ) {
- return BADVERSION($s,$errstr,"Invalid version format (multiple underscores)");
- }
- if ( ! isDIGIT($d+1) ) {
- return BADVERSION($s,$errstr,"Invalid version format (misplaced underscore)");
- }
- $width = $j;
- $d++;
- $alpha = TRUE;
- }
- }
- }
-
- version_prescan_finish:
- while (isSPACE($d)) {
- $d++;
- }
-
- if ($d && !isDIGIT($d) && (! ($d eq ';' || $d eq '}') )) {
- # trailing non-numeric data
- return BADVERSION($s,$errstr,"Invalid version format (non-numeric data)");
- }
- if ($saw_decimal > 1 && ($d-1) eq '.') {
- # no trailing period allowed
- return BADVERSION($s,$errstr,"Invalid version format (trailing decimal)");
- }
-
- if (defined $sqv) {
- $$sqv = $qv;
- }
- if (defined $swidth) {
- $$swidth = $width;
- }
- if (defined $ssaw_decimal) {
- $$ssaw_decimal = $saw_decimal;
- }
- if (defined $salpha) {
- $$salpha = $alpha;
- }
- return $d;
- }
-
- sub scan_version {
- my ($s, $rv, $qv) = @_;
- my $start;
- my $pos;
- my $last;
- my $errstr;
- my $saw_decimal = 0;
- my $width = 3;
- my $alpha = FALSE;
- my $vinf = FALSE;
- my @av;
-
- $s = new charstar $s;
-
- while (isSPACE($s)) { # leading whitespace is OK
- $s++;
- }
-
- $last = prescan_version($s, FALSE, \$errstr, \$qv, \$saw_decimal,
- \$width, \$alpha);
-
- if ($errstr) {
- # 'undef' is a special case and not an error
- if ( $s ne 'undef') {
- require Carp;
- Carp::croak($errstr);
- }
- }
-
- $start = $s;
- if ($s eq 'v') {
- $s++;
- }
- $pos = $s;
-
- if ( $qv ) {
- $$rv->{qv} = $qv;
- }
- if ( $alpha ) {
- $$rv->{alpha} = $alpha;
- }
- if ( !$qv && $width < 3 ) {
- $$rv->{width} = $width;
- }
-
- while (isDIGIT($pos)) {
- $pos++;
- }
- if (!isALPHA($pos)) {
- my $rev;
-
- for (;;) {
- $rev = 0;
- {
- # this is atoi() that delimits on underscores
- my $end = $pos;
- my $mult = 1;
- my $orev;
-
- # the following if() will only be true after the decimal
- # point of a version originally created with a bare
- # floating point number, i.e. not quoted in any way
- #
- if ( !$qv && $s > $start && $saw_decimal == 1 ) {
- $mult *= 100;
- while ( $s < $end ) {
- $orev = $rev;
- $rev += $s * $mult;
- $mult /= 10;
- if ( (abs($orev) > abs($rev))
- || (abs($rev) > $VERSION_MAX )) {
- warn("Integer overflow in version %d",
- $VERSION_MAX);
- $s = $end - 1;
- $rev = $VERSION_MAX;
- $vinf = 1;
- }
- $s++;
- if ( $s eq '_' ) {
- $s++;
- }
- }
- }
- else {
- while (--$end >= $s) {
- $orev = $rev;
- $rev += $end * $mult;
- $mult *= 10;
- if ( (abs($orev) > abs($rev))
- || (abs($rev) > $VERSION_MAX )) {
- warn("Integer overflow in version");
- $end = $s - 1;
- $rev = $VERSION_MAX;
- $vinf = 1;
- }
- }
- }
- }
-
- # Append revision
- push @av, $rev;
- if ( $vinf ) {
- $s = $last;
- last;
- }
- elsif ( $pos eq '.' ) {
- $pos++;
- if ($qv) {
- # skip leading zeros
- while ($pos eq '0') {
- $pos++;
- }
- }
- $s = $pos;
- }
- elsif ( $pos eq '_' && isDIGIT($pos+1) ) {
- $s = ++$pos;
- }
- elsif ( $pos eq ',' && isDIGIT($pos+1) ) {
- $s = ++$pos;
- }
- elsif ( isDIGIT($pos) ) {
- $s = $pos;
- }
- else {
- $s = $pos;
- last;
- }
- if ( $qv ) {
- while ( isDIGIT($pos) ) {
- $pos++;
- }
- }
- else {
- my $digits = 0;
- while ( ( isDIGIT($pos) || $pos eq '_' ) && $digits < 3 ) {
- if ( $pos ne '_' ) {
- $digits++;
- }
- $pos++;
- }
- }
- }
- }
- if ( $qv ) { # quoted versions always get at least three terms
- my $len = $#av;
- # This for loop appears to trigger a compiler bug on OS X, as it
- # loops infinitely. Yes, len is negative. No, it makes no sense.
- # Compiler in question is:
- # gcc version 3.3 20030304 (Apple Computer, Inc. build 1640)
- # for ( len = 2 - len; len > 0; len-- )
- # av_push(MUTABLE_AV(sv), newSViv(0));
- #
- $len = 2 - $len;
- while ($len-- > 0) {
- push @av, 0;
- }
- }
-
- # need to save off the current version string for later
- if ( $vinf ) {
- $$rv->{original} = "v.Inf";
- $$rv->{vinf} = 1;
- }
- elsif ( $s > $start ) {
- $$rv->{original} = $start->currstr($s);
- if ( $qv && $saw_decimal == 1 && $start ne 'v' ) {
- # need to insert a v to be consistent
- $$rv->{original} = 'v' . $$rv->{original};
- }
- }
- else {
- $$rv->{original} = '0';
- push(@av, 0);
- }
-
- # And finally, store the AV in the hash
- $$rv->{version} = \@av;
-
- # fix RT#19517 - special case 'undef' as string
- if ($s eq 'undef') {
- $s += 5;
- }
-
- return $s;
- }
-
- sub new {
- my $class = shift;
- unless (defined $class or $#_ > 1) {
- require Carp;
- Carp::croak('Usage: version::new(class, version)');
- }
-
- my $self = bless ({}, ref ($class) || $class);
- my $qv = FALSE;
-
- if ( $#_ == 1 ) { # must be CVS-style
- $qv = TRUE;
- }
- my $value = pop; # always going to be the last element
-
- if ( ref($value) && eval('$value->isa("version")') ) {
- # Can copy the elements directly
- $self->{version} = [ @{$value->{version} } ];
- $self->{qv} = 1 if $value->{qv};
- $self->{alpha} = 1 if $value->{alpha};
- $self->{original} = ''.$value->{original};
- return $self;
- }
-
- if ( not defined $value or $value =~ /^undef$/ ) {
- # RT #19517 - special case for undef comparison
- # or someone forgot to pass a value
- push @{$self->{version}}, 0;
- $self->{original} = "0";
- return ($self);
- }
-
-
- if (ref($value) =~ m/ARRAY|HASH/) {
- require Carp;
- Carp::croak("Invalid version format (non-numeric data)");
- }
-
- $value = _un_vstring($value);
-
- if ($Config{d_setlocale}) {
- use POSIX qw/locale_h/;
- use if $Config{d_setlocale}, 'locale';
- my $currlocale = setlocale(LC_ALL);
-
- # if the current locale uses commas for decimal points, we
- # just replace commas with decimal places, rather than changing
- # locales
- if ( localeconv()->{decimal_point} eq ',' ) {
- $value =~ tr/,/./;
- }
- }
-
- # exponential notation
- if ( $value =~ /\d+.?\d*e[-+]?\d+/ ) {
- $value = sprintf("%.9f",$value);
- $value =~ s/(0+)$//; # trim trailing zeros
- }
-
- my $s = scan_version($value, \$self, $qv);
-
- if ($s) { # must be something left over
- warn("Version string '%s' contains invalid data; "
- ."ignoring: '%s'", $value, $s);
- }
-
- return ($self);
- }
-
- *parse = \&new;
-
- sub numify {
- my ($self) = @_;
- unless (_verify($self)) {
- require Carp;
- Carp::croak("Invalid version object");
- }
- my $width = $self->{width} || 3;
- my $alpha = $self->{alpha} || "";
- my $len = $#{$self->{version}};
- my $digit = $self->{version}[0];
- my $string = sprintf("%d.", $digit );
-
- if ($alpha and warnings::enabled()) {
- warnings::warn($WARN_CATEGORY, 'alpha->numify() is lossy');
- }
-
- for ( my $i = 1 ; $i < $len ; $i++ ) {
- $digit = $self->{version}[$i];
- if ( $width < 3 ) {
- my $denom = 10**(3-$width);
- my $quot = int($digit/$denom);
- my $rem = $digit - ($quot * $denom);
- $string .= sprintf("%0".$width."d_%d", $quot, $rem);
- }
- else {
- $string .= sprintf("%03d", $digit);
- }
- }
-
- if ( $len > 0 ) {
- $digit = $self->{version}[$len];
- if ( $alpha && $width == 3 ) {
- $string .= "_";
- }
- $string .= sprintf("%0".$width."d", $digit);
- }
- else # $len = 0
- {
- $string .= sprintf("000");
- }
-
- return $string;
- }
-
- sub normal {
- my ($self) = @_;
- unless (_verify($self)) {
- require Carp;
- Carp::croak("Invalid version object");
- }
- my $alpha = $self->{alpha} || "";
- my $qv = $self->{qv} || "";
-
- my $len = $#{$self->{version}};
- my $digit = $self->{version}[0];
- my $string = sprintf("v%d", $digit );
-
- for ( my $i = 1 ; $i < $len ; $i++ ) {
- $digit = $self->{version}[$i];
- $string .= sprintf(".%d", $digit);
- }
-
- if ( $len > 0 ) {
- $digit = $self->{version}[$len];
- if ( $alpha ) {
- $string .= sprintf("_%0d", $digit);
- }
- else {
- $string .= sprintf(".%0d", $digit);
- }
- }
-
- if ( $len <= 2 ) {
- for ( $len = 2 - $len; $len != 0; $len-- ) {
- $string .= sprintf(".%0d", 0);
- }
- }
-
- return $string;
- }
-
- sub stringify {
- my ($self) = @_;
- unless (_verify($self)) {
- require Carp;
- Carp::croak("Invalid version object");
- }
- return exists $self->{original}
- ? $self->{original}
- : exists $self->{qv}
- ? $self->normal
- : $self->numify;
- }
-
- sub vcmp {
- require UNIVERSAL;
- my ($left,$right,$swap) = @_;
- my $class = ref($left);
- unless ( UNIVERSAL::isa($right, $class) ) {
- $right = $class->new($right);
- }
-
- if ( $swap ) {
- ($left, $right) = ($right, $left);
- }
- unless (_verify($left)) {
- require Carp;
- Carp::croak("Invalid version object");
- }
- unless (_verify($right)) {
- require Carp;
- Carp::croak("Invalid version format");
- }
- my $l = $#{$left->{version}};
- my $r = $#{$right->{version}};
- my $m = $l < $r ? $l : $r;
- my $lalpha = $left->is_alpha;
- my $ralpha = $right->is_alpha;
- my $retval = 0;
- my $i = 0;
- while ( $i <= $m && $retval == 0 ) {
- $retval = $left->{version}[$i] <=> $right->{version}[$i];
- $i++;
- }
-
- # tiebreaker for alpha with identical terms
- if ( $retval == 0
- && $l == $r
- && $left->{version}[$m] == $right->{version}[$m]
- && ( $lalpha || $ralpha ) ) {
-
- if ( $lalpha && !$ralpha ) {
- $retval = -1;
- }
- elsif ( $ralpha && !$lalpha) {
- $retval = +1;
- }
- }
-
- # possible match except for trailing 0's
- if ( $retval == 0 && $l != $r ) {
- if ( $l < $r ) {
- while ( $i <= $r && $retval == 0 ) {
- if ( $right->{version}[$i] != 0 ) {
- $retval = -1; # not a match after all
- }
- $i++;
- }
- }
- else {
- while ( $i <= $l && $retval == 0 ) {
- if ( $left->{version}[$i] != 0 ) {
- $retval = +1; # not a match after all
- }
- $i++;
- }
- }
- }
-
- return $retval;
- }
-
- sub vbool {
- my ($self) = @_;
- return vcmp($self,$self->new("0"),1);
- }
-
- sub vnoop {
- require Carp;
- Carp::croak("operation not supported with version object");
- }
-
- sub is_alpha {
- my ($self) = @_;
- return (exists $self->{alpha});
- }
-
- sub qv {
- my $value = shift;
- my $class = $CLASS;
- if (@_) {
- $class = ref($value) || $value;
- $value = shift;
- }
-
- $value = _un_vstring($value);
- $value = 'v'.$value unless $value =~ /(^v|\d+\.\d+\.\d)/;
- my $obj = $CLASS->new($value);
- return bless $obj, $class;
- }
-
- *declare = \&qv;
-
- sub is_qv {
- my ($self) = @_;
- return (exists $self->{qv});
- }
-
-
- sub _verify {
- my ($self) = @_;
- if ( ref($self)
- && eval { exists $self->{version} }
- && ref($self->{version}) eq 'ARRAY'
- ) {
- return 1;
- }
- else {
- return 0;
- }
- }
-
- sub _is_non_alphanumeric {
- my $s = shift;
- $s = new charstar $s;
- while ($s) {
- return 0 if isSPACE($s); # early out
- return 1 unless (isALPHA($s) || isDIGIT($s) || $s =~ /[.-]/);
- $s++;
- }
- return 0;
- }
-
- sub _un_vstring {
- my $value = shift;
- # may be a v-string
- if ( length($value) >= 1 && $value !~ /[,._]/
- && _is_non_alphanumeric($value)) {
- my $tvalue;
- if ( $] >= 5.008_001 ) {
- $tvalue = _find_magic_vstring($value);
- $value = $tvalue if length $tvalue;
- }
- elsif ( $] >= 5.006_000 ) {
- $tvalue = sprintf("v%vd",$value);
- if ( $tvalue =~ /^v\d+(\.\d+)*$/ ) {
- # must be a v-string
- $value = $tvalue;
- }
- }
- }
- return $value;
- }
-
- sub _find_magic_vstring {
- my $value = shift;
- my $tvalue = '';
- require B;
- my $sv = B::svref_2object(\$value);
- my $magic = ref($sv) eq 'B::PVMG' ? $sv->MAGIC : undef;
- while ( $magic ) {
- if ( $magic->TYPE eq 'V' ) {
- $tvalue = $magic->PTR;
- $tvalue =~ s/^v?(.+)$/v$1/;
- last;
- }
- else {
- $magic = $magic->MOREMAGIC;
- }
- }
- return $tvalue;
- }
-
- sub _VERSION {
- my ($obj, $req) = @_;
- my $class = ref($obj) || $obj;
-
- no strict 'refs';
- if ( exists $INC{"$class.pm"} and not %{"$class\::"} and $] >= 5.008) {
- # file but no package
- require Carp;
- Carp::croak( "$class defines neither package nor VERSION"
- ."--version check failed");
- }
-
- my $version = eval "\$$class\::VERSION";
- if ( defined $version ) {
- local $^W if $] <= 5.008;
- $version = version::vpp->new($version);
- }
-
- if ( defined $req ) {
- unless ( defined $version ) {
- require Carp;
- my $msg = $] < 5.006
- ? "$class version $req required--this is only version "
- : "$class does not define \$$class\::VERSION"
- ."--version check failed";
-
- if ( $ENV{VERSION_DEBUG} ) {
- Carp::confess($msg);
- }
- else {
- Carp::croak($msg);
- }
- }
-
- $req = version::vpp->new($req);
-
- if ( $req > $version ) {
- require Carp;
- if ( $req->is_qv ) {
- Carp::croak(
- sprintf ("%s version %s required--".
- "this is only version %s", $class,
- $req->normal, $version->normal)
- );
- }
- else {
- Carp::croak(
- sprintf ("%s version %s required--".
- "this is only version %s", $class,
- $req->stringify, $version->stringify)
- );
- }
- }
- }
-
- return defined $version ? $version->stringify : undef;
- }
-
- 1; #this line is important and will help the module return a true value
-X86_64-LINUX-GNU-THREAD-MULTI_VERSION_VPP
-
-$fatpacked{"x86_64-linux-gnu-thread-multi/version/vxs.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'X86_64-LINUX-GNU-THREAD-MULTI_VERSION_VXS';
- #!perl -w
- package version::vxs;
-
- use v5.10;
- use strict;
-
- use vars qw(@ISA $VERSION $CLASS );
- $VERSION = 0.9912;
- $CLASS = 'version::vxs';
-
- eval {
- require XSLoader;
- local $^W; # shut up the 'redefined' warning for UNIVERSAL::VERSION
- XSLoader::load('version::vxs', $VERSION);
- 1;
- } or do {
- require DynaLoader;
- push @ISA, 'DynaLoader';
- local $^W; # shut up the 'redefined' warning for UNIVERSAL::VERSION
- bootstrap version::vxs $VERSION;
- };
-
- # Preloaded methods go here.
-
- 1;
-X86_64-LINUX-GNU-THREAD-MULTI_VERSION_VXS
-
s/^ //mg for values %fatpacked;
my $class = 'FatPacked::'.(0+\%fatpacked);
@@ -80501,15 +76428,17 @@ no strict 'refs';
if ($] < 5.008) {
*{"${class}::INC"} = sub {
- if (my $fat = $_[0]{$_[1]}) {
- return sub {
- return 0 unless length $fat;
- $fat =~ s/^([^\n]*\n?)//;
- $_ = $1;
- return 1;
- };
- }
- return;
+ if (my $fat = $_[0]{$_[1]}) {
+ my $pos = 0;
+ my $last = length $fat;
+ return (sub {
+ return 0 if $pos == $last;
+ my $next = (1 + index $fat, "\n", $pos) || $last;
+ $_ .= substr $fat, $pos, $next - $pos;
+ $pos = $next;
+ return 1;
+ });
+ }
};
}
diff --git a/web/cobrands/angus/_colours.scss b/web/cobrands/angus/_colours.scss
index 564c78348..31974efa0 100644
--- a/web/cobrands/angus/_colours.scss
+++ b/web/cobrands/angus/_colours.scss
@@ -18,6 +18,8 @@ $primary_text: #222222;
$base_bg: #fff;
$base_fg: #000;
+$header-top-border: false;
+
$map_nav_bg: $angus_green;
$nav_fg: #fff;
$nav_fg_hover: transparent;
@@ -29,3 +31,5 @@ $col_click_map_dark: darken($col_click_map, 10%);
$col_fixed_label: $angus_green;
$col_fixed_label_dark: darken($col_click_map, 10%);
+
+$container-max-width: 1200px;
diff --git a/web/cobrands/angus/base.scss b/web/cobrands/angus/base.scss
index 31ba13a11..c8792fd51 100644
--- a/web/cobrands/angus/base.scss
+++ b/web/cobrands/angus/base.scss
@@ -5,20 +5,14 @@
@import "../sass/base";
-body.frontpage #site-logo,
-#site-logo
-{
- background: url("/cobrands/angus/third_party/css_img/angus-logo-header.png") 0 0 no-repeat;
+#site-logo {
+ background: url("/cobrands/angus/third_party/css_img/angus-logo-header.png") 0 50% no-repeat;
background-size: contain;
width: 82px;
- height: 40px;
- top: 8px;
- left: 4px;
+ height: 50px;
}
#site-header {
- background: $angus_green;
-
form.form__search {
display: none;
}
@@ -36,15 +30,6 @@ label[for=pc] {
color: $nav_fg;
}
-
-.nav-menu--mysoc {
- display: none;
-}
-
.angus_nav, .wrapper__main_menu {
display: none;
}
-
-.nav-menu--breadcrumb {
- display: none;
-}
diff --git a/web/cobrands/angus/layout.scss b/web/cobrands/angus/layout.scss
index 7b819185a..9429913b4 100644
--- a/web/cobrands/angus/layout.scss
+++ b/web/cobrands/angus/layout.scss
@@ -2,38 +2,20 @@
@import "_fonts";
@import "../sass/layout";
-$max_page_width: 1200px;
-
-#site-logo,
-body.frontpage #site-logo,
-body.twothirdswidthpage #site-logo
-{
- position: relative;
- top: 13px;
- left: 20px;
- margin: 0;
- padding: 0;
- background: url("/cobrands/angus/third_party/css_img/angus-logo-header.png") 0 0 no-repeat;
- background-size: contain;
- width: 165px;
- height: 66px;
- display: inline-block;
+#site-logo {
+ width: 165px;
+ height: 66px;
+ padding: 0.75em 0;
}
#site-header {
- background-color: $angus_green;
border-bottom: solid 8px $angus_dark_green;
box-shadow: 0 5px 5px rgba(0, 0, 0, .075);
- .container {
- position: relative;
- min-height: 5em;
- }
-
form.form__search {
display: block;
clear: right;
- margin: .65em 0 .25em;
+ margin-bottom: 25px; // 90x - 2.5em / 2
padding: 0;
text-align: right;
width: 75%;
@@ -42,7 +24,7 @@ body.twothirdswidthpage #site-logo
box-sizing: border-box;
position: absolute;
bottom: 0;
- right: 0;
+ right: 1em;
.field {
min-width: 13em;
@@ -124,52 +106,38 @@ body.twothirdswidthpage #site-logo
}
}
-body.fullwidthpage, body.twothirdswidthpage, body.authpage, body.frontpage {
- #site-header {
- height: 91px;
- }
-}
-
#front-main {
background: transparent;
#front-main-container {
background-color: $angus_light_grey;
- width: 100%;
- max-width: $max_page_width;
+ max-width: $container-max-width;
padding-top: 1em;
padding-bottom: 1em;
}
}
-body.fullwidthpage, body.twothirdswidthpage, body.authpage {
- .container {
- max-width: $max_page_width;
- width: 100%;
-
- .content {
- background: $angus_light_grey;
- background-color: $angus_light_grey;
-
- }
+body.fullwidthpage,
+body.twothirdswidthpage,
+body.authpage {
+ .content {
+ background: $angus_light_grey;
+ background-color: $angus_light_grey;
}
}
body.frontpage {
- .container {
- .content {
- background: $base_bg;
- background-color: $base_bg;
- }
+ .content {
+ background: $base_bg;
+ background-color: $base_bg;
}
}
body.twothirdswidthpage .content .sticky-sidebar {
- z-index: 0;
- left: 43em;
+ padding-left: 1em;
aside {
- top: 15em;
+ top: 198px;
}
}
@@ -289,9 +257,11 @@ footer p.social a:active,footer p.social a:focus,footer p.social a:hover
display: none;
}
+.wrapper__main_menu {
+ display: block;
+}
.nav-menu--breadcrumb {
- display: block;
font-size: 0.75em;
float: left;
@@ -335,10 +305,9 @@ body.mappage {
}
#site-logo {
- height: 54px;
+ height: 58px;
width: 111px;
- top: 7px;
- left: 7px;
+ padding: 0;
}
#site-header {
@@ -365,7 +334,7 @@ body.mappage {
footer {
font-size: 0.8em;
- max-width: $max_page_width;
+ max-width: $container-max-width;
margin: 0 auto;
padding-top: 3em;
padding-left: 3em;
diff --git a/web/cobrands/borsetshire/_colours.scss b/web/cobrands/borsetshire/_colours.scss
new file mode 100644
index 000000000..78f06e1c8
--- /dev/null
+++ b/web/cobrands/borsetshire/_colours.scss
@@ -0,0 +1,39 @@
+/* LAYOUT */
+
+// If you are wanting a right-to-left layout, uncomment the following line.
+// $direction: right;
+
+/* COLOURS */
+
+$color-borsetshire-blue: #1375B8;
+$color-borsetshire-light-blue: #95D4FF;
+$color-borsetshire-green: #76951F;
+$color-borsetshire-light-green: #A6C257;
+$color-borsetshire-yellow: #C5A728;
+$color-borsetshire-light-yellow: #F4D659;
+
+$primary: $color-borsetshire-blue; // background on #postcodeForm, #front_stats, #front-main on desktop, and border-bottom on various map page sidebar items
+$primary_b: darken($color-borsetshire-blue, 10%); // border on div around the #postcodeForm input
+$primary_text: #fff; // text colour wherever $primary is the background
+
+$base_bg: white; // background on body and .tablewrapper on desktop
+$base_fg: #000; // text color on body and .tablewrapper on desktop
+
+$map_nav_bg: $color-borsetshire-blue; // background for #site-header on mobile, and `.mappage #site-header` on desktop
+$nav_fg: #fff; // text color for `.nav-menu a` on desktop
+$nav_fg_hover: $color-borsetshire-blue; // hover text color for `.nav-menu a`
+
+$col_big_numbers: #ccc; // text color for ol.big-numbers list item counters on homepage
+
+$col_click_map: gray; // background for .big-green-banner on map page
+
+$col_fixed_label: #00BD08;
+$col_fixed_label_dark: #4B8304;
+
+$header-top-border: false;
+
+$mappage-header-height: 5em; // 3em #site-logo plus 1em padding top and bottom
+
+$body-font: Cabin, "Calibri", "Gill Sans", "Gill Sans MT", sans-serif;
+$meta-font: $body-font;
+$heading-font: $body-font; \ No newline at end of file
diff --git a/web/cobrands/borsetshire/_council-header.scss b/web/cobrands/borsetshire/_council-header.scss
new file mode 100644
index 000000000..73d531489
--- /dev/null
+++ b/web/cobrands/borsetshire/_council-header.scss
@@ -0,0 +1,74 @@
+.nav-wrapper {
+ top: 5em;
+}
+
+#main-nav {
+ min-height: 3.5em;
+}
+
+.site-header__fake-nav {
+ display: block;
+ position: absolute;
+ top: 1em;
+ right: 1em;
+ height: $mappage-header-height - 2em;
+ margin: 0 -1em;
+ @include flex-container();
+ @include flex-align(center);
+
+ li {
+ padding: 0 1em;
+ margin: 0;
+ list-style: none;
+ }
+
+ input,
+ span {
+ display: inline-block;
+ height: 38px;
+ vertical-align: top;
+ }
+
+ input {
+ width: 10em;
+ }
+
+ span {
+ line-height: 38px;
+ background-color: $color-borsetshire-blue;
+ padding: 0 1em;
+ }
+}
+
+#site-subheader {
+ display: block;
+ padding: 1em;
+ background: $color-borsetshire-blue;
+ color: #fff;
+
+ h2 {
+ line-height: 24px;
+ margin: 0;
+ }
+}
+
+// Reset all the header customisations on the map page.
+.mappage {
+ .nav-wrapper {
+ top: 0;
+ }
+
+ #main-nav {
+ min-height: $mappage-header-height;
+ }
+
+ #site-subheader,
+ .site-header__fake-nav {
+ display: none;
+ }
+}
+
+// Accommodate the new, taller, header.
+body.twothirdswidthpage .content .sticky-sidebar aside {
+ top: 10em;
+}
diff --git a/web/cobrands/borsetshire/base.scss b/web/cobrands/borsetshire/base.scss
new file mode 100644
index 000000000..813c0fc59
--- /dev/null
+++ b/web/cobrands/borsetshire/base.scss
@@ -0,0 +1,24 @@
+@import "../sass/h5bp";
+@import "./_colours";
+@import "../sass/mixins";
+
+@import "../sass/base";
+
+#site-logo {
+ background-position: 0 0;
+ background-size: 120px 32px;
+ height: 32px;
+ width: 120px;
+ @include high-dpi-background-image('images/site-logo-mobile');
+}
+
+#site-header {
+ .container {
+ padding: 1em; // up from default `0 1em`
+ }
+}
+
+#site-subheader,
+.site-header__fake-nav {
+ display: none;
+}
diff --git a/web/cobrands/borsetshire/google_maps_style.js b/web/cobrands/borsetshire/google_maps_style.js
new file mode 100644
index 000000000..b443109c5
--- /dev/null
+++ b/web/cobrands/borsetshire/google_maps_style.js
@@ -0,0 +1 @@
+var fixmystreet_google_maps_custom_style=[{"featureType":"all","elementType":"labels.text.fill","stylers":[{"color":"#000000"}]},{"featureType":"all","elementType":"labels.text.stroke","stylers":[{"visibility":"on"},{"color":"#ffffff"},{"weight":"4"}]},{"featureType":"all","elementType":"labels.icon","stylers":[{"visibility":"on"},{"saturation":"-100"}]},{"featureType":"administrative","elementType":"geometry.fill","stylers":[{"color":"#ffffff"},{"lightness":20},{"visibility":"on"}]},{"featureType":"administrative","elementType":"geometry.stroke","stylers":[{"color":"#000000"},{"lightness":17},{"weight":1.2}]},{"featureType":"administrative.locality","elementType":"all","stylers":[{"visibility":"on"}]},{"featureType":"administrative.neighborhood","elementType":"all","stylers":[{"visibility":"on"}]},{"featureType":"administrative.land_parcel","elementType":"all","stylers":[{"visibility":"on"},{"lightness":"80"}]},{"featureType":"landscape","elementType":"all","stylers":[{"visibility":"simplified"}]},{"featureType":"landscape","elementType":"geometry","stylers":[{"lightness":20},{"color":"#ffffff"}]},{"featureType":"landscape.natural.landcover","elementType":"all","stylers":[{"visibility":"on"}]},{"featureType":"landscape.natural.terrain","elementType":"all","stylers":[{"visibility":"off"}]},{"featureType":"poi","elementType":"geometry","stylers":[{"color":"#d7e8a8"},{"lightness":21},{"visibility":"on"}]},{"featureType":"poi.park","elementType":"geometry.fill","stylers":[{"color":"#d7e8a8"}]},{"featureType":"poi.sports_complex","elementType":"geometry.fill","stylers":[{"color":"#d7e8a8"}]},{"featureType":"road.highway","elementType":"geometry.fill","stylers":[{"color":"#fed41c"},{"visibility":"on"},{"weight":"3.00"}]},{"featureType":"road.highway","elementType":"geometry.stroke","stylers":[{"color":"#fed41c"},{"gamma":"0.6"}]},{"featureType":"road.highway.controlled_access","elementType":"geometry","stylers":[{"visibility":"on"},{"color":"#fed41c"},{"weight":"4.00"}]},{"featureType":"road.highway.controlled_access","elementType":"geometry.stroke","stylers":[{"weight":"1"},{"gamma":"0.6"}]},{"featureType":"road.arterial","elementType":"geometry","stylers":[{"color":"#aeaeae"},{"lightness":18},{"visibility":"on"}]},{"featureType":"road.arterial","elementType":"geometry.stroke","stylers":[{"color":"#b6b6b6"}]},{"featureType":"road.local","elementType":"all","stylers":[{"visibility":"on"},{"color":"#656565"}]},{"featureType":"road.local","elementType":"geometry","stylers":[{"color":"#c6c6c6"},{"lightness":16}]},{"featureType":"road.local","elementType":"geometry.stroke","stylers":[{"color":"#b1b1b1"},{"visibility":"on"}]},{"featureType":"road.local","elementType":"labels.text.stroke","stylers":[{"visibility":"on"},{"color":"#ffffff"}]},{"featureType":"transit","elementType":"geometry","stylers":[{"color":"#bdbdbd"},{"lightness":19},{"visibility":"on"}]},{"featureType":"transit.station.airport","elementType":"geometry.fill","stylers":[{"color":"#dddddd"}]},{"featureType":"water","elementType":"geometry","stylers":[{"color":"#95d4ff"},{"lightness":17},{"visibility":"on"}]}];
diff --git a/web/cobrands/borsetshire/images/site-logo-mobile.png b/web/cobrands/borsetshire/images/site-logo-mobile.png
new file mode 100644
index 000000000..b12c9d3e2
--- /dev/null
+++ b/web/cobrands/borsetshire/images/site-logo-mobile.png
Binary files differ
diff --git a/web/cobrands/borsetshire/images/site-logo-mobile.svg b/web/cobrands/borsetshire/images/site-logo-mobile.svg
new file mode 100644
index 000000000..89aeeabae
--- /dev/null
+++ b/web/cobrands/borsetshire/images/site-logo-mobile.svg
@@ -0,0 +1 @@
+<svg width="120" height="32" viewBox="0 0 120 32" xmlns="http://www.w3.org/2000/svg"><title>site-logo-mobile</title><g fill="none" fill-rule="evenodd"><path d="M46.837 4.427c0 .316-.034.63-.1.94-.067.31-.174.6-.32.875-.146.273-.337.514-.574.72-.237.207-.52.365-.848.474v.11c.29.073.568.182.83.328.26.146.49.344.683.593.195.25.35.553.466.912.115.358.173.78.173 1.267 0 .656-.113 1.225-.338 1.705-.226.48-.53.873-.913 1.177-.383.303-.83.528-1.34.674-.51.145-1.052.218-1.624.218h-.656c-.268 0-.557-.01-.867-.027-.31-.018-.63-.046-.957-.082-.33-.037-.633-.09-.912-.164V1.562c.402-.073.898-.137 1.487-.19.59-.056 1.177-.083 1.76-.083.536 0 1.05.042 1.542.127.49.085.923.243 1.294.475.37.23.666.55.884.957.22.406.33.932.33 1.577zm-3.85 8.007c.512 0 .93-.164 1.26-.492.328-.33.492-.81.492-1.44 0-.402-.056-.722-.165-.96-.11-.236-.255-.418-.438-.546-.182-.128-.392-.21-.63-.246-.236-.037-.482-.055-.738-.055h-.93v3.63c.096.036.264.064.5.082.238.018.454.027.648.027zm-.62-5.545c.135 0 .29-.01.466-.028.176-.018.32-.04.43-.064.35-.134.652-.353.902-.657.25-.303.374-.698.374-1.184 0-.316-.044-.584-.13-.803-.084-.22-.2-.392-.346-.52-.146-.127-.32-.218-.52-.273-.2-.055-.416-.082-.647-.082-.5 0-.85.024-1.058.073v3.54h.528zm5.747 2.79c0-1.617.316-2.82.948-3.612.632-.79 1.514-1.185 2.645-1.185 1.216 0 2.122.4 2.718 1.204.595.802.893 2 .893 3.593 0 1.63-.316 2.836-.948 3.62-.632.785-1.52 1.177-2.663 1.177-2.396 0-3.593-1.6-3.593-4.797zm2.243 0c0 .912.103 1.617.31 2.116.207.498.553.748 1.04.748.462 0 .805-.216 1.03-.648.225-.432.338-1.17.338-2.216 0-.936-.103-1.648-.31-2.134-.207-.486-.56-.73-1.058-.73-.426 0-.757.216-.994.648-.237.432-.356 1.17-.356 2.216zm10.506-2.408c-.29-.11-.56-.164-.802-.164-.328 0-.61.09-.847.274-.237.182-.4.438-.484.766v6.092h-2.17V5.12h1.66l.254 1.094h.073c.158-.4.386-.714.684-.94.3-.224.642-.336 1.03-.336.293 0 .58.06.86.182l-.257 2.152zm4.104 4.542c0-.255-.082-.47-.246-.647-.163-.177-.373-.34-.628-.493-.256-.152-.526-.307-.812-.465-.286-.16-.556-.354-.812-.585-.255-.23-.465-.51-.63-.84-.163-.327-.245-.74-.245-1.24 0-.85.23-1.507.693-1.97.462-.46 1.143-.692 2.043-.692.534 0 1.04.058 1.513.173.474.116.85.26 1.13.43l-.51 1.677c-.23-.097-.51-.192-.84-.283-.327-.09-.65-.137-.966-.137-.596 0-.893.25-.893.748 0 .232.082.424.246.576.164.152.374.3.63.447.254.146.525.298.81.456.286.157.557.354.812.59.256.24.466.527.63.868.164.34.246.76.246 1.258 0 .84-.255 1.514-.766 2.025-.51.512-1.27.767-2.28.767-.5 0-.988-.06-1.468-.182s-.867-.28-1.16-.475l.603-1.75c.256.145.55.273.885.382.334.11.684.165 1.05.165.278 0 .51-.064.692-.192.182-.128.273-.33.273-.61zm9.485 1.75c-.304.27-.717.488-1.24.658-.523.17-1.07.255-1.642.255-.632 0-1.176-.11-1.632-.328-.456-.22-.83-.536-1.122-.95-.292-.413-.508-.915-.648-1.504-.14-.59-.21-1.262-.21-2.016 0-1.642.326-2.855.977-3.64.65-.783 1.553-1.175 2.708-1.175.39 0 .766.057 1.13.173.366.115.69.31.977.584.286.273.517.638.693 1.094.176.456.265 1.03.265 1.724 0 .267-.016.553-.046.857-.03.304-.076.632-.137.985h-4.432c.024.754.182 1.33.474 1.733.292.4.76.602 1.405.602.39 0 .744-.06 1.067-.183.32-.12.567-.25.737-.383l.675 1.515zm-2.845-6.84c-.462 0-.81.187-1.04.557-.23.372-.365.892-.4 1.56h2.516c.036-.692-.037-1.218-.22-1.577-.18-.36-.467-.538-.856-.538zm3.775-1.604h1.004V3.405l2.17-.674v2.39h1.77v1.933h-1.77v3.977c0 .523.052.894.155 1.112.105.22.29.33.558.33.182 0 .346-.02.492-.056.146-.036.304-.09.474-.164l.274 1.733c-.268.133-.578.246-.93.337-.353.09-.724.137-1.113.137-.693 0-1.213-.202-1.56-.603-.346-.4-.52-1.076-.52-2.025v-4.78h-1.003V5.12zm9.084 6.694c0-.255-.082-.47-.246-.647-.164-.177-.374-.34-.63-.493-.255-.152-.526-.307-.81-.465-.287-.16-.558-.354-.813-.585-.255-.23-.465-.51-.63-.84-.163-.327-.245-.74-.245-1.24 0-.85.23-1.507.693-1.97.462-.46 1.143-.692 2.043-.692.535 0 1.04.058 1.513.173.476.116.853.26 1.132.43l-.51 1.677c-.23-.097-.51-.192-.84-.283-.328-.09-.65-.137-.966-.137-.596 0-.894.25-.894.748 0 .232.082.424.246.576.164.152.374.3.63.447.255.146.526.298.81.456.287.157.558.354.813.59.256.24.466.527.63.868.164.34.246.76.246 1.258 0 .84-.255 1.514-.766 2.025-.51.512-1.27.767-2.28.767-.498 0-.988-.06-1.468-.182s-.866-.28-1.158-.475l.602-1.75c.255.145.55.273.884.382.335.11.684.165 1.05.165.28 0 .51-.064.692-.192.183-.128.274-.33.274-.61zm7.843 2.426V8.732c0-.657-.077-1.13-.23-1.423-.15-.293-.428-.44-.83-.44-.29 0-.558.104-.8.31-.245.208-.41.47-.494.785v6.275h-2.17V1.472h2.17v4.47h.055c.244-.317.54-.573.886-.767.346-.195.78-.292 1.304-.292.377 0 .705.055.985.164.28.11.516.292.71.547.196.256.34.6.44 1.03.096.432.145.977.145 1.633v5.983h-2.17zm3.848-9.12h2.17v9.12h-2.17V5.12zm-.256-2.572c0-.365.116-.666.347-.903.23-.237.558-.355.984-.355.426 0 .766.115 1.02.346.257.23.384.535.384.912s-.127.675-.383.894c-.255.22-.595.328-1.02.328-.427 0-.755-.112-.986-.337-.232-.225-.348-.52-.348-.885zm8.482 4.724c-.292-.11-.56-.164-.803-.164-.327 0-.61.09-.847.274-.237.182-.398.438-.483.766v6.092h-2.17V5.12h1.66l.255 1.094h.073c.158-.4.386-.714.684-.94.297-.224.64-.336 1.03-.336.292 0 .578.06.857.182l-.256 2.152zm7.205 6.293c-.305.268-.72.487-1.242.657-.522.17-1.07.255-1.64.255-.633 0-1.178-.11-1.634-.328-.456-.22-.83-.536-1.12-.95-.293-.413-.51-.915-.65-1.504-.14-.59-.21-1.262-.21-2.016 0-1.642.327-2.855.977-3.64.652-.783 1.555-1.175 2.71-1.175.39 0 .766.057 1.13.173.366.115.69.31.977.584.285.273.516.638.693 1.094.176.456.264 1.03.264 1.724 0 .267-.015.553-.045.857-.032.304-.077.632-.138.985h-4.433c.024.754.182 1.33.474 1.733.292.4.76.602 1.404.602.39 0 .745-.06 1.067-.183.322-.12.57-.25.74-.383l.674 1.515zm-2.847-6.84c-.462 0-.808.186-1.04.556-.23.372-.364.892-.4 1.56h2.517c.036-.692-.037-1.218-.22-1.577-.182-.36-.468-.538-.857-.538zM43.45 28.972c-1.248 0-2.272-.41-3.073-1.232-.8-.82-1.2-1.905-1.2-3.252 0-1.347.4-2.43 1.2-3.252.8-.822 1.825-1.232 3.074-1.232.92 0 1.73.168 2.428.505l-.16 1.366c-.912-.337-1.668-.505-2.267-.505-.862 0-1.525.29-1.99.863-.463.575-.695 1.327-.695 2.255 0 .928.232 1.68.696 2.255.465.574 1.128.862 1.99.862.642 0 1.397-.168 2.268-.505l.16 1.367c-.69.337-1.5.505-2.427.505zm6.124-.05c-.945 0-1.694-.303-2.248-.91-.555-.608-.832-1.364-.832-2.267 0-.896.277-1.65.832-2.26.554-.613 1.303-.92 2.248-.92.944 0 1.694.307 2.248.92.555.61.832 1.364.832 2.26 0 .903-.277 1.66-.832 2.267-.554.607-1.304.91-2.248.91zm0-5.173c-.518 0-.922.18-1.214.54-.29.362-.437.847-.437 1.455 0 .616.146 1.104.437 1.466.292.362.696.543 1.214.543.517 0 .922-.18 1.213-.542.292-.36.438-.85.438-1.465 0-.608-.146-1.093-.438-1.454-.29-.36-.696-.54-1.213-.54zm9.4 5.05h-1.28l-.063-.456c-.4.386-.89.58-1.465.58-1.66 0-2.49-.958-2.49-2.87v-3.377h1.394v3.277c0 .608.1 1.055.307 1.343.205.287.53.43.973.43.542 0 .953-.188 1.232-.566v-4.483h1.392V28.8zm6.912 0h-1.393v-3.314c0-.6-.104-1.04-.314-1.318-.21-.28-.55-.42-1.017-.42-.575 0-1.014.202-1.318.604V28.8h-1.393v-6.123h1.257l.048.456c.477-.378.994-.567 1.553-.567 1.717 0 2.576.973 2.576 2.92V28.8zm4.533-1.023l-.124 1.146h-1.06c-.54 0-.948-.152-1.22-.456-.27-.304-.406-.673-.406-1.108v-3.55h-.924l.124-1.133h.8v-1.392l1.393-.148v1.54h1.43v1.133h-1.43v2.908c0 .5.05.803.154.905.102.103.396.154.88.154h.382zm6.75-5.1l-3.806 9.104h-1.442l1.38-3.35-2.55-5.753h1.552l1.676 4.127 1.638-4.127h1.553zm7.565 6.295c-1.248 0-2.273-.41-3.074-1.232-.8-.82-1.2-1.905-1.2-3.252 0-1.347.4-2.43 1.2-3.252.802-.822 1.827-1.232 3.075-1.232.92 0 1.73.168 2.427.505l-.16 1.366c-.912-.337-1.667-.505-2.267-.505-.862 0-1.525.29-1.99.863-.464.575-.696 1.327-.696 2.255 0 .928.23 1.68.696 2.255.464.574 1.127.862 1.99.862.64 0 1.395-.168 2.266-.505l.16 1.367c-.69.337-1.5.505-2.427.505zm6.123-.05c-.944 0-1.694-.303-2.248-.91-.555-.608-.832-1.364-.832-2.267 0-.896.277-1.65.832-2.26.554-.613 1.304-.92 2.248-.92.945 0 1.694.307 2.25.92.553.61.83 1.364.83 2.26 0 .903-.277 1.66-.83 2.267-.556.607-1.305.91-2.25.91zm0-5.173c-.517 0-.922.18-1.213.54-.292.362-.438.847-.438 1.455 0 .616.146 1.104.438 1.466.29.362.696.543 1.213.543.518 0 .922-.18 1.214-.542.29-.36.437-.85.437-1.465 0-.608-.147-1.093-.438-1.454-.292-.36-.696-.54-1.214-.54zm9.4 5.05h-1.28l-.062-.456c-.403.386-.892.58-1.467.58-1.66 0-2.49-.958-2.49-2.87v-3.377h1.393v3.277c0 .608.103 1.055.308 1.343.206.287.53.43.974.43.542 0 .953-.188 1.232-.566v-4.483h1.392V28.8zm6.912 0h-1.392v-3.314c0-.6-.105-1.04-.314-1.318-.21-.28-.55-.42-1.017-.42-.575 0-1.014.202-1.318.604V28.8h-1.393v-6.123h1.256l.05.456c.476-.378.994-.567 1.552-.567 1.717 0 2.575.973 2.575 2.92V28.8zm4.03.123c-.954 0-1.69-.304-2.213-.91-.52-.61-.782-1.365-.782-2.268 0-.912.26-1.67.782-2.273.522-.604 1.26-.906 2.212-.906.762 0 1.378.144 1.847.43l-.148 1.21c-.51-.305-1.036-.457-1.578-.457s-.96.177-1.25.535c-.292.357-.438.844-.438 1.46 0 .607.148 1.094.443 1.46.296.365.71.548 1.245.548.542 0 1.072-.152 1.59-.456l.135 1.17c-.47.304-1.085.456-1.848.456zm4.323-7.306h-1.405v-1.44h1.405v1.44zm0 7.183h-1.405v-6.123h1.405V28.8zm3.67-1.023l-.134 1.146h-.494c-.526 0-.92-.148-1.183-.443-.263-.296-.394-.67-.394-1.12v-7.8h1.403v7.17c0 .485.046.78.136.887.09.107.31.16.664.16z" fill="#FFF"/><path d="M16.826 19.967C9.006 20.675 2.15 21.717 0 22.4V32h32V19.2c-1.418 0-2.887.028-4.382.078.547.913.862 1.98.862 3.122 0 3.358-2.722 6.08-6.08 6.08s-6.08-2.722-6.08-6.08c0-.865.18-1.688.506-2.433zM22.4 27.2c2.65 0 4.8-2.15 4.8-4.8s-2.15-4.8-4.8-4.8-4.8 2.15-4.8 4.8 2.15 4.8 4.8 4.8z" fill="#F4D659"/><path d="M17.64 18.615C9.488 19.323 2.224 20.413 0 21.12V32h32V17.92c-1.73 0-3.533.04-5.368.114-1.095-1.06-2.587-1.714-4.232-1.714-1.927 0-3.645.896-4.76 2.295zM0 9.6c8.16 0 23.36 3.2 32 3.2V32H0V9.6z" fill="#A6C257"/><path d="M0 0h32v32H0V0zm0 8.32c8.16 0 23.36 3.2 32 3.2V32H0V8.32z" fill="#95D4FF"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/borsetshire/images/site-logo-mobile@2x.png b/web/cobrands/borsetshire/images/site-logo-mobile@2x.png
new file mode 100644
index 000000000..d19fdcebb
--- /dev/null
+++ b/web/cobrands/borsetshire/images/site-logo-mobile@2x.png
Binary files differ
diff --git a/web/cobrands/borsetshire/images/site-logo.png b/web/cobrands/borsetshire/images/site-logo.png
new file mode 100644
index 000000000..31185ec8c
--- /dev/null
+++ b/web/cobrands/borsetshire/images/site-logo.png
Binary files differ
diff --git a/web/cobrands/borsetshire/images/site-logo.svg b/web/cobrands/borsetshire/images/site-logo.svg
new file mode 100644
index 000000000..308d82c76
--- /dev/null
+++ b/web/cobrands/borsetshire/images/site-logo.svg
@@ -0,0 +1 @@
+<svg width="180" height="48" viewBox="0 0 180 48" xmlns="http://www.w3.org/2000/svg"><title>site-logo</title><g fill="none" fill-rule="evenodd"><path d="M70.255 6.64c0 .475-.05.944-.15 1.41-.1.464-.26.902-.48 1.313-.218.41-.505.77-.86 1.08-.357.31-.78.548-1.273.712v.164c.438.108.853.272 1.245.49.392.22.734.517 1.026.89.292.374.524.83.697 1.37.174.537.26 1.17.26 1.9 0 .985-.168 1.838-.506 2.558-.337.72-.793 1.31-1.368 1.765-.574.456-1.245.793-2.01 1.012-.767.22-1.58.33-2.436.33h-.985c-.4 0-.834-.015-1.3-.042-.465-.028-.943-.07-1.436-.124-.493-.055-.95-.137-1.37-.247V2.345c.603-.11 1.346-.205 2.23-.287.886-.083 1.766-.124 2.64-.124.804 0 1.574.064 2.313.192.74.128 1.386.365 1.943.71.556.348.998.827 1.327 1.438.328.61.492 1.4.492 2.366zm-5.773 12.01c.766 0 1.396-.245 1.888-.737.493-.493.74-1.213.74-2.162 0-.6-.083-1.08-.247-1.435-.165-.356-.383-.63-.657-.82-.274-.193-.588-.316-.944-.37-.356-.055-.725-.082-1.108-.082H62.76v5.444c.144.055.395.096.75.123.357.028.68.04.972.04zm-.93-8.316c.2 0 .433-.014.698-.04.264-.028.478-.06.643-.097.53-.2.98-.53 1.354-.985.374-.456.56-1.05.56-1.778 0-.474-.063-.876-.19-1.204-.128-.328-.302-.588-.52-.78-.22-.19-.48-.328-.78-.41-.3-.082-.625-.123-.972-.123-.747 0-1.276.036-1.586.11v5.307h.792zm8.618 4.186c0-2.426.475-4.232 1.423-5.417.95-1.186 2.27-1.78 3.967-1.78 1.824 0 3.183.603 4.077 1.807.894 1.204 1.34 3 1.34 5.39 0 2.444-.474 4.254-1.422 5.43-.95 1.177-2.28 1.766-3.995 1.766-3.593 0-5.39-2.4-5.39-7.196zm3.366 0c0 1.368.155 2.426.465 3.174.31.748.83 1.122 1.56 1.122.693 0 1.21-.324 1.546-.972.338-.647.506-1.755.506-3.324 0-1.404-.155-2.472-.465-3.2-.31-.73-.84-1.096-1.587-1.096-.638 0-1.135.324-1.49.972-.356.647-.534 1.755-.534 3.324zm15.76-3.612c-.44-.164-.84-.246-1.205-.246-.49 0-.915.137-1.27.41-.357.274-.598.657-.726 1.15v9.138h-3.256V7.68h2.49l.383 1.642h.11c.237-.602.58-1.072 1.026-1.41.447-.337.962-.506 1.546-.506.438 0 .867.092 1.286.274l-.383 3.228zm6.155 6.813c0-.382-.122-.706-.368-.97-.247-.265-.56-.51-.944-.74-.383-.227-.79-.46-1.218-.697-.428-.237-.834-.53-1.217-.875-.383-.347-.698-.766-.944-1.26-.247-.49-.37-1.11-.37-1.86 0-1.276.346-2.26 1.04-2.954.692-.693 1.714-1.04 3.063-1.04.803 0 1.56.087 2.27.26.713.174 1.278.388 1.698.643l-.765 2.517c-.347-.146-.767-.287-1.26-.424-.49-.137-.975-.205-1.45-.205-.893 0-1.34.374-1.34 1.122 0 .346.123.634.37.862.246.227.56.45.944.67.382.218.787.446 1.216.683.43.237.835.533 1.218.89.383.355.697.788.944 1.3.246.51.37 1.14.37 1.887 0 1.258-.384 2.27-1.15 3.037-.766.766-1.906 1.15-3.42 1.15-.748 0-1.482-.093-2.203-.275-.72-.182-1.3-.42-1.737-.71l.903-2.628c.384.22.826.41 1.328.575.5.163 1.026.245 1.573.245.42 0 .767-.096 1.04-.287.274-.192.41-.497.41-.917zm14.228 2.628c-.456.4-1.076.73-1.86.985-.785.255-1.605.383-2.463.383-.948 0-1.764-.164-2.448-.493-.684-.328-1.245-.802-1.683-1.423-.438-.62-.762-1.372-.97-2.257-.21-.884-.316-1.892-.316-3.023 0-2.462.488-4.282 1.464-5.458.976-1.177 2.33-1.765 4.063-1.765.583 0 1.15.087 1.696.26.548.173 1.036.465 1.465.875.43.41.775.958 1.04 1.642.264.684.396 1.546.396 2.586 0 .4-.022.83-.067 1.285-.046.456-.114.95-.205 1.478h-6.65c.038 1.13.275 1.997.713 2.6.438.6 1.14.902 2.107.902.584 0 1.117-.09 1.6-.274.484-.18.854-.373 1.11-.573l1.01 2.27zm-4.268-10.26c-.693 0-1.213.278-1.56.834-.346.556-.547 1.336-.6 2.34h3.774c.055-1.04-.054-1.83-.328-2.367-.274-.538-.702-.807-1.286-.807zm5.664-2.408h1.504V5.108l3.256-1.012V7.68h2.654v2.9h-2.654v5.965c0 .784.078 1.34.233 1.67.155.327.433.49.834.49.275 0 .52-.026.74-.08.22-.056.456-.138.71-.247l.412 2.6c-.402.2-.867.368-1.396.505-.53.137-1.085.205-1.67.205-1.038 0-1.818-.3-2.338-.903-.52-.6-.78-1.614-.78-3.037V10.58h-1.504v-2.9zM126.7 17.72c0-.382-.124-.706-.37-.97-.247-.265-.56-.51-.944-.74-.383-.227-.79-.46-1.218-.697-.43-.237-.834-.53-1.217-.875-.382-.347-.697-.766-.943-1.26-.247-.49-.37-1.11-.37-1.86 0-1.276.347-2.26 1.04-2.954.693-.693 1.715-1.04 3.064-1.04.804 0 1.56.087 2.272.26.712.174 1.277.388 1.696.643l-.766 2.517c-.346-.146-.766-.287-1.258-.424-.493-.137-.976-.205-1.45-.205-.894 0-1.34.374-1.34 1.122 0 .346.122.634.368.862.247.227.56.45.944.67.383.218.79.446 1.218.683.43.237.834.533 1.217.89.384.355.7.788.945 1.3.247.51.37 1.14.37 1.887 0 1.258-.383 2.27-1.15 3.037-.765.766-1.905 1.15-3.42 1.15-.747 0-1.48-.093-2.202-.275-.72-.182-1.3-.42-1.737-.71l.903-2.628c.382.22.824.41 1.326.575.5.163 1.026.245 1.573.245.418 0 .765-.096 1.038-.287.274-.192.41-.497.41-.917zm11.764 3.64v-8.263c0-.985-.114-1.696-.342-2.134-.228-.438-.643-.656-1.245-.656-.438 0-.84.155-1.204.465-.365.31-.61.702-.74 1.176v9.412h-3.255V2.208h3.256V8.91h.082c.365-.473.807-.856 1.327-1.148.52-.292 1.172-.438 1.957-.438.565 0 1.057.082 1.477.247.42.165.775.438 1.067.82.292.384.51.9.657 1.547.147.648.22 1.464.22 2.45v8.973h-3.256zm5.773-13.68h3.255v13.68h-3.255V7.68zm-.383-3.858c0-.547.173-.998.52-1.354.346-.356.838-.534 1.477-.534.64 0 1.15.174 1.533.52.383.347.575.803.575 1.368 0 .566-.192 1.013-.575 1.34-.383.33-.894.493-1.532.493s-1.13-.168-1.477-.506c-.346-.338-.52-.78-.52-1.328zm12.722 7.086c-.438-.164-.84-.246-1.204-.246-.492 0-.916.137-1.272.41-.356.274-.597.657-.725 1.15v9.138h-3.256V7.68h2.49l.382 1.642h.11c.236-.602.578-1.072 1.025-1.41.447-.337.962-.506 1.546-.506.438 0 .867.092 1.286.274l-.384 3.228zm10.807 9.44c-.456.4-1.076.73-1.86.985-.785.255-1.605.383-2.463.383-.948 0-1.764-.164-2.448-.493-.684-.328-1.245-.802-1.683-1.423-.44-.62-.763-1.372-.972-2.257-.21-.884-.315-1.892-.315-3.023 0-2.462.488-4.282 1.464-5.458.976-1.177 2.33-1.765 4.063-1.765.583 0 1.15.087 1.696.26.547.173 1.035.465 1.464.875.428.41.775.958 1.04 1.642.264.684.396 1.546.396 2.586 0 .4-.023.83-.068 1.285-.046.456-.114.95-.205 1.478h-6.65c.038 1.13.275 1.997.713 2.6.437.6 1.14.902 2.106.902.584 0 1.117-.09 1.6-.274.484-.18.854-.373 1.11-.573l1.01 2.27zm-4.268-10.26c-.693 0-1.213.278-1.56.834-.346.556-.547 1.336-.6 2.34h3.774c.054-1.04-.055-1.83-.33-2.367-.273-.538-.7-.807-1.285-.807zM65.176 43.46c-1.872 0-3.41-.617-4.61-1.85-1.202-1.23-1.802-2.858-1.802-4.878s.6-3.647 1.802-4.88c1.2-1.23 2.738-1.847 4.61-1.847 1.38 0 2.594.253 3.64.758l-.24 2.05c-1.367-.504-2.5-.756-3.4-.756-1.293 0-2.288.43-2.984 1.293-.696.863-1.044 1.99-1.044 3.382 0 1.392.348 2.52 1.044 3.382.696.862 1.69 1.293 2.984 1.293.96 0 2.095-.252 3.4-.757l.24 2.05c-1.034.506-2.248.76-3.64.76zm9.185-.075c-1.416 0-2.54-.456-3.372-1.368-.83-.91-1.247-2.045-1.247-3.4 0-1.343.417-2.473 1.248-3.39.832-.92 1.956-1.378 3.373-1.378 1.418 0 2.542.458 3.373 1.376.832.918 1.248 2.048 1.248 3.39 0 1.356-.415 2.49-1.247 3.4-.83.913-1.955 1.37-3.372 1.37zm0-7.762c-.775 0-1.382.27-1.82.813-.437.542-.655 1.27-.655 2.18 0 .925.218 1.658.656 2.2.438.542 1.045.813 1.82.813.777 0 1.384-.272 1.82-.814.44-.542.657-1.275.657-2.2 0-.91-.218-1.638-.656-2.18-.436-.542-1.043-.813-1.82-.813zm14.1 7.577h-1.92l-.093-.684c-.604.58-1.337.87-2.2.87-2.488 0-3.732-1.436-3.732-4.307v-5.065h2.088v4.916c0 .913.154 1.584.462 2.015.308.432.795.647 1.46.647.813 0 1.43-.283 1.848-.85v-6.727h2.088V43.2zm10.368 0H96.74v-4.97c0-.9-.157-1.56-.47-1.978-.315-.42-.823-.63-1.526-.63-.862 0-1.52.303-1.977.907v6.67H90.68v-9.185h1.884l.074.684c.714-.568 1.49-.85 2.328-.85 2.575 0 3.862 1.46 3.862 4.38v4.97zm6.8-1.534l-.184 1.72h-1.59c-.812 0-1.422-.23-1.83-.685-.405-.455-.608-1.01-.608-1.662v-5.322h-1.386l.184-1.7h1.202v-2.09l2.088-.22v2.31h2.144v1.7h-2.144v4.36c0 .752.077 1.205.23 1.36.155.153.595.23 1.322.23h.573zm10.128-7.65l-5.71 13.656h-2.162l2.07-5.026-3.826-8.63h2.328l2.514 6.19 2.458-6.19h2.328zm11.347 9.443c-1.873 0-3.41-.617-4.61-1.85-1.202-1.23-1.803-2.858-1.803-4.878s.6-3.647 1.802-4.88c1.2-1.23 2.738-1.847 4.61-1.847 1.38 0 2.594.253 3.64.758l-.24 2.05c-1.366-.504-2.5-.756-3.4-.756-1.293 0-2.288.43-2.984 1.293-.696.863-1.044 1.99-1.044 3.382 0 1.392.348 2.52 1.044 3.382.696.862 1.69 1.293 2.985 1.293.96 0 2.094-.252 3.4-.757l.24 2.05c-1.035.506-2.248.76-3.64.76zm9.184-.075c-1.416 0-2.54-.456-3.372-1.368-.832-.91-1.248-2.045-1.248-3.4 0-1.343.416-2.473 1.248-3.39.83-.92 1.956-1.378 3.372-1.378 1.417 0 2.54.458 3.373 1.376.832.918 1.247 2.048 1.247 3.39 0 1.356-.415 2.49-1.247 3.4-.832.913-1.956 1.37-3.373 1.37zm0-7.762c-.776 0-1.383.27-1.82.813-.437.542-.656 1.27-.656 2.18 0 .925.22 1.658.657 2.2.437.542 1.044.813 1.82.813.777 0 1.383-.272 1.82-.814.438-.542.657-1.275.657-2.2 0-.91-.22-1.638-.656-2.18-.438-.542-1.044-.813-1.82-.813zm14.1 7.577h-1.92l-.094-.684c-.603.58-1.336.87-2.2.87-2.487 0-3.732-1.436-3.732-4.307v-5.065h2.09v4.916c0 .913.153 1.584.46 2.015.31.432.796.647 1.46.647.814 0 1.43-.283 1.85-.85v-6.727h2.088V43.2zm10.368 0h-2.088v-4.97c0-.9-.157-1.56-.472-1.978-.314-.42-.822-.63-1.524-.63-.862 0-1.52.303-1.977.907v6.67h-2.088v-9.185h1.885l.074.684c.715-.568 1.49-.85 2.33-.85 2.573 0 3.86 1.46 3.86 4.38v4.97zm6.043.185c-1.43 0-2.535-.456-3.317-1.368-.782-.91-1.173-2.045-1.173-3.4 0-1.368.39-2.504 1.174-3.41.783-.905 1.89-1.358 3.318-1.358 1.146 0 2.07.215 2.772.646l-.222 1.81c-.764-.455-1.552-.683-2.365-.683-.813 0-1.44.268-1.876.804-.437.536-.656 1.266-.656 2.19 0 .912.223 1.642.666 2.19.444.548 1.066.822 1.867.822.813 0 1.607-.23 2.384-.685l.203 1.756c-.702.457-1.626.685-2.772.685zm6.486-10.96h-2.106v-2.16h2.106v2.16zm0 10.775h-2.106v-9.185h2.106V43.2zm5.507-1.534l-.202 1.72h-.74c-.788 0-1.38-.223-1.773-.666-.394-.444-.592-1.005-.592-1.682V29.34h2.107v10.755c0 .727.068 1.17.203 1.33.136.16.47.24.998.24z" fill="#FFF"/><path d="M25.24 29.95C13.51 31.014 3.222 32.576 0 33.6V48h48V28.8c-2.127 0-4.33.04-6.573.117.82 1.37 1.293 2.97 1.293 4.683 0 5.037-4.083 9.12-9.12 9.12-5.037 0-9.12-4.083-9.12-9.12 0-1.297.27-2.532.76-3.65zM33.6 40.8c3.976 0 7.2-3.224 7.2-7.2s-3.224-7.2-7.2-7.2-7.2 3.224-7.2 7.2 3.224 7.2 7.2 7.2z" fill="#F4D659"/><path d="M26.462 27.923C14.23 28.983 3.334 30.62 0 31.68V48h48V26.88c-2.593 0-5.3.06-8.052.172-1.642-1.592-3.88-2.572-6.348-2.572-2.89 0-5.467 1.345-7.138 3.443zM0 14.4c12.24 0 35.04 4.8 48 4.8V48H0V14.4z" fill="#A6C257"/><path d="M0 0h48v48H0V0zm0 12.48c12.24 0 35.04 4.8 48 4.8V48H0V12.48z" fill="#95D4FF"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/borsetshire/images/site-logo@2x.png b/web/cobrands/borsetshire/images/site-logo@2x.png
new file mode 100644
index 000000000..1840d6206
--- /dev/null
+++ b/web/cobrands/borsetshire/images/site-logo@2x.png
Binary files differ
diff --git a/web/cobrands/borsetshire/images/street.jpg b/web/cobrands/borsetshire/images/street.jpg
new file mode 100644
index 000000000..d95c7e415
--- /dev/null
+++ b/web/cobrands/borsetshire/images/street.jpg
Binary files differ
diff --git a/web/cobrands/borsetshire/js.js b/web/cobrands/borsetshire/js.js
new file mode 100644
index 000000000..eee78df43
--- /dev/null
+++ b/web/cobrands/borsetshire/js.js
@@ -0,0 +1,26 @@
+(function(){
+
+ function set_redirect(form) {
+ var e = form.email.value;
+ if (e == 'inspector@example.org') {
+ form.r.value = 'my/planned';
+ } else if (e == 'cs@example.org') {
+ form.r.value = 'reports';
+ } else if (e == 'super@example.org') {
+ form.r.value = 'admin';
+ }
+ }
+
+ $('#demo-user-list dt').click(function(){
+ var form = document.forms.general_auth;
+ form.email.value = $(this).text();
+ form.password_sign_in.value = 'password';
+ set_redirect(form);
+ form.submit();
+ });
+
+ $('form[name=general_auth]').on('submit', function() {
+ set_redirect(this);
+ });
+
+})();
diff --git a/web/cobrands/borsetshire/layout.scss b/web/cobrands/borsetshire/layout.scss
new file mode 100644
index 000000000..b6d411e1f
--- /dev/null
+++ b/web/cobrands/borsetshire/layout.scss
@@ -0,0 +1,48 @@
+@import "_colours";
+@import "../sass/layout";
+@import "_council-header";
+
+@import url('https://fonts.googleapis.com/css?family=Cabin:400,400i,700,700i');
+
+#site-logo {
+ background-position: 0 0;
+ background-size: 180px 48px;
+ height: 48px;
+ width: 180px;
+ @include high-dpi-background-image('images/site-logo');
+}
+
+#site-header {
+ background-color: darken($color-borsetshire-blue, 5%);
+}
+
+// Postcode form is left-aligned, and given a background image
+// and a bit more padding than normal.
+#front-main {
+ padding: 4em 1em;
+ text-align: inherit;
+ color: inherit;
+ background: mix(#fff, $color-borsetshire-light-yellow, 50%) url('images/street.jpg') 50% 55% no-repeat;
+ background-size: cover;
+
+ #postcodeForm div {
+ margin: 0;
+ }
+}
+
+// Nav menu items have a bit more padding than normal.
+.nav-menu {
+ a, span {
+ padding: 0.5em 0.75em;
+ border-radius: 0.2em;
+ }
+
+ span {
+ color: $color-borsetshire-light-yellow;
+ }
+
+ a.report-a-problem-btn {
+ padding: 0.5em 0.75em;
+ margin: 0 0.5em 0 0;
+ }
+}
diff --git a/web/cobrands/bristol/_colours.scss b/web/cobrands/bristol/_colours.scss
index 82837b976..02764ab43 100644
--- a/web/cobrands/bristol/_colours.scss
+++ b/web/cobrands/bristol/_colours.scss
@@ -23,9 +23,11 @@ $base_bg: white;
$base_fg: $g1;
$map_nav_bg: $g1;
-$nav_fg: $b4;
+$nav_fg: #fff;
$nav_fg_hover: $primary;
+$header-top-border: false;
+
$col_click_map: $g1;
$col_click_map_dark: darken($g1, 10%);
diff --git a/web/cobrands/bristol/base.scss b/web/cobrands/bristol/base.scss
index c92b46ec3..8f61d2a5b 100644
--- a/web/cobrands/bristol/base.scss
+++ b/web/cobrands/bristol/base.scss
@@ -10,21 +10,19 @@
#site-logo {
@extend %bold-font;
- background: url(/cobrands/bristol/img/bcclogo.png) 0 0 no-repeat;
+ height: auto;
+ background: url(/cobrands/bristol/img/bcclogo.png) 0 50% no-repeat;
background-size: 37px;
text-indent: 47px;
line-height: 37px;
font-size: 24px;
- padding: 0;
+ padding: 0.5em 0;
margin: 0;
color: white;
}
#site-header {
- height: 3.5em;
border-bottom: solid 5px $bcc_red;
- border-top-color: $g1;
- background: $g1; // Can't use background-color as it's ignored in favour of existing background
}
// Style the Bristol footer correctly
diff --git a/web/cobrands/bristol/layout.scss b/web/cobrands/bristol/layout.scss
index 3b9dfa1b6..7000e8277 100644
--- a/web/cobrands/bristol/layout.scss
+++ b/web/cobrands/bristol/layout.scss
@@ -3,14 +3,11 @@
@import "../sass/layout";
#site-header {
- background-color: $g1;
- background: $g1;
border-bottom: none;
}
-// Don't display a border atop the page
-.nav-wrapper .nav-wrapper-2 {
- border-top: none;
+#main-nav {
+ float: none;
}
body.frontpage, body.twothirdswidthpage, body.fullwidthpage, body.authpage {
@@ -20,20 +17,14 @@ body.frontpage, body.twothirdswidthpage, body.fullwidthpage, body.authpage {
background-size: 81px 81px;
text-indent: 122px;
height: 111px;
+ width: 11em;
line-height: 111px;
font-size: 30px;
- // Getting rid of absolute positioning allows us to style the BCC nav below nicely
- position: static;
+ padding: 0;
}
- // Make sure the header is only as tall as it needs to be
+ // White "nav bar" with red border-top, below the logo
#site-header {
- height: auto;
-
- .container {
- min-height: 0;
- }
-
&:after {
content: " ";
height: 3.5em;
@@ -74,8 +65,6 @@ body.frontpage, body.twothirdswidthpage, body.fullwidthpage, body.authpage {
.nav-menu {
// Put the main FMS navigation below the Bristol header
- float: left;
- width: 100%;
margin-top: 7.25em;
a, span {
@@ -101,57 +90,44 @@ body.frontpage, body.twothirdswidthpage, body.fullwidthpage, body.authpage {
background-color: transparent;
}
- // Stop .nav-wrapper from preventing the logo being clicked
- .nav-wrapper .nav-wrapper-2 {
- height: 0;
- min-height: 0;
- }
-
// Put FAQ side nav at correct vertical position
.content .sticky-sidebar aside {
- top: 14.5em;
+ top: 12.5em;
}
}
body.mappage {
- // Stop the header being too tall
+ // Add a red border-bottom *inside* the header
#site-header {
- min-height: 79px;
-
- .container {
- min-height: 0;
+ @include box-sizing(border-box);
+ border-bottom: solid 5px $bcc_red;
+ }
- #site-logo {
- top: 0.5em;
- line-height: 44px;
- }
- }
+ // Reinstate the floated nav bar on map pages
+ #main-nav {
+ float: right;
}
+ // A few changes to the nav items now they're on a black background
.nav-menu {
a, span {
- text-decoration: none;
color: white;
font-size: 1.1em;
- padding: 1em 0.75em 0.95em;
}
+
a:hover {
background: transparent;
text-decoration: underline;
}
+
a.report-a-problem-btn {
color: white;
- margin: 0.5em 0.25em 0.45em;
+ padding-left: 0.5em;
+ padding-right: 0.5em;
+
&:hover {
background-color: lighten($bcc_red, 5%);
- };
- }
- }
-
- // Haven't quite figured out why this can't go on #site-header
- .nav-wrapper {
- .nav-wrapper-2 {
- border-bottom: solid 5px $bcc_red;
+ }
}
}
diff --git a/web/cobrands/bromley/_colours.scss b/web/cobrands/bromley/_colours.scss
index c36182ff8..53dfcfc8a 100644
--- a/web/cobrands/bromley/_colours.scss
+++ b/web/cobrands/bromley/_colours.scss
@@ -20,3 +20,8 @@ $nav_fg_hover: #444;
$col_click_map: $bromley_blue;
$col_fixed_label: $bromley_blue;
$col_fixed_label_dark: darken($bromley_blue, 10%);
+
+$header-top-border-width: 4px;
+
+// Override the container width to match Bromley' site, which is wider
+$container-max-width: 1200px;
diff --git a/web/cobrands/bromley/base.scss b/web/cobrands/bromley/base.scss
index 0d028d190..e6c29bed2 100644
--- a/web/cobrands/bromley/base.scss
+++ b/web/cobrands/bromley/base.scss
@@ -7,37 +7,18 @@
@import "../sass/report_list_pins";
// Override the site logo
-#site-logo{
- display: block;
+#site-logo {
width: 80px;
height: 44px;
- top: 0.4em;
- left: 0.5em;
background: url('/cobrands/bromley/bromley-logo.s.png') 0 0 no-repeat;
text-indent: -999999px;
- position: absolute;
z-index:2;
}
-// Change the colour and size of the site header to suit
-#site-header {
- background: $base_bg;
-}
-// We don't want a fixed height header on any page except the map page because
-// it includes lots of other stuff there, including a dynamic drop-down menu
-// that changes height
-body.fullwidthpage,
-body.twothirdswidthpage {
- #site-header {
- height: auto;
- }
-}
-
-// On the map page, we need slightly more space for our logo
-body.mappage {
- #site-header {
- height: 3.5em;
- }
+#nav-link {
+ top: 7px;
+ right: 0.5em;
+ transform: none;
}
// Reset form placeholders so that they match Bromley's
@@ -81,16 +62,9 @@ body.frontpage.fullwidthpage {
.bromley-header {
// These are from Bromley's styles, applied here because it's the closest
// analog to their site header.
- padding: 0 10px;
padding-top: 1em;
}
-// Add a border to this to approximate Bromley's border between the breadcrumb
-// and A-Z menu
-.main-menu-container {
- border-top: 1px solid #e2e2e2;
-}
-
// Override the links to match Bromley's
a {
text-decoration:none;
@@ -145,11 +119,11 @@ h1,h2,h3,h4,h5 {
// Bromley's styles for the .top-links nav
.top-links {
- margin-top: 44px; // Needed to push it below FMS' mobile menu bar
+ // Needed to push it below FMS' mobile menu bar
+ margin: 0 0 13px;
display: block;
width: 100%;
text-align: center;
- margin-bottom:13px;
li {
display: inline-block;
padding: 0 10px;
@@ -213,6 +187,7 @@ h1,h2,h3,h4,h5 {
height: 42px;
line-height: 0;
padding: 1.3em 1em;
+ margin: 0 0 0 -3px;
border: 1px solid #647890;
width: 20%;
opacity: 1;
@@ -222,7 +197,6 @@ h1,h2,h3,h4,h5 {
background: #647890 url("search-icon.png") no-repeat center center !important;
text-indent: -10000px;
border-radius: 0 5px 5px 0;
- margin-left: -3px;
}
}
@@ -273,10 +247,13 @@ input.field, input.text,
}
// Bromley's silly A-Z menu
+// Add a border to this to approximate Bromley's border between the breadcrumb
+// and A-Z menu
.a-z-container {
- margin-bottom: 15px;
- padding: 0 10px;
+ padding-bottom: 15px;
+ border-bottom: 1px solid #e2e2e2;
}
+
.main-a-z {
padding: 10px 5px;
margin: 0 auto;
diff --git a/web/cobrands/bromley/layout.scss b/web/cobrands/bromley/layout.scss
index 2e23d1755..d308daa4b 100644
--- a/web/cobrands/bromley/layout.scss
+++ b/web/cobrands/bromley/layout.scss
@@ -3,31 +3,19 @@
// Alter the logo and the header on every page *but* the map page. On the map
// page it stays small like in base.css
-body.fullwidthpage,
-body.twothirdswidthpage {
- #site-header {
- // Increase the height of the site-header to suit the taller logo image
- height: auto;
- }
- // Override the logo
+body.fullwidthpage, body.twothirdswidthpage, body.authpage {
#site-logo {
width: 159px;
height: 114px;
background: url(/cobrands/bromley/bromley-logo.png) 0 0 no-repeat;
+ float: left;
}
}
-// On the map page, we want the header to be much smaller, otherwise it pushes
-// the sidebar down too much
body.mappage {
- #site-header {
- height: 5em;
- }
-
- // Make the report button match the rest of the nav
- .nav-menu--main a.report-a-problem-btn {
- padding: 1.4em 0.75em 1.35em;
- margin: 0;
+ .bromley-header {
+ margin-bottom: 0;
+ padding-top: 0.5em;
}
}
@@ -35,10 +23,6 @@ body.mappage {
.iel8 {
body.fullwidthpage,
body.twothirdswidthpage {
- #site-header {
- // Increase the height of the site-header to suit the taller logo image
- height: auto;
- }
#site-logo {
width: 159px;
height: 114px;
@@ -46,10 +30,10 @@ body.mappage {
}
}
-// Override the container width to match Bromley' site, which is wider
-.container {
- width: 100%;
- max-width: 1200px;
+#main-nav {
+ display: block; // remove flex so nav touches top of parent
+ min-height: 0; // no vertical align, so no need for a height
+ margin-top: 0; // don't bother overlapping the border
}
// Override the FMS main menu to give it a background colour
@@ -116,29 +100,17 @@ body.fullwidthpage .container .content footer .tablewrapper {
// Bromley desktop styles
//////////////////////////////////////////////////////////////////////////////
-// Bromley's logo is bigger on big screens so that it appears to have some
-// left padding
-#site-logo,
-body.frontpage #site-logo {
- float: left;
- width: 239px;
- clear: left;
- margin-bottom: 20px;
- // Bromley uses an image element inside a link, so it can be centered using
- // text-align. We use a background image, so this approximates that.
- background-position: 50% 0%;
-}
-
// Bromley's .top-links section floats to the right on bigger screens
.top-links {
float: right;
width: auto;
+ margin-top: 3em;
}
// Bromley's search form floats to the right too
.main-search {
width: 35%;
- margin: 10px 0 0 0;
+ margin: 0;
float: right;
min-width: 287px;
clear: right;
diff --git a/web/cobrands/eastherts/_colours.scss b/web/cobrands/eastherts/_colours.scss
index f4a1142ac..2854c01bd 100644
--- a/web/cobrands/eastherts/_colours.scss
+++ b/web/cobrands/eastherts/_colours.scss
@@ -1,22 +1,20 @@
/* COLOURS */
$eh_dark_grey: #555;
-$eh_med_grey: #dadcda;
-$eh_dark_green: #007900;
-$eh_green: #2c992c;
-$eh_purple: #609;
-$eh_blue: #4e96e8;
+$eh_green: #00843d;
$primary: $eh_green;
$primary_b: #000000;
-$primary_text: #222222;
+$primary_text: #fff;
$base_bg: white;
$base_fg: $eh_dark_grey;
-$map_nav_bg: $eh_green;
-$nav_fg: #000;
-$nav_fg_hover: $primary;
+$map_nav_bg: #000;
+$nav_fg: #fff;
+$nav_fg_hover: $eh_green;
+
+$header-top-border: false;
// Colour used for front page 'how to report a problem' steps
$col_big_numbers: #ccc;
@@ -27,6 +25,8 @@ $col_click_map_dark: darken($eh_green, 10%);
$col_fixed_label: #00BD08;
$col_fixed_label_dark: #4B8304;
-$body-font: Verdana,Arial,Helvetica,Geneva,sans-serif;
+$body-font: 'Open Sans', sans-serif;
$meta-font: $body-font;
-$heading-font: $body-font; \ No newline at end of file
+$heading-font: $body-font;
+
+$mappage-header-height: 178px;
diff --git a/web/cobrands/eastherts/base.scss b/web/cobrands/eastherts/base.scss
index 1c8f9795b..aa654c48c 100644
--- a/web/cobrands/eastherts/base.scss
+++ b/web/cobrands/eastherts/base.scss
@@ -1,56 +1,78 @@
@import "../sass/h5bp";
@import "./_colours";
@import "../sass/mixins";
-
@import "../sass/base";
-.header__eh_nav, .header__eh_top_nav, .nav-menu li.user-meta--nav {
- display: none;
-}
-
#site-header {
- border-top: none;
- background: $eh_blue;
+ background-image: url('https://www.eastherts.gov.uk/media/29966/Website_background/image/panorama-lomoesque-compressor.jpg');
+ background-repeat: no-repeat;
+ background-size: cover;
}
#site-logo {
- background: url(img/toplogo.gif);
- background-size: 51px 48px;
- height: 48px;
- width: 51px;
- top: 0px;
- left: 2px;
-}
-
-h1, h2, h3, h4 {
- color: $eh_green;
+ margin: 0 auto;
+ background: url('https://www.eastherts.gov.uk/image/29967/site_logo/original.png');
+ width: 150px;
+ height: 138px;
}
-footer {
- background-color: $eh_med_grey;
- background-image: url(img/footer.gif);
- background-repeat: repeat-x;
- background-position: top;
+// Seemed easiest to have a little bar above the header
- text-align: center;
- padding: 1em;
- margin: 0;
-
- p {
- margin: 0;
- }
+.toputils {
+ background-color: #000;
+ position: relative;
+ height: 40px;
+}
- ul {
- margin: 0;
- li {
- list-style: none;
+// Footer styles from their stylesheet
- a, a:visited, a:hover, a:active {
- color: $eh_dark_grey;
- }
- a:hover {
- text-decoration: underline;
- }
+.footer {
+ padding: 2em 0.75em 1em;
+ color: #fff;
+ background-color: #000;
+ .container {
+ padding: 0;
+ margin: 0 auto;
}
- }
-} \ No newline at end of file
+}
+.footer__logo {
+ display: block;
+ margin: 0 auto 1em;
+}
+.footer__socialmedia {
+ text-align: center;
+ a {
+ text-decoration: none;
+ }
+}
+.footer__navigation {
+ overflow: hidden;
+ margin-bottom: 1em;
+ & > ul {
+ margin: 0;
+ padding: 0;
+ li {
+ list-style: none;
+ }
+ }
+}
+.footer__navitem {
+ margin-bottom: 0;
+}
+a.footer__navlink {
+ color: #fff;
+ display: block;
+ padding: 0.5em 0;
+ text-align: center;
+}
+.footer__copyright {
+ text-align: center;
+ clear: both;
+}
+.footer__goss > a {
+ display: block;
+ text-align: center;
+ font-size: 14px;
+ color: #ccc;
+ clear: both;
+}
diff --git a/web/cobrands/eastherts/layout.scss b/web/cobrands/eastherts/layout.scss
index 9623f33de..cb3a616bf 100644
--- a/web/cobrands/eastherts/layout.scss
+++ b/web/cobrands/eastherts/layout.scss
@@ -1,229 +1,190 @@
@import "_colours";
@import "../sass/layout";
-#site-header {
- // default layout.scss sets this, so we need it here as well as base.scss
- background: $eh_blue;
- background-image: url(img/header_mid.jpg);
- background-repeat: repeat-x;
+#site-logo {
+ margin: 0; // Left aligned again
}
-// Get rid of the top border
-.nav-wrapper .nav-wrapper-2 {
- border-top: none;
-}
-
-body.fullwidthpage, body.twothirdswidthpage, body.authpage, body.frontpage {
- $logo-height: 90px;
- $eh-nav-height: 32px;
- $fms-nav-height: 43px;
-
- #site-header {
- background-color: $base_bg;
- height: $logo-height + $eh-nav-height + $fms-nav-height;
+// Put the nav underneath the East Herts nav
- .container {
- height: auto;
- }
+#main-nav {
+ display: block;
+ position: absolute;
+ top: 124px; // 80px + 40px + 4px gap
+ left: 0;
+ width: 100%;
+ float: none;
+ min-height: 0;
+}
- .container:first-child {
- height: $logo-height;
- }
+// And make it look the same
- .header__eh_nav {
- display: block;
- background-color: $eh_dark_green;
- background-image: url(img/welcome_mid.gif);
- background-repeat: repeat-x;
- background-position: 0 0;
- height: $eh-nav-height;
-
- ul, span {
- font-size: 1.1em;
- line-height: $eh-nav-height;
- color: white;
- }
-
- ul {
- float: right;
- text-align: right;
- list-style: none;
- margin: 0;
- padding: 0;
-
- li {
- display: inline;
- margin: 0;
- padding: 0;
-
- a {
- color: white;
- padding: 0 0.5em 0 0.6em;
- }
- }
- }
+.nav-menu {
+ background-color: $eh_dark_grey;
+ margin-right: calc(40px - -0.75em);
+ span {
+ color: #fff;
+ background-color: $eh_green;
}
+}
- .header__eh_top_nav {
- display: block;
- position: relative;
- z-index: 4;
-
- ul {
- float: right;
- margin: 0;
- list-style: none;
-
- li {
- display: inline;
- list-style: none;
- }
- }
-
- ul#toputilnav {
- width: 100%;
- text-align: right;
-
- li {
- margin: 0;
- padding: 0;
-
- a {
- padding: 0 0.5em 0 0.25em;
- font-size: 0.9em;
- color: black;
- }
-
- &:after {
- content: "";
- border-right: solid 1px $eh_dark_grey;
- }
-
- // For some reason the spacing isn't even on the 'cookies' link,
- // so this sorts it out.
- &:first-child {
- margin-right: 0.25em;
- };
-
- &:last-child {
- a {
- padding-right: 0;
- }
- &:after {
- border-right: none;
- }
- }
- }
- }
-
- ul#bannerimages {
- margin-top: 0.25em;
- }
+.nav-menu--main {
+ a, span {
+ padding: 0.5em;
+ margin: 0.25em;
+ @include border-radius(0.25em);
}
- }
-
- #site-logo {
- $img-height: 184px;
- $img-width: 399px;
- top: $logo-height - $img-height;
- width: $img-width;
- height: $img-height;
- background-image: url(img/toplogo.jpg);
- background-repeat: no-repeat;
- background-position: bottom;
- background-color: $eh_blue;
- background-size: $img-width $img-height;
- }
-
- .nav-menu {
- position: absolute;
- top: $logo-height + $eh-nav-height;
- height: $fms-nav-height;
- margin: 0 auto;
- width: 60em;
- padding: 0;
- text-align: center;
- float: none;
- li {
- float: none;
- display: inline-block;
+ a.report-a-problem-btn {
+ background-color: transparent;
+ padding: 0.5em;
+ margin: 0.25em;
}
- }
-
- // Make elements beneath clickable
- .nav-wrapper .nav-wrapper-2 {
- min-height: 0;
- height: 0;
- }
}
+// Front page, light background bar
+
#front-main {
- background-color: #f6f6f6;
+ background-color: #f6f6f6;
}
.content, #front-main {
- color: $eh_dark_grey;
+ color: $eh_dark_grey;
}
+// Extra height needed
body.twothirdswidthpage .content .sticky-sidebar aside {
- top: 11em;
- box-shadow: none;
+ top: 16em;
}
body.mappage {
- .nav-wrapper .nav-wrapper-2 {
- background-color: $eh_blue;
- background-image: url(img/header_mid.jpg);
- background-repeat: repeat-x;
- background-position: top;
- }
-
- #site-logo {
- top: 8px;
- }
-
- .nav-menu--main {
- a {
- color: white;
+ #site-header {
+ top: 40px;
+ height: 138px;
}
- span {
- color: $eh_dark_grey;
+}
+
+// Header bits from their stylesheet, tweaked for simpler display
+
+.toputils__right {
+ float: right;
+}
+.toputils__nav {
+ float: left;
+ padding: 0 0.25em;
+ li {
+ float: left;
+ list-style: none;
}
- }
+}
+.toputils__navlist {
+ margin: 0;
+ padding: 0;
+}
+a.toputils__navitem {
+ display: block;
+ color: #fff;
+ line-height: 2.5rem;
+ padding: 0 0.5em;
+ font-size: 0.875rem;
+}
+
+.mainmenu {
+ background-color: #00843d;
}
+.mainmenu {
+ position:absolute;
+ display: block;
+ right: calc(40px - -0.75em);
+ top: 20px;
+}
-footer ul {
- margin-bottom: 0.5em;
- li {
- display: inline-block;
+a.mainmenu__item {
+ font-size: 1.125rem;
+ line-height: normal;
+ display: block;
+ padding: 1em;
+ color: #fff
+}
+
+.mainmenu__list {
margin: 0;
padding: 0;
+}
- &:after {
- content: "";
- border-right: solid 1px $eh_dark_grey;
- }
- &:last-child:after {
- border-right: none;
- }
+.mainmenu__list > li {
+ list-style: none;
+ float: left;
+ position: relative
+}
- a {
- padding: 0 0.5em 0 0.25em;
- }
- }
-}
-
-// Stop the FMS nav being too wide and off to the right off the page
-// at this break point.
-@media only screen and (min-width: 48em) and (max-width: 61em) {
- #main-nav {
- float: $left;
- padding-#{$left}: 0;
- }
- body.fullwidthpage, body.twothirdswidthpage, body.authpage, body.frontpage {
- .nav-menu {
- width: 100%;
- }
- }
-} \ No newline at end of file
+.searchcontrol {
+ background-color: #fff;
+ font-size: .875rem;
+ position:absolute;
+ display: block;
+ top: 0;
+ right: 0;
+ width: 40px;
+ height: 40px;
+ overflow: hidden;
+ margin-top: 30px;
+ background-color: transparent
+}
+
+.searchcontrol__expandtoggle {
+ display:block;
+ width: 40px;
+ height: 40px;
+ background-image: url("https://www.eastherts.gov.uk/themes/cruise/images/searchbutton-transparent.png");
+ position: absolute;
+ right: 0;
+ text-indent: -99999px;
+}
+
+// Footer bits from their stylesheet, tweaked for smaller widths
+
+.footer__left {
+ float: left;
+ width: 266px;
+}
+.footer__right {
+ float: right;
+ width: 450px;
+}
+
+.footer__logo {
+ margin:0 0 1em 0
+}
+
+
+.footer__socialmedia {
+ text-align:left
+}
+
+.footer__socialmedia img {
+ margin: 0 1em 1em 0
+}
+
+a.footer__navlink {
+ padding:0;
+ padding-right: .5em;
+ margin-right: .5em;
+ border-right: 1px solid #fff;
+ text-align: left
+}
+
+.footer__navitem:last-child a.footer__navlink {
+ border-right: 0
+}
+
+.footer__navitem {
+ float:left
+}
+
+.footer__copyright {
+ text-align:left
+}
+.footer__goss > a {
+ text-align:left
+}
diff --git a/web/cobrands/fiksgatami/base.scss b/web/cobrands/fiksgatami/base.scss
index ede6f9723..a35b2ce67 100644
--- a/web/cobrands/fiksgatami/base.scss
+++ b/web/cobrands/fiksgatami/base.scss
@@ -12,3 +12,10 @@
width: 26%;
}
}
+
+.nav-menu--mysoc {
+ a {
+ color: $primary_text;
+ background-color: $primary;
+ }
+}
diff --git a/web/cobrands/fiksgatami/layout.scss b/web/cobrands/fiksgatami/layout.scss
index d7a0bd920..02bceb04d 100644
--- a/web/cobrands/fiksgatami/layout.scss
+++ b/web/cobrands/fiksgatami/layout.scss
@@ -7,3 +7,36 @@
width: 6.5em;
}
}
+
+#main-nav {
+ display: block; // remove flex so nav touches top of parent
+ min-height: 0; // no vertical align, so no need for a height
+ margin-top: 0; // don't bother overlapping the border
+}
+
+.nav-menu--mysoc {
+ padding: 0em 0.5em;
+ margin-#{$left}: 0.25em;
+ background-color: $primary;
+ @include border-radius(0 0 0.375em 0.375em);
+ a {
+ background-color: transparent;
+ color: $primary_text;
+ text-transform: uppercase;
+ font-size: 0.6875em;
+ padding: 1.3em 0.7em 1em;
+ &:hover {
+ color: #fff;
+ background-color: transparent;
+ }
+ }
+}
+
+body.frontpage {
+ #site-logo {
+ margin: 2em 0;
+ width: 300px;
+ height: 60px;
+ background: url($image-sprite) -2px -108px no-repeat;
+ }
+}
diff --git a/web/cobrands/fixamingata/_colours.scss b/web/cobrands/fixamingata/_colours.scss
index 7be050a23..84132f804 100644
--- a/web/cobrands/fixamingata/_colours.scss
+++ b/web/cobrands/fixamingata/_colours.scss
@@ -14,6 +14,8 @@ $map_nav_bg: #eee;
$nav_fg: $primary_text;
$nav_fg_hover: #444;
+$header-top-border: false;
+
$col_click_map: #00BD08;
$col_fixed_label: #00BD08;
$col_fixed_label_dark: #4B8304;
diff --git a/web/cobrands/fixamingata/base.scss b/web/cobrands/fixamingata/base.scss
index af7a56cef..52c4b50da 100644
--- a/web/cobrands/fixamingata/base.scss
+++ b/web/cobrands/fixamingata/base.scss
@@ -12,18 +12,17 @@
#site-header {
@include linear-gradient(#000, #ccc 10%, #ccc 90%, #000);
+ padding: 0.5em 0;
}
#site-logo {
width: 185px;
- margin-top: 8px;
- margin-left: 10px;
- background: url('images/fms-logo.png') no-repeat;
+ height: 38px;
+ background: url('images/fms-logo.png') 0 50% no-repeat;
}
#report-cta {
font-size: 0.8em;
- margin-top: -0.25em;
border-color: #999;
color: #000;
padding-bottom: 0.2em;
diff --git a/web/cobrands/fixamingata/images/email-logo.gif b/web/cobrands/fixamingata/images/email-logo.gif
new file mode 100644
index 000000000..85d6d73a1
--- /dev/null
+++ b/web/cobrands/fixamingata/images/email-logo.gif
Binary files differ
diff --git a/web/cobrands/fixamingata/images/email-logo.svg b/web/cobrands/fixamingata/images/email-logo.svg
new file mode 100644
index 000000000..87e40d774
--- /dev/null
+++ b/web/cobrands/fixamingata/images/email-logo.svg
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="210mm"
+ height="297mm"
+ viewBox="0 0 744.09448819 1052.3622047"
+ id="svg3372"
+ version="1.1"
+ inkscape:version="0.91 r13725"
+ sodipodi:docname="email-logo.svg">
+ <defs
+ id="defs3374" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.8"
+ inkscape:cx="202.78009"
+ inkscape:cy="39.85132"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="3840"
+ inkscape:window-height="2031"
+ inkscape:window-x="0"
+ inkscape:window-y="55"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata3377">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <rect
+ style="fill:#eeeeee;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ id="rect3380"
+ width="606.42853"
+ height="102.5"
+ x="12.857142"
+ y="937.71936" />
+ <path
+ style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#20bbdf;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.54330707;marker:none;enable-background:accumulate"
+ d="m 58.197149,939.92667 c -23.83446,0 -43.15204,19.31758 -43.15204,43.15202 0,20.03231 13.64373,36.87581 32.14919,41.74021 l 10.5962,13.5502 10.389,-13.297 c 19.02022,-4.5053 33.177351,-21.5959 33.177351,-41.99341 0,-23.83444 -19.325241,-43.15202 -43.159701,-43.15202 z"
+ id="path2982-5-04-3"
+ inkscape:connector-curvature="0" />
+ <path
+ style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:15;marker:none;enable-background:accumulate"
+ d="m 58.197149,956.23912 c -14.80226,0 -26.83958,12.0373 -26.83958,26.83957 0,14.80226 12.03732,26.84731 26.83958,26.84731 14.802269,0 26.83959,-12.04505 26.83959,-26.84731 0,-14.80227 -12.037321,-26.83957 -26.83959,-26.83957 z m 0,3.68296 c 12.811849,0 23.15663,10.34476 23.15663,23.15661 0,12.81184 -10.344781,23.16431 -23.15663,23.16431 -12.81184,0 -23.15662,-10.35247 -23.15662,-23.16431 0,-5.77595 2.1014,-11.04869 5.58582,-15.10015 l 8.25598,8.25598 1.70337,1.71105 0.8747,0.8747 4.05126,4.04358 c 0.0488,0.0488 0.0937,0.0954 0.14577,0.13811 0.002,0.003 0.006,0 0.008,0 0.0505,0.0411 0.1003,0.0797 0.15345,0.1151 0.002,0 0.006,-0.003 0.008,0 0.0531,0.0352 0.10578,0.0703 0.16114,0.0997 0.0591,0.0318 0.1153,0.0592 0.17647,0.0844 0.0593,0.0243 0.11569,0.0431 0.17648,0.0614 0.12432,0.0381 0.24797,0.0642 0.37596,0.0767 0.12488,0.0123 0.25111,0.0123 0.37598,0 0.18729,-0.0181 0.3749,-0.065 0.55245,-0.13811 0.23706,-0.0975 0.45708,-0.24224 0.65218,-0.43736 0.0488,-0.0488 0.0954,-0.10141 0.13811,-0.15346 0.17071,-0.20834 0.29515,-0.43926 0.36829,-0.68287 0.0366,-0.12181 0.0569,-0.24295 0.0691,-0.3683 0.012,-0.12284 0.0115,-0.25309 0,-0.37598 -2.4e-4,-0.003 0,-0.005 0,-0.008 -0.0123,-0.12534 -0.0325,-0.24646 -0.0691,-0.3683 -0.0177,-0.0587 -0.0458,-0.1192 -0.069,-0.17646 0,-0.003 0,-0.006 0,-0.008 -0.0976,-0.23745 -0.24224,-0.45707 -0.43736,-0.6522 l -4.04358,-4.04357 -0.8747,-0.87471 -1.71106,-1.71105 -8.22528,-8.22529 c 4.00409,-3.30702 9.14362,-5.29423 14.75488,-5.29423 z m -0.45271,8.17157 c -0.44829,0 -0.89179,0.17057 -1.23531,0.51407 l -3.97453,3.96686 1.71103,1.71104 5.20987,-5.20985 -0.46806,-0.46805 c -0.34349,-0.3435 -0.79468,-0.51407 -1.243,-0.51407 z m 2.58576,1.85682 -5.20987,5.20985 4.0436,4.04359 c 1.24631,1.24632 1.24631,3.28066 0,4.52698 -1.24631,1.24631 -3.28066,1.24631 -4.52697,0 l -4.0436,-4.0436 -5.14846,5.14849 11.92359,11.92359 c 0,0 8.68093,0.91011 12.176779,-2.58576 3.49587,-3.49585 2.70852,-12.29955 2.70852,-12.29955 L 60.330199,969.95047 Z m -7.0897,6.92856 c 0.23004,0 0.46133,0.0854 0.63683,0.26088 0.35101,0.35101 0.35101,0.92268 0,1.27369 -0.35101,0.35101 -0.92268,0.35101 -1.27369,0 -0.35101,-0.35101 -0.35101,-0.92268 0,-1.27369 0.17551,-0.1755 0.40682,-0.26088 0.63686,-0.26088 z m -5.23288,0.22253 -3.90548,3.90546 c -0.68702,0.68702 -0.68702,1.79898 0,2.486 l 0.46805,0.46806 5.14846,-5.14849 -1.71103,-1.71103 z m 8.77005,3.30698 c 0.23003,0 0.45366,0.0931 0.62917,0.26856 0.35101,0.35101 0.35101,0.915 0,1.266 -0.35101,0.35102 -0.915,0.35102 -1.26601,0 -0.35101,-0.351 -0.35101,-0.91499 0,-1.266 0.17551,-0.17551 0.40682,-0.26856 0.63684,-0.26856 z"
+ id="rect3772-9-2-4"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:75.55453491px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ x="123.43143"
+ y="1023.8945"
+ id="text4249-3"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4251-8"
+ x="123.43143"
+ y="1023.8945"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:75.55453491px;line-height:125%;font-family:ChunkFive;-inkscape-font-specification:ChunkFive;text-align:start;writing-mode:lr-tb;text-anchor:start">FixaMinGata</tspan></text>
+ </g>
+</svg>
diff --git a/web/cobrands/fixamingata/layout.scss b/web/cobrands/fixamingata/layout.scss
index bd1cab41a..549d29540 100644
--- a/web/cobrands/fixamingata/layout.scss
+++ b/web/cobrands/fixamingata/layout.scss
@@ -67,9 +67,27 @@ h3, h4,
@import "_colours";
@import "../sass/layout";
-.nav-wrapper {
- .nav-wrapper-2 {
- border-top: 0;
+#site-header {
+ background: $map_nav_bg;
+ padding: 1em 0;
+}
+
+body.frontpage {
+ #site-logo {
+ width: 300px;
+ height: 55px;
+ background: url($image-sprite) -2px -115px no-repeat;
+ }
+
+ #main-nav {
+ height: 55px + 16px + 16px;
+ margin-left: 300px;
+ }
+}
+
+body.mappage {
+ #site-logo {
+ margin-top: -5px;
}
}
@@ -114,9 +132,3 @@ h3, h4,
#postcodeForm { margin-left: -1em !important; margin-right: -1em !important; }
body.fullwidthpage .container .content footer .tablewrapper { background: #fff; }
-
-body.frontpage #site-logo { top: 0em; }
-
-body.frontpage #site-header { height: 85px; }
-
-body.frontpage #user-meta { margin-top: 1.2em; } \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/_colours.scss b/web/cobrands/fixmystreet.com/_colours.scss
index c72e48d45..523d7b95d 100644
--- a/web/cobrands/fixmystreet.com/_colours.scss
+++ b/web/cobrands/fixmystreet.com/_colours.scss
@@ -5,7 +5,7 @@ $primary_b: #F3B11E; // For the box around the front page postcode form only
$primary_text: #222;
// Tiled main body background
-$base_bg: #1A1A1A url(images/tile.jpg) 0 0 repeat;
+$base_bg: #272727 url(images/tile.jpg) 0 0 repeat;
$base_fg: #fff;
$map_nav_bg: #222;
@@ -23,3 +23,5 @@ $itemlist_item_background: #f6f6f6;
$itemlist_item_background_hover: mix(#fff, $primary, 70%);
$layout_front_stats_color: #222;
+
+$high-dpi-screen: '-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi';
diff --git a/web/cobrands/fixmystreet.com/base.scss b/web/cobrands/fixmystreet.com/base.scss
index 292446e92..4f2a7b1de 100644
--- a/web/cobrands/fixmystreet.com/base.scss
+++ b/web/cobrands/fixmystreet.com/base.scss
@@ -10,10 +10,10 @@
@import "../sass/top-banner";
#site-logo {
- background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAK8AAAAoCAYAAACIJ6oVAAAACW9GRnMAAAADAAAAAwB3k5ejAAAACXBIWXMAAABIAAAASABGyWs+AAAACXZwQWcAAAF5AAAQZgCwCYXlAAAABmJLR0QA/wD/AP+gvaeTAAAag0lEQVR42u1cB1RWx7YeBBW7YAOViL0bNSomdsWADVsQbEHFiAUUMYmiokEUWzQiiQ0VNSC2gFiJmthbiF1jwxaNGr0pKra8t1be3r/frLc99/zwo7nv3rzFWWuv/z9zZs6ZM/PtPd/eM3OUyj1yj9wj98g9co/cI/fIPXKP3MPaYQfJY6Po/LlH7vFvBa09ST6SIiROJM7ZiBPy5kPZXBDnHv8W0OYHGCuSeJB4kniReFsRL+TxQBkngDhPbpPmHv8XRx4AjoFXiaQFSUDXrl2XxMfHp585c+b2nyZHZmbmM742b968gx4eHvO5DElzkgokhXKtcO7xrz7sAbQKAF7AoEGDEk+ePPnznzk8tm3bdhUg7kFSE5QiJ1bY7jXkrxyB/pX5/4o2yD0EcKuQdHdzc5t14MCBm3++5rFy5cqjdL9AKMMbJAWzAbB0DLlODlmIPeSvdBrNnFNr97LmyL4OsOQ97bNoA/nuf1eA/yX1zCOA69uxY8eEhw8f/mEGxrt37z5OS0vLWLZs2QmS4yzr168/d/Xq1V+sAfjKlSu/kjLMpHv7AMD5TCprJ7h2XvDtAqgXS2EhOq0g8jgiv5Z8ooNtbRj5fAfcI5+VexkBlhf5XvXZRsXVz3fEOxrbQL+7I/LlNVFio2Lb/YeBNqt62uXkRvlAFboDuP9lQgOudenSZRmsqI+Js+bj6en58erVq/cT/31uLH/p0qUHAHALUAj7LJzEQuDcpUlcScqRlBfC52VJypCUElEOluIkRdG5OYl4GJ9fVNyrENKlpcsD0DgiulIczy+G/DmNtkjFLYj7lCRxsfL+Lnh3JwC6gEGBHYVS531FZfpXWVppoMzqabOy2aMBmjNHNVrcCxcuPPL29l4D0LYkqQzQlICUhJSB5W5ZtWrV4KNHj14xs8C4T010cB4rIbkycBbrkLyF6EVTIU1IGpHUJ6lFUg31qowoR3nUqbCNIJLALQqleQP3egPnRXHdwQAyZ4CpEp5fAfmLCMDb2QjcfKgzg9Id79YQ7/82yTv49UC71EWblxdALo46lUT/FLeifLZSjFelIXZZjFTaQBQX+HFGGxdA22YLYDvciBs+4NSpUy85ZhcvXnxUtmzZhXTNTzhdjrh5ATxMx3eLocNKIK9fbGzsXiOAU1JSTsKJqyDogx1AUQgdX33RRDX84EqV8G2cWrdzkfpqx0KVzML/dy5WX1H6+n3LVdKsUPUR5W/DFn3BeBV8ap2KS5hmUZBK6NBC2TSGUXHY0tc4s0EtObFWLW3R0HLvGkgvIqhBQbwrP6dB0gwVfixJLY+brIYivwuAmF1H2IkITxGU4/LvvPnmm73IZ1hAo9axe/fu3dBtyP8vX76cnpSUFPPWW291pbyNAXStwNXQBzWggC7oH0dh3ewNw7Y138HeRPKYgNnOCl+3N3B3R9TFBW3H9ayNOruhTQvZAmBtdVtOnz59i9HiAri+JFVFRxhjv+1I2nIHwmLqYZTL+JoBGFGI5riPvei8orB0jffHq9V/nlR/2iLV3dUQKtNrz1K1ls/TE9UKWGU3aLcjGi6PlUbOJxWHFUHfmxUEI051XC8M4DrBOjauV035PU9XmSJ/M1jEElByBxM+Z2diccsAhG0GDx4c/vTp0yfZOcTPnj17PGnSpEjE2LmeLVJTU2fytT/++OPR2rVrxwIc5dAWBcVQbSb5BdfXfkdBIVnxbAcDHSggRPP34qhL7QEDBrz3+PHju1xXUsY0KGEVWOKCot2scl0GYYDkqcx5GzZsuAoWVwL3pTAaNfCqmJiY/dOmTdtepUqVkRjGCgsrymX9jBSCoxiIA1cUw1l+vJgltuzdTI0a5quWaBD17ahS+3dWyQFd1PoAH7V2YFeV9Mte9RtfG9lbxVKZYUsi1PKbX6sf1sxU8zDEVhVDfgHhTDkYnKLCAFpF0BJf/dzf96t/QIGbAqzOqCdb4noknbZ+rjbr/Fti1Rb4BA0wnBcXzzZyZiNVYOvTysvLa/QTOnIS1RkzZswcKtufhQGt02/dunUOxqUOlLm0GKpL4rlaSor3K442KQUr6WrCsx0NQC8oRuNSUMYy4t6l0CZcl3a7du3aIN/Bx8cnCLSokhjlTWlXHjyo6cyZM1PlTRYvXnxWcFMJXEsYjfNLsGdkZPzm7u4+AR1WWHQM/6/JjpzRiYP19YCV1p1YHABi5ehHMlGDgv4vImFQstMXTTLtYqq6xtdG+CkeIUJJRpAMIunJIEAjVUCjlxDOV0HhlDmjgSvAWncK7afmScv+ebj6ktOhnOVxvyp6AufXfS+UiOXgCnUcINLWuhyeXUTwOQfh7GmOXVkrzqFDh743gvO77777nQzFtfnz51/ZvXv3P8Xdjx07dpHKch9EyHTqmwy0ZRu8n6YTtdA+daGEdZFWHe9WFXnrgXc3wm8dXC8HQBaDOKNdKkAJ6+J59fFfP/dNKFP/DRs27JJ1DQkJ+ZzxBT5fDm2W18z62kMTOh0+fPiatLrly5efi8Z3FhaKh/NuNCQdN/Dih+XKlfuCrnVFHkcxdORHx7XcsmXLd7Icz8RhKtlJOEBFAI5GAOAYAd5Z3DEkYSRs5UcBsKMgnBZM8gFGjHehHPXQcFVQP1eA1RXnVdBpDdDB/Yf0VMv5mZmH1XP+ZQtP6e8DrDVQhvN3mT/2Bb3ReS9sVDcofTjA7mHo7BIiMqCpRzncsyksdsiNGzfuybaaM2fObUrn9tpFso1kO1naMzIP9eF1Sud+WCTTf/jhBx7lPibpizq9O3r06BHdu3dn49SN/Y8uXboMjYyMjECaN/qlPeevXbt2/wkTJkSNHz9+6sSJE6d07dr1A1xvjHatiBGpGoDavH79+j2nTJkykekMCyxqJ1CbzlDu8BUrVqTLugYEBKxD27VHm5REW9mbOWqs7YPkDQhk12F1KyNPHoCqyZAhQ5YbeHEm8eI4QS+KoHNc8ELa4lRh6yvL8lQyGspZEPoCsEK1AL4PBHiZuzG37Q1g98RzuSEGX9umLl3dqi6nr1aH331bjYFT6H1vtzpJVOJAYrTFKjUBmGvDAniwk8V5yNFLpvP3GDxMS/iZqTHq1t1v1GP+/8lQtRwK2hSWgYH+/i+wultj1XX+/SFFMVj4+X1C+6pgvvf5FLUWHasjNU5oG1aeeuMDVeC5ZPXt9e2KrecUo1Ul0Nyi9H0kTEk2QFK++OKLi3rka9u27ba4uLhT1mjF7du3f2Jg7N279xudRqBMSEtLO2Ri/UIqVqw4jhTie7N7Xbt27RJhYSzA2Bwc35OBfvz48QNWYv0Z/v7+bIBC33777bnEdZ+Z5SO29DQiIiISylFeWN+XwMuJHrxmwVD5HdCSUoKjcWN7Hjly5KoB6GxlhsG6FMMQyB3Uvm7dur0BwqLoMJ+ff/75kVwLIcCrCb/kvdwofQV4QxgQJB0x7LSBBejC6XKY3xRjsU4DjenEoT/Eu/FzO++Gg8fCXBlKGx7zsdrPafR7Lay/Osv/iaKwUg+G5eBO8x3ZR8XytZ+/VY/oPJn/39+jHtD/8axo4YFqmr7/jkUW2uMhvGp3KJDn5c0qXbxnjNl0/DfffHM/Ojr6LLXrJsqTSLKahEOYrBjsJGY7jc90S57L/tDH8uXLvyfOvd4auCTIevfuPR2+S0CbNm0mZOdg8j3p3mup3Las8q2hg+7ZGlgqjpH/Jb5rAWTfvn1TDaQ5DtalqAAVA8ybAWcSt+0HE18WYPWdPXt2CvG2Y2JCgs1/B+OiHhPwaurgho7uJTo1FEO3D0DbCuIFCxw8O+wFgDZ8qr4BleCw1fBdi9VeTv9tv/oFvHhonw7UkZT29Kh60ruDmg6rzkNWRPwU9T3Ay4DdTdY3E+BfAgBzPYZf2vSCc48frA7R+TpR14mgMcNH9VHzOe3BQXUfitZU8MG27Jjy9SdH1dNypVUMpS0MDw8/klXn3r17N5PXjgwdOnQv5Wc+vpLF19f3W+K+L810Mg08ceLEPZ4JpTyLs7rvo0eP/qhVq9aeS5cuPZTp5PQ9Jyucyb8y/dy5czwicNtFG6kO5X1Gxu4R0ZYnxsmqUqVK7SJl/IfxfkxB2UBWqlTpI1CHqsBpfiN4LYAkLdhqANRwkHZHEX8tExwcHGpFm9nK9AJ/GkpcZ6fgWu2FV+vNDZgFePWzCoMHNpZeP1mnK0wN2ELe3qXOkLU7xUMy7sHgHTm4u1rFedfMVNypH4EDM4gnEhe1DOuJ09UBOp9B97nL53GTLVZ6NMDLYJ+wYor6jq9FjVAXmGdGh6gzfL47TrEjO4mt8wc91ApOozo8BHhWCfBGCD4+lhy6Xzn9owEW3t4FSsejhy+PEnxtzzJ1hs4/ZctLsiwxMTHDligDWc9MomSpXAZA3iyvp6en/waawbQn3lj+/Pnzj4lrniOjdYKu7xk1atRlQ2TomZOTE1M8ph03k5KSXrLWrVu33kUU4qBMO3v2LJfhUZkxcHP16tUvlSHacJrSj82aNeu+TO/Wrdt3lB6LfmiTleW1Bbw6YlCLONV4s8a7fPny79u3b88g/nRw+vTppw2TEZ5iFs57xIgRu3II3l7ZxXhxDw5lhQQCvEkzLPyQKUIQGiK8UW21+PER9Yyvpy1Qly38NNnSuJPxzv0wBH6Ynqgy+HqPdhagby7trLZoh6xBDZVAaZ+TNb/A58sjFY8wbJEXE2e9z2lvuKhpAC5TnbEzQ9VGTj+9wQLQQeDWrPBBGtidW6p4Op9KEgUQx/fo0eMQ04XsAMyRnPbt26dwGZL1higEh/o47LmAJM5YFqBlLr2RncHk5OS78vrmzZufR0VFPWGZOnXqk4SEhKfyOjlkNzZs2HDfUOYZ5X3M+Vm+/PLLpyYO6AkC70vWumfPnvvZsMCPaYoR+J84r1Xa4OHhEYuCxcRkgx87ZmZrHqwd48aNW4uhX8/RdyAivs8G8BYCBWkkLS/9j4Q11U6bDyy7J8Irwwf3UCuF5R2l4574P2POGHVU34/B2LCmZTIjHKDtBiUI5ogB5+n1rtoJbpm0eOIL7rv1c3WtbhW1Rd/DtaQFMBz2m8fOGqcHvWexgiOhOKPdXNT0J0fUU77WvIFlmGXqEhwx5IWy/UijADtqJOPwjmy5OeLD9UvhYXbAgAFn4uPjf6LDlIsePHjwBqxvgkwnHnwPwGWFiDUZOdkqL0UoMsFIO7I7ZsyY8Ss9O0cxaQIvW/H0Tz/99I5M79Wr1y5Qru5wrMsgKmNvk8M2cuTINPDI8rDAvjzTxjNutlbu9OnTd8ELK+LhFodt3bp1P2ThsJmBt6ch2sBg8IfT1RoTEc1wPuSDnjQsUt61s9QeWNNeiEow4KM8PdQmfT/msRiixiCfFxTiA81l+3VSKTr85FJCJT06pJ6T/EFD/U1QjpMY5hmQM86nqB85fUhPC6BDYGXZoR2/ef4Lpwy0hYE65ViSushp00daLN8ETTWaNWs2kxc4YaIoHg7aWljHHdWrVz9u5JIAIoN3hUw7deoU98VnHBdnhTApswD14RFoHoM9J0D8+OOPf2NqkZMykydPvkrP2j937txbMt3f3387RswOwF4JEfHKPlTGAINlY1D4M3B5jYOtFeOlke7u7hGYKXECeDnOGZiRkfG7lVCZGXg5IN5NgDcIw20bALsO4oz1YX0H6fgswDsM+bshijDl6lb1C19/SADk35VR6qgBvMxHA/VQjg7/BMP5fLrveWm5yeouxzUG3ifMW/nauEGWKEAwrD5b9dAmddQXfI2pCysD0w9xPgWdFtKiRYso2Z59+vTZzJQEws9bzzy8Y8eOF02A+E+8FuCdBwX7zKTMVCgajwafkOF5yRrSkK8pQCZ+Lf+jo6MfBgUFsRN6hSzvU0OZ56JM5rRp0zj/A+a4zKlpJGGHOi0mJua6LMdRCPSHF6IyzmbgtTpJwR4nhugxrq6uy2y1uBwGWbNmzV6yCkMBXBfEbS2TFLycMotJCiN4XTEJ4CPA2xtOTj1YdL1MsBomVAJouF4qwDsCjhxTgSCmEnzt+Br1j5qV1F62onze09NiOd8XtCFIPPMjPcTzcEY0I15f+2qOhb9OR2NbuO3qGS9CbKAtwXj+e1CeieeS1S2+Hh6ojiyJeAH01HmWGTkdnQg2zjoxn61fv34SLORCOGXbiGteN+aD5V1mQhsWA8ALTcA7DgrGijaGOO9LsWIC3iM4axxZuEWO2E9jx479NTw8nO/LjteJuLi4+4YyPKrdRpmbVOZHzk+08UcGLRRwQ2xsbIbB8qahPp0RuSopfC/bpod59oa0Ywd5opnWwMr8t1+/filhYWFzQkJCRoF/yo2XeoEOW8dAXg+cxfSwnQl4LVO1AkjdkF+vFtNz7+5Qlr5Dfckh+V/wcARhAIufl5oFa/msThW1lWOys0LVMU67tUPdAfgGIgw2WjxT0xRfXP+IhvjNidHqYNN6lqF4JIDPMlIriADve6A0DOLRYf1VKl/fu0zdvoPJD3YkoQD87KE8cWDmkPEGgKVLl57kqXuz6WFymq+Cty42hr849IaIRKIJeEdj5OFJnaCBAwcmGfOQI/5b48aNf/Lz87vLkQSdHhkZeZnK7CSak25WpnLlyjepzB1ZhrB2AkoWv3DhwvPGrWODBw9eWbNmzYGYCHIFHhyyXJjDIRd9kwcPHvy3fKAZcDt06JCITqklZo2KiEXFhbWzxyDPYmGO2bJIF1hYbwGkjrDG5eAE6kUgOjLhN9xPLcJs11FwZLaaI27vVD9x+vyxlijEIkQHFmlLuG62+panUJvVVzPIKiZx2u1dFqsRAP7VGjN+vrCiQbjWA9d55m3wp2HqK1j3C6P6Wix6Tyh1Z0xbR/OEhn6nQ6ssceRIMaXNEY8xHGbMCYdkgMI68+Kcz+7du2c6WrZq1Wq3CXiHgy55QVF5Zu26Lc/FGhgOE65OSEi4aksZcjq/Rz1jrM0IkqJuxCSVO/o4b46WRNoAXLlU0sGwLE4D1+LsGaMU7CQalkQqAd6CmCLmKdx2ArztkFZGLK4uhHOeqeqqJwREmbCNn6k0/n8pVV0Dt5wEbz6SeaiOAnRppZbqYZ+Fp5phkVpAkd6E5W+NurTCeSP89wv2f8FrxfN7gKO3BzAj5n6oDuvroX0tjloYLHR7WGm2Op8QfThrS3/cuXPncfv27ZOxWIlj7pM2btx43Cxvy5Yt93F+fX7z5s07GJ084fwygAe5ubnNJh77Y3a+TaNGjZYitMfPXrB169ZrWZUhpXrYpEmTzxHhmUQOabzZrhu6z2a0sekkhU2L0c2A6+XltQ4aWh2W1sGwQt5ZL0Y3c/asLEaXi8IdQQe44m8f+VKtYgE1qCrWyOYTnLo6+PD7q6aq5OS5ageDlukATwIQr9zu722ZIBgq+B0P06ETBqsEGub3MB0Y1E0lcoyYZ+j6d7YAvROsvd6dUQHOZzWxa6MygM0dP2DlVJWS8pn6evsXKhUWWYPdYtW83nkxJY3JjSkAT1sMk01gyblukQ0aNEhYsmTJaZ4h41k1uYpv//79t4hiHECYbiIc1AGIrIyLior6+tChQze4T3mkGzZsGFOZhHbt2m2h9Ovp6emXaUifjb7wELtWvDESRJGzuIWfw7F8rSh8v8mTJ+/mDbqgTYNQX6Y+M8jp2sIgNpYhH+cAlZmB0VDXM5wNIQcJOA878VT2KO/EQZtkCd5stwFJKsGai0o2Ewu9C8O0l0JHsvMUyFuHbt++/dTGbUByR0F+0AI3TKN6QOoirZjYjqMXsLshOuENkASAh/bDaqo+GCk6wRK2BA14D40fgvf6EJZwCIb8ZmJNcHE828mwZ64UQNwI1KYPnu2H83aoF9dlPCnVCQZv7DiLUxkm1v7qXRD1Ubf3cT0SK+rmCJmNSMh4gMEfz2gL8PfGO0UgX7SYAIkUDqI/Ro2aYtuTfP4YKNhsPHcWyoehjTujPdviPQaiDbMq0wWWXrfVSNQzCr8jhEJVQJvne60NmGvWrHmAEEckXlqvKHoLvwyMQBoWFhidMxs3YCpBOwrC03wD4KmK/3qFfV6xraQA7ueul+QBMJ5il0crWO76WIdRFZZGfwXIB0D2FTz2HXSq3v5j3KGcXyxkL4nRqyEsrTc6pyM6mOnHcDcXNVPP8vF/dHZLWHO9SLw8/Agdv9bKOAiKHwjL1QdOrCcsdm28W13UXc889jUosb9Q5OZil4Xek2jt+QOFUuqy9TAKVcPo0wLva61MC7HvsB7q2QH16YN8nZFeQ1BEh9fe+s7Wd9OmTTd5Kphn5tgzDQoKWsa/c+fOPbxv376fXmPru3E/WSGAsjTE2bArVy7mkRshK4NG1IBUB1h1eK0UOkkvQK8uFly/BStYB2B0Mdl4adzbpeuqlzjWBpjadG+rAu/vUdenBatFHMb7MU39LNYxhGEmqQHi2kXFAvnSOdiAWRWAKy12PbiLGHgjOLSN8V+/Y23xjsXENh+z5zcRG18bIr2iWORfAv8r2lCmrNgVbqxnQyttb/93+uiIvdhpIPdO5TX5foJxC7qTYVdzCbG1pbDYU6WBUkI0ptlWl+x23UoFchKWq/mCCS9WrklhAL/hahkiB8BKVzVsbM33Clvfi4hvWBRC2RJi0X1Zw/uVMXnHvIKKGZ9fVnxuwEXsoCgk9r4VsqFMcbEH0KyeLugLY9vbvA3+3/25JzvDxzekmH2Uwvjxj/xWNhbmEx1kb9jDVkA0aEHxDQRbvndgBLDeC8cWx4ccv8iv5qidHPudGWpx4sLh4HTEUOtq2GWc04+O5M/Be0kpYPKthOyeb/zYiYNhZ7AtZfKa7CEskEW9cvStif+UD+3l5NNFdla+wmKfxRdZrH1S6VW+NGPcvu6K4a8N+O4QTFoMA//sgOG7AqxRfisjyqt+7slaG2TXJsqG59v6XFvK2NJXr/Rlk7/rJ07tXhH4r/uNLxnqc9JbfOCQdRA7MHTcuAJGI7013i6Hdcuujn/FRwn/6ue+rpF6pQ7J/bi07dZXR0D05soqcI7qiA2LLmJLvIP6z/uW2P+7jsn9rL/tAJYOpLP4LoLx80u5wLXx+B+cTUKEm3GYQAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxMi0wNS0wMlQxOTo0Njo1MSswMTowMBx1tHgAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTItMDUtMDJUMTk6NDY6NTErMDE6MDBtKAzEAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAABJRU5ErkJggg==') no-repeat;
+ background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAK8AAAAoCAYAAACIJ6oVAAAACW9GRnMAAAADAAAAAwB3k5ejAAAACXBIWXMAAABIAAAASABGyWs+AAAACXZwQWcAAAF5AAAQZgCwCYXlAAAABmJLR0QA/wD/AP+gvaeTAAAag0lEQVR42u1cB1RWx7YeBBW7YAOViL0bNSomdsWADVsQbEHFiAUUMYmiokEUWzQiiQ0VNSC2gFiJmthbiF1jwxaNGr0pKra8t1be3r/frLc99/zwo7nv3rzFWWuv/z9zZs6ZM/PtPd/eM3OUyj1yj9wj98g9co/cI/fIPXKP3MPaYQfJY6Po/LlH7vFvBa09ST6SIiROJM7ZiBPy5kPZXBDnHv8W0OYHGCuSeJB4kniReFsRL+TxQBkngDhPbpPmHv8XRx4AjoFXiaQFSUDXrl2XxMfHp585c+b2nyZHZmbmM742b968gx4eHvO5DElzkgokhXKtcO7xrz7sAbQKAF7AoEGDEk+ePPnznzk8tm3bdhUg7kFSE5QiJ1bY7jXkrxyB/pX5/4o2yD0EcKuQdHdzc5t14MCBm3++5rFy5cqjdL9AKMMbJAWzAbB0DLlODlmIPeSvdBrNnFNr97LmyL4OsOQ97bNoA/nuf1eA/yX1zCOA69uxY8eEhw8f/mEGxrt37z5OS0vLWLZs2QmS4yzr168/d/Xq1V+sAfjKlSu/kjLMpHv7AMD5TCprJ7h2XvDtAqgXS2EhOq0g8jgiv5Z8ooNtbRj5fAfcI5+VexkBlhf5XvXZRsXVz3fEOxrbQL+7I/LlNVFio2Lb/YeBNqt62uXkRvlAFboDuP9lQgOudenSZRmsqI+Js+bj6en58erVq/cT/31uLH/p0qUHAHALUAj7LJzEQuDcpUlcScqRlBfC52VJypCUElEOluIkRdG5OYl4GJ9fVNyrENKlpcsD0DgiulIczy+G/DmNtkjFLYj7lCRxsfL+Lnh3JwC6gEGBHYVS531FZfpXWVppoMzqabOy2aMBmjNHNVrcCxcuPPL29l4D0LYkqQzQlICUhJSB5W5ZtWrV4KNHj14xs8C4T010cB4rIbkycBbrkLyF6EVTIU1IGpHUJ6lFUg31qowoR3nUqbCNIJLALQqleQP3egPnRXHdwQAyZ4CpEp5fAfmLCMDb2QjcfKgzg9Id79YQ7/82yTv49UC71EWblxdALo46lUT/FLeifLZSjFelIXZZjFTaQBQX+HFGGxdA22YLYDvciBs+4NSpUy85ZhcvXnxUtmzZhXTNTzhdjrh5ATxMx3eLocNKIK9fbGzsXiOAU1JSTsKJqyDogx1AUQgdX33RRDX84EqV8G2cWrdzkfpqx0KVzML/dy5WX1H6+n3LVdKsUPUR5W/DFn3BeBV8ap2KS5hmUZBK6NBC2TSGUXHY0tc4s0EtObFWLW3R0HLvGkgvIqhBQbwrP6dB0gwVfixJLY+brIYivwuAmF1H2IkITxGU4/LvvPnmm73IZ1hAo9axe/fu3dBtyP8vX76cnpSUFPPWW291pbyNAXStwNXQBzWggC7oH0dh3ewNw7Y138HeRPKYgNnOCl+3N3B3R9TFBW3H9ayNOruhTQvZAmBtdVtOnz59i9HiAri+JFVFRxhjv+1I2nIHwmLqYZTL+JoBGFGI5riPvei8orB0jffHq9V/nlR/2iLV3dUQKtNrz1K1ls/TE9UKWGU3aLcjGi6PlUbOJxWHFUHfmxUEI051XC8M4DrBOjauV035PU9XmSJ/M1jEElByBxM+Z2diccsAhG0GDx4c/vTp0yfZOcTPnj17PGnSpEjE2LmeLVJTU2fytT/++OPR2rVrxwIc5dAWBcVQbSb5BdfXfkdBIVnxbAcDHSggRPP34qhL7QEDBrz3+PHju1xXUsY0KGEVWOKCot2scl0GYYDkqcx5GzZsuAoWVwL3pTAaNfCqmJiY/dOmTdtepUqVkRjGCgsrymX9jBSCoxiIA1cUw1l+vJgltuzdTI0a5quWaBD17ahS+3dWyQFd1PoAH7V2YFeV9Mte9RtfG9lbxVKZYUsi1PKbX6sf1sxU8zDEVhVDfgHhTDkYnKLCAFpF0BJf/dzf96t/QIGbAqzOqCdb4noknbZ+rjbr/Fti1Rb4BA0wnBcXzzZyZiNVYOvTysvLa/QTOnIS1RkzZswcKtufhQGt02/dunUOxqUOlLm0GKpL4rlaSor3K442KQUr6WrCsx0NQC8oRuNSUMYy4t6l0CZcl3a7du3aIN/Bx8cnCLSokhjlTWlXHjyo6cyZM1PlTRYvXnxWcFMJXEsYjfNLsGdkZPzm7u4+AR1WWHQM/6/JjpzRiYP19YCV1p1YHABi5ehHMlGDgv4vImFQstMXTTLtYqq6xtdG+CkeIUJJRpAMIunJIEAjVUCjlxDOV0HhlDmjgSvAWncK7afmScv+ebj6ktOhnOVxvyp6AufXfS+UiOXgCnUcINLWuhyeXUTwOQfh7GmOXVkrzqFDh743gvO77777nQzFtfnz51/ZvXv3P8Xdjx07dpHKch9EyHTqmwy0ZRu8n6YTtdA+daGEdZFWHe9WFXnrgXc3wm8dXC8HQBaDOKNdKkAJ6+J59fFfP/dNKFP/DRs27JJ1DQkJ+ZzxBT5fDm2W18z62kMTOh0+fPiatLrly5efi8Z3FhaKh/NuNCQdN/Dih+XKlfuCrnVFHkcxdORHx7XcsmXLd7Icz8RhKtlJOEBFAI5GAOAYAd5Z3DEkYSRs5UcBsKMgnBZM8gFGjHehHPXQcFVQP1eA1RXnVdBpDdDB/Yf0VMv5mZmH1XP+ZQtP6e8DrDVQhvN3mT/2Bb3ReS9sVDcofTjA7mHo7BIiMqCpRzncsyksdsiNGzfuybaaM2fObUrn9tpFso1kO1naMzIP9eF1Sud+WCTTf/jhBx7lPibpizq9O3r06BHdu3dn49SN/Y8uXboMjYyMjECaN/qlPeevXbt2/wkTJkSNHz9+6sSJE6d07dr1A1xvjHatiBGpGoDavH79+j2nTJkykekMCyxqJ1CbzlDu8BUrVqTLugYEBKxD27VHm5REW9mbOWqs7YPkDQhk12F1KyNPHoCqyZAhQ5YbeHEm8eI4QS+KoHNc8ELa4lRh6yvL8lQyGspZEPoCsEK1AL4PBHiZuzG37Q1g98RzuSEGX9umLl3dqi6nr1aH331bjYFT6H1vtzpJVOJAYrTFKjUBmGvDAniwk8V5yNFLpvP3GDxMS/iZqTHq1t1v1GP+/8lQtRwK2hSWgYH+/i+wultj1XX+/SFFMVj4+X1C+6pgvvf5FLUWHasjNU5oG1aeeuMDVeC5ZPXt9e2KrecUo1Ul0Nyi9H0kTEk2QFK++OKLi3rka9u27ba4uLhT1mjF7du3f2Jg7N279xudRqBMSEtLO2Ri/UIqVqw4jhTie7N7Xbt27RJhYSzA2Bwc35OBfvz48QNWYv0Z/v7+bIBC33777bnEdZ+Z5SO29DQiIiISylFeWN+XwMuJHrxmwVD5HdCSUoKjcWN7Hjly5KoB6GxlhsG6FMMQyB3Uvm7dur0BwqLoMJ+ff/75kVwLIcCrCb/kvdwofQV4QxgQJB0x7LSBBejC6XKY3xRjsU4DjenEoT/Eu/FzO++Gg8fCXBlKGx7zsdrPafR7Lay/Osv/iaKwUg+G5eBO8x3ZR8XytZ+/VY/oPJn/39+jHtD/8axo4YFqmr7/jkUW2uMhvGp3KJDn5c0qXbxnjNl0/DfffHM/Ojr6LLXrJsqTSLKahEOYrBjsJGY7jc90S57L/tDH8uXLvyfOvd4auCTIevfuPR2+S0CbNm0mZOdg8j3p3mup3Las8q2hg+7ZGlgqjpH/Jb5rAWTfvn1TDaQ5DtalqAAVA8ybAWcSt+0HE18WYPWdPXt2CvG2Y2JCgs1/B+OiHhPwaurgho7uJTo1FEO3D0DbCuIFCxw8O+wFgDZ8qr4BleCw1fBdi9VeTv9tv/oFvHhonw7UkZT29Kh60ruDmg6rzkNWRPwU9T3Ay4DdTdY3E+BfAgBzPYZf2vSCc48frA7R+TpR14mgMcNH9VHzOe3BQXUfitZU8MG27Jjy9SdH1dNypVUMpS0MDw8/klXn3r17N5PXjgwdOnQv5Wc+vpLF19f3W+K+L810Mg08ceLEPZ4JpTyLs7rvo0eP/qhVq9aeS5cuPZTp5PQ9Jyucyb8y/dy5czwicNtFG6kO5X1Gxu4R0ZYnxsmqUqVK7SJl/IfxfkxB2UBWqlTpI1CHqsBpfiN4LYAkLdhqANRwkHZHEX8tExwcHGpFm9nK9AJ/GkpcZ6fgWu2FV+vNDZgFePWzCoMHNpZeP1mnK0wN2ELe3qXOkLU7xUMy7sHgHTm4u1rFedfMVNypH4EDM4gnEhe1DOuJ09UBOp9B97nL53GTLVZ6NMDLYJ+wYor6jq9FjVAXmGdGh6gzfL47TrEjO4mt8wc91ApOozo8BHhWCfBGCD4+lhy6Xzn9owEW3t4FSsejhy+PEnxtzzJ1hs4/ZctLsiwxMTHDligDWc9MomSpXAZA3iyvp6en/waawbQn3lj+/Pnzj4lrniOjdYKu7xk1atRlQ2TomZOTE1M8ph03k5KSXrLWrVu33kUU4qBMO3v2LJfhUZkxcHP16tUvlSHacJrSj82aNeu+TO/Wrdt3lB6LfmiTleW1Bbw6YlCLONV4s8a7fPny79u3b88g/nRw+vTppw2TEZ5iFs57xIgRu3II3l7ZxXhxDw5lhQQCvEkzLPyQKUIQGiK8UW21+PER9Yyvpy1Qly38NNnSuJPxzv0wBH6Ynqgy+HqPdhagby7trLZoh6xBDZVAaZ+TNb/A58sjFY8wbJEXE2e9z2lvuKhpAC5TnbEzQ9VGTj+9wQLQQeDWrPBBGtidW6p4Op9KEgUQx/fo0eMQ04XsAMyRnPbt26dwGZL1higEh/o47LmAJM5YFqBlLr2RncHk5OS78vrmzZufR0VFPWGZOnXqk4SEhKfyOjlkNzZs2HDfUOYZ5X3M+Vm+/PLLpyYO6AkC70vWumfPnvvZsMCPaYoR+J84r1Xa4OHhEYuCxcRkgx87ZmZrHqwd48aNW4uhX8/RdyAivs8G8BYCBWkkLS/9j4Q11U6bDyy7J8Irwwf3UCuF5R2l4574P2POGHVU34/B2LCmZTIjHKDtBiUI5ogB5+n1rtoJbpm0eOIL7rv1c3WtbhW1Rd/DtaQFMBz2m8fOGqcHvWexgiOhOKPdXNT0J0fUU77WvIFlmGXqEhwx5IWy/UijADtqJOPwjmy5OeLD9UvhYXbAgAFn4uPjf6LDlIsePHjwBqxvgkwnHnwPwGWFiDUZOdkqL0UoMsFIO7I7ZsyY8Ss9O0cxaQIvW/H0Tz/99I5M79Wr1y5Qru5wrMsgKmNvk8M2cuTINPDI8rDAvjzTxjNutlbu9OnTd8ELK+LhFodt3bp1P2ThsJmBt6ch2sBg8IfT1RoTEc1wPuSDnjQsUt61s9QeWNNeiEow4KM8PdQmfT/msRiixiCfFxTiA81l+3VSKTr85FJCJT06pJ6T/EFD/U1QjpMY5hmQM86nqB85fUhPC6BDYGXZoR2/ef4Lpwy0hYE65ViSushp00daLN8ETTWaNWs2kxc4YaIoHg7aWljHHdWrVz9u5JIAIoN3hUw7deoU98VnHBdnhTApswD14RFoHoM9J0D8+OOPf2NqkZMykydPvkrP2j937txbMt3f3387RswOwF4JEfHKPlTGAINlY1D4M3B5jYOtFeOlke7u7hGYKXECeDnOGZiRkfG7lVCZGXg5IN5NgDcIw20bALsO4oz1YX0H6fgswDsM+bshijDl6lb1C19/SADk35VR6qgBvMxHA/VQjg7/BMP5fLrveWm5yeouxzUG3ifMW/nauEGWKEAwrD5b9dAmddQXfI2pCysD0w9xPgWdFtKiRYso2Z59+vTZzJQEws9bzzy8Y8eOF02A+E+8FuCdBwX7zKTMVCgajwafkOF5yRrSkK8pQCZ+Lf+jo6MfBgUFsRN6hSzvU0OZ56JM5rRp0zj/A+a4zKlpJGGHOi0mJua6LMdRCPSHF6IyzmbgtTpJwR4nhugxrq6uy2y1uBwGWbNmzV6yCkMBXBfEbS2TFLycMotJCiN4XTEJ4CPA2xtOTj1YdL1MsBomVAJouF4qwDsCjhxTgSCmEnzt+Br1j5qV1F62onze09NiOd8XtCFIPPMjPcTzcEY0I15f+2qOhb9OR2NbuO3qGS9CbKAtwXj+e1CeieeS1S2+Hh6ojiyJeAH01HmWGTkdnQg2zjoxn61fv34SLORCOGXbiGteN+aD5V1mQhsWA8ALTcA7DgrGijaGOO9LsWIC3iM4axxZuEWO2E9jx479NTw8nO/LjteJuLi4+4YyPKrdRpmbVOZHzk+08UcGLRRwQ2xsbIbB8qahPp0RuSopfC/bpod59oa0Ywd5opnWwMr8t1+/filhYWFzQkJCRoF/yo2XeoEOW8dAXg+cxfSwnQl4LVO1AkjdkF+vFtNz7+5Qlr5Dfckh+V/wcARhAIufl5oFa/msThW1lWOys0LVMU67tUPdAfgGIgw2WjxT0xRfXP+IhvjNidHqYNN6lqF4JIDPMlIriADve6A0DOLRYf1VKl/fu0zdvoPJD3YkoQD87KE8cWDmkPEGgKVLl57kqXuz6WFymq+Cty42hr849IaIRKIJeEdj5OFJnaCBAwcmGfOQI/5b48aNf/Lz87vLkQSdHhkZeZnK7CSak25WpnLlyjepzB1ZhrB2AkoWv3DhwvPGrWODBw9eWbNmzYGYCHIFHhyyXJjDIRd9kwcPHvy3fKAZcDt06JCITqklZo2KiEXFhbWzxyDPYmGO2bJIF1hYbwGkjrDG5eAE6kUgOjLhN9xPLcJs11FwZLaaI27vVD9x+vyxlijEIkQHFmlLuG62+panUJvVVzPIKiZx2u1dFqsRAP7VGjN+vrCiQbjWA9d55m3wp2HqK1j3C6P6Wix6Tyh1Z0xbR/OEhn6nQ6ssceRIMaXNEY8xHGbMCYdkgMI68+Kcz+7du2c6WrZq1Wq3CXiHgy55QVF5Zu26Lc/FGhgOE65OSEi4aksZcjq/Rz1jrM0IkqJuxCSVO/o4b46WRNoAXLlU0sGwLE4D1+LsGaMU7CQalkQqAd6CmCLmKdx2ArztkFZGLK4uhHOeqeqqJwREmbCNn6k0/n8pVV0Dt5wEbz6SeaiOAnRppZbqYZ+Fp5phkVpAkd6E5W+NurTCeSP89wv2f8FrxfN7gKO3BzAj5n6oDuvroX0tjloYLHR7WGm2Op8QfThrS3/cuXPncfv27ZOxWIlj7pM2btx43Cxvy5Yt93F+fX7z5s07GJ084fwygAe5ubnNJh77Y3a+TaNGjZYitMfPXrB169ZrWZUhpXrYpEmTzxHhmUQOabzZrhu6z2a0sekkhU2L0c2A6+XltQ4aWh2W1sGwQt5ZL0Y3c/asLEaXi8IdQQe44m8f+VKtYgE1qCrWyOYTnLo6+PD7q6aq5OS5ageDlukATwIQr9zu722ZIBgq+B0P06ETBqsEGub3MB0Y1E0lcoyYZ+j6d7YAvROsvd6dUQHOZzWxa6MygM0dP2DlVJWS8pn6evsXKhUWWYPdYtW83nkxJY3JjSkAT1sMk01gyblukQ0aNEhYsmTJaZ4h41k1uYpv//79t4hiHECYbiIc1AGIrIyLior6+tChQze4T3mkGzZsGFOZhHbt2m2h9Ovp6emXaUifjb7wELtWvDESRJGzuIWfw7F8rSh8v8mTJ+/mDbqgTYNQX6Y+M8jp2sIgNpYhH+cAlZmB0VDXM5wNIQcJOA878VT2KO/EQZtkCd5stwFJKsGai0o2Ewu9C8O0l0JHsvMUyFuHbt++/dTGbUByR0F+0AI3TKN6QOoirZjYjqMXsLshOuENkASAh/bDaqo+GCk6wRK2BA14D40fgvf6EJZwCIb8ZmJNcHE828mwZ64UQNwI1KYPnu2H83aoF9dlPCnVCQZv7DiLUxkm1v7qXRD1Ubf3cT0SK+rmCJmNSMh4gMEfz2gL8PfGO0UgX7SYAIkUDqI/Ro2aYtuTfP4YKNhsPHcWyoehjTujPdviPQaiDbMq0wWWXrfVSNQzCr8jhEJVQJvne60NmGvWrHmAEEckXlqvKHoLvwyMQBoWFhidMxs3YCpBOwrC03wD4KmK/3qFfV6xraQA7ueul+QBMJ5il0crWO76WIdRFZZGfwXIB0D2FTz2HXSq3v5j3KGcXyxkL4nRqyEsrTc6pyM6mOnHcDcXNVPP8vF/dHZLWHO9SLw8/Agdv9bKOAiKHwjL1QdOrCcsdm28W13UXc889jUosb9Q5OZil4Xek2jt+QOFUuqy9TAKVcPo0wLva61MC7HvsB7q2QH16YN8nZFeQ1BEh9fe+s7Wd9OmTTd5Kphn5tgzDQoKWsa/c+fOPbxv376fXmPru3E/WSGAsjTE2bArVy7mkRshK4NG1IBUB1h1eK0UOkkvQK8uFly/BStYB2B0Mdl4adzbpeuqlzjWBpjadG+rAu/vUdenBatFHMb7MU39LNYxhGEmqQHi2kXFAvnSOdiAWRWAKy12PbiLGHgjOLSN8V+/Y23xjsXENh+z5zcRG18bIr2iWORfAv8r2lCmrNgVbqxnQyttb/93+uiIvdhpIPdO5TX5foJxC7qTYVdzCbG1pbDYU6WBUkI0ptlWl+x23UoFchKWq/mCCS9WrklhAL/hahkiB8BKVzVsbM33Clvfi4hvWBRC2RJi0X1Zw/uVMXnHvIKKGZ9fVnxuwEXsoCgk9r4VsqFMcbEH0KyeLugLY9vbvA3+3/25JzvDxzekmH2Uwvjxj/xWNhbmEx1kb9jDVkA0aEHxDQRbvndgBLDeC8cWx4ccv8iv5qidHPudGWpx4sLh4HTEUOtq2GWc04+O5M/Be0kpYPKthOyeb/zYiYNhZ7AtZfKa7CEskEW9cvStif+UD+3l5NNFdla+wmKfxRdZrH1S6VW+NGPcvu6K4a8N+O4QTFoMA//sgOG7AqxRfisjyqt+7slaG2TXJsqG59v6XFvK2NJXr/Rlk7/rJ07tXhH4r/uNLxnqc9JbfOCQdRA7MHTcuAJGI7013i6Hdcuujn/FRwn/6ue+rpF6pQ7J/bi07dZXR0D05soqcI7qiA2LLmJLvIP6z/uW2P+7jsn9rL/tAJYOpLP4LoLx80u5wLXx+B+cTUKEm3GYQAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxMi0wNS0wMlQxOTo0Njo1MSswMTowMBx1tHgAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTItMDUtMDJUMTk6NDY6NTErMDE6MDBtKAzEAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAABJRU5ErkJggg==') -5px 8px no-repeat;
}
.ie7 #site-logo {
- background: url($image-sprite) -3px -3px no-repeat;
+ background: url($image-sprite) -8px 0px no-repeat;
}
.next-steps {
@@ -240,3 +240,21 @@ $grid-breakpoint-sm: $mysoc-footer-breakpoint-sm;
margin-right: 0.5em;
}
}
+
+.fms-pro-promo {
+ margin: 2em -1em;
+ padding: 1em;
+ background: $primary;
+
+ .lead {
+ font-weight: bold;
+ }
+
+ & > :first-child {
+ margin-top: 0;
+ }
+
+ & > :last-child {
+ margin-bottom: 0;
+ }
+}
diff --git a/web/cobrands/fixmystreet.com/fmsforcouncils.scss b/web/cobrands/fixmystreet.com/fmsforcouncils.scss
index d2d2182f8..ee166b8fd 100644
--- a/web/cobrands/fixmystreet.com/fmsforcouncils.scss
+++ b/web/cobrands/fixmystreet.com/fmsforcouncils.scss
@@ -2,33 +2,14 @@
FixMyStreet for Councils page.
*/
+@import '../sass/mixins';
+
$fms-yellow: #FFD000; // same as $primary from cobrands/fixmystreet/_colours.scss
$fms-orange: #f4a140;
$fms-red: #e04b4b;
$fms-blue: #4faded;
$fms-green: #62b356;
-
-@mixin clearfix {
- &:before, &:after { content: " "; display: table; }
- &:after { clear: both; }
- & { *zoom: 1; }
-}
-
-@mixin flexbox() {
- display: -webkit-box;
- display: -moz-box;
- display: -ms-flexbox;
- display: -webkit-flex;
- display: flex;
-}
-
-@mixin flex($values) {
- -webkit-box-flex: $values;
- -moz-box-flex: $values;
- -webkit-flex: $values;
- -ms-flex: $values;
- flex: $values;
-}
+$fms-pink: #E65376;
.fms-for-councils {
background-color: #1a1a1a;
@@ -36,10 +17,18 @@ $fms-green: #62b356;
max-width: 100%;
}
- .wrapper {
- display: block;
- @media only screen and (min-width: 48em) {
- display: table;
+ // Allow page contents to stretch to edges of window
+ .container {
+ max-width: none;
+ padding: 0;
+ }
+
+ #site-header,
+ .nav-wrapper,
+ .mysoc-footer {
+ .container {
+ max-width: 60em;
+ padding: 0 1em;
}
}
@@ -60,19 +49,6 @@ $fms-green: #62b356;
}
}
- .container {
- width: 100%;
- padding: 0;
- }
-
- #site-header {
- .container {
- @media only screen and (min-width: 60em) {
- max-width: 60em;
- }
- }
- }
-
.fixed-container {
max-width: 90em;
padding: 0;
@@ -82,9 +58,6 @@ $fms-green: #62b356;
padding: 0;
background-color: #fff;
overflow: hidden;
- @media only screen and (min-width: 60em) {
- width: 100%;
- }
}
.councils-content-wrapper {
@@ -160,19 +133,94 @@ $fms-green: #62b356;
}
}
- .councils-features {
- padding: 3em 0 5em;
+ .councils-hero__subtitle__primary {
+ font-size: 1.35em;
+ line-height: 1.35em;
+ }
+
+ .councils-hero__subtitle__secondary {
+ color: #777;
+ }
+
+ .councils-hero__demo-access {
+ background-color: $fms-pink;
+ border-radius: 3px;
+ color: #fff;
+ padding: 2em;
+ margin: 4em auto -4em auto;
+ max-width: 26em;
+ position: relative;
+ z-index: 1;
+
+ @media (min-width: 44em) {
+ padding: 3em;
+ }
+
+ h2 {
+ text-align: center;
+ margin: 0 0 1em 0;
+ }
+
+ .form-group {
+ margin-left: auto;
+ margin-right: auto;
+ }
+
+ label {
+ font-weight: normal;
+ }
+
+ // Avoid border collapse jump on jQuery.slideDown()
+ .form-group:first-child label {
+ margin-top: 0;
+ }
+
+ input[type="text"],
+ input[type="email"] {
+ border: 1px solid desaturate(darken($fms-pink, 10%), 20%);
+ width: 100%;
+ padding: 0.5em;
+ border-radius: 3px;
+ font-size: 1em;
+ box-sizing: border-box;
+ }
+
+ .btn {
+ display: block;
+ margin: 0 auto;
+ background-image: none;
+ background-color: desaturate(darken($fms-pink, 10%), 20%);
+ border: none;
+
+ &:hover,
+ &:active,
+ &:focus {
+ background-color: desaturate(darken($fms-pink, 20%), 20%);
+ }
+ }
+
+ .required,
+ .form-note {
+ color: mix($fms-pink, #fff, 30%);
+ }
+ }
+
+ .councils-sales {
+ padding: 2em 0 5em;
+ .councils-content-wrapper {
+ max-width: 58em;
+ }
}
- .councils-features__grid {
+ .councils-sales__grid {
.flex & {
- @include flexbox;
- flex-wrap: wrap;
- justify-content: space-between;
+ @include flex-container();
+ @include flex-wrap(wrap);
+ @include justify-content(space-between);
}
.no-js &,
.no-flex & {
- @include clearfix;
+ @include clearfix();
}
}
@@ -192,15 +240,38 @@ $fms-green: #62b356;
}
h3 {
font-weight: normal;
- margin-left: 75px;
+ margin-bottom: 0.25em;
}
p {
color: #777;
font-size: 0.875em;
- margin-left: 75px;
}
}
+ .councils-sales--benefits {
+ background-color: #F7F6F5;
+ border-bottom: 1px solid #e9e9e9;
+ padding-top: 5em;
+
+ h2 {
+ font-size: 2.5em;
+ text-align: center;
+ color: $fms-pink;
+ }
+ p {
+ color: #666;
+ }
+ }
+
+ .councils-sales--features {
+ border-top: 1px solid #e9e9e9;
+ padding-top: 2em;
+ h2 {
+ font-size: 2.5em;
+ text-align: center;
+ color: $fms-pink;
+ }
+}
.councils-features__thumb {
height: 63px;
@@ -212,40 +283,64 @@ $fms-green: #62b356;
margin-top: 18px;
}
- .councils-features__thumb--excellence {
- background-image: url('images/fms-for-councils/excellence.svg');
+ .councils-features__thumb--authority {
+ background-image: url('images/fms-for-councils/authority.svg');
}
- .councils-features__thumb--expand {
- background-image: url('images/fms-for-councils/expand.svg');
+ .councils-features__thumb--automated-instruction {
+ background-image: url('images/fms-for-councils/automated-instruction.svg');
}
- .councils-features__thumb--bringyourown {
- background-image: url('images/fms-for-councils/bringyourown.svg');
+ .councils-features__thumb--brand {
+ background-image: url('images/fms-for-councils/brand.svg');
}
- .councils-features__thumb--duplication {
- background-image: url('images/fms-for-councils/duplication.svg');
+ .councils-features__thumb--customise {
+ background-image: url('images/fms-for-councils/customise.svg');
}
- .councils-features__thumb--reduce {
- background-image: url('images/fms-for-councils/reduce.svg');
+ .councils-features__thumb--dashboard {
+ background-image: url('images/fms-for-councils/dashboard.svg');
}
- .councils-features__thumb--control {
- background-image: url('images/fms-for-councils/control.svg');
+ .councils-features__thumb--end-to-end {
+ background-image: url('images/fms-for-councils/end-to-end.svg');
}
- .councils-features__thumb--process {
- background-image: url('images/fms-for-councils/process.svg');
+ .councils-features__thumb--inspection {
+ background-image: url('images/fms-for-councils/inspection.svg');
}
- .councils-features__thumb--customise {
- background-image: url('images/fms-for-councils/customise.svg');
+ .councils-features__thumb--integrated {
+ background-image: url('images/fms-for-councils/integrated.svg');
+ }
+
+ .councils-features__thumb--intelligent-routing {
+ background-image: url('images/fms-for-councils/intelligent-routing.svg');
+ }
+
+ .councils-features__thumb--open-standards {
+ background-image: url('images/fms-for-councils/open-standards.svg');
+ }
+
+ .councils-features__thumb--map-centric {
+ background-image: url('images/fms-for-councils/map-centric.svg');
+ }
+
+ .councils-features__thumb--mobile-app {
+ background-image: url('images/fms-for-councils/mobile-app.svg');
+ }
+
+ .councils-features__thumb--responsive-web {
+ background-image: url('images/fms-for-councils/responsive-web.svg');
+ }
+
+ .councils-features__thumb--syncronised {
+ background-image: url('images/fms-for-councils/syncronised.svg');
}
.order-now-button {
- background-color: #E65376;
+ background-color: $fms-pink;
color: #fff;
border: 0;
text-transform: none;
@@ -258,26 +353,31 @@ $fms-green: #62b356;
&:hover,
&:active,
&:focus {
- background-color: desaturate(darken(#E65376, 10%), 10%);
+ background-color: desaturate(darken($fms-pink, 10%), 10%);
text-decoration: none;
}
}
.councils-clients {
- background-color: #333;
- padding: 2.5em 0;
+ background-color: #FED876;
+ padding: 1em 0 2.5em;
+ h2 {
+ font-size: 2.5em;
+ text-align: center;
+ color: #333;
+ }
}
.councils-clients__grid {
.flex & {
- @include flexbox;
- justify-content: space-around;
- align-items: center;
- flex-wrap: wrap;
+ @include flex-container();
+ @include justify-content(space-around);
+ @include flex-align(center);
+ @include flex-wrap(wrap);
}
.no-js &,
.no-flex & {
- @include clearfix;
+ @include clearfix();
}
margin: 0 2%;
@media (min-width: 44em) {
@@ -297,35 +397,51 @@ $fms-green: #62b356;
}
}
+
+ .screenshot-of-themes {
+ background-color: #FED876;
+ }
+
.councils-compatibility {
- background-color: #E65376;
- padding: 3em 0 5em;
+ background-color: $fms-pink;
+ padding: 0.5em 0 2.5em;
a {
color: #fff;
+ opacity: 0.8;
}
h2, h3 {
color: #fff;
}
+ h2 {
+ margin-top: 1em;
+ margin-bottom: 0.25em;
+ }
+ h3 {
+ font-size: 0.875em;
+ }
ul {
list-style: none outside none;
padding: 0;
margin: 0;
li {
list-style: none outside none;
+ font-size: 0.875em;
}
}
}
.councils-compatibility__grid {
.flex & {
- @include flexbox;
- justify-content: space-between;
- flex-wrap: wrap;
+ @include flex-container();
+ @include flex-wrap(wrap);
+ @include justify-content(flex-start);
}
+
.no-js &,
.no-flex & {
- @include clearfix;
+ @include clearfix();
}
+
@media (min-width: 44em) {
flex-wrap: nowrap;
}
@@ -338,7 +454,37 @@ $fms-green: #62b356;
float: left;
}
@media (min-width: 44em) {
- width: 30%;
+ width: 25%;
+ .no-js &,
+ .no-flex & {
+ margin-right: 3%;
+ }
+ }
+ }
+
+ .split-list {
+ @include flex-container();
+ @include justify-content(flex-start);
+ @include flex-align(flex-start);
+ @include flex-direction(row);
+ @include flex-wrap(wrap);
+
+ li {
+ width: 50%;
+ -webkit-flex-grow: 1;
+ -ms-flex-grow: 1;
+ flex-grow: 1;
+ }
+ }
+
+ .councils-compatibility__item--wide {
+ width: 100%;
+ .no-js &,
+ .no-flex & {
+ float: left;
+ }
+ @media (min-width: 44em) {
+ width: 50%;
.no-js &,
.no-flex & {
margin-right: 3%;
@@ -347,6 +493,8 @@ $fms-green: #62b356;
}
.councils-pricing {
+ padding: 2em 0;
+ margin-bottom: 3em;
h2 {
font-size: 2.5em;
text-align: center;
@@ -354,91 +502,180 @@ $fms-green: #62b356;
}
}
- .councils-pricing__grid {
- .flex & {
- @include flexbox;
- justify-content: center;
- flex-wrap: wrap;
+ .pricing-table {
+ th, td {
+ text-align: left;
+ font-weight: normal;
+ vertical-align: middle;
+ border: 1px solid #e9e9e9;
}
- .no-js &,
- .no-flex & {
- @include clearfix;
+
+ th {
+ background-color: #F7F6F5;
+
+ &.blank {
+ background-color: transparent;
+ border: none;
+ }
}
- @media (min-width: 60em) {
- flex-wrap: nowrap;
+
+ th[scope="row"] {
+ @media (min-width: 44em) {
+ width: 30%;
+ }
}
- margin: 3em 0 6em;
- }
- .councils-pricing__main-prices {
- width: 100%;
- background-color: #f4f4f4;
- .no-js &,
- .no-flex & {
- float: left;
+ td {
+ width: 15%;
+ line-height: 1.5em;
}
- @media (min-width: 60em) {
- width: 66.6667%;
+
+ span {
+ display: inline-block;
+ padding: 0.666em 1em;
+ box-sizing: border-box;
}
}
- .councils-pricing__extra-prices {
+ .pricing-table__tier-name {
+ font-weight: 500;
+ font-size: 1.25em;
+ }
+
+ .pricing-table__feature-name {
+ text-align: left;
+ font-size: 0.875em;
+ }
+
+ .pricing-table__feature-value {
+ font-size: 0.875em;
+ line-height: 1.4em;
width: 100%;
- background-color: #FED876;
- .no-js &,
- .no-flex & {
- float: left;
- }
- @media (min-width: 60em) {
- width: 33.3333%;
- }
- hr {
- height: 0;
- border-top: 3px solid rgba(0,0,0,0.1);
- margin-top: 1.75em;
- margin-bottom: 1.5em;
+ }
+
+ .pricing-table__show-more {
+ td {
+ border: none;
+ padding: 2em 1em;
+ text-align: center;
}
- h3 {
- text-transform: uppercase;
+
+ .button {
+ display: inline-block;
+ padding: 0.6em 1.5em;
+ text-align: center;
+
+ border-radius: 3px;
+ border: none;
+ background-color: #F7F6F5;
+ color: #333;
font-size: 0.875em;
- color: rgba(0,0,0,0.666);
+ line-height: 1.5em;
+ font-weight: normal;
+
+ &:hover,
+ &:active,
+ &:focus {
+ text-decoration: none;
+ background-color: #FED876;
+ }
}
}
- .pricing-table {
- padding: 1em 2em 0;
- @media (min-width: 44em) {
- padding: 1.5em 3em 0;
+ .pricing-table__prices {
+ td {
+ background-color: $fms-pink;
+ color: #fff;
+ border-color: darken($fms-pink, 10%);
}
}
- .pricing-table__item {
- margin-bottom: 4em;
- h3 {
- font-size: 1.5em;
- }
+ .pricing-table__price {
+ font-weight: 500;
+ font-size: 1.25em;
}
- .extra-pricing-table {
- padding: 1em 2em 1.5em;
+ .boolean-icon {
+ margin: 0 auto;
+ display: inline-block;
+ font-style: normal;
+ width: 24px;
+ height: 24px;
+ background-image: url('images/fms-for-councils/boolean-no.svg');
+ background-repeat: no-repeat;
+ background-position: center;
+ text-indent: 100%;
+ white-space: nowrap;
+ overflow: hidden;
}
- .extra-pricing__desc {
- font-size: 0.875em;
- line-height: 1.5em;
+ .boolean-icon--no {
+ background-image: url('images/fms-for-councils/boolean-no.svg');
}
- .accordion-switch {
- color: #333;
- display: block;
- background-image: url('images/fms-for-councils/plus.svg');
- background-repeat: no-repeat;
- background-position: right center;
- background-size: 18px;
+ .boolean-icon--yes {
+ background-image: url('images/fms-for-councils/boolean-yes.svg');
}
- .accordion-switch--open {
- background-image: url('images/fms-for-councils/minus.svg');
+ // Verticalise the table on narrow screens
+ @media (max-width: 54em) {
+ .pricing-table {
+ &,
+ tr,
+ th,
+ th[scope="row"],
+ td,
+ tbody,
+ span {
+ display: block;
+ width: auto;
+ }
+
+ thead {
+ display: none;
+ }
+
+ th,
+ td {
+ @include clearfix();
+ border: none;
+ }
+
+ tr {
+ border: 1px solid #e9e9e9;
+ }
+
+ .pricing-table__show-more tr {
+ border: none;
+ }
+
+ tr + tr {
+ border-top: none;
+ }
+
+ td[data-tier-name] {
+ &:before {
+ content: attr(data-tier-name);
+ display: block;
+ font-size: 0.875em;
+ line-height: 1.4em;
+ color: darken(#FEC32B, 15%);
+ float: left;
+ padding: 0.666em 1em;
+ width: 5em;
+ }
+ }
+
+ // Collapse padding between "rows" of a feature
+ td + td .pricing-table__feature-value,
+ td + td[data-tier-name]:before {
+ padding-top: 0;
+ }
+
+ .boolean-icon {
+ margin: -0.33em 0;
+ }
+ }
}
.council-case-studies {
@@ -455,18 +692,18 @@ $fms-green: #62b356;
.council-case-studies__grid {
.flex & {
- @include flexbox;
- justify-content: space-around;
- flex-wrap: wrap;
- align-items: center;
+ @include flex-container();
+ @include justify-content(space-around);
+ @include flex-wrap(wrap);
+ @include flex-align(center);
}
.no-js &,
.no-flex & {
- @include clearfix;
+ @include clearfix();
}
@media (min-width: 44em) {
- flex-wrap: nowrap;
- justify-content: space-between;
+ @include flex-wrap(nowrap);
+ @include justify-content(space-between);
}
margin: 0 3.3334%;
}
@@ -542,10 +779,30 @@ $fms-green: #62b356;
}
}
+ .checkbox-label {
+ margin-left: 25px;
+ }
+
+ .checkbox-input {
+ margin-left: -25px;
+ margin-right: 6px;
+ }
+
+ .form-note {
+ font-size: 0.75em;
+ margin-top: 0.5em;
+ color: #777;
+ }
+
.council-order {
position: relative;
+ background-color: #F7F6F5;
+ border: 1px solid #e9e9e9;
+ border-left: 0;
+ border-right: 0;
+ padding: 4em 0;
h2 {
- color: #E65376;
+ color: $fms-pink;
font-size: 2.5em;
}
}
@@ -577,7 +834,7 @@ $fms-green: #62b356;
}
input[type="submit"] {
background-image: none;
- background-color: #E65376;
+ background-color: $fms-pink;
color: #fff;
border: 0;
text-transform: none;
@@ -586,16 +843,11 @@ $fms-green: #62b356;
&:hover,
&:active,
&:focus {
- background-color: desaturate(darken(#E65376, 10%), 10%);
+ background-color: desaturate(darken($fms-pink, 10%), 10%);
}
}
}
- .council-order__form__product__price {
- margin-left: 0.5em;
- color: #999;
- }
-
.form-group {
position: relative;
@media (min-width: 44em) {
@@ -616,7 +868,10 @@ $fms-green: #62b356;
right: 0;
top: 3px;
font-size: 0.75em;
- color: #E65376;
+ color: $fms-pink;
+ &.required--optional {
+ color: #777;
+ }
}
.council-order__screenshot {
@@ -627,20 +882,16 @@ $fms-green: #62b356;
background-repeat: no-repeat;
background-position: top left;
background-size: cover;
- height: 758px;
+ height: 750px;
position: absolute;
z-index: 0;
- right: -70px;
- width: 350px;
- bottom: 120px;
- }
- @media (min-width: 61.25em) {
right: 0;
width: 500px;
+ bottom: 50px;
}
@media (min-width: 82em) {
- width: 1000px;
- right: -250px;
+ width: 748px;
+ right: 46px;
}
}
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/angus-logo.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/angus-logo.png
index 1baeacba6..74b5c7345 100644
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/angus-logo.png
+++ b/web/cobrands/fixmystreet.com/images/fms-for-councils/angus-logo.png
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/authority.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/authority.svg
new file mode 100644
index 000000000..7d32cfb71
--- /dev/null
+++ b/web/cobrands/fixmystreet.com/images/fms-for-councils/authority.svg
@@ -0,0 +1 @@
+<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>authority</title><g fill="#E65376" fill-rule="evenodd"><path d="M54.214 57.693h-4.29v-4.26h-3.06v4.26h-4.29v-25.74l11.64 2.62v23.12zm-36.892-37.67l21.928-3.41v41.08h-8.382v-8.32h-5.163v8.32h-8.383v-37.67zm39.487 9.6l-13.27-3.25c-.327-.08-.653-.09-.966-.05v-10.6c.713-.58 1.116-1.5.965-2.47-.227-1.45-1.59-2.45-3.038-2.22l-25.25 3.93c-1.453.22-2.445 1.58-2.22 3.03.107.69.466 1.26.966 1.66v39.7c0 .92.743 1.66 1.662 1.66h40.217c.917 0 1.66-.74 1.66-1.66v-24.87c.588-.35 1.045-.92 1.22-1.64.35-1.43-.522-2.87-1.948-3.22z"/><path d="M25.705 26.403h5.163v-5.03h-5.163M25.705 35.503h5.163v-5.03h-5.163M25.705 44.603h5.163v-5.03h-5.163M46.864 39.433h3.06v-2.98h-3.06M46.864 44.823h3.06v-2.98h-3.06M46.864 50.213h3.06v-2.98h-3.06"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/automated-instruction.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/automated-instruction.svg
new file mode 100644
index 000000000..3cc613005
--- /dev/null
+++ b/web/cobrands/fixmystreet.com/images/fms-for-councils/automated-instruction.svg
@@ -0,0 +1 @@
+<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>automated-instruction</title><g fill="#E65376" fill-rule="evenodd"><path d="M47.666 27.09c-1.9 0-3.44-1.54-3.44-3.44s1.54-3.44 3.44-3.44 3.44 1.54 3.44 3.44-1.54 3.44-3.44 3.44zm10.816-5.19l-2.878-.76c-.152-.48-.348-.94-.58-1.38l1.504-2.58c.477-.88.683-1.79 0-2.47-.683-.69-1.646-.47-2.475 0l-2.62 1.52c-.422-.21-.863-.4-1.323-.54l-.775-2.94c-.29-.96-.785-1.75-1.75-1.75-.968 0-1.493.84-1.752 1.75l-.79 3c-.43.15-.84.32-1.234.53l-2.695-1.57c-.885-.48-1.792-.69-2.474 0-.684.68-.464 1.64 0 2.47l1.594 2.73c-.19.38-.358.77-.49 1.18l-3.058.81c-.963.29-1.75.78-1.75 1.75s.834 1.49 1.75 1.75l3.058.81c.132.4.298.8.49 1.18l-1.593 2.73c-.477.88-.684 1.79 0 2.47.683.69 1.645.47 2.475 0l2.694-1.57c.392.21.804.38 1.232.53l.79 3c.29.96.785 1.75 1.752 1.75.966 0 1.492-.84 1.75-1.75l.776-2.94c.46-.14.9-.33 1.323-.54l2.62 1.52c.886.48 1.792.69 2.475 0 .684-.68.464-1.64 0-2.47l-1.503-2.58c.232-.44.428-.9.58-1.38l2.877-.76c.963-.29 1.752-.78 1.752-1.75s-.836-1.49-1.752-1.75z"/><path d="M27.5 48.78c-2.76 0-4.998-2.24-4.998-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm14.752-6.75l-2.922-.77c-.087-.41-.197-.82-.326-1.21l2.146-2.13c.692-.73 1.127-1.56.642-2.39-.484-.84-1.47-.88-2.392-.64l-2.927.79c-.278-.3-.57-.6-.877-.87l.798-2.93c.23-.98.195-1.91-.643-2.39-.836-.49-1.707-.03-2.39.64l-2.128 2.14c-.395-.12-.798-.23-1.21-.32l-.77-2.92c-.29-.97-.784-1.75-1.75-1.75-.967 0-1.492.83-1.75 1.75l-.77 2.92c-.412.09-.815.2-1.21.32l-2.13-2.14c-.733-.69-1.553-1.13-2.39-.64-.84.48-.876 1.47-.642 2.39l.8 2.93c-.31.27-.602.56-.88.87l-2.927-.79c-.98-.24-1.908-.2-2.39.64-.485.83-.024 1.71.64 2.39l2.144 2.13c-.128.39-.238.8-.325 1.21l-2.92.77c-.964.29-1.752.78-1.752 1.75 0 .96.835 1.49 1.75 1.75l2.922.77c.087.41.197.81.325 1.21l-2.145 2.13c-.69.73-1.124 1.55-.64 2.39.483.84 1.468.87 2.39.64l2.928-.8c.278.31.57.6.878.88l-.798 2.93c-.23.98-.197 1.91.64 2.39.84.48 1.71.02 2.392-.64l2.13-2.15c.394.13.798.24 1.21.33l.77 2.92c.288.96.783 1.75 1.75 1.75.966 0 1.49-.84 1.75-1.75l.77-2.92c.412-.09.816-.2 1.21-.33l2.13 2.15c.73.69 1.553 1.12 2.39.64.838-.48.874-1.47.642-2.39l-.798-2.93c.307-.28.6-.57.877-.88l2.927.8c.98.23 1.908.2 2.392-.64.485-.84.023-1.71-.642-2.39l-2.146-2.13c.13-.4.24-.8.326-1.21l2.922-.77c.963-.29 1.75-.79 1.75-1.75 0-.97-.834-1.49-1.75-1.75z"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/barnet-logo.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/barnet-logo.png
index ad90a663c..1a2fc0f56 100644
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/barnet-logo.png
+++ b/web/cobrands/fixmystreet.com/images/fms-for-councils/barnet-logo.png
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/boolean-no.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/boolean-no.svg
new file mode 100644
index 000000000..3e5743da8
--- /dev/null
+++ b/web/cobrands/fixmystreet.com/images/fms-for-councils/boolean-no.svg
@@ -0,0 +1 @@
+<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Artboard</title><path d="M5 10h14v4H5z" fill="#EFECEA" fill-rule="evenodd"/></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/boolean-yes.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/boolean-yes.svg
new file mode 100644
index 000000000..fa532daeb
--- /dev/null
+++ b/web/cobrands/fixmystreet.com/images/fms-for-councils/boolean-yes.svg
@@ -0,0 +1 @@
+<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Artboard Copy</title><g fill="#FED876" fill-rule="evenodd"><path d="M7 16.763L18.764 5l2.828 2.828L9.83 19.592z"/><path d="M6.828 11l5.02 5.02-2.827 2.83L4 13.828z"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/brand.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/brand.svg
new file mode 100644
index 000000000..92edb9b78
--- /dev/null
+++ b/web/cobrands/fixmystreet.com/images/fms-for-councils/brand.svg
@@ -0,0 +1 @@
+<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>brand</title><g fill="#E65376" fill-rule="evenodd"><path d="M27.308 28.975c-.42-.42-1.097-.45-1.554-.07l-1.388 1.18c-9.047 7.56-12.396 8.32-12.4 8.32-.427.07-.78.37-.91.78-.133.41-.025.86.28 1.17l2.065 2.07c.358.35.903.43 1.346.2l3.55-1.85-2.267 2.83c-.37.45-.332 1.11.082 1.53l1.722 1.72c.347.34.874.43 1.315.22l2.786-1.35-1.36 2.77c-.218.44-.13.97.217 1.32l.888.88c.393.4 1.01.45 1.467.14l3.127-2.18-1.998 3.43c-.262.45-.187 1.02.182 1.39l.82.82c.42.42 1.09.45 1.545.08l4.002-3.31-2.515 5.17c-.213.44-.125.97.222 1.32l2.21 2.2c.298.3.737.4 1.144.28.403-.12.71-.47.797-.88.004-.02.488-2.18 4.54-7.64l5.1-6.04c.385-.45.358-1.13-.066-1.55l-14.95-14.95M51.68 17.025c.7-.7 1.83-.7 2.528 0 .696.7.696 1.83 0 2.53-.7.69-1.83.69-2.528 0-.7-.7-.7-1.83 0-2.53zm-5.478 13.9l11.9-7.48c2.844-2.84 2.844-7.47 0-10.32-2.844-2.84-7.473-2.84-10.353.04l-7.41 11.81s-1.575 2.13-2.882 1.82l-1.817-1.82c-2.115-2.11-4.145-1.33-4.965-.59l-1.236 1.23c-.45.45-.45 1.18 0 1.63l14.413 14.41c.45.45 1.175.45 1.624 0l1.276-1.27c.704-.78 1.478-2.82-.635-4.93l-1.69-1.69c-.275-1.19 1.456-2.59 1.774-2.84z"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/bringyourown.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/bringyourown.svg
index a0a5f8a02..01cc7f83e 100644
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/bringyourown.svg
+++ b/web/cobrands/fixmystreet.com/images/fms-for-councils/bringyourown.svg
@@ -1,16 +1 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="72px" height="72px" viewBox="0 0 72 72" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <!-- Generator: Sketch 39.1 (31720) - http://www.bohemiancoding.com/sketch -->
- <title>bringyourown</title>
- <desc>Created with Sketch.</desc>
- <defs></defs>
- <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
- <g id="bringyourown" fill="#E65376">
- <path d="M58.325,56.036 L54.18,56.036 C53.223,56.036 52.452,56.809 52.452,57.763 C52.452,58.717 53.223,59.49 54.18,59.49 L58.325,59.49 C59.277,59.49 60.05,58.717 60.05,57.763 C60.05,56.809 59.277,56.036 58.325,56.036" id="Fill-252"></path>
- <path d="M47.961,56.036 L43.818,56.036 C42.862,56.036 42.089,56.809 42.089,57.763 C42.089,58.717 42.862,59.49 43.818,59.49 L47.961,59.49 C48.916,59.49 49.689,58.717 49.689,57.763 C49.689,56.809 48.916,56.036 47.961,56.036" id="Fill-253"></path>
- <path d="M27.236,56.036 L23.091,56.036 C22.138,56.036 21.365,56.809 21.365,57.763 C21.365,58.717 22.138,59.49 23.091,59.49 L27.236,59.49 C28.191,59.49 28.963,58.717 28.963,57.763 C28.963,56.809 28.191,56.036 27.236,56.036" id="Fill-254"></path>
- <path d="M16.873,56.036 L12.73,56.036 C11.776,56.036 11,56.809 11,57.763 C11,58.717 11.776,59.49 12.73,59.49 L16.873,59.49 C17.827,59.49 18.6,58.717 18.6,57.763 C18.6,56.809 17.827,56.036 16.873,56.036" id="Fill-255"></path>
- <path d="M25.127,41.04 L25.127,36.905 C27.723,38.377 31.783,39.134 35.814,39.134 C39.847,39.134 43.906,38.376 46.502,36.905 L46.502,41.04 C46.502,42.186 42.518,44.28 35.995,44.319 C35.868,44.282 35.353,44.279 35.235,44.311 C28.954,44.19 25.127,42.163 25.127,41.04 L25.127,41.04 Z M46.502,17.081 C46.502,18.239 42.447,20.363 35.814,20.363 C29.185,20.363 25.127,18.239 25.127,17.081 C25.127,15.923 29.185,13.798 35.814,13.798 C42.447,13.798 46.502,15.923 46.502,17.081 L46.502,17.081 Z M25.127,28.919 C27.723,30.391 31.783,31.149 35.814,31.149 C39.847,31.149 43.906,30.391 46.502,28.918 L46.502,33.053 C46.502,34.211 42.447,36.336 35.814,36.336 C29.185,36.336 25.127,34.211 25.127,33.053 L25.127,28.919 L25.127,28.919 Z M25.127,20.932 C27.723,22.404 31.783,23.161 35.814,23.161 C39.847,23.161 43.906,22.403 46.502,20.932 L46.502,25.066 C46.502,26.224 42.447,28.35 35.814,28.35 C29.185,28.35 25.127,26.224 25.127,25.066 L25.127,20.932 L25.127,20.932 Z M37.001,55.352 L37.001,47.098 C43.294,46.866 49.302,44.795 49.302,41.04 L49.302,17.132 C49.302,17.126 49.3,17.12 49.3,17.114 C49.3,17.102 49.302,17.092 49.302,17.081 C49.302,13.089 42.518,11 35.814,11 C29.113,11 22.33,13.089 22.33,17.081 L22.33,17.114 L22.33,17.132 L22.33,41.04 C22.33,44.711 28.069,46.771 34.202,47.078 L34.202,55.352 C33.368,55.837 32.8,56.73 32.8,57.762 C32.8,59.306 34.057,60.563 35.601,60.563 C37.145,60.563 38.402,59.306 38.402,57.762 C38.402,56.73 37.834,55.837 37.001,55.352 L37.001,55.352 Z" id="Fill-256"></path>
- </g>
- </g>
-</svg> \ No newline at end of file
+<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>bringyourown</title><g fill="#E65376" fill-rule="evenodd"><path d="M58.325 56.036H54.18c-.957 0-1.728.773-1.728 1.727 0 .954.77 1.727 1.728 1.727h4.145c.952 0 1.725-.773 1.725-1.727 0-.954-.773-1.727-1.725-1.727M47.96 56.036H43.82c-.956 0-1.73.773-1.73 1.727 0 .954.774 1.727 1.73 1.727h4.143c.956 0 1.73-.773 1.73-1.727 0-.954-.774-1.727-1.73-1.727M27.236 56.036H23.09c-.952 0-1.725.773-1.725 1.727 0 .954.773 1.727 1.726 1.727h4.146c.955 0 1.727-.773 1.727-1.727 0-.954-.772-1.727-1.727-1.727M16.873 56.036H12.73c-.954 0-1.73.773-1.73 1.727 0 .954.776 1.727 1.73 1.727h4.143c.954 0 1.727-.773 1.727-1.727 0-.954-.773-1.727-1.727-1.727M25.127 41.04v-4.135c2.596 1.472 6.656 2.23 10.687 2.23 4.033 0 8.092-.76 10.688-2.23v4.135c0 1.146-3.984 3.24-10.507 3.28-.127-.038-.642-.04-.76-.01-6.28-.12-10.108-2.147-10.108-3.27zm21.375-23.96c0 1.16-4.055 3.283-10.688 3.283-6.63 0-10.687-2.124-10.687-3.282 0-1.157 4.058-3.282 10.687-3.282 6.633 0 10.688 2.125 10.688 3.283zM25.127 28.92c2.596 1.47 6.656 2.23 10.687 2.23 4.033 0 8.092-.76 10.688-2.232v4.135c0 1.158-4.055 3.283-10.688 3.283-6.63 0-10.687-2.125-10.687-3.283V28.92zm0-7.988c2.596 1.472 6.656 2.23 10.687 2.23 4.033 0 8.092-.76 10.688-2.23v4.134c0 1.158-4.055 3.284-10.688 3.284-6.63 0-10.687-2.126-10.687-3.284v-4.134zM37 55.352v-8.254c6.294-.232 12.302-2.303 12.302-6.058V17.132l-.002-.018.002-.033c0-3.99-6.784-6.08-13.488-6.08-6.7 0-13.484 2.09-13.484 6.08v23.96c0 3.67 5.74 5.73 11.872 6.038v8.274c-.834.485-1.402 1.378-1.402 2.41 0 1.544 1.257 2.8 2.8 2.8 1.545 0 2.802-1.256 2.802-2.8 0-1.032-.568-1.925-1.4-2.41z"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/bristol-logo.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/bristol-logo.png
index 9c622959b..27c05d66f 100644
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/bristol-logo.png
+++ b/web/cobrands/fixmystreet.com/images/fms-for-councils/bristol-logo.png
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/bromley-logo.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/bromley-logo.png
index 96f6cbdc0..4cd1c60a4 100644
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/bromley-logo.png
+++ b/web/cobrands/fixmystreet.com/images/fms-for-councils/bromley-logo.png
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/control.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/control.svg
deleted file mode 100644
index 1eb0e9507..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/control.svg
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="72px" height="72px" viewBox="0 0 72 72" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <!-- Generator: Sketch 39.1 (31720) - http://www.bohemiancoding.com/sketch -->
- <title>control</title>
- <desc>Created with Sketch.</desc>
- <defs></defs>
- <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
- <g id="control" fill="#E65376">
- <path d="M13.844,23.23 C14.398,24.68 15.803,25.72 17.447,25.72 C19.091,25.72 20.494,24.68 21.049,23.23 L21.963,23.23 C22.517,24.68 23.921,25.72 25.566,25.72 C27.21,25.72 28.614,24.68 29.168,23.23 L30.083,23.23 C30.637,24.68 32.04,25.72 33.685,25.72 C35.329,25.72 36.733,24.68 37.287,23.23 L59.282,23.23 C60.039,23.23 60.653,22.62 60.653,21.86 C60.653,21.11 60.039,20.49 59.282,20.49 L37.287,20.49 C36.732,19.04 35.329,18 33.685,18 C32.04,18 30.638,19.04 30.083,20.49 L29.167,20.49 C28.613,19.04 27.209,18 25.566,18 C23.921,18 22.518,19.04 21.963,20.49 L21.049,20.49 C20.494,19.04 19.09,18 17.447,18 C15.803,18 14.399,19.04 13.845,20.49 L12.372,20.49 C11.614,20.49 11,21.11 11,21.86 C11,22.62 11.614,23.23 12.372,23.23 L13.844,23.23 Z M59.282,34.7 L49.465,34.7 C48.911,33.25 47.508,32.21 45.864,32.21 C44.219,32.21 42.815,33.25 42.261,34.7 L41.346,34.7 C40.792,33.25 39.389,32.21 37.744,32.21 C36.101,32.21 34.697,33.25 34.142,34.7 L21.049,34.7 C20.494,33.25 19.09,32.21 17.447,32.21 C15.803,32.21 14.398,33.25 13.845,34.7 L12.372,34.7 C11.614,34.7 11,35.31 11,36.07 C11,36.83 11.614,37.44 12.372,37.44 L13.844,37.44 C14.398,38.89 15.803,39.93 17.447,39.93 C19.091,39.93 20.494,38.89 21.049,37.44 L34.142,37.44 C34.696,38.89 36.101,39.93 37.744,39.93 C39.389,39.93 40.792,38.89 41.347,37.44 L42.261,37.44 C42.815,38.89 44.219,39.93 45.864,39.93 C47.508,39.93 48.912,38.89 49.466,37.44 L59.282,37.44 C60.039,37.44 60.653,36.83 60.653,36.07 C60.653,35.31 60.039,34.7 59.282,34.7 Z M57.585,48.91 C57.03,47.46 55.627,46.42 53.983,46.42 C52.338,46.42 50.934,47.46 50.38,48.91 L49.465,48.91 C48.911,47.46 47.508,46.42 45.864,46.42 C44.219,46.42 42.815,47.46 42.261,48.91 L41.346,48.91 C40.792,47.46 39.389,46.42 37.744,46.42 C36.101,46.42 34.697,47.46 34.142,48.91 L12.372,48.91 C11.614,48.91 11,49.52 11,50.28 C11,51.04 11.614,51.65 12.372,51.65 L34.142,51.65 C34.696,53.1 36.101,54.14 37.744,54.14 C39.389,54.14 40.792,53.1 41.347,51.65 L42.261,51.65 C42.815,53.1 44.219,54.14 45.864,54.14 C47.508,54.14 48.912,53.1 49.466,51.65 L50.38,51.65 C50.934,53.1 52.338,54.14 53.983,54.14 C55.627,54.14 57.031,53.1 57.585,51.65 L59.282,51.65 C60.039,51.65 60.653,51.04 60.653,50.28 C60.653,49.52 60.039,48.91 59.282,48.91 L57.585,48.91 Z" id="Combined-Shape"></path>
- </g>
- </g>
-</svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/customise.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/customise.svg
index f60e488e4..354ebb025 100644
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/customise.svg
+++ b/web/cobrands/fixmystreet.com/images/fms-for-councils/customise.svg
@@ -1,15 +1 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="72px" height="72px" viewBox="0 0 72 72" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <!-- Generator: Sketch 39.1 (31720) - http://www.bohemiancoding.com/sketch -->
- <title>customise</title>
- <desc>Created with Sketch.</desc>
- <defs></defs>
- <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
- <g id="customise" fill="#E65376">
- <path d="M54.8459238,58.9057844 L49.5659238,50.9457844 L52.6679238,48.8857844 L57.9499238,56.8357844 L54.8459238,58.9057844 L54.8459238,58.9057844 Z M31.1129238,23.1557844 L25.7619238,15.1057844 L28.8669238,13.0457844 L34.2159238,21.0957844 L31.1129238,23.1557844 L31.1129238,23.1557844 Z M59.9209238,56.5257844 L53.7219238,47.1957844 C53.7209238,47.1957844 53.7209238,47.1957844 53.7199238,47.1857844 L36.1929238,20.7957844 L36.1889238,20.7957844 C36.1889238,20.7957844 36.1889238,20.7957844 36.1879238,20.7957844 L29.9199238,11.3557844 C29.6739238,10.9757844 29.1109238,10.8857844 28.7019238,11.1557844 L24.0879238,14.2157844 C23.6659238,14.4957844 23.5339238,15.0257844 23.7909238,15.4157844 L30.0549238,24.8457844 C30.0569238,24.8457844 30.0589238,24.8457844 30.0599238,24.8557844 L30.0619238,24.8557844 L47.5979238,51.2657844 C47.5989238,51.2657844 47.6009238,51.2657844 47.6029238,51.2757844 L53.7939238,60.5957844 C53.9409238,60.8157844 54.1959238,60.9557844 54.4759238,60.9557844 C54.6649238,60.9557844 54.8509238,60.8957844 55.0109238,60.7857844 L59.6239238,57.7257844 C60.0449238,57.4457844 60.1769238,56.9257844 59.9209238,56.5257844 L59.9209238,56.5257844 Z" id="Fill-511"></path>
- <path d="M24.9839238,33.5357844 C25.0489238,33.5357844 25.1129238,33.5157844 25.1669238,33.4757844 C25.2729238,33.3957844 25.3189238,33.2657844 25.2799238,33.1357844 L24.2869238,29.8957844 L27.0169238,27.8457844 C27.1229238,27.7657844 27.1669238,27.6257844 27.1259238,27.5057844 C27.0859238,27.3757844 26.9699238,27.2957844 26.8389238,27.2857844 L23.4099238,27.2157844 L22.2859238,24.0157844 C22.2419238,23.8957844 22.1249238,23.8057844 21.9929238,23.8057844 C21.8619238,23.8057844 21.7459238,23.8957844 21.7029238,24.0157844 L20.5769238,27.2157844 L17.1489238,27.2857844 C17.0169238,27.2957844 16.9009238,27.3757844 16.8609238,27.5057844 C16.8209238,27.6257844 16.8639238,27.7657844 16.9699238,27.8457844 L19.6999238,29.8957844 L18.7069238,33.1357844 C18.6689238,33.2657844 18.7139238,33.3957844 18.8199238,33.4757844 C18.9269238,33.5557844 19.0709238,33.5557844 19.1779238,33.4757844 L21.9929238,31.5457844 L24.8089238,33.4757844 C24.8629238,33.5157844 24.9219238,33.5357844 24.9839238,33.5357844" id="Fill-512"></path>
- <path d="M29.3349238,39.3557844 L27.0399238,39.3057844 L26.2859238,37.1657844 C26.2579238,37.0857844 26.1789238,37.0257844 26.0919238,37.0257844 C26.0039238,37.0257844 25.9259238,37.0857844 25.8969238,37.1657844 L25.1439238,39.3057844 L22.8479238,39.3557844 C22.7609238,39.3557844 22.6829238,39.4157844 22.6559238,39.4957844 C22.6289238,39.5857844 22.6589238,39.6757844 22.7279238,39.7257844 L24.5549238,41.0957844 L23.8909238,43.2657844 C23.8659238,43.3557844 23.8969238,43.4457844 23.9679238,43.4957844 C24.0379238,43.5457844 24.1359238,43.5457844 24.2069238,43.4957844 L26.0919238,42.2057844 L27.9759238,43.4957844 C28.0119238,43.5257844 28.0529238,43.5357844 28.0929238,43.5357844 C28.1369238,43.5357844 28.1789238,43.5257844 28.2159238,43.4957844 C28.2869238,43.4457844 28.3169238,43.3557844 28.2919238,43.2657844 L27.6269238,41.0957844 L29.4549238,39.7257844 C29.5249238,39.6757844 29.5539238,39.5857844 29.5279238,39.4957844 C29.4999238,39.4157844 29.4229238,39.3557844 29.3349238,39.3557844" id="Fill-513"></path>
- <path d="M16.7949238,35.3057844 L15.1499238,35.2757844 L14.6099238,33.7357844 C14.5889238,33.6757844 14.5319238,33.6357844 14.4699238,33.6357844 C14.4069238,33.6357844 14.3509238,33.6757844 14.3289238,33.7357844 L13.7899238,35.2757844 L12.1449238,35.3057844 C12.0819238,35.3057844 12.0259238,35.3557844 12.0069238,35.4057844 C11.9879238,35.4657844 12.0089238,35.5357844 12.0589238,35.5757844 L13.3689238,36.5557844 L12.8919238,38.1157844 C12.8739238,38.1757844 12.8949238,38.2357844 12.9469238,38.2757844 C12.9979238,38.3157844 13.0669238,38.3157844 13.1179238,38.2757844 L14.4699238,37.3557844 L15.8209238,38.2757844 C15.8469238,38.2957844 15.8759238,38.3057844 15.9049238,38.3057844 C15.9359238,38.3057844 15.9669238,38.2957844 15.9929238,38.2757844 C16.0429238,38.2357844 16.0649238,38.1757844 16.0469238,38.1157844 L15.5699238,36.5557844 L16.8809238,35.5757844 C16.9319238,35.5357844 16.9529238,35.4657844 16.9339238,35.4057844 C16.9139238,35.3557844 16.8579238,35.3057844 16.7949238,35.3057844" id="Fill-514"></path>
- </g>
- </g>
-</svg> \ No newline at end of file
+<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>customise</title><g fill="#E65376" fill-rule="evenodd"><path d="M54.846 58.906l-5.28-7.96 3.102-2.06 5.282 7.95-3.104 2.07zm-23.733-35.75l-5.35-8.05 3.104-2.06 5.35 8.05-3.104 2.06zm28.808 33.37l-6.198-9.33-.002-.01-17.527-26.39h-.004-.002l-6.268-9.44c-.246-.38-.81-.47-1.218-.2l-4.614 3.06c-.422.28-.554.81-.297 1.2l6.265 9.43c.002 0 .004 0 .005.01h.002l17.536 26.41s.003 0 .005.01l6.19 9.32c.148.22.403.36.683.36.19 0 .375-.06.535-.17l4.614-3.06c.42-.28.553-.8.297-1.2zM24.984 33.536c.065 0 .13-.02.183-.06.106-.08.152-.21.113-.34l-.993-3.24 2.73-2.05c.106-.08.15-.22.11-.34-.04-.13-.157-.21-.288-.22l-3.43-.07-1.124-3.2c-.044-.12-.16-.21-.293-.21-.13 0-.247.09-.29.21l-1.126 3.2-3.428.07c-.133.01-.25.09-.29.22-.04.12.004.26.11.34l2.73 2.05-.993 3.24c-.038.13.007.26.113.34.107.08.25.08.358 0l2.815-1.93 2.816 1.93c.053.04.112.06.174.06M29.335 39.356l-2.295-.05-.754-2.14c-.028-.08-.107-.14-.194-.14-.088 0-.166.06-.195.14l-.753 2.14-2.296.05c-.087 0-.165.06-.192.14-.027.09.003.18.072.23l1.827 1.37-.664 2.17c-.024.09.007.18.078.23.07.05.168.05.24 0l1.884-1.29 1.884 1.29c.036.03.077.04.117.04.044 0 .086-.01.123-.04.07-.05.1-.14.076-.23l-.665-2.17 1.828-1.37c.07-.05.1-.14.073-.23-.028-.08-.105-.14-.193-.14M16.795 35.306l-1.645-.03-.54-1.54c-.02-.06-.078-.1-.14-.1-.063 0-.12.04-.14.1l-.54 1.54-1.645.03c-.063 0-.12.05-.138.1-.02.06.002.13.052.17l1.31.98-.478 1.56c-.018.06.003.12.055.16.05.04.12.04.17 0l1.353-.92 1.35.92c.027.02.056.03.085.03.03 0 .062-.01.088-.03.05-.04.072-.1.054-.16l-.477-1.56 1.31-.98c.052-.04.073-.11.054-.17-.02-.05-.076-.1-.14-.1"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/dashboard.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/dashboard.svg
new file mode 100644
index 000000000..84d98dd45
--- /dev/null
+++ b/web/cobrands/fixmystreet.com/images/fms-for-councils/dashboard.svg
@@ -0,0 +1 @@
+<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>dashboard</title><path d="M13.844 23.23h-1.472c-.758 0-1.372-.61-1.372-1.37 0-.75.614-1.37 1.372-1.37h1.473C14.4 19.04 15.803 18 17.447 18c1.643 0 3.047 1.04 3.602 2.49h.913c.555-1.45 1.958-2.49 3.603-2.49 1.643 0 3.047 1.04 3.6 2.49h.917c.555-1.45 1.957-2.49 3.602-2.49 1.644 0 3.047 1.04 3.602 2.49h21.995c.757 0 1.37.62 1.37 1.37 0 .76-.613 1.37-1.37 1.37H37.287c-.554 1.45-1.958 2.49-3.602 2.49-1.645 0-3.048-1.04-3.602-2.49h-.915c-.554 1.45-1.958 2.49-3.602 2.49-1.645 0-3.05-1.04-3.603-2.49h-.914c-.556 1.45-1.96 2.49-3.603 2.49-1.644 0-3.05-1.04-3.603-2.49zM59.282 34.7c.757 0 1.37.61 1.37 1.37 0 .76-.613 1.37-1.37 1.37h-9.816c-.554 1.45-1.958 2.49-3.602 2.49-1.645 0-3.05-1.04-3.603-2.49h-.913c-.555 1.45-1.958 2.49-3.603 2.49-1.643 0-3.048-1.04-3.602-2.49H21.05c-.556 1.45-1.96 2.49-3.603 2.49-1.644 0-3.05-1.04-3.603-2.49h-1.472c-.758 0-1.372-.61-1.372-1.37 0-.76.614-1.37 1.372-1.37h1.473c.553-1.45 1.958-2.49 3.602-2.49 1.643 0 3.047 1.04 3.602 2.49H34.14c.555-1.45 1.96-2.49 3.602-2.49 1.645 0 3.048 1.04 3.602 2.49h.915c.555-1.45 1.96-2.49 3.604-2.49 1.644 0 3.047 1.04 3.6 2.49h9.818zm-1.697 14.21h1.697c.757 0 1.37.61 1.37 1.37 0 .76-.613 1.37-1.37 1.37h-1.697c-.554 1.45-1.958 2.49-3.602 2.49-1.645 0-3.05-1.04-3.603-2.49h-.914c-.554 1.45-1.958 2.49-3.602 2.49-1.645 0-3.05-1.04-3.603-2.49h-.913c-.555 1.45-1.958 2.49-3.603 2.49-1.643 0-3.048-1.04-3.602-2.49h-21.77c-.758 0-1.372-.61-1.372-1.37 0-.76.614-1.37 1.372-1.37h21.77c.555-1.45 1.96-2.49 3.602-2.49 1.645 0 3.048 1.04 3.602 2.49h.915c.555-1.45 1.96-2.49 3.604-2.49 1.644 0 3.047 1.04 3.6 2.49h.916c.554-1.45 1.958-2.49 3.603-2.49 1.644 0 3.047 1.04 3.602 2.49z" fill="#E65376" fill-rule="evenodd"/></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/device-mockup.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/device-mockup.png
index 388df77a7..f58fe121a 100644
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/device-mockup.png
+++ b/web/cobrands/fixmystreet.com/images/fms-for-councils/device-mockup.png
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/duplication.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/duplication.svg
deleted file mode 100644
index 9f734edc9..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/duplication.svg
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="72px" height="72px" viewBox="0 0 72 72" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <!-- Generator: Sketch 39.1 (31720) - http://www.bohemiancoding.com/sketch -->
- <title>duplication</title>
- <desc>Created with Sketch.</desc>
- <defs></defs>
- <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
- <g id="duplication" fill="#E65376">
- <path d="M17.0957984,52.7752249 C15.1129241,52.7752249 13.5065,54.3733624 13.5065,56.3621557 C13.5065,58.339111 15.1129241,59.9490865 17.0957984,59.9490865 C19.0786727,59.9490865 20.6850968,58.339111 20.6850968,56.3621557 C20.6850968,54.3733624 19.0786727,52.7752249 17.0957984,52.7752249 Z M36.0059081,52.7752249 C34.0242176,52.7752249 32.4177935,54.3733624 32.4177935,56.3621557 C32.4177935,58.339111 34.0242176,59.9490865 36.0059081,59.9490865 C37.9887824,59.9490865 39.5952065,58.339111 39.5952065,56.3621557 C39.5952065,54.3733624 37.9887824,52.7752249 36.0059081,52.7752249 Z M54.9172016,52.7752249 C52.9319597,52.7752249 51.3279032,54.3733624 51.3279032,56.3621557 C51.3279032,58.339111 52.9319597,59.9490865 54.9172016,59.9490865 C56.8965245,59.9490865 58.5065,58.339111 58.5065,56.3621557 C58.5065,54.3733624 56.8965245,52.7752249 54.9172016,52.7752249 Z M36.0059081,27.572005 C40.2155206,27.572005 43.6355348,24.1389689 43.6355348,19.9364592 C43.6355348,15.7221115 40.2155206,12.3009135 36.0059081,12.3009135 C31.7974794,12.3009135 28.3750976,15.7221115 28.3750976,19.9364592 C28.3750976,24.1389689 31.7974794,27.572005 36.0059081,27.572005 Z M52.8656666,44.2755011 C52.8656666,44.8082136 52.9804957,45.31725 53.2125216,45.8026103 C53.4445475,46.2761325 54.0080389,46.5247317 54.9041797,46.5247317 C55.4013781,46.5247317 55.7967691,46.4063511 56.0950881,46.16959 C56.3957747,45.9328289 56.6266168,45.6487156 56.7935334,45.2935739 C56.9592662,44.9384322 57.0752791,44.5596145 57.142756,44.1452825 C57.2066815,43.7427887 57.2386443,43.3521328 57.2386443,43.0088292 C57.2386443,41.7184812 56.917833,40.6530562 56.2714751,39.8007162 C55.6251173,38.9483762 54.7857992,38.2972832 53.7594398,37.8474371 C52.7330804,37.3857529 51.5871566,37.1253157 50.3287713,37.0542873 C49.0692022,36.983259 47.8262064,37.0779635 46.5974163,37.3384007 C44.0794619,37.8711132 42.0551544,37.8592751 40.5304129,37.3147246 C39.0056713,36.7820121 38.2433006,35.7757774 38.2433006,34.3078585 C38.2433006,33.6330893 38.027848,33.1003768 37.5969427,32.709721 C37.1660375,32.3072271 36.6368765,32.1178182 36.0059081,32.1178182 C35.3761235,32.1178182 34.8434111,32.3072271 34.4148735,32.709721 C33.985152,33.1003768 33.766148,33.6330893 33.766148,34.3078585 C33.766148,35.7757774 33.0061449,36.7820121 31.4825871,37.3147246 C29.9542942,37.8592751 27.9335381,37.8711132 25.4120323,37.3384007 C24.1867936,37.0779635 22.9437978,36.983259 21.6842287,37.0542873 C20.4246596,37.1253157 19.2811034,37.3857529 18.2535602,37.8474371 C17.2272008,38.2972832 16.3878827,38.9483762 15.7415249,39.8007162 C15.0963508,40.6530562 14.7696205,41.7184812 14.7696205,43.0088292 C14.7696205,43.3521328 14.8051347,43.7427887 14.8714278,44.1452825 C14.9389047,44.5596145 15.0537338,44.9384322 15.2182828,45.2935739 C15.3851994,45.6487156 15.6278795,45.9328289 15.9404042,46.16959 C16.2541127,46.4063511 16.6613418,46.5247317 17.1609077,46.5247317 C18.0203505,46.5247317 18.5684525,46.2761325 18.8004784,45.8026103 C19.0313205,45.31725 19.1461496,44.8082136 19.1461496,44.2755011 C19.1461496,43.3758089 19.478799,42.8075823 20.1429139,42.5944973 C20.8046612,42.3695742 21.5682157,42.2630317 22.4288424,42.2630317 C23.4587532,42.2630317 24.451966,42.3932503 25.4120323,42.6536876 C26.37565,42.9259628 27.404377,43.0561814 28.4970296,43.0561814 C30.850435,43.0561814 32.5906291,42.7128778 33.7187958,42.0381087 C34.8434111,41.3633395 35.5750029,40.5465137 35.9064684,39.5757931 L36.1053478,39.5757931 C36.4379971,40.5465137 37.1660375,41.3633395 38.2942042,42.0381087 C39.4211871,42.7128778 41.1601974,43.0561814 43.5147866,43.0561814 C44.5754764,43.0561814 45.6290633,42.9259628 46.6731798,42.6536876 C47.7161125,42.3932503 48.8703229,42.2630317 50.129892,42.2630317 C50.8591162,42.2630317 51.4960036,42.3695742 52.0452894,42.5944973 C52.5922075,42.8075823 52.8656666,43.3758089 52.8656666,44.2755011 Z" id="Combined-Shape" transform="translate(36.006500, 36.125000) rotate(-180.000000) translate(-36.006500, -36.125000) "></path>
- </g>
- </g>
-</svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/end-to-end.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/end-to-end.svg
new file mode 100644
index 000000000..85243faeb
--- /dev/null
+++ b/web/cobrands/fixmystreet.com/images/fms-for-councils/end-to-end.svg
@@ -0,0 +1 @@
+<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>end-to-end</title><g fill="#E65376" fill-rule="evenodd"><path d="M51.637 44.288l-11.567 1.84c-.382.06-.698.33-.818.7-.12.36-.022.77.252 1.04l2.712 2.71c-4.223 1.11-8.826.3-12.516-2.49-1.06-.8-2.565-.59-3.364.47-.8 1.06-.59 2.56.468 3.36 3.5 2.65 7.617 3.96 11.727 3.96 2.54 0 5.075-.52 7.463-1.52l3.244 3.25c.197.19.46.3.728.3.108 0 .215-.02.32-.05.367-.12.637-.44.698-.82l1.833-11.57c.052-.32-.056-.65-.29-.89-.232-.23-.562-.34-.89-.29M50.006 20.738l1.12-4.45c.097-.38-.028-.78-.32-1.03-.29-.26-.7-.33-1.06-.18l-10.87 4.35c-.307.13-.536.39-.616.71-.08.32-.004.66.208.91l7.505 8.99c.198.24.488.37.79.37.075 0 .154-.01.23-.03.377-.08.674-.37.768-.75l.938-3.71c3.074 3.03 4.74 7.33 4.294 11.86-.13 1.32.835 2.5 2.156 2.63.08.01.16.01.237.01 1.22 0 2.267-.93 2.39-2.17.684-6.97-2.384-13.53-7.77-17.51M29.044 31.778c-.264-.29-.665-.4-1.037-.3l-3.692 1.04c1.102-4.22 4.053-7.82 8.27-9.68 1.216-.53 1.77-1.95 1.235-3.16-.534-1.22-1.952-1.77-3.166-1.24-6.48 2.85-10.705 8.81-11.483 15.52l-4.417 1.24c-.374.1-.657.41-.733.79-.076.38.068.77.37 1.01l9.19 7.26c.182.15.407.23.636.23.093 0 .187-.02.28-.04.315-.09.572-.33.686-.64l4.07-10.98c.133-.36.053-.77-.208-1.05"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/excellence.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/excellence.svg
deleted file mode 100644
index 096604308..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/excellence.svg
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="72px" height="72px" viewBox="0 0 72 72" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <!-- Generator: Sketch 39.1 (31720) - http://www.bohemiancoding.com/sketch -->
- <title>excellence</title>
- <desc>Created with Sketch.</desc>
- <defs></defs>
- <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
- <g id="excellence" fill="#E65376">
- <path d="M44.4622873,54.19 C44.2552873,53.45 43.5792873,52.93 42.8082873,52.93 L39.1632873,52.93 L39.1632873,46.73 C38.2392873,46.89 37.2922873,46.97 36.3282873,46.97 C35.3622873,46.97 34.4152873,46.89 33.4912873,46.73 L33.4912873,52.93 L29.8502873,52.93 C29.0782873,52.93 28.4012873,53.45 28.1952873,54.19 L26.9012873,58.84 C26.7592873,59.36 26.8642873,59.91 27.1882873,60.34 C27.5152873,60.76 28.0192873,61.02 28.5572873,61.02 L44.1002873,61.02 L44.1142873,61.02 C45.0622873,61.02 45.8312873,60.25 45.8312873,59.3 C45.8312873,59.06 45.7842873,58.84 45.6982873,58.63 L44.4622873,54.19" id="Fill-717"></path>
- <path d="M55.6102873,27.25 C54.8942873,29.94 52.9932873,32.01 51.0452873,32.33 C51.0642873,32.26 51.0832873,32.19 51.1002873,32.12 C51.1182873,32.06 51.1352873,32 51.1502873,31.93 C51.2532873,31.53 51.3392873,31.11 51.4112873,30.69 C51.4252873,30.62 51.4362873,30.54 51.4482873,30.47 C51.5162873,30.04 51.5712873,29.62 51.6092873,29.18 C51.6152873,29.12 51.6182873,29.06 51.6222873,29 C51.6572873,28.54 51.6792873,28.08 51.6792873,27.62 L51.6792873,19.99 C51.8992873,19.94 52.1222873,19.91 52.3422873,19.91 C52.5892873,19.91 52.8352873,19.94 53.0712873,20.01 C55.3332873,20.61 56.4952873,23.93 55.6102873,27.25 L55.6102873,27.25 Z M44.7202873,24.13 L40.1592873,27.55 L41.8172873,32.96 C41.8822873,33.17 41.8062873,33.4 41.6282873,33.53 C41.5372873,33.6 41.4292873,33.63 41.3242873,33.63 C41.2222873,33.63 41.1182873,33.6 41.0322873,33.54 L36.3272873,30.3 L31.6232873,33.54 C31.4442873,33.67 31.2022873,33.66 31.0252873,33.53 C30.8492873,33.4 30.7732873,33.17 30.8392873,32.96 L32.4942873,27.55 L27.9342873,24.13 C27.7592873,23.99 27.6842873,23.76 27.7532873,23.55 C27.8202873,23.34 28.0132873,23.2 28.2332873,23.2 L33.9602873,23.08 L35.8422873,17.73 C35.9132873,17.52 36.1082873,17.39 36.3272873,17.39 C36.5472873,17.39 36.7412873,17.52 36.8132873,17.73 L38.6942873,23.08 L44.4192873,23.2 C44.6412873,23.2 44.8342873,23.34 44.9012873,23.55 C44.9682873,23.76 44.8962873,23.99 44.7202873,24.13 L44.7202873,24.13 Z M17.0482873,27.25 C16.1632873,23.93 17.3252873,20.61 19.5852873,20.01 C19.8232873,19.94 20.0682873,19.91 20.3162873,19.91 C20.5362873,19.91 20.7572873,19.94 20.9772873,19.99 L20.9772873,27.62 C20.9772873,28.08 21.0002873,28.54 21.0362873,29 C21.0402873,29.06 21.0432873,29.12 21.0482873,29.18 C21.0852873,29.62 21.1412873,30.04 21.2082873,30.47 C21.2212873,30.54 21.2332873,30.62 21.2452873,30.69 C21.3192873,31.11 21.4052873,31.53 21.5082873,31.93 C21.5222873,32 21.5402873,32.06 21.5572873,32.12 C21.5752873,32.19 21.5932873,32.26 21.6122873,32.33 C19.6662873,32.01 17.7632873,29.94 17.0482873,27.25 L17.0482873,27.25 Z M53.7792873,17.35 C53.3042873,17.23 52.8212873,17.17 52.3422873,17.17 C52.1202873,17.17 51.8992873,17.18 51.6792873,17.2 L51.6792873,12.62 C51.6792873,11.73 50.9562873,11 50.0632873,11 L22.5952873,11 C21.7012873,11 20.9772873,11.73 20.9772873,12.62 L20.9772873,17.2 C20.7572873,17.18 20.5362873,17.17 20.3152873,17.17 C19.8352873,17.17 19.3532873,17.23 18.8782873,17.35 C15.1082873,18.36 13.1002873,23.11 14.3912873,27.96 C15.5222873,32.21 18.8002873,35.13 22.1242873,35.13 C22.2922873,35.13 22.4612873,35.11 22.6302873,35.09 C22.7532873,35.36 22.8842873,35.62 23.0202873,35.88 C23.0462873,35.93 23.0712873,35.97 23.0972873,36.02 C23.2982873,36.39 23.5122873,36.75 23.7382873,37.1 C23.7642873,37.14 23.7892873,37.18 23.8152873,37.22 C24.0532873,37.58 24.3002873,37.93 24.5602873,38.27 C24.5672873,38.27 24.5752873,38.28 24.5832873,38.29 C25.1312873,39 25.7352873,39.65 26.3852873,40.25 C26.3972873,40.26 26.4072873,40.28 26.4182873,40.29 C26.7392873,40.58 27.0722873,40.86 27.4132873,41.12 C27.4302873,41.14 27.4452873,41.15 27.4612873,41.16 C28.8722873,42.24 30.4612873,43.08 32.1692873,43.6 L32.1852873,43.6 C32.6142873,43.73 33.0482873,43.84 33.4892873,43.94 L33.4912873,43.94 C33.9482873,44.03 34.4122873,44.1 34.8812873,44.15 L34.9132873,44.15 C35.3792873,44.2 35.8522873,44.22 36.3282873,44.22 C36.8042873,44.22 37.2742873,44.2 37.7392873,44.15 L37.7752873,44.15 C38.2432873,44.1 38.7042873,44.03 39.1592873,43.94 L39.1622873,43.94 L39.1672873,43.94 C39.6072873,43.84 40.0412873,43.73 40.4682873,43.61 C40.4742873,43.6 40.4792873,43.6 40.4872873,43.6 C42.1952873,43.08 43.7822873,42.25 45.1942873,41.16 C45.2102873,41.15 45.2252873,41.14 45.2412873,41.13 C45.5852873,40.86 45.9172873,40.58 46.2372873,40.29 C46.2482873,40.28 46.2592873,40.27 46.2692873,40.25 C46.9212873,39.66 47.5252873,39 48.0752873,38.29 C48.0832873,38.28 48.0892873,38.28 48.0952873,38.27 C48.3562873,37.93 48.6042873,37.58 48.8422873,37.22 C48.8672873,37.18 48.8932873,37.14 48.9192873,37.1 C49.1442873,36.75 49.3602873,36.39 49.5612873,36.02 C49.5862873,35.97 49.6102873,35.93 49.6362873,35.88 C49.7722873,35.62 49.9032873,35.36 50.0272873,35.09 C50.1962873,35.11 50.3662873,35.13 50.5332873,35.13 C53.8572873,35.13 57.1362873,32.21 58.2652873,27.96 C59.5582873,23.11 57.5482873,18.36 53.7792873,17.35 L53.7792873,17.35 Z" id="Fill-718"></path>
- </g>
- </g>
-</svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/expand.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/expand.svg
deleted file mode 100644
index 30c40045c..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/expand.svg
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="72px" height="72px" viewBox="0 0 72 72" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <!-- Generator: Sketch 39.1 (31720) - http://www.bohemiancoding.com/sketch -->
- <title>expand</title>
- <desc>Created with Sketch.</desc>
- <defs></defs>
- <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
- <g id="expand" fill="#E65376">
- <path d="M36.083,57.72 C24.153,57.72 14.448,48.01 14.448,36.08 C14.448,24.15 24.153,14.44 36.083,14.44 C48.012,14.44 57.72,24.15 57.72,36.08 C57.72,48.01 48.012,57.72 36.083,57.72 L36.083,57.72 Z M36.083,11 C22.252,11 11,22.25 11,36.08 C11,49.91 22.252,61.17 36.083,61.17 C49.916,61.17 61.169,49.91 61.169,36.08 C61.169,22.25 49.916,11 36.083,11 L36.083,11 Z" id="Fill-494"></path>
- <path d="M34.746,22.46 C34.903,22.46 35.026,22.42 35.119,22.33 C35.211,22.24 35.258,22.15 35.258,22.04 L35.258,18.65 L37.661,22.14 L37.688,22.18 C37.723,22.27 37.784,22.33 37.87,22.38 C37.957,22.44 38.068,22.46 38.198,22.46 C38.347,22.46 38.469,22.42 38.561,22.33 C38.655,22.24 38.701,22.15 38.701,22.04 L38.701,16.96 C38.701,16.86 38.655,16.76 38.561,16.67 C38.469,16.59 38.347,16.54 38.198,16.54 C38.031,16.54 37.898,16.59 37.803,16.67 C37.709,16.76 37.661,16.86 37.661,16.96 L37.661,20.41 L35.249,16.88 C35.225,16.79 35.168,16.71 35.078,16.65 C34.987,16.58 34.877,16.54 34.746,16.54 C34.586,16.54 34.455,16.59 34.356,16.67 C34.257,16.76 34.209,16.86 34.209,16.96 L34.209,22.04 C34.209,22.15 34.257,22.24 34.356,22.33 C34.455,22.42 34.586,22.46 34.746,22.46" id="Fill-495"></path>
- <path d="M22.742,33.65 C22.674,33.53 22.559,33.46 22.397,33.42 C22.253,33.38 22.123,33.39 22.003,33.45 C21.882,33.51 21.809,33.59 21.778,33.7 L21.106,37.77 L20.128,33.84 C20.081,33.7 20.019,33.59 19.941,33.51 C19.864,33.44 19.739,33.4 19.563,33.4 C19.294,33.4 19.116,33.55 19.026,33.84 L18.047,37.77 L17.377,33.7 C17.341,33.59 17.264,33.51 17.148,33.45 C17.032,33.39 16.897,33.38 16.749,33.42 C16.593,33.46 16.481,33.53 16.413,33.65 C16.343,33.76 16.325,33.86 16.354,33.96 L17.422,38.94 C17.452,39.04 17.518,39.13 17.623,39.2 C17.727,39.28 17.855,39.32 18.004,39.32 C18.153,39.32 18.281,39.28 18.385,39.2 C18.49,39.13 18.557,39.04 18.588,38.94 L19.573,35.23 L20.568,38.94 C20.598,39.04 20.667,39.13 20.769,39.2 C20.875,39.28 21.002,39.32 21.15,39.32 C21.294,39.32 21.419,39.28 21.528,39.2 C21.634,39.13 21.704,39.04 21.734,38.94 L22.799,33.96 C22.829,33.86 22.81,33.76 22.742,33.65" id="Fill-496"></path>
- <path d="M54.925,38.28 L52.918,38.28 L52.918,36.8 L54.263,36.8 C54.436,36.8 54.567,36.75 54.653,36.67 C54.74,36.58 54.782,36.47 54.782,36.33 C54.782,36.18 54.74,36.06 54.653,35.98 C54.567,35.89 54.436,35.85 54.263,35.85 L52.918,35.85 L52.918,34.44 L54.925,34.44 C55.093,34.44 55.22,34.4 55.307,34.31 C55.393,34.22 55.438,34.11 55.438,33.97 C55.438,33.82 55.393,33.71 55.307,33.62 C55.22,33.53 55.093,33.49 54.925,33.49 L52.407,33.49 C52.245,33.49 52.114,33.53 52.016,33.62 C51.919,33.71 51.867,33.8 51.867,33.91 L51.867,38.81 C51.867,38.91 51.919,39.01 52.016,39.1 C52.114,39.18 52.245,39.23 52.407,39.23 L54.925,39.23 C55.093,39.23 55.22,39.18 55.307,39.1 C55.393,39.01 55.438,38.9 55.438,38.76 C55.438,38.61 55.393,38.49 55.307,38.41 C55.22,38.32 55.093,38.28 54.925,38.28" id="Fill-497"></path>
- <path d="M37.53,53.18 C37.336,53.04 37.125,52.93 36.897,52.84 C36.669,52.75 36.461,52.66 36.265,52.57 C36.072,52.48 35.91,52.38 35.781,52.27 C35.652,52.15 35.588,52 35.588,51.81 C35.588,51.59 35.658,51.42 35.795,51.3 C35.932,51.19 36.109,51.13 36.324,51.13 C36.574,51.13 36.774,51.17 36.923,51.24 C37.073,51.32 37.184,51.39 37.255,51.45 C37.322,51.51 37.392,51.55 37.467,51.59 C37.541,51.64 37.628,51.66 37.723,51.66 C37.883,51.66 37.999,51.61 38.068,51.53 C38.135,51.44 38.17,51.33 38.17,51.19 C38.17,51.11 38.131,51.02 38.054,50.9 C37.977,50.78 37.861,50.67 37.709,50.56 C37.557,50.46 37.368,50.36 37.143,50.29 C36.919,50.21 36.659,50.18 36.359,50.18 C36.072,50.18 35.816,50.22 35.588,50.3 C35.361,50.38 35.169,50.49 35.015,50.64 C34.858,50.79 34.739,50.97 34.656,51.17 C34.571,51.38 34.531,51.6 34.531,51.85 C34.531,52.17 34.595,52.42 34.724,52.62 C34.851,52.82 35.015,52.99 35.212,53.12 C35.409,53.26 35.621,53.37 35.843,53.46 C36.068,53.55 36.279,53.64 36.477,53.74 C36.673,53.83 36.836,53.94 36.964,54.06 C37.093,54.19 37.158,54.34 37.158,54.53 C37.158,54.76 37.087,54.93 36.952,55.03 C36.813,55.14 36.626,55.19 36.387,55.19 C36.176,55.19 35.98,55.15 35.795,55.08 C35.609,55 35.465,54.92 35.363,54.82 C35.298,54.76 35.227,54.71 35.149,54.66 C35.073,54.61 34.983,54.58 34.88,54.57 C34.569,54.57 34.415,54.71 34.415,54.99 C34.415,55.12 34.45,55.23 34.522,55.33 C34.593,55.44 34.686,55.53 34.8,55.61 C34.912,55.69 35.041,55.76 35.181,55.82 C35.32,55.88 35.461,55.93 35.605,55.97 C35.75,56.01 35.887,56.04 36.018,56.06 C36.152,56.08 36.262,56.09 36.35,56.09 C36.929,56.09 37.384,55.95 37.714,55.66 C38.042,55.37 38.206,54.97 38.206,54.47 C38.206,54.15 38.142,53.89 38.014,53.68 C37.885,53.48 37.723,53.31 37.53,53.18" id="Fill-498"></path>
- <path d="M26.249,46.31 L32.951,34.3 L38.22,39.57 L26.249,46.31 L26.249,46.31 Z M48.622,22.54 L32.227,31.72 C32.218,31.72 32.212,31.73 32.204,31.74 L32.185,31.74 C32.018,31.84 31.879,31.98 31.788,32.14 L22.652,48.51 C22.427,48.92 22.499,49.42 22.826,49.75 C23.024,49.95 23.29,50.05 23.557,50.05 C23.73,50.05 23.905,50.01 24.063,49.92 L40.382,40.73 C40.478,40.68 40.569,40.59 40.65,40.49 C40.708,40.44 40.756,40.37 40.797,40.3 L50.028,23.95 C50.257,23.55 50.186,23.04 49.861,22.72 C49.533,22.39 49.027,22.32 48.622,22.54 L48.622,22.54 Z" id="Fill-499"></path>
- </g>
- </g>
-</svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/fms-fc-logo.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/fms-fc-logo.svg
index 4c2b1e725..c3b778a3a 100644
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/fms-fc-logo.svg
+++ b/web/cobrands/fixmystreet.com/images/fms-for-councils/fms-fc-logo.svg
@@ -1,12 +1 @@
-
-<svg width="260px" height="68px" viewBox="1057 -1345 260 68" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <!-- Generator: Sketch 39.1 (31720) - http://www.bohemiancoding.com/sketch -->
- <desc>Created with Sketch.</desc>
- <defs></defs>
- <g id="Group" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" transform="translate(1057.000000, -1345.000000)">
- <path d="M34.2788,60.88584 C29.46576,60.88584 24.94784,59.63192 21.0256,57.4464 L33.24792,44.9616 C33.3064,44.90584 33.34584,44.8324 33.40024,44.77392 C34.3944,45.0228 35.41576,45.19008 36.48336,45.19008 C43.64376,45.20912 49.46184,39.46856 49.4836,32.368 C49.49176,31.23512 49.29864,30.15256 49.02256,29.09584 L42.194,35.83192 L34.646,34.21216 L33.05616,26.7104 L39.89968,19.97024 C38.83208,19.67512 37.72504,19.46704 36.56088,19.46568 C29.4032,19.44936 23.58104,25.17632 23.55928,32.28504 C23.55384,33.79464 23.85984,35.21856 24.3372,36.56496 L11.94488,49.21432 C8.93928,44.88544 7.17264,39.64536 7.17264,34 C7.17264,19.17464 19.33376,7.11416 34.2788,7.11416 C49.2252,7.11416 61.3836,19.17464 61.3836,34 C61.3836,48.82808 49.2252,60.88584 34.2788,60.88584 M34.2788,0 C15.37752,0 0,15.25376 0,33.99864 C0,52.74624 15.37752,68 34.2788,68 C53.17736,68 68.55352,52.74624 68.55352,33.99864 C68.55352,15.25376 53.17736,0 34.2788,0" id="Fill-1" fill="#FED876"></path>
- <path d="M93.2034361,12.6369163 L93.2034361,15.2400881 L81.8681057,15.2400881 L81.8681057,23.4944493 L91.555859,23.4944493 L91.555859,26.0976211 L81.8681057,26.0976211 L81.8681057,36.246696 L78.6553304,36.246696 L78.6553304,12.6369163 L93.2034361,12.6369163 Z M100.106784,19.5567401 L100.106784,36.246696 L97.1740969,36.246696 L97.1740969,19.5567401 L100.106784,19.5567401 Z M100.765815,14.3174449 C100.765815,14.6030264 100.70815,14.869382 100.592819,15.1165198 C100.477488,15.3636576 100.323716,15.5833324 100.131498,15.7755507 C99.9392795,15.9677689 99.7168588,16.1187953 99.4642291,16.2286344 C99.2115993,16.3384734 98.9424978,16.3933921 98.6569163,16.3933921 C98.3713348,16.3933921 98.1049792,16.3384734 97.8578414,16.2286344 C97.6107036,16.1187953 97.3910289,15.9677689 97.1988106,15.7755507 C97.0065923,15.5833324 96.8555659,15.3636576 96.7457269,15.1165198 C96.6358879,14.869382 96.5809692,14.6030264 96.5809692,14.3174449 C96.5809692,14.0318635 96.6358879,13.760016 96.7457269,13.5018943 C96.8555659,13.2437726 97.0065923,13.018606 97.1988106,12.8263877 C97.3910289,12.6341694 97.6107036,12.483143 97.8578414,12.373304 C98.1049792,12.2634649 98.3713348,12.2085463 98.6569163,12.2085463 C98.9424978,12.2085463 99.2115993,12.2634649 99.4642291,12.373304 C99.7168588,12.483143 99.9392795,12.6341694 100.131498,12.8263877 C100.323716,13.018606 100.477488,13.2437726 100.592819,13.5018943 C100.70815,13.760016 100.765815,14.0318635 100.765815,14.3174449 L100.765815,14.3174449 Z M109.184934,27.6957709 L103.566696,19.5567401 L106.384053,19.5567401 C106.625699,19.5567401 106.801439,19.5951832 106.911278,19.6720705 C107.021117,19.7489578 107.11997,19.8587952 107.207841,20.0015859 L111.293833,26.2623789 C111.392688,25.9548296 111.535476,25.6472849 111.722203,25.3397357 L115.313921,20.067489 C115.42376,19.9137144 115.533597,19.7901473 115.643436,19.6967841 C115.753275,19.603421 115.890572,19.5567401 116.05533,19.5567401 L118.757357,19.5567401 L113.139119,27.5310132 L118.988018,36.246696 L116.170661,36.246696 C115.929015,36.246696 115.739545,36.1835395 115.602247,36.0572247 C115.464948,35.9309098 115.352365,35.7908671 115.264493,35.6370925 L111.063172,29.0962115 C110.986284,29.4147446 110.870955,29.7003218 110.717181,29.9529515 L106.828899,35.6370925 C106.71906,35.7908671 106.600984,35.9309098 106.47467,36.0572247 C106.348355,36.1835395 106.175361,36.246696 105.955683,36.246696 L103.336035,36.246696 L109.184934,27.6957709 Z M133.964493,27.7122467 C134.118268,27.9758603 134.252819,28.2531997 134.36815,28.5442731 C134.483481,28.8353465 134.596064,29.1291615 134.705903,29.4257269 C134.815742,29.1181776 134.931071,28.8243626 135.051894,28.5442731 C135.172717,28.2641836 135.310014,27.9813524 135.463789,27.6957709 L143.454537,13.1806167 C143.597328,12.927987 143.745609,12.7742147 143.899383,12.7192952 C144.053158,12.6643756 144.272833,12.6369163 144.558414,12.6369163 L146.914449,12.6369163 L146.914449,36.246696 L144.113568,36.246696 L144.113568,18.8977093 C144.113568,18.6670473 144.11906,18.4199132 144.130044,18.1562996 C144.141028,17.8926859 144.157504,17.6235843 144.179471,17.3489868 L136.089868,32.1112775 C135.81527,32.6055531 135.430839,32.8526872 134.936564,32.8526872 L134.475242,32.8526872 C133.980967,32.8526872 133.596536,32.6055531 133.321938,32.1112775 L125.051101,17.2995595 C125.084053,17.5851409 125.108766,17.8652262 125.125242,18.1398238 C125.141718,18.4144213 125.149956,18.6670473 125.149956,18.8977093 L125.149956,36.246696 L122.349075,36.246696 L122.349075,12.6369163 L124.70511,12.6369163 C124.990692,12.6369163 125.210366,12.6643756 125.364141,12.7192952 C125.517916,12.7742147 125.666196,12.927987 125.808987,13.1806167 L133.964493,27.7122467 Z M157.096476,41.1729515 C156.997621,41.3926296 156.874054,41.5683694 156.725771,41.7001762 C156.577488,41.831983 156.349576,41.8978855 156.042026,41.8978855 L153.867225,41.8978855 L156.915242,35.2746256 L150.02837,19.5567401 L152.565639,19.5567401 C152.818269,19.5567401 153.015976,19.6198966 153.158767,19.7462115 C153.301557,19.8725263 153.405903,20.012569 153.471806,20.1663436 L157.93674,30.6778855 C158.035595,30.9195313 158.120719,31.1611735 158.192115,31.4028194 C158.26351,31.6444652 158.326666,31.8915993 158.381586,32.1442291 C158.458473,31.8915993 158.535359,31.6444652 158.612247,31.4028194 C158.689134,31.1611735 158.777004,30.9140394 158.875859,30.6614097 L163.208987,20.1663436 C163.27489,19.9906012 163.387474,19.8450667 163.54674,19.7297357 C163.706007,19.6144047 163.879001,19.5567401 164.065727,19.5567401 L166.405286,19.5567401 L157.096476,41.1729515 Z" id="FixMyStreet" fill="#7C7977"></path>
- <path d="M255.143789,36.5103084 C254.33098,36.5103084 253.614291,36.3922332 252.9937,36.1560793 C252.37311,35.9199254 251.851382,35.5849214 251.428502,35.1510573 C251.005622,34.7171931 250.684348,34.1927197 250.46467,33.5776211 C250.244992,32.9625226 250.135154,32.276039 250.135154,31.5181498 L250.135154,22.6871366 L248.685286,22.6871366 C248.421673,22.6871366 248.196506,22.6020126 248.00978,22.4317621 C247.823053,22.2615116 247.729692,22.0116316 247.729692,21.6821145 L247.729692,19.6885463 L250.448194,19.1613216 L251.453216,14.9929515 C251.585023,14.4657242 251.95847,14.2021145 252.573568,14.2021145 L255.242643,14.2021145 L255.242643,19.1942731 L259.394537,19.1942731 L259.394537,22.6871366 L255.242643,22.6871366 L255.242643,31.1721586 C255.242643,31.5675791 255.338751,31.8943453 255.530969,32.152467 C255.723187,32.4105887 256.000527,32.5396476 256.362996,32.5396476 C256.549722,32.5396476 256.70624,32.520426 256.832555,32.4819824 C256.95887,32.4435387 257.068707,32.3996038 257.16207,32.3501762 C257.255434,32.3007487 257.343304,32.2568137 257.425683,32.21837 C257.508062,32.1799264 257.60417,32.1607048 257.714009,32.1607048 C257.867783,32.1607048 257.99135,32.196402 258.084714,32.2677974 C258.178077,32.3391927 258.274185,32.451776 258.37304,32.6055507 L259.921762,35.027489 C259.262728,35.5217646 258.521326,35.8924657 257.697533,36.1396035 C256.87374,36.3867413 256.022501,36.5103084 255.143789,36.5103084 Z M238.536211,18.8977093 C239.667553,18.8977093 240.702771,19.0734491 241.641894,19.4249339 C242.581018,19.7764188 243.388323,20.2871626 244.063833,20.9571806 C244.739343,21.6271987 245.266562,22.448233 245.645507,23.4203084 C246.024451,24.3923837 246.213921,25.4935034 246.213921,26.7237004 C246.213921,27.108137 246.197445,27.4211735 246.164493,27.6628194 C246.131542,27.9044652 246.071131,28.0966806 245.98326,28.2394714 C245.895389,28.3822621 245.777314,28.4811157 245.629031,28.5360352 C245.480748,28.5909548 245.291279,28.6184141 245.060617,28.6184141 L235.208106,28.6184141 C235.372864,30.0463214 235.806722,31.0815386 236.509692,31.7240969 C237.212661,32.3666552 238.11882,32.6879295 239.228194,32.6879295 C239.821325,32.6879295 240.332068,32.6165352 240.760441,32.4737445 C241.188813,32.3309538 241.570498,32.1716896 241.905507,31.9959471 C242.240516,31.8202047 242.54806,31.6609405 242.82815,31.5181498 C243.108239,31.3753591 243.402054,31.3039648 243.709604,31.3039648 C244.116008,31.3039648 244.423553,31.4522452 244.632247,31.7488106 L246.115066,33.5776211 C245.587839,34.1817358 245.01943,34.673258 244.409824,35.0522026 C243.800217,35.4311473 243.174144,35.7277082 242.531586,35.9418943 C241.889028,36.1560804 241.246479,36.3043608 240.603921,36.3867401 C239.961362,36.4691194 239.349019,36.5103084 238.766872,36.5103084 C237.569627,36.5103084 236.44654,36.315347 235.397577,35.9254185 C234.348614,35.53549 233.431472,34.9560978 232.646123,34.1872247 C231.860774,33.4183515 231.240193,32.4627664 230.784361,31.3204405 C230.328529,30.1781147 230.100617,28.8490825 230.100617,27.333304 C230.100617,26.1909781 230.295578,25.10908 230.685507,24.0875771 C231.075435,23.0660742 231.635606,22.1708996 232.366035,21.4020264 C233.096465,20.6331533 233.980656,20.0235558 235.018634,19.5732159 C236.056613,19.1228759 237.229127,18.8977093 238.536211,18.8977093 Z M238.635066,22.4235242 C237.657499,22.4235242 236.894129,22.7008636 236.344934,23.2555507 C235.795739,23.8102377 235.433275,24.6093046 235.257533,25.6527753 L241.633656,25.6527753 C241.633656,25.2463709 241.581484,24.8509564 241.477137,24.4665198 C241.372789,24.0820832 241.202542,23.7388415 240.966388,23.4367841 C240.730234,23.1347268 240.419943,22.8903387 240.035507,22.7036123 C239.65107,22.516886 239.184261,22.4235242 238.635066,22.4235242 Z M220.610573,18.8977093 C221.741915,18.8977093 222.777132,19.0734491 223.716256,19.4249339 C224.655379,19.7764188 225.462684,20.2871626 226.138194,20.9571806 C226.813704,21.6271987 227.340923,22.448233 227.719868,23.4203084 C228.098812,24.3923837 228.288282,25.4935034 228.288282,26.7237004 C228.288282,27.108137 228.271806,27.4211735 228.238855,27.6628194 C228.205903,27.9044652 228.145492,28.0966806 228.057621,28.2394714 C227.96975,28.3822621 227.851675,28.4811157 227.703392,28.5360352 C227.555109,28.5909548 227.36564,28.6184141 227.134978,28.6184141 L217.282467,28.6184141 C217.447225,30.0463214 217.881083,31.0815386 218.584053,31.7240969 C219.287023,32.3666552 220.193181,32.6879295 221.302555,32.6879295 C221.895686,32.6879295 222.40643,32.6165352 222.834802,32.4737445 C223.263174,32.3309538 223.644859,32.1716896 223.979868,31.9959471 C224.314877,31.8202047 224.622422,31.6609405 224.902511,31.5181498 C225.182601,31.3753591 225.476415,31.3039648 225.783965,31.3039648 C226.190369,31.3039648 226.497914,31.4522452 226.706608,31.7488106 L228.189427,33.5776211 C227.6622,34.1817358 227.093792,34.673258 226.484185,35.0522026 C225.874578,35.4311473 225.248505,35.7277082 224.605947,35.9418943 C223.963389,36.1560804 223.32084,36.3043608 222.678282,36.3867401 C222.035724,36.4691194 221.42338,36.5103084 220.841233,36.5103084 C219.643988,36.5103084 218.520901,36.315347 217.471938,35.9254185 C216.422976,35.53549 215.505834,34.9560978 214.720485,34.1872247 C213.935136,33.4183515 213.314554,32.4627664 212.858722,31.3204405 C212.402891,30.1781147 212.174978,28.8490825 212.174978,27.333304 C212.174978,26.1909781 212.369939,25.10908 212.759868,24.0875771 C213.149796,23.0660742 213.709967,22.1708996 214.440396,21.4020264 C215.170826,20.6331533 216.055017,20.0235558 217.092996,19.5732159 C218.130974,19.1228759 219.303488,18.8977093 220.610573,18.8977093 Z M220.709427,22.4235242 C219.73186,22.4235242 218.96849,22.7008636 218.419295,23.2555507 C217.8701,23.8102377 217.507637,24.6093046 217.331894,25.6527753 L223.708018,25.6527753 C223.708018,25.2463709 223.655845,24.8509564 223.551498,24.4665198 C223.447151,24.0820832 223.276903,23.7388415 223.040749,23.4367841 C222.804595,23.1347268 222.494304,22.8903387 222.109868,22.7036123 C221.725431,22.516886 221.258622,22.4235242 220.709427,22.4235242 Z M199.686344,36.246696 L199.686344,19.1613216 L202.717885,19.1613216 C202.970515,19.1613216 203.181952,19.1832891 203.352203,19.2272247 C203.522453,19.2711603 203.665242,19.3398086 203.780573,19.4331718 C203.895904,19.526535 203.983774,19.650102 204.044185,19.8038767 C204.104596,19.9576513 204.156769,20.1443748 204.200705,20.3640529 L204.480793,21.9622026 C205.106875,20.9956192 205.809835,20.2322495 206.589692,19.6720705 C207.369549,19.1118915 208.220788,18.8318062 209.143436,18.8318062 C209.923293,18.8318062 210.549366,19.0185297 211.021674,19.3919824 L210.362643,23.1484581 C210.318708,23.3791201 210.230838,23.5411302 210.099031,23.6344934 C209.967224,23.7278566 209.791484,23.7745374 209.571806,23.7745374 C209.38508,23.7745374 209.165405,23.749824 208.912775,23.7003965 C208.660146,23.6509689 208.341617,23.6262555 207.957181,23.6262555 C206.617145,23.6262555 205.562706,24.3401984 204.793833,25.7681057 L204.793833,36.246696 L199.686344,36.246696 Z M192.502907,36.5103084 C191.690099,36.5103084 190.97341,36.3922332 190.352819,36.1560793 C189.732229,35.9199254 189.210501,35.5849214 188.787621,35.1510573 C188.364741,34.7171931 188.043467,34.1927197 187.823789,33.5776211 C187.604111,32.9625226 187.494273,32.276039 187.494273,31.5181498 L187.494273,22.6871366 L186.044405,22.6871366 C185.780792,22.6871366 185.555625,22.6020126 185.368899,22.4317621 C185.182172,22.2615116 185.088811,22.0116316 185.088811,21.6821145 L185.088811,19.6885463 L187.807313,19.1613216 L188.812335,14.9929515 C188.944142,14.4657242 189.317589,14.2021145 189.932687,14.2021145 L192.601762,14.2021145 L192.601762,19.1942731 L196.753656,19.1942731 L196.753656,22.6871366 L192.601762,22.6871366 L192.601762,31.1721586 C192.601762,31.5675791 192.69787,31.8943453 192.890088,32.152467 C193.082306,32.4105887 193.359646,32.5396476 193.722115,32.5396476 C193.908841,32.5396476 194.065359,32.520426 194.191674,32.4819824 C194.317989,32.4435387 194.427826,32.3996038 194.521189,32.3501762 C194.614553,32.3007487 194.702422,32.2568137 194.784802,32.21837 C194.867181,32.1799264 194.963289,32.1607048 195.073128,32.1607048 C195.226902,32.1607048 195.350469,32.196402 195.443833,32.2677974 C195.537196,32.3391927 195.633303,32.451776 195.732159,32.6055507 L197.280881,35.027489 C196.621847,35.5217646 195.880445,35.8924657 195.056652,36.1396035 C194.232859,36.3867413 193.38162,36.5103084 192.502907,36.5103084 Z M182.024317,17.118326 C181.859559,17.3819396 181.686565,17.5796469 181.50533,17.7114537 C181.324096,17.8432606 181.090692,17.909163 180.80511,17.909163 C180.55248,17.909163 180.280633,17.8295309 179.989559,17.6702643 C179.698486,17.5109977 179.368974,17.332512 179.001013,17.1348018 C178.633052,16.9370915 178.212925,16.7586058 177.740617,16.5993392 C177.268309,16.4400726 176.730106,16.3604405 176.125991,16.3604405 C175.08252,16.3604405 174.305421,16.5828612 173.79467,17.0277093 C173.283918,17.4725573 173.028546,18.0739169 173.028546,18.8318062 C173.028546,19.3150979 173.182319,19.7160043 173.489868,20.0345374 C173.797417,20.3530706 174.201069,20.627664 174.700837,20.858326 C175.200605,21.0889879 175.771759,21.3004249 176.414317,21.4926432 C177.056875,21.6848615 177.713154,21.8990443 178.383172,22.1351982 C179.05319,22.3713521 179.709468,22.6486915 180.352026,22.9672247 C180.994585,23.2857578 181.565739,23.6921561 182.065507,24.1864317 C182.565274,24.6807073 182.968927,25.2820669 183.276476,25.9905286 C183.584025,26.6989903 183.737797,27.5529759 183.737797,28.552511 C183.737797,29.6618851 183.545582,30.6998483 183.161145,31.6664317 C182.776709,32.6330151 182.219284,33.476017 181.488855,34.1954626 C180.758425,34.9149081 179.857759,35.4805706 178.786828,35.892467 C177.715898,36.3043633 176.499449,36.5103084 175.137445,36.5103084 C174.39054,36.5103084 173.629916,36.4334222 172.855551,36.2796476 C172.081186,36.1258729 171.331545,35.9089441 170.606608,35.6288546 C169.88167,35.3487651 169.200679,35.0165071 168.563612,34.6320705 C167.926546,34.2476339 167.371867,33.8192681 166.899559,33.3469604 L168.547137,30.7437885 C168.667959,30.5460783 168.838207,30.3868141 169.057885,30.2659912 C169.277564,30.1451683 169.513714,30.0847577 169.766344,30.0847577 C170.095861,30.0847577 170.428119,30.1891032 170.763128,30.3977974 C171.098137,30.6064915 171.477076,30.83715 171.899956,31.0897797 C172.322836,31.3424095 172.808867,31.573068 173.358062,31.7817621 C173.907257,31.9904563 174.555297,32.0948018 175.302203,32.0948018 C176.312722,32.0948018 177.098059,31.8723811 177.658238,31.427533 C178.218417,30.982685 178.498502,30.2769799 178.498502,29.3103965 C178.498502,28.7502175 178.34473,28.2943924 178.037181,27.9429075 C177.729631,27.5914226 177.325979,27.3003536 176.826211,27.0696916 C176.326444,26.8390297 175.758035,26.6358305 175.120969,26.4600881 C174.483903,26.2843457 173.83037,26.0893843 173.160352,25.8751982 C172.490334,25.6610121 171.836802,25.3974024 171.199736,25.0843612 C170.562669,24.77132 169.994261,24.3594299 169.494493,23.8486784 C168.994726,23.337927 168.591073,22.7008702 168.283524,21.937489 C167.975975,21.1741078 167.822203,20.2322523 167.822203,19.1118943 C167.822203,18.2112143 168.003434,17.3325153 168.365903,16.4757709 C168.728372,15.6190266 169.261083,14.8556568 169.964053,14.1856388 C170.667023,13.5156207 171.529246,12.9801635 172.550749,12.5792511 C173.572252,12.1783387 174.74202,11.9778855 176.060088,11.9778855 C176.79601,11.9778855 177.512698,12.0355501 178.210176,12.1508811 C178.907654,12.266212 179.569424,12.43646 180.195507,12.66163 C180.821589,12.8868 181.406473,13.1559015 181.950176,13.4689427 C182.493879,13.7819839 182.97991,14.1362095 183.408282,14.53163 L182.024317,17.118326 Z" id="Combined-Shape" fill="#333333"></path>
- <path d="M83.9593304,46.4155419 L83.9593304,48.129022 L80.018326,48.129022 L80.018326,50.5608458 L83.3002996,50.5608458 L83.3002996,52.2809163 L80.018326,52.2809163 L80.018326,56.0176211 L77.7776211,56.0176211 L77.7776211,46.4155419 L83.9593304,46.4155419 Z M102.573357,51.2132863 C102.573357,51.907469 102.453634,52.5533127 102.214185,53.150837 C101.974736,53.7483613 101.637535,54.2678921 101.202572,54.7094449 C100.76761,55.1509978 100.243686,55.4969855 99.6307839,55.7474185 C99.0178821,55.9978515 98.3379888,56.1230661 97.5910834,56.1230661 C96.8441781,56.1230661 96.1631864,55.9978515 95.5480879,55.7474185 C94.9329893,55.4969855 94.4068683,55.1509978 93.969709,54.7094449 C93.5325497,54.2678921 93.1942506,53.7483613 92.9548015,53.150837 C92.7153524,52.5533127 92.5956297,51.907469 92.5956297,51.2132863 C92.5956297,50.5191037 92.7153524,49.87326 92.9548015,49.2757357 C93.1942506,48.6782114 93.5325497,48.159779 93.969709,47.7204229 C94.4068683,47.2810668 94.9329893,46.9361775 95.5480879,46.6857445 C96.1631864,46.4353115 96.8441781,46.3100969 97.5910834,46.3100969 C98.3379888,46.3100969 99.0178821,46.4364099 99.6307839,46.6890396 C100.243686,46.9416694 100.76761,47.2876571 101.202572,47.7270132 C101.637535,48.1663693 101.974736,48.6848017 102.214185,49.282326 C102.453634,49.8798503 102.573357,50.5234973 102.573357,51.2132863 L102.573357,51.2132863 Z M100.29311,51.2132863 C100.29311,50.7387818 100.231601,50.3115144 100.108581,49.9314714 C99.9855615,49.5514283 99.8087234,49.2296048 99.5780614,48.9659912 C99.3473995,48.7023775 99.0651174,48.5002768 98.7312068,48.3596828 C98.3972962,48.2190889 98.0172589,48.148793 97.5910834,48.148793 C97.1605145,48.148793 96.777182,48.2190889 96.4410746,48.3596828 C96.1049672,48.5002768 95.8215868,48.7023775 95.5909249,48.9659912 C95.3602629,49.2296048 95.1834247,49.5514283 95.060405,49.9314714 C94.9373853,50.3115144 94.8758764,50.7387818 94.8758764,51.2132863 C94.8758764,51.6921845 94.9373853,52.1216486 95.060405,52.5016916 C95.1834247,52.8817346 95.3602629,53.2035582 95.5909249,53.4671718 C95.8215868,53.7307855 96.1049672,53.9317879 96.4410746,54.070185 C96.777182,54.2085822 97.1605145,54.2777797 97.5910834,54.2777797 C98.0172589,54.2777797 98.3972962,54.2085822 98.7312068,54.070185 C99.0651174,53.9317879 99.3473995,53.7307855 99.5780614,53.4671718 C99.8087234,53.2035582 99.9855615,52.8817346 100.108581,52.5016916 C100.231601,52.1216486 100.29311,51.6921845 100.29311,51.2132863 L100.29311,51.2132863 Z M113.845779,52.4654449 L113.845779,56.0176211 L111.618255,56.0176211 L111.618255,46.4155419 L114.742061,46.4155419 C115.436244,46.4155419 116.028267,46.4869361 116.518149,46.6297269 C117.008031,46.7725176 117.407839,46.9713232 117.717585,47.2261498 C118.027331,47.4809763 118.252498,47.7819307 118.393092,48.129022 C118.533686,48.4761133 118.603982,48.8539539 118.603982,49.2625551 C118.603982,49.5744979 118.562244,49.8688621 118.478766,50.1456564 C118.395288,50.4224507 118.271172,50.6783718 118.106414,50.9134273 C117.941655,51.1484828 117.739554,51.3582722 117.500105,51.5428018 C117.260656,51.7273313 116.984964,51.8789069 116.673022,51.997533 C116.822403,52.0722236 116.961896,52.164487 117.091506,52.274326 C117.221116,52.384165 117.334249,52.5181666 117.430907,52.6763348 L119.473903,56.0176211 L117.457268,56.0176211 C117.083816,56.0176211 116.815812,55.8770293 116.653251,55.5958414 L115.058396,52.808141 C114.988099,52.6851213 114.905721,52.5972514 114.811259,52.5445286 C114.716798,52.4918059 114.583895,52.4654449 114.412546,52.4654449 L113.845779,52.4654449 Z M113.845779,50.9299031 L114.742061,50.9299031 C115.045217,50.9299031 115.303335,50.89146 115.516422,50.8145727 C115.72951,50.7376854 115.904152,50.6311431 116.040352,50.4949427 C116.176552,50.3587423 116.275406,50.1994782 116.336916,50.0171454 C116.398426,49.8348126 116.42918,49.6382037 116.42918,49.4273128 C116.42918,49.0055309 116.291883,48.6760188 116.017286,48.4387665 C115.742688,48.2015142 115.317618,48.0828899 114.742061,48.0828899 L113.845779,48.0828899 L113.845779,50.9299031 Z M145.333673,53.5330749 C145.386396,53.5330749 145.439118,53.5429603 145.49184,53.5627313 C145.544563,53.5825023 145.595088,53.6165519 145.643417,53.6648811 L146.526519,54.5941145 C146.139885,55.099374 145.655503,55.4805097 145.073356,55.737533 C144.491209,55.9945564 143.802529,56.1230661 143.007294,56.1230661 C142.277963,56.1230661 141.624431,55.9989498 141.046677,55.7507137 C140.468924,55.5024775 139.979049,55.1597849 139.577039,54.7226256 C139.175028,54.2854662 138.866385,53.7670338 138.6511,53.1673128 C138.435816,52.5675917 138.328175,51.9162561 138.328175,51.2132863 C138.328175,50.4971359 138.451193,49.83921 138.697232,49.239489 C138.943272,48.6397679 139.287063,48.1224339 139.728616,47.6874714 C140.170169,47.2525088 140.698486,46.9142097 141.313585,46.6725639 C141.928683,46.430918 142.607478,46.3100969 143.34999,46.3100969 C143.710262,46.3100969 144.04966,46.3419498 144.368193,46.4056564 C144.686726,46.469363 144.984385,46.5572329 145.26118,46.6692687 C145.537974,46.7813045 145.792797,46.9153061 146.025655,47.0712775 C146.258514,47.2272489 146.465008,47.3996936 146.645144,47.5886167 L145.893849,48.5969339 C145.84552,48.6584438 145.788405,48.7144608 145.722501,48.7649868 C145.656598,48.8155127 145.564334,48.8407753 145.445708,48.8407753 C145.366624,48.8407753 145.291935,48.8232014 145.221638,48.7880529 C145.151341,48.7529044 145.076651,48.7100678 144.997567,48.6595419 C144.918483,48.6090159 144.831712,48.5540972 144.73725,48.4947841 C144.642789,48.4354711 144.530754,48.3805524 144.401144,48.3300264 C144.271534,48.2795005 144.119959,48.2366639 143.946413,48.2015154 C143.772867,48.1663669 143.569668,48.148793 143.33681,48.148793 C142.932602,48.148793 142.563548,48.2201872 142.229638,48.362978 C141.895727,48.5057687 141.609052,48.7100662 141.369603,48.9758767 C141.130153,49.2416871 140.94343,49.5635106 140.809426,49.9413568 C140.675423,50.3192031 140.608422,50.7431753 140.608422,51.2132863 C140.608422,51.7053652 140.675423,52.1425179 140.809426,52.5247577 C140.94343,52.9069975 141.12576,53.228821 141.356422,53.4902379 C141.587084,53.7516548 141.856185,53.9504604 142.163735,54.0866608 C142.471284,54.2228612 142.800796,54.2909604 143.152281,54.2909604 C143.354385,54.2909604 143.538912,54.281075 143.705867,54.261304 C143.872822,54.2415329 144.027693,54.2074834 144.170484,54.1591542 C144.313274,54.110825 144.449473,54.0482177 144.579083,53.9713304 C144.708693,53.8944431 144.839399,53.7988846 144.971206,53.684652 C145.023929,53.6407164 145.081044,53.60447 145.142554,53.5759119 C145.204064,53.5473537 145.26777,53.5330749 145.333673,53.5330749 L145.333673,53.5330749 Z M164.995558,51.2132863 C164.995558,51.907469 164.875835,52.5533127 164.636386,53.150837 C164.396937,53.7483613 164.059737,54.2678921 163.624774,54.7094449 C163.189812,55.1509978 162.665887,55.4969855 162.052986,55.7474185 C161.440084,55.9978515 160.76019,56.1230661 160.013285,56.1230661 C159.26638,56.1230661 158.585388,55.9978515 157.970289,55.7474185 C157.355191,55.4969855 156.82907,55.1509978 156.391911,54.7094449 C155.954751,54.2678921 155.616452,53.7483613 155.377003,53.150837 C155.137554,52.5533127 155.017831,51.907469 155.017831,51.2132863 C155.017831,50.5191037 155.137554,49.87326 155.377003,49.2757357 C155.616452,48.6782114 155.954751,48.159779 156.391911,47.7204229 C156.82907,47.2810668 157.355191,46.9361775 157.970289,46.6857445 C158.585388,46.4353115 159.26638,46.3100969 160.013285,46.3100969 C160.76019,46.3100969 161.440084,46.4364099 162.052986,46.6890396 C162.665887,46.9416694 163.189812,47.2876571 163.624774,47.7270132 C164.059737,48.1663693 164.396937,48.6848017 164.636386,49.282326 C164.875835,49.8798503 164.995558,50.5234973 164.995558,51.2132863 L164.995558,51.2132863 Z M162.715312,51.2132863 C162.715312,50.7387818 162.653803,50.3115144 162.530783,49.9314714 C162.407763,49.5514283 162.230925,49.2296048 162.000263,48.9659912 C161.769601,48.7023775 161.487319,48.5002768 161.153408,48.3596828 C160.819498,48.2190889 160.43946,48.148793 160.013285,48.148793 C159.582716,48.148793 159.199384,48.2190889 158.863276,48.3596828 C158.527169,48.5002768 158.243788,48.7023775 158.013126,48.9659912 C157.782465,49.2296048 157.605626,49.5514283 157.482607,49.9314714 C157.359587,50.3115144 157.298078,50.7387818 157.298078,51.2132863 C157.298078,51.6921845 157.359587,52.1216486 157.482607,52.5016916 C157.605626,52.8817346 157.782465,53.2035582 158.013126,53.4671718 C158.243788,53.7307855 158.527169,53.9317879 158.863276,54.070185 C159.199384,54.2085822 159.582716,54.2777797 160.013285,54.2777797 C160.43946,54.2777797 160.819498,54.2085822 161.153408,54.070185 C161.487319,53.9317879 161.769601,53.7307855 162.000263,53.4671718 C162.230925,53.2035582 162.407763,52.8817346 162.530783,52.5016916 C162.653803,52.1216486 162.715312,51.6921845 162.715312,51.2132863 L162.715312,51.2132863 Z M178.034184,54.2580088 C178.332946,54.2580088 178.59985,54.208582 178.834906,54.1097269 C179.069961,54.0108718 179.268767,53.8691815 179.431329,53.684652 C179.593891,53.5001224 179.718007,53.2749558 179.803681,53.0091454 C179.889356,52.7433349 179.932192,52.4412822 179.932192,52.102978 L179.932192,46.4155419 L182.159717,46.4155419 L182.159717,52.102978 C182.159717,52.6917151 182.064158,53.232115 181.873038,53.7241938 C181.681918,54.2162727 181.408423,54.6402449 181.052545,54.9961233 C180.696666,55.3520018 180.263907,55.628792 179.754254,55.8265022 C179.244601,56.0242124 178.67125,56.1230661 178.034184,56.1230661 C177.392724,56.1230661 176.817176,56.0242124 176.307523,55.8265022 C175.79787,55.628792 175.36511,55.3520018 175.009232,54.9961233 C174.653354,54.6402449 174.380957,54.2162727 174.192034,53.7241938 C174.003111,53.232115 173.90865,52.6917151 173.90865,52.102978 L173.90865,46.4155419 L176.136175,46.4155419 L176.136175,52.0963877 C176.136175,52.4346919 176.179011,52.7367446 176.264686,53.0025551 C176.35036,53.2683655 176.474476,53.4946305 176.637038,53.6813568 C176.7996,53.8680832 176.998406,54.0108718 177.233461,54.1097269 C177.468517,54.208582 177.735421,54.2580088 178.034184,54.2580088 L178.034184,54.2580088 Z M192.759928,46.4155419 C192.856586,46.4155419 192.937866,46.4199353 193.003769,46.4287225 C193.069673,46.4375096 193.128985,46.4539852 193.181707,46.4781498 C193.23443,46.5023144 193.284955,46.536364 193.333285,46.5802996 C193.381614,46.6242352 193.436532,46.6835474 193.498042,46.7582379 L198.058536,52.5247577 C198.040961,52.3402282 198.027781,52.1611932 198.018994,51.9876476 C198.010207,51.8141019 198.005813,51.6504442 198.005813,51.4966696 L198.005813,46.4155419 L199.969725,46.4155419 L199.969725,56.0176211 L198.809831,56.0176211 C198.638482,56.0176211 198.493497,55.9912602 198.37487,55.9385374 C198.256244,55.8858147 198.142013,55.7891578 198.032174,55.6485639 L193.504633,49.9281762 C193.517813,50.0951315 193.528797,50.2587892 193.537584,50.4191542 C193.546371,50.5795192 193.550765,50.7299964 193.550765,50.8705903 L193.550765,56.0176211 L191.586853,56.0176211 L191.586853,46.4155419 L192.759928,46.4155419 Z M215.980579,53.5330749 C216.033302,53.5330749 216.086024,53.5429603 216.138747,53.5627313 C216.19147,53.5825023 216.241995,53.6165519 216.290324,53.6648811 L217.173425,54.5941145 C216.786792,55.099374 216.302409,55.4805097 215.720262,55.737533 C215.138115,55.9945564 214.449435,56.1230661 213.654201,56.1230661 C212.92487,56.1230661 212.271337,55.9989498 211.693584,55.7507137 C211.115831,55.5024775 210.625956,55.1597849 210.223945,54.7226256 C209.821934,54.2854662 209.513291,53.7670338 209.298007,53.1673128 C209.082722,52.5675917 208.975082,51.9162561 208.975082,51.2132863 C208.975082,50.4971359 209.0981,49.83921 209.344139,49.239489 C209.590178,48.6397679 209.933969,48.1224339 210.375522,47.6874714 C210.817075,47.2525088 211.345393,46.9142097 211.960491,46.6725639 C212.57559,46.430918 213.254385,46.3100969 213.996897,46.3100969 C214.357169,46.3100969 214.696566,46.3419498 215.015099,46.4056564 C215.333632,46.469363 215.631292,46.5572329 215.908086,46.6692687 C216.18488,46.7813045 216.439703,46.9153061 216.672562,47.0712775 C216.905421,47.2272489 217.111915,47.3996936 217.292051,47.5886167 L216.540756,48.5969339 C216.492427,48.6584438 216.435311,48.7144608 216.369408,48.7649868 C216.303504,48.8155127 216.211241,48.8407753 216.092615,48.8407753 C216.013531,48.8407753 215.938841,48.8232014 215.868544,48.7880529 C215.798247,48.7529044 215.723558,48.7100678 215.644474,48.6595419 C215.56539,48.6090159 215.478618,48.5540972 215.384157,48.4947841 C215.289695,48.4354711 215.177661,48.3805524 215.048051,48.3300264 C214.918441,48.2795005 214.766865,48.2366639 214.59332,48.2015154 C214.419774,48.1663669 214.216575,48.148793 213.983716,48.148793 C213.579508,48.148793 213.210455,48.2201872 212.876544,48.362978 C212.542634,48.5057687 212.255958,48.7100662 212.016509,48.9758767 C211.77706,49.2416871 211.590336,49.5635106 211.456333,49.9413568 C211.322329,50.3192031 211.255328,50.7431753 211.255328,51.2132863 C211.255328,51.7053652 211.322329,52.1425179 211.456333,52.5247577 C211.590336,52.9069975 211.772666,53.228821 212.003328,53.4902379 C212.23399,53.7516548 212.503092,53.9504604 212.810641,54.0866608 C213.11819,54.2228612 213.447703,54.2909604 213.799187,54.2909604 C214.001291,54.2909604 214.185818,54.281075 214.352773,54.261304 C214.519729,54.2415329 214.674599,54.2074834 214.81739,54.1591542 C214.960181,54.110825 215.096379,54.0482177 215.225989,53.9713304 C215.355599,53.8944431 215.486306,53.7988846 215.618113,53.684652 C215.670835,53.6407164 215.727951,53.60447 215.789461,53.5759119 C215.85097,53.5473537 215.914676,53.5330749 215.980579,53.5330749 L215.980579,53.5330749 Z M228.604015,56.0176211 L226.363311,56.0176211 L226.363311,46.4155419 L228.604015,46.4155419 L228.604015,56.0176211 Z M240.588191,54.2382379 L244.146958,54.2382379 L244.146958,56.0176211 L238.360667,56.0176211 L238.360667,46.4155419 L240.588191,46.4155419 L240.588191,54.2382379 Z M258.530006,48.3662731 C258.464103,48.4717186 258.394905,48.5508015 258.322411,48.6035242 C258.249918,48.656247 258.156556,48.6826079 258.042323,48.6826079 C257.941271,48.6826079 257.832532,48.6507551 257.716103,48.5870485 C257.599674,48.5233418 257.467869,48.4519475 257.320684,48.3728634 C257.1735,48.2937793 257.005449,48.222385 256.816526,48.1586784 C256.627603,48.0949718 256.412321,48.0631189 256.170676,48.0631189 C255.753287,48.0631189 255.442448,48.1520872 255.238147,48.3300264 C255.033846,48.5079656 254.931698,48.7485095 254.931698,49.0516652 C254.931698,49.2449819 254.993207,49.4053444 255.116226,49.5327577 C255.239246,49.660171 255.400707,49.7700083 255.600614,49.8622731 C255.800521,49.9545379 256.028983,50.0391127 256.286006,50.116 C256.543029,50.1928873 256.805541,50.2785605 257.073548,50.373022 C257.341555,50.4674836 257.604066,50.5784193 257.86109,50.7058326 C258.118113,50.8332459 258.346575,50.9958052 258.546482,51.1935154 C258.746389,51.3912257 258.90785,51.6317695 259.030869,51.9151542 C259.153889,52.1985389 259.215398,52.5401331 259.215398,52.9399471 C259.215398,53.3836968 259.138512,53.7988821 258.984737,54.1855154 C258.830963,54.5721488 258.607993,54.9093495 258.315821,55.1971278 C258.023649,55.484906 257.663383,55.711171 257.23501,55.8759295 C256.806638,56.040688 256.320059,56.1230661 255.775257,56.1230661 C255.476495,56.1230661 255.172245,56.0923116 254.862499,56.0308018 C254.552753,55.9692919 254.252897,55.8825204 253.962922,55.7704846 C253.672947,55.6584488 253.400551,55.5255456 253.145724,55.3717709 C252.890898,55.2179963 252.669026,55.04665 252.480103,54.8577269 L253.139134,53.8164581 C253.187463,53.7373741 253.255562,53.6736684 253.343433,53.6253392 C253.431305,53.57701 253.525765,53.5528458 253.626817,53.5528458 C253.758623,53.5528458 253.891527,53.594584 254.02553,53.6780617 C254.159534,53.7615393 254.311109,53.8538027 254.480262,53.9548546 C254.649414,54.0559065 254.843826,54.1481699 255.063504,54.2316476 C255.283182,54.3151252 255.542398,54.3568634 255.84116,54.3568634 C256.245368,54.3568634 256.559503,54.2678952 256.783574,54.0899559 C257.007646,53.9120167 257.11968,53.6297347 257.11968,53.2431013 C257.11968,53.0190297 257.058171,52.8366997 256.935151,52.6961057 C256.812132,52.5555118 256.650671,52.4390842 256.450764,52.3468194 C256.250857,52.2545546 256.023493,52.1732749 255.768667,52.102978 C255.51384,52.032681 255.252427,51.9546965 254.98442,51.869022 C254.716413,51.7833476 254.455,51.6779037 254.200173,51.5526872 C253.945347,51.4274707 253.717984,51.2627147 253.518077,51.0584141 C253.31817,50.8541135 253.156709,50.5992908 253.033689,50.2939383 C252.910669,49.9885858 252.84916,49.6118437 252.84916,49.1637004 C252.84916,48.8034284 252.921653,48.4519489 253.06664,48.1092511 C253.211628,47.7665534 253.424712,47.4612055 253.7059,47.1931982 C253.987088,46.925191 254.331978,46.7110081 254.740579,46.5506432 C255.14918,46.3902782 255.617087,46.3100969 256.144314,46.3100969 C256.438683,46.3100969 256.725359,46.3331628 257.00435,46.3792952 C257.283341,46.4254275 257.548049,46.4935267 257.798482,46.5835947 C258.048915,46.6736627 258.282868,46.7813033 258.50035,46.9065198 C258.717831,47.0317363 258.912243,47.1734265 259.083592,47.3315947 L258.530006,48.3662731 Z" id="For-Councils" fill="#7C7977"></path>
- </g>
-</svg>
+<svg width="868" height="227" viewBox="0 0 868 227" xmlns="http://www.w3.org/2000/svg"><title>Group Copy</title><g fill="none" fill-rule="evenodd"><path d="M114.43 203.25c-16.066 0-31.148-4.185-44.242-11.48l40.8-41.678c.197-.186.328-.43.51-.626 3.32.83 6.728 1.39 10.292 1.39 23.903.063 43.325-19.1 43.398-42.804.027-3.782-.618-7.396-1.54-10.923l-22.794 22.485-25.198-5.407-5.307-25.042 22.845-22.5c-3.564-.986-7.26-1.68-11.146-1.685-23.895-.053-43.33 19.064-43.404 42.795-.018 5.04 1.004 9.793 2.597 14.287L39.875 164.29c-10.034-14.452-15.93-31.944-15.93-50.79 0-49.49 40.596-89.75 90.486-89.75 49.895 0 90.483 40.26 90.483 89.75 0 49.5-40.588 89.75-90.482 89.75m0-203.25C51.335 0 0 50.92 0 113.495 0 176.08 51.334 227 114.43 227c63.09 0 114.418-50.92 114.418-113.505C228.848 50.92 177.518 0 114.43 0" fill="#FED876"/><path d="M311.135 42.185v8.69h-37.84V78.43h32.34v8.69h-32.34V121H262.57V42.185h48.565zm23.045 23.1V121h-9.79V65.285h9.79zm2.2-17.49c0 .953-.192 1.842-.577 2.667-.386.826-.9 1.56-1.54 2.2-.642.642-1.385 1.146-2.228 1.513-.843.367-1.742.55-2.695.55-.953 0-1.842-.183-2.667-.55-.826-.367-1.56-.87-2.2-1.512-.642-.642-1.146-1.375-1.513-2.2-.367-.826-.55-1.715-.55-2.668 0-.953.183-1.86.55-2.723.367-.86.87-1.613 1.513-2.255.64-.64 1.374-1.145 2.2-1.512.825-.367 1.714-.55 2.667-.55.953 0 1.852.183 2.695.55.843.367 1.586.87 2.227 1.513.642.64 1.155 1.393 1.54 2.255.386.86.578 1.77.578 2.722zm28.105 44.66l-18.755-27.17h9.405c.807 0 1.393.128 1.76.385s.697.623.99 1.1l13.64 20.9c.33-1.027.807-2.053 1.43-3.08l11.99-17.6c.367-.513.733-.926 1.1-1.237.367-.312.825-.468 1.375-.468h9.02l-18.755 26.62L397.21 121h-9.405c-.807 0-1.44-.21-1.897-.632-.46-.422-.835-.89-1.128-1.403L370.755 97.13c-.257 1.063-.642 2.017-1.155 2.86l-12.98 18.975c-.367.513-.76.98-1.183 1.403-.42.42-1 .632-1.732.632h-8.745l19.525-28.545zm82.72.055c.513.88.962 1.806 1.348 2.777.385.972.76 1.953 1.127 2.943.367-1.027.752-2.007 1.155-2.943.403-.935.862-1.88 1.375-2.832L478.885 44c.477-.843.972-1.357 1.485-1.54.513-.183 1.247-.275 2.2-.275h7.865V121h-9.35V63.085c0-.77.018-1.595.055-2.475.037-.88.092-1.778.165-2.695l-27.005 49.28c-.917 1.65-2.2 2.475-3.85 2.475h-1.54c-1.65 0-2.933-.825-3.85-2.475L417.45 57.75c.11.953.192 1.888.248 2.805.055.917.082 1.76.082 2.53V121h-9.35V42.185h7.865c.953 0 1.687.092 2.2.275.513.183 1.008.697 1.485 1.54l27.225 48.51zm77.22 44.935c-.33.733-.742 1.32-1.237 1.76-.496.44-1.256.66-2.283.66h-7.26l10.175-22.11-22.99-52.47h8.47c.843 0 1.503.21 1.98.633.477.42.825.89 1.045 1.402l14.905 35.09c.33.807.614 1.613.852 2.42.24.807.45 1.632.633 2.475.257-.843.513-1.668.77-2.475.257-.807.55-1.632.88-2.475L544.83 67.32c.22-.587.596-1.072 1.127-1.457.532-.386 1.11-.578 1.733-.578h7.81l-31.075 72.16z" fill="#9E9A98"/><path d="M851.73 121.88c-2.713 0-5.106-.394-7.178-1.182-2.07-.79-3.813-1.907-5.225-3.355-1.41-1.45-2.484-3.2-3.217-5.253-.733-2.053-1.1-4.345-1.1-6.875v-29.48h-4.84c-.88 0-1.632-.284-2.255-.853-.623-.568-.935-1.402-.935-2.502v-6.655l9.075-1.76 3.355-13.915c.44-1.76 1.687-2.64 3.74-2.64h8.91v16.665h13.86v11.66h-13.86v28.325c0 1.32.32 2.41.963 3.272.64.862 1.567 1.293 2.777 1.293.623 0 1.146-.064 1.567-.192.422-.13.79-.275 1.1-.44.312-.166.605-.312.88-.44.276-.13.596-.193.963-.193.513 0 .926.12 1.238.358.31.238.632.614.962 1.127l5.17 8.085c-2.2 1.65-4.675 2.887-7.425 3.712-2.75.826-5.592 1.238-8.525 1.238zM607.64 57.145c-.55.88-1.127 1.54-1.732 1.98-.606.44-1.385.66-2.338.66-.843 0-1.75-.266-2.723-.797-.97-.532-2.07-1.128-3.3-1.788-1.228-.66-2.63-1.256-4.207-1.788-1.577-.53-3.373-.797-5.39-.797-3.483 0-6.077.742-7.783 2.227-1.705 1.486-2.557 3.493-2.557 6.023 0 1.613.513 2.952 1.54 4.015 1.027 1.063 2.374 1.98 4.043 2.75 1.668.77 3.574 1.476 5.72 2.118 2.145.64 4.335 1.356 6.572 2.144 2.237.79 4.427 1.715 6.572 2.778 2.146 1.063 4.052 2.42 5.72 4.07 1.67 1.65 3.016 3.657 4.043 6.023 1.027 2.365 1.54 5.215 1.54 8.552 0 3.703-.642 7.168-1.925 10.395-1.283 3.227-3.144 6.04-5.582 8.443-2.44 2.4-5.445 4.29-9.02 5.664-3.576 1.376-7.636 2.063-12.183 2.063-2.493 0-5.032-.257-7.617-.77-2.586-.513-5.088-1.237-7.508-2.172-2.42-.936-4.693-2.045-6.82-3.328-2.127-1.283-3.978-2.713-5.555-4.29l5.5-8.69c.403-.66.972-1.192 1.705-1.595.733-.403 1.522-.605 2.365-.605 1.1 0 2.21.348 3.327 1.045 1.12.697 2.384 1.467 3.795 2.31 1.412.843 3.035 1.613 4.868 2.31 1.833.697 3.997 1.045 6.49 1.045 3.373 0 5.995-.742 7.865-2.228 1.87-1.485 2.805-3.84 2.805-7.067 0-1.87-.513-3.392-1.54-4.565-1.027-1.173-2.374-2.145-4.043-2.915-1.668-.77-3.565-1.448-5.692-2.035-2.127-.587-4.308-1.237-6.545-1.953-2.237-.715-4.418-1.594-6.545-2.64-2.127-1.045-4.024-2.42-5.692-4.124-1.67-1.706-3.016-3.832-4.043-6.38-1.027-2.55-1.54-5.693-1.54-9.433 0-3.007.605-5.94 1.815-8.8 1.21-2.86 2.988-5.408 5.335-7.645 2.347-2.237 5.225-4.024 8.635-5.362 3.41-1.34 7.315-2.008 11.715-2.008 2.457 0 4.85.192 7.178.578 2.328.385 4.537.953 6.627 1.704 2.09.752 4.042 1.65 5.858 2.695 1.815 1.046 3.437 2.228 4.867 3.548l-4.62 8.635zM642.62 121.88c-2.713 0-5.106-.394-7.178-1.182-2.07-.79-3.813-1.907-5.225-3.355-1.41-1.45-2.484-3.2-3.217-5.253-.733-2.053-1.1-4.345-1.1-6.875v-29.48h-4.84c-.88 0-1.632-.284-2.255-.853-.623-.568-.935-1.402-.935-2.502v-6.655l9.075-1.76L630.3 50.05c.44-1.76 1.687-2.64 3.74-2.64h8.91v16.665h13.86v11.66h-13.86v28.325c0 1.32.32 2.41.962 3.272.642.862 1.568 1.293 2.778 1.293.623 0 1.146-.064 1.567-.192.422-.13.79-.275 1.1-.44.312-.166.605-.312.88-.44.276-.13.596-.193.963-.193.513 0 .926.12 1.237.358.312.238.633.614.963 1.127l5.17 8.085c-2.2 1.65-4.675 2.887-7.425 3.712-2.75.826-5.592 1.238-8.525 1.238zM666.6 121V63.965h10.12c.843 0 1.55.073 2.117.22.57.147 1.045.376 1.43.688.386.31.68.724.88 1.237.202.513.376 1.137.523 1.87l.935 5.335c2.09-3.227 4.437-5.775 7.04-7.645 2.603-1.87 5.445-2.805 8.525-2.805 2.603 0 4.693.623 6.27 1.87l-2.2 12.54c-.147.77-.44 1.31-.88 1.622-.44.312-1.027.468-1.76.468-.623 0-1.357-.082-2.2-.247-.843-.166-1.907-.248-3.19-.248-4.473 0-7.993 2.383-10.56 7.15V121H666.6zM736.45 63.085c3.777 0 7.232.587 10.367 1.76 3.136 1.173 5.83 2.878 8.086 5.115 2.255 2.237 4.014 4.977 5.28 8.223 1.265 3.245 1.897 6.92 1.897 11.027 0 1.283-.055 2.328-.165 3.135-.11.807-.312 1.448-.605 1.925-.293.477-.687.807-1.182.99-.496.183-1.128.275-1.898.275h-32.89c.55 4.767 1.998 8.222 4.345 10.368 2.347 2.145 5.372 3.217 9.075 3.217 1.98 0 3.685-.238 5.115-.715 1.43-.477 2.704-1.008 3.822-1.595 1.12-.587 2.145-1.118 3.08-1.595.936-.477 1.916-.715 2.943-.715 1.357 0 2.383.495 3.08 1.485l4.95 6.105c-1.76 2.017-3.657 3.657-5.692 4.922-2.036 1.266-4.125 2.255-6.27 2.97-2.146.716-4.29 1.21-6.436 1.486-2.145.275-4.19.412-6.132.412-3.997 0-7.746-.65-11.248-1.953-3.5-1.3-6.563-3.235-9.184-5.802-2.622-2.567-4.694-5.757-6.216-9.57-1.52-3.813-2.282-8.25-2.282-13.31 0-3.813.65-7.425 1.952-10.835 1.302-3.41 3.172-6.398 5.61-8.965 2.44-2.567 5.39-4.602 8.856-6.105 3.465-1.503 7.38-2.255 11.742-2.255zm.33 11.77c-3.263 0-5.812.926-7.645 2.777-1.833 1.852-3.043 4.52-3.63 8.003h21.285c0-1.357-.174-2.677-.522-3.96-.35-1.283-.917-2.43-1.706-3.438-.788-1.008-1.824-1.824-3.107-2.447-1.283-.623-2.842-.935-4.675-.935zM796.29 63.085c3.777 0 7.232.587 10.368 1.76 3.135 1.173 5.83 2.878 8.084 5.115 2.256 2.237 4.015 4.977 5.28 8.223 1.266 3.245 1.898 6.92 1.898 11.027 0 1.283-.055 2.328-.165 3.135-.11.807-.312 1.448-.605 1.925-.293.477-.687.807-1.183.99-.495.183-1.127.275-1.897.275h-32.89c.55 4.767 1.998 8.222 4.345 10.368 2.347 2.145 5.372 3.217 9.075 3.217 1.98 0 3.685-.238 5.115-.715 1.43-.477 2.704-1.008 3.822-1.595 1.12-.587 2.145-1.118 3.08-1.595.936-.477 1.916-.715 2.943-.715 1.357 0 2.383.495 3.08 1.485l4.95 6.105c-1.76 2.017-3.657 3.657-5.692 4.922-2.036 1.266-4.125 2.255-6.27 2.97-2.146.716-4.29 1.21-6.436 1.486-2.145.275-4.19.412-6.132.412-3.997 0-7.746-.65-11.247-1.953-3.502-1.3-6.564-3.235-9.185-5.802-2.622-2.567-4.694-5.757-6.216-9.57-1.52-3.813-2.282-8.25-2.282-13.31 0-3.813.65-7.425 1.952-10.835 1.302-3.41 3.172-6.398 5.61-8.965 2.44-2.567 5.39-4.602 8.856-6.105 3.465-1.503 7.38-2.255 11.742-2.255zm.33 11.77c-3.263 0-5.812.926-7.645 2.777-1.833 1.852-3.043 4.52-3.63 8.003h21.285c0-1.357-.174-2.677-.523-3.96-.348-1.283-.916-2.43-1.704-3.438-.79-1.008-1.825-1.824-3.108-2.447-1.283-.623-2.842-.935-4.675-.935z" fill="#3B3F44"/><path d="M266.847 176.53V187h-7.267v-31.326h11.05c2.208 0 4.104.262 5.688.785 1.584.522 2.888 1.243 3.913 2.16 1.026.917 1.782 2 2.27 3.246.486 1.248.73 2.595.73 4.042 0 1.563-.25 2.996-.752 4.3-.502 1.305-1.27 2.423-2.3 3.355-1.033.93-2.34 1.66-3.925 2.182-1.584.523-3.458.785-5.622.785h-3.783zm0-5.483h3.784c1.893 0 3.255-.45 4.086-1.355.83-.903 1.247-2.164 1.247-3.784 0-.716-.107-1.368-.323-1.956-.215-.588-.54-1.093-.978-1.516-.437-.423-.99-.75-1.655-.978-.667-.23-1.46-.344-2.376-.344h-3.783v9.933zm54.064 4.364V187h-7.266v-31.326h10.19c2.266 0 4.197.233 5.795.7 1.597.465 2.902 1.114 3.912 1.945 1.01.83 1.745 1.812 2.204 2.945.46 1.132.688 2.364.688 3.698 0 1.017-.136 1.977-.41 2.88-.27.904-.676 1.738-1.213 2.505-.537.767-1.196 1.45-1.977 2.053-.78.604-1.68 1.098-2.7 1.485.49.244.944.545 1.367.903.423.358.792.795 1.107 1.31L339.272 187h-6.58c-1.217 0-2.092-.46-2.622-1.376l-5.203-9.094c-.23-.402-.498-.688-.806-.86-.307-.173-.74-.258-1.3-.258h-1.85zm0-5.008h2.925c.99 0 1.83-.125 2.526-.376.696-.25 1.266-.6 1.71-1.043.445-.444.767-.964.968-1.56.2-.594.3-1.235.3-1.923 0-1.376-.447-2.45-1.343-3.225-.896-.774-2.282-1.16-4.16-1.16h-2.924v9.287zm77.8.925c0 2.264-.39 4.37-1.17 6.32-.782 1.95-1.882 3.645-3.3 5.085-1.42 1.44-3.13 2.57-5.13 3.387-1.998.816-4.216 1.224-6.653 1.224-2.437 0-4.658-.408-6.665-1.225-2.007-.82-3.723-1.947-5.15-3.388-1.425-1.44-2.53-3.135-3.31-5.084-.78-1.95-1.172-4.057-1.172-6.32 0-2.266.39-4.373 1.172-6.322.78-1.95 1.885-3.64 3.31-5.075 1.427-1.432 3.143-2.557 5.15-3.374 2.007-.817 4.228-1.226 6.665-1.226 2.437 0 4.655.413 6.654 1.237 2 .824 3.71 1.953 5.13 3.386 1.418 1.433 2.518 3.125 3.3 5.074.78 1.95 1.17 4.05 1.17 6.3zm-7.438 0c0-1.55-.2-2.942-.602-4.182-.4-1.24-.978-2.29-1.73-3.15-.753-.86-1.674-1.52-2.764-1.978-1.09-.46-2.33-.688-3.72-.688-1.404 0-2.654.228-3.75.687-1.097.46-2.022 1.118-2.774 1.978-.753.86-1.33 1.91-1.73 3.15-.402 1.24-.603 2.633-.603 4.181 0 1.563.2 2.964.6 4.204.402 1.24.98 2.29 1.732 3.15.752.86 1.677 1.515 2.773 1.967 1.097.45 2.347.677 3.752.677 1.39 0 2.63-.226 3.72-.677 1.09-.452 2.01-1.107 2.762-1.968.752-.86 1.33-1.91 1.73-3.15.4-1.24.602-2.64.602-4.203zm57.72-15.653v5.59h-12.858v7.934h10.707v5.612h-10.706V187h-7.31v-31.326h20.167zm50.58 0v5.59h-12.857v7.31h9.847v5.375h-9.847v7.46h12.857V187h-20.167v-31.326h20.167zm48.216 6.364c-.215.345-.44.602-.677.774-.236.173-.54.258-.913.258-.33 0-.684-.103-1.064-.31-.38-.21-.81-.442-1.29-.7-.48-.258-1.03-.49-1.645-.7-.616-.207-1.32-.31-2.107-.31-1.36 0-2.375.29-3.04.87-.668.58-1 1.365-1 2.355 0 .63.2 1.153.6 1.57.402.415.93.773 1.58 1.074.653.3 1.4.576 2.237.827.84.25 1.695.53 2.57.838.874.308 1.73.67 2.57 1.086.837.417 1.583.947 2.235 1.592.652.645 1.18 1.43 1.58 2.354.4.925.602 2.04.602 3.343 0 1.447-.25 2.802-.753 4.063-.5 1.26-1.228 2.36-2.18 3.3-.954.94-2.13 1.677-3.527 2.215-1.397.537-2.985.806-4.762.806-.974 0-1.966-.1-2.977-.3-1.01-.202-1.988-.485-2.935-.85-.946-.366-1.834-.8-2.666-1.3-.83-.503-1.555-1.062-2.17-1.678l2.15-3.397c.157-.26.38-.467.665-.624.287-.158.595-.237.925-.237.43 0 .864.135 1.3.407.438.273.932.574 1.484.904.552.33 1.186.63 1.903.903.716.273 1.56.41 2.536.41 1.32 0 2.343-.29 3.074-.872.73-.58 1.097-1.5 1.097-2.762 0-.73-.2-1.325-.602-1.784-.4-.46-.928-.838-1.58-1.14-.652-.3-1.394-.566-2.226-.795-.832-.23-1.685-.485-2.56-.764-.873-.28-1.726-.624-2.558-1.032-.83-.41-1.573-.946-2.225-1.613-.652-.665-1.18-1.497-1.58-2.493-.4-.996-.602-2.225-.602-3.687 0-1.175.236-2.322.71-3.44.472-1.118 1.168-2.114 2.085-2.988.917-.875 2.042-1.574 3.375-2.097 1.334-.523 2.86-.785 4.58-.785.96 0 1.896.076 2.806.226.91.15 1.774.373 2.59.667.818.294 1.582.645 2.29 1.053.71.41 1.345.87 1.904 1.387l-1.806 3.375zm49.936 0c-.215.345-.44.602-.677.774-.237.173-.54.258-.914.258-.33 0-.684-.103-1.064-.31-.38-.21-.81-.442-1.29-.7-.48-.258-1.03-.49-1.646-.7-.616-.207-1.32-.31-2.107-.31-1.362 0-2.376.29-3.042.87-.667.58-1 1.365-1 2.355 0 .63.2 1.153.602 1.57.4.415.928.773 1.58 1.074.652.3 1.398.576 2.236.827.84.25 1.695.53 2.57.838.874.308 1.73.67 2.57 1.086.837.417 1.583.947 2.235 1.592.652.645 1.18 1.43 1.58 2.354.4.925.602 2.04.602 3.343 0 1.447-.25 2.802-.753 4.063-.5 1.26-1.23 2.36-2.182 3.3-.953.94-2.128 1.677-3.526 2.215-1.398.537-2.986.806-4.763.806-.975 0-1.967-.1-2.978-.3-1.01-.202-1.99-.485-2.936-.85-.946-.366-1.834-.8-2.666-1.3-.83-.503-1.555-1.062-2.17-1.678l2.15-3.397c.157-.26.38-.467.665-.624.287-.158.595-.237.925-.237.43 0 .864.135 1.3.407.438.273.932.574 1.484.904.552.33 1.186.63 1.903.903.717.273 1.562.41 2.537.41 1.32 0 2.343-.29 3.074-.872.73-.58 1.097-1.5 1.097-2.762 0-.73-.2-1.325-.602-1.784-.4-.46-.927-.838-1.58-1.14-.65-.3-1.393-.566-2.225-.795-.83-.23-1.684-.485-2.558-.764-.874-.28-1.727-.624-2.56-1.032-.83-.41-1.572-.946-2.224-1.613-.652-.665-1.18-1.497-1.58-2.493-.4-.996-.602-2.225-.602-3.687 0-1.175.237-2.322.71-3.44.473-1.118 1.17-2.114 2.086-2.988.917-.875 2.042-1.574 3.375-2.097 1.335-.523 2.86-.785 4.58-.785.96 0 1.897.076 2.807.226.91.15 1.773.373 2.59.667.817.294 1.58.645 2.29 1.053.71.41 1.344.87 1.903 1.387l-1.806 3.375zM638.157 187h-7.31v-31.326h7.31V187zm63.352-15.673c0 2.264-.392 4.37-1.173 6.32-.78 1.95-1.88 3.645-3.3 5.085s-3.128 2.57-5.128 3.387c-2 .816-4.218 1.224-6.655 1.224-2.437 0-4.658-.408-6.665-1.225-2.007-.82-3.723-1.947-5.15-3.388-1.425-1.44-2.53-3.135-3.31-5.084-.78-1.95-1.172-4.057-1.172-6.32 0-2.266.39-4.373 1.172-6.322.78-1.95 1.885-3.64 3.31-5.075 1.427-1.432 3.143-2.557 5.15-3.374 2.007-.817 4.228-1.226 6.665-1.226 2.437 0 4.655.413 6.654 1.237 2 .824 3.708 1.953 5.127 3.386 1.42 1.433 2.52 3.125 3.3 5.074.78 1.95 1.172 4.05 1.172 6.3zm-7.44 0c0-1.55-.2-2.942-.602-4.182-.4-1.24-.978-2.29-1.73-3.15-.753-.86-1.674-1.52-2.764-1.978-1.09-.46-2.33-.688-3.72-.688-1.404 0-2.654.228-3.75.687-1.097.46-2.022 1.118-2.774 1.978-.753.86-1.33 1.91-1.73 3.15-.402 1.24-.603 2.633-.603 4.181 0 1.563.2 2.964.602 4.204.4 1.24.977 2.29 1.73 3.15.752.86 1.677 1.515 2.773 1.967 1.097.45 2.347.677 3.752.677 1.39 0 2.63-.226 3.72-.677 1.09-.452 2.01-1.107 2.762-1.968.753-.86 1.33-1.91 1.73-3.15.402-1.24.603-2.64.603-4.203zm41.38-15.653c.314 0 .58.015.794.043.215.03.41.083.58.162.173.078.338.19.495.332.157.143.336.337.537.58l14.878 18.813c-.057-.602-.1-1.186-.13-1.752-.028-.566-.042-1.1-.042-1.602v-16.576h6.407V187h-3.784c-.56 0-1.032-.086-1.42-.258-.386-.172-.76-.487-1.117-.946l-14.772-18.662c.043.545.08 1.08.108 1.602.03.523.043 1.014.043 1.472V187h-6.408v-31.326h3.827zM819.913 187h-5.633c-.63 0-1.15-.147-1.558-.44-.408-.295-.69-.67-.85-1.13l-1.848-5.46h-11.91l-1.85 5.46c-.143.402-.423.764-.84 1.086-.414.323-.923.484-1.525.484h-5.677l12.126-31.326h7.438L819.914 187zm-20.124-11.976h8.557l-2.88-8.578-.657-1.924c-.25-.738-.498-1.537-.742-2.397-.23.874-.465 1.684-.71 2.43-.243.744-.472 1.39-.687 1.934l-2.88 8.534zm56.558 6.17h11.61V187H849.08v-31.326h7.268v25.52z" fill="#7C7977"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/greenwich-logo.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/greenwich-logo.png
index 0439b2a25..0f202c7e7 100644
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/greenwich-logo.png
+++ b/web/cobrands/fixmystreet.com/images/fms-for-councils/greenwich-logo.png
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/hart-logo.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/hart-logo.png
index 8ec4dd68e..376623469 100644
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/hart-logo.png
+++ b/web/cobrands/fixmystreet.com/images/fms-for-councils/hart-logo.png
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/inspection.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/inspection.svg
new file mode 100644
index 000000000..6c9b6c0fa
--- /dev/null
+++ b/web/cobrands/fixmystreet.com/images/fms-for-councils/inspection.svg
@@ -0,0 +1 @@
+<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>inspection</title><g fill="#E65376" fill-rule="evenodd"><path d="M39.66 54.65l-2.232 2.2-4.06-4.01c-.323-.32-.742-.48-1.16-.48-.42 0-.84.16-1.16.48l-4.06 4.01-4.06-4.01c-.644-.63-1.677-.63-2.32 0l-3.904 3.86-2.4-2.38V15.3H39.66v1.6c1.168.42 2.276.96 3.3 1.63v-4.88c0-.91-.737-1.65-1.65-1.65H12.652c-.91 0-1.652.74-1.652 1.65v41.36c0 .45.178.87.492 1.18l4.05 4c.645.64 1.677.64 2.323 0l3.903-3.86 4.058 4.01c.645.64 1.678.64 2.322 0l4.06-4.01 4.06 4.01c.322.32.74.48 1.16.48.42 0 .838-.16 1.16-.48l3.884-3.83c.313-.31.49-.73.49-1.17v-9.95c-1.026.66-2.134 1.22-3.302 1.63v7.63"/><path d="M39.66 40.65c-1.558.97-3.39 1.53-5.36 1.54-3.436-.01-6.464-1.71-8.317-4.31h9.857c.91 0 1.65-.74 1.65-1.65 0-.91-.74-1.65-1.65-1.65H24.558c-.042 0-.082.01-.125.01-.225-.84-.358-1.72-.36-2.63.002-.93.138-1.82.37-2.68.04.01.075.02.115.02H35.84c.91 0 1.65-.74 1.65-1.65 0-.92-.74-1.66-1.65-1.66h-9.826c1.855-2.57 4.87-4.25 8.287-4.26 1.97.01 3.802.57 5.36 1.53 1.337.83 2.467 1.95 3.3 3.28.988 1.57 1.568 3.43 1.572 5.42-.004 1.99-.584 3.85-1.57 5.42-.835 1.33-1.965 2.45-3.302 3.27zm7.993-8.69c0-4.07-1.825-7.7-4.692-10.15-.985-.84-2.094-1.54-3.3-2.07-1.64-.72-3.452-1.13-5.36-1.13-3.378 0-6.455 1.27-8.806 3.34h-6.832c-.365 0-.66.29-.66.66 0 .36.295.66.66.66h5.522c-1.254 1.46-2.193 3.19-2.727 5.09h-2.795c-.365 0-.66.3-.66.66 0 .31.204.55.48.63.057.02.117.04.18.04h2.5c-.128.74-.208 1.49-.208 2.27 0 1.01.12 1.99.333 2.93h-2.625c-.025 0-.048.01-.074.01-.328.04-.586.31-.586.65 0 .36.295.66.66.66h2.994c.665 1.98 1.774 3.76 3.22 5.2h-6.214c-.365 0-.66.3-.66.66 0 .36.295.66.66.66h7.778c2.207 1.61 4.92 2.58 7.86 2.58 1.908 0 3.72-.41 5.36-1.13 1.206-.53 2.315-1.23 3.3-2.07 2.868-2.45 4.693-6.09 4.693-10.15zM59.687 51.88l-11.68-11.69-.04-.04c-1.236 2.06-2.916 3.82-4.92 5.14l.03.03L54.66 56.91c1.147 1.14 3.025 1.14 4.17-.01l.857-.85c1.148-1.15 1.148-3.03 0-4.17"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/integrated.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/integrated.svg
new file mode 100644
index 000000000..9fdf394a5
--- /dev/null
+++ b/web/cobrands/fixmystreet.com/images/fms-for-councils/integrated.svg
@@ -0,0 +1 @@
+<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>integrated</title><path d="M54.917 19.475c-1.983 0-3.59-1.598-3.59-3.587 0-1.977 1.607-3.587 3.59-3.587 1.983 0 3.59 1.61 3.59 3.588 0 1.99-1.607 3.587-3.59 3.587zm-18.91 0c-1.983 0-3.59-1.598-3.59-3.587 0-1.977 1.607-3.587 3.59-3.587 1.982 0 3.588 1.61 3.588 3.588 0 1.99-1.606 3.587-3.588 3.587zm-18.91 0c-1.98 0-3.59-1.598-3.59-3.587 0-1.977 1.61-3.587 3.59-3.587 1.984 0 3.588 1.61 3.588 3.588 0 1.99-1.604 3.587-3.59 3.587zm18.91 25.203c4.21 0 7.63 3.433 7.63 7.636 0 4.214-3.42 7.635-7.63 7.635s-7.63-3.422-7.63-7.636c0-4.203 3.42-7.636 7.63-7.636zm-16.86-16.704c0 .9.274 1.468.82 1.682.55.224 1.187.33 1.916.33 1.26 0 2.414-.13 3.457-.39 1.044-.272 2.098-.402 3.158-.402 2.355 0 4.094.343 5.22 1.018 1.13.675 1.857 1.49 2.19 2.462h.2c.33-.97 1.062-1.787 2.186-2.462 1.128-.675 2.87-1.018 5.222-1.018 1.093 0 2.12.13 3.085.402.96.26 1.954.39 2.984.39.86 0 1.624-.106 2.286-.33.664-.214.997-.782.997-1.682 0-.532.115-1.04.346-1.527.232-.473.78-.722 1.64-.722.5 0 .906.12 1.22.355.312.237.555.52.722.876.164.356.28.734.347 1.15.066.4.1.792.1 1.135 0 1.292-.325 2.357-.97 3.21-.647.852-1.486 1.503-2.513 1.953-1.028.46-2.172.722-3.43.793-1.26.07-2.504-.024-3.73-.284-2.52-.533-4.54-.52-6.07.023-1.523.533-2.283 1.54-2.283 3.007 0 .675-.22 1.208-.65 1.598-.427.403-.96.592-1.59.592-.63 0-1.16-.19-1.59-.592-.432-.39-.647-.923-.647-1.598 0-1.468-.763-2.474-2.287-3.007-1.525-.544-3.55-.556-6.067-.023-1.23.26-2.472.355-3.732.284-1.258-.07-2.404-.332-3.43-.793-1.027-.45-1.866-1.1-2.512-1.954-.647-.853-.968-1.918-.968-3.21 0-.342.032-.733.096-1.135.068-.415.184-.793.35-1.15.166-.354.397-.638.698-.875.298-.236.694-.355 1.19-.355.897 0 1.46.25 1.692.722.233.486.347.995.347 1.527z" fill="#E95376" fill-rule="evenodd"/></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/intelligent-routing.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/intelligent-routing.svg
new file mode 100644
index 000000000..ce9a3dc5b
--- /dev/null
+++ b/web/cobrands/fixmystreet.com/images/fms-for-councils/intelligent-routing.svg
@@ -0,0 +1 @@
+<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>intelligent-routing</title><g fill="#E65376" fill-rule="evenodd"><path d="M31.97 61.13h7.047v-6.3H31.97M35.494 24.19c-2.43 0-4.397-1.91-4.397-4.26 0-2.35 1.968-4.25 4.397-4.25 2.43 0 4.397 1.9 4.397 4.25s-1.967 4.26-4.396 4.26zm0 11.89c-2.43 0-4.397-1.9-4.397-4.25s1.968-4.26 4.397-4.26c2.43 0 4.397 1.91 4.397 4.26 0 2.35-1.967 4.25-4.396 4.25zm0 11.9c-2.43 0-4.397-1.91-4.397-4.26 0-2.35 1.968-4.26 4.397-4.26 2.43 0 4.397 1.91 4.397 4.26 0 2.35-1.967 4.26-4.396 4.26zM54.23 25.19c0-.38-.31-.69-.693-.69-.045 0-.084.01-.126.02-.053-.01-.107-.02-.164-.02h-7.15l.237-5.63c4.694-1.22 7.898-3.94 7.898-7.17 0-.39-.31-.7-.693-.7-.045 0-.084.02-.126.03-.053-.02-.107-.03-.164-.03H17.694c-.086 0-.167.02-.244.05-.025.01-.046.02-.07.04-.05.02-.096.05-.138.09l-.06.06c-.038.04-.07.09-.097.14-.01.02-.026.04-.034.06 0 .01-.006.01-.008.02-.027.07-.038.15-.04.23 0 0-.002 0-.002.01 0 3.18 3.094 5.85 7.652 7.1l.24 5.7h-7.198c-.086 0-.167.02-.244.04-.025.01-.046.03-.07.04-.05.02-.096.05-.138.09l-.06.06c-.038.04-.07.09-.097.14-.01.02-.026.04-.034.06 0 .01-.006.02-.008.02-.027.08-.038.15-.04.23l-.002.01c0 3.31 3.35 6.09 8.228 7.26l.192 4.54h-7.032c-.085 0-.167.02-.244.05l-.07.03c-.05.03-.096.06-.14.1-.02.02-.04.03-.057.05-.04.05-.07.1-.098.15-.012.02-.026.04-.035.06-.003.01-.007.01-.01.02-.026.07-.038.15-.04.22v.01c0 3.28 3.275 6.03 8.06 7.22l.14 3.36c0 2.41 1.967 4.38 4.382 4.38H40.71c2.416 0 4.382-1.97 4.38-4.35l.14-3.33c4.92-1.16 8.307-3.94 8.307-7.28 0-.38-.31-.69-.695-.69-.044 0-.083.02-.126.03-.053-.02-.107-.03-.164-.03h-6.985l.19-4.49c5.007-1.14 8.474-3.94 8.474-7.31z"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/map-centric.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/map-centric.svg
new file mode 100644
index 000000000..c4f39ac40
--- /dev/null
+++ b/web/cobrands/fixmystreet.com/images/fms-for-councils/map-centric.svg
@@ -0,0 +1 @@
+<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>map-centric</title><g fill="#E65376" fill-rule="evenodd"><path d="M59.06 13.376l-10.12-2.333c-.363-.083-.745-.044-1.086.11L35.997 16.58l-10.91-4.55c-.406-.167-.86-.174-1.268-.015L12.08 16.59c-.652.253-1.08.88-1.08 1.58V50.38c0 .56.275 1.085.738 1.4.46.316 1.05.383 1.57.18l11.106-4.327 10.96 4.573c.21.085.432.13.654.13.24 0 .482-.052.706-.154l.88-.402-1.505-3.04-.113.05-10.91-4.55c-.208-.086-.43-.13-.653-.13-.208 0-.417.04-.615.115L14.39 47.9V19.33l10.024-3.908 10.96 4.572c.438.182.93.174 1.36-.023l12.007-5.493 8.244 1.9V45.11l-1.598-.367-.806 1.63c-.127.286-.266.567-.418.842l-.026.054-.295.596 4.46 1.027c.502.116 1.03-.004 1.435-.326.404-.32.64-.81.64-1.326V15.03c0-.79-.545-1.475-1.315-1.654"/><path d="M23.756 19.79v20.44c0 .376.304.68.678.68.374 0 .68-.304.68-.68V19.79c0-.375-.306-.68-.68-.68-.374 0-.678.305-.678.68M35.35 23.747v10.287c0 .375.304.678.678.678.374 0 .68-.303.68-.678V23.747c0-.375-.306-.68-.68-.68-.374 0-.68.305-.68.68M49.464 30.76V18.34c0-.375-.304-.68-.68-.68-.374 0-.677.305-.677.68V30.76c0 .375.303.68.678.68.375 0 .68-.305.68-.68M44.76 44.436c-1.862 0-3.372-1.51-3.372-3.37s1.51-3.37 3.37-3.37c1.863 0 3.37 1.51 3.37 3.37s-1.507 3.37-3.37 3.37zm0-10.402c-4.43 0-8.023 3.592-8.023 8.02 0 1.462.4 2.83 1.08 4.01h-.006l.767 1.548 6.18 12.49 6.366-12.863.582-1.175h-.008c.356-.615.63-1.283.816-1.984.17-.648.268-1.326.268-2.026 0-4.428-3.593-8.02-8.02-8.02z"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/minus.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/minus.svg
index 37ff7a93c..5623cc577 100644
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/minus.svg
+++ b/web/cobrands/fixmystreet.com/images/fms-for-councils/minus.svg
@@ -1,13 +1 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="36px" height="36px" viewBox="0 0 36 36" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <!-- Generator: Sketch 39.1 (31720) - http://www.bohemiancoding.com/sketch -->
- <title>Group 2 Copy</title>
- <desc>Created with Sketch.</desc>
- <defs></defs>
- <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
- <g id="Group-2-Copy" fill="#333333">
- <path d="M32,18 C32,10.2680135 25.7319865,4 18,4 C10.2680135,4 4,10.2680135 4,18 C4,25.7319865 10.2680135,32 18,32 C25.7319865,32 32,25.7319865 32,18 Z M0,18 C0,8.0588745 8.0588745,0 18,0 C27.9411255,0 36,8.0588745 36,18 C36,27.9411255 27.9411255,36 18,36 C8.0588745,36 0,27.9411255 0,18 Z" id="Oval"></path>
- <path d="M10.5,16 C9.3954305,16 8.5,16.8954305 8.5,18 C8.5,19.1045695 9.3954305,20 10.5,20 L25.5,20 C26.6045695,20 27.5,19.1045695 27.5,18 C27.5,16.8954305 26.6045695,16 25.5,16 L10.5,16 Z" id="Line"></path>
- </g>
- </g>
-</svg> \ No newline at end of file
+<svg width="36" height="36" viewBox="0 0 36 36" xmlns="http://www.w3.org/2000/svg"><title>Group 2 Copy</title><g fill="#333" fill-rule="evenodd"><path d="M32 18c0-7.732-6.268-14-14-14S4 10.268 4 18s6.268 14 14 14 14-6.268 14-14zM0 18C0 8.06 8.06 0 18 0s18 8.06 18 18-8.06 18-18 18S0 27.94 0 18z"/><path d="M10.5 16c-1.105 0-2 .895-2 2s.895 2 2 2h15c1.105 0 2-.895 2-2s-.895-2-2-2h-15z"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/mobile-app.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/mobile-app.svg
new file mode 100644
index 000000000..31b4ade23
--- /dev/null
+++ b/web/cobrands/fixmystreet.com/images/fms-for-councils/mobile-app.svg
@@ -0,0 +1 @@
+<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>mobile-app</title><path d="M23.665 52.772H48.54V15.958H23.665v36.814zm12.438 8.418c-1.64 0-2.964-1.325-2.964-2.96 0-1.637 1.324-2.964 2.963-2.964 1.64 0 2.963 1.327 2.963 2.963 0 1.635-1.324 2.96-2.963 2.96zM25.243 8c-2.715 0-4.936 2.222-4.936 4.936v46.108c0 2.715 2.22 4.935 4.937 4.935H46.96c2.717 0 4.938-2.22 4.938-4.936V12.936c0-2.714-2.22-4.936-4.937-4.936H25.245zm5.585 36.968l6.928-7.077c.033-.03.056-.073.087-.106.563.14 1.142.236 1.747.236 2.03.006 3.87-.805 5.203-2.12 1.333-1.316 2.16-3.136 2.167-5.148.004-.642-.105-1.256-.262-1.855l-3.87 3.818-4.28-.918-.9-4.252 3.88-3.82c-.606-.168-1.234-.286-1.894-.287-4.057-.01-7.358 3.237-7.37 7.267-.003.855.17 1.663.44 2.426L25.68 40.3s5.148 4.675 5.148 4.668z" fill="#E65376" fill-rule="evenodd"/></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/open-standards.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/open-standards.svg
new file mode 100644
index 000000000..4960b48d4
--- /dev/null
+++ b/web/cobrands/fixmystreet.com/images/fms-for-councils/open-standards.svg
@@ -0,0 +1 @@
+<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>open-standards</title><path d="M29.087 50.594c.156-.008.34-.035.495-.103l5.21-2.31c.57.305 1.084.7 1.518 1.16l-6.193 2.764H27.5c-1.33 0-2.322-.162-2.953-.482-.506-.256-.746-.586-.766-1.063l5.307.034zm-7.927-4.572c0-.163.05-.35.142-.55.99.415 2.285.616 3.938.616h1.783c.17 0 .337-.037.492-.105l5.112-2.295c.796.244 1.515.714 2.146 1.4L28.8 47.73h-3.746c-1.39 0-2.425-.165-3.073-.49-.56-.298-.82-.685-.82-1.218zm9.616 10.584c-1.065 0-1.856-.172-2.352-.512-.36-.248-.57-.6-.63-1.068h2.654c.17 0 .336-.037.49-.106l4.776-2.132c.564.46 1.015.933 1.373 1.445l.006.008-5.244 2.366h-1.074zm7.67.107l1.698-.76c.303-.134.537-.39.645-.704.108-.316.08-.662-.076-.956-.588-1.11-1.306-2.05-2.142-2.81l.82-.386c.31-.144.54-.418.64-.746.097-.328.05-.682-.132-.973-.656-1.06-1.36-1.91-2.105-2.547.274-.14.486-.38.59-.67.113-.318.087-.666-.07-.964-.677-1.28-1.543-2.283-2.583-2.995.172-.142.303-.33.376-.546.104-.312.077-.65-.075-.94-1.527-2.915-3.872-4.39-6.97-4.39-.626 0-1.317.092-2.046.272-.67.153-1.41.402-2.322.78l-1.34.02c-.476.005-.904.292-1.09.73-.186.437-.096.944.23 1.29l.468.502c.24.256.582.4.93.38l1.294-.06c.138-.005.273-.033.4-.087.93-.38 1.645-.64 2.237-.817.643-.173 1.157-.263 1.525-.263 1.292 0 2.34.493 3.18 1.504l-5.874 2.65-2.113-.024c-1.322 0-2.405-.428-3.315-1.308-.907-.87-1.348-1.91-1.348-3.17 0-.84.268-2.065 2.574-2.976 1.872-.734 4.73-1.104 8.495-1.104h.632c.682-.024 1.208-.536 1.208-1.202 0-.076-.007-.153-.022-.227l-.005-.13c0-2.95-.982-6.08-2.922-9.298-.002-.006-.005-.013-.01-.02l-.46-.79c-.77-1.274-1.16-2.474-1.16-3.564 0-1.013.268-1.87.797-2.548.444-.567 1.088-1.034 1.922-1.397l1.28 5.947c.045.213.15.41.3.57l7.154 7.614c1.314 1.645 2.197 2.78 2.77 3.563 2.42 3.403 3.396 3.852 3.71 3.996.31.142 1.23.573 5.582.595.72 2.112 1.084 4.29 1.084 6.477 0 1.855-.328 3.803-.978 5.795h-4.295c-.373 0-.723.172-.95.466-1.906 2.458-4.2 4.423-7.21 6.178l-.93.04zm15.46-21.27c-.192-.435-.623-.714-1.097-.714h-3.83c-.858 0-1.493-.136-1.85-.4-.272-.197-.872-.804-2.194-2.595l-1.01-1.334c-1.283-1.706-1.98-2.606-2.445-3.146l-6.617-7.043-1.643-7.274c-.07-.314-.265-.588-.54-.758-.274-.17-.604-.22-.918-.144l-.383.094c-4.068.955-6.13 3.408-6.13 7.29 0 1.4.634 3.297 1.964 5.838l.565.98c.915 1.794 1.537 3.66 1.852 5.554h-.283c-3.626 0-6.598.63-8.845 1.88C18.178 34.98 17 36.754 17 38.938c0 1.754.6 3.313 1.832 4.754-.446.8-.67 1.582-.67 2.33 0 1.055.293 1.94.867 2.623.48.594 1.165 1.05 2.032 1.358-.02.253-.03.464-.03.635 0 2.39 1.333 3.837 3.866 4.206-.006.07-.008.133-.008.192 0 1.987 1.022 4.355 5.886 4.355h1.402c.19 0 .375-.042.544-.128l.977-.495c1.55.415 2.95.624 4.16.624.44 0 1.08-.034 1.962-.104.14-.013.277-.05.406-.108 2.863-1.328 5.56-3.41 8.012-6.187h4.732c.496 0 .94-.304 1.12-.765 1.09-2.797 1.64-5.618 1.64-8.387 0-2.853-.614-5.677-1.825-8.396z" fill="#E65376" fill-rule="evenodd"/></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/oxfordshire-logo.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/oxfordshire-logo.png
index 85655c4b1..0b479791a 100644
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/oxfordshire-logo.png
+++ b/web/cobrands/fixmystreet.com/images/fms-for-councils/oxfordshire-logo.png
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/plus.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/plus.svg
index ce10bf756..c1dba62f8 100644
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/plus.svg
+++ b/web/cobrands/fixmystreet.com/images/fms-for-councils/plus.svg
@@ -1,14 +1 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="36px" height="36px" viewBox="0 0 36 36" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <!-- Generator: Sketch 39.1 (31720) - http://www.bohemiancoding.com/sketch -->
- <title>Group 2 Copy</title>
- <desc>Created with Sketch.</desc>
- <defs></defs>
- <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
- <g id="Group-2-Copy" fill="#333333">
- <path d="M32,18 C32,10.2680135 25.7319865,4 18,4 C10.2680135,4 4,10.2680135 4,18 C4,25.7319865 10.2680135,32 18,32 C25.7319865,32 32,25.7319865 32,18 Z M0,18 C0,8.0588745 8.0588745,0 18,0 C27.9411255,0 36,8.0588745 36,18 C36,27.9411255 27.9411255,36 18,36 C8.0588745,36 0,27.9411255 0,18 Z" id="Oval"></path>
- <path d="M16,25.5 C16,26.6045695 16.8954305,27.5 18,27.5 C19.1045695,27.5 20,26.6045695 20,25.5 L20,10.5 C20,9.3954305 19.1045695,8.5 18,8.5 C16.8954305,8.5 16,9.3954305 16,10.5 L16,25.5 Z" id="Line"></path>
- <path d="M10.5,16 C9.3954305,16 8.5,16.8954305 8.5,18 C8.5,19.1045695 9.3954305,20 10.5,20 L25.5,20 C26.6045695,20 27.5,19.1045695 27.5,18 C27.5,16.8954305 26.6045695,16 25.5,16 L10.5,16 Z" id="Line"></path>
- </g>
- </g>
-</svg> \ No newline at end of file
+<svg width="36" height="36" viewBox="0 0 36 36" xmlns="http://www.w3.org/2000/svg"><title>Group 2 Copy</title><g fill="#333" fill-rule="evenodd"><path d="M32 18c0-7.732-6.268-14-14-14S4 10.268 4 18s6.268 14 14 14 14-6.268 14-14zM0 18C0 8.06 8.06 0 18 0s18 8.06 18 18-8.06 18-18 18S0 27.94 0 18z"/><path d="M16 25.5c0 1.105.895 2 2 2s2-.895 2-2v-15c0-1.105-.895-2-2-2s-2 .895-2 2v15z"/><path d="M10.5 16c-1.105 0-2 .895-2 2s.895 2 2 2h15c1.105 0 2-.895 2-2s-.895-2-2-2h-15z"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/process.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/process.svg
deleted file mode 100644
index f165dc445..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/process.svg
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="72px" height="72px" viewBox="0 0 72 72" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <!-- Generator: Sketch 39.1 (31720) - http://www.bohemiancoding.com/sketch -->
- <title>process</title>
- <desc>Created with Sketch.</desc>
- <defs></defs>
- <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
- <g id="process" fill="#E65376">
- <path d="M57.5017327,51.8687555 L32.4937327,51.8687555 C31.5467327,51.8687555 30.7777327,52.6357555 30.7777327,53.5857555 C30.7777327,54.5327555 31.5467327,55.2997555 32.4937327,55.2997555 L57.5017327,55.2997555 C58.4487327,55.2997555 59.2177327,54.5327555 59.2177327,53.5857555 C59.2177327,52.6357555 58.4487327,51.8687555 57.5017327,51.8687555" id="Fill-210"></path>
- <path d="M57.5017327,35.1207555 L32.4937327,35.1207555 C31.5467327,35.1207555 30.7777327,35.8877555 30.7777327,36.8377555 C30.7777327,37.7847555 31.5467327,38.5517555 32.4937327,38.5517555 L57.5017327,38.5517555 C58.4487327,38.5517555 59.2177327,37.7847555 59.2177327,36.8377555 C59.2177327,35.8877555 58.4487327,35.1207555 57.5017327,35.1207555" id="Fill-211"></path>
- <path d="M32.4937327,21.8037555 L57.5017327,21.8037555 C58.4487327,21.8037555 59.2177327,21.0367555 59.2177327,20.0887555 C59.2177327,19.1397555 58.4487327,18.3727555 57.5017327,18.3727555 L32.4937327,18.3727555 C31.5467327,18.3727555 30.7777327,19.1397555 30.7777327,20.0887555 C30.7777327,21.0367555 31.5467327,21.8037555 32.4937327,21.8037555" id="Fill-212"></path>
- <path d="M16.7077327,40.2687555 L23.5697327,40.2687555 L23.5697327,33.4057555 L16.7077327,33.4057555 L16.7077327,40.2687555 Z M25.2857327,29.9737555 L14.9907327,29.9737555 C14.0437327,29.9737555 13.2757327,30.7417555 13.2757327,31.6887555 L13.2757327,41.9837555 C13.2757327,42.9307555 14.0437327,43.7007555 14.9907327,43.7007555 L25.2857327,43.7007555 C26.2327327,43.7007555 27.0017327,42.9307555 27.0017327,41.9837555 L27.0017327,31.6887555 C27.0017327,30.7417555 26.2327327,29.9737555 25.2857327,29.9737555 L25.2857327,29.9737555 Z" id="Fill-213"></path>
- <path d="M16.7077327,57.0147555 L23.5697327,57.0147555 L23.5697327,50.1537555 L16.7077327,50.1537555 L16.7077327,57.0147555 Z M25.2857327,46.7217555 L14.9907327,46.7217555 C14.0437327,46.7217555 13.2757327,47.4897555 13.2757327,48.4377555 L13.2757327,58.7317555 C13.2757327,59.6787555 14.0437327,60.4467555 14.9907327,60.4467555 L25.2857327,60.4467555 C26.2327327,60.4467555 27.0017327,59.6787555 27.0017327,58.7317555 L27.0017327,48.4377555 C27.0017327,47.4897555 26.2327327,46.7217555 25.2857327,46.7217555 L25.2857327,46.7217555 Z" id="Fill-214"></path>
- <path d="M28.9457327,12.3097555 C28.2307327,11.7967555 27.1567327,11.9367555 26.6137327,12.6127555 L18.5927327,22.5587555 L15.9537327,19.6047555 C15.3787327,18.9627555 14.2857327,18.8727555 13.6097327,19.4157555 C13.2567327,19.6987555 13.0427327,20.0967555 13.0057327,20.5407555 C12.9687327,20.9787555 13.1117327,21.4037555 13.4087327,21.7377555 L17.3857327,26.1907555 C17.7057327,26.5477555 18.1697327,26.7527555 18.6577327,26.7527555 C18.6627327,26.7527555 18.6937327,26.7527555 18.6987327,26.7517555 C19.2047327,26.7397555 19.6727327,26.5127555 19.9827327,26.1267555 L29.2657327,14.6187555 C29.5437327,14.2707555 29.6657327,13.8407555 29.6077327,13.4047555 C29.5477327,12.9637555 29.3127327,12.5757555 28.9457327,12.3097555" id="Fill-215"></path>
- </g>
- </g>
-</svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/reduce.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/reduce.svg
deleted file mode 100644
index 00f64340c..000000000
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/reduce.svg
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="72px" height="72px" viewBox="0 0 72 72" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <!-- Generator: Sketch 39.1 (31720) - http://www.bohemiancoding.com/sketch -->
- <title>reduce</title>
- <desc>Created with Sketch.</desc>
- <defs></defs>
- <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
- <g id="reduce" fill="#E65376">
- <path d="M51.23725,39.0655 C51.17625,39.0185 50.60825,38.7225 50.41125,38.5975 C50.41125,38.5975 55.78325,33.4505 55.83225,33.5165 C55.83225,33.5165 56.78025,34.4605 57.06025,34.8505 L51.23725,39.0655 L51.23725,39.0655 Z M49.34425,50.0845 C48.91625,50.3725 48.38225,50.6635 47.72325,50.9455 C47.08825,51.2175 46.33625,51.4755 45.48925,51.7105 C43.61225,52.2315 41.23525,52.6285 38.37025,52.7345 C37.86425,52.7545 37.34025,52.7655 36.80125,52.7655 C36.72925,52.7655 36.66025,52.7625 36.58625,52.7625 C35.15125,52.7545 33.82625,52.6745 32.60825,52.5435 C32.36625,52.5165 32.12725,52.4885 31.89325,52.4575 C30.46525,52.2725 29.20425,52.0135 28.11425,51.7105 C27.26825,51.4755 26.51625,51.2175 25.88125,50.9455 C25.22225,50.6635 24.68625,50.3725 24.25925,50.0845 C23.50025,49.5705 23.09825,49.0725 23.09825,48.6785 C23.09825,48.2855 23.49825,47.7855 24.25825,47.2735 C25.49525,47.8515 26.95925,48.3215 28.56025,48.6805 C30.06725,49.0165 31.69625,49.2525 33.36925,49.3915 C33.86625,49.4305 34.36525,49.4615 34.86725,49.4845 C35.49825,49.5155 36.13625,49.5295 36.77225,49.5295 L36.80125,49.5295 C37.85125,49.5295 38.89925,49.4915 39.93425,49.4145 C40.03425,49.4075 40.13325,49.3985 40.23525,49.3915 C41.37625,49.2975 42.49825,49.1585 43.57425,48.9705 C44.07525,48.8835 44.56525,48.7855 45.04325,48.6805 C46.64625,48.3215 48.10825,47.8515 49.34625,47.2735 C50.10625,47.7855 50.50725,48.2855 50.50725,48.6785 C50.50725,49.0725 50.10625,49.5715 49.34425,50.0845 L49.34425,50.0845 Z M36.80125,58.8285 C34.60125,58.8285 32.64925,58.6615 30.95825,58.3905 C28.21725,57.9505 26.17025,57.2365 24.85125,56.5065 C23.71325,55.8795 23.11225,55.2405 23.10025,54.7565 C23.10025,54.7525 23.09825,54.7475 23.09825,54.7435 C23.09825,54.3505 23.50025,53.8495 24.26025,53.3365 C25.33425,53.8385 26.57725,54.2595 27.93425,54.5945 C28.42025,54.7135 28.91825,54.8225 29.42925,54.9205 C29.43825,54.9235 29.44825,54.9245 29.45725,54.9265 C30.85825,55.1955 32.34225,55.3835 33.86025,55.4885 C34.07525,55.5035 34.29225,55.5175 34.51025,55.5295 C35.27025,55.5715 36.03525,55.5925 36.80125,55.5925 C41.46125,55.5925 46.15625,54.8265 49.34425,53.3365 C50.10625,53.8495 50.50725,54.3505 50.50725,54.7435 C50.50725,56.1285 45.66925,58.8285 36.80125,58.8285 L36.80125,58.8285 Z M20.28525,42.3485 C20.28025,42.4375 20.27125,42.5255 20.27125,42.6175 L20.27125,46.9305 L15.26625,41.9255 L41.94625,15.2445 L55.52625,28.8255 L47.21325,37.1385 C44.23725,36.1885 40.51125,35.7035 36.80125,35.7035 C28.75025,35.7035 20.60825,37.9865 20.28525,42.3485 L20.28525,42.3485 Z M60.95625,34.2085 C60.91825,34.1545 59.48825,32.1765 58.51525,30.8335 L59.27425,30.0765 C59.96325,29.3855 59.96325,28.2665 59.27425,27.5765 L43.19625,11.4965 C42.53225,10.8345 41.35925,10.8345 40.69625,11.4965 L11.51825,40.6765 C10.82725,41.3665 10.82725,42.4855 11.51825,43.1755 L20.27125,51.9265 L20.27125,53.8805 L20.27125,54.7435 C20.27125,59.2815 28.58625,61.6545 36.80125,61.6545 C45.01725,61.6545 53.33425,59.2815 53.33425,54.7435 L53.33425,53.8805 L53.33425,41.9095 L60.56325,36.6785 C60.94325,36.4035 61.19825,35.9875 61.27025,35.5245 C61.34625,35.0615 61.23325,34.5875 60.95625,34.2085 L60.95625,34.2085 Z" id="Fill-505"></path>
- </g>
- </g>
-</svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/responsive-web.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/responsive-web.svg
new file mode 100644
index 000000000..ff685af03
--- /dev/null
+++ b/web/cobrands/fixmystreet.com/images/fms-for-councils/responsive-web.svg
@@ -0,0 +1 @@
+<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>responsive-web</title><g fill="#E65376" fill-rule="evenodd"><path d="M19.96 27.453c-.126-.12-.296-.18-.51-.18-.22 0-.402.06-.537.18-.133.118-.202.25-.202.4v3.115c0 .386.038.745.11 1.077.075.333.203.62.384.862.18.243.423.432.727.567.304.136.682.203 1.134.203.467 0 .85-.085 1.15-.252.3-.168.54-.396.722-.684.172.29.406.517.7.685.297.167.687.252 1.17.252.452 0 .828-.067 1.128-.203.3-.135.54-.324.72-.567.18-.24.308-.53.382-.862.075-.332.11-.69.11-1.077v-3.116c0-.148-.066-.28-.197-.4-.132-.12-.313-.178-.542-.178-.206 0-.373.06-.5.18-.128.117-.19.25-.19.398v3.165c0 .45-.082.784-.245.998-.165.215-.43.32-.79.32-.37 0-.632-.105-.788-.32-.155-.214-.235-.547-.235-.998V27.84c0-.18-.077-.32-.233-.42-.155-.096-.315-.146-.48-.146-.073 0-.153.014-.24.043-.087.03-.167.066-.24.11-.073.047-.136.1-.184.168-.05.064-.075.135-.075.208v3.214c0 .45-.078.784-.234.998-.156.215-.42.32-.787.32-.37 0-.637-.105-.795-.32-.16-.214-.24-.547-.24-.998v-3.165c0-.148-.065-.28-.19-.4M36.332 27.274c-.205 0-.372.06-.5.18-.125.117-.19.25-.19.398v3.165c0 .45-.08.784-.245.998-.164.215-.427.32-.788.32-.37 0-.633-.105-.79-.32-.155-.214-.234-.547-.234-.998V27.84c0-.18-.077-.32-.233-.42-.155-.096-.316-.146-.482-.146-.073 0-.15.014-.238.043-.086.03-.166.066-.24.11-.073.047-.135.1-.184.168-.05.064-.075.135-.075.208v3.214c0 .45-.077.784-.233.998-.156.215-.42.32-.787.32-.37 0-.635-.105-.796-.32-.16-.214-.24-.547-.24-.998v-3.165c0-.148-.064-.28-.19-.4-.13-.12-.298-.178-.512-.178-.222 0-.4.06-.535.18-.136.117-.204.25-.204.398v3.116c0 .386.037.745.11 1.077.074.333.202.62.382.862.182.243.424.432.727.567.304.136.68.203 1.134.203.466 0 .85-.085 1.15-.252.3-.168.54-.396.72-.684.173.29.408.517.702.685.295.167.686.252 1.17.252.45 0 .827-.067 1.127-.203.298-.135.538-.324.72-.567.18-.24.308-.53.382-.862.073-.332.11-.69.11-1.077v-3.116c0-.148-.067-.28-.2-.4-.128-.12-.31-.178-.54-.178M39.812 27.453c-.127-.12-.297-.18-.51-.18-.223 0-.4.06-.537.18-.135.118-.203.25-.203.4v3.115c0 .386.037.745.11 1.077.073.333.2.62.383.862.18.243.42.432.726.567.305.136.682.203 1.135.203.466 0 .85-.085 1.15-.252.3-.168.54-.396.72-.684.173.29.408.517.704.685.293.167.683.252 1.168.252.45 0 .827-.067 1.126-.203.3-.135.54-.324.72-.567.18-.24.31-.53.38-.862.077-.332.114-.69.114-1.077v-3.116c0-.148-.066-.28-.2-.4-.13-.12-.31-.178-.54-.178-.204 0-.372.06-.5.18-.126.117-.19.25-.19.398v3.165c0 .45-.08.784-.246.998-.164.215-.427.32-.788.32-.37 0-.63-.105-.788-.32-.155-.214-.233-.547-.233-.998V27.84c0-.18-.08-.32-.235-.42-.155-.096-.317-.146-.48-.146-.073 0-.153.014-.242.043-.085.03-.164.066-.237.11-.076.047-.137.1-.186.168-.05.064-.074.135-.074.208v3.214c0 .45-.08.784-.236.998-.154.215-.418.32-.786.32-.37 0-.634-.105-.794-.32-.16-.214-.242-.547-.242-.998v-3.165c0-.148-.06-.28-.19-.4M48.482 32.347c-.145.124-.216.264-.216.42v.307c0 .155.07.296.216.42.142.122.34.183.583.183.222 0 .406-.06.55-.184.14-.123.214-.264.214-.42v-.307c0-.155-.074-.295-.215-.42-.144-.122-.328-.183-.55-.183-.244 0-.44.06-.583.184M51.63 24.776v11.4c0 .276.225.5.5.5.278 0 .5-.224.5-.5v-11.4c0-.276-.222-.5-.5-.5-.275 0-.5.224-.5.5M46.248 48.754l2.656-.524c.185-.036.335-.175.385-.358.05-.182-.01-.377-.15-.504l-10.744-9.653c-.158-.143-.39-.168-.576-.065-.187.103-.287.313-.25.523l2.454 14.067c.03.184.163.334.34.39.174.056.374.01.505-.123l2.124-2.128 2.655 4.66c.068.122.183.208.32.24.037.01.075.013.113.013.1 0 .197-.03.28-.085l2.723-1.835c.114-.077.192-.197.214-.333.023-.135-.012-.274-.095-.383l-2.957-3.903M58.76 39.907H45.326l4.007 3.6h9.43c.993 0 1.8-.806 1.8-1.8s-.807-1.8-1.8-1.8"/><path d="M14.6 39.907V20.6h44.16c.995 0 1.8-.806 1.8-1.8s-.805-1.8-1.8-1.8H12.8c-.994 0-1.8.806-1.8 1.8v22.907c0 .994.806 1.8 1.8 1.8h22.655l-.628-3.6H14.6"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/screenshot-of-themes.jpg b/web/cobrands/fixmystreet.com/images/fms-for-councils/screenshot-of-themes.jpg
new file mode 100644
index 000000000..21744f3cd
--- /dev/null
+++ b/web/cobrands/fixmystreet.com/images/fms-for-councils/screenshot-of-themes.jpg
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/stevenage-logo.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/stevenage-logo.png
index 96c60299d..7b4d36a67 100644
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/stevenage-logo.png
+++ b/web/cobrands/fixmystreet.com/images/fms-for-councils/stevenage-logo.png
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/syncronised.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/syncronised.svg
new file mode 100644
index 000000000..f95a20865
--- /dev/null
+++ b/web/cobrands/fixmystreet.com/images/fms-for-councils/syncronised.svg
@@ -0,0 +1 @@
+<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>syncronised</title><g fill="#E65376" fill-rule="evenodd"><path d="M58.505 43.558l-9.476-6.89c-.314-.22-.73-.26-1.074-.08-.345.18-.562.53-.562.92v4.48h-30.99c-1.328 0-2.404 1.07-2.404 2.4 0 1.33 1.076 2.4 2.403 2.4h30.99v4.48c0 .39.218.74.563.92.148.07.308.11.468.11.213 0 .426-.06.605-.19l9.475-6.89c.266-.19.423-.5.423-.83 0-.33-.157-.64-.423-.83M14.425 28.748l9.476 6.88c.18.13.392.2.607.2.158 0 .318-.04.466-.11.345-.18.562-.53.562-.92v-4.48h30.99c1.33 0 2.403-1.08 2.403-2.41 0-1.32-1.074-2.4-2.402-2.4h-30.99v-4.48c0-.38-.218-.74-.563-.92-.344-.17-.76-.14-1.072.09l-9.475 6.88c-.267.2-.425.51-.425.83 0 .33.158.64.425.84"/></g></svg> \ No newline at end of file
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/warwickshire-logo.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/warwickshire-logo.png
index 62087ba52..69c189581 100644
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/warwickshire-logo.png
+++ b/web/cobrands/fixmystreet.com/images/fms-for-councils/warwickshire-logo.png
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/window-mockup.jpg b/web/cobrands/fixmystreet.com/images/fms-for-councils/window-mockup.jpg
index d2f44be30..86345b7e4 100644
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/window-mockup.jpg
+++ b/web/cobrands/fixmystreet.com/images/fms-for-councils/window-mockup.jpg
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/zurich-logo.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/zurich-logo.png
index 2748caec3..efdaf2fe8 100644
--- a/web/cobrands/fixmystreet.com/images/fms-for-councils/zurich-logo.png
+++ b/web/cobrands/fixmystreet.com/images/fms-for-councils/zurich-logo.png
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/next-step-donate.png b/web/cobrands/fixmystreet.com/images/next-step-donate.png
new file mode 100644
index 000000000..20e136fd4
--- /dev/null
+++ b/web/cobrands/fixmystreet.com/images/next-step-donate.png
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/tile-y-border.jpg b/web/cobrands/fixmystreet.com/images/tile-y-border.jpg
deleted file mode 100644
index 04c75a9de..000000000
--- a/web/cobrands/fixmystreet.com/images/tile-y-border.jpg
+++ /dev/null
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/tile-y.jpg b/web/cobrands/fixmystreet.com/images/tile-y.jpg
index 63682f1c4..3c8383714 100644
--- a/web/cobrands/fixmystreet.com/images/tile-y.jpg
+++ b/web/cobrands/fixmystreet.com/images/tile-y.jpg
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/tile-y@2x.jpg b/web/cobrands/fixmystreet.com/images/tile-y@2x.jpg
new file mode 100644
index 000000000..19699e9d7
--- /dev/null
+++ b/web/cobrands/fixmystreet.com/images/tile-y@2x.jpg
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/tile.jpg b/web/cobrands/fixmystreet.com/images/tile.jpg
index b412774e4..c3cdb76fb 100644
--- a/web/cobrands/fixmystreet.com/images/tile.jpg
+++ b/web/cobrands/fixmystreet.com/images/tile.jpg
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/images/tile@2x.jpg b/web/cobrands/fixmystreet.com/images/tile@2x.jpg
new file mode 100644
index 000000000..bf9c57e0f
--- /dev/null
+++ b/web/cobrands/fixmystreet.com/images/tile@2x.jpg
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/js.js b/web/cobrands/fixmystreet.com/js.js
index b38df87ed..5aecd820e 100644
--- a/web/cobrands/fixmystreet.com/js.js
+++ b/web/cobrands/fixmystreet.com/js.js
@@ -36,20 +36,45 @@ $(function(){
});
$(function(){
- /* Accordion on councils page */
+ // "Fold out" additional rows in pricing grid
+ $('.js-extra-features').each(function(){
+ var $t3 = $(this);
+ var $t2 = $('<tbody>');
+ var cols = $t3.find('tr').eq(0).children().length;
- var allPanels = $('.accordion > .accordion-item .accordion-content').hide();
- var allSwitches = $('.accordion .accordion-switch');
+ $t2.addClass('pricing-table__show-more');
+ $t2.html('<tr><td colspan="' + cols + '"><button class="button">Compare more features</button></td></tr>');
+ $t2.on('click', '.button', function(){
+ $t3.toggle();
+ });
- allSwitches.click(function() {
- if ($(this).hasClass('accordion-switch--open')) {
- return false;
- }
- allPanels.slideUp();
- allSwitches.removeClass('accordion-switch--open');
- $(this).addClass('accordion-switch--open');
- $(this).next().slideDown();
- return false;
- });
- allSwitches.first().click();
+ $t2.insertBefore($t3);
+ $t3.hide();
+ });
+
+ // Add tier names to cells, to be displayed on narrow screens
+ $('.pricing-table thead th').each(function(){
+ var $table = $(this).parents('.pricing-table');
+ var colIndex = $(this).prevAll().length;
+
+ // Ignore first column
+ if (colIndex > 0) {
+ var tierName = $(this).text();
+ $table.find('tbody tr').each(function(){
+ $(this).children().eq(colIndex).attr('data-tier-name', tierName);
+ });
+ }
+ });
+
+ // Hide the demo access form behind a button, to save space on initial page load
+ $('.js-fms-pro-demo-form').each(function(){
+ var $form = $(this);
+ var $revealBtn = $('<button>').addClass('btn').text('Request access').on('click', function(){
+ $form.slideDown(250, function(){
+ $form.find('input[type="text"], input[type="text"]').eq(0).focus();
+ });
+ $(this).remove();
+ }).insertAfter($form);
+ $form.hide();
+ });
});
diff --git a/web/cobrands/fixmystreet.com/layout.scss b/web/cobrands/fixmystreet.com/layout.scss
index 8318eab90..60b65569f 100644
--- a/web/cobrands/fixmystreet.com/layout.scss
+++ b/web/cobrands/fixmystreet.com/layout.scss
@@ -67,37 +67,49 @@ h3, h4,
@import "_colours";
@import "../sass/layout";
+body {
+ @media ($high-dpi-screen) {
+ background-image: url(images/tile@2x.jpg);
+ background-size: 500px;
+ }
+}
+
// Tiled background stripe, not plain colour
#front-main {
background: $primary url(images/tile-y.jpg);
+
+ @media ($high-dpi-screen) {
+ background-image: url(images/tile-y@2x.jpg);
+ background-size: 500px;
+ }
}
.nav-menu--main {
a:hover {
@include linear-gradient(#000, #444 10%, #444 95%, #111);
}
+ a.report-a-problem-btn:hover {
+ background: $primary/1.1;
+ }
}
-.nav-wrapper {
- .nav-wrapper-2 {
- border-image-source: url(images/tile-y-border.jpg);
- border-image-slice: 4 0 0;
- border-image-repeat: repeat;
+#site-header {
+ background: none;
+ border-image-source: url(images/tile-y.jpg);
+ border-image-slice: 4 0 0 0;
+ border-image-repeat: repeat;
+
+ @media ($high-dpi-screen) {
+ border-image-source: url(images/tile-y@2x.jpg);
+ border-image-slice: 8 0 0 0;
}
}
body.mappage {
- .nav-wrapper {
- .nav-wrapper-2 {
- @include linear-gradient(#000, #222 10%, #222 90%, #000);
- }
+ #site-header {
+ @include linear-gradient(#000, #222 10%, #222 90%, #000);
}
}
-.nav-menu--mysoc {
- background: #515151;
- margin-top: -4px;
-}
-
body.twothirdswidthpage,
body.fullwidthpage {
#front-main {
@@ -150,61 +162,24 @@ body.fullwidthpage {
}
}
}
-
- .container {
- .content {
- footer {
- .tablewrapper {
- background: #1a1a1a url(images/tile.jpg) 0 0 repeat;
- }
- }
- }
- }
}
body.frontpage {
- .container {
- background-color: transparent;
-
- .content {
- background-color: transparent;
- padding: 0em 0em 1em;
-
- > .tablewrapper {
- margin: -4em 0em 0em;
- padding: 1em 1em;
- background-color: white;
- width: auto;
- }
- > .form-error {
- margin-top: -4em;
- }
- > .form-error + .tablewrapper {
- margin-top: 0;
- }
- }
- footer {
- .bordered {
- margin: 0em;
- }
- }
+ #site-logo {
+ margin: 2em 0;
+ width: 300px;
+ height: 60px;
+ background: url($image-sprite) -2px -108px no-repeat;
}
-}
-body.twothirdswidthpage {
- .container {
- .content {
- footer {
- .tablewrapper {
- border: 0px;
- }
- }
- }
+ .content {
+ margin-top: -3em; // overlap the bottom of #front-main
}
}
.next-steps {
@include clearfix;
+ @include flex-container();
margin-bottom: 2em; // add some space between this and the footer
}
@@ -285,26 +260,6 @@ body.unresponsive-council {
}
}
-// FMS.com has a slightly different version of the
-// footer-help / footer-marketing widgets that appear
-// at the bottom of pages with `pagefooter` set.
-#footer-help {
- border: none;
-
- ul {
- margin: 0 auto;
-
- li {
- max-width: 19em;
-
- &:last-child {
- border: none;
- padding-left: 3em;
- }
- }
- }
-}
-
.mysoc-footer {
margin-top: 3em;
// The below lines are so that on e.g. /about/posters the footer will move on
@@ -315,3 +270,45 @@ body.unresponsive-council {
body.mappage .mysoc-footer {
display: none;
}
+
+// FMS Pro advert
+footer {
+ background: $base_bg; // (images/tile.jpg)
+ margin: -1em;
+ padding: 1em 0;
+
+ @media ($high-dpi-screen) {
+ background-image: url(images/tile@2x.jpg);
+ background-size: 500px;
+ }
+}
+
+.fms-pro-promo {
+ margin: 1em 0 3em 0;
+ padding: 2em;
+ background: $primary url(images/tile-y.jpg) 0 0 repeat;
+
+ @media ($high-dpi-screen) {
+ background-image: url(images/tile-y@2x.jpg);
+ background-size: 500px;
+ }
+
+ p {
+ font-size: 1.2em;
+ max-width: 26em;
+ }
+
+ h2 {
+ font-family: inherit;
+ font-weight: bold;
+ font-size: 2em;
+ }
+
+ @media (min-width: 60em) {
+ padding: 3em;
+ }
+}
+
+.footer-marketing {
+ color: #ccc;
+}
diff --git a/web/cobrands/fixmystreet.com/posters/activist-pack.zip b/web/cobrands/fixmystreet.com/posters/activist-pack.zip
index 1d836345b..423447f03 100644
--- a/web/cobrands/fixmystreet.com/posters/activist-pack.zip
+++ b/web/cobrands/fixmystreet.com/posters/activist-pack.zip
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/posters/community-group-pack.zip b/web/cobrands/fixmystreet.com/posters/community-group-pack.zip
index 8dafc8b50..b3041c833 100644
--- a/web/cobrands/fixmystreet.com/posters/community-group-pack.zip
+++ b/web/cobrands/fixmystreet.com/posters/community-group-pack.zip
Binary files differ
diff --git a/web/cobrands/fixmystreet.com/posters/schools-clubs-pack.zip b/web/cobrands/fixmystreet.com/posters/schools-clubs-pack.zip
index 53a2a5f41..37d564648 100644
--- a/web/cobrands/fixmystreet.com/posters/schools-clubs-pack.zip
+++ b/web/cobrands/fixmystreet.com/posters/schools-clubs-pack.zip
Binary files differ
diff --git a/web/js/jquery.cookie.min.js b/web/cobrands/fixmystreet.com/vendor/jquery.cookie.min.js
index 3fa82b82b..3fa82b82b 100644
--- a/web/js/jquery.cookie.min.js
+++ b/web/cobrands/fixmystreet.com/vendor/jquery.cookie.min.js
diff --git a/web/cobrands/fixmystreet/admin.js b/web/cobrands/fixmystreet/admin.js
index f7fcaf276..2af950b28 100644
--- a/web/cobrands/fixmystreet/admin.js
+++ b/web/cobrands/fixmystreet/admin.js
@@ -40,7 +40,7 @@ $(function(){
// admin hints: maybe better implemented as tooltips?
- $(".admin-hint").on('click', function(){
+ $(".admin").on('click', ".admin-hint", function(){
if ($(this).hasClass('admin-hint-show')) {
$(this).removeClass('admin-hint-show');
} else {
@@ -123,5 +123,84 @@ $(function(){
}
}
});
+
+ // Bits for the report extra fields form builder:
+
+ // If type is changed to 'singlevaluelist' show the options list
+ $(".js-metadata-items").on("change", ".js-metadata-item-type", function() {
+ var $this = $(this);
+ var shown = $this.val() === 'singlevaluelist';
+ var $list = $this.closest(".js-metadata-item").find('.js-metadata-options');
+ $list.toggle(shown);
+ });
+ // call immediately to perform page setup
+ $(".js-metadata-item-type").change();
+
+ // Options can be removed by clicking the 'remove' button
+ $(".js-metadata-items").on("click", ".js-metadata-option-remove", function(e) {
+ e.preventDefault();
+ var $this = $(this);
+ var $item = $this.closest(".js-metadata-item");
+ $this.closest('li').remove();
+ return true;
+ });
+
+ // New options can be added by clicking the appropriate button
+ $(".js-metadata-items").on("click", ".js-metadata-option-add", function(e) {
+ e.preventDefault();
+ var $ul = $(this).closest("ul");
+ var $template_option = $ul.find(".js-metadata-option-template");
+ var $new_option = $template_option.clone();
+ $new_option.removeClass("hidden-js js-metadata-option-template");
+ $new_option.show();
+ $new_option.insertBefore($template_option);
+ $new_option.find("input").first().focus();
+ renumber_metadata_options($(this).closest(".js-metadata-item"));
+ return true;
+ });
+
+ // Fields can be added/removed
+ $(".js-metadata-item-add").on("click", function(e) {
+ e.preventDefault();
+ var $template_item = $(".js-metadata-items .js-metadata-item-template");
+ var $new_item = $template_item.clone();
+ $new_item.data('index', Math.max.apply(
+ null,
+ $(".js-metadata-item").map(function() {
+ return $(this).data('index');
+ }).get()
+ ) + 1);
+ renumber_metadata_fields($new_item);
+ $new_item.removeClass("hidden-js js-metadata-item-template");
+ $new_item.show();
+ $new_item.insertBefore($template_item);
+ $new_item.find("input").first().focus();
+ return true;
+ });
+ $(".js-metadata-items").on("click", ".js-metadata-item-remove", function(e) {
+ e.preventDefault();
+ $(this).closest(".js-metadata-item").remove();
+ return true;
+ });
+
+ function renumber_metadata_fields($item) {
+ var item_index = $item.data("index");
+ $item.find("input[data-field-name").each(function(i) {
+ var $input = $(this);
+ var prefix = "metadata["+item_index+"].";
+ var name = prefix + $input.data("fieldName");
+ $input.attr("name", name);
+ });
+ }
+
+ function renumber_metadata_options($item) {
+ var item_index = $item.data("index");
+ $item.find(".js-metadata-option").each(function(i) {
+ var $li = $(this);
+ var prefix = "metadata["+item_index+"].values["+i+"]";
+ $li.find(".js-metadata-option-key").attr("name", prefix+".key");
+ $li.find(".js-metadata-option-name").attr("name", prefix+".name");
+ });
+ }
});
diff --git a/web/cobrands/fixmystreet/fixmystreet.js b/web/cobrands/fixmystreet/fixmystreet.js
index a4bab095e..8673b6b76 100644
--- a/web/cobrands/fixmystreet/fixmystreet.js
+++ b/web/cobrands/fixmystreet/fixmystreet.js
@@ -128,6 +128,8 @@ function isR2L() {
});
})(jQuery);
+fixmystreet.hooks = fixmystreet.hooks || {};
+
fixmystreet.mobile_reporting = {
apply_ui: function() {
// Creates the "app-like" mobile reporting UI with full screen map
@@ -249,11 +251,19 @@ $.extend(fixmystreet.set_up, {
basics: function() {
// Preload the new report pin
if ( typeof fixmystreet !== 'undefined' && typeof fixmystreet.pin_prefix !== 'undefined' ) {
- document.createElement('img').src = fixmystreet.pin_prefix + 'pin-green.png';
+ document.createElement('img').src = fixmystreet.pin_prefix + 'pin-' + fixmystreet.pin_new_report_colour + '.png';
} else {
document.createElement('img').src = '/i/pin-green.png';
}
+ $('a[href*="around"]').each(function() {
+ this.href = this.href + (this.href.indexOf('?') > -1 ? '&js=1' : '?js=1');
+ });
+ $('input[name="js"]').val(1);
+ $('form[action*="around"]').each(function() {
+ $('<input type="hidden" name="js" value="1">').prependTo(this);
+ });
+
// Focus on postcode box on front page
$('#pc').focus();
@@ -377,17 +387,29 @@ $.extend(fixmystreet.set_up, {
});
},
+ autocomplete: function() {
+ $('.js-autocomplete').each(function() {
+ accessibleAutocomplete.enhanceSelectElement({
+ selectElement: this,
+ displayMenu: 'overlay',
+ required: true,
+ // showAllValues: true, // Currently undismissable on iOS
+ defaultValue: ''
+ });
+ });
+ },
+
report_geolocation: function() {
if (!geo_position_js.init()) {
return;
}
- if ($('#postcodeForm').length) {
- var link = '<a href="LINK" id="geolocate_link">&hellip; ' + translation_strings.geolocate + '</a>';
- $('form[action="/alert/list"]').append(link.replace('LINK','/alert/list'));
+ if ($('.js-geolocate').length) {
+ var link = $('.js-geolocate').attr('action');
+ link = '<a href="' + link + '" id="geolocate_link">&hellip; ' + translation_strings.geolocate + '</a>';
if ($('body.frontpage').length) {
- $('#postcodeForm').after(link.replace('LINK','/around'));
+ $('.js-geolocate').after(link);
} else{
- $('#postcodeForm').append(link.replace('LINK','/around'));
+ $('.js-geolocate').append(link);
}
fixmystreet.geolocate.setup(function(pos) {
var latitude = pos.coords.latitude;
@@ -425,9 +447,35 @@ $.extend(fixmystreet.set_up, {
$category_meta.empty();
}
});
+
+ if (fixmystreet.hooks.update_problem_fields) {
+ fixmystreet.hooks.update_problem_fields($(this).data('role'), $(this).data('body'), args);
+ }
});
},
+ hide_name: function() {
+ $('body').on('click', '.js-hide-name', function(e){
+ e.preventDefault();
+
+ var $p = $(this).parents('p');
+ var $form = $p.next('.hide-name-form'); // might not exist yet
+ var url = $(this).attr('href');
+
+ if ($form.length) {
+ $form.slideUp(function(){
+ $form.remove();
+ });
+ } else {
+ $.get(url).done(function(html){
+ $(html).find('.hide-name-form').hide().insertAfter($p).slideDown();
+ }).fail(function(){
+ window.location.href = url;
+ });
+ }
+ });
+ },
+
on_resize: function() {
var last_type;
$(window).on('resize', function() {
@@ -475,6 +523,9 @@ $.extend(fixmystreet.set_up, {
addRemoveLinks: true,
thumbnailHeight: 150,
thumbnailWidth: 150,
+ resizeWidth: 2048,
+ resizeHeight: 2048,
+ resizeQuality: 0.6,
acceptedFiles: 'image/jpeg,image/pjpeg,image/gif,image/tiff,image/png',
dictDefaultMessage: translation_strings.upload_default_message,
dictCancelUploadConfirmation: translation_strings.upload_cancel_confirmation,
@@ -528,9 +579,13 @@ $.extend(fixmystreet.set_up, {
if (!f) {
return;
}
- var mockFile = { name: f, server_id: f };
+ var mockFile = { name: f, server_id: f, dataURL: '/photo/temp.' + f };
photodrop.emit("addedfile", mockFile);
- photodrop.createThumbnailFromUrl(mockFile, '/photo/temp.' + f);
+ photodrop.createThumbnailFromUrl(mockFile,
+ photodrop.options.thumbnailWidth, photodrop.options.thumbnailHeight,
+ photodrop.options.thumbnailMethod, true, function(thumbnail) {
+ photodrop.emit('thumbnail', mockFile, thumbnail);
+ });
photodrop.emit("complete", mockFile);
photodrop.options.maxFiles -= 1;
});
@@ -712,7 +767,7 @@ $.extend(fixmystreet.set_up, {
// (due to not wanting around form to submit, though good thing anyway)
$('body').on('click', '#alert_rss_button', function(e) {
e.preventDefault();
- var feed = $('input[name=feed][type=radio]:checked').nextAll('a').attr('href');
+ var feed = $('input[name=feed][type=radio]:checked').parent().prevAll('a').attr('href');
window.location.href = feed;
});
$('body').on('click', '#alert_email_button', function(e) {
@@ -869,6 +924,9 @@ fixmystreet.update_pin = function(lonlat, savePushState) {
if (!data.contribute_as.another_user) {
$select.find('option[value=another_user]').remove();
}
+ if (!data.contribute_as.anonymous_user) {
+ $select.find('option[value=anonymous_user]').remove();
+ }
if (!data.contribute_as.body) {
$select.find('option[value=body]').remove();
}
@@ -948,8 +1006,8 @@ fixmystreet.display = {
translation_strings.ok +
'</a>' +
'</p>')
+ .addClass('above-form') // Stop map being absolute, so reporting form doesn't get hidden
.css({
- position: 'relative', // Stop map being absolute, so reporting form doesn't get hidden
width: width,
height: height
});
@@ -999,6 +1057,7 @@ fixmystreet.display = {
$('body').addClass('with-actions');
fixmystreet.run(fixmystreet.set_up.report_page_inspect);
fixmystreet.run(fixmystreet.set_up.manage_duplicates);
+ fixmystreet.run(fixmystreet.set_up.action_scheduled_raise_defect);
} else {
$sideReport.appendTo('#map_sidebar');
}
@@ -1009,7 +1068,7 @@ fixmystreet.display = {
fixmystreet.page = 'report';
fixmystreet.mobile_reporting.remove_ui();
- if ($('html').hasClass('mobile') && fixmystreet.map.updateSize) {
+ if (fixmystreet.map.updateSize && ($twoColReport.length || $('html').hasClass('mobile'))) {
fixmystreet.map.updateSize();
}
diff --git a/web/cobrands/fixmystreet/images/map-marker.png b/web/cobrands/fixmystreet/images/map-marker.png
new file mode 100644
index 000000000..5f124dbc6
--- /dev/null
+++ b/web/cobrands/fixmystreet/images/map-marker.png
Binary files differ
diff --git a/web/cobrands/fixmystreet/images/map-marker.svg b/web/cobrands/fixmystreet/images/map-marker.svg
new file mode 100755
index 000000000..a84a14526
--- /dev/null
+++ b/web/cobrands/fixmystreet/images/map-marker.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="28" viewBox="0 0 16 28">
+<path fill="#fff" d="M12 10c0-2.203-1.797-4-4-4s-4 1.797-4 4 1.797 4 4 4 4-1.797 4-4zM16 10c0 0.953-0.109 1.937-0.516 2.797l-5.688 12.094c-0.328 0.688-1.047 1.109-1.797 1.109s-1.469-0.422-1.781-1.109l-5.703-12.094c-0.406-0.859-0.516-1.844-0.516-2.797 0-4.422 3.578-8 8-8s8 3.578 8 8z"></path>
+</svg>
diff --git a/web/cobrands/fixmystreet/images/map-marker@2x.png b/web/cobrands/fixmystreet/images/map-marker@2x.png
new file mode 100644
index 000000000..dd2df39d3
--- /dev/null
+++ b/web/cobrands/fixmystreet/images/map-marker@2x.png
Binary files differ
diff --git a/web/cobrands/fixmystreet/map.js b/web/cobrands/fixmystreet/map.js
index ebeed06cf..f3bf1a19f 100644
--- a/web/cobrands/fixmystreet/map.js
+++ b/web/cobrands/fixmystreet/map.js
@@ -3,7 +3,7 @@ var fixmystreet = fixmystreet || {};
(function(){
var map_data = document.getElementById('js-map-data'),
- map_keys = [ 'area', 'all_pins', 'latitude', 'longitude', 'zoomToBounds', 'zoom', 'pin_prefix', 'numZoomLevels', 'zoomOffset', 'map_type', 'key' ],
+ map_keys = [ 'area', 'all_pins', 'latitude', 'longitude', 'zoomToBounds', 'zoom', 'pin_prefix', 'pin_new_report_colour', 'numZoomLevels', 'zoomOffset', 'map_type', 'key' ],
numeric = { zoom: 1, numZoomLevels: 1, zoomOffset: 1, id: 1 },
pin_keys = [ 'lat', 'lon', 'colour', 'id', 'title', 'type' ];
diff --git a/web/cobrands/fixmystreet/offline.js b/web/cobrands/fixmystreet/offline.js
index e6e50d3e8..18d724e8c 100644
--- a/web/cobrands/fixmystreet/offline.js
+++ b/web/cobrands/fixmystreet/offline.js
@@ -70,7 +70,7 @@ fixmystreet.offlineBanner = (function() {
}
// In case the request failed due to out-of-date CSRF token,
// try once more with a new token given in the error response.
- var m = jqXHR.responseText.match(/name="token" value="([^"]*)"/);
+ var m = jqXHR.responseText.match(/content="([^"]*)" name="csrf-token"/);
if (!m) {
return nextForm();
}
@@ -424,6 +424,11 @@ if ($('#offline_list').length) {
var lastupdate = $('.problem-header').data('lastupdate');
fixmystreet.cachet.cacheReports([{ 'url': '/report/' + id, 'lastupdate': lastupdate }]);
});
+
+ $(document).on('shortlist-all', function(e, args) {
+ fixmystreet.cachet.cacheReports(args.items);
+ });
+
$(document).on('shortlist-remove', function(e, id) {
fixmystreet.offline.removeReports(['/report/' + id]);
});
diff --git a/web/cobrands/fixmystreet/staff.js b/web/cobrands/fixmystreet/staff.js
index b92a70f9c..07a2729e2 100644
--- a/web/cobrands/fixmystreet/staff.js
+++ b/web/cobrands/fixmystreet/staff.js
@@ -9,11 +9,11 @@ $.extend(fixmystreet.set_up, {
latitude: $('input[name="latitude"]').val(),
longitude: $('input[name="longitude"]').val()
};
- $("#js-duplicate-reports ul").html("<li>Loading...</li>");
+ $("#js-duplicate-reports ul").html('<li class="item-list__item">Loading...</li>');
var nearby_url = '/report/'+report_id+'/nearby.json';
$.getJSON(nearby_url, args, function(data) {
var duplicate_of = $("#report_inspect_form [name=duplicate_of]").val();
- var $reports = $(data.current)
+ var $reports = $(data.reports_list)
.filter("li")
.not("[data-report-id="+report_id+"]")
.slice(0, 5);
@@ -80,17 +80,20 @@ $.extend(fixmystreet.set_up, {
$("#js-change-duplicate-report").click(refresh_duplicate_list);
},
- list_item_actions: function() {
- function toggle_shortlist(btn, sw, id) {
- btn.attr('class', 'item-list__item__shortlist-' + sw);
- btn.attr('title', btn.data('label-' + sw));
- if (id) {
- sw += '-' + id;
+ action_scheduled_raise_defect: function() {
+ $("#report_inspect_form").find('[name=state]').on('change', function() {
+ if ($(this).val() !== "action scheduled") {
+ $("#js-inspect-action-scheduled").addClass("hidden");
+ $('#raise_defect_yes').prop('required', false);
+ } else {
+ $("#js-inspect-action-scheduled").removeClass("hidden");
+ $('#raise_defect_yes').prop('required', true);
}
- btn.attr('name', 'shortlist-' + sw);
- }
+ });
+ },
- $('.item-list--reports').on('click', ':submit', function(e) {
+ list_item_actions: function() {
+ $('#js-reports-list').on('click', ':submit', function(e) {
e.preventDefault();
var $submitButton = $(this);
@@ -105,7 +108,7 @@ $.extend(fixmystreet.set_up, {
var parts = whatUserWants.split('-');
whatUserWants = parts[0] + '-' + parts[1];
report_id = parts[2];
- var token = $('[name=token]').val();
+ var token = $('meta[name="csrf-token"]').attr('content');
data = whatUserWants + '=1&token=' + token + '&id=' + report_id;
} else {
var $form = $(this).parents('form');
@@ -130,9 +133,9 @@ $.extend(fixmystreet.set_up, {
} else if ('shortlist-up' === whatUserWants) {
$item.insertBefore( $item.prev() );
} else if ('shortlist-remove' === whatUserWants) {
- toggle_shortlist($submitButton, 'add', report_id);
+ fixmystreet.utils.toggle_shortlist($submitButton, 'add', report_id);
} else if ('shortlist-add' === whatUserWants) {
- toggle_shortlist($submitButton, 'remove', report_id);
+ fixmystreet.utils.toggle_shortlist($submitButton, 'remove', report_id);
}
// Items have moved around. We need to make sure the "up" button on the
@@ -150,9 +153,9 @@ $.extend(fixmystreet.set_up, {
} else if ('shortlist-up' === whatUserWants) {
$item.insertAfter( $item.next() );
} else if ('shortlist-remove' === whatUserWants) {
- toggle_shortlist($submitButton, 'remove', report_id);
+ fixmystreet.utils.toggle_shortlist($submitButton, 'remove', report_id);
} else if ('shortlist-add' === whatUserWants) {
- toggle_shortlist($submitButton, 'add', report_id);
+ fixmystreet.utils.toggle_shortlist($submitButton, 'add', report_id);
}
fixmystreet.update_list_item_buttons($list);
}).complete(function() {
@@ -170,21 +173,31 @@ $.extend(fixmystreet.set_up, {
txt = opt.text;
var $emailInput = $('input[name=email]').add('input[name=rznvy]');
var $nameInput = $('input[name=name]');
+ var $phoneInput = $('input[name=phone]');
var $showNameCheckbox = $('input[name=may_show_name]');
var $addAlertCheckbox = $('#form_add_alert');
if (val === 'myself') {
$emailInput.val($emailInput.prop('defaultValue')).prop('disabled', true);
$nameInput.val($nameInput.prop('defaultValue')).prop('disabled', false);
+ $phoneInput.val($phoneInput.prop('defaultValue')).prop('disabled', false);
$showNameCheckbox.prop('checked', false).prop('disabled', false);
$addAlertCheckbox.prop('checked', true).prop('disabled', false);
} else if (val === 'another_user') {
$emailInput.val('').prop('disabled', false);
$nameInput.val('').prop('disabled', false);
+ $phoneInput.val('').prop('disabled', false);
$showNameCheckbox.prop('checked', false).prop('disabled', true);
$addAlertCheckbox.prop('checked', true).prop('disabled', false);
+ } else if (val === 'anonymous_user') {
+ $emailInput.val('-').prop('disabled', true);
+ $nameInput.val('-').prop('disabled', true);
+ $phoneInput.val('-').prop('disabled', true);
+ $showNameCheckbox.prop('checked', false).prop('disabled', true);
+ $addAlertCheckbox.prop('checked', false).prop('disabled', true);
} else if (val === 'body') {
$emailInput.val('-').prop('disabled', true);
$nameInput.val(txt).prop('disabled', true);
+ $phoneInput.val('-').prop('disabled', true);
$showNameCheckbox.prop('checked', true).prop('disabled', true);
$addAlertCheckbox.prop('checked', false).prop('disabled', true);
}
@@ -193,54 +206,83 @@ $.extend(fixmystreet.set_up, {
},
report_page_inspect: function() {
- if (!$('form#report_inspect_form').length) {
+ var $inspect_form = $('form#report_inspect_form'),
+ $templates = $('#templates_for_public_update');
+
+ if (!$inspect_form.length) {
return;
}
// Focus on form
- $('html,body').scrollTop($('#report_inspect_form').offset().top);
+ $('html,body').scrollTop($inspect_form.offset().top);
+
+ function updateTemplates(opts) {
+ opts.category = opts.category || $inspect_form.find('[name=category]').val();
+ opts.state = opts.state || $inspect_form.find('[name=state]').val();
+ var selector = "[data-category='" + opts.category + "']";
+ var data = $inspect_form.find(selector).data('templates') || [];
+ data = $.grep(data, function(d, i) {
+ if (!d.state || d.state == opts.state) {
+ return true;
+ }
+ return false;
+ });
+ populateSelect($templates, data, 'templates_format');
+ }
+
+ function populateSelect($select, data, label_formatter) {
+ $select.find('option:gt(0)').remove();
+ $.each(data, function(k,v) {
+ label = window.fixmystreet.utils[label_formatter](v);
+ $opt = $('<option></option>').attr('value', v.id).text(label);
+ if (v.state) {
+ $opt.attr('data-problem-state', v.state);
+ }
+ $select.append($opt);
+ });
+ }
// On the manage/inspect report form, we already have all the extra inputs
// in the DOM, we just need to hide/show them as appropriate.
- $('form#report_inspect_form [name=category]').change(function() {
+ $inspect_form.find('[name=category]').change(function() {
var category = $(this).val(),
- selector = "[data-category='" + category + "']";
- $("form#report_inspect_form [data-category]:not(" + selector + ")").addClass("hidden");
- $("form#report_inspect_form " + selector).removeClass("hidden");
- // And update the associated priority list
- var priorities = $("form#report_inspect_form " + selector).data('priorities');
- var $select = $('#problem_priority'),
- curr_pri = $select.val();
- $select.find('option:gt(0)').remove();
- $.each(priorities.split('&'), function(i, kv) {
- if (!kv) {
- return;
- }
- kv = kv.split('=', 2);
- $select.append($('<option>', { value: kv[0], text: decodeURIComponent(kv[1]) }));
- });
- $select.val(curr_pri);
+ selector = "[data-category='" + category + "']",
+ entry = $inspect_form.find(selector),
+ $priorities = $('#problem_priority'),
+ $defect_types = $('#defect_type'),
+ defect_types_data = entry.data('defect-types') || [],
+ priorities_data = entry.data('priorities') || [],
+ curr_pri = $priorities.val();
+
+ $inspect_form.find("[data-category]:not(" + selector + ")").addClass("hidden");
+ entry.removeClass("hidden");
+
+ populateSelect($priorities, priorities_data, 'priorities_type_format');
+ populateSelect($defect_types, defect_types_data, 'defect_type_format');
+ updateTemplates({'category': category});
+ $priorities.val(curr_pri);
});
- // The inspect form submit button can change depending on the selected state
- $("#report_inspect_form [name=state]").change(function(){
- var state = $(this).val();
- var $inspect_form = $("#report_inspect_form");
- var $submit = $inspect_form.find("input[type=submit]");
- var value = $submit.attr('data-value-'+state);
- if (value !== undefined) {
- $submit.val(value);
- } else {
- $submit.val($submit.data('valueOriginal'));
- }
+ function state_change(state) {
+ // The inspect form submit button can change depending on the selected state
+ var $submit = $inspect_form.find("input[type=submit][name=save]");
+ var value = $submit.attr('data-value-' + state);
+ $submit.val(value || $submit.data('valueOriginal'));
+ updateTemplates({'state': state});
+ }
+ var $state_dropdown = $inspect_form.find("[name=state]");
+ state_change($state_dropdown.val());
+ $state_dropdown.change(function(){
+ var state = $(this).val();
+ state_change(state);
// We might also have a response template to preselect for the new state
var $select = $inspect_form.find("select.js-template-name");
var $option = $select.find("option[data-problem-state='"+state+"']").first();
if ($option.length) {
$select.val($option.val()).change();
}
- }).change();
+ });
$('.js-toggle-public-update').each(function() {
var $checkbox = $(this);
@@ -268,10 +310,22 @@ $.extend(fixmystreet.set_up, {
$("#problem_easting").text(bng.lon.toFixed(1));
$("#problem_latitude").text(latlon.lat.toFixed(6));
$("#problem_longitude").text(latlon.lon.toFixed(6));
- $("form#report_inspect_form input[name=latitude]").val(latlon.lat);
- $("form#report_inspect_form input[name=longitude]").val(latlon.lon);
+ $inspect_form.find("input[name=latitude]").val(latlon.lat);
+ $inspect_form.find("input[name=longitude]").val(latlon.lon);
});
}
+
+ // Make the "Provide an update" form toggleable, and hide it by default.
+ // (Inspectors will normally just use the #public_update box instead).
+ var $updateFormH2 = $('.update-form-heading');
+ var $updateFormBtn = $('<button>').insertBefore( $updateFormH2 );
+ $updateFormH2.hide().nextAll().hide();
+ $updateFormBtn.addClass('btn btn--provide-update');
+ $updateFormBtn.text( $updateFormH2.text() );
+ $updateFormBtn.on('click', function(e) {
+ e.preventDefault();
+ $updateFormH2.nextAll().toggle();
+ });
},
moderation: function() {
@@ -340,5 +394,121 @@ $.extend(fixmystreet.set_up, {
$input.val($this.val());
}
});
+ },
+
+ shortlist_listener: function() {
+ $('#fms_shortlist_all').on('click', function() {
+ var features = [];
+ var csrf = $('meta[name="csrf-token"]').attr('content');
+
+ for (var i = 0; i < fixmystreet.markers.features.length; i++) {
+ var feature = fixmystreet.markers.features[i];
+ if (feature.onScreen()) {
+ features.push(feature.data.id);
+ }
+ }
+
+ fixmystreet.maps.shortlist_multiple(features, csrf);
+ });
}
+
+});
+
+$.extend(fixmystreet.hooks, {
+ update_problem_fields: function(role, body, args) {
+ if (role == 'inspector') {
+ var title = args.category + ' problem has been scheduled for fixing';
+ var description = args.category + ' problem found - scheduled for fixing by ' + body;
+
+ var $title_field = $('#form_title');
+ var $description_field = $('#form_detail');
+
+ if ($title_field.val().length === 0 || $title_field.data('autopopulated') === true) {
+ $title_field.val(title);
+ $title_field.data('autopopulated', true);
+ }
+
+ if ($description_field.val().length === 0 || $description_field.data('autopopulated') === true) {
+ $description_field.val(description);
+ $description_field.data('autopopulated', true);
+ }
+
+ $('#form_title, #form_detail').on('keyup', function() {
+ $(this).data('autopopulated', false);
+ });
+ }
+ }
+
+});
+
+fixmystreet.maps = fixmystreet.maps || {};
+
+$.extend(fixmystreet.maps, {
+ shortlist_multiple: function(ids, token, count) {
+ var retryCount = (typeof count !== 'undefined') ? count : 0;
+ $.post("/my/planned/change_multiple", { ids: ids, token: token })
+ .done(function() {
+ var $itemList = $('.item-list'),
+ items = [];
+
+ for (var i = 0; i < ids.length; i++) {
+ var problemId = ids[i],
+ $item = $itemList.find('#report-'+ problemId),
+ $form = $item.find('form'),
+ $submit = $form.find("input[type='submit']" );
+
+ fixmystreet.utils.toggle_shortlist($submit, 'remove', problemId);
+
+ items.push({
+ 'url': '/report/' + $item.data('report-id'),
+ 'lastupdate': $item.data('lastupdate')
+ });
+ }
+ $(document).trigger('shortlist-all', { items: items});
+ })
+ .fail(function(response) {
+ if (response.status == 400 && retryCount < 4) {
+ // If the response is 400, then get a new CSRF token and retry
+ var csrf = response.responseText.match(/content="([^"]*)" name="csrf-token"/)[1];
+ fixmystreet.maps.shortlist_multiple(ids, csrf, retryCount + 1);
+ } else {
+ alert("We appear to be having problems. Please try again later.");
+ }
+ });
+ },
+
+ show_shortlist_control: function() {
+ var $shortlistButton = $('#fms_shortlist_all');
+ if ($shortlistButton === undefined || fixmystreet.page != "reports" ) {
+ return;
+ }
+
+ if (fixmystreet.map.getZoom() >= 14) {
+ $shortlistButton.removeClass('hidden');
+ } else {
+ $shortlistButton.addClass('hidden');
+ }
+ }
+});
+
+fixmystreet.utils = fixmystreet.utils || {};
+
+$.extend(fixmystreet.utils, {
+ defect_type_format: function(data) {
+ return data.name;
+ },
+ priorities_type_format: function(data) {
+ return data.name;
+ },
+ templates_format: function(data) {
+ return data.name;
+ },
+ toggle_shortlist: function(btn, sw, id) {
+ btn.attr('class', 'item-list__item__shortlist-' + sw);
+ btn.attr('title', btn.data('label-' + sw));
+ if (id) {
+ sw += '-' + id;
+ }
+ btn.attr('name', 'shortlist-' + sw);
+ }
});
diff --git a/web/cobrands/greenwich/_colours.scss b/web/cobrands/greenwich/_colours.scss
index d2dc1c3ed..447b5a134 100644
--- a/web/cobrands/greenwich/_colours.scss
+++ b/web/cobrands/greenwich/_colours.scss
@@ -17,9 +17,13 @@ $map_nav_bg: #fff;
$nav_fg: #fff;
$nav_fg_hover: transparent;
+$header-top-border: false;
+
$col_big_numbers: $primary;
$col_click_map: $greenwich_red;
$col_fixed_label: #00BD08;
$col_fixed_label_dark: #4B8304;
+
+$container-max-width: 990px;
diff --git a/web/cobrands/greenwich/base.scss b/web/cobrands/greenwich/base.scss
index 0c52bd5da..2f2ebfa8c 100644
--- a/web/cobrands/greenwich/base.scss
+++ b/web/cobrands/greenwich/base.scss
@@ -6,15 +6,12 @@
@import "../sass/base";
@import "../sass/report_list_pins";
-body.frontpage #site-logo,
-#site-logo
-{
- background: url("/cobrands/greenwich/logo.gif") 0 0 no-repeat;
+#site-logo {
+ background: url("/cobrands/greenwich/logo.gif") 0 50% no-repeat;
background-size: contain;
width: 82px;
height: 40px;
- top: 8px;
- left: 4px;
+ padding: 0.25em 0;
}
#nav-link {
@@ -23,8 +20,7 @@ body.frontpage #site-logo,
#site-header {
- background-color: $base_bg;
- background: url("/cobrands/greenwich/mastWave.gif") 0 0 no-repeat;
+ background: $base_bg url("/cobrands/greenwich/mastWave.gif") 100% 0 no-repeat;
background-size: cover;
}
diff --git a/web/cobrands/greenwich/favicon.png b/web/cobrands/greenwich/favicon.png
index c107d24ef..dd27e9957 100644
--- a/web/cobrands/greenwich/favicon.png
+++ b/web/cobrands/greenwich/favicon.png
Binary files differ
diff --git a/web/cobrands/greenwich/layout.scss b/web/cobrands/greenwich/layout.scss
index db06c9424..c2b50088c 100644
--- a/web/cobrands/greenwich/layout.scss
+++ b/web/cobrands/greenwich/layout.scss
@@ -2,8 +2,6 @@
@import "_fonts";
@import "../sass/layout";
-$fixed_page_width: 990px;
-
#site-logo,
body.frontpage #site-logo,
body.twothirdswidthpage #site-logo
@@ -18,17 +16,13 @@ body.twothirdswidthpage #site-logo
height: 83px;
}
-.container, #main-nav {
- width: $fixed_page_width;
-}
-
#front-main {
background-color: $base_bg;
padding-top: 0.5em;
text-align: left;
#front-main-container {
- max-width: $fixed_page_width;
+ max-width: $container-max-width;
background-color: transparent;
padding: 1em 0;
}
@@ -43,11 +37,12 @@ body.twothirdswidthpage #site-logo
}
}
-body.frontpage #site-header, #site-header {
- height: auto;
+#site-header {
+ background: none;
+ padding: 0 1em; // "wave" background image means its easier to apply padding here than on .container
.container {
- min-height: 0;
+ padding: 0; // let the #site-header padding do the work on mid-sized screens
}
.container:first-child {
@@ -61,17 +56,15 @@ body.frontpage {
border-left: solid 4px $primary;
}
+ // Greenwich positions the menu visually *below* the h1 on the homepage.
#fms-menu-desktop {
position: absolute;
- width: 990px;
- top: 262px;
+ left: 0;
+ right: 0;
+ top: 150px;
}
}
-.nav-wrapper .nav-wrapper-2 {
- border-top: none;
-}
-
.nav-menu--main {
display: none;
}
@@ -150,8 +143,15 @@ body.frontpage {
}
body.mappage {
- #site-header .container {
- min-height: 68px;
+ #site-header {
+ background: $base_bg url("/cobrands/greenwich/mastWave.gif") 100% 0 no-repeat;
+ background-size: contain;
+
+ // No more "wave" background on .container
+ .container {
+ min-height: 0;
+ background: transparent;
+ }
}
.main-menu-container {
@@ -171,16 +171,14 @@ body.mappage {
height: 54px;
}
- .nav-wrapper .nav-wrapper-2 {
- background: url("/cobrands/greenwich/mastWave.gif") 100% 0 no-repeat;
- background-color: $base_bg;
- background-size: contain;
+ .nav-wrapper {
border-bottom: solid 4px $primary;
}
.nav-menu--main a.report-a-problem-btn {
color: $nav_fg;
}
+
.nav-menu {
a, span {
color: $primary_text;
diff --git a/web/cobrands/hart/_colours.scss b/web/cobrands/hart/_colours.scss
index 947b97625..3dce0d9b1 100644
--- a/web/cobrands/hart/_colours.scss
+++ b/web/cobrands/hart/_colours.scss
@@ -14,6 +14,11 @@ $base_bg: #ffffff;
$base_fg: #1a1a1a;
/* Unused here */
-$map_nav_bg: #222;
$nav_fg: #fff;
$nav_fg_hover: #444;
+
+$map_nav_bg: $primary;
+$mappage-header-height: 173px + 32px;
+$header-top-border: false;
+
+$container-max-width: 60em;
diff --git a/web/cobrands/hart/base.scss b/web/cobrands/hart/base.scss
index 8a970331f..62a4250f3 100644
--- a/web/cobrands/hart/base.scss
+++ b/web/cobrands/hart/base.scss
@@ -24,15 +24,7 @@ h1.main {
margin: 0.5em 0;
}
-.container {
- padding: 0 1em 1em; /* if remove this 1em, need to edit .full-width! */
-}
-
#site-header {
- background: $primary;
- height: 57px;
-
-
.mobile-header-nav {
height: 56px;
float: right;
@@ -53,11 +45,13 @@ h1.main {
}
}
-// Colour tab to match colour scheme
-#nav-link {
- width: 50px;
- height: 48px;
- background: url('/cobrands/hart/tab-blue.png') 0 0 no-repeat;
+#site-logo {
+ display: block;
+ background: url("/cobrands/hart/hart-logo-mobile.png") 0 50% no-repeat;
+}
+
+#main-nav--hart { // Hart has two main menus, basically same on mobile
+ margin: 0 -1em;
}
.big-green-banner {
@@ -80,9 +74,6 @@ h1.main {
padding-top: 0px;
input#pc {
}
- input#sub {
- height: 100%;
- }
}
}
}
diff --git a/web/cobrands/hart/chat.png b/web/cobrands/hart/chat.png
new file mode 100644
index 000000000..4a048b7d4
--- /dev/null
+++ b/web/cobrands/hart/chat.png
Binary files differ
diff --git a/web/cobrands/hart/facebook-logo.png b/web/cobrands/hart/facebook-logo.png
index 931c39316..b5ce77668 100755
--- a/web/cobrands/hart/facebook-logo.png
+++ b/web/cobrands/hart/facebook-logo.png
Binary files differ
diff --git a/web/cobrands/hart/hart.scss b/web/cobrands/hart/hart.scss
index 37a48badf..af2b79a50 100644
--- a/web/cobrands/hart/hart.scss
+++ b/web/cobrands/hart/hart.scss
@@ -26,110 +26,12 @@
h1, h2, h3, h4, h5, h6, legend { font-family: 'Gill Sans MT', 'Gill Sans', 'Trebuchet MS', Calibri, sans-serif; }
body { color: #333; font-family: "Gill Sans MT", "Gill Sans", Arial, 'Helvetica Neue', Helvetica, sans-serif; line-height: 1.4; background-color: $base_bg;}
-.nav-wrapper-2,
-body.mappage .nav-wrapper .nav-wrapper-2,
-body.frontpage .nav-wrapper-2 {
- border: 0;
- border-top: solid 4px $hart_primary; /* otherwise overridden in base layout.scss
- for some templates only */
- min-height: auto;
- background-color: $hart_primary;
-
- @media only screen and (min-width:48em) {
- height: 173px;
- }
-}
-
-@media only screen and (min-width:48em) {
- #map_box,
- #map_sidebar {
- top: 173px + 32px;
- }
-
- body.frontpage #site-header {
- height: 13em;
-
- .mobile-header-nav {
- display: none;
- }
- }
-
- body.mappage {
- .header-container,
- .main-menu {
- max-width: none; // containers are full width on map page
- }
- }
-
- #skipped-map {
- clear: both;
- margin-top: 3em; /* required to push "Your Reports" visible on Safari/IE */
- }
-
- #main-nav {
- margin-top: 106px;
- }
- .nav-menu {
- margin-left: 157px;
- float: none;
- }
-
- .nav-menu li {
- text-align: center;
- text-transform: uppercase;
- padding: 0 15px;
- font-size: 16px;
- border-right: solid 1px white;
- line-height: 1.5em;
- }
- .nav-menu li:last-child {
- border-right: none;
- }
-
- .nav-menu a {
- padding: 0;
- font-size: inherit;
- }
-
- .nav-menu li:hover, .nav-menu li:hover a, {
- background-color: white;
- color: black;
- text-decoration: none;
- }
-}
-
-@media only screen and (max-width: 61em) and (min-width: 48em) {
- #main-nav {
- padding-left: 0px;
- float:none;
- }
-}
-
/* -------- For Google translate select box only */
.header-nav div#google_translate_element .goog-te-gadget { font-family: "Gill Sans MT", Arial, 'Helvetica Neue', Helvetica, sans-serif; }
.header-nav div#google_translate_element .goog-te-gadget .goog-te-combo { margin:5px 0 0 5px; padding:0 0 0 2px; background: #9b9b9b; color: #fff; border: 1px solid #606060; font-size: 12px; width: 138px;}
.header-nav div#google_translate_element .goog-te-gadget .goog-te-combo option { background:#fff; color: #666; padding: 1px 0; margin: 0; }
/* --- */
-body.frontpage #site-logo,
-#site-logo {
- display: block;
- background: url("/cobrands/hart/hart-logo-mobile.png") 0 0 no-repeat;
- margin: 10px;
- padding-left: 10px;
- position: static;
- @media only screen and (min-width: 48em) {
- position: relative;
- top: 1em;
- margin: 0;
- margin-left: 2.25em;
- padding: 0;
- background: url("/cobrands/hart/hart-logo.png") 0 0 no-repeat;
- width: 123px;
- height: 132px;
- }
-}
-
.sign-in {
display: none;
}
@@ -144,75 +46,18 @@ body.frontpage #site-logo,
.sign-in a:link, .sign-in a:visited {color:#333; font-weight:bold; text-decoration:none;}
.sign-in a:hover, .sign-in a:active {text-decoration:underline;}
-.main-menu-wrapper {
- background-color: #FFF;
- width: 100%;
-
- @media only screen and (min-width:48em) {
- position: absolute;
- box-shadow: 0 0 20px rgba(0,0,0,0.2); // shadow to add contrast with map
- }
-}
-
-.main-menu {
- li {
- font-family: 'Gill Sans MT', 'Gill Sans', 'Trebuchet MS', Calibri, sans-serif;
- margin: 0;
-
- span { display: none }
-
- a {
- padding: 0.5em 1em;
- background: #f6f6f6;
- color: #333;
- font-size: 1.25em;
- border-bottom: 0.25em solid #333;
- display: block;
-
- &:link, &:visited {
- color: $hart_primary;
- text-decoration: none;
- }
- &:hover {
- background-color: $hart_primary;
- color: #FFF;
- }
- }
- }
- @media only screen and (min-width:48em) {
- height: 32px;
- max-width: 60em;
- margin: 173px auto 0 auto;
-
- li {
- float: left;
- margin-left: 1em;
- text-align: center;
-
- span {
- display: inline;
- }
-
- a {
- padding: 0;
- background: #fff;
- color: #333;
- font-size: 1em;
- border-bottom: 0;
- display: inline;
-
- &:link, &:visited {
- color: $hart_primary;
- text-decoration: none;
- }
- &:hover {
- background-color: #fff;
- color: $hart_primary;
- text-decoration: underline;
- }
- }
+.nav-menu--main {
+ font-family: 'Gill Sans MT', 'Gill Sans', 'Trebuchet MS', Calibri, sans-serif;
+ a {
+ &:link, &:visited {
+ color: $hart_primary;
+ }
+ &:hover {
+ background-color: $hart_primary;
+ color: #FFF;
+ }
}
- }
+ span { display: none }
}
#front-main {
@@ -234,130 +79,136 @@ body.frontpage .table-cell .content {
margin-bottom: 2em;
}
-.hart-footer-wrapper {
+#hart-footer {
+ box-shadow: 0px 500px 0px 500px #4F5757;
+ background: #4F5757;
+ color: #fff;
- background-color: #4F5757;
- clear: both;
- height: auto;
- overflow: hidden;
- padding: 15px 15px 50px 15px;
- color:#fff;
+ @media only screen and (max-width:48em) {
+ font-size: 1em;
+ margin: 0 !important;
+ }
- @media only screen and (min-width:48em) {
- margin-left:-15px;
- padding: 35px 25px 40px 25px;
+ #footer-inner {
+ @media only screen and (max-width:48em) {
+ padding: 15px;
}
+ }
- #footer_outside_wrapper {
- max-width: 60em;
- margin: 0 auto;
- #footer_inside_wrapper {
- display: block;
-
- #footer-right {
- @media only screen and (min-width:48em) {
- float: right;
- width: 30%;
- }
-
- .region-footer-right {
- float: left;
- max-width: 319px;
- }
- }
- #footer-images {
- width: 50%;
- text-align: right;
- padding-bottom: 10px;
- margin-bottom: 0px;
- @media only screen and (min-width:48em) {
- margin-top: 1.5em;
- padding-bottom: 1em;
- }
- float: right!important;
- text-decoration: none!important;
- img {
- margin-bottom: 5px;
- }
- a, a:hover, a:active {
- text-decoration: none;
- }
- }
- }
- }
- .footer_border {
- display: block;
+ ul {
+ list-style-type: none;
+ margin: 0;
+ padding: 0;
+ li {
+ display: inline-block;
}
- p {
+ }
+
+ a {
+ color: #fff;
+ }
+
+ p {
+ padding: 0;
+ margin: 0;
+ }
+
+ #footer-row-1 {
+ padding: 1.5em 0 0.5em 0;
+
+ @media only screen and (max-width:48em) {
margin: 0;
+ padding: 0;
}
- a:link, a:visited {
- color: #fff; text-decoration: none;
- }
- a:hover, a:active {
- text-decoration: underline;
+
+ p {
+ float: left;
+
+ .hart {
+ margin: 0 5px 0 0;
+ padding: 0 10px 0 0;
+ border-right: 1px solid #fff;
+ }
+
}
- footer#hart-footer {
- margin-top: 0;
+ #footer-nav {
+ float: right;
+
+ li {
+ margin: 0 0 0 10px;
+ padding: 0 0 0 10px;
+ float: right;
- @media only screen and (min-width:48em) {
- width: 70%;
- float: left;
+ &:first-child {
+ border-left: 1px solid #fff;
}
- }
+ }
+
+ @media only screen and (max-width:48em) {
+ float: none;
+ width: 100%;
+
+ ul {
+ margin: 15px 0px 0px -2%;
+ }
+
+ li {
+ float: left;
+ width: 45%;
+ display: block;
+ border-left: none !important;
+ border-bottom: 1px solid #797f7f;
+ padding: 2px 0px;
+ margin: 0 2%;
+
+ &.bottom {
+ border: none !important;
+ }
+ }
+ }
- #copyright-block {
- float: left;
- margin-left: 1em;
- }
- #copyright-block-mobile {
- margin-left: 10px;
}
+ }
- #footer-row-2 {
- margin-top: 2em;
+ #footer-row-2 {
+ margin: 0.5em 0;
+
+ @media only screen and (max-width:48em) {
+ margin: 1.5em 0 1em 0;
}
- .footer-nav, {
- height:35px;
+ li {
+ margin: 0 2px;
- margin-left: 0;
- margin-bottom: 0;
+ @media only screen and (max-width:48em) {
+ float: left;
+ margin-right: 5px;
+ }
+ }
- @media only screen and (min-width:48em) {
- float: right;
- }
+ li.web-chat {
+ float: right;
- li {
- list-style-type: none;
- float: left;
- width: 50%;
- margin-bottom: 0;
-
- a {
- display: block;
- border-bottom:1px solid #797f7f;
- padding: 10px 0;
- margin-left: 10px;
- margin-right: 10px;
- }
- @media only screen and (min-width:48em) {
- border-right:1px solid #fff;
- width: auto;
- a {
- border-bottom: none;
- padding: 0 10px;
- margin-left: 0;
- margin-right: 0;
- }
- &:last-child {
- border: none;
- padding-right: 0;
- }
- }
+ @media only screen and (max-width:48em) {
+ float: left;
+ }
+
+ a {
+ span {
+ float: left;
+ line-height: 50px;
+ margin: 0 10px 0 0;
}
+ }
}
+
+ }
+
+ #footer-row-3 {
+ padding: 0 0 1.5em 0;
+ margin: 0.5em 0;
+ }
}
// IE specific CSS
@@ -380,20 +231,6 @@ body.frontpage .table-cell .content {
list-style-type: none;
}
-.main-menu ul {
- margin: 0;
- line-height: 32px;
-}
-
-.main-menu li {
- list-style-type: none;
- color: #000;
-}
-
-.main-menu li.last {
- padding-right: 0;
-}
-
//#search input { display: inline; margin: 0; @include border-radius(0em); }
//#search input.button { font-weight: normal; text-transform: none; }
// The footer breaks the map pages layout, easier to exclude it than
diff --git a/web/cobrands/hart/instagram-logo.png b/web/cobrands/hart/instagram-logo.png
new file mode 100644
index 000000000..cff1d207f
--- /dev/null
+++ b/web/cobrands/hart/instagram-logo.png
Binary files differ
diff --git a/web/cobrands/hart/layout.scss b/web/cobrands/hart/layout.scss
index 08b084275..0358aca87 100644
--- a/web/cobrands/hart/layout.scss
+++ b/web/cobrands/hart/layout.scss
@@ -1,10 +1,6 @@
@import "_colours";
@import "../sass/layout";
-.content {
- margin-top: 8em;
-}
-
#front-main-container {
background-color: $hart_primary;
}
@@ -16,3 +12,110 @@ body.twothirdswidthpage .content {
}
}
}
+
+.mobile-header-nav {
+ display: none;
+}
+
+#site-header {
+ margin-bottom: 2em; // To push main content down under abs. pos menu
+}
+
+#site-logo {
+ margin-left: 2.25em;
+ border-bottom: solid 0.75em $primary;
+ padding: 1em 0;
+ background: url("/cobrands/hart/hart-logo.png") 0 50% no-repeat;
+ width: 123px;
+ height: 132px;
+}
+
+#main-nav--hart {
+ margin: 0;
+}
+
+// Menu *in* the header, pushed down from top
+.nav-menu--hart {
+ margin-left: 157px;
+ position: relative;
+ top: 110px;
+ float: none;
+ li {
+ text-align: center;
+ text-transform: uppercase;
+ padding: 0 15px;
+ font-size: 16px;
+ border-right: solid 1px white;
+ line-height: 1.5em;
+ }
+ li:last-child {
+ border-right: none;
+ }
+ a {
+ padding: 0;
+ font-size: inherit;
+ }
+ li:hover, li:hover a {
+ background-color: white;
+ color: black;
+ text-decoration: none;
+ }
+}
+
+// Menu *under* header - with a full width shadow first
+.container--hart {
+ box-shadow: 0 0 20px rgba(0,0,0,0.2); // shadow to add contrast with map
+ position: absolute;
+ max-width: none;
+ padding: 0;
+ width: 100%;
+
+ body.mappage & {
+ position: absolute; // rather than static
+ }
+}
+
+#main-nav {
+ min-height: 0;
+ float: none;
+ margin: 11em auto 0; // To push it under header
+ background-color: #fff;
+
+ // #main-nav acts a bit like a .container, so we give it the same max-width.
+ max-width: $container-max-width;
+
+ // And, like other .containers, we remove the max-width on the map page.
+ body.mappage & {
+ max-width: none;
+ }
+}
+
+.nav-menu--first {
+ padding: 0.25em 0;
+
+ li {
+ float: left;
+ margin-left: 1em;
+ text-align: center;
+
+ a, span {
+ padding: 0;
+ display: inline;
+ font-size: 1em;
+ color: #333;
+ background: #fff;
+ }
+
+ a {
+ &:link, &:visited {
+ color: $hart_primary;
+ text-decoration: none;
+ }
+ &:hover {
+ background-color: #fff;
+ color: $hart_primary;
+ text-decoration: underline;
+ }
+ }
+ }
+}
diff --git a/web/cobrands/hart/twitter-logo.png b/web/cobrands/hart/twitter-logo.png
index 7e10506e2..2efa3de29 100755
--- a/web/cobrands/hart/twitter-logo.png
+++ b/web/cobrands/hart/twitter-logo.png
Binary files differ
diff --git a/web/cobrands/hart/youtube-logo.png b/web/cobrands/hart/youtube-logo.png
new file mode 100644
index 000000000..da0e17c35
--- /dev/null
+++ b/web/cobrands/hart/youtube-logo.png
Binary files differ
diff --git a/web/cobrands/oxfordshire/_colours.scss b/web/cobrands/oxfordshire/_colours.scss
index ba0597bb8..c2de1c9f0 100644
--- a/web/cobrands/oxfordshire/_colours.scss
+++ b/web/cobrands/oxfordshire/_colours.scss
@@ -15,8 +15,7 @@ $base_fg: #000;
// Taken from the OCC website
$oxfordshire_link_colour: #0c62ba;
-/* Unused here */
-$map_nav_bg: #222;
+$map_nav_bg: $oxfordshire_dk_green;
$nav_fg: #fff;
$nav_fg_hover: #444;
@@ -34,3 +33,5 @@ $oxfordshire_button_base: #F35A0E;
$oxfordshire_button_top: #EC6816;
$oxfordshire_button_bottom: #FE4602;
$oxfordshire_button_border: #CCC;
+
+$pin_prefix: '/cobrands/oxfordshire/images/';
diff --git a/web/cobrands/oxfordshire/_oxon.scss b/web/cobrands/oxfordshire/_oxon.scss
index c8c49a631..39d2edec7 100644
--- a/web/cobrands/oxfordshire/_oxon.scss
+++ b/web/cobrands/oxfordshire/_oxon.scss
@@ -14,16 +14,15 @@ body {
a:hover {text-decoration:underline}
margin:0;
background:#E0E0E0 url("images/bg.jpg") repeat-y top center;
+}
- #oxford-wrapper {
+#oxford-wrapper {
background: url("images/bg-y.jpg") repeat-y scroll 0 0 #FFFFFF;
clear: both;
display: block;
margin: 0 auto;
padding: 0 8px;
width: 990px;
- }
-
}
#oxford-header {
@@ -32,19 +31,19 @@ body {
overflow:hidden;
position:relative;
width:958px;
-
- /* note================= */
- height: 133px;
- height:auto !important;
- min-height:133px;
- /* note================= */
+ min-height: 133px;
background: $oxfordshire_lt_green url("images/header.jpg") no-repeat 0 0;
a.logo:hover {cursor:pointer;cursor:hand}
- a.logo {float:left; display:inline; margin:3px 0 6px 10px; position:relative; overflow:hidden}
- a.logo span {display:block; position:absolute; top:0; left:0; z-index:10}
- a.logo, a.logo span {width:173px; height:38px; background: url("images/logo.jpg") no-repeat 0 0;}
+ a.logo {
+ float:left;
+ margin:3px 0 6px 10px;
+ width:173px;
+ height:38px;
+ background: url("images/logo.jpg") no-repeat 0 50%;
+ text-indent: -999999px;
+ }
h1 {
float:left; padding:8px 0 0 10px; margin:0; font-size:1.25em; line-height:normal;
@@ -236,7 +235,3 @@ body {
z-index: 1000;
}
}
-.oxford-left {
- float: left !important;
-}
-
diff --git a/web/cobrands/oxfordshire/base.scss b/web/cobrands/oxfordshire/base.scss
index 49a1ac66c..55bd2f436 100644
--- a/web/cobrands/oxfordshire/base.scss
+++ b/web/cobrands/oxfordshire/base.scss
@@ -6,28 +6,17 @@
@import "../sass/top-banner";
@import "../sass/report_list_pins";
-#site-header {
- background: none;
- background-color: $oxfordshire_dk_green;
- height: 60px;
-}
-
#site-logo {
- margin-top:4px;
- background-image: url('images/logo.jpg');
- background-repeat: no-repeat;
- background-position: 0px 0px;
- border: 4px solid $oxfordshire_dk_green;
+ background: transparent url('images/logo.jpg') 0 50% no-repeat;
width: 173px;
height: 38px;
-}
-
-#nav-link {
- height: 60px; // to match #site-header
+ padding: 0.5em 0;
}
#mysoc-logo {
background-image: none;
+ background-color: $primary;
+ color: #fff;
text-indent: 0;
img {
display: inline;
@@ -77,6 +66,10 @@ dd, p {
}
}
+#side-inspect {
+ background-color: mix(#fff, $primary, 85%);
+}
+
.btn-primary {
@include button-reset(
$oxfordshire_button_top,
@@ -90,6 +83,10 @@ dd, p {
);
}
+.box-warning {
+ background-color: mix(#fff, $primary, 85%);
+}
+
@media print {
body {
background-color: #fff !important;
diff --git a/web/cobrands/oxfordshire/images/pin-green-big.png b/web/cobrands/oxfordshire/images/pin-green-big.png
new file mode 100644
index 000000000..07be6bec8
--- /dev/null
+++ b/web/cobrands/oxfordshire/images/pin-green-big.png
Binary files differ
diff --git a/web/cobrands/oxfordshire/images/pin-green-mini.png b/web/cobrands/oxfordshire/images/pin-green-mini.png
new file mode 100644
index 000000000..c48dc5a5a
--- /dev/null
+++ b/web/cobrands/oxfordshire/images/pin-green-mini.png
Binary files differ
diff --git a/web/cobrands/oxfordshire/images/pin-green-small.png b/web/cobrands/oxfordshire/images/pin-green-small.png
new file mode 100644
index 000000000..265cf19d0
--- /dev/null
+++ b/web/cobrands/oxfordshire/images/pin-green-small.png
Binary files differ
diff --git a/web/cobrands/oxfordshire/images/pin-green.png b/web/cobrands/oxfordshire/images/pin-green.png
new file mode 100644
index 000000000..b31e8b99a
--- /dev/null
+++ b/web/cobrands/oxfordshire/images/pin-green.png
Binary files differ
diff --git a/web/cobrands/oxfordshire/images/pin-grey-big.png b/web/cobrands/oxfordshire/images/pin-grey-big.png
new file mode 100644
index 000000000..324195e51
--- /dev/null
+++ b/web/cobrands/oxfordshire/images/pin-grey-big.png
Binary files differ
diff --git a/web/cobrands/oxfordshire/images/pin-grey-mini.png b/web/cobrands/oxfordshire/images/pin-grey-mini.png
new file mode 100644
index 000000000..266d8f185
--- /dev/null
+++ b/web/cobrands/oxfordshire/images/pin-grey-mini.png
Binary files differ
diff --git a/web/cobrands/oxfordshire/images/pin-grey-small.png b/web/cobrands/oxfordshire/images/pin-grey-small.png
new file mode 100644
index 000000000..3c5893396
--- /dev/null
+++ b/web/cobrands/oxfordshire/images/pin-grey-small.png
Binary files differ
diff --git a/web/cobrands/oxfordshire/images/pin-grey.png b/web/cobrands/oxfordshire/images/pin-grey.png
new file mode 100644
index 000000000..89d03b6f2
--- /dev/null
+++ b/web/cobrands/oxfordshire/images/pin-grey.png
Binary files differ
diff --git a/web/cobrands/oxfordshire/images/pin-orange-big.png b/web/cobrands/oxfordshire/images/pin-orange-big.png
new file mode 100644
index 000000000..b2f51e1c4
--- /dev/null
+++ b/web/cobrands/oxfordshire/images/pin-orange-big.png
Binary files differ
diff --git a/web/cobrands/oxfordshire/images/pin-orange-mini.png b/web/cobrands/oxfordshire/images/pin-orange-mini.png
new file mode 100644
index 000000000..3e1e3864d
--- /dev/null
+++ b/web/cobrands/oxfordshire/images/pin-orange-mini.png
Binary files differ
diff --git a/web/cobrands/oxfordshire/images/pin-orange-small.png b/web/cobrands/oxfordshire/images/pin-orange-small.png
new file mode 100644
index 000000000..b43bd22f2
--- /dev/null
+++ b/web/cobrands/oxfordshire/images/pin-orange-small.png
Binary files differ
diff --git a/web/cobrands/oxfordshire/images/pin-orange.png b/web/cobrands/oxfordshire/images/pin-orange.png
new file mode 100644
index 000000000..d8acac82a
--- /dev/null
+++ b/web/cobrands/oxfordshire/images/pin-orange.png
Binary files differ
diff --git a/web/cobrands/oxfordshire/images/pin-shadow-big.png b/web/cobrands/oxfordshire/images/pin-shadow-big.png
new file mode 100644
index 000000000..6baaefb30
--- /dev/null
+++ b/web/cobrands/oxfordshire/images/pin-shadow-big.png
Binary files differ
diff --git a/web/cobrands/oxfordshire/images/pin-shadow-small.png b/web/cobrands/oxfordshire/images/pin-shadow-small.png
new file mode 100644
index 000000000..33a263af4
--- /dev/null
+++ b/web/cobrands/oxfordshire/images/pin-shadow-small.png
Binary files differ
diff --git a/web/cobrands/oxfordshire/images/pin-shadow.png b/web/cobrands/oxfordshire/images/pin-shadow.png
new file mode 100644
index 000000000..2185b6dfd
--- /dev/null
+++ b/web/cobrands/oxfordshire/images/pin-shadow.png
Binary files differ
diff --git a/web/cobrands/oxfordshire/images/pin-spot.png b/web/cobrands/oxfordshire/images/pin-spot.png
new file mode 100644
index 000000000..0f5437622
--- /dev/null
+++ b/web/cobrands/oxfordshire/images/pin-spot.png
Binary files differ
diff --git a/web/cobrands/oxfordshire/images/pin-yellow-big.png b/web/cobrands/oxfordshire/images/pin-yellow-big.png
new file mode 100644
index 000000000..3a1666a16
--- /dev/null
+++ b/web/cobrands/oxfordshire/images/pin-yellow-big.png
Binary files differ
diff --git a/web/cobrands/oxfordshire/images/pin-yellow-mini.png b/web/cobrands/oxfordshire/images/pin-yellow-mini.png
new file mode 100644
index 000000000..1647503f6
--- /dev/null
+++ b/web/cobrands/oxfordshire/images/pin-yellow-mini.png
Binary files differ
diff --git a/web/cobrands/oxfordshire/images/pin-yellow-small.png b/web/cobrands/oxfordshire/images/pin-yellow-small.png
new file mode 100644
index 000000000..f75cc3b4e
--- /dev/null
+++ b/web/cobrands/oxfordshire/images/pin-yellow-small.png
Binary files differ
diff --git a/web/cobrands/oxfordshire/images/pin-yellow.png b/web/cobrands/oxfordshire/images/pin-yellow.png
new file mode 100644
index 000000000..1809a622b
--- /dev/null
+++ b/web/cobrands/oxfordshire/images/pin-yellow.png
Binary files differ
diff --git a/web/cobrands/oxfordshire/images/tab-green.png b/web/cobrands/oxfordshire/images/tab-green.png
index 7837fed00..ddcd0150c 100644
--- a/web/cobrands/oxfordshire/images/tab-green.png
+++ b/web/cobrands/oxfordshire/images/tab-green.png
Binary files differ
diff --git a/web/cobrands/oxfordshire/js.js b/web/cobrands/oxfordshire/js.js
new file mode 100644
index 000000000..17cb0dd8f
--- /dev/null
+++ b/web/cobrands/oxfordshire/js.js
@@ -0,0 +1,7 @@
+fixmystreet.utils = fixmystreet.utils || {};
+
+$.extend(fixmystreet.utils, {
+ defect_type_format: function(data) {
+ return data.extra.defect_code + ' - ' + data.extra.activity_code + ' (' + data.name + ')';
+ }
+});
diff --git a/web/cobrands/oxfordshire/layout.scss b/web/cobrands/oxfordshire/layout.scss
index 726b298ff..fc89b854f 100644
--- a/web/cobrands/oxfordshire/layout.scss
+++ b/web/cobrands/oxfordshire/layout.scss
@@ -37,8 +37,7 @@ body, body a {
}
// White background, so no margin needed.
-.content,
-.iel8 .content {
+.content {
margin: 0;
}
@@ -59,44 +58,13 @@ body.twothirdswidthpage {
}
}
-// TODO: This entire section is very suspicious
-//
-// To prevent font size larger interfering with the fixed Oxfordshire layout
-.container { width: auto; }
-body:not(.admin) .full-width { width: 464px; }
-.shadow-wrap { width: 464px; }
-
-.content { width: 432px; }
-
-body.fullwidthpage .content { width: auto; }
-body.twothirdswidthpage .content {
- width: 640px;
- aside {
- left: 672px;
- width: 208px;
- padding: 16px;
- }
- .sticky-sidebar {
- left: 672px;
- aside {
- top:10em;
- }
- }
-}
-
body.mappage {
#oxford-wrapper {
width: auto;
+ background: none;
padding: 0;
- background: transparent;
}
-
#oxford-header {
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- z-index: 1;
width: auto;
min-height: $mappage-header-height; // override the normal min-height of 133px
padding: 0;
@@ -111,16 +79,10 @@ body.mappage {
a.logo {
display: block;
- float: left;
height: $mappage-header-height;
width: 200px;
margin: 0;
background: transparent url("images/logo-light-green.gif") no-repeat 50% 50%;
- text-indent: -999px;
-
- * {
- display: none;
- }
}
#navigation {
@@ -156,10 +118,6 @@ body.mappage {
padding-right: 0;
}
- .container {
- width: auto;
- }
-
.extra-text {
padding: 1em;
margin: 0 -1em;
@@ -226,10 +184,6 @@ body.mappage {
background-color: $oxfordshire_very_light_green;
}
-#side-inspect {
- background-color: #deead2;
-}
-
.item-list--reports h3 {
color: $oxfordshire_link_colour;
}
diff --git a/web/cobrands/sass/_admin.scss b/web/cobrands/sass/_admin.scss
index 58917a8ce..8a16b3f00 100644
--- a/web/cobrands/sass/_admin.scss
+++ b/web/cobrands/sass/_admin.scss
@@ -163,3 +163,41 @@ $button_bg_col: #a1a1a1; // also search bar (tables)
float: left;
}
}
+
+.js-metadata-items {
+ margin: 0;
+
+ li {
+ list-style: none;
+ position: relative;
+ }
+
+ .js-metadata-item:nth-child(odd) {
+ background-color: #eee;
+ }
+
+ .js-metadata-options {
+ li {
+ list-style: none;
+
+ label, input[type=text] {
+ display: inline-block;
+ margin: 0;
+ padding: 0.25em;
+ }
+
+ &:nth-child(even) {
+ background-color: #ddd;
+ }
+ &:nth-child(odd) {
+ background-color: #ccc;
+ }
+ }
+ }
+
+ .js-metadata-item-remove {
+ position: absolute;
+ top: 0.25em;
+ right: 0.25em;
+ }
+}
diff --git a/web/cobrands/sass/_autocomplete.scss b/web/cobrands/sass/_autocomplete.scss
new file mode 100644
index 000000000..deebc1803
--- /dev/null
+++ b/web/cobrands/sass/_autocomplete.scss
@@ -0,0 +1,139 @@
+.autocomplete__wrapper {
+ position: relative;
+}
+
+.autocomplete__hint,
+.autocomplete__input {
+ -webkit-appearance: none;
+ border: 2px solid;
+ border-radius: 0; /* Safari 10 on iOS adds implicit border rounding. */
+ box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -webkit-box-sizing: border-box;
+ margin-bottom: 0; /* BUG: Safari 10 on macOS seems to add an implicit margin. */
+ width: 100%;
+}
+
+.autocomplete__input {
+ background-color: transparent;
+ position: relative;
+}
+
+.autocomplete__hint {
+ color: #BFC1C3;
+ position: absolute;
+}
+
+.autocomplete__input--default{
+ padding: 4px;
+}
+
+.autocomplete__input--focused {
+ outline-offset: 0;
+ outline: 3px solid #ffbf47;
+}
+
+.autocomplete__input--show-all-values {
+ padding: 4px 34px 4px 4px;
+ cursor: pointer;
+}
+
+.autocomplete__dropdown-arrow-down{
+ z-index: -1;
+ display: inline-block;
+ position: absolute;
+ right: 8px;
+ width: 24px;
+ height: 24px;
+ top: 10px;
+}
+
+.autocomplete__menu {
+ background-color: #fff;
+ border: 2px solid #0B0C0C;
+ border-top: 0;
+ color: #34384B;
+ margin: 0;
+ max-height: 342px;
+ overflow-x: hidden;
+ padding: 0;
+ width: 100%;
+ width: calc(100% - 4px);
+}
+
+.autocomplete__menu--visible {
+ display: block;
+}
+
+.autocomplete__menu--hidden {
+ display: none;
+}
+
+.autocomplete__menu--overlay {
+ box-shadow: rgba(0, 0, 0, 0.256863) 0px 2px 6px;
+ left: 0;
+ position: absolute;
+ top: 100%;
+ z-index: 100;
+}
+
+.autocomplete__menu--inline {
+ position: relative;
+}
+
+.autocomplete__option {
+ border-bottom: solid #BFC1C3;
+ border-width: 1px 0;
+ cursor: pointer;
+ display: block;
+ position: relative;
+}
+
+.autocomplete__option > * {
+ pointer-events: none;
+}
+
+.autocomplete__option:first-of-type {
+ border-top-width: 0;
+}
+
+.autocomplete__option:last-of-type {
+ border-bottom-width: 0;
+}
+
+.autocomplete__option--odd {
+ background-color: #FAFAFA;
+}
+
+.autocomplete__option--focused,
+.autocomplete__option:hover {
+ background-color: #005EA5;
+ border-color: #005EA5;
+ color: white;
+ outline: none;
+}
+
+.autocomplete__option--no-results {
+ background-color: #FAFAFA;
+ color: #646b6f;
+ cursor: not-allowed;
+}
+
+/* mySociety changes below */
+
+.autocomplete__wrapper {
+ background-color: #fff; // Otherwise it has a yellow background
+}
+
+.autocomplete__hint {
+ padding: 0.5em; // Match base input padding
+}
+.autocomplete__option {
+ padding: 4px;
+ margin-bottom: 0; // Override base li margin
+ line-height: 1.25;
+}
+
+.js .js-autocomplete {
+ display: none;
+}
diff --git a/web/cobrands/sass/_base.scss b/web/cobrands/sass/_base.scss
index 54954023b..d02efe489 100644
--- a/web/cobrands/sass/_base.scss
+++ b/web/cobrands/sass/_base.scss
@@ -11,6 +11,10 @@ $itemlist_item_background_hover: #e6e6e6 !default;
$col_big_numbers: #ccc !default;
$form-control-border-color: #aaaaaa !default;
+$header-top-border-width: 0.25em !default;
+$header-top-border: $header-top-border-width solid $primary !default;
+
+$container-max-width: 60em !default;
@import "_mixins";
@import "_report_list";
@@ -46,12 +50,8 @@ h1 {
margin-top: 0.5em;
margin-bottom: 0.5em;
}
-h1#reports_heading span {
- display: none;
-}
-h1#reports_heading a {
- display: block;
- font-size: 50%;
+h1#reports_heading {
+ margin-bottom: 0;
}
h2 {
@@ -294,6 +294,21 @@ select.form-control {
}
}
+.form-group {
+ position: relative;
+ max-width: 27em;
+}
+
+.required-text {
+ position: absolute;
+ right: 0;
+ top: 0;
+}
+
+.required-text--optional {
+ color: #666;
+}
+
.form-section-heading {
font-family: inherit;
color: inherit;
@@ -385,7 +400,7 @@ select.form-control {
}
.form-txt-submit-box {
- min-height:3em;
+ @include clearfix();
input[type=password],
input[type=text],
input[type=email] {
@@ -408,6 +423,7 @@ select.form-control {
.label-containing-checkbox {
padding-#{$left}: 24px;
position: relative;
+ margin-bottom: 0;
input {
position: absolute;
@@ -458,8 +474,10 @@ ul.error {
/*** LAYOUT ***/
// Padding creates page margins on mobile
-.container{
- padding: 0 1em 1em;
+.container {
+ margin: 0 auto;
+ padding: 0 1em;
+ max-width: $container-max-width;
}
// Use full width to reverse .container margins
@@ -468,62 +486,63 @@ ul.error {
}
// #site-header creates grey bar in mobile
-// .nav-wrapper-2 is used on desktop
-#site-header{
- border-top: 0.25em solid $primary;
- height: 3em;
- @include linear-gradient(#000, #222 10%, #222 90%, #000);
- .container {
- min-height:4em;
+#site-header {
+ @if ($header-top-border) {
+ border-top: $header-top-border;
}
+ color: $nav_fg;
+ background-color: $map_nav_bg;
+ position: relative;
}
-#site-logo{
+
+#site-logo {
display: block;
width: 175px;
- height: 40px;
- top: 0.4em;
- #{$left}: 0.5em;
- background: url($image-sprite) -3px -3px no-repeat;
+ height: 60px;
+ background: url($image-sprite) -8px 5px no-repeat;
text-indent: -999999px;
- position: absolute;
- z-index:2;
}
// this is a skip to nav for mobile users only
#nav-link {
width: 3em;
- height: 3em; // same height as #site-header
+ height: 3em;
background: transparent url(../fixmystreet/images/#{$menu-image}.png) center center no-repeat;
background-image: inline-image("../fixmystreet/images/#{$menu-image}.svg"), none;
background-size: 22px 18px;
- display: block;
text-indent: -999999px;
- position: absolute;
#{$right}: 0;
- top: 0.25em; // same as border-top on #site-header
}
-// A shortcut to the Reporting page, in the mobile header
-#report-cta {
+#nav-link, #report-cta {
display: block;
position: absolute;
- top: (3em / 2); // half the height of #site-header
+ top: 50%;
+ transform: translateY(-50%);
+}
+
+// A shortcut to the Reporting page, in the mobile header
+#report-cta {
#{$right}: 3.5em;
- margin-top: -0.5em;
font-size: 0.9em;
line-height: 1em;
border: 1px solid #666;
- color: #fff;
+ color: $nav_fg;
padding: 0.4em;
border-radius: 0.3em;
&:hover, &:focus {
text-decoration: none;
- background-color: #444;
+ background-color: $nav_fg_hover;
}
}
+// The nav list has this sort of "full width" look,
+// so we want to cancel out the margin from .container
+#main-nav {
+ margin: 0 -1em;
+}
.nav-menu {
@include list-reset-soft;
@@ -544,37 +563,6 @@ ul.error {
background-color: #ccc;
}
}
-.nav-menu--mysoc {
- a {
- color: $primary_text;
- background-color: $primary;
- }
-}
-#mysoc-logo {
- background-origin: content-box;
- background-position: $left 3px;
- background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHQAAAAYCAYAAAArrNkGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABBtJREFUaN7tmT2u1DAQx/cIPgBCQUJCICH5BuQIPkIq6hzBB0AyiAP4ABQ5ghtEm54mEtVrICUNkpmsJjBvdvyR1S7hPa2lv1aJs5PEP894xjkc/tMWY+xADhRQA8iC9I7PtD6PP9xa9aC1oCnmm9lpgtHW3WiVB03HuqYeA9DlPZbJuXj8o5wgGM5os+ixLb74MeTt+Hz+kiGXva99jEDjJV7w+5Pn3aIHNoEvB/Tu7s6iejzuQAEUQRPIgxT2KTwesX+5rkvYs7yP2KDXLN7XXCKkAUgHiii3MaQuideI9x/x2GB/gxFjVZMIoY6AmtBGJ+QJluUKgdheI1LpfveuoQMciTw7XrUAbEFzot8Re4GcnwWghv23Ezx0PiejBYiBAA0/Pz7VoOV3AKnEup1LwhyBQFsr2Jkzdjy51hZyBIuwaOuFZ6fPPaaA5jQX+hvi4fS8YUC9BBzXqJOB4INXAGpAM8oAxBEUUbYSQiCD1ZWACnZGhDJIUacGaBbY34ghAxfAdHheCxBHAs6yvp7YpP/zDOgk9WHIGhMvOZ5TrjCgfUUSptigqQqg1M7A7kHhTVvWUAF8Q/r6ZObPQy4bfMf62wycoeSFOEmoPS2sQ74mdFUC1RhuHQ25QonkKurjE6CCpzTC+9CmNwBNeiHz/oGvabnweG+9E9ZDul6GDDiD53tybsoMYIMJhhQSjy/28YVzoAgKoGRt+uvHMwUaQRHkS7N/I1AjhGuuGs+2ifsOPOwKk6TLAeUe2J4DFPtG7vnsnK3MQPngTwg0ErUZoC3CPEqyWbmDJQG1cVvbCpRPmIadm6Wy5VpAeXKkpCRqQ1F/DwBAnAlQnQHaEKDzlYGGgvQWoEJy1LOx8P8SqOLJEU2uNhbhvQC0AVn76n3/9vWHpIe++/Km/fxVL17aL3ATSYU5E2h77rbkBqA2kYFHsbS7FlAhOTrJpIXwkirYRynMAEgDiignwHSgiGozCceUg5EBqs5N2hhQX8gnpDaldoquCVQn6lmV2foLbJdkSmWkANESoNPLT98UyKMUgbnIFsqWGRMxQ0JbW1G2eCHsdmQferWlMwlPxHuLnwiFa9NefU2gQiJ0UholBixm6lGV8lAEGVFDykMr6l5e5OeA1tg5ASB8wcmVMEa4rtkLqM3VnqQuDJnBmHnhT6A2oKPNBSIFuq6hoCbzCatY91Zs/ZXspED5Ws+rDu0IbZUSEps//YmQuvbrCg8NFd8I1zBl8bd66w8galBA6Q3rmWKb3YZlpIqE0Da13pLrVjtd6flxMtP7qorvse1hjyYkRfs8yMP/8E83WMIeII2wdrobnk0gG6HOnUu7WteAqRKf39QN0yagTlhf9/lwz9fNG8yzgBrmmWa3h8Ftv0HaQLi1TYlaSGX3UvsNzdBKw+waoEEAAAAASUVORK5CYII=');
- background-repeat: no-repeat;
- text-indent: -999999px;
-}
-.ie7 #mysoc-logo {
- background: url($image-sprite) -240px -38px no-repeat;
-}
-
-//defines where the table caption is (login stuff on mob, nav menu on desktop)
-.wrapper {
- width:100%;
- display:table;
- // The 'caption' at large widths will be top, moving the menu up magically
- caption-side: bottom;
- // This is so absolutely positioned header stuff doesn't overlap banner...
- position: relative;
-}
-// ...however position: relative stops the map being clickable (?), so better
-// revert it there
-body.mappage .wrapper {
- position: static;
-}
// #key-tools is the list that's pulled out an stick to the bottom of the page of desktop, below is mostly just aesthetic
.shadow-wrap {
@@ -600,17 +588,21 @@ body.mappage .wrapper {
display: block;
background-color: #f5f5f5;
background-repeat: no-repeat;
- color:#333;
+ color: #333 !important;
padding:4em 2em 1em;
text-transform:uppercase;
font: {
size:0.6875em;
family: $meta-font;
+ weight: normal;
}
+ line-height: 1.2em;
+ white-space: normal;
+ border-radius: 0;
&:hover, &.hover {
text-decoration:none;
background-color:#333;
- color:#fff;
+ color: #fff !important;
}
&.abuse {
background-image: url($image-sprite);
@@ -694,7 +686,6 @@ footer {
p {
font-size: 0.75em;
padding-bottom: 0;
- border-bottom:1px solid #AFAFAF;
}
}
@@ -833,6 +824,12 @@ input.final-submit {
}
}
+.btn--provide-update {
+ display: block;
+ width: 100%;
+ margin-bottom: 1em;
+}
+
.btn--block {
display: block;
text-align: center;
@@ -844,6 +841,10 @@ input.final-submit {
text-align: center;
}
+.btn--small {
+ font-size: 0.8em;
+}
+
.js #js-social-email-hide {
display: none;
}
@@ -1190,6 +1191,21 @@ input.final-submit {
}
}
+// List of potential duplicate reports (or a single confirmed duplicate)
+// that appears in Inspector form, when closing a report as a duplicate.
+.item-list--inspect-duplicates {
+ border-bottom: none;
+
+ .item-list__item {
+ background-color: rgba(255, 255, 255, 0.5);
+ }
+
+ .item-list--reports__item--selected {
+ border: 0.25em solid $primary;
+ background-color: #fff;
+ }
+}
+
.item-list__heading {
font-size: 1em;
font-weight: normal;
@@ -1493,6 +1509,27 @@ html.js #map .noscript {
background-image:url($image-sprite);
background-position: flip(right, -341px) -4070px;
}
+ &#fms_shortlist_all {
+ padding: 0.6em 1em 0.5em 1em;
+ &:after {
+ content: "";
+ display: inline-block;
+ width: 16px;
+ height: 16px;
+ background-image: url(/cobrands/fixmystreet/images/map-marker.png);
+
+ @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
+ background-image: url(/cobrands/fixmystreet/images/map-marker@2x.png);
+ }
+
+ @media all {
+ background-image: url(/cobrands/fixmystreet/images/map-marker.svg), none;
+ }
+ background-size: 16px 16px;
+ vertical-align: middle;
+ margin: flip(0 0 0 8px, 0 8px 0 0);
+ }
+ }
&.feed {
background-image:url($image-sprite);
background-position: flip(right, -341px) -3936px;
@@ -1723,14 +1760,11 @@ a:hover.rap-notes-trigger {
height: auto; // override `.mobile #map_box` height:10em
margin: 0;
z-index: 1; // stack above positioned elements later on the page (eg: .report-list-filters)
- }
-
- .container {
- padding: 0; // map_box needs to be full width, so remove page gutter
- }
- #map_sidebar {
- padding: 1em; // reinstate page gutter, but on sidebar, so map_box is unaffected
+ &.above-form {
+ position: relative;
+ margin: 0 -1em;
+ }
}
}
@@ -1823,6 +1857,18 @@ label .muted {
}
}
+// The coloured sidebar column on .with-actions pages.
+// On narrow screens, it becomes a full-width section.
+#side-inspect {
+ padding: 1em;
+ margin: 0 -1em;
+ background-color: #E9F2FF;
+}
+
+.inspect-form-heading {
+ margin-top: 0;
+}
+
.inspect-section {
border-top: 1px solid rgba(0, 0, 0, 0.2);
padding-top: 1.5em;
@@ -1838,6 +1884,10 @@ label .muted {
& > :first-child > :first-child {
margin-top: 0;
}
+ label {
+ display: inline-block;
+ margin-top: 0.25em;
+ }
}
.inspect-section--hidden {
@@ -2058,6 +2108,16 @@ table.nicetable {
}
}
+// Shown at bottom of homepage, among other places
+.footer-marketing {
+ text-align: center;
+ margin-top: 2em;
+
+ & > :last-child {
+ margin-bottom: 0;
+ }
+}
+
#alerts {
ul {
margin-bottom: 1em;
@@ -2070,6 +2130,8 @@ table.nicetable {
background: #f6f6f6;
}
img[width="16"] {
+ margin-top: 4px;
+ margin-left: 0.5em;
float: $right;
}
}
@@ -2094,6 +2156,29 @@ table.nicetable {
}
}
+.alerts__cta-box {
+ @extend .form-box;
+ background-color: mix($primary, #fff, 10%);
+ margin-top: 2em;
+ margin-bottom: 2em;
+
+ & > :first-child {
+ margin-top: 0;
+ }
+
+ .form-txt-submit-box {
+ max-width: 32em;
+ }
+}
+
+#rss_local_alt {
+ // Match .label-containing-checkbox
+ padding-left: 24px;
+
+ // Close up space between this and #rss_local
+ margin-top: -1em;
+}
+
.confirmation-header {
padding: 140px 0 2em;
text-align: center;
@@ -2224,7 +2309,7 @@ table.nicetable {
.segmented-control--radio {
input {
position: absolute;
- left: -999px;
+ opacity: 0;
}
input:checked + label {
@@ -2356,18 +2441,15 @@ table.nicetable {
margin-bottom: 0.5em;
}
- a {
- display: inline-block;
- margin-top: 0.5em;
- padding: 0.5em 1em;
- background-color: #000;
- color: #fff;
- border-radius: 0.3em;
-
- &:hover,
- &:focus {
- text-decoration: none;
- background-color: mix(#000, $primary, 70%);
+ .btn, .btn-primary {
+ margin: 0.5em 0 1em 0;
+
+ &:first-child {
+ margin-top: 0;
+ }
+
+ &:last-child {
+ margin-bottom: 0;
}
}
}
@@ -2388,3 +2470,5 @@ table.nicetable {
@import "_fixedthead";
@import "_dropzone";
@import "_multiselect";
+@import "_autocomplete";
+@import "_dashboard";
diff --git a/web/cobrands/sass/_dashboard.scss b/web/cobrands/sass/_dashboard.scss
new file mode 100644
index 000000000..aae8aa98b
--- /dev/null
+++ b/web/cobrands/sass/_dashboard.scss
@@ -0,0 +1,213 @@
+.dashboard-header {
+ background-color: $primary;
+ margin: 0 -1em;
+ padding: 1em;
+
+ @media (min-width: 48em) {
+ margin: -1em -1em 0 -1em;
+ padding: 2em;
+ }
+
+ h1 {
+ font-family: inherit;
+ font-weight: bold;
+ margin: 0;
+ }
+}
+
+.dashboard-row {
+ @include clearfix();
+ margin: 0 -1em;
+}
+
+.dashboard-item {
+ @include box-sizing(border-box);
+ padding: 1em;
+
+ @media (min-width: 48em) {
+ float: left;
+ padding: 2em;
+ }
+
+ h2 {
+ font-family: inherit;
+ margin-top: 0;
+ }
+}
+
+@media (min-width: 48em) {
+ .dashboard-item--12 {
+ width: 100%;
+ }
+
+ .dashboard-item--6 {
+ width: 50%;
+ }
+}
+
+.dashboard-subheading {
+ margin-top: 1em;
+ padding-bottom: 0.5em;
+ border-bottom: 1px solid #ddd;
+ margin-bottom: 1em;
+}
+
+.labelled-line-chart,
+.labelled-sparkline {
+ position: relative;
+ width: 100%;
+ line-height: 1.2em;
+
+ canvas {
+ width: 100% !important;
+ height: auto !important;
+ }
+
+ .label {
+ strong {
+ display: block;
+ font-size: 2em;
+ line-height: 1em;
+ margin-bottom: 0.1em;
+ font-weight: bold;
+ }
+ }
+}
+
+.labelled-line-chart {
+ @include box-sizing(border-box);
+
+ @media (min-width: 48em) {
+ padding-right: 20%;
+ }
+
+ .label {
+ float: left;
+ margin-right: 2em;
+ }
+}
+.js .labelled-line-chart .label {
+ @media (min-width: 48em) {
+ position: absolute;
+ margin-top: -1em;
+ margin-right: 0;
+ }
+}
+
+.labelled-sparkline {
+ .label {
+ strong {
+ margin-top: 0.3em;
+ }
+ }
+}
+
+.dashboard-sparklines {
+ margin: 0 -1em;
+
+ & > * {
+ @include box-sizing(border-box);
+ padding: 0 1em 1em 1em;
+ }
+
+ @media (min-width: 48em) {
+ @include clearfix();
+
+ & > * {
+ float: $left;
+ width: 33%;
+ }
+ }
+}
+
+.dashboard-search {
+ background-color: $primary;
+ margin: 0 -1em;
+ padding: 1em;
+
+ @include clearfix();
+
+ @media (min-width: 48em) {
+ margin: 0 -3em 0 0;
+ padding: 2em;
+ }
+
+ input[type="text"] {
+ margin-bottom: 0;
+ }
+
+ input[type="submit"] {
+ background: #000;
+ color: #fff;
+ text-transform: uppercase;
+ font-weight: bold;
+ font-family: inherit;
+ border-radius: 4px;
+ border: none;
+ }
+}
+
+.dashboard-search__input {
+ @include box-sizing(border-box);
+ width: 80%;
+ float: left;
+ padding-right: 1em;
+}
+
+.dashboard-search__submit {
+ width: 20%;
+ float: right;
+
+ input {
+ width: 100%;
+ font-size: 16px;
+ line-height: 18px;
+ padding: 10px 8px;
+ }
+}
+
+.dashboard-search #geolocate_link {
+ display: block;
+ color: inherit;
+
+ &:before {
+ content: "";
+ display: inline-block;
+ width: 16px;
+ height: 16px;
+ background: transparent url(/cobrands/fixmystreet/images/crosshairs.png) no-repeat 0 0;
+ background-size: 16px 16px;
+ margin-#{$right}: 0.5em;
+ vertical-align: -0.1em;
+
+ @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
+ background-image: url(/cobrands/fixmystreet/images/crosshairs@2x.png);
+ }
+
+ @media all {
+ background-image: url(/cobrands/fixmystreet/images/crosshairs.svg), none;
+ }
+ }
+}
+
+.dashboard-ranking-table {
+ width: 100%;
+
+ td {
+ padding: 0.4em 0.8em;
+
+ &:last-child {
+ text-align: $right;
+ }
+ }
+
+ tbody tr:nth-child(odd) {
+ td {
+ background-color: mix($primary, #fff, 15%);
+ }
+ }
+
+ tfoot td {
+ font-weight: bold;
+ }
+}
diff --git a/web/cobrands/sass/_layout.scss b/web/cobrands/sass/_layout.scss
index 7e56d31bd..a0c27863e 100644
--- a/web/cobrands/sass/_layout.scss
+++ b/web/cobrands/sass/_layout.scss
@@ -2,17 +2,18 @@
$image-sprite: '../fixmystreet/images/sprite.png' !default;
$layout_front_stats_color: $primary !default;
-$mappage-header-height: 4em !default;
+$mappage-header-height: 4em !default; // eg: might want this to equal outer height of #site-header on normal pages
$mappage-sidebar-width: 29em;
$mappage-sidebar-padding: 1em;
-$mappage-with-notes-sidebar-width: 44em;
-$mappage-with-actions-sidebar-width: 58em;
+$mappage-notes-width: 15em;
+$mappage-actions-width: 25em;
+$mappage-sidebar-width--medium: 24em;
+$mappage-actions-width--medium: 20em;
+$header-top-border-width: 0.25em !default;
+$header-top-border: $header-top-border-width solid $primary !default;
.internal-link-fixed-header {
display: block;
- /* Roughly the height of .nav-wrapper-2 (mappage-header-height) plus the
- * border-top on .nav-wrapper-2 (4px), plus the padding-top on
- * .item-list__item (0.5em). */
@if unit($mappage-header-height) == 'em' {
padding-top: $mappage-header-height + 1em;
margin-top: -($mappage-header-height + 1em);
@@ -27,7 +28,8 @@ $mappage-with-actions-sidebar-width: 58em;
display: block;
}
.mob-only {
- display: none;
+ // Override `display: block` etc if other classes are defined
+ display: none !important ;
}
body {
@@ -46,80 +48,32 @@ h1 {
// Page wrapper and header bits follow
-.container{
- margin: 0 auto;
- padding: 0em;
- width: 60em;
- position: relative;
-}
-
-.wrapper{
- display: table;
- caption-side: top;
- width: 100%;
- .table-cell {
- display:table-cell;
- }
-}
-
-//pad the top of the wrapper to allow space for the menu to fit in
-//when its positioned absolute below
-.ie7 {
- .wrapper {
- padding-top:4em;
- }
-}
-
-.nav-wrapper {
- display: table-caption;
- .nav-wrapper-2 {
- width: 100%;
- min-height: 4em;
- position: absolute;
- border-top: 4px solid $primary;
- border-width: 4px 0 0 0;
- z-index: 2;
- }
+.container {
+ position: relative;
}
-//position absolute the menu as ie doesn't like display:table
-.ie7 {
- .nav-wrapper {
- position: absolute;
- top:0;
- #{$left}: 0;
- width:100%;
- .nav-wrapper-2 {
- // position static as well so we fix lots of the z-index issues
- position:static;
- }
- }
+// Body sometimes has a .top_banner at the start, which we don't want to
+// cover up when we absolutely position the nav to the top of the body.
+// So make .wrapper into a new positioning context for the nav.
+.wrapper {
+ position: relative;
}
-// Resets a lot of the mobile styling. #site-header only used to help position logo on desktop
-#site-header {
- height: auto;
- background: none;
- border-top: 0px;
- // margin-top: 4px; <-- With this we compensate for 4px of content due to
- // .nav-wrapper-2's border-top, but misaligns e.g. FAQ page
- .container {
- position: static;//reset position so the nav links become clickable
- }
-
- .ie7 & {
- height: 3em;
- // Without this, the #site-logo is unclickable.
- // Something to do with broken z-index nesting in IE6-7.
- z-index: 2;
+#main-nav {
+ min-height: $mappage-header-height; // defaults to map header height; should be height of #site-header (eg: #site-logo + any vertical padding)
+ @include flex-container();
+ @include flex-align(center);
+ float: $right; // we could use justify-content here, but float degrades better for non-flexbox browsers
+ margin: 0;
+ @if ($header-top-border) {
+ margin-top: $header-top-border-width * -1; // visually compensate for border on #site-header
}
}
#site-logo {
- top: 0.9em;
- #{$left}: auto;
- position: absolute;
- z-index: 3;
+ // Bring #site-logo in front of .nav-wrapper (which has no z-index) so that it's clickable
+ position: relative;
+ z-index: 1;
}
#nav-link {
@@ -127,24 +81,27 @@ h1 {
#{$left}: -999999px;
}
-#report-cta {
+#report-cta,
+.nav-menu__item--privacy {
display: none;
}
-#main-nav {
- margin: 0 auto;
- padding: 0;
- width: 60em;
+.nav-wrapper {
+ position: absolute;
+ @if ($header-top-border) {
+ top: $header-top-border-width;
+ } @else {
+ top: 0;
+ }
+ left: 0;
+ right: 0;
}
+
.nav-menu {
float: $right;
li {
- display: inline;
float: $left;
}
- li.nav-menu__item--privacy {
- display: none;
- }
a, span {
display: block;
color: $nav_fg;
@@ -174,85 +131,38 @@ h1 {
color:$primary;
}
}
-.nav-menu--mysoc {
- padding: 0em 0.5em;
- margin-#{$left}: 0.25em;
- background-color: $primary;
- @include border-radius(0 0 0.375em 0.375em);
- a {
- background-color: transparent;
- color: $primary_text;
- text-transform: uppercase;
- font-size: 0.6875em;
- padding: 1.3em 0.7em 1em;
- &:hover {
- color: #fff;
- background-color: transparent;
- }
- }
-}
-#mysoc-logo {
- width:84px;
- height:16px;
- background-size: 100px auto;
- background-position: 50% 50%;
- opacity: 0.8;
- &:hover {
- opacity: 1;
- }
- // IE8 does not support background-size, so increase width to show whole image
- .ie8 & {
- width: 100px;
- }
-}
-.ie7 #mysoc-logo {
- background-position: -260px -43px;
-}
// .content Is the white box
-
-// The narrow single column box
.content {
- width: 27em;
- margin: 3em 0.5em -1em;
- padding: 1em 1em 3em;
+ margin: 1em 0 0 0;
+ padding: 1em;
background: #fff;
color: #222;
}
-.iel8 {
- .content {
- //take off margins so we line up properly
- margin: 0 0.5em;
- }
-}
-
-.full-width {
- margin: 0 ($mappage-sidebar-padding * -1);
-}
// map page - has fixed header and different styling
body.mappage {
-
- .wrapper .table-cell,
- .nav-wrapper {
- // No need for the table-cell stuff now we're using absolute positioning
- display: block;
+ .wrapper {
+ position: static;
}
.container {
- width: auto;
+ max-width: none;
position: static;
}
.content {
- width: auto;
padding: 0;
margin: 0;
}
+ .full-width {
+ margin: 0 ($mappage-sidebar-padding * -1);
+ }
+
#site-header {
// With the exception of the #site-logo child, the rest of
- // #site-header gets entirely hidden behind .nav-wrapper-2
+ // #site-header gets entirely hidden behind the navigation
position: absolute;
z-index: auto;
top: 0;
@@ -261,49 +171,14 @@ body.mappage {
height: $mappage-header-height;
}
- #site-logo {
- #{$left}: 12px;
- // Also inherits...
- // `top: 0.9em`
- // `position: absolute`
- // `z-index: 3`
- // ...from the non-mappage version, above
- }
-
- #main-nav {
- width: auto;
- margin-#{$right}: 1em;
- }
-
- .nav-wrapper {
- .nav-wrapper-2 {
- position: absolute;
- z-index: auto;
- top: 0;
- left: 0;
- right: 0;
- background: $map_nav_bg;
-
- // Watch out! If the nav links break onto two lines, the header will
- // get taller, and overlap the top of #map_sidebar and #map_box.
- // (But at least the nav links will be legible.)
- min-height: $mappage-header-height;
-
- // Count the 4px border-top as part of the height (mappage-header-height)
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- }
- }
-
- .nav-menu--main a, .nav-menu--main span {
- padding: 1.4em 0.75em 1.35em;
- }
-
- .nav-menu--main a.report-a-problem-btn {
- padding: 0.5em;
- margin: 0.9em 0.25em 0.85em;
- }
+// .nav-menu--main a, .nav-menu--main span {
+// padding: 1.4em 0.75em 1.35em;
+// }
+//
+// .nav-menu--main a.report-a-problem-btn {
+// padding: 0.5em;
+// margin: 0.9em 0.25em 0.85em;
+// }
.banner {
p {
@@ -312,23 +187,6 @@ body.mappage {
}
}
-.ie7 {
- body.mappage {
- // The below is *mandatory* to allow pins/zoom to be clickable in IE6/7. Do NOT remove.
- .container {
- float: $left;
- width: 27em;
- margin-#{$left}: 0.7em;
- }
- .nav-wrapper{
- z-index:1;
- .nav-wrapper-2 {
- position:static;
- }
- }
- }
-}
-
// Want to cover over the blue sidebar
body.mappage.admin {
.full-width--top {
@@ -353,11 +211,15 @@ body.mappage.admin {
margin: 0;
.with-notes & {
- #{$left}: $mappage-with-notes-sidebar-width;
+ #{$left}: $mappage-sidebar-width + $mappage-notes-width;
}
.with-actions & {
- #{$left}: $mappage-with-actions-sidebar-width;
+ #{$left}: $mappage-sidebar-width + $mappage-actions-width;
+
+ @media (max-width: 79em) {
+ #{$left}: $mappage-sidebar-width--medium + $mappage-actions-width--medium;
+ }
}
}
@@ -371,23 +233,27 @@ body.mappage.admin {
padding: $mappage-sidebar-padding;
overflow: auto; // vertical scrollbar when list is taller than window
background-color: #fff; // since no longer in the flow inside .content
- box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
+ box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
.with-notes & {
- width: ($mappage-with-notes-sidebar-width - ($mappage-sidebar-padding * 2));
+ width: (($mappage-sidebar-width + $mappage-notes-width) - ($mappage-sidebar-padding * 2));
// TODO: Should have a bitmap image fallback for old browsers!!
background-image: -webkit-linear-gradient(flip(90deg, 270deg), transparent 29em, #E9F2FF 29em);
background-image: linear-gradient(flip(90deg, 270deg), transparent 29em, #E9F2FF 29em);
}
.with-actions & {
- width: $mappage-with-actions-sidebar-width;
+ width: $mappage-sidebar-width + $mappage-actions-width;
max-width: 100%; // Secondary column will squish on screens 768-960px
padding: 0; // Padding will be handled by children of .two_column_sidebar
&:after {
display: none; // 4em bottom spacing will be handled by children of .two_column_sidebar
}
+
+ @media (max-width: 79em) {
+ width: $mappage-sidebar-width--medium + $mappage-actions-width--medium;
+ }
}
// Chrome/Safari count padding-bottom as part of the scrollable content in
@@ -435,13 +301,27 @@ body.mappage.admin {
#side-report {
width: $mappage-sidebar-width;
@include flex(0 0 auto);
+
+ @media (max-width: 79em) {
+ width: $mappage-sidebar-width--medium;
+ }
+ }
+
+ // Line up edge of .shadow-wrap with edge of #side-report
+ .shadow-wrap {
+ width: $mappage-sidebar-width;
+
+ @media (max-width: 79em) {
+ width: $mappage-sidebar-width--medium;
+ }
}
- // No flexbox in IE8, so we settle for floating the columns instead.
+ // No flexbox in IE8-9, so we settle for floating the columns instead.
// They will no longer stretch the full height of the sidebar, and the
// width of #side-report will no longer match the width of .shadow-wrap
// when a scrollbar is present.
- .iel8 & {
+ .iel8 &,
+ .ie9 & {
@include clearfix();
& > * {
@@ -494,20 +374,10 @@ body.mappage.admin {
}
}
-
-// full width page
-body.fullwidthpage {
- .content {
- width: auto;
- }
-}
-
body.twothirdswidthpage,
body.fullwidthpage {
.container {
.content {
- padding: 1em;
- margin-bottom: 0em;
footer {
margin-top: 0em;
margin-bottom: -1em;
@@ -562,7 +432,7 @@ body.fullwidthpage {
// two thirds width page, also has option for a sidebar which can be sticky or not
body.twothirdswidthpage {
- .container {
+ #site-header + .container {
// This used to be on all containers, but there was a bug in Chrome, so now
// it's just here so that the sidebar links are still clickable with their
// negative z-index.
@@ -597,16 +467,26 @@ body.twothirdswidthpage {
}
}
}
+
+ @media (max-width: 61em) {
+ // make twothirdswidthpage nearly as small as main
+ // .content: just enough to still fit the sidebar in
+ .content {
+ width:30em;
+ .sticky-sidebar {
+ #{$left}: 32em;
+ }
+ }
+ }
}
// Centre the login and password change pages,
// but keep them narrow to match the report sidebar
body.authpage {
.content {
+ width: 27em;
margin-#{$left}: auto;
margin-#{$right}: auto;
- margin-bottom: 0;
- padding: 1em; // same as .twothirdswidthpage .content
}
}
@@ -623,7 +503,6 @@ body.authpage {
width:50%;
}
.full-width {
- width:auto;
margin:0;
}
}
@@ -650,6 +529,11 @@ body.authpage {
border-top:0.25em solid $primary;
}
+// Shown at bottom of homepage, among other places
+.footer-marketing {
+ width: 100%;
+}
+
//footer blocks
#footer-mobileapps {
border-#{$right}: 1em solid transparent;
@@ -776,6 +660,7 @@ body.authpage {
border:none;
a, input[type=submit] {
font-size: 0.75em;
+ line-height: 18px; // match `body`
color:#666;
padding: flip(0.5em 1.5em 0.5em 0, 0.5em 0 0.5em 1.5em);
text-transform:none;
@@ -943,7 +828,11 @@ textarea.form-error {
// The coloured sidebar column on .with-actions pages.
#side-inspect {
- background-color: #E9F2FF;
+ margin: 0;
+}
+
+.inspect-form-heading {
+ display: none;
}
// More general notes
@@ -953,46 +842,6 @@ textarea.form-error {
// Frontpage
-body.frontpage {
- .table-cell {
- .content {
- margin: 1em 0.5em 0;
- }
- }
- .nav-wrapper-2{
- height:6em;
- }
- #site-header{
- height:8em;
- }
- #site-logo{
- top:3em;
- width: 300px;
- height: 60px;
- background: url($image-sprite) -2px -108px no-repeat;
- }
-}
-//logo fix
-.iel8 {
- body.frontpage {
- #site-logo {
- position:relative;
- width:60em;
- margin:0 auto;
- }
- }
-}
-.ie7 {
- body.frontpage {
- #site-header {
- height:4em;
- }
- #site-logo {
- top:-1em;
- }
- }
-}
-
// big yellow bit full screen width
#front-main {
color: $primary_text;
@@ -1111,6 +960,15 @@ body.frontpage {
}
}
+.alerts__columns {
+ @include clearfix;
+ @include flex-container();
+ > div {
+ width: 50%;
+ margin: 0 2em;
+ }
+}
+
.confirmation-header {
width: 25em;
margin: 0 auto 1em;
@@ -1125,44 +983,3 @@ body.frontpage {
float: $right;
width: 25%;
}
-
-/* MEDIA QUERIES */
-@media only screen and (min-width: 48em) and (max-width: 61em) {
- .container {
- width: 100%;
- }
-
- // Remove central positioning of mainmenu and float right.
- // Left padding is to ensure no overlap of the site-logo
- // Background styling replicates header styling
-
- #main-nav {
- width: auto;
- float: $right;
- padding-#{$left}: 180px;
- }
-
- #mysoc-logo {
- width: 16px;
- // Just the mySociety circle logo
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABJ9JREFUeNqsVXlMHFUYf/Pe7O7M7E2Xw6UFWg5LQ1GTosa0IT00wYbGaKoltWnaRGNrjIptiUalXqlJU9RU0fSPHtqCR20pliBpQpAmxQgoLDeLQIEuh2WBndmDnZn3fMvRsqEGVv0mv3lzvPd97/u97wBgmXLUbHvOFZ/cJK1KbTtmiX4F/J+ySzBuDiakeSdWphA3RSAhTX3NaN2znLVwyQkMA/YbzAcwAAIFIBSYELjPYH6Zpf9CwrEMeGS1zhalh2zEBkIq2NCdkDvfyOxCRqHfnnpIWN9caK+5URDX2VJob8zfZsqJyIBKlVzweU7pIMIC3TFHIUAISkSx2GKE2uK8qNK0ODZbVsgKuwllnthp/S4rUZs0vx4th0dHcLp3FCv1VogEL8G9Jz2THx4Tx79+Yh23/oVs4zuBwKx3CuWQ5aHO5VYba7oDDjDj/TJEpSgWJytD0FAP5Dm6PD4ySZmSIUM0+C6DoGdUdkXkwULBC56HJtRJuxFpsu7nsll60CwHQY3D/8PRq1NFQZXg+TP8TwKphhc3GXPS4zWP9tySm07XSZe9MgkLEpCuX5uZZdqQBwEM1nsaStq87V3/xtjGTVzKB29bj0RZkK2s3PvTJ59PnWG2Rm3esTP2mW80gDUByq+CFffJoS+2tkrtTZEoz80R1pVfjrsBEGMGCvWAQ+DsV5MFcLstp0jFqsmH/cCn+qjLMGqLdcvrcOkIDpO9eYY9QMuYVRED1U8A8Sjg6Vz9AahH+mi84OhCzwISbAwT8fFoFr6EjlgvMAh2eDtP85AP7XwGHORAi9R6USVqRNrPlUqlIEgCSM8ApGMAtCBw/nvpLGqR2qoFxIMYbUwCJvh2tbv6oyt/lX8Z6fa7e+Thdsd0bdpa7QqvF49UlPmKXz0y/vEdHqyshaeDH2lNNoPGmhlUfQMuydmzHOX2VENMTKKQ0OMQu6Qxv8hqaLDMhWoY0VlxuXkPx24vZhhooa/elts1hddvfXsCE/yPyrftTdj15ME1n3J6FOsTlbFrZwbeqDrVdz4sD0Ji41fan019q1MF2Ego/wy9NIjDl5zHM1xeZ8e9lMenGuIPl2zoIIAxqjIGiO4cIeg/vrs+fbBDvBlWi3RISKF5YCQYz5XkGRchx+rT6djBpzyYaM3Zl0ftaqd++fGSt7m2NTqBT9dwyOgXldmaRWnRcgyflGnKWGTAr0hOTFQPjSQTHWciihCCJd9IM/fAxuTV712shTreHppreXz3of739+dMDFW1E0wUBjIsHQGt4gDT8BtsF52L+oE74BquH7l6kFIzoYE6agBJv49V5o/JI39G5750mNFydlWaAiHQOca45/Pfvdk17bp2ur+AM6CAYGKBlkdyQ+Xom4OdYve83rBy3Tj284U+T/N1njUmBVTf0Lh/qBdABDQ2+31Elu8mkaoAyAsxgHbIK5/1FnX9NlmVmGFa0/vHVL+zYaJloc5F/cAdGB4AIIT51FaBWFdRps94bIciB2ZaJ+T1wNf2azmYS8bOOndbCPcKhGX1g0BfqwPpzUS3Ki0ZanVeT13FuZHiQ4UkOK0stfZvAQYA/wr53nPx8cUAAAAASUVORK5CYII=);
- background-size: auto;
- }
-
- //Revert to mobile use of the .full-width class
- .full-width{
- width: auto;
- margin: 0em -1em;
- }
-
- //make twothirdswidthpage nearly as small as main
- //.content: just enough to still fit the sidebar in
- body.twothirdswidthpage {
- .content {
- width:30em;
- .sticky-sidebar {
- #{$left}: 32em;
- }
- }
- }
-}
diff --git a/web/cobrands/sass/_mixins.scss b/web/cobrands/sass/_mixins.scss
index 8b6114aec..08e36e86a 100644
--- a/web/cobrands/sass/_mixins.scss
+++ b/web/cobrands/sass/_mixins.scss
@@ -172,6 +172,40 @@ $right: right;
align-items: $alignment;
}
+@mixin flex-direction($direction) {
+ @if ($direction == column) {
+ -webkit-box-orient: vertical;
+ } @elseif ($direction == row) {
+ -webkit-box-orient: horizontal;
+ }
+ -moz-flex-direction: $direction;
+ -ms-flex-direction: $direction;
+ -webkit-flex-direction: $direction;
+ flex-direction: $direction;
+}
+
+@mixin justify-content($alignment) {
+ -webkit-justify-content: $alignment;
+ -moz-justify-content: $alignment;
+ -ms-justify-content: $alignment;
+ justify-content: $alignment;
+}
+
+@mixin flex-order($order) {
+ // 2009 syntax
+ -webkit-box-ordinal-group: $order;
+ -moz-box-ordinal-group: $order;
+
+ // 2011 syntax https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-order
+ -ms-flex-order: $order;
+ flex-order: $order;
+
+ // Modern syntax
+ -webkit-order: $order;
+ -ms-order: $order;
+ order: $order;
+}
+
@mixin high-dpi-background-image($path) {
background-image: url("#{$path}.png");
diff --git a/web/cobrands/sass/_report_list_pins.scss b/web/cobrands/sass/_report_list_pins.scss
index 3dae2cf84..55ef1cf56 100644
--- a/web/cobrands/sass/_report_list_pins.scss
+++ b/web/cobrands/sass/_report_list_pins.scss
@@ -1,24 +1,30 @@
+$pin_prefix: '/i/' !default;
+
// Like .item-list__item--indented except with a pin icon baked in!
.item-list__item--with-pin {
@extend .item-list__item--indented;
a {
- background-image: url(/i/pin-yellow-small.png);
+ background-image: url('#{$pin_prefix}pin-yellow-small.png');
+ background-size: 24px 32px;
background-repeat: no-repeat;
background-position: $left center;
}
&.yellow a {
- background-image: url(/i/pin-yellow-small.png);
+ background-image: url('#{$pin_prefix}pin-yellow-small.png');
}
&.green a {
- background-image: url(/i/pin-green-small.png);
+ background-image: url('#{$pin_prefix}pin-green-small.png');
}
&.red a {
- background-image: url(/i/pin-red-small.png);
+ background-image: url('#{$pin_prefix}pin-red-small.png');
}
&.grey a {
- background-image: url(/i/pin-grey-small.png);
+ background-image: url('#{$pin_prefix}pin-grey-small.png');
+ }
+ &.orange a {
+ background-image: url('#{$pin_prefix}pin-orange-small.png');
}
}
.item-list--reports__item--selected {
diff --git a/web/cobrands/stevenage/_colours.scss b/web/cobrands/stevenage/_colours.scss
index 62514b8f3..42718421a 100644
--- a/web/cobrands/stevenage/_colours.scss
+++ b/web/cobrands/stevenage/_colours.scss
@@ -9,10 +9,12 @@ $primary_text: #fff;
$base_bg: #dddddb;
$base_fg: #222;
-$map_nav_bg: #6b6969;
+$map_nav_bg: #eee;
$nav_fg: #fff;
$nav_fg_hover: #444;
$col_click_map: #00BD08;
$col_fixed_label: #00BD08;
$col_fixed_label_dark: #4B8304;
+
+$container-max-width: 984px; // to match Stevenage header width
diff --git a/web/cobrands/stevenage/base.scss b/web/cobrands/stevenage/base.scss
index 2bccdc377..0eec2be99 100644
--- a/web/cobrands/stevenage/base.scss
+++ b/web/cobrands/stevenage/base.scss
@@ -8,39 +8,22 @@ $heading-font: 'PTSansCaptionRegular', "PT Sans Caption", Verdana, Arial, sans-s
@import "../sass/base";
-#site-header {
- background: #eee;
- height: 4em;
- margin-bottom: 1em;
-
- .container {
- min-height: 0;
- }
-}
-
#site-logo {
background: transparent;
width: 82px;
height: 45px;
text-indent: 0;
- top: 0.6em;
- left: 0.9em;
+ padding: 0.5em 0;
}
#report-cta {
border-color: #ccc;
color: #000;
- top: 2em;
-
&:hover, &:focus {
background-color: #ddd;
}
}
-#nav-link {
- top: 0.75em;
-}
-
@import "council_header";
@import "council_header_responsive";
diff --git a/web/cobrands/stevenage/layout.scss b/web/cobrands/stevenage/layout.scss
index 55d0cb6b6..93ab23268 100644
--- a/web/cobrands/stevenage/layout.scss
+++ b/web/cobrands/stevenage/layout.scss
@@ -1,13 +1,23 @@
@import "colours";
@import "../sass/layout";
-// d523b431
-.nav-wrapper{
- .nav-wrapper-2{
+.wrapper {
+ display: table;
+ width: 100%;
+}
+.table-cell {
+ display: table-cell;
+}
+.table-caption {
+ display: table-caption;
+}
+
+#site-header {
+ display: none;
+}
+
+.nav-wrapper {
position: static;
- min-height: 0;
- // e7c122a4 / 0b0a619b / - "Removed mySociety menu and positioned menu"
- border-top: none;
padding-top: 0.5em;
padding-bottom: 0.25em;
background-color: #6b6969;
@@ -16,7 +26,12 @@
.iel8 & {
background-color: #6b6969;
}
- }
+}
+
+#main-nav {
+ min-height: 0;
+ margin-top: 0;
+ float: none;
}
// We use absolute positioning for the header on IE7,
@@ -39,15 +54,6 @@
}
}
-#main-nav {
- @include clearfix;
- width: auto;
- max-width: 984px; // match the Stevenage header width
- float: none;
- padding-left: 0;
-}
-
-
.nav-menu {
float: none;
}
@@ -96,26 +102,12 @@ body.twothirdswidthpage {
}
// d523b431
-body.frontpage {
- .nav-wrapper-2 {
- height: auto;
- }
- #site-header {
- height: auto;
- }
-}
-
-#site-header {
- display: none;
-}
-
-// d523b431
#front-main {
background: #fff;
color: #222;
margin: 0 auto;
margin-top: 1.5em;
- max-width: 60em;
+ max-width: $container-max-width;
}
// Front page button colour
@@ -133,52 +125,26 @@ body.frontpage {
}
}
-@media only screen and (min-width: 48em) and (max-width: 61em) {
- // f432a72d - moved sticky sidebars down a bit to account for the larger header
- body.twothirdswidthpage {
- .content {
- .sticky-sidebar {
- aside {
- top: 19em;
- }
- }
- }
- }
-}
-
body.mappage {
#site-header {
// We use the obscured #site-header to push the
// content sidebar down beyond .nav-wrapper-2
- height: 3em;
+ height: 4em;
display: block;
+ border-top: none;
}
- // Over-specific selector required to trump _layout.scss
- .nav-wrapper .nav-wrapper-2 {
+ .nav-wrapper {
position: absolute;
top: 0;
padding: 0;
background: #fff url("http://www.stevenage.gov.uk/Images/headerBG.jpg") repeat-x bottom left;
}
- #site-logo {
- position: absolute;
- top: 0.5em;
- }
-
+ // Override the defaults, above
#main-nav {
float: right;
- margin-right: 1em;
- margin-top: 1em;
- }
-
- // again, !important to override _layout.scss
- .nav-menu--main a,
- .nav-menu--main span,
- .report-a-problem-btn {
- padding: 0.5em 0.75em 0.4em 0.75em !important;
- margin: 0 !important;
+ min-height: $mappage-header-height;
}
.nav-menu a {
diff --git a/web/cobrands/warwickshire/_colours.scss b/web/cobrands/warwickshire/_colours.scss
index 473d8cb03..8c2c41406 100644
--- a/web/cobrands/warwickshire/_colours.scss
+++ b/web/cobrands/warwickshire/_colours.scss
@@ -9,7 +9,7 @@ $primary_text: #222222;
$base_bg: #F9FFF8;
$base_fg: #000;
-$map_nav_bg: $green;
+$map_nav_bg: #fff;
$nav_fg: #000;
$nav_fg_hover: $primary;
diff --git a/web/cobrands/warwickshire/base.scss b/web/cobrands/warwickshire/base.scss
index 0dcd85f53..eeefc0d80 100644
--- a/web/cobrands/warwickshire/base.scss
+++ b/web/cobrands/warwickshire/base.scss
@@ -39,17 +39,10 @@ body {
}
#site-header {
- height: auto;
- background: white;
-
nav ul li, ul.nav li {
list-style: none;
margin-bottom: 0;
}
-
- .container {
- min-height: 0;
- }
}
body.mappage > div.container {
@@ -114,17 +107,9 @@ body.mappage > div.container {
display: block;
}
-@media (max-width: 978px) {
- .navbar-container {
- padding: 0;
- margin: 0;
- }
-}
-
-// Lifted from bootstrap-responsive.css, no idea why this
-// media query has a different pixel size to the one above...
@media (max-width: 979px) {
.navbar-fixed-top .navbar-inner {
- padding: 0 5px;
+ padding-top: 0;
+ padding-bottom: 0;
}
}
diff --git a/web/cobrands/warwickshire/layout.scss b/web/cobrands/warwickshire/layout.scss
index 177d5773e..0415d1f2a 100644
--- a/web/cobrands/warwickshire/layout.scss
+++ b/web/cobrands/warwickshire/layout.scss
@@ -3,21 +3,13 @@ $mappage-header-height: 41px + 100px + 37px; // .navbar-inverse + #top-header +
@import "_colours";
@import "../sass/layout";
-
#site-header {
- position: relative;
+ border-top: none;
.navbar {
margin-bottom: 0;
}
}
-// Needs to be within body.frontpage to override an existing rule in _layout.scss
-body.frontpage {
- #site-header {
- height: auto;
- }
-}
-
body.mappage {
footer, .footer-container, #footer-container, #footer-logos-bottom {
display: none;
@@ -27,10 +19,6 @@ body.mappage {
display: none;
}
- .navbar-container {
- width: auto !important; // 100% width for the FMS nav links container ONLY
- }
-
#site-header .navbar {
margin-top: 0; // remove space between FMS nav links and green header
}
@@ -41,10 +29,6 @@ body.mappage {
}
}
-.content {
- margin-bottom: 0;
-}
-
body.twothirdswidthpage .content .sticky-sidebar {
z-index: 0;
@@ -57,59 +41,24 @@ body.twothirdswidthpage .content .sticky-sidebar {
background: $base_bg;
}
+#top-header {
+ [class*="span"] {
+ margin-left: 2%;
+ }
-// These bits are taken from Warwickshire's CSS to override default FMS styles
-// The 'body.mappage .container' selector has been added to each so it takes precedent over
-// default FMS style.
-
-// http://www.warwickshire.gov.uk/wp-content/themes/gamma/style.css
-.container {
- width: 940px;
-}
-
-.navbar .container {
- width: auto;
-}
-
-.navbar-static-top .container,
-.navbar-fixed-top .container,
-.navbar-fixed-bottom .container,
-body.mappage .container {
- width: 940px;
-}
-
-// http://www.warwickshire.gov.uk/wp-content/themes/gamma/bootstrap-responsive.css
-@media (min-width: 1200px) {
- .container,
- .navbar-static-top .container,
- .navbar-fixed-top .container,
- .navbar-fixed-bottom .container,
- body.mappage .container {
- width: 1170px;
+ .span12 {
+ width: 98%;
}
-}
-@media (min-width: 768px) and (max-width: 979px) {
- .container,
- .navbar-static-top .container,
- .navbar-fixed-top .container,
- .navbar-fixed-bottom .container,
- body.mappage .container {
- width: 724px;
- }
- }
+ .span3 {
+ width: 23%;
+ }
-@media (max-width: 767px) {
- .container,
- body.mappage .container {
- width: auto;
- }
+ .span9 {
+ width: 73%;
+ }
}
-@media (max-width: 979px) {
- .navbar .container,
- body.mappage .container {
- width: auto;
- padding: 0;
- }
-}
+#site-search.navbar-form input {
+ width: 16em;
+} \ No newline at end of file
diff --git a/web/cobrands/warwickshire/gamma/bootstrap-responsive.css b/web/cobrands/warwickshire/vendor/gamma/bootstrap-responsive.css
index 2dbc61a6e..2dbc61a6e 100644
--- a/web/cobrands/warwickshire/gamma/bootstrap-responsive.css
+++ b/web/cobrands/warwickshire/vendor/gamma/bootstrap-responsive.css
diff --git a/web/cobrands/warwickshire/gamma/bootstrap.min.js b/web/cobrands/warwickshire/vendor/gamma/bootstrap.min.js
index 6eeb15ce3..6eeb15ce3 100644
--- a/web/cobrands/warwickshire/gamma/bootstrap.min.js
+++ b/web/cobrands/warwickshire/vendor/gamma/bootstrap.min.js
diff --git a/web/cobrands/warwickshire/gamma/images/favicon.ico b/web/cobrands/warwickshire/vendor/gamma/images/favicon.ico
index 53e51b914..53e51b914 100644
--- a/web/cobrands/warwickshire/gamma/images/favicon.ico
+++ b/web/cobrands/warwickshire/vendor/gamma/images/favicon.ico
Binary files differ
diff --git a/web/cobrands/warwickshire/gamma/images/icon-flickr.png b/web/cobrands/warwickshire/vendor/gamma/images/icon-flickr.png
index c12efcb1f..c12efcb1f 100644
--- a/web/cobrands/warwickshire/gamma/images/icon-flickr.png
+++ b/web/cobrands/warwickshire/vendor/gamma/images/icon-flickr.png
Binary files differ
diff --git a/web/cobrands/warwickshire/gamma/images/icon-twitter.png b/web/cobrands/warwickshire/vendor/gamma/images/icon-twitter.png
index 97efce7b9..97efce7b9 100644
--- a/web/cobrands/warwickshire/gamma/images/icon-twitter.png
+++ b/web/cobrands/warwickshire/vendor/gamma/images/icon-twitter.png
Binary files differ
diff --git a/web/cobrands/warwickshire/gamma/images/icon-youtube.png b/web/cobrands/warwickshire/vendor/gamma/images/icon-youtube.png
index 8b6a51dba..8b6a51dba 100644
--- a/web/cobrands/warwickshire/gamma/images/icon-youtube.png
+++ b/web/cobrands/warwickshire/vendor/gamma/images/icon-youtube.png
Binary files differ
diff --git a/web/cobrands/warwickshire/gamma/jquery-1.9.0.min.js b/web/cobrands/warwickshire/vendor/gamma/jquery-1.9.0.min.js
index a0ca38eae..a0ca38eae 100644
--- a/web/cobrands/warwickshire/gamma/jquery-1.9.0.min.js
+++ b/web/cobrands/warwickshire/vendor/gamma/jquery-1.9.0.min.js
diff --git a/web/cobrands/warwickshire/gamma/main.js b/web/cobrands/warwickshire/vendor/gamma/main.js
index a80e0e847..a80e0e847 100644
--- a/web/cobrands/warwickshire/gamma/main.js
+++ b/web/cobrands/warwickshire/vendor/gamma/main.js
diff --git a/web/cobrands/warwickshire/gamma/modernizr-2.6.2-respond-1.1.0.min.js b/web/cobrands/warwickshire/vendor/gamma/modernizr-2.6.2-respond-1.1.0.min.js
index 302f461e0..302f461e0 100644
--- a/web/cobrands/warwickshire/gamma/modernizr-2.6.2-respond-1.1.0.min.js
+++ b/web/cobrands/warwickshire/vendor/gamma/modernizr-2.6.2-respond-1.1.0.min.js
diff --git a/web/cobrands/warwickshire/gamma/style.css b/web/cobrands/warwickshire/vendor/gamma/style.css
index 99e4d47e5..99e4d47e5 100644
--- a/web/cobrands/warwickshire/gamma/style.css
+++ b/web/cobrands/warwickshire/vendor/gamma/style.css
diff --git a/web/cobrands/whitelabel/_colours.scss b/web/cobrands/whitelabel/_colours.scss
new file mode 100644
index 000000000..1392663d5
--- /dev/null
+++ b/web/cobrands/whitelabel/_colours.scss
@@ -0,0 +1,30 @@
+/* LAYOUT */
+
+// If you are wanting a right-to-left layout, uncomment the following line.
+// $direction: right;
+
+/* COLOURS */
+
+$primary: gray;
+$primary_b: #000000;
+$primary_text: #222222;
+
+$base_bg: white;
+$base_fg: #000;
+
+$map_nav_bg: #eee;
+$nav_fg: #000;
+$nav_fg_hover: $primary;
+
+// Colour used for front page 'how to report a problem' steps
+$col_big_numbers: #ccc;
+
+$col_click_map: gray;
+
+$col_fixed_label: #00BD08;
+$col_fixed_label_dark: #4B8304;
+
+$menu-image: 'menu-black';
+
+$front_main_background: white;
+// $header-top-border: false;
diff --git a/web/cobrands/whitelabel/base.scss b/web/cobrands/whitelabel/base.scss
new file mode 100644
index 000000000..4f953084e
--- /dev/null
+++ b/web/cobrands/whitelabel/base.scss
@@ -0,0 +1,4 @@
+@import "../sass/h5bp";
+@import "./_colours";
+@import "../sass/mixins";
+@import "../sass/base";
diff --git a/web/cobrands/whitelabel/layout.scss b/web/cobrands/whitelabel/layout.scss
new file mode 100644
index 000000000..9c58b471d
--- /dev/null
+++ b/web/cobrands/whitelabel/layout.scss
@@ -0,0 +1,14 @@
+@import "_colours";
+@import "../sass/layout";
+
+.big-green-banner {
+ text-transform: none;
+}
+
+.nav-menu--main a.report-a-problem-btn {
+ color: white;
+}
+
+#front-main {
+ background-color: $front_main_background;
+}
diff --git a/web/cobrands/zurich/_colours.scss b/web/cobrands/zurich/_colours.scss
index d05be2102..3bdbd7447 100644
--- a/web/cobrands/zurich/_colours.scss
+++ b/web/cobrands/zurich/_colours.scss
@@ -10,7 +10,7 @@ $primary_text: #fff;
$base_bg: #fff;
$base_fg: #3c3c3c;
-$map_nav_bg: #fff;
+$map_nav_bg: #366AB6;
/* Unused here, main-nav is mobile only */
$nav_fg: $primary_text;
$nav_fg_hover: $primary/1.1;
@@ -23,3 +23,4 @@ $col_fixed_label_dark: #4B8304;
$mobile_menu_tab_bg_col: #FFFFFF; // the white border and tab on mobile site
$mobile_header_blue: #366AB6; // close match to Zurich logo_portal.jpg
+$header-top-border: solid 0.25em $mobile_menu_tab_bg_col;
diff --git a/web/cobrands/zurich/_zurich.scss b/web/cobrands/zurich/_zurich.scss
index 746da4ece..e4ff44220 100644
--- a/web/cobrands/zurich/_zurich.scss
+++ b/web/cobrands/zurich/_zurich.scss
@@ -8,12 +8,6 @@ a:hover {
text-decoration: underline;
}
-// mySociety addition for box shadow on front page with static image
-body.frontpage #zurich-footer-wrapper {
- padding: 1px 0;
- @include box-shadow(0 -6px 6px -5px #000);
-}
-
#zurich-footer {
margin: 2em auto; // mySociety
font-size: 67.5%;
@@ -22,7 +16,7 @@ body.frontpage #zurich-footer-wrapper {
background-image: url(bg_mainnav_portal.png);
background-repeat: repeat-x;
border: 1px solid #d8d8d8;
- width: 953px;
+ max-width: 953px;
padding: 3px 10px;
margin-bottom: 24px;
height: 1.5em
diff --git a/web/cobrands/zurich/base.scss b/web/cobrands/zurich/base.scss
index 0308f5b43..3b13a93cf 100644
--- a/web/cobrands/zurich/base.scss
+++ b/web/cobrands/zurich/base.scss
@@ -50,17 +50,14 @@
}
}
-#site-header {
- background: $mobile_header_blue;
- border-top: 4px solid $mobile_menu_tab_bg_col;
- height: 48px;
+#site-logo-text {
+ display: none;
}
#site-logo {
background: url(logo_portal.jpg) 0px -24px no-repeat;
width: 200px;
height: 48px;
- left:0;
- top:4px;
+ margin-left: -1em;
}
#front-howto #front_stats,
#front-main #postcodeForm {
diff --git a/web/cobrands/zurich/layout.scss b/web/cobrands/zurich/layout.scss
index fc61aabbd..a5e6735d7 100644
--- a/web/cobrands/zurich/layout.scss
+++ b/web/cobrands/zurich/layout.scss
@@ -11,62 +11,40 @@ $mappage-header-height: 7em;
color: #3c3c3c;
}
-// Front page content needs a shadow.
-// (Purely decorative: No need for border fallback for IE8)
-body.frontpage .content {
- @include box-shadow(0 0 6px 1px #000);
-}
-// The header on a map page needs a shadow too
-body.mappage .nav-wrapper .nav-wrapper-2 {
- @include box-shadow(0 0 6px 1px #000);
- z-index: 2; // One more than #zurich-main-nav so it's on top
-}
-// Except on admin pages where there's an admin nav directly underneath it
-body.mappage.admin .nav-wrapper-2 {
- @include box-shadow(none);
-}
-
// Fix positioning of images in the admin
body.admin .admin-nav-wrapper {
z-index: 1;
}
// Different header and logo
-#site-header .container {
- height: 99px;
- background: url(logo_portal.x.jpg) top left repeat-x;
-}
-
-body.frontpage #site-logo, #site-logo {
- width: 415px;
- height: 83px;
- background: url(logo_portal.jpg) top left no-repeat;
- top: 0;
- left: auto; // base set this to 0
-}
+#site-header {
+ background-color: #fff;
+ border-top: none;
+ margin-bottom: 2em;
-// Static map on front page
-body.frontpage {
- .table-cell {
- background-position: 50% 117px;
- background-repeat: no-repeat;
- background-image: url(mapbg-1024.jpg);
- @media all and (min-width: 1025px) {
- background-image: url(mapbg-1600.jpg);
- }
- .content {
- margin: 2em auto; // Spacing around front content on top of static map
- }
+ .container {
+ background: #fff url(logo_portal.x.jpg) top left repeat-x;
+ padding: 0;
}
+}
+body.mappage {
#site-header {
- height: 117px;
- background-color: #fff;
+ // The header on a map page needs a shadow too
@include box-shadow(0 0 6px 1px #000);
+ z-index: 2; // One more than #zurich-main-nav so it's on top
+ .container {
+ margin: 0 1em; // White padding left/right
+ }
+ }
+ // Except on admin pages where there's an admin nav directly underneath it
+ &.admin #site-header {
+ @include box-shadow(none);
}
}
#site-logo-text {
+ display: inline;
position: absolute;
top: 0;
z-index: 3;
@@ -76,43 +54,73 @@ body.frontpage {
font-size: 85%;
}
body.mappage #site-logo-text {
- position: fixed;
+ padding-left: 0;
+}
+
+#site-logo {
+ width: 415px;
+ height: 83px;
+ background-position: top left;
+ margin-left: 0;
+}
+
+body.mappage #site-logo {
+ margin-left: 0;
}
.nav-wrapper {
- .nav-wrapper-2 {
- border-top: none;
- }
- .nav-wrapper-3 {
- height: 6em; // rough figure, enough to show the blue band, but less than .nav-wrapper-2 height
- padding-top: 18px;
+ top: 18px;
+}
+
+#main-nav {
+ margin-top: 0;
+ display: block; // Stop the default 'flex'
+ body.mappage & {
+ // As header gets a z-index above for the shadow
+ // Otherwise this would be invisible underneath
+ z-index: 2;
+ position: relative;
}
}
-body.mappage {
- .nav-wrapper {
- .nav-wrapper-2 {
- border-top: none;
- padding: 0 10px;
- box-sizing: border-box;
+// Static map on front page
+body.frontpage {
+ // Front page content needs a shadow.
+ // (Purely decorative: No need for border fallback for IE8)
+ .content {
+ @include box-shadow(0 0 6px 1px #000);
+ }
+
+ .table-cell {
+ background-position: 50% 117px;
+ background-repeat: no-repeat;
+ background-image: url(mapbg-1024.jpg);
+ @media all and (min-width: 1025px) {
+ background-image: url(mapbg-1600.jpg);
+ }
+ .content {
+ margin: 2em auto; // Spacing around front content on top of static map
}
}
- /* Ugh :( But first wrapper is the caption, second is the fixed (so first we
- can do padding on) so a third seems necessary for the background then. */
- .nav-wrapper-3 {
- background: #fff url(logo_portal.x.jpg) top left repeat-x;
+
+ #site-header {
+ @include box-shadow(0 0 6px 1px #000);
+ height: 117px;
}
- .content {
- margin-top: 1em;
+
+ #zurich-footer-wrapper {
+ padding: 1px 0;
+ @include box-shadow(0 -6px 6px -5px #000);
+ position: relative;
}
}
// Logged in notice in footer (appearing in header)
-.nav-wrapper-2 p:first-child {
+.nav-wrapper p:first-child {
font-weight: bold;
margin-top: 0.75em;
}
-.nav-wrapper-2 p {
+.nav-wrapper p {
line-height: 1.2;
color: white;
clear: right;
diff --git a/web/down.default.html b/web/down.default.html
deleted file mode 100644
index 760004cc1..000000000
--- a/web/down.default.html
+++ /dev/null
@@ -1,102 +0,0 @@
-<!doctype html>
-<!--[if IE 7]> <html class="no-js ie7 iel8" lang="en-gb"><![endif]-->
-<!--[if IE 8]> <html class="no-js ie8 iel8" lang="en-gb"><![endif]-->
-<!--[if IE 9]> <html class="no-js ie9" lang="en-gb"><![endif]-->
-<!--[if gt IE 9]><!--><html class="no-js" lang="en-gb"><!--<![endif]-->
- <head>
- <meta name="viewport" content="initial-scale=1.0">
-
- <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
- <meta name="HandHeldFriendly" content="true">
- <meta name="mobileoptimized" content="0">
-
- <meta property="og:url" content="https://www.fixmystreet.com/">
- <meta property="og:title" content="FixMyStreet">
- <meta property="og:site_name" content="FixMyStreet">
- <meta property="og:description" content="Report, view, and discuss local street-related problems.">
- <meta property="og:type" content="website">
- <meta property="og:image" content="https://www.fixmystreet.com/cobrands/fixmystreet/fms-og_image.png">
- <meta property="og:image:type" content="image/png">
- <meta property="og:image:width" content="500">
- <meta property="og:image:height" content="500">
-
- <link rel="stylesheet" href="https://www.fixmystreet.com/cobrands/fixmystreet.com/base.css?1442505663">
- <link rel="stylesheet" href="https://www.fixmystreet.com/cobrands/fixmystreet.com/layout.css?1442576262" media="(min-width:48em)">
-
- <!--[if (lt IE 9) & (!IEMobile)]>
- <link rel="stylesheet" href="https://www.fixmystreet.com/cobrands/fixmystreet.com/layout.css?1442576262">
- <![endif]-->
-
- <meta http-equiv="content-type" content="text/html; charset=utf-8">
- <meta name="cobrand" content="fixmystreet">
- <title>Down for maintenance :: FixMyStreet</title>
- <link rel="Shortcut Icon" type="image/x-icon" href="https://www.fixmystreet.com/cobrands/fixmystreet.com/favicon.ico">
-
- </head>
-
- <body class="fullwidthpage">
-
- <div class="wrapper">
- <div class="table-cell">
- <header id="site-header" role="banner">
- <div class="container">
- <a href="/" id="site-logo">FixMyStreet</a>
- </div>
- </header>
-
- <div class="container">
- <div class="content" role="main">
-
-<div class="tablewrapper">
- <h1>FixMyStreet is currently down for maintenance.</h1>
- <p>Please come back later.</p>
-</div>
-
-
- <footer role="contentinfo">
- <div class="tablewrapper bordered">
- <div id="footer-mobileapps">
- <h4>The FixMyStreet App</h4>
- <p>
- <a href="https://itunes.apple.com/gb/app/fixmystreet/id297456545">
- <img alt="FixMyStreet app on the App Store" src="https://www.fixmystreet.com/cobrands/fixmystreet/images/itunes_store_logo.png" />
- </a>
- <a href="https://play.google.com/store/apps/details?id=org.mysociety.FixMyStreet">
- <img alt="FixMyStreet Android app on Google Play" src="https://www.fixmystreet.com/cobrands/fixmystreet/images/google_play_logo.png" />
- </a>
- </p>
- </div>
-
- <div id="footer-help">
- <p>
- Powered by <a class="platform-logo" href="http://fixmystreet.org/">FixMyStreet Platform</a>
- </p>
- <ul>
- <li>
- <h4>Are you a developer?</h4>
- <p>Would you like to contribute to FixMyStreet? Our code is open source and <a href="http://fixmystreet.org">available at fixmystreet.org</a>.</p>
- </li>
- </ul>
- </div>
- </div>
- </footer>
-
- </div><!-- .content role=main -->
- </div><!-- .container -->
-
- </div><!-- .table-cell -->
-
- <div class="nav-wrapper">
- <div class="nav-wrapper-2">
- <div id="main-nav" role="navigation">
- <ul class="nav-menu nav-menu--mysoc">
- <li><a id="mysoc-logo" href="https://www.mysociety.org/">mySociety</a></li>
- </ul>
- </div>
- </div>
- </div>
-
- </div> <!-- .wrapper -->
-
-</body>
-</html>
diff --git a/web/i/pin-green-big.png b/web/i/pin-green-big.png
index 69815463e..3eab8da11 100644
--- a/web/i/pin-green-big.png
+++ b/web/i/pin-green-big.png
Binary files differ
diff --git a/web/i/pin-green-mini.png b/web/i/pin-green-mini.png
index 32d57a807..6497e53e8 100644
--- a/web/i/pin-green-mini.png
+++ b/web/i/pin-green-mini.png
Binary files differ
diff --git a/web/i/pin-green-small.png b/web/i/pin-green-small.png
index 4813ceb58..ee7f8514b 100644
--- a/web/i/pin-green-small.png
+++ b/web/i/pin-green-small.png
Binary files differ
diff --git a/web/i/pin-green.png b/web/i/pin-green.png
index 597bfc6b7..83068d86c 100644
--- a/web/i/pin-green.png
+++ b/web/i/pin-green.png
Binary files differ
diff --git a/web/i/pin-grey-big.png b/web/i/pin-grey-big.png
index 02117aa5e..2e700d18a 100644
--- a/web/i/pin-grey-big.png
+++ b/web/i/pin-grey-big.png
Binary files differ
diff --git a/web/i/pin-grey-mini.png b/web/i/pin-grey-mini.png
index 152b0a60f..07e637c50 100644
--- a/web/i/pin-grey-mini.png
+++ b/web/i/pin-grey-mini.png
Binary files differ
diff --git a/web/i/pin-grey-small.png b/web/i/pin-grey-small.png
index 14b1f9b03..be5ef751e 100644
--- a/web/i/pin-grey-small.png
+++ b/web/i/pin-grey-small.png
Binary files differ
diff --git a/web/i/pin-grey.png b/web/i/pin-grey.png
index 866e6ebe7..94e512c79 100644
--- a/web/i/pin-grey.png
+++ b/web/i/pin-grey.png
Binary files differ
diff --git a/web/i/pin-orange-big.png b/web/i/pin-orange-big.png
new file mode 100644
index 000000000..a7597d6b3
--- /dev/null
+++ b/web/i/pin-orange-big.png
Binary files differ
diff --git a/web/i/pin-orange-mini.png b/web/i/pin-orange-mini.png
new file mode 100644
index 000000000..546f00e0a
--- /dev/null
+++ b/web/i/pin-orange-mini.png
Binary files differ
diff --git a/web/i/pin-orange-small.png b/web/i/pin-orange-small.png
new file mode 100644
index 000000000..7f866fd12
--- /dev/null
+++ b/web/i/pin-orange-small.png
Binary files differ
diff --git a/web/i/pin-orange.png b/web/i/pin-orange.png
new file mode 100644
index 000000000..5e33e8010
--- /dev/null
+++ b/web/i/pin-orange.png
Binary files differ
diff --git a/web/i/pin-red-big.png b/web/i/pin-red-big.png
index fb51b6c78..7c02b7029 100644
--- a/web/i/pin-red-big.png
+++ b/web/i/pin-red-big.png
Binary files differ
diff --git a/web/i/pin-red-mini.png b/web/i/pin-red-mini.png
index d91aac979..333d6a8c7 100644
--- a/web/i/pin-red-mini.png
+++ b/web/i/pin-red-mini.png
Binary files differ
diff --git a/web/i/pin-red-small.png b/web/i/pin-red-small.png
index a0e8fb0d2..2388ce03e 100644
--- a/web/i/pin-red-small.png
+++ b/web/i/pin-red-small.png
Binary files differ
diff --git a/web/i/pin-red.png b/web/i/pin-red.png
index 882446a22..6ad0b1eea 100644
--- a/web/i/pin-red.png
+++ b/web/i/pin-red.png
Binary files differ
diff --git a/web/i/pin-shadow-big.png b/web/i/pin-shadow-big.png
index 113184b94..a65014a82 100644
--- a/web/i/pin-shadow-big.png
+++ b/web/i/pin-shadow-big.png
Binary files differ
diff --git a/web/i/pin-shadow-small.png b/web/i/pin-shadow-small.png
index 911e3a66c..fa5e65b5b 100644
--- a/web/i/pin-shadow-small.png
+++ b/web/i/pin-shadow-small.png
Binary files differ
diff --git a/web/i/pin-shadow.png b/web/i/pin-shadow.png
index 8b470592a..9a1f24ee7 100644
--- a/web/i/pin-shadow.png
+++ b/web/i/pin-shadow.png
Binary files differ
diff --git a/web/i/pin-spot.png b/web/i/pin-spot.png
index 6f8eb5fb5..43726fb48 100644
--- a/web/i/pin-spot.png
+++ b/web/i/pin-spot.png
Binary files differ
diff --git a/web/i/pin-yellow-big.png b/web/i/pin-yellow-big.png
index cfae00afc..435f520b9 100644
--- a/web/i/pin-yellow-big.png
+++ b/web/i/pin-yellow-big.png
Binary files differ
diff --git a/web/i/pin-yellow-mini.png b/web/i/pin-yellow-mini.png
index 8181bce96..7cbe0d09d 100644
--- a/web/i/pin-yellow-mini.png
+++ b/web/i/pin-yellow-mini.png
Binary files differ
diff --git a/web/i/pin-yellow-small.png b/web/i/pin-yellow-small.png
index 53cfb654a..1e0235989 100644
--- a/web/i/pin-yellow-small.png
+++ b/web/i/pin-yellow-small.png
Binary files differ
diff --git a/web/i/pin-yellow.png b/web/i/pin-yellow.png
index 67ccc546a..4fdaa7214 100644
--- a/web/i/pin-yellow.png
+++ b/web/i/pin-yellow.png
Binary files differ
diff --git a/web/js/OpenLayers.2.11.zurich.js b/web/js/OpenLayers.2.11.zurich.js
deleted file mode 100644
index 62087500d..000000000
--- a/web/js/OpenLayers.2.11.zurich.js
+++ /dev/null
@@ -1,1364 +0,0 @@
-/*
-
- OpenLayers.js -- OpenLayers Map Viewer Library
-
- Copyright 2005-2011 OpenLayers Contributors, released under the FreeBSD
- license. Please see http://svn.openlayers.org/trunk/openlayers/license.txt
- for the full text of the license.
-
- Includes compressed code under the following licenses:
-
- (For uncompressed versions of the code used please see the
- OpenLayers SVN repository: <http://openlayers.org/>)
-
-*/
-
-/* Contains portions of Prototype.js:
- *
- * Prototype JavaScript framework, version 1.4.0
- * (c) 2005 Sam Stephenson <sam@conio.net>
- *
- * Prototype is freely distributable under the terms of an MIT-style license.
- * For details, see the Prototype web site: http://prototype.conio.net/
- *
- *--------------------------------------------------------------------------*/
-
-/**
- * Contains XMLHttpRequest.js <http://code.google.com/p/xmlhttprequest/>
- * Copyright 2007 Sergey Ilinsky (http://www.ilinsky.com)
- *
- * Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
- */
-
-/**
- * Contains portions of Gears <http://code.google.com/apis/gears/>
- *
- * Copyright 2007, Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. Neither the name of Google Inc. nor the names of its contributors may be
- * used to endorse or promote products derived from this software without
- * specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Sets up google.gears.*, which is *the only* supported way to access Gears.
- *
- * Circumvent this file at your own risk!
- *
- * In the future, Gears may automatically define google.gears.* without this
- * file. Gears may use these objects to transparently fix bugs and compatibility
- * issues. Applications that use the code below will continue to work seamlessly
- * when that happens.
- */
-
-/**
- * OpenLayers.Util.pagePosition is based on Yahoo's getXY method, which is
- * Copyright (c) 2006, Yahoo! Inc.
- * All rights reserved.
- *
- * Redistribution and use of this software in source and binary forms, with or
- * without modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * * Neither the name of Yahoo! Inc. nor the names of its contributors may be
- * used to endorse or promote products derived from this software without
- * specific prior written permission of Yahoo! Inc.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */var OpenLayers={VERSION_NUMBER:"Release 2.11",singleFile:true,_getScriptLocation:function(){ return "/jslib/OpenLayers-2.10/";
-}};OpenLayers.Class=function(){var len=arguments.length;var P=arguments[0];var F=arguments[len-1];var C=typeof F.initialize=="function"?F.initialize:function(){P.prototype.initialize.apply(this,arguments);};if(len>1){var newArgs=[C,P].concat(Array.prototype.slice.call(arguments).slice(1,len-1),F);OpenLayers.inherit.apply(null,newArgs);}else{C.prototype=F;}
-return C;};OpenLayers.Class.isPrototype=function(){};OpenLayers.Class.create=function(){return function(){if(arguments&&arguments[0]!=OpenLayers.Class.isPrototype){this.initialize.apply(this,arguments);}};};OpenLayers.Class.inherit=function(P){var C=function(){P.call(this);};var newArgs=[C].concat(Array.prototype.slice.call(arguments));OpenLayers.inherit.apply(null,newArgs);return C.prototype;};OpenLayers.inherit=function(C,P){var F=function(){};F.prototype=P.prototype;C.prototype=new F;var i,l,o;for(i=2,l=arguments.length;i<l;i++){o=arguments[i];if(typeof o==="function"){o=o.prototype;}
-OpenLayers.Util.extend(C.prototype,o);}};OpenLayers.Util=OpenLayers.Util||{};OpenLayers.Util.extend=function(destination,source){destination=destination||{};if(source){for(var property in source){var value=source[property];if(value!==undefined){destination[property]=value;}}
-var sourceIsEvt=typeof window.Event=="function"&&source instanceof window.Event;if(!sourceIsEvt&&source.hasOwnProperty&&source.hasOwnProperty("toString")){destination.toString=source.toString;}}
-return destination;};OpenLayers.Console={log:function(){},debug:function(){},info:function(){},warn:function(){},error:function(){},userError:function(error){alert(error);},assert:function(){},dir:function(){},dirxml:function(){},trace:function(){},group:function(){},groupEnd:function(){},time:function(){},timeEnd:function(){},profile:function(){},profileEnd:function(){},count:function(){},CLASS_NAME:"OpenLayers.Console"};(function(){var scripts=document.getElementsByTagName("script");for(var i=0,len=scripts.length;i<len;++i){if(scripts[i].src.indexOf("firebug.js")!=-1){if(console){OpenLayers.Util.extend(OpenLayers.Console,console);break;}}}})();OpenLayers.Control=OpenLayers.Class({id:null,map:null,div:null,type:null,allowSelection:false,displayClass:"",title:"",autoActivate:false,active:null,handler:null,eventListeners:null,events:null,EVENT_TYPES:["activate","deactivate"],initialize:function(options){this.displayClass=this.CLASS_NAME.replace("OpenLayers.","ol").replace(/\./g,"");OpenLayers.Util.extend(this,options);this.events=new OpenLayers.Events(this,null,this.EVENT_TYPES);if(this.eventListeners instanceof Object){this.events.on(this.eventListeners);}
-if(this.id==null){this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_");}},destroy:function(){if(this.events){if(this.eventListeners){this.events.un(this.eventListeners);}
-this.events.destroy();this.events=null;}
-this.eventListeners=null;if(this.handler){this.handler.destroy();this.handler=null;}
-if(this.handlers){for(var key in this.handlers){if(this.handlers.hasOwnProperty(key)&&typeof this.handlers[key].destroy=="function"){this.handlers[key].destroy();}}
-this.handlers=null;}
-if(this.map){this.map.removeControl(this);this.map=null;}
-this.div=null;},setMap:function(map){this.map=map;if(this.handler){this.handler.setMap(map);}},draw:function(px){if(this.div==null){this.div=OpenLayers.Util.createDiv(this.id);this.div.className=this.displayClass;if(!this.allowSelection){this.div.className+=" olControlNoSelect";this.div.setAttribute("unselectable","on",0);this.div.onselectstart=OpenLayers.Function.False;}
-if(this.title!=""){this.div.title=this.title;}}
-if(px!=null){this.position=px.clone();}
-this.moveTo(this.position);return this.div;},moveTo:function(px){if((px!=null)&&(this.div!=null)){this.div.style.left=px.x+"px";this.div.style.top=px.y+"px";}},activate:function(){if(this.active){return false;}
-if(this.handler){this.handler.activate();}
-this.active=true;if(this.map){OpenLayers.Element.addClass(this.map.viewPortDiv,this.displayClass.replace(/ /g,"")+"Active");}
-this.events.triggerEvent("activate");return true;},deactivate:function(){if(this.active){if(this.handler){this.handler.deactivate();}
-this.active=false;if(this.map){OpenLayers.Element.removeClass(this.map.viewPortDiv,this.displayClass.replace(/ /g,"")+"Active");}
-this.events.triggerEvent("deactivate");return true;}
-return false;},CLASS_NAME:"OpenLayers.Control"});OpenLayers.Control.TYPE_BUTTON=1;OpenLayers.Control.TYPE_TOGGLE=2;OpenLayers.Control.TYPE_TOOL=3;OpenLayers.Lang={code:null,defaultCode:"en",getCode:function(){if(!OpenLayers.Lang.code){OpenLayers.Lang.setCode();}
-return OpenLayers.Lang.code;},setCode:function(code){var lang;if(!code){code=(OpenLayers.BROWSER_NAME=="msie")?navigator.userLanguage:navigator.language;}
-var parts=code.split('-');parts[0]=parts[0].toLowerCase();if(typeof OpenLayers.Lang[parts[0]]=="object"){lang=parts[0];}
-if(parts[1]){var testLang=parts[0]+'-'+parts[1].toUpperCase();if(typeof OpenLayers.Lang[testLang]=="object"){lang=testLang;}}
-if(!lang){OpenLayers.Console.warn('Failed to find OpenLayers.Lang.'+parts.join("-")+' dictionary, falling back to default language');lang=OpenLayers.Lang.defaultCode;}
-OpenLayers.Lang.code=lang;},translate:function(key,context){var dictionary=OpenLayers.Lang[OpenLayers.Lang.getCode()];var message=dictionary&&dictionary[key];if(!message){message=key;}
-if(context){message=OpenLayers.String.format(message,context);}
-return message;}};OpenLayers.i18n=OpenLayers.Lang.translate;OpenLayers.String={startsWith:function(str,sub){return(str.indexOf(sub)==0);},contains:function(str,sub){return(str.indexOf(sub)!=-1);},trim:function(str){return str.replace(/^\s\s*/,'').replace(/\s\s*$/,'');},camelize:function(str){var oStringList=str.split('-');var camelizedString=oStringList[0];for(var i=1,len=oStringList.length;i<len;i++){var s=oStringList[i];camelizedString+=s.charAt(0).toUpperCase()+s.substring(1);}
-return camelizedString;},format:function(template,context,args){if(!context){context=window;}
-var replacer=function(str,match){var replacement;var subs=match.split(/\.+/);for(var i=0;i<subs.length;i++){if(i==0){replacement=context;}
-replacement=replacement[subs[i]];}
-if(typeof replacement=="function"){replacement=args?replacement.apply(null,args):replacement();}
-if(typeof replacement=='undefined'){return'undefined';}else{return replacement;}};return template.replace(OpenLayers.String.tokenRegEx,replacer);},tokenRegEx:/\$\{([\w.]+?)\}/g,numberRegEx:/^([+-]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/,isNumeric:function(value){return OpenLayers.String.numberRegEx.test(value);},numericIf:function(value){return OpenLayers.String.isNumeric(value)?parseFloat(value):value;}};if(!String.prototype.startsWith){String.prototype.startsWith=function(sStart){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{'newMethod':'OpenLayers.String.startsWith'}));return OpenLayers.String.startsWith(this,sStart);};}
-if(!String.prototype.contains){String.prototype.contains=function(str){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{'newMethod':'OpenLayers.String.contains'}));return OpenLayers.String.contains(this,str);};}
-if(!String.prototype.trim){String.prototype.trim=function(){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{'newMethod':'OpenLayers.String.trim'}));return OpenLayers.String.trim(this);};}
-if(!String.prototype.camelize){String.prototype.camelize=function(){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{'newMethod':'OpenLayers.String.camelize'}));return OpenLayers.String.camelize(this);};}
-OpenLayers.Number={decimalSeparator:".",thousandsSeparator:",",limitSigDigs:function(num,sig){var fig=0;if(sig>0){fig=parseFloat(num.toPrecision(sig));}
-return fig;},format:function(num,dec,tsep,dsep){dec=(typeof dec!="undefined")?dec:0;tsep=(typeof tsep!="undefined")?tsep:OpenLayers.Number.thousandsSeparator;dsep=(typeof dsep!="undefined")?dsep:OpenLayers.Number.decimalSeparator;if(dec!=null){num=parseFloat(num.toFixed(dec));}
-var parts=num.toString().split(".");if(parts.length==1&&dec==null){dec=0;}
-var integer=parts[0];if(tsep){var thousands=/(-?[0-9]+)([0-9]{3})/;while(thousands.test(integer)){integer=integer.replace(thousands,"$1"+tsep+"$2");}}
-var str;if(dec==0){str=integer;}else{var rem=parts.length>1?parts[1]:"0";if(dec!=null){rem=rem+new Array(dec-rem.length+1).join("0");}
-str=integer+dsep+rem;}
-return str;}};if(!Number.prototype.limitSigDigs){Number.prototype.limitSigDigs=function(sig){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{'newMethod':'OpenLayers.Number.limitSigDigs'}));return OpenLayers.Number.limitSigDigs(this,sig);};}
-OpenLayers.Function={bind:function(func,object){var args=Array.prototype.slice.apply(arguments,[2]);return function(){var newArgs=args.concat(Array.prototype.slice.apply(arguments,[0]));return func.apply(object,newArgs);};},bindAsEventListener:function(func,object){return function(event){return func.call(object,event||window.event);};},False:function(){return false;},True:function(){return true;},Void:function(){}};if(!Function.prototype.bind){Function.prototype.bind=function(){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{'newMethod':'OpenLayers.Function.bind'}));Array.prototype.unshift.apply(arguments,[this]);return OpenLayers.Function.bind.apply(null,arguments);};}
-if(!Function.prototype.bindAsEventListener){Function.prototype.bindAsEventListener=function(object){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{'newMethod':'OpenLayers.Function.bindAsEventListener'}));return OpenLayers.Function.bindAsEventListener(this,object);};}
-OpenLayers.Array={filter:function(array,callback,caller){var selected=[];if(Array.prototype.filter){selected=array.filter(callback,caller);}else{var len=array.length;if(typeof callback!="function"){throw new TypeError();}
-for(var i=0;i<len;i++){if(i in array){var val=array[i];if(callback.call(caller,val,i,array)){selected.push(val);}}}}
-return selected;}};OpenLayers.Bounds=OpenLayers.Class({left:null,bottom:null,right:null,top:null,centerLonLat:null,initialize:function(left,bottom,right,top){if(left!=null){this.left=OpenLayers.Util.toFloat(left);}
-if(bottom!=null){this.bottom=OpenLayers.Util.toFloat(bottom);}
-if(right!=null){this.right=OpenLayers.Util.toFloat(right);}
-if(top!=null){this.top=OpenLayers.Util.toFloat(top);}},clone:function(){return new OpenLayers.Bounds(this.left,this.bottom,this.right,this.top);},equals:function(bounds){var equals=false;if(bounds!=null){equals=((this.left==bounds.left)&&(this.right==bounds.right)&&(this.top==bounds.top)&&(this.bottom==bounds.bottom));}
-return equals;},toString:function(){return[this.left,this.bottom,this.right,this.top].join(",");},toArray:function(reverseAxisOrder){if(reverseAxisOrder===true){return[this.bottom,this.left,this.top,this.right];}else{return[this.left,this.bottom,this.right,this.top];}},toBBOX:function(decimal,reverseAxisOrder){if(decimal==null){decimal=6;}
-var mult=Math.pow(10,decimal);var xmin=Math.round(this.left*mult)/mult;var ymin=Math.round(this.bottom*mult)/mult;var xmax=Math.round(this.right*mult)/mult;var ymax=Math.round(this.top*mult)/mult;if(reverseAxisOrder===true){return ymin+","+xmin+","+ymax+","+xmax;}else{return xmin+","+ymin+","+xmax+","+ymax;}},toGeometry:function(){return new OpenLayers.Geometry.Polygon([new OpenLayers.Geometry.LinearRing([new OpenLayers.Geometry.Point(this.left,this.bottom),new OpenLayers.Geometry.Point(this.right,this.bottom),new OpenLayers.Geometry.Point(this.right,this.top),new OpenLayers.Geometry.Point(this.left,this.top)])]);},getWidth:function(){return(this.right-this.left);},getHeight:function(){return(this.top-this.bottom);},getSize:function(){return new OpenLayers.Size(this.getWidth(),this.getHeight());},getCenterPixel:function(){return new OpenLayers.Pixel((this.left+this.right)/2,(this.bottom+this.top)/2);},getCenterLonLat:function(){if(!this.centerLonLat){this.centerLonLat=new OpenLayers.LonLat((this.left+this.right)/2,(this.bottom+this.top)/2);}
-return this.centerLonLat;},scale:function(ratio,origin){if(origin==null){origin=this.getCenterLonLat();}
-var origx,origy;if(origin.CLASS_NAME=="OpenLayers.LonLat"){origx=origin.lon;origy=origin.lat;}else{origx=origin.x;origy=origin.y;}
-var left=(this.left-origx)*ratio+origx;var bottom=(this.bottom-origy)*ratio+origy;var right=(this.right-origx)*ratio+origx;var top=(this.top-origy)*ratio+origy;return new OpenLayers.Bounds(left,bottom,right,top);},add:function(x,y){if((x==null)||(y==null)){var msg=OpenLayers.i18n("boundsAddError");OpenLayers.Console.error(msg);return null;}
-return new OpenLayers.Bounds(this.left+x,this.bottom+y,this.right+x,this.top+y);},extend:function(object){var bounds=null;if(object){switch(object.CLASS_NAME){case"OpenLayers.LonLat":bounds=new OpenLayers.Bounds(object.lon,object.lat,object.lon,object.lat);break;case"OpenLayers.Geometry.Point":bounds=new OpenLayers.Bounds(object.x,object.y,object.x,object.y);break;case"OpenLayers.Bounds":bounds=object;break;}
-if(bounds){this.centerLonLat=null;if((this.left==null)||(bounds.left<this.left)){this.left=bounds.left;}
-if((this.bottom==null)||(bounds.bottom<this.bottom)){this.bottom=bounds.bottom;}
-if((this.right==null)||(bounds.right>this.right)){this.right=bounds.right;}
-if((this.top==null)||(bounds.top>this.top)){this.top=bounds.top;}}}},containsLonLat:function(ll,inclusive){return this.contains(ll.lon,ll.lat,inclusive);},containsPixel:function(px,inclusive){return this.contains(px.x,px.y,inclusive);},contains:function(x,y,inclusive){if(inclusive==null){inclusive=true;}
-if(x==null||y==null){return false;}
-x=OpenLayers.Util.toFloat(x);y=OpenLayers.Util.toFloat(y);var contains=false;if(inclusive){contains=((x>=this.left)&&(x<=this.right)&&(y>=this.bottom)&&(y<=this.top));}else{contains=((x>this.left)&&(x<this.right)&&(y>this.bottom)&&(y<this.top));}
-return contains;},intersectsBounds:function(bounds,inclusive){if(inclusive==null){inclusive=true;}
-var intersects=false;var mightTouch=(this.left==bounds.right||this.right==bounds.left||this.top==bounds.bottom||this.bottom==bounds.top);if(inclusive||!mightTouch){var inBottom=(((bounds.bottom>=this.bottom)&&(bounds.bottom<=this.top))||((this.bottom>=bounds.bottom)&&(this.bottom<=bounds.top)));var inTop=(((bounds.top>=this.bottom)&&(bounds.top<=this.top))||((this.top>bounds.bottom)&&(this.top<bounds.top)));var inLeft=(((bounds.left>=this.left)&&(bounds.left<=this.right))||((this.left>=bounds.left)&&(this.left<=bounds.right)));var inRight=(((bounds.right>=this.left)&&(bounds.right<=this.right))||((this.right>=bounds.left)&&(this.right<=bounds.right)));intersects=((inBottom||inTop)&&(inLeft||inRight));}
-return intersects;},containsBounds:function(bounds,partial,inclusive){if(partial==null){partial=false;}
-if(inclusive==null){inclusive=true;}
-var bottomLeft=this.contains(bounds.left,bounds.bottom,inclusive);var bottomRight=this.contains(bounds.right,bounds.bottom,inclusive);var topLeft=this.contains(bounds.left,bounds.top,inclusive);var topRight=this.contains(bounds.right,bounds.top,inclusive);return(partial)?(bottomLeft||bottomRight||topLeft||topRight):(bottomLeft&&bottomRight&&topLeft&&topRight);},determineQuadrant:function(lonlat){var quadrant="";var center=this.getCenterLonLat();quadrant+=(lonlat.lat<center.lat)?"b":"t";quadrant+=(lonlat.lon<center.lon)?"l":"r";return quadrant;},transform:function(source,dest){this.centerLonLat=null;var ll=OpenLayers.Projection.transform({'x':this.left,'y':this.bottom},source,dest);var lr=OpenLayers.Projection.transform({'x':this.right,'y':this.bottom},source,dest);var ul=OpenLayers.Projection.transform({'x':this.left,'y':this.top},source,dest);var ur=OpenLayers.Projection.transform({'x':this.right,'y':this.top},source,dest);this.left=Math.min(ll.x,ul.x);this.bottom=Math.min(ll.y,lr.y);this.right=Math.max(lr.x,ur.x);this.top=Math.max(ul.y,ur.y);return this;},wrapDateLine:function(maxExtent,options){options=options||{};var leftTolerance=options.leftTolerance||0;var rightTolerance=options.rightTolerance||0;var newBounds=this.clone();if(maxExtent){while(newBounds.left<maxExtent.left&&(newBounds.right-rightTolerance)<=maxExtent.left){newBounds=newBounds.add(maxExtent.getWidth(),0);}
-while((newBounds.left+leftTolerance)>=maxExtent.right&&newBounds.right>maxExtent.right){newBounds=newBounds.add(-maxExtent.getWidth(),0);}}
-return newBounds;},CLASS_NAME:"OpenLayers.Bounds"});OpenLayers.Bounds.fromString=function(str,reverseAxisOrder){var bounds=str.split(",");return OpenLayers.Bounds.fromArray(bounds,reverseAxisOrder);};OpenLayers.Bounds.fromArray=function(bbox,reverseAxisOrder){return reverseAxisOrder===true?new OpenLayers.Bounds(parseFloat(bbox[1]),parseFloat(bbox[0]),parseFloat(bbox[3]),parseFloat(bbox[2])):new OpenLayers.Bounds(parseFloat(bbox[0]),parseFloat(bbox[1]),parseFloat(bbox[2]),parseFloat(bbox[3]));};OpenLayers.Bounds.fromSize=function(size){return new OpenLayers.Bounds(0,size.h,size.w,0);};OpenLayers.Bounds.oppositeQuadrant=function(quadrant){var opp="";opp+=(quadrant.charAt(0)=='t')?'b':'t';opp+=(quadrant.charAt(1)=='l')?'r':'l';return opp;};OpenLayers.Element={visible:function(element){return OpenLayers.Util.getElement(element).style.display!='none';},toggle:function(){for(var i=0,len=arguments.length;i<len;i++){var element=OpenLayers.Util.getElement(arguments[i]);var display=OpenLayers.Element.visible(element)?'hide':'show';OpenLayers.Element[display](element);}},hide:function(){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"element.style.display = 'none';"}));for(var i=0,len=arguments.length;i<len;i++){var element=OpenLayers.Util.getElement(arguments[i]);if(element){element.style.display='none';}}},show:function(){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{newMethod:"element.style.display = '';"}));for(var i=0,len=arguments.length;i<len;i++){var element=OpenLayers.Util.getElement(arguments[i]);if(element){element.style.display='';}}},remove:function(element){element=OpenLayers.Util.getElement(element);element.parentNode.removeChild(element);},getHeight:function(element){element=OpenLayers.Util.getElement(element);return element.offsetHeight;},getDimensions:function(element){element=OpenLayers.Util.getElement(element);if(OpenLayers.Element.getStyle(element,'display')!='none'){return{width:element.offsetWidth,height:element.offsetHeight};}
-var els=element.style;var originalVisibility=els.visibility;var originalPosition=els.position;var originalDisplay=els.display;els.visibility='hidden';els.position='absolute';els.display='';var originalWidth=element.clientWidth;var originalHeight=element.clientHeight;els.display=originalDisplay;els.position=originalPosition;els.visibility=originalVisibility;return{width:originalWidth,height:originalHeight};},hasClass:function(element,name){var names=element.className;return(!!names&&new RegExp("(^|\\s)"+name+"(\\s|$)").test(names));},addClass:function(element,name){if(!OpenLayers.Element.hasClass(element,name)){element.className+=(element.className?" ":"")+name;}
-return element;},removeClass:function(element,name){var names=element.className;if(names){element.className=OpenLayers.String.trim(names.replace(new RegExp("(^|\\s+)"+name+"(\\s+|$)")," "));}
-return element;},toggleClass:function(element,name){if(OpenLayers.Element.hasClass(element,name)){OpenLayers.Element.removeClass(element,name);}else{OpenLayers.Element.addClass(element,name);}
-return element;},getStyle:function(element,style){element=OpenLayers.Util.getElement(element);var value=null;if(element&&element.style){value=element.style[OpenLayers.String.camelize(style)];if(!value){if(document.defaultView&&document.defaultView.getComputedStyle){var css=document.defaultView.getComputedStyle(element,null);value=css?css.getPropertyValue(style):null;}else if(element.currentStyle){value=element.currentStyle[OpenLayers.String.camelize(style)];}}
-var positions=['left','top','right','bottom'];if(window.opera&&(OpenLayers.Util.indexOf(positions,style)!=-1)&&(OpenLayers.Element.getStyle(element,'position')=='static')){value='auto';}}
-return value=='auto'?null:value;}};OpenLayers.LonLat=OpenLayers.Class({lon:0.0,lat:0.0,initialize:function(lon,lat){this.lon=OpenLayers.Util.toFloat(lon);this.lat=OpenLayers.Util.toFloat(lat);},toString:function(){return("lon="+this.lon+",lat="+this.lat);},toShortString:function(){return(this.lon+", "+this.lat);},clone:function(){return new OpenLayers.LonLat(this.lon,this.lat);},add:function(lon,lat){if((lon==null)||(lat==null)){var msg=OpenLayers.i18n("lonlatAddError");OpenLayers.Console.error(msg);return null;}
-return new OpenLayers.LonLat(this.lon+OpenLayers.Util.toFloat(lon),this.lat+OpenLayers.Util.toFloat(lat));},equals:function(ll){var equals=false;if(ll!=null){equals=((this.lon==ll.lon&&this.lat==ll.lat)||(isNaN(this.lon)&&isNaN(this.lat)&&isNaN(ll.lon)&&isNaN(ll.lat)));}
-return equals;},transform:function(source,dest){var point=OpenLayers.Projection.transform({'x':this.lon,'y':this.lat},source,dest);this.lon=point.x;this.lat=point.y;return this;},wrapDateLine:function(maxExtent){var newLonLat=this.clone();if(maxExtent){while(newLonLat.lon<maxExtent.left){newLonLat.lon+=maxExtent.getWidth();}
-while(newLonLat.lon>maxExtent.right){newLonLat.lon-=maxExtent.getWidth();}}
-return newLonLat;},CLASS_NAME:"OpenLayers.LonLat"});OpenLayers.LonLat.fromString=function(str){var pair=str.split(",");return new OpenLayers.LonLat(pair[0],pair[1]);};OpenLayers.LonLat.fromArray=function(arr){var gotArr=OpenLayers.Util.isArray(arr),lon=gotArr&&arr[0],lat=gotArr&&arr[1];return new OpenLayers.LonLat(lon,lat);};OpenLayers.Pixel=OpenLayers.Class({x:0.0,y:0.0,initialize:function(x,y){this.x=parseFloat(x);this.y=parseFloat(y);},toString:function(){return("x="+this.x+",y="+this.y);},clone:function(){return new OpenLayers.Pixel(this.x,this.y);},equals:function(px){var equals=false;if(px!=null){equals=((this.x==px.x&&this.y==px.y)||(isNaN(this.x)&&isNaN(this.y)&&isNaN(px.x)&&isNaN(px.y)));}
-return equals;},distanceTo:function(px){return Math.sqrt(Math.pow(this.x-px.x,2)+
-Math.pow(this.y-px.y,2));},add:function(x,y){if((x==null)||(y==null)){var msg=OpenLayers.i18n("pixelAddError");OpenLayers.Console.error(msg);return null;}
-return new OpenLayers.Pixel(this.x+x,this.y+y);},offset:function(px){var newPx=this.clone();if(px){newPx=this.add(px.x,px.y);}
-return newPx;},CLASS_NAME:"OpenLayers.Pixel"});OpenLayers.Size=OpenLayers.Class({w:0.0,h:0.0,initialize:function(w,h){this.w=parseFloat(w);this.h=parseFloat(h);},toString:function(){return("w="+this.w+",h="+this.h);},clone:function(){return new OpenLayers.Size(this.w,this.h);},equals:function(sz){var equals=false;if(sz!=null){equals=((this.w==sz.w&&this.h==sz.h)||(isNaN(this.w)&&isNaN(this.h)&&isNaN(sz.w)&&isNaN(sz.h)));}
-return equals;},CLASS_NAME:"OpenLayers.Size"});OpenLayers.Util=OpenLayers.Util||{};OpenLayers.Util.getElement=function(){var elements=[];for(var i=0,len=arguments.length;i<len;i++){var element=arguments[i];if(typeof element=='string'){element=document.getElementById(element);}
-if(arguments.length==1){return element;}
-elements.push(element);}
-return elements;};OpenLayers.Util.isElement=function(o){return!!(o&&o.nodeType===1);};OpenLayers.Util.isArray=function(a){return(Object.prototype.toString.call(a)==='[object Array]');};if(typeof window.$==="undefined"){window.$=OpenLayers.Util.getElement;}
-OpenLayers.Util.removeItem=function(array,item){for(var i=array.length-1;i>=0;i--){if(array[i]==item){array.splice(i,1);}}
-return array;};OpenLayers.Util.clearArray=function(array){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{'newMethod':'array = []'}));array.length=0;};OpenLayers.Util.indexOf=function(array,obj){if(typeof array.indexOf=="function"){return array.indexOf(obj);}else{for(var i=0,len=array.length;i<len;i++){if(array[i]==obj){return i;}}
-return-1;}};OpenLayers.Util.modifyDOMElement=function(element,id,px,sz,position,border,overflow,opacity){if(id){element.id=id;}
-if(px){element.style.left=px.x+"px";element.style.top=px.y+"px";}
-if(sz){element.style.width=sz.w+"px";element.style.height=sz.h+"px";}
-if(position){element.style.position=position;}
-if(border){element.style.border=border;}
-if(overflow){element.style.overflow=overflow;}
-if(parseFloat(opacity)>=0.0&&parseFloat(opacity)<1.0){element.style.filter='alpha(opacity='+(opacity*100)+')';element.style.opacity=opacity;}else if(parseFloat(opacity)==1.0){element.style.filter='';element.style.opacity='';}};OpenLayers.Util.createDiv=function(id,px,sz,imgURL,position,border,overflow,opacity){var dom=document.createElement('div');if(imgURL){dom.style.backgroundImage='url('+imgURL+')';}
-if(!id){id=OpenLayers.Util.createUniqueID("OpenLayersDiv");}
-if(!position){position="absolute";}
-OpenLayers.Util.modifyDOMElement(dom,id,px,sz,position,border,overflow,opacity);return dom;};OpenLayers.Util.createImage=function(id,px,sz,imgURL,position,border,opacity,delayDisplay){var image=document.createElement("img");if(!id){id=OpenLayers.Util.createUniqueID("OpenLayersDiv");}
-if(!position){position="relative";}
-OpenLayers.Util.modifyDOMElement(image,id,px,sz,position,border,null,opacity);if(delayDisplay){image.style.display="none";OpenLayers.Event.observe(image,"load",OpenLayers.Function.bind(OpenLayers.Util.onImageLoad,image));OpenLayers.Event.observe(image,"error",OpenLayers.Function.bind(OpenLayers.Util.onImageLoadError,image));}
-image.style.alt=id;image.galleryImg="no";if(imgURL){image.src=imgURL;}
-return image;};OpenLayers.Util.setOpacity=function(element,opacity){OpenLayers.Util.modifyDOMElement(element,null,null,null,null,null,null,opacity);};OpenLayers.Util.onImageLoad=function(){if(!this.viewRequestID||(this.map&&this.viewRequestID==this.map.viewRequestID)){this.style.display="";}
-OpenLayers.Element.removeClass(this,"olImageLoadError");};OpenLayers.IMAGE_RELOAD_ATTEMPTS=0;OpenLayers.Util.onImageLoadError=function(){this._attempts=(this._attempts)?(this._attempts+1):1;if(this._attempts<=OpenLayers.IMAGE_RELOAD_ATTEMPTS){var urls=this.urls;if(urls&&OpenLayers.Util.isArray(urls)&&urls.length>1){var src=this.src.toString();var current_url,k;for(k=0;current_url=urls[k];k++){if(src.indexOf(current_url)!=-1){break;}}
-var guess=Math.floor(urls.length*Math.random());var new_url=urls[guess];k=0;while(new_url==current_url&&k++<4){guess=Math.floor(urls.length*Math.random());new_url=urls[guess];}
-this.src=src.replace(current_url,new_url);}else{this.src=this.src;}}else{OpenLayers.Element.addClass(this,"olImageLoadError");}
-this.style.display="";};OpenLayers.Util.alphaHackNeeded=null;OpenLayers.Util.alphaHack=function(){if(OpenLayers.Util.alphaHackNeeded==null){var arVersion=navigator.appVersion.split("MSIE");var version=parseFloat(arVersion[1]);var filter=false;try{filter=!!(document.body.filters);}catch(e){}
-OpenLayers.Util.alphaHackNeeded=(filter&&(version>=5.5)&&(version<7));}
-return OpenLayers.Util.alphaHackNeeded;};OpenLayers.Util.modifyAlphaImageDiv=function(div,id,px,sz,imgURL,position,border,sizing,opacity){OpenLayers.Util.modifyDOMElement(div,id,px,sz,position,null,null,opacity);var img=div.childNodes[0];if(imgURL){img.src=imgURL;}
-OpenLayers.Util.modifyDOMElement(img,div.id+"_innerImage",null,sz,"relative",border);if(OpenLayers.Util.alphaHack()){if(div.style.display!="none"){div.style.display="inline-block";}
-if(sizing==null){sizing="scale";}
-div.style.filter="progid:DXImageTransform.Microsoft"+".AlphaImageLoader(src='"+img.src+"', "+"sizingMethod='"+sizing+"')";if(parseFloat(div.style.opacity)>=0.0&&parseFloat(div.style.opacity)<1.0){div.style.filter+=" alpha(opacity="+div.style.opacity*100+")";}
-img.style.filter="alpha(opacity=0)";}};OpenLayers.Util.createAlphaImageDiv=function(id,px,sz,imgURL,position,border,sizing,opacity,delayDisplay){var div=OpenLayers.Util.createDiv();var img=OpenLayers.Util.createImage(null,null,null,null,null,null,null,false);div.appendChild(img);if(delayDisplay){img.style.display="none";OpenLayers.Event.observe(img,"load",OpenLayers.Function.bind(OpenLayers.Util.onImageLoad,div));OpenLayers.Event.observe(img,"error",OpenLayers.Function.bind(OpenLayers.Util.onImageLoadError,div));}
-OpenLayers.Util.modifyAlphaImageDiv(div,id,px,sz,imgURL,position,border,sizing,opacity);return div;};OpenLayers.Util.upperCaseObject=function(object){var uObject={};for(var key in object){uObject[key.toUpperCase()]=object[key];}
-return uObject;};OpenLayers.Util.applyDefaults=function(to,from){to=to||{};var fromIsEvt=typeof window.Event=="function"&&from instanceof window.Event;for(var key in from){if(to[key]===undefined||(!fromIsEvt&&from.hasOwnProperty&&from.hasOwnProperty(key)&&!to.hasOwnProperty(key))){to[key]=from[key];}}
-if(!fromIsEvt&&from&&from.hasOwnProperty&&from.hasOwnProperty('toString')&&!to.hasOwnProperty('toString')){to.toString=from.toString;}
-return to;};OpenLayers.Util.getParameterString=function(params){var paramsArray=[];for(var key in params){var value=params[key];if((value!=null)&&(typeof value!='function')){var encodedValue;if(typeof value=='object'&&value.constructor==Array){var encodedItemArray=[];var item;for(var itemIndex=0,len=value.length;itemIndex<len;itemIndex++){item=value[itemIndex];encodedItemArray.push(encodeURIComponent((item===null||item===undefined)?"":item));}
-encodedValue=encodedItemArray.join(",");}
-else{encodedValue=encodeURIComponent(value);}
-paramsArray.push(encodeURIComponent(key)+"="+encodedValue);}}
-return paramsArray.join("&");};OpenLayers.Util.urlAppend=function(url,paramStr){var newUrl=url;if(paramStr){var parts=(url+" ").split(/[?&]/);newUrl+=(parts.pop()===" "?paramStr:parts.length?"&"+paramStr:"?"+paramStr);}
-return newUrl;};OpenLayers.ImgPath='';OpenLayers.Util.getImagesLocation=function(){return OpenLayers.ImgPath||(OpenLayers._getScriptLocation()+"img/");};OpenLayers.Util.Try=function(){var returnValue=null;for(var i=0,len=arguments.length;i<len;i++){var lambda=arguments[i];try{returnValue=lambda();break;}catch(e){}}
-return returnValue;};OpenLayers.Util.getXmlNodeValue=function(node){var val=null;OpenLayers.Util.Try(function(){val=node.text;if(!val){val=node.textContent;}
-if(!val){val=node.firstChild.nodeValue;}},function(){val=node.textContent;});return val;};OpenLayers.Util.mouseLeft=function(evt,div){var target=(evt.relatedTarget)?evt.relatedTarget:evt.toElement;while(target!=div&&target!=null){target=target.parentNode;}
-return(target!=div);};OpenLayers.Util.DEFAULT_PRECISION=14;OpenLayers.Util.toFloat=function(number,precision){if(precision==null){precision=OpenLayers.Util.DEFAULT_PRECISION;}
-if(typeof number!=="number"){number=parseFloat(number);}
-return precision===0?number:parseFloat(number.toPrecision(precision));};OpenLayers.Util.rad=function(x){return x*Math.PI/180;};OpenLayers.Util.deg=function(x){return x*180/Math.PI;};OpenLayers.Util.VincentyConstants={a:6378137,b:6356752.3142,f:1/298.257223563};OpenLayers.Util.distVincenty=function(p1,p2){var ct=OpenLayers.Util.VincentyConstants;var a=ct.a,b=ct.b,f=ct.f;var L=OpenLayers.Util.rad(p2.lon-p1.lon);var U1=Math.atan((1-f)*Math.tan(OpenLayers.Util.rad(p1.lat)));var U2=Math.atan((1-f)*Math.tan(OpenLayers.Util.rad(p2.lat)));var sinU1=Math.sin(U1),cosU1=Math.cos(U1);var sinU2=Math.sin(U2),cosU2=Math.cos(U2);var lambda=L,lambdaP=2*Math.PI;var iterLimit=20;while(Math.abs(lambda-lambdaP)>1e-12&&--iterLimit>0){var sinLambda=Math.sin(lambda),cosLambda=Math.cos(lambda);var sinSigma=Math.sqrt((cosU2*sinLambda)*(cosU2*sinLambda)+
-(cosU1*sinU2-sinU1*cosU2*cosLambda)*(cosU1*sinU2-sinU1*cosU2*cosLambda));if(sinSigma==0){return 0;}
-var cosSigma=sinU1*sinU2+cosU1*cosU2*cosLambda;var sigma=Math.atan2(sinSigma,cosSigma);var alpha=Math.asin(cosU1*cosU2*sinLambda/sinSigma);var cosSqAlpha=Math.cos(alpha)*Math.cos(alpha);var cos2SigmaM=cosSigma-2*sinU1*sinU2/cosSqAlpha;var C=f/16*cosSqAlpha*(4+f*(4-3*cosSqAlpha));lambdaP=lambda;lambda=L+(1-C)*f*Math.sin(alpha)*(sigma+C*sinSigma*(cos2SigmaM+C*cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)));}
-if(iterLimit==0){return NaN;}
-var uSq=cosSqAlpha*(a*a-b*b)/(b*b);var A=1+uSq/16384*(4096+uSq*(-768+uSq*(320-175*uSq)));var B=uSq/1024*(256+uSq*(-128+uSq*(74-47*uSq)));var deltaSigma=B*sinSigma*(cos2SigmaM+B/4*(cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)-
-B/6*cos2SigmaM*(-3+4*sinSigma*sinSigma)*(-3+4*cos2SigmaM*cos2SigmaM)));var s=b*A*(sigma-deltaSigma);var d=s.toFixed(3)/1000;return d;};OpenLayers.Util.destinationVincenty=function(lonlat,brng,dist){var u=OpenLayers.Util;var ct=u.VincentyConstants;var a=ct.a,b=ct.b,f=ct.f;var lon1=lonlat.lon;var lat1=lonlat.lat;var s=dist;var alpha1=u.rad(brng);var sinAlpha1=Math.sin(alpha1);var cosAlpha1=Math.cos(alpha1);var tanU1=(1-f)*Math.tan(u.rad(lat1));var cosU1=1/Math.sqrt((1+tanU1*tanU1)),sinU1=tanU1*cosU1;var sigma1=Math.atan2(tanU1,cosAlpha1);var sinAlpha=cosU1*sinAlpha1;var cosSqAlpha=1-sinAlpha*sinAlpha;var uSq=cosSqAlpha*(a*a-b*b)/(b*b);var A=1+uSq/16384*(4096+uSq*(-768+uSq*(320-175*uSq)));var B=uSq/1024*(256+uSq*(-128+uSq*(74-47*uSq)));var sigma=s/(b*A),sigmaP=2*Math.PI;while(Math.abs(sigma-sigmaP)>1e-12){var cos2SigmaM=Math.cos(2*sigma1+sigma);var sinSigma=Math.sin(sigma);var cosSigma=Math.cos(sigma);var deltaSigma=B*sinSigma*(cos2SigmaM+B/4*(cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)-
-B/6*cos2SigmaM*(-3+4*sinSigma*sinSigma)*(-3+4*cos2SigmaM*cos2SigmaM)));sigmaP=sigma;sigma=s/(b*A)+deltaSigma;}
-var tmp=sinU1*sinSigma-cosU1*cosSigma*cosAlpha1;var lat2=Math.atan2(sinU1*cosSigma+cosU1*sinSigma*cosAlpha1,(1-f)*Math.sqrt(sinAlpha*sinAlpha+tmp*tmp));var lambda=Math.atan2(sinSigma*sinAlpha1,cosU1*cosSigma-sinU1*sinSigma*cosAlpha1);var C=f/16*cosSqAlpha*(4+f*(4-3*cosSqAlpha));var L=lambda-(1-C)*f*sinAlpha*(sigma+C*sinSigma*(cos2SigmaM+C*cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)));var revAz=Math.atan2(sinAlpha,-tmp);return new OpenLayers.LonLat(lon1+u.deg(L),u.deg(lat2));};OpenLayers.Util.getParameters=function(url){url=(url===null||url===undefined)?window.location.href:url;var paramsString="";if(OpenLayers.String.contains(url,'?')){var start=url.indexOf('?')+1;var end=OpenLayers.String.contains(url,"#")?url.indexOf('#'):url.length;paramsString=url.substring(start,end);}
-var parameters={};var pairs=paramsString.split(/[&;]/);for(var i=0,len=pairs.length;i<len;++i){var keyValue=pairs[i].split('=');if(keyValue[0]){var key=keyValue[0];try{key=decodeURIComponent(key);}catch(err){key=unescape(key);}
-var value=(keyValue[1]||'').replace(/\+/g," ");try{value=decodeURIComponent(value);}catch(err){value=unescape(value);}
-value=value.split(",");if(value.length==1){value=value[0];}
-parameters[key]=value;}}
-return parameters;};OpenLayers.Util.getArgs=function(url){OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",{'newMethod':'OpenLayers.Util.getParameters'}));return OpenLayers.Util.getParameters(url);};OpenLayers.Util.lastSeqID=0;OpenLayers.Util.createUniqueID=function(prefix){if(prefix==null){prefix="id_";}
-OpenLayers.Util.lastSeqID+=1;return prefix+OpenLayers.Util.lastSeqID;};OpenLayers.INCHES_PER_UNIT={'inches':1.0,'ft':12.0,'mi':63360.0,'m':39.3701,'km':39370.1,'dd':4374754,'yd':36};OpenLayers.INCHES_PER_UNIT["in"]=OpenLayers.INCHES_PER_UNIT.inches;OpenLayers.INCHES_PER_UNIT["degrees"]=OpenLayers.INCHES_PER_UNIT.dd;OpenLayers.INCHES_PER_UNIT["nmi"]=1852*OpenLayers.INCHES_PER_UNIT.m;OpenLayers.METERS_PER_INCH=0.02540005080010160020;OpenLayers.Util.extend(OpenLayers.INCHES_PER_UNIT,{"Inch":OpenLayers.INCHES_PER_UNIT.inches,"Meter":1.0/OpenLayers.METERS_PER_INCH,"Foot":0.30480060960121920243/OpenLayers.METERS_PER_INCH,"IFoot":0.30480000000000000000/OpenLayers.METERS_PER_INCH,"ClarkeFoot":0.3047972651151/OpenLayers.METERS_PER_INCH,"SearsFoot":0.30479947153867624624/OpenLayers.METERS_PER_INCH,"GoldCoastFoot":0.30479971018150881758/OpenLayers.METERS_PER_INCH,"IInch":0.02540000000000000000/OpenLayers.METERS_PER_INCH,"MicroInch":0.00002540000000000000/OpenLayers.METERS_PER_INCH,"Mil":0.00000002540000000000/OpenLayers.METERS_PER_INCH,"Centimeter":0.01000000000000000000/OpenLayers.METERS_PER_INCH,"Kilometer":1000.00000000000000000000/OpenLayers.METERS_PER_INCH,"Yard":0.91440182880365760731/OpenLayers.METERS_PER_INCH,"SearsYard":0.914398414616029/OpenLayers.METERS_PER_INCH,"IndianYard":0.91439853074444079983/OpenLayers.METERS_PER_INCH,"IndianYd37":0.91439523/OpenLayers.METERS_PER_INCH,"IndianYd62":0.9143988/OpenLayers.METERS_PER_INCH,"IndianYd75":0.9143985/OpenLayers.METERS_PER_INCH,"IndianFoot":0.30479951/OpenLayers.METERS_PER_INCH,"IndianFt37":0.30479841/OpenLayers.METERS_PER_INCH,"IndianFt62":0.3047996/OpenLayers.METERS_PER_INCH,"IndianFt75":0.3047995/OpenLayers.METERS_PER_INCH,"Mile":1609.34721869443738887477/OpenLayers.METERS_PER_INCH,"IYard":0.91440000000000000000/OpenLayers.METERS_PER_INCH,"IMile":1609.34400000000000000000/OpenLayers.METERS_PER_INCH,"NautM":1852.00000000000000000000/OpenLayers.METERS_PER_INCH,"Lat-66":110943.316488932731/OpenLayers.METERS_PER_INCH,"Lat-83":110946.25736872234125/OpenLayers.METERS_PER_INCH,"Decimeter":0.10000000000000000000/OpenLayers.METERS_PER_INCH,"Millimeter":0.00100000000000000000/OpenLayers.METERS_PER_INCH,"Dekameter":10.00000000000000000000/OpenLayers.METERS_PER_INCH,"Decameter":10.00000000000000000000/OpenLayers.METERS_PER_INCH,"Hectometer":100.00000000000000000000/OpenLayers.METERS_PER_INCH,"GermanMeter":1.0000135965/OpenLayers.METERS_PER_INCH,"CaGrid":0.999738/OpenLayers.METERS_PER_INCH,"ClarkeChain":20.1166194976/OpenLayers.METERS_PER_INCH,"GunterChain":20.11684023368047/OpenLayers.METERS_PER_INCH,"BenoitChain":20.116782494375872/OpenLayers.METERS_PER_INCH,"SearsChain":20.11676512155/OpenLayers.METERS_PER_INCH,"ClarkeLink":0.201166194976/OpenLayers.METERS_PER_INCH,"GunterLink":0.2011684023368047/OpenLayers.METERS_PER_INCH,"BenoitLink":0.20116782494375872/OpenLayers.METERS_PER_INCH,"SearsLink":0.2011676512155/OpenLayers.METERS_PER_INCH,"Rod":5.02921005842012/OpenLayers.METERS_PER_INCH,"IntnlChain":20.1168/OpenLayers.METERS_PER_INCH,"IntnlLink":0.201168/OpenLayers.METERS_PER_INCH,"Perch":5.02921005842012/OpenLayers.METERS_PER_INCH,"Pole":5.02921005842012/OpenLayers.METERS_PER_INCH,"Furlong":201.1684023368046/OpenLayers.METERS_PER_INCH,"Rood":3.778266898/OpenLayers.METERS_PER_INCH,"CapeFoot":0.3047972615/OpenLayers.METERS_PER_INCH,"Brealey":375.00000000000000000000/OpenLayers.METERS_PER_INCH,"ModAmFt":0.304812252984505969011938/OpenLayers.METERS_PER_INCH,"Fathom":1.8288/OpenLayers.METERS_PER_INCH,"NautM-UK":1853.184/OpenLayers.METERS_PER_INCH,"50kilometers":50000.0/OpenLayers.METERS_PER_INCH,"150kilometers":150000.0/OpenLayers.METERS_PER_INCH});OpenLayers.Util.extend(OpenLayers.INCHES_PER_UNIT,{"mm":OpenLayers.INCHES_PER_UNIT["Meter"]/1000.0,"cm":OpenLayers.INCHES_PER_UNIT["Meter"]/100.0,"dm":OpenLayers.INCHES_PER_UNIT["Meter"]*100.0,"km":OpenLayers.INCHES_PER_UNIT["Meter"]*1000.0,"kmi":OpenLayers.INCHES_PER_UNIT["nmi"],"fath":OpenLayers.INCHES_PER_UNIT["Fathom"],"ch":OpenLayers.INCHES_PER_UNIT["IntnlChain"],"link":OpenLayers.INCHES_PER_UNIT["IntnlLink"],"us-in":OpenLayers.INCHES_PER_UNIT["inches"],"us-ft":OpenLayers.INCHES_PER_UNIT["Foot"],"us-yd":OpenLayers.INCHES_PER_UNIT["Yard"],"us-ch":OpenLayers.INCHES_PER_UNIT["GunterChain"],"us-mi":OpenLayers.INCHES_PER_UNIT["Mile"],"ind-yd":OpenLayers.INCHES_PER_UNIT["IndianYd37"],"ind-ft":OpenLayers.INCHES_PER_UNIT["IndianFt37"],"ind-ch":20.11669506/OpenLayers.METERS_PER_INCH});OpenLayers.DOTS_PER_INCH=72;OpenLayers.Util.normalizeScale=function(scale){var normScale=(scale>1.0)?(1.0/scale):scale;return normScale;};OpenLayers.Util.getResolutionFromScale=function(scale,units){var resolution;if(scale){if(units==null){units="degrees";}
-var normScale=OpenLayers.Util.normalizeScale(scale);resolution=1/(normScale*OpenLayers.INCHES_PER_UNIT[units]*OpenLayers.DOTS_PER_INCH);}
-return resolution;};OpenLayers.Util.getScaleFromResolution=function(resolution,units){if(units==null){units="degrees";}
-var scale=resolution*OpenLayers.INCHES_PER_UNIT[units]*OpenLayers.DOTS_PER_INCH;return scale;};OpenLayers.Util.safeStopPropagation=function(evt){OpenLayers.Event.stop(evt,true);};OpenLayers.Util.pagePosition=function(forElement){var pos=[0,0];var viewportElement=OpenLayers.Util.getViewportElement();if(!forElement||forElement==window||forElement==viewportElement){return pos;}
-var BUGGY_GECKO_BOX_OBJECT=OpenLayers.IS_GECKO&&document.getBoxObjectFor&&OpenLayers.Element.getStyle(forElement,'position')=='absolute'&&(forElement.style.top==''||forElement.style.left=='');var parent=null;var box;if(forElement.getBoundingClientRect){box=forElement.getBoundingClientRect();var scrollTop=viewportElement.scrollTop;var scrollLeft=viewportElement.scrollLeft;pos[0]=box.left+scrollLeft;pos[1]=box.top+scrollTop;}else if(document.getBoxObjectFor&&!BUGGY_GECKO_BOX_OBJECT){box=document.getBoxObjectFor(forElement);var vpBox=document.getBoxObjectFor(viewportElement);pos[0]=box.screenX-vpBox.screenX;pos[1]=box.screenY-vpBox.screenY;}else{pos[0]=forElement.offsetLeft;pos[1]=forElement.offsetTop;parent=forElement.offsetParent;if(parent!=forElement){while(parent){pos[0]+=parent.offsetLeft;pos[1]+=parent.offsetTop;parent=parent.offsetParent;}}
-var browser=OpenLayers.BROWSER_NAME;if(browser=="opera"||(browser=="safari"&&OpenLayers.Element.getStyle(forElement,'position')=='absolute')){pos[1]-=document.body.offsetTop;}
-parent=forElement.offsetParent;while(parent&&parent!=document.body){pos[0]-=parent.scrollLeft;if(browser!="opera"||parent.tagName!='TR'){pos[1]-=parent.scrollTop;}
-parent=parent.offsetParent;}}
-return pos;};OpenLayers.Util.getViewportElement=function(){var viewportElement=arguments.callee.viewportElement;if(viewportElement==undefined){viewportElement=(OpenLayers.BROWSER_NAME=="msie"&&document.compatMode!='CSS1Compat')?document.body:document.documentElement;arguments.callee.viewportElement=viewportElement;}
-return viewportElement;};OpenLayers.Util.isEquivalentUrl=function(url1,url2,options){options=options||{};OpenLayers.Util.applyDefaults(options,{ignoreCase:true,ignorePort80:true,ignoreHash:true});var urlObj1=OpenLayers.Util.createUrlObject(url1,options);var urlObj2=OpenLayers.Util.createUrlObject(url2,options);for(var key in urlObj1){if(key!=="args"){if(urlObj1[key]!=urlObj2[key]){return false;}}}
-for(var key in urlObj1.args){if(urlObj1.args[key]!=urlObj2.args[key]){return false;}
-delete urlObj2.args[key];}
-for(var key in urlObj2.args){return false;}
-return true;};OpenLayers.Util.createUrlObject=function(url,options){options=options||{};if(!(/^\w+:\/\//).test(url)){var loc=window.location;var port=loc.port?":"+loc.port:"";var fullUrl=loc.protocol+"//"+loc.host.split(":").shift()+port;if(url.indexOf("/")===0){url=fullUrl+url;}else{var parts=loc.pathname.split("/");parts.pop();url=fullUrl+parts.join("/")+"/"+url;}}
-if(options.ignoreCase){url=url.toLowerCase();}
-var a=document.createElement('a');a.href=url;var urlObject={};urlObject.host=a.host.split(":").shift();urlObject.protocol=a.protocol;if(options.ignorePort80){urlObject.port=(a.port=="80"||a.port=="0")?"":a.port;}else{urlObject.port=(a.port==""||a.port=="0")?"80":a.port;}
-urlObject.hash=(options.ignoreHash||a.hash==="#")?"":a.hash;var queryString=a.search;if(!queryString){var qMark=url.indexOf("?");queryString=(qMark!=-1)?url.substr(qMark):"";}
-urlObject.args=OpenLayers.Util.getParameters(queryString);urlObject.pathname=(a.pathname.charAt(0)=="/")?a.pathname:"/"+a.pathname;return urlObject;};OpenLayers.Util.removeTail=function(url){var head=null;var qMark=url.indexOf("?");var hashMark=url.indexOf("#");if(qMark==-1){head=(hashMark!=-1)?url.substr(0,hashMark):url;}else{head=(hashMark!=-1)?url.substr(0,Math.min(qMark,hashMark)):url.substr(0,qMark);}
-return head;};OpenLayers.IS_GECKO=(function(){var ua=navigator.userAgent.toLowerCase();return ua.indexOf("webkit")==-1&&ua.indexOf("gecko")!=-1;})();OpenLayers.BROWSER_NAME=(function(){var name="";var ua=navigator.userAgent.toLowerCase();if(ua.indexOf("opera")!=-1){name="opera";}else if(ua.indexOf("msie")!=-1){name="msie";}else if(ua.indexOf("safari")!=-1){name="safari";}else if(ua.indexOf("mozilla")!=-1){if(ua.indexOf("firefox")!=-1){name="firefox";}else{name="mozilla";}}
-return name;})();OpenLayers.Util.getBrowserName=function(){return OpenLayers.BROWSER_NAME;};OpenLayers.Util.getRenderedDimensions=function(contentHTML,size,options){var w,h;var container=document.createElement("div");container.style.visibility="hidden";var containerElement=(options&&options.containerElement)?options.containerElement:document.body;if(size){if(size.w){w=size.w;container.style.width=w+"px";}else if(size.h){h=size.h;container.style.height=h+"px";}}
-if(options&&options.displayClass){container.className=options.displayClass;}
-var content=document.createElement("div");content.innerHTML=contentHTML;content.style.overflow="visible";if(content.childNodes){for(var i=0,l=content.childNodes.length;i<l;i++){if(!content.childNodes[i].style)continue;content.childNodes[i].style.overflow="visible";}}
-container.appendChild(content);containerElement.appendChild(container);var parentHasPositionAbsolute=false;var parent=container.parentNode;while(parent&&parent.tagName.toLowerCase()!="body"){var parentPosition=OpenLayers.Element.getStyle(parent,"position");if(parentPosition=="absolute"){parentHasPositionAbsolute=true;break;}else if(parentPosition&&parentPosition!="static"){break;}
-parent=parent.parentNode;}
-if(!parentHasPositionAbsolute){container.style.position="absolute";}
-if(!w){w=parseInt(content.scrollWidth);container.style.width=w+"px";}
-if(!h){h=parseInt(content.scrollHeight);}
-container.removeChild(content);containerElement.removeChild(container);return new OpenLayers.Size(w,h);};OpenLayers.Util.getScrollbarWidth=function(){var scrollbarWidth=OpenLayers.Util._scrollbarWidth;if(scrollbarWidth==null){var scr=null;var inn=null;var wNoScroll=0;var wScroll=0;scr=document.createElement('div');scr.style.position='absolute';scr.style.top='-1000px';scr.style.left='-1000px';scr.style.width='100px';scr.style.height='50px';scr.style.overflow='hidden';inn=document.createElement('div');inn.style.width='100%';inn.style.height='200px';scr.appendChild(inn);document.body.appendChild(scr);wNoScroll=inn.offsetWidth;scr.style.overflow='scroll';wScroll=inn.offsetWidth;document.body.removeChild(document.body.lastChild);OpenLayers.Util._scrollbarWidth=(wNoScroll-wScroll);scrollbarWidth=OpenLayers.Util._scrollbarWidth;}
-return scrollbarWidth;};OpenLayers.Util.getFormattedLonLat=function(coordinate,axis,dmsOption){if(!dmsOption){dmsOption='dms';}
-coordinate=(coordinate+540)%360-180;var abscoordinate=Math.abs(coordinate);var coordinatedegrees=Math.floor(abscoordinate);var coordinateminutes=(abscoordinate-coordinatedegrees)/(1/60);var tempcoordinateminutes=coordinateminutes;coordinateminutes=Math.floor(coordinateminutes);var coordinateseconds=(tempcoordinateminutes-coordinateminutes)/(1/60);coordinateseconds=Math.round(coordinateseconds*10);coordinateseconds/=10;if(coordinateseconds>=60){coordinateseconds-=60;coordinateminutes+=1;if(coordinateminutes>=60){coordinateminutes-=60;coordinatedegrees+=1;}}
-if(coordinatedegrees<10){coordinatedegrees="0"+coordinatedegrees;}
-var str=coordinatedegrees+"\u00B0";if(dmsOption.indexOf('dm')>=0){if(coordinateminutes<10){coordinateminutes="0"+coordinateminutes;}
-str+=coordinateminutes+"'";if(dmsOption.indexOf('dms')>=0){if(coordinateseconds<10){coordinateseconds="0"+coordinateseconds;}
-str+=coordinateseconds+'"';}}
-if(axis=="lon"){str+=coordinate<0?OpenLayers.i18n("W"):OpenLayers.i18n("E");}else{str+=coordinate<0?OpenLayers.i18n("S"):OpenLayers.i18n("N");}
-return str;};OpenLayers.Format=OpenLayers.Class({options:null,externalProjection:null,internalProjection:null,data:null,keepData:false,initialize:function(options){OpenLayers.Util.extend(this,options);this.options=options;},destroy:function(){},read:function(data){OpenLayers.Console.userError(OpenLayers.i18n("readNotImplemented"));},write:function(object){OpenLayers.Console.userError(OpenLayers.i18n("writeNotImplemented"));},CLASS_NAME:"OpenLayers.Format"});OpenLayers.Feature=OpenLayers.Class({layer:null,id:null,lonlat:null,data:null,marker:null,popupClass:null,popup:null,initialize:function(layer,lonlat,data){this.layer=layer;this.lonlat=lonlat;this.data=(data!=null)?data:{};this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_");},destroy:function(){if((this.layer!=null)&&(this.layer.map!=null)){if(this.popup!=null){this.layer.map.removePopup(this.popup);}}
-if(this.layer!=null&&this.marker!=null){this.layer.removeMarker(this.marker);}
-this.layer=null;this.id=null;this.lonlat=null;this.data=null;if(this.marker!=null){this.destroyMarker(this.marker);this.marker=null;}
-if(this.popup!=null){this.destroyPopup(this.popup);this.popup=null;}},onScreen:function(){var onScreen=false;if((this.layer!=null)&&(this.layer.map!=null)){var screenBounds=this.layer.map.getExtent();onScreen=screenBounds.containsLonLat(this.lonlat);}
-return onScreen;},createMarker:function(){if(this.lonlat!=null){this.marker=new OpenLayers.Marker(this.lonlat,this.data.icon);}
-return this.marker;},destroyMarker:function(){this.marker.destroy();},createPopup:function(closeBox){if(this.lonlat!=null){if(!this.popup){var anchor=(this.marker)?this.marker.icon:null;var popupClass=this.popupClass?this.popupClass:OpenLayers.Popup.AnchoredBubble;this.popup=new popupClass(this.id+"_popup",this.lonlat,this.data.popupSize,this.data.popupContentHTML,anchor,closeBox);}
-if(this.data.overflow!=null){this.popup.contentDiv.style.overflow=this.data.overflow;}
-this.popup.feature=this;}
-return this.popup;},destroyPopup:function(){if(this.popup){this.popup.feature=null;this.popup.destroy();this.popup=null;}},CLASS_NAME:"OpenLayers.Feature"});OpenLayers.State={UNKNOWN:'Unknown',INSERT:'Insert',UPDATE:'Update',DELETE:'Delete'};OpenLayers.Feature.Vector=OpenLayers.Class(OpenLayers.Feature,{fid:null,geometry:null,attributes:null,bounds:null,state:null,style:null,url:null,renderIntent:"default",modified:null,initialize:function(geometry,attributes,style){OpenLayers.Feature.prototype.initialize.apply(this,[null,null,attributes]);this.lonlat=null;this.geometry=geometry?geometry:null;this.state=null;this.attributes={};if(attributes){this.attributes=OpenLayers.Util.extend(this.attributes,attributes);}
-this.style=style?style:null;},destroy:function(){if(this.layer){this.layer.removeFeatures(this);this.layer=null;}
-this.geometry=null;this.modified=null;OpenLayers.Feature.prototype.destroy.apply(this,arguments);},clone:function(){return new OpenLayers.Feature.Vector(this.geometry?this.geometry.clone():null,this.attributes,this.style);},onScreen:function(boundsOnly){var onScreen=false;if(this.layer&&this.layer.map){var screenBounds=this.layer.map.getExtent();if(boundsOnly){var featureBounds=this.geometry.getBounds();onScreen=screenBounds.intersectsBounds(featureBounds);}else{var screenPoly=screenBounds.toGeometry();onScreen=screenPoly.intersects(this.geometry);}}
-return onScreen;},getVisibility:function(){return!(this.style&&this.style.display=='none'||!this.layer||this.layer&&this.layer.styleMap&&this.layer.styleMap.createSymbolizer(this,this.renderIntent).display=='none'||this.layer&&!this.layer.getVisibility());},createMarker:function(){return null;},destroyMarker:function(){},createPopup:function(){return null;},atPoint:function(lonlat,toleranceLon,toleranceLat){var atPoint=false;if(this.geometry){atPoint=this.geometry.atPoint(lonlat,toleranceLon,toleranceLat);}
-return atPoint;},destroyPopup:function(){},move:function(location){if(!this.layer||!this.geometry.move){return undefined;}
-var pixel;if(location.CLASS_NAME=="OpenLayers.LonLat"){pixel=this.layer.getViewPortPxFromLonLat(location);}else{pixel=location;}
-var lastPixel=this.layer.getViewPortPxFromLonLat(this.geometry.getBounds().getCenterLonLat());var res=this.layer.map.getResolution();this.geometry.move(res*(pixel.x-lastPixel.x),res*(lastPixel.y-pixel.y));this.layer.drawFeature(this);return lastPixel;},toState:function(state){if(state==OpenLayers.State.UPDATE){switch(this.state){case OpenLayers.State.UNKNOWN:case OpenLayers.State.DELETE:this.state=state;break;case OpenLayers.State.UPDATE:case OpenLayers.State.INSERT:break;}}else if(state==OpenLayers.State.INSERT){switch(this.state){case OpenLayers.State.UNKNOWN:break;default:this.state=state;break;}}else if(state==OpenLayers.State.DELETE){switch(this.state){case OpenLayers.State.INSERT:break;case OpenLayers.State.DELETE:break;case OpenLayers.State.UNKNOWN:case OpenLayers.State.UPDATE:this.state=state;break;}}else if(state==OpenLayers.State.UNKNOWN){this.state=state;}},CLASS_NAME:"OpenLayers.Feature.Vector"});OpenLayers.Feature.Vector.style={'default':{fillColor:"#ee9900",fillOpacity:0.4,hoverFillColor:"white",hoverFillOpacity:0.8,strokeColor:"#ee9900",strokeOpacity:1,strokeWidth:1,strokeLinecap:"round",strokeDashstyle:"solid",hoverStrokeColor:"red",hoverStrokeOpacity:1,hoverStrokeWidth:0.2,pointRadius:6,hoverPointRadius:1,hoverPointUnit:"%",pointerEvents:"visiblePainted",cursor:"inherit"},'select':{fillColor:"blue",fillOpacity:0.4,hoverFillColor:"white",hoverFillOpacity:0.8,strokeColor:"blue",strokeOpacity:1,strokeWidth:2,strokeLinecap:"round",strokeDashstyle:"solid",hoverStrokeColor:"red",hoverStrokeOpacity:1,hoverStrokeWidth:0.2,pointRadius:6,hoverPointRadius:1,hoverPointUnit:"%",pointerEvents:"visiblePainted",cursor:"pointer"},'temporary':{fillColor:"#66cccc",fillOpacity:0.2,hoverFillColor:"white",hoverFillOpacity:0.8,strokeColor:"#66cccc",strokeOpacity:1,strokeLinecap:"round",strokeWidth:2,strokeDashstyle:"solid",hoverStrokeColor:"red",hoverStrokeOpacity:1,hoverStrokeWidth:0.2,pointRadius:6,hoverPointRadius:1,hoverPointUnit:"%",pointerEvents:"visiblePainted",cursor:"inherit"},'delete':{display:"none"}};OpenLayers.Format.WKT=OpenLayers.Class(OpenLayers.Format,{initialize:function(options){this.regExes={'typeStr':/^\s*(\w+)\s*\(\s*(.*)\s*\)\s*$/,'spaces':/\s+/,'parenComma':/\)\s*,\s*\(/,'doubleParenComma':/\)\s*\)\s*,\s*\(\s*\(/,'trimParens':/^\s*\(?(.*?)\)?\s*$/};OpenLayers.Format.prototype.initialize.apply(this,[options]);},read:function(wkt){var features,type,str;wkt=wkt.replace(/[\n\r]/g," ");var matches=this.regExes.typeStr.exec(wkt);if(matches){type=matches[1].toLowerCase();str=matches[2];if(this.parse[type]){features=this.parse[type].apply(this,[str]);}
-if(this.internalProjection&&this.externalProjection){if(features&&features.CLASS_NAME=="OpenLayers.Feature.Vector"){features.geometry.transform(this.externalProjection,this.internalProjection);}else if(features&&type!="geometrycollection"&&typeof features=="object"){for(var i=0,len=features.length;i<len;i++){var component=features[i];component.geometry.transform(this.externalProjection,this.internalProjection);}}}}
-return features;},write:function(features){var collection,geometry,type,data,isCollection;if(features.constructor==Array){collection=features;isCollection=true;}else{collection=[features];isCollection=false;}
-var pieces=[];if(isCollection){pieces.push('GEOMETRYCOLLECTION(');}
-for(var i=0,len=collection.length;i<len;++i){if(isCollection&&i>0){pieces.push(',');}
-geometry=collection[i].geometry;pieces.push(this.extractGeometry(geometry));}
-if(isCollection){pieces.push(')');}
-return pieces.join('');},extractGeometry:function(geometry){var type=geometry.CLASS_NAME.split('.')[2].toLowerCase();if(!this.extract[type]){return null;}
-if(this.internalProjection&&this.externalProjection){geometry=geometry.clone();geometry.transform(this.internalProjection,this.externalProjection);}
-var wktType=type=='collection'?'GEOMETRYCOLLECTION':type.toUpperCase();var data=wktType+'('+this.extract[type].apply(this,[geometry])+')';return data;},extract:{'point':function(point){return point.x+' '+point.y;},'multipoint':function(multipoint){var array=[];for(var i=0,len=multipoint.components.length;i<len;++i){array.push('('+
-this.extract.point.apply(this,[multipoint.components[i]])+')');}
-return array.join(',');},'linestring':function(linestring){var array=[];for(var i=0,len=linestring.components.length;i<len;++i){array.push(this.extract.point.apply(this,[linestring.components[i]]));}
-return array.join(',');},'multilinestring':function(multilinestring){var array=[];for(var i=0,len=multilinestring.components.length;i<len;++i){array.push('('+
-this.extract.linestring.apply(this,[multilinestring.components[i]])+')');}
-return array.join(',');},'polygon':function(polygon){var array=[];for(var i=0,len=polygon.components.length;i<len;++i){array.push('('+
-this.extract.linestring.apply(this,[polygon.components[i]])+')');}
-return array.join(',');},'multipolygon':function(multipolygon){var array=[];for(var i=0,len=multipolygon.components.length;i<len;++i){array.push('('+
-this.extract.polygon.apply(this,[multipolygon.components[i]])+')');}
-return array.join(',');},'collection':function(collection){var array=[];for(var i=0,len=collection.components.length;i<len;++i){array.push(this.extractGeometry.apply(this,[collection.components[i]]));}
-return array.join(',');}},parse:{'point':function(str){var coords=OpenLayers.String.trim(str).split(this.regExes.spaces);return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(coords[0],coords[1]));},'multipoint':function(str){var point;var points=OpenLayers.String.trim(str).split(',');var components=[];for(var i=0,len=points.length;i<len;++i){point=points[i].replace(this.regExes.trimParens,'$1');components.push(this.parse.point.apply(this,[point]).geometry);}
-return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.MultiPoint(components));},'linestring':function(str){var points=OpenLayers.String.trim(str).split(',');var components=[];for(var i=0,len=points.length;i<len;++i){components.push(this.parse.point.apply(this,[points[i]]).geometry);}
-return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.LineString(components));},'multilinestring':function(str){var line;var lines=OpenLayers.String.trim(str).split(this.regExes.parenComma);var components=[];for(var i=0,len=lines.length;i<len;++i){line=lines[i].replace(this.regExes.trimParens,'$1');components.push(this.parse.linestring.apply(this,[line]).geometry);}
-return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.MultiLineString(components));},'polygon':function(str){var ring,linestring,linearring;var rings=OpenLayers.String.trim(str).split(this.regExes.parenComma);var components=[];for(var i=0,len=rings.length;i<len;++i){ring=rings[i].replace(this.regExes.trimParens,'$1');linestring=this.parse.linestring.apply(this,[ring]).geometry;linearring=new OpenLayers.Geometry.LinearRing(linestring.components);components.push(linearring);}
-return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Polygon(components));},'multipolygon':function(str){var polygon;var polygons=OpenLayers.String.trim(str).split(this.regExes.doubleParenComma);var components=[];for(var i=0,len=polygons.length;i<len;++i){polygon=polygons[i].replace(this.regExes.trimParens,'$1');components.push(this.parse.polygon.apply(this,[polygon]).geometry);}
-return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.MultiPolygon(components));},'geometrycollection':function(str){str=str.replace(/,\s*([A-Za-z])/g,'|$1');var wktArray=OpenLayers.String.trim(str).split('|');var components=[];for(var i=0,len=wktArray.length;i<len;++i){components.push(OpenLayers.Format.WKT.prototype.read.apply(this,[wktArray[i]]));}
-return components;}},CLASS_NAME:"OpenLayers.Format.WKT"});OpenLayers.Geometry=OpenLayers.Class({id:null,parent:null,bounds:null,initialize:function(){this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_");},destroy:function(){this.id=null;this.bounds=null;},clone:function(){return new OpenLayers.Geometry();},setBounds:function(bounds){if(bounds){this.bounds=bounds.clone();}},clearBounds:function(){this.bounds=null;if(this.parent){this.parent.clearBounds();}},extendBounds:function(newBounds){var bounds=this.getBounds();if(!bounds){this.setBounds(newBounds);}else{this.bounds.extend(newBounds);}},getBounds:function(){if(this.bounds==null){this.calculateBounds();}
-return this.bounds;},calculateBounds:function(){},distanceTo:function(geometry,options){},getVertices:function(nodes){},atPoint:function(lonlat,toleranceLon,toleranceLat){var atPoint=false;var bounds=this.getBounds();if((bounds!=null)&&(lonlat!=null)){var dX=(toleranceLon!=null)?toleranceLon:0;var dY=(toleranceLat!=null)?toleranceLat:0;var toleranceBounds=new OpenLayers.Bounds(this.bounds.left-dX,this.bounds.bottom-dY,this.bounds.right+dX,this.bounds.top+dY);atPoint=toleranceBounds.containsLonLat(lonlat);}
-return atPoint;},getLength:function(){return 0.0;},getArea:function(){return 0.0;},getCentroid:function(){return null;},toString:function(){return OpenLayers.Format.WKT.prototype.write(new OpenLayers.Feature.Vector(this));},CLASS_NAME:"OpenLayers.Geometry"});OpenLayers.Geometry.fromWKT=function(wkt){var format=arguments.callee.format;if(!format){format=new OpenLayers.Format.WKT();arguments.callee.format=format;}
-var geom;var result=format.read(wkt);if(result instanceof OpenLayers.Feature.Vector){geom=result.geometry;}else if(OpenLayers.Util.isArray(result)){var len=result.length;var components=new Array(len);for(var i=0;i<len;++i){components[i]=result[i].geometry;}
-geom=new OpenLayers.Geometry.Collection(components);}
-return geom;};OpenLayers.Geometry.segmentsIntersect=function(seg1,seg2,options){var point=options&&options.point;var tolerance=options&&options.tolerance;var intersection=false;var x11_21=seg1.x1-seg2.x1;var y11_21=seg1.y1-seg2.y1;var x12_11=seg1.x2-seg1.x1;var y12_11=seg1.y2-seg1.y1;var y22_21=seg2.y2-seg2.y1;var x22_21=seg2.x2-seg2.x1;var d=(y22_21*x12_11)-(x22_21*y12_11);var n1=(x22_21*y11_21)-(y22_21*x11_21);var n2=(x12_11*y11_21)-(y12_11*x11_21);if(d==0){if(n1==0&&n2==0){intersection=true;}}else{var along1=n1/d;var along2=n2/d;if(along1>=0&&along1<=1&&along2>=0&&along2<=1){if(!point){intersection=true;}else{var x=seg1.x1+(along1*x12_11);var y=seg1.y1+(along1*y12_11);intersection=new OpenLayers.Geometry.Point(x,y);}}}
-if(tolerance){var dist;if(intersection){if(point){var segs=[seg1,seg2];var seg,x,y;outer:for(var i=0;i<2;++i){seg=segs[i];for(var j=1;j<3;++j){x=seg["x"+j];y=seg["y"+j];dist=Math.sqrt(Math.pow(x-intersection.x,2)+
-Math.pow(y-intersection.y,2));if(dist<tolerance){intersection.x=x;intersection.y=y;break outer;}}}}}else{var segs=[seg1,seg2];var source,target,x,y,p,result;outer:for(var i=0;i<2;++i){source=segs[i];target=segs[(i+1)%2];for(var j=1;j<3;++j){p={x:source["x"+j],y:source["y"+j]};result=OpenLayers.Geometry.distanceToSegment(p,target);if(result.distance<tolerance){if(point){intersection=new OpenLayers.Geometry.Point(p.x,p.y);}else{intersection=true;}
-break outer;}}}}}
-return intersection;};OpenLayers.Geometry.distanceToSegment=function(point,segment){var x0=point.x;var y0=point.y;var x1=segment.x1;var y1=segment.y1;var x2=segment.x2;var y2=segment.y2;var dx=x2-x1;var dy=y2-y1;var along=((dx*(x0-x1))+(dy*(y0-y1)))/(Math.pow(dx,2)+Math.pow(dy,2));var x,y;if(along<=0.0){x=x1;y=y1;}else if(along>=1.0){x=x2;y=y2;}else{x=x1+along*dx;y=y1+along*dy;}
-return{distance:Math.sqrt(Math.pow(x-x0,2)+Math.pow(y-y0,2)),x:x,y:y};};OpenLayers.Geometry.Collection=OpenLayers.Class(OpenLayers.Geometry,{components:null,componentTypes:null,initialize:function(components){OpenLayers.Geometry.prototype.initialize.apply(this,arguments);this.components=[];if(components!=null){this.addComponents(components);}},destroy:function(){this.components.length=0;this.components=null;OpenLayers.Geometry.prototype.destroy.apply(this,arguments);},clone:function(){var geometry=eval("new "+this.CLASS_NAME+"()");for(var i=0,len=this.components.length;i<len;i++){geometry.addComponent(this.components[i].clone());}
-OpenLayers.Util.applyDefaults(geometry,this);return geometry;},getComponentsString:function(){var strings=[];for(var i=0,len=this.components.length;i<len;i++){strings.push(this.components[i].toShortString());}
-return strings.join(",");},calculateBounds:function(){this.bounds=null;var bounds=new OpenLayers.Bounds();var components=this.components;if(components){for(var i=0,len=components.length;i<len;i++){bounds.extend(components[i].getBounds());}}
-if(bounds.left!=null&&bounds.bottom!=null&&bounds.right!=null&&bounds.top!=null){this.setBounds(bounds);}},addComponents:function(components){if(!(OpenLayers.Util.isArray(components))){components=[components];}
-for(var i=0,len=components.length;i<len;i++){this.addComponent(components[i]);}},addComponent:function(component,index){var added=false;if(component){if(this.componentTypes==null||(OpenLayers.Util.indexOf(this.componentTypes,component.CLASS_NAME)>-1)){if(index!=null&&(index<this.components.length)){var components1=this.components.slice(0,index);var components2=this.components.slice(index,this.components.length);components1.push(component);this.components=components1.concat(components2);}else{this.components.push(component);}
-component.parent=this;this.clearBounds();added=true;}}
-return added;},removeComponents:function(components){var removed=false;if(!(OpenLayers.Util.isArray(components))){components=[components];}
-for(var i=components.length-1;i>=0;--i){removed=this.removeComponent(components[i])||removed;}
-return removed;},removeComponent:function(component){OpenLayers.Util.removeItem(this.components,component);this.clearBounds();return true;},getLength:function(){var length=0.0;for(var i=0,len=this.components.length;i<len;i++){length+=this.components[i].getLength();}
-return length;},getArea:function(){var area=0.0;for(var i=0,len=this.components.length;i<len;i++){area+=this.components[i].getArea();}
-return area;},getGeodesicArea:function(projection){var area=0.0;for(var i=0,len=this.components.length;i<len;i++){area+=this.components[i].getGeodesicArea(projection);}
-return area;},getCentroid:function(weighted){if(!weighted){return this.components.length&&this.components[0].getCentroid();}
-var len=this.components.length;if(!len){return false;}
-var areas=[];var centroids=[];var areaSum=0;var minArea=Number.MAX_VALUE;var component;for(var i=0;i<len;++i){component=this.components[i];var area=component.getArea();var centroid=component.getCentroid(true);if(isNaN(area)||isNaN(centroid.x)||isNaN(centroid.y)){continue;}
-areas.push(area);areaSum+=area;minArea=(area<minArea&&area>0)?area:minArea;centroids.push(centroid);}
-len=areas.length;if(areaSum===0){for(var i=0;i<len;++i){areas[i]=1;}
-areaSum=areas.length;}else{for(var i=0;i<len;++i){areas[i]/=minArea;}
-areaSum/=minArea;}
-var xSum=0,ySum=0,centroid,area;for(var i=0;i<len;++i){centroid=centroids[i];area=areas[i];xSum+=centroid.x*area;ySum+=centroid.y*area;}
-return new OpenLayers.Geometry.Point(xSum/areaSum,ySum/areaSum);},getGeodesicLength:function(projection){var length=0.0;for(var i=0,len=this.components.length;i<len;i++){length+=this.components[i].getGeodesicLength(projection);}
-return length;},move:function(x,y){for(var i=0,len=this.components.length;i<len;i++){this.components[i].move(x,y);}},rotate:function(angle,origin){for(var i=0,len=this.components.length;i<len;++i){this.components[i].rotate(angle,origin);}},resize:function(scale,origin,ratio){for(var i=0;i<this.components.length;++i){this.components[i].resize(scale,origin,ratio);}
-return this;},distanceTo:function(geometry,options){var edge=!(options&&options.edge===false);var details=edge&&options&&options.details;var result,best,distance;var min=Number.POSITIVE_INFINITY;for(var i=0,len=this.components.length;i<len;++i){result=this.components[i].distanceTo(geometry,options);distance=details?result.distance:result;if(distance<min){min=distance;best=result;if(min==0){break;}}}
-return best;},equals:function(geometry){var equivalent=true;if(!geometry||!geometry.CLASS_NAME||(this.CLASS_NAME!=geometry.CLASS_NAME)){equivalent=false;}else if(!(OpenLayers.Util.isArray(geometry.components))||(geometry.components.length!=this.components.length)){equivalent=false;}else{for(var i=0,len=this.components.length;i<len;++i){if(!this.components[i].equals(geometry.components[i])){equivalent=false;break;}}}
-return equivalent;},transform:function(source,dest){if(source&&dest){for(var i=0,len=this.components.length;i<len;i++){var component=this.components[i];component.transform(source,dest);}
-this.bounds=null;}
-return this;},intersects:function(geometry){var intersect=false;for(var i=0,len=this.components.length;i<len;++i){intersect=geometry.intersects(this.components[i]);if(intersect){break;}}
-return intersect;},getVertices:function(nodes){var vertices=[];for(var i=0,len=this.components.length;i<len;++i){Array.prototype.push.apply(vertices,this.components[i].getVertices(nodes));}
-return vertices;},CLASS_NAME:"OpenLayers.Geometry.Collection"});OpenLayers.Geometry.Point=OpenLayers.Class(OpenLayers.Geometry,{x:null,y:null,initialize:function(x,y){OpenLayers.Geometry.prototype.initialize.apply(this,arguments);this.x=parseFloat(x);this.y=parseFloat(y);},clone:function(obj){if(obj==null){obj=new OpenLayers.Geometry.Point(this.x,this.y);}
-OpenLayers.Util.applyDefaults(obj,this);return obj;},calculateBounds:function(){this.bounds=new OpenLayers.Bounds(this.x,this.y,this.x,this.y);},distanceTo:function(geometry,options){var edge=!(options&&options.edge===false);var details=edge&&options&&options.details;var distance,x0,y0,x1,y1,result;if(geometry instanceof OpenLayers.Geometry.Point){x0=this.x;y0=this.y;x1=geometry.x;y1=geometry.y;distance=Math.sqrt(Math.pow(x0-x1,2)+Math.pow(y0-y1,2));result=!details?distance:{x0:x0,y0:y0,x1:x1,y1:y1,distance:distance};}else{result=geometry.distanceTo(this,options);if(details){result={x0:result.x1,y0:result.y1,x1:result.x0,y1:result.y0,distance:result.distance};}}
-return result;},equals:function(geom){var equals=false;if(geom!=null){equals=((this.x==geom.x&&this.y==geom.y)||(isNaN(this.x)&&isNaN(this.y)&&isNaN(geom.x)&&isNaN(geom.y)));}
-return equals;},toShortString:function(){return(this.x+", "+this.y);},move:function(x,y){this.x=this.x+x;this.y=this.y+y;this.clearBounds();},rotate:function(angle,origin){angle*=Math.PI/180;var radius=this.distanceTo(origin);var theta=angle+Math.atan2(this.y-origin.y,this.x-origin.x);this.x=origin.x+(radius*Math.cos(theta));this.y=origin.y+(radius*Math.sin(theta));this.clearBounds();},getCentroid:function(){return new OpenLayers.Geometry.Point(this.x,this.y);},resize:function(scale,origin,ratio){ratio=(ratio==undefined)?1:ratio;this.x=origin.x+(scale*ratio*(this.x-origin.x));this.y=origin.y+(scale*(this.y-origin.y));this.clearBounds();return this;},intersects:function(geometry){var intersect=false;if(geometry.CLASS_NAME=="OpenLayers.Geometry.Point"){intersect=this.equals(geometry);}else{intersect=geometry.intersects(this);}
-return intersect;},transform:function(source,dest){if((source&&dest)){OpenLayers.Projection.transform(this,source,dest);this.bounds=null;}
-return this;},getVertices:function(nodes){return[this];},CLASS_NAME:"OpenLayers.Geometry.Point"});OpenLayers.Geometry.MultiPoint=OpenLayers.Class(OpenLayers.Geometry.Collection,{componentTypes:["OpenLayers.Geometry.Point"],initialize:function(components){OpenLayers.Geometry.Collection.prototype.initialize.apply(this,arguments);},addPoint:function(point,index){this.addComponent(point,index);},removePoint:function(point){this.removeComponent(point);},CLASS_NAME:"OpenLayers.Geometry.MultiPoint"});OpenLayers.Geometry.Curve=OpenLayers.Class(OpenLayers.Geometry.MultiPoint,{componentTypes:["OpenLayers.Geometry.Point"],initialize:function(points){OpenLayers.Geometry.MultiPoint.prototype.initialize.apply(this,arguments);},getLength:function(){var length=0.0;if(this.components&&(this.components.length>1)){for(var i=1,len=this.components.length;i<len;i++){length+=this.components[i-1].distanceTo(this.components[i]);}}
-return length;},getGeodesicLength:function(projection){var geom=this;if(projection){var gg=new OpenLayers.Projection("EPSG:4326");if(!gg.equals(projection)){geom=this.clone().transform(projection,gg);}}
-var length=0.0;if(geom.components&&(geom.components.length>1)){var p1,p2;for(var i=1,len=geom.components.length;i<len;i++){p1=geom.components[i-1];p2=geom.components[i];length+=OpenLayers.Util.distVincenty({lon:p1.x,lat:p1.y},{lon:p2.x,lat:p2.y});}}
-return length*1000;},CLASS_NAME:"OpenLayers.Geometry.Curve"});OpenLayers.Geometry.LineString=OpenLayers.Class(OpenLayers.Geometry.Curve,{initialize:function(points){OpenLayers.Geometry.Curve.prototype.initialize.apply(this,arguments);},removeComponent:function(point){var removed=this.components&&(this.components.length>2);if(removed){OpenLayers.Geometry.Collection.prototype.removeComponent.apply(this,arguments);}
-return removed;},intersects:function(geometry){var intersect=false;var type=geometry.CLASS_NAME;if(type=="OpenLayers.Geometry.LineString"||type=="OpenLayers.Geometry.LinearRing"||type=="OpenLayers.Geometry.Point"){var segs1=this.getSortedSegments();var segs2;if(type=="OpenLayers.Geometry.Point"){segs2=[{x1:geometry.x,y1:geometry.y,x2:geometry.x,y2:geometry.y}];}else{segs2=geometry.getSortedSegments();}
-var seg1,seg1x1,seg1x2,seg1y1,seg1y2,seg2,seg2y1,seg2y2;outer:for(var i=0,len=segs1.length;i<len;++i){seg1=segs1[i];seg1x1=seg1.x1;seg1x2=seg1.x2;seg1y1=seg1.y1;seg1y2=seg1.y2;inner:for(var j=0,jlen=segs2.length;j<jlen;++j){seg2=segs2[j];if(seg2.x1>seg1x2){break;}
-if(seg2.x2<seg1x1){continue;}
-seg2y1=seg2.y1;seg2y2=seg2.y2;if(Math.min(seg2y1,seg2y2)>Math.max(seg1y1,seg1y2)){continue;}
-if(Math.max(seg2y1,seg2y2)<Math.min(seg1y1,seg1y2)){continue;}
-if(OpenLayers.Geometry.segmentsIntersect(seg1,seg2)){intersect=true;break outer;}}}}else{intersect=geometry.intersects(this);}
-return intersect;},getSortedSegments:function(){var numSeg=this.components.length-1;var segments=new Array(numSeg),point1,point2;for(var i=0;i<numSeg;++i){point1=this.components[i];point2=this.components[i+1];if(point1.x<point2.x){segments[i]={x1:point1.x,y1:point1.y,x2:point2.x,y2:point2.y};}else{segments[i]={x1:point2.x,y1:point2.y,x2:point1.x,y2:point1.y};}}
-function byX1(seg1,seg2){return seg1.x1-seg2.x1;}
-return segments.sort(byX1);},splitWithSegment:function(seg,options){var edge=!(options&&options.edge===false);var tolerance=options&&options.tolerance;var lines=[];var verts=this.getVertices();var points=[];var intersections=[];var split=false;var vert1,vert2,point;var node,vertex,target;var interOptions={point:true,tolerance:tolerance};var result=null;for(var i=0,stop=verts.length-2;i<=stop;++i){vert1=verts[i];points.push(vert1.clone());vert2=verts[i+1];target={x1:vert1.x,y1:vert1.y,x2:vert2.x,y2:vert2.y};point=OpenLayers.Geometry.segmentsIntersect(seg,target,interOptions);if(point instanceof OpenLayers.Geometry.Point){if((point.x===seg.x1&&point.y===seg.y1)||(point.x===seg.x2&&point.y===seg.y2)||point.equals(vert1)||point.equals(vert2)){vertex=true;}else{vertex=false;}
-if(vertex||edge){if(!point.equals(intersections[intersections.length-1])){intersections.push(point.clone());}
-if(i===0){if(point.equals(vert1)){continue;}}
-if(point.equals(vert2)){continue;}
-split=true;if(!point.equals(vert1)){points.push(point);}
-lines.push(new OpenLayers.Geometry.LineString(points));points=[point.clone()];}}}
-if(split){points.push(vert2.clone());lines.push(new OpenLayers.Geometry.LineString(points));}
-if(intersections.length>0){var xDir=seg.x1<seg.x2?1:-1;var yDir=seg.y1<seg.y2?1:-1;result={lines:lines,points:intersections.sort(function(p1,p2){return(xDir*p1.x-xDir*p2.x)||(yDir*p1.y-yDir*p2.y);})};}
-return result;},split:function(target,options){var results=null;var mutual=options&&options.mutual;var sourceSplit,targetSplit,sourceParts,targetParts;if(target instanceof OpenLayers.Geometry.LineString){var verts=this.getVertices();var vert1,vert2,seg,splits,lines,point;var points=[];sourceParts=[];for(var i=0,stop=verts.length-2;i<=stop;++i){vert1=verts[i];vert2=verts[i+1];seg={x1:vert1.x,y1:vert1.y,x2:vert2.x,y2:vert2.y};targetParts=targetParts||[target];if(mutual){points.push(vert1.clone());}
-for(var j=0;j<targetParts.length;++j){splits=targetParts[j].splitWithSegment(seg,options);if(splits){lines=splits.lines;if(lines.length>0){lines.unshift(j,1);Array.prototype.splice.apply(targetParts,lines);j+=lines.length-2;}
-if(mutual){for(var k=0,len=splits.points.length;k<len;++k){point=splits.points[k];if(!point.equals(vert1)){points.push(point);sourceParts.push(new OpenLayers.Geometry.LineString(points));if(point.equals(vert2)){points=[];}else{points=[point.clone()];}}}}}}}
-if(mutual&&sourceParts.length>0&&points.length>0){points.push(vert2.clone());sourceParts.push(new OpenLayers.Geometry.LineString(points));}}else{results=target.splitWith(this,options);}
-if(targetParts&&targetParts.length>1){targetSplit=true;}else{targetParts=[];}
-if(sourceParts&&sourceParts.length>1){sourceSplit=true;}else{sourceParts=[];}
-if(targetSplit||sourceSplit){if(mutual){results=[sourceParts,targetParts];}else{results=targetParts;}}
-return results;},splitWith:function(geometry,options){return geometry.split(this,options);},getVertices:function(nodes){var vertices;if(nodes===true){vertices=[this.components[0],this.components[this.components.length-1]];}else if(nodes===false){vertices=this.components.slice(1,this.components.length-1);}else{vertices=this.components.slice();}
-return vertices;},distanceTo:function(geometry,options){var edge=!(options&&options.edge===false);var details=edge&&options&&options.details;var result,best={};var min=Number.POSITIVE_INFINITY;if(geometry instanceof OpenLayers.Geometry.Point){var segs=this.getSortedSegments();var x=geometry.x;var y=geometry.y;var seg;for(var i=0,len=segs.length;i<len;++i){seg=segs[i];result=OpenLayers.Geometry.distanceToSegment(geometry,seg);if(result.distance<min){min=result.distance;best=result;if(min===0){break;}}else{if(seg.x2>x&&((y>seg.y1&&y<seg.y2)||(y<seg.y1&&y>seg.y2))){break;}}}
-if(details){best={distance:best.distance,x0:best.x,y0:best.y,x1:x,y1:y};}else{best=best.distance;}}else if(geometry instanceof OpenLayers.Geometry.LineString){var segs0=this.getSortedSegments();var segs1=geometry.getSortedSegments();var seg0,seg1,intersection,x0,y0;var len1=segs1.length;var interOptions={point:true};outer:for(var i=0,len=segs0.length;i<len;++i){seg0=segs0[i];x0=seg0.x1;y0=seg0.y1;for(var j=0;j<len1;++j){seg1=segs1[j];intersection=OpenLayers.Geometry.segmentsIntersect(seg0,seg1,interOptions);if(intersection){min=0;best={distance:0,x0:intersection.x,y0:intersection.y,x1:intersection.x,y1:intersection.y};break outer;}else{result=OpenLayers.Geometry.distanceToSegment({x:x0,y:y0},seg1);if(result.distance<min){min=result.distance;best={distance:min,x0:x0,y0:y0,x1:result.x,y1:result.y};}}}}
-if(!details){best=best.distance;}
-if(min!==0){if(seg0){result=geometry.distanceTo(new OpenLayers.Geometry.Point(seg0.x2,seg0.y2),options);var dist=details?result.distance:result;if(dist<min){if(details){best={distance:min,x0:result.x1,y0:result.y1,x1:result.x0,y1:result.y0};}else{best=dist;}}}}}else{best=geometry.distanceTo(this,options);if(details){best={distance:best.distance,x0:best.x1,y0:best.y1,x1:best.x0,y1:best.y0};}}
-return best;},simplify:function(tolerance){if(this&&this!==null){var points=this.getVertices();if(points.length<3){return this;}
-var compareNumbers=function(a,b){return(a-b);};var douglasPeuckerReduction=function(points,firstPoint,lastPoint,tolerance){var maxDistance=0;var indexFarthest=0;for(var index=firstPoint,distance;index<lastPoint;index++){distance=perpendicularDistance(points[firstPoint],points[lastPoint],points[index]);if(distance>maxDistance){maxDistance=distance;indexFarthest=index;}}
-if(maxDistance>tolerance&&indexFarthest!=firstPoint){pointIndexsToKeep.push(indexFarthest);douglasPeuckerReduction(points,firstPoint,indexFarthest,tolerance);douglasPeuckerReduction(points,indexFarthest,lastPoint,tolerance);}};var perpendicularDistance=function(point1,point2,point){var area=Math.abs(0.5*(point1.x*point2.y+point2.x*point.y+point.x*point1.y-point2.x*point1.y-point.x*point2.y-point1.x*point.y));var bottom=Math.sqrt(Math.pow(point1.x-point2.x,2)+Math.pow(point1.y-point2.y,2));var height=area/bottom*2;return height;};var firstPoint=0;var lastPoint=points.length-1;var pointIndexsToKeep=[];pointIndexsToKeep.push(firstPoint);pointIndexsToKeep.push(lastPoint);while(points[firstPoint].equals(points[lastPoint])){lastPoint--;pointIndexsToKeep.push(lastPoint);}
-douglasPeuckerReduction(points,firstPoint,lastPoint,tolerance);var returnPoints=[];pointIndexsToKeep.sort(compareNumbers);for(var index=0;index<pointIndexsToKeep.length;index++){returnPoints.push(points[pointIndexsToKeep[index]]);}
-return new OpenLayers.Geometry.LineString(returnPoints);}
-else{return this;}},CLASS_NAME:"OpenLayers.Geometry.LineString"});OpenLayers.Geometry.LinearRing=OpenLayers.Class(OpenLayers.Geometry.LineString,{componentTypes:["OpenLayers.Geometry.Point"],initialize:function(points){OpenLayers.Geometry.LineString.prototype.initialize.apply(this,arguments);},addComponent:function(point,index){var added=false;var lastPoint=this.components.pop();if(index!=null||!point.equals(lastPoint)){added=OpenLayers.Geometry.Collection.prototype.addComponent.apply(this,arguments);}
-var firstPoint=this.components[0];OpenLayers.Geometry.Collection.prototype.addComponent.apply(this,[firstPoint]);return added;},removeComponent:function(point){var removed=this.components&&(this.components.length>3);if(removed){this.components.pop();OpenLayers.Geometry.Collection.prototype.removeComponent.apply(this,arguments);var firstPoint=this.components[0];OpenLayers.Geometry.Collection.prototype.addComponent.apply(this,[firstPoint]);}
-return removed;},move:function(x,y){for(var i=0,len=this.components.length;i<len-1;i++){this.components[i].move(x,y);}},rotate:function(angle,origin){for(var i=0,len=this.components.length;i<len-1;++i){this.components[i].rotate(angle,origin);}},resize:function(scale,origin,ratio){for(var i=0,len=this.components.length;i<len-1;++i){this.components[i].resize(scale,origin,ratio);}
-return this;},transform:function(source,dest){if(source&&dest){for(var i=0,len=this.components.length;i<len-1;i++){var component=this.components[i];component.transform(source,dest);}
-this.bounds=null;}
-return this;},getCentroid:function(){if(this.components&&(this.components.length>2)){var sumX=0.0;var sumY=0.0;for(var i=0;i<this.components.length-1;i++){var b=this.components[i];var c=this.components[i+1];sumX+=(b.x+c.x)*(b.x*c.y-c.x*b.y);sumY+=(b.y+c.y)*(b.x*c.y-c.x*b.y);}
-var area=-1*this.getArea();var x=sumX/(6*area);var y=sumY/(6*area);return new OpenLayers.Geometry.Point(x,y);}else{return null;}},getArea:function(){var area=0.0;if(this.components&&(this.components.length>2)){var sum=0.0;for(var i=0,len=this.components.length;i<len-1;i++){var b=this.components[i];var c=this.components[i+1];sum+=(b.x+c.x)*(c.y-b.y);}
-area=-sum/2.0;}
-return area;},getGeodesicArea:function(projection){var ring=this;if(projection){var gg=new OpenLayers.Projection("EPSG:4326");if(!gg.equals(projection)){ring=this.clone().transform(projection,gg);}}
-var area=0.0;var len=ring.components&&ring.components.length;if(len>2){var p1,p2;for(var i=0;i<len-1;i++){p1=ring.components[i];p2=ring.components[i+1];area+=OpenLayers.Util.rad(p2.x-p1.x)*(2+Math.sin(OpenLayers.Util.rad(p1.y))+
-Math.sin(OpenLayers.Util.rad(p2.y)));}
-area=area*6378137.0*6378137.0/2.0;}
-return area;},containsPoint:function(point){var approx=OpenLayers.Number.limitSigDigs;var digs=14;var px=approx(point.x,digs);var py=approx(point.y,digs);function getX(y,x1,y1,x2,y2){return(((x1-x2)*y)+((x2*y1)-(x1*y2)))/(y1-y2);}
-var numSeg=this.components.length-1;var start,end,x1,y1,x2,y2,cx,cy;var crosses=0;for(var i=0;i<numSeg;++i){start=this.components[i];x1=approx(start.x,digs);y1=approx(start.y,digs);end=this.components[i+1];x2=approx(end.x,digs);y2=approx(end.y,digs);if(y1==y2){if(py==y1){if(x1<=x2&&(px>=x1&&px<=x2)||x1>=x2&&(px<=x1&&px>=x2)){crosses=-1;break;}}
-continue;}
-cx=approx(getX(py,x1,y1,x2,y2),digs);if(cx==px){if(y1<y2&&(py>=y1&&py<=y2)||y1>y2&&(py<=y1&&py>=y2)){crosses=-1;break;}}
-if(cx<=px){continue;}
-if(x1!=x2&&(cx<Math.min(x1,x2)||cx>Math.max(x1,x2))){continue;}
-if(y1<y2&&(py>=y1&&py<y2)||y1>y2&&(py<y1&&py>=y2)){++crosses;}}
-var contained=(crosses==-1)?1:!!(crosses&1);return contained;},intersects:function(geometry){var intersect=false;if(geometry.CLASS_NAME=="OpenLayers.Geometry.Point"){intersect=this.containsPoint(geometry);}else if(geometry.CLASS_NAME=="OpenLayers.Geometry.LineString"){intersect=geometry.intersects(this);}else if(geometry.CLASS_NAME=="OpenLayers.Geometry.LinearRing"){intersect=OpenLayers.Geometry.LineString.prototype.intersects.apply(this,[geometry]);}else{for(var i=0,len=geometry.components.length;i<len;++i){intersect=geometry.components[i].intersects(this);if(intersect){break;}}}
-return intersect;},getVertices:function(nodes){return(nodes===true)?[]:this.components.slice(0,this.components.length-1);},CLASS_NAME:"OpenLayers.Geometry.LinearRing"});OpenLayers.Renderer=OpenLayers.Class({container:null,root:null,extent:null,locked:false,size:null,resolution:null,map:null,initialize:function(containerID,options){this.container=OpenLayers.Util.getElement(containerID);OpenLayers.Util.extend(this,options);},destroy:function(){this.container=null;this.extent=null;this.size=null;this.resolution=null;this.map=null;},supported:function(){return false;},setExtent:function(extent,resolutionChanged){this.extent=extent.clone();if(resolutionChanged){this.resolution=null;}},setSize:function(size){this.size=size.clone();this.resolution=null;},getResolution:function(){this.resolution=this.resolution||this.map.getResolution();return this.resolution;},drawFeature:function(feature,style){if(style==null){style=feature.style;}
-if(feature.geometry){var bounds=feature.geometry.getBounds();if(bounds){if(!bounds.intersectsBounds(this.extent)){style={display:"none"};}
-var rendered=this.drawGeometry(feature.geometry,style,feature.id);if(style.display!="none"&&style.label&&rendered!==false){var location=feature.geometry.getCentroid();if(style.labelXOffset||style.labelYOffset){var xOffset=isNaN(style.labelXOffset)?0:style.labelXOffset;var yOffset=isNaN(style.labelYOffset)?0:style.labelYOffset;var res=this.getResolution();location.move(xOffset*res,yOffset*res);}
-this.drawText(feature.id,style,location);}else{this.removeText(feature.id);}
-return rendered;}}},drawGeometry:function(geometry,style,featureId){},drawText:function(featureId,style,location){},removeText:function(featureId){},clear:function(){},getFeatureIdFromEvent:function(evt){},eraseFeatures:function(features){if(!(OpenLayers.Util.isArray(features))){features=[features];}
-for(var i=0,len=features.length;i<len;++i){var feature=features[i];this.eraseGeometry(feature.geometry,feature.id);this.removeText(feature.id);}},eraseGeometry:function(geometry,featureId){},moveRoot:function(renderer){},getRenderLayerId:function(){return this.container.id;},applyDefaultSymbolizer:function(symbolizer){var result=OpenLayers.Util.extend({},OpenLayers.Renderer.defaultSymbolizer);if(symbolizer.stroke===false){delete result.strokeWidth;delete result.strokeColor;}
-if(symbolizer.fill===false){delete result.fillColor;}
-OpenLayers.Util.extend(result,symbolizer);return result;},CLASS_NAME:"OpenLayers.Renderer"});OpenLayers.Renderer.defaultSymbolizer={fillColor:"#000000",strokeColor:"#000000",strokeWidth:2,fillOpacity:1,strokeOpacity:1,pointRadius:0};OpenLayers.Renderer.Canvas=OpenLayers.Class(OpenLayers.Renderer,{hitDetection:true,hitOverflow:0,canvas:null,features:null,pendingRedraw:false,initialize:function(containerID,options){OpenLayers.Renderer.prototype.initialize.apply(this,arguments);this.root=document.createElement("canvas");this.container.appendChild(this.root);this.canvas=this.root.getContext("2d");this.features={};if(this.hitDetection){this.hitCanvas=document.createElement("canvas");this.hitContext=this.hitCanvas.getContext("2d");}},eraseGeometry:function(geometry,featureId){this.eraseFeatures(this.features[featureId][0]);},supported:function(){var canvas=document.createElement("canvas");return!!canvas.getContext;},setSize:function(size){this.size=size.clone();var root=this.root;root.style.width=size.w+"px";root.style.height=size.h+"px";root.width=size.w;root.height=size.h;this.resolution=null;if(this.hitDetection){var hitCanvas=this.hitCanvas;hitCanvas.style.width=size.w+"px";hitCanvas.style.height=size.h+"px";hitCanvas.width=size.w;hitCanvas.height=size.h;}},drawFeature:function(feature,style){var rendered;if(feature.geometry){style=this.applyDefaultSymbolizer(style||feature.style);var bounds=feature.geometry.getBounds();rendered=(style.display!=="none")&&!!bounds&&bounds.intersectsBounds(this.extent);if(rendered){this.features[feature.id]=[feature,style];}
-else{delete(this.features[feature.id]);}
-this.pendingRedraw=true;}
-if(this.pendingRedraw&&!this.locked){this.redraw();this.pendingRedraw=false;}
-return rendered;},drawGeometry:function(geometry,style,featureId){var className=geometry.CLASS_NAME;if((className=="OpenLayers.Geometry.Collection")||(className=="OpenLayers.Geometry.MultiPoint")||(className=="OpenLayers.Geometry.MultiLineString")||(className=="OpenLayers.Geometry.MultiPolygon")){for(var i=0;i<geometry.components.length;i++){this.drawGeometry(geometry.components[i],style,featureId);}
-return;}
-switch(geometry.CLASS_NAME){case"OpenLayers.Geometry.Point":this.drawPoint(geometry,style,featureId);break;case"OpenLayers.Geometry.LineString":this.drawLineString(geometry,style,featureId);break;case"OpenLayers.Geometry.LinearRing":this.drawLinearRing(geometry,style,featureId);break;case"OpenLayers.Geometry.Polygon":this.drawPolygon(geometry,style,featureId);break;default:break;}},drawExternalGraphic:function(geometry,style,featureId){var img=new Image();if(style.graphicTitle){img.title=style.graphicTitle;}
-var width=style.graphicWidth||style.graphicHeight;var height=style.graphicHeight||style.graphicWidth;width=width?width:style.pointRadius*2;height=height?height:style.pointRadius*2;var xOffset=(style.graphicXOffset!=undefined)?style.graphicXOffset:-(0.5*width);var yOffset=(style.graphicYOffset!=undefined)?style.graphicYOffset:-(0.5*height);var opacity=style.graphicOpacity||style.fillOpacity;var onLoad=function(){if(!this.features[featureId]){return;}
-var pt=this.getLocalXY(geometry);var p0=pt[0];var p1=pt[1];if(!isNaN(p0)&&!isNaN(p1)){var x=(p0+xOffset)|0;var y=(p1+yOffset)|0;var canvas=this.canvas;canvas.globalAlpha=opacity;var factor=OpenLayers.Renderer.Canvas.drawImageScaleFactor||(OpenLayers.Renderer.Canvas.drawImageScaleFactor=/android 2.1/.test(navigator.userAgent.toLowerCase())?320/window.screen.width:1);canvas.drawImage(img,x*factor,y*factor,width*factor,height*factor);if(this.hitDetection){this.setHitContextStyle("fill",featureId);this.hitContext.fillRect(x,y,width,height);}}};img.onload=OpenLayers.Function.bind(onLoad,this);img.src=style.externalGraphic;},setCanvasStyle:function(type,style){if(type==="fill"){this.canvas.globalAlpha=style['fillOpacity'];this.canvas.fillStyle=style['fillColor'];}else if(type==="stroke"){this.canvas.globalAlpha=style['strokeOpacity'];this.canvas.strokeStyle=style['strokeColor'];this.canvas.lineWidth=style['strokeWidth'];}else{this.canvas.globalAlpha=0;this.canvas.lineWidth=1;}},featureIdToHex:function(featureId){var id=Number(featureId.split("_").pop())+1;if(id>=16777216){this.hitOverflow=id-16777215;id=id%16777216+1;}
-var hex="000000"+id.toString(16);var len=hex.length;hex="#"+hex.substring(len-6,len);return hex;},setHitContextStyle:function(type,featureId,symbolizer){var hex=this.featureIdToHex(featureId);if(type=="fill"){this.hitContext.globalAlpha=1.0;this.hitContext.fillStyle=hex;}else if(type=="stroke"){this.hitContext.globalAlpha=1.0;this.hitContext.strokeStyle=hex;this.hitContext.lineWidth=symbolizer.strokeWidth+2;}else{this.hitContext.globalAlpha=0;this.hitContext.lineWidth=1;}},drawPoint:function(geometry,style,featureId){if(style.graphic!==false){if(style.externalGraphic){this.drawExternalGraphic(geometry,style,featureId);}else{var pt=this.getLocalXY(geometry);var p0=pt[0];var p1=pt[1];if(!isNaN(p0)&&!isNaN(p1)){var twoPi=Math.PI*2;var radius=style.pointRadius;if(style.fill!==false){this.setCanvasStyle("fill",style);this.canvas.beginPath();this.canvas.arc(p0,p1,radius,0,twoPi,true);this.canvas.fill();if(this.hitDetection){this.setHitContextStyle("fill",featureId,style);this.hitContext.beginPath();this.hitContext.arc(p0,p1,radius,0,twoPi,true);this.hitContext.fill();}}
-if(style.stroke!==false){this.setCanvasStyle("stroke",style);this.canvas.beginPath();this.canvas.arc(p0,p1,radius,0,twoPi,true);this.canvas.stroke();if(this.hitDetection){this.setHitContextStyle("stroke",featureId,style);this.hitContext.beginPath();this.hitContext.arc(p0,p1,radius,0,twoPi,true);this.hitContext.stroke();}
-this.setCanvasStyle("reset");}}}}},drawLineString:function(geometry,style,featureId){style=OpenLayers.Util.applyDefaults({fill:false},style);this.drawLinearRing(geometry,style,featureId);},drawLinearRing:function(geometry,style,featureId){if(style.fill!==false){this.setCanvasStyle("fill",style);this.renderPath(this.canvas,geometry,style,featureId,"fill");if(this.hitDetection){this.setHitContextStyle("fill",featureId,style);this.renderPath(this.hitContext,geometry,style,featureId,"fill");}}
-if(style.stroke!==false){this.setCanvasStyle("stroke",style);this.renderPath(this.canvas,geometry,style,featureId,"stroke");if(this.hitDetection){this.setHitContextStyle("stroke",featureId,style);this.renderPath(this.hitContext,geometry,style,featureId,"stroke");}}
-this.setCanvasStyle("reset");},renderPath:function(context,geometry,style,featureId,type){var components=geometry.components;var len=components.length;context.beginPath();var start=this.getLocalXY(components[0]);var x=start[0];var y=start[1];if(!isNaN(x)&&!isNaN(y)){context.moveTo(start[0],start[1]);for(var i=1;i<len;++i){var pt=this.getLocalXY(components[i]);context.lineTo(pt[0],pt[1]);}
-if(type==="fill"){context.fill();}else{context.stroke();}}},drawPolygon:function(geometry,style,featureId){var components=geometry.components;var len=components.length;this.drawLinearRing(components[0],style,featureId);for(var i=1;i<len;++i){this.canvas.globalCompositeOperation="destination-out";if(this.hitDetection){this.hitContext.globalCompositeOperation="destination-out";}
-this.drawLinearRing(components[i],OpenLayers.Util.applyDefaults({stroke:false,fillOpacity:1.0},style),featureId);this.canvas.globalCompositeOperation="source-over";if(this.hitDetection){this.hitContext.globalCompositeOperation="source-over";}
-this.drawLinearRing(components[i],OpenLayers.Util.applyDefaults({fill:false},style),featureId);}},drawText:function(location,style){style=OpenLayers.Util.extend({fontColor:"#000000",labelAlign:"cm"},style);var pt=this.getLocalXY(location);this.setCanvasStyle("reset");this.canvas.fillStyle=style.fontColor;this.canvas.globalAlpha=style.fontOpacity||1.0;var fontStyle=[style.fontStyle?style.fontStyle:"normal","normal",style.fontWeight?style.fontWeight:"normal",style.fontSize?style.fontSize:"1em",style.fontFamily?style.fontFamily:"sans-serif"].join(" ");var labelRows=style.label.split('\n');var numRows=labelRows.length;if(this.canvas.fillText){this.canvas.font=fontStyle;this.canvas.textAlign=OpenLayers.Renderer.Canvas.LABEL_ALIGN[style.labelAlign[0]]||"center";this.canvas.textBaseline=OpenLayers.Renderer.Canvas.LABEL_ALIGN[style.labelAlign[1]]||"middle";var vfactor=OpenLayers.Renderer.Canvas.LABEL_FACTOR[style.labelAlign[1]];if(vfactor==null){vfactor=-.5;}
-var lineHeight=this.canvas.measureText('Mg').height||this.canvas.measureText('xx').width;pt[1]+=lineHeight*vfactor*(numRows-1);for(var i=0;i<numRows;i++){this.canvas.fillText(labelRows[i],pt[0],pt[1]+(lineHeight*i));}}else if(this.canvas.mozDrawText){this.canvas.mozTextStyle=fontStyle;var hfactor=OpenLayers.Renderer.Canvas.LABEL_FACTOR[style.labelAlign[0]];if(hfactor==null){hfactor=-.5;}
-var vfactor=OpenLayers.Renderer.Canvas.LABEL_FACTOR[style.labelAlign[1]];if(vfactor==null){vfactor=-.5;}
-var lineHeight=this.canvas.mozMeasureText('xx');pt[1]+=lineHeight*(1+(vfactor*numRows));for(var i=0;i<numRows;i++){var x=pt[0]+(hfactor*this.canvas.mozMeasureText(labelRows[i]));var y=pt[1]+(i*lineHeight);this.canvas.translate(x,y);this.canvas.mozDrawText(labelRows[i]);this.canvas.translate(-x,-y);}}
-this.setCanvasStyle("reset");},getLocalXY:function(point){var resolution=this.getResolution();var extent=this.extent;var x=(point.x/resolution+(-extent.left/resolution));var y=((extent.top/resolution)-point.y/resolution);return[x,y];},clear:function(){var height=this.root.height;var width=this.root.width;this.canvas.clearRect(0,0,width,height);this.features={};if(this.hitDetection){this.hitContext.clearRect(0,0,width,height);}},getFeatureIdFromEvent:function(evt){var feature=null;if(this.hitDetection){if(!this.map.dragging){var xy=evt.xy;var x=xy.x|0;var y=xy.y|0;var data=this.hitContext.getImageData(x,y,1,1).data;if(data[3]===255){var id=data[2]+(256*(data[1]+(256*data[0])));if(id){feature=this.features["OpenLayers.Feature.Vector_"+(id-1+this.hitOverflow)][0];}}}}
-return feature;},eraseFeatures:function(features){if(!(OpenLayers.Util.isArray(features))){features=[features];}
-for(var i=0;i<features.length;++i){delete this.features[features[i].id];}
-this.redraw();},redraw:function(){if(!this.locked){var height=this.root.height;var width=this.root.width;this.canvas.clearRect(0,0,width,height);if(this.hitDetection){this.hitContext.clearRect(0,0,width,height);}
-var labelMap=[];var feature,style;for(var id in this.features){if(!this.features.hasOwnProperty(id)){continue;}
-feature=this.features[id][0];style=this.features[id][1];this.drawGeometry(feature.geometry,style,feature.id);if(style.label){labelMap.push([feature,style]);}}
-var item;for(var i=0,len=labelMap.length;i<len;++i){item=labelMap[i];this.drawText(item[0].geometry.getCentroid(),item[1]);}}},CLASS_NAME:"OpenLayers.Renderer.Canvas"});OpenLayers.Renderer.Canvas.LABEL_ALIGN={"l":"left","r":"right","t":"top","b":"bottom"};OpenLayers.Renderer.Canvas.LABEL_FACTOR={"l":0,"r":-1,"t":0,"b":-1};OpenLayers.Renderer.Canvas.drawImageScaleFactor=null;OpenLayers.Event={observers:false,KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_DELETE:46,element:function(event){return event.target||event.srcElement;},isSingleTouch:function(event){return event.touches&&event.touches.length==1;},isMultiTouch:function(event){return event.touches&&event.touches.length>1;},isLeftClick:function(event){return(((event.which)&&(event.which==1))||((event.button)&&(event.button==1)));},isRightClick:function(event){return(((event.which)&&(event.which==3))||((event.button)&&(event.button==2)));},stop:function(event,allowDefault){if(!allowDefault){if(event.preventDefault){event.preventDefault();}else{event.returnValue=false;}}
-if(event.stopPropagation){event.stopPropagation();}else{event.cancelBubble=true;}},findElement:function(event,tagName){var element=OpenLayers.Event.element(event);while(element.parentNode&&(!element.tagName||(element.tagName.toUpperCase()!=tagName.toUpperCase()))){element=element.parentNode;}
-return element;},observe:function(elementParam,name,observer,useCapture){var element=OpenLayers.Util.getElement(elementParam);useCapture=useCapture||false;if(name=='keypress'&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||element.attachEvent)){name='keydown';}
-if(!this.observers){this.observers={};}
-if(!element._eventCacheID){var idPrefix="eventCacheID_";if(element.id){idPrefix=element.id+"_"+idPrefix;}
-element._eventCacheID=OpenLayers.Util.createUniqueID(idPrefix);}
-var cacheID=element._eventCacheID;if(!this.observers[cacheID]){this.observers[cacheID]=[];}
-this.observers[cacheID].push({'element':element,'name':name,'observer':observer,'useCapture':useCapture});if(element.addEventListener){element.addEventListener(name,observer,useCapture);}else if(element.attachEvent){element.attachEvent('on'+name,observer);}},stopObservingElement:function(elementParam){var element=OpenLayers.Util.getElement(elementParam);var cacheID=element._eventCacheID;this._removeElementObservers(OpenLayers.Event.observers[cacheID]);},_removeElementObservers:function(elementObservers){if(elementObservers){for(var i=elementObservers.length-1;i>=0;i--){var entry=elementObservers[i];var args=new Array(entry.element,entry.name,entry.observer,entry.useCapture);var removed=OpenLayers.Event.stopObserving.apply(this,args);}}},stopObserving:function(elementParam,name,observer,useCapture){useCapture=useCapture||false;var element=OpenLayers.Util.getElement(elementParam);var cacheID=element._eventCacheID;if(name=='keypress'){if(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||element.detachEvent){name='keydown';}}
-var foundEntry=false;var elementObservers=OpenLayers.Event.observers[cacheID];if(elementObservers){var i=0;while(!foundEntry&&i<elementObservers.length){var cacheEntry=elementObservers[i];if((cacheEntry.name==name)&&(cacheEntry.observer==observer)&&(cacheEntry.useCapture==useCapture)){elementObservers.splice(i,1);if(elementObservers.length==0){delete OpenLayers.Event.observers[cacheID];}
-foundEntry=true;break;}
-i++;}}
-if(foundEntry){if(element.removeEventListener){element.removeEventListener(name,observer,useCapture);}else if(element&&element.detachEvent){element.detachEvent('on'+name,observer);}}
-return foundEntry;},unloadCache:function(){if(OpenLayers.Event&&OpenLayers.Event.observers){for(var cacheID in OpenLayers.Event.observers){var elementObservers=OpenLayers.Event.observers[cacheID];OpenLayers.Event._removeElementObservers.apply(this,[elementObservers]);}
-OpenLayers.Event.observers=false;}},CLASS_NAME:"OpenLayers.Event"};OpenLayers.Event.observe(window,'unload',OpenLayers.Event.unloadCache,false);if(window.Event){OpenLayers.Util.applyDefaults(window.Event,OpenLayers.Event);}else{var Event=OpenLayers.Event;}
-OpenLayers.Events=OpenLayers.Class({BROWSER_EVENTS:["mouseover","mouseout","mousedown","mouseup","mousemove","click","dblclick","rightclick","dblrightclick","resize","focus","blur","touchstart","touchmove","touchend"],listeners:null,object:null,element:null,eventTypes:null,eventHandler:null,fallThrough:null,includeXY:false,clearMouseListener:null,initialize:function(object,element,eventTypes,fallThrough,options){OpenLayers.Util.extend(this,options);this.object=object;this.fallThrough=fallThrough;this.listeners={};this.eventHandler=OpenLayers.Function.bindAsEventListener(this.handleBrowserEvent,this);this.clearMouseListener=OpenLayers.Function.bind(this.clearMouseCache,this);this.eventTypes=[];if(eventTypes!=null){for(var i=0,len=eventTypes.length;i<len;i++){this.addEventType(eventTypes[i]);}}
-if(element!=null){this.attachToElement(element);}},destroy:function(){if(this.element){OpenLayers.Event.stopObservingElement(this.element);if(this.element.hasScrollEvent){OpenLayers.Event.stopObserving(window,"scroll",this.clearMouseListener);}}
-this.element=null;this.listeners=null;this.object=null;this.eventTypes=null;this.fallThrough=null;this.eventHandler=null;},addEventType:function(eventName){if(!this.listeners[eventName]){this.eventTypes.push(eventName);this.listeners[eventName]=[];}},attachToElement:function(element){if(this.element){OpenLayers.Event.stopObservingElement(this.element);}
-this.element=element;for(var i=0,len=this.BROWSER_EVENTS.length;i<len;i++){var eventType=this.BROWSER_EVENTS[i];this.addEventType(eventType);OpenLayers.Event.observe(element,eventType,this.eventHandler);}
-OpenLayers.Event.observe(element,"dragstart",OpenLayers.Event.stop);},on:function(object){for(var type in object){if(type!="scope"){this.register(type,object.scope,object[type]);}}},register:function(type,obj,func){if((func!=null)&&(OpenLayers.Util.indexOf(this.eventTypes,type)!=-1)){if(obj==null){obj=this.object;}
-var listeners=this.listeners[type];listeners.push({obj:obj,func:func});}},registerPriority:function(type,obj,func){if(func!=null){if(obj==null){obj=this.object;}
-var listeners=this.listeners[type];if(listeners!=null){listeners.unshift({obj:obj,func:func});}}},un:function(object){for(var type in object){if(type!="scope"){this.unregister(type,object.scope,object[type]);}}},unregister:function(type,obj,func){if(obj==null){obj=this.object;}
-var listeners=this.listeners[type];if(listeners!=null){for(var i=0,len=listeners.length;i<len;i++){if(listeners[i].obj==obj&&listeners[i].func==func){listeners.splice(i,1);break;}}}},remove:function(type){if(this.listeners[type]!=null){this.listeners[type]=[];}},triggerEvent:function(type,evt){var listeners=this.listeners[type];if(!listeners||listeners.length==0){return undefined;}
-if(evt==null){evt={};}
-evt.object=this.object;evt.element=this.element;if(!evt.type){evt.type=type;}
-listeners=listeners.slice();var continueChain;for(var i=0,len=listeners.length;i<len;i++){var callback=listeners[i];continueChain=callback.func.apply(callback.obj,[evt]);if((continueChain!=undefined)&&(continueChain==false)){break;}}
-if(!this.fallThrough){OpenLayers.Event.stop(evt,true);}
-return continueChain;},handleBrowserEvent:function(evt){var type=evt.type,listeners=this.listeners[type];if(!listeners||listeners.length==0){return;}
-var touches=evt.touches;if(touches&&touches[0]){var x=0;var y=0;var num=touches.length;var touch;for(var i=0;i<num;++i){touch=touches[i];x+=touch.clientX;y+=touch.clientY;}
-evt.clientX=x/num;evt.clientY=y/num;}
-if(this.includeXY){evt.xy=this.getMousePosition(evt);}
-this.triggerEvent(type,evt);},clearMouseCache:function(){this.element.scrolls=null;this.element.lefttop=null;var body=document.body;if(body&&!((body.scrollTop!=0||body.scrollLeft!=0)&&navigator.userAgent.match(/iPhone/i))){this.element.offsets=null;}},getMousePosition:function(evt){if(!this.includeXY){this.clearMouseCache();}else if(!this.element.hasScrollEvent){OpenLayers.Event.observe(window,"scroll",this.clearMouseListener);this.element.hasScrollEvent=true;}
-if(!this.element.scrolls){var viewportElement=OpenLayers.Util.getViewportElement();this.element.scrolls=[viewportElement.scrollLeft,viewportElement.scrollTop];}
-if(!this.element.lefttop){this.element.lefttop=[(document.documentElement.clientLeft||0),(document.documentElement.clientTop||0)];}
-if(!this.element.offsets){this.element.offsets=OpenLayers.Util.pagePosition(this.element);}
-return new OpenLayers.Pixel((evt.clientX+this.element.scrolls[0])-this.element.offsets[0]
--this.element.lefttop[0],(evt.clientY+this.element.scrolls[1])-this.element.offsets[1]
--this.element.lefttop[1]);},CLASS_NAME:"OpenLayers.Events"});OpenLayers.Handler=OpenLayers.Class({id:null,control:null,map:null,keyMask:null,active:false,evt:null,initialize:function(control,callbacks,options){OpenLayers.Util.extend(this,options);this.control=control;this.callbacks=callbacks;var map=this.map||control.map;if(map){this.setMap(map);}
-this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_");},setMap:function(map){this.map=map;},checkModifiers:function(evt){if(this.keyMask==null){return true;}
-var keyModifiers=(evt.shiftKey?OpenLayers.Handler.MOD_SHIFT:0)|(evt.ctrlKey?OpenLayers.Handler.MOD_CTRL:0)|(evt.altKey?OpenLayers.Handler.MOD_ALT:0);return(keyModifiers==this.keyMask);},activate:function(){if(this.active){return false;}
-var events=OpenLayers.Events.prototype.BROWSER_EVENTS;for(var i=0,len=events.length;i<len;i++){if(this[events[i]]){this.register(events[i],this[events[i]]);}}
-this.active=true;return true;},deactivate:function(){if(!this.active){return false;}
-var events=OpenLayers.Events.prototype.BROWSER_EVENTS;for(var i=0,len=events.length;i<len;i++){if(this[events[i]]){this.unregister(events[i],this[events[i]]);}}
-this.active=false;return true;},callback:function(name,args){if(name&&this.callbacks[name]){this.callbacks[name].apply(this.control,args);}},register:function(name,method){this.map.events.registerPriority(name,this,method);this.map.events.registerPriority(name,this,this.setEvent);},unregister:function(name,method){this.map.events.unregister(name,this,method);this.map.events.unregister(name,this,this.setEvent);},setEvent:function(evt){this.evt=evt;return true;},destroy:function(){this.deactivate();this.control=this.map=null;},CLASS_NAME:"OpenLayers.Handler"});OpenLayers.Handler.MOD_NONE=0;OpenLayers.Handler.MOD_SHIFT=1;OpenLayers.Handler.MOD_CTRL=2;OpenLayers.Handler.MOD_ALT=4;OpenLayers.Handler.MouseWheel=OpenLayers.Class(OpenLayers.Handler,{wheelListener:null,mousePosition:null,interval:0,delta:0,cumulative:true,initialize:function(control,callbacks,options){OpenLayers.Handler.prototype.initialize.apply(this,arguments);this.wheelListener=OpenLayers.Function.bindAsEventListener(this.onWheelEvent,this);},destroy:function(){OpenLayers.Handler.prototype.destroy.apply(this,arguments);this.wheelListener=null;},onWheelEvent:function(e){if(!this.map||!this.checkModifiers(e)){return;}
-var overScrollableDiv=false;var overLayerDiv=false;var overMapDiv=false;var elem=OpenLayers.Event.element(e);while((elem!=null)&&!overMapDiv&&!overScrollableDiv){if(!overScrollableDiv){try{if(elem.currentStyle){overflow=elem.currentStyle["overflow"];}else{var style=document.defaultView.getComputedStyle(elem,null);var overflow=style.getPropertyValue("overflow");}
-overScrollableDiv=(overflow&&(overflow=="auto")||(overflow=="scroll"));}catch(err){}}
-if(!overLayerDiv){for(var i=0,len=this.map.layers.length;i<len;i++){if(elem==this.map.layers[i].div||elem==this.map.layers[i].pane){overLayerDiv=true;break;}}}
-overMapDiv=(elem==this.map.div);elem=elem.parentNode;}
-if(!overScrollableDiv&&overMapDiv){if(overLayerDiv){var delta=0;if(!e){e=window.event;}
-if(e.wheelDelta){delta=e.wheelDelta/120;if(window.opera&&window.opera.version()<9.2){delta=-delta;}}else if(e.detail){delta=-e.detail/3;}
-this.delta=this.delta+delta;if(this.interval){window.clearTimeout(this._timeoutId);this._timeoutId=window.setTimeout(OpenLayers.Function.bind(function(){this.wheelZoom(e);},this),this.interval);}else{this.wheelZoom(e);}}
-OpenLayers.Event.stop(e);}},wheelZoom:function(e){var delta=this.delta;this.delta=0;if(delta){if(this.mousePosition){e.xy=this.mousePosition;}
-if(!e.xy){e.xy=this.map.getPixelFromLonLat(this.map.getCenter());}
-if(delta<0){this.callback("down",[e,this.cumulative?delta:-1]);}else{this.callback("up",[e,this.cumulative?delta:1]);}}},mousemove:function(evt){this.mousePosition=evt.xy;},activate:function(evt){if(OpenLayers.Handler.prototype.activate.apply(this,arguments)){var wheelListener=this.wheelListener;OpenLayers.Event.observe(window,"DOMMouseScroll",wheelListener);OpenLayers.Event.observe(window,"mousewheel",wheelListener);OpenLayers.Event.observe(document,"mousewheel",wheelListener);return true;}else{return false;}},deactivate:function(evt){if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){var wheelListener=this.wheelListener;OpenLayers.Event.stopObserving(window,"DOMMouseScroll",wheelListener);OpenLayers.Event.stopObserving(window,"mousewheel",wheelListener);OpenLayers.Event.stopObserving(document,"mousewheel",wheelListener);return true;}else{return false;}},CLASS_NAME:"OpenLayers.Handler.MouseWheel"});OpenLayers.Symbolizer=OpenLayers.Class({zIndex:0,initialize:function(config){OpenLayers.Util.extend(this,config);},clone:function(){var Type=eval(this.CLASS_NAME);return new Type(OpenLayers.Util.extend({},this));},CLASS_NAME:"OpenLayers.Symbolizer"});OpenLayers.Symbolizer.Raster=OpenLayers.Class(OpenLayers.Symbolizer,{initialize:function(config){OpenLayers.Symbolizer.prototype.initialize.apply(this,arguments);},CLASS_NAME:"OpenLayers.Symbolizer.Raster"});OpenLayers.Tile=OpenLayers.Class({EVENT_TYPES:["loadstart","loadend","reload","unload"],events:null,id:null,layer:null,url:null,bounds:null,size:null,position:null,isLoading:false,initialize:function(layer,position,bounds,url,size,options){this.layer=layer;this.position=position.clone();this.bounds=bounds.clone();this.url=url;if(size){this.size=size.clone();}
-this.id=OpenLayers.Util.createUniqueID("Tile_");this.events=new OpenLayers.Events(this,null,this.EVENT_TYPES);OpenLayers.Util.extend(this,options);},unload:function(){if(this.isLoading){this.isLoading=false;this.events.triggerEvent("unload");}},destroy:function(){this.layer=null;this.bounds=null;this.size=null;this.position=null;this.events.destroy();this.events=null;},clone:function(obj){if(obj==null){obj=new OpenLayers.Tile(this.layer,this.position,this.bounds,this.url,this.size);}
-OpenLayers.Util.applyDefaults(obj,this);return obj;},draw:function(){var maxExtent=this.layer.maxExtent;var withinMaxExtent=(maxExtent&&this.bounds.intersectsBounds(maxExtent,false));this.shouldDraw=(withinMaxExtent||this.layer.displayOutsideMaxExtent);this.clear();return this.shouldDraw;},moveTo:function(bounds,position,redraw){if(redraw==null){redraw=true;}
-this.bounds=bounds.clone();this.position=position.clone();if(redraw){this.draw();}},clear:function(){},getBoundsFromBaseLayer:function(position){var msg=OpenLayers.i18n('reprojectDeprecated',{'layerName':this.layer.name});OpenLayers.Console.warn(msg);var topLeft=this.layer.map.getLonLatFromLayerPx(position);var bottomRightPx=position.clone();bottomRightPx.x+=this.size.w;bottomRightPx.y+=this.size.h;var bottomRight=this.layer.map.getLonLatFromLayerPx(bottomRightPx);if(topLeft.lon>bottomRight.lon){if(topLeft.lon<0){topLeft.lon=-180-(topLeft.lon+180);}else{bottomRight.lon=180+bottomRight.lon+180;}}
-var bounds=new OpenLayers.Bounds(topLeft.lon,bottomRight.lat,bottomRight.lon,topLeft.lat);return bounds;},showTile:function(){if(this.shouldDraw){this.show();}},show:function(){},hide:function(){},CLASS_NAME:"OpenLayers.Tile"});OpenLayers.Tile.Image=OpenLayers.Class(OpenLayers.Tile,{url:null,imgDiv:null,frame:null,layerAlphaHack:null,isBackBuffer:false,isFirstDraw:true,backBufferTile:null,maxGetUrlLength:null,initialize:function(layer,position,bounds,url,size,options){OpenLayers.Tile.prototype.initialize.apply(this,arguments);if(this.maxGetUrlLength!=null){OpenLayers.Util.extend(this,OpenLayers.Tile.Image.IFrame);}
-this.url=url;this.frame=document.createElement('div');this.frame.style.overflow='hidden';this.frame.style.position='absolute';this.layerAlphaHack=this.layer.alpha&&OpenLayers.Util.alphaHack();},destroy:function(){if(this.imgDiv!=null){this.removeImgDiv();}
-this.imgDiv=null;if((this.frame!=null)&&(this.frame.parentNode==this.layer.div)){this.layer.div.removeChild(this.frame);}
-this.frame=null;if(this.backBufferTile){this.backBufferTile.destroy();this.backBufferTile=null;}
-this.layer.events.unregister("loadend",this,this.resetBackBuffer);OpenLayers.Tile.prototype.destroy.apply(this,arguments);},clone:function(obj){if(obj==null){obj=new OpenLayers.Tile.Image(this.layer,this.position,this.bounds,this.url,this.size);}
-obj=OpenLayers.Tile.prototype.clone.apply(this,[obj]);obj.imgDiv=null;return obj;},draw:function(){if(this.layer!=this.layer.map.baseLayer&&this.layer.reproject){this.bounds=this.getBoundsFromBaseLayer(this.position);}
-var drawTile=OpenLayers.Tile.prototype.draw.apply(this,arguments);if((OpenLayers.Util.indexOf(this.layer.SUPPORTED_TRANSITIONS,this.layer.transitionEffect)!=-1)||this.layer.singleTile){if(drawTile){if(!this.backBufferTile){this.backBufferTile=this.clone();this.backBufferTile.hide();this.backBufferTile.isBackBuffer=true;this.events.register('loadend',this,this.resetBackBuffer);this.layer.events.register("loadend",this,this.resetBackBuffer);}
-this.startTransition();}else{if(this.backBufferTile){this.backBufferTile.clear();}}}else{if(drawTile&&this.isFirstDraw){this.events.register('loadend',this,this.showTile);this.isFirstDraw=false;}}
-if(!drawTile){return false;}
-if(this.isLoading){this.events.triggerEvent("reload");}else{this.isLoading=true;this.events.triggerEvent("loadstart");}
-return this.renderTile();},resetBackBuffer:function(){this.showTile();if(this.backBufferTile&&(this.isFirstDraw||!this.layer.numLoadingTiles)){this.isFirstDraw=false;var maxExtent=this.layer.maxExtent;var withinMaxExtent=(maxExtent&&this.bounds.intersectsBounds(maxExtent,false));if(withinMaxExtent){this.backBufferTile.position=this.position;this.backBufferTile.bounds=this.bounds;this.backBufferTile.size=this.size;this.backBufferTile.imageSize=this.layer.getImageSize(this.bounds)||this.size;this.backBufferTile.imageOffset=this.layer.imageOffset;this.backBufferTile.resolution=this.layer.getResolution();this.backBufferTile.renderTile();}
-this.backBufferTile.hide();}},renderTile:function(){if(this.layer.async){this.initImgDiv();this.layer.getURLasync(this.bounds,this,"url",this.positionImage);}else{this.url=this.layer.getURL(this.bounds);this.initImgDiv();this.positionImage();}
-return true;},positionImage:function(){if(this.layer===null){return;}
-OpenLayers.Util.modifyDOMElement(this.frame,null,this.position,this.size);var imageSize=this.layer.getImageSize(this.bounds);if(this.layerAlphaHack){OpenLayers.Util.modifyAlphaImageDiv(this.imgDiv,null,null,imageSize,this.url);}else{OpenLayers.Util.modifyDOMElement(this.imgDiv,null,null,imageSize);this.imgDiv.src=this.url;}},clear:function(){if(this.imgDiv){this.hide();if(OpenLayers.Tile.Image.useBlankTile){this.imgDiv.src=OpenLayers.Util.getImagesLocation()+"blank.gif";}}},initImgDiv:function(){if(this.imgDiv==null){var offset=this.layer.imageOffset;var size=this.layer.getImageSize(this.bounds);if(this.layerAlphaHack){this.imgDiv=OpenLayers.Util.createAlphaImageDiv(null,offset,size,null,"relative",null,null,null,true);}else{this.imgDiv=OpenLayers.Util.createImage(null,offset,size,null,"relative",null,null,true);}
-if(OpenLayers.Util.isArray(this.layer.url)){this.imgDiv.urls=this.layer.url.slice();}
-this.imgDiv.className='olTileImage';this.frame.style.zIndex=this.isBackBuffer?0:1;this.frame.appendChild(this.imgDiv);this.layer.div.appendChild(this.frame);if(this.layer.opacity!=null){OpenLayers.Util.modifyDOMElement(this.imgDiv,null,null,null,null,null,null,this.layer.opacity);}
-this.imgDiv.map=this.layer.map;var onload=function(){if(this.isLoading){this.isLoading=false;this.events.triggerEvent("loadend");}};if(this.layerAlphaHack){OpenLayers.Event.observe(this.imgDiv.childNodes[0],'load',OpenLayers.Function.bind(onload,this));}else{OpenLayers.Event.observe(this.imgDiv,'load',OpenLayers.Function.bind(onload,this));}
-var onerror=function(){if(this.imgDiv._attempts>OpenLayers.IMAGE_RELOAD_ATTEMPTS){onload.call(this);}};OpenLayers.Event.observe(this.imgDiv,"error",OpenLayers.Function.bind(onerror,this));}
-this.imgDiv.viewRequestID=this.layer.map.viewRequestID;},removeImgDiv:function(){OpenLayers.Event.stopObservingElement(this.imgDiv);if(this.imgDiv.parentNode==this.frame){this.frame.removeChild(this.imgDiv);this.imgDiv.map=null;}
-this.imgDiv.urls=null;var child=this.imgDiv.firstChild;if(child){OpenLayers.Event.stopObservingElement(child);this.imgDiv.removeChild(child);delete child;}else{this.imgDiv.src=OpenLayers.Util.getImagesLocation()+"blank.gif";}},checkImgURL:function(){if(this.layer){var loaded=this.layerAlphaHack?this.imgDiv.firstChild.src:this.imgDiv.src;if(!OpenLayers.Util.isEquivalentUrl(loaded,this.url)){this.hide();}}},startTransition:function(){if(!this.backBufferTile||!this.backBufferTile.imgDiv){return;}
-var ratio=1;if(this.backBufferTile.resolution){ratio=this.backBufferTile.resolution/this.layer.getResolution();}
-if(ratio!=1){if(this.layer.transitionEffect=='resize'){var upperLeft=new OpenLayers.LonLat(this.backBufferTile.bounds.left,this.backBufferTile.bounds.top);var size=new OpenLayers.Size(this.backBufferTile.size.w*ratio,this.backBufferTile.size.h*ratio);var px=this.layer.map.getLayerPxFromLonLat(upperLeft);OpenLayers.Util.modifyDOMElement(this.backBufferTile.frame,null,px,size);var imageSize=this.backBufferTile.imageSize;imageSize=new OpenLayers.Size(imageSize.w*ratio,imageSize.h*ratio);var imageOffset=this.backBufferTile.imageOffset;if(imageOffset){imageOffset=new OpenLayers.Pixel(imageOffset.x*ratio,imageOffset.y*ratio);}
-OpenLayers.Util.modifyDOMElement(this.backBufferTile.imgDiv,null,imageOffset,imageSize);this.backBufferTile.show();}}else{if(this.layer.singleTile){this.backBufferTile.show();}else{this.backBufferTile.hide();}}},show:function(){this.frame.style.display='';if(OpenLayers.Util.indexOf(this.layer.SUPPORTED_TRANSITIONS,this.layer.transitionEffect)!=-1){if(OpenLayers.IS_GECKO===true){this.frame.scrollLeft=this.frame.scrollLeft;}}},hide:function(){this.frame.style.display='none';},CLASS_NAME:"OpenLayers.Tile.Image"});OpenLayers.Tile.Image.useBlankTile=(OpenLayers.BROWSER_NAME=="safari"||OpenLayers.BROWSER_NAME=="opera");OpenLayers.ElementsIndexer=OpenLayers.Class({maxZIndex:null,order:null,indices:null,compare:null,initialize:function(yOrdering){this.compare=yOrdering?OpenLayers.ElementsIndexer.IndexingMethods.Z_ORDER_Y_ORDER:OpenLayers.ElementsIndexer.IndexingMethods.Z_ORDER_DRAWING_ORDER;this.clear();},insert:function(newNode){if(this.exists(newNode)){this.remove(newNode);}
-var nodeId=newNode.id;this.determineZIndex(newNode);var leftIndex=-1;var rightIndex=this.order.length;var middle;while(rightIndex-leftIndex>1){middle=parseInt((leftIndex+rightIndex)/2);var placement=this.compare(this,newNode,OpenLayers.Util.getElement(this.order[middle]));if(placement>0){leftIndex=middle;}else{rightIndex=middle;}}
-this.order.splice(rightIndex,0,nodeId);this.indices[nodeId]=this.getZIndex(newNode);return this.getNextElement(rightIndex);},remove:function(node){var nodeId=node.id;var arrayIndex=OpenLayers.Util.indexOf(this.order,nodeId);if(arrayIndex>=0){this.order.splice(arrayIndex,1);delete this.indices[nodeId];if(this.order.length>0){var lastId=this.order[this.order.length-1];this.maxZIndex=this.indices[lastId];}else{this.maxZIndex=0;}}},clear:function(){this.order=[];this.indices={};this.maxZIndex=0;},exists:function(node){return(this.indices[node.id]!=null);},getZIndex:function(node){return node._style.graphicZIndex;},determineZIndex:function(node){var zIndex=node._style.graphicZIndex;if(zIndex==null){zIndex=this.maxZIndex;node._style.graphicZIndex=zIndex;}else if(zIndex>this.maxZIndex){this.maxZIndex=zIndex;}},getNextElement:function(index){var nextIndex=index+1;if(nextIndex<this.order.length){var nextElement=OpenLayers.Util.getElement(this.order[nextIndex]);if(nextElement==undefined){nextElement=this.getNextElement(nextIndex);}
-return nextElement;}else{return null;}},CLASS_NAME:"OpenLayers.ElementsIndexer"});OpenLayers.ElementsIndexer.IndexingMethods={Z_ORDER:function(indexer,newNode,nextNode){var newZIndex=indexer.getZIndex(newNode);var returnVal=0;if(nextNode){var nextZIndex=indexer.getZIndex(nextNode);returnVal=newZIndex-nextZIndex;}
-return returnVal;},Z_ORDER_DRAWING_ORDER:function(indexer,newNode,nextNode){var returnVal=OpenLayers.ElementsIndexer.IndexingMethods.Z_ORDER(indexer,newNode,nextNode);if(nextNode&&returnVal==0){returnVal=1;}
-return returnVal;},Z_ORDER_Y_ORDER:function(indexer,newNode,nextNode){var returnVal=OpenLayers.ElementsIndexer.IndexingMethods.Z_ORDER(indexer,newNode,nextNode);if(nextNode&&returnVal===0){var result=nextNode._boundsBottom-newNode._boundsBottom;returnVal=(result===0)?1:result;}
-return returnVal;}};OpenLayers.Renderer.Elements=OpenLayers.Class(OpenLayers.Renderer,{rendererRoot:null,root:null,vectorRoot:null,textRoot:null,xmlns:null,indexer:null,BACKGROUND_ID_SUFFIX:"_background",LABEL_ID_SUFFIX:"_label",initialize:function(containerID,options){OpenLayers.Renderer.prototype.initialize.apply(this,arguments);this.rendererRoot=this.createRenderRoot();this.root=this.createRoot("_root");this.vectorRoot=this.createRoot("_vroot");this.textRoot=this.createRoot("_troot");this.root.appendChild(this.vectorRoot);this.root.appendChild(this.textRoot);this.rendererRoot.appendChild(this.root);this.container.appendChild(this.rendererRoot);if(options&&(options.zIndexing||options.yOrdering)){this.indexer=new OpenLayers.ElementsIndexer(options.yOrdering);}},destroy:function(){this.clear();this.rendererRoot=null;this.root=null;this.xmlns=null;OpenLayers.Renderer.prototype.destroy.apply(this,arguments);},clear:function(){var child;var root=this.vectorRoot;if(root){while(child=root.firstChild){root.removeChild(child);}}
-root=this.textRoot;if(root){while(child=root.firstChild){root.removeChild(child);}}
-if(this.indexer){this.indexer.clear();}},getNodeType:function(geometry,style){},drawGeometry:function(geometry,style,featureId){var className=geometry.CLASS_NAME;var rendered=true;if((className=="OpenLayers.Geometry.Collection")||(className=="OpenLayers.Geometry.MultiPoint")||(className=="OpenLayers.Geometry.MultiLineString")||(className=="OpenLayers.Geometry.MultiPolygon")){for(var i=0,len=geometry.components.length;i<len;i++){rendered=this.drawGeometry(geometry.components[i],style,featureId)&&rendered;}
-return rendered;};rendered=false;var removeBackground=false;if(style.display!="none"){if(style.backgroundGraphic){this.redrawBackgroundNode(geometry.id,geometry,style,featureId);}else{removeBackground=true;}
-rendered=this.redrawNode(geometry.id,geometry,style,featureId);}
-if(rendered==false){var node=document.getElementById(geometry.id);if(node){if(node._style.backgroundGraphic){removeBackground=true;}
-node.parentNode.removeChild(node);}}
-if(removeBackground){var node=document.getElementById(geometry.id+this.BACKGROUND_ID_SUFFIX);if(node){node.parentNode.removeChild(node);}}
-return rendered;},redrawNode:function(id,geometry,style,featureId){style=this.applyDefaultSymbolizer(style);var node=this.nodeFactory(id,this.getNodeType(geometry,style));node._featureId=featureId;node._boundsBottom=geometry.getBounds().bottom;node._geometryClass=geometry.CLASS_NAME;node._style=style;var drawResult=this.drawGeometryNode(node,geometry,style);if(drawResult===false){return false;}
-node=drawResult.node;if(this.indexer){var insert=this.indexer.insert(node);if(insert){this.vectorRoot.insertBefore(node,insert);}else{this.vectorRoot.appendChild(node);}}else{if(node.parentNode!==this.vectorRoot){this.vectorRoot.appendChild(node);}}
-this.postDraw(node);return drawResult.complete;},redrawBackgroundNode:function(id,geometry,style,featureId){var backgroundStyle=OpenLayers.Util.extend({},style);backgroundStyle.externalGraphic=backgroundStyle.backgroundGraphic;backgroundStyle.graphicXOffset=backgroundStyle.backgroundXOffset;backgroundStyle.graphicYOffset=backgroundStyle.backgroundYOffset;backgroundStyle.graphicZIndex=backgroundStyle.backgroundGraphicZIndex;backgroundStyle.graphicWidth=backgroundStyle.backgroundWidth||backgroundStyle.graphicWidth;backgroundStyle.graphicHeight=backgroundStyle.backgroundHeight||backgroundStyle.graphicHeight;backgroundStyle.backgroundGraphic=null;backgroundStyle.backgroundXOffset=null;backgroundStyle.backgroundYOffset=null;backgroundStyle.backgroundGraphicZIndex=null;return this.redrawNode(id+this.BACKGROUND_ID_SUFFIX,geometry,backgroundStyle,null);},drawGeometryNode:function(node,geometry,style){style=style||node._style;var options={'isFilled':style.fill===undefined?true:style.fill,'isStroked':style.stroke===undefined?!!style.strokeWidth:style.stroke};var drawn;switch(geometry.CLASS_NAME){case"OpenLayers.Geometry.Point":if(style.graphic===false){options.isFilled=false;options.isStroked=false;}
-drawn=this.drawPoint(node,geometry);break;case"OpenLayers.Geometry.LineString":options.isFilled=false;drawn=this.drawLineString(node,geometry);break;case"OpenLayers.Geometry.LinearRing":drawn=this.drawLinearRing(node,geometry);break;case"OpenLayers.Geometry.Polygon":drawn=this.drawPolygon(node,geometry);break;case"OpenLayers.Geometry.Surface":drawn=this.drawSurface(node,geometry);break;case"OpenLayers.Geometry.Rectangle":drawn=this.drawRectangle(node,geometry);break;default:break;}
-node._options=options;if(drawn!=false){return{node:this.setStyle(node,style,options,geometry),complete:drawn};}else{return false;}},postDraw:function(node){},drawPoint:function(node,geometry){},drawLineString:function(node,geometry){},drawLinearRing:function(node,geometry){},drawPolygon:function(node,geometry){},drawRectangle:function(node,geometry){},drawCircle:function(node,geometry){},drawSurface:function(node,geometry){},removeText:function(featureId){var label=document.getElementById(featureId+this.LABEL_ID_SUFFIX);if(label){this.textRoot.removeChild(label);}},getFeatureIdFromEvent:function(evt){var target=evt.target;var useElement=target&&target.correspondingUseElement;var node=useElement?useElement:(target||evt.srcElement);var featureId=node._featureId;return featureId;},eraseGeometry:function(geometry,featureId){if((geometry.CLASS_NAME=="OpenLayers.Geometry.MultiPoint")||(geometry.CLASS_NAME=="OpenLayers.Geometry.MultiLineString")||(geometry.CLASS_NAME=="OpenLayers.Geometry.MultiPolygon")||(geometry.CLASS_NAME=="OpenLayers.Geometry.Collection")){for(var i=0,len=geometry.components.length;i<len;i++){this.eraseGeometry(geometry.components[i],featureId);}}else{var element=OpenLayers.Util.getElement(geometry.id);if(element&&element.parentNode){if(element.geometry){element.geometry.destroy();element.geometry=null;}
-element.parentNode.removeChild(element);if(this.indexer){this.indexer.remove(element);}
-if(element._style.backgroundGraphic){var backgroundId=geometry.id+this.BACKGROUND_ID_SUFFIX;var bElem=OpenLayers.Util.getElement(backgroundId);if(bElem&&bElem.parentNode){bElem.parentNode.removeChild(bElem);}}}}},nodeFactory:function(id,type){var node=OpenLayers.Util.getElement(id);if(node){if(!this.nodeTypeCompare(node,type)){node.parentNode.removeChild(node);node=this.nodeFactory(id,type);}}else{node=this.createNode(type,id);}
-return node;},nodeTypeCompare:function(node,type){},createNode:function(type,id){},moveRoot:function(renderer){var root=this.root;if(renderer.root.parentNode==this.rendererRoot){root=renderer.root;}
-root.parentNode.removeChild(root);renderer.rendererRoot.appendChild(root);},getRenderLayerId:function(){return this.root.parentNode.parentNode.id;},isComplexSymbol:function(graphicName){return(graphicName!="circle")&&!!graphicName;},CLASS_NAME:"OpenLayers.Renderer.Elements"});OpenLayers.Renderer.symbol={"star":[350,75,379,161,469,161,397,215,423,301,350,250,277,301,303,215,231,161,321,161,350,75],"cross":[4,0,6,0,6,4,10,4,10,6,6,6,6,10,4,10,4,6,0,6,0,4,4,4,4,0],"x":[0,0,25,0,50,35,75,0,100,0,65,50,100,100,75,100,50,65,25,100,0,100,35,50,0,0],"square":[0,0,0,1,1,1,1,0,0,0],"triangle":[0,10,10,10,5,0,0,10]};OpenLayers.Control.ArgParser=OpenLayers.Class(OpenLayers.Control,{center:null,zoom:null,layers:null,displayProjection:null,getParameters:function(url){url=url||window.location.href;var parameters=OpenLayers.Util.getParameters(url);var index=url.indexOf('#');if(index>0){url='?'+url.substring(index+1,url.length);OpenLayers.Util.extend(parameters,OpenLayers.Util.getParameters(url));}
-return parameters;},setMap:function(map){OpenLayers.Control.prototype.setMap.apply(this,arguments);for(var i=0,len=this.map.controls.length;i<len;i++){var control=this.map.controls[i];if((control!=this)&&(control.CLASS_NAME=="OpenLayers.Control.ArgParser")){if(control.displayProjection!=this.displayProjection){this.displayProjection=control.displayProjection;}
-break;}}
-if(i==this.map.controls.length){var args=this.getParameters();if(args.layers){this.layers=args.layers;this.map.events.register('addlayer',this,this.configureLayers);this.configureLayers();}
-if(args.lat&&args.lon){this.center=new OpenLayers.LonLat(parseFloat(args.lon),parseFloat(args.lat));if(args.zoom){this.zoom=parseInt(args.zoom);}
-this.map.events.register('changebaselayer',this,this.setCenter);this.setCenter();}}},setCenter:function(){if(this.map.baseLayer){this.map.events.unregister('changebaselayer',this,this.setCenter);if(this.displayProjection){this.center.transform(this.displayProjection,this.map.getProjectionObject());}
-this.map.setCenter(this.center,this.zoom);}},configureLayers:function(){if(this.layers.length==this.map.layers.length){this.map.events.unregister('addlayer',this,this.configureLayers);for(var i=0,len=this.layers.length;i<len;i++){var layer=this.map.layers[i];var c=this.layers.charAt(i);if(c=="B"){this.map.setBaseLayer(layer);}else if((c=="T")||(c=="F")){layer.setVisibility(c=="T");}}}},CLASS_NAME:"OpenLayers.Control.ArgParser"});OpenLayers.Control.Permalink=OpenLayers.Class(OpenLayers.Control,{argParserClass:OpenLayers.Control.ArgParser,element:null,anchor:false,base:'',displayProjection:null,initialize:function(element,base,options){if(element!==null&&typeof element=='object'&&!OpenLayers.Util.isElement(element)){options=element;this.base=document.location.href;OpenLayers.Control.prototype.initialize.apply(this,[options]);if(this.element!=null){this.element=OpenLayers.Util.getElement(this.element);}}
-else{OpenLayers.Control.prototype.initialize.apply(this,[options]);this.element=OpenLayers.Util.getElement(element);this.base=base||document.location.href;}},destroy:function(){if(this.element.parentNode==this.div){this.div.removeChild(this.element);}
-this.element=null;this.map.events.unregister('moveend',this,this.updateLink);OpenLayers.Control.prototype.destroy.apply(this,arguments);},setMap:function(map){OpenLayers.Control.prototype.setMap.apply(this,arguments);for(var i=0,len=this.map.controls.length;i<len;i++){var control=this.map.controls[i];if(control.CLASS_NAME==this.argParserClass.CLASS_NAME){if(control.displayProjection!=this.displayProjection){this.displayProjection=control.displayProjection;}
-break;}}
-if(i==this.map.controls.length){this.map.addControl(new this.argParserClass({'displayProjection':this.displayProjection}));}},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);if(!this.element&&!this.anchor){this.element=document.createElement("a");this.element.innerHTML=OpenLayers.i18n("Permalink");this.element.href="";this.div.appendChild(this.element);}
-this.map.events.on({'moveend':this.updateLink,'changelayer':this.updateLink,'changebaselayer':this.updateLink,scope:this});this.updateLink();return this.div;},updateLink:function(){var separator=this.anchor?'#':'?';var href=this.base;if(href.indexOf(separator)!=-1){href=href.substring(0,href.indexOf(separator));}
-href+=separator+OpenLayers.Util.getParameterString(this.createParams());if(this.anchor&&!this.element){window.location.href=href;}
-else{this.element.href=href;}},createParams:function(center,zoom,layers){center=center||this.map.getCenter();var params=OpenLayers.Util.getParameters(this.base);if(center){params.zoom=zoom||this.map.getZoom();var lat=center.lat;var lon=center.lon;if(this.displayProjection){var mapPosition=OpenLayers.Projection.transform({x:lon,y:lat},this.map.getProjectionObject(),this.displayProjection);lon=mapPosition.x;lat=mapPosition.y;}
-params.lat=Math.round(lat*100000)/100000;params.lon=Math.round(lon*100000)/100000;layers=layers||this.map.layers;params.layers='';for(var i=0,len=layers.length;i<len;i++){var layer=layers[i];if(layer.isBaseLayer){params.layers+=(layer==this.map.baseLayer)?"B":"0";}else{params.layers+=(layer.getVisibility())?"T":"F";}}}
-return params;},CLASS_NAME:"OpenLayers.Control.Permalink"});OpenLayers.Strategy=OpenLayers.Class({layer:null,options:null,active:null,autoActivate:true,autoDestroy:true,initialize:function(options){OpenLayers.Util.extend(this,options);this.options=options;this.active=false;},destroy:function(){this.deactivate();this.layer=null;this.options=null;},setLayer:function(layer){this.layer=layer;},activate:function(){if(!this.active){this.active=true;return true;}
-return false;},deactivate:function(){if(this.active){this.active=false;return true;}
-return false;},CLASS_NAME:"OpenLayers.Strategy"});OpenLayers.Strategy.Fixed=OpenLayers.Class(OpenLayers.Strategy,{preload:false,activate:function(){if(OpenLayers.Strategy.prototype.activate.apply(this,arguments)){this.layer.events.on({"refresh":this.load,scope:this});if(this.layer.visibility==true||this.preload){this.load();}else{this.layer.events.on({"visibilitychanged":this.load,scope:this});}
-return true;}
-return false;},deactivate:function(){var deactivated=OpenLayers.Strategy.prototype.deactivate.call(this);if(deactivated){this.layer.events.un({"refresh":this.load,"visibilitychanged":this.load,scope:this});}
-return deactivated;},load:function(options){var layer=this.layer;layer.events.triggerEvent("loadstart");layer.protocol.read(OpenLayers.Util.applyDefaults({callback:OpenLayers.Function.bind(this.merge,this,layer.map.getProjectionObject()),filter:layer.filter},options));layer.events.un({"visibilitychanged":this.load,scope:this});},merge:function(mapProjection,resp){var layer=this.layer;layer.destroyFeatures();var features=resp.features;if(features&&features.length>0){if(!mapProjection.equals(layer.projection)){var geom;for(var i=0,len=features.length;i<len;++i){geom=features[i].geometry;if(geom){geom.transform(layer.projection,mapProjection);}}}
-layer.addFeatures(features);}
-layer.events.triggerEvent("loadend");},CLASS_NAME:"OpenLayers.Strategy.Fixed"});OpenLayers.Date={toISOString:(function(){if("toISOString"in Date.prototype){return function(date){return date.toISOString();};}else{function pad(num,len){var str=num+"";while(str.length<len){str="0"+str;}
-return str;}
-return function(date){var str;if(isNaN(date.getTime())){str="Invalid Date";}else{str=date.getUTCFullYear()+"-"+
-pad(date.getUTCMonth()+1,2)+"-"+
-pad(date.getUTCDate(),2)+"T"+
-pad(date.getUTCHours(),2)+":"+
-pad(date.getUTCMinutes(),2)+":"+
-pad(date.getUTCSeconds(),2)+"."+
-pad(date.getUTCMilliseconds(),3)+"Z";}
-return str;};}})(),parse:function(str){var date;var match=str.match(/^(?:(\d{4})(?:-(\d{2})(?:-(\d{2}))?)?)?(?:T(\d{1,2}):(\d{2}):(\d{2}(?:\.\d+)?)(Z|(?:[+-]\d{1,2}(?::(\d{2}))?)))?$/);if(match&&(match[1]||match[7])){var year=parseInt(match[1],10)||0;var month=(parseInt(match[2],10)-1)||0;var day=parseInt(match[3],10)||1;date=new Date(Date.UTC(year,month,day));var type=match[7];if(type){var hours=parseInt(match[4],10);var minutes=parseInt(match[5],10);var secFrac=parseFloat(match[6]);var seconds=secFrac|0;var milliseconds=Math.round(1000*(secFrac-seconds));date.setUTCHours(hours,minutes,seconds,milliseconds);if(type!=="Z"){var hoursOffset=parseInt(type,10);var minutesOffset=parseInt(match[8],10)||0;var offset=-1000*(60*(hoursOffset*60)+minutesOffset*60);date=new Date(date.getTime()+offset);}}}else{date=new Date("invalid");}
-return date;}};OpenLayers.Format.XML=OpenLayers.Class(OpenLayers.Format,{namespaces:null,namespaceAlias:null,defaultPrefix:null,readers:{},writers:{},xmldom:null,initialize:function(options){if(window.ActiveXObject){this.xmldom=new ActiveXObject("Microsoft.XMLDOM");}
-OpenLayers.Format.prototype.initialize.apply(this,[options]);this.namespaces=OpenLayers.Util.extend({},this.namespaces);this.namespaceAlias={};for(var alias in this.namespaces){this.namespaceAlias[this.namespaces[alias]]=alias;}},destroy:function(){this.xmldom=null;OpenLayers.Format.prototype.destroy.apply(this,arguments);},setNamespace:function(alias,uri){this.namespaces[alias]=uri;this.namespaceAlias[uri]=alias;},read:function(text){var index=text.indexOf('<');if(index>0){text=text.substring(index);}
-var node=OpenLayers.Util.Try(OpenLayers.Function.bind((function(){var xmldom;if(window.ActiveXObject&&!this.xmldom){xmldom=new ActiveXObject("Microsoft.XMLDOM");}else{xmldom=this.xmldom;}
-xmldom.loadXML(text);return xmldom;}),this),function(){return new DOMParser().parseFromString(text,'text/xml');},function(){var req=new XMLHttpRequest();req.open("GET","data:"+"text/xml"+";charset=utf-8,"+encodeURIComponent(text),false);if(req.overrideMimeType){req.overrideMimeType("text/xml");}
-req.send(null);return req.responseXML;});if(this.keepData){this.data=node;}
-return node;},write:function(node){var data;if(this.xmldom){data=node.xml;}else{var serializer=new XMLSerializer();if(node.nodeType==1){var doc=document.implementation.createDocument("","",null);if(doc.importNode){node=doc.importNode(node,true);}
-doc.appendChild(node);data=serializer.serializeToString(doc);}else{data=serializer.serializeToString(node);}}
-return data;},createElementNS:function(uri,name){var element;if(this.xmldom){if(typeof uri=="string"){element=this.xmldom.createNode(1,name,uri);}else{element=this.xmldom.createNode(1,name,"");}}else{element=document.createElementNS(uri,name);}
-return element;},createTextNode:function(text){var node;if(typeof text!=="string"){text=String(text);}
-if(this.xmldom){node=this.xmldom.createTextNode(text);}else{node=document.createTextNode(text);}
-return node;},getElementsByTagNameNS:function(node,uri,name){var elements=[];if(node.getElementsByTagNameNS){elements=node.getElementsByTagNameNS(uri,name);}else{var allNodes=node.getElementsByTagName("*");var potentialNode,fullName;for(var i=0,len=allNodes.length;i<len;++i){potentialNode=allNodes[i];fullName=(potentialNode.prefix)?(potentialNode.prefix+":"+name):name;if((name=="*")||(fullName==potentialNode.nodeName)){if((uri=="*")||(uri==potentialNode.namespaceURI)){elements.push(potentialNode);}}}}
-return elements;},getAttributeNodeNS:function(node,uri,name){var attributeNode=null;if(node.getAttributeNodeNS){attributeNode=node.getAttributeNodeNS(uri,name);}else{var attributes=node.attributes;var potentialNode,fullName;for(var i=0,len=attributes.length;i<len;++i){potentialNode=attributes[i];if(potentialNode.namespaceURI==uri){fullName=(potentialNode.prefix)?(potentialNode.prefix+":"+name):name;if(fullName==potentialNode.nodeName){attributeNode=potentialNode;break;}}}}
-return attributeNode;},getAttributeNS:function(node,uri,name){var attributeValue="";if(node.getAttributeNS){attributeValue=node.getAttributeNS(uri,name)||"";}else{var attributeNode=this.getAttributeNodeNS(node,uri,name);if(attributeNode){attributeValue=attributeNode.nodeValue;}}
-return attributeValue;},getChildValue:function(node,def){var value=def||"";if(node){for(var child=node.firstChild;child;child=child.nextSibling){switch(child.nodeType){case 3:case 4:value+=child.nodeValue;}}}
-return value;},concatChildValues:function(node,def){var value="";var child=node.firstChild;var childValue;while(child){childValue=child.nodeValue;if(childValue){value+=childValue;}
-child=child.nextSibling;}
-if(value==""&&def!=undefined){value=def;}
-return value;},isSimpleContent:function(node){var simple=true;for(var child=node.firstChild;child;child=child.nextSibling){if(child.nodeType===1){simple=false;break;}}
-return simple;},contentType:function(node){var simple=false,complex=false;var type=OpenLayers.Format.XML.CONTENT_TYPE.EMPTY;for(var child=node.firstChild;child;child=child.nextSibling){switch(child.nodeType){case 1:complex=true;break;case 8:break;default:simple=true;}
-if(complex&&simple){break;}}
-if(complex&&simple){type=OpenLayers.Format.XML.CONTENT_TYPE.MIXED;}else if(complex){return OpenLayers.Format.XML.CONTENT_TYPE.COMPLEX;}else if(simple){return OpenLayers.Format.XML.CONTENT_TYPE.SIMPLE;}
-return type;},hasAttributeNS:function(node,uri,name){var found=false;if(node.hasAttributeNS){found=node.hasAttributeNS(uri,name);}else{found=!!this.getAttributeNodeNS(node,uri,name);}
-return found;},setAttributeNS:function(node,uri,name,value){if(node.setAttributeNS){node.setAttributeNS(uri,name,value);}else{if(this.xmldom){if(uri){var attribute=node.ownerDocument.createNode(2,name,uri);attribute.nodeValue=value;node.setAttributeNode(attribute);}else{node.setAttribute(name,value);}}else{throw"setAttributeNS not implemented";}}},createElementNSPlus:function(name,options){options=options||{};var uri=options.uri||this.namespaces[options.prefix];if(!uri){var loc=name.indexOf(":");uri=this.namespaces[name.substring(0,loc)];}
-if(!uri){uri=this.namespaces[this.defaultPrefix];}
-var node=this.createElementNS(uri,name);if(options.attributes){this.setAttributes(node,options.attributes);}
-var value=options.value;if(value!=null){node.appendChild(this.createTextNode(value));}
-return node;},setAttributes:function(node,obj){var value,uri;for(var name in obj){if(obj[name]!=null&&obj[name].toString){value=obj[name].toString();uri=this.namespaces[name.substring(0,name.indexOf(":"))]||null;this.setAttributeNS(node,uri,name,value);}}},readNode:function(node,obj){if(!obj){obj={};}
-var group=this.readers[node.namespaceURI?this.namespaceAlias[node.namespaceURI]:this.defaultPrefix];if(group){var local=node.localName||node.nodeName.split(":").pop();var reader=group[local]||group["*"];if(reader){reader.apply(this,[node,obj]);}}
-return obj;},readChildNodes:function(node,obj){if(!obj){obj={};}
-var children=node.childNodes;var child;for(var i=0,len=children.length;i<len;++i){child=children[i];if(child.nodeType==1){this.readNode(child,obj);}}
-return obj;},writeNode:function(name,obj,parent){var prefix,local;var split=name.indexOf(":");if(split>0){prefix=name.substring(0,split);local=name.substring(split+1);}else{if(parent){prefix=this.namespaceAlias[parent.namespaceURI];}else{prefix=this.defaultPrefix;}
-local=name;}
-var child=this.writers[prefix][local].apply(this,[obj]);if(parent){parent.appendChild(child);}
-return child;},getChildEl:function(node,name,uri){return node&&this.getThisOrNextEl(node.firstChild,name,uri);},getNextEl:function(node,name,uri){return node&&this.getThisOrNextEl(node.nextSibling,name,uri);},getThisOrNextEl:function(node,name,uri){outer:for(var sibling=node;sibling;sibling=sibling.nextSibling){switch(sibling.nodeType){case 1:if((!name||name===(sibling.localName||sibling.nodeName.split(":").pop()))&&(!uri||uri===sibling.namespaceURI)){break outer;}
-sibling=null;break outer;case 3:if(/^\s*$/.test(sibling.nodeValue)){break;}
-case 4:case 6:case 12:case 10:case 11:sibling=null;break outer;}}
-return sibling||null;},lookupNamespaceURI:function(node,prefix){var uri=null;if(node){if(node.lookupNamespaceURI){uri=node.lookupNamespaceURI(prefix);}else{outer:switch(node.nodeType){case 1:if(node.namespaceURI!==null&&node.prefix===prefix){uri=node.namespaceURI;break outer;}
-var len=node.attributes.length;if(len){var attr;for(var i=0;i<len;++i){attr=node.attributes[i];if(attr.prefix==="xmlns"&&attr.name==="xmlns:"+prefix){uri=attr.value||null;break outer;}else if(attr.name==="xmlns"&&prefix===null){uri=attr.value||null;break outer;}}}
-uri=this.lookupNamespaceURI(node.parentNode,prefix);break outer;case 2:uri=this.lookupNamespaceURI(node.ownerElement,prefix);break outer;case 9:uri=this.lookupNamespaceURI(node.documentElement,prefix);break outer;case 6:case 12:case 10:case 11:break outer;default:uri=this.lookupNamespaceURI(node.parentNode,prefix);break outer;}}}
-return uri;},getXMLDoc:function(){if(!OpenLayers.Format.XML.document&&!this.xmldom){if(document.implementation&&document.implementation.createDocument){OpenLayers.Format.XML.document=document.implementation.createDocument("","",null);}else if(!this.xmldom&&window.ActiveXObject){this.xmldom=new ActiveXObject("Microsoft.XMLDOM");}}
-return OpenLayers.Format.XML.document||this.xmldom;},CLASS_NAME:"OpenLayers.Format.XML"});OpenLayers.Format.XML.CONTENT_TYPE={EMPTY:0,SIMPLE:1,COMPLEX:2,MIXED:3};OpenLayers.Format.XML.lookupNamespaceURI=OpenLayers.Function.bind(OpenLayers.Format.XML.prototype.lookupNamespaceURI,OpenLayers.Format.XML.prototype);OpenLayers.Format.XML.document=null;OpenLayers.Geometry.Polygon=OpenLayers.Class(OpenLayers.Geometry.Collection,{componentTypes:["OpenLayers.Geometry.LinearRing"],initialize:function(components){OpenLayers.Geometry.Collection.prototype.initialize.apply(this,arguments);},getArea:function(){var area=0.0;if(this.components&&(this.components.length>0)){area+=Math.abs(this.components[0].getArea());for(var i=1,len=this.components.length;i<len;i++){area-=Math.abs(this.components[i].getArea());}}
-return area;},getGeodesicArea:function(projection){var area=0.0;if(this.components&&(this.components.length>0)){area+=Math.abs(this.components[0].getGeodesicArea(projection));for(var i=1,len=this.components.length;i<len;i++){area-=Math.abs(this.components[i].getGeodesicArea(projection));}}
-return area;},containsPoint:function(point){var numRings=this.components.length;var contained=false;if(numRings>0){contained=this.components[0].containsPoint(point);if(contained!==1){if(contained&&numRings>1){var hole;for(var i=1;i<numRings;++i){hole=this.components[i].containsPoint(point);if(hole){if(hole===1){contained=1;}else{contained=false;}
-break;}}}}}
-return contained;},intersects:function(geometry){var intersect=false;var i,len;if(geometry.CLASS_NAME=="OpenLayers.Geometry.Point"){intersect=this.containsPoint(geometry);}else if(geometry.CLASS_NAME=="OpenLayers.Geometry.LineString"||geometry.CLASS_NAME=="OpenLayers.Geometry.LinearRing"){for(i=0,len=this.components.length;i<len;++i){intersect=geometry.intersects(this.components[i]);if(intersect){break;}}
-if(!intersect){for(i=0,len=geometry.components.length;i<len;++i){intersect=this.containsPoint(geometry.components[i]);if(intersect){break;}}}}else{for(i=0,len=geometry.components.length;i<len;++i){intersect=this.intersects(geometry.components[i]);if(intersect){break;}}}
-if(!intersect&&geometry.CLASS_NAME=="OpenLayers.Geometry.Polygon"){var ring=this.components[0];for(i=0,len=ring.components.length;i<len;++i){intersect=geometry.containsPoint(ring.components[i]);if(intersect){break;}}}
-return intersect;},distanceTo:function(geometry,options){var edge=!(options&&options.edge===false);var result;if(!edge&&this.intersects(geometry)){result=0;}else{result=OpenLayers.Geometry.Collection.prototype.distanceTo.apply(this,[geometry,options]);}
-return result;},CLASS_NAME:"OpenLayers.Geometry.Polygon"});OpenLayers.Geometry.Polygon.createRegularPolygon=function(origin,radius,sides,rotation){var angle=Math.PI*((1/sides)-(1/2));if(rotation){angle+=(rotation/180)*Math.PI;}
-var rotatedAngle,x,y;var points=[];for(var i=0;i<sides;++i){rotatedAngle=angle+(i*2*Math.PI/sides);x=origin.x+(radius*Math.cos(rotatedAngle));y=origin.y+(radius*Math.sin(rotatedAngle));points.push(new OpenLayers.Geometry.Point(x,y));}
-var ring=new OpenLayers.Geometry.LinearRing(points);return new OpenLayers.Geometry.Polygon([ring]);};OpenLayers.Request={DEFAULT_CONFIG:{method:"GET",url:window.location.href,async:true,user:undefined,password:undefined,params:null,proxy:OpenLayers.ProxyHost,headers:{},data:null,callback:function(){},success:null,failure:null,scope:null},URL_SPLIT_REGEX:/([^:]*:)\/\/([^:]*:?[^@]*@)?([^:\/\?]*):?([^\/\?]*)/,events:new OpenLayers.Events(this,null,["complete","success","failure"]),issue:function(config){var defaultConfig=OpenLayers.Util.extend(this.DEFAULT_CONFIG,{proxy:OpenLayers.ProxyHost});config=OpenLayers.Util.applyDefaults(config,defaultConfig);var request=new OpenLayers.Request.XMLHttpRequest();var url=OpenLayers.Util.urlAppend(config.url,OpenLayers.Util.getParameterString(config.params||{}));var sameOrigin=!(url.indexOf("http")==0);var urlParts=!sameOrigin&&url.match(this.URL_SPLIT_REGEX);if(urlParts){var location=window.location;sameOrigin=urlParts[1]==location.protocol&&urlParts[3]==location.hostname;var uPort=urlParts[4],lPort=location.port;if(uPort!=80&&uPort!=""||lPort!="80"&&lPort!=""){sameOrigin=sameOrigin&&uPort==lPort;}}
-if(!sameOrigin){if(config.proxy){if(typeof config.proxy=="function"){url=config.proxy(url);}else{url=config.proxy+encodeURIComponent(url);}}else{OpenLayers.Console.warn(OpenLayers.i18n("proxyNeeded"),{url:url});}}
-request.open(config.method,url,config.async,config.user,config.password);for(var header in config.headers){request.setRequestHeader(header,config.headers[header]);}
-var events=this.events;var self=this;request.onreadystatechange=function(){if(request.readyState==OpenLayers.Request.XMLHttpRequest.DONE){var proceed=events.triggerEvent("complete",{request:request,config:config,requestUrl:url});if(proceed!==false){self.runCallbacks({request:request,config:config,requestUrl:url});}}};if(config.async===false){request.send(config.data);}else{window.setTimeout(function(){if(request.readyState!==0){request.send(config.data);}},0);}
-return request;},runCallbacks:function(options){var request=options.request;var config=options.config;var complete=(config.scope)?OpenLayers.Function.bind(config.callback,config.scope):config.callback;var success;if(config.success){success=(config.scope)?OpenLayers.Function.bind(config.success,config.scope):config.success;}
-var failure;if(config.failure){failure=(config.scope)?OpenLayers.Function.bind(config.failure,config.scope):config.failure;}
-if(OpenLayers.Util.createUrlObject(config.url).protocol=="file:"&&request.responseText){request.status=200;}
-complete(request);if(!request.status||(request.status>=200&&request.status<300)){this.events.triggerEvent("success",options);if(success){success(request);}}
-if(request.status&&(request.status<200||request.status>=300)){this.events.triggerEvent("failure",options);if(failure){failure(request);}}},GET:function(config){config=OpenLayers.Util.extend(config,{method:"GET"});return OpenLayers.Request.issue(config);},POST:function(config){config=OpenLayers.Util.extend(config,{method:"POST"});config.headers=config.headers?config.headers:{};if(!("CONTENT-TYPE"in OpenLayers.Util.upperCaseObject(config.headers))){config.headers["Content-Type"]="application/xml";}
-return OpenLayers.Request.issue(config);},PUT:function(config){config=OpenLayers.Util.extend(config,{method:"PUT"});config.headers=config.headers?config.headers:{};if(!("CONTENT-TYPE"in OpenLayers.Util.upperCaseObject(config.headers))){config.headers["Content-Type"]="application/xml";}
-return OpenLayers.Request.issue(config);},DELETE:function(config){config=OpenLayers.Util.extend(config,{method:"DELETE"});return OpenLayers.Request.issue(config);},HEAD:function(config){config=OpenLayers.Util.extend(config,{method:"HEAD"});return OpenLayers.Request.issue(config);},OPTIONS:function(config){config=OpenLayers.Util.extend(config,{method:"OPTIONS"});return OpenLayers.Request.issue(config);}};(function(){var oXMLHttpRequest=window.XMLHttpRequest;var bGecko=!!window.controllers,bIE=window.document.all&&!window.opera,bIE7=bIE&&window.navigator.userAgent.match(/MSIE 7.0/);function fXMLHttpRequest(){this._object=oXMLHttpRequest&&!bIE7?new oXMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");this._listeners=[];};function cXMLHttpRequest(){return new fXMLHttpRequest;};cXMLHttpRequest.prototype=fXMLHttpRequest.prototype;if(bGecko&&oXMLHttpRequest.wrapped)
-cXMLHttpRequest.wrapped=oXMLHttpRequest.wrapped;cXMLHttpRequest.UNSENT=0;cXMLHttpRequest.OPENED=1;cXMLHttpRequest.HEADERS_RECEIVED=2;cXMLHttpRequest.LOADING=3;cXMLHttpRequest.DONE=4;cXMLHttpRequest.prototype.readyState=cXMLHttpRequest.UNSENT;cXMLHttpRequest.prototype.responseText='';cXMLHttpRequest.prototype.responseXML=null;cXMLHttpRequest.prototype.status=0;cXMLHttpRequest.prototype.statusText='';cXMLHttpRequest.prototype.priority="NORMAL";cXMLHttpRequest.prototype.onreadystatechange=null;cXMLHttpRequest.onreadystatechange=null;cXMLHttpRequest.onopen=null;cXMLHttpRequest.onsend=null;cXMLHttpRequest.onabort=null;cXMLHttpRequest.prototype.open=function(sMethod,sUrl,bAsync,sUser,sPassword){delete this._headers;if(arguments.length<3)
-bAsync=true;this._async=bAsync;var oRequest=this,nState=this.readyState,fOnUnload;if(bIE&&bAsync){fOnUnload=function(){if(nState!=cXMLHttpRequest.DONE){fCleanTransport(oRequest);oRequest.abort();}};window.attachEvent("onunload",fOnUnload);}
-if(cXMLHttpRequest.onopen)
-cXMLHttpRequest.onopen.apply(this,arguments);if(arguments.length>4)
-this._object.open(sMethod,sUrl,bAsync,sUser,sPassword);else
-if(arguments.length>3)
-this._object.open(sMethod,sUrl,bAsync,sUser);else
-this._object.open(sMethod,sUrl,bAsync);this.readyState=cXMLHttpRequest.OPENED;fReadyStateChange(this);this._object.onreadystatechange=function(){if(bGecko&&!bAsync)
-return;oRequest.readyState=oRequest._object.readyState;fSynchronizeValues(oRequest);if(oRequest._aborted){oRequest.readyState=cXMLHttpRequest.UNSENT;return;}
-if(oRequest.readyState==cXMLHttpRequest.DONE){delete oRequest._data;fCleanTransport(oRequest);if(bIE&&bAsync)
-window.detachEvent("onunload",fOnUnload);}
-if(nState!=oRequest.readyState)
-fReadyStateChange(oRequest);nState=oRequest.readyState;}};function fXMLHttpRequest_send(oRequest){oRequest._object.send(oRequest._data);if(bGecko&&!oRequest._async){oRequest.readyState=cXMLHttpRequest.OPENED;fSynchronizeValues(oRequest);while(oRequest.readyState<cXMLHttpRequest.DONE){oRequest.readyState++;fReadyStateChange(oRequest);if(oRequest._aborted)
-return;}}};cXMLHttpRequest.prototype.send=function(vData){if(cXMLHttpRequest.onsend)
-cXMLHttpRequest.onsend.apply(this,arguments);if(!arguments.length)
-vData=null;if(vData&&vData.nodeType){vData=window.XMLSerializer?new window.XMLSerializer().serializeToString(vData):vData.xml;if(!oRequest._headers["Content-Type"])
-oRequest._object.setRequestHeader("Content-Type","application/xml");}
-this._data=vData;fXMLHttpRequest_send(this);};cXMLHttpRequest.prototype.abort=function(){if(cXMLHttpRequest.onabort)
-cXMLHttpRequest.onabort.apply(this,arguments);if(this.readyState>cXMLHttpRequest.UNSENT)
-this._aborted=true;this._object.abort();fCleanTransport(this);this.readyState=cXMLHttpRequest.UNSENT;delete this._data;};cXMLHttpRequest.prototype.getAllResponseHeaders=function(){return this._object.getAllResponseHeaders();};cXMLHttpRequest.prototype.getResponseHeader=function(sName){return this._object.getResponseHeader(sName);};cXMLHttpRequest.prototype.setRequestHeader=function(sName,sValue){if(!this._headers)
-this._headers={};this._headers[sName]=sValue;return this._object.setRequestHeader(sName,sValue);};cXMLHttpRequest.prototype.addEventListener=function(sName,fHandler,bUseCapture){for(var nIndex=0,oListener;oListener=this._listeners[nIndex];nIndex++)
-if(oListener[0]==sName&&oListener[1]==fHandler&&oListener[2]==bUseCapture)
-return;this._listeners.push([sName,fHandler,bUseCapture]);};cXMLHttpRequest.prototype.removeEventListener=function(sName,fHandler,bUseCapture){for(var nIndex=0,oListener;oListener=this._listeners[nIndex];nIndex++)
-if(oListener[0]==sName&&oListener[1]==fHandler&&oListener[2]==bUseCapture)
-break;if(oListener)
-this._listeners.splice(nIndex,1);};cXMLHttpRequest.prototype.dispatchEvent=function(oEvent){var oEventPseudo={'type':oEvent.type,'target':this,'currentTarget':this,'eventPhase':2,'bubbles':oEvent.bubbles,'cancelable':oEvent.cancelable,'timeStamp':oEvent.timeStamp,'stopPropagation':function(){},'preventDefault':function(){},'initEvent':function(){}};if(oEventPseudo.type=="readystatechange"&&this.onreadystatechange)
-(this.onreadystatechange.handleEvent||this.onreadystatechange).apply(this,[oEventPseudo]);for(var nIndex=0,oListener;oListener=this._listeners[nIndex];nIndex++)
-if(oListener[0]==oEventPseudo.type&&!oListener[2])
-(oListener[1].handleEvent||oListener[1]).apply(this,[oEventPseudo]);};cXMLHttpRequest.prototype.toString=function(){return'['+"object"+' '+"XMLHttpRequest"+']';};cXMLHttpRequest.toString=function(){return'['+"XMLHttpRequest"+']';};function fReadyStateChange(oRequest){if(cXMLHttpRequest.onreadystatechange)
-cXMLHttpRequest.onreadystatechange.apply(oRequest);oRequest.dispatchEvent({'type':"readystatechange",'bubbles':false,'cancelable':false,'timeStamp':new Date+0});};function fGetDocument(oRequest){var oDocument=oRequest.responseXML,sResponse=oRequest.responseText;if(bIE&&sResponse&&oDocument&&!oDocument.documentElement&&oRequest.getResponseHeader("Content-Type").match(/[^\/]+\/[^\+]+\+xml/)){oDocument=new window.ActiveXObject("Microsoft.XMLDOM");oDocument.async=false;oDocument.validateOnParse=false;oDocument.loadXML(sResponse);}
-if(oDocument)
-if((bIE&&oDocument.parseError!=0)||!oDocument.documentElement||(oDocument.documentElement&&oDocument.documentElement.tagName=="parsererror"))
-return null;return oDocument;};function fSynchronizeValues(oRequest){try{oRequest.responseText=oRequest._object.responseText;}catch(e){}
-try{oRequest.responseXML=fGetDocument(oRequest._object);}catch(e){}
-try{oRequest.status=oRequest._object.status;}catch(e){}
-try{oRequest.statusText=oRequest._object.statusText;}catch(e){}};function fCleanTransport(oRequest){oRequest._object.onreadystatechange=new window.Function;};if(!window.Function.prototype.apply){window.Function.prototype.apply=function(oRequest,oArguments){if(!oArguments)
-oArguments=[];oRequest.__func=this;oRequest.__func(oArguments[0],oArguments[1],oArguments[2],oArguments[3],oArguments[4]);delete oRequest.__func;};};OpenLayers.Request.XMLHttpRequest=cXMLHttpRequest;})();OpenLayers.Projection=OpenLayers.Class({proj:null,projCode:null,titleRegEx:/\+title=[^\+]*/,initialize:function(projCode,options){OpenLayers.Util.extend(this,options);this.projCode=projCode;if(window.Proj4js){this.proj=new Proj4js.Proj(projCode);}},getCode:function(){return this.proj?this.proj.srsCode:this.projCode;},getUnits:function(){return this.proj?this.proj.units:null;},toString:function(){return this.getCode();},equals:function(projection){var p=projection,equals=false;if(p){if(window.Proj4js&&this.proj.defData&&p.proj.defData){equals=this.proj.defData.replace(this.titleRegEx,"")==p.proj.defData.replace(this.titleRegEx,"");}else if(p.getCode){var source=this.getCode(),target=p.getCode();equals=source==target||!!OpenLayers.Projection.transforms[source]&&OpenLayers.Projection.transforms[source][target]===OpenLayers.Projection.nullTransform;}}
-return equals;},destroy:function(){delete this.proj;delete this.projCode;},CLASS_NAME:"OpenLayers.Projection"});OpenLayers.Projection.transforms={};OpenLayers.Projection.addTransform=function(from,to,method){if(!OpenLayers.Projection.transforms[from]){OpenLayers.Projection.transforms[from]={};}
-OpenLayers.Projection.transforms[from][to]=method;};OpenLayers.Projection.transform=function(point,source,dest){if(source.proj&&dest.proj){point=Proj4js.transform(source.proj,dest.proj,point);}else if(source&&dest&&OpenLayers.Projection.transforms[source.getCode()]&&OpenLayers.Projection.transforms[source.getCode()][dest.getCode()]){OpenLayers.Projection.transforms[source.getCode()][dest.getCode()](point);}
-return point;};OpenLayers.Projection.nullTransform=function(point){return point;};OpenLayers.Format.KML=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{kml:"http://www.opengis.net/kml/2.2",gx:"http://www.google.com/kml/ext/2.2"},kmlns:"http://earth.google.com/kml/2.0",placemarksDesc:"No description available",foldersName:"OpenLayers export",foldersDesc:"Exported on "+new Date(),extractAttributes:true,extractStyles:false,extractTracks:false,trackAttributes:null,internalns:null,features:null,styles:null,styleBaseUrl:"",fetched:null,maxDepth:0,initialize:function(options){this.regExes={trimSpace:(/^\s*|\s*$/g),removeSpace:(/\s*/g),splitSpace:(/\s+/),trimComma:(/\s*,\s*/g),kmlColor:(/(\w{2})(\w{2})(\w{2})(\w{2})/),kmlIconPalette:(/root:\/\/icons\/palette-(\d+)(\.\w+)/),straightBracket:(/\$\[(.*?)\]/g)};this.externalProjection=new OpenLayers.Projection("EPSG:4326");OpenLayers.Format.XML.prototype.initialize.apply(this,[options]);},read:function(data){this.features=[];this.styles={};this.fetched={};var options={depth:0,styleBaseUrl:this.styleBaseUrl};return this.parseData(data,options);},parseData:function(data,options){if(typeof data=="string"){data=OpenLayers.Format.XML.prototype.read.apply(this,[data]);}
-var types=["Link","NetworkLink","Style","StyleMap","Placemark"];for(var i=0,len=types.length;i<len;++i){var type=types[i];var nodes=this.getElementsByTagNameNS(data,"*",type);if(nodes.length==0){continue;}
-switch(type.toLowerCase()){case"link":case"networklink":this.parseLinks(nodes,options);break;case"style":if(this.extractStyles){this.parseStyles(nodes,options);}
-break;case"stylemap":if(this.extractStyles){this.parseStyleMaps(nodes,options);}
-break;case"placemark":this.parseFeatures(nodes,options);break;}}
-return this.features;},parseLinks:function(nodes,options){if(options.depth>=this.maxDepth){return false;}
-var newOptions=OpenLayers.Util.extend({},options);newOptions.depth++;for(var i=0,len=nodes.length;i<len;i++){var href=this.parseProperty(nodes[i],"*","href");if(href&&!this.fetched[href]){this.fetched[href]=true;var data=this.fetchLink(href);if(data){this.parseData(data,newOptions);}}}},fetchLink:function(href){var request=OpenLayers.Request.GET({url:href,async:false});if(request){return request.responseText;}},parseStyles:function(nodes,options){for(var i=0,len=nodes.length;i<len;i++){var style=this.parseStyle(nodes[i]);if(style){var styleName=(options.styleBaseUrl||"")+"#"+style.id;this.styles[styleName]=style;}}},parseKmlColor:function(kmlColor){var color=null;if(kmlColor){var matches=kmlColor.match(this.regExes.kmlColor);if(matches){color={color:'#'+matches[4]+matches[3]+matches[2],opacity:parseInt(matches[1],16)/255};}}
-return color;},parseStyle:function(node){var style={};var types=["LineStyle","PolyStyle","IconStyle","BalloonStyle","LabelStyle"];var type,styleTypeNode,nodeList,geometry,parser;for(var i=0,len=types.length;i<len;++i){type=types[i];styleTypeNode=this.getElementsByTagNameNS(node,"*",type)[0];if(!styleTypeNode){continue;}
-switch(type.toLowerCase()){case"linestyle":var kmlColor=this.parseProperty(styleTypeNode,"*","color");var color=this.parseKmlColor(kmlColor);if(color){style["strokeColor"]=color.color;style["strokeOpacity"]=color.opacity;}
-var width=this.parseProperty(styleTypeNode,"*","width");if(width){style["strokeWidth"]=width;}
-break;case"polystyle":var kmlColor=this.parseProperty(styleTypeNode,"*","color");var color=this.parseKmlColor(kmlColor);if(color){style["fillOpacity"]=color.opacity;style["fillColor"]=color.color;}
-var fill=this.parseProperty(styleTypeNode,"*","fill");if(fill=="0"){style["fillColor"]="none";}
-var outline=this.parseProperty(styleTypeNode,"*","outline");if(outline=="0"){style["strokeWidth"]="0";}
-break;case"iconstyle":var scale=parseFloat(this.parseProperty(styleTypeNode,"*","scale")||1);var width=32*scale;var height=32*scale;var iconNode=this.getElementsByTagNameNS(styleTypeNode,"*","Icon")[0];if(iconNode){var href=this.parseProperty(iconNode,"*","href");if(href){var w=this.parseProperty(iconNode,"*","w");var h=this.parseProperty(iconNode,"*","h");var google="http://maps.google.com/mapfiles/kml";if(OpenLayers.String.startsWith(href,google)&&!w&&!h){w=64;h=64;scale=scale/2;}
-w=w||h;h=h||w;if(w){width=parseInt(w)*scale;}
-if(h){height=parseInt(h)*scale;}
-var matches=href.match(this.regExes.kmlIconPalette);if(matches){var palette=matches[1];var file_extension=matches[2];var x=this.parseProperty(iconNode,"*","x");var y=this.parseProperty(iconNode,"*","y");var posX=x?x/32:0;var posY=y?(7-y/32):7;var pos=posY*8+posX;href="http://maps.google.com/mapfiles/kml/pal"
-+palette+"/icon"+pos+file_extension;}
-style["graphicOpacity"]=1;style["externalGraphic"]=href;}}
-var hotSpotNode=this.getElementsByTagNameNS(styleTypeNode,"*","hotSpot")[0];if(hotSpotNode){var x=parseFloat(hotSpotNode.getAttribute("x"));var y=parseFloat(hotSpotNode.getAttribute("y"));var xUnits=hotSpotNode.getAttribute("xunits");if(xUnits=="pixels"){style["graphicXOffset"]=-x*scale;}
-else if(xUnits=="insetPixels"){style["graphicXOffset"]=-width+(x*scale);}
-else if(xUnits=="fraction"){style["graphicXOffset"]=-width*x;}
-var yUnits=hotSpotNode.getAttribute("yunits");if(yUnits=="pixels"){style["graphicYOffset"]=-height+(y*scale)+1;}
-else if(yUnits=="insetPixels"){style["graphicYOffset"]=-(y*scale)+1;}
-else if(yUnits=="fraction"){style["graphicYOffset"]=-height*(1-y)+1;}}
-style["graphicWidth"]=width;style["graphicHeight"]=height;break;case"balloonstyle":var balloonStyle=OpenLayers.Util.getXmlNodeValue(styleTypeNode);if(balloonStyle){style["balloonStyle"]=balloonStyle.replace(this.regExes.straightBracket,"${$1}");}
-break;case"labelstyle":var kmlColor=this.parseProperty(styleTypeNode,"*","color");var color=this.parseKmlColor(kmlColor);if(color){style["fontColor"]=color.color;style["fontOpacity"]=color.opacity;}
-break;default:}}
-if(!style["strokeColor"]&&style["fillColor"]){style["strokeColor"]=style["fillColor"];}
-var id=node.getAttribute("id");if(id&&style){style.id=id;}
-return style;},parseStyleMaps:function(nodes,options){for(var i=0,len=nodes.length;i<len;i++){var node=nodes[i];var pairs=this.getElementsByTagNameNS(node,"*","Pair");var id=node.getAttribute("id");for(var j=0,jlen=pairs.length;j<jlen;j++){var pair=pairs[j];var key=this.parseProperty(pair,"*","key");var styleUrl=this.parseProperty(pair,"*","styleUrl");if(styleUrl&&key=="normal"){this.styles[(options.styleBaseUrl||"")+"#"+id]=this.styles[(options.styleBaseUrl||"")+styleUrl];}
-if(styleUrl&&key=="highlight"){}}}},parseFeatures:function(nodes,options){var features=[];for(var i=0,len=nodes.length;i<len;i++){var featureNode=nodes[i];var feature=this.parseFeature.apply(this,[featureNode]);if(feature){if(this.extractStyles&&feature.attributes&&feature.attributes.styleUrl){feature.style=this.getStyle(feature.attributes.styleUrl,options);}
-if(this.extractStyles){var inlineStyleNode=this.getElementsByTagNameNS(featureNode,"*","Style")[0];if(inlineStyleNode){var inlineStyle=this.parseStyle(inlineStyleNode);if(inlineStyle){feature.style=OpenLayers.Util.extend(feature.style,inlineStyle);}}}
-if(this.extractTracks){var tracks=this.getElementsByTagNameNS(featureNode,this.namespaces.gx,"Track");if(tracks&&tracks.length>0){var track=tracks[0];var container={features:[],feature:feature};this.readNode(track,container);if(container.features.length>0){features.push.apply(features,container.features);}}}else{features.push(feature);}}else{throw"Bad Placemark: "+i;}}
-this.features=this.features.concat(features);},readers:{"kml":{"when":function(node,container){container.whens.push(OpenLayers.Date.parse(this.getChildValue(node)));},"_trackPointAttribute":function(node,container){var name=node.nodeName.split(":").pop();container.attributes[name].push(this.getChildValue(node));}},"gx":{"Track":function(node,container){var obj={whens:[],points:[],angles:[]};if(this.trackAttributes){var name;obj.attributes={};for(var i=0,ii=this.trackAttributes.length;i<ii;++i){name=this.trackAttributes[i];obj.attributes[name]=[];if(!(name in this.readers.kml)){this.readers.kml[name]=this.readers.kml._trackPointAttribute;}}}
-this.readChildNodes(node,obj);if(obj.whens.length!==obj.points.length){throw new Error("gx:Track with unequal number of when ("+obj.whens.length+") and gx:coord ("+obj.points.length+") elements.");}
-var hasAngles=obj.angles.length>0;if(hasAngles&&obj.whens.length!==obj.angles.length){throw new Error("gx:Track with unequal number of when ("+obj.whens.length+") and gx:angles ("+obj.angles.length+") elements.");}
-var feature,point,angles;for(var i=0,ii=obj.whens.length;i<ii;++i){feature=container.feature.clone();feature.fid=container.feature.fid||container.feature.id;point=obj.points[i];feature.geometry=point;if("z"in point){feature.attributes.altitude=point.z;}
-if(this.internalProjection&&this.externalProjection){feature.geometry.transform(this.externalProjection,this.internalProjection);}
-if(this.trackAttributes){for(var j=0,jj=this.trackAttributes.length;j<jj;++j){feature.attributes[name]=obj.attributes[this.trackAttributes[j]][i];}}
-feature.attributes.when=obj.whens[i];feature.attributes.trackId=container.feature.id;if(hasAngles){angles=obj.angles[i];feature.attributes.heading=parseFloat(angles[0]);feature.attributes.tilt=parseFloat(angles[1]);feature.attributes.roll=parseFloat(angles[2]);}
-container.features.push(feature);}},"coord":function(node,container){var str=this.getChildValue(node);var coords=str.replace(this.regExes.trimSpace,"").split(/\s+/);var point=new OpenLayers.Geometry.Point(coords[0],coords[1]);if(coords.length>2){point.z=parseFloat(coords[2]);}
-container.points.push(point);},"angles":function(node,container){var str=this.getChildValue(node);var parts=str.replace(this.regExes.trimSpace,"").split(/\s+/);container.angles.push(parts);}}},parseFeature:function(node){var order=["MultiGeometry","Polygon","LineString","Point"];var type,nodeList,geometry,parser;for(var i=0,len=order.length;i<len;++i){type=order[i];this.internalns=node.namespaceURI?node.namespaceURI:this.kmlns;nodeList=this.getElementsByTagNameNS(node,this.internalns,type);if(nodeList.length>0){var parser=this.parseGeometry[type.toLowerCase()];if(parser){geometry=parser.apply(this,[nodeList[0]]);if(this.internalProjection&&this.externalProjection){geometry.transform(this.externalProjection,this.internalProjection);}}else{OpenLayers.Console.error(OpenLayers.i18n("unsupportedGeometryType",{'geomType':type}));}
-break;}}
-var attributes;if(this.extractAttributes){attributes=this.parseAttributes(node);}
-var feature=new OpenLayers.Feature.Vector(geometry,attributes);var fid=node.getAttribute("id")||node.getAttribute("name");if(fid!=null){feature.fid=fid;}
-return feature;},getStyle:function(styleUrl,options){var styleBaseUrl=OpenLayers.Util.removeTail(styleUrl);var newOptions=OpenLayers.Util.extend({},options);newOptions.depth++;newOptions.styleBaseUrl=styleBaseUrl;if(!this.styles[styleUrl]&&!OpenLayers.String.startsWith(styleUrl,"#")&&newOptions.depth<=this.maxDepth&&!this.fetched[styleBaseUrl]){var data=this.fetchLink(styleBaseUrl);if(data){this.parseData(data,newOptions);}}
-var style=OpenLayers.Util.extend({},this.styles[styleUrl]);return style;},parseGeometry:{point:function(node){var nodeList=this.getElementsByTagNameNS(node,this.internalns,"coordinates");var coords=[];if(nodeList.length>0){var coordString=nodeList[0].firstChild.nodeValue;coordString=coordString.replace(this.regExes.removeSpace,"");coords=coordString.split(",");}
-var point=null;if(coords.length>1){if(coords.length==2){coords[2]=null;}
-point=new OpenLayers.Geometry.Point(coords[0],coords[1],coords[2]);}else{throw"Bad coordinate string: "+coordString;}
-return point;},linestring:function(node,ring){var nodeList=this.getElementsByTagNameNS(node,this.internalns,"coordinates");var line=null;if(nodeList.length>0){var coordString=this.getChildValue(nodeList[0]);coordString=coordString.replace(this.regExes.trimSpace,"");coordString=coordString.replace(this.regExes.trimComma,",");var pointList=coordString.split(this.regExes.splitSpace);var numPoints=pointList.length;var points=new Array(numPoints);var coords,numCoords;for(var i=0;i<numPoints;++i){coords=pointList[i].split(",");numCoords=coords.length;if(numCoords>1){if(coords.length==2){coords[2]=null;}
-points[i]=new OpenLayers.Geometry.Point(coords[0],coords[1],coords[2]);}else{throw"Bad LineString point coordinates: "+
-pointList[i];}}
-if(numPoints){if(ring){line=new OpenLayers.Geometry.LinearRing(points);}else{line=new OpenLayers.Geometry.LineString(points);}}else{throw"Bad LineString coordinates: "+coordString;}}
-return line;},polygon:function(node){var nodeList=this.getElementsByTagNameNS(node,this.internalns,"LinearRing");var numRings=nodeList.length;var components=new Array(numRings);if(numRings>0){var ring;for(var i=0,len=nodeList.length;i<len;++i){ring=this.parseGeometry.linestring.apply(this,[nodeList[i],true]);if(ring){components[i]=ring;}else{throw"Bad LinearRing geometry: "+i;}}}
-return new OpenLayers.Geometry.Polygon(components);},multigeometry:function(node){var child,parser;var parts=[];var children=node.childNodes;for(var i=0,len=children.length;i<len;++i){child=children[i];if(child.nodeType==1){var type=(child.prefix)?child.nodeName.split(":")[1]:child.nodeName;var parser=this.parseGeometry[type.toLowerCase()];if(parser){parts.push(parser.apply(this,[child]));}}}
-return new OpenLayers.Geometry.Collection(parts);}},parseAttributes:function(node){var attributes={};var edNodes=node.getElementsByTagName("ExtendedData");if(edNodes.length){attributes=this.parseExtendedData(edNodes[0]);}
-var child,grandchildren,grandchild;var children=node.childNodes;for(var i=0,len=children.length;i<len;++i){child=children[i];if(child.nodeType==1){grandchildren=child.childNodes;if(grandchildren.length>=1&&grandchildren.length<=3){var grandchild;switch(grandchildren.length){case 1:grandchild=grandchildren[0];break;case 2:var c1=grandchildren[0];var c2=grandchildren[1];grandchild=(c1.nodeType==3||c1.nodeType==4)?c1:c2;break;case 3:default:grandchild=grandchildren[1];break;}
-if(grandchild.nodeType==3||grandchild.nodeType==4){var name=(child.prefix)?child.nodeName.split(":")[1]:child.nodeName;var value=OpenLayers.Util.getXmlNodeValue(grandchild);if(value){value=value.replace(this.regExes.trimSpace,"");attributes[name]=value;}}}}}
-return attributes;},parseExtendedData:function(node){var attributes={};var i,len,data,key;var dataNodes=node.getElementsByTagName("Data");for(i=0,len=dataNodes.length;i<len;i++){data=dataNodes[i];key=data.getAttribute("name");var ed={};var valueNode=data.getElementsByTagName("value");if(valueNode.length){ed['value']=this.getChildValue(valueNode[0]);}
-var nameNode=data.getElementsByTagName("displayName");if(nameNode.length){ed['displayName']=this.getChildValue(nameNode[0]);}
-attributes[key]=ed;}
-var simpleDataNodes=node.getElementsByTagName("SimpleData");for(i=0,len=simpleDataNodes.length;i<len;i++){var ed={};data=simpleDataNodes[i];key=data.getAttribute("name");ed['value']=this.getChildValue(data);ed['displayName']=key;attributes[key]=ed;}
-return attributes;},parseProperty:function(xmlNode,namespace,tagName){var value;var nodeList=this.getElementsByTagNameNS(xmlNode,namespace,tagName);try{value=OpenLayers.Util.getXmlNodeValue(nodeList[0]);}catch(e){value=null;}
-return value;},write:function(features){if(!(OpenLayers.Util.isArray(features))){features=[features];}
-var kml=this.createElementNS(this.kmlns,"kml");var folder=this.createFolderXML();for(var i=0,len=features.length;i<len;++i){folder.appendChild(this.createPlacemarkXML(features[i]));}
-kml.appendChild(folder);return OpenLayers.Format.XML.prototype.write.apply(this,[kml]);},createFolderXML:function(){var folder=this.createElementNS(this.kmlns,"Folder");if(this.foldersName){var folderName=this.createElementNS(this.kmlns,"name");var folderNameText=this.createTextNode(this.foldersName);folderName.appendChild(folderNameText);folder.appendChild(folderName);}
-if(this.foldersDesc){var folderDesc=this.createElementNS(this.kmlns,"description");var folderDescText=this.createTextNode(this.foldersDesc);folderDesc.appendChild(folderDescText);folder.appendChild(folderDesc);}
-return folder;},createPlacemarkXML:function(feature){var placemarkName=this.createElementNS(this.kmlns,"name");var name=feature.style&&feature.style.label?feature.style.label:feature.attributes.name||feature.id;placemarkName.appendChild(this.createTextNode(name));var placemarkDesc=this.createElementNS(this.kmlns,"description");var desc=feature.attributes.description||this.placemarksDesc;placemarkDesc.appendChild(this.createTextNode(desc));var placemarkNode=this.createElementNS(this.kmlns,"Placemark");if(feature.fid!=null){placemarkNode.setAttribute("id",feature.fid);}
-placemarkNode.appendChild(placemarkName);placemarkNode.appendChild(placemarkDesc);var geometryNode=this.buildGeometryNode(feature.geometry);placemarkNode.appendChild(geometryNode);return placemarkNode;},buildGeometryNode:function(geometry){var className=geometry.CLASS_NAME;var type=className.substring(className.lastIndexOf(".")+1);var builder=this.buildGeometry[type.toLowerCase()];var node=null;if(builder){node=builder.apply(this,[geometry]);}
-return node;},buildGeometry:{point:function(geometry){var kml=this.createElementNS(this.kmlns,"Point");kml.appendChild(this.buildCoordinatesNode(geometry));return kml;},multipoint:function(geometry){return this.buildGeometry.collection.apply(this,[geometry]);},linestring:function(geometry){var kml=this.createElementNS(this.kmlns,"LineString");kml.appendChild(this.buildCoordinatesNode(geometry));return kml;},multilinestring:function(geometry){return this.buildGeometry.collection.apply(this,[geometry]);},linearring:function(geometry){var kml=this.createElementNS(this.kmlns,"LinearRing");kml.appendChild(this.buildCoordinatesNode(geometry));return kml;},polygon:function(geometry){var kml=this.createElementNS(this.kmlns,"Polygon");var rings=geometry.components;var ringMember,ringGeom,type;for(var i=0,len=rings.length;i<len;++i){type=(i==0)?"outerBoundaryIs":"innerBoundaryIs";ringMember=this.createElementNS(this.kmlns,type);ringGeom=this.buildGeometry.linearring.apply(this,[rings[i]]);ringMember.appendChild(ringGeom);kml.appendChild(ringMember);}
-return kml;},multipolygon:function(geometry){return this.buildGeometry.collection.apply(this,[geometry]);},collection:function(geometry){var kml=this.createElementNS(this.kmlns,"MultiGeometry");var child;for(var i=0,len=geometry.components.length;i<len;++i){child=this.buildGeometryNode.apply(this,[geometry.components[i]]);if(child){kml.appendChild(child);}}
-return kml;}},buildCoordinatesNode:function(geometry){var coordinatesNode=this.createElementNS(this.kmlns,"coordinates");var path;var points=geometry.components;if(points){var point;var numPoints=points.length;var parts=new Array(numPoints);for(var i=0;i<numPoints;++i){point=points[i];parts[i]=this.buildCoordinates(point);}
-path=parts.join(" ");}else{path=this.buildCoordinates(geometry);}
-var txtNode=this.createTextNode(path);coordinatesNode.appendChild(txtNode);return coordinatesNode;},buildCoordinates:function(point){if(this.internalProjection&&this.externalProjection){point=point.clone();point.transform(this.internalProjection,this.externalProjection);}
-return point.x+","+point.y;},CLASS_NAME:"OpenLayers.Format.KML"});OpenLayers.Style=OpenLayers.Class({id:null,name:null,title:null,description:null,layerName:null,isDefault:false,rules:null,context:null,defaultStyle:null,defaultsPerSymbolizer:false,propertyStyles:null,initialize:function(style,options){OpenLayers.Util.extend(this,options);this.rules=[];if(options&&options.rules){this.addRules(options.rules);}
-this.setDefaultStyle(style||OpenLayers.Feature.Vector.style["default"]);this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_");},destroy:function(){for(var i=0,len=this.rules.length;i<len;i++){this.rules[i].destroy();this.rules[i]=null;}
-this.rules=null;this.defaultStyle=null;},createSymbolizer:function(feature){var style=this.defaultsPerSymbolizer?{}:this.createLiterals(OpenLayers.Util.extend({},this.defaultStyle),feature);var rules=this.rules;var rule,context;var elseRules=[];var appliedRules=false;for(var i=0,len=rules.length;i<len;i++){rule=rules[i];var applies=rule.evaluate(feature);if(applies){if(rule instanceof OpenLayers.Rule&&rule.elseFilter){elseRules.push(rule);}else{appliedRules=true;this.applySymbolizer(rule,style,feature);}}}
-if(appliedRules==false&&elseRules.length>0){appliedRules=true;for(var i=0,len=elseRules.length;i<len;i++){this.applySymbolizer(elseRules[i],style,feature);}}
-if(rules.length>0&&appliedRules==false){style.display="none";}
-if(style.label&&typeof style.label!=="string"){style.label=String(style.label);}
-return style;},applySymbolizer:function(rule,style,feature){var symbolizerPrefix=feature.geometry?this.getSymbolizerPrefix(feature.geometry):OpenLayers.Style.SYMBOLIZER_PREFIXES[0];var symbolizer=rule.symbolizer[symbolizerPrefix]||rule.symbolizer;if(this.defaultsPerSymbolizer===true){var defaults=this.defaultStyle;OpenLayers.Util.applyDefaults(symbolizer,{pointRadius:defaults.pointRadius});if(symbolizer.stroke===true||symbolizer.graphic===true){OpenLayers.Util.applyDefaults(symbolizer,{strokeWidth:defaults.strokeWidth,strokeColor:defaults.strokeColor,strokeOpacity:defaults.strokeOpacity,strokeDashstyle:defaults.strokeDashstyle,strokeLinecap:defaults.strokeLinecap});}
-if(symbolizer.fill===true||symbolizer.graphic===true){OpenLayers.Util.applyDefaults(symbolizer,{fillColor:defaults.fillColor,fillOpacity:defaults.fillOpacity});}
-if(symbolizer.graphic===true){OpenLayers.Util.applyDefaults(symbolizer,{pointRadius:this.defaultStyle.pointRadius,externalGraphic:this.defaultStyle.externalGraphic,graphicName:this.defaultStyle.graphicName,graphicOpacity:this.defaultStyle.graphicOpacity,graphicWidth:this.defaultStyle.graphicWidth,graphicHeight:this.defaultStyle.graphicHeight,graphicXOffset:this.defaultStyle.graphicXOffset,graphicYOffset:this.defaultStyle.graphicYOffset});}}
-return this.createLiterals(OpenLayers.Util.extend(style,symbolizer),feature);},createLiterals:function(style,feature){var context=OpenLayers.Util.extend({},feature.attributes||feature.data);OpenLayers.Util.extend(context,this.context);for(var i in this.propertyStyles){style[i]=OpenLayers.Style.createLiteral(style[i],context,feature,i);}
-return style;},findPropertyStyles:function(){var propertyStyles={};var style=this.defaultStyle;this.addPropertyStyles(propertyStyles,style);var rules=this.rules;var symbolizer,value;for(var i=0,len=rules.length;i<len;i++){symbolizer=rules[i].symbolizer;for(var key in symbolizer){value=symbolizer[key];if(typeof value=="object"){this.addPropertyStyles(propertyStyles,value);}else{this.addPropertyStyles(propertyStyles,symbolizer);break;}}}
-return propertyStyles;},addPropertyStyles:function(propertyStyles,symbolizer){var property;for(var key in symbolizer){property=symbolizer[key];if(typeof property=="string"&&property.match(/\$\{\w+\}/)){propertyStyles[key]=true;}}
-return propertyStyles;},addRules:function(rules){Array.prototype.push.apply(this.rules,rules);this.propertyStyles=this.findPropertyStyles();},setDefaultStyle:function(style){this.defaultStyle=style;this.propertyStyles=this.findPropertyStyles();},getSymbolizerPrefix:function(geometry){var prefixes=OpenLayers.Style.SYMBOLIZER_PREFIXES;for(var i=0,len=prefixes.length;i<len;i++){if(geometry.CLASS_NAME.indexOf(prefixes[i])!=-1){return prefixes[i];}}},clone:function(){var options=OpenLayers.Util.extend({},this);if(this.rules){options.rules=[];for(var i=0,len=this.rules.length;i<len;++i){options.rules.push(this.rules[i].clone());}}
-options.context=this.context&&OpenLayers.Util.extend({},this.context);var defaultStyle=OpenLayers.Util.extend({},this.defaultStyle);return new OpenLayers.Style(defaultStyle,options);},CLASS_NAME:"OpenLayers.Style"});OpenLayers.Style.createLiteral=function(value,context,feature,property){if(typeof value=="string"&&value.indexOf("${")!=-1){value=OpenLayers.String.format(value,context,[feature,property]);value=(isNaN(value)||!value)?value:parseFloat(value);}
-return value;};OpenLayers.Style.SYMBOLIZER_PREFIXES=['Point','Line','Polygon','Text','Raster'];OpenLayers.Filter=OpenLayers.Class({initialize:function(options){OpenLayers.Util.extend(this,options);},destroy:function(){},evaluate:function(context){return true;},clone:function(){return null;},CLASS_NAME:"OpenLayers.Filter"});OpenLayers.Filter.Spatial=OpenLayers.Class(OpenLayers.Filter,{type:null,property:null,value:null,distance:null,distanceUnits:null,initialize:function(options){OpenLayers.Filter.prototype.initialize.apply(this,[options]);},evaluate:function(feature){var intersect=false;switch(this.type){case OpenLayers.Filter.Spatial.BBOX:case OpenLayers.Filter.Spatial.INTERSECTS:if(feature.geometry){var geom=this.value;if(this.value.CLASS_NAME=="OpenLayers.Bounds"){geom=this.value.toGeometry();}
-if(feature.geometry.intersects(geom)){intersect=true;}}
-break;default:OpenLayers.Console.error(OpenLayers.i18n("filterEvaluateNotImplemented"));break;}
-return intersect;},clone:function(){var options=OpenLayers.Util.applyDefaults({value:this.value&&this.value.clone&&this.value.clone()},this);return new OpenLayers.Filter.Spatial(options);},CLASS_NAME:"OpenLayers.Filter.Spatial"});OpenLayers.Filter.Spatial.BBOX="BBOX";OpenLayers.Filter.Spatial.INTERSECTS="INTERSECTS";OpenLayers.Filter.Spatial.DWITHIN="DWITHIN";OpenLayers.Filter.Spatial.WITHIN="WITHIN";OpenLayers.Filter.Spatial.CONTAINS="CONTAINS";OpenLayers.Strategy.BBOX=OpenLayers.Class(OpenLayers.Strategy,{bounds:null,resolution:null,ratio:2,resFactor:null,response:null,activate:function(){var activated=OpenLayers.Strategy.prototype.activate.call(this);if(activated){this.layer.events.on({"moveend":this.update,scope:this});this.layer.events.on({"refresh":this.update,scope:this});if(this.layer.visibility===true&&this.layer.inRange===true){this.update();}else{this.layer.events.on({"visibilitychanged":this.update,scope:this});}}
-return activated;},deactivate:function(){var deactivated=OpenLayers.Strategy.prototype.deactivate.call(this);if(deactivated){this.layer.events.un({"moveend":this.update,"refresh":this.update,"visibilitychanged":this.update,scope:this});}
-return deactivated;},update:function(options){var mapBounds=this.getMapBounds();if(mapBounds!==null&&((options&&options.force)||this.invalidBounds(mapBounds))){this.calculateBounds(mapBounds);this.resolution=this.layer.map.getResolution();this.triggerRead(options);}},getMapBounds:function(){if(this.layer.map===null){return null;}
-var bounds=this.layer.map.getExtent();if(bounds&&!this.layer.projection.equals(this.layer.map.getProjectionObject())){bounds=bounds.clone().transform(this.layer.map.getProjectionObject(),this.layer.projection);}
-return bounds;},invalidBounds:function(mapBounds){if(!mapBounds){mapBounds=this.getMapBounds();}
-var invalid=!this.bounds||!this.bounds.containsBounds(mapBounds);if(!invalid&&this.resFactor){var ratio=this.resolution/this.layer.map.getResolution();invalid=(ratio>=this.resFactor||ratio<=(1/this.resFactor));}
-return invalid;},calculateBounds:function(mapBounds){if(!mapBounds){mapBounds=this.getMapBounds();}
-var center=mapBounds.getCenterLonLat();var dataWidth=mapBounds.getWidth()*this.ratio;var dataHeight=mapBounds.getHeight()*this.ratio;this.bounds=new OpenLayers.Bounds(center.lon-(dataWidth/2),center.lat-(dataHeight/2),center.lon+(dataWidth/2),center.lat+(dataHeight/2));},triggerRead:function(options){if(this.response){this.layer.protocol.abort(this.response);this.layer.events.triggerEvent("loadend");}
-this.layer.events.triggerEvent("loadstart");this.response=this.layer.protocol.read(OpenLayers.Util.applyDefaults({filter:this.createFilter(),callback:this.merge,scope:this},options));},createFilter:function(){var filter=new OpenLayers.Filter.Spatial({type:OpenLayers.Filter.Spatial.BBOX,value:this.bounds,projection:this.layer.projection});if(this.layer.filter){filter=new OpenLayers.Filter.Logical({type:OpenLayers.Filter.Logical.AND,filters:[this.layer.filter,filter]});}
-return filter;},merge:function(resp){this.layer.destroyFeatures();var features=resp.features;if(features&&features.length>0){var remote=this.layer.projection;var local=this.layer.map.getProjectionObject();if(!local.equals(remote)){var geom;for(var i=0,len=features.length;i<len;++i){geom=features[i].geometry;if(geom){geom.transform(remote,local);}}}
-this.layer.addFeatures(features);}
-this.response=null;this.layer.events.triggerEvent("loadend");},CLASS_NAME:"OpenLayers.Strategy.BBOX"});OpenLayers.Handler.Feature=OpenLayers.Class(OpenLayers.Handler,{EVENTMAP:{'click':{'in':'click','out':'clickout'},'mousemove':{'in':'over','out':'out'},'dblclick':{'in':'dblclick','out':null},'mousedown':{'in':null,'out':null},'mouseup':{'in':null,'out':null},'touchstart':{'in':'click','out':'clickout'}},feature:null,lastFeature:null,down:null,up:null,touch:false,clickTolerance:4,geometryTypes:null,stopClick:true,stopDown:true,stopUp:false,initialize:function(control,layer,callbacks,options){OpenLayers.Handler.prototype.initialize.apply(this,[control,callbacks,options]);this.layer=layer;},touchstart:function(evt){if(!this.touch){this.touch=true;this.map.events.un({mousedown:this.mousedown,mouseup:this.mouseup,mousemove:this.mousemove,click:this.click,dblclick:this.dblclick,scope:this});}
-return OpenLayers.Event.isMultiTouch(evt)?true:this.mousedown(evt);},touchmove:function(evt){OpenLayers.Event.stop(evt);},mousedown:function(evt){this.down=evt.xy;return this.handle(evt)?!this.stopDown:true;},mouseup:function(evt){this.up=evt.xy;return this.handle(evt)?!this.stopUp:true;},click:function(evt){return this.handle(evt)?!this.stopClick:true;},mousemove:function(evt){if(!this.callbacks['over']&&!this.callbacks['out']){return true;}
-this.handle(evt);return true;},dblclick:function(evt){return!this.handle(evt);},geometryTypeMatches:function(feature){return this.geometryTypes==null||OpenLayers.Util.indexOf(this.geometryTypes,feature.geometry.CLASS_NAME)>-1;},handle:function(evt){if(this.feature&&!this.feature.layer){this.feature=null;}
-var type=evt.type;var handled=false;var previouslyIn=!!(this.feature);var click=(type=="click"||type=="dblclick"||type=="touchstart");this.feature=this.layer.getFeatureFromEvent(evt);if(this.feature&&!this.feature.layer){this.feature=null;}
-if(this.lastFeature&&!this.lastFeature.layer){this.lastFeature=null;}
-if(this.feature){if(type==="touchstart"){OpenLayers.Event.stop(evt);}
-var inNew=(this.feature!=this.lastFeature);if(this.geometryTypeMatches(this.feature)){if(previouslyIn&&inNew){if(this.lastFeature){this.triggerCallback(type,'out',[this.lastFeature]);}
-this.triggerCallback(type,'in',[this.feature]);}else if(!previouslyIn||click){this.triggerCallback(type,'in',[this.feature]);}
-this.lastFeature=this.feature;handled=true;}else{if(this.lastFeature&&(previouslyIn&&inNew||click)){this.triggerCallback(type,'out',[this.lastFeature]);}
-this.feature=null;}}else{if(this.lastFeature&&(previouslyIn||click)){this.triggerCallback(type,'out',[this.lastFeature]);}}
-return handled;},triggerCallback:function(type,mode,args){var key=this.EVENTMAP[type][mode];if(key){if(type=='click'&&this.up&&this.down){var dpx=Math.sqrt(Math.pow(this.up.x-this.down.x,2)+
-Math.pow(this.up.y-this.down.y,2));if(dpx<=this.clickTolerance){this.callback(key,args);}}else{this.callback(key,args);}}},activate:function(){var activated=false;if(OpenLayers.Handler.prototype.activate.apply(this,arguments)){this.moveLayerToTop();this.map.events.on({"removelayer":this.handleMapEvents,"changelayer":this.handleMapEvents,scope:this});activated=true;}
-return activated;},deactivate:function(){var deactivated=false;if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){this.moveLayerBack();this.feature=null;this.lastFeature=null;this.down=null;this.up=null;this.touch=false;this.map.events.un({"removelayer":this.handleMapEvents,"changelayer":this.handleMapEvents,scope:this});deactivated=true;}
-return deactivated;},handleMapEvents:function(evt){if(evt.type=="removelayer"||evt.property=="order"){this.moveLayerToTop();}},moveLayerToTop:function(){var index=Math.max(this.map.Z_INDEX_BASE['Feature']-1,this.layer.getZIndex())+1;this.layer.setZIndex(index);},moveLayerBack:function(){var index=this.layer.getZIndex()-1;if(index>=this.map.Z_INDEX_BASE['Feature']){this.layer.setZIndex(index);}else{this.map.setLayerZIndex(this.layer,this.map.getLayerIndex(this.layer));}},CLASS_NAME:"OpenLayers.Handler.Feature"});OpenLayers.Tween=OpenLayers.Class({INTERVAL:10,easing:null,begin:null,finish:null,duration:null,callbacks:null,time:null,interval:null,playing:false,initialize:function(easing){this.easing=(easing)?easing:OpenLayers.Easing.Expo.easeOut;},start:function(begin,finish,duration,options){this.playing=true;this.begin=begin;this.finish=finish;this.duration=duration;this.callbacks=options.callbacks;this.time=0;if(this.interval){window.clearInterval(this.interval);this.interval=null;}
-if(this.callbacks&&this.callbacks.start){this.callbacks.start.call(this,this.begin);}
-this.interval=window.setInterval(OpenLayers.Function.bind(this.play,this),this.INTERVAL);},stop:function(){if(!this.playing){return;}
-if(this.callbacks&&this.callbacks.done){this.callbacks.done.call(this,this.finish);}
-window.clearInterval(this.interval);this.interval=null;this.playing=false;},play:function(){var value={};for(var i in this.begin){var b=this.begin[i];var f=this.finish[i];if(b==null||f==null||isNaN(b)||isNaN(f)){OpenLayers.Console.error('invalid value for Tween');}
-var c=f-b;value[i]=this.easing.apply(this,[this.time,b,c,this.duration]);}
-this.time++;if(this.callbacks&&this.callbacks.eachStep){this.callbacks.eachStep.call(this,value);}
-if(this.time>this.duration){this.stop();}},CLASS_NAME:"OpenLayers.Tween"});OpenLayers.Easing={CLASS_NAME:"OpenLayers.Easing"};OpenLayers.Easing.Linear={easeIn:function(t,b,c,d){return c*t/d+b;},easeOut:function(t,b,c,d){return c*t/d+b;},easeInOut:function(t,b,c,d){return c*t/d+b;},CLASS_NAME:"OpenLayers.Easing.Linear"};OpenLayers.Easing.Expo={easeIn:function(t,b,c,d){return(t==0)?b:c*Math.pow(2,10*(t/d-1))+b;},easeOut:function(t,b,c,d){return(t==d)?b+c:c*(-Math.pow(2,-10*t/d)+1)+b;},easeInOut:function(t,b,c,d){if(t==0)return b;if(t==d)return b+c;if((t/=d/2)<1)return c/2*Math.pow(2,10*(t-1))+b;return c/2*(-Math.pow(2,-10*--t)+2)+b;},CLASS_NAME:"OpenLayers.Easing.Expo"};OpenLayers.Easing.Quad={easeIn:function(t,b,c,d){return c*(t/=d)*t+b;},easeOut:function(t,b,c,d){return-c*(t/=d)*(t-2)+b;},easeInOut:function(t,b,c,d){if((t/=d/2)<1)return c/2*t*t+b;return-c/2*((--t)*(t-2)-1)+b;},CLASS_NAME:"OpenLayers.Easing.Quad"};OpenLayers.Map=OpenLayers.Class({Z_INDEX_BASE:{BaseLayer:100,Overlay:325,Feature:725,Popup:750,Control:1000},EVENT_TYPES:["preaddlayer","addlayer","preremovelayer","removelayer","changelayer","movestart","move","moveend","zoomend","popupopen","popupclose","addmarker","removemarker","clearmarkers","mouseover","mouseout","mousemove","dragstart","drag","dragend","changebaselayer"],id:null,fractionalZoom:false,events:null,allOverlays:false,div:null,dragging:false,size:null,viewPortDiv:null,layerContainerOrigin:null,layerContainerDiv:null,layers:null,controls:null,popups:null,baseLayer:null,center:null,resolution:null,zoom:0,panRatio:1.5,viewRequestID:0,tileSize:null,projection:"EPSG:4326",units:'degrees',resolutions:null,maxResolution:1.40625,minResolution:null,maxScale:null,minScale:null,maxExtent:null,minExtent:null,restrictedExtent:null,numZoomLevels:16,theme:null,displayProjection:null,fallThrough:true,panTween:null,eventListeners:null,panMethod:OpenLayers.Easing.Expo.easeOut,panDuration:50,paddingForPopups:null,minPx:null,maxPx:null,initialize:function(div,options){if(arguments.length===1&&typeof div==="object"){options=div;div=options&&options.div;}
-this.tileSize=new OpenLayers.Size(OpenLayers.Map.TILE_WIDTH,OpenLayers.Map.TILE_HEIGHT);this.maxExtent=new OpenLayers.Bounds(-180,-90,180,90);this.paddingForPopups=new OpenLayers.Bounds(15,15,15,15);this.theme=OpenLayers._getScriptLocation()+'theme/default/style.css';OpenLayers.Util.extend(this,options);this.layers=[];this.id=OpenLayers.Util.createUniqueID("OpenLayers.Map_");this.div=OpenLayers.Util.getElement(div);if(!this.div){this.div=document.createElement("div");this.div.style.height="1px";this.div.style.width="1px";}
-OpenLayers.Element.addClass(this.div,'olMap');var id=this.id+"_OpenLayers_ViewPort";this.viewPortDiv=OpenLayers.Util.createDiv(id,null,null,null,"relative",null,"hidden");this.viewPortDiv.style.width="100%";this.viewPortDiv.style.height="100%";this.viewPortDiv.className="olMapViewport";this.div.appendChild(this.viewPortDiv);var eventsDiv=document.createElement("div");eventsDiv.id=this.id+"_events";eventsDiv.style.position="absolute";eventsDiv.style.width="100%";eventsDiv.style.height="100%";eventsDiv.style.zIndex=this.Z_INDEX_BASE.Control-1;this.viewPortDiv.appendChild(eventsDiv);this.eventsDiv=eventsDiv;this.events=new OpenLayers.Events(this,this.eventsDiv,this.EVENT_TYPES,this.fallThrough,{includeXY:true});id=this.id+"_OpenLayers_Container";this.layerContainerDiv=OpenLayers.Util.createDiv(id);this.layerContainerDiv.style.zIndex=this.Z_INDEX_BASE['Popup']-1;this.eventsDiv.appendChild(this.layerContainerDiv);this.updateSize();if(this.eventListeners instanceof Object){this.events.on(this.eventListeners);}
-this.events.register("movestart",this,this.updateSize);if(OpenLayers.String.contains(navigator.appName,"Microsoft")){this.events.register("resize",this,this.updateSize);}else{this.updateSizeDestroy=OpenLayers.Function.bind(this.updateSize,this);OpenLayers.Event.observe(window,'resize',this.updateSizeDestroy);}
-if(this.theme){var addNode=true;var nodes=document.getElementsByTagName('link');for(var i=0,len=nodes.length;i<len;++i){if(OpenLayers.Util.isEquivalentUrl(nodes.item(i).href,this.theme)){addNode=false;break;}}
-if(addNode){var cssNode=document.createElement('link');cssNode.setAttribute('rel','stylesheet');cssNode.setAttribute('type','text/css');cssNode.setAttribute('href',this.theme);document.getElementsByTagName('head')[0].appendChild(cssNode);}}
-if(this.controls==null){if(OpenLayers.Control!=null){this.controls=[new OpenLayers.Control.Navigation(),new OpenLayers.Control.PanZoom(),new OpenLayers.Control.ArgParser(),new OpenLayers.Control.Attribution()];}else{this.controls=[];}}
-for(var i=0,len=this.controls.length;i<len;i++){this.addControlToMap(this.controls[i]);}
-this.popups=[];this.unloadDestroy=OpenLayers.Function.bind(this.destroy,this);OpenLayers.Event.observe(window,'unload',this.unloadDestroy);if(options&&options.layers){delete this.center;this.addLayers(options.layers);if(options.center){this.setCenter(options.center,options.zoom);}}},render:function(div){this.div=OpenLayers.Util.getElement(div);OpenLayers.Element.addClass(this.div,'olMap');this.viewPortDiv.parentNode.removeChild(this.viewPortDiv);this.div.appendChild(this.viewPortDiv);this.updateSize();},unloadDestroy:null,updateSizeDestroy:null,destroy:function(){if(!this.unloadDestroy){return false;}
-if(this.panTween){this.panTween.stop();this.panTween=null;}
-OpenLayers.Event.stopObserving(window,'unload',this.unloadDestroy);this.unloadDestroy=null;if(this.updateSizeDestroy){OpenLayers.Event.stopObserving(window,'resize',this.updateSizeDestroy);}else{this.events.unregister("resize",this,this.updateSize);}
-this.paddingForPopups=null;if(this.controls!=null){for(var i=this.controls.length-1;i>=0;--i){this.controls[i].destroy();}
-this.controls=null;}
-if(this.layers!=null){for(var i=this.layers.length-1;i>=0;--i){this.layers[i].destroy(false);}
-this.layers=null;}
-if(this.viewPortDiv){this.div.removeChild(this.viewPortDiv);}
-this.viewPortDiv=null;if(this.eventListeners){this.events.un(this.eventListeners);this.eventListeners=null;}
-this.events.destroy();this.events=null;},setOptions:function(options){var updatePxExtent=this.minPx&&options.restrictedExtent!=this.restrictedExtent;OpenLayers.Util.extend(this,options);updatePxExtent&&this.moveTo(this.getCachedCenter(),this.zoom,{forceZoomChange:true});},getTileSize:function(){return this.tileSize;},getBy:function(array,property,match){var test=(typeof match.test=="function");var found=OpenLayers.Array.filter(this[array],function(item){return item[property]==match||(test&&match.test(item[property]));});return found;},getLayersBy:function(property,match){return this.getBy("layers",property,match);},getLayersByName:function(match){return this.getLayersBy("name",match);},getLayersByClass:function(match){return this.getLayersBy("CLASS_NAME",match);},getControlsBy:function(property,match){return this.getBy("controls",property,match);},getControlsByClass:function(match){return this.getControlsBy("CLASS_NAME",match);},getLayer:function(id){var foundLayer=null;for(var i=0,len=this.layers.length;i<len;i++){var layer=this.layers[i];if(layer.id==id){foundLayer=layer;break;}}
-return foundLayer;},setLayerZIndex:function(layer,zIdx){layer.setZIndex(this.Z_INDEX_BASE[layer.isBaseLayer?'BaseLayer':'Overlay']
-+zIdx*5);},resetLayersZIndex:function(){for(var i=0,len=this.layers.length;i<len;i++){var layer=this.layers[i];this.setLayerZIndex(layer,i);}},addLayer:function(layer){for(var i=0,len=this.layers.length;i<len;i++){if(this.layers[i]==layer){var msg=OpenLayers.i18n('layerAlreadyAdded',{'layerName':layer.name});OpenLayers.Console.warn(msg);return false;}}
-if(this.events.triggerEvent("preaddlayer",{layer:layer})===false){return;}
-if(this.allOverlays){layer.isBaseLayer=false;}
-layer.div.className="olLayerDiv";layer.div.style.overflow="";this.setLayerZIndex(layer,this.layers.length);if(layer.isFixed){this.viewPortDiv.appendChild(layer.div);}else{this.layerContainerDiv.appendChild(layer.div);}
-this.layers.push(layer);layer.setMap(this);if(layer.isBaseLayer||(this.allOverlays&&!this.baseLayer)){if(this.baseLayer==null){this.setBaseLayer(layer);}else{layer.setVisibility(false);}}else{layer.redraw();}
-this.events.triggerEvent("addlayer",{layer:layer});layer.events.triggerEvent("added",{map:this,layer:layer});layer.afterAdd();},addLayers:function(layers){for(var i=0,len=layers.length;i<len;i++){this.addLayer(layers[i]);}},removeLayer:function(layer,setNewBaseLayer){if(this.events.triggerEvent("preremovelayer",{layer:layer})===false){return;}
-if(setNewBaseLayer==null){setNewBaseLayer=true;}
-if(layer.isFixed){this.viewPortDiv.removeChild(layer.div);}else{this.layerContainerDiv.removeChild(layer.div);}
-OpenLayers.Util.removeItem(this.layers,layer);layer.removeMap(this);layer.map=null;if(this.baseLayer==layer){this.baseLayer=null;if(setNewBaseLayer){for(var i=0,len=this.layers.length;i<len;i++){var iLayer=this.layers[i];if(iLayer.isBaseLayer||this.allOverlays){this.setBaseLayer(iLayer);break;}}}}
-this.resetLayersZIndex();this.events.triggerEvent("removelayer",{layer:layer});layer.events.triggerEvent("removed",{map:this,layer:layer});},getNumLayers:function(){return this.layers.length;},getLayerIndex:function(layer){return OpenLayers.Util.indexOf(this.layers,layer);},setLayerIndex:function(layer,idx){var base=this.getLayerIndex(layer);if(idx<0){idx=0;}else if(idx>this.layers.length){idx=this.layers.length;}
-if(base!=idx){this.layers.splice(base,1);this.layers.splice(idx,0,layer);for(var i=0,len=this.layers.length;i<len;i++){this.setLayerZIndex(this.layers[i],i);}
-this.events.triggerEvent("changelayer",{layer:layer,property:"order"});if(this.allOverlays){if(idx===0){this.setBaseLayer(layer);}else if(this.baseLayer!==this.layers[0]){this.setBaseLayer(this.layers[0]);}}}},raiseLayer:function(layer,delta){var idx=this.getLayerIndex(layer)+delta;this.setLayerIndex(layer,idx);},setBaseLayer:function(newBaseLayer){if(newBaseLayer!=this.baseLayer){if(OpenLayers.Util.indexOf(this.layers,newBaseLayer)!=-1){var center=this.getCachedCenter();var newResolution=OpenLayers.Util.getResolutionFromScale(this.getScale(),newBaseLayer.units);if(this.baseLayer!=null&&!this.allOverlays){this.baseLayer.setVisibility(false);}
-this.baseLayer=newBaseLayer;this.viewRequestID++;if(!this.allOverlays||this.baseLayer.visibility){this.baseLayer.setVisibility(true);}
-if(center!=null){var newZoom=this.getZoomForResolution(newResolution||this.resolution,true);this.setCenter(center,newZoom,false,true);}
-this.events.triggerEvent("changebaselayer",{layer:this.baseLayer});}}},addControl:function(control,px){this.controls.push(control);this.addControlToMap(control,px);},addControls:function(controls,pixels){var pxs=(arguments.length===1)?[]:pixels;for(var i=0,len=controls.length;i<len;i++){var ctrl=controls[i];var px=(pxs[i])?pxs[i]:null;this.addControl(ctrl,px);}},addControlToMap:function(control,px){control.outsideViewport=(control.div!=null);if(this.displayProjection&&!control.displayProjection){control.displayProjection=this.displayProjection;}
-control.setMap(this);var div=control.draw(px);if(div){if(!control.outsideViewport){div.style.zIndex=this.Z_INDEX_BASE['Control']+
-this.controls.length;this.viewPortDiv.appendChild(div);}}
-if(control.autoActivate){control.activate();}},getControl:function(id){var returnControl=null;for(var i=0,len=this.controls.length;i<len;i++){var control=this.controls[i];if(control.id==id){returnControl=control;break;}}
-return returnControl;},removeControl:function(control){if((control)&&(control==this.getControl(control.id))){if(control.div&&(control.div.parentNode==this.viewPortDiv)){this.viewPortDiv.removeChild(control.div);}
-OpenLayers.Util.removeItem(this.controls,control);}},addPopup:function(popup,exclusive){if(exclusive){for(var i=this.popups.length-1;i>=0;--i){this.removePopup(this.popups[i]);}}
-popup.map=this;this.popups.push(popup);var popupDiv=popup.draw();if(popupDiv){popupDiv.style.zIndex=this.Z_INDEX_BASE['Popup']+
-this.popups.length;this.layerContainerDiv.appendChild(popupDiv);}},removePopup:function(popup){OpenLayers.Util.removeItem(this.popups,popup);if(popup.div){try{this.layerContainerDiv.removeChild(popup.div);}
-catch(e){}}
-popup.map=null;},getSize:function(){var size=null;if(this.size!=null){size=this.size.clone();}
-return size;},updateSize:function(){var newSize=this.getCurrentSize();if(newSize&&!isNaN(newSize.h)&&!isNaN(newSize.w)){this.events.clearMouseCache();var oldSize=this.getSize();if(oldSize==null){this.size=oldSize=newSize;}
-if(!newSize.equals(oldSize)){this.size=newSize;for(var i=0,len=this.layers.length;i<len;i++){this.layers[i].onMapResize();}
-var center=this.getCachedCenter();if(this.baseLayer!=null&&center!=null){var zoom=this.getZoom();this.zoom=null;this.setCenter(center,zoom);}}}},getCurrentSize:function(){var size=new OpenLayers.Size(this.div.clientWidth,this.div.clientHeight);if(size.w==0&&size.h==0||isNaN(size.w)&&isNaN(size.h)){size.w=this.div.offsetWidth;size.h=this.div.offsetHeight;}
-if(size.w==0&&size.h==0||isNaN(size.w)&&isNaN(size.h)){size.w=parseInt(this.div.style.width);size.h=parseInt(this.div.style.height);}
-return size;},calculateBounds:function(center,resolution){var extent=null;if(center==null){center=this.getCachedCenter();}
-if(resolution==null){resolution=this.getResolution();}
-if((center!=null)&&(resolution!=null)){var size=this.getSize();var w_deg=size.w*resolution;var h_deg=size.h*resolution;extent=new OpenLayers.Bounds(center.lon-w_deg/2,center.lat-h_deg/2,center.lon+w_deg/2,center.lat+h_deg/2);}
-return extent;},getCenter:function(){var center=null;var cachedCenter=this.getCachedCenter();if(cachedCenter){center=cachedCenter.clone();}
-return center;},getCachedCenter:function(){if(!this.center&&this.size){this.center=this.getLonLatFromViewPortPx(new OpenLayers.Pixel(this.size.w/2,this.size.h/2));}
-return this.center;},getZoom:function(){return this.zoom;},pan:function(dx,dy,options){options=OpenLayers.Util.applyDefaults(options,{animate:true,dragging:false});if(options.dragging){if(dx!=0||dy!=0){this.moveByPx(dx,dy);}}else{var centerPx=this.getViewPortPxFromLonLat(this.getCachedCenter());var newCenterPx=centerPx.add(dx,dy);if(this.dragging||!newCenterPx.equals(centerPx)){var newCenterLonLat=this.getLonLatFromViewPortPx(newCenterPx);if(options.animate){this.panTo(newCenterLonLat);}else{this.moveTo(newCenterLonLat);this.dragging=false;this.events.triggerEvent("moveend");}}}},panTo:function(lonlat){if(this.panMethod&&this.getExtent().scale(this.panRatio).containsLonLat(lonlat)){if(!this.panTween){this.panTween=new OpenLayers.Tween(this.panMethod);}
-var center=this.getCachedCenter();if(lonlat.equals(center)){return;}
-var from=this.getPixelFromLonLat(center);var to=this.getPixelFromLonLat(lonlat);var vector={x:to.x-from.x,y:to.y-from.y};var last={x:0,y:0};this.panTween.start({x:0,y:0},vector,this.panDuration,{callbacks:{eachStep:OpenLayers.Function.bind(function(px){var x=px.x-last.x,y=px.y-last.y;this.moveByPx(x,y);last.x=Math.round(px.x);last.y=Math.round(px.y);},this),done:OpenLayers.Function.bind(function(px){this.moveTo(lonlat);this.dragging=false;this.events.triggerEvent("moveend");},this)}});}else{this.setCenter(lonlat);}},setCenter:function(lonlat,zoom,dragging,forceZoomChange){this.panTween&&this.panTween.stop();this.moveTo(lonlat,zoom,{'dragging':dragging,'forceZoomChange':forceZoomChange});},moveByPx:function(dx,dy){var hw=this.size.w/2;var hh=this.size.h/2;var x=hw+dx;var y=hh+dy;var wrapDateLine=this.baseLayer.wrapDateLine;var xRestriction=0;var yRestriction=0;if(this.restrictedExtent){xRestriction=hw;yRestriction=hh;wrapDateLine=false;}
-dx=wrapDateLine||x<=this.maxPx.x-xRestriction&&x>=this.minPx.x+xRestriction?Math.round(dx):0;dy=y<=this.maxPx.y-yRestriction&&y>=this.minPx.y+yRestriction?Math.round(dy):0;var minX=this.minPx.x,maxX=this.maxPx.x;if(dx||dy){if(!this.dragging){this.dragging=true;this.events.triggerEvent("movestart");}
-this.center=null;if(dx){this.layerContainerDiv.style.left=parseInt(this.layerContainerDiv.style.left)-dx+"px";this.minPx.x-=dx;this.maxPx.x-=dx;if(wrapDateLine){if(this.maxPx.x>maxX){this.maxPx.x-=(maxX-minX);}
-if(this.minPx.x<minX){this.minPx.x+=(maxX-minX);}}}
-if(dy){this.layerContainerDiv.style.top=parseInt(this.layerContainerDiv.style.top)-dy+"px";this.minPx.y-=dy;this.maxPx.y-=dy;}
-var layer,i,len;for(i=0,len=this.layers.length;i<len;++i){layer=this.layers[i];if(layer.visibility&&(layer===this.baseLayer||layer.inRange)){layer.moveByPx(dx,dy);layer.events.triggerEvent("move");}}
-this.events.triggerEvent("move");}},moveTo:function(lonlat,zoom,options){if(!options){options={};}
-if(zoom!=null){zoom=parseFloat(zoom);if(!this.fractionalZoom){zoom=Math.round(zoom);}}
-var dragging=options.dragging||this.dragging;var forceZoomChange=options.forceZoomChange;if(!this.getCachedCenter()&&!this.isValidLonLat(lonlat)){lonlat=this.maxExtent.getCenterLonLat();this.center=lonlat.clone();}
-if(this.restrictedExtent!=null){if(lonlat==null){lonlat=this.center;}
-if(zoom==null){zoom=this.getZoom();}
-var resolution=this.getResolutionForZoom(zoom);var extent=this.calculateBounds(lonlat,resolution);if(!this.restrictedExtent.containsBounds(extent)){var maxCenter=this.restrictedExtent.getCenterLonLat();if(extent.getWidth()>this.restrictedExtent.getWidth()){lonlat=new OpenLayers.LonLat(maxCenter.lon,lonlat.lat);}else if(extent.left<this.restrictedExtent.left){lonlat=lonlat.add(this.restrictedExtent.left-
-extent.left,0);}else if(extent.right>this.restrictedExtent.right){lonlat=lonlat.add(this.restrictedExtent.right-
-extent.right,0);}
-if(extent.getHeight()>this.restrictedExtent.getHeight()){lonlat=new OpenLayers.LonLat(lonlat.lon,maxCenter.lat);}else if(extent.bottom<this.restrictedExtent.bottom){lonlat=lonlat.add(0,this.restrictedExtent.bottom-
-extent.bottom);}
-else if(extent.top>this.restrictedExtent.top){lonlat=lonlat.add(0,this.restrictedExtent.top-
-extent.top);}}}
-var zoomChanged=forceZoomChange||((this.isValidZoomLevel(zoom))&&(zoom!=this.getZoom()));var centerChanged=(this.isValidLonLat(lonlat))&&(!lonlat.equals(this.center));if(zoomChanged||centerChanged||dragging){dragging||this.events.triggerEvent("movestart");if(centerChanged){if(!zoomChanged&&this.center){this.centerLayerContainer(lonlat);}
-this.center=lonlat.clone();}
-var res=zoomChanged?this.getResolutionForZoom(zoom):this.getResolution();if(zoomChanged||this.layerContainerOrigin==null){this.layerContainerOrigin=this.getCachedCenter();this.layerContainerDiv.style.left="0px";this.layerContainerDiv.style.top="0px";var maxExtent=this.getMaxExtent({restricted:true});var maxExtentCenter=maxExtent.getCenterLonLat();var lonDelta=this.center.lon-maxExtentCenter.lon;var latDelta=maxExtentCenter.lat-this.center.lat;var extentWidth=Math.round(maxExtent.getWidth()/res);var extentHeight=Math.round(maxExtent.getHeight()/res);var left=(this.size.w-extentWidth)/2-lonDelta/res;var top=(this.size.h-extentHeight)/2-latDelta/res;this.minPx=new OpenLayers.Pixel(left,top);this.maxPx=new OpenLayers.Pixel(left+extentWidth,top+extentHeight);}
-if(zoomChanged){this.zoom=zoom;this.resolution=res;this.viewRequestID++;}
-var bounds=this.getExtent();if(this.baseLayer.visibility){this.baseLayer.moveTo(bounds,zoomChanged,options.dragging);options.dragging||this.baseLayer.events.triggerEvent("moveend",{zoomChanged:zoomChanged});}
-bounds=this.baseLayer.getExtent();for(var i=this.layers.length-1;i>=0;--i){var layer=this.layers[i];if(layer!==this.baseLayer&&!layer.isBaseLayer){var inRange=layer.calculateInRange();if(layer.inRange!=inRange){layer.inRange=inRange;if(!inRange){layer.display(false);}
-this.events.triggerEvent("changelayer",{layer:layer,property:"visibility"});}
-if(inRange&&layer.visibility){layer.moveTo(bounds,zoomChanged,options.dragging);options.dragging||layer.events.triggerEvent("moveend",{zoomChanged:zoomChanged});}}}
-this.events.triggerEvent("move");dragging||this.events.triggerEvent("moveend");if(zoomChanged){for(var i=0,len=this.popups.length;i<len;i++){this.popups[i].updatePosition();}
-this.events.triggerEvent("zoomend");}}},centerLayerContainer:function(lonlat){var originPx=this.getViewPortPxFromLonLat(this.layerContainerOrigin);var newPx=this.getViewPortPxFromLonLat(lonlat);if((originPx!=null)&&(newPx!=null)){var oldLeft=parseInt(this.layerContainerDiv.style.left);var oldTop=parseInt(this.layerContainerDiv.style.top);var newLeft=Math.round(originPx.x-newPx.x);var newTop=Math.round(originPx.y-newPx.y);this.layerContainerDiv.style.left=newLeft+"px";this.layerContainerDiv.style.top=newTop+"px";var dx=oldLeft-newLeft;var dy=oldTop-newTop;this.minPx.x-=dx;this.maxPx.x-=dx;this.minPx.y-=dy;this.maxPx.y-=dy;}},isValidZoomLevel:function(zoomLevel){return((zoomLevel!=null)&&(zoomLevel>=0)&&(zoomLevel<this.getNumZoomLevels()));},isValidLonLat:function(lonlat){var valid=false;if(lonlat!=null){var maxExtent=this.getMaxExtent();valid=maxExtent.containsLonLat(lonlat);}
-return valid;},getProjection:function(){var projection=this.getProjectionObject();return projection?projection.getCode():null;},getProjectionObject:function(){var projection=null;if(this.baseLayer!=null){projection=this.baseLayer.projection;}
-return projection;},getMaxResolution:function(){var maxResolution=null;if(this.baseLayer!=null){maxResolution=this.baseLayer.maxResolution;}
-return maxResolution;},getMaxExtent:function(options){var maxExtent=null;if(options&&options.restricted&&this.restrictedExtent){maxExtent=this.restrictedExtent;}else if(this.baseLayer!=null){maxExtent=this.baseLayer.maxExtent;}
-return maxExtent;},getNumZoomLevels:function(){var numZoomLevels=null;if(this.baseLayer!=null){numZoomLevels=this.baseLayer.numZoomLevels;}
-return numZoomLevels;},getExtent:function(){var extent=null;if(this.baseLayer!=null){extent=this.baseLayer.getExtent();}
-return extent;},getResolution:function(){var resolution=null;if(this.baseLayer!=null){resolution=this.baseLayer.getResolution();}else if(this.allOverlays===true&&this.layers.length>0){resolution=this.layers[0].getResolution();}
-return resolution;},getUnits:function(){var units=null;if(this.baseLayer!=null){units=this.baseLayer.units;}
-return units;},getScale:function(){var scale=null;if(this.baseLayer!=null){var res=this.getResolution();var units=this.baseLayer.units;scale=OpenLayers.Util.getScaleFromResolution(res,units);}
-return scale;},getZoomForExtent:function(bounds,closest){var zoom=null;if(this.baseLayer!=null){zoom=this.baseLayer.getZoomForExtent(bounds,closest);}
-return zoom;},getResolutionForZoom:function(zoom){var resolution=null;if(this.baseLayer){resolution=this.baseLayer.getResolutionForZoom(zoom);}
-return resolution;},getZoomForResolution:function(resolution,closest){var zoom=null;if(this.baseLayer!=null){zoom=this.baseLayer.getZoomForResolution(resolution,closest);}
-return zoom;},zoomTo:function(zoom){if(this.isValidZoomLevel(zoom)){this.setCenter(null,zoom);}},zoomIn:function(){this.zoomTo(this.getZoom()+1);},zoomOut:function(){this.zoomTo(this.getZoom()-1);},zoomToExtent:function(bounds,closest){var center=bounds.getCenterLonLat();if(this.baseLayer.wrapDateLine){var maxExtent=this.getMaxExtent();bounds=bounds.clone();while(bounds.right<bounds.left){bounds.right+=maxExtent.getWidth();}
-center=bounds.getCenterLonLat().wrapDateLine(maxExtent);}
-this.setCenter(center,this.getZoomForExtent(bounds,closest));},zoomToMaxExtent:function(options){var restricted=(options)?options.restricted:true;var maxExtent=this.getMaxExtent({'restricted':restricted});this.zoomToExtent(maxExtent);},zoomToScale:function(scale,closest){var res=OpenLayers.Util.getResolutionFromScale(scale,this.baseLayer.units);var size=this.getSize();var w_deg=size.w*res;var h_deg=size.h*res;var center=this.getCachedCenter();var extent=new OpenLayers.Bounds(center.lon-w_deg/2,center.lat-h_deg/2,center.lon+w_deg/2,center.lat+h_deg/2);this.zoomToExtent(extent,closest);},getLonLatFromViewPortPx:function(viewPortPx){var lonlat=null;if(this.baseLayer!=null){lonlat=this.baseLayer.getLonLatFromViewPortPx(viewPortPx);}
-return lonlat;},getViewPortPxFromLonLat:function(lonlat){var px=null;if(this.baseLayer!=null){px=this.baseLayer.getViewPortPxFromLonLat(lonlat);}
-return px;},getLonLatFromPixel:function(px){return this.getLonLatFromViewPortPx(px);},getPixelFromLonLat:function(lonlat){var px=this.getViewPortPxFromLonLat(lonlat);px.x=Math.round(px.x);px.y=Math.round(px.y);return px;},getGeodesicPixelSize:function(px){var lonlat=px?this.getLonLatFromPixel(px):(this.getCachedCenter()||new OpenLayers.LonLat(0,0));var res=this.getResolution();var left=lonlat.add(-res/2,0);var right=lonlat.add(res/2,0);var bottom=lonlat.add(0,-res/2);var top=lonlat.add(0,res/2);var dest=new OpenLayers.Projection("EPSG:4326");var source=this.getProjectionObject()||dest;if(!source.equals(dest)){left.transform(source,dest);right.transform(source,dest);bottom.transform(source,dest);top.transform(source,dest);}
-return new OpenLayers.Size(OpenLayers.Util.distVincenty(left,right),OpenLayers.Util.distVincenty(bottom,top));},getViewPortPxFromLayerPx:function(layerPx){var viewPortPx=null;if(layerPx!=null){var dX=parseInt(this.layerContainerDiv.style.left);var dY=parseInt(this.layerContainerDiv.style.top);viewPortPx=layerPx.add(dX,dY);}
-return viewPortPx;},getLayerPxFromViewPortPx:function(viewPortPx){var layerPx=null;if(viewPortPx!=null){var dX=-parseInt(this.layerContainerDiv.style.left);var dY=-parseInt(this.layerContainerDiv.style.top);layerPx=viewPortPx.add(dX,dY);if(isNaN(layerPx.x)||isNaN(layerPx.y)){layerPx=null;}}
-return layerPx;},getLonLatFromLayerPx:function(px){px=this.getViewPortPxFromLayerPx(px);return this.getLonLatFromViewPortPx(px);},getLayerPxFromLonLat:function(lonlat){var px=this.getPixelFromLonLat(lonlat);return this.getLayerPxFromViewPortPx(px);},CLASS_NAME:"OpenLayers.Map"});OpenLayers.Map.TILE_WIDTH=256;OpenLayers.Map.TILE_HEIGHT=256;OpenLayers.Layer=OpenLayers.Class({id:null,name:null,div:null,opacity:null,alwaysInRange:null,EVENT_TYPES:["loadstart","loadend","loadcancel","visibilitychanged","move","moveend","added","removed"],RESOLUTION_PROPERTIES:['scales','resolutions','maxScale','minScale','maxResolution','minResolution','numZoomLevels','maxZoomLevel'],events:null,map:null,isBaseLayer:false,alpha:false,displayInLayerSwitcher:true,visibility:true,attribution:null,inRange:false,imageSize:null,imageOffset:null,options:null,eventListeners:null,gutter:0,projection:null,units:null,scales:null,resolutions:null,maxExtent:null,minExtent:null,maxResolution:null,minResolution:null,numZoomLevels:null,minScale:null,maxScale:null,displayOutsideMaxExtent:false,wrapDateLine:false,transitionEffect:null,SUPPORTED_TRANSITIONS:['resize'],metadata:{},initialize:function(name,options){this.addOptions(options);this.name=name;if(this.id==null){this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_");this.div=OpenLayers.Util.createDiv(this.id);this.div.style.width="100%";this.div.style.height="100%";this.div.dir="ltr";this.events=new OpenLayers.Events(this,this.div,this.EVENT_TYPES);if(this.eventListeners instanceof Object){this.events.on(this.eventListeners);}}
-if(this.wrapDateLine){this.displayOutsideMaxExtent=true;}},destroy:function(setNewBaseLayer){if(setNewBaseLayer==null){setNewBaseLayer=true;}
-if(this.map!=null){this.map.removeLayer(this,setNewBaseLayer);}
-this.projection=null;this.map=null;this.name=null;this.div=null;this.options=null;if(this.events){if(this.eventListeners){this.events.un(this.eventListeners);}
-this.events.destroy();}
-this.eventListeners=null;this.events=null;},clone:function(obj){if(obj==null){obj=new OpenLayers.Layer(this.name,this.getOptions());}
-OpenLayers.Util.applyDefaults(obj,this);obj.map=null;return obj;},getOptions:function(){var options={};for(var o in this.options){options[o]=this[o];}
-return options;},setName:function(newName){if(newName!=this.name){this.name=newName;if(this.map!=null){this.map.events.triggerEvent("changelayer",{layer:this,property:"name"});}}},addOptions:function(newOptions,reinitialize){if(this.options==null){this.options={};}
-OpenLayers.Util.extend(this.options,newOptions);OpenLayers.Util.extend(this,newOptions);if(typeof this.projection=="string"){this.projection=new OpenLayers.Projection(this.projection);}
-if(this.projection&&this.projection.getUnits()){this.units=this.projection.getUnits();}
-if(this.map){var resolution=this.map.getResolution();var properties=this.RESOLUTION_PROPERTIES.concat(["projection","units","minExtent","maxExtent"]);for(var o in newOptions){if(newOptions.hasOwnProperty(o)&&OpenLayers.Util.indexOf(properties,o)>=0){this.initResolutions();if(reinitialize&&this.map.baseLayer===this){this.map.setCenter(this.map.getCenter(),this.map.getZoomForResolution(resolution),false,true);this.map.events.triggerEvent("changebaselayer",{layer:this});}
-break;}}}},onMapResize:function(){},redraw:function(){var redrawn=false;if(this.map){this.inRange=this.calculateInRange();var extent=this.getExtent();if(extent&&this.inRange&&this.visibility){var zoomChanged=true;this.moveTo(extent,zoomChanged,false);this.events.triggerEvent("moveend",{"zoomChanged":zoomChanged});redrawn=true;}}
-return redrawn;},moveTo:function(bounds,zoomChanged,dragging){var display=this.visibility;if(!this.isBaseLayer){display=display&&this.inRange;}
-this.display(display);},moveByPx:function(dx,dy){},setMap:function(map){if(this.map==null){this.map=map;this.maxExtent=this.maxExtent||this.map.maxExtent;this.minExtent=this.minExtent||this.map.minExtent;this.projection=this.projection||this.map.projection;if(typeof this.projection=="string"){this.projection=new OpenLayers.Projection(this.projection);}
-this.units=this.projection.getUnits()||this.units||this.map.units;this.initResolutions();if(!this.isBaseLayer){this.inRange=this.calculateInRange();var show=((this.visibility)&&(this.inRange));this.div.style.display=show?"":"none";}
-this.setTileSize();}},afterAdd:function(){},removeMap:function(map){},getImageSize:function(bounds){return(this.imageSize||this.tileSize);},setTileSize:function(size){var tileSize=(size)?size:((this.tileSize)?this.tileSize:this.map.getTileSize());this.tileSize=tileSize;if(this.gutter){this.imageOffset=new OpenLayers.Pixel(-this.gutter,-this.gutter);this.imageSize=new OpenLayers.Size(tileSize.w+(2*this.gutter),tileSize.h+(2*this.gutter));}},getVisibility:function(){return this.visibility;},setVisibility:function(visibility){if(visibility!=this.visibility){this.visibility=visibility;this.display(visibility);this.redraw();if(this.map!=null){this.map.events.triggerEvent("changelayer",{layer:this,property:"visibility"});}
-this.events.triggerEvent("visibilitychanged");}},display:function(display){if(display!=(this.div.style.display!="none")){this.div.style.display=(display&&this.calculateInRange())?"block":"none";}},calculateInRange:function(){var inRange=false;if(this.alwaysInRange){inRange=true;}else{if(this.map){var resolution=this.map.getResolution();inRange=((resolution>=this.minResolution)&&(resolution<=this.maxResolution));}}
-return inRange;},setIsBaseLayer:function(isBaseLayer){if(isBaseLayer!=this.isBaseLayer){this.isBaseLayer=isBaseLayer;if(this.map!=null){this.map.events.triggerEvent("changebaselayer",{layer:this});}}},initResolutions:function(){var i,len,p;var props={},alwaysInRange=true;for(i=0,len=this.RESOLUTION_PROPERTIES.length;i<len;i++){p=this.RESOLUTION_PROPERTIES[i];props[p]=this.options[p];if(alwaysInRange&&this.options[p]){alwaysInRange=false;}}
-if(this.alwaysInRange==null){this.alwaysInRange=alwaysInRange;}
-if(props.resolutions==null){props.resolutions=this.resolutionsFromScales(props.scales);}
-if(props.resolutions==null){props.resolutions=this.calculateResolutions(props);}
-if(props.resolutions==null){for(i=0,len=this.RESOLUTION_PROPERTIES.length;i<len;i++){p=this.RESOLUTION_PROPERTIES[i];props[p]=this.options[p]!=null?this.options[p]:this.map[p];}
-if(props.resolutions==null){props.resolutions=this.resolutionsFromScales(props.scales);}
-if(props.resolutions==null){props.resolutions=this.calculateResolutions(props);}}
-var maxResolution;if(this.options.maxResolution&&this.options.maxResolution!=="auto"){maxResolution=this.options.maxResolution;}
-if(this.options.minScale){maxResolution=OpenLayers.Util.getResolutionFromScale(this.options.minScale,this.units);}
-var minResolution;if(this.options.minResolution&&this.options.minResolution!=="auto"){minResolution=this.options.minResolution;}
-if(this.options.maxScale){minResolution=OpenLayers.Util.getResolutionFromScale(this.options.maxScale,this.units);}
-if(props.resolutions){props.resolutions.sort(function(a,b){return(b-a);});if(!maxResolution){maxResolution=props.resolutions[0];}
-if(!minResolution){var lastIdx=props.resolutions.length-1;minResolution=props.resolutions[lastIdx];}}
-this.resolutions=props.resolutions;if(this.resolutions){len=this.resolutions.length;this.scales=new Array(len);for(i=0;i<len;i++){this.scales[i]=OpenLayers.Util.getScaleFromResolution(this.resolutions[i],this.units);}
-this.numZoomLevels=len;}
-this.minResolution=minResolution;if(minResolution){this.maxScale=OpenLayers.Util.getScaleFromResolution(minResolution,this.units);}
-this.maxResolution=maxResolution;if(maxResolution){this.minScale=OpenLayers.Util.getScaleFromResolution(maxResolution,this.units);}},resolutionsFromScales:function(scales){if(scales==null){return;}
-var resolutions,i,len;len=scales.length;resolutions=new Array(len);for(i=0;i<len;i++){resolutions[i]=OpenLayers.Util.getResolutionFromScale(scales[i],this.units);}
-return resolutions;},calculateResolutions:function(props){var viewSize,wRes,hRes;var maxResolution=props.maxResolution;if(props.minScale!=null){maxResolution=OpenLayers.Util.getResolutionFromScale(props.minScale,this.units);}else if(maxResolution=="auto"&&this.maxExtent!=null){viewSize=this.map.getSize();wRes=this.maxExtent.getWidth()/viewSize.w;hRes=this.maxExtent.getHeight()/viewSize.h;maxResolution=Math.max(wRes,hRes);}
-var minResolution=props.minResolution;if(props.maxScale!=null){minResolution=OpenLayers.Util.getResolutionFromScale(props.maxScale,this.units);}else if(props.minResolution=="auto"&&this.minExtent!=null){viewSize=this.map.getSize();wRes=this.minExtent.getWidth()/viewSize.w;hRes=this.minExtent.getHeight()/viewSize.h;minResolution=Math.max(wRes,hRes);}
-var maxZoomLevel=props.maxZoomLevel;var numZoomLevels=props.numZoomLevels;if(typeof minResolution==="number"&&typeof maxResolution==="number"&&numZoomLevels===undefined){var ratio=maxResolution/minResolution;numZoomLevels=Math.floor(Math.log(ratio)/Math.log(2))+1;}else if(numZoomLevels===undefined&&maxZoomLevel!=null){numZoomLevels=maxZoomLevel+1;}
-if(typeof numZoomLevels!=="number"||numZoomLevels<=0||(typeof maxResolution!=="number"&&typeof minResolution!=="number")){return;}
-var resolutions=new Array(numZoomLevels);var base=2;if(typeof minResolution=="number"&&typeof maxResolution=="number"){base=Math.pow((maxResolution/minResolution),(1/(numZoomLevels-1)));}
-var i;if(typeof maxResolution==="number"){for(i=0;i<numZoomLevels;i++){resolutions[i]=maxResolution/Math.pow(base,i);}}else{for(i=0;i<numZoomLevels;i++){resolutions[numZoomLevels-1-i]=minResolution*Math.pow(base,i);}}
-return resolutions;},getResolution:function(){var zoom=this.map.getZoom();return this.getResolutionForZoom(zoom);},getExtent:function(){return this.map.calculateBounds();},getZoomForExtent:function(extent,closest){var viewSize=this.map.getSize();var idealResolution=Math.max(extent.getWidth()/viewSize.w,extent.getHeight()/viewSize.h);return this.getZoomForResolution(idealResolution,closest);},getDataExtent:function(){},getResolutionForZoom:function(zoom){zoom=Math.max(0,Math.min(zoom,this.resolutions.length-1));var resolution;if(this.map.fractionalZoom){var low=Math.floor(zoom);var high=Math.ceil(zoom);resolution=this.resolutions[low]-
-((zoom-low)*(this.resolutions[low]-this.resolutions[high]));}else{resolution=this.resolutions[Math.round(zoom)];}
-return resolution;},getZoomForResolution:function(resolution,closest){var zoom,i,len;if(this.map.fractionalZoom){var lowZoom=0;var highZoom=this.resolutions.length-1;var highRes=this.resolutions[lowZoom];var lowRes=this.resolutions[highZoom];var res;for(i=0,len=this.resolutions.length;i<len;++i){res=this.resolutions[i];if(res>=resolution){highRes=res;lowZoom=i;}
-if(res<=resolution){lowRes=res;highZoom=i;break;}}
-var dRes=highRes-lowRes;if(dRes>0){zoom=lowZoom+((highRes-resolution)/dRes);}else{zoom=lowZoom;}}else{var diff;var minDiff=Number.POSITIVE_INFINITY;for(i=0,len=this.resolutions.length;i<len;i++){if(closest){diff=Math.abs(this.resolutions[i]-resolution);if(diff>minDiff){break;}
-minDiff=diff;}else{if(this.resolutions[i]<resolution){break;}}}
-zoom=Math.max(0,i-1);}
-return zoom;},getLonLatFromViewPortPx:function(viewPortPx){var lonlat=null;var map=this.map;if(viewPortPx!=null&&map.minPx){var res=map.getResolution();var maxExtent=map.getMaxExtent({restricted:true});var lon=(viewPortPx.x-map.minPx.x)*res+maxExtent.left;var lat=(map.minPx.y-viewPortPx.y)*res+maxExtent.top;lonlat=new OpenLayers.LonLat(lon,lat);if(this.wrapDateLine){lonlat=lonlat.wrapDateLine(this.maxExtent);}}
-return lonlat;},getViewPortPxFromLonLat:function(lonlat){var px=null;if(lonlat!=null){var resolution=this.map.getResolution();var extent=this.map.getExtent();px=new OpenLayers.Pixel((1/resolution*(lonlat.lon-extent.left)),(1/resolution*(extent.top-lonlat.lat)));}
-return px;},setOpacity:function(opacity){if(opacity!=this.opacity){this.opacity=opacity;for(var i=0,len=this.div.childNodes.length;i<len;++i){var element=this.div.childNodes[i].firstChild;OpenLayers.Util.modifyDOMElement(element,null,null,null,null,null,null,opacity);}
-if(this.map!=null){this.map.events.triggerEvent("changelayer",{layer:this,property:"opacity"});}}},getZIndex:function(){return this.div.style.zIndex;},setZIndex:function(zIndex){this.div.style.zIndex=zIndex;},adjustBounds:function(bounds){if(this.gutter){var mapGutter=this.gutter*this.map.getResolution();bounds=new OpenLayers.Bounds(bounds.left-mapGutter,bounds.bottom-mapGutter,bounds.right+mapGutter,bounds.top+mapGutter);}
-if(this.wrapDateLine){var wrappingOptions={'rightTolerance':this.getResolution(),'leftTolerance':this.getResolution()};bounds=bounds.wrapDateLine(this.maxExtent,wrappingOptions);}
-return bounds;},CLASS_NAME:"OpenLayers.Layer"});OpenLayers.StyleMap=OpenLayers.Class({styles:null,extendDefault:true,initialize:function(style,options){this.styles={"default":new OpenLayers.Style(OpenLayers.Feature.Vector.style["default"]),"select":new OpenLayers.Style(OpenLayers.Feature.Vector.style["select"]),"temporary":new OpenLayers.Style(OpenLayers.Feature.Vector.style["temporary"]),"delete":new OpenLayers.Style(OpenLayers.Feature.Vector.style["delete"])};if(style instanceof OpenLayers.Style){this.styles["default"]=style;this.styles["select"]=style;this.styles["temporary"]=style;this.styles["delete"]=style;}else if(typeof style=="object"){for(var key in style){if(style[key]instanceof OpenLayers.Style){this.styles[key]=style[key];}else if(typeof style[key]=="object"){this.styles[key]=new OpenLayers.Style(style[key]);}else{this.styles["default"]=new OpenLayers.Style(style);this.styles["select"]=new OpenLayers.Style(style);this.styles["temporary"]=new OpenLayers.Style(style);this.styles["delete"]=new OpenLayers.Style(style);break;}}}
-OpenLayers.Util.extend(this,options);},destroy:function(){for(var key in this.styles){this.styles[key].destroy();}
-this.styles=null;},createSymbolizer:function(feature,intent){if(!feature){feature=new OpenLayers.Feature.Vector();}
-if(!this.styles[intent]){intent="default";}
-feature.renderIntent=intent;var defaultSymbolizer={};if(this.extendDefault&&intent!="default"){defaultSymbolizer=this.styles["default"].createSymbolizer(feature);}
-return OpenLayers.Util.extend(defaultSymbolizer,this.styles[intent].createSymbolizer(feature));},addUniqueValueRules:function(renderIntent,property,symbolizers,context){var rules=[];for(var value in symbolizers){rules.push(new OpenLayers.Rule({symbolizer:symbolizers[value],context:context,filter:new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.EQUAL_TO,property:property,value:value})}));}
-this.styles[renderIntent].addRules(rules);},CLASS_NAME:"OpenLayers.StyleMap"});OpenLayers.Layer.Vector=OpenLayers.Class(OpenLayers.Layer,{EVENT_TYPES:["beforefeatureadded","beforefeaturesadded","featureadded","featuresadded","beforefeatureremoved","beforefeaturesremoved","featureremoved","featuresremoved","beforefeatureselected","featureselected","featureunselected","beforefeaturemodified","featuremodified","afterfeaturemodified","vertexmodified","vertexremoved","sketchstarted","sketchmodified","sketchcomplete","refresh"],isBaseLayer:false,isFixed:false,features:null,filter:null,selectedFeatures:null,unrenderedFeatures:null,reportError:true,style:null,styleMap:null,strategies:null,protocol:null,renderers:['SVG','VML','Canvas'],renderer:null,rendererOptions:null,geometryType:null,drawn:false,initialize:function(name,options){this.EVENT_TYPES=OpenLayers.Layer.Vector.prototype.EVENT_TYPES.concat(OpenLayers.Layer.prototype.EVENT_TYPES);OpenLayers.Layer.prototype.initialize.apply(this,arguments);if(!this.renderer||!this.renderer.supported()){this.assignRenderer();}
-if(!this.renderer||!this.renderer.supported()){this.renderer=null;this.displayError();}
-if(!this.styleMap){this.styleMap=new OpenLayers.StyleMap();}
-this.features=[];this.selectedFeatures=[];this.unrenderedFeatures={};if(this.strategies){for(var i=0,len=this.strategies.length;i<len;i++){this.strategies[i].setLayer(this);}}},destroy:function(){if(this.strategies){var strategy,i,len;for(i=0,len=this.strategies.length;i<len;i++){strategy=this.strategies[i];if(strategy.autoDestroy){strategy.destroy();}}
-this.strategies=null;}
-if(this.protocol){if(this.protocol.autoDestroy){this.protocol.destroy();}
-this.protocol=null;}
-this.destroyFeatures();this.features=null;this.selectedFeatures=null;this.unrenderedFeatures=null;if(this.renderer){this.renderer.destroy();}
-this.renderer=null;this.geometryType=null;this.drawn=null;OpenLayers.Layer.prototype.destroy.apply(this,arguments);},clone:function(obj){if(obj==null){obj=new OpenLayers.Layer.Vector(this.name,this.getOptions());}
-obj=OpenLayers.Layer.prototype.clone.apply(this,[obj]);var features=this.features;var len=features.length;var clonedFeatures=new Array(len);for(var i=0;i<len;++i){clonedFeatures[i]=features[i].clone();}
-obj.features=clonedFeatures;return obj;},refresh:function(obj){if(this.calculateInRange()&&this.visibility){this.events.triggerEvent("refresh",obj);}},assignRenderer:function(){for(var i=0,len=this.renderers.length;i<len;i++){var rendererClass=this.renderers[i];var renderer=(typeof rendererClass=="function")?rendererClass:OpenLayers.Renderer[rendererClass];if(renderer&&renderer.prototype.supported()){this.renderer=new renderer(this.div,this.rendererOptions);break;}}},displayError:function(){if(this.reportError){OpenLayers.Console.userError(OpenLayers.i18n("browserNotSupported",{'renderers':this.renderers.join("\n")}));}},setMap:function(map){OpenLayers.Layer.prototype.setMap.apply(this,arguments);if(!this.renderer){this.map.removeLayer(this);}else{this.renderer.map=this.map;this.renderer.setSize(this.map.getSize());}},afterAdd:function(){if(this.strategies){var strategy,i,len;for(i=0,len=this.strategies.length;i<len;i++){strategy=this.strategies[i];if(strategy.autoActivate){strategy.activate();}}}},removeMap:function(map){this.drawn=false;if(this.strategies){var strategy,i,len;for(i=0,len=this.strategies.length;i<len;i++){strategy=this.strategies[i];if(strategy.autoActivate){strategy.deactivate();}}}},onMapResize:function(){OpenLayers.Layer.prototype.onMapResize.apply(this,arguments);this.renderer.setSize(this.map.getSize());},moveTo:function(bounds,zoomChanged,dragging){OpenLayers.Layer.prototype.moveTo.apply(this,arguments);var ng=(OpenLayers.Renderer.NG&&this.renderer instanceof OpenLayers.Renderer.NG);if(ng){dragging||this.renderer.updateDimensions(zoomChanged);}else{var coordSysUnchanged=true;if(!dragging){this.renderer.root.style.visibility="hidden";this.div.style.left=-parseInt(this.map.layerContainerDiv.style.left)+"px";this.div.style.top=-parseInt(this.map.layerContainerDiv.style.top)+"px";var extent=this.map.getExtent();coordSysUnchanged=this.renderer.setExtent(extent,zoomChanged);this.renderer.root.style.visibility="visible";if(OpenLayers.IS_GECKO===true){this.div.scrollLeft=this.div.scrollLeft;}
-if(!zoomChanged&&coordSysUnchanged){for(var i in this.unrenderedFeatures){var feature=this.unrenderedFeatures[i];this.drawFeature(feature);}}}}
-if(!this.drawn||(!ng&&(zoomChanged||!coordSysUnchanged))){this.drawn=true;var feature;for(var i=0,len=this.features.length;i<len;i++){this.renderer.locked=(i!==(len-1));feature=this.features[i];this.drawFeature(feature);}}},redraw:function(){if(OpenLayers.Renderer.NG&&this.renderer instanceof OpenLayers.Renderer.NG){this.drawn=false;}
-return OpenLayers.Layer.prototype.redraw.apply(this,arguments);},display:function(display){OpenLayers.Layer.prototype.display.apply(this,arguments);var currentDisplay=this.div.style.display;if(currentDisplay!=this.renderer.root.style.display){this.renderer.root.style.display=currentDisplay;}},addFeatures:function(features,options){if(!(OpenLayers.Util.isArray(features))){features=[features];}
-var notify=!options||!options.silent;if(notify){var event={features:features};var ret=this.events.triggerEvent("beforefeaturesadded",event);if(ret===false){return;}
-features=event.features;}
-var featuresAdded=[];for(var i=0,len=features.length;i<len;i++){if(i!=(features.length-1)){this.renderer.locked=true;}else{this.renderer.locked=false;}
-var feature=features[i];if(this.geometryType&&!(feature.geometry instanceof this.geometryType)){var throwStr=OpenLayers.i18n('componentShouldBe',{'geomType':this.geometryType.prototype.CLASS_NAME});throw throwStr;}
-feature.layer=this;if(!feature.style&&this.style){feature.style=OpenLayers.Util.extend({},this.style);}
-if(notify){if(this.events.triggerEvent("beforefeatureadded",{feature:feature})===false){continue;}
-this.preFeatureInsert(feature);}
-featuresAdded.push(feature);this.features.push(feature);this.drawFeature(feature);if(notify){this.events.triggerEvent("featureadded",{feature:feature});this.onFeatureInsert(feature);}}
-if(notify){this.events.triggerEvent("featuresadded",{features:featuresAdded});}},removeFeatures:function(features,options){if(!features||features.length===0){return;}
-if(features===this.features){return this.removeAllFeatures(options);}
-if(!(OpenLayers.Util.isArray(features))){features=[features];}
-if(features===this.selectedFeatures){features=features.slice();}
-var notify=!options||!options.silent;if(notify){this.events.triggerEvent("beforefeaturesremoved",{features:features});}
-for(var i=features.length-1;i>=0;i--){if(i!=0&&features[i-1].geometry){this.renderer.locked=true;}else{this.renderer.locked=false;}
-var feature=features[i];delete this.unrenderedFeatures[feature.id];if(notify){this.events.triggerEvent("beforefeatureremoved",{feature:feature});}
-this.features=OpenLayers.Util.removeItem(this.features,feature);feature.layer=null;if(feature.geometry){this.renderer.eraseFeatures(feature);}
-if(OpenLayers.Util.indexOf(this.selectedFeatures,feature)!=-1){OpenLayers.Util.removeItem(this.selectedFeatures,feature);}
-if(notify){this.events.triggerEvent("featureremoved",{feature:feature});}}
-if(notify){this.events.triggerEvent("featuresremoved",{features:features});}},removeAllFeatures:function(options){var notify=!options||!options.silent;var features=this.features;if(notify){this.events.triggerEvent("beforefeaturesremoved",{features:features});}
-var feature;for(var i=features.length-1;i>=0;i--){feature=features[i];if(notify){this.events.triggerEvent("beforefeatureremoved",{feature:feature});}
-feature.layer=null;if(notify){this.events.triggerEvent("featureremoved",{feature:feature});}}
-this.renderer.clear();this.features=[];this.unrenderedFeatures={};this.selectedFeatures=[];if(notify){this.events.triggerEvent("featuresremoved",{features:features});}},destroyFeatures:function(features,options){var all=(features==undefined);if(all){features=this.features;}
-if(features){this.removeFeatures(features,options);for(var i=features.length-1;i>=0;i--){features[i].destroy();}}},drawFeature:function(feature,style){if(!this.drawn){return;}
-if(typeof style!="object"){if(!style&&feature.state===OpenLayers.State.DELETE){style="delete";}
-var renderIntent=style||feature.renderIntent;style=feature.style||this.style;if(!style){style=this.styleMap.createSymbolizer(feature,renderIntent);}}
-var drawn=this.renderer.drawFeature(feature,style);if(drawn===false||drawn===null){this.unrenderedFeatures[feature.id]=feature;}else{delete this.unrenderedFeatures[feature.id];}},eraseFeatures:function(features){this.renderer.eraseFeatures(features);},getFeatureFromEvent:function(evt){if(!this.renderer){OpenLayers.Console.error(OpenLayers.i18n("getFeatureError"));return null;}
-var feature=null;var featureId=this.renderer.getFeatureIdFromEvent(evt);if(featureId){if(typeof featureId==="string"){feature=this.getFeatureById(featureId);}else{feature=featureId;}}
-return feature;},getFeatureBy:function(property,value){var feature=null;for(var i=0,len=this.features.length;i<len;++i){if(this.features[i][property]==value){feature=this.features[i];break;}}
-return feature;},getFeatureById:function(featureId){return this.getFeatureBy('id',featureId);},getFeatureByFid:function(featureFid){return this.getFeatureBy('fid',featureFid);},getFeaturesByAttribute:function(attrName,attrValue){var i,feature,len=this.features.length,foundFeatures=[];for(i=0;i<len;i++){feature=this.features[i];if(feature&&feature.attributes){if(feature.attributes[attrName]===attrValue){foundFeatures.push(feature);}}}
-return foundFeatures;},onFeatureInsert:function(feature){},preFeatureInsert:function(feature){},getDataExtent:function(){var maxExtent=null;var features=this.features;if(features&&(features.length>0)){var geometry=null;for(var i=0,len=features.length;i<len;i++){geometry=features[i].geometry;if(geometry){if(maxExtent===null){maxExtent=new OpenLayers.Bounds();}
-maxExtent.extend(geometry.getBounds());}}}
-return maxExtent;},CLASS_NAME:"OpenLayers.Layer.Vector"});OpenLayers.Layer.Vector.RootContainer=OpenLayers.Class(OpenLayers.Layer.Vector,{displayInLayerSwitcher:false,layers:null,initialize:function(name,options){OpenLayers.Layer.Vector.prototype.initialize.apply(this,arguments);},display:function(){},getFeatureFromEvent:function(evt){var layers=this.layers;var feature;for(var i=0;i<layers.length;i++){feature=layers[i].getFeatureFromEvent(evt);if(feature){return feature;}}},setMap:function(map){OpenLayers.Layer.Vector.prototype.setMap.apply(this,arguments);this.collectRoots();map.events.register("changelayer",this,this.handleChangeLayer);},removeMap:function(map){map.events.unregister("changelayer",this,this.handleChangeLayer);this.resetRoots();OpenLayers.Layer.Vector.prototype.removeMap.apply(this,arguments);},collectRoots:function(){var layer;for(var i=0;i<this.map.layers.length;++i){layer=this.map.layers[i];if(OpenLayers.Util.indexOf(this.layers,layer)!=-1){layer.renderer.moveRoot(this.renderer);}}},resetRoots:function(){var layer;for(var i=0;i<this.layers.length;++i){layer=this.layers[i];if(this.renderer&&layer.renderer.getRenderLayerId()==this.id){this.renderer.moveRoot(layer.renderer);}}},handleChangeLayer:function(evt){var layer=evt.layer;if(evt.property=="order"&&OpenLayers.Util.indexOf(this.layers,layer)!=-1){this.resetRoots();this.collectRoots();}},CLASS_NAME:"OpenLayers.Layer.Vector.RootContainer"});OpenLayers.Control.SelectFeature=OpenLayers.Class(OpenLayers.Control,{EVENT_TYPES:["beforefeaturehighlighted","featurehighlighted","featureunhighlighted"],multipleKey:null,toggleKey:null,multiple:false,clickout:true,toggle:false,hover:false,highlightOnly:false,box:false,onBeforeSelect:function(){},onSelect:function(){},onUnselect:function(){},scope:null,geometryTypes:null,layer:null,layers:null,callbacks:null,selectStyle:null,renderIntent:"select",handlers:null,initialize:function(layers,options){this.EVENT_TYPES=OpenLayers.Control.SelectFeature.prototype.EVENT_TYPES.concat(OpenLayers.Control.prototype.EVENT_TYPES);OpenLayers.Control.prototype.initialize.apply(this,[options]);if(this.scope===null){this.scope=this;}
-this.initLayer(layers);var callbacks={click:this.clickFeature,clickout:this.clickoutFeature};if(this.hover){callbacks.over=this.overFeature;callbacks.out=this.outFeature;}
-this.callbacks=OpenLayers.Util.extend(callbacks,this.callbacks);this.handlers={feature:new OpenLayers.Handler.Feature(this,this.layer,this.callbacks,{geometryTypes:this.geometryTypes})};if(this.box){this.handlers.box=new OpenLayers.Handler.Box(this,{done:this.selectBox},{boxDivClassName:"olHandlerBoxSelectFeature"});}},initLayer:function(layers){if(OpenLayers.Util.isArray(layers)){this.layers=layers;this.layer=new OpenLayers.Layer.Vector.RootContainer(this.id+"_container",{layers:layers});}else{this.layer=layers;}},destroy:function(){if(this.active&&this.layers){this.map.removeLayer(this.layer);}
-OpenLayers.Control.prototype.destroy.apply(this,arguments);if(this.layers){this.layer.destroy();}},activate:function(){if(!this.active){if(this.layers){this.map.addLayer(this.layer);}
-this.handlers.feature.activate();if(this.box&&this.handlers.box){this.handlers.box.activate();}}
-return OpenLayers.Control.prototype.activate.apply(this,arguments);},deactivate:function(){if(this.active){this.handlers.feature.deactivate();if(this.handlers.box){this.handlers.box.deactivate();}
-if(this.layers){this.map.removeLayer(this.layer);}}
-return OpenLayers.Control.prototype.deactivate.apply(this,arguments);},unselectAll:function(options){var layers=this.layers||[this.layer];var layer,feature;for(var l=0;l<layers.length;++l){layer=layers[l];for(var i=layer.selectedFeatures.length-1;i>=0;--i){feature=layer.selectedFeatures[i];if(!options||options.except!=feature){this.unselect(feature);}}}},clickFeature:function(feature){if(!this.hover){var selected=(OpenLayers.Util.indexOf(feature.layer.selectedFeatures,feature)>-1);if(selected){if(this.toggleSelect()){this.unselect(feature);}else if(!this.multipleSelect()){this.unselectAll({except:feature});}}else{if(!this.multipleSelect()){this.unselectAll({except:feature});}
-this.select(feature);}}},multipleSelect:function(){return this.multiple||(this.handlers.feature.evt&&this.handlers.feature.evt[this.multipleKey]);},toggleSelect:function(){return this.toggle||(this.handlers.feature.evt&&this.handlers.feature.evt[this.toggleKey]);},clickoutFeature:function(feature){if(!this.hover&&this.clickout){this.unselectAll();}},overFeature:function(feature){var layer=feature.layer;if(this.hover){if(this.highlightOnly){this.highlight(feature);}else if(OpenLayers.Util.indexOf(layer.selectedFeatures,feature)==-1){this.select(feature);}}},outFeature:function(feature){if(this.hover){if(this.highlightOnly){if(feature._lastHighlighter==this.id){if(feature._prevHighlighter&&feature._prevHighlighter!=this.id){delete feature._lastHighlighter;var control=this.map.getControl(feature._prevHighlighter);if(control){control.highlight(feature);}}else{this.unhighlight(feature);}}}else{this.unselect(feature);}}},highlight:function(feature){var layer=feature.layer;var cont=this.events.triggerEvent("beforefeaturehighlighted",{feature:feature});if(cont!==false){feature._prevHighlighter=feature._lastHighlighter;feature._lastHighlighter=this.id;var style=this.selectStyle||this.renderIntent;layer.drawFeature(feature,style);this.events.triggerEvent("featurehighlighted",{feature:feature});}},unhighlight:function(feature){var layer=feature.layer;if(feature._prevHighlighter==undefined){delete feature._lastHighlighter;}else if(feature._prevHighlighter==this.id){delete feature._prevHighlighter;}else{feature._lastHighlighter=feature._prevHighlighter;delete feature._prevHighlighter;}
-layer.drawFeature(feature,feature.style||feature.layer.style||"default");this.events.triggerEvent("featureunhighlighted",{feature:feature});},select:function(feature){var cont=this.onBeforeSelect.call(this.scope,feature);var layer=feature.layer;if(cont!==false){cont=layer.events.triggerEvent("beforefeatureselected",{feature:feature});if(cont!==false){layer.selectedFeatures.push(feature);this.highlight(feature);if(!this.handlers.feature.lastFeature){this.handlers.feature.lastFeature=layer.selectedFeatures[0];}
-layer.events.triggerEvent("featureselected",{feature:feature});this.onSelect.call(this.scope,feature);}}},unselect:function(feature){var layer=feature.layer;this.unhighlight(feature);OpenLayers.Util.removeItem(layer.selectedFeatures,feature);layer.events.triggerEvent("featureunselected",{feature:feature});this.onUnselect.call(this.scope,feature);},selectBox:function(position){if(position instanceof OpenLayers.Bounds){var minXY=this.map.getLonLatFromPixel(new OpenLayers.Pixel(position.left,position.bottom));var maxXY=this.map.getLonLatFromPixel(new OpenLayers.Pixel(position.right,position.top));var bounds=new OpenLayers.Bounds(minXY.lon,minXY.lat,maxXY.lon,maxXY.lat);if(!this.multipleSelect()){this.unselectAll();}
-var prevMultiple=this.multiple;this.multiple=true;var layers=this.layers||[this.layer];var layer;for(var l=0;l<layers.length;++l){layer=layers[l];for(var i=0,len=layer.features.length;i<len;++i){var feature=layer.features[i];if(!feature.getVisibility()){continue;}
-if(this.geometryTypes==null||OpenLayers.Util.indexOf(this.geometryTypes,feature.geometry.CLASS_NAME)>-1){if(bounds.toGeometry().intersects(feature.geometry)){if(OpenLayers.Util.indexOf(layer.selectedFeatures,feature)==-1){this.select(feature);}}}}}
-this.multiple=prevMultiple;}},setMap:function(map){this.handlers.feature.setMap(map);if(this.box){this.handlers.box.setMap(map);}
-OpenLayers.Control.prototype.setMap.apply(this,arguments);},setLayer:function(layers){var isActive=this.active;this.unselectAll();this.deactivate();if(this.layers){this.layer.destroy();this.layers=null;}
-this.initLayer(layers);this.handlers.feature.layer=this.layer;if(isActive){this.activate();}},CLASS_NAME:"OpenLayers.Control.SelectFeature"});OpenLayers.Format.OGCExceptionReport=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{ogc:"http://www.opengis.net/ogc"},regExes:{trimSpace:(/^\s*|\s*$/g),removeSpace:(/\s*/g),splitSpace:(/\s+/),trimComma:(/\s*,\s*/g)},defaultPrefix:"ogc",read:function(data){var result;if(typeof data=="string"){data=OpenLayers.Format.XML.prototype.read.apply(this,[data]);}
-var root=data.documentElement;var exceptionInfo={exceptionReport:null};if(root){this.readChildNodes(data,exceptionInfo);if(exceptionInfo.exceptionReport===null){exceptionInfo=new OpenLayers.Format.OWSCommon().read(data);}}
-return exceptionInfo;},readers:{"ogc":{"ServiceExceptionReport":function(node,obj){obj.exceptionReport={exceptions:[]};this.readChildNodes(node,obj.exceptionReport);},"ServiceException":function(node,exceptionReport){var exception={code:node.getAttribute("code"),locator:node.getAttribute("locator"),text:this.getChildValue(node)};exceptionReport.exceptions.push(exception);}}},CLASS_NAME:"OpenLayers.Format.OGCExceptionReport"});OpenLayers.Format.XML.VersionedOGC=OpenLayers.Class(OpenLayers.Format.XML,{defaultVersion:null,version:null,profile:null,errorProperty:null,name:null,stringifyOutput:false,parser:null,initialize:function(options){OpenLayers.Format.XML.prototype.initialize.apply(this,[options]);var className=this.CLASS_NAME;this.name=className.substring(className.lastIndexOf(".")+1);},getVersion:function(root,options){var version;if(root){version=this.version;if(!version){version=root.getAttribute("version");if(!version){version=this.defaultVersion;}}}else{version=(options&&options.version)||this.version||this.defaultVersion;}
-return version;},getParser:function(version){version=version||this.defaultVersion;var profile=this.profile?"_"+this.profile:"";if(!this.parser||this.parser.VERSION!=version){var format=OpenLayers.Format[this.name]["v"+version.replace(/\./g,"_")+profile];if(!format){throw"Can't find a "+this.name+" parser for version "+
-version+profile;}
-this.parser=new format(this.options);}
-return this.parser;},write:function(obj,options){var version=this.getVersion(null,options);this.parser=this.getParser(version);var root=this.parser.write(obj,options);if(this.stringifyOutput===false){return root;}else{return OpenLayers.Format.XML.prototype.write.apply(this,[root]);}},read:function(data,options){if(typeof data=="string"){data=OpenLayers.Format.XML.prototype.read.apply(this,[data]);}
-var root=data.documentElement;var version=this.getVersion(root);this.parser=this.getParser(version);var obj=this.parser.read(data,options);if(this.errorProperty!==null&&obj[this.errorProperty]===undefined){var format=new OpenLayers.Format.OGCExceptionReport();obj.error=format.read(data);}
-obj.version=version;return obj;},CLASS_NAME:"OpenLayers.Format.XML.VersionedOGC"});OpenLayers.Format.OWSCommon=OpenLayers.Class(OpenLayers.Format.XML.VersionedOGC,{defaultVersion:"1.0.0",getVersion:function(root,options){var version=this.version;if(!version){var uri=root.getAttribute("xmlns:ows");if(uri&&uri.substring(uri.lastIndexOf("/")+1)==="1.1"){version="1.1.0";}
-if(!version){version=this.defaultVersion;}}
-return version;},CLASS_NAME:"OpenLayers.Format.OWSCommon"});OpenLayers.Format.OWSCommon.v1=OpenLayers.Class(OpenLayers.Format.XML,{regExes:{trimSpace:(/^\s*|\s*$/g),removeSpace:(/\s*/g),splitSpace:(/\s+/),trimComma:(/\s*,\s*/g)},read:function(data,options){options=OpenLayers.Util.applyDefaults(options,this.options);var ows={};this.readChildNodes(data,ows);return ows;},readers:{"ows":{"Exception":function(node,exceptionReport){var exception={code:node.getAttribute('exceptionCode'),locator:node.getAttribute('locator'),texts:[]};exceptionReport.exceptions.push(exception);this.readChildNodes(node,exception);},"ExceptionText":function(node,exception){var text=this.getChildValue(node);exception.texts.push(text);},"ServiceIdentification":function(node,obj){obj.serviceIdentification={};this.readChildNodes(node,obj.serviceIdentification);},"Title":function(node,obj){obj.title=this.getChildValue(node);},"Abstract":function(node,serviceIdentification){serviceIdentification["abstract"]=this.getChildValue(node);},"Keywords":function(node,serviceIdentification){serviceIdentification.keywords={};this.readChildNodes(node,serviceIdentification.keywords);},"Keyword":function(node,keywords){keywords[this.getChildValue(node)]=true;},"ServiceType":function(node,serviceIdentification){serviceIdentification.serviceType={codeSpace:node.getAttribute('codeSpace'),value:this.getChildValue(node)};},"ServiceTypeVersion":function(node,serviceIdentification){serviceIdentification.serviceTypeVersion=this.getChildValue(node);},"Fees":function(node,serviceIdentification){serviceIdentification.fees=this.getChildValue(node);},"AccessConstraints":function(node,serviceIdentification){serviceIdentification.accessConstraints=this.getChildValue(node);},"ServiceProvider":function(node,obj){obj.serviceProvider={};this.readChildNodes(node,obj.serviceProvider);},"ProviderName":function(node,serviceProvider){serviceProvider.providerName=this.getChildValue(node);},"ProviderSite":function(node,serviceProvider){serviceProvider.providerSite=this.getAttributeNS(node,this.namespaces.xlink,"href");},"ServiceContact":function(node,serviceProvider){serviceProvider.serviceContact={};this.readChildNodes(node,serviceProvider.serviceContact);},"IndividualName":function(node,serviceContact){serviceContact.individualName=this.getChildValue(node);},"PositionName":function(node,serviceContact){serviceContact.positionName=this.getChildValue(node);},"ContactInfo":function(node,serviceContact){serviceContact.contactInfo={};this.readChildNodes(node,serviceContact.contactInfo);},"Phone":function(node,contactInfo){contactInfo.phone={};this.readChildNodes(node,contactInfo.phone);},"Voice":function(node,phone){phone.voice=this.getChildValue(node);},"Address":function(node,contactInfo){contactInfo.address={};this.readChildNodes(node,contactInfo.address);},"DeliveryPoint":function(node,address){address.deliveryPoint=this.getChildValue(node);},"City":function(node,address){address.city=this.getChildValue(node);},"AdministrativeArea":function(node,address){address.administrativeArea=this.getChildValue(node);},"PostalCode":function(node,address){address.postalCode=this.getChildValue(node);},"Country":function(node,address){address.country=this.getChildValue(node);},"ElectronicMailAddress":function(node,address){address.electronicMailAddress=this.getChildValue(node);},"Role":function(node,serviceContact){serviceContact.role=this.getChildValue(node);},"OperationsMetadata":function(node,obj){obj.operationsMetadata={};this.readChildNodes(node,obj.operationsMetadata);},"Operation":function(node,operationsMetadata){var name=node.getAttribute("name");operationsMetadata[name]={};this.readChildNodes(node,operationsMetadata[name]);},"DCP":function(node,operation){operation.dcp={};this.readChildNodes(node,operation.dcp);},"HTTP":function(node,dcp){dcp.http={};this.readChildNodes(node,dcp.http);},"Get":function(node,http){http.get=this.getAttributeNS(node,this.namespaces.xlink,"href");},"Post":function(node,http){http.post=this.getAttributeNS(node,this.namespaces.xlink,"href");},"Parameter":function(node,operation){if(!operation.parameters){operation.parameters={};}
-var name=node.getAttribute("name");operation.parameters[name]={};this.readChildNodes(node,operation.parameters[name]);},"Value":function(node,allowedValues){allowedValues[this.getChildValue(node)]=true;},"OutputFormat":function(node,obj){obj.formats.push({value:this.getChildValue(node)});this.readChildNodes(node,obj);},"WGS84BoundingBox":function(node,obj){var boundingBox={};boundingBox.crs=node.getAttribute("crs");if(obj.BoundingBox){obj.BoundingBox.push(boundingBox);}else{obj.projection=boundingBox.crs;boundingBox=obj;}
-this.readChildNodes(node,boundingBox);},"BoundingBox":function(node,obj){this.readers['ows']['WGS84BoundingBox'].apply(this,[node,obj]);},"LowerCorner":function(node,obj){var str=this.getChildValue(node).replace(this.regExes.trimSpace,"");str=str.replace(this.regExes.trimComma,",");var pointList=str.split(this.regExes.splitSpace);obj.left=pointList[0];obj.bottom=pointList[1];},"UpperCorner":function(node,obj){var str=this.getChildValue(node).replace(this.regExes.trimSpace,"");str=str.replace(this.regExes.trimComma,",");var pointList=str.split(this.regExes.splitSpace);obj.right=pointList[0];obj.top=pointList[1];obj.bounds=new OpenLayers.Bounds(obj.left,obj.bottom,obj.right,obj.top);delete obj.left;delete obj.bottom;delete obj.right;delete obj.top;},"Language":function(node,obj){obj.language=this.getChildValue(node);}}},writers:{"ows":{"BoundingBox":function(options){var node=this.createElementNSPlus("ows:BoundingBox",{attributes:{crs:options.projection}});this.writeNode("ows:LowerCorner",options,node);this.writeNode("ows:UpperCorner",options,node);return node;},"LowerCorner":function(options){var node=this.createElementNSPlus("ows:LowerCorner",{value:options.bounds.left+" "+options.bounds.bottom});return node;},"UpperCorner":function(options){var node=this.createElementNSPlus("ows:UpperCorner",{value:options.bounds.right+" "+options.bounds.top});return node;},"Identifier":function(identifier){var node=this.createElementNSPlus("ows:Identifier",{value:identifier});return node;},"Title":function(title){var node=this.createElementNSPlus("ows:Title",{value:title});return node;},"Abstract":function(abstractValue){var node=this.createElementNSPlus("ows:Abstract",{value:abstractValue});return node;},"OutputFormat":function(format){var node=this.createElementNSPlus("ows:OutputFormat",{value:format});return node;}}},CLASS_NAME:"OpenLayers.Format.OWSCommon.v1"});OpenLayers.Format.OWSCommon.v1_1_0=OpenLayers.Class(OpenLayers.Format.OWSCommon.v1,{namespaces:{ows:"http://www.opengis.net/ows/1.1",xlink:"http://www.w3.org/1999/xlink"},readers:{"ows":OpenLayers.Util.applyDefaults({"ExceptionReport":function(node,obj){obj.exceptionReport={version:node.getAttribute('version'),language:node.getAttribute('xml:lang'),exceptions:[]};this.readChildNodes(node,obj.exceptionReport);},"AllowedValues":function(node,parameter){parameter.allowedValues={};this.readChildNodes(node,parameter.allowedValues);},"AnyValue":function(node,parameter){parameter.anyValue=true;},"DataType":function(node,parameter){parameter.dataType=this.getChildValue(node);},"Range":function(node,allowedValues){allowedValues.range={};this.readChildNodes(node,allowedValues.range);},"MinimumValue":function(node,range){range.minValue=this.getChildValue(node);},"MaximumValue":function(node,range){range.maxValue=this.getChildValue(node);},"Identifier":function(node,obj){obj.identifier=this.getChildValue(node);},"SupportedCRS":function(node,obj){obj.supportedCRS=this.getChildValue(node);}},OpenLayers.Format.OWSCommon.v1.prototype.readers["ows"])},writers:{"ows":OpenLayers.Util.applyDefaults({"Range":function(range){var node=this.createElementNSPlus("ows:Range",{attributes:{'ows:rangeClosure':range.closure}});this.writeNode("ows:MinimumValue",range.minValue,node);this.writeNode("ows:MaximumValue",range.maxValue,node);return node;},"MinimumValue":function(minValue){var node=this.createElementNSPlus("ows:MinimumValue",{value:minValue});return node;},"MaximumValue":function(maxValue){var node=this.createElementNSPlus("ows:MaximumValue",{value:maxValue});return node;},"Value":function(value){var node=this.createElementNSPlus("ows:Value",{value:value});return node;}},OpenLayers.Format.OWSCommon.v1.prototype.writers["ows"])},CLASS_NAME:"OpenLayers.Format.OWSCommon.v1_1_0"});OpenLayers.Control.Attribution=OpenLayers.Class(OpenLayers.Control,{separator:", ",destroy:function(){this.map.events.un({"removelayer":this.updateAttribution,"addlayer":this.updateAttribution,"changelayer":this.updateAttribution,"changebaselayer":this.updateAttribution,scope:this});OpenLayers.Control.prototype.destroy.apply(this,arguments);},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);this.map.events.on({'changebaselayer':this.updateAttribution,'changelayer':this.updateAttribution,'addlayer':this.updateAttribution,'removelayer':this.updateAttribution,scope:this});this.updateAttribution();return this.div;},updateAttribution:function(){var attributions=[];if(this.map&&this.map.layers){for(var i=0,len=this.map.layers.length;i<len;i++){var layer=this.map.layers[i];if(layer.attribution&&layer.getVisibility()){if(OpenLayers.Util.indexOf(attributions,layer.attribution)===-1){attributions.push(layer.attribution);}}}
-this.div.innerHTML=attributions.join(this.separator);}},CLASS_NAME:"OpenLayers.Control.Attribution"});OpenLayers.Popup=OpenLayers.Class({events:null,id:"",lonlat:null,div:null,contentSize:null,size:null,contentHTML:null,backgroundColor:"",opacity:"",border:"",contentDiv:null,groupDiv:null,closeDiv:null,autoSize:false,minSize:null,maxSize:null,displayClass:"olPopup",contentDisplayClass:"olPopupContent",padding:0,disableFirefoxOverflowHack:false,fixPadding:function(){if(typeof this.padding=="number"){this.padding=new OpenLayers.Bounds(this.padding,this.padding,this.padding,this.padding);}},panMapIfOutOfView:false,keepInMap:false,closeOnMove:false,map:null,initialize:function(id,lonlat,contentSize,contentHTML,closeBox,closeBoxCallback){if(id==null){id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_");}
-this.id=id;this.lonlat=lonlat;this.contentSize=(contentSize!=null)?contentSize:new OpenLayers.Size(OpenLayers.Popup.WIDTH,OpenLayers.Popup.HEIGHT);if(contentHTML!=null){this.contentHTML=contentHTML;}
-this.backgroundColor=OpenLayers.Popup.COLOR;this.opacity=OpenLayers.Popup.OPACITY;this.border=OpenLayers.Popup.BORDER;this.div=OpenLayers.Util.createDiv(this.id,null,null,null,null,null,"hidden");this.div.className=this.displayClass;var groupDivId=this.id+"_GroupDiv";this.groupDiv=OpenLayers.Util.createDiv(groupDivId,null,null,null,"relative",null,"hidden");var id=this.div.id+"_contentDiv";this.contentDiv=OpenLayers.Util.createDiv(id,null,this.contentSize.clone(),null,"relative");this.contentDiv.className=this.contentDisplayClass;this.groupDiv.appendChild(this.contentDiv);this.div.appendChild(this.groupDiv);if(closeBox){this.addCloseBox(closeBoxCallback);}
-this.registerEvents();},destroy:function(){this.id=null;this.lonlat=null;this.size=null;this.contentHTML=null;this.backgroundColor=null;this.opacity=null;this.border=null;if(this.closeOnMove&&this.map){this.map.events.unregister("movestart",this,this.hide);}
-this.events.destroy();this.events=null;if(this.closeDiv){OpenLayers.Event.stopObservingElement(this.closeDiv);this.groupDiv.removeChild(this.closeDiv);}
-this.closeDiv=null;this.div.removeChild(this.groupDiv);this.groupDiv=null;if(this.map!=null){this.map.removePopup(this);}
-this.map=null;this.div=null;this.autoSize=null;this.minSize=null;this.maxSize=null;this.padding=null;this.panMapIfOutOfView=null;},draw:function(px){if(px==null){if((this.lonlat!=null)&&(this.map!=null)){px=this.map.getLayerPxFromLonLat(this.lonlat);}}
-if(this.closeOnMove){this.map.events.register("movestart",this,this.hide);}
-if(!this.disableFirefoxOverflowHack&&OpenLayers.BROWSER_NAME=='firefox'){this.map.events.register("movestart",this,function(){var style=document.defaultView.getComputedStyle(this.contentDiv,null);var currentOverflow=style.getPropertyValue("overflow");if(currentOverflow!="hidden"){this.contentDiv._oldOverflow=currentOverflow;this.contentDiv.style.overflow="hidden";}});this.map.events.register("moveend",this,function(){var oldOverflow=this.contentDiv._oldOverflow;if(oldOverflow){this.contentDiv.style.overflow=oldOverflow;this.contentDiv._oldOverflow=null;}});}
-this.moveTo(px);if(!this.autoSize&&!this.size){this.setSize(this.contentSize);}
-this.setBackgroundColor();this.setOpacity();this.setBorder();this.setContentHTML();if(this.panMapIfOutOfView){this.panIntoView();}
-return this.div;},updatePosition:function(){if((this.lonlat)&&(this.map)){var px=this.map.getLayerPxFromLonLat(this.lonlat);if(px){this.moveTo(px);}}},moveTo:function(px){if((px!=null)&&(this.div!=null)){this.div.style.left=px.x+"px";this.div.style.top=px.y+"px";}},visible:function(){return OpenLayers.Element.visible(this.div);},toggle:function(){if(this.visible()){this.hide();}else{this.show();}},show:function(){this.div.style.display='';if(this.panMapIfOutOfView){this.panIntoView();}},hide:function(){this.div.style.display='none';},setSize:function(contentSize){this.size=contentSize.clone();var contentDivPadding=this.getContentDivPadding();var wPadding=contentDivPadding.left+contentDivPadding.right;var hPadding=contentDivPadding.top+contentDivPadding.bottom;this.fixPadding();wPadding+=this.padding.left+this.padding.right;hPadding+=this.padding.top+this.padding.bottom;if(this.closeDiv){var closeDivWidth=parseInt(this.closeDiv.style.width);wPadding+=closeDivWidth+contentDivPadding.right;}
-this.size.w+=wPadding;this.size.h+=hPadding;if(OpenLayers.BROWSER_NAME=="msie"){this.contentSize.w+=contentDivPadding.left+contentDivPadding.right;this.contentSize.h+=contentDivPadding.bottom+contentDivPadding.top;}
-if(this.div!=null){this.div.style.width=this.size.w+"px";this.div.style.height=this.size.h+"px";}
-if(this.contentDiv!=null){this.contentDiv.style.width=contentSize.w+"px";this.contentDiv.style.height=contentSize.h+"px";}},updateSize:function(){var preparedHTML="<div class='"+this.contentDisplayClass+"'>"+
-this.contentDiv.innerHTML+"</div>";var containerElement=(this.map)?this.map.layerContainerDiv:document.body;var realSize=OpenLayers.Util.getRenderedDimensions(preparedHTML,null,{displayClass:this.displayClass,containerElement:containerElement});var safeSize=this.getSafeContentSize(realSize);var newSize=null;if(safeSize.equals(realSize)){newSize=realSize;}else{var fixedSize=new OpenLayers.Size();fixedSize.w=(safeSize.w<realSize.w)?safeSize.w:null;fixedSize.h=(safeSize.h<realSize.h)?safeSize.h:null;if(fixedSize.w&&fixedSize.h){newSize=safeSize;}else{var clippedSize=OpenLayers.Util.getRenderedDimensions(preparedHTML,fixedSize,{displayClass:this.contentDisplayClass,containerElement:containerElement});var currentOverflow=OpenLayers.Element.getStyle(this.contentDiv,"overflow");if((currentOverflow!="hidden")&&(clippedSize.equals(safeSize))){var scrollBar=OpenLayers.Util.getScrollbarWidth();if(fixedSize.w){clippedSize.h+=scrollBar;}else{clippedSize.w+=scrollBar;}}
-newSize=this.getSafeContentSize(clippedSize);}}
-this.setSize(newSize);},setBackgroundColor:function(color){if(color!=undefined){this.backgroundColor=color;}
-if(this.div!=null){this.div.style.backgroundColor=this.backgroundColor;}},setOpacity:function(opacity){if(opacity!=undefined){this.opacity=opacity;}
-if(this.div!=null){this.div.style.opacity=this.opacity;this.div.style.filter='alpha(opacity='+this.opacity*100+')';}},setBorder:function(border){if(border!=undefined){this.border=border;}
-if(this.div!=null){this.div.style.border=this.border;}},setContentHTML:function(contentHTML){if(contentHTML!=null){this.contentHTML=contentHTML;}
-if((this.contentDiv!=null)&&(this.contentHTML!=null)&&(this.contentHTML!=this.contentDiv.innerHTML)){this.contentDiv.innerHTML=this.contentHTML;if(this.autoSize){this.registerImageListeners();this.updateSize();}}},registerImageListeners:function(){var onImgLoad=function(){this.popup.updateSize();if(this.popup.visible()&&this.popup.panMapIfOutOfView){this.popup.panIntoView();}
-OpenLayers.Event.stopObserving(this.img,"load",this.img._onImageLoad);};var images=this.contentDiv.getElementsByTagName("img");for(var i=0,len=images.length;i<len;i++){var img=images[i];if(img.width==0||img.height==0){var context={'popup':this,'img':img};img._onImgLoad=OpenLayers.Function.bind(onImgLoad,context);OpenLayers.Event.observe(img,'load',img._onImgLoad);}}},getSafeContentSize:function(size){var safeContentSize=size.clone();var contentDivPadding=this.getContentDivPadding();var wPadding=contentDivPadding.left+contentDivPadding.right;var hPadding=contentDivPadding.top+contentDivPadding.bottom;this.fixPadding();wPadding+=this.padding.left+this.padding.right;hPadding+=this.padding.top+this.padding.bottom;if(this.closeDiv){var closeDivWidth=parseInt(this.closeDiv.style.width);wPadding+=closeDivWidth+contentDivPadding.right;}
-if(this.minSize){safeContentSize.w=Math.max(safeContentSize.w,(this.minSize.w-wPadding));safeContentSize.h=Math.max(safeContentSize.h,(this.minSize.h-hPadding));}
-if(this.maxSize){safeContentSize.w=Math.min(safeContentSize.w,(this.maxSize.w-wPadding));safeContentSize.h=Math.min(safeContentSize.h,(this.maxSize.h-hPadding));}
-if(this.map&&this.map.size){var extraX=0,extraY=0;if(this.keepInMap&&!this.panMapIfOutOfView){var px=this.map.getPixelFromLonLat(this.lonlat);switch(this.relativePosition){case"tr":extraX=px.x;extraY=this.map.size.h-px.y;break;case"tl":extraX=this.map.size.w-px.x;extraY=this.map.size.h-px.y;break;case"bl":extraX=this.map.size.w-px.x;extraY=px.y;break;case"br":extraX=px.x;extraY=px.y;break;default:extraX=px.x;extraY=this.map.size.h-px.y;break;}}
-var maxY=this.map.size.h-
-this.map.paddingForPopups.top-
-this.map.paddingForPopups.bottom-
-hPadding-extraY;var maxX=this.map.size.w-
-this.map.paddingForPopups.left-
-this.map.paddingForPopups.right-
-wPadding-extraX;safeContentSize.w=Math.min(safeContentSize.w,maxX);safeContentSize.h=Math.min(safeContentSize.h,maxY);}
-return safeContentSize;},getContentDivPadding:function(){var contentDivPadding=this._contentDivPadding;if(!contentDivPadding){if(this.div.parentNode==null){this.div.style.display="none";document.body.appendChild(this.div);}
-contentDivPadding=new OpenLayers.Bounds(OpenLayers.Element.getStyle(this.contentDiv,"padding-left"),OpenLayers.Element.getStyle(this.contentDiv,"padding-bottom"),OpenLayers.Element.getStyle(this.contentDiv,"padding-right"),OpenLayers.Element.getStyle(this.contentDiv,"padding-top"));this._contentDivPadding=contentDivPadding;if(this.div.parentNode==document.body){document.body.removeChild(this.div);this.div.style.display="";}}
-return contentDivPadding;},addCloseBox:function(callback){this.closeDiv=OpenLayers.Util.createDiv(this.id+"_close",null,new OpenLayers.Size(17,17));this.closeDiv.className="olPopupCloseBox";var contentDivPadding=this.getContentDivPadding();this.closeDiv.style.right=contentDivPadding.right+"px";this.closeDiv.style.top=contentDivPadding.top+"px";this.groupDiv.appendChild(this.closeDiv);var closePopup=callback||function(e){this.hide();OpenLayers.Event.stop(e);};OpenLayers.Event.observe(this.closeDiv,"touchend",OpenLayers.Function.bindAsEventListener(closePopup,this));OpenLayers.Event.observe(this.closeDiv,"click",OpenLayers.Function.bindAsEventListener(closePopup,this));},panIntoView:function(){var mapSize=this.map.getSize();var origTL=this.map.getViewPortPxFromLayerPx(new OpenLayers.Pixel(parseInt(this.div.style.left),parseInt(this.div.style.top)));var newTL=origTL.clone();if(origTL.x<this.map.paddingForPopups.left){newTL.x=this.map.paddingForPopups.left;}else
-if((origTL.x+this.size.w)>(mapSize.w-this.map.paddingForPopups.right)){newTL.x=mapSize.w-this.map.paddingForPopups.right-this.size.w;}
-if(origTL.y<this.map.paddingForPopups.top){newTL.y=this.map.paddingForPopups.top;}else
-if((origTL.y+this.size.h)>(mapSize.h-this.map.paddingForPopups.bottom)){newTL.y=mapSize.h-this.map.paddingForPopups.bottom-this.size.h;}
-var dx=origTL.x-newTL.x;var dy=origTL.y-newTL.y;this.map.pan(dx,dy);},registerEvents:function(){this.events=new OpenLayers.Events(this,this.div,null,true);function onTouchstart(evt){OpenLayers.Event.stop(evt,true);}
-this.events.on({"mousedown":this.onmousedown,"mousemove":this.onmousemove,"mouseup":this.onmouseup,"click":this.onclick,"mouseout":this.onmouseout,"dblclick":this.ondblclick,"touchstart":onTouchstart,scope:this});},onmousedown:function(evt){this.mousedown=true;OpenLayers.Event.stop(evt,true);},onmousemove:function(evt){if(this.mousedown){OpenLayers.Event.stop(evt,true);}},onmouseup:function(evt){if(this.mousedown){this.mousedown=false;OpenLayers.Event.stop(evt,true);}},onclick:function(evt){OpenLayers.Event.stop(evt,true);},onmouseout:function(evt){this.mousedown=false;},ondblclick:function(evt){OpenLayers.Event.stop(evt,true);},CLASS_NAME:"OpenLayers.Popup"});OpenLayers.Popup.WIDTH=200;OpenLayers.Popup.HEIGHT=200;OpenLayers.Popup.COLOR="white";OpenLayers.Popup.OPACITY=1;OpenLayers.Popup.BORDER="0px";OpenLayers.Popup.Anchored=OpenLayers.Class(OpenLayers.Popup,{relativePosition:null,keepInMap:true,anchor:null,initialize:function(id,lonlat,contentSize,contentHTML,anchor,closeBox,closeBoxCallback){var newArguments=[id,lonlat,contentSize,contentHTML,closeBox,closeBoxCallback];OpenLayers.Popup.prototype.initialize.apply(this,newArguments);this.anchor=(anchor!=null)?anchor:{size:new OpenLayers.Size(0,0),offset:new OpenLayers.Pixel(0,0)};},destroy:function(){this.anchor=null;this.relativePosition=null;OpenLayers.Popup.prototype.destroy.apply(this,arguments);},show:function(){this.updatePosition();OpenLayers.Popup.prototype.show.apply(this,arguments);},moveTo:function(px){var oldRelativePosition=this.relativePosition;this.relativePosition=this.calculateRelativePosition(px);var newPx=this.calculateNewPx(px);var newArguments=new Array(newPx);OpenLayers.Popup.prototype.moveTo.apply(this,newArguments);if(this.relativePosition!=oldRelativePosition){this.updateRelativePosition();}},setSize:function(contentSize){OpenLayers.Popup.prototype.setSize.apply(this,arguments);if((this.lonlat)&&(this.map)){var px=this.map.getLayerPxFromLonLat(this.lonlat);this.moveTo(px);}},calculateRelativePosition:function(px){var lonlat=this.map.getLonLatFromLayerPx(px);var extent=this.map.getExtent();var quadrant=extent.determineQuadrant(lonlat);return OpenLayers.Bounds.oppositeQuadrant(quadrant);},updateRelativePosition:function(){},calculateNewPx:function(px){var newPx=px.offset(this.anchor.offset);var size=this.size||this.contentSize;var top=(this.relativePosition.charAt(0)=='t');newPx.y+=(top)?-size.h:this.anchor.size.h;var left=(this.relativePosition.charAt(1)=='l');newPx.x+=(left)?-size.w:this.anchor.size.w;return newPx;},CLASS_NAME:"OpenLayers.Popup.Anchored"});OpenLayers.Popup.Framed=OpenLayers.Class(OpenLayers.Popup.Anchored,{imageSrc:null,imageSize:null,isAlphaImage:false,positionBlocks:null,blocks:null,fixedRelativePosition:false,initialize:function(id,lonlat,contentSize,contentHTML,anchor,closeBox,closeBoxCallback){OpenLayers.Popup.Anchored.prototype.initialize.apply(this,arguments);if(this.fixedRelativePosition){this.updateRelativePosition();this.calculateRelativePosition=function(px){return this.relativePosition;};}
-this.contentDiv.style.position="absolute";this.contentDiv.style.zIndex=1;if(closeBox){this.closeDiv.style.zIndex=1;}
-this.groupDiv.style.position="absolute";this.groupDiv.style.top="0px";this.groupDiv.style.left="0px";this.groupDiv.style.height="100%";this.groupDiv.style.width="100%";},destroy:function(){this.imageSrc=null;this.imageSize=null;this.isAlphaImage=null;this.fixedRelativePosition=false;this.positionBlocks=null;for(var i=0;i<this.blocks.length;i++){var block=this.blocks[i];if(block.image){block.div.removeChild(block.image);}
-block.image=null;if(block.div){this.groupDiv.removeChild(block.div);}
-block.div=null;}
-this.blocks=null;OpenLayers.Popup.Anchored.prototype.destroy.apply(this,arguments);},setBackgroundColor:function(color){},setBorder:function(){},setOpacity:function(opacity){},setSize:function(contentSize){OpenLayers.Popup.Anchored.prototype.setSize.apply(this,arguments);this.updateBlocks();},updateRelativePosition:function(){this.padding=this.positionBlocks[this.relativePosition].padding;if(this.closeDiv){var contentDivPadding=this.getContentDivPadding();this.closeDiv.style.right=contentDivPadding.right+
-this.padding.right+"px";this.closeDiv.style.top=contentDivPadding.top+
-this.padding.top+"px";}
-this.updateBlocks();},calculateNewPx:function(px){var newPx=OpenLayers.Popup.Anchored.prototype.calculateNewPx.apply(this,arguments);newPx=newPx.offset(this.positionBlocks[this.relativePosition].offset);return newPx;},createBlocks:function(){this.blocks=[];var firstPosition=null;for(var key in this.positionBlocks){firstPosition=key;break;}
-var position=this.positionBlocks[firstPosition];for(var i=0;i<position.blocks.length;i++){var block={};this.blocks.push(block);var divId=this.id+'_FrameDecorationDiv_'+i;block.div=OpenLayers.Util.createDiv(divId,null,null,null,"absolute",null,"hidden",null);var imgId=this.id+'_FrameDecorationImg_'+i;var imageCreator=(this.isAlphaImage)?OpenLayers.Util.createAlphaImageDiv:OpenLayers.Util.createImage;block.image=imageCreator(imgId,null,this.imageSize,this.imageSrc,"absolute",null,null,null);block.div.appendChild(block.image);this.groupDiv.appendChild(block.div);}},updateBlocks:function(){if(!this.blocks){this.createBlocks();}
-if(this.size&&this.relativePosition){var position=this.positionBlocks[this.relativePosition];for(var i=0;i<position.blocks.length;i++){var positionBlock=position.blocks[i];var block=this.blocks[i];var l=positionBlock.anchor.left;var b=positionBlock.anchor.bottom;var r=positionBlock.anchor.right;var t=positionBlock.anchor.top;var w=(isNaN(positionBlock.size.w))?this.size.w-(r+l):positionBlock.size.w;var h=(isNaN(positionBlock.size.h))?this.size.h-(b+t):positionBlock.size.h;block.div.style.width=(w<0?0:w)+'px';block.div.style.height=(h<0?0:h)+'px';block.div.style.left=(l!=null)?l+'px':'';block.div.style.bottom=(b!=null)?b+'px':'';block.div.style.right=(r!=null)?r+'px':'';block.div.style.top=(t!=null)?t+'px':'';block.image.style.left=positionBlock.position.x+'px';block.image.style.top=positionBlock.position.y+'px';}
-this.contentDiv.style.left=this.padding.left+"px";this.contentDiv.style.top=this.padding.top+"px";}},CLASS_NAME:"OpenLayers.Popup.Framed"});OpenLayers.Filter.Logical=OpenLayers.Class(OpenLayers.Filter,{filters:null,type:null,initialize:function(options){this.filters=[];OpenLayers.Filter.prototype.initialize.apply(this,[options]);},destroy:function(){this.filters=null;OpenLayers.Filter.prototype.destroy.apply(this);},evaluate:function(context){var i,len;switch(this.type){case OpenLayers.Filter.Logical.AND:for(i=0,len=this.filters.length;i<len;i++){if(this.filters[i].evaluate(context)==false){return false;}}
-return true;case OpenLayers.Filter.Logical.OR:for(i=0,len=this.filters.length;i<len;i++){if(this.filters[i].evaluate(context)==true){return true;}}
-return false;case OpenLayers.Filter.Logical.NOT:return(!this.filters[0].evaluate(context));}
-return undefined;},clone:function(){var filters=[];for(var i=0,len=this.filters.length;i<len;++i){filters.push(this.filters[i].clone());}
-return new OpenLayers.Filter.Logical({type:this.type,filters:filters});},CLASS_NAME:"OpenLayers.Filter.Logical"});OpenLayers.Filter.Logical.AND="&&";OpenLayers.Filter.Logical.OR="||";OpenLayers.Filter.Logical.NOT="!";OpenLayers.Handler.Drag=OpenLayers.Class(OpenLayers.Handler,{started:false,stopDown:true,dragging:false,touch:false,last:null,start:null,lastMoveEvt:null,oldOnselectstart:null,interval:0,timeoutId:null,documentDrag:false,documentEvents:null,initialize:function(control,callbacks,options){OpenLayers.Handler.prototype.initialize.apply(this,arguments);if(this.documentDrag===true){var me=this;this._docMove=function(evt){me.mousemove({xy:{x:evt.clientX,y:evt.clientY},element:document});};this._docUp=function(evt){me.mouseup({xy:{x:evt.clientX,y:evt.clientY}});};}},dragstart:function(evt){var propagate=true;this.dragging=false;if(this.checkModifiers(evt)&&(OpenLayers.Event.isLeftClick(evt)||OpenLayers.Event.isSingleTouch(evt))){this.started=true;this.start=evt.xy;this.last=evt.xy;OpenLayers.Element.addClass(this.map.viewPortDiv,"olDragDown");this.down(evt);this.callback("down",[evt.xy]);OpenLayers.Event.stop(evt);if(!this.oldOnselectstart){this.oldOnselectstart=document.onselectstart?document.onselectstart:OpenLayers.Function.True;}
-document.onselectstart=OpenLayers.Function.False;propagate=!this.stopDown;}else{this.started=false;this.start=null;this.last=null;}
-return propagate;},dragmove:function(evt){this.lastMoveEvt=evt;if(this.started&&!this.timeoutId&&(evt.xy.x!=this.last.x||evt.xy.y!=this.last.y)){if(this.documentDrag===true&&this.documentEvents){if(evt.element===document){this.adjustXY(evt);this.setEvent(evt);}else{this.removeDocumentEvents();}}
-if(this.interval>0){this.timeoutId=setTimeout(OpenLayers.Function.bind(this.removeTimeout,this),this.interval);}
-this.dragging=true;this.move(evt);this.callback("move",[evt.xy]);if(!this.oldOnselectstart){this.oldOnselectstart=document.onselectstart;document.onselectstart=OpenLayers.Function.False;}
-this.last=evt.xy;}
-return true;},dragend:function(evt){if(this.started){if(this.documentDrag===true&&this.documentEvents){this.adjustXY(evt);this.removeDocumentEvents();}
-var dragged=(this.start!=this.last);this.started=false;this.dragging=false;OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDragDown");this.up(evt);this.callback("up",[evt.xy]);if(dragged){this.callback("done",[evt.xy]);}
-document.onselectstart=this.oldOnselectstart;}
-return true;},down:function(evt){},move:function(evt){},up:function(evt){},out:function(evt){},mousedown:function(evt){return this.dragstart(evt);},touchstart:function(evt){if(!this.touch){this.touch=true;this.map.events.un({mousedown:this.mousedown,mouseup:this.mouseup,mousemove:this.mousemove,click:this.click,scope:this});}
-return this.dragstart(evt);},mousemove:function(evt){return this.dragmove(evt);},touchmove:function(evt){return this.dragmove(evt);},removeTimeout:function(){this.timeoutId=null;if(this.dragging){this.mousemove(this.lastMoveEvt);}},mouseup:function(evt){return this.dragend(evt);},touchend:function(evt){evt.xy=this.last;return this.dragend(evt);},mouseout:function(evt){if(this.started&&OpenLayers.Util.mouseLeft(evt,this.map.eventsDiv)){if(this.documentDrag===true){this.addDocumentEvents();}else{var dragged=(this.start!=this.last);this.started=false;this.dragging=false;OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDragDown");this.out(evt);this.callback("out",[]);if(dragged){this.callback("done",[evt.xy]);}
-if(document.onselectstart){document.onselectstart=this.oldOnselectstart;}}}
-return true;},click:function(evt){return(this.start==this.last);},activate:function(){var activated=false;if(OpenLayers.Handler.prototype.activate.apply(this,arguments)){this.dragging=false;activated=true;}
-return activated;},deactivate:function(){var deactivated=false;if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){this.touch=false;this.started=false;this.dragging=false;this.start=null;this.last=null;deactivated=true;OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDragDown");}
-return deactivated;},adjustXY:function(evt){var pos=OpenLayers.Util.pagePosition(this.map.viewPortDiv);evt.xy.x-=pos[0];evt.xy.y-=pos[1];},addDocumentEvents:function(){OpenLayers.Element.addClass(document.body,"olDragDown");this.documentEvents=true;OpenLayers.Event.observe(document,"mousemove",this._docMove);OpenLayers.Event.observe(document,"mouseup",this._docUp);},removeDocumentEvents:function(){OpenLayers.Element.removeClass(document.body,"olDragDown");this.documentEvents=false;OpenLayers.Event.stopObserving(document,"mousemove",this._docMove);OpenLayers.Event.stopObserving(document,"mouseup",this._docUp);},CLASS_NAME:"OpenLayers.Handler.Drag"});OpenLayers.Handler.Box=OpenLayers.Class(OpenLayers.Handler,{dragHandler:null,boxDivClassName:'olHandlerBoxZoomBox',boxOffsets:null,initialize:function(control,callbacks,options){OpenLayers.Handler.prototype.initialize.apply(this,arguments);this.dragHandler=new OpenLayers.Handler.Drag(this,{down:this.startBox,move:this.moveBox,out:this.removeBox,up:this.endBox},{keyMask:this.keyMask});},destroy:function(){OpenLayers.Handler.prototype.destroy.apply(this,arguments);if(this.dragHandler){this.dragHandler.destroy();this.dragHandler=null;}},setMap:function(map){OpenLayers.Handler.prototype.setMap.apply(this,arguments);if(this.dragHandler){this.dragHandler.setMap(map);}},startBox:function(xy){this.callback("start",[]);this.zoomBox=OpenLayers.Util.createDiv('zoomBox',new OpenLayers.Pixel(-9999,-9999));this.zoomBox.className=this.boxDivClassName;this.zoomBox.style.zIndex=this.map.Z_INDEX_BASE["Popup"]-1;this.map.eventsDiv.appendChild(this.zoomBox);OpenLayers.Element.addClass(this.map.eventsDiv,"olDrawBox");},moveBox:function(xy){var startX=this.dragHandler.start.x;var startY=this.dragHandler.start.y;var deltaX=Math.abs(startX-xy.x);var deltaY=Math.abs(startY-xy.y);var offset=this.getBoxOffsets();this.zoomBox.style.width=(deltaX+offset.width+1)+"px";this.zoomBox.style.height=(deltaY+offset.height+1)+"px";this.zoomBox.style.left=(xy.x<startX?startX-deltaX-offset.left:startX-offset.left)+"px";this.zoomBox.style.top=(xy.y<startY?startY-deltaY-offset.top:startY-offset.top)+"px";},endBox:function(end){var result;if(Math.abs(this.dragHandler.start.x-end.x)>5||Math.abs(this.dragHandler.start.y-end.y)>5){var start=this.dragHandler.start;var top=Math.min(start.y,end.y);var bottom=Math.max(start.y,end.y);var left=Math.min(start.x,end.x);var right=Math.max(start.x,end.x);result=new OpenLayers.Bounds(left,bottom,right,top);}else{result=this.dragHandler.start.clone();}
-this.removeBox();this.callback("done",[result]);},removeBox:function(){this.map.eventsDiv.removeChild(this.zoomBox);this.zoomBox=null;this.boxOffsets=null;OpenLayers.Element.removeClass(this.map.eventsDiv,"olDrawBox");},activate:function(){if(OpenLayers.Handler.prototype.activate.apply(this,arguments)){this.dragHandler.activate();return true;}else{return false;}},deactivate:function(){if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){if(this.dragHandler.deactivate()){if(this.zoomBox){this.removeBox();}}
-return true;}else{return false;}},getBoxOffsets:function(){if(!this.boxOffsets){var testDiv=document.createElement("div");testDiv.style.position="absolute";testDiv.style.border="1px solid black";testDiv.style.width="3px";document.body.appendChild(testDiv);var w3cBoxModel=testDiv.clientWidth==3;document.body.removeChild(testDiv);var left=parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-left-width"));var right=parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-right-width"));var top=parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-top-width"));var bottom=parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-bottom-width"));this.boxOffsets={left:left,right:right,top:top,bottom:bottom,width:w3cBoxModel===false?left+right:0,height:w3cBoxModel===false?top+bottom:0};}
-return this.boxOffsets;},CLASS_NAME:"OpenLayers.Handler.Box"});OpenLayers.Control.ZoomBox=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_TOOL,out:false,alwaysZoom:false,draw:function(){this.handler=new OpenLayers.Handler.Box(this,{done:this.zoomBox},{keyMask:this.keyMask});},zoomBox:function(position){if(position instanceof OpenLayers.Bounds){var bounds;if(!this.out){var minXY=this.map.getLonLatFromPixel(new OpenLayers.Pixel(position.left,position.bottom));var maxXY=this.map.getLonLatFromPixel(new OpenLayers.Pixel(position.right,position.top));bounds=new OpenLayers.Bounds(minXY.lon,minXY.lat,maxXY.lon,maxXY.lat);}else{var pixWidth=Math.abs(position.right-position.left);var pixHeight=Math.abs(position.top-position.bottom);var zoomFactor=Math.min((this.map.size.h/pixHeight),(this.map.size.w/pixWidth));var extent=this.map.getExtent();var center=this.map.getLonLatFromPixel(position.getCenterPixel());var xmin=center.lon-(extent.getWidth()/2)*zoomFactor;var xmax=center.lon+(extent.getWidth()/2)*zoomFactor;var ymin=center.lat-(extent.getHeight()/2)*zoomFactor;var ymax=center.lat+(extent.getHeight()/2)*zoomFactor;bounds=new OpenLayers.Bounds(xmin,ymin,xmax,ymax);}
-var lastZoom=this.map.getZoom();this.map.zoomToExtent(bounds);if(lastZoom==this.map.getZoom()&&this.alwaysZoom==true){this.map.zoomTo(lastZoom+(this.out?-1:1));}}else{if(!this.out){this.map.setCenter(this.map.getLonLatFromPixel(position),this.map.getZoom()+1);}else{this.map.setCenter(this.map.getLonLatFromPixel(position),this.map.getZoom()-1);}}},CLASS_NAME:"OpenLayers.Control.ZoomBox"});OpenLayers.Control.DragPan=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_TOOL,panned:false,interval:1,documentDrag:false,kinetic:null,enableKinetic:false,kineticInterval:10,draw:function(){if(this.enableKinetic){var config={interval:this.kineticInterval};if(typeof this.enableKinetic==="object"){config=OpenLayers.Util.extend(config,this.enableKinetic);}
-this.kinetic=new OpenLayers.Kinetic(config);}
-this.handler=new OpenLayers.Handler.Drag(this,{"move":this.panMap,"done":this.panMapDone,"down":this.panMapStart},{interval:this.interval,documentDrag:this.documentDrag});},panMapStart:function(){if(this.kinetic){this.kinetic.begin();}},panMap:function(xy){if(this.kinetic){this.kinetic.update(xy);}
-this.panned=true;this.map.pan(this.handler.last.x-xy.x,this.handler.last.y-xy.y,{dragging:true,animate:false});},panMapDone:function(xy){if(this.panned){var res=null;if(this.kinetic){res=this.kinetic.end(xy);}
-this.map.pan(this.handler.last.x-xy.x,this.handler.last.y-xy.y,{dragging:!!res,animate:false});if(res){var self=this;this.kinetic.move(res,function(x,y,end){self.map.pan(x,y,{dragging:!end,animate:false});});}
-this.panned=false;}},CLASS_NAME:"OpenLayers.Control.DragPan"});OpenLayers.Handler.Click=OpenLayers.Class(OpenLayers.Handler,{delay:300,single:true,'double':false,pixelTolerance:0,dblclickTolerance:13,stopSingle:false,stopDouble:false,timerId:null,touch:false,down:null,last:null,first:null,rightclickTimerId:null,initialize:function(control,callbacks,options){OpenLayers.Handler.prototype.initialize.apply(this,arguments);},touchstart:function(evt){if(!this.touch){this.unregisterMouseListeners();this.touch=true;}
-this.down=this.getEventInfo(evt);this.last=this.getEventInfo(evt);return true;},touchmove:function(evt){this.last=this.getEventInfo(evt);return true;},touchend:function(evt){if(this.down){evt.xy=this.last.xy;evt.lastTouches=this.last.touches;this.handleSingle(evt);this.down=null;}
-return true;},unregisterMouseListeners:function(){this.map.events.un({mousedown:this.mousedown,mouseup:this.mouseup,click:this.click,dblclick:this.dblclick,scope:this});},mousedown:function(evt){this.down=this.getEventInfo(evt);this.last=this.getEventInfo(evt);return true;},mouseup:function(evt){var propagate=true;if(this.checkModifiers(evt)&&this.control.handleRightClicks&&OpenLayers.Event.isRightClick(evt)){propagate=this.rightclick(evt);}
-return propagate;},rightclick:function(evt){if(this.passesTolerance(evt)){if(this.rightclickTimerId!=null){this.clearTimer();this.callback('dblrightclick',[evt]);return!this.stopDouble;}else{var clickEvent=this['double']?OpenLayers.Util.extend({},evt):this.callback('rightclick',[evt]);var delayedRightCall=OpenLayers.Function.bind(this.delayedRightCall,this,clickEvent);this.rightclickTimerId=window.setTimeout(delayedRightCall,this.delay);}}
-return!this.stopSingle;},delayedRightCall:function(evt){this.rightclickTimerId=null;if(evt){this.callback('rightclick',[evt]);}},click:function(evt){if(!this.last){this.last=this.getEventInfo(evt);}
-this.handleSingle(evt);return!this.stopSingle;},dblclick:function(evt){this.handleDouble(evt);return!this.stopDouble;},handleDouble:function(evt){if(this["double"]&&this.passesDblclickTolerance(evt)){this.callback("dblclick",[evt]);}},handleSingle:function(evt){if(this.passesTolerance(evt)){if(this.timerId!=null){if(this.last.touches&&this.last.touches.length===1){if(this["double"]){OpenLayers.Event.stop(evt);}
-this.handleDouble(evt);}
-if(!this.last.touches||this.last.touches.length!==2){this.clearTimer();}}else{this.first=this.getEventInfo(evt);var clickEvent=this.single?OpenLayers.Util.extend({},evt):null;this.queuePotentialClick(clickEvent);}}},queuePotentialClick:function(evt){this.timerId=window.setTimeout(OpenLayers.Function.bind(this.delayedCall,this,evt),this.delay);},passesTolerance:function(evt){var passes=true;if(this.pixelTolerance!=null&&this.down&&this.down.xy){passes=this.pixelTolerance>=this.down.xy.distanceTo(evt.xy);if(passes&&this.touch&&this.down.touches.length===this.last.touches.length){for(var i=0,ii=this.down.touches.length;i<ii;++i){if(this.getTouchDistance(this.down.touches[i],this.last.touches[i])>this.pixelTolerance){passes=false;break;}}}}
-return passes;},getTouchDistance:function(from,to){return Math.sqrt(Math.pow(from.clientX-to.clientX,2)+
-Math.pow(from.clientY-to.clientY,2));},passesDblclickTolerance:function(evt){var passes=true;if(this.down&&this.first){passes=this.down.xy.distanceTo(this.first.xy)<=this.dblclickTolerance;}
-return passes;},clearTimer:function(){if(this.timerId!=null){window.clearTimeout(this.timerId);this.timerId=null;}
-if(this.rightclickTimerId!=null){window.clearTimeout(this.rightclickTimerId);this.rightclickTimerId=null;}},delayedCall:function(evt){this.timerId=null;if(evt){this.callback("click",[evt]);}},getEventInfo:function(evt){var touches;if(evt.touches){var len=evt.touches.length;touches=new Array(len);var touch;for(var i=0;i<len;i++){touch=evt.touches[i];touches[i]={clientX:touch.clientX,clientY:touch.clientY};}}
-return{xy:evt.xy,touches:touches};},deactivate:function(){var deactivated=false;if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){this.clearTimer();this.down=null;this.first=null;this.last=null;this.touch=false;deactivated=true;}
-return deactivated;},CLASS_NAME:"OpenLayers.Handler.Click"});OpenLayers.Control.Navigation=OpenLayers.Class(OpenLayers.Control,{dragPan:null,dragPanOptions:null,pinchZoom:null,pinchZoomOptions:null,documentDrag:false,zoomBox:null,zoomBoxEnabled:true,zoomWheelEnabled:true,mouseWheelOptions:null,handleRightClicks:false,zoomBoxKeyMask:OpenLayers.Handler.MOD_SHIFT,autoActivate:true,initialize:function(options){this.handlers={};OpenLayers.Control.prototype.initialize.apply(this,arguments);},destroy:function(){this.deactivate();if(this.dragPan){this.dragPan.destroy();}
-this.dragPan=null;if(this.zoomBox){this.zoomBox.destroy();}
-this.zoomBox=null;if(this.pinchZoom){this.pinchZoom.destroy();}
-this.pinchZoom=null;OpenLayers.Control.prototype.destroy.apply(this,arguments);},activate:function(){this.dragPan.activate();if(this.zoomWheelEnabled){this.handlers.wheel.activate();}
-this.handlers.click.activate();if(this.zoomBoxEnabled){this.zoomBox.activate();}
-if(this.pinchZoom){this.pinchZoom.activate();}
-return OpenLayers.Control.prototype.activate.apply(this,arguments);},deactivate:function(){if(this.pinchZoom){this.pinchZoom.deactivate();}
-this.zoomBox.deactivate();this.dragPan.deactivate();this.handlers.click.deactivate();this.handlers.wheel.deactivate();return OpenLayers.Control.prototype.deactivate.apply(this,arguments);},draw:function(){if(this.handleRightClicks){this.map.viewPortDiv.oncontextmenu=OpenLayers.Function.False;}
-var clickCallbacks={'click':this.defaultClick,'dblclick':this.defaultDblClick,'dblrightclick':this.defaultDblRightClick};var clickOptions={'double':true,'stopDouble':true};this.handlers.click=new OpenLayers.Handler.Click(this,clickCallbacks,clickOptions);this.dragPan=new OpenLayers.Control.DragPan(OpenLayers.Util.extend({map:this.map,documentDrag:this.documentDrag},this.dragPanOptions));this.zoomBox=new OpenLayers.Control.ZoomBox({map:this.map,keyMask:this.zoomBoxKeyMask});this.dragPan.draw();this.zoomBox.draw();this.handlers.wheel=new OpenLayers.Handler.MouseWheel(this,{"up":this.wheelUp,"down":this.wheelDown},this.mouseWheelOptions);if(OpenLayers.Control.PinchZoom){this.pinchZoom=new OpenLayers.Control.PinchZoom(OpenLayers.Util.extend({map:this.map},this.pinchZoomOptions));}},defaultClick:function(evt){if(evt.lastTouches&&evt.lastTouches.length==2){this.map.zoomOut();}},defaultDblClick:function(evt){var newCenter=this.map.getLonLatFromViewPortPx(evt.xy);this.map.setCenter(newCenter,this.map.zoom+1);},defaultDblRightClick:function(evt){var newCenter=this.map.getLonLatFromViewPortPx(evt.xy);this.map.setCenter(newCenter,this.map.zoom-1);},wheelChange:function(evt,deltaZ){var currentZoom=this.map.getZoom();var newZoom=this.map.getZoom()+Math.round(deltaZ);newZoom=Math.max(newZoom,0);newZoom=Math.min(newZoom,this.map.getNumZoomLevels());if(newZoom===currentZoom){return;}
-var size=this.map.getSize();var deltaX=size.w/2-evt.xy.x;var deltaY=evt.xy.y-size.h/2;var newRes=this.map.baseLayer.getResolutionForZoom(newZoom);var zoomPoint=this.map.getLonLatFromPixel(evt.xy);var newCenter=new OpenLayers.LonLat(zoomPoint.lon+deltaX*newRes,zoomPoint.lat+deltaY*newRes);this.map.setCenter(newCenter,newZoom);},wheelUp:function(evt,delta){this.wheelChange(evt,delta||1);},wheelDown:function(evt,delta){this.wheelChange(evt,delta||-1);},disableZoomBox:function(){this.zoomBoxEnabled=false;this.zoomBox.deactivate();},enableZoomBox:function(){this.zoomBoxEnabled=true;if(this.active){this.zoomBox.activate();}},disableZoomWheel:function(){this.zoomWheelEnabled=false;this.handlers.wheel.deactivate();},enableZoomWheel:function(){this.zoomWheelEnabled=true;if(this.active){this.handlers.wheel.activate();}},CLASS_NAME:"OpenLayers.Control.Navigation"});OpenLayers.Layer.HTTPRequest=OpenLayers.Class(OpenLayers.Layer,{URL_HASH_FACTOR:(Math.sqrt(5)-1)/2,url:null,params:null,reproject:false,initialize:function(name,url,params,options){OpenLayers.Layer.prototype.initialize.apply(this,[name,options]);this.url=url;this.params=OpenLayers.Util.extend({},params);},destroy:function(){this.url=null;this.params=null;OpenLayers.Layer.prototype.destroy.apply(this,arguments);},clone:function(obj){if(obj==null){obj=new OpenLayers.Layer.HTTPRequest(this.name,this.url,this.params,this.getOptions());}
-obj=OpenLayers.Layer.prototype.clone.apply(this,[obj]);return obj;},setUrl:function(newUrl){this.url=newUrl;},mergeNewParams:function(newParams){this.params=OpenLayers.Util.extend(this.params,newParams);var ret=this.redraw();if(this.map!=null){this.map.events.triggerEvent("changelayer",{layer:this,property:"params"});}
-return ret;},redraw:function(force){if(force){return this.mergeNewParams({"_olSalt":Math.random()});}else{return OpenLayers.Layer.prototype.redraw.apply(this,[]);}},selectUrl:function(paramString,urls){var product=1;for(var i=0,len=paramString.length;i<len;i++){product*=paramString.charCodeAt(i)*this.URL_HASH_FACTOR;product-=Math.floor(product);}
-return urls[Math.floor(product*urls.length)];},getFullRequestString:function(newParams,altUrl){var url=altUrl||this.url;var allParams=OpenLayers.Util.extend({},this.params);allParams=OpenLayers.Util.extend(allParams,newParams);var paramsString=OpenLayers.Util.getParameterString(allParams);if(OpenLayers.Util.isArray(url)){url=this.selectUrl(paramsString,url);}
-var urlParams=OpenLayers.Util.upperCaseObject(OpenLayers.Util.getParameters(url));for(var key in allParams){if(key.toUpperCase()in urlParams){delete allParams[key];}}
-paramsString=OpenLayers.Util.getParameterString(allParams);return OpenLayers.Util.urlAppend(url,paramsString);},CLASS_NAME:"OpenLayers.Layer.HTTPRequest"});OpenLayers.Layer.Grid=OpenLayers.Class(OpenLayers.Layer.HTTPRequest,{tileSize:null,tileOriginCorner:"bl",tileOrigin:null,tileOptions:null,grid:null,singleTile:false,ratio:1.5,buffer:0,numLoadingTiles:0,tileLoadingDelay:100,timerId:null,initialize:function(name,url,params,options){OpenLayers.Layer.HTTPRequest.prototype.initialize.apply(this,arguments);this.events.addEventType("tileloaded");this.grid=[];this._moveGriddedTiles=OpenLayers.Function.bind(this.moveGriddedTiles,this);},removeMap:function(map){if(this.timerId!=null){window.clearTimeout(this.timerId);this.timerId=null;}},destroy:function(){this.clearGrid();this.grid=null;this.tileSize=null;OpenLayers.Layer.HTTPRequest.prototype.destroy.apply(this,arguments);},clearGrid:function(){if(this.grid){for(var iRow=0,len=this.grid.length;iRow<len;iRow++){var row=this.grid[iRow];for(var iCol=0,clen=row.length;iCol<clen;iCol++){var tile=row[iCol];this.removeTileMonitoringHooks(tile);tile.destroy();}}
-this.grid=[];}},clone:function(obj){if(obj==null){obj=new OpenLayers.Layer.Grid(this.name,this.url,this.params,this.getOptions());}
-obj=OpenLayers.Layer.HTTPRequest.prototype.clone.apply(this,[obj]);if(this.tileSize!=null){obj.tileSize=this.tileSize.clone();}
-obj.grid=[];return obj;},moveTo:function(bounds,zoomChanged,dragging){OpenLayers.Layer.HTTPRequest.prototype.moveTo.apply(this,arguments);bounds=bounds||this.map.getExtent();if(bounds!=null){var forceReTile=!this.grid.length||zoomChanged;var tilesBounds=this.getTilesBounds();if(this.singleTile){if(forceReTile||(!dragging&&!tilesBounds.containsBounds(bounds))){this.initSingleTile(bounds);}}else{if(forceReTile||!tilesBounds.containsBounds(bounds,true)){this.initGriddedTiles(bounds);}else{this.scheduleMoveGriddedTiles();}}}},moveByPx:function(dx,dy){if(!this.singleTile){this.scheduleMoveGriddedTiles();}},scheduleMoveGriddedTiles:function(){if(this.timerId!=null){window.clearTimeout(this.timerId);}
-this.timerId=window.setTimeout(this._moveGriddedTiles,this.tileLoadingDelay);},setTileSize:function(size){if(this.singleTile){size=this.map.getSize();size.h=parseInt(size.h*this.ratio);size.w=parseInt(size.w*this.ratio);}
-OpenLayers.Layer.HTTPRequest.prototype.setTileSize.apply(this,[size]);},getGridBounds:function(){var msg="The getGridBounds() function is deprecated. It will be "+"removed in 3.0. Please use getTilesBounds() instead.";OpenLayers.Console.warn(msg);return this.getTilesBounds();},getTilesBounds:function(){var bounds=null;if(this.grid.length){var bottom=this.grid.length-1;var bottomLeftTile=this.grid[bottom][0];var right=this.grid[0].length-1;var topRightTile=this.grid[0][right];bounds=new OpenLayers.Bounds(bottomLeftTile.bounds.left,bottomLeftTile.bounds.bottom,topRightTile.bounds.right,topRightTile.bounds.top);}
-return bounds;},initSingleTile:function(bounds){var center=bounds.getCenterLonLat();var tileWidth=bounds.getWidth()*this.ratio;var tileHeight=bounds.getHeight()*this.ratio;var tileBounds=new OpenLayers.Bounds(center.lon-(tileWidth/2),center.lat-(tileHeight/2),center.lon+(tileWidth/2),center.lat+(tileHeight/2));var ul=new OpenLayers.LonLat(tileBounds.left,tileBounds.top);var px=this.map.getLayerPxFromLonLat(ul);if(!this.grid.length){this.grid[0]=[];}
-var tile=this.grid[0][0];if(!tile){tile=this.addTile(tileBounds,px);this.addTileMonitoringHooks(tile);tile.draw();this.grid[0][0]=tile;}else{tile.moveTo(tileBounds,px);}
-this.removeExcessTiles(1,1);},calculateGridLayout:function(bounds,origin,resolution){var tilelon=resolution*this.tileSize.w;var tilelat=resolution*this.tileSize.h;var offsetlon=bounds.left-origin.lon;var tilecol=Math.floor(offsetlon/tilelon)-this.buffer;var tilecolremain=offsetlon/tilelon-tilecol;var tileoffsetx=-tilecolremain*this.tileSize.w;var tileoffsetlon=origin.lon+tilecol*tilelon;var offsetlat=bounds.top-(origin.lat+tilelat);var tilerow=Math.ceil(offsetlat/tilelat)+this.buffer;var tilerowremain=tilerow-offsetlat/tilelat;var tileoffsety=-tilerowremain*this.tileSize.h;var tileoffsetlat=origin.lat+tilerow*tilelat;return{tilelon:tilelon,tilelat:tilelat,tileoffsetlon:tileoffsetlon,tileoffsetlat:tileoffsetlat,tileoffsetx:tileoffsetx,tileoffsety:tileoffsety};},getTileOrigin:function(){var origin=this.tileOrigin;if(!origin){var extent=this.getMaxExtent();var edges=({"tl":["left","top"],"tr":["right","top"],"bl":["left","bottom"],"br":["right","bottom"]})[this.tileOriginCorner];origin=new OpenLayers.LonLat(extent[edges[0]],extent[edges[1]]);}
-return origin;},initGriddedTiles:function(bounds){var viewSize=this.map.getSize();var minRows=Math.ceil(viewSize.h/this.tileSize.h)+
-Math.max(1,2*this.buffer);var minCols=Math.ceil(viewSize.w/this.tileSize.w)+
-Math.max(1,2*this.buffer);var origin=this.getTileOrigin();var resolution=this.map.getResolution();var tileLayout=this.calculateGridLayout(bounds,origin,resolution);var tileoffsetx=Math.round(tileLayout.tileoffsetx);var tileoffsety=Math.round(tileLayout.tileoffsety);var tileoffsetlon=tileLayout.tileoffsetlon;var tileoffsetlat=tileLayout.tileoffsetlat;var tilelon=tileLayout.tilelon;var tilelat=tileLayout.tilelat;this.origin=new OpenLayers.Pixel(tileoffsetx,tileoffsety);var startX=tileoffsetx;var startLon=tileoffsetlon;var rowidx=0;var layerContainerDivLeft=parseInt(this.map.layerContainerDiv.style.left);var layerContainerDivTop=parseInt(this.map.layerContainerDiv.style.top);do{var row=this.grid[rowidx++];if(!row){row=[];this.grid.push(row);}
-tileoffsetlon=startLon;tileoffsetx=startX;var colidx=0;do{var tileBounds=new OpenLayers.Bounds(tileoffsetlon,tileoffsetlat,tileoffsetlon+tilelon,tileoffsetlat+tilelat);var x=tileoffsetx;x-=layerContainerDivLeft;var y=tileoffsety;y-=layerContainerDivTop;var px=new OpenLayers.Pixel(x,y);var tile=row[colidx++];if(!tile){tile=this.addTile(tileBounds,px);this.addTileMonitoringHooks(tile);row.push(tile);}else{tile.moveTo(tileBounds,px,false);}
-tileoffsetlon+=tilelon;tileoffsetx+=this.tileSize.w;}while((tileoffsetlon<=bounds.right+tilelon*this.buffer)||colidx<minCols);tileoffsetlat-=tilelat;tileoffsety+=this.tileSize.h;}while((tileoffsetlat>=bounds.bottom-tilelat*this.buffer)||rowidx<minRows);this.removeExcessTiles(rowidx,colidx);this.spiralTileLoad();},getMaxExtent:function(){return this.maxExtent;},spiralTileLoad:function(){var tileQueue=[];var directions=["right","down","left","up"];var iRow=0;var iCell=-1;var direction=OpenLayers.Util.indexOf(directions,"right");var directionsTried=0;while(directionsTried<directions.length){var testRow=iRow;var testCell=iCell;switch(directions[direction]){case"right":testCell++;break;case"down":testRow++;break;case"left":testCell--;break;case"up":testRow--;break;}
-var tile=null;if((testRow<this.grid.length)&&(testRow>=0)&&(testCell<this.grid[0].length)&&(testCell>=0)){tile=this.grid[testRow][testCell];}
-if((tile!=null)&&(!tile.queued)){tileQueue.unshift(tile);tile.queued=true;directionsTried=0;iRow=testRow;iCell=testCell;}else{direction=(direction+1)%4;directionsTried++;}}
-for(var i=0,len=tileQueue.length;i<len;i++){var tile=tileQueue[i];tile.draw();tile.queued=false;}},addTile:function(bounds,position){return new OpenLayers.Tile.Image(this,position,bounds,null,this.tileSize,this.tileOptions);},addTileMonitoringHooks:function(tile){tile.onLoadStart=function(){if(this.numLoadingTiles==0){this.events.triggerEvent("loadstart");}
-this.numLoadingTiles++;};tile.events.register("loadstart",this,tile.onLoadStart);tile.onLoadEnd=function(){this.numLoadingTiles--;this.events.triggerEvent("tileloaded");if(this.numLoadingTiles==0){this.events.triggerEvent("loadend");}};tile.events.register("loadend",this,tile.onLoadEnd);tile.events.register("unload",this,tile.onLoadEnd);},removeTileMonitoringHooks:function(tile){tile.unload();tile.events.un({"loadstart":tile.onLoadStart,"loadend":tile.onLoadEnd,"unload":tile.onLoadEnd,scope:this});},moveGriddedTiles:function(){var shifted=true;var buffer=this.buffer||1;var tlLayer=this.grid[0][0].position;var offsetX=parseInt(this.map.layerContainerDiv.style.left);var offsetY=parseInt(this.map.layerContainerDiv.style.top);var tlViewPort=tlLayer.add(offsetX,offsetY);if(tlViewPort.x>-this.tileSize.w*(buffer-1)){this.shiftColumn(true);}else if(tlViewPort.x<-this.tileSize.w*buffer){this.shiftColumn(false);}else if(tlViewPort.y>-this.tileSize.h*(buffer-1)){this.shiftRow(true);}else if(tlViewPort.y<-this.tileSize.h*buffer){this.shiftRow(false);}else{shifted=false;}
-if(shifted){this.timerId=window.setTimeout(this._moveGriddedTiles,0);}},shiftRow:function(prepend){var modelRowIndex=(prepend)?0:(this.grid.length-1);var grid=this.grid;var modelRow=grid[modelRowIndex];var resolution=this.map.getResolution();var deltaY=(prepend)?-this.tileSize.h:this.tileSize.h;var deltaLat=resolution*-deltaY;var row=(prepend)?grid.pop():grid.shift();for(var i=0,len=modelRow.length;i<len;i++){var modelTile=modelRow[i];var bounds=modelTile.bounds.clone();var position=modelTile.position.clone();bounds.bottom=bounds.bottom+deltaLat;bounds.top=bounds.top+deltaLat;position.y=position.y+deltaY;row[i].moveTo(bounds,position);}
-if(prepend){grid.unshift(row);}else{grid.push(row);}},shiftColumn:function(prepend){var deltaX=(prepend)?-this.tileSize.w:this.tileSize.w;var resolution=this.map.getResolution();var deltaLon=resolution*deltaX;for(var i=0,len=this.grid.length;i<len;i++){var row=this.grid[i];var modelTileIndex=(prepend)?0:(row.length-1);var modelTile=row[modelTileIndex];var bounds=modelTile.bounds.clone();var position=modelTile.position.clone();bounds.left=bounds.left+deltaLon;bounds.right=bounds.right+deltaLon;position.x=position.x+deltaX;var tile=prepend?this.grid[i].pop():this.grid[i].shift();tile.moveTo(bounds,position);if(prepend){row.unshift(tile);}else{row.push(tile);}}},removeExcessTiles:function(rows,columns){while(this.grid.length>rows){var row=this.grid.pop();for(var i=0,l=row.length;i<l;i++){var tile=row[i];this.removeTileMonitoringHooks(tile);tile.destroy();}}
-while(this.grid[0].length>columns){for(var i=0,l=this.grid.length;i<l;i++){var row=this.grid[i];var tile=row.pop();this.removeTileMonitoringHooks(tile);tile.destroy();}}},onMapResize:function(){if(this.singleTile){this.clearGrid();this.setTileSize();}},getTileBounds:function(viewPortPx){var maxExtent=this.maxExtent;var resolution=this.getResolution();var tileMapWidth=resolution*this.tileSize.w;var tileMapHeight=resolution*this.tileSize.h;var mapPoint=this.getLonLatFromViewPortPx(viewPortPx);var tileLeft=maxExtent.left+(tileMapWidth*Math.floor((mapPoint.lon-
-maxExtent.left)/tileMapWidth));var tileBottom=maxExtent.bottom+(tileMapHeight*Math.floor((mapPoint.lat-
-maxExtent.bottom)/tileMapHeight));return new OpenLayers.Bounds(tileLeft,tileBottom,tileLeft+tileMapWidth,tileBottom+tileMapHeight);},CLASS_NAME:"OpenLayers.Layer.Grid"});OpenLayers.Layer.XYZ=OpenLayers.Class(OpenLayers.Layer.Grid,{isBaseLayer:true,sphericalMercator:false,zoomOffset:0,serverResolutions:null,initialize:function(name,url,options){if(options&&options.sphericalMercator||this.sphericalMercator){options=OpenLayers.Util.extend({maxExtent:new OpenLayers.Bounds(-128*156543.03390625,-128*156543.03390625,128*156543.03390625,128*156543.03390625),maxResolution:156543.03390625,numZoomLevels:19,units:"m",projection:"EPSG:900913"},options);}
-url=url||this.url;name=name||this.name;var newArguments=[name,url,{},options];OpenLayers.Layer.Grid.prototype.initialize.apply(this,newArguments);},clone:function(obj){if(obj==null){obj=new OpenLayers.Layer.XYZ(this.name,this.url,this.getOptions());}
-obj=OpenLayers.Layer.Grid.prototype.clone.apply(this,[obj]);return obj;},getURL:function(bounds){var xyz=this.getXYZ(bounds);var url=this.url;if(OpenLayers.Util.isArray(url)){var s=''+xyz.x+xyz.y+xyz.z;url=this.selectUrl(s,url);}
-return OpenLayers.String.format(url,xyz);},getXYZ:function(bounds){var res=this.map.getResolution();var x=Math.round((bounds.left-this.maxExtent.left)/(res*this.tileSize.w));var y=Math.round((this.maxExtent.top-bounds.top)/(res*this.tileSize.h));var z=this.serverResolutions!=null?OpenLayers.Util.indexOf(this.serverResolutions,res):this.map.getZoom()+this.zoomOffset;var limit=Math.pow(2,z);if(this.wrapDateLine)
-{x=((x%limit)+limit)%limit;}
-return{'x':x,'y':y,'z':z};},setMap:function(map){OpenLayers.Layer.Grid.prototype.setMap.apply(this,arguments);if(!this.tileOrigin){this.tileOrigin=new OpenLayers.LonLat(this.maxExtent.left,this.maxExtent.bottom);}},CLASS_NAME:"OpenLayers.Layer.XYZ"});OpenLayers.Layer.OSM=OpenLayers.Class(OpenLayers.Layer.XYZ,{name:"OpenStreetMap",attribution:"Data CC-By-SA by <a href='http://openstreetmap.org/'>OpenStreetMap</a>",sphericalMercator:true,url:'http://tile.openstreetmap.org/${z}/${x}/${y}.png',clone:function(obj){if(obj==null){obj=new OpenLayers.Layer.OSM(this.name,this.url,this.getOptions());}
-obj=OpenLayers.Layer.XYZ.prototype.clone.apply(this,[obj]);return obj;},wrapDateLine:true,CLASS_NAME:"OpenLayers.Layer.OSM"});OpenLayers.Renderer.SVG=OpenLayers.Class(OpenLayers.Renderer.Elements,{xmlns:"http://www.w3.org/2000/svg",xlinkns:"http://www.w3.org/1999/xlink",MAX_PIXEL:15000,translationParameters:null,symbolMetrics:null,initialize:function(containerID){if(!this.supported()){return;}
-OpenLayers.Renderer.Elements.prototype.initialize.apply(this,arguments);this.translationParameters={x:0,y:0};this.symbolMetrics={};},supported:function(){var svgFeature="http://www.w3.org/TR/SVG11/feature#";return(document.implementation&&(document.implementation.hasFeature("org.w3c.svg","1.0")||document.implementation.hasFeature(svgFeature+"SVG","1.1")||document.implementation.hasFeature(svgFeature+"BasicStructure","1.1")));},inValidRange:function(x,y,xyOnly){var left=x+(xyOnly?0:this.translationParameters.x);var top=y+(xyOnly?0:this.translationParameters.y);return(left>=-this.MAX_PIXEL&&left<=this.MAX_PIXEL&&top>=-this.MAX_PIXEL&&top<=this.MAX_PIXEL);},setExtent:function(extent,resolutionChanged){OpenLayers.Renderer.Elements.prototype.setExtent.apply(this,arguments);var resolution=this.getResolution();var left=-extent.left/resolution;var top=extent.top/resolution;if(resolutionChanged){this.left=left;this.top=top;var extentString="0 0 "+this.size.w+" "+this.size.h;this.rendererRoot.setAttributeNS(null,"viewBox",extentString);this.translate(0,0);return true;}else{var inRange=this.translate(left-this.left,top-this.top);if(!inRange){this.setExtent(extent,true);}
-return inRange;}},translate:function(x,y){if(!this.inValidRange(x,y,true)){return false;}else{var transformString="";if(x||y){transformString="translate("+x+","+y+")";}
-this.root.setAttributeNS(null,"transform",transformString);this.translationParameters={x:x,y:y};return true;}},setSize:function(size){OpenLayers.Renderer.prototype.setSize.apply(this,arguments);this.rendererRoot.setAttributeNS(null,"width",this.size.w);this.rendererRoot.setAttributeNS(null,"height",this.size.h);},getNodeType:function(geometry,style){var nodeType=null;switch(geometry.CLASS_NAME){case"OpenLayers.Geometry.Point":if(style.externalGraphic){nodeType="image";}else if(this.isComplexSymbol(style.graphicName)){nodeType="svg";}else{nodeType="circle";}
-break;case"OpenLayers.Geometry.Rectangle":nodeType="rect";break;case"OpenLayers.Geometry.LineString":nodeType="polyline";break;case"OpenLayers.Geometry.LinearRing":nodeType="polygon";break;case"OpenLayers.Geometry.Polygon":case"OpenLayers.Geometry.Curve":case"OpenLayers.Geometry.Surface":nodeType="path";break;default:break;}
-return nodeType;},setStyle:function(node,style,options){style=style||node._style;options=options||node._options;var r=parseFloat(node.getAttributeNS(null,"r"));var widthFactor=1;var pos;if(node._geometryClass=="OpenLayers.Geometry.Point"&&r){node.style.visibility="";if(style.graphic===false){node.style.visibility="hidden";}else if(style.externalGraphic){pos=this.getPosition(node);if(style.graphicTitle){node.setAttributeNS(null,"title",style.graphicTitle);var label=this.nodeFactory(null,"title");label.textContent=style.graphicTitle;node.appendChild(label);}
-if(style.graphicWidth&&style.graphicHeight){node.setAttributeNS(null,"preserveAspectRatio","none");}
-var width=style.graphicWidth||style.graphicHeight;var height=style.graphicHeight||style.graphicWidth;width=width?width:style.pointRadius*2;height=height?height:style.pointRadius*2;var xOffset=(style.graphicXOffset!=undefined)?style.graphicXOffset:-(0.5*width);var yOffset=(style.graphicYOffset!=undefined)?style.graphicYOffset:-(0.5*height);var opacity=style.graphicOpacity||style.fillOpacity;node.setAttributeNS(null,"x",(pos.x+xOffset).toFixed());node.setAttributeNS(null,"y",(pos.y+yOffset).toFixed());node.setAttributeNS(null,"width",width);node.setAttributeNS(null,"height",height);node.setAttributeNS(this.xlinkns,"href",style.externalGraphic);node.setAttributeNS(null,"style","opacity: "+opacity);node.onclick=OpenLayers.Renderer.SVG.preventDefault;}else if(this.isComplexSymbol(style.graphicName)){var offset=style.pointRadius*3;var size=offset*2;var src=this.importSymbol(style.graphicName);pos=this.getPosition(node);widthFactor=this.symbolMetrics[src.id][0]*3/size;var parent=node.parentNode;var nextSibling=node.nextSibling;if(parent){parent.removeChild(node);}
-node.firstChild&&node.removeChild(node.firstChild);node.appendChild(src.firstChild.cloneNode(true));node.setAttributeNS(null,"viewBox",src.getAttributeNS(null,"viewBox"));node.setAttributeNS(null,"width",size);node.setAttributeNS(null,"height",size);node.setAttributeNS(null,"x",pos.x-offset);node.setAttributeNS(null,"y",pos.y-offset);if(nextSibling){parent.insertBefore(node,nextSibling);}else if(parent){parent.appendChild(node);}}else{node.setAttributeNS(null,"r",style.pointRadius);}
-var rotation=style.rotation;if((rotation!==undefined||node._rotation!==undefined)&&pos){node._rotation=rotation;rotation|=0;if(node.nodeName!=="svg"){node.setAttributeNS(null,"transform","rotate("+rotation+" "+pos.x+" "+
-pos.y+")");}else{var metrics=this.symbolMetrics[src.id];node.firstChild.setAttributeNS(null,"transform","rotate("
-+rotation+" "
-+metrics[1]+" "
-+metrics[2]+")");}}}
-if(options.isFilled){node.setAttributeNS(null,"fill",style.fillColor);node.setAttributeNS(null,"fill-opacity",style.fillOpacity);}else{node.setAttributeNS(null,"fill","none");}
-if(options.isStroked){node.setAttributeNS(null,"stroke",style.strokeColor);node.setAttributeNS(null,"stroke-opacity",style.strokeOpacity);node.setAttributeNS(null,"stroke-width",style.strokeWidth*widthFactor);node.setAttributeNS(null,"stroke-linecap",style.strokeLinecap||"round");node.setAttributeNS(null,"stroke-linejoin","round");style.strokeDashstyle&&node.setAttributeNS(null,"stroke-dasharray",this.dashStyle(style,widthFactor));}else{node.setAttributeNS(null,"stroke","none");}
-if(style.pointerEvents){node.setAttributeNS(null,"pointer-events",style.pointerEvents);}
-if(style.cursor!=null){node.setAttributeNS(null,"cursor",style.cursor);}
-return node;},dashStyle:function(style,widthFactor){var w=style.strokeWidth*widthFactor;var str=style.strokeDashstyle;switch(str){case'solid':return'none';case'dot':return[1,4*w].join();case'dash':return[4*w,4*w].join();case'dashdot':return[4*w,4*w,1,4*w].join();case'longdash':return[8*w,4*w].join();case'longdashdot':return[8*w,4*w,1,4*w].join();default:return OpenLayers.String.trim(str).replace(/\s+/g,",");}},createNode:function(type,id){var node=document.createElementNS(this.xmlns,type);if(id){node.setAttributeNS(null,"id",id);}
-return node;},nodeTypeCompare:function(node,type){return(type==node.nodeName);},createRenderRoot:function(){return this.nodeFactory(this.container.id+"_svgRoot","svg");},createRoot:function(suffix){return this.nodeFactory(this.container.id+suffix,"g");},createDefs:function(){var defs=this.nodeFactory(this.container.id+"_defs","defs");this.rendererRoot.appendChild(defs);return defs;},drawPoint:function(node,geometry){return this.drawCircle(node,geometry,1);},drawCircle:function(node,geometry,radius){var resolution=this.getResolution();var x=(geometry.x/resolution+this.left);var y=(this.top-geometry.y/resolution);if(this.inValidRange(x,y)){node.setAttributeNS(null,"cx",x);node.setAttributeNS(null,"cy",y);node.setAttributeNS(null,"r",radius);return node;}else{return false;}},drawLineString:function(node,geometry){var componentsResult=this.getComponentsString(geometry.components);if(componentsResult.path){node.setAttributeNS(null,"points",componentsResult.path);return(componentsResult.complete?node:null);}else{return false;}},drawLinearRing:function(node,geometry){var componentsResult=this.getComponentsString(geometry.components);if(componentsResult.path){node.setAttributeNS(null,"points",componentsResult.path);return(componentsResult.complete?node:null);}else{return false;}},drawPolygon:function(node,geometry){var d="";var draw=true;var complete=true;var linearRingResult,path;for(var j=0,len=geometry.components.length;j<len;j++){d+=" M";linearRingResult=this.getComponentsString(geometry.components[j].components," ");path=linearRingResult.path;if(path){d+=" "+path;complete=linearRingResult.complete&&complete;}else{draw=false;}}
-d+=" z";if(draw){node.setAttributeNS(null,"d",d);node.setAttributeNS(null,"fill-rule","evenodd");return complete?node:null;}else{return false;}},drawRectangle:function(node,geometry){var resolution=this.getResolution();var x=(geometry.x/resolution+this.left);var y=(this.top-geometry.y/resolution);if(this.inValidRange(x,y)){node.setAttributeNS(null,"x",x);node.setAttributeNS(null,"y",y);node.setAttributeNS(null,"width",geometry.width/resolution);node.setAttributeNS(null,"height",geometry.height/resolution);return node;}else{return false;}},drawSurface:function(node,geometry){var d=null;var draw=true;for(var i=0,len=geometry.components.length;i<len;i++){if((i%3)==0&&(i/3)==0){var component=this.getShortString(geometry.components[i]);if(!component){draw=false;}
-d="M "+component;}else if((i%3)==1){var component=this.getShortString(geometry.components[i]);if(!component){draw=false;}
-d+=" C "+component;}else{var component=this.getShortString(geometry.components[i]);if(!component){draw=false;}
-d+=" "+component;}}
-d+=" Z";if(draw){node.setAttributeNS(null,"d",d);return node;}else{return false;}},drawText:function(featureId,style,location){var resolution=this.getResolution();var x=(location.x/resolution+this.left);var y=(location.y/resolution-this.top);var label=this.nodeFactory(featureId+this.LABEL_ID_SUFFIX,"text");label.setAttributeNS(null,"x",x);label.setAttributeNS(null,"y",-y);if(style.fontColor){label.setAttributeNS(null,"fill",style.fontColor);}
-if(style.fontOpacity){label.setAttributeNS(null,"opacity",style.fontOpacity);}
-if(style.fontFamily){label.setAttributeNS(null,"font-family",style.fontFamily);}
-if(style.fontSize){label.setAttributeNS(null,"font-size",style.fontSize);}
-if(style.fontWeight){label.setAttributeNS(null,"font-weight",style.fontWeight);}
-if(style.fontStyle){label.setAttributeNS(null,"font-style",style.fontStyle);}
-if(style.labelSelect===true){label.setAttributeNS(null,"pointer-events","visible");label._featureId=featureId;}else{label.setAttributeNS(null,"pointer-events","none");}
-var align=style.labelAlign||"cm";label.setAttributeNS(null,"text-anchor",OpenLayers.Renderer.SVG.LABEL_ALIGN[align[0]]||"middle");if(OpenLayers.IS_GECKO===true){label.setAttributeNS(null,"dominant-baseline",OpenLayers.Renderer.SVG.LABEL_ALIGN[align[1]]||"central");}
-var labelRows=style.label.split('\n');var numRows=labelRows.length;while(label.childNodes.length>numRows){label.removeChild(label.lastChild);}
-for(var i=0;i<numRows;i++){var tspan=this.nodeFactory(featureId+this.LABEL_ID_SUFFIX+"_tspan_"+i,"tspan");if(style.labelSelect===true){tspan._featureId=featureId;tspan._geometry=location;tspan._geometryClass=location.CLASS_NAME;}
-if(OpenLayers.IS_GECKO===false){tspan.setAttributeNS(null,"baseline-shift",OpenLayers.Renderer.SVG.LABEL_VSHIFT[align[1]]||"-35%");}
-tspan.setAttribute("x",x);if(i==0){var vfactor=OpenLayers.Renderer.SVG.LABEL_VFACTOR[align[1]];if(vfactor==null){vfactor=-.5;}
-tspan.setAttribute("dy",(vfactor*(numRows-1))+"em");}else{tspan.setAttribute("dy","1em");}
-tspan.textContent=(labelRows[i]==='')?' ':labelRows[i];if(!tspan.parentNode){label.appendChild(tspan);}}
-if(!label.parentNode){this.textRoot.appendChild(label);}},getComponentsString:function(components,separator){var renderCmp=[];var complete=true;var len=components.length;var strings=[];var str,component;for(var i=0;i<len;i++){component=components[i];renderCmp.push(component);str=this.getShortString(component);if(str){strings.push(str);}else{if(i>0){if(this.getShortString(components[i-1])){strings.push(this.clipLine(components[i],components[i-1]));}}
-if(i<len-1){if(this.getShortString(components[i+1])){strings.push(this.clipLine(components[i],components[i+1]));}}
-complete=false;}}
-return{path:strings.join(separator||","),complete:complete};},clipLine:function(badComponent,goodComponent){if(goodComponent.equals(badComponent)){return"";}
-var resolution=this.getResolution();var maxX=this.MAX_PIXEL-this.translationParameters.x;var maxY=this.MAX_PIXEL-this.translationParameters.y;var x1=goodComponent.x/resolution+this.left;var y1=this.top-goodComponent.y/resolution;var x2=badComponent.x/resolution+this.left;var y2=this.top-badComponent.y/resolution;var k;if(x2<-maxX||x2>maxX){k=(y2-y1)/(x2-x1);x2=x2<0?-maxX:maxX;y2=y1+(x2-x1)*k;}
-if(y2<-maxY||y2>maxY){k=(x2-x1)/(y2-y1);y2=y2<0?-maxY:maxY;x2=x1+(y2-y1)*k;}
-return x2+","+y2;},getShortString:function(point){var resolution=this.getResolution();var x=(point.x/resolution+this.left);var y=(this.top-point.y/resolution);if(this.inValidRange(x,y)){return x+","+y;}else{return false;}},getPosition:function(node){return({x:parseFloat(node.getAttributeNS(null,"cx")),y:parseFloat(node.getAttributeNS(null,"cy"))});},importSymbol:function(graphicName){if(!this.defs){this.defs=this.createDefs();}
-var id=this.container.id+"-"+graphicName;var existing=document.getElementById(id)
-if(existing!=null){return existing;}
-var symbol=OpenLayers.Renderer.symbol[graphicName];if(!symbol){throw new Error(graphicName+' is not a valid symbol name');}
-var symbolNode=this.nodeFactory(id,"symbol");var node=this.nodeFactory(null,"polygon");symbolNode.appendChild(node);var symbolExtent=new OpenLayers.Bounds(Number.MAX_VALUE,Number.MAX_VALUE,0,0);var points=[];var x,y;for(var i=0;i<symbol.length;i=i+2){x=symbol[i];y=symbol[i+1];symbolExtent.left=Math.min(symbolExtent.left,x);symbolExtent.bottom=Math.min(symbolExtent.bottom,y);symbolExtent.right=Math.max(symbolExtent.right,x);symbolExtent.top=Math.max(symbolExtent.top,y);points.push(x,",",y);}
-node.setAttributeNS(null,"points",points.join(" "));var width=symbolExtent.getWidth();var height=symbolExtent.getHeight();var viewBox=[symbolExtent.left-width,symbolExtent.bottom-height,width*3,height*3];symbolNode.setAttributeNS(null,"viewBox",viewBox.join(" "));this.symbolMetrics[id]=[Math.max(width,height),symbolExtent.getCenterLonLat().lon,symbolExtent.getCenterLonLat().lat];this.defs.appendChild(symbolNode);return symbolNode;},getFeatureIdFromEvent:function(evt){var featureId=OpenLayers.Renderer.Elements.prototype.getFeatureIdFromEvent.apply(this,arguments);if(!featureId){var target=evt.target;featureId=target.parentNode&&target!=this.rendererRoot&&target.parentNode._featureId;}
-return featureId;},CLASS_NAME:"OpenLayers.Renderer.SVG"});OpenLayers.Renderer.SVG.LABEL_ALIGN={"l":"start","r":"end","b":"bottom","t":"hanging"};OpenLayers.Renderer.SVG.LABEL_VSHIFT={"t":"-70%","b":"0"};OpenLayers.Renderer.SVG.LABEL_VFACTOR={"t":0,"b":-1};OpenLayers.Renderer.SVG.preventDefault=function(e){e.preventDefault&&e.preventDefault();};OpenLayers.Control.PanZoom=OpenLayers.Class(OpenLayers.Control,{slideFactor:50,slideRatio:null,buttons:null,position:null,initialize:function(options){this.position=new OpenLayers.Pixel(OpenLayers.Control.PanZoom.X,OpenLayers.Control.PanZoom.Y);OpenLayers.Control.prototype.initialize.apply(this,arguments);},destroy:function(){this.removeButtons();this.buttons=null;this.position=null;OpenLayers.Control.prototype.destroy.apply(this,arguments);},draw:function(px){OpenLayers.Control.prototype.draw.apply(this,arguments);px=this.position;this.buttons=[];var sz=new OpenLayers.Size(18,18);var centered=new OpenLayers.Pixel(px.x+sz.w/2,px.y);this._addButton("panup","north-mini.png",centered,sz);px.y=centered.y+sz.h;this._addButton("panleft","west-mini.png",px,sz);this._addButton("panright","east-mini.png",px.add(sz.w,0),sz);this._addButton("pandown","south-mini.png",centered.add(0,sz.h*2),sz);this._addButton("zoomin","zoom-plus-mini.png",centered.add(0,sz.h*3+5),sz);this._addButton("zoomworld","zoom-world-mini.png",centered.add(0,sz.h*4+5),sz);this._addButton("zoomout","zoom-minus-mini.png",centered.add(0,sz.h*5+5),sz);return this.div;},_addButton:function(id,img,xy,sz){var imgLocation=OpenLayers.Util.getImagesLocation()+img;var btn=OpenLayers.Util.createAlphaImageDiv(this.id+"_"+id,xy,sz,imgLocation,"absolute");btn.style.cursor="pointer";this.div.appendChild(btn);OpenLayers.Event.observe(btn,"mousedown",OpenLayers.Function.bindAsEventListener(this.buttonDown,btn));OpenLayers.Event.observe(btn,"dblclick",OpenLayers.Function.bindAsEventListener(this.doubleClick,btn));OpenLayers.Event.observe(btn,"click",OpenLayers.Function.bindAsEventListener(this.doubleClick,btn));btn.action=id;btn.map=this.map;if(!this.slideRatio){var slideFactorPixels=this.slideFactor;var getSlideFactor=function(){return slideFactorPixels;};}else{var slideRatio=this.slideRatio;var getSlideFactor=function(dim){return this.map.getSize()[dim]*slideRatio;};}
-btn.getSlideFactor=getSlideFactor;this.buttons.push(btn);return btn;},_removeButton:function(btn){OpenLayers.Event.stopObservingElement(btn);btn.map=null;btn.getSlideFactor=null;this.div.removeChild(btn);OpenLayers.Util.removeItem(this.buttons,btn);},removeButtons:function(){for(var i=this.buttons.length-1;i>=0;--i){this._removeButton(this.buttons[i]);}},doubleClick:function(evt){OpenLayers.Event.stop(evt);return false;},buttonDown:function(evt){if(!OpenLayers.Event.isLeftClick(evt)){return;}
-switch(this.action){case"panup":this.map.pan(0,-this.getSlideFactor("h"));break;case"pandown":this.map.pan(0,this.getSlideFactor("h"));break;case"panleft":this.map.pan(-this.getSlideFactor("w"),0);break;case"panright":this.map.pan(this.getSlideFactor("w"),0);break;case"zoomin":this.map.zoomIn();break;case"zoomout":this.map.zoomOut();break;case"zoomworld":this.map.zoomToMaxExtent();break;}
-OpenLayers.Event.stop(evt);},CLASS_NAME:"OpenLayers.Control.PanZoom"});OpenLayers.Control.PanZoom.X=4;OpenLayers.Control.PanZoom.Y=4;OpenLayers.Format.WMTSCapabilities=OpenLayers.Class(OpenLayers.Format.XML.VersionedOGC,{defaultVersion:"1.0.0",yx:{"urn:ogc:def:crs:EPSG::4326":true},createLayer:function(capabilities,config){var layer;var required={layer:true,matrixSet:true};for(var prop in required){if(!(prop in config)){throw new Error("Missing property '"+prop+"' in layer configuration.");}}
-var contents=capabilities.contents;var matrixSet=contents.tileMatrixSets[config.matrixSet];var layers=contents.layers;var layerDef;for(var i=0,ii=contents.layers.length;i<ii;++i){if(contents.layers[i].identifier===config.layer){layerDef=contents.layers[i];break;}}
-if(layerDef&&matrixSet){var style;for(var i=0,ii=layerDef.styles.length;i<ii;++i){style=layerDef.styles[i];if(style.isDefault){break;}}
-layer=new OpenLayers.Layer.WMTS(OpenLayers.Util.applyDefaults(config,{url:capabilities.operationsMetadata.GetTile.dcp.http.get,name:layerDef.title,style:style.identifier,matrixIds:matrixSet.matrixIds}));}
-return layer;},CLASS_NAME:"OpenLayers.Format.WMTSCapabilities"});OpenLayers.Layer.SphericalMercator={getExtent:function(){var extent=null;if(this.sphericalMercator){extent=this.map.calculateBounds();}else{extent=OpenLayers.Layer.FixedZoomLevels.prototype.getExtent.apply(this);}
-return extent;},getLonLatFromViewPortPx:function(viewPortPx){return OpenLayers.Layer.prototype.getLonLatFromViewPortPx.apply(this,arguments);},getViewPortPxFromLonLat:function(lonlat){return OpenLayers.Layer.prototype.getViewPortPxFromLonLat.apply(this,arguments);},initMercatorParameters:function(){this.RESOLUTIONS=[];var maxResolution=156543.03390625;for(var zoom=0;zoom<=this.MAX_ZOOM_LEVEL;++zoom){this.RESOLUTIONS[zoom]=maxResolution/Math.pow(2,zoom);}
-this.units="m";this.projection=this.projection||"EPSG:900913";},forwardMercator:function(lon,lat){var x=lon*20037508.34/180;var y=Math.log(Math.tan((90+lat)*Math.PI/360))/(Math.PI/180);y=y*20037508.34/180;return new OpenLayers.LonLat(x,y);},inverseMercator:function(x,y){var lon=(x/20037508.34)*180;var lat=(y/20037508.34)*180;lat=180/Math.PI*(2*Math.atan(Math.exp(lat*Math.PI/180))-Math.PI/2);return new OpenLayers.LonLat(lon,lat);},projectForward:function(point){var lonlat=OpenLayers.Layer.SphericalMercator.forwardMercator(point.x,point.y);point.x=lonlat.lon;point.y=lonlat.lat;return point;},projectInverse:function(point){var lonlat=OpenLayers.Layer.SphericalMercator.inverseMercator(point.x,point.y);point.x=lonlat.lon;point.y=lonlat.lat;return point;}};(function(){var codes=["EPSG:900913","EPSG:3857","EPSG:102113","EPSG:102100"];var add=OpenLayers.Projection.addTransform;var merc=OpenLayers.Layer.SphericalMercator;var same=OpenLayers.Projection.nullTransform;var i,len,code,other,j;for(i=0,len=codes.length;i<len;++i){code=codes[i];add("EPSG:4326",code,merc.projectForward);add(code,"EPSG:4326",merc.projectInverse);for(j=i+1;j<len;++j){other=codes[j];add(code,other,same);add(other,code,same);}}})();OpenLayers.Format.WMTSCapabilities.v1_0_0=OpenLayers.Class(OpenLayers.Format.OWSCommon.v1_1_0,{version:"1.0.0",namespaces:{ows:"http://www.opengis.net/ows/1.1",wmts:"http://www.opengis.net/wmts/1.0",xlink:"http://www.w3.org/1999/xlink"},yx:null,defaultPrefix:"wmts",initialize:function(options){OpenLayers.Format.XML.prototype.initialize.apply(this,[options]);this.options=options;var yx=OpenLayers.Util.extend({},OpenLayers.Format.WMTSCapabilities.prototype.yx);this.yx=OpenLayers.Util.extend(yx,this.yx);},read:function(data){if(typeof data=="string"){data=OpenLayers.Format.XML.prototype.read.apply(this,[data]);}
-if(data&&data.nodeType==9){data=data.documentElement;}
-var capabilities={};this.readNode(data,capabilities);capabilities.version=this.version;return capabilities;},readers:{"wmts":{"Capabilities":function(node,obj){this.readChildNodes(node,obj);},"Contents":function(node,obj){obj.contents={};obj.contents.layers=[];obj.contents.tileMatrixSets={};this.readChildNodes(node,obj.contents);},"Layer":function(node,obj){var layer={styles:[],formats:[],tileMatrixSetLinks:[]};layer.layers=[];this.readChildNodes(node,layer);obj.layers.push(layer);},"Style":function(node,obj){var style={};style.isDefault=(node.getAttribute("isDefault")==="true");this.readChildNodes(node,style);obj.styles.push(style);},"Format":function(node,obj){obj.formats.push(this.getChildValue(node));},"TileMatrixSetLink":function(node,obj){var tileMatrixSetLink={};this.readChildNodes(node,tileMatrixSetLink);obj.tileMatrixSetLinks.push(tileMatrixSetLink);},"TileMatrixSet":function(node,obj){if(obj.layers){var tileMatrixSet={matrixIds:[]};this.readChildNodes(node,tileMatrixSet);obj.tileMatrixSets[tileMatrixSet.identifier]=tileMatrixSet;}else{obj.tileMatrixSet=this.getChildValue(node);}},"TileMatrix":function(node,obj){var tileMatrix={supportedCRS:obj.supportedCRS};this.readChildNodes(node,tileMatrix);obj.matrixIds.push(tileMatrix);},"ScaleDenominator":function(node,obj){obj.scaleDenominator=parseFloat(this.getChildValue(node));},"TopLeftCorner":function(node,obj){var topLeftCorner=this.getChildValue(node);var coords=topLeftCorner.split(" ");var yx;if(obj.supportedCRS){var crs=obj.supportedCRS.replace(/urn:ogc:def:crs:(\w+):.+:(\w+)$/,"urn:ogc:def:crs:$1::$2");yx=!!this.yx[crs];}
-if(yx){obj.topLeftCorner=new OpenLayers.LonLat(coords[1],coords[0]);}else{obj.topLeftCorner=new OpenLayers.LonLat(coords[0],coords[1]);}},"TileWidth":function(node,obj){obj.tileWidth=parseInt(this.getChildValue(node));},"TileHeight":function(node,obj){obj.tileHeight=parseInt(this.getChildValue(node));},"MatrixWidth":function(node,obj){obj.matrixWidth=parseInt(this.getChildValue(node));},"MatrixHeight":function(node,obj){obj.matrixHeight=parseInt(this.getChildValue(node));},"ResourceURL":function(node,obj){obj.resourceUrl=obj.resourceUrl||{};obj.resourceUrl[node.getAttribute("resourceType")]={format:node.getAttribute("format"),template:node.getAttribute("template")};},"WSDL":function(node,obj){obj.wsdl={};obj.wsdl.href=node.getAttribute("xlink:href");},"ServiceMetadataURL":function(node,obj){obj.serviceMetadataUrl={};obj.serviceMetadataUrl.href=node.getAttribute("xlink:href");}},"ows":OpenLayers.Format.OWSCommon.v1_1_0.prototype.readers["ows"]},CLASS_NAME:"OpenLayers.Format.WMTSCapabilities.v1_0_0"});OpenLayers.Popup.FramedCloud=OpenLayers.Class(OpenLayers.Popup.Framed,{contentDisplayClass:"olFramedCloudPopupContent",autoSize:true,panMapIfOutOfView:true,imageSize:new OpenLayers.Size(1276,736),isAlphaImage:false,fixedRelativePosition:false,positionBlocks:{"tl":{'offset':new OpenLayers.Pixel(44,0),'padding':new OpenLayers.Bounds(8,40,8,9),'blocks':[{size:new OpenLayers.Size('auto','auto'),anchor:new OpenLayers.Bounds(0,51,22,0),position:new OpenLayers.Pixel(0,0)},{size:new OpenLayers.Size(22,'auto'),anchor:new OpenLayers.Bounds(null,50,0,0),position:new OpenLayers.Pixel(-1238,0)},{size:new OpenLayers.Size('auto',19),anchor:new OpenLayers.Bounds(0,32,22,null),position:new OpenLayers.Pixel(0,-631)},{size:new OpenLayers.Size(22,18),anchor:new OpenLayers.Bounds(null,32,0,null),position:new OpenLayers.Pixel(-1238,-632)},{size:new OpenLayers.Size(81,35),anchor:new OpenLayers.Bounds(null,0,0,null),position:new OpenLayers.Pixel(0,-688)}]},"tr":{'offset':new OpenLayers.Pixel(-45,0),'padding':new OpenLayers.Bounds(8,40,8,9),'blocks':[{size:new OpenLayers.Size('auto','auto'),anchor:new OpenLayers.Bounds(0,51,22,0),position:new OpenLayers.Pixel(0,0)},{size:new OpenLayers.Size(22,'auto'),anchor:new OpenLayers.Bounds(null,50,0,0),position:new OpenLayers.Pixel(-1238,0)},{size:new OpenLayers.Size('auto',19),anchor:new OpenLayers.Bounds(0,32,22,null),position:new OpenLayers.Pixel(0,-631)},{size:new OpenLayers.Size(22,19),anchor:new OpenLayers.Bounds(null,32,0,null),position:new OpenLayers.Pixel(-1238,-631)},{size:new OpenLayers.Size(81,35),anchor:new OpenLayers.Bounds(0,0,null,null),position:new OpenLayers.Pixel(-215,-687)}]},"bl":{'offset':new OpenLayers.Pixel(45,0),'padding':new OpenLayers.Bounds(8,9,8,40),'blocks':[{size:new OpenLayers.Size('auto','auto'),anchor:new OpenLayers.Bounds(0,21,22,32),position:new OpenLayers.Pixel(0,0)},{size:new OpenLayers.Size(22,'auto'),anchor:new OpenLayers.Bounds(null,21,0,32),position:new OpenLayers.Pixel(-1238,0)},{size:new OpenLayers.Size('auto',21),anchor:new OpenLayers.Bounds(0,0,22,null),position:new OpenLayers.Pixel(0,-629)},{size:new OpenLayers.Size(22,21),anchor:new OpenLayers.Bounds(null,0,0,null),position:new OpenLayers.Pixel(-1238,-629)},{size:new OpenLayers.Size(81,33),anchor:new OpenLayers.Bounds(null,null,0,0),position:new OpenLayers.Pixel(-101,-674)}]},"br":{'offset':new OpenLayers.Pixel(-44,0),'padding':new OpenLayers.Bounds(8,9,8,40),'blocks':[{size:new OpenLayers.Size('auto','auto'),anchor:new OpenLayers.Bounds(0,21,22,32),position:new OpenLayers.Pixel(0,0)},{size:new OpenLayers.Size(22,'auto'),anchor:new OpenLayers.Bounds(null,21,0,32),position:new OpenLayers.Pixel(-1238,0)},{size:new OpenLayers.Size('auto',21),anchor:new OpenLayers.Bounds(0,0,22,null),position:new OpenLayers.Pixel(0,-629)},{size:new OpenLayers.Size(22,21),anchor:new OpenLayers.Bounds(null,0,0,null),position:new OpenLayers.Pixel(-1238,-629)},{size:new OpenLayers.Size(81,33),anchor:new OpenLayers.Bounds(0,null,null,0),position:new OpenLayers.Pixel(-311,-674)}]}},minSize:new OpenLayers.Size(105,10),maxSize:new OpenLayers.Size(1200,660),initialize:function(id,lonlat,contentSize,contentHTML,anchor,closeBox,closeBoxCallback){this.imageSrc=OpenLayers.Util.getImagesLocation()+'cloud-popup-relative.png';OpenLayers.Popup.Framed.prototype.initialize.apply(this,arguments);this.contentDiv.className=this.contentDisplayClass;},destroy:function(){OpenLayers.Popup.Framed.prototype.destroy.apply(this,arguments);},CLASS_NAME:"OpenLayers.Popup.FramedCloud"});OpenLayers.Symbolizer.Point=OpenLayers.Class(OpenLayers.Symbolizer,{initialize:function(config){OpenLayers.Symbolizer.prototype.initialize.apply(this,arguments);},CLASS_NAME:"OpenLayers.Symbolizer.Point"});OpenLayers.Symbolizer.Line=OpenLayers.Class(OpenLayers.Symbolizer,{initialize:function(config){OpenLayers.Symbolizer.prototype.initialize.apply(this,arguments);},CLASS_NAME:"OpenLayers.Symbolizer.Line"});OpenLayers.Symbolizer.Polygon=OpenLayers.Class(OpenLayers.Symbolizer,{initialize:function(config){OpenLayers.Symbolizer.prototype.initialize.apply(this,arguments);},CLASS_NAME:"OpenLayers.Symbolizer.Polygon"});OpenLayers.Symbolizer.Text=OpenLayers.Class(OpenLayers.Symbolizer,{initialize:function(config){OpenLayers.Symbolizer.prototype.initialize.apply(this,arguments);},CLASS_NAME:"OpenLayers.Symbolizer.Text"});OpenLayers.Rule=OpenLayers.Class({id:null,name:null,title:null,description:null,context:null,filter:null,elseFilter:false,symbolizer:null,symbolizers:null,minScaleDenominator:null,maxScaleDenominator:null,initialize:function(options){this.symbolizer={};OpenLayers.Util.extend(this,options);if(this.symbolizers){delete this.symbolizer;}
-this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_");},destroy:function(){for(var i in this.symbolizer){this.symbolizer[i]=null;}
-this.symbolizer=null;delete this.symbolizers;},evaluate:function(feature){var context=this.getContext(feature);var applies=true;if(this.minScaleDenominator||this.maxScaleDenominator){var scale=feature.layer.map.getScale();}
-if(this.minScaleDenominator){applies=scale>=OpenLayers.Style.createLiteral(this.minScaleDenominator,context);}
-if(applies&&this.maxScaleDenominator){applies=scale<OpenLayers.Style.createLiteral(this.maxScaleDenominator,context);}
-if(applies&&this.filter){if(this.filter.CLASS_NAME=="OpenLayers.Filter.FeatureId"){applies=this.filter.evaluate(feature);}else{applies=this.filter.evaluate(context);}}
-return applies;},getContext:function(feature){var context=this.context;if(!context){context=feature.attributes||feature.data;}
-if(typeof this.context=="function"){context=this.context(feature);}
-return context;},clone:function(){var options=OpenLayers.Util.extend({},this);if(this.symbolizers){var len=this.symbolizers.length;options.symbolizers=new Array(len);for(var i=0;i<len;++i){options.symbolizers[i]=this.symbolizers[i].clone();}}else{options.symbolizer={};var value,type;for(var key in this.symbolizer){value=this.symbolizer[key];type=typeof value;if(type==="object"){options.symbolizer[key]=OpenLayers.Util.extend({},value);}else if(type==="string"){options.symbolizer[key]=value;}}}
-options.filter=this.filter&&this.filter.clone();options.context=this.context&&OpenLayers.Util.extend({},this.context);return new OpenLayers.Rule(options);},CLASS_NAME:"OpenLayers.Rule"});OpenLayers.Handler.Pinch=OpenLayers.Class(OpenLayers.Handler,{started:false,stopDown:false,pinching:false,last:null,start:null,initialize:function(control,callbacks,options){OpenLayers.Handler.prototype.initialize.apply(this,arguments);},touchstart:function(evt){var propagate=true;this.pinching=false;if(OpenLayers.Event.isMultiTouch(evt)){this.started=true;this.last=this.start={distance:this.getDistance(evt.touches),delta:0,scale:1};this.callback("start",[evt,this.start]);propagate=!this.stopDown;}else{this.started=false;this.start=null;this.last=null;}
-OpenLayers.Event.stop(evt);return propagate;},touchmove:function(evt){if(this.started&&OpenLayers.Event.isMultiTouch(evt)){this.pinching=true;var current=this.getPinchData(evt);this.callback("move",[evt,current]);this.last=current;OpenLayers.Event.stop(evt);}
-return true;},touchend:function(evt){if(this.started){this.started=false;this.pinching=false;this.callback("done",[evt,this.start,this.last]);this.start=null;this.last=null;}
-return true;},activate:function(){var activated=false;if(OpenLayers.Handler.prototype.activate.apply(this,arguments)){this.pinching=false;activated=true;}
-return activated;},deactivate:function(){var deactivated=false;if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){this.started=false;this.pinching=false;this.start=null;this.last=null;deactivated=true;}
-return deactivated;},getDistance:function(touches){var t0=touches[0];var t1=touches[1];return Math.sqrt(Math.pow(t0.clientX-t1.clientX,2)+
-Math.pow(t0.clientY-t1.clientY,2));},getPinchData:function(evt){var distance=this.getDistance(evt.touches);var scale=distance/this.start.distance;return{distance:distance,delta:this.last.distance-distance,scale:scale};},CLASS_NAME:"OpenLayers.Handler.Pinch"});OpenLayers.Filter.Comparison=OpenLayers.Class(OpenLayers.Filter,{type:null,property:null,value:null,matchCase:true,lowerBoundary:null,upperBoundary:null,initialize:function(options){OpenLayers.Filter.prototype.initialize.apply(this,[options]);if(this.type===OpenLayers.Filter.Comparison.LIKE&&options.matchCase===undefined){this.matchCase=null;}},evaluate:function(context){if(context instanceof OpenLayers.Feature.Vector){context=context.attributes;}
-var result=false;var got=context[this.property];var exp;switch(this.type){case OpenLayers.Filter.Comparison.EQUAL_TO:exp=this.value;if(!this.matchCase&&typeof got=="string"&&typeof exp=="string"){result=(got.toUpperCase()==exp.toUpperCase());}else{result=(got==exp);}
-break;case OpenLayers.Filter.Comparison.NOT_EQUAL_TO:exp=this.value;if(!this.matchCase&&typeof got=="string"&&typeof exp=="string"){result=(got.toUpperCase()!=exp.toUpperCase());}else{result=(got!=exp);}
-break;case OpenLayers.Filter.Comparison.LESS_THAN:result=got<this.value;break;case OpenLayers.Filter.Comparison.GREATER_THAN:result=got>this.value;break;case OpenLayers.Filter.Comparison.LESS_THAN_OR_EQUAL_TO:result=got<=this.value;break;case OpenLayers.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO:result=got>=this.value;break;case OpenLayers.Filter.Comparison.BETWEEN:result=(got>=this.lowerBoundary)&&(got<=this.upperBoundary);break;case OpenLayers.Filter.Comparison.LIKE:var regexp=new RegExp(this.value,"gi");result=regexp.test(got);break;}
-return result;},value2regex:function(wildCard,singleChar,escapeChar){if(wildCard=="."){var msg="'.' is an unsupported wildCard character for "+"OpenLayers.Filter.Comparison";OpenLayers.Console.error(msg);return null;}
-wildCard=wildCard?wildCard:"*";singleChar=singleChar?singleChar:".";escapeChar=escapeChar?escapeChar:"!";this.value=this.value.replace(new RegExp("\\"+escapeChar+"(.|$)","g"),"\\$1");this.value=this.value.replace(new RegExp("\\"+singleChar,"g"),".");this.value=this.value.replace(new RegExp("\\"+wildCard,"g"),".*");this.value=this.value.replace(new RegExp("\\\\.\\*","g"),"\\"+wildCard);this.value=this.value.replace(new RegExp("\\\\\\.","g"),"\\"+singleChar);return this.value;},regex2value:function(){var value=this.value;value=value.replace(/!/g,"!!");value=value.replace(/(\\)?\\\./g,function($0,$1){return $1?$0:"!.";});value=value.replace(/(\\)?\\\*/g,function($0,$1){return $1?$0:"!*";});value=value.replace(/\\\\/g,"\\");value=value.replace(/\.\*/g,"*");return value;},clone:function(){return OpenLayers.Util.extend(new OpenLayers.Filter.Comparison(),this);},CLASS_NAME:"OpenLayers.Filter.Comparison"});OpenLayers.Filter.Comparison.EQUAL_TO="==";OpenLayers.Filter.Comparison.NOT_EQUAL_TO="!=";OpenLayers.Filter.Comparison.LESS_THAN="<";OpenLayers.Filter.Comparison.GREATER_THAN=">";OpenLayers.Filter.Comparison.LESS_THAN_OR_EQUAL_TO="<=";OpenLayers.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO=">=";OpenLayers.Filter.Comparison.BETWEEN="..";OpenLayers.Filter.Comparison.LIKE="~";OpenLayers.Format.QueryStringFilter=(function(){var cmpToStr={};cmpToStr[OpenLayers.Filter.Comparison.EQUAL_TO]="eq";cmpToStr[OpenLayers.Filter.Comparison.NOT_EQUAL_TO]="ne";cmpToStr[OpenLayers.Filter.Comparison.LESS_THAN]="lt";cmpToStr[OpenLayers.Filter.Comparison.LESS_THAN_OR_EQUAL_TO]="lte";cmpToStr[OpenLayers.Filter.Comparison.GREATER_THAN]="gt";cmpToStr[OpenLayers.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO]="gte";cmpToStr[OpenLayers.Filter.Comparison.LIKE]="ilike";function regex2value(value){value=value.replace(/%/g,"\\%");value=value.replace(/\\\\\.(\*)?/g,function($0,$1){return $1?$0:"\\\\_";});value=value.replace(/\\\\\.\*/g,"\\\\%");value=value.replace(/(\\)?\.(\*)?/g,function($0,$1,$2){return $1||$2?$0:"_";});value=value.replace(/(\\)?\.\*/g,function($0,$1){return $1?$0:"%";});value=value.replace(/\\\./g,".");value=value.replace(/(\\)?\\\*/g,function($0,$1){return $1?$0:"*";});return value;}
-return OpenLayers.Class(OpenLayers.Format,{wildcarded:false,srsInBBOX:false,write:function(filter,params){params=params||{};var className=filter.CLASS_NAME;var filterType=className.substring(className.lastIndexOf(".")+1);switch(filterType){case"Spatial":switch(filter.type){case OpenLayers.Filter.Spatial.BBOX:params.bbox=filter.value.toArray();if(this.srsInBBOX&&filter.projection){params.bbox.push(filter.projection.getCode());}
-break;case OpenLayers.Filter.Spatial.DWITHIN:params.tolerance=filter.distance;case OpenLayers.Filter.Spatial.WITHIN:params.lon=filter.value.x;params.lat=filter.value.y;break;default:OpenLayers.Console.warn("Unknown spatial filter type "+filter.type);}
-break;case"Comparison":var op=cmpToStr[filter.type];if(op!==undefined){var value=filter.value;if(filter.type==OpenLayers.Filter.Comparison.LIKE){value=regex2value(value);if(this.wildcarded){value="%"+value+"%";}}
-params[filter.property+"__"+op]=value;params.queryable=params.queryable||[];params.queryable.push(filter.property);}else{OpenLayers.Console.warn("Unknown comparison filter type "+filter.type);}
-break;case"Logical":if(filter.type===OpenLayers.Filter.Logical.AND){for(var i=0,len=filter.filters.length;i<len;i++){params=this.write(filter.filters[i],params);}}else{OpenLayers.Console.warn("Unsupported logical filter type "+filter.type);}
-break;default:OpenLayers.Console.warn("Unknown filter type "+filterType);}
-return params;},CLASS_NAME:"OpenLayers.Format.QueryStringFilter"});})();OpenLayers.Layer.WMTS=OpenLayers.Class(OpenLayers.Layer.Grid,{isBaseLayer:true,version:"1.0.0",requestEncoding:"KVP",url:null,layer:null,matrixSet:null,style:null,format:"image/jpeg",tileOrigin:null,tileFullExtent:null,formatSuffix:null,matrixIds:null,dimensions:null,params:null,zoomOffset:0,formatSuffixMap:{"image/png":"png","image/png8":"png","image/png24":"png","image/png32":"png","png":"png","image/jpeg":"jpg","image/jpg":"jpg","jpeg":"jpg","jpg":"jpg"},matrix:null,initialize:function(config){var required={url:true,layer:true,style:true,matrixSet:true};for(var prop in required){if(!(prop in config)){throw new Error("Missing property '"+prop+"' in layer configuration.");}}
-config.params=OpenLayers.Util.upperCaseObject(config.params);var args=[config.name,config.url,config.params,config];OpenLayers.Layer.Grid.prototype.initialize.apply(this,args);if(!this.formatSuffix){this.formatSuffix=this.formatSuffixMap[this.format]||this.format.split("/").pop();}
-if(this.matrixIds){var len=this.matrixIds.length;if(len&&typeof this.matrixIds[0]==="string"){var ids=this.matrixIds;this.matrixIds=new Array(len);for(var i=0;i<len;++i){this.matrixIds[i]={identifier:ids[i]};}}}},setMap:function(){OpenLayers.Layer.Grid.prototype.setMap.apply(this,arguments);this.updateMatrixProperties();},updateMatrixProperties:function(){this.matrix=this.getMatrix();if(this.matrix){if(this.matrix.topLeftCorner){this.tileOrigin=this.matrix.topLeftCorner;}
-if(this.matrix.tileWidth&&this.matrix.tileHeight){this.tileSize=new OpenLayers.Size(this.matrix.tileWidth,this.matrix.tileHeight);}
-if(!this.tileOrigin){this.tileOrigin=new OpenLayers.LonLat(this.maxExtent.left,this.maxExtent.top);}
-if(!this.tileFullExtent){this.tileFullExtent=this.maxExtent;}}},moveTo:function(bounds,zoomChanged,dragging){if(zoomChanged||!this.matrix){this.updateMatrixProperties();}
-return OpenLayers.Layer.Grid.prototype.moveTo.apply(this,arguments);},clone:function(obj){if(obj==null){obj=new OpenLayers.Layer.WMTS(this.options);}
-obj=OpenLayers.Layer.Grid.prototype.clone.apply(this,[obj]);return obj;},getMatrix:function(){var matrix;if(!this.matrixIds||this.matrixIds.length===0){matrix={identifier:this.map.getZoom()+this.zoomOffset};}else{if("scaleDenominator"in this.matrixIds[0]){var denom=OpenLayers.METERS_PER_INCH*OpenLayers.INCHES_PER_UNIT[this.units]*this.map.getResolution()/0.28E-3;var diff=Number.POSITIVE_INFINITY;var delta;for(var i=0,ii=this.matrixIds.length;i<ii;++i){delta=Math.abs(1-(this.matrixIds[i].scaleDenominator/denom));if(delta<diff){diff=delta;matrix=this.matrixIds[i];}}}else{matrix=this.matrixIds[this.map.getZoom()+this.zoomOffset];}}
-return matrix;},getTileInfo:function(loc){var res=this.map.getResolution();var fx=(loc.lon-this.tileOrigin.lon)/(res*this.tileSize.w);var fy=(this.tileOrigin.lat-loc.lat)/(res*this.tileSize.h);var col=Math.floor(fx);var row=Math.floor(fy);return{col:col,row:row,i:Math.floor((fx-col)*this.tileSize.w),j:Math.floor((fy-row)*this.tileSize.h)};},getURL:function(bounds){bounds=this.adjustBounds(bounds);var url="";if(!this.tileFullExtent||this.tileFullExtent.intersectsBounds(bounds)){var center=bounds.getCenterLonLat();var info=this.getTileInfo(center);var matrixId=this.matrix.identifier;if(this.requestEncoding.toUpperCase()==="REST"){var path=this.version+"/"+this.layer+"/"+this.style+"/";if(this.dimensions){for(var i=0;i<this.dimensions.length;i++){if(this.params[this.dimensions[i]]){path=path+this.params[this.dimensions[i]]+"/";}}}
-path=path+this.matrixSet+"/"+this.matrix.identifier+"/"+info.row+"/"+info.col+"."+this.formatSuffix;if(OpenLayers.Util.isArray(this.url)){url=this.selectUrl(path,this.url);}else{url=this.url;}
-if(!url.match(/\/$/)){url=url+"/";}
-url=url+path;}else if(this.requestEncoding.toUpperCase()==="KVP"){var params={SERVICE:"WMTS",REQUEST:"GetTile",VERSION:this.version,LAYER:this.layer,STYLE:this.style,TILEMATRIXSET:this.matrixSet,TILEMATRIX:this.matrix.identifier,TILEROW:info.row,TILECOL:info.col,FORMAT:this.format};url=OpenLayers.Layer.Grid.prototype.getFullRequestString.apply(this,[params]);}}
-return url;},mergeNewParams:function(newParams){if(this.requestEncoding.toUpperCase()==="KVP"){return OpenLayers.Layer.Grid.prototype.mergeNewParams.apply(this,[OpenLayers.Util.upperCaseObject(newParams)]);}},CLASS_NAME:"OpenLayers.Layer.WMTS"});OpenLayers.Renderer.VML=OpenLayers.Class(OpenLayers.Renderer.Elements,{xmlns:"urn:schemas-microsoft-com:vml",symbolCache:{},offset:null,initialize:function(containerID){if(!this.supported()){return;}
-if(!document.namespaces.olv){document.namespaces.add("olv",this.xmlns);var style=document.createStyleSheet();var shapes=['shape','rect','oval','fill','stroke','imagedata','group','textbox'];for(var i=0,len=shapes.length;i<len;i++){style.addRule('olv\\:'+shapes[i],"behavior: url(#default#VML); "+"position: absolute; display: inline-block;");}}
-OpenLayers.Renderer.Elements.prototype.initialize.apply(this,arguments);},supported:function(){return!!(document.namespaces);},setExtent:function(extent,resolutionChanged){OpenLayers.Renderer.Elements.prototype.setExtent.apply(this,arguments);var resolution=this.getResolution();var left=(extent.left/resolution)|0;var top=(extent.top/resolution-this.size.h)|0;if(resolutionChanged||!this.offset){this.offset={x:left,y:top};left=0;top=0;}else{left=left-this.offset.x;top=top-this.offset.y;}
-var org=left+" "+top;this.root.coordorigin=org;var roots=[this.root,this.vectorRoot,this.textRoot];var root;for(var i=0,len=roots.length;i<len;++i){root=roots[i];var size=this.size.w+" "+this.size.h;root.coordsize=size;}
-this.root.style.flip="y";return true;},setSize:function(size){OpenLayers.Renderer.prototype.setSize.apply(this,arguments);var roots=[this.rendererRoot,this.root,this.vectorRoot,this.textRoot];var w=this.size.w+"px";var h=this.size.h+"px";var root;for(var i=0,len=roots.length;i<len;++i){root=roots[i];root.style.width=w;root.style.height=h;}},getNodeType:function(geometry,style){var nodeType=null;switch(geometry.CLASS_NAME){case"OpenLayers.Geometry.Point":if(style.externalGraphic){nodeType="olv:rect";}else if(this.isComplexSymbol(style.graphicName)){nodeType="olv:shape";}else{nodeType="olv:oval";}
-break;case"OpenLayers.Geometry.Rectangle":nodeType="olv:rect";break;case"OpenLayers.Geometry.LineString":case"OpenLayers.Geometry.LinearRing":case"OpenLayers.Geometry.Polygon":case"OpenLayers.Geometry.Curve":case"OpenLayers.Geometry.Surface":nodeType="olv:shape";break;default:break;}
-return nodeType;},setStyle:function(node,style,options,geometry){style=style||node._style;options=options||node._options;var fillColor=style.fillColor;if(node._geometryClass==="OpenLayers.Geometry.Point"){if(style.externalGraphic){options.isFilled=true;if(style.graphicTitle){node.title=style.graphicTitle;}
-var width=style.graphicWidth||style.graphicHeight;var height=style.graphicHeight||style.graphicWidth;width=width?width:style.pointRadius*2;height=height?height:style.pointRadius*2;var resolution=this.getResolution();var xOffset=(style.graphicXOffset!=undefined)?style.graphicXOffset:-(0.5*width);var yOffset=(style.graphicYOffset!=undefined)?style.graphicYOffset:-(0.5*height);node.style.left=(((geometry.x/resolution-this.offset.x)+xOffset)|0)+"px";node.style.top=(((geometry.y/resolution-this.offset.y)-(yOffset+height))|0)+"px";node.style.width=width+"px";node.style.height=height+"px";node.style.flip="y";fillColor="none";options.isStroked=false;}else if(this.isComplexSymbol(style.graphicName)){var cache=this.importSymbol(style.graphicName);node.path=cache.path;node.coordorigin=cache.left+","+cache.bottom;var size=cache.size;node.coordsize=size+","+size;this.drawCircle(node,geometry,style.pointRadius);node.style.flip="y";}else{this.drawCircle(node,geometry,style.pointRadius);}}
-if(options.isFilled){node.fillcolor=fillColor;}else{node.filled="false";}
-var fills=node.getElementsByTagName("fill");var fill=(fills.length==0)?null:fills[0];if(!options.isFilled){if(fill){node.removeChild(fill);}}else{if(!fill){fill=this.createNode('olv:fill',node.id+"_fill");}
-fill.opacity=style.fillOpacity;if(node._geometryClass==="OpenLayers.Geometry.Point"&&style.externalGraphic){if(style.graphicOpacity){fill.opacity=style.graphicOpacity;}
-fill.src=style.externalGraphic;fill.type="frame";if(!(style.graphicWidth&&style.graphicHeight)){fill.aspect="atmost";}}
-if(fill.parentNode!=node){node.appendChild(fill);}}
-var rotation=style.rotation;if((rotation!==undefined||node._rotation!==undefined)){node._rotation=rotation;if(style.externalGraphic){this.graphicRotate(node,xOffset,yOffset,style);fill.opacity=0;}else if(node._geometryClass==="OpenLayers.Geometry.Point"){node.style.rotation=rotation||0;}}
-var strokes=node.getElementsByTagName("stroke");var stroke=(strokes.length==0)?null:strokes[0];if(!options.isStroked){node.stroked=false;if(stroke){stroke.on=false;}}else{if(!stroke){stroke=this.createNode('olv:stroke',node.id+"_stroke");node.appendChild(stroke);}
-stroke.on=true;stroke.color=style.strokeColor;stroke.weight=style.strokeWidth+"px";stroke.opacity=style.strokeOpacity;stroke.endcap=style.strokeLinecap=='butt'?'flat':(style.strokeLinecap||'round');if(style.strokeDashstyle){stroke.dashstyle=this.dashStyle(style);}}
-if(style.cursor!="inherit"&&style.cursor!=null){node.style.cursor=style.cursor;}
-return node;},graphicRotate:function(node,xOffset,yOffset,style){var style=style||node._style;var rotation=style.rotation||0;var aspectRatio,size;if(!(style.graphicWidth&&style.graphicHeight)){var img=new Image();img.onreadystatechange=OpenLayers.Function.bind(function(){if(img.readyState=="complete"||img.readyState=="interactive"){aspectRatio=img.width/img.height;size=Math.max(style.pointRadius*2,style.graphicWidth||0,style.graphicHeight||0);xOffset=xOffset*aspectRatio;style.graphicWidth=size*aspectRatio;style.graphicHeight=size;this.graphicRotate(node,xOffset,yOffset,style);}},this);img.src=style.externalGraphic;return;}else{size=Math.max(style.graphicWidth,style.graphicHeight);aspectRatio=style.graphicWidth/style.graphicHeight;}
-var width=Math.round(style.graphicWidth||size*aspectRatio);var height=Math.round(style.graphicHeight||size);node.style.width=width+"px";node.style.height=height+"px";var image=document.getElementById(node.id+"_image");if(!image){image=this.createNode("olv:imagedata",node.id+"_image");node.appendChild(image);}
-image.style.width=width+"px";image.style.height=height+"px";image.src=style.externalGraphic;image.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader("+"src='', sizingMethod='scale')";var rot=rotation*Math.PI/180;var sintheta=Math.sin(rot);var costheta=Math.cos(rot);var filter="progid:DXImageTransform.Microsoft.Matrix(M11="+costheta+",M12="+(-sintheta)+",M21="+sintheta+",M22="+costheta+",SizingMethod='auto expand')\n";var opacity=style.graphicOpacity||style.fillOpacity;if(opacity&&opacity!=1){filter+="progid:DXImageTransform.Microsoft.BasicImage(opacity="+
-opacity+")\n";}
-node.style.filter=filter;var centerPoint=new OpenLayers.Geometry.Point(-xOffset,-yOffset);var imgBox=new OpenLayers.Bounds(0,0,width,height).toGeometry();imgBox.rotate(style.rotation,centerPoint);var imgBounds=imgBox.getBounds();node.style.left=Math.round(parseInt(node.style.left)+imgBounds.left)+"px";node.style.top=Math.round(parseInt(node.style.top)-imgBounds.bottom)+"px";},postDraw:function(node){node.style.visibility="visible";var fillColor=node._style.fillColor;var strokeColor=node._style.strokeColor;if(fillColor=="none"&&node.fillcolor!=fillColor){node.fillcolor=fillColor;}
-if(strokeColor=="none"&&node.strokecolor!=strokeColor){node.strokecolor=strokeColor;}},setNodeDimension:function(node,geometry){var bbox=geometry.getBounds();if(bbox){var resolution=this.getResolution();var scaledBox=new OpenLayers.Bounds((bbox.left/resolution-this.offset.x)|0,(bbox.bottom/resolution-this.offset.y)|0,(bbox.right/resolution-this.offset.x)|0,(bbox.top/resolution-this.offset.y)|0);node.style.left=scaledBox.left+"px";node.style.top=scaledBox.top+"px";node.style.width=scaledBox.getWidth()+"px";node.style.height=scaledBox.getHeight()+"px";node.coordorigin=scaledBox.left+" "+scaledBox.top;node.coordsize=scaledBox.getWidth()+" "+scaledBox.getHeight();}},dashStyle:function(style){var dash=style.strokeDashstyle;switch(dash){case'solid':case'dot':case'dash':case'dashdot':case'longdash':case'longdashdot':return dash;default:var parts=dash.split(/[ ,]/);if(parts.length==2){if(1*parts[0]>=2*parts[1]){return"longdash";}
-return(parts[0]==1||parts[1]==1)?"dot":"dash";}else if(parts.length==4){return(1*parts[0]>=2*parts[1])?"longdashdot":"dashdot";}
-return"solid";}},createNode:function(type,id){var node=document.createElement(type);if(id){node.id=id;}
-node.unselectable='on';node.onselectstart=OpenLayers.Function.False;return node;},nodeTypeCompare:function(node,type){var subType=type;var splitIndex=subType.indexOf(":");if(splitIndex!=-1){subType=subType.substr(splitIndex+1);}
-var nodeName=node.nodeName;splitIndex=nodeName.indexOf(":");if(splitIndex!=-1){nodeName=nodeName.substr(splitIndex+1);}
-return(subType==nodeName);},createRenderRoot:function(){return this.nodeFactory(this.container.id+"_vmlRoot","div");},createRoot:function(suffix){return this.nodeFactory(this.container.id+suffix,"olv:group");},drawPoint:function(node,geometry){return this.drawCircle(node,geometry,1);},drawCircle:function(node,geometry,radius){if(!isNaN(geometry.x)&&!isNaN(geometry.y)){var resolution=this.getResolution();node.style.left=(((geometry.x/resolution-this.offset.x)|0)-radius)+"px";node.style.top=(((geometry.y/resolution-this.offset.y)|0)-radius)+"px";var diameter=radius*2;node.style.width=diameter+"px";node.style.height=diameter+"px";return node;}
-return false;},drawLineString:function(node,geometry){return this.drawLine(node,geometry,false);},drawLinearRing:function(node,geometry){return this.drawLine(node,geometry,true);},drawLine:function(node,geometry,closeLine){this.setNodeDimension(node,geometry);var resolution=this.getResolution();var numComponents=geometry.components.length;var parts=new Array(numComponents);var comp,x,y;for(var i=0;i<numComponents;i++){comp=geometry.components[i];x=(comp.x/resolution-this.offset.x)|0;y=(comp.y/resolution-this.offset.y)|0;parts[i]=" "+x+","+y+" l ";}
-var end=(closeLine)?" x e":" e";node.path="m"+parts.join("")+end;return node;},drawPolygon:function(node,geometry){this.setNodeDimension(node,geometry);var resolution=this.getResolution();var path=[];var j,jj,points,area,first,second,i,ii,comp,pathComp,x,y;for(j=0,jj=geometry.components.length;j<jj;j++){path.push("m");points=geometry.components[j].components;area=(j===0);first=null;second=null;for(i=0,ii=points.length;i<ii;i++){comp=points[i];x=(comp.x/resolution-this.offset.x)|0;y=(comp.y/resolution-this.offset.y)|0;pathComp=" "+x+","+y;path.push(pathComp);if(i==0){path.push(" l");}
-if(!area){if(!first){first=pathComp;}else if(first!=pathComp){if(!second){second=pathComp;}else if(second!=pathComp){area=true;}}}}
-path.push(area?" x ":" ");}
-path.push("e");node.path=path.join("");return node;},drawRectangle:function(node,geometry){var resolution=this.getResolution();node.style.left=((geometry.x/resolution-this.offset.x)|0)+"px";node.style.top=((geometry.y/resolution-this.offset.y)|0)+"px";node.style.width=((geometry.width/resolution)|0)+"px";node.style.height=((geometry.height/resolution)|0)+"px";return node;},drawText:function(featureId,style,location){var label=this.nodeFactory(featureId+this.LABEL_ID_SUFFIX,"olv:rect");var textbox=this.nodeFactory(featureId+this.LABEL_ID_SUFFIX+"_textbox","olv:textbox");var resolution=this.getResolution();label.style.left=((location.x/resolution-this.offset.x)|0)+"px";label.style.top=((location.y/resolution-this.offset.y)|0)+"px";label.style.flip="y";textbox.innerText=style.label;if(style.cursor!="inherit"&&style.cursor!=null){textbox.style.cursor=style.cursor;}
-if(style.fontColor){textbox.style.color=style.fontColor;}
-if(style.fontOpacity){textbox.style.filter='alpha(opacity='+(style.fontOpacity*100)+')';}
-if(style.fontFamily){textbox.style.fontFamily=style.fontFamily;}
-if(style.fontSize){textbox.style.fontSize=style.fontSize;}
-if(style.fontWeight){textbox.style.fontWeight=style.fontWeight;}
-if(style.fontStyle){textbox.style.fontStyle=style.fontStyle;}
-if(style.labelSelect===true){label._featureId=featureId;textbox._featureId=featureId;textbox._geometry=location;textbox._geometryClass=location.CLASS_NAME;}
-textbox.style.whiteSpace="nowrap";textbox.inset="1px,0px,0px,0px";if(!label.parentNode){label.appendChild(textbox);this.textRoot.appendChild(label);}
-var align=style.labelAlign||"cm";if(align.length==1){align+="m";}
-var xshift=textbox.clientWidth*(OpenLayers.Renderer.VML.LABEL_SHIFT[align.substr(0,1)]);var yshift=textbox.clientHeight*(OpenLayers.Renderer.VML.LABEL_SHIFT[align.substr(1,1)]);label.style.left=parseInt(label.style.left)-xshift-1+"px";label.style.top=parseInt(label.style.top)+yshift+"px";},drawSurface:function(node,geometry){this.setNodeDimension(node,geometry);var resolution=this.getResolution();var path=[];var comp,x,y;for(var i=0,len=geometry.components.length;i<len;i++){comp=geometry.components[i];x=(comp.x/resolution-this.offset.x)|0;y=(comp.y/resolution-this.offset.y)|0;if((i%3)==0&&(i/3)==0){path.push("m");}else if((i%3)==1){path.push(" c");}
-path.push(" "+x+","+y);}
-path.push(" x e");node.path=path.join("");return node;},moveRoot:function(renderer){var layer=this.map.getLayer(renderer.container.id);if(layer instanceof OpenLayers.Layer.Vector.RootContainer){layer=this.map.getLayer(this.container.id);}
-layer&&layer.renderer.clear();OpenLayers.Renderer.Elements.prototype.moveRoot.apply(this,arguments);layer&&layer.redraw();},importSymbol:function(graphicName){var id=this.container.id+"-"+graphicName;var cache=this.symbolCache[id];if(cache){return cache;}
-var symbol=OpenLayers.Renderer.symbol[graphicName];if(!symbol){throw new Error(graphicName+' is not a valid symbol name');}
-var symbolExtent=new OpenLayers.Bounds(Number.MAX_VALUE,Number.MAX_VALUE,0,0);var pathitems=["m"];for(var i=0;i<symbol.length;i=i+2){var x=symbol[i];var y=symbol[i+1];symbolExtent.left=Math.min(symbolExtent.left,x);symbolExtent.bottom=Math.min(symbolExtent.bottom,y);symbolExtent.right=Math.max(symbolExtent.right,x);symbolExtent.top=Math.max(symbolExtent.top,y);pathitems.push(x);pathitems.push(y);if(i==0){pathitems.push("l");}}
-pathitems.push("x e");var path=pathitems.join(" ");var diff=(symbolExtent.getWidth()-symbolExtent.getHeight())/2;if(diff>0){symbolExtent.bottom=symbolExtent.bottom-diff;symbolExtent.top=symbolExtent.top+diff;}else{symbolExtent.left=symbolExtent.left+diff;symbolExtent.right=symbolExtent.right-diff;}
-cache={path:path,size:symbolExtent.getWidth(),left:symbolExtent.left,bottom:symbolExtent.bottom};this.symbolCache[id]=cache;return cache;},CLASS_NAME:"OpenLayers.Renderer.VML"});OpenLayers.Renderer.VML.LABEL_SHIFT={"l":0,"c":.5,"r":1,"t":0,"m":.5,"b":1};OpenLayers.Protocol=OpenLayers.Class({format:null,options:null,autoDestroy:true,defaultFilter:null,initialize:function(options){options=options||{};OpenLayers.Util.extend(this,options);this.options=options;},mergeWithDefaultFilter:function(filter){var merged;if(filter&&this.defaultFilter){merged=new OpenLayers.Filter.Logical({type:OpenLayers.Filter.Logical.AND,filters:[this.defaultFilter,filter]});}else{merged=filter||this.defaultFilter||undefined;}
-return merged;},destroy:function(){this.options=null;this.format=null;},read:function(options){options=options||{};options.filter=this.mergeWithDefaultFilter(options.filter);},create:function(){},update:function(){},"delete":function(){},commit:function(){},abort:function(response){},createCallback:function(method,response,options){return OpenLayers.Function.bind(function(){method.apply(this,[response,options]);},this);},CLASS_NAME:"OpenLayers.Protocol"});OpenLayers.Protocol.Response=OpenLayers.Class({code:null,requestType:null,last:true,features:null,reqFeatures:null,priv:null,error:null,initialize:function(options){OpenLayers.Util.extend(this,options);},success:function(){return this.code>0;},CLASS_NAME:"OpenLayers.Protocol.Response"});OpenLayers.Protocol.Response.SUCCESS=1;OpenLayers.Protocol.Response.FAILURE=0;OpenLayers.Protocol.HTTP=OpenLayers.Class(OpenLayers.Protocol,{url:null,headers:null,params:null,callback:null,scope:null,readWithPOST:false,wildcarded:false,srsInBBOX:false,initialize:function(options){options=options||{};this.params={};this.headers={};OpenLayers.Protocol.prototype.initialize.apply(this,arguments);if(!this.filterToParams&&OpenLayers.Format.QueryStringFilter){var format=new OpenLayers.Format.QueryStringFilter({wildcarded:this.wildcarded,srsInBBOX:this.srsInBBOX});this.filterToParams=function(filter,params){return format.write(filter,params);}}},destroy:function(){this.params=null;this.headers=null;OpenLayers.Protocol.prototype.destroy.apply(this);},read:function(options){OpenLayers.Protocol.prototype.read.apply(this,arguments);options=options||{};options.params=OpenLayers.Util.applyDefaults(options.params,this.options.params);options=OpenLayers.Util.applyDefaults(options,this.options);if(options.filter&&this.filterToParams){options.params=this.filterToParams(options.filter,options.params);}
-var readWithPOST=(options.readWithPOST!==undefined)?options.readWithPOST:this.readWithPOST;var resp=new OpenLayers.Protocol.Response({requestType:"read"});if(readWithPOST){resp.priv=OpenLayers.Request.POST({url:options.url,callback:this.createCallback(this.handleRead,resp,options),data:OpenLayers.Util.getParameterString(options.params),headers:{"Content-Type":"application/x-www-form-urlencoded"}});}else{resp.priv=OpenLayers.Request.GET({url:options.url,callback:this.createCallback(this.handleRead,resp,options),params:options.params,headers:options.headers});}
-return resp;},handleRead:function(resp,options){this.handleResponse(resp,options);},create:function(features,options){options=OpenLayers.Util.applyDefaults(options,this.options);var resp=new OpenLayers.Protocol.Response({reqFeatures:features,requestType:"create"});resp.priv=OpenLayers.Request.POST({url:options.url,callback:this.createCallback(this.handleCreate,resp,options),headers:options.headers,data:this.format.write(features)});return resp;},handleCreate:function(resp,options){this.handleResponse(resp,options);},update:function(feature,options){options=options||{};var url=options.url||feature.url||this.options.url+"/"+feature.fid;options=OpenLayers.Util.applyDefaults(options,this.options);var resp=new OpenLayers.Protocol.Response({reqFeatures:feature,requestType:"update"});resp.priv=OpenLayers.Request.PUT({url:url,callback:this.createCallback(this.handleUpdate,resp,options),headers:options.headers,data:this.format.write(feature)});return resp;},handleUpdate:function(resp,options){this.handleResponse(resp,options);},"delete":function(feature,options){options=options||{};var url=options.url||feature.url||this.options.url+"/"+feature.fid;options=OpenLayers.Util.applyDefaults(options,this.options);var resp=new OpenLayers.Protocol.Response({reqFeatures:feature,requestType:"delete"});resp.priv=OpenLayers.Request.DELETE({url:url,callback:this.createCallback(this.handleDelete,resp,options),headers:options.headers});return resp;},handleDelete:function(resp,options){this.handleResponse(resp,options);},handleResponse:function(resp,options){var request=resp.priv;if(options.callback){if(request.status>=200&&request.status<300){if(resp.requestType!="delete"){resp.features=this.parseFeatures(request);}
-resp.code=OpenLayers.Protocol.Response.SUCCESS;}else{resp.code=OpenLayers.Protocol.Response.FAILURE;}
-options.callback.call(options.scope,resp);}},parseFeatures:function(request){var doc=request.responseXML;if(!doc||!doc.documentElement){doc=request.responseText;}
-if(!doc||doc.length<=0){return null;}
-return this.format.read(doc);},commit:function(features,options){options=OpenLayers.Util.applyDefaults(options,this.options);var resp=[],nResponses=0;var types={};types[OpenLayers.State.INSERT]=[];types[OpenLayers.State.UPDATE]=[];types[OpenLayers.State.DELETE]=[];var feature,list,requestFeatures=[];for(var i=0,len=features.length;i<len;++i){feature=features[i];list=types[feature.state];if(list){list.push(feature);requestFeatures.push(feature);}}
-var nRequests=(types[OpenLayers.State.INSERT].length>0?1:0)+
-types[OpenLayers.State.UPDATE].length+
-types[OpenLayers.State.DELETE].length;var success=true;var finalResponse=new OpenLayers.Protocol.Response({reqFeatures:requestFeatures});function insertCallback(response){var len=response.features?response.features.length:0;var fids=new Array(len);for(var i=0;i<len;++i){fids[i]=response.features[i].fid;}
-finalResponse.insertIds=fids;callback.apply(this,[response]);}
-function callback(response){this.callUserCallback(response,options);success=success&&response.success();nResponses++;if(nResponses>=nRequests){if(options.callback){finalResponse.code=success?OpenLayers.Protocol.Response.SUCCESS:OpenLayers.Protocol.Response.FAILURE;options.callback.apply(options.scope,[finalResponse]);}}}
-var queue=types[OpenLayers.State.INSERT];if(queue.length>0){resp.push(this.create(queue,OpenLayers.Util.applyDefaults({callback:insertCallback,scope:this},options.create)));}
-queue=types[OpenLayers.State.UPDATE];for(var i=queue.length-1;i>=0;--i){resp.push(this.update(queue[i],OpenLayers.Util.applyDefaults({callback:callback,scope:this},options.update)));}
-queue=types[OpenLayers.State.DELETE];for(var i=queue.length-1;i>=0;--i){resp.push(this["delete"](queue[i],OpenLayers.Util.applyDefaults({callback:callback,scope:this},options["delete"])));}
-return resp;},abort:function(response){if(response){response.priv.abort();}},callUserCallback:function(resp,options){var opt=options[resp.requestType];if(opt&&opt.callback){opt.callback.call(opt.scope,resp);}},CLASS_NAME:"OpenLayers.Protocol.HTTP"});OpenLayers.Format.JSON=OpenLayers.Class(OpenLayers.Format,{indent:" ",space:" ",newline:"\n",level:0,pretty:false,nativeJSON:(function(){return!!(window.JSON&&typeof JSON.parse=="function"&&typeof JSON.stringify=="function");})(),read:function(json,filter){var object;if(this.nativeJSON){object=JSON.parse(json,filter);}else try{if(/^[\],:{}\s]*$/.test(json.replace(/\\["\\\/bfnrtu]/g,'@').replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']').replace(/(?:^|:|,)(?:\s*\[)+/g,''))){object=eval('('+json+')');if(typeof filter==='function'){function walk(k,v){if(v&&typeof v==='object'){for(var i in v){if(v.hasOwnProperty(i)){v[i]=walk(i,v[i]);}}}
-return filter(k,v);}
-object=walk('',object);}}}catch(e){}
-if(this.keepData){this.data=object;}
-return object;},write:function(value,pretty){this.pretty=!!pretty;var json=null;var type=typeof value;if(this.serialize[type]){try{json=(!this.pretty&&this.nativeJSON)?JSON.stringify(value):this.serialize[type].apply(this,[value]);}catch(err){OpenLayers.Console.error("Trouble serializing: "+err);}}
-return json;},writeIndent:function(){var pieces=[];if(this.pretty){for(var i=0;i<this.level;++i){pieces.push(this.indent);}}
-return pieces.join('');},writeNewline:function(){return(this.pretty)?this.newline:'';},writeSpace:function(){return(this.pretty)?this.space:'';},serialize:{'object':function(object){if(object==null){return"null";}
-if(object.constructor==Date){return this.serialize.date.apply(this,[object]);}
-if(object.constructor==Array){return this.serialize.array.apply(this,[object]);}
-var pieces=['{'];this.level+=1;var key,keyJSON,valueJSON;var addComma=false;for(key in object){if(object.hasOwnProperty(key)){keyJSON=OpenLayers.Format.JSON.prototype.write.apply(this,[key,this.pretty]);valueJSON=OpenLayers.Format.JSON.prototype.write.apply(this,[object[key],this.pretty]);if(keyJSON!=null&&valueJSON!=null){if(addComma){pieces.push(',');}
-pieces.push(this.writeNewline(),this.writeIndent(),keyJSON,':',this.writeSpace(),valueJSON);addComma=true;}}}
-this.level-=1;pieces.push(this.writeNewline(),this.writeIndent(),'}');return pieces.join('');},'array':function(array){var json;var pieces=['['];this.level+=1;for(var i=0,len=array.length;i<len;++i){json=OpenLayers.Format.JSON.prototype.write.apply(this,[array[i],this.pretty]);if(json!=null){if(i>0){pieces.push(',');}
-pieces.push(this.writeNewline(),this.writeIndent(),json);}}
-this.level-=1;pieces.push(this.writeNewline(),this.writeIndent(),']');return pieces.join('');},'string':function(string){var m={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'};if(/["\\\x00-\x1f]/.test(string)){return'"'+string.replace(/([\x00-\x1f\\"])/g,function(a,b){var c=m[b];if(c){return c;}
-c=b.charCodeAt();return'\\u00'+
-Math.floor(c/16).toString(16)+
-(c%16).toString(16);})+'"';}
-return'"'+string+'"';},'number':function(number){return isFinite(number)?String(number):"null";},'boolean':function(bool){return String(bool);},'date':function(date){function format(number){return(number<10)?'0'+number:number;}
-return'"'+date.getFullYear()+'-'+
-format(date.getMonth()+1)+'-'+
-format(date.getDate())+'T'+
-format(date.getHours())+':'+
-format(date.getMinutes())+':'+
-format(date.getSeconds())+'"';}},CLASS_NAME:"OpenLayers.Format.JSON"});OpenLayers.Control.DragFeature=OpenLayers.Class(OpenLayers.Control,{geometryTypes:null,onStart:function(feature,pixel){},onDrag:function(feature,pixel){},onComplete:function(feature,pixel){},onEnter:function(feature){},onLeave:function(feature){},documentDrag:false,layer:null,feature:null,dragCallbacks:{},featureCallbacks:{},lastPixel:null,initialize:function(layer,options){OpenLayers.Control.prototype.initialize.apply(this,[options]);this.layer=layer;this.handlers={drag:new OpenLayers.Handler.Drag(this,OpenLayers.Util.extend({down:this.downFeature,move:this.moveFeature,up:this.upFeature,out:this.cancel,done:this.doneDragging},this.dragCallbacks),{documentDrag:this.documentDrag}),feature:new OpenLayers.Handler.Feature(this,this.layer,OpenLayers.Util.extend({click:this.clickFeature,clickout:this.clickoutFeature,over:this.overFeature,out:this.outFeature},this.featureCallbacks),{geometryTypes:this.geometryTypes})};},clickFeature:function(feature){if(this.handlers.feature.touch&&!this.over&&this.overFeature(feature)){this.handlers.drag.dragstart(this.handlers.feature.evt);this.handlers.drag.stopDown=false;}},clickoutFeature:function(feature){if(this.handlers.feature.touch&&this.over){this.outFeature(feature);this.handlers.drag.stopDown=true;}},destroy:function(){this.layer=null;OpenLayers.Control.prototype.destroy.apply(this,[]);},activate:function(){return(this.handlers.feature.activate()&&OpenLayers.Control.prototype.activate.apply(this,arguments));},deactivate:function(){this.handlers.drag.deactivate();this.handlers.feature.deactivate();this.feature=null;this.dragging=false;this.lastPixel=null;OpenLayers.Element.removeClass(this.map.viewPortDiv,this.displayClass+"Over");return OpenLayers.Control.prototype.deactivate.apply(this,arguments);},overFeature:function(feature){var activated=false;if(!this.handlers.drag.dragging){this.feature=feature;this.handlers.drag.activate();activated=true;this.over=true;OpenLayers.Element.addClass(this.map.viewPortDiv,this.displayClass+"Over");this.onEnter(feature);}else{if(this.feature.id==feature.id){this.over=true;}else{this.over=false;}}
-return activated;},downFeature:function(pixel){this.lastPixel=pixel;this.onStart(this.feature,pixel);},moveFeature:function(pixel){var res=this.map.getResolution();this.feature.geometry.move(res*(pixel.x-this.lastPixel.x),res*(this.lastPixel.y-pixel.y));this.layer.drawFeature(this.feature);this.lastPixel=pixel;this.onDrag(this.feature,pixel);},upFeature:function(pixel){if(!this.over){this.handlers.drag.deactivate();}},doneDragging:function(pixel){this.onComplete(this.feature,pixel);},outFeature:function(feature){if(!this.handlers.drag.dragging){this.over=false;this.handlers.drag.deactivate();OpenLayers.Element.removeClass(this.map.viewPortDiv,this.displayClass+"Over");this.onLeave(feature);this.feature=null;}else{if(this.feature.id==feature.id){this.over=false;}}},cancel:function(){this.handlers.drag.deactivate();this.over=false;},setMap:function(map){this.handlers.drag.setMap(map);this.handlers.feature.setMap(map);OpenLayers.Control.prototype.setMap.apply(this,arguments);},CLASS_NAME:"OpenLayers.Control.DragFeature"});OpenLayers.Control.PinchZoom=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_TOOL,containerOrigin:null,pinchOrigin:null,currentCenter:null,autoActivate:true,initialize:function(options){OpenLayers.Control.prototype.initialize.apply(this,arguments);this.handler=new OpenLayers.Handler.Pinch(this,{start:this.pinchStart,move:this.pinchMove,done:this.pinchDone},this.handlerOptions);},activate:function(){var activated=OpenLayers.Control.prototype.activate.apply(this,arguments);if(activated){this.map.events.on({moveend:this.updateContainerOrigin,scope:this});this.updateContainerOrigin();}
-return activated;},deactivate:function(){var deactivated=OpenLayers.Control.prototype.deactivate.apply(this,arguments);if(this.map&&this.map.events){this.map.events.un({moveend:this.updateContainerOrigin,scope:this});}
-return deactivated;},updateContainerOrigin:function(){var container=this.map.layerContainerDiv;this.containerOrigin={x:parseInt(container.style.left,10),y:parseInt(container.style.top,10)};},pinchStart:function(evt,pinchData){this.pinchOrigin=evt.xy;this.currentCenter=evt.xy;},pinchMove:function(evt,pinchData){var scale=pinchData.scale;var containerOrigin=this.containerOrigin;var pinchOrigin=this.pinchOrigin;var current=evt.xy;var dx=Math.round((current.x-pinchOrigin.x)+(scale-1)*(containerOrigin.x-pinchOrigin.x));var dy=Math.round((current.y-pinchOrigin.y)+(scale-1)*(containerOrigin.y-pinchOrigin.y));this.applyTransform("translate("+dx+"px, "+dy+"px) scale("+scale+")");this.currentCenter=current;},applyTransform:function(transform){var style=this.map.layerContainerDiv.style;style['-webkit-transform']=transform;style['-moz-transform']=transform;},pinchDone:function(evt,start,last){this.applyTransform("");var zoom=this.map.getZoomForResolution(this.map.getResolution()/last.scale,true);if(zoom!==this.map.getZoom()||!this.currentCenter.equals(this.pinchOrigin)){var resolution=this.map.getResolutionForZoom(zoom);var location=this.map.getLonLatFromPixel(this.pinchOrigin);var zoomPixel=this.currentCenter;var size=this.map.getSize();location.lon+=resolution*((size.w/2)-zoomPixel.x);location.lat-=resolution*((size.h/2)-zoomPixel.y);this.map.setCenter(location,zoom);}},CLASS_NAME:"OpenLayers.Control.PinchZoom"});
diff --git a/web/js/dashboard.js b/web/js/dashboard.js
new file mode 100644
index 000000000..f436b8d18
--- /dev/null
+++ b/web/js/dashboard.js
@@ -0,0 +1,142 @@
+$(function(){
+
+ Chart.defaults.global.defaultFontSize = 16;
+
+ var setUpLabelsForChart = function(chart){
+ var $parent = $(chart.chart.canvas).parent();
+ var xGutterInPixels = 30;
+
+ var lasty = 0;
+ $.each(chart.config.data.datasets, function(datasetIndex, dataset){
+ var $label = $('.label[data-datasetIndex="' + datasetIndex + '"]', $parent);
+ var latestPoint = chart.getDatasetMeta(datasetIndex).data[ dataset.data.length - 1 ];
+ var y = latestPoint._model.y;
+ if (y < lasty) {
+ y = lasty;
+ }
+ $label.css({
+ top: y,
+ left: latestPoint._model.x + xGutterInPixels
+ });
+ lasty = y + $label.height() + 8;
+ });
+ };
+
+ // Returns an array `numberOfPoints` long, where the final item
+ // is `radius`, and all the other items are 0.
+ var pointRadiusFinalDot = function(numberOfPoints, radius){
+ var pointRadius = [];
+ for (var i=1; i < numberOfPoints; i++) {
+ pointRadius.push(0);
+ }
+ pointRadius.push(radius);
+ return pointRadius;
+ };
+
+ var makeSparkline = function makeSparkline($el, valuesStr, color, title){
+ var values = [];
+ var labels = [];
+ $.each(valuesStr.split(' '), function(key, value){
+ values.push(Number(value));
+ labels.push('');
+ });
+ var spread = Math.max.apply(null, values) - Math.min.apply(null, values);
+
+ return new Chart($el, {
+ type: 'line',
+ data: {
+ labels: labels,
+ datasets: [{
+ data: values,
+ pointRadius: pointRadiusFinalDot(values.length, 4),
+ pointBackgroundColor: color,
+ borderColor: color,
+ lineTension: 0
+ }]
+ },
+ options: {
+ layout: {
+ padding: {
+ top: 0,
+ right: 5,
+ bottom: 0,
+ left: 2
+ }
+ },
+ scales: {
+ xAxes: [{
+ type: "category",
+ display: false
+ }],
+ yAxes: [{
+ type: "linear",
+ display: false,
+ ticks: {
+ min: Math.min.apply(null, values) - (spread * 0.3),
+ max: Math.max.apply(null, values) + (spread * 0.3)
+ }
+ }]
+ }
+ }
+ });
+ };
+
+ $('.labelled-sparkline canvas').each(function(){
+ makeSparkline(
+ $(this),
+ $(this).data('values'),
+ $(this).data('color')
+ );
+ });
+
+ var $allReports = $('#chart-all-reports'),
+ labels = $allReports.data('labels'),
+ data0 = $allReports.data('values-reports'),
+ data1 = $allReports.data('values-fixed');
+ window.chartAllReports = new Chart($allReports, {
+ type: 'line',
+ data: {
+ labels: labels,
+ datasets: [{
+ data: data0,
+ pointRadius: pointRadiusFinalDot(data0.length, 4),
+ pointBackgroundColor: '#F4A140',
+ borderColor: '#F4A140'
+ }, {
+ data: data1,
+ pointRadius: pointRadiusFinalDot(data1.length, 4),
+ pointBackgroundColor: '#62B356',
+ borderColor: '#62B356'
+ }]
+ },
+ options: {
+ animation: {
+ onComplete: function(){
+ setUpLabelsForChart(this);
+ }
+ },
+ layout: {
+ padding: {
+ top: 4
+ }
+ },
+ scales: {
+ xAxes: [{
+ type: 'category',
+ gridLines: {
+ display: false
+ }
+ }],
+ yAxes: [{
+ type: "linear",
+ ticks: {
+ display: false
+ }
+ }]
+ },
+ onResize: function(chart, size){
+ setUpLabelsForChart(chart);
+ }
+ }
+ });
+});
diff --git a/web/js/dropzone.js.patch b/web/js/dropzone.js.patch
index 030b56a6a..b325b45d8 100644
--- a/web/js/dropzone.js.patch
+++ b/web/js/dropzone.js.patch
@@ -1,36 +1,50 @@
---- web/js/src/dropzone.orig.js 2016-06-17 21:29:47.000000000 +0100
-+++ web/js/src/dropzone.js 2016-06-20 11:40:55.000000000 +0100
-@@ -1469,7 +1469,7 @@
- return _results;
+--- dropzone.5.1.1.js 2017-06-30 09:46:43.000000000 +0100
++++ dropzone.exiffixes.js 2017-06-30 18:25:27.000000000 +0100
+@@ -1175,9 +1175,7 @@
+ };
+ if ((typeof EXIF !== "undefined" && EXIF !== null) && fixOrientation) {
+ loadExif = function(callback) {
+- return EXIF.getData(img, function() {
+- return callback(EXIF.getTag(this, 'Orientation'));
+- });
++ return callback(EXIF.getData(img));
+ };
+ }
+ return loadExif(function(orientation) {
+@@ -1601,7 +1599,7 @@
+ return results;
};
- Dropzone.blacklistedBrowsers = [/opera.*Macintosh.*version\/12/i];
+ Dropzone.blacklistedBrowsers = [/opera.*(Windows Phone|Macintosh).*version\/12/i];
Dropzone.isBrowserSupported = function() {
- var capableBrowser, regex, _i, _len, _ref;
-@@ -1679,7 +1679,23 @@
- drawImageIOSFix = function(ctx, img, sx, sy, sw, sh, dx, dy, dw, dh) {
- var vertSquashRatio;
- vertSquashRatio = detectVerticalSquash(img);
-- return ctx.drawImage(img, sx, sy, sw, sh, dx, dy, dw, dh / vertSquashRatio);
-+ dh = dh / vertSquashRatio;
+ var capableBrowser, j, len, ref, regex;
+@@ -1904,6 +1902,27 @@
+ var array, ato, buf, imageData, mae, separatePoint;
+ imageData = resizedFileBase64.replace('data:image/jpeg;base64,', '');
+ buf = this.decode64(imageData);
+
-+ /* An improved version of http://stackoverflow.com/a/28356942/669631 */
-+ var orientation = 0;
-+ switch (EXIF.getData(img)) {
-+ case 3: orientation = 2; break;
-+ case 6: orientation = 1; break;
-+ case 8: orientation = -1; break;
-+ }
-+ if (orientation) {
-+ ctx.translate(dx + dw/2, dy + dh/2);
-+ ctx.rotate(orientation * Math.PI / 2);
-+ dx = -dw/2;
-+ dy = -dh/2;
-+ }
++ // Certain browsers (I'm looking at you, Safari) 'helpfully' provide their
++ // own EXIF data in the JPEG returned from HTMLCanvasElement.toDataURL.
++ // Dropzone doesn't take this into account when restoring the original
++ // file's EXIF, meaning the final uploaded file has two sets of EXIF.
++ // Certain JPEG tools (I'm looking at you, jhead) don't really handle this
++ // very well, either ignoring the duplicate EXIF, picking the wrong one
++ // or refusing to process the file entirely.
++ // Seems like the best way out of this mess is to make sure the uploaded
++ // JPEG only ever has one EXIF header. In this case, we want to keep the
++ // EXIF from the original file.
++ // This little loop inspects the new JPEG from the toDataURL call and
++ // strips out any existing EXIF headers (technically any APP1 headers,
++ // but same difference in this case).
++ for (var i = 0; i < buf.length; i++) {
++ if (buf[i] === 255 && buf[i+1] === 225) {
++ var length = buf[i + 2] * 256 + buf[i + 3] + 2;
++ buf.splice(i, length);
++ }
++ }
+
-+ return ctx.drawImage(img, sx, sy, sw, sh, dx, dy, dw, dh);
- };
-
-
+ separatePoint = buf.indexOf(255, 3);
+ mae = buf.slice(0, separatePoint);
+ ato = buf.slice(separatePoint);
diff --git a/web/js/dropzone.min.js b/web/js/dropzone.min.js
deleted file mode 100644
index 38b48d962..000000000
--- a/web/js/dropzone.min.js
+++ /dev/null
@@ -1,61 +0,0 @@
-(function(){function k(k,m){for(var p="",l=m;l<m+4;l++)p+=String.fromCharCode(k.getUint8(l));if("Exif"!=p)return!1;l=m+6;if(18761==k.getUint16(l))p=!1;else if(19789==k.getUint16(l))p=!0;else return!1;if(42!=k.getUint16(l+2,!p))return!1;var r=k.getUint32(l+4,!p);if(8>r)return!1;var l=l+r,r=k.getUint16(l,!p),v,w;for(w=0;w<r;w++)if(v=l+12*w+2,274==k.getUint16(v,!p))return parseInt(k.getUint16(v+8,!p),10);return!1}var w={};window.EXIF=w;w.getData=function(q){if((q instanceof Image||q instanceof HTMLImageElement)&&
-!q.complete)return!1;var m=q.src;if(m.match(/^http/)){var m=document.createElement("canvas"),p=m.getContext("2d");m.width=q.width;m.height=q.height;p.drawImage(q,0,0);m=m.toDataURL("image/jpeg")}q=m.replace(/^data\:([^\;]+)\;base64,/gmi,"");m=atob(q);p=m.length;q=new ArrayBuffer(p);for(var l=new Uint8Array(q),r=0;r<p;r++)l[r]=m.charCodeAt(r);m=new DataView(q);if(255!=m.getUint8(0)||216!=m.getUint8(1))return!1;p=2;for(q=q.byteLength;p<q;){if(255!=m.getUint8(p))return!1;l=m.getUint8(p+1);if(225==l)return k(m,
-p+4);p+=2+m.getUint16(p+2)}}})();(function(){var k,w,q,m,p,l,r,v=[].slice,A={}.hasOwnProperty,B=function(e,c){function u(){this.constructor=e}for(var h in c)A.call(c,h)&&(e[h]=c[h]);u.prototype=c.prototype;e.prototype=new u;e.__super__=c.prototype;return e};l=function(){};w=function(){function e(){}e.prototype.addEventListener=e.prototype.on;e.prototype.on=function(c,e){this._callbacks=this._callbacks||{};this._callbacks[c]||(this._callbacks[c]=[]);this._callbacks[c].push(e);return this};e.prototype.emit=function(){var c,e,h,a,b;
-e=arguments[0];c=2<=arguments.length?v.call(arguments,1):[];this._callbacks=this._callbacks||{};if(h=this._callbacks[e])for(a=0,b=h.length;a<b;a++)e=h[a],e.apply(this,c);return this};e.prototype.removeListener=e.prototype.off;e.prototype.removeAllListeners=e.prototype.off;e.prototype.removeEventListener=e.prototype.off;e.prototype.off=function(c,e){var h,a,b,d,f;if(!this._callbacks||0===arguments.length)return this._callbacks={},this;a=this._callbacks[c];if(!a)return this;if(1===arguments.length)return delete this._callbacks[c],
-this;b=d=0;for(f=a.length;d<f;b=++d)if(h=a[b],h===e){a.splice(b,1);break}return this};return e}();k=function(e){function c(a,b){var d,f,g;this.element=a;this.version=c.version;this.defaultOptions.previewTemplate=this.defaultOptions.previewTemplate.replace(/\n*/g,"");this.clickableElements=[];this.listeners=[];this.files=[];"string"===typeof this.element&&(this.element=document.querySelector(this.element));if(!this.element||null==this.element.nodeType)throw Error("Invalid dropzone element.");if(this.element.dropzone)throw Error("Dropzone already attached.");
-c.instances.push(this);this.element.dropzone=this;d=null!=(g=c.optionsForElement(this.element))?g:{};this.options=k({},this.defaultOptions,d,null!=b?b:{});if(this.options.forceFallback||!c.isBrowserSupported())return this.options.fallback.call(this);null==this.options.url&&(this.options.url=this.element.getAttribute("action"));if(!this.options.url)throw Error("No URL provided.");if(this.options.acceptedFiles&&this.options.acceptedMimeTypes)throw Error("You can't provide both 'acceptedFiles' and 'acceptedMimeTypes'. 'acceptedMimeTypes' is deprecated.");
-this.options.acceptedMimeTypes&&(this.options.acceptedFiles=this.options.acceptedMimeTypes,delete this.options.acceptedMimeTypes);this.options.method=this.options.method.toUpperCase();(f=this.getExistingFallback())&&f.parentNode&&f.parentNode.removeChild(f);!1!==this.options.previewsContainer&&(this.previewsContainer=this.options.previewsContainer?c.getElement(this.options.previewsContainer,"previewsContainer"):this.element);this.options.clickable&&(this.clickableElements=!0===this.options.clickable?
-[this.element]:c.getElements(this.options.clickable,"clickable"));this.init()}var k,h;B(c,e);c.prototype.Emitter=w;c.prototype.events="drop dragstart dragend dragenter dragover dragleave addedfile addedfiles removedfile thumbnail error errormultiple processing processingmultiple uploadprogress totaluploadprogress sending sendingmultiple success successmultiple canceled canceledmultiple complete completemultiple reset maxfilesexceeded maxfilesreached queuecomplete".split(" ");c.prototype.defaultOptions=
-{url:null,method:"post",withCredentials:!1,parallelUploads:2,uploadMultiple:!1,maxFilesize:256,paramName:"file",createImageThumbnails:!0,maxThumbnailFilesize:10,thumbnailWidth:120,thumbnailHeight:120,filesizeBase:1E3,maxFiles:null,params:{},clickable:!0,ignoreHiddenFiles:!0,acceptedFiles:null,acceptedMimeTypes:null,autoProcessQueue:!0,autoQueue:!0,addRemoveLinks:!1,previewsContainer:null,hiddenInputContainer:"body",capture:null,dictDefaultMessage:"Drop files here to upload",dictFallbackMessage:"Your browser does not support drag'n'drop file uploads.",
-dictFallbackText:"Please use the fallback form below to upload your files like in the olden days.",dictFileTooBig:"File is too big ({{filesize}}MiB). Max filesize: {{maxFilesize}}MiB.",dictInvalidFileType:"You can't upload files of this type.",dictResponseError:"Server responded with {{statusCode}} code.",dictCancelUpload:"Cancel upload",dictCancelUploadConfirmation:"Are you sure you want to cancel this upload?",dictRemoveFile:"Remove file",dictRemoveFileConfirmation:null,dictMaxFilesExceeded:"You can not upload any more files.",
-accept:function(a,b){return b()},init:function(){return l},forceFallback:!1,fallback:function(){var a,b,d,f,g;this.element.className=""+this.element.className+" dz-browser-not-supported";g=this.element.getElementsByTagName("div");d=0;for(f=g.length;d<f;d++)a=g[d],/(^| )dz-message($| )/.test(a.className)&&(b=a,a.className="dz-message");b||(b=c.createElement('<div class="dz-message"><span></span></div>'),this.element.appendChild(b));if(a=b.getElementsByTagName("span")[0])null!=a.textContent?a.textContent=
-this.options.dictFallbackMessage:null!=a.innerText&&(a.innerText=this.options.dictFallbackMessage);return this.element.appendChild(this.getFallbackForm())},resize:function(a){var b,d,f;b={srcX:0,srcY:0,srcWidth:a.width,srcHeight:a.height};d=a.width/a.height;b.optWidth=this.options.thumbnailWidth;b.optHeight=this.options.thumbnailHeight;null==b.optWidth&&null==b.optHeight?(b.optWidth=b.srcWidth,b.optHeight=b.srcHeight):null==b.optWidth?b.optWidth=d*b.optHeight:null==b.optHeight&&(b.optHeight=1/d*b.optWidth);
-f=b.optWidth/b.optHeight;a.height<b.optHeight||a.width<b.optWidth?(b.trgHeight=b.srcHeight,b.trgWidth=b.srcWidth):d>f?(b.srcHeight=a.height,b.srcWidth=b.srcHeight*f):(b.srcWidth=a.width,b.srcHeight=b.srcWidth/f);b.srcX=(a.width-b.srcWidth)/2;b.srcY=(a.height-b.srcHeight)/2;return b},drop:function(a){return this.element.classList.remove("dz-drag-hover")},dragstart:l,dragend:function(a){return this.element.classList.remove("dz-drag-hover")},dragenter:function(a){return this.element.classList.add("dz-drag-hover")},
-dragover:function(a){return this.element.classList.add("dz-drag-hover")},dragleave:function(a){return this.element.classList.remove("dz-drag-hover")},paste:l,reset:function(){return this.element.classList.remove("dz-started")},addedfile:function(a){var b,d,f,g,n,x;this.element===this.previewsContainer&&this.element.classList.add("dz-started");if(this.previewsContainer){a.previewElement=c.createElement(this.options.previewTemplate.trim());a.previewTemplate=a.previewElement;this.previewsContainer.appendChild(a.previewElement);
-g=a.previewElement.querySelectorAll("[data-dz-name]");d=0;for(f=g.length;d<f;d++)b=g[d],b.textContent=a.name;g=a.previewElement.querySelectorAll("[data-dz-size]");d=0;for(f=g.length;d<f;d++)b=g[d],b.innerHTML=this.filesize(a.size);this.options.addRemoveLinks&&(a._removeLink=c.createElement('<a class="dz-remove" href="javascript:undefined;" data-dz-remove>'+this.options.dictRemoveFile+"</a>"),a.previewElement.appendChild(a._removeLink));b=function(b){return function(d){d.preventDefault();d.stopPropagation();
-return a.status===c.UPLOADING?c.confirm(b.options.dictCancelUploadConfirmation,function(){return b.removeFile(a)}):b.options.dictRemoveFileConfirmation?c.confirm(b.options.dictRemoveFileConfirmation,function(){return b.removeFile(a)}):b.removeFile(a)}}(this);n=a.previewElement.querySelectorAll("[data-dz-remove]");x=[];f=0;for(g=n.length;f<g;f++)d=n[f],x.push(d.addEventListener("click",b));return x}},removedfile:function(a){var b;a.previewElement&&null!=(b=a.previewElement)&&b.parentNode.removeChild(a.previewElement);
-return this._updateMaxFilesReachedClass()},thumbnail:function(a,b){var d,f,c,n;if(a.previewElement){a.previewElement.classList.remove("dz-file-preview");n=a.previewElement.querySelectorAll("[data-dz-thumbnail]");f=0;for(c=n.length;f<c;f++)d=n[f],d.alt=a.name,d.src=b;return setTimeout(function(b){return function(){return a.previewElement.classList.add("dz-image-preview")}}(this),1)}},error:function(a,b){var d,f,c,n,x;if(a.previewElement){a.previewElement.classList.add("dz-error");"String"!==typeof b&&
-b.error&&(b=b.error);n=a.previewElement.querySelectorAll("[data-dz-errormessage]");x=[];f=0;for(c=n.length;f<c;f++)d=n[f],x.push(d.textContent=b);return x}},errormultiple:l,processing:function(a){if(a.previewElement&&(a.previewElement.classList.add("dz-processing"),a._removeLink))return a._removeLink.textContent=this.options.dictCancelUpload},processingmultiple:l,uploadprogress:function(a,b,d){var c,g,n;if(a.previewElement){g=a.previewElement.querySelectorAll("[data-dz-uploadprogress]");n=[];d=0;
-for(c=g.length;d<c;d++)a=g[d],"PROGRESS"===a.nodeName?n.push(a.value=b):n.push(a.style.width=""+b+"%");return n}},totaluploadprogress:l,sending:l,sendingmultiple:l,success:function(a){if(a.previewElement)return a.previewElement.classList.add("dz-success")},successmultiple:l,canceled:function(a){return this.emit("error",a,"Upload canceled.")},canceledmultiple:l,complete:function(a){a._removeLink&&(a._removeLink.textContent=this.options.dictRemoveFile);if(a.previewElement)return a.previewElement.classList.add("dz-complete")},
-completemultiple:l,maxfilesexceeded:l,maxfilesreached:l,queuecomplete:l,addedfiles:l,previewTemplate:'<div class="dz-preview dz-file-preview">\n <div class="dz-image"><img data-dz-thumbnail /></div>\n <div class="dz-details">\n <div class="dz-size"><span data-dz-size></span></div>\n <div class="dz-filename"><span data-dz-name></span></div>\n </div>\n <div class="dz-progress"><span class="dz-upload" data-dz-uploadprogress></span></div>\n <div class="dz-error-message"><span data-dz-errormessage></span></div>\n <div class="dz-success-mark">\n <svg width="54px" height="54px" viewBox="0 0 54 54" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">\n <title>Check</title>\n <defs></defs>\n <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">\n <path d="M23.5,31.8431458 L17.5852419,25.9283877 C16.0248253,24.3679711 13.4910294,24.366835 11.9289322,25.9289322 C10.3700136,27.4878508 10.3665912,30.0234455 11.9283877,31.5852419 L20.4147581,40.0716123 C20.5133999,40.1702541 20.6159315,40.2626649 20.7218615,40.3488435 C22.2835669,41.8725651 24.794234,41.8626202 26.3461564,40.3106978 L43.3106978,23.3461564 C44.8771021,21.7797521 44.8758057,19.2483887 43.3137085,17.6862915 C41.7547899,16.1273729 39.2176035,16.1255422 37.6538436,17.6893022 L23.5,31.8431458 Z M27,53 C41.3594035,53 53,41.3594035 53,27 C53,12.6405965 41.3594035,1 27,1 C12.6405965,1 1,12.6405965 1,27 C1,41.3594035 12.6405965,53 27,53 Z" id="Oval-2" stroke-opacity="0.198794158" stroke="#747474" fill-opacity="0.816519475" fill="#FFFFFF" sketch:type="MSShapeGroup"></path>\n </g>\n </svg>\n </div>\n <div class="dz-error-mark">\n <svg width="54px" height="54px" viewBox="0 0 54 54" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">\n <title>Error</title>\n <defs></defs>\n <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">\n <g id="Check-+-Oval-2" sketch:type="MSLayerGroup" stroke="#747474" stroke-opacity="0.198794158" fill="#FFFFFF" fill-opacity="0.816519475">\n <path d="M32.6568542,29 L38.3106978,23.3461564 C39.8771021,21.7797521 39.8758057,19.2483887 38.3137085,17.6862915 C36.7547899,16.1273729 34.2176035,16.1255422 32.6538436,17.6893022 L27,23.3431458 L21.3461564,17.6893022 C19.7823965,16.1255422 17.2452101,16.1273729 15.6862915,17.6862915 C14.1241943,19.2483887 14.1228979,21.7797521 15.6893022,23.3461564 L21.3431458,29 L15.6893022,34.6538436 C14.1228979,36.2202479 14.1241943,38.7516113 15.6862915,40.3137085 C17.2452101,41.8726271 19.7823965,41.8744578 21.3461564,40.3106978 L27,34.6568542 L32.6538436,40.3106978 C34.2176035,41.8744578 36.7547899,41.8726271 38.3137085,40.3137085 C39.8758057,38.7516113 39.8771021,36.2202479 38.3106978,34.6538436 L32.6568542,29 Z M27,53 C41.3594035,53 53,41.3594035 53,27 C53,12.6405965 41.3594035,1 27,1 C12.6405965,1 1,12.6405965 1,27 C1,41.3594035 12.6405965,53 27,53 Z" id="Oval-2" sketch:type="MSShapeGroup"></path>\n </g>\n </g>\n </svg>\n </div>\n</div>'};
-k=function(){var a,b,d,c,g,n,x;c=arguments[0];d=2<=arguments.length?v.call(arguments,1):[];n=0;for(x=d.length;n<x;n++)for(a in b=d[n],b)g=b[a],c[a]=g;return c};c.prototype.getAcceptedFiles=function(){var a,b,d,c,g;c=this.files;g=[];b=0;for(d=c.length;b<d;b++)a=c[b],a.accepted&&g.push(a);return g};c.prototype.getRejectedFiles=function(){var a,b,d,c,g;c=this.files;g=[];b=0;for(d=c.length;b<d;b++)a=c[b],a.accepted||g.push(a);return g};c.prototype.getFilesWithStatus=function(a){var b,d,c,g,n;g=this.files;
-n=[];d=0;for(c=g.length;d<c;d++)b=g[d],b.status===a&&n.push(b);return n};c.prototype.getQueuedFiles=function(){return this.getFilesWithStatus(c.QUEUED)};c.prototype.getUploadingFiles=function(){return this.getFilesWithStatus(c.UPLOADING)};c.prototype.getAddedFiles=function(){return this.getFilesWithStatus(c.ADDED)};c.prototype.getActiveFiles=function(){var a,b,d,f,g;f=this.files;g=[];b=0;for(d=f.length;b<d;b++)a=f[b],a.status!==c.UPLOADING&&a.status!==c.QUEUED||g.push(a);return g};c.prototype.init=
-function(){var a,b,d,f,g,n;"form"===this.element.tagName&&this.element.setAttribute("enctype","multipart/form-data");this.element.classList.contains("dropzone")&&!this.element.querySelector(".dz-message")&&this.element.appendChild(c.createElement('<div class="dz-default dz-message"><span>'+this.options.dictDefaultMessage+"</span></div>"));this.clickableElements.length&&(d=function(a){return function(){a.hiddenFileInput&&a.hiddenFileInput.parentNode.removeChild(a.hiddenFileInput);a.hiddenFileInput=
-document.createElement("input");a.hiddenFileInput.setAttribute("type","file");(null==a.options.maxFiles||1<a.options.maxFiles)&&a.hiddenFileInput.setAttribute("multiple","multiple");a.hiddenFileInput.className="dz-hidden-input";null!=a.options.acceptedFiles&&a.hiddenFileInput.setAttribute("accept",a.options.acceptedFiles);null!=a.options.capture&&a.hiddenFileInput.setAttribute("capture",a.options.capture);a.hiddenFileInput.style.visibility="hidden";a.hiddenFileInput.style.position="absolute";a.hiddenFileInput.style.top=
-"0";a.hiddenFileInput.style.left="0";a.hiddenFileInput.style.height="0";a.hiddenFileInput.style.width="0";document.querySelector(a.options.hiddenInputContainer).appendChild(a.hiddenFileInput);return a.hiddenFileInput.addEventListener("change",function(){var b,c,f,g;c=a.hiddenFileInput.files;if(c.length)for(f=0,g=c.length;f<g;f++)b=c[f],a.addFile(b);a.emit("addedfiles",c);return d()})}}(this),d());this.URL=null!=(a=window.URL)?a:window.webkitURL;n=this.events;f=0;for(g=n.length;f<g;f++)a=n[f],this.on(a,
-this.options[a]);this.on("uploadprogress",function(a){return function(){return a.updateTotalUploadProgress()}}(this));this.on("removedfile",function(a){return function(){return a.updateTotalUploadProgress()}}(this));this.on("canceled",function(a){return function(b){return a.emit("complete",b)}}(this));this.on("complete",function(a){return function(b){if(0===a.getAddedFiles().length&&0===a.getUploadingFiles().length&&0===a.getQueuedFiles().length)return setTimeout(function(){return a.emit("queuecomplete")},
-0)}}(this));b=function(a){a.stopPropagation();return a.preventDefault?a.preventDefault():a.returnValue=!1};this.listeners=[{element:this.element,events:{dragstart:function(a){return function(b){return a.emit("dragstart",b)}}(this),dragenter:function(a){return function(d){b(d);return a.emit("dragenter",d)}}(this),dragover:function(a){return function(d){var c;try{c=d.dataTransfer.effectAllowed}catch(f){}d.dataTransfer.dropEffect="move"===c||"linkMove"===c?"move":"copy";b(d);return a.emit("dragover",
-d)}}(this),dragleave:function(a){return function(b){return a.emit("dragleave",b)}}(this),drop:function(a){return function(d){b(d);return a.drop(d)}}(this),dragend:function(a){return function(b){return a.emit("dragend",b)}}(this)}}];this.clickableElements.forEach(function(a){return function(b){return a.listeners.push({element:b,events:{click:function(d){(b!==a.element||d.target===a.element||c.elementInside(d.target,a.element.querySelector(".dz-message")))&&a.hiddenFileInput.click();return!0}}})}}(this));
-this.enable();return this.options.init.call(this)};c.prototype.destroy=function(){var a;this.disable();this.removeAllFiles(!0);null!=(a=this.hiddenFileInput)&&a.parentNode&&(this.hiddenFileInput.parentNode.removeChild(this.hiddenFileInput),this.hiddenFileInput=null);delete this.element.dropzone;return c.instances.splice(c.instances.indexOf(this),1)};c.prototype.updateTotalUploadProgress=function(){var a,b,d,c,g,n;b=d=0;if(this.getActiveFiles().length){n=this.getActiveFiles();c=0;for(g=n.length;c<
-g;c++)a=n[c],d+=a.upload.bytesSent,b+=a.upload.total;a=100*d/b}else a=100;return this.emit("totaluploadprogress",a,b,d)};c.prototype._getParamName=function(a){return"function"===typeof this.options.paramName?this.options.paramName(a):""+this.options.paramName+(this.options.uploadMultiple?"["+a+"]":"")};c.prototype.getFallbackForm=function(){var a,b;if(a=this.getExistingFallback())return a;a='<div class="dz-fallback">';this.options.dictFallbackText&&(a+="<p>"+this.options.dictFallbackText+"</p>");
-a+='<input type="file" name="'+this._getParamName(0)+'" '+(this.options.uploadMultiple?'multiple="multiple"':void 0)+' /><input type="submit" value="Upload!"></div>';a=c.createElement(a);"FORM"!==this.element.tagName?(b=c.createElement('<form action="'+this.options.url+'" enctype="multipart/form-data" method="'+this.options.method+'"></form>'),b.appendChild(a)):(this.element.setAttribute("enctype","multipart/form-data"),this.element.setAttribute("method",this.options.method));return null!=b?b:a};
-c.prototype.getExistingFallback=function(){var a,b,d,c,g;b=function(a){var b,d,c;d=0;for(c=a.length;d<c;d++)if(b=a[d],/(^| )fallback($| )/.test(b.className))return b};g=["div","form"];d=0;for(c=g.length;d<c;d++)if(a=g[d],a=b(this.element.getElementsByTagName(a)))return a};c.prototype.setupEventListeners=function(){var a,b,d,c,g,n,e;n=this.listeners;e=[];c=0;for(g=n.length;c<g;c++)a=n[c],e.push(function(){var c,f;c=a.events;f=[];for(b in c)d=c[b],f.push(a.element.addEventListener(b,d,!1));return f}());
-return e};c.prototype.removeEventListeners=function(){var a,b,c,f,g,e,h;e=this.listeners;h=[];f=0;for(g=e.length;f<g;f++)a=e[f],h.push(function(){var f,g;f=a.events;g=[];for(b in f)c=f[b],g.push(a.element.removeEventListener(b,c,!1));return g}());return h};c.prototype.disable=function(){var a,b,c,f,g;this.clickableElements.forEach(function(a){return a.classList.remove("dz-clickable")});this.removeEventListeners();f=this.files;g=[];b=0;for(c=f.length;b<c;b++)a=f[b],g.push(this.cancelUpload(a));return g};
-c.prototype.enable=function(){this.clickableElements.forEach(function(a){return a.classList.add("dz-clickable")});return this.setupEventListeners()};c.prototype.filesize=function(a){var b,c,f,g,e,h,k,u;f=0;g="b";if(0<a){h=["TB","GB","MB","KB","b"];c=k=0;for(u=h.length;k<u;c=++k)if(e=h[c],b=Math.pow(this.options.filesizeBase,4-c)/10,a>=b){f=a/Math.pow(this.options.filesizeBase,4-c);g=e;break}f=Math.round(10*f)/10}return"<strong>"+f+"</strong> "+g};c.prototype._updateMaxFilesReachedClass=function(){return null!=
-this.options.maxFiles&&this.getAcceptedFiles().length>=this.options.maxFiles?(this.getAcceptedFiles().length===this.options.maxFiles&&this.emit("maxfilesreached",this.files),this.element.classList.add("dz-max-files-reached")):this.element.classList.remove("dz-max-files-reached")};c.prototype.drop=function(a){var b;a.dataTransfer&&(this.emit("drop",a),b=a.dataTransfer.files,this.emit("addedfiles",b),b.length&&((a=a.dataTransfer.items)&&a.length&&null!=a[0].webkitGetAsEntry?this._addFilesFromItems(a):
-this.handleFiles(b)))};c.prototype.paste=function(a){var b;if(null!=(null!=a?null!=(b=a.clipboardData)?b.items:void 0:void 0)&&(this.emit("paste",a),a=a.clipboardData.items,a.length))return this._addFilesFromItems(a)};c.prototype.handleFiles=function(a){var b,c,f,g;g=[];c=0;for(f=a.length;c<f;c++)b=a[c],g.push(this.addFile(b));return g};c.prototype._addFilesFromItems=function(a){var b,c,f,g,e;e=[];f=0;for(g=a.length;f<g;f++)c=a[f],null!=c.webkitGetAsEntry&&(b=c.webkitGetAsEntry())?b.isFile?e.push(this.addFile(c.getAsFile())):
-b.isDirectory?e.push(this._addFilesFromDirectory(b,b.name)):e.push(void 0):null!=c.getAsFile?null==c.kind||"file"===c.kind?e.push(this.addFile(c.getAsFile())):e.push(void 0):e.push(void 0);return e};c.prototype._addFilesFromDirectory=function(a,b){var c,f;c=a.createReader();f=function(a){return function(c){var d,f,e;f=0;for(e=c.length;f<e;f++)d=c[f],d.isFile?d.file(function(c){if(!a.options.ignoreHiddenFiles||"."!==c.name.substring(0,1))return c.fullPath=""+b+"/"+c.name,a.addFile(c)}):d.isDirectory&&
-a._addFilesFromDirectory(d,""+b+"/"+d.name)}}(this);return c.readEntries(f,function(a){return"undefined"!==typeof console&&null!==console?"function"===typeof console.log?console.log(a):void 0:void 0})};c.prototype.accept=function(a,b){return a.size>1048576*this.options.maxFilesize?b(this.options.dictFileTooBig.replace("{{filesize}}",Math.round(a.size/1024/10.24)/100).replace("{{maxFilesize}}",this.options.maxFilesize)):c.isValidFile(a,this.options.acceptedFiles)?null!=this.options.maxFiles&&this.getAcceptedFiles().length>=
-this.options.maxFiles?(b(this.options.dictMaxFilesExceeded.replace("{{maxFiles}}",this.options.maxFiles)),this.emit("maxfilesexceeded",a)):this.options.accept.call(this,a,b):b(this.options.dictInvalidFileType)};c.prototype.addFile=function(a){a.upload={progress:0,total:a.size,bytesSent:0};this.files.push(a);a.status=c.ADDED;this.emit("addedfile",a);this._enqueueThumbnail(a);return this.accept(a,function(b){return function(c){c?(a.accepted=!1,b._errorProcessing([a],c)):(a.accepted=!0,b.options.autoQueue&&
-b.enqueueFile(a));return b._updateMaxFilesReachedClass()}}(this))};c.prototype.enqueueFiles=function(a){var b,c,f;c=0;for(f=a.length;c<f;c++)b=a[c],this.enqueueFile(b);return null};c.prototype.enqueueFile=function(a){if(a.status===c.ADDED&&!0===a.accepted){if(a.status=c.QUEUED,this.options.autoProcessQueue)return setTimeout(function(a){return function(){return a.processQueue()}}(this),0)}else throw Error("This file can't be queued because it has already been processed or was rejected.");};c.prototype._thumbnailQueue=
-[];c.prototype._processingThumbnail=!1;c.prototype._enqueueThumbnail=function(a){if(this.options.createImageThumbnails&&a.type.match(/image.*/)&&a.size<=1048576*this.options.maxThumbnailFilesize)return this._thumbnailQueue.push(a),setTimeout(function(a){return function(){return a._processThumbnailQueue()}}(this),0)};c.prototype._processThumbnailQueue=function(){if(!this._processingThumbnail&&0!==this._thumbnailQueue.length)return this._processingThumbnail=!0,this.createThumbnail(this._thumbnailQueue.shift(),
-function(a){return function(){a._processingThumbnail=!1;return a._processThumbnailQueue()}}(this))};c.prototype.removeFile=function(a){a.status===c.UPLOADING&&this.cancelUpload(a);this.files=r(this.files,a);this.emit("removedfile",a);if(0===this.files.length)return this.emit("reset")};c.prototype.removeAllFiles=function(a){var b,d,f,g;null==a&&(a=!1);g=this.files.slice();d=0;for(f=g.length;d<f;d++)b=g[d],(b.status!==c.UPLOADING||a)&&this.removeFile(b);return null};c.prototype.createThumbnail=function(a,
-b){var c;c=new FileReader;c.onload=function(f){return function(){if("image/svg+xml"===a.type)f.emit("thumbnail",a,c.result),null!=b&&b();else return f.createThumbnailFromUrl(a,c.result,b)}}(this);return c.readAsDataURL(a)};c.prototype.createThumbnailFromUrl=function(a,b,c,f){var g;g=document.createElement("img");f&&(g.crossOrigin=f);g.onload=function(b){return function(){var f,e,h,k,u,l,m;a.width=g.width;a.height=g.height;h=b.options.resize.call(b,a);null==h.trgWidth&&(h.trgWidth=h.optWidth);null==
-h.trgHeight&&(h.trgHeight=h.optHeight);f=document.createElement("canvas");e=f.getContext("2d");f.width=h.trgWidth;f.height=h.trgHeight;p(e,g,null!=(k=h.srcX)?k:0,null!=(u=h.srcY)?u:0,h.srcWidth,h.srcHeight,null!=(l=h.trgX)?l:0,null!=(m=h.trgY)?m:0,h.trgWidth,h.trgHeight);f=f.toDataURL("image/png");b.emit("thumbnail",a,f);if(null!=c)return c()}}(this);null!=c&&(g.onerror=c);return g.src=b};c.prototype.processQueue=function(){var a,b,c,f;b=this.options.parallelUploads;a=c=this.getUploadingFiles().length;
-if(!(c>=b)&&(f=this.getQueuedFiles(),0<f.length)){if(this.options.uploadMultiple)return this.processFiles(f.slice(0,b-c));for(;a<b&&f.length;)this.processFile(f.shift()),a++}};c.prototype.processFile=function(a){return this.processFiles([a])};c.prototype.processFiles=function(a){var b,d,f;d=0;for(f=a.length;d<f;d++)b=a[d],b.processing=!0,b.status=c.UPLOADING,this.emit("processing",b);this.options.uploadMultiple&&this.emit("processingmultiple",a);return this.uploadFiles(a)};c.prototype._getFilesWithXhr=
-function(a){var b,c,f,g,e;g=this.files;e=[];c=0;for(f=g.length;c<f;c++)b=g[c],b.xhr===a&&e.push(b);return e};c.prototype.cancelUpload=function(a){var b,d,f,g;if(a.status===c.UPLOADING){d=this._getFilesWithXhr(a.xhr);f=0;for(g=d.length;f<g;f++)b=d[f],b.status=c.CANCELED;a.xhr.abort();a=0;for(f=d.length;a<f;a++)b=d[a],this.emit("canceled",b);this.options.uploadMultiple&&this.emit("canceledmultiple",d)}else if((b=a.status)===c.ADDED||b===c.QUEUED)a.status=c.CANCELED,this.emit("canceled",a),this.options.uploadMultiple&&
-this.emit("canceledmultiple",[a]);if(this.options.autoProcessQueue)return this.processQueue()};h=function(){var a,b;b=arguments[0];a=2<=arguments.length?v.call(arguments,1):[];return"function"===typeof b?b.apply(this,a):b};c.prototype.uploadFile=function(a){return this.uploadFiles([a])};c.prototype.uploadFiles=function(a){var b,d,f,g,e,l,m,p,q,r,w,v,t,z,y;t=new XMLHttpRequest;e=0;for(v=a.length;e<v;e++)b=a[e],b.xhr=t;e=h(this.options.method,a);v=h(this.options.url,a);t.open(e,v,!0);t.withCredentials=
-!!this.options.withCredentials;r=null;f=function(c){return function(){var d,f,e;e=[];d=0;for(f=a.length;d<f;d++)b=a[d],e.push(c._errorProcessing(a,r||c.options.dictResponseError.replace("{{statusCode}}",t.status),t));return e}}(this);w=function(c){return function(d){var f,e,g;if(null!=d)for(f=100*d.loaded/d.total,e=0,g=a.length;e<g;e++)b=a[e],b.upload={progress:f,total:d.total,bytesSent:d.loaded};else{d=!0;f=100;e=0;for(g=a.length;e<g;e++){b=a[e];if(100!==b.upload.progress||b.upload.bytesSent!==b.upload.total)d=
-!1;b.upload.progress=f;b.upload.bytesSent=b.upload.total}if(d)return}g=[];d=0;for(e=a.length;d<e;d++)b=a[d],g.push(c.emit("uploadprogress",b,f,b.upload.bytesSent));return g}}(this);t.onload=function(b){return function(d){var e;if(a[0].status!==c.CANCELED&&4===t.readyState){r=t.responseText;if(t.getResponseHeader("content-type")&&~t.getResponseHeader("content-type").indexOf("application/json"))try{r=JSON.parse(r)}catch(g){d=g,r="Invalid JSON response from server."}w();return 200<=(e=t.status)&&300>
-e?b._finished(a,r,d):f()}}}(this);t.onerror=function(b){return function(){if(a[0].status!==c.CANCELED)return f()}}(this);(null!=(g=t.upload)?g:t).onprogress=w;e={Accept:"application/json","Cache-Control":"no-cache","X-Requested-With":"XMLHttpRequest"};this.options.headers&&k(e,this.options.headers);for(d in e)(g=e[d])&&t.setRequestHeader(d,g);d=new FormData;if(this.options.params)for(p in e=this.options.params,e)g=e[p],d.append(p,g);p=0;for(g=a.length;p<g;p++)b=a[p],this.emit("sending",b,t,d);this.options.uploadMultiple&&
-this.emit("sendingmultiple",a,t,d);if("FORM"===this.element.tagName)for(v=this.element.querySelectorAll("input, textarea, select, button"),g=0,e=v.length;g<e;g++)if(m=v[g],p=m.getAttribute("name"),q=m.getAttribute("type"),"SELECT"===m.tagName&&m.hasAttribute("multiple"))for(y=m.options,q=0,z=y.length;q<z;q++)m=y[q],m.selected&&d.append(p,m.value);else(!q||"checkbox"!==(l=q.toLowerCase())&&"radio"!==l||m.checked)&&d.append(p,m.value);l=p=0;for(g=a.length-1;0<=g?p<=g:p>=g;l=0<=g?++p:--p)d.append(this._getParamName(l),
-a[l],a[l].name);return this.submitRequest(t,d,a)};c.prototype.submitRequest=function(a,b,c){return a.send(b)};c.prototype._finished=function(a,b,d){var f,e,h;e=0;for(h=a.length;e<h;e++)f=a[e],f.status=c.SUCCESS,this.emit("success",f,b,d),this.emit("complete",f);this.options.uploadMultiple&&(this.emit("successmultiple",a,b,d),this.emit("completemultiple",a));if(this.options.autoProcessQueue)return this.processQueue()};c.prototype._errorProcessing=function(a,b,d){var e,g,h;g=0;for(h=a.length;g<h;g++)e=
-a[g],e.status=c.ERROR,this.emit("error",e,b,d),this.emit("complete",e);this.options.uploadMultiple&&(this.emit("errormultiple",a,b,d),this.emit("completemultiple",a));if(this.options.autoProcessQueue)return this.processQueue()};return c}(w);k.version="4.2.0";k.options={};k.optionsForElement=function(e){if(e.getAttribute("id"))return k.options[q(e.getAttribute("id"))]};k.instances=[];k.forElement=function(e){"string"===typeof e&&(e=document.querySelector(e));if(null==(null!=e?e.dropzone:void 0))throw Error("No Dropzone found for given element. This is probably because you're trying to access it before Dropzone had the time to initialize. Use the `init` option to setup any additional observers on your Dropzone.");
-return e.dropzone};k.autoDiscover=!0;k.discover=function(){var e,c,u,h,a;document.querySelectorAll?c=document.querySelectorAll(".dropzone"):(c=[],e=function(a){var d,e,g,h;h=[];e=0;for(g=a.length;e<g;e++)d=a[e],/(^| )dropzone($| )/.test(d.className)?h.push(c.push(d)):h.push(void 0);return h},e(document.getElementsByTagName("div")),e(document.getElementsByTagName("form")));a=[];u=0;for(h=c.length;u<h;u++)e=c[u],!1!==k.optionsForElement(e)?a.push(new k(e)):a.push(void 0);return a};k.blacklistedBrowsers=
-[/opera.*(Windows Phone|Macintosh).*version\/12/i];k.isBrowserSupported=function(){var e,c,u,h,a;e=!0;if(window.File&&window.FileReader&&window.FileList&&window.Blob&&window.FormData&&document.querySelector)if("classList"in document.createElement("a"))for(a=k.blacklistedBrowsers,u=0,h=a.length;u<h;u++)c=a[u],c.test(navigator.userAgent)&&(e=!1);else e=!1;else e=!1;return e};r=function(e,c){var k,h,a,b;b=[];h=0;for(a=e.length;h<a;h++)k=e[h],k!==c&&b.push(k);return b};q=function(e){return e.replace(/[\-_](\w)/g,
-function(c){return c.charAt(1).toUpperCase()})};k.createElement=function(e){var c;c=document.createElement("div");c.innerHTML=e;return c.childNodes[0]};k.elementInside=function(e,c){if(e===c)return!0;for(;e=e.parentNode;)if(e===c)return!0;return!1};k.getElement=function(e,c){var k;"string"===typeof e?k=document.querySelector(e):null!=e.nodeType&&(k=e);if(null==k)throw Error("Invalid `"+c+"` option provided. Please provide a CSS selector or a plain HTML element.");return k};k.getElements=function(e,
-c){var k,h,a,b,d;if(e instanceof Array){h=[];try{for(a=0,b=e.length;a<b;a++)k=e[a],h.push(this.getElement(k,c))}catch(f){h=null}}else if("string"===typeof e)for(h=[],d=document.querySelectorAll(e),a=0,b=d.length;a<b;a++)k=d[a],h.push(k);else null!=e.nodeType&&(h=[e]);if(null==h||!h.length)throw Error("Invalid `"+c+"` option provided. Please provide a CSS selector, a plain HTML element or a list of those.");return h};k.confirm=function(e,c,k){if(window.confirm(e))return c();if(null!=k)return k()};
-k.isValidFile=function(e,c){var k,h,a,b,d;if(!c)return!0;c=c.split(",");h=e.type;k=h.replace(/\/.*$/,"");b=0;for(d=c.length;b<d;b++)if(a=c[b],a=a.trim(),"."===a.charAt(0)){if(-1!==e.name.toLowerCase().indexOf(a.toLowerCase(),e.name.length-a.length))return!0}else if(/\/\*$/.test(a)){if(k===a.replace(/\/.*$/,""))return!0}else if(h===a)return!0;return!1};"undefined"!==typeof jQuery&&null!==jQuery&&(jQuery.fn.dropzone=function(e){return this.each(function(){return new k(this,e)})});"undefined"!==typeof module&&
-null!==module?module.exports=k:window.Dropzone=k;k.ADDED="added";k.QUEUED="queued";k.ACCEPTED=k.QUEUED;k.UPLOADING="uploading";k.PROCESSING=k.UPLOADING;k.CANCELED="canceled";k.ERROR="error";k.SUCCESS="success";m=function(e){var c,k,h,a,b;h=e.naturalHeight;c=document.createElement("canvas");c.width=1;c.height=h;c=c.getContext("2d");c.drawImage(e,0,0);c=c.getImageData(0,0,1,h).data;b=0;for(a=k=h;a>b;)e=c[4*(a-1)+3],0===e?k=a:b=a,a=k+b>>1;h=a/h;return 0===h?1:h};p=function(e,c,k,h,a,b,d,f,g,n){var l;
-l=m(c);n/=l;l=0;switch(EXIF.getData(c)){case 3:l=2;break;case 6:l=1;break;case 8:l=-1}l&&(e.translate(d+g/2,f+n/2),e.rotate(l*Math.PI/2),d=-g/2,f=-n/2);return e.drawImage(c,k,h,a,b,d,f,g,n)};k._autoDiscoverFunction=function(){if(k.autoDiscover)return k.discover()};(function(e,c){var k,h,a,b,d,f,g,l,m;a=!1;m=!0;h=e.document;l=h.documentElement;k=h.addEventListener?"addEventListener":"attachEvent";g=h.addEventListener?"removeEventListener":"detachEvent";f=h.addEventListener?"":"on";b=function(d){if("readystatechange"!==
-d.type||"complete"===h.readyState)if(("load"===d.type?e:h)[g](f+d.type,b,!1),!a&&(a=!0))return c.call(e,d.type||d)};d=function(){try{l.doScroll("left")}catch(a){setTimeout(d,50);return}return b("poll")};if("complete"!==h.readyState){if(h.createEventObject&&l.doScroll){try{m=!e.frameElement}catch(p){}m&&d()}h[k](f+"DOMContentLoaded",b,!1);h[k](f+"readystatechange",b,!1);return e[k](f+"load",b,!1)}})(window,k._autoDiscoverFunction)}).call(this);
diff --git a/web/js/jquery.multi-select.js b/web/js/jquery.multi-select.js
index 6f3ae8de7..38921b147 100644
--- a/web/js/jquery.multi-select.js
+++ b/web/js/jquery.multi-select.js
@@ -2,9 +2,7 @@
// by mySociety
// https://github.com/mysociety/jquery-multi-select
-;(function($) {
-
- "use strict";
+(function($) {
var pluginName = "multiSelect",
defaults = {
@@ -122,7 +120,7 @@
this.$button.empty();
- if (selected.length == 0) {
+ if (selected.length === 0) {
this.$button.text( this.settings.noneText );
} else if ( (selected.length === options.length) && this.settings.allText) {
this.$button.text( this.settings.allText );
diff --git a/web/js/jquery.placeholder.min.js b/web/js/jquery.placeholder.min.js
deleted file mode 100644
index 122277a31..000000000
--- a/web/js/jquery.placeholder.min.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! http://mths.be/placeholder v2.0.5 by @mathias */
-;(function(f,h,$){var a='placeholder' in h.createElement('input'),d='placeholder' in h.createElement('textarea'),i=$.fn,c=$.valHooks,k,j;if(a&&d){j=i.placeholder=function(){return this};j.input=j.textarea=true}else{j=i.placeholder=function(){var l=this;l.filter((a?'textarea':':input')+'[placeholder]').not('.placeholder').bind({'focus.placeholder':b,'blur.placeholder':e}).data('placeholder-enabled',true).trigger('blur.placeholder');return l};j.input=a;j.textarea=d;k={get:function(m){var l=$(m);return l.data('placeholder-enabled')&&l.hasClass('placeholder')?'':m.value},set:function(m,n){var l=$(m);if(!l.data('placeholder-enabled')){return m.value=n}if(n==''){m.value=n;if(m!=h.activeElement){e.call(m)}}else{if(l.hasClass('placeholder')){b.call(m,true,n)||(m.value=n)}else{m.value=n}}return l}};a||(c.input=k);d||(c.textarea=k);$(function(){$(h).delegate('form','submit.placeholder',function(){var l=$('.placeholder',this).each(b);setTimeout(function(){l.each(e)},10)})});$(f).bind('beforeunload.placeholder',function(){$('.placeholder').each(function(){this.value=''})})}function g(m){var l={},n=/^jQuery\d+$/;$.each(m.attributes,function(p,o){if(o.specified&&!n.test(o.name)){l[o.name]=o.value}});return l}function b(m,n){var l=this,o=$(l);if(l.value==o.attr('placeholder')&&o.hasClass('placeholder')){if(o.data('placeholder-password')){o=o.hide().next().show().attr('id',o.removeAttr('id').data('placeholder-id'));if(m===true){return o[0].value=n}o.focus()}else{l.value='';o.removeClass('placeholder')}}}function e(){var q,l=this,p=$(l),m=p,o=this.id;if(l.value==''){if(l.type=='password'){if(!p.data('placeholder-textinput')){try{q=p.clone().attr({type:'text'})}catch(n){q=$('<input>').attr($.extend(g(this),{type:'text'}))}q.removeAttr('name').data({'placeholder-password':true,'placeholder-id':o}).bind('focus.placeholder',b);p.data({'placeholder-textinput':q,'placeholder-id':o}).before(q)}p=p.removeAttr('id').hide().prev().attr('id',o).show()}p.addClass('placeholder');p[0].value=p.attr('placeholder')}else{p.removeClass('placeholder')}}}(this,document,jQuery)); \ No newline at end of file
diff --git a/web/js/map-OpenLayers.js b/web/js/map-OpenLayers.js
index b53246279..8cc2e8e2c 100644
--- a/web/js/map-OpenLayers.js
+++ b/web/js/map-OpenLayers.js
@@ -2,7 +2,9 @@ var fixmystreet = fixmystreet || {};
(function() {
- fixmystreet.maps = {
+ fixmystreet.maps = fixmystreet.maps || {};
+
+ $.extend(fixmystreet.maps, {
// This function might be passed either an OpenLayers.LonLat (so has
// lon and lat), or an OpenLayers.Geometry.Point (so has x and y).
update_pin: function(lonlat) {
@@ -50,7 +52,7 @@ var fixmystreet = fixmystreet || {};
/* Already have a pin */
fixmystreet.markers.features[0].move(lonlat);
} else {
- var markers = fixmystreet.maps.markers_list( [ [ lonlat.lat, lonlat.lon, 'green' ] ], false );
+ var markers = fixmystreet.maps.markers_list( [ [ lonlat.lat, lonlat.lon, fixmystreet.pin_new_report_colour ] ], false );
fixmystreet.bbox_strategy.deactivate();
fixmystreet.markers.removeAllFeatures();
fixmystreet.markers.addFeatures( markers );
@@ -68,12 +70,8 @@ var fixmystreet = fixmystreet || {};
markers_list: function(pins, transform) {
var markers = [];
- var size = fixmystreet.maps.marker_size_for_zoom(
- fixmystreet.map.getZoom() + fixmystreet.zoomOffset
- );
- var selected_size = fixmystreet.maps.selected_marker_size_for_zoom(
- fixmystreet.map.getZoom() + fixmystreet.zoomOffset
- );
+ var size = fixmystreet.maps.marker_size();
+ var selected_size = fixmystreet.maps.selected_marker_size();
for (var i=0; i<pins.length; i++) {
var pin = pins[i];
var loc = new OpenLayers.Geometry.Point(pin[1], pin[0]);
@@ -84,12 +82,13 @@ var fixmystreet = fixmystreet || {};
fixmystreet.map.getProjectionObject()
);
}
- var marker_size = (pin[3] === window.selected_problem_id) ? selected_size : size;
+ var id = +pin[3];
+ var marker_size = (id === window.selected_problem_id) ? selected_size : size;
var marker = new OpenLayers.Feature.Vector(loc, {
colour: pin[2],
size: pin[5] || marker_size,
faded: 0,
- id: pin[3],
+ id: id,
title: pin[4] || '',
draggable: pin[6] === false ? false : true
});
@@ -99,12 +98,8 @@ var fixmystreet = fixmystreet || {};
},
markers_resize: function() {
- var size = fixmystreet.maps.marker_size_for_zoom(
- fixmystreet.map.getZoom() + fixmystreet.zoomOffset
- );
- var selected_size = fixmystreet.maps.selected_marker_size_for_zoom(
- fixmystreet.map.getZoom() + fixmystreet.zoomOffset
- );
+ var size = fixmystreet.maps.marker_size();
+ var selected_size = fixmystreet.maps.selected_marker_size();
for (var i = 0; i < fixmystreet.markers.features.length; i++) {
if (fixmystreet.markers.features[i].attributes.id == window.selected_problem_id) {
fixmystreet.markers.features[i].attributes.size = selected_size;
@@ -119,7 +114,8 @@ var fixmystreet = fixmystreet || {};
return fixmystreet.markers.getFeaturesByAttribute('id', problem_id)[0];
},
- marker_size_for_zoom: function(zoom) {
+ marker_size: function() {
+ var zoom = fixmystreet.map.getZoom() + fixmystreet.zoomOffset;
if (zoom >= 15) {
return window.selected_problem_id ? 'small' : 'normal';
} else if (zoom >= 13) {
@@ -129,7 +125,8 @@ var fixmystreet = fixmystreet || {};
}
},
- selected_marker_size_for_zoom: function(zoom) {
+ selected_marker_size: function() {
+ var zoom = fixmystreet.map.getZoom() + fixmystreet.zoomOffset;
if (zoom >= 15) {
return 'big';
} else if (zoom >= 13) {
@@ -198,7 +195,7 @@ var fixmystreet = fixmystreet || {};
}
fixmystreet.markers.redraw();
}
- };
+ });
var drag = {
activate: function() {
@@ -211,7 +208,9 @@ var fixmystreet = fixmystreet || {};
this._drag.activate();
},
deactivate: function() {
- this._drag && this._drag.deactivate();
+ if (this._drag) {
+ this._drag.deactivate();
+ }
}
};
@@ -310,7 +309,7 @@ var fixmystreet = fixmystreet || {};
var filter_categories = replace_query_parameter(qs, 'filter_categories', 'filter_category');
var filter_statuses = replace_query_parameter(qs, 'statuses', 'status');
var sort_key = replace_query_parameter(qs, 'sort', 'sort');
- delete qs['p'];
+ delete qs.p;
var new_url;
if ($.isEmptyObject(qs)) {
new_url = location.href.replace(location.search, "");
@@ -365,6 +364,37 @@ var fixmystreet = fixmystreet || {};
]);
var loaded = 0;
var new_geometry = new OpenLayers.Geometry.Polygon(lr);
+ var style_area = function() {
+ loaded++;
+ var style = this.styleMap.styles['default'];
+ if ( fixmystreet.area_format ) {
+ style.defaultStyle = fixmystreet.area_format;
+ } else {
+ $.extend(style.defaultStyle, { fillColor: 'black', strokeColor: 'black' });
+ }
+ var geometry = this.features[0].geometry;
+ if (geometry.CLASS_NAME == 'OpenLayers.Geometry.Collection') {
+ $.each(geometry.components, function(i, polygon) {
+ new_geometry.addComponents(polygon.components);
+ extent.extend(polygon.getBounds());
+ });
+ } else if (geometry.CLASS_NAME == 'OpenLayers.Geometry.Polygon') {
+ new_geometry.addComponents(geometry.components);
+ extent.extend(this.getDataExtent());
+ }
+ if (loaded == fixmystreet.area.length) {
+ var f = this.features[0].clone();
+ f.geometry = new_geometry;
+ this.removeAllFeatures();
+ this.addFeatures([f]);
+ var qs = parse_query_string();
+ if (!qs.bbox) {
+ zoomToBounds(extent);
+ }
+ } else {
+ fixmystreet.map.removeLayer(this);
+ }
+ };
for (var i=0; i<fixmystreet.area.length; i++) {
var area = new OpenLayers.Layer.Vector("KML", {
renderers: ['SVGBig', 'VML', 'Canvas'],
@@ -375,37 +405,7 @@ var fixmystreet = fixmystreet || {};
})
});
fixmystreet.map.addLayer(area);
- area.events.register('loadend', area, function(a,b,c) {
- loaded++;
- var style = this.styleMap.styles['default'];
- if ( fixmystreet.area_format ) {
- style.defaultStyle = fixmystreet.area_format;
- } else {
- $.extend(style.defaultStyle, { fillColor: 'black', strokeColor: 'black' });
- }
- var geometry = this.features[0].geometry;
- if (geometry.CLASS_NAME == 'OpenLayers.Geometry.Collection') {
- $.each(geometry.components, function(i, polygon) {
- new_geometry.addComponents(polygon.components)
- extent.extend(polygon.getBounds());
- });
- } else if (geometry.CLASS_NAME == 'OpenLayers.Geometry.Polygon') {
- new_geometry.addComponents(geometry.components);
- extent.extend(this.getDataExtent());
- }
- if (loaded == fixmystreet.area.length) {
- var f = this.features[0].clone();
- f.geometry = new_geometry;
- this.removeAllFeatures();
- this.addFeatures([f]);
- var qs = parse_query_string();
- if (!qs.bbox) {
- zoomToBounds(extent);
- }
- } else {
- fixmystreet.map.removeLayer(this);
- }
- });
+ area.events.register('loadend', area, style_area);
}
}
@@ -541,6 +541,9 @@ var fixmystreet = fixmystreet || {};
fixmystreet.map.addControl( fixmystreet.select_feature );
fixmystreet.select_feature.activate();
fixmystreet.map.events.register( 'zoomend', null, fixmystreet.maps.markers_resize );
+ fixmystreet.map.events.register( 'zoomend', null, function() {
+ fixmystreet.run(fixmystreet.maps.show_shortlist_control);
+ });
// Set up the event handlers to populate the filters and react to them changing
$("#filter_categories").on("change.filters", categories_or_status_changed);
@@ -564,22 +567,14 @@ var fixmystreet = fixmystreet || {};
$('#hide_pins_link').click(function(e) {
e.preventDefault();
- var showhide = [
- 'Show pins', 'Hide pins',
- 'Dangos pinnau', 'Cuddio pinnau',
- "Vis nåler", "Skjul nåler",
- "Zeige Stecknadeln", "Stecknadeln ausblenden"
- ];
- for (var i=0; i<showhide.length; i+=2) {
- if (this.innerHTML == showhide[i]) {
- fixmystreet.markers.setVisibility(true);
- fixmystreet.select_feature.activate();
- this.innerHTML = showhide[i+1];
- } else if (this.innerHTML == showhide[i+1]) {
- fixmystreet.markers.setVisibility(false);
- fixmystreet.select_feature.deactivate();
- this.innerHTML = showhide[i];
- }
+ if (this.innerHTML == translation_strings.show_pins) {
+ fixmystreet.markers.setVisibility(true);
+ fixmystreet.select_feature.activate();
+ this.innerHTML = translation_strings.hide_pins;
+ } else if (this.innerHTML == translation_strings.hide_pins) {
+ fixmystreet.markers.setVisibility(false);
+ fixmystreet.select_feature.deactivate();
+ this.innerHTML = translation_strings.show_pins;
}
});
@@ -680,9 +675,9 @@ var fixmystreet = fixmystreet || {};
(function() {
var timeout;
- $('.item-list--reports').on('mouseenter', '.item-list--reports__item', function(){
+ $('#js-reports-list').on('mouseenter', '.item-list--reports__item', function(){
var href = $('a', this).attr('href');
- var id = parseInt(href.replace(/^.*[/]([0-9]+)$/, '$1'));
+ var id = parseInt(href.replace(/^.*[\/]([0-9]+)$/, '$1'),10);
clearTimeout(timeout);
fixmystreet.maps.markers_highlight(id);
}).on('mouseleave', '.item-list--reports__item', function(){
@@ -707,14 +702,6 @@ OpenLayers.Control.PanZoomFMS = OpenLayers.Class(OpenLayers.Control.PanZoom, {
btn.action = id;
btn.className = "olButton";
this.div.appendChild(btn);
- if (OpenLayers.VERSION_NUMBER.indexOf('2.11') > -1) {
- btn.map = this.map;
- OpenLayers.Event.observe(btn, "mousedown", OpenLayers.Function.bindAsEventListener(this.buttonDown, btn));
- var slideFactorPixels = this.slideFactor;
- btn.getSlideFactor = function() {
- return slideFactorPixels;
- };
- }
this.buttons.push(btn);
return btn;
},
@@ -752,6 +739,10 @@ OpenLayers.Control.PermalinkFMS = OpenLayers.Class(OpenLayers.Control.Permalink,
}
href += separator + OpenLayers.Util.getParameterString(this.createParams(center, zoom));
// Could use mlat/mlon here as well if we are on a page with a marker
+ if (this.base == '/around') {
+ href += '&js=1';
+ }
+
if (this.anchor && !this.element) {
window.location.href = href;
}
@@ -864,10 +855,6 @@ OpenLayers.Format.FixMyStreet = OpenLayers.Class(OpenLayers.Format.JSON, {
} else {
obj = json;
}
- var current;
- if (typeof(obj.current) != 'undefined' && (current = document.getElementById('current'))) {
- current.innerHTML = obj.current;
- }
var reports_list;
if (typeof(obj.reports_list) != 'undefined' && (reports_list = document.getElementById('js-reports-list'))) {
reports_list.innerHTML = obj.reports_list;
@@ -931,7 +918,7 @@ OpenLayers.Control.DragFeatureFMS = OpenLayers.Class(OpenLayers.Control.DragFeat
return false;
}
}
-})
+});
OpenLayers.Renderer.SVGBig = OpenLayers.Class(OpenLayers.Renderer.SVG, {
MAX_PIXEL: 15E7,
diff --git a/web/js/map-google.js b/web/js/map-google.js
index be2df8502..596e4f8ee 100644
--- a/web/js/map-google.js
+++ b/web/js/map-google.js
@@ -114,12 +114,9 @@ fixmystreet.maps = {};
/* Pan data handler */
function read_pin_json(obj) {
- var current, current_near;
- if (typeof(obj.current) != 'undefined' && (current = document.getElementById('current'))) {
- current.innerHTML = obj.current;
- }
- if (typeof(obj.current_near) != 'undefined' && (current_near = document.getElementById('current_near'))) {
- current_near.innerHTML = obj.current_near;
+ var reports_list;
+ if (typeof(obj.reports_list) != 'undefined' && (reports_list = document.getElementById('js-reports-list'))) {
+ reports_list.innerHTML = obj.reports_list;
}
fixmystreet.markers = markers_list( obj.pins, false );
}
@@ -214,24 +211,16 @@ fixmystreet.maps = {};
$('#hide_pins_link').click(function(e) {
var i, m;
e.preventDefault();
- var showhide = [
- 'Show pins', 'Hide pins',
- 'Dangos pinnau', 'Cuddio pinnau',
- "Vis nåler", "Gjem nåler",
- "Zeige Stecknadeln", "Stecknadeln ausblenden"
- ];
- for (i=0; i<showhide.length; i+=2) {
- if (this.innerHTML == showhide[i]) {
- for (m=0; m<fixmystreet.markers.length; m++) {
- fixmystreet.markers[m].setMap(fixmystreet.map);
- }
- this.innerHTML = showhide[i+1];
- } else if (this.innerHTML == showhide[i+1]) {
- for (m=0; m<fixmystreet.markers.length; m++) {
- fixmystreet.markers[m].setMap(null);
- }
- this.innerHTML = showhide[i];
+ if (this.innerHTML == translation_strings.show_pins) {
+ for (m=0; m<fixmystreet.markers.length; m++) {
+ fixmystreet.markers[m].setMap(fixmystreet.map);
+ }
+ this.innerHTML = translation_strings.hide_pins;
+ } else if (this.innerHTML == translation_strings.hide_pins) {
+ for (m=0; m<fixmystreet.markers.length; m++) {
+ fixmystreet.markers[m].setMap(null);
}
+ this.innerHTML = translation_strings.show_pins;
}
});
diff --git a/web/js/map-wmts-bristol.js b/web/js/map-wmts-bristol.js
index 70cd1b66b..4a48da27f 100644
--- a/web/js/map-wmts-bristol.js
+++ b/web/js/map-wmts-bristol.js
@@ -1,4 +1,4 @@
-/*
+/*
* Maps for FMS using Bristol City Council's WMTS tile server
*/
@@ -102,7 +102,7 @@ fixmystreet.maps.matrix_ids = [
}
];
-/*
+/*
* maps.config() is called on dom ready in map-OpenLayers.js
* to setup the way the map should operate.
*/
@@ -125,11 +125,12 @@ fixmystreet.maps.config = function() {
if ( fixmystreet.page == 'report' ) {
fixmystreet.controls.push( new OpenLayers.Control.PermalinkFMS('key-tool-problems-nearby', '/around') );
}
-
+
this.setup_wmts_base_map();
};
-fixmystreet.maps.marker_size_for_zoom = function(zoom) {
+fixmystreet.maps.marker_size = function() {
+ var zoom = fixmystreet.map.getZoom() + fixmystreet.zoomOffset;
if (zoom >= 7) {
return 'normal';
} else if (zoom >= 4) {
diff --git a/web/js/map-wmts-zurich.js b/web/js/map-wmts-zurich.js
index 18a858064..6bc1c5e14 100644
--- a/web/js/map-wmts-zurich.js
+++ b/web/js/map-wmts-zurich.js
@@ -1,5 +1,5 @@
-/*
- * Maps for FMZ using Zurich council's WMTS tile server
+/*
+ * Maps for FMZ using Zurich council's WMTS tile server
*/
// From 'fullExtent' from http://www.gis.stadt-zuerich.ch/maps/rest/services/tiled95/LuftbildHybrid/MapServer?f=pjson
@@ -140,7 +140,7 @@ fixmystreet.maps.matrix_ids = [
})();
-/*
+/*
* maps.config() is called on dom ready in map-OpenLayers.js
* to setup the way the map should operate.
*/
@@ -165,7 +165,8 @@ fixmystreet.maps.config = function() {
fixmystreet.area_format = { fillColor: 'none', strokeWidth: 4, strokeColor: 'black' };
};
-fixmystreet.maps.marker_size_for_zoom = function(zoom) {
+fixmystreet.maps.marker_size = function() {
+ var zoom = fixmystreet.map.getZoom() + fixmystreet.zoomOffset;
if (zoom >= 6) {
return 'normal';
} else if (zoom >= 3) {
diff --git a/web/js/select2/LICENSE b/web/js/select2/LICENSE
deleted file mode 100644
index 3c98f3df4..000000000
--- a/web/js/select2/LICENSE
+++ /dev/null
@@ -1,18 +0,0 @@
-Copyright 2012 Igor Vaynberg
-
-Version: @@ver@@ Timestamp: @@timestamp@@
-
-This software is licensed under the Apache License, Version 2.0 (the "Apache License") or the GNU
-General Public License version 2 (the "GPL License"). You may choose either license to govern your
-use of this software only upon the condition that you accept all of the terms of either the Apache
-License or the GPL License.
-
-You may obtain a copy of the Apache License and the GPL License at:
-
-http://www.apache.org/licenses/LICENSE-2.0
-http://www.gnu.org/licenses/gpl-2.0.html
-
-Unless required by applicable law or agreed to in writing, software distributed under the Apache License
-or the GPL Licesnse is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
-either express or implied. See the Apache License and the GPL License for the specific language governing
-permissions and limitations under the Apache License and the GPL License. \ No newline at end of file
diff --git a/web/js/select2/bower.json b/web/js/select2/bower.json
deleted file mode 100644
index 887cbf84d..000000000
--- a/web/js/select2/bower.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": "select2",
- "version": "3.4.5",
- "main": ["select2.js", "select2.css", "select2.png", "select2x2.png", "select2-spinner.gif"],
- "dependencies": {
- "jquery": ">= 1.7.1"
- }
-}
diff --git a/web/js/select2/release.sh b/web/js/select2/release.sh
deleted file mode 100755
index 92fe0e959..000000000
--- a/web/js/select2/release.sh
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/bin/bash
-set -e
-
-echo -n "Enter the version for this release: "
-
-read ver
-
-if [ ! $ver ]; then
- echo "Invalid version."
- exit
-fi
-
-name="select2"
-js="$name.js"
-mini="$name.min.js"
-css="$name.css"
-release="$name-$ver"
-tag="$ver"
-branch="build-$ver"
-curbranch=`git branch | grep "*" | sed "s/* //"`
-timestamp=$(date)
-tokens="s/@@ver@@/$ver/g;s/\@@timestamp@@/$timestamp/g"
-remote="github"
-
-echo "Pulling from origin"
-
-git pull
-
-echo "Updating Version Identifiers"
-
-sed -E -e "s/\"version\": \"([0-9\.]+)\",/\"version\": \"$ver\",/g" -i "" bower.json select2.jquery.json
-git add bower.json
-git add select2.jquery.json
-git commit -m "modified version identifiers in descriptors for release $ver"
-git push
-
-git branch "$branch"
-git checkout "$branch"
-
-echo "Tokenizing..."
-
-find . -name "$js" | xargs -I{} sed -e "$tokens" -i "" {}
-find . -name "$css" | xargs -I{} sed -e "$tokens" -i "" {}
-sed -e "s/latest/$ver/g" -i "" bower.json
-
-git add "$js"
-git add "$css"
-
-echo "Minifying..."
-
-echo "/*" > "$mini"
-cat LICENSE | sed "$tokens" >> "$mini"
-echo "*/" >> "$mini"
-
-curl -s \
- --data-urlencode "js_code@$js" \
- http://marijnhaverbeke.nl/uglifyjs \
- >> "$mini"
-
-git add "$mini"
-
-git commit -m "release $ver"
-
-echo "Tagging..."
-git tag -a "$tag" -m "tagged version $ver"
-git push "$remote" --tags
-
-echo "Cleaning Up..."
-
-git checkout "$curbranch"
-git branch -D "$branch"
-
-echo "Done"
diff --git a/web/js/select2/select2-bootstrap.css b/web/js/select2/select2-bootstrap.css
deleted file mode 100644
index 909971074..000000000
--- a/web/js/select2/select2-bootstrap.css
+++ /dev/null
@@ -1,87 +0,0 @@
-.form-control .select2-choice {
- border: 0;
- border-radius: 2px;
-}
-
-.form-control .select2-choice .select2-arrow {
- border-radius: 0 2px 2px 0;
-}
-
-.form-control.select2-container {
- height: auto !important;
- padding: 0px;
-}
-
-.form-control.select2-container.select2-dropdown-open {
- border-color: #5897FB;
- border-radius: 3px 3px 0 0;
-}
-
-.form-control .select2-container.select2-dropdown-open .select2-choices {
- border-radius: 3px 3px 0 0;
-}
-
-.form-control.select2-container .select2-choices {
- border: 0 !important;
- border-radius: 3px;
-}
-
-.control-group.warning .select2-container .select2-choice,
-.control-group.warning .select2-container .select2-choices,
-.control-group.warning .select2-container-active .select2-choice,
-.control-group.warning .select2-container-active .select2-choices,
-.control-group.warning .select2-dropdown-open.select2-drop-above .select2-choice,
-.control-group.warning .select2-dropdown-open.select2-drop-above .select2-choices,
-.control-group.warning .select2-container-multi.select2-container-active .select2-choices {
- border: 1px solid #C09853 !important;
-}
-
-.control-group.warning .select2-container .select2-choice div {
- border-left: 1px solid #C09853 !important;
- background: #FCF8E3 !important;
-}
-
-.control-group.error .select2-container .select2-choice,
-.control-group.error .select2-container .select2-choices,
-.control-group.error .select2-container-active .select2-choice,
-.control-group.error .select2-container-active .select2-choices,
-.control-group.error .select2-dropdown-open.select2-drop-above .select2-choice,
-.control-group.error .select2-dropdown-open.select2-drop-above .select2-choices,
-.control-group.error .select2-container-multi.select2-container-active .select2-choices {
- border: 1px solid #B94A48 !important;
-}
-
-.control-group.error .select2-container .select2-choice div {
- border-left: 1px solid #B94A48 !important;
- background: #F2DEDE !important;
-}
-
-.control-group.info .select2-container .select2-choice,
-.control-group.info .select2-container .select2-choices,
-.control-group.info .select2-container-active .select2-choice,
-.control-group.info .select2-container-active .select2-choices,
-.control-group.info .select2-dropdown-open.select2-drop-above .select2-choice,
-.control-group.info .select2-dropdown-open.select2-drop-above .select2-choices,
-.control-group.info .select2-container-multi.select2-container-active .select2-choices {
- border: 1px solid #3A87AD !important;
-}
-
-.control-group.info .select2-container .select2-choice div {
- border-left: 1px solid #3A87AD !important;
- background: #D9EDF7 !important;
-}
-
-.control-group.success .select2-container .select2-choice,
-.control-group.success .select2-container .select2-choices,
-.control-group.success .select2-container-active .select2-choice,
-.control-group.success .select2-container-active .select2-choices,
-.control-group.success .select2-dropdown-open.select2-drop-above .select2-choice,
-.control-group.success .select2-dropdown-open.select2-drop-above .select2-choices,
-.control-group.success .select2-container-multi.select2-container-active .select2-choices {
- border: 1px solid #468847 !important;
-}
-
-.control-group.success .select2-container .select2-choice div {
- border-left: 1px solid #468847 !important;
- background: #DFF0D8 !important;
-}
diff --git a/web/js/select2/select2-spinner.gif b/web/js/select2/select2-spinner.gif
deleted file mode 100644
index 5b33f7e54..000000000
--- a/web/js/select2/select2-spinner.gif
+++ /dev/null
Binary files differ
diff --git a/web/js/select2/select2.css b/web/js/select2/select2.css
deleted file mode 100644
index 2b32ed6f2..000000000
--- a/web/js/select2/select2.css
+++ /dev/null
@@ -1,615 +0,0 @@
-/*
-Version: 3.4.5 Timestamp: Mon Nov 4 08:22:42 PST 2013
-*/
-.select2-container {
- margin: 0;
- position: relative;
- display: inline-block;
- /* inline-block for ie7 */
- zoom: 1;
- *display: inline;
- vertical-align: middle;
-}
-
-.select2-container,
-.select2-drop,
-.select2-search,
-.select2-search input {
- /*
- Force border-box so that % widths fit the parent
- container without overlap because of margin/padding.
-
- More Info : http://www.quirksmode.org/css/box.html
- */
- -webkit-box-sizing: border-box; /* webkit */
- -moz-box-sizing: border-box; /* firefox */
- box-sizing: border-box; /* css3 */
-}
-
-.select2-container .select2-choice {
- display: block;
- height: 26px;
- padding: 0 0 0 8px;
- overflow: hidden;
- position: relative;
-
- border: 1px solid #aaa;
- white-space: nowrap;
- line-height: 26px;
- color: #444;
- text-decoration: none;
-
- border-radius: 4px;
-
- background-clip: padding-box;
-
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-
- background-color: #fff;
- background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.5, #fff));
- background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 50%);
- background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 50%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff', endColorstr = '#eeeeee', GradientType = 0);
- background-image: linear-gradient(top, #fff 0%, #eee 50%);
-}
-
-.select2-container.select2-drop-above .select2-choice {
- border-bottom-color: #aaa;
-
- border-radius: 0 0 4px 4px;
-
- background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.9, #fff));
- background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 90%);
- background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 90%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0);
- background-image: linear-gradient(top, #eee 0%, #fff 90%);
-}
-
-.select2-container.select2-allowclear .select2-choice .select2-chosen {
- margin-right: 42px;
-}
-
-.select2-container .select2-choice > .select2-chosen {
- margin-right: 26px;
- display: block;
- overflow: hidden;
-
- white-space: nowrap;
-
- text-overflow: ellipsis;
-}
-
-.select2-container .select2-choice abbr {
- display: none;
- width: 12px;
- height: 12px;
- position: absolute;
- right: 24px;
- top: 8px;
-
- font-size: 1px;
- text-decoration: none;
-
- border: 0;
- background: url('select2.png') right top no-repeat;
- cursor: pointer;
- outline: 0;
-}
-
-.select2-container.select2-allowclear .select2-choice abbr {
- display: inline-block;
-}
-
-.select2-container .select2-choice abbr:hover {
- background-position: right -11px;
- cursor: pointer;
-}
-
-.select2-drop-mask {
- border: 0;
- margin: 0;
- padding: 0;
- position: fixed;
- left: 0;
- top: 0;
- min-height: 100%;
- min-width: 100%;
- height: auto;
- width: auto;
- opacity: 0;
- z-index: 9998;
- /* styles required for IE to work */
- background-color: #fff;
- filter: alpha(opacity=0);
-}
-
-.select2-drop {
- width: 100%;
- margin-top: -1px;
- position: absolute;
- z-index: 9999;
- top: 100%;
-
- background: #fff;
- color: #000;
- border: 1px solid #aaa;
- border-top: 0;
-
- border-radius: 0 0 4px 4px;
-
- -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
- box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
-}
-
-.select2-drop-auto-width {
- border-top: 1px solid #aaa;
- width: auto;
-}
-
-.select2-drop-auto-width .select2-search {
- padding-top: 4px;
-}
-
-.select2-drop.select2-drop-above {
- margin-top: 1px;
- border-top: 1px solid #aaa;
- border-bottom: 0;
-
- border-radius: 4px 4px 0 0;
-
- -webkit-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
- box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
-}
-
-.select2-drop-active {
- border: 1px solid #5897fb;
- border-top: none;
-}
-
-.select2-drop.select2-drop-above.select2-drop-active {
- border-top: 1px solid #5897fb;
-}
-
-.select2-container .select2-choice .select2-arrow {
- display: inline-block;
- width: 18px;
- height: 100%;
- position: absolute;
- right: 0;
- top: 0;
-
- border-left: 1px solid #aaa;
- border-radius: 0 4px 4px 0;
-
- background-clip: padding-box;
-
- background: #ccc;
- background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #ccc), color-stop(0.6, #eee));
- background-image: -webkit-linear-gradient(center bottom, #ccc 0%, #eee 60%);
- background-image: -moz-linear-gradient(center bottom, #ccc 0%, #eee 60%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#eeeeee', endColorstr = '#cccccc', GradientType = 0);
- background-image: linear-gradient(top, #ccc 0%, #eee 60%);
-}
-
-.select2-container .select2-choice .select2-arrow b {
- display: block;
- width: 100%;
- height: 100%;
- background: url('select2.png') no-repeat 0 1px;
-}
-
-.select2-search {
- display: inline-block;
- width: 100%;
- min-height: 26px;
- margin: 0;
- padding-left: 4px;
- padding-right: 4px;
-
- position: relative;
- z-index: 10000;
-
- white-space: nowrap;
-}
-
-.select2-search input {
- width: 100%;
- height: auto !important;
- min-height: 26px;
- padding: 4px 20px 4px 5px;
- margin: 0;
-
- outline: 0;
- font-family: sans-serif;
- font-size: 1em;
-
- border: 1px solid #aaa;
- border-radius: 0;
-
- -webkit-box-shadow: none;
- box-shadow: none;
-
- background: #fff url('select2.png') no-repeat 100% -22px;
- background: url('select2.png') no-repeat 100% -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));
- background: url('select2.png') no-repeat 100% -22px, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);
- background: url('select2.png') no-repeat 100% -22px, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);
- background: url('select2.png') no-repeat 100% -22px, linear-gradient(top, #fff 85%, #eee 99%);
-}
-
-.select2-drop.select2-drop-above .select2-search input {
- margin-top: 4px;
-}
-
-.select2-search input.select2-active {
- background: #fff url('select2-spinner.gif') no-repeat 100%;
- background: url('select2-spinner.gif') no-repeat 100%, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));
- background: url('select2-spinner.gif') no-repeat 100%, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);
- background: url('select2-spinner.gif') no-repeat 100%, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);
- background: url('select2-spinner.gif') no-repeat 100%, linear-gradient(top, #fff 85%, #eee 99%);
-}
-
-.select2-container-active .select2-choice,
-.select2-container-active .select2-choices {
- border: 1px solid #5897fb;
- outline: none;
-
- -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3);
- box-shadow: 0 0 5px rgba(0, 0, 0, .3);
-}
-
-.select2-dropdown-open .select2-choice {
- border-bottom-color: transparent;
- -webkit-box-shadow: 0 1px 0 #fff inset;
- box-shadow: 0 1px 0 #fff inset;
-
- border-bottom-left-radius: 0;
- border-bottom-right-radius: 0;
-
- background-color: #eee;
- background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #fff), color-stop(0.5, #eee));
- background-image: -webkit-linear-gradient(center bottom, #fff 0%, #eee 50%);
- background-image: -moz-linear-gradient(center bottom, #fff 0%, #eee 50%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);
- background-image: linear-gradient(top, #fff 0%, #eee 50%);
-}
-
-.select2-dropdown-open.select2-drop-above .select2-choice,
-.select2-dropdown-open.select2-drop-above .select2-choices {
- border: 1px solid #5897fb;
- border-top-color: transparent;
-
- background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(0.5, #eee));
- background-image: -webkit-linear-gradient(center top, #fff 0%, #eee 50%);
- background-image: -moz-linear-gradient(center top, #fff 0%, #eee 50%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);
- background-image: linear-gradient(bottom, #fff 0%, #eee 50%);
-}
-
-.select2-dropdown-open .select2-choice .select2-arrow {
- background: transparent;
- border-left: none;
- filter: none;
-}
-.select2-dropdown-open .select2-choice .select2-arrow b {
- background-position: -18px 1px;
-}
-
-/* results */
-.select2-results {
- max-height: 200px;
- padding: 0 0 0 4px;
- margin: 4px 4px 4px 0;
- position: relative;
- overflow-x: hidden;
- overflow-y: auto;
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-}
-
-.select2-results ul.select2-result-sub {
- margin: 0;
- padding-left: 0;
-}
-
-.select2-results ul.select2-result-sub > li .select2-result-label { padding-left: 20px }
-.select2-results ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 40px }
-.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 60px }
-.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 80px }
-.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 100px }
-.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 110px }
-.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 120px }
-
-.select2-results li {
- list-style: none;
- display: list-item;
- background-image: none;
-}
-
-.select2-results li.select2-result-with-children > .select2-result-label {
- font-weight: bold;
-}
-
-.select2-results .select2-result-label {
- padding: 3px 7px 4px;
- margin: 0;
- cursor: pointer;
-
- min-height: 1em;
-
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-
-.select2-results .select2-highlighted {
- background: #3875d7;
- color: #fff;
-}
-
-.select2-results li em {
- background: #feffde;
- font-style: normal;
-}
-
-.select2-results .select2-highlighted em {
- background: transparent;
-}
-
-.select2-results .select2-highlighted ul {
- background: #fff;
- color: #000;
-}
-
-
-.select2-results .select2-no-results,
-.select2-results .select2-searching,
-.select2-results .select2-selection-limit {
- background: #f4f4f4;
- display: list-item;
-}
-
-/*
-disabled look for disabled choices in the results dropdown
-*/
-.select2-results .select2-disabled.select2-highlighted {
- color: #666;
- background: #f4f4f4;
- display: list-item;
- cursor: default;
-}
-.select2-results .select2-disabled {
- background: #f4f4f4;
- display: list-item;
- cursor: default;
-}
-
-.select2-results .select2-selected {
- display: none;
-}
-
-.select2-more-results.select2-active {
- background: #f4f4f4 url('select2-spinner.gif') no-repeat 100%;
-}
-
-.select2-more-results {
- background: #f4f4f4;
- display: list-item;
-}
-
-/* disabled styles */
-
-.select2-container.select2-container-disabled .select2-choice {
- background-color: #f4f4f4;
- background-image: none;
- border: 1px solid #ddd;
- cursor: default;
-}
-
-.select2-container.select2-container-disabled .select2-choice .select2-arrow {
- background-color: #f4f4f4;
- background-image: none;
- border-left: 0;
-}
-
-.select2-container.select2-container-disabled .select2-choice abbr {
- display: none;
-}
-
-
-/* multiselect */
-
-.select2-container-multi .select2-choices {
- height: auto !important;
- height: 1%;
- margin: 0;
- padding: 0;
- position: relative;
-
- border: 1px solid #aaa;
- cursor: text;
- overflow: hidden;
-
- background-color: #fff;
- background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(1%, #eee), color-stop(15%, #fff));
- background-image: -webkit-linear-gradient(top, #eee 1%, #fff 15%);
- background-image: -moz-linear-gradient(top, #eee 1%, #fff 15%);
- background-image: linear-gradient(top, #eee 1%, #fff 15%);
-}
-
-.select2-locked {
- padding: 3px 5px 3px 5px !important;
-}
-
-.select2-container-multi .select2-choices {
- min-height: 26px;
-}
-
-.select2-container-multi.select2-container-active .select2-choices {
- border: 1px solid #5897fb;
- outline: none;
-
- -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3);
- box-shadow: 0 0 5px rgba(0, 0, 0, .3);
-}
-.select2-container-multi .select2-choices li {
- float: left;
- list-style: none;
-}
-.select2-container-multi .select2-choices .select2-search-field {
- margin: 0;
- padding: 0;
- white-space: nowrap;
-}
-
-.select2-container-multi .select2-choices .select2-search-field input {
- padding: 5px;
- margin: 1px 0;
-
- font-family: sans-serif;
- font-size: 100%;
- color: #666;
- outline: 0;
- border: 0;
- -webkit-box-shadow: none;
- box-shadow: none;
- background: transparent !important;
-}
-
-.select2-container-multi .select2-choices .select2-search-field input.select2-active {
- background: #fff url('select2-spinner.gif') no-repeat 100% !important;
-}
-
-.select2-default {
- color: #999 !important;
-}
-
-.select2-container-multi .select2-choices .select2-search-choice {
- padding: 3px 5px 3px 18px;
- margin: 3px 0 3px 5px;
- position: relative;
-
- line-height: 13px;
- color: #333;
- cursor: default;
- border: 1px solid #aaaaaa;
-
- border-radius: 3px;
-
- -webkit-box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
- box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
-
- background-clip: padding-box;
-
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-
- background-color: #e4e4e4;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#f4f4f4', GradientType=0);
- background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eee));
- background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
- background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
- background-image: linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
-}
-.select2-container-multi .select2-choices .select2-search-choice .select2-chosen {
- cursor: default;
-}
-.select2-container-multi .select2-choices .select2-search-choice-focus {
- background: #d4d4d4;
-}
-
-.select2-search-choice-close {
- display: block;
- width: 12px;
- height: 13px;
- position: absolute;
- right: 3px;
- top: 4px;
-
- font-size: 1px;
- outline: none;
- background: url('select2.png') right top no-repeat;
-}
-
-.select2-container-multi .select2-search-choice-close {
- left: 3px;
-}
-
-.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover {
- background-position: right -11px;
-}
-.select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close {
- background-position: right -11px;
-}
-
-/* disabled styles */
-.select2-container-multi.select2-container-disabled .select2-choices {
- background-color: #f4f4f4;
- background-image: none;
- border: 1px solid #ddd;
- cursor: default;
-}
-
-.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice {
- padding: 3px 5px 3px 5px;
- border: 1px solid #ddd;
- background-image: none;
- background-color: #f4f4f4;
-}
-
-.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close { display: none;
- background: none;
-}
-/* end multiselect */
-
-
-.select2-result-selectable .select2-match,
-.select2-result-unselectable .select2-match {
- text-decoration: underline;
-}
-
-.select2-offscreen, .select2-offscreen:focus {
- clip: rect(0 0 0 0) !important;
- width: 1px !important;
- height: 1px !important;
- border: 0 !important;
- margin: 0 !important;
- padding: 0 !important;
- overflow: hidden !important;
- position: absolute !important;
- outline: 0 !important;
- left: 0px !important;
- top: 0px !important;
-}
-
-.select2-display-none {
- display: none;
-}
-
-.select2-measure-scrollbar {
- position: absolute;
- top: -10000px;
- left: -10000px;
- width: 100px;
- height: 100px;
- overflow: scroll;
-}
-/* Retina-ize icons */
-
-@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi) {
- .select2-search input, .select2-search-choice-close, .select2-container .select2-choice abbr, .select2-container .select2-choice .select2-arrow b {
- background-image: url('select2x2.png') !important;
- background-repeat: no-repeat !important;
- background-size: 60px 40px !important;
- }
- .select2-search input {
- background-position: 100% -21px !important;
- }
-}
diff --git a/web/js/select2/select2.jquery.json b/web/js/select2/select2.jquery.json
deleted file mode 100644
index b426c7058..000000000
--- a/web/js/select2/select2.jquery.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "name": "select2",
- "title": "Select2",
- "description": "Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results.",
- "keywords": [
- "select",
- "autocomplete",
- "typeahead",
- "dropdown",
- "multiselect",
- "tag",
- "tagging"
- ],
- "version": "3.4.5",
- "author": {
- "name": "Igor Vaynberg",
- "url": "https://github.com/ivaynberg"
- },
- "licenses": [
- {
- "type": "Apache",
- "url": "http://www.apache.org/licenses/LICENSE-2.0"
- },
- {
- "type": "GPL v2",
- "url": "http://www.gnu.org/licenses/gpl-2.0.html"
- }
- ],
- "bugs": "https://github.com/ivaynberg/select2/issues",
- "homepage": "http://ivaynberg.github.com/select2",
- "docs": "http://ivaynberg.github.com/select2/",
- "download": "https://github.com/ivaynberg/select2/tags",
- "dependencies": {
- "jquery": ">=1.7.1"
- }
-}
diff --git a/web/js/select2/select2.js b/web/js/select2/select2.js
deleted file mode 100644
index 3b5e8e280..000000000
--- a/web/js/select2/select2.js
+++ /dev/null
@@ -1,3255 +0,0 @@
-/*
-Copyright 2012 Igor Vaynberg
-
-Version: 3.4.5 Timestamp: Mon Nov 4 08:22:42 PST 2013
-
-This software is licensed under the Apache License, Version 2.0 (the "Apache License") or the GNU
-General Public License version 2 (the "GPL License"). You may choose either license to govern your
-use of this software only upon the condition that you accept all of the terms of either the Apache
-License or the GPL License.
-
-You may obtain a copy of the Apache License and the GPL License at:
-
- http://www.apache.org/licenses/LICENSE-2.0
- http://www.gnu.org/licenses/gpl-2.0.html
-
-Unless required by applicable law or agreed to in writing, software distributed under the
-Apache License or the GPL Licesnse is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-CONDITIONS OF ANY KIND, either express or implied. See the Apache License and the GPL License for
-the specific language governing permissions and limitations under the Apache License and the GPL License.
-*/
-(function ($) {
- if(typeof $.fn.each2 == "undefined") {
- $.extend($.fn, {
- /*
- * 4-10 times faster .each replacement
- * use it carefully, as it overrides jQuery context of element on each iteration
- */
- each2 : function (c) {
- var j = $([0]), i = -1, l = this.length;
- while (
- ++i < l
- && (j.context = j[0] = this[i])
- && c.call(j[0], i, j) !== false //"this"=DOM, i=index, j=jQuery object
- );
- return this;
- }
- });
- }
-})(jQuery);
-
-(function ($, undefined) {
- "use strict";
- /*global document, window, jQuery, console */
-
- if (window.Select2 !== undefined) {
- return;
- }
-
- var KEY, AbstractSelect2, SingleSelect2, MultiSelect2, nextUid, sizer,
- lastMousePosition={x:0,y:0}, $document, scrollBarDimensions,
-
- KEY = {
- TAB: 9,
- ENTER: 13,
- ESC: 27,
- SPACE: 32,
- LEFT: 37,
- UP: 38,
- RIGHT: 39,
- DOWN: 40,
- SHIFT: 16,
- CTRL: 17,
- ALT: 18,
- PAGE_UP: 33,
- PAGE_DOWN: 34,
- HOME: 36,
- END: 35,
- BACKSPACE: 8,
- DELETE: 46,
- isArrow: function (k) {
- k = k.which ? k.which : k;
- switch (k) {
- case KEY.LEFT:
- case KEY.RIGHT:
- case KEY.UP:
- case KEY.DOWN:
- return true;
- }
- return false;
- },
- isControl: function (e) {
- var k = e.which;
- switch (k) {
- case KEY.SHIFT:
- case KEY.CTRL:
- case KEY.ALT:
- return true;
- }
-
- if (e.metaKey) return true;
-
- return false;
- },
- isFunctionKey: function (k) {
- k = k.which ? k.which : k;
- return k >= 112 && k <= 123;
- }
- },
- MEASURE_SCROLLBAR_TEMPLATE = "<div class='select2-measure-scrollbar'></div>",
-
- DIACRITICS = {"\u24B6":"A","\uFF21":"A","\u00C0":"A","\u00C1":"A","\u00C2":"A","\u1EA6":"A","\u1EA4":"A","\u1EAA":"A","\u1EA8":"A","\u00C3":"A","\u0100":"A","\u0102":"A","\u1EB0":"A","\u1EAE":"A","\u1EB4":"A","\u1EB2":"A","\u0226":"A","\u01E0":"A","\u00C4":"A","\u01DE":"A","\u1EA2":"A","\u00C5":"A","\u01FA":"A","\u01CD":"A","\u0200":"A","\u0202":"A","\u1EA0":"A","\u1EAC":"A","\u1EB6":"A","\u1E00":"A","\u0104":"A","\u023A":"A","\u2C6F":"A","\uA732":"AA","\u00C6":"AE","\u01FC":"AE","\u01E2":"AE","\uA734":"AO","\uA736":"AU","\uA738":"AV","\uA73A":"AV","\uA73C":"AY","\u24B7":"B","\uFF22":"B","\u1E02":"B","\u1E04":"B","\u1E06":"B","\u0243":"B","\u0182":"B","\u0181":"B","\u24B8":"C","\uFF23":"C","\u0106":"C","\u0108":"C","\u010A":"C","\u010C":"C","\u00C7":"C","\u1E08":"C","\u0187":"C","\u023B":"C","\uA73E":"C","\u24B9":"D","\uFF24":"D","\u1E0A":"D","\u010E":"D","\u1E0C":"D","\u1E10":"D","\u1E12":"D","\u1E0E":"D","\u0110":"D","\u018B":"D","\u018A":"D","\u0189":"D","\uA779":"D","\u01F1":"DZ","\u01C4":"DZ","\u01F2":"Dz","\u01C5":"Dz","\u24BA":"E","\uFF25":"E","\u00C8":"E","\u00C9":"E","\u00CA":"E","\u1EC0":"E","\u1EBE":"E","\u1EC4":"E","\u1EC2":"E","\u1EBC":"E","\u0112":"E","\u1E14":"E","\u1E16":"E","\u0114":"E","\u0116":"E","\u00CB":"E","\u1EBA":"E","\u011A":"E","\u0204":"E","\u0206":"E","\u1EB8":"E","\u1EC6":"E","\u0228":"E","\u1E1C":"E","\u0118":"E","\u1E18":"E","\u1E1A":"E","\u0190":"E","\u018E":"E","\u24BB":"F","\uFF26":"F","\u1E1E":"F","\u0191":"F","\uA77B":"F","\u24BC":"G","\uFF27":"G","\u01F4":"G","\u011C":"G","\u1E20":"G","\u011E":"G","\u0120":"G","\u01E6":"G","\u0122":"G","\u01E4":"G","\u0193":"G","\uA7A0":"G","\uA77D":"G","\uA77E":"G","\u24BD":"H","\uFF28":"H","\u0124":"H","\u1E22":"H","\u1E26":"H","\u021E":"H","\u1E24":"H","\u1E28":"H","\u1E2A":"H","\u0126":"H","\u2C67":"H","\u2C75":"H","\uA78D":"H","\u24BE":"I","\uFF29":"I","\u00CC":"I","\u00CD":"I","\u00CE":"I","\u0128":"I","\u012A":"I","\u012C":"I","\u0130":"I","\u00CF":"I","\u1E2E":"I","\u1EC8":"I","\u01CF":"I","\u0208":"I","\u020A":"I","\u1ECA":"I","\u012E":"I","\u1E2C":"I","\u0197":"I","\u24BF":"J","\uFF2A":"J","\u0134":"J","\u0248":"J","\u24C0":"K","\uFF2B":"K","\u1E30":"K","\u01E8":"K","\u1E32":"K","\u0136":"K","\u1E34":"K","\u0198":"K","\u2C69":"K","\uA740":"K","\uA742":"K","\uA744":"K","\uA7A2":"K","\u24C1":"L","\uFF2C":"L","\u013F":"L","\u0139":"L","\u013D":"L","\u1E36":"L","\u1E38":"L","\u013B":"L","\u1E3C":"L","\u1E3A":"L","\u0141":"L","\u023D":"L","\u2C62":"L","\u2C60":"L","\uA748":"L","\uA746":"L","\uA780":"L","\u01C7":"LJ","\u01C8":"Lj","\u24C2":"M","\uFF2D":"M","\u1E3E":"M","\u1E40":"M","\u1E42":"M","\u2C6E":"M","\u019C":"M","\u24C3":"N","\uFF2E":"N","\u01F8":"N","\u0143":"N","\u00D1":"N","\u1E44":"N","\u0147":"N","\u1E46":"N","\u0145":"N","\u1E4A":"N","\u1E48":"N","\u0220":"N","\u019D":"N","\uA790":"N","\uA7A4":"N","\u01CA":"NJ","\u01CB":"Nj","\u24C4":"O","\uFF2F":"O","\u00D2":"O","\u00D3":"O","\u00D4":"O","\u1ED2":"O","\u1ED0":"O","\u1ED6":"O","\u1ED4":"O","\u00D5":"O","\u1E4C":"O","\u022C":"O","\u1E4E":"O","\u014C":"O","\u1E50":"O","\u1E52":"O","\u014E":"O","\u022E":"O","\u0230":"O","\u00D6":"O","\u022A":"O","\u1ECE":"O","\u0150":"O","\u01D1":"O","\u020C":"O","\u020E":"O","\u01A0":"O","\u1EDC":"O","\u1EDA":"O","\u1EE0":"O","\u1EDE":"O","\u1EE2":"O","\u1ECC":"O","\u1ED8":"O","\u01EA":"O","\u01EC":"O","\u00D8":"O","\u01FE":"O","\u0186":"O","\u019F":"O","\uA74A":"O","\uA74C":"O","\u01A2":"OI","\uA74E":"OO","\u0222":"OU","\u24C5":"P","\uFF30":"P","\u1E54":"P","\u1E56":"P","\u01A4":"P","\u2C63":"P","\uA750":"P","\uA752":"P","\uA754":"P","\u24C6":"Q","\uFF31":"Q","\uA756":"Q","\uA758":"Q","\u024A":"Q","\u24C7":"R","\uFF32":"R","\u0154":"R","\u1E58":"R","\u0158":"R","\u0210":"R","\u0212":"R","\u1E5A":"R","\u1E5C":"R","\u0156":"R","\u1E5E":"R","\u024C":"R","\u2C64":"R","\uA75A":"R","\uA7A6":"R","\uA782":"R","\u24C8":"S","\uFF33":"S","\u1E9E":"S","\u015A":"S","\u1E64":"S","\u015C":"S","\u1E60":"S","\u0160":"S","\u1E66":"S","\u1E62":"S","\u1E68":"S","\u0218":"S","\u015E":"S","\u2C7E":"S","\uA7A8":"S","\uA784":"S","\u24C9":"T","\uFF34":"T","\u1E6A":"T","\u0164":"T","\u1E6C":"T","\u021A":"T","\u0162":"T","\u1E70":"T","\u1E6E":"T","\u0166":"T","\u01AC":"T","\u01AE":"T","\u023E":"T","\uA786":"T","\uA728":"TZ","\u24CA":"U","\uFF35":"U","\u00D9":"U","\u00DA":"U","\u00DB":"U","\u0168":"U","\u1E78":"U","\u016A":"U","\u1E7A":"U","\u016C":"U","\u00DC":"U","\u01DB":"U","\u01D7":"U","\u01D5":"U","\u01D9":"U","\u1EE6":"U","\u016E":"U","\u0170":"U","\u01D3":"U","\u0214":"U","\u0216":"U","\u01AF":"U","\u1EEA":"U","\u1EE8":"U","\u1EEE":"U","\u1EEC":"U","\u1EF0":"U","\u1EE4":"U","\u1E72":"U","\u0172":"U","\u1E76":"U","\u1E74":"U","\u0244":"U","\u24CB":"V","\uFF36":"V","\u1E7C":"V","\u1E7E":"V","\u01B2":"V","\uA75E":"V","\u0245":"V","\uA760":"VY","\u24CC":"W","\uFF37":"W","\u1E80":"W","\u1E82":"W","\u0174":"W","\u1E86":"W","\u1E84":"W","\u1E88":"W","\u2C72":"W","\u24CD":"X","\uFF38":"X","\u1E8A":"X","\u1E8C":"X","\u24CE":"Y","\uFF39":"Y","\u1EF2":"Y","\u00DD":"Y","\u0176":"Y","\u1EF8":"Y","\u0232":"Y","\u1E8E":"Y","\u0178":"Y","\u1EF6":"Y","\u1EF4":"Y","\u01B3":"Y","\u024E":"Y","\u1EFE":"Y","\u24CF":"Z","\uFF3A":"Z","\u0179":"Z","\u1E90":"Z","\u017B":"Z","\u017D":"Z","\u1E92":"Z","\u1E94":"Z","\u01B5":"Z","\u0224":"Z","\u2C7F":"Z","\u2C6B":"Z","\uA762":"Z","\u24D0":"a","\uFF41":"a","\u1E9A":"a","\u00E0":"a","\u00E1":"a","\u00E2":"a","\u1EA7":"a","\u1EA5":"a","\u1EAB":"a","\u1EA9":"a","\u00E3":"a","\u0101":"a","\u0103":"a","\u1EB1":"a","\u1EAF":"a","\u1EB5":"a","\u1EB3":"a","\u0227":"a","\u01E1":"a","\u00E4":"a","\u01DF":"a","\u1EA3":"a","\u00E5":"a","\u01FB":"a","\u01CE":"a","\u0201":"a","\u0203":"a","\u1EA1":"a","\u1EAD":"a","\u1EB7":"a","\u1E01":"a","\u0105":"a","\u2C65":"a","\u0250":"a","\uA733":"aa","\u00E6":"ae","\u01FD":"ae","\u01E3":"ae","\uA735":"ao","\uA737":"au","\uA739":"av","\uA73B":"av","\uA73D":"ay","\u24D1":"b","\uFF42":"b","\u1E03":"b","\u1E05":"b","\u1E07":"b","\u0180":"b","\u0183":"b","\u0253":"b","\u24D2":"c","\uFF43":"c","\u0107":"c","\u0109":"c","\u010B":"c","\u010D":"c","\u00E7":"c","\u1E09":"c","\u0188":"c","\u023C":"c","\uA73F":"c","\u2184":"c","\u24D3":"d","\uFF44":"d","\u1E0B":"d","\u010F":"d","\u1E0D":"d","\u1E11":"d","\u1E13":"d","\u1E0F":"d","\u0111":"d","\u018C":"d","\u0256":"d","\u0257":"d","\uA77A":"d","\u01F3":"dz","\u01C6":"dz","\u24D4":"e","\uFF45":"e","\u00E8":"e","\u00E9":"e","\u00EA":"e","\u1EC1":"e","\u1EBF":"e","\u1EC5":"e","\u1EC3":"e","\u1EBD":"e","\u0113":"e","\u1E15":"e","\u1E17":"e","\u0115":"e","\u0117":"e","\u00EB":"e","\u1EBB":"e","\u011B":"e","\u0205":"e","\u0207":"e","\u1EB9":"e","\u1EC7":"e","\u0229":"e","\u1E1D":"e","\u0119":"e","\u1E19":"e","\u1E1B":"e","\u0247":"e","\u025B":"e","\u01DD":"e","\u24D5":"f","\uFF46":"f","\u1E1F":"f","\u0192":"f","\uA77C":"f","\u24D6":"g","\uFF47":"g","\u01F5":"g","\u011D":"g","\u1E21":"g","\u011F":"g","\u0121":"g","\u01E7":"g","\u0123":"g","\u01E5":"g","\u0260":"g","\uA7A1":"g","\u1D79":"g","\uA77F":"g","\u24D7":"h","\uFF48":"h","\u0125":"h","\u1E23":"h","\u1E27":"h","\u021F":"h","\u1E25":"h","\u1E29":"h","\u1E2B":"h","\u1E96":"h","\u0127":"h","\u2C68":"h","\u2C76":"h","\u0265":"h","\u0195":"hv","\u24D8":"i","\uFF49":"i","\u00EC":"i","\u00ED":"i","\u00EE":"i","\u0129":"i","\u012B":"i","\u012D":"i","\u00EF":"i","\u1E2F":"i","\u1EC9":"i","\u01D0":"i","\u0209":"i","\u020B":"i","\u1ECB":"i","\u012F":"i","\u1E2D":"i","\u0268":"i","\u0131":"i","\u24D9":"j","\uFF4A":"j","\u0135":"j","\u01F0":"j","\u0249":"j","\u24DA":"k","\uFF4B":"k","\u1E31":"k","\u01E9":"k","\u1E33":"k","\u0137":"k","\u1E35":"k","\u0199":"k","\u2C6A":"k","\uA741":"k","\uA743":"k","\uA745":"k","\uA7A3":"k","\u24DB":"l","\uFF4C":"l","\u0140":"l","\u013A":"l","\u013E":"l","\u1E37":"l","\u1E39":"l","\u013C":"l","\u1E3D":"l","\u1E3B":"l","\u017F":"l","\u0142":"l","\u019A":"l","\u026B":"l","\u2C61":"l","\uA749":"l","\uA781":"l","\uA747":"l","\u01C9":"lj","\u24DC":"m","\uFF4D":"m","\u1E3F":"m","\u1E41":"m","\u1E43":"m","\u0271":"m","\u026F":"m","\u24DD":"n","\uFF4E":"n","\u01F9":"n","\u0144":"n","\u00F1":"n","\u1E45":"n","\u0148":"n","\u1E47":"n","\u0146":"n","\u1E4B":"n","\u1E49":"n","\u019E":"n","\u0272":"n","\u0149":"n","\uA791":"n","\uA7A5":"n","\u01CC":"nj","\u24DE":"o","\uFF4F":"o","\u00F2":"o","\u00F3":"o","\u00F4":"o","\u1ED3":"o","\u1ED1":"o","\u1ED7":"o","\u1ED5":"o","\u00F5":"o","\u1E4D":"o","\u022D":"o","\u1E4F":"o","\u014D":"o","\u1E51":"o","\u1E53":"o","\u014F":"o","\u022F":"o","\u0231":"o","\u00F6":"o","\u022B":"o","\u1ECF":"o","\u0151":"o","\u01D2":"o","\u020D":"o","\u020F":"o","\u01A1":"o","\u1EDD":"o","\u1EDB":"o","\u1EE1":"o","\u1EDF":"o","\u1EE3":"o","\u1ECD":"o","\u1ED9":"o","\u01EB":"o","\u01ED":"o","\u00F8":"o","\u01FF":"o","\u0254":"o","\uA74B":"o","\uA74D":"o","\u0275":"o","\u01A3":"oi","\u0223":"ou","\uA74F":"oo","\u24DF":"p","\uFF50":"p","\u1E55":"p","\u1E57":"p","\u01A5":"p","\u1D7D":"p","\uA751":"p","\uA753":"p","\uA755":"p","\u24E0":"q","\uFF51":"q","\u024B":"q","\uA757":"q","\uA759":"q","\u24E1":"r","\uFF52":"r","\u0155":"r","\u1E59":"r","\u0159":"r","\u0211":"r","\u0213":"r","\u1E5B":"r","\u1E5D":"r","\u0157":"r","\u1E5F":"r","\u024D":"r","\u027D":"r","\uA75B":"r","\uA7A7":"r","\uA783":"r","\u24E2":"s","\uFF53":"s","\u00DF":"s","\u015B":"s","\u1E65":"s","\u015D":"s","\u1E61":"s","\u0161":"s","\u1E67":"s","\u1E63":"s","\u1E69":"s","\u0219":"s","\u015F":"s","\u023F":"s","\uA7A9":"s","\uA785":"s","\u1E9B":"s","\u24E3":"t","\uFF54":"t","\u1E6B":"t","\u1E97":"t","\u0165":"t","\u1E6D":"t","\u021B":"t","\u0163":"t","\u1E71":"t","\u1E6F":"t","\u0167":"t","\u01AD":"t","\u0288":"t","\u2C66":"t","\uA787":"t","\uA729":"tz","\u24E4":"u","\uFF55":"u","\u00F9":"u","\u00FA":"u","\u00FB":"u","\u0169":"u","\u1E79":"u","\u016B":"u","\u1E7B":"u","\u016D":"u","\u00FC":"u","\u01DC":"u","\u01D8":"u","\u01D6":"u","\u01DA":"u","\u1EE7":"u","\u016F":"u","\u0171":"u","\u01D4":"u","\u0215":"u","\u0217":"u","\u01B0":"u","\u1EEB":"u","\u1EE9":"u","\u1EEF":"u","\u1EED":"u","\u1EF1":"u","\u1EE5":"u","\u1E73":"u","\u0173":"u","\u1E77":"u","\u1E75":"u","\u0289":"u","\u24E5":"v","\uFF56":"v","\u1E7D":"v","\u1E7F":"v","\u028B":"v","\uA75F":"v","\u028C":"v","\uA761":"vy","\u24E6":"w","\uFF57":"w","\u1E81":"w","\u1E83":"w","\u0175":"w","\u1E87":"w","\u1E85":"w","\u1E98":"w","\u1E89":"w","\u2C73":"w","\u24E7":"x","\uFF58":"x","\u1E8B":"x","\u1E8D":"x","\u24E8":"y","\uFF59":"y","\u1EF3":"y","\u00FD":"y","\u0177":"y","\u1EF9":"y","\u0233":"y","\u1E8F":"y","\u00FF":"y","\u1EF7":"y","\u1E99":"y","\u1EF5":"y","\u01B4":"y","\u024F":"y","\u1EFF":"y","\u24E9":"z","\uFF5A":"z","\u017A":"z","\u1E91":"z","\u017C":"z","\u017E":"z","\u1E93":"z","\u1E95":"z","\u01B6":"z","\u0225":"z","\u0240":"z","\u2C6C":"z","\uA763":"z"};
-
- $document = $(document);
-
- nextUid=(function() { var counter=1; return function() { return counter++; }; }());
-
-
- function stripDiacritics(str) {
- var ret, i, l, c;
-
- if (!str || str.length < 1) return str;
-
- ret = "";
- for (i = 0, l = str.length; i < l; i++) {
- c = str.charAt(i);
- ret += DIACRITICS[c] || c;
- }
- return ret;
- }
-
- function indexOf(value, array) {
- var i = 0, l = array.length;
- for (; i < l; i = i + 1) {
- if (equal(value, array[i])) return i;
- }
- return -1;
- }
-
- function measureScrollbar () {
- var $template = $( MEASURE_SCROLLBAR_TEMPLATE );
- $template.appendTo('body');
-
- var dim = {
- width: $template.width() - $template[0].clientWidth,
- height: $template.height() - $template[0].clientHeight
- };
- $template.remove();
-
- return dim;
- }
-
- /**
- * Compares equality of a and b
- * @param a
- * @param b
- */
- function equal(a, b) {
- if (a === b) return true;
- if (a === undefined || b === undefined) return false;
- if (a === null || b === null) return false;
- // Check whether 'a' or 'b' is a string (primitive or object).
- // The concatenation of an empty string (+'') converts its argument to a string's primitive.
- if (a.constructor === String) return a+'' === b+''; // a+'' - in case 'a' is a String object
- if (b.constructor === String) return b+'' === a+''; // b+'' - in case 'b' is a String object
- return false;
- }
-
- /**
- * Splits the string into an array of values, trimming each value. An empty array is returned for nulls or empty
- * strings
- * @param string
- * @param separator
- */
- function splitVal(string, separator) {
- var val, i, l;
- if (string === null || string.length < 1) return [];
- val = string.split(separator);
- for (i = 0, l = val.length; i < l; i = i + 1) val[i] = $.trim(val[i]);
- return val;
- }
-
- function getSideBorderPadding(element) {
- return element.outerWidth(false) - element.width();
- }
-
- function installKeyUpChangeEvent(element) {
- var key="keyup-change-value";
- element.on("keydown", function () {
- if ($.data(element, key) === undefined) {
- $.data(element, key, element.val());
- }
- });
- element.on("keyup", function () {
- var val= $.data(element, key);
- if (val !== undefined && element.val() !== val) {
- $.removeData(element, key);
- element.trigger("keyup-change");
- }
- });
- }
-
- $document.on("mousemove", function (e) {
- lastMousePosition.x = e.pageX;
- lastMousePosition.y = e.pageY;
- });
-
- /**
- * filters mouse events so an event is fired only if the mouse moved.
- *
- * filters out mouse events that occur when mouse is stationary but
- * the elements under the pointer are scrolled.
- */
- function installFilteredMouseMove(element) {
- element.on("mousemove", function (e) {
- var lastpos = lastMousePosition;
- if (lastpos === undefined || lastpos.x !== e.pageX || lastpos.y !== e.pageY) {
- $(e.target).trigger("mousemove-filtered", e);
- }
- });
- }
-
- /**
- * Debounces a function. Returns a function that calls the original fn function only if no invocations have been made
- * within the last quietMillis milliseconds.
- *
- * @param quietMillis number of milliseconds to wait before invoking fn
- * @param fn function to be debounced
- * @param ctx object to be used as this reference within fn
- * @return debounced version of fn
- */
- function debounce(quietMillis, fn, ctx) {
- ctx = ctx || undefined;
- var timeout;
- return function () {
- var args = arguments;
- window.clearTimeout(timeout);
- timeout = window.setTimeout(function() {
- fn.apply(ctx, args);
- }, quietMillis);
- };
- }
-
- /**
- * A simple implementation of a thunk
- * @param formula function used to lazily initialize the thunk
- * @return {Function}
- */
- function thunk(formula) {
- var evaluated = false,
- value;
- return function() {
- if (evaluated === false) { value = formula(); evaluated = true; }
- return value;
- };
- };
-
- function installDebouncedScroll(threshold, element) {
- var notify = debounce(threshold, function (e) { element.trigger("scroll-debounced", e);});
- element.on("scroll", function (e) {
- if (indexOf(e.target, element.get()) >= 0) notify(e);
- });
- }
-
- function focus($el) {
- if ($el[0] === document.activeElement) return;
-
- /* set the focus in a 0 timeout - that way the focus is set after the processing
- of the current event has finished - which seems like the only reliable way
- to set focus */
- window.setTimeout(function() {
- var el=$el[0], pos=$el.val().length, range;
-
- $el.focus();
-
- /* make sure el received focus so we do not error out when trying to manipulate the caret.
- sometimes modals or others listeners may steal it after its set */
- if ($el.is(":visible") && el === document.activeElement) {
-
- /* after the focus is set move the caret to the end, necessary when we val()
- just before setting focus */
- if(el.setSelectionRange)
- {
- el.setSelectionRange(pos, pos);
- }
- else if (el.createTextRange) {
- range = el.createTextRange();
- range.collapse(false);
- range.select();
- }
- }
- }, 0);
- }
-
- function getCursorInfo(el) {
- el = $(el)[0];
- var offset = 0;
- var length = 0;
- if ('selectionStart' in el) {
- offset = el.selectionStart;
- length = el.selectionEnd - offset;
- } else if ('selection' in document) {
- el.focus();
- var sel = document.selection.createRange();
- length = document.selection.createRange().text.length;
- sel.moveStart('character', -el.value.length);
- offset = sel.text.length - length;
- }
- return { offset: offset, length: length };
- }
-
- function killEvent(event) {
- event.preventDefault();
- event.stopPropagation();
- }
- function killEventImmediately(event) {
- event.preventDefault();
- event.stopImmediatePropagation();
- }
-
- function measureTextWidth(e) {
- if (!sizer){
- var style = e[0].currentStyle || window.getComputedStyle(e[0], null);
- sizer = $(document.createElement("div")).css({
- position: "absolute",
- left: "-10000px",
- top: "-10000px",
- display: "none",
- fontSize: style.fontSize,
- fontFamily: style.fontFamily,
- fontStyle: style.fontStyle,
- fontWeight: style.fontWeight,
- letterSpacing: style.letterSpacing,
- textTransform: style.textTransform,
- whiteSpace: "nowrap"
- });
- sizer.attr("class","select2-sizer");
- $("body").append(sizer);
- }
- sizer.text(e.val());
- return sizer.width();
- }
-
- function syncCssClasses(dest, src, adapter) {
- var classes, replacements = [], adapted;
-
- classes = dest.attr("class");
- if (classes) {
- classes = '' + classes; // for IE which returns object
- $(classes.split(" ")).each2(function() {
- if (this.indexOf("select2-") === 0) {
- replacements.push(this);
- }
- });
- }
- classes = src.attr("class");
- if (classes) {
- classes = '' + classes; // for IE which returns object
- $(classes.split(" ")).each2(function() {
- if (this.indexOf("select2-") !== 0) {
- adapted = adapter(this);
- if (adapted) {
- replacements.push(adapted);
- }
- }
- });
- }
- dest.attr("class", replacements.join(" "));
- }
-
-
- function markMatch(text, term, markup, escapeMarkup) {
- var match=stripDiacritics(text.toUpperCase()).indexOf(stripDiacritics(term.toUpperCase())),
- tl=term.length;
-
- if (match<0) {
- markup.push(escapeMarkup(text));
- return;
- }
-
- markup.push(escapeMarkup(text.substring(0, match)));
- markup.push("<span class='select2-match'>");
- markup.push(escapeMarkup(text.substring(match, match + tl)));
- markup.push("</span>");
- markup.push(escapeMarkup(text.substring(match + tl, text.length)));
- }
-
- function defaultEscapeMarkup(markup) {
- var replace_map = {
- '\\': '&#92;',
- '&': '&amp;',
- '<': '&lt;',
- '>': '&gt;',
- '"': '&quot;',
- "'": '&#39;',
- "/": '&#47;'
- };
-
- return String(markup).replace(/[&<>"'\/\\]/g, function (match) {
- return replace_map[match];
- });
- }
-
- /**
- * Produces an ajax-based query function
- *
- * @param options object containing configuration paramters
- * @param options.params parameter map for the transport ajax call, can contain such options as cache, jsonpCallback, etc. see $.ajax
- * @param options.transport function that will be used to execute the ajax request. must be compatible with parameters supported by $.ajax
- * @param options.url url for the data
- * @param options.data a function(searchTerm, pageNumber, context) that should return an object containing query string parameters for the above url.
- * @param options.dataType request data type: ajax, jsonp, other datatatypes supported by jQuery's $.ajax function or the transport function if specified
- * @param options.quietMillis (optional) milliseconds to wait before making the ajaxRequest, helps debounce the ajax function if invoked too often
- * @param options.results a function(remoteData, pageNumber) that converts data returned form the remote request to the format expected by Select2.
- * The expected format is an object containing the following keys:
- * results array of objects that will be used as choices
- * more (optional) boolean indicating whether there are more results available
- * Example: {results:[{id:1, text:'Red'},{id:2, text:'Blue'}], more:true}
- */
- function ajax(options) {
- var timeout, // current scheduled but not yet executed request
- handler = null,
- quietMillis = options.quietMillis || 100,
- ajaxUrl = options.url,
- self = this;
-
- return function (query) {
- window.clearTimeout(timeout);
- timeout = window.setTimeout(function () {
- var data = options.data, // ajax data function
- url = ajaxUrl, // ajax url string or function
- transport = options.transport || $.fn.select2.ajaxDefaults.transport,
- // deprecated - to be removed in 4.0 - use params instead
- deprecated = {
- type: options.type || 'GET', // set type of request (GET or POST)
- cache: options.cache || false,
- jsonpCallback: options.jsonpCallback||undefined,
- dataType: options.dataType||"json"
- },
- params = $.extend({}, $.fn.select2.ajaxDefaults.params, deprecated);
-
- data = data ? data.call(self, query.term, query.page, query.context) : null;
- url = (typeof url === 'function') ? url.call(self, query.term, query.page, query.context) : url;
-
- if (handler) { handler.abort(); }
-
- if (options.params) {
- if ($.isFunction(options.params)) {
- $.extend(params, options.params.call(self));
- } else {
- $.extend(params, options.params);
- }
- }
-
- $.extend(params, {
- url: url,
- dataType: options.dataType,
- data: data,
- success: function (data) {
- // TODO - replace query.page with query so users have access to term, page, etc.
- var results = options.results(data, query.page);
- query.callback(results);
- }
- });
- handler = transport.call(self, params);
- }, quietMillis);
- };
- }
-
- /**
- * Produces a query function that works with a local array
- *
- * @param options object containing configuration parameters. The options parameter can either be an array or an
- * object.
- *
- * If the array form is used it is assumed that it contains objects with 'id' and 'text' keys.
- *
- * If the object form is used ti is assumed that it contains 'data' and 'text' keys. The 'data' key should contain
- * an array of objects that will be used as choices. These objects must contain at least an 'id' key. The 'text'
- * key can either be a String in which case it is expected that each element in the 'data' array has a key with the
- * value of 'text' which will be used to match choices. Alternatively, text can be a function(item) that can extract
- * the text.
- */
- function local(options) {
- var data = options, // data elements
- dataText,
- tmp,
- text = function (item) { return ""+item.text; }; // function used to retrieve the text portion of a data item that is matched against the search
-
- if ($.isArray(data)) {
- tmp = data;
- data = { results: tmp };
- }
-
- if ($.isFunction(data) === false) {
- tmp = data;
- data = function() { return tmp; };
- }
-
- var dataItem = data();
- if (dataItem.text) {
- text = dataItem.text;
- // if text is not a function we assume it to be a key name
- if (!$.isFunction(text)) {
- dataText = dataItem.text; // we need to store this in a separate variable because in the next step data gets reset and data.text is no longer available
- text = function (item) { return item[dataText]; };
- }
- }
-
- return function (query) {
- var t = query.term, filtered = { results: [] }, process;
- if (t === "") {
- query.callback(data());
- return;
- }
-
- process = function(datum, collection) {
- var group, attr;
- datum = datum[0];
- if (datum.children) {
- group = {};
- for (attr in datum) {
- if (datum.hasOwnProperty(attr)) group[attr]=datum[attr];
- }
- group.children=[];
- $(datum.children).each2(function(i, childDatum) { process(childDatum, group.children); });
- if (group.children.length || query.matcher(t, text(group), datum)) {
- collection.push(group);
- }
- } else {
- if (query.matcher(t, text(datum), datum)) {
- collection.push(datum);
- }
- }
- };
-
- $(data().results).each2(function(i, datum) { process(datum, filtered.results); });
- query.callback(filtered);
- };
- }
-
- // TODO javadoc
- function tags(data) {
- var isFunc = $.isFunction(data);
- return function (query) {
- var t = query.term, filtered = {results: []};
- $(isFunc ? data() : data).each(function () {
- var isObject = this.text !== undefined,
- text = isObject ? this.text : this;
- if (t === "" || query.matcher(t, text)) {
- filtered.results.push(isObject ? this : {id: this, text: this});
- }
- });
- query.callback(filtered);
- };
- }
-
- /**
- * Checks if the formatter function should be used.
- *
- * Throws an error if it is not a function. Returns true if it should be used,
- * false if no formatting should be performed.
- *
- * @param formatter
- */
- function checkFormatter(formatter, formatterName) {
- if ($.isFunction(formatter)) return true;
- if (!formatter) return false;
- throw new Error(formatterName +" must be a function or a falsy value");
- }
-
- function evaluate(val) {
- return $.isFunction(val) ? val() : val;
- }
-
- function countResults(results) {
- var count = 0;
- $.each(results, function(i, item) {
- if (item.children) {
- count += countResults(item.children);
- } else {
- count++;
- }
- });
- return count;
- }
-
- /**
- * Default tokenizer. This function uses breaks the input on substring match of any string from the
- * opts.tokenSeparators array and uses opts.createSearchChoice to create the choice object. Both of those
- * two options have to be defined in order for the tokenizer to work.
- *
- * @param input text user has typed so far or pasted into the search field
- * @param selection currently selected choices
- * @param selectCallback function(choice) callback tho add the choice to selection
- * @param opts select2's opts
- * @return undefined/null to leave the current input unchanged, or a string to change the input to the returned value
- */
- function defaultTokenizer(input, selection, selectCallback, opts) {
- var original = input, // store the original so we can compare and know if we need to tell the search to update its text
- dupe = false, // check for whether a token we extracted represents a duplicate selected choice
- token, // token
- index, // position at which the separator was found
- i, l, // looping variables
- separator; // the matched separator
-
- if (!opts.createSearchChoice || !opts.tokenSeparators || opts.tokenSeparators.length < 1) return undefined;
-
- while (true) {
- index = -1;
-
- for (i = 0, l = opts.tokenSeparators.length; i < l; i++) {
- separator = opts.tokenSeparators[i];
- index = input.indexOf(separator);
- if (index >= 0) break;
- }
-
- if (index < 0) break; // did not find any token separator in the input string, bail
-
- token = input.substring(0, index);
- input = input.substring(index + separator.length);
-
- if (token.length > 0) {
- token = opts.createSearchChoice.call(this, token, selection);
- if (token !== undefined && token !== null && opts.id(token) !== undefined && opts.id(token) !== null) {
- dupe = false;
- for (i = 0, l = selection.length; i < l; i++) {
- if (equal(opts.id(token), opts.id(selection[i]))) {
- dupe = true; break;
- }
- }
-
- if (!dupe) selectCallback(token);
- }
- }
- }
-
- if (original!==input) return input;
- }
-
- /**
- * Creates a new class
- *
- * @param superClass
- * @param methods
- */
- function clazz(SuperClass, methods) {
- var constructor = function () {};
- constructor.prototype = new SuperClass;
- constructor.prototype.constructor = constructor;
- constructor.prototype.parent = SuperClass.prototype;
- constructor.prototype = $.extend(constructor.prototype, methods);
- return constructor;
- }
-
- AbstractSelect2 = clazz(Object, {
-
- // abstract
- bind: function (func) {
- var self = this;
- return function () {
- func.apply(self, arguments);
- };
- },
-
- // abstract
- init: function (opts) {
- var results, search, resultsSelector = ".select2-results";
-
- // prepare options
- this.opts = opts = this.prepareOpts(opts);
-
- this.id=opts.id;
-
- // destroy if called on an existing component
- if (opts.element.data("select2") !== undefined &&
- opts.element.data("select2") !== null) {
- opts.element.data("select2").destroy();
- }
-
- this.container = this.createContainer();
-
- this.containerId="s2id_"+(opts.element.attr("id") || "autogen"+nextUid());
- this.containerSelector="#"+this.containerId.replace(/([;&,\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g, '\\$1');
- this.container.attr("id", this.containerId);
-
- // cache the body so future lookups are cheap
- this.body = thunk(function() { return opts.element.closest("body"); });
-
- syncCssClasses(this.container, this.opts.element, this.opts.adaptContainerCssClass);
-
- this.container.attr("style", opts.element.attr("style"));
- this.container.css(evaluate(opts.containerCss));
- this.container.addClass(evaluate(opts.containerCssClass));
-
- this.elementTabIndex = this.opts.element.attr("tabindex");
-
- // swap container for the element
- this.opts.element
- .data("select2", this)
- .attr("tabindex", "-1")
- .before(this.container)
- .on("click.select2", killEvent); // do not leak click events
-
- this.container.data("select2", this);
-
- this.dropdown = this.container.find(".select2-drop");
-
- syncCssClasses(this.dropdown, this.opts.element, this.opts.adaptDropdownCssClass);
-
- this.dropdown.addClass(evaluate(opts.dropdownCssClass));
- this.dropdown.data("select2", this);
- this.dropdown.on("click", killEvent);
-
- this.results = results = this.container.find(resultsSelector);
- this.search = search = this.container.find("input.select2-input");
-
- this.queryCount = 0;
- this.resultsPage = 0;
- this.context = null;
-
- // initialize the container
- this.initContainer();
-
- this.container.on("click", killEvent);
-
- installFilteredMouseMove(this.results);
- this.dropdown.on("mousemove-filtered touchstart touchmove touchend", resultsSelector, this.bind(this.highlightUnderEvent));
-
- installDebouncedScroll(80, this.results);
- this.dropdown.on("scroll-debounced", resultsSelector, this.bind(this.loadMoreIfNeeded));
-
- // do not propagate change event from the search field out of the component
- $(this.container).on("change", ".select2-input", function(e) {e.stopPropagation();});
- $(this.dropdown).on("change", ".select2-input", function(e) {e.stopPropagation();});
-
- // if jquery.mousewheel plugin is installed we can prevent out-of-bounds scrolling of results via mousewheel
- if ($.fn.mousewheel) {
- results.mousewheel(function (e, delta, deltaX, deltaY) {
- var top = results.scrollTop();
- if (deltaY > 0 && top - deltaY <= 0) {
- results.scrollTop(0);
- killEvent(e);
- } else if (deltaY < 0 && results.get(0).scrollHeight - results.scrollTop() + deltaY <= results.height()) {
- results.scrollTop(results.get(0).scrollHeight - results.height());
- killEvent(e);
- }
- });
- }
-
- installKeyUpChangeEvent(search);
- search.on("keyup-change input paste", this.bind(this.updateResults));
- search.on("focus", function () { search.addClass("select2-focused"); });
- search.on("blur", function () { search.removeClass("select2-focused");});
-
- this.dropdown.on("mouseup", resultsSelector, this.bind(function (e) {
- if ($(e.target).closest(".select2-result-selectable").length > 0) {
- this.highlightUnderEvent(e);
- this.selectHighlighted(e);
- }
- }));
-
- // trap all mouse events from leaving the dropdown. sometimes there may be a modal that is listening
- // for mouse events outside of itself so it can close itself. since the dropdown is now outside the select2's
- // dom it will trigger the popup close, which is not what we want
- this.dropdown.on("click mouseup mousedown", function (e) { e.stopPropagation(); });
-
- if ($.isFunction(this.opts.initSelection)) {
- // initialize selection based on the current value of the source element
- this.initSelection();
-
- // if the user has provided a function that can set selection based on the value of the source element
- // we monitor the change event on the element and trigger it, allowing for two way synchronization
- this.monitorSource();
- }
-
- if (opts.maximumInputLength !== null) {
- this.search.attr("maxlength", opts.maximumInputLength);
- }
-
- var disabled = opts.element.prop("disabled");
- if (disabled === undefined) disabled = false;
- this.enable(!disabled);
-
- var readonly = opts.element.prop("readonly");
- if (readonly === undefined) readonly = false;
- this.readonly(readonly);
-
- // Calculate size of scrollbar
- scrollBarDimensions = scrollBarDimensions || measureScrollbar();
-
- this.autofocus = opts.element.prop("autofocus");
- opts.element.prop("autofocus", false);
- if (this.autofocus) this.focus();
-
- this.nextSearchTerm = undefined;
- },
-
- // abstract
- destroy: function () {
- var element=this.opts.element, select2 = element.data("select2");
-
- this.close();
-
- if (this.propertyObserver) { delete this.propertyObserver; this.propertyObserver = null; }
-
- if (select2 !== undefined) {
- select2.container.remove();
- select2.dropdown.remove();
- element
- .removeClass("select2-offscreen")
- .removeData("select2")
- .off(".select2")
- .prop("autofocus", this.autofocus || false);
- if (this.elementTabIndex) {
- element.attr({tabindex: this.elementTabIndex});
- } else {
- element.removeAttr("tabindex");
- }
- element.show();
- }
- },
-
- // abstract
- optionToData: function(element) {
- if (element.is("option")) {
- return {
- id:element.prop("value"),
- text:element.text(),
- element: element.get(),
- css: element.attr("class"),
- disabled: element.prop("disabled"),
- locked: equal(element.attr("locked"), "locked") || equal(element.data("locked"), true)
- };
- } else if (element.is("optgroup")) {
- return {
- text:element.attr("label"),
- children:[],
- element: element.get(),
- css: element.attr("class")
- };
- }
- },
-
- // abstract
- prepareOpts: function (opts) {
- var element, select, idKey, ajaxUrl, self = this;
-
- element = opts.element;
-
- if (element.get(0).tagName.toLowerCase() === "select") {
- this.select = select = opts.element;
- }
-
- if (select) {
- // these options are not allowed when attached to a select because they are picked up off the element itself
- $.each(["id", "multiple", "ajax", "query", "createSearchChoice", "initSelection", "data", "tags"], function () {
- if (this in opts) {
- throw new Error("Option '" + this + "' is not allowed for Select2 when attached to a <select> element.");
- }
- });
- }
-
- opts = $.extend({}, {
- populateResults: function(container, results, query) {
- var populate, id=this.opts.id;
-
- populate=function(results, container, depth) {
-
- var i, l, result, selectable, disabled, compound, node, label, innerContainer, formatted;
-
- results = opts.sortResults(results, container, query);
-
- for (i = 0, l = results.length; i < l; i = i + 1) {
-
- result=results[i];
-
- disabled = (result.disabled === true);
- selectable = (!disabled) && (id(result) !== undefined);
-
- compound=result.children && result.children.length > 0;
-
- node=$("<li></li>");
- node.addClass("select2-results-dept-"+depth);
- node.addClass("select2-result");
- node.addClass(selectable ? "select2-result-selectable" : "select2-result-unselectable");
- if (disabled) { node.addClass("select2-disabled"); }
- if (compound) { node.addClass("select2-result-with-children"); }
- node.addClass(self.opts.formatResultCssClass(result));
-
- label=$(document.createElement("div"));
- label.addClass("select2-result-label");
-
- formatted=opts.formatResult(result, label, query, self.opts.escapeMarkup);
- if (formatted!==undefined) {
- label.html(formatted);
- }
-
- node.append(label);
-
- if (compound) {
-
- innerContainer=$("<ul></ul>");
- innerContainer.addClass("select2-result-sub");
- populate(result.children, innerContainer, depth+1);
- node.append(innerContainer);
- }
-
- node.data("select2-data", result);
- container.append(node);
- }
- };
-
- populate(results, container, 0);
- }
- }, $.fn.select2.defaults, opts);
-
- if (typeof(opts.id) !== "function") {
- idKey = opts.id;
- opts.id = function (e) { return e[idKey]; };
- }
-
- if ($.isArray(opts.element.data("select2Tags"))) {
- if ("tags" in opts) {
- throw "tags specified as both an attribute 'data-select2-tags' and in options of Select2 " + opts.element.attr("id");
- }
- opts.tags=opts.element.data("select2Tags");
- }
-
- if (select) {
- opts.query = this.bind(function (query) {
- var data = { results: [], more: false },
- term = query.term,
- children, placeholderOption, process;
-
- process=function(element, collection) {
- var group;
- if (element.is("option")) {
- if (query.matcher(term, element.text(), element)) {
- collection.push(self.optionToData(element));
- }
- } else if (element.is("optgroup")) {
- group=self.optionToData(element);
- element.children().each2(function(i, elm) { process(elm, group.children); });
- if (group.children.length>0) {
- collection.push(group);
- }
- }
- };
-
- children=element.children();
-
- // ignore the placeholder option if there is one
- if (this.getPlaceholder() !== undefined && children.length > 0) {
- placeholderOption = this.getPlaceholderOption();
- if (placeholderOption) {
- children=children.not(placeholderOption);
- }
- }
-
- children.each2(function(i, elm) { process(elm, data.results); });
-
- query.callback(data);
- });
- // this is needed because inside val() we construct choices from options and there id is hardcoded
- opts.id=function(e) { return e.id; };
- opts.formatResultCssClass = function(data) { return data.css; };
- } else {
- if (!("query" in opts)) {
-
- if ("ajax" in opts) {
- ajaxUrl = opts.element.data("ajax-url");
- if (ajaxUrl && ajaxUrl.length > 0) {
- opts.ajax.url = ajaxUrl;
- }
- opts.query = ajax.call(opts.element, opts.ajax);
- } else if ("data" in opts) {
- opts.query = local(opts.data);
- } else if ("tags" in opts) {
- opts.query = tags(opts.tags);
- if (opts.createSearchChoice === undefined) {
- opts.createSearchChoice = function (term) { return {id: $.trim(term), text: $.trim(term)}; };
- }
- if (opts.initSelection === undefined) {
- opts.initSelection = function (element, callback) {
- var data = [];
- $(splitVal(element.val(), opts.separator)).each(function () {
- var obj = { id: this, text: this },
- tags = opts.tags;
- if ($.isFunction(tags)) tags=tags();
- $(tags).each(function() { if (equal(this.id, obj.id)) { obj = this; return false; } });
- data.push(obj);
- });
-
- callback(data);
- };
- }
- }
- }
- }
- if (typeof(opts.query) !== "function") {
- throw "query function not defined for Select2 " + opts.element.attr("id");
- }
-
- return opts;
- },
-
- /**
- * Monitor the original element for changes and update select2 accordingly
- */
- // abstract
- monitorSource: function () {
- var el = this.opts.element, sync, observer;
-
- el.on("change.select2", this.bind(function (e) {
- if (this.opts.element.data("select2-change-triggered") !== true) {
- this.initSelection();
- }
- }));
-
- sync = this.bind(function () {
-
- // sync enabled state
- var disabled = el.prop("disabled");
- if (disabled === undefined) disabled = false;
- this.enable(!disabled);
-
- var readonly = el.prop("readonly");
- if (readonly === undefined) readonly = false;
- this.readonly(readonly);
-
- syncCssClasses(this.container, this.opts.element, this.opts.adaptContainerCssClass);
- this.container.addClass(evaluate(this.opts.containerCssClass));
-
- syncCssClasses(this.dropdown, this.opts.element, this.opts.adaptDropdownCssClass);
- this.dropdown.addClass(evaluate(this.opts.dropdownCssClass));
-
- });
-
- // IE8-10
- el.on("propertychange.select2", sync);
-
- // hold onto a reference of the callback to work around a chromium bug
- if (this.mutationCallback === undefined) {
- this.mutationCallback = function (mutations) {
- mutations.forEach(sync);
- }
- }
-
- // safari, chrome, firefox, IE11
- observer = window.MutationObserver || window.WebKitMutationObserver|| window.MozMutationObserver;
- if (observer !== undefined) {
- if (this.propertyObserver) { delete this.propertyObserver; this.propertyObserver = null; }
- this.propertyObserver = new observer(this.mutationCallback);
- this.propertyObserver.observe(el.get(0), { attributes:true, subtree:false });
- }
- },
-
- // abstract
- triggerSelect: function(data) {
- var evt = $.Event("select2-selecting", { val: this.id(data), object: data });
- this.opts.element.trigger(evt);
- return !evt.isDefaultPrevented();
- },
-
- /**
- * Triggers the change event on the source element
- */
- // abstract
- triggerChange: function (details) {
-
- details = details || {};
- details= $.extend({}, details, { type: "change", val: this.val() });
- // prevents recursive triggering
- this.opts.element.data("select2-change-triggered", true);
- this.opts.element.trigger(details);
- this.opts.element.data("select2-change-triggered", false);
-
- // some validation frameworks ignore the change event and listen instead to keyup, click for selects
- // so here we trigger the click event manually
- this.opts.element.click();
-
- // ValidationEngine ignorea the change event and listens instead to blur
- // so here we trigger the blur event manually if so desired
- if (this.opts.blurOnChange)
- this.opts.element.blur();
- },
-
- //abstract
- isInterfaceEnabled: function()
- {
- return this.enabledInterface === true;
- },
-
- // abstract
- enableInterface: function() {
- var enabled = this._enabled && !this._readonly,
- disabled = !enabled;
-
- if (enabled === this.enabledInterface) return false;
-
- this.container.toggleClass("select2-container-disabled", disabled);
- this.close();
- this.enabledInterface = enabled;
-
- return true;
- },
-
- // abstract
- enable: function(enabled) {
- if (enabled === undefined) enabled = true;
- if (this._enabled === enabled) return;
- this._enabled = enabled;
-
- this.opts.element.prop("disabled", !enabled);
- this.enableInterface();
- },
-
- // abstract
- disable: function() {
- this.enable(false);
- },
-
- // abstract
- readonly: function(enabled) {
- if (enabled === undefined) enabled = false;
- if (this._readonly === enabled) return false;
- this._readonly = enabled;
-
- this.opts.element.prop("readonly", enabled);
- this.enableInterface();
- return true;
- },
-
- // abstract
- opened: function () {
- return this.container.hasClass("select2-dropdown-open");
- },
-
- // abstract
- positionDropdown: function() {
- var $dropdown = this.dropdown,
- offset = this.container.offset(),
- height = this.container.outerHeight(false),
- width = this.container.outerWidth(false),
- dropHeight = $dropdown.outerHeight(false),
- $window = $(window),
- windowWidth = $window.width(),
- windowHeight = $window.height(),
- viewPortRight = $window.scrollLeft() + windowWidth,
- viewportBottom = $window.scrollTop() + windowHeight,
- dropTop = offset.top + height,
- dropLeft = offset.left,
- enoughRoomBelow = dropTop + dropHeight <= viewportBottom,
- enoughRoomAbove = (offset.top - dropHeight) >= this.body().scrollTop(),
- dropWidth = $dropdown.outerWidth(false),
- enoughRoomOnRight = dropLeft + dropWidth <= viewPortRight,
- aboveNow = $dropdown.hasClass("select2-drop-above"),
- bodyOffset,
- above,
- changeDirection,
- css,
- resultsListNode;
-
- // always prefer the current above/below alignment, unless there is not enough room
- if (aboveNow) {
- above = true;
- if (!enoughRoomAbove && enoughRoomBelow) {
- changeDirection = true;
- above = false;
- }
- } else {
- above = false;
- if (!enoughRoomBelow && enoughRoomAbove) {
- changeDirection = true;
- above = true;
- }
- }
-
- //if we are changing direction we need to get positions when dropdown is hidden;
- if (changeDirection) {
- $dropdown.hide();
- offset = this.container.offset();
- height = this.container.outerHeight(false);
- width = this.container.outerWidth(false);
- dropHeight = $dropdown.outerHeight(false);
- viewPortRight = $window.scrollLeft() + windowWidth;
- viewportBottom = $window.scrollTop() + windowHeight;
- dropTop = offset.top + height;
- dropLeft = offset.left;
- dropWidth = $dropdown.outerWidth(false);
- enoughRoomOnRight = dropLeft + dropWidth <= viewPortRight;
- $dropdown.show();
- }
-
- if (this.opts.dropdownAutoWidth) {
- resultsListNode = $('.select2-results', $dropdown)[0];
- $dropdown.addClass('select2-drop-auto-width');
- $dropdown.css('width', '');
- // Add scrollbar width to dropdown if vertical scrollbar is present
- dropWidth = $dropdown.outerWidth(false) + (resultsListNode.scrollHeight === resultsListNode.clientHeight ? 0 : scrollBarDimensions.width);
- dropWidth > width ? width = dropWidth : dropWidth = width;
- enoughRoomOnRight = dropLeft + dropWidth <= viewPortRight;
- }
- else {
- this.container.removeClass('select2-drop-auto-width');
- }
-
- //console.log("below/ droptop:", dropTop, "dropHeight", dropHeight, "sum", (dropTop+dropHeight)+" viewport bottom", viewportBottom, "enough?", enoughRoomBelow);
- //console.log("above/ offset.top", offset.top, "dropHeight", dropHeight, "top", (offset.top-dropHeight), "scrollTop", this.body().scrollTop(), "enough?", enoughRoomAbove);
-
- // fix positioning when body has an offset and is not position: static
- if (this.body().css('position') !== 'static') {
- bodyOffset = this.body().offset();
- dropTop -= bodyOffset.top;
- dropLeft -= bodyOffset.left;
- }
-
- if (!enoughRoomOnRight) {
- dropLeft = offset.left + width - dropWidth;
- }
-
- css = {
- left: dropLeft,
- width: width
- };
-
- if (above) {
- css.bottom = windowHeight - offset.top;
- css.top = 'auto';
- this.container.addClass("select2-drop-above");
- $dropdown.addClass("select2-drop-above");
- }
- else {
- css.top = dropTop;
- css.bottom = 'auto';
- this.container.removeClass("select2-drop-above");
- $dropdown.removeClass("select2-drop-above");
- }
- css = $.extend(css, evaluate(this.opts.dropdownCss));
-
- $dropdown.css(css);
- },
-
- // abstract
- shouldOpen: function() {
- var event;
-
- if (this.opened()) return false;
-
- if (this._enabled === false || this._readonly === true) return false;
-
- event = $.Event("select2-opening");
- this.opts.element.trigger(event);
- return !event.isDefaultPrevented();
- },
-
- // abstract
- clearDropdownAlignmentPreference: function() {
- // clear the classes used to figure out the preference of where the dropdown should be opened
- this.container.removeClass("select2-drop-above");
- this.dropdown.removeClass("select2-drop-above");
- },
-
- /**
- * Opens the dropdown
- *
- * @return {Boolean} whether or not dropdown was opened. This method will return false if, for example,
- * the dropdown is already open, or if the 'open' event listener on the element called preventDefault().
- */
- // abstract
- open: function () {
-
- if (!this.shouldOpen()) return false;
-
- this.opening();
-
- return true;
- },
-
- /**
- * Performs the opening of the dropdown
- */
- // abstract
- opening: function() {
- var cid = this.containerId,
- scroll = "scroll." + cid,
- resize = "resize."+cid,
- orient = "orientationchange."+cid,
- mask;
-
- this.container.addClass("select2-dropdown-open").addClass("select2-container-active");
-
- this.clearDropdownAlignmentPreference();
-
- if(this.dropdown[0] !== this.body().children().last()[0]) {
- this.dropdown.detach().appendTo(this.body());
- }
-
- // create the dropdown mask if doesnt already exist
- mask = $("#select2-drop-mask");
- if (mask.length == 0) {
- mask = $(document.createElement("div"));
- mask.attr("id","select2-drop-mask").attr("class","select2-drop-mask");
- mask.hide();
- mask.appendTo(this.body());
- mask.on("mousedown touchstart click", function (e) {
- var dropdown = $("#select2-drop"), self;
- if (dropdown.length > 0) {
- self=dropdown.data("select2");
- if (self.opts.selectOnBlur) {
- self.selectHighlighted({noFocus: true});
- }
- self.close({focus:true});
- e.preventDefault();
- e.stopPropagation();
- }
- });
- }
-
- // ensure the mask is always right before the dropdown
- if (this.dropdown.prev()[0] !== mask[0]) {
- this.dropdown.before(mask);
- }
-
- // move the global id to the correct dropdown
- $("#select2-drop").removeAttr("id");
- this.dropdown.attr("id", "select2-drop");
-
- // show the elements
- mask.show();
-
- this.positionDropdown();
- this.dropdown.show();
- this.positionDropdown();
-
- this.dropdown.addClass("select2-drop-active");
-
- // attach listeners to events that can change the position of the container and thus require
- // the position of the dropdown to be updated as well so it does not come unglued from the container
- var that = this;
- this.container.parents().add(window).each(function () {
- $(this).on(resize+" "+scroll+" "+orient, function (e) {
- that.positionDropdown();
- });
- });
-
-
- },
-
- // abstract
- close: function () {
- if (!this.opened()) return;
-
- var cid = this.containerId,
- scroll = "scroll." + cid,
- resize = "resize."+cid,
- orient = "orientationchange."+cid;
-
- // unbind event listeners
- this.container.parents().add(window).each(function () { $(this).off(scroll).off(resize).off(orient); });
-
- this.clearDropdownAlignmentPreference();
-
- $("#select2-drop-mask").hide();
- this.dropdown.removeAttr("id"); // only the active dropdown has the select2-drop id
- this.dropdown.hide();
- this.container.removeClass("select2-dropdown-open").removeClass("select2-container-active");
- this.results.empty();
-
-
- this.clearSearch();
- this.search.removeClass("select2-active");
- this.opts.element.trigger($.Event("select2-close"));
- },
-
- /**
- * Opens control, sets input value, and updates results.
- */
- // abstract
- externalSearch: function (term) {
- this.open();
- this.search.val(term);
- this.updateResults(false);
- },
-
- // abstract
- clearSearch: function () {
-
- },
-
- //abstract
- getMaximumSelectionSize: function() {
- return evaluate(this.opts.maximumSelectionSize);
- },
-
- // abstract
- ensureHighlightVisible: function () {
- var results = this.results, children, index, child, hb, rb, y, more;
-
- index = this.highlight();
-
- if (index < 0) return;
-
- if (index == 0) {
-
- // if the first element is highlighted scroll all the way to the top,
- // that way any unselectable headers above it will also be scrolled
- // into view
-
- results.scrollTop(0);
- return;
- }
-
- children = this.findHighlightableChoices().find('.select2-result-label');
-
- child = $(children[index]);
-
- hb = child.offset().top + child.outerHeight(true);
-
- // if this is the last child lets also make sure select2-more-results is visible
- if (index === children.length - 1) {
- more = results.find("li.select2-more-results");
- if (more.length > 0) {
- hb = more.offset().top + more.outerHeight(true);
- }
- }
-
- rb = results.offset().top + results.outerHeight(true);
- if (hb > rb) {
- results.scrollTop(results.scrollTop() + (hb - rb));
- }
- y = child.offset().top - results.offset().top;
-
- // make sure the top of the element is visible
- if (y < 0 && child.css('display') != 'none' ) {
- results.scrollTop(results.scrollTop() + y); // y is negative
- }
- },
-
- // abstract
- findHighlightableChoices: function() {
- return this.results.find(".select2-result-selectable:not(.select2-disabled, .select2-selected)");
- },
-
- // abstract
- moveHighlight: function (delta) {
- var choices = this.findHighlightableChoices(),
- index = this.highlight();
-
- while (index > -1 && index < choices.length) {
- index += delta;
- var choice = $(choices[index]);
- if (choice.hasClass("select2-result-selectable") && !choice.hasClass("select2-disabled") && !choice.hasClass("select2-selected")) {
- this.highlight(index);
- break;
- }
- }
- },
-
- // abstract
- highlight: function (index) {
- var choices = this.findHighlightableChoices(),
- choice,
- data;
-
- if (arguments.length === 0) {
- return indexOf(choices.filter(".select2-highlighted")[0], choices.get());
- }
-
- if (index >= choices.length) index = choices.length - 1;
- if (index < 0) index = 0;
-
- this.removeHighlight();
-
- choice = $(choices[index]);
- choice.addClass("select2-highlighted");
-
- this.ensureHighlightVisible();
-
- data = choice.data("select2-data");
- if (data) {
- this.opts.element.trigger({ type: "select2-highlight", val: this.id(data), choice: data });
- }
- },
-
- removeHighlight: function() {
- this.results.find(".select2-highlighted").removeClass("select2-highlighted");
- },
-
- // abstract
- countSelectableResults: function() {
- return this.findHighlightableChoices().length;
- },
-
- // abstract
- highlightUnderEvent: function (event) {
- var el = $(event.target).closest(".select2-result-selectable");
- if (el.length > 0 && !el.is(".select2-highlighted")) {
- var choices = this.findHighlightableChoices();
- this.highlight(choices.index(el));
- } else if (el.length == 0) {
- // if we are over an unselectable item remove all highlights
- this.removeHighlight();
- }
- },
-
- // abstract
- loadMoreIfNeeded: function () {
- var results = this.results,
- more = results.find("li.select2-more-results"),
- below, // pixels the element is below the scroll fold, below==0 is when the element is starting to be visible
- page = this.resultsPage + 1,
- self=this,
- term=this.search.val(),
- context=this.context;
-
- if (more.length === 0) return;
- below = more.offset().top - results.offset().top - results.height();
-
- if (below <= this.opts.loadMorePadding) {
- more.addClass("select2-active");
- this.opts.query({
- element: this.opts.element,
- term: term,
- page: page,
- context: context,
- matcher: this.opts.matcher,
- callback: this.bind(function (data) {
-
- // ignore a response if the select2 has been closed before it was received
- if (!self.opened()) return;
-
-
- self.opts.populateResults.call(this, results, data.results, {term: term, page: page, context:context});
- self.postprocessResults(data, false, false);
-
- if (data.more===true) {
- more.detach().appendTo(results).text(self.opts.formatLoadMore(page+1));
- window.setTimeout(function() { self.loadMoreIfNeeded(); }, 10);
- } else {
- more.remove();
- }
- self.positionDropdown();
- self.resultsPage = page;
- self.context = data.context;
- this.opts.element.trigger({ type: "select2-loaded", items: data });
- })});
- }
- },
-
- /**
- * Default tokenizer function which does nothing
- */
- tokenize: function() {
-
- },
-
- /**
- * @param initial whether or not this is the call to this method right after the dropdown has been opened
- */
- // abstract
- updateResults: function (initial) {
- var search = this.search,
- results = this.results,
- opts = this.opts,
- data,
- self = this,
- input,
- term = search.val(),
- lastTerm = $.data(this.container, "select2-last-term"),
- // sequence number used to drop out-of-order responses
- queryNumber;
-
- // prevent duplicate queries against the same term
- if (initial !== true && lastTerm && equal(term, lastTerm)) return;
-
- $.data(this.container, "select2-last-term", term);
-
- // if the search is currently hidden we do not alter the results
- if (initial !== true && (this.showSearchInput === false || !this.opened())) {
- return;
- }
-
- function postRender() {
- search.removeClass("select2-active");
- self.positionDropdown();
- }
-
- function render(html) {
- results.html(html);
- postRender();
- }
-
- queryNumber = ++this.queryCount;
-
- var maxSelSize = this.getMaximumSelectionSize();
- if (maxSelSize >=1) {
- data = this.data();
- if ($.isArray(data) && data.length >= maxSelSize && checkFormatter(opts.formatSelectionTooBig, "formatSelectionTooBig")) {
- render("<li class='select2-selection-limit'>" + opts.formatSelectionTooBig(maxSelSize) + "</li>");
- return;
- }
- }
-
- if (search.val().length < opts.minimumInputLength) {
- if (checkFormatter(opts.formatInputTooShort, "formatInputTooShort")) {
- render("<li class='select2-no-results'>" + opts.formatInputTooShort(search.val(), opts.minimumInputLength) + "</li>");
- } else {
- render("");
- }
- if (initial && this.showSearch) this.showSearch(true);
- return;
- }
-
- if (opts.maximumInputLength && search.val().length > opts.maximumInputLength) {
- if (checkFormatter(opts.formatInputTooLong, "formatInputTooLong")) {
- render("<li class='select2-no-results'>" + opts.formatInputTooLong(search.val(), opts.maximumInputLength) + "</li>");
- } else {
- render("");
- }
- return;
- }
-
- if (opts.formatSearching && this.findHighlightableChoices().length === 0) {
- render("<li class='select2-searching'>" + opts.formatSearching() + "</li>");
- }
-
- search.addClass("select2-active");
-
- this.removeHighlight();
-
- // give the tokenizer a chance to pre-process the input
- input = this.tokenize();
- if (input != undefined && input != null) {
- search.val(input);
- }
-
- this.resultsPage = 1;
-
- opts.query({
- element: opts.element,
- term: search.val(),
- page: this.resultsPage,
- context: null,
- matcher: opts.matcher,
- callback: this.bind(function (data) {
- var def; // default choice
-
- // ignore old responses
- if (queryNumber != this.queryCount) {
- return;
- }
-
- // ignore a response if the select2 has been closed before it was received
- if (!this.opened()) {
- this.search.removeClass("select2-active");
- return;
- }
-
- // save context, if any
- this.context = (data.context===undefined) ? null : data.context;
- // create a default choice and prepend it to the list
- if (this.opts.createSearchChoice && search.val() !== "") {
- def = this.opts.createSearchChoice.call(self, search.val(), data.results);
- if (def !== undefined && def !== null && self.id(def) !== undefined && self.id(def) !== null) {
- if ($(data.results).filter(
- function () {
- return equal(self.id(this), self.id(def));
- }).length === 0) {
- data.results.unshift(def);
- }
- }
- }
-
- if (data.results.length === 0 && checkFormatter(opts.formatNoMatches, "formatNoMatches")) {
- render("<li class='select2-no-results'>" + opts.formatNoMatches(search.val()) + "</li>");
- return;
- }
-
- results.empty();
- self.opts.populateResults.call(this, results, data.results, {term: search.val(), page: this.resultsPage, context:null});
-
- if (data.more === true && checkFormatter(opts.formatLoadMore, "formatLoadMore")) {
- results.append("<li class='select2-more-results'>" + self.opts.escapeMarkup(opts.formatLoadMore(this.resultsPage)) + "</li>");
- window.setTimeout(function() { self.loadMoreIfNeeded(); }, 10);
- }
-
- this.postprocessResults(data, initial);
-
- postRender();
-
- this.opts.element.trigger({ type: "select2-loaded", items: data });
- })});
- },
-
- // abstract
- cancel: function () {
- this.close();
- },
-
- // abstract
- blur: function () {
- // if selectOnBlur == true, select the currently highlighted option
- if (this.opts.selectOnBlur)
- this.selectHighlighted({noFocus: true});
-
- this.close();
- this.container.removeClass("select2-container-active");
- // synonymous to .is(':focus'), which is available in jquery >= 1.6
- if (this.search[0] === document.activeElement) { this.search.blur(); }
- this.clearSearch();
- this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus");
- },
-
- // abstract
- focusSearch: function () {
- focus(this.search);
- },
-
- // abstract
- selectHighlighted: function (options) {
- var index=this.highlight(),
- highlighted=this.results.find(".select2-highlighted"),
- data = highlighted.closest('.select2-result').data("select2-data");
-
- if (data) {
- this.highlight(index);
- this.onSelect(data, options);
- } else if (options && options.noFocus) {
- this.close();
- }
- },
-
- // abstract
- getPlaceholder: function () {
- var placeholderOption;
- return this.opts.element.attr("placeholder") ||
- this.opts.element.attr("data-placeholder") || // jquery 1.4 compat
- this.opts.element.data("placeholder") ||
- this.opts.placeholder ||
- ((placeholderOption = this.getPlaceholderOption()) !== undefined ? placeholderOption.text() : undefined);
- },
-
- // abstract
- getPlaceholderOption: function() {
- if (this.select) {
- var firstOption = this.select.children('option').first();
- if (this.opts.placeholderOption !== undefined ) {
- //Determine the placeholder option based on the specified placeholderOption setting
- return (this.opts.placeholderOption === "first" && firstOption) ||
- (typeof this.opts.placeholderOption === "function" && this.opts.placeholderOption(this.select));
- } else if (firstOption.text() === "" && firstOption.val() === "") {
- //No explicit placeholder option specified, use the first if it's blank
- return firstOption;
- }
- }
- },
-
- /**
- * Get the desired width for the container element. This is
- * derived first from option `width` passed to select2, then
- * the inline 'style' on the original element, and finally
- * falls back to the jQuery calculated element width.
- */
- // abstract
- initContainerWidth: function () {
- function resolveContainerWidth() {
- var style, attrs, matches, i, l, attr;
-
- if (this.opts.width === "off") {
- return null;
- } else if (this.opts.width === "element"){
- return this.opts.element.outerWidth(false) === 0 ? 'auto' : this.opts.element.outerWidth(false) + 'px';
- } else if (this.opts.width === "copy" || this.opts.width === "resolve") {
- // check if there is inline style on the element that contains width
- style = this.opts.element.attr('style');
- if (style !== undefined) {
- attrs = style.split(';');
- for (i = 0, l = attrs.length; i < l; i = i + 1) {
- attr = attrs[i].replace(/\s/g, '');
- matches = attr.match(/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i);
- if (matches !== null && matches.length >= 1)
- return matches[1];
- }
- }
-
- if (this.opts.width === "resolve") {
- // next check if css('width') can resolve a width that is percent based, this is sometimes possible
- // when attached to input type=hidden or elements hidden via css
- style = this.opts.element.css('width');
- if (style.indexOf("%") > 0) return style;
-
- // finally, fallback on the calculated width of the element
- return (this.opts.element.outerWidth(false) === 0 ? 'auto' : this.opts.element.outerWidth(false) + 'px');
- }
-
- return null;
- } else if ($.isFunction(this.opts.width)) {
- return this.opts.width();
- } else {
- return this.opts.width;
- }
- };
-
- var width = resolveContainerWidth.call(this);
- if (width !== null) {
- this.container.css("width", width);
- }
- }
- });
-
- SingleSelect2 = clazz(AbstractSelect2, {
-
- // single
-
- createContainer: function () {
- var container = $(document.createElement("div")).attr({
- "class": "select2-container"
- }).html([
- "<a href='javascript:void(0)' onclick='return false;' class='select2-choice' tabindex='-1'>",
- " <span class='select2-chosen'>&nbsp;</span><abbr class='select2-search-choice-close'></abbr>",
- " <span class='select2-arrow'><b></b></span>",
- "</a>",
- "<input class='select2-focusser select2-offscreen' type='text'/>",
- "<div class='select2-drop select2-display-none'>",
- " <div class='select2-search'>",
- " <input type='text' autocomplete='off' autocorrect='off' autocapitalize='off' spellcheck='false' class='select2-input'/>",
- " </div>",
- " <ul class='select2-results'>",
- " </ul>",
- "</div>"].join(""));
- return container;
- },
-
- // single
- enableInterface: function() {
- if (this.parent.enableInterface.apply(this, arguments)) {
- this.focusser.prop("disabled", !this.isInterfaceEnabled());
- }
- },
-
- // single
- opening: function () {
- var el, range, len;
-
- if (this.opts.minimumResultsForSearch >= 0) {
- this.showSearch(true);
- }
-
- this.parent.opening.apply(this, arguments);
-
- if (this.showSearchInput !== false) {
- // IE appends focusser.val() at the end of field :/ so we manually insert it at the beginning using a range
- // all other browsers handle this just fine
-
- this.search.val(this.focusser.val());
- }
- this.search.focus();
- // move the cursor to the end after focussing, otherwise it will be at the beginning and
- // new text will appear *before* focusser.val()
- el = this.search.get(0);
- if (el.createTextRange) {
- range = el.createTextRange();
- range.collapse(false);
- range.select();
- } else if (el.setSelectionRange) {
- len = this.search.val().length;
- el.setSelectionRange(len, len);
- }
-
- // initializes search's value with nextSearchTerm (if defined by user)
- // ignore nextSearchTerm if the dropdown is opened by the user pressing a letter
- if(this.search.val() === "") {
- if(this.nextSearchTerm != undefined){
- this.search.val(this.nextSearchTerm);
- this.search.select();
- }
- }
-
- this.focusser.prop("disabled", true).val("");
- this.updateResults(true);
- this.opts.element.trigger($.Event("select2-open"));
- },
-
- // single
- close: function (params) {
- if (!this.opened()) return;
- this.parent.close.apply(this, arguments);
-
- params = params || {focus: true};
- this.focusser.removeAttr("disabled");
-
- if (params.focus) {
- this.focusser.focus();
- }
- },
-
- // single
- focus: function () {
- if (this.opened()) {
- this.close();
- } else {
- this.focusser.removeAttr("disabled");
- this.focusser.focus();
- }
- },
-
- // single
- isFocused: function () {
- return this.container.hasClass("select2-container-active");
- },
-
- // single
- cancel: function () {
- this.parent.cancel.apply(this, arguments);
- this.focusser.removeAttr("disabled");
- this.focusser.focus();
- },
-
- // single
- destroy: function() {
- $("label[for='" + this.focusser.attr('id') + "']")
- .attr('for', this.opts.element.attr("id"));
- this.parent.destroy.apply(this, arguments);
- },
-
- // single
- initContainer: function () {
-
- var selection,
- container = this.container,
- dropdown = this.dropdown;
-
- if (this.opts.minimumResultsForSearch < 0) {
- this.showSearch(false);
- } else {
- this.showSearch(true);
- }
-
- this.selection = selection = container.find(".select2-choice");
-
- this.focusser = container.find(".select2-focusser");
-
- // rewrite labels from original element to focusser
- this.focusser.attr("id", "s2id_autogen"+nextUid());
-
- $("label[for='" + this.opts.element.attr("id") + "']")
- .attr('for', this.focusser.attr('id'));
-
- this.focusser.attr("tabindex", this.elementTabIndex);
-
- this.search.on("keydown", this.bind(function (e) {
- if (!this.isInterfaceEnabled()) return;
-
- if (e.which === KEY.PAGE_UP || e.which === KEY.PAGE_DOWN) {
- // prevent the page from scrolling
- killEvent(e);
- return;
- }
-
- switch (e.which) {
- case KEY.UP:
- case KEY.DOWN:
- this.moveHighlight((e.which === KEY.UP) ? -1 : 1);
- killEvent(e);
- return;
- case KEY.ENTER:
- this.selectHighlighted();
- killEvent(e);
- return;
- case KEY.TAB:
- this.selectHighlighted({noFocus: true});
- return;
- case KEY.ESC:
- this.cancel(e);
- killEvent(e);
- return;
- }
- }));
-
- this.search.on("blur", this.bind(function(e) {
- // a workaround for chrome to keep the search field focussed when the scroll bar is used to scroll the dropdown.
- // without this the search field loses focus which is annoying
- if (document.activeElement === this.body().get(0)) {
- window.setTimeout(this.bind(function() {
- this.search.focus();
- }), 0);
- }
- }));
-
- this.focusser.on("keydown", this.bind(function (e) {
- if (!this.isInterfaceEnabled()) return;
-
- if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e) || e.which === KEY.ESC) {
- return;
- }
-
- if (this.opts.openOnEnter === false && e.which === KEY.ENTER) {
- killEvent(e);
- return;
- }
-
- if (e.which == KEY.DOWN || e.which == KEY.UP
- || (e.which == KEY.ENTER && this.opts.openOnEnter)) {
-
- if (e.altKey || e.ctrlKey || e.shiftKey || e.metaKey) return;
-
- this.open();
- killEvent(e);
- return;
- }
-
- if (e.which == KEY.DELETE || e.which == KEY.BACKSPACE) {
- if (this.opts.allowClear) {
- this.clear();
- }
- killEvent(e);
- return;
- }
- }));
-
-
- installKeyUpChangeEvent(this.focusser);
- this.focusser.on("keyup-change input", this.bind(function(e) {
- if (this.opts.minimumResultsForSearch >= 0) {
- e.stopPropagation();
- if (this.opened()) return;
- this.open();
- }
- }));
-
- selection.on("mousedown", "abbr", this.bind(function (e) {
- if (!this.isInterfaceEnabled()) return;
- this.clear();
- killEventImmediately(e);
- this.close();
- this.selection.focus();
- }));
-
- selection.on("mousedown", this.bind(function (e) {
-
- if (!this.container.hasClass("select2-container-active")) {
- this.opts.element.trigger($.Event("select2-focus"));
- }
-
- if (this.opened()) {
- this.close();
- } else if (this.isInterfaceEnabled()) {
- this.open();
- }
-
- killEvent(e);
- }));
-
- dropdown.on("mousedown", this.bind(function() { this.search.focus(); }));
-
- selection.on("focus", this.bind(function(e) {
- killEvent(e);
- }));
-
- this.focusser.on("focus", this.bind(function(){
- if (!this.container.hasClass("select2-container-active")) {
- this.opts.element.trigger($.Event("select2-focus"));
- }
- this.container.addClass("select2-container-active");
- })).on("blur", this.bind(function() {
- if (!this.opened()) {
- this.container.removeClass("select2-container-active");
- this.opts.element.trigger($.Event("select2-blur"));
- }
- }));
- this.search.on("focus", this.bind(function(){
- if (!this.container.hasClass("select2-container-active")) {
- this.opts.element.trigger($.Event("select2-focus"));
- }
- this.container.addClass("select2-container-active");
- }));
-
- this.initContainerWidth();
- this.opts.element.addClass("select2-offscreen");
- this.setPlaceholder();
-
- },
-
- // single
- clear: function(triggerChange) {
- var data=this.selection.data("select2-data");
- if (data) { // guard against queued quick consecutive clicks
- var evt = $.Event("select2-clearing");
- this.opts.element.trigger(evt);
- if (evt.isDefaultPrevented()) {
- return;
- }
- var placeholderOption = this.getPlaceholderOption();
- this.opts.element.val(placeholderOption ? placeholderOption.val() : "");
- this.selection.find(".select2-chosen").empty();
- this.selection.removeData("select2-data");
- this.setPlaceholder();
-
- if (triggerChange !== false){
- this.opts.element.trigger({ type: "select2-removed", val: this.id(data), choice: data });
- this.triggerChange({removed:data});
- }
- }
- },
-
- /**
- * Sets selection based on source element's value
- */
- // single
- initSelection: function () {
- var selected;
- if (this.isPlaceholderOptionSelected()) {
- this.updateSelection(null);
- this.close();
- this.setPlaceholder();
- } else {
- var self = this;
- this.opts.initSelection.call(null, this.opts.element, function(selected){
- if (selected !== undefined && selected !== null) {
- self.updateSelection(selected);
- self.close();
- self.setPlaceholder();
- }
- });
- }
- },
-
- isPlaceholderOptionSelected: function() {
- var placeholderOption;
- if (!this.getPlaceholder()) return false; // no placeholder specified so no option should be considered
- return ((placeholderOption = this.getPlaceholderOption()) !== undefined && placeholderOption.prop("selected"))
- || (this.opts.element.val() === "")
- || (this.opts.element.val() === undefined)
- || (this.opts.element.val() === null);
- },
-
- // single
- prepareOpts: function () {
- var opts = this.parent.prepareOpts.apply(this, arguments),
- self=this;
-
- if (opts.element.get(0).tagName.toLowerCase() === "select") {
- // install the selection initializer
- opts.initSelection = function (element, callback) {
- var selected = element.find("option").filter(function() { return this.selected });
- // a single select box always has a value, no need to null check 'selected'
- callback(self.optionToData(selected));
- };
- } else if ("data" in opts) {
- // install default initSelection when applied to hidden input and data is local
- opts.initSelection = opts.initSelection || function (element, callback) {
- var id = element.val();
- //search in data by id, storing the actual matching item
- var match = null;
- opts.query({
- matcher: function(term, text, el){
- var is_match = equal(id, opts.id(el));
- if (is_match) {
- match = el;
- }
- return is_match;
- },
- callback: !$.isFunction(callback) ? $.noop : function() {
- callback(match);
- }
- });
- };
- }
-
- return opts;
- },
-
- // single
- getPlaceholder: function() {
- // if a placeholder is specified on a single select without a valid placeholder option ignore it
- if (this.select) {
- if (this.getPlaceholderOption() === undefined) {
- return undefined;
- }
- }
-
- return this.parent.getPlaceholder.apply(this, arguments);
- },
-
- // single
- setPlaceholder: function () {
- var placeholder = this.getPlaceholder();
-
- if (this.isPlaceholderOptionSelected() && placeholder !== undefined) {
-
- // check for a placeholder option if attached to a select
- if (this.select && this.getPlaceholderOption() === undefined) return;
-
- this.selection.find(".select2-chosen").html(this.opts.escapeMarkup(placeholder));
-
- this.selection.addClass("select2-default");
-
- this.container.removeClass("select2-allowclear");
- }
- },
-
- // single
- postprocessResults: function (data, initial, noHighlightUpdate) {
- var selected = 0, self = this, showSearchInput = true;
-
- // find the selected element in the result list
-
- this.findHighlightableChoices().each2(function (i, elm) {
- if (equal(self.id(elm.data("select2-data")), self.opts.element.val())) {
- selected = i;
- return false;
- }
- });
-
- // and highlight it
- if (noHighlightUpdate !== false) {
- if (initial === true && selected >= 0) {
- this.highlight(selected);
- } else {
- this.highlight(0);
- }
- }
-
- // hide the search box if this is the first we got the results and there are enough of them for search
-
- if (initial === true) {
- var min = this.opts.minimumResultsForSearch;
- if (min >= 0) {
- this.showSearch(countResults(data.results) >= min);
- }
- }
- },
-
- // single
- showSearch: function(showSearchInput) {
- if (this.showSearchInput === showSearchInput) return;
-
- this.showSearchInput = showSearchInput;
-
- this.dropdown.find(".select2-search").toggleClass("select2-search-hidden", !showSearchInput);
- this.dropdown.find(".select2-search").toggleClass("select2-offscreen", !showSearchInput);
- //add "select2-with-searchbox" to the container if search box is shown
- $(this.dropdown, this.container).toggleClass("select2-with-searchbox", showSearchInput);
- },
-
- // single
- onSelect: function (data, options) {
-
- if (!this.triggerSelect(data)) { return; }
-
- var old = this.opts.element.val(),
- oldData = this.data();
-
- this.opts.element.val(this.id(data));
- this.updateSelection(data);
-
- this.opts.element.trigger({ type: "select2-selected", val: this.id(data), choice: data });
-
- this.nextSearchTerm = this.opts.nextSearchTerm(data, this.search.val());
- this.close();
-
- if (!options || !options.noFocus)
- this.focusser.focus();
-
- if (!equal(old, this.id(data))) { this.triggerChange({added:data,removed:oldData}); }
- },
-
- // single
- updateSelection: function (data) {
-
- var container=this.selection.find(".select2-chosen"), formatted, cssClass;
-
- this.selection.data("select2-data", data);
-
- container.empty();
- if (data !== null) {
- formatted=this.opts.formatSelection(data, container, this.opts.escapeMarkup);
- }
- if (formatted !== undefined) {
- container.append(formatted);
- }
- cssClass=this.opts.formatSelectionCssClass(data, container);
- if (cssClass !== undefined) {
- container.addClass(cssClass);
- }
-
- this.selection.removeClass("select2-default");
-
- if (this.opts.allowClear && this.getPlaceholder() !== undefined) {
- this.container.addClass("select2-allowclear");
- }
- },
-
- // single
- val: function () {
- var val,
- triggerChange = false,
- data = null,
- self = this,
- oldData = this.data();
-
- if (arguments.length === 0) {
- return this.opts.element.val();
- }
-
- val = arguments[0];
-
- if (arguments.length > 1) {
- triggerChange = arguments[1];
- }
-
- if (this.select) {
- this.select
- .val(val)
- .find("option").filter(function() { return this.selected }).each2(function (i, elm) {
- data = self.optionToData(elm);
- return false;
- });
- this.updateSelection(data);
- this.setPlaceholder();
- if (triggerChange) {
- this.triggerChange({added: data, removed:oldData});
- }
- } else {
- // val is an id. !val is true for [undefined,null,'',0] - 0 is legal
- if (!val && val !== 0) {
- this.clear(triggerChange);
- return;
- }
- if (this.opts.initSelection === undefined) {
- throw new Error("cannot call val() if initSelection() is not defined");
- }
- this.opts.element.val(val);
- this.opts.initSelection(this.opts.element, function(data){
- self.opts.element.val(!data ? "" : self.id(data));
- self.updateSelection(data);
- self.setPlaceholder();
- if (triggerChange) {
- self.triggerChange({added: data, removed:oldData});
- }
- });
- }
- },
-
- // single
- clearSearch: function () {
- this.search.val("");
- this.focusser.val("");
- },
-
- // single
- data: function(value) {
- var data,
- triggerChange = false;
-
- if (arguments.length === 0) {
- data = this.selection.data("select2-data");
- if (data == undefined) data = null;
- return data;
- } else {
- if (arguments.length > 1) {
- triggerChange = arguments[1];
- }
- if (!value) {
- this.clear(triggerChange);
- } else {
- data = this.data();
- this.opts.element.val(!value ? "" : this.id(value));
- this.updateSelection(value);
- if (triggerChange) {
- this.triggerChange({added: value, removed:data});
- }
- }
- }
- }
- });
-
- MultiSelect2 = clazz(AbstractSelect2, {
-
- // multi
- createContainer: function () {
- var container = $(document.createElement("div")).attr({
- "class": "select2-container select2-container-multi"
- }).html([
- "<ul class='select2-choices'>",
- " <li class='select2-search-field'>",
- " <input type='text' autocomplete='off' autocorrect='off' autocapitalize='off' spellcheck='false' class='select2-input'>",
- " </li>",
- "</ul>",
- "<div class='select2-drop select2-drop-multi select2-display-none'>",
- " <ul class='select2-results'>",
- " </ul>",
- "</div>"].join(""));
- return container;
- },
-
- // multi
- prepareOpts: function () {
- var opts = this.parent.prepareOpts.apply(this, arguments),
- self=this;
-
- // TODO validate placeholder is a string if specified
-
- if (opts.element.get(0).tagName.toLowerCase() === "select") {
- // install sthe selection initializer
- opts.initSelection = function (element, callback) {
-
- var data = [];
-
- element.find("option").filter(function() { return this.selected }).each2(function (i, elm) {
- data.push(self.optionToData(elm));
- });
- callback(data);
- };
- } else if ("data" in opts) {
- // install default initSelection when applied to hidden input and data is local
- opts.initSelection = opts.initSelection || function (element, callback) {
- var ids = splitVal(element.val(), opts.separator);
- //search in data by array of ids, storing matching items in a list
- var matches = [];
- opts.query({
- matcher: function(term, text, el){
- var is_match = $.grep(ids, function(id) {
- return equal(id, opts.id(el));
- }).length;
- if (is_match) {
- matches.push(el);
- }
- return is_match;
- },
- callback: !$.isFunction(callback) ? $.noop : function() {
- // reorder matches based on the order they appear in the ids array because right now
- // they are in the order in which they appear in data array
- var ordered = [];
- for (var i = 0; i < ids.length; i++) {
- var id = ids[i];
- for (var j = 0; j < matches.length; j++) {
- var match = matches[j];
- if (equal(id, opts.id(match))) {
- ordered.push(match);
- matches.splice(j, 1);
- break;
- }
- }
- }
- callback(ordered);
- }
- });
- };
- }
-
- return opts;
- },
-
- // multi
- selectChoice: function (choice) {
-
- var selected = this.container.find(".select2-search-choice-focus");
- if (selected.length && choice && choice[0] == selected[0]) {
-
- } else {
- if (selected.length) {
- this.opts.element.trigger("choice-deselected", selected);
- }
- selected.removeClass("select2-search-choice-focus");
- if (choice && choice.length) {
- this.close();
- choice.addClass("select2-search-choice-focus");
- this.opts.element.trigger("choice-selected", choice);
- }
- }
- },
-
- // multi
- destroy: function() {
- $("label[for='" + this.search.attr('id') + "']")
- .attr('for', this.opts.element.attr("id"));
- this.parent.destroy.apply(this, arguments);
- },
-
- // multi
- initContainer: function () {
-
- var selector = ".select2-choices", selection;
-
- this.searchContainer = this.container.find(".select2-search-field");
- this.selection = selection = this.container.find(selector);
-
- var _this = this;
- this.selection.on("click", ".select2-search-choice:not(.select2-locked)", function (e) {
- //killEvent(e);
- _this.search[0].focus();
- _this.selectChoice($(this));
- });
-
- // rewrite labels from original element to focusser
- this.search.attr("id", "s2id_autogen"+nextUid());
- $("label[for='" + this.opts.element.attr("id") + "']")
- .attr('for', this.search.attr('id'));
-
- this.search.on("input paste", this.bind(function() {
- if (!this.isInterfaceEnabled()) return;
- if (!this.opened()) {
- this.open();
- }
- }));
-
- this.search.attr("tabindex", this.elementTabIndex);
-
- this.keydowns = 0;
- this.search.on("keydown", this.bind(function (e) {
- if (!this.isInterfaceEnabled()) return;
-
- ++this.keydowns;
- var selected = selection.find(".select2-search-choice-focus");
- var prev = selected.prev(".select2-search-choice:not(.select2-locked)");
- var next = selected.next(".select2-search-choice:not(.select2-locked)");
- var pos = getCursorInfo(this.search);
-
- if (selected.length &&
- (e.which == KEY.LEFT || e.which == KEY.RIGHT || e.which == KEY.BACKSPACE || e.which == KEY.DELETE || e.which == KEY.ENTER)) {
- var selectedChoice = selected;
- if (e.which == KEY.LEFT && prev.length) {
- selectedChoice = prev;
- }
- else if (e.which == KEY.RIGHT) {
- selectedChoice = next.length ? next : null;
- }
- else if (e.which === KEY.BACKSPACE) {
- this.unselect(selected.first());
- this.search.width(10);
- selectedChoice = prev.length ? prev : next;
- } else if (e.which == KEY.DELETE) {
- this.unselect(selected.first());
- this.search.width(10);
- selectedChoice = next.length ? next : null;
- } else if (e.which == KEY.ENTER) {
- selectedChoice = null;
- }
-
- this.selectChoice(selectedChoice);
- killEvent(e);
- if (!selectedChoice || !selectedChoice.length) {
- this.open();
- }
- return;
- } else if (((e.which === KEY.BACKSPACE && this.keydowns == 1)
- || e.which == KEY.LEFT) && (pos.offset == 0 && !pos.length)) {
-
- this.selectChoice(selection.find(".select2-search-choice:not(.select2-locked)").last());
- killEvent(e);
- return;
- } else {
- this.selectChoice(null);
- }
-
- if (this.opened()) {
- switch (e.which) {
- case KEY.UP:
- case KEY.DOWN:
- this.moveHighlight((e.which === KEY.UP) ? -1 : 1);
- killEvent(e);
- return;
- case KEY.ENTER:
- this.selectHighlighted();
- killEvent(e);
- return;
- case KEY.TAB:
- this.selectHighlighted({noFocus:true});
- this.close();
- return;
- case KEY.ESC:
- this.cancel(e);
- killEvent(e);
- return;
- }
- }
-
- if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e)
- || e.which === KEY.BACKSPACE || e.which === KEY.ESC) {
- return;
- }
-
- if (e.which === KEY.ENTER) {
- if (this.opts.openOnEnter === false) {
- return;
- } else if (e.altKey || e.ctrlKey || e.shiftKey || e.metaKey) {
- return;
- }
- }
-
- this.open();
-
- if (e.which === KEY.PAGE_UP || e.which === KEY.PAGE_DOWN) {
- // prevent the page from scrolling
- killEvent(e);
- }
-
- if (e.which === KEY.ENTER) {
- // prevent form from being submitted
- killEvent(e);
- }
-
- }));
-
- this.search.on("keyup", this.bind(function (e) {
- this.keydowns = 0;
- this.resizeSearch();
- })
- );
-
- this.search.on("blur", this.bind(function(e) {
- this.container.removeClass("select2-container-active");
- this.search.removeClass("select2-focused");
- this.selectChoice(null);
- if (!this.opened()) this.clearSearch();
- e.stopImmediatePropagation();
- this.opts.element.trigger($.Event("select2-blur"));
- }));
-
- this.container.on("click", selector, this.bind(function (e) {
- if (!this.isInterfaceEnabled()) return;
- if ($(e.target).closest(".select2-search-choice").length > 0) {
- // clicked inside a select2 search choice, do not open
- return;
- }
- this.selectChoice(null);
- this.clearPlaceholder();
- if (!this.container.hasClass("select2-container-active")) {
- this.opts.element.trigger($.Event("select2-focus"));
- }
- this.open();
- this.focusSearch();
- e.preventDefault();
- }));
-
- this.container.on("focus", selector, this.bind(function () {
- if (!this.isInterfaceEnabled()) return;
- if (!this.container.hasClass("select2-container-active")) {
- this.opts.element.trigger($.Event("select2-focus"));
- }
- this.container.addClass("select2-container-active");
- this.dropdown.addClass("select2-drop-active");
- this.clearPlaceholder();
- }));
-
- this.initContainerWidth();
- this.opts.element.addClass("select2-offscreen");
-
- // set the placeholder if necessary
- this.clearSearch();
- },
-
- // multi
- enableInterface: function() {
- if (this.parent.enableInterface.apply(this, arguments)) {
- this.search.prop("disabled", !this.isInterfaceEnabled());
- }
- },
-
- // multi
- initSelection: function () {
- var data;
- if (this.opts.element.val() === "" && this.opts.element.text() === "") {
- this.updateSelection([]);
- this.close();
- // set the placeholder if necessary
- this.clearSearch();
- }
- if (this.select || this.opts.element.val() !== "") {
- var self = this;
- this.opts.initSelection.call(null, this.opts.element, function(data){
- if (data !== undefined && data !== null) {
- self.updateSelection(data);
- self.close();
- // set the placeholder if necessary
- self.clearSearch();
- }
- });
- }
- },
-
- // multi
- clearSearch: function () {
- var placeholder = this.getPlaceholder(),
- maxWidth = this.getMaxSearchWidth();
-
- if (placeholder !== undefined && this.getVal().length === 0 && this.search.hasClass("select2-focused") === false) {
- this.search.val(placeholder).addClass("select2-default");
- // stretch the search box to full width of the container so as much of the placeholder is visible as possible
- // we could call this.resizeSearch(), but we do not because that requires a sizer and we do not want to create one so early because of a firefox bug, see #944
- this.search.width(maxWidth > 0 ? maxWidth : this.container.css("width"));
- } else {
- this.search.val("").width(10);
- }
- },
-
- // multi
- clearPlaceholder: function () {
- if (this.search.hasClass("select2-default")) {
- this.search.val("").removeClass("select2-default");
- }
- },
-
- // multi
- opening: function () {
- this.clearPlaceholder(); // should be done before super so placeholder is not used to search
- this.resizeSearch();
-
- this.parent.opening.apply(this, arguments);
-
- this.focusSearch();
-
- this.updateResults(true);
- this.search.focus();
- this.opts.element.trigger($.Event("select2-open"));
- },
-
- // multi
- close: function () {
- if (!this.opened()) return;
- this.parent.close.apply(this, arguments);
- },
-
- // multi
- focus: function () {
- this.close();
- this.search.focus();
- },
-
- // multi
- isFocused: function () {
- return this.search.hasClass("select2-focused");
- },
-
- // multi
- updateSelection: function (data) {
- var ids = [], filtered = [], self = this;
-
- // filter out duplicates
- $(data).each(function () {
- if (indexOf(self.id(this), ids) < 0) {
- ids.push(self.id(this));
- filtered.push(this);
- }
- });
- data = filtered;
-
- this.selection.find(".select2-search-choice").remove();
- $(data).each(function () {
- self.addSelectedChoice(this);
- });
- self.postprocessResults();
- },
-
- // multi
- tokenize: function() {
- var input = this.search.val();
- input = this.opts.tokenizer.call(this, input, this.data(), this.bind(this.onSelect), this.opts);
- if (input != null && input != undefined) {
- this.search.val(input);
- if (input.length > 0) {
- this.open();
- }
- }
-
- },
-
- // multi
- onSelect: function (data, options) {
-
- if (!this.triggerSelect(data)) { return; }
-
- this.addSelectedChoice(data);
-
- this.opts.element.trigger({ type: "selected", val: this.id(data), choice: data });
-
- if (this.select || !this.opts.closeOnSelect) this.postprocessResults(data, false, this.opts.closeOnSelect===true);
-
- if (this.opts.closeOnSelect) {
- this.close();
- this.search.width(10);
- } else {
- if (this.countSelectableResults()>0) {
- this.search.width(10);
- this.resizeSearch();
- if (this.getMaximumSelectionSize() > 0 && this.val().length >= this.getMaximumSelectionSize()) {
- // if we reached max selection size repaint the results so choices
- // are replaced with the max selection reached message
- this.updateResults(true);
- }
- this.positionDropdown();
- } else {
- // if nothing left to select close
- this.close();
- this.search.width(10);
- }
- }
-
- // since its not possible to select an element that has already been
- // added we do not need to check if this is a new element before firing change
- this.triggerChange({ added: data });
-
- if (!options || !options.noFocus)
- this.focusSearch();
- },
-
- // multi
- cancel: function () {
- this.close();
- this.focusSearch();
- },
-
- addSelectedChoice: function (data) {
- var enableChoice = !data.locked,
- enabledItem = $(
- "<li class='select2-search-choice'>" +
- " <div></div>" +
- " <a href='#' onclick='return false;' class='select2-search-choice-close' tabindex='-1'></a>" +
- "</li>"),
- disabledItem = $(
- "<li class='select2-search-choice select2-locked'>" +
- "<div></div>" +
- "</li>");
- var choice = enableChoice ? enabledItem : disabledItem,
- id = this.id(data),
- val = this.getVal(),
- formatted,
- cssClass;
-
- formatted=this.opts.formatSelection(data, choice.find("div"), this.opts.escapeMarkup);
- if (formatted != undefined) {
- choice.find("div").replaceWith("<div>"+formatted+"</div>");
- }
- cssClass=this.opts.formatSelectionCssClass(data, choice.find("div"));
- if (cssClass != undefined) {
- choice.addClass(cssClass);
- }
-
- if(enableChoice){
- choice.find(".select2-search-choice-close")
- .on("mousedown", killEvent)
- .on("click dblclick", this.bind(function (e) {
- if (!this.isInterfaceEnabled()) return;
-
- $(e.target).closest(".select2-search-choice").fadeOut('fast', this.bind(function(){
- this.unselect($(e.target));
- this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus");
- this.close();
- this.focusSearch();
- })).dequeue();
- killEvent(e);
- })).on("focus", this.bind(function () {
- if (!this.isInterfaceEnabled()) return;
- this.container.addClass("select2-container-active");
- this.dropdown.addClass("select2-drop-active");
- }));
- }
-
- choice.data("select2-data", data);
- choice.insertBefore(this.searchContainer);
-
- val.push(id);
- this.setVal(val);
- },
-
- // multi
- unselect: function (selected) {
- var val = this.getVal(),
- data,
- index;
- selected = selected.closest(".select2-search-choice");
-
- if (selected.length === 0) {
- throw "Invalid argument: " + selected + ". Must be .select2-search-choice";
- }
-
- data = selected.data("select2-data");
-
- if (!data) {
- // prevent a race condition when the 'x' is clicked really fast repeatedly the event can be queued
- // and invoked on an element already removed
- return;
- }
-
- while((index = indexOf(this.id(data), val)) >= 0) {
- val.splice(index, 1);
- this.setVal(val);
- if (this.select) this.postprocessResults();
- }
-
- var evt = $.Event("select2-removing");
- evt.val = this.id(data);
- evt.choice = data;
- this.opts.element.trigger(evt);
-
- if (evt.isDefaultPrevented()) {
- return;
- }
-
- selected.remove();
-
- this.opts.element.trigger({ type: "select2-removed", val: this.id(data), choice: data });
- this.triggerChange({ removed: data });
- },
-
- // multi
- postprocessResults: function (data, initial, noHighlightUpdate) {
- var val = this.getVal(),
- choices = this.results.find(".select2-result"),
- compound = this.results.find(".select2-result-with-children"),
- self = this;
-
- choices.each2(function (i, choice) {
- var id = self.id(choice.data("select2-data"));
- if (indexOf(id, val) >= 0) {
- choice.addClass("select2-selected");
- // mark all children of the selected parent as selected
- choice.find(".select2-result-selectable").addClass("select2-selected");
- }
- });
-
- compound.each2(function(i, choice) {
- // hide an optgroup if it doesnt have any selectable children
- if (!choice.is('.select2-result-selectable')
- && choice.find(".select2-result-selectable:not(.select2-selected)").length === 0) {
- choice.addClass("select2-selected");
- }
- });
-
- if (this.highlight() == -1 && noHighlightUpdate !== false){
- self.highlight(0);
- }
-
- //If all results are chosen render formatNoMAtches
- if(!this.opts.createSearchChoice && !choices.filter('.select2-result:not(.select2-selected)').length > 0){
- if(!data || data && !data.more && this.results.find(".select2-no-results").length === 0) {
- if (checkFormatter(self.opts.formatNoMatches, "formatNoMatches")) {
- this.results.append("<li class='select2-no-results'>" + self.opts.formatNoMatches(self.search.val()) + "</li>");
- }
- }
- }
-
- },
-
- // multi
- getMaxSearchWidth: function() {
- return this.selection.width() - getSideBorderPadding(this.search);
- },
-
- // multi
- resizeSearch: function () {
- var minimumWidth, left, maxWidth, containerLeft, searchWidth,
- sideBorderPadding = getSideBorderPadding(this.search);
-
- minimumWidth = measureTextWidth(this.search) + 10;
-
- left = this.search.offset().left;
-
- maxWidth = this.selection.width();
- containerLeft = this.selection.offset().left;
-
- searchWidth = maxWidth - (left - containerLeft) - sideBorderPadding;
-
- if (searchWidth < minimumWidth) {
- searchWidth = maxWidth - sideBorderPadding;
- }
-
- if (searchWidth < 40) {
- searchWidth = maxWidth - sideBorderPadding;
- }
-
- if (searchWidth <= 0) {
- searchWidth = minimumWidth;
- }
-
- this.search.width(Math.floor(searchWidth));
- },
-
- // multi
- getVal: function () {
- var val;
- if (this.select) {
- val = this.select.val();
- return val === null ? [] : val;
- } else {
- val = this.opts.element.val();
- return splitVal(val, this.opts.separator);
- }
- },
-
- // multi
- setVal: function (val) {
- var unique;
- if (this.select) {
- this.select.val(val);
- } else {
- unique = [];
- // filter out duplicates
- $(val).each(function () {
- if (indexOf(this, unique) < 0) unique.push(this);
- });
- this.opts.element.val(unique.length === 0 ? "" : unique.join(this.opts.separator));
- }
- },
-
- // multi
- buildChangeDetails: function (old, current) {
- var current = current.slice(0),
- old = old.slice(0);
-
- // remove intersection from each array
- for (var i = 0; i < current.length; i++) {
- for (var j = 0; j < old.length; j++) {
- if (equal(this.opts.id(current[i]), this.opts.id(old[j]))) {
- current.splice(i, 1);
- if(i>0){
- i--;
- }
- old.splice(j, 1);
- j--;
- }
- }
- }
-
- return {added: current, removed: old};
- },
-
-
- // multi
- val: function (val, triggerChange) {
- var oldData, self=this;
-
- if (arguments.length === 0) {
- return this.getVal();
- }
-
- oldData=this.data();
- if (!oldData.length) oldData=[];
-
- // val is an id. !val is true for [undefined,null,'',0] - 0 is legal
- if (!val && val !== 0) {
- this.opts.element.val("");
- this.updateSelection([]);
- this.clearSearch();
- if (triggerChange) {
- this.triggerChange({added: this.data(), removed: oldData});
- }
- return;
- }
-
- // val is a list of ids
- this.setVal(val);
-
- if (this.select) {
- this.opts.initSelection(this.select, this.bind(this.updateSelection));
- if (triggerChange) {
- this.triggerChange(this.buildChangeDetails(oldData, this.data()));
- }
- } else {
- if (this.opts.initSelection === undefined) {
- throw new Error("val() cannot be called if initSelection() is not defined");
- }
-
- this.opts.initSelection(this.opts.element, function(data){
- var ids=$.map(data, self.id);
- self.setVal(ids);
- self.updateSelection(data);
- self.clearSearch();
- if (triggerChange) {
- self.triggerChange(self.buildChangeDetails(oldData, self.data()));
- }
- });
- }
- this.clearSearch();
- },
-
- // multi
- onSortStart: function() {
- if (this.select) {
- throw new Error("Sorting of elements is not supported when attached to <select>. Attach to <input type='hidden'/> instead.");
- }
-
- // collapse search field into 0 width so its container can be collapsed as well
- this.search.width(0);
- // hide the container
- this.searchContainer.hide();
- },
-
- // multi
- onSortEnd:function() {
-
- var val=[], self=this;
-
- // show search and move it to the end of the list
- this.searchContainer.show();
- // make sure the search container is the last item in the list
- this.searchContainer.appendTo(this.searchContainer.parent());
- // since we collapsed the width in dragStarted, we resize it here
- this.resizeSearch();
-
- // update selection
- this.selection.find(".select2-search-choice").each(function() {
- val.push(self.opts.id($(this).data("select2-data")));
- });
- this.setVal(val);
- this.triggerChange();
- },
-
- // multi
- data: function(values, triggerChange) {
- var self=this, ids, old;
- if (arguments.length === 0) {
- return this.selection
- .find(".select2-search-choice")
- .map(function() { return $(this).data("select2-data"); })
- .get();
- } else {
- old = this.data();
- if (!values) { values = []; }
- ids = $.map(values, function(e) { return self.opts.id(e); });
- this.setVal(ids);
- this.updateSelection(values);
- this.clearSearch();
- if (triggerChange) {
- this.triggerChange(this.buildChangeDetails(old, this.data()));
- }
- }
- }
- });
-
- $.fn.select2 = function () {
-
- var args = Array.prototype.slice.call(arguments, 0),
- opts,
- select2,
- method, value, multiple,
- allowedMethods = ["val", "destroy", "opened", "open", "close", "focus", "isFocused", "container", "dropdown", "onSortStart", "onSortEnd", "enable", "disable", "readonly", "positionDropdown", "data", "search"],
- valueMethods = ["opened", "isFocused", "container", "dropdown"],
- propertyMethods = ["val", "data"],
- methodsMap = { search: "externalSearch" };
-
- this.each(function () {
- if (args.length === 0 || typeof(args[0]) === "object") {
- opts = args.length === 0 ? {} : $.extend({}, args[0]);
- opts.element = $(this);
-
- if (opts.element.get(0).tagName.toLowerCase() === "select") {
- multiple = opts.element.prop("multiple");
- } else {
- multiple = opts.multiple || false;
- if ("tags" in opts) {opts.multiple = multiple = true;}
- }
-
- select2 = multiple ? new MultiSelect2() : new SingleSelect2();
- select2.init(opts);
- } else if (typeof(args[0]) === "string") {
-
- if (indexOf(args[0], allowedMethods) < 0) {
- throw "Unknown method: " + args[0];
- }
-
- value = undefined;
- select2 = $(this).data("select2");
- if (select2 === undefined) return;
-
- method=args[0];
-
- if (method === "container") {
- value = select2.container;
- } else if (method === "dropdown") {
- value = select2.dropdown;
- } else {
- if (methodsMap[method]) method = methodsMap[method];
-
- value = select2[method].apply(select2, args.slice(1));
- }
- if (indexOf(args[0], valueMethods) >= 0
- || (indexOf(args[0], propertyMethods) && args.length == 1)) {
- return false; // abort the iteration, ready to return first matched value
- }
- } else {
- throw "Invalid arguments to select2 plugin: " + args;
- }
- });
- return (value === undefined) ? this : value;
- };
-
- // plugin defaults, accessible to users
- $.fn.select2.defaults = {
- width: "copy",
- loadMorePadding: 0,
- closeOnSelect: true,
- openOnEnter: true,
- containerCss: {},
- dropdownCss: {},
- containerCssClass: "",
- dropdownCssClass: "",
- formatResult: function(result, container, query, escapeMarkup) {
- var markup=[];
- markMatch(result.text, query.term, markup, escapeMarkup);
- return markup.join("");
- },
- formatSelection: function (data, container, escapeMarkup) {
- return data ? escapeMarkup(data.text) : undefined;
- },
- sortResults: function (results, container, query) {
- return results;
- },
- formatResultCssClass: function(data) {return undefined;},
- formatSelectionCssClass: function(data, container) {return undefined;},
- formatNoMatches: function () { return "No matches found"; },
- formatInputTooShort: function (input, min) { var n = min - input.length; return "Please enter " + n + " more character" + (n == 1? "" : "s"); },
- formatInputTooLong: function (input, max) { var n = input.length - max; return "Please delete " + n + " character" + (n == 1? "" : "s"); },
- formatSelectionTooBig: function (limit) { return "You can only select " + limit + " item" + (limit == 1 ? "" : "s"); },
- formatLoadMore: function (pageNumber) { return "Loading more results..."; },
- formatSearching: function () { return "Searching..."; },
- minimumResultsForSearch: 0,
- minimumInputLength: 0,
- maximumInputLength: null,
- maximumSelectionSize: 0,
- id: function (e) { return e.id; },
- matcher: function(term, text) {
- return stripDiacritics(''+text).toUpperCase().indexOf(stripDiacritics(''+term).toUpperCase()) >= 0;
- },
- separator: ",",
- tokenSeparators: [],
- tokenizer: defaultTokenizer,
- escapeMarkup: defaultEscapeMarkup,
- blurOnChange: false,
- selectOnBlur: false,
- adaptContainerCssClass: function(c) { return c; },
- adaptDropdownCssClass: function(c) { return null; },
- nextSearchTerm: function(selectedObject, currentSearchTerm) { return undefined; }
- };
-
- $.fn.select2.ajaxDefaults = {
- transport: $.ajax,
- params: {
- type: "GET",
- cache: false,
- dataType: "json"
- }
- };
-
- // exports
- window.Select2 = {
- query: {
- ajax: ajax,
- local: local,
- tags: tags
- }, util: {
- debounce: debounce,
- markMatch: markMatch,
- escapeMarkup: defaultEscapeMarkup,
- stripDiacritics: stripDiacritics
- }, "class": {
- "abstract": AbstractSelect2,
- "single": SingleSelect2,
- "multi": MultiSelect2
- }
- };
-
-}(jQuery));
diff --git a/web/js/select2/select2.min.js b/web/js/select2/select2.min.js
deleted file mode 100644
index bffe4c241..000000000
--- a/web/js/select2/select2.min.js
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
-Copyright 2012 Igor Vaynberg
-
-Version: 3.4.5 Timestamp: Mon Nov 4 08:22:42 PST 2013
-
-This software is licensed under the Apache License, Version 2.0 (the "Apache License") or the GNU
-General Public License version 2 (the "GPL License"). You may choose either license to govern your
-use of this software only upon the condition that you accept all of the terms of either the Apache
-License or the GPL License.
-
-You may obtain a copy of the Apache License and the GPL License at:
-
-http://www.apache.org/licenses/LICENSE-2.0
-http://www.gnu.org/licenses/gpl-2.0.html
-
-Unless required by applicable law or agreed to in writing, software distributed under the Apache License
-or the GPL Licesnse is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
-either express or implied. See the Apache License and the GPL License for the specific language governing
-permissions and limitations under the Apache License and the GPL License.
-*/
-!function(a){"undefined"==typeof a.fn.each2&&a.extend(a.fn,{each2:function(b){for(var c=a([0]),d=-1,e=this.length;++d<e&&(c.context=c[0]=this[d])&&b.call(c[0],d,c)!==!1;);return this}})}(jQuery),function(a,b){"use strict";function n(a){var b,c,d,e;if(!a||a.length<1)return a;for(b="",c=0,d=a.length;d>c;c++)e=a.charAt(c),b+=m[e]||e;return b}function o(a,b){for(var c=0,d=b.length;d>c;c+=1)if(q(a,b[c]))return c;return-1}function p(){var b=a(l);b.appendTo("body");var c={width:b.width()-b[0].clientWidth,height:b.height()-b[0].clientHeight};return b.remove(),c}function q(a,c){return a===c?!0:a===b||c===b?!1:null===a||null===c?!1:a.constructor===String?a+""==c+"":c.constructor===String?c+""==a+"":!1}function r(b,c){var d,e,f;if(null===b||b.length<1)return[];for(d=b.split(c),e=0,f=d.length;f>e;e+=1)d[e]=a.trim(d[e]);return d}function s(a){return a.outerWidth(!1)-a.width()}function t(c){var d="keyup-change-value";c.on("keydown",function(){a.data(c,d)===b&&a.data(c,d,c.val())}),c.on("keyup",function(){var e=a.data(c,d);e!==b&&c.val()!==e&&(a.removeData(c,d),c.trigger("keyup-change"))})}function u(c){c.on("mousemove",function(c){var d=i;(d===b||d.x!==c.pageX||d.y!==c.pageY)&&a(c.target).trigger("mousemove-filtered",c)})}function v(a,c,d){d=d||b;var e;return function(){var b=arguments;window.clearTimeout(e),e=window.setTimeout(function(){c.apply(d,b)},a)}}function w(a){var c,b=!1;return function(){return b===!1&&(c=a(),b=!0),c}}function x(a,b){var c=v(a,function(a){b.trigger("scroll-debounced",a)});b.on("scroll",function(a){o(a.target,b.get())>=0&&c(a)})}function y(a){a[0]!==document.activeElement&&window.setTimeout(function(){var d,b=a[0],c=a.val().length;a.focus(),a.is(":visible")&&b===document.activeElement&&(b.setSelectionRange?b.setSelectionRange(c,c):b.createTextRange&&(d=b.createTextRange(),d.collapse(!1),d.select()))},0)}function z(b){b=a(b)[0];var c=0,d=0;if("selectionStart"in b)c=b.selectionStart,d=b.selectionEnd-c;else if("selection"in document){b.focus();var e=document.selection.createRange();d=document.selection.createRange().text.length,e.moveStart("character",-b.value.length),c=e.text.length-d}return{offset:c,length:d}}function A(a){a.preventDefault(),a.stopPropagation()}function B(a){a.preventDefault(),a.stopImmediatePropagation()}function C(b){if(!h){var c=b[0].currentStyle||window.getComputedStyle(b[0],null);h=a(document.createElement("div")).css({position:"absolute",left:"-10000px",top:"-10000px",display:"none",fontSize:c.fontSize,fontFamily:c.fontFamily,fontStyle:c.fontStyle,fontWeight:c.fontWeight,letterSpacing:c.letterSpacing,textTransform:c.textTransform,whiteSpace:"nowrap"}),h.attr("class","select2-sizer"),a("body").append(h)}return h.text(b.val()),h.width()}function D(b,c,d){var e,g,f=[];e=b.attr("class"),e&&(e=""+e,a(e.split(" ")).each2(function(){0===this.indexOf("select2-")&&f.push(this)})),e=c.attr("class"),e&&(e=""+e,a(e.split(" ")).each2(function(){0!==this.indexOf("select2-")&&(g=d(this),g&&f.push(g))})),b.attr("class",f.join(" "))}function E(a,b,c,d){var e=n(a.toUpperCase()).indexOf(n(b.toUpperCase())),f=b.length;return 0>e?(c.push(d(a)),void 0):(c.push(d(a.substring(0,e))),c.push("<span class='select2-match'>"),c.push(d(a.substring(e,e+f))),c.push("</span>"),c.push(d(a.substring(e+f,a.length))),void 0)}function F(a){var b={"\\":"&#92;","&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#47;"};return String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})}function G(c){var d,e=null,f=c.quietMillis||100,g=c.url,h=this;return function(i){window.clearTimeout(d),d=window.setTimeout(function(){var d=c.data,f=g,j=c.transport||a.fn.select2.ajaxDefaults.transport,k={type:c.type||"GET",cache:c.cache||!1,jsonpCallback:c.jsonpCallback||b,dataType:c.dataType||"json"},l=a.extend({},a.fn.select2.ajaxDefaults.params,k);d=d?d.call(h,i.term,i.page,i.context):null,f="function"==typeof f?f.call(h,i.term,i.page,i.context):f,e&&e.abort(),c.params&&(a.isFunction(c.params)?a.extend(l,c.params.call(h)):a.extend(l,c.params)),a.extend(l,{url:f,dataType:c.dataType,data:d,success:function(a){var b=c.results(a,i.page);i.callback(b)}}),e=j.call(h,l)},f)}}function H(b){var d,e,c=b,f=function(a){return""+a.text};a.isArray(c)&&(e=c,c={results:e}),a.isFunction(c)===!1&&(e=c,c=function(){return e});var g=c();return g.text&&(f=g.text,a.isFunction(f)||(d=g.text,f=function(a){return a[d]})),function(b){var g,d=b.term,e={results:[]};return""===d?(b.callback(c()),void 0):(g=function(c,e){var h,i;if(c=c[0],c.children){h={};for(i in c)c.hasOwnProperty(i)&&(h[i]=c[i]);h.children=[],a(c.children).each2(function(a,b){g(b,h.children)}),(h.children.length||b.matcher(d,f(h),c))&&e.push(h)}else b.matcher(d,f(c),c)&&e.push(c)},a(c().results).each2(function(a,b){g(b,e.results)}),b.callback(e),void 0)}}function I(c){var d=a.isFunction(c);return function(e){var f=e.term,g={results:[]};a(d?c():c).each(function(){var a=this.text!==b,c=a?this.text:this;(""===f||e.matcher(f,c))&&g.results.push(a?this:{id:this,text:this})}),e.callback(g)}}function J(b,c){if(a.isFunction(b))return!0;if(!b)return!1;throw new Error(c+" must be a function or a falsy value")}function K(b){return a.isFunction(b)?b():b}function L(b){var c=0;return a.each(b,function(a,b){b.children?c+=L(b.children):c++}),c}function M(a,c,d,e){var h,i,j,k,l,f=a,g=!1;if(!e.createSearchChoice||!e.tokenSeparators||e.tokenSeparators.length<1)return b;for(;;){for(i=-1,j=0,k=e.tokenSeparators.length;k>j&&(l=e.tokenSeparators[j],i=a.indexOf(l),!(i>=0));j++);if(0>i)break;if(h=a.substring(0,i),a=a.substring(i+l.length),h.length>0&&(h=e.createSearchChoice.call(this,h,c),h!==b&&null!==h&&e.id(h)!==b&&null!==e.id(h))){for(g=!1,j=0,k=c.length;k>j;j++)if(q(e.id(h),e.id(c[j]))){g=!0;break}g||d(h)}}return f!==a?a:void 0}function N(b,c){var d=function(){};return d.prototype=new b,d.prototype.constructor=d,d.prototype.parent=b.prototype,d.prototype=a.extend(d.prototype,c),d}if(window.Select2===b){var c,d,e,f,g,h,j,k,i={x:0,y:0},c={TAB:9,ENTER:13,ESC:27,SPACE:32,LEFT:37,UP:38,RIGHT:39,DOWN:40,SHIFT:16,CTRL:17,ALT:18,PAGE_UP:33,PAGE_DOWN:34,HOME:36,END:35,BACKSPACE:8,DELETE:46,isArrow:function(a){switch(a=a.which?a.which:a){case c.LEFT:case c.RIGHT:case c.UP:case c.DOWN:return!0}return!1},isControl:function(a){var b=a.which;switch(b){case c.SHIFT:case c.CTRL:case c.ALT:return!0}return a.metaKey?!0:!1},isFunctionKey:function(a){return a=a.which?a.which:a,a>=112&&123>=a}},l="<div class='select2-measure-scrollbar'></div>",m={"\u24b6":"A","\uff21":"A","\xc0":"A","\xc1":"A","\xc2":"A","\u1ea6":"A","\u1ea4":"A","\u1eaa":"A","\u1ea8":"A","\xc3":"A","\u0100":"A","\u0102":"A","\u1eb0":"A","\u1eae":"A","\u1eb4":"A","\u1eb2":"A","\u0226":"A","\u01e0":"A","\xc4":"A","\u01de":"A","\u1ea2":"A","\xc5":"A","\u01fa":"A","\u01cd":"A","\u0200":"A","\u0202":"A","\u1ea0":"A","\u1eac":"A","\u1eb6":"A","\u1e00":"A","\u0104":"A","\u023a":"A","\u2c6f":"A","\ua732":"AA","\xc6":"AE","\u01fc":"AE","\u01e2":"AE","\ua734":"AO","\ua736":"AU","\ua738":"AV","\ua73a":"AV","\ua73c":"AY","\u24b7":"B","\uff22":"B","\u1e02":"B","\u1e04":"B","\u1e06":"B","\u0243":"B","\u0182":"B","\u0181":"B","\u24b8":"C","\uff23":"C","\u0106":"C","\u0108":"C","\u010a":"C","\u010c":"C","\xc7":"C","\u1e08":"C","\u0187":"C","\u023b":"C","\ua73e":"C","\u24b9":"D","\uff24":"D","\u1e0a":"D","\u010e":"D","\u1e0c":"D","\u1e10":"D","\u1e12":"D","\u1e0e":"D","\u0110":"D","\u018b":"D","\u018a":"D","\u0189":"D","\ua779":"D","\u01f1":"DZ","\u01c4":"DZ","\u01f2":"Dz","\u01c5":"Dz","\u24ba":"E","\uff25":"E","\xc8":"E","\xc9":"E","\xca":"E","\u1ec0":"E","\u1ebe":"E","\u1ec4":"E","\u1ec2":"E","\u1ebc":"E","\u0112":"E","\u1e14":"E","\u1e16":"E","\u0114":"E","\u0116":"E","\xcb":"E","\u1eba":"E","\u011a":"E","\u0204":"E","\u0206":"E","\u1eb8":"E","\u1ec6":"E","\u0228":"E","\u1e1c":"E","\u0118":"E","\u1e18":"E","\u1e1a":"E","\u0190":"E","\u018e":"E","\u24bb":"F","\uff26":"F","\u1e1e":"F","\u0191":"F","\ua77b":"F","\u24bc":"G","\uff27":"G","\u01f4":"G","\u011c":"G","\u1e20":"G","\u011e":"G","\u0120":"G","\u01e6":"G","\u0122":"G","\u01e4":"G","\u0193":"G","\ua7a0":"G","\ua77d":"G","\ua77e":"G","\u24bd":"H","\uff28":"H","\u0124":"H","\u1e22":"H","\u1e26":"H","\u021e":"H","\u1e24":"H","\u1e28":"H","\u1e2a":"H","\u0126":"H","\u2c67":"H","\u2c75":"H","\ua78d":"H","\u24be":"I","\uff29":"I","\xcc":"I","\xcd":"I","\xce":"I","\u0128":"I","\u012a":"I","\u012c":"I","\u0130":"I","\xcf":"I","\u1e2e":"I","\u1ec8":"I","\u01cf":"I","\u0208":"I","\u020a":"I","\u1eca":"I","\u012e":"I","\u1e2c":"I","\u0197":"I","\u24bf":"J","\uff2a":"J","\u0134":"J","\u0248":"J","\u24c0":"K","\uff2b":"K","\u1e30":"K","\u01e8":"K","\u1e32":"K","\u0136":"K","\u1e34":"K","\u0198":"K","\u2c69":"K","\ua740":"K","\ua742":"K","\ua744":"K","\ua7a2":"K","\u24c1":"L","\uff2c":"L","\u013f":"L","\u0139":"L","\u013d":"L","\u1e36":"L","\u1e38":"L","\u013b":"L","\u1e3c":"L","\u1e3a":"L","\u0141":"L","\u023d":"L","\u2c62":"L","\u2c60":"L","\ua748":"L","\ua746":"L","\ua780":"L","\u01c7":"LJ","\u01c8":"Lj","\u24c2":"M","\uff2d":"M","\u1e3e":"M","\u1e40":"M","\u1e42":"M","\u2c6e":"M","\u019c":"M","\u24c3":"N","\uff2e":"N","\u01f8":"N","\u0143":"N","\xd1":"N","\u1e44":"N","\u0147":"N","\u1e46":"N","\u0145":"N","\u1e4a":"N","\u1e48":"N","\u0220":"N","\u019d":"N","\ua790":"N","\ua7a4":"N","\u01ca":"NJ","\u01cb":"Nj","\u24c4":"O","\uff2f":"O","\xd2":"O","\xd3":"O","\xd4":"O","\u1ed2":"O","\u1ed0":"O","\u1ed6":"O","\u1ed4":"O","\xd5":"O","\u1e4c":"O","\u022c":"O","\u1e4e":"O","\u014c":"O","\u1e50":"O","\u1e52":"O","\u014e":"O","\u022e":"O","\u0230":"O","\xd6":"O","\u022a":"O","\u1ece":"O","\u0150":"O","\u01d1":"O","\u020c":"O","\u020e":"O","\u01a0":"O","\u1edc":"O","\u1eda":"O","\u1ee0":"O","\u1ede":"O","\u1ee2":"O","\u1ecc":"O","\u1ed8":"O","\u01ea":"O","\u01ec":"O","\xd8":"O","\u01fe":"O","\u0186":"O","\u019f":"O","\ua74a":"O","\ua74c":"O","\u01a2":"OI","\ua74e":"OO","\u0222":"OU","\u24c5":"P","\uff30":"P","\u1e54":"P","\u1e56":"P","\u01a4":"P","\u2c63":"P","\ua750":"P","\ua752":"P","\ua754":"P","\u24c6":"Q","\uff31":"Q","\ua756":"Q","\ua758":"Q","\u024a":"Q","\u24c7":"R","\uff32":"R","\u0154":"R","\u1e58":"R","\u0158":"R","\u0210":"R","\u0212":"R","\u1e5a":"R","\u1e5c":"R","\u0156":"R","\u1e5e":"R","\u024c":"R","\u2c64":"R","\ua75a":"R","\ua7a6":"R","\ua782":"R","\u24c8":"S","\uff33":"S","\u1e9e":"S","\u015a":"S","\u1e64":"S","\u015c":"S","\u1e60":"S","\u0160":"S","\u1e66":"S","\u1e62":"S","\u1e68":"S","\u0218":"S","\u015e":"S","\u2c7e":"S","\ua7a8":"S","\ua784":"S","\u24c9":"T","\uff34":"T","\u1e6a":"T","\u0164":"T","\u1e6c":"T","\u021a":"T","\u0162":"T","\u1e70":"T","\u1e6e":"T","\u0166":"T","\u01ac":"T","\u01ae":"T","\u023e":"T","\ua786":"T","\ua728":"TZ","\u24ca":"U","\uff35":"U","\xd9":"U","\xda":"U","\xdb":"U","\u0168":"U","\u1e78":"U","\u016a":"U","\u1e7a":"U","\u016c":"U","\xdc":"U","\u01db":"U","\u01d7":"U","\u01d5":"U","\u01d9":"U","\u1ee6":"U","\u016e":"U","\u0170":"U","\u01d3":"U","\u0214":"U","\u0216":"U","\u01af":"U","\u1eea":"U","\u1ee8":"U","\u1eee":"U","\u1eec":"U","\u1ef0":"U","\u1ee4":"U","\u1e72":"U","\u0172":"U","\u1e76":"U","\u1e74":"U","\u0244":"U","\u24cb":"V","\uff36":"V","\u1e7c":"V","\u1e7e":"V","\u01b2":"V","\ua75e":"V","\u0245":"V","\ua760":"VY","\u24cc":"W","\uff37":"W","\u1e80":"W","\u1e82":"W","\u0174":"W","\u1e86":"W","\u1e84":"W","\u1e88":"W","\u2c72":"W","\u24cd":"X","\uff38":"X","\u1e8a":"X","\u1e8c":"X","\u24ce":"Y","\uff39":"Y","\u1ef2":"Y","\xdd":"Y","\u0176":"Y","\u1ef8":"Y","\u0232":"Y","\u1e8e":"Y","\u0178":"Y","\u1ef6":"Y","\u1ef4":"Y","\u01b3":"Y","\u024e":"Y","\u1efe":"Y","\u24cf":"Z","\uff3a":"Z","\u0179":"Z","\u1e90":"Z","\u017b":"Z","\u017d":"Z","\u1e92":"Z","\u1e94":"Z","\u01b5":"Z","\u0224":"Z","\u2c7f":"Z","\u2c6b":"Z","\ua762":"Z","\u24d0":"a","\uff41":"a","\u1e9a":"a","\xe0":"a","\xe1":"a","\xe2":"a","\u1ea7":"a","\u1ea5":"a","\u1eab":"a","\u1ea9":"a","\xe3":"a","\u0101":"a","\u0103":"a","\u1eb1":"a","\u1eaf":"a","\u1eb5":"a","\u1eb3":"a","\u0227":"a","\u01e1":"a","\xe4":"a","\u01df":"a","\u1ea3":"a","\xe5":"a","\u01fb":"a","\u01ce":"a","\u0201":"a","\u0203":"a","\u1ea1":"a","\u1ead":"a","\u1eb7":"a","\u1e01":"a","\u0105":"a","\u2c65":"a","\u0250":"a","\ua733":"aa","\xe6":"ae","\u01fd":"ae","\u01e3":"ae","\ua735":"ao","\ua737":"au","\ua739":"av","\ua73b":"av","\ua73d":"ay","\u24d1":"b","\uff42":"b","\u1e03":"b","\u1e05":"b","\u1e07":"b","\u0180":"b","\u0183":"b","\u0253":"b","\u24d2":"c","\uff43":"c","\u0107":"c","\u0109":"c","\u010b":"c","\u010d":"c","\xe7":"c","\u1e09":"c","\u0188":"c","\u023c":"c","\ua73f":"c","\u2184":"c","\u24d3":"d","\uff44":"d","\u1e0b":"d","\u010f":"d","\u1e0d":"d","\u1e11":"d","\u1e13":"d","\u1e0f":"d","\u0111":"d","\u018c":"d","\u0256":"d","\u0257":"d","\ua77a":"d","\u01f3":"dz","\u01c6":"dz","\u24d4":"e","\uff45":"e","\xe8":"e","\xe9":"e","\xea":"e","\u1ec1":"e","\u1ebf":"e","\u1ec5":"e","\u1ec3":"e","\u1ebd":"e","\u0113":"e","\u1e15":"e","\u1e17":"e","\u0115":"e","\u0117":"e","\xeb":"e","\u1ebb":"e","\u011b":"e","\u0205":"e","\u0207":"e","\u1eb9":"e","\u1ec7":"e","\u0229":"e","\u1e1d":"e","\u0119":"e","\u1e19":"e","\u1e1b":"e","\u0247":"e","\u025b":"e","\u01dd":"e","\u24d5":"f","\uff46":"f","\u1e1f":"f","\u0192":"f","\ua77c":"f","\u24d6":"g","\uff47":"g","\u01f5":"g","\u011d":"g","\u1e21":"g","\u011f":"g","\u0121":"g","\u01e7":"g","\u0123":"g","\u01e5":"g","\u0260":"g","\ua7a1":"g","\u1d79":"g","\ua77f":"g","\u24d7":"h","\uff48":"h","\u0125":"h","\u1e23":"h","\u1e27":"h","\u021f":"h","\u1e25":"h","\u1e29":"h","\u1e2b":"h","\u1e96":"h","\u0127":"h","\u2c68":"h","\u2c76":"h","\u0265":"h","\u0195":"hv","\u24d8":"i","\uff49":"i","\xec":"i","\xed":"i","\xee":"i","\u0129":"i","\u012b":"i","\u012d":"i","\xef":"i","\u1e2f":"i","\u1ec9":"i","\u01d0":"i","\u0209":"i","\u020b":"i","\u1ecb":"i","\u012f":"i","\u1e2d":"i","\u0268":"i","\u0131":"i","\u24d9":"j","\uff4a":"j","\u0135":"j","\u01f0":"j","\u0249":"j","\u24da":"k","\uff4b":"k","\u1e31":"k","\u01e9":"k","\u1e33":"k","\u0137":"k","\u1e35":"k","\u0199":"k","\u2c6a":"k","\ua741":"k","\ua743":"k","\ua745":"k","\ua7a3":"k","\u24db":"l","\uff4c":"l","\u0140":"l","\u013a":"l","\u013e":"l","\u1e37":"l","\u1e39":"l","\u013c":"l","\u1e3d":"l","\u1e3b":"l","\u017f":"l","\u0142":"l","\u019a":"l","\u026b":"l","\u2c61":"l","\ua749":"l","\ua781":"l","\ua747":"l","\u01c9":"lj","\u24dc":"m","\uff4d":"m","\u1e3f":"m","\u1e41":"m","\u1e43":"m","\u0271":"m","\u026f":"m","\u24dd":"n","\uff4e":"n","\u01f9":"n","\u0144":"n","\xf1":"n","\u1e45":"n","\u0148":"n","\u1e47":"n","\u0146":"n","\u1e4b":"n","\u1e49":"n","\u019e":"n","\u0272":"n","\u0149":"n","\ua791":"n","\ua7a5":"n","\u01cc":"nj","\u24de":"o","\uff4f":"o","\xf2":"o","\xf3":"o","\xf4":"o","\u1ed3":"o","\u1ed1":"o","\u1ed7":"o","\u1ed5":"o","\xf5":"o","\u1e4d":"o","\u022d":"o","\u1e4f":"o","\u014d":"o","\u1e51":"o","\u1e53":"o","\u014f":"o","\u022f":"o","\u0231":"o","\xf6":"o","\u022b":"o","\u1ecf":"o","\u0151":"o","\u01d2":"o","\u020d":"o","\u020f":"o","\u01a1":"o","\u1edd":"o","\u1edb":"o","\u1ee1":"o","\u1edf":"o","\u1ee3":"o","\u1ecd":"o","\u1ed9":"o","\u01eb":"o","\u01ed":"o","\xf8":"o","\u01ff":"o","\u0254":"o","\ua74b":"o","\ua74d":"o","\u0275":"o","\u01a3":"oi","\u0223":"ou","\ua74f":"oo","\u24df":"p","\uff50":"p","\u1e55":"p","\u1e57":"p","\u01a5":"p","\u1d7d":"p","\ua751":"p","\ua753":"p","\ua755":"p","\u24e0":"q","\uff51":"q","\u024b":"q","\ua757":"q","\ua759":"q","\u24e1":"r","\uff52":"r","\u0155":"r","\u1e59":"r","\u0159":"r","\u0211":"r","\u0213":"r","\u1e5b":"r","\u1e5d":"r","\u0157":"r","\u1e5f":"r","\u024d":"r","\u027d":"r","\ua75b":"r","\ua7a7":"r","\ua783":"r","\u24e2":"s","\uff53":"s","\xdf":"s","\u015b":"s","\u1e65":"s","\u015d":"s","\u1e61":"s","\u0161":"s","\u1e67":"s","\u1e63":"s","\u1e69":"s","\u0219":"s","\u015f":"s","\u023f":"s","\ua7a9":"s","\ua785":"s","\u1e9b":"s","\u24e3":"t","\uff54":"t","\u1e6b":"t","\u1e97":"t","\u0165":"t","\u1e6d":"t","\u021b":"t","\u0163":"t","\u1e71":"t","\u1e6f":"t","\u0167":"t","\u01ad":"t","\u0288":"t","\u2c66":"t","\ua787":"t","\ua729":"tz","\u24e4":"u","\uff55":"u","\xf9":"u","\xfa":"u","\xfb":"u","\u0169":"u","\u1e79":"u","\u016b":"u","\u1e7b":"u","\u016d":"u","\xfc":"u","\u01dc":"u","\u01d8":"u","\u01d6":"u","\u01da":"u","\u1ee7":"u","\u016f":"u","\u0171":"u","\u01d4":"u","\u0215":"u","\u0217":"u","\u01b0":"u","\u1eeb":"u","\u1ee9":"u","\u1eef":"u","\u1eed":"u","\u1ef1":"u","\u1ee5":"u","\u1e73":"u","\u0173":"u","\u1e77":"u","\u1e75":"u","\u0289":"u","\u24e5":"v","\uff56":"v","\u1e7d":"v","\u1e7f":"v","\u028b":"v","\ua75f":"v","\u028c":"v","\ua761":"vy","\u24e6":"w","\uff57":"w","\u1e81":"w","\u1e83":"w","\u0175":"w","\u1e87":"w","\u1e85":"w","\u1e98":"w","\u1e89":"w","\u2c73":"w","\u24e7":"x","\uff58":"x","\u1e8b":"x","\u1e8d":"x","\u24e8":"y","\uff59":"y","\u1ef3":"y","\xfd":"y","\u0177":"y","\u1ef9":"y","\u0233":"y","\u1e8f":"y","\xff":"y","\u1ef7":"y","\u1e99":"y","\u1ef5":"y","\u01b4":"y","\u024f":"y","\u1eff":"y","\u24e9":"z","\uff5a":"z","\u017a":"z","\u1e91":"z","\u017c":"z","\u017e":"z","\u1e93":"z","\u1e95":"z","\u01b6":"z","\u0225":"z","\u0240":"z","\u2c6c":"z","\ua763":"z"};j=a(document),g=function(){var a=1;return function(){return a++}}(),j.on("mousemove",function(a){i.x=a.pageX,i.y=a.pageY}),d=N(Object,{bind:function(a){var b=this;return function(){a.apply(b,arguments)}},init:function(c){var d,e,f=".select2-results";this.opts=c=this.prepareOpts(c),this.id=c.id,c.element.data("select2")!==b&&null!==c.element.data("select2")&&c.element.data("select2").destroy(),this.container=this.createContainer(),this.containerId="s2id_"+(c.element.attr("id")||"autogen"+g()),this.containerSelector="#"+this.containerId.replace(/([;&,\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g,"\\$1"),this.container.attr("id",this.containerId),this.body=w(function(){return c.element.closest("body")}),D(this.container,this.opts.element,this.opts.adaptContainerCssClass),this.container.attr("style",c.element.attr("style")),this.container.css(K(c.containerCss)),this.container.addClass(K(c.containerCssClass)),this.elementTabIndex=this.opts.element.attr("tabindex"),this.opts.element.data("select2",this).attr("tabindex","-1").before(this.container).on("click.select2",A),this.container.data("select2",this),this.dropdown=this.container.find(".select2-drop"),D(this.dropdown,this.opts.element,this.opts.adaptDropdownCssClass),this.dropdown.addClass(K(c.dropdownCssClass)),this.dropdown.data("select2",this),this.dropdown.on("click",A),this.results=d=this.container.find(f),this.search=e=this.container.find("input.select2-input"),this.queryCount=0,this.resultsPage=0,this.context=null,this.initContainer(),this.container.on("click",A),u(this.results),this.dropdown.on("mousemove-filtered touchstart touchmove touchend",f,this.bind(this.highlightUnderEvent)),x(80,this.results),this.dropdown.on("scroll-debounced",f,this.bind(this.loadMoreIfNeeded)),a(this.container).on("change",".select2-input",function(a){a.stopPropagation()}),a(this.dropdown).on("change",".select2-input",function(a){a.stopPropagation()}),a.fn.mousewheel&&d.mousewheel(function(a,b,c,e){var f=d.scrollTop();e>0&&0>=f-e?(d.scrollTop(0),A(a)):0>e&&d.get(0).scrollHeight-d.scrollTop()+e<=d.height()&&(d.scrollTop(d.get(0).scrollHeight-d.height()),A(a))}),t(e),e.on("keyup-change input paste",this.bind(this.updateResults)),e.on("focus",function(){e.addClass("select2-focused")}),e.on("blur",function(){e.removeClass("select2-focused")}),this.dropdown.on("mouseup",f,this.bind(function(b){a(b.target).closest(".select2-result-selectable").length>0&&(this.highlightUnderEvent(b),this.selectHighlighted(b))})),this.dropdown.on("click mouseup mousedown",function(a){a.stopPropagation()}),a.isFunction(this.opts.initSelection)&&(this.initSelection(),this.monitorSource()),null!==c.maximumInputLength&&this.search.attr("maxlength",c.maximumInputLength);var h=c.element.prop("disabled");h===b&&(h=!1),this.enable(!h);var i=c.element.prop("readonly");i===b&&(i=!1),this.readonly(i),k=k||p(),this.autofocus=c.element.prop("autofocus"),c.element.prop("autofocus",!1),this.autofocus&&this.focus(),this.nextSearchTerm=b},destroy:function(){var a=this.opts.element,c=a.data("select2");this.close(),this.propertyObserver&&(delete this.propertyObserver,this.propertyObserver=null),c!==b&&(c.container.remove(),c.dropdown.remove(),a.removeClass("select2-offscreen").removeData("select2").off(".select2").prop("autofocus",this.autofocus||!1),this.elementTabIndex?a.attr({tabindex:this.elementTabIndex}):a.removeAttr("tabindex"),a.show())},optionToData:function(a){return a.is("option")?{id:a.prop("value"),text:a.text(),element:a.get(),css:a.attr("class"),disabled:a.prop("disabled"),locked:q(a.attr("locked"),"locked")||q(a.data("locked"),!0)}:a.is("optgroup")?{text:a.attr("label"),children:[],element:a.get(),css:a.attr("class")}:void 0},prepareOpts:function(c){var d,e,f,g,h=this;if(d=c.element,"select"===d.get(0).tagName.toLowerCase()&&(this.select=e=c.element),e&&a.each(["id","multiple","ajax","query","createSearchChoice","initSelection","data","tags"],function(){if(this in c)throw new Error("Option '"+this+"' is not allowed for Select2 when attached to a <select> element.")}),c=a.extend({},{populateResults:function(d,e,f){var g,i=this.opts.id;g=function(d,e,j){var k,l,m,n,o,p,q,r,s,t;for(d=c.sortResults(d,e,f),k=0,l=d.length;l>k;k+=1)m=d[k],o=m.disabled===!0,n=!o&&i(m)!==b,p=m.children&&m.children.length>0,q=a("<li></li>"),q.addClass("select2-results-dept-"+j),q.addClass("select2-result"),q.addClass(n?"select2-result-selectable":"select2-result-unselectable"),o&&q.addClass("select2-disabled"),p&&q.addClass("select2-result-with-children"),q.addClass(h.opts.formatResultCssClass(m)),r=a(document.createElement("div")),r.addClass("select2-result-label"),t=c.formatResult(m,r,f,h.opts.escapeMarkup),t!==b&&r.html(t),q.append(r),p&&(s=a("<ul></ul>"),s.addClass("select2-result-sub"),g(m.children,s,j+1),q.append(s)),q.data("select2-data",m),e.append(q)},g(e,d,0)}},a.fn.select2.defaults,c),"function"!=typeof c.id&&(f=c.id,c.id=function(a){return a[f]}),a.isArray(c.element.data("select2Tags"))){if("tags"in c)throw"tags specified as both an attribute 'data-select2-tags' and in options of Select2 "+c.element.attr("id");c.tags=c.element.data("select2Tags")}if(e?(c.query=this.bind(function(a){var f,g,i,c={results:[],more:!1},e=a.term;i=function(b,c){var d;b.is("option")?a.matcher(e,b.text(),b)&&c.push(h.optionToData(b)):b.is("optgroup")&&(d=h.optionToData(b),b.children().each2(function(a,b){i(b,d.children)}),d.children.length>0&&c.push(d))},f=d.children(),this.getPlaceholder()!==b&&f.length>0&&(g=this.getPlaceholderOption(),g&&(f=f.not(g))),f.each2(function(a,b){i(b,c.results)}),a.callback(c)}),c.id=function(a){return a.id},c.formatResultCssClass=function(a){return a.css}):"query"in c||("ajax"in c?(g=c.element.data("ajax-url"),g&&g.length>0&&(c.ajax.url=g),c.query=G.call(c.element,c.ajax)):"data"in c?c.query=H(c.data):"tags"in c&&(c.query=I(c.tags),c.createSearchChoice===b&&(c.createSearchChoice=function(b){return{id:a.trim(b),text:a.trim(b)}}),c.initSelection===b&&(c.initSelection=function(b,d){var e=[];a(r(b.val(),c.separator)).each(function(){var b={id:this,text:this},d=c.tags;a.isFunction(d)&&(d=d()),a(d).each(function(){return q(this.id,b.id)?(b=this,!1):void 0}),e.push(b)}),d(e)}))),"function"!=typeof c.query)throw"query function not defined for Select2 "+c.element.attr("id");return c},monitorSource:function(){var c,d,a=this.opts.element;a.on("change.select2",this.bind(function(){this.opts.element.data("select2-change-triggered")!==!0&&this.initSelection()})),c=this.bind(function(){var c=a.prop("disabled");c===b&&(c=!1),this.enable(!c);var d=a.prop("readonly");d===b&&(d=!1),this.readonly(d),D(this.container,this.opts.element,this.opts.adaptContainerCssClass),this.container.addClass(K(this.opts.containerCssClass)),D(this.dropdown,this.opts.element,this.opts.adaptDropdownCssClass),this.dropdown.addClass(K(this.opts.dropdownCssClass))}),a.on("propertychange.select2",c),this.mutationCallback===b&&(this.mutationCallback=function(a){a.forEach(c)}),d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver,d!==b&&(this.propertyObserver&&(delete this.propertyObserver,this.propertyObserver=null),this.propertyObserver=new d(this.mutationCallback),this.propertyObserver.observe(a.get(0),{attributes:!0,subtree:!1}))},triggerSelect:function(b){var c=a.Event("select2-selecting",{val:this.id(b),object:b});return this.opts.element.trigger(c),!c.isDefaultPrevented()},triggerChange:function(b){b=b||{},b=a.extend({},b,{type:"change",val:this.val()}),this.opts.element.data("select2-change-triggered",!0),this.opts.element.trigger(b),this.opts.element.data("select2-change-triggered",!1),this.opts.element.click(),this.opts.blurOnChange&&this.opts.element.blur()},isInterfaceEnabled:function(){return this.enabledInterface===!0},enableInterface:function(){var a=this._enabled&&!this._readonly,b=!a;return a===this.enabledInterface?!1:(this.container.toggleClass("select2-container-disabled",b),this.close(),this.enabledInterface=a,!0)},enable:function(a){a===b&&(a=!0),this._enabled!==a&&(this._enabled=a,this.opts.element.prop("disabled",!a),this.enableInterface())},disable:function(){this.enable(!1)},readonly:function(a){return a===b&&(a=!1),this._readonly===a?!1:(this._readonly=a,this.opts.element.prop("readonly",a),this.enableInterface(),!0)},opened:function(){return this.container.hasClass("select2-dropdown-open")},positionDropdown:function(){var t,u,v,w,x,b=this.dropdown,c=this.container.offset(),d=this.container.outerHeight(!1),e=this.container.outerWidth(!1),f=b.outerHeight(!1),g=a(window),h=g.width(),i=g.height(),j=g.scrollLeft()+h,l=g.scrollTop()+i,m=c.top+d,n=c.left,o=l>=m+f,p=c.top-f>=this.body().scrollTop(),q=b.outerWidth(!1),r=j>=n+q,s=b.hasClass("select2-drop-above");s?(u=!0,!p&&o&&(v=!0,u=!1)):(u=!1,!o&&p&&(v=!0,u=!0)),v&&(b.hide(),c=this.container.offset(),d=this.container.outerHeight(!1),e=this.container.outerWidth(!1),f=b.outerHeight(!1),j=g.scrollLeft()+h,l=g.scrollTop()+i,m=c.top+d,n=c.left,q=b.outerWidth(!1),r=j>=n+q,b.show()),this.opts.dropdownAutoWidth?(x=a(".select2-results",b)[0],b.addClass("select2-drop-auto-width"),b.css("width",""),q=b.outerWidth(!1)+(x.scrollHeight===x.clientHeight?0:k.width),q>e?e=q:q=e,r=j>=n+q):this.container.removeClass("select2-drop-auto-width"),"static"!==this.body().css("position")&&(t=this.body().offset(),m-=t.top,n-=t.left),r||(n=c.left+e-q),w={left:n,width:e},u?(w.bottom=i-c.top,w.top="auto",this.container.addClass("select2-drop-above"),b.addClass("select2-drop-above")):(w.top=m,w.bottom="auto",this.container.removeClass("select2-drop-above"),b.removeClass("select2-drop-above")),w=a.extend(w,K(this.opts.dropdownCss)),b.css(w)},shouldOpen:function(){var b;return this.opened()?!1:this._enabled===!1||this._readonly===!0?!1:(b=a.Event("select2-opening"),this.opts.element.trigger(b),!b.isDefaultPrevented())},clearDropdownAlignmentPreference:function(){this.container.removeClass("select2-drop-above"),this.dropdown.removeClass("select2-drop-above")},open:function(){return this.shouldOpen()?(this.opening(),!0):!1},opening:function(){var f,b=this.containerId,c="scroll."+b,d="resize."+b,e="orientationchange."+b;this.container.addClass("select2-dropdown-open").addClass("select2-container-active"),this.clearDropdownAlignmentPreference(),this.dropdown[0]!==this.body().children().last()[0]&&this.dropdown.detach().appendTo(this.body()),f=a("#select2-drop-mask"),0==f.length&&(f=a(document.createElement("div")),f.attr("id","select2-drop-mask").attr("class","select2-drop-mask"),f.hide(),f.appendTo(this.body()),f.on("mousedown touchstart click",function(b){var d,c=a("#select2-drop");c.length>0&&(d=c.data("select2"),d.opts.selectOnBlur&&d.selectHighlighted({noFocus:!0}),d.close({focus:!0}),b.preventDefault(),b.stopPropagation())})),this.dropdown.prev()[0]!==f[0]&&this.dropdown.before(f),a("#select2-drop").removeAttr("id"),this.dropdown.attr("id","select2-drop"),f.show(),this.positionDropdown(),this.dropdown.show(),this.positionDropdown(),this.dropdown.addClass("select2-drop-active");var g=this;this.container.parents().add(window).each(function(){a(this).on(d+" "+c+" "+e,function(){g.positionDropdown()})})},close:function(){if(this.opened()){var b=this.containerId,c="scroll."+b,d="resize."+b,e="orientationchange."+b;this.container.parents().add(window).each(function(){a(this).off(c).off(d).off(e)}),this.clearDropdownAlignmentPreference(),a("#select2-drop-mask").hide(),this.dropdown.removeAttr("id"),this.dropdown.hide(),this.container.removeClass("select2-dropdown-open").removeClass("select2-container-active"),this.results.empty(),this.clearSearch(),this.search.removeClass("select2-active"),this.opts.element.trigger(a.Event("select2-close"))}},externalSearch:function(a){this.open(),this.search.val(a),this.updateResults(!1)},clearSearch:function(){},getMaximumSelectionSize:function(){return K(this.opts.maximumSelectionSize)},ensureHighlightVisible:function(){var c,d,e,f,g,h,i,b=this.results;if(d=this.highlight(),!(0>d)){if(0==d)return b.scrollTop(0),void 0;c=this.findHighlightableChoices().find(".select2-result-label"),e=a(c[d]),f=e.offset().top+e.outerHeight(!0),d===c.length-1&&(i=b.find("li.select2-more-results"),i.length>0&&(f=i.offset().top+i.outerHeight(!0))),g=b.offset().top+b.outerHeight(!0),f>g&&b.scrollTop(b.scrollTop()+(f-g)),h=e.offset().top-b.offset().top,0>h&&"none"!=e.css("display")&&b.scrollTop(b.scrollTop()+h)}},findHighlightableChoices:function(){return this.results.find(".select2-result-selectable:not(.select2-disabled, .select2-selected)")},moveHighlight:function(b){for(var c=this.findHighlightableChoices(),d=this.highlight();d>-1&&d<c.length;){d+=b;var e=a(c[d]);if(e.hasClass("select2-result-selectable")&&!e.hasClass("select2-disabled")&&!e.hasClass("select2-selected")){this.highlight(d);break}}},highlight:function(b){var d,e,c=this.findHighlightableChoices();return 0===arguments.length?o(c.filter(".select2-highlighted")[0],c.get()):(b>=c.length&&(b=c.length-1),0>b&&(b=0),this.removeHighlight(),d=a(c[b]),d.addClass("select2-highlighted"),this.ensureHighlightVisible(),e=d.data("select2-data"),e&&this.opts.element.trigger({type:"select2-highlight",val:this.id(e),choice:e}),void 0)},removeHighlight:function(){this.results.find(".select2-highlighted").removeClass("select2-highlighted")},countSelectableResults:function(){return this.findHighlightableChoices().length},highlightUnderEvent:function(b){var c=a(b.target).closest(".select2-result-selectable");if(c.length>0&&!c.is(".select2-highlighted")){var d=this.findHighlightableChoices();this.highlight(d.index(c))}else 0==c.length&&this.removeHighlight()},loadMoreIfNeeded:function(){var c,a=this.results,b=a.find("li.select2-more-results"),d=this.resultsPage+1,e=this,f=this.search.val(),g=this.context;0!==b.length&&(c=b.offset().top-a.offset().top-a.height(),c<=this.opts.loadMorePadding&&(b.addClass("select2-active"),this.opts.query({element:this.opts.element,term:f,page:d,context:g,matcher:this.opts.matcher,callback:this.bind(function(c){e.opened()&&(e.opts.populateResults.call(this,a,c.results,{term:f,page:d,context:g}),e.postprocessResults(c,!1,!1),c.more===!0?(b.detach().appendTo(a).text(e.opts.formatLoadMore(d+1)),window.setTimeout(function(){e.loadMoreIfNeeded()},10)):b.remove(),e.positionDropdown(),e.resultsPage=d,e.context=c.context,this.opts.element.trigger({type:"select2-loaded",items:c}))})})))},tokenize:function(){},updateResults:function(c){function m(){d.removeClass("select2-active"),h.positionDropdown()}function n(a){e.html(a),m()}var g,i,l,d=this.search,e=this.results,f=this.opts,h=this,j=d.val(),k=a.data(this.container,"select2-last-term");if((c===!0||!k||!q(j,k))&&(a.data(this.container,"select2-last-term",j),c===!0||this.showSearchInput!==!1&&this.opened())){l=++this.queryCount;var o=this.getMaximumSelectionSize();if(o>=1&&(g=this.data(),a.isArray(g)&&g.length>=o&&J(f.formatSelectionTooBig,"formatSelectionTooBig")))return n("<li class='select2-selection-limit'>"+f.formatSelectionTooBig(o)+"</li>"),void 0;if(d.val().length<f.minimumInputLength)return J(f.formatInputTooShort,"formatInputTooShort")?n("<li class='select2-no-results'>"+f.formatInputTooShort(d.val(),f.minimumInputLength)+"</li>"):n(""),c&&this.showSearch&&this.showSearch(!0),void 0;
-if(f.maximumInputLength&&d.val().length>f.maximumInputLength)return J(f.formatInputTooLong,"formatInputTooLong")?n("<li class='select2-no-results'>"+f.formatInputTooLong(d.val(),f.maximumInputLength)+"</li>"):n(""),void 0;f.formatSearching&&0===this.findHighlightableChoices().length&&n("<li class='select2-searching'>"+f.formatSearching()+"</li>"),d.addClass("select2-active"),this.removeHighlight(),i=this.tokenize(),i!=b&&null!=i&&d.val(i),this.resultsPage=1,f.query({element:f.element,term:d.val(),page:this.resultsPage,context:null,matcher:f.matcher,callback:this.bind(function(g){var i;if(l==this.queryCount){if(!this.opened())return this.search.removeClass("select2-active"),void 0;if(this.context=g.context===b?null:g.context,this.opts.createSearchChoice&&""!==d.val()&&(i=this.opts.createSearchChoice.call(h,d.val(),g.results),i!==b&&null!==i&&h.id(i)!==b&&null!==h.id(i)&&0===a(g.results).filter(function(){return q(h.id(this),h.id(i))}).length&&g.results.unshift(i)),0===g.results.length&&J(f.formatNoMatches,"formatNoMatches"))return n("<li class='select2-no-results'>"+f.formatNoMatches(d.val())+"</li>"),void 0;e.empty(),h.opts.populateResults.call(this,e,g.results,{term:d.val(),page:this.resultsPage,context:null}),g.more===!0&&J(f.formatLoadMore,"formatLoadMore")&&(e.append("<li class='select2-more-results'>"+h.opts.escapeMarkup(f.formatLoadMore(this.resultsPage))+"</li>"),window.setTimeout(function(){h.loadMoreIfNeeded()},10)),this.postprocessResults(g,c),m(),this.opts.element.trigger({type:"select2-loaded",items:g})}})})}},cancel:function(){this.close()},blur:function(){this.opts.selectOnBlur&&this.selectHighlighted({noFocus:!0}),this.close(),this.container.removeClass("select2-container-active"),this.search[0]===document.activeElement&&this.search.blur(),this.clearSearch(),this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus")},focusSearch:function(){y(this.search)},selectHighlighted:function(a){var b=this.highlight(),c=this.results.find(".select2-highlighted"),d=c.closest(".select2-result").data("select2-data");d?(this.highlight(b),this.onSelect(d,a)):a&&a.noFocus&&this.close()},getPlaceholder:function(){var a;return this.opts.element.attr("placeholder")||this.opts.element.attr("data-placeholder")||this.opts.element.data("placeholder")||this.opts.placeholder||((a=this.getPlaceholderOption())!==b?a.text():b)},getPlaceholderOption:function(){if(this.select){var a=this.select.children("option").first();if(this.opts.placeholderOption!==b)return"first"===this.opts.placeholderOption&&a||"function"==typeof this.opts.placeholderOption&&this.opts.placeholderOption(this.select);if(""===a.text()&&""===a.val())return a}},initContainerWidth:function(){function c(){var c,d,e,f,g,h;if("off"===this.opts.width)return null;if("element"===this.opts.width)return 0===this.opts.element.outerWidth(!1)?"auto":this.opts.element.outerWidth(!1)+"px";if("copy"===this.opts.width||"resolve"===this.opts.width){if(c=this.opts.element.attr("style"),c!==b)for(d=c.split(";"),f=0,g=d.length;g>f;f+=1)if(h=d[f].replace(/\s/g,""),e=h.match(/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i),null!==e&&e.length>=1)return e[1];return"resolve"===this.opts.width?(c=this.opts.element.css("width"),c.indexOf("%")>0?c:0===this.opts.element.outerWidth(!1)?"auto":this.opts.element.outerWidth(!1)+"px"):null}return a.isFunction(this.opts.width)?this.opts.width():this.opts.width}var d=c.call(this);null!==d&&this.container.css("width",d)}}),e=N(d,{createContainer:function(){var b=a(document.createElement("div")).attr({"class":"select2-container"}).html(["<a href='javascript:void(0)' onclick='return false;' class='select2-choice' tabindex='-1'>"," <span class='select2-chosen'>&nbsp;</span><abbr class='select2-search-choice-close'></abbr>"," <span class='select2-arrow'><b></b></span>","</a>","<input class='select2-focusser select2-offscreen' type='text'/>","<div class='select2-drop select2-display-none'>"," <div class='select2-search'>"," <input type='text' autocomplete='off' autocorrect='off' autocapitalize='off' spellcheck='false' class='select2-input'/>"," </div>"," <ul class='select2-results'>"," </ul>","</div>"].join(""));return b},enableInterface:function(){this.parent.enableInterface.apply(this,arguments)&&this.focusser.prop("disabled",!this.isInterfaceEnabled())},opening:function(){var c,d,e;this.opts.minimumResultsForSearch>=0&&this.showSearch(!0),this.parent.opening.apply(this,arguments),this.showSearchInput!==!1&&this.search.val(this.focusser.val()),this.search.focus(),c=this.search.get(0),c.createTextRange?(d=c.createTextRange(),d.collapse(!1),d.select()):c.setSelectionRange&&(e=this.search.val().length,c.setSelectionRange(e,e)),""===this.search.val()&&this.nextSearchTerm!=b&&(this.search.val(this.nextSearchTerm),this.search.select()),this.focusser.prop("disabled",!0).val(""),this.updateResults(!0),this.opts.element.trigger(a.Event("select2-open"))},close:function(a){this.opened()&&(this.parent.close.apply(this,arguments),a=a||{focus:!0},this.focusser.removeAttr("disabled"),a.focus&&this.focusser.focus())},focus:function(){this.opened()?this.close():(this.focusser.removeAttr("disabled"),this.focusser.focus())},isFocused:function(){return this.container.hasClass("select2-container-active")},cancel:function(){this.parent.cancel.apply(this,arguments),this.focusser.removeAttr("disabled"),this.focusser.focus()},destroy:function(){a("label[for='"+this.focusser.attr("id")+"']").attr("for",this.opts.element.attr("id")),this.parent.destroy.apply(this,arguments)},initContainer:function(){var b,d=this.container,e=this.dropdown;this.opts.minimumResultsForSearch<0?this.showSearch(!1):this.showSearch(!0),this.selection=b=d.find(".select2-choice"),this.focusser=d.find(".select2-focusser"),this.focusser.attr("id","s2id_autogen"+g()),a("label[for='"+this.opts.element.attr("id")+"']").attr("for",this.focusser.attr("id")),this.focusser.attr("tabindex",this.elementTabIndex),this.search.on("keydown",this.bind(function(a){if(this.isInterfaceEnabled()){if(a.which===c.PAGE_UP||a.which===c.PAGE_DOWN)return A(a),void 0;switch(a.which){case c.UP:case c.DOWN:return this.moveHighlight(a.which===c.UP?-1:1),A(a),void 0;case c.ENTER:return this.selectHighlighted(),A(a),void 0;case c.TAB:return this.selectHighlighted({noFocus:!0}),void 0;case c.ESC:return this.cancel(a),A(a),void 0}}})),this.search.on("blur",this.bind(function(){document.activeElement===this.body().get(0)&&window.setTimeout(this.bind(function(){this.search.focus()}),0)})),this.focusser.on("keydown",this.bind(function(a){if(this.isInterfaceEnabled()&&a.which!==c.TAB&&!c.isControl(a)&&!c.isFunctionKey(a)&&a.which!==c.ESC){if(this.opts.openOnEnter===!1&&a.which===c.ENTER)return A(a),void 0;if(a.which==c.DOWN||a.which==c.UP||a.which==c.ENTER&&this.opts.openOnEnter){if(a.altKey||a.ctrlKey||a.shiftKey||a.metaKey)return;return this.open(),A(a),void 0}return a.which==c.DELETE||a.which==c.BACKSPACE?(this.opts.allowClear&&this.clear(),A(a),void 0):void 0}})),t(this.focusser),this.focusser.on("keyup-change input",this.bind(function(a){if(this.opts.minimumResultsForSearch>=0){if(a.stopPropagation(),this.opened())return;this.open()}})),b.on("mousedown","abbr",this.bind(function(a){this.isInterfaceEnabled()&&(this.clear(),B(a),this.close(),this.selection.focus())})),b.on("mousedown",this.bind(function(b){this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.opened()?this.close():this.isInterfaceEnabled()&&this.open(),A(b)})),e.on("mousedown",this.bind(function(){this.search.focus()})),b.on("focus",this.bind(function(a){A(a)})),this.focusser.on("focus",this.bind(function(){this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.container.addClass("select2-container-active")})).on("blur",this.bind(function(){this.opened()||(this.container.removeClass("select2-container-active"),this.opts.element.trigger(a.Event("select2-blur")))})),this.search.on("focus",this.bind(function(){this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.container.addClass("select2-container-active")})),this.initContainerWidth(),this.opts.element.addClass("select2-offscreen"),this.setPlaceholder()},clear:function(b){var c=this.selection.data("select2-data");if(c){var d=a.Event("select2-clearing");if(this.opts.element.trigger(d),d.isDefaultPrevented())return;var e=this.getPlaceholderOption();this.opts.element.val(e?e.val():""),this.selection.find(".select2-chosen").empty(),this.selection.removeData("select2-data"),this.setPlaceholder(),b!==!1&&(this.opts.element.trigger({type:"select2-removed",val:this.id(c),choice:c}),this.triggerChange({removed:c}))}},initSelection:function(){if(this.isPlaceholderOptionSelected())this.updateSelection(null),this.close(),this.setPlaceholder();else{var c=this;this.opts.initSelection.call(null,this.opts.element,function(a){a!==b&&null!==a&&(c.updateSelection(a),c.close(),c.setPlaceholder())})}},isPlaceholderOptionSelected:function(){var a;return this.getPlaceholder()?(a=this.getPlaceholderOption())!==b&&a.prop("selected")||""===this.opts.element.val()||this.opts.element.val()===b||null===this.opts.element.val():!1},prepareOpts:function(){var b=this.parent.prepareOpts.apply(this,arguments),c=this;return"select"===b.element.get(0).tagName.toLowerCase()?b.initSelection=function(a,b){var d=a.find("option").filter(function(){return this.selected});b(c.optionToData(d))}:"data"in b&&(b.initSelection=b.initSelection||function(c,d){var e=c.val(),f=null;b.query({matcher:function(a,c,d){var g=q(e,b.id(d));return g&&(f=d),g},callback:a.isFunction(d)?function(){d(f)}:a.noop})}),b},getPlaceholder:function(){return this.select&&this.getPlaceholderOption()===b?b:this.parent.getPlaceholder.apply(this,arguments)},setPlaceholder:function(){var a=this.getPlaceholder();if(this.isPlaceholderOptionSelected()&&a!==b){if(this.select&&this.getPlaceholderOption()===b)return;this.selection.find(".select2-chosen").html(this.opts.escapeMarkup(a)),this.selection.addClass("select2-default"),this.container.removeClass("select2-allowclear")}},postprocessResults:function(a,b,c){var d=0,e=this;if(this.findHighlightableChoices().each2(function(a,b){return q(e.id(b.data("select2-data")),e.opts.element.val())?(d=a,!1):void 0}),c!==!1&&(b===!0&&d>=0?this.highlight(d):this.highlight(0)),b===!0){var g=this.opts.minimumResultsForSearch;g>=0&&this.showSearch(L(a.results)>=g)}},showSearch:function(b){this.showSearchInput!==b&&(this.showSearchInput=b,this.dropdown.find(".select2-search").toggleClass("select2-search-hidden",!b),this.dropdown.find(".select2-search").toggleClass("select2-offscreen",!b),a(this.dropdown,this.container).toggleClass("select2-with-searchbox",b))},onSelect:function(a,b){if(this.triggerSelect(a)){var c=this.opts.element.val(),d=this.data();this.opts.element.val(this.id(a)),this.updateSelection(a),this.opts.element.trigger({type:"select2-selected",val:this.id(a),choice:a}),this.nextSearchTerm=this.opts.nextSearchTerm(a,this.search.val()),this.close(),b&&b.noFocus||this.focusser.focus(),q(c,this.id(a))||this.triggerChange({added:a,removed:d})}},updateSelection:function(a){var d,e,c=this.selection.find(".select2-chosen");this.selection.data("select2-data",a),c.empty(),null!==a&&(d=this.opts.formatSelection(a,c,this.opts.escapeMarkup)),d!==b&&c.append(d),e=this.opts.formatSelectionCssClass(a,c),e!==b&&c.addClass(e),this.selection.removeClass("select2-default"),this.opts.allowClear&&this.getPlaceholder()!==b&&this.container.addClass("select2-allowclear")},val:function(){var a,c=!1,d=null,e=this,f=this.data();if(0===arguments.length)return this.opts.element.val();if(a=arguments[0],arguments.length>1&&(c=arguments[1]),this.select)this.select.val(a).find("option").filter(function(){return this.selected}).each2(function(a,b){return d=e.optionToData(b),!1}),this.updateSelection(d),this.setPlaceholder(),c&&this.triggerChange({added:d,removed:f});else{if(!a&&0!==a)return this.clear(c),void 0;if(this.opts.initSelection===b)throw new Error("cannot call val() if initSelection() is not defined");this.opts.element.val(a),this.opts.initSelection(this.opts.element,function(a){e.opts.element.val(a?e.id(a):""),e.updateSelection(a),e.setPlaceholder(),c&&e.triggerChange({added:a,removed:f})})}},clearSearch:function(){this.search.val(""),this.focusser.val("")},data:function(a){var c,d=!1;return 0===arguments.length?(c=this.selection.data("select2-data"),c==b&&(c=null),c):(arguments.length>1&&(d=arguments[1]),a?(c=this.data(),this.opts.element.val(a?this.id(a):""),this.updateSelection(a),d&&this.triggerChange({added:a,removed:c})):this.clear(d),void 0)}}),f=N(d,{createContainer:function(){var b=a(document.createElement("div")).attr({"class":"select2-container select2-container-multi"}).html(["<ul class='select2-choices'>"," <li class='select2-search-field'>"," <input type='text' autocomplete='off' autocorrect='off' autocapitalize='off' spellcheck='false' class='select2-input'>"," </li>","</ul>","<div class='select2-drop select2-drop-multi select2-display-none'>"," <ul class='select2-results'>"," </ul>","</div>"].join(""));return b},prepareOpts:function(){var b=this.parent.prepareOpts.apply(this,arguments),c=this;return"select"===b.element.get(0).tagName.toLowerCase()?b.initSelection=function(a,b){var d=[];a.find("option").filter(function(){return this.selected}).each2(function(a,b){d.push(c.optionToData(b))}),b(d)}:"data"in b&&(b.initSelection=b.initSelection||function(c,d){var e=r(c.val(),b.separator),f=[];b.query({matcher:function(c,d,g){var h=a.grep(e,function(a){return q(a,b.id(g))}).length;return h&&f.push(g),h},callback:a.isFunction(d)?function(){for(var a=[],c=0;c<e.length;c++)for(var g=e[c],h=0;h<f.length;h++){var i=f[h];if(q(g,b.id(i))){a.push(i),f.splice(h,1);break}}d(a)}:a.noop})}),b},selectChoice:function(a){var b=this.container.find(".select2-search-choice-focus");b.length&&a&&a[0]==b[0]||(b.length&&this.opts.element.trigger("choice-deselected",b),b.removeClass("select2-search-choice-focus"),a&&a.length&&(this.close(),a.addClass("select2-search-choice-focus"),this.opts.element.trigger("choice-selected",a)))},destroy:function(){a("label[for='"+this.search.attr("id")+"']").attr("for",this.opts.element.attr("id")),this.parent.destroy.apply(this,arguments)},initContainer:function(){var d,b=".select2-choices";this.searchContainer=this.container.find(".select2-search-field"),this.selection=d=this.container.find(b);var e=this;this.selection.on("click",".select2-search-choice:not(.select2-locked)",function(){e.search[0].focus(),e.selectChoice(a(this))}),this.search.attr("id","s2id_autogen"+g()),a("label[for='"+this.opts.element.attr("id")+"']").attr("for",this.search.attr("id")),this.search.on("input paste",this.bind(function(){this.isInterfaceEnabled()&&(this.opened()||this.open())})),this.search.attr("tabindex",this.elementTabIndex),this.keydowns=0,this.search.on("keydown",this.bind(function(a){if(this.isInterfaceEnabled()){++this.keydowns;var b=d.find(".select2-search-choice-focus"),e=b.prev(".select2-search-choice:not(.select2-locked)"),f=b.next(".select2-search-choice:not(.select2-locked)"),g=z(this.search);if(b.length&&(a.which==c.LEFT||a.which==c.RIGHT||a.which==c.BACKSPACE||a.which==c.DELETE||a.which==c.ENTER)){var h=b;return a.which==c.LEFT&&e.length?h=e:a.which==c.RIGHT?h=f.length?f:null:a.which===c.BACKSPACE?(this.unselect(b.first()),this.search.width(10),h=e.length?e:f):a.which==c.DELETE?(this.unselect(b.first()),this.search.width(10),h=f.length?f:null):a.which==c.ENTER&&(h=null),this.selectChoice(h),A(a),h&&h.length||this.open(),void 0}if((a.which===c.BACKSPACE&&1==this.keydowns||a.which==c.LEFT)&&0==g.offset&&!g.length)return this.selectChoice(d.find(".select2-search-choice:not(.select2-locked)").last()),A(a),void 0;if(this.selectChoice(null),this.opened())switch(a.which){case c.UP:case c.DOWN:return this.moveHighlight(a.which===c.UP?-1:1),A(a),void 0;case c.ENTER:return this.selectHighlighted(),A(a),void 0;case c.TAB:return this.selectHighlighted({noFocus:!0}),this.close(),void 0;case c.ESC:return this.cancel(a),A(a),void 0}if(a.which!==c.TAB&&!c.isControl(a)&&!c.isFunctionKey(a)&&a.which!==c.BACKSPACE&&a.which!==c.ESC){if(a.which===c.ENTER){if(this.opts.openOnEnter===!1)return;if(a.altKey||a.ctrlKey||a.shiftKey||a.metaKey)return}this.open(),(a.which===c.PAGE_UP||a.which===c.PAGE_DOWN)&&A(a),a.which===c.ENTER&&A(a)}}})),this.search.on("keyup",this.bind(function(){this.keydowns=0,this.resizeSearch()})),this.search.on("blur",this.bind(function(b){this.container.removeClass("select2-container-active"),this.search.removeClass("select2-focused"),this.selectChoice(null),this.opened()||this.clearSearch(),b.stopImmediatePropagation(),this.opts.element.trigger(a.Event("select2-blur"))})),this.container.on("click",b,this.bind(function(b){this.isInterfaceEnabled()&&(a(b.target).closest(".select2-search-choice").length>0||(this.selectChoice(null),this.clearPlaceholder(),this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.open(),this.focusSearch(),b.preventDefault()))})),this.container.on("focus",b,this.bind(function(){this.isInterfaceEnabled()&&(this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.container.addClass("select2-container-active"),this.dropdown.addClass("select2-drop-active"),this.clearPlaceholder())})),this.initContainerWidth(),this.opts.element.addClass("select2-offscreen"),this.clearSearch()},enableInterface:function(){this.parent.enableInterface.apply(this,arguments)&&this.search.prop("disabled",!this.isInterfaceEnabled())},initSelection:function(){if(""===this.opts.element.val()&&""===this.opts.element.text()&&(this.updateSelection([]),this.close(),this.clearSearch()),this.select||""!==this.opts.element.val()){var c=this;this.opts.initSelection.call(null,this.opts.element,function(a){a!==b&&null!==a&&(c.updateSelection(a),c.close(),c.clearSearch())})}},clearSearch:function(){var a=this.getPlaceholder(),c=this.getMaxSearchWidth();a!==b&&0===this.getVal().length&&this.search.hasClass("select2-focused")===!1?(this.search.val(a).addClass("select2-default"),this.search.width(c>0?c:this.container.css("width"))):this.search.val("").width(10)},clearPlaceholder:function(){this.search.hasClass("select2-default")&&this.search.val("").removeClass("select2-default")},opening:function(){this.clearPlaceholder(),this.resizeSearch(),this.parent.opening.apply(this,arguments),this.focusSearch(),this.updateResults(!0),this.search.focus(),this.opts.element.trigger(a.Event("select2-open"))},close:function(){this.opened()&&this.parent.close.apply(this,arguments)},focus:function(){this.close(),this.search.focus()},isFocused:function(){return this.search.hasClass("select2-focused")},updateSelection:function(b){var c=[],d=[],e=this;a(b).each(function(){o(e.id(this),c)<0&&(c.push(e.id(this)),d.push(this))}),b=d,this.selection.find(".select2-search-choice").remove(),a(b).each(function(){e.addSelectedChoice(this)}),e.postprocessResults()},tokenize:function(){var a=this.search.val();a=this.opts.tokenizer.call(this,a,this.data(),this.bind(this.onSelect),this.opts),null!=a&&a!=b&&(this.search.val(a),a.length>0&&this.open())},onSelect:function(a,b){this.triggerSelect(a)&&(this.addSelectedChoice(a),this.opts.element.trigger({type:"selected",val:this.id(a),choice:a}),(this.select||!this.opts.closeOnSelect)&&this.postprocessResults(a,!1,this.opts.closeOnSelect===!0),this.opts.closeOnSelect?(this.close(),this.search.width(10)):this.countSelectableResults()>0?(this.search.width(10),this.resizeSearch(),this.getMaximumSelectionSize()>0&&this.val().length>=this.getMaximumSelectionSize()&&this.updateResults(!0),this.positionDropdown()):(this.close(),this.search.width(10)),this.triggerChange({added:a}),b&&b.noFocus||this.focusSearch())},cancel:function(){this.close(),this.focusSearch()},addSelectedChoice:function(c){var j,k,d=!c.locked,e=a("<li class='select2-search-choice'> <div></div> <a href='#' onclick='return false;' class='select2-search-choice-close' tabindex='-1'></a></li>"),f=a("<li class='select2-search-choice select2-locked'><div></div></li>"),g=d?e:f,h=this.id(c),i=this.getVal();j=this.opts.formatSelection(c,g.find("div"),this.opts.escapeMarkup),j!=b&&g.find("div").replaceWith("<div>"+j+"</div>"),k=this.opts.formatSelectionCssClass(c,g.find("div")),k!=b&&g.addClass(k),d&&g.find(".select2-search-choice-close").on("mousedown",A).on("click dblclick",this.bind(function(b){this.isInterfaceEnabled()&&(a(b.target).closest(".select2-search-choice").fadeOut("fast",this.bind(function(){this.unselect(a(b.target)),this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus"),this.close(),this.focusSearch()})).dequeue(),A(b))})).on("focus",this.bind(function(){this.isInterfaceEnabled()&&(this.container.addClass("select2-container-active"),this.dropdown.addClass("select2-drop-active"))})),g.data("select2-data",c),g.insertBefore(this.searchContainer),i.push(h),this.setVal(i)},unselect:function(b){var d,e,c=this.getVal();if(b=b.closest(".select2-search-choice"),0===b.length)throw"Invalid argument: "+b+". Must be .select2-search-choice";if(d=b.data("select2-data")){for(;(e=o(this.id(d),c))>=0;)c.splice(e,1),this.setVal(c),this.select&&this.postprocessResults();var f=a.Event("select2-removing");f.val=this.id(d),f.choice=d,this.opts.element.trigger(f),f.isDefaultPrevented()||(b.remove(),this.opts.element.trigger({type:"select2-removed",val:this.id(d),choice:d}),this.triggerChange({removed:d}))}},postprocessResults:function(a,b,c){var d=this.getVal(),e=this.results.find(".select2-result"),f=this.results.find(".select2-result-with-children"),g=this;e.each2(function(a,b){var c=g.id(b.data("select2-data"));o(c,d)>=0&&(b.addClass("select2-selected"),b.find(".select2-result-selectable").addClass("select2-selected"))}),f.each2(function(a,b){b.is(".select2-result-selectable")||0!==b.find(".select2-result-selectable:not(.select2-selected)").length||b.addClass("select2-selected")}),-1==this.highlight()&&c!==!1&&g.highlight(0),!this.opts.createSearchChoice&&!e.filter(".select2-result:not(.select2-selected)").length>0&&(!a||a&&!a.more&&0===this.results.find(".select2-no-results").length)&&J(g.opts.formatNoMatches,"formatNoMatches")&&this.results.append("<li class='select2-no-results'>"+g.opts.formatNoMatches(g.search.val())+"</li>")},getMaxSearchWidth:function(){return this.selection.width()-s(this.search)},resizeSearch:function(){var a,b,c,d,e,f=s(this.search);a=C(this.search)+10,b=this.search.offset().left,c=this.selection.width(),d=this.selection.offset().left,e=c-(b-d)-f,a>e&&(e=c-f),40>e&&(e=c-f),0>=e&&(e=a),this.search.width(Math.floor(e))},getVal:function(){var a;return this.select?(a=this.select.val(),null===a?[]:a):(a=this.opts.element.val(),r(a,this.opts.separator))},setVal:function(b){var c;this.select?this.select.val(b):(c=[],a(b).each(function(){o(this,c)<0&&c.push(this)}),this.opts.element.val(0===c.length?"":c.join(this.opts.separator)))},buildChangeDetails:function(a,b){for(var b=b.slice(0),a=a.slice(0),c=0;c<b.length;c++)for(var d=0;d<a.length;d++)q(this.opts.id(b[c]),this.opts.id(a[d]))&&(b.splice(c,1),c>0&&c--,a.splice(d,1),d--);return{added:b,removed:a}},val:function(c,d){var e,f=this;if(0===arguments.length)return this.getVal();if(e=this.data(),e.length||(e=[]),!c&&0!==c)return this.opts.element.val(""),this.updateSelection([]),this.clearSearch(),d&&this.triggerChange({added:this.data(),removed:e}),void 0;if(this.setVal(c),this.select)this.opts.initSelection(this.select,this.bind(this.updateSelection)),d&&this.triggerChange(this.buildChangeDetails(e,this.data()));else{if(this.opts.initSelection===b)throw new Error("val() cannot be called if initSelection() is not defined");this.opts.initSelection(this.opts.element,function(b){var c=a.map(b,f.id);f.setVal(c),f.updateSelection(b),f.clearSearch(),d&&f.triggerChange(f.buildChangeDetails(e,f.data()))})}this.clearSearch()},onSortStart:function(){if(this.select)throw new Error("Sorting of elements is not supported when attached to <select>. Attach to <input type='hidden'/> instead.");this.search.width(0),this.searchContainer.hide()},onSortEnd:function(){var b=[],c=this;this.searchContainer.show(),this.searchContainer.appendTo(this.searchContainer.parent()),this.resizeSearch(),this.selection.find(".select2-search-choice").each(function(){b.push(c.opts.id(a(this).data("select2-data")))}),this.setVal(b),this.triggerChange()},data:function(b,c){var e,f,d=this;return 0===arguments.length?this.selection.find(".select2-search-choice").map(function(){return a(this).data("select2-data")}).get():(f=this.data(),b||(b=[]),e=a.map(b,function(a){return d.opts.id(a)}),this.setVal(e),this.updateSelection(b),this.clearSearch(),c&&this.triggerChange(this.buildChangeDetails(f,this.data())),void 0)}}),a.fn.select2=function(){var d,g,h,i,j,c=Array.prototype.slice.call(arguments,0),k=["val","destroy","opened","open","close","focus","isFocused","container","dropdown","onSortStart","onSortEnd","enable","disable","readonly","positionDropdown","data","search"],l=["opened","isFocused","container","dropdown"],m=["val","data"],n={search:"externalSearch"};return this.each(function(){if(0===c.length||"object"==typeof c[0])d=0===c.length?{}:a.extend({},c[0]),d.element=a(this),"select"===d.element.get(0).tagName.toLowerCase()?j=d.element.prop("multiple"):(j=d.multiple||!1,"tags"in d&&(d.multiple=j=!0)),g=j?new f:new e,g.init(d);else{if("string"!=typeof c[0])throw"Invalid arguments to select2 plugin: "+c;if(o(c[0],k)<0)throw"Unknown method: "+c[0];if(i=b,g=a(this).data("select2"),g===b)return;if(h=c[0],"container"===h?i=g.container:"dropdown"===h?i=g.dropdown:(n[h]&&(h=n[h]),i=g[h].apply(g,c.slice(1))),o(c[0],l)>=0||o(c[0],m)&&1==c.length)return!1}}),i===b?this:i},a.fn.select2.defaults={width:"copy",loadMorePadding:0,closeOnSelect:!0,openOnEnter:!0,containerCss:{},dropdownCss:{},containerCssClass:"",dropdownCssClass:"",formatResult:function(a,b,c,d){var e=[];return E(a.text,c.term,e,d),e.join("")},formatSelection:function(a,c,d){return a?d(a.text):b},sortResults:function(a){return a},formatResultCssClass:function(){return b},formatSelectionCssClass:function(){return b},formatNoMatches:function(){return"No matches found"},formatInputTooShort:function(a,b){var c=b-a.length;return"Please enter "+c+" more character"+(1==c?"":"s")},formatInputTooLong:function(a,b){var c=a.length-b;return"Please delete "+c+" character"+(1==c?"":"s")},formatSelectionTooBig:function(a){return"You can only select "+a+" item"+(1==a?"":"s")},formatLoadMore:function(){return"Loading more results..."},formatSearching:function(){return"Searching..."},minimumResultsForSearch:0,minimumInputLength:0,maximumInputLength:null,maximumSelectionSize:0,id:function(a){return a.id},matcher:function(a,b){return n(""+b).toUpperCase().indexOf(n(""+a).toUpperCase())>=0},separator:",",tokenSeparators:[],tokenizer:M,escapeMarkup:F,blurOnChange:!1,selectOnBlur:!1,adaptContainerCssClass:function(a){return a},adaptDropdownCssClass:function(){return null},nextSearchTerm:function(){return b}},a.fn.select2.ajaxDefaults={transport:a.ajax,params:{type:"GET",cache:!1,dataType:"json"}},window.Select2={query:{ajax:G,local:H,tags:I},util:{debounce:v,markMatch:E,escapeMarkup:F,stripDiacritics:n},"class":{"abstract":d,single:e,multi:f}}}}(jQuery); \ No newline at end of file
diff --git a/web/js/select2/select2.png b/web/js/select2/select2.png
deleted file mode 100644
index 1d804ffb9..000000000
--- a/web/js/select2/select2.png
+++ /dev/null
Binary files differ
diff --git a/web/js/select2/select2_locale_ar.js b/web/js/select2/select2_locale_ar.js
deleted file mode 100644
index 5ce010631..000000000
--- a/web/js/select2/select2_locale_ar.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Select2 Arabic translation.
- *
- * Author: Your Name <amedhat3@gmail.com>
- */
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "لا توجد نتائج"; },
- formatInputTooShort: function (input, min) { var n = min - input.length; return "من ÙØ¶Ù„Ùƒ أدخل " + n + " حرو٠أكثر"; },
- formatInputTooLong: function (input, max) { var n = input.length - max; return "من ÙØ¶Ù„Ùƒ أحذ٠" + n + " حروÙ"; },
- formatSelectionTooBig: function (limit) { return "يمكنك ان تختار " + limit + " أختيارات Ùقط"; },
- formatLoadMore: function (pageNumber) { return "تحمل المذيد من النتائج ..."; },
- formatSearching: function () { return "جاري البحث ..."; }
- });
-})(jQuery);
diff --git a/web/js/select2/select2_locale_bg.js b/web/js/select2/select2_locale_bg.js
deleted file mode 100644
index 2d8b9ca2b..000000000
--- a/web/js/select2/select2_locale_bg.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Select2 <Language> translation.
- *
- * Author: Lubomir Vikev <lubomirvikev@gmail.com>
- */
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "ÐÑма намерени ÑъвпадениÑ"; },
- formatInputTooShort: function (input, min) { var n = min - input.length; return "ÐœÐ¾Ð»Ñ Ð²ÑŠÐ²ÐµÐ´ÐµÑ‚Ðµ още " + n + " Ñимвол" + (n == 1 ? "" : "а"); },
- formatInputTooLong: function (input, max) { var n = input.length - max; return "ÐœÐ¾Ð»Ñ Ð²ÑŠÐ²ÐµÐ´ÐµÑ‚Ðµ Ñ " + n + " по-малко Ñимвол" + (n == 1? "" : "а"); },
- formatSelectionTooBig: function (limit) { return "Можете да направите до " + limit + (limit == 1 ? " избор" : " избора"); },
- formatLoadMore: function (pageNumber) { return "Зареждат Ñе още..."; },
- formatSearching: function () { return "ТърÑене..."; }
- });
-})(jQuery);
diff --git a/web/js/select2/select2_locale_ca.js b/web/js/select2/select2_locale_ca.js
deleted file mode 100644
index bdcdaa798..000000000
--- a/web/js/select2/select2_locale_ca.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Select2 Catalan translation.
- *
- * Author: David Planella <david.planella@gmail.com>
- */
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "No s'ha trobat cap coincidència"; },
- formatInputTooShort: function (input, min) { var n = min - input.length; return "Introduïu " + n + " caràcter" + (n == 1 ? "" : "s") + " més"; },
- formatInputTooLong: function (input, max) { var n = input.length - max; return "Introduïu " + n + " caràcter" + (n == 1? "" : "s") + "menys"; },
- formatSelectionTooBig: function (limit) { return "Només podeu seleccionar " + limit + " element" + (limit == 1 ? "" : "s"); },
- formatLoadMore: function (pageNumber) { return "S'estan carregant més resultats..."; },
- formatSearching: function () { return "S'està cercant..."; }
- });
-})(jQuery);
diff --git a/web/js/select2/select2_locale_cs.js b/web/js/select2/select2_locale_cs.js
deleted file mode 100644
index b3c748c23..000000000
--- a/web/js/select2/select2_locale_cs.js
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- * Select2 Czech translation.
- *
- * Author: Michal Marek <ahoj@michal-marek.cz>
- * Author - sklonovani: David Vallner <david@vallner.net>
- */
-(function ($) {
- "use strict";
- // use text for the numbers 2 through 4
- var smallNumbers = {
- 2: function(masc) { return (masc ? "dva" : "dvÄ›"); },
- 3: function() { return "tři"; },
- 4: function() { return "ÄtyÅ™i"; }
- }
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "Nenalezeny žádné položky"; },
- formatInputTooShort: function (input, min) {
- var n = min - input.length;
- if (n == 1) {
- return "Prosím zadejte ještě jeden znak";
- } else if (n <= 4) {
- return "Prosím zadejte ještě další "+smallNumbers[n](true)+" znaky";
- } else {
- return "Prosím zadejte ještě dalších "+n+" znaků";
- }
- },
- formatInputTooLong: function (input, max) {
- var n = input.length - max;
- if (n == 1) {
- return "Prosím zadejte o jeden znak méně";
- } else if (n <= 4) {
- return "Prosím zadejte o "+smallNumbers[n](true)+" znaky méně";
- } else {
- return "Prosím zadejte o "+n+" znaků méně";
- }
- },
- formatSelectionTooBig: function (limit) {
- if (limit == 1) {
- return "Můžete zvolit jen jednu položku";
- } else if (limit <= 4) {
- return "Můžete zvolit maximálně "+smallNumbers[limit](false)+" položky";
- } else {
- return "Můžete zvolit maximálně "+limit+" položek";
- }
- },
- formatLoadMore: function (pageNumber) { return "NaÄítají se další výsledky..."; },
- formatSearching: function () { return "Vyhledávání..."; }
- });
-})(jQuery);
diff --git a/web/js/select2/select2_locale_da.js b/web/js/select2/select2_locale_da.js
deleted file mode 100644
index dbce3e174..000000000
--- a/web/js/select2/select2_locale_da.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Select2 Danish translation.
- *
- * Author: Anders Jenbo <anders@jenbo.dk>
- */
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "Ingen resultater fundet"; },
- formatInputTooShort: function (input, min) { var n = min - input.length; return "Angiv venligst " + n + " tegn mere"; },
- formatInputTooLong: function (input, max) { var n = input.length - max; return "Angiv venligst " + n + " tegn mindre"; },
- formatSelectionTooBig: function (limit) { return "Du kan kun vælge " + limit + " emne" + (limit === 1 ? "" : "r"); },
- formatLoadMore: function (pageNumber) { return "Indlæser flere resultater…"; },
- formatSearching: function () { return "Søger…"; }
- });
-})(jQuery);
diff --git a/web/js/select2/select2_locale_de.js b/web/js/select2/select2_locale_de.js
deleted file mode 100644
index 01f94ed4f..000000000
--- a/web/js/select2/select2_locale_de.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/**
- * Select2 German translation
- */
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "Keine Übereinstimmungen gefunden"; },
- formatInputTooShort: function (input, min) { var n = min - input.length; return "Bitte " + n + " Zeichen mehr eingeben"; },
- formatInputTooLong: function (input, max) { var n = input.length - max; return "Bitte " + n + " Zeichen weniger eingeben"; },
- formatSelectionTooBig: function (limit) { return "Sie können nur " + limit + " Eintr" + (limit === 1 ? "ag" : "äge") + " auswählen"; },
- formatLoadMore: function (pageNumber) { return "Lade mehr Ergebnisse..."; },
- formatSearching: function () { return "Suche..."; }
- });
-})(jQuery); \ No newline at end of file
diff --git a/web/js/select2/select2_locale_el.js b/web/js/select2/select2_locale_el.js
deleted file mode 100644
index 36e0f4d91..000000000
--- a/web/js/select2/select2_locale_el.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Select2 <Language> translation.
- *
- * Author: Your Name <your@email>
- */
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "Δεν βÏέθηκαν αποτελέσματα"; },
- formatInputTooShort: function (input, min) { var n = min - input.length; return "ΠαÏακαλοÏμε εισάγετε " + n + " πεÏισσότεÏο" + (n == 1 ? "" : "Ï…Ï‚") + " χαÏακτήÏ" + (n == 1 ? "α" : "ες"); },
- formatInputTooLong: function (input, max) { var n = input.length - max; return "ΠαÏακαλοÏμε διαγÏάψτε " + n + " χαÏακτήÏ" + (n == 1 ? "α" : "ες"); },
- formatSelectionTooBig: function (limit) { return "ΜποÏείτε να επιλέξετε μόνο " + limit + " αντικείμεν" + (limit == 1 ? "ο" : "α"); },
- formatLoadMore: function (pageNumber) { return "ΦόÏτωση πεÏισσότεÏων..."; },
- formatSearching: function () { return "Αναζήτηση..."; }
- });
-})(jQuery); \ No newline at end of file
diff --git a/web/js/select2/select2_locale_en.js.template b/web/js/select2/select2_locale_en.js.template
deleted file mode 100644
index f76b37498..000000000
--- a/web/js/select2/select2_locale_en.js.template
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Select2 <Language> translation.
- *
- * Author: Your Name <your@email>
- */
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "No matches found"; },
- formatInputTooShort: function (input, min) { var n = min - input.length; return "Please enter " + n + " more character" + (n == 1 ? "" : "s"); },
- formatInputTooLong: function (input, max) { var n = input.length - max; return "Please delete " + n + " character" + (n == 1 ? "" : "s"); },
- formatSelectionTooBig: function (limit) { return "You can only select " + limit + " item" + (limit == 1 ? "" : "s"); },
- formatLoadMore: function (pageNumber) { return "Loading more results..."; },
- formatSearching: function () { return "Searching..."; }
- });
-})(jQuery);
diff --git a/web/js/select2/select2_locale_es.js b/web/js/select2/select2_locale_es.js
deleted file mode 100644
index 241584caa..000000000
--- a/web/js/select2/select2_locale_es.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/**
- * Select2 Spanish translation
- */
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "No se encontraron resultados"; },
- formatInputTooShort: function (input, min) { var n = min - input.length; return "Por favor, introduzca " + n + " car" + (n == 1? "á" : "a") + "cter" + (n == 1? "" : "es"); },
- formatInputTooLong: function (input, max) { var n = input.length - max; return "Por favor, elimine " + n + " car" + (n == 1? "á" : "a") + "cter" + (n == 1? "" : "es"); },
- formatSelectionTooBig: function (limit) { return "Sólo puede seleccionar " + limit + " elemento" + (limit == 1 ? "" : "s"); },
- formatLoadMore: function (pageNumber) { return "Cargando más resultados..."; },
- formatSearching: function () { return "Buscando..."; }
- });
-})(jQuery);
diff --git a/web/js/select2/select2_locale_et.js b/web/js/select2/select2_locale_et.js
deleted file mode 100644
index a4045d22d..000000000
--- a/web/js/select2/select2_locale_et.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Select2 Estonian translation.
- *
- * Author: Kuldar Kalvik <kuldar@kalvik.ee>
- */
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "Tulemused puuduvad"; },
- formatInputTooShort: function (input, min) { var n = min - input.length; return "Sisesta " + n + " täht" + (n == 1 ? "" : "e") + " rohkem"; },
- formatInputTooLong: function (input, max) { var n = input.length - max; return "Sisesta " + n + " täht" + (n == 1? "" : "e") + " vähem"; },
- formatSelectionTooBig: function (limit) { return "Saad vaid " + limit + " tulemus" + (limit == 1 ? "e" : "t") + " valida"; },
- formatLoadMore: function (pageNumber) { return "Laen tulemusi.."; },
- formatSearching: function () { return "Otsin.."; }
- });
-})(jQuery);
diff --git a/web/js/select2/select2_locale_eu.js b/web/js/select2/select2_locale_eu.js
deleted file mode 100644
index 05665f5fc..000000000
--- a/web/js/select2/select2_locale_eu.js
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- * Select2 Basque translation.
- *
- * Author: Julen Ruiz Aizpuru <julenx at gmail dot com>
- */
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () {
- return "Ez da bat datorrenik aurkitu";
- },
- formatInputTooShort: function (input, min) {
- var n = min - input.length;
- if (n === 1) {
- return "Idatzi karaktere bat gehiago";
- } else {
- return "Idatzi " + n + " karaktere gehiago";
- }
- },
- formatInputTooLong: function (input, max) {
- var n = input.length - max;
- if (n === 1) {
- return "Idatzi karaktere bat gutxiago";
- } else {
- return "Idatzi " + n + " karaktere gutxiago";
- }
- },
- formatSelectionTooBig: function (limit) {
- if (limit === 1 ) {
- return "Elementu bakarra hauta dezakezu";
- } else {
- return limit + " elementu hauta ditzakezu soilik";
- }
- },
- formatLoadMore: function (pageNumber) {
- return "Emaitza gehiago kargatzen...";
- },
- formatSearching: function () {
- return "Bilatzen...";
- }
- });
-})(jQuery);
diff --git a/web/js/select2/select2_locale_fa.js b/web/js/select2/select2_locale_fa.js
deleted file mode 100644
index 5465fc8e0..000000000
--- a/web/js/select2/select2_locale_fa.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Select2 <fa> translation.
- *
- * Author: Ali Choopan <choopan@arsh.co>
- */
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "نتیجه‌ای ÛŒØ§ÙØª نشد."; },
- formatInputTooShort: function (input, min) { var n = min - input.length; return " Ù„Ø·ÙØ§ بیش از"+n+"کاراکتر وارد نمایید "; },
- formatInputTooLong: function (input, max) { var n = input.length - max; return " Ù„Ø·ÙØ§" + n + " کاراکتر را حذ٠کنید."; },
- formatSelectionTooBig: function (limit) { return "شما Ùقط می‌توانید " + limit + " مورد را انتخاب کنید"; },
- formatLoadMore: function (pageNumber) { return "در حال بارگذاری موارد بیشتر ..."; },
- formatSearching: function () { return "در حال جستجو"; }
- });
-})(jQuery);
diff --git a/web/js/select2/select2_locale_fi.js b/web/js/select2/select2_locale_fi.js
deleted file mode 100644
index b056e88ae..000000000
--- a/web/js/select2/select2_locale_fi.js
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Select2 Finnish translation
- */
-(function ($) {
- "use strict";
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () {
- return "Ei tuloksia";
- },
- formatInputTooShort: function (input, min) {
- var n = min - input.length;
- return "Ole hyvä ja anna " + n + " merkkiä lisää";
- },
- formatInputTooLong: function (input, max) {
- var n = input.length - max;
- return "Ole hyvä ja anna " + n + " merkkiä vähemmän";
- },
- formatSelectionTooBig: function (limit) {
- return "Voit valita ainoastaan " + limit + " kpl";
- },
- formatLoadMore: function (pageNumber) {
- return "Ladataan lisää tuloksia...";
- },
- formatSearching: function () {
- return "Etsitään...";
- }
- });
-})(jQuery);
diff --git a/web/js/select2/select2_locale_fr.js b/web/js/select2/select2_locale_fr.js
deleted file mode 100644
index f8d3e4841..000000000
--- a/web/js/select2/select2_locale_fr.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/**
- * Select2 French translation
- */
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "Aucun résultat trouvé"; },
- formatInputTooShort: function (input, min) { var n = min - input.length; return "Merci de saisir " + n + " caractère" + (n == 1? "" : "s") + " de plus"; },
- formatInputTooLong: function (input, max) { var n = input.length - max; return "Merci de supprimer " + n + " caractère" + (n == 1? "" : "s"); },
- formatSelectionTooBig: function (limit) { return "Vous pouvez seulement sélectionner " + limit + " élément" + (limit == 1 ? "" : "s"); },
- formatLoadMore: function (pageNumber) { return "Chargement de résultats supplémentaires..."; },
- formatSearching: function () { return "Recherche en cours..."; }
- });
-})(jQuery);
diff --git a/web/js/select2/select2_locale_gl.js b/web/js/select2/select2_locale_gl.js
deleted file mode 100644
index 1017c202e..000000000
--- a/web/js/select2/select2_locale_gl.js
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- * Select2 Galician translation
- *
- * Author: Leandro Regueiro <leandro.regueiro@gmail.com>
- */
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () {
- return "Non se atoparon resultados";
- },
- formatInputTooShort: function (input, min) {
- var n = min - input.length;
- if (n === 1) {
- return "Engada un carácter";
- } else {
- return "Engada " + n + " caracteres";
- }
- },
- formatInputTooLong: function (input, max) {
- var n = input.length - max;
- if (n === 1) {
- return "Elimine un carácter";
- } else {
- return "Elimine " + n + " caracteres";
- }
- },
- formatSelectionTooBig: function (limit) {
- if (limit === 1 ) {
- return "Só pode seleccionar un elemento";
- } else {
- return "Só pode seleccionar " + limit + " elementos";
- }
- },
- formatLoadMore: function (pageNumber) {
- return "Cargando máis resultados...";
- },
- formatSearching: function () {
- return "Buscando...";
- }
- });
-})(jQuery);
diff --git a/web/js/select2/select2_locale_he.js b/web/js/select2/select2_locale_he.js
deleted file mode 100644
index dd72eaa63..000000000
--- a/web/js/select2/select2_locale_he.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
-* Select2 Hebrew translation.
-*
-* Author: Yakir Sitbon <http://www.yakirs.net/>
-*/
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "×œ× × ×ž×¦×ו הת×מות"; },
- formatInputTooShort: function (input, min) { var n = min - input.length; return "× × ×œ×”×–×™×Ÿ עוד " + n + " ×ª×•×•×™× × ×•×¡×¤×™×"; },
- formatInputTooLong: function (input, max) { var n = input.length - max; return "× × ×œ×”×–×™×Ÿ פחות " + n + " תווי×"; },
- formatSelectionTooBig: function (limit) { return "ניתן לבחור " + limit + " פריטי×"; },
- formatLoadMore: function (pageNumber) { return "טוען תוצ×ות נוספות..."; },
- formatSearching: function () { return "מחפש..."; }
- });
-})(jQuery);
diff --git a/web/js/select2/select2_locale_hr.js b/web/js/select2/select2_locale_hr.js
deleted file mode 100644
index b0615405e..000000000
--- a/web/js/select2/select2_locale_hr.js
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * Select2 Croatian translation.
- *
- * Author: Edi Modrić <edi.modric@gmail.com>
- */
-(function ($) {
- "use strict";
-
- var specialNumbers = {
- 1: function(n) { return (n % 100 != 11 ? "znak" : "znakova"); },
- 2: function(n) { return (n % 100 != 12 ? "znaka" : "znakova"); },
- 3: function(n) { return (n % 100 != 13 ? "znaka" : "znakova"); },
- 4: function(n) { return (n % 100 != 14 ? "znaka" : "znakova"); }
- };
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "Nema rezultata"; },
- formatInputTooShort: function (input, min) {
- var n = min - input.length;
- var nMod10 = n % 10;
-
- if (nMod10 > 0 && nMod10 < 5) {
- return "Unesite još " + n + " " + specialNumbers[nMod10](n);
- }
-
- return "Unesite još " + n + " znakova";
- },
- formatInputTooLong: function (input, max) {
- var n = input.length - max;
- var nMod10 = n % 10;
-
- if (nMod10 > 0 && nMod10 < 5) {
- return "Unesite " + n + " " + specialNumbers[nMod10](n) + " manje";
- }
-
- return "Unesite " + n + " znakova manje";
- },
- formatSelectionTooBig: function (limit) { return "Maksimalan broj odabranih stavki je " + limit; },
- formatLoadMore: function (pageNumber) { return "UÄitavanje rezultata..."; },
- formatSearching: function () { return "Pretraga..."; }
- });
-})(jQuery);
diff --git a/web/js/select2/select2_locale_hu.js b/web/js/select2/select2_locale_hu.js
deleted file mode 100644
index 572dea96d..000000000
--- a/web/js/select2/select2_locale_hu.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/**
- * Select2 Hungarian translation
- */
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "Nincs találat."; },
- formatInputTooShort: function (input, min) { var n = min - input.length; return "Túl rövid. Még " + n + " karakter hiányzik."; },
- formatInputTooLong: function (input, max) { var n = input.length - max; return "Túl hosszú. " + n + " kerekterrel több mint kellene."; },
- formatSelectionTooBig: function (limit) { return "Csak " + limit + " elemet lehet kiválasztani."; },
- formatLoadMore: function (pageNumber) { return "Töltés..."; },
- formatSearching: function () { return "Keresés..."; }
- });
-})(jQuery);
diff --git a/web/js/select2/select2_locale_id.js b/web/js/select2/select2_locale_id.js
deleted file mode 100644
index 59a896ac5..000000000
--- a/web/js/select2/select2_locale_id.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Select2 Indonesian translation.
- *
- * Author: Ibrahim Yusuf <ibrahim7usuf@gmail.com>
- */
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "Tidak ada data yang sesuai"; },
- formatInputTooShort: function (input, min) { var n = min - input.length; return "Masukkan " + n + " huruf lagi" + (n == 1 ? "" : "s"); },
- formatInputTooLong: function (input, max) { var n = input.length - max; return "Hapus " + n + " huruf" + (n == 1 ? "" : "s"); },
- formatSelectionTooBig: function (limit) { return "Anda hanya dapat memilih " + limit + " pilihan" + (limit == 1 ? "" : "s"); },
- formatLoadMore: function (pageNumber) { return "Mengambil data..."; },
- formatSearching: function () { return "Mencari..."; }
- });
-})(jQuery);
diff --git a/web/js/select2/select2_locale_is.js b/web/js/select2/select2_locale_is.js
deleted file mode 100644
index b10073b5f..000000000
--- a/web/js/select2/select2_locale_is.js
+++ /dev/null
@@ -1,16 +0,0 @@
-/**
- * Select2 Icelandic translation.
- *
- */
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "Ekkert fannst"; },
- formatInputTooShort: function (input, min) { var n = min - input.length; return "Vinsamlegast skrifið " + n + " staf" + (n == 1 ? "" : "i") + " í viðbót"; },
- formatInputTooLong: function (input, max) { var n = input.length - max; return "Vinsamlegast styttið texta um " + n + " staf" + (n == 1 ? "" : "i"); },
- formatSelectionTooBig: function (limit) { return "Þú getur aðeins valið " + limit + " atriði"; },
- formatLoadMore: function (pageNumber) { return "Sæki fleiri niðurstöður..."; },
- formatSearching: function () { return "Leita..."; }
- });
-})(jQuery);
diff --git a/web/js/select2/select2_locale_it.js b/web/js/select2/select2_locale_it.js
deleted file mode 100644
index 98369dda2..000000000
--- a/web/js/select2/select2_locale_it.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/**
- * Select2 Italian translation
- */
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "Nessuna corrispondenza trovata"; },
- formatInputTooShort: function (input, min) { var n = min - input.length; return "Inserisci ancora " + n + " caratter" + (n == 1? "e" : "i"); },
- formatInputTooLong: function (input, max) { var n = input.length - max; return "Inserisci " + n + " caratter" + (n == 1? "e" : "i") + " in meno"; },
- formatSelectionTooBig: function (limit) { return "Puoi selezionare solo " + limit + " element" + (limit == 1 ? "o" : "i"); },
- formatLoadMore: function (pageNumber) { return "Caricamento in corso..."; },
- formatSearching: function () { return "Ricerca..."; }
- });
-})(jQuery); \ No newline at end of file
diff --git a/web/js/select2/select2_locale_ja.js b/web/js/select2/select2_locale_ja.js
deleted file mode 100644
index 81106e78a..000000000
--- a/web/js/select2/select2_locale_ja.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/**
- * Select2 Japanese translation.
- */
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "該当ãªã—"; },
- formatInputTooShort: function (input, min) { var n = min - input.length; return "後" + n + "文字入れã¦ãã ã•ã„"; },
- formatInputTooLong: function (input, max) { var n = input.length - max; return "検索文字列ãŒ" + n + "文字長ã™ãŽã¾ã™"; },
- formatSelectionTooBig: function (limit) { return "最多ã§" + limit + "é …ç›®ã¾ã§ã—ã‹é¸æŠžã§ãã¾ã›ã‚“"; },
- formatLoadMore: function (pageNumber) { return "読込中・・・"; },
- formatSearching: function () { return "検索中・・・"; }
- });
-})(jQuery);
diff --git a/web/js/select2/select2_locale_ko.js b/web/js/select2/select2_locale_ko.js
deleted file mode 100644
index 864906b6b..000000000
--- a/web/js/select2/select2_locale_ko.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Select2 <Language> translation.
- *
- * Author: Swen Mun <longfinfunnel@gmail.com>
- */
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "ê²°ê³¼ ì—†ìŒ"; },
- formatInputTooShort: function (input, min) { var n = min - input.length; return "너무 짧습니다. "+n+"ê¸€ìž ë” ìž…ë ¥í•´ì£¼ì„¸ìš”."; },
- formatInputTooLong: function (input, max) { var n = input.length - max; return "너무 ê¹ë‹ˆë‹¤. "+n+"ê¸€ìž ì§€ì›Œì£¼ì„¸ìš”."; },
- formatSelectionTooBig: function (limit) { return "최대 "+limit+"개까지만 ì„ íƒí•˜ì‹¤ 수 있습니다."; },
- formatLoadMore: function (pageNumber) { return "불러오는 중…"; },
- formatSearching: function () { return "검색 중…"; }
- });
-})(jQuery);
diff --git a/web/js/select2/select2_locale_lt.js b/web/js/select2/select2_locale_lt.js
deleted file mode 100644
index dbb1f09d5..000000000
--- a/web/js/select2/select2_locale_lt.js
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
- * Select2 lithuanian translation.
- *
- * Author: CRONUS Karmalakas <cronus dot karmalakas at gmail dot com>
- */
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "Atitikmenų nerasta"; },
- formatInputTooShort: function (input, min) {
- var n = min - input.length,
- suffix = (n % 10 == 1) && (n % 100 != 11) ? 'į' : (((n % 10 >= 2) && ((n % 100 < 10) || (n % 100 >= 20))) ? 'ius' : 'ių');
- return "Įrašykite dar " + n + " simbol" + suffix;
- },
- formatInputTooLong: function (input, max) {
- var n = input.length - max,
- suffix = (n % 10 == 1) && (n % 100 != 11) ? 'į' : (((n % 10 >= 2) && ((n % 100 < 10) || (n % 100 >= 20))) ? 'ius' : 'ių');
- return "Pašalinkite " + n + " simbol" + suffix;
- },
- formatSelectionTooBig: function (limit) {
- var n = limit,
- suffix = (n % 10 == 1) && (n % 100 != 11) ? 'ą' : (((n % 10 >= 2) && ((n % 100 < 10) || (n % 100 >= 20))) ? 'us' : 'ų');
- return "Jūs galite pasirinkti tik " + limit + " element" + suffix;
- },
- formatLoadMore: function (pageNumber) { return "Kraunama daugiau rezultatų..."; },
- formatSearching: function () { return "Ieškoma..."; }
- });
-})(jQuery);
diff --git a/web/js/select2/select2_locale_lv.js b/web/js/select2/select2_locale_lv.js
deleted file mode 100644
index 2c05cfdab..000000000
--- a/web/js/select2/select2_locale_lv.js
+++ /dev/null
@@ -1,16 +0,0 @@
-/**
- * Select2 Latvian translation
- */
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "Sakritību nav"; },
- formatInputTooShort: function (input, min) { var n = min - input.length; return "Lūdzu ievadiet vēl " + n + " simbol" + (n == 11 ? "us" : (/^\d*[1]$/im.test(n)? "u" : "us")); },
- formatInputTooLong: function (input, max) { var n = input.length - max; return "LÅ«dzu ievadiet par " + n + " simbol" + (n == 11 ? "iem" : (/^\d*[1]$/im.test(n)? "u" : "iem")) + " mazÄk"; },
- formatSelectionTooBig: function (limit) { return "JÅ«s varat izvÄ“lÄ“ties ne vairÄk kÄ " + limit + " element" + (limit == 11 ? "us" : (/^\d*[1]$/im.test(limit)? "u" : "us")); },
- formatLoadMore: function (pageNumber) { return "Datu ielÄde..."; },
- formatSearching: function () { return "Meklēšana..."; }
- });
-
-})(jQuery);
diff --git a/web/js/select2/select2_locale_mk.js b/web/js/select2/select2_locale_mk.js
deleted file mode 100644
index 69e3981ab..000000000
--- a/web/js/select2/select2_locale_mk.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Select2 Macedonian translation.
- *
- * Author: Marko Aleksic <psybaron@gmail.com>
- */
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "Ðема пронајдено Ñовпаѓања"; },
- formatInputTooShort: function (input, min) { var n = min - input.length; return "Ве молиме внеÑете уште " + n + " карактер" + (n == 1 ? "" : "и"); },
- formatInputTooLong: function (input, max) { var n = input.length - max; return "Ве молиме внеÑете " + n + " помалку карактер" + (n == 1? "" : "и"); },
- formatSelectionTooBig: function (limit) { return "Можете да изберете Ñамо " + limit + " Ñтавк" + (limit == 1 ? "а" : "и"); },
- formatLoadMore: function (pageNumber) { return "Вчитување резултати..."; },
- formatSearching: function () { return "Пребарување..."; }
- });
-})(jQuery); \ No newline at end of file
diff --git a/web/js/select2/select2_locale_ms.js b/web/js/select2/select2_locale_ms.js
deleted file mode 100644
index c7202e1dd..000000000
--- a/web/js/select2/select2_locale_ms.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Select2 Malay translation.
- *
- * Author: Kepoweran <kepoweran@gmail.com>
- */
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "Tiada padanan yang ditemui"; },
- formatInputTooShort: function (input, min) { var n = min - input.length; return "Sila masukkan " + n + " aksara lagi"; },
- formatInputTooLong: function (input, max) { var n = input.length - max; return "Sila hapuskan " + n + " aksara"; },
- formatSelectionTooBig: function (limit) { return "Anda hanya boleh memilih " + limit + " pilihan"; },
- formatLoadMore: function (pageNumber) { return "Sedang memuatkan keputusan..."; },
- formatSearching: function () { return "Mencari..."; }
- });
-})(jQuery);
diff --git a/web/js/select2/select2_locale_nl.js b/web/js/select2/select2_locale_nl.js
deleted file mode 100644
index 8061a28e1..000000000
--- a/web/js/select2/select2_locale_nl.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/**
- * Select2 Dutch translation
- */
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "Geen resultaten gevonden"; },
- formatInputTooShort: function (input, min) { var n = min - input.length; return "Vul " + n + " karakter" + (n == 1? "" : "s") + " meer in"; },
- formatInputTooLong: function (input, max) { var n = input.length - max; return "Vul " + n + " karakter" + (n == 1? "" : "s") + " minder in"; },
- formatSelectionTooBig: function (limit) { return "Maximaal " + limit + " item" + (limit == 1 ? "" : "s") + " toegestaan"; },
- formatLoadMore: function (pageNumber) { return "Meer resultaten laden..."; },
- formatSearching: function () { return "Zoeken..."; }
- });
-})(jQuery); \ No newline at end of file
diff --git a/web/js/select2/select2_locale_no.js b/web/js/select2/select2_locale_no.js
deleted file mode 100644
index 0831360f0..000000000
--- a/web/js/select2/select2_locale_no.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * Select2 Norwegian translation.
- *
- * Author: Torgeir Veimo <torgeir.veimo@gmail.com>
- */
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "Ingen treff"; },
- formatInputTooShort: function (input, min) { var n = min - input.length; return "Vennligst skriv inn " + n + (n>1 ? " flere tegn" : " tegn til"); },
- formatInputTooLong: function (input, max) { var n = input.length - max; return "Vennligst fjern " + n + " tegn"; },
- formatSelectionTooBig: function (limit) { return "Du kan velge maks " + limit + " elementer"; },
- formatLoadMore: function (pageNumber) { return "Laster flere resultater..."; },
- formatSearching: function () { return "Søker..."; }
- });
-})(jQuery);
-
diff --git a/web/js/select2/select2_locale_pl.js b/web/js/select2/select2_locale_pl.js
deleted file mode 100644
index 1d5b32730..000000000
--- a/web/js/select2/select2_locale_pl.js
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * Select2 Polish translation.
- *
- * Author: Jan Kondratowicz <jan@kondratowicz.pl>
- */
-(function ($) {
- "use strict";
-
- var pl_suffix = function(n) {
- if(n == 1) return "";
- if((n%100 > 1 && n%100 < 5) || (n%100 > 20 && n%10 > 1 && n%10 < 5)) return "i";
- return "ów";
- };
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () {
- return "Brak wyników.";
- },
- formatInputTooShort: function (input, min) {
- var n = min - input.length;
- return "Wpisz jeszcze " + n + " znak" + pl_suffix(n) + ".";
- },
- formatInputTooLong: function (input, max) {
- var n = input.length - max;
- return "Wpisana fraza jest za długa o " + n + " znak" + pl_suffix(n) + ".";
- },
- formatSelectionTooBig: function (limit) {
- return "Możesz zaznaczyć najwyżej " + limit + " element" + pl_suffix(limit) + ".";
- },
- formatLoadMore: function (pageNumber) {
- return "Åadowanie wyników...";
- },
- formatSearching: function () {
- return "Szukanie...";
- }
- });
-})(jQuery); \ No newline at end of file
diff --git a/web/js/select2/select2_locale_pt-BR.js b/web/js/select2/select2_locale_pt-BR.js
deleted file mode 100644
index 5b2ff2f05..000000000
--- a/web/js/select2/select2_locale_pt-BR.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/**
- * Select2 Brazilian Portuguese translation
- */
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "Nenhum resultado encontrado"; },
- formatInputTooShort: function (input, min) { var n = min - input.length; return "Informe " + n + " caractere" + (n == 1? "" : "s"); },
- formatInputTooLong: function (input, max) { var n = input.length - max; return "Apague " + n + " caractere" + (n == 1? "" : "s"); },
- formatSelectionTooBig: function (limit) { return "Só é possível selecionar " + limit + " elemento" + (limit == 1 ? "" : "s"); },
- formatLoadMore: function (pageNumber) { return "Carregando mais resultados..."; },
- formatSearching: function () { return "Buscando..."; }
- });
-})(jQuery);
diff --git a/web/js/select2/select2_locale_pt-PT.js b/web/js/select2/select2_locale_pt-PT.js
deleted file mode 100644
index 1a40e800b..000000000
--- a/web/js/select2/select2_locale_pt-PT.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/**
- * Select2 Portuguese (Portugal) translation
- */
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "Nenhum resultado encontrado"; },
- formatInputTooShort: function (input, min) { var n = min - input.length; return "Introduza " + n + " car" + (n == 1 ? "ácter" : "acteres"); },
- formatInputTooLong: function (input, max) { var n = input.length - max; return "Apague " + n + " car" + (n == 1 ? "ácter" : "acteres"); },
- formatSelectionTooBig: function (limit) { return "Só é possível selecionar " + limit + " elemento" + (limit == 1 ? "" : "s"); },
- formatLoadMore: function (pageNumber) { return "A carregar mais resultados..."; },
- formatSearching: function () { return "A pesquisar..."; }
- });
-})(jQuery);
diff --git a/web/js/select2/select2_locale_ro.js b/web/js/select2/select2_locale_ro.js
deleted file mode 100644
index 88b3ac413..000000000
--- a/web/js/select2/select2_locale_ro.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/**
- * Select2 Romanian translation.
- */
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "Nu a fost găsit nimic"; },
- formatInputTooShort: function (input, min) { var n = min - input.length; return "Vă rugăm să introduceți incă " + n + " caracter" + (n == 1 ? "" : "e"); },
- formatInputTooLong: function (input, max) { var n = input.length - max; return "Vă rugăm să introduceți mai puțin de " + n + " caracter" + (n == 1? "" : "e"); },
- formatSelectionTooBig: function (limit) { return "Aveți voie să selectați cel mult " + limit + " element" + (limit == 1 ? "" : "e"); },
- formatLoadMore: function (pageNumber) { return "Se încarcă..."; },
- formatSearching: function () { return "Căutare..."; }
- });
-})(jQuery);
diff --git a/web/js/select2/select2_locale_ru.js b/web/js/select2/select2_locale_ru.js
deleted file mode 100644
index 3da956a8c..000000000
--- a/web/js/select2/select2_locale_ru.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/**
- * Select2 Russian translation
- */
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "Совпадений не найдено"; },
- formatInputTooShort: function (input, min) { var n = min - input.length; return "ПожалуйÑта, введите еще " + n + " Ñимвол" + (n == 1 ? "" : ((n > 1)&&(n < 5) ? "а" : "ов")); },
- formatInputTooLong: function (input, max) { var n = input.length - max; return "ПожалуйÑта, введите на " + n + " Ñимвол" + (n == 1 ? "" : ((n > 1)&&(n < 5)? "а" : "ов")) + " меньше"; },
- formatSelectionTooBig: function (limit) { return "Ð’Ñ‹ можете выбрать не более " + limit + " Ñлемент" + (limit == 1 ? "а" : "ов"); },
- formatLoadMore: function (pageNumber) { return "Загрузка данных..."; },
- formatSearching: function () { return "ПоиÑк..."; }
- });
-})(jQuery);
diff --git a/web/js/select2/select2_locale_sk.js b/web/js/select2/select2_locale_sk.js
deleted file mode 100644
index 8d4e46afe..000000000
--- a/web/js/select2/select2_locale_sk.js
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * Select2 Slovak translation.
- *
- * Author: David Vallner <david@vallner.net>
- */
-(function ($) {
- "use strict";
- // use text for the numbers 2 through 4
- var smallNumbers = {
- 2: function(masc) { return (masc ? "dva" : "dve"); },
- 3: function() { return "tri"; },
- 4: function() { return "štyri"; }
- }
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "Nenašli sa žiadne položky"; },
- formatInputTooShort: function (input, min) {
- var n = min - input.length;
- if (n == 1) {
- return "Prosím zadajte ešte jeden znak";
- } else if (n <= 4) {
- return "Prosím zadajte eÅ¡te ÄalÅ¡ie "+smallNumbers[n](true)+" znaky";
- } else {
- return "Prosím zadajte eÅ¡te Äalších "+n+" znakov";
- }
- },
- formatInputTooLong: function (input, max) {
- var n = input.length - max;
- if (n == 1) {
- return "Prosím zadajte o jeden znak menej";
- } else if (n <= 4) {
- return "Prosím zadajte o "+smallNumbers[n](true)+" znaky menej";
- } else {
- return "Prosím zadajte o "+n+" znakov menej";
- }
- },
- formatSelectionTooBig: function (limit) {
- if (limit == 1) {
- return "Môžete zvoliť len jednu položku";
- } else if (limit <= 4) {
- return "Môžete zvoliť najviac "+smallNumbers[limit](false)+" položky";
- } else {
- return "Môžete zvoliť najviac "+limit+" položiek";
- }
- },
- formatLoadMore: function (pageNumber) { return "NaÄítavajú sa ÄalÅ¡ie výsledky..."; },
- formatSearching: function () { return "Vyhľadávanie..."; }
- });
-})(jQuery);
diff --git a/web/js/select2/select2_locale_sv.js b/web/js/select2/select2_locale_sv.js
deleted file mode 100644
index 9f09de30f..000000000
--- a/web/js/select2/select2_locale_sv.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Select2 Swedish translation.
- *
- * Author: Jens Rantil <jens.rantil@telavox.com>
- */
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "Inga träffar"; },
- formatInputTooShort: function (input, min) { var n = min - input.length; return "Var god skriv in " + n + (n>1 ? " till tecken" : " tecken till"); },
- formatInputTooLong: function (input, max) { var n = input.length - max; return "Var god sudda ut " + n + " tecken"; },
- formatSelectionTooBig: function (limit) { return "Du kan max välja " + limit + " element"; },
- formatLoadMore: function (pageNumber) { return "Laddar fler resultat..."; },
- formatSearching: function () { return "Söker..."; }
- });
-})(jQuery);
diff --git a/web/js/select2/select2_locale_th.js b/web/js/select2/select2_locale_th.js
deleted file mode 100644
index 6b38b1581..000000000
--- a/web/js/select2/select2_locale_th.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Select2 Thai translation.
- *
- * Author: Atsawin Chaowanakritsanakul <joke@nakhon.net>
- */
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "ไม่พบข้อมูล"; },
- formatInputTooShort: function (input, min) { var n = min - input.length; return "โปรดพิมพ์เพิ่มอีภ" + n + " ตัวอัà¸à¸©à¸£"; },
- formatInputTooLong: function (input, max) { var n = input.length - max; return "โปรดลบออภ" + n + " ตัวอัà¸à¸©à¸£"; },
- formatSelectionTooBig: function (limit) { return "คุณสามารถเลือà¸à¹„ด้ไม่เà¸à¸´à¸™ " + limit + " รายà¸à¸²à¸£"; },
- formatLoadMore: function (pageNumber) { return "à¸à¸³à¸¥à¸±à¸‡à¸„้นข้อมูลเพิ่ม..."; },
- formatSearching: function () { return "à¸à¸³à¸¥à¸±à¸‡à¸„้นข้อมูล..."; }
- });
-})(jQuery);
diff --git a/web/js/select2/select2_locale_tr.js b/web/js/select2/select2_locale_tr.js
deleted file mode 100644
index b47a2fad6..000000000
--- a/web/js/select2/select2_locale_tr.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Select2 Turkish translation.
- *
- * Author: Salim KAYABAÅžI <salim.kayabasi@gmail.com>
- */
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "Sonuç bulunamadı"; },
- formatInputTooShort: function (input, min) { var n = min - input.length; return "En az " + n + " karakter daha girmelisiniz"; },
- formatInputTooLong: function (input, max) { var n = input.length - max; return n + " karakter azaltmalısınız"; },
- formatSelectionTooBig: function (limit) { return "Sadece " + limit + " seçim yapabilirsiniz"; },
- formatLoadMore: function (pageNumber) { return "Daha fazla..."; },
- formatSearching: function () { return "Aranıyor..."; }
- });
-})(jQuery);
diff --git a/web/js/select2/select2_locale_ua.js b/web/js/select2/select2_locale_ua.js
deleted file mode 100644
index 58d31e762..000000000
--- a/web/js/select2/select2_locale_ua.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Select2 <Language> translation.
- *
- * Author: bigmihail <bigmihail@bigmir.net>
- */
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "Ðічого не знайдено"; },
- formatInputTooShort: function (input, min) { var n = min - input.length, s = ["", "и", "ів"], p = [2,0,1,1,1,2]; return "Введіть буль лаÑка ще " + n + " Ñимвол" + s[ (n%100>4 && n%100<=20)? 2 : p[Math.min(n%10, 5)] ]; },
- formatInputTooLong: function (input, max) { var n = input.length - max, s = ["", "и", "ів"], p = [2,0,1,1,1,2]; return "Введіть буль лаÑка на " + n + " Ñимвол" + s[ (n%100>4 && n%100<=20)? 2 : p[Math.min(n%10, 5)] ] + " менше"; },
- formatSelectionTooBig: function (limit) {var s = ["", "и", "ів"], p = [2,0,1,1,1,2]; return "Ви можете вибрати лише " + limit + " елемент" + s[ (limit%100>4 && limit%100<=20)? 2 : p[Math.min(limit%10, 5)] ]; },
- formatLoadMore: function (pageNumber) { return "Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ…..."; },
- formatSearching: function () { return "Пошук..."; }
- });
-})(jQuery);
diff --git a/web/js/select2/select2_locale_vi.js b/web/js/select2/select2_locale_vi.js
deleted file mode 100644
index 0a45dfc9c..000000000
--- a/web/js/select2/select2_locale_vi.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * Select2 Vietnamese translation.
- *
- * Author: Long Nguyen <olragon@gmail.com>
- */
-(function ($) {
- "use strict";
-
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "Không tìm thấy kết quả"; },
- formatInputTooShort: function (input, min) { var n = min - input.length; return "Vui lòng nhập nhiá»u hÆ¡n " + n + " ký tá»±" + (n == 1 ? "" : "s"); },
- formatInputTooLong: function (input, max) { var n = input.length - max; return "Vui lòng nhập ít hơn " + n + " ký tự" + (n == 1? "" : "s"); },
- formatSelectionTooBig: function (limit) { return "Chỉ có thể chá»n được " + limit + " tùy chá»n" + (limit == 1 ? "" : "s"); },
- formatLoadMore: function (pageNumber) { return "Äang lấy thêm kết quả..."; },
- formatSearching: function () { return "Äang tìm..."; }
- });
-})(jQuery);
-
diff --git a/web/js/select2/select2_locale_zh-CN.js b/web/js/select2/select2_locale_zh-CN.js
deleted file mode 100644
index 49d8e5994..000000000
--- a/web/js/select2/select2_locale_zh-CN.js
+++ /dev/null
@@ -1,14 +0,0 @@
-/**
- * Select2 Chinese translation
- */
-(function ($) {
- "use strict";
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "没有找到匹é…项"; },
- formatInputTooShort: function (input, min) { var n = min - input.length; return "请å†è¾“å…¥" + n + "个字符";},
- formatInputTooLong: function (input, max) { var n = input.length - max; return "请删掉" + n + "个字符";},
- formatSelectionTooBig: function (limit) { return "ä½ åªèƒ½é€‰æ‹©æœ€å¤š" + limit + "项"; },
- formatLoadMore: function (pageNumber) { return "加载结果中..."; },
- formatSearching: function () { return "æœç´¢ä¸­..."; }
- });
-})(jQuery);
diff --git a/web/js/select2/select2_locale_zh-TW.js b/web/js/select2/select2_locale_zh-TW.js
deleted file mode 100755
index 3d447d68a..000000000
--- a/web/js/select2/select2_locale_zh-TW.js
+++ /dev/null
@@ -1,14 +0,0 @@
-/**
- * Select2 Traditional Chinese translation
- */
-(function ($) {
- "use strict";
- $.extend($.fn.select2.defaults, {
- formatNoMatches: function () { return "沒有找到相符的項目"; },
- formatInputTooShort: function (input, min) { var n = min - input.length; return "è«‹å†è¼¸å…¥" + n + "個字元";},
- formatInputTooLong: function (input, max) { var n = input.length - max; return "請刪掉" + n + "個字元";},
- formatSelectionTooBig: function (limit) { return "ä½ åªèƒ½é¸æ“‡æœ€å¤š" + limit + "é …"; },
- formatLoadMore: function (pageNumber) { return "載入中..."; },
- formatSearching: function () { return "æœå°‹ä¸­..."; }
- });
-})(jQuery);
diff --git a/web/js/select2/select2x2.png b/web/js/select2/select2x2.png
deleted file mode 100644
index 4bdd5c961..000000000
--- a/web/js/select2/select2x2.png
+++ /dev/null
Binary files differ
diff --git a/web/js/OpenLayers.Projection.OrdnanceSurvey.js b/web/vendor/OpenLayers.Projection.OrdnanceSurvey.js
index 85574d8e0..85574d8e0 100644
--- a/web/js/OpenLayers.Projection.OrdnanceSurvey.js
+++ b/web/vendor/OpenLayers.Projection.OrdnanceSurvey.js
diff --git a/web/js/OpenLayers/OpenLayers.angus.js b/web/vendor/OpenLayers/OpenLayers.angus.js
index 9b4942176..9b4942176 100644
--- a/web/js/OpenLayers/OpenLayers.angus.js
+++ b/web/vendor/OpenLayers/OpenLayers.angus.js
diff --git a/web/js/OpenLayers/OpenLayers.bristol.js b/web/vendor/OpenLayers/OpenLayers.bristol.js
index 0404c077d..0404c077d 100644
--- a/web/js/OpenLayers/OpenLayers.bristol.js
+++ b/web/vendor/OpenLayers/OpenLayers.bristol.js
diff --git a/web/js/OpenLayers/OpenLayers.fixmystreet.js b/web/vendor/OpenLayers/OpenLayers.fixmystreet.js
index df0a88c98..df0a88c98 100644
--- a/web/js/OpenLayers/OpenLayers.fixmystreet.js
+++ b/web/vendor/OpenLayers/OpenLayers.fixmystreet.js
diff --git a/web/js/OpenLayers/OpenLayers.google.js b/web/vendor/OpenLayers/OpenLayers.google.js
index 7a36bf960..7a36bf960 100644
--- a/web/js/OpenLayers/OpenLayers.google.js
+++ b/web/vendor/OpenLayers/OpenLayers.google.js
diff --git a/web/vendor/OpenLayers/OpenLayers.zurich.js b/web/vendor/OpenLayers/OpenLayers.zurich.js
new file mode 100644
index 000000000..d3bc0179c
--- /dev/null
+++ b/web/vendor/OpenLayers/OpenLayers.zurich.js
@@ -0,0 +1,620 @@
+/*
+
+ OpenLayers.js -- OpenLayers Map Viewer Library
+
+ Copyright (c) 2006-2015 by OpenLayers Contributors
+ Published under the 2-clause BSD license.
+ See https://raw.githubusercontent.com/openlayers/ol2/master/license.txt for the full text of the license,
+ and https://raw.githubusercontent.com/openlayers/ol2/master/authors.txt for full list of contributors.
+
+ Includes compressed code under the following licenses:
+
+ (For uncompressed versions of the code used, please see the
+ OpenLayers Github repository: <https://github.com/openlayers/ol2>)
+
+*/
+
+/**
+ * Contains XMLHttpRequest.js <http://code.google.com/p/xmlhttprequest/>
+ * Copyright 2007 Sergey Ilinsky (http://www.ilinsky.com)
+ *
+ * Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
+ */
+
+/**
+ * OpenLayers.Util.pagePosition is based on Yahoo's getXY method, which is
+ * Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+ * Code licensed under the BSD License:
+ * http://developer.yahoo.com/yui/license.html
+ */
+var OpenLayers={VERSION_NUMBER:"Release 2.14 dev",singleFile:!0,_getScriptLocation:function(){for(var a=/(^|(.*?\/))(OpenLayers[^\/]*?\.js)(\?|$)/,b=document.getElementsByTagName("script"),c,d="",e=0,f=b.length;e<f;e++)if(c=b[e].getAttribute("src"))if(c=c.match(a)){d=c[1];break}return function(){return d}}(),ImgPath:""};OpenLayers.Class=function(){var a=arguments.length,b=arguments[0],c=arguments[a-1],d="function"==typeof c.initialize?c.initialize:function(){b.prototype.initialize.apply(this,arguments)};1<a?(a=[d,b].concat(Array.prototype.slice.call(arguments).slice(1,a-1),c),OpenLayers.inherit.apply(null,a)):d.prototype=c;return d};
+OpenLayers.inherit=function(a,b){var c=function(){};c.prototype=b.prototype;a.prototype=new c;var d;c=2;for(d=arguments.length;c<d;c++){var e=arguments[c];"function"===typeof e&&(e=e.prototype);OpenLayers.Util.extend(a.prototype,e)}};OpenLayers.Util=OpenLayers.Util||{};OpenLayers.Util.extend=function(a,b){a=a||{};if(b){for(var c in b){var d=b[c];void 0!==d&&(a[c]=d)}"function"==typeof window.Event&&b instanceof window.Event||!b.hasOwnProperty||!b.hasOwnProperty("toString")||(a.toString=b.toString)}return a};OpenLayers.String={startsWith:function(a,b){return 0==a.indexOf(b)},contains:function(a,b){return-1!=a.indexOf(b)},trim:function(a){return a.replace(/^\s\s*/,"").replace(/\s\s*$/,"")},camelize:function(a){a=a.split("-");for(var b=a[0],c=1,d=a.length;c<d;c++){var e=a[c];b+=e.charAt(0).toUpperCase()+e.substring(1)}return b},format:function(a,b,c){b||(b=window);return a.replace(OpenLayers.String.tokenRegEx,function(a,e){var d;a=e.split(/\.+/);for(e=0;e<a.length;e++){0==e&&(d=b);if(void 0===d)break;d=
+d[a[e]]}"function"==typeof d&&(d=c?d.apply(null,c):d());return"undefined"==typeof d?"undefined":d})},tokenRegEx:/\$\{([\w.]+?)\}/g,numberRegEx:/^([+-]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/,isNumeric:function(a){return OpenLayers.String.numberRegEx.test(a)},numericIf:function(a,b){var c=a;!0===b&&null!=a&&a.replace&&(a=a.replace(/^\s*|\s*$/g,""));return OpenLayers.String.isNumeric(a)?parseFloat(a):c}};
+OpenLayers.Number={decimalSeparator:".",thousandsSeparator:",",limitSigDigs:function(a,b){var c=0;0<b&&(c=parseFloat(a.toPrecision(b)));return c},format:function(a,b,c,d){b="undefined"!=typeof b?b:0;c="undefined"!=typeof c?c:OpenLayers.Number.thousandsSeparator;d="undefined"!=typeof d?d:OpenLayers.Number.decimalSeparator;null!=b&&(a=parseFloat(a.toFixed(b)));var e=a.toString().split(".");1==e.length&&null==b&&(b=0);a=e[0];if(c)for(var f=/(-?[0-9]+)([0-9]{3})/;f.test(a);)a=a.replace(f,"$1"+c+"$2");
+0==b?b=a:(c=1<e.length?e[1]:"0",null!=b&&(c+=Array(b-c.length+1).join("0")),b=a+d+c);return b},zeroPad:function(a,b,c){for(a=a.toString(c||10);a.length<b;)a="0"+a;return a}};OpenLayers.Function={bind:function(a,b){var c=Array.prototype.slice.call(arguments,2);return function(){var d=c.concat(Array.prototype.slice.call(arguments,0));return a.apply(b,d)}},bindAsEventListener:function(a,b){return function(c){return a.call(b,c||window.event)}},False:function(){return!1},True:function(){return!0},Void:function(){}};
+OpenLayers.Array={filter:function(a,b,c){var d=[];if(Array.prototype.filter)d=a.filter(b,c);else{var e=a.length;if("function"!=typeof b)throw new TypeError;for(var f=0;f<e;f++)if(f in a){var g=a[f];b.call(c,g,f,a)&&d.push(g)}}return d}};OpenLayers.Bounds=OpenLayers.Class({left:null,bottom:null,right:null,top:null,centerLonLat:null,initialize:function(a,b,c,d){OpenLayers.Util.isArray(a)&&(d=a[3],c=a[2],b=a[1],a=a[0]);null!=a&&(this.left=OpenLayers.Util.toFloat(a));null!=b&&(this.bottom=OpenLayers.Util.toFloat(b));null!=c&&(this.right=OpenLayers.Util.toFloat(c));null!=d&&(this.top=OpenLayers.Util.toFloat(d))},clone:function(){return new OpenLayers.Bounds(this.left,this.bottom,this.right,this.top)},equals:function(a){var b=!1;null!=
+a&&(b=this.left==a.left&&this.right==a.right&&this.top==a.top&&this.bottom==a.bottom);return b},toString:function(){return[this.left,this.bottom,this.right,this.top].join()},toArray:function(a){return!0===a?[this.bottom,this.left,this.top,this.right]:[this.left,this.bottom,this.right,this.top]},toBBOX:function(a,b){null==a&&(a=6);var c=Math.pow(10,a);a=Math.round(this.left*c)/c;var d=Math.round(this.bottom*c)/c,e=Math.round(this.right*c)/c;c=Math.round(this.top*c)/c;return!0===b?d+","+a+","+c+","+
+e:a+","+d+","+e+","+c},toGeometry:function(){return new OpenLayers.Geometry.Polygon([new OpenLayers.Geometry.LinearRing([new OpenLayers.Geometry.Point(this.left,this.bottom),new OpenLayers.Geometry.Point(this.right,this.bottom),new OpenLayers.Geometry.Point(this.right,this.top),new OpenLayers.Geometry.Point(this.left,this.top)])])},getWidth:function(){return this.right-this.left},getHeight:function(){return this.top-this.bottom},getSize:function(){return new OpenLayers.Size(this.getWidth(),this.getHeight())},
+getCenterPixel:function(){return new OpenLayers.Pixel((this.left+this.right)/2,(this.bottom+this.top)/2)},getCenterLonLat:function(){this.centerLonLat||(this.centerLonLat=new OpenLayers.LonLat((this.left+this.right)/2,(this.bottom+this.top)/2));return this.centerLonLat},scale:function(a,b){null==b&&(b=this.getCenterLonLat());if("OpenLayers.LonLat"==b.CLASS_NAME){var c=b.lon;b=b.lat}else c=b.x,b=b.y;return new OpenLayers.Bounds((this.left-c)*a+c,(this.bottom-b)*a+b,(this.right-c)*a+c,(this.top-b)*
+a+b)},add:function(a,b){if(null==a||null==b)throw new TypeError("Bounds.add cannot receive null values");return new OpenLayers.Bounds(this.left+a,this.bottom+b,this.right+a,this.top+b)},extend:function(a){if(a)switch(a.CLASS_NAME){case "OpenLayers.LonLat":this.extendXY(a.lon,a.lat);break;case "OpenLayers.Geometry.Point":this.extendXY(a.x,a.y);break;case "OpenLayers.Bounds":this.centerLonLat=null;if(null==this.left||a.left<this.left)this.left=a.left;if(null==this.bottom||a.bottom<this.bottom)this.bottom=
+a.bottom;if(null==this.right||a.right>this.right)this.right=a.right;if(null==this.top||a.top>this.top)this.top=a.top}},extendXY:function(a,b){this.centerLonLat=null;if(null==this.left||a<this.left)this.left=a;if(null==this.bottom||b<this.bottom)this.bottom=b;if(null==this.right||a>this.right)this.right=a;if(null==this.top||b>this.top)this.top=b},containsLonLat:function(a,b){"boolean"===typeof b&&(b={inclusive:b});b=b||{};var c=this.contains(a.lon,a.lat,b.inclusive),d=b.worldBounds;d&&!c&&(c=d.getWidth(),
+c=this.containsLonLat({lon:a.lon-Math.round((a.lon-(d.left+d.right)/2)/c)*c,lat:a.lat},{inclusive:b.inclusive}));return c},containsPixel:function(a,b){return this.contains(a.x,a.y,b)},contains:function(a,b,c){null==c&&(c=!0);if(null==a||null==b)return!1;a=OpenLayers.Util.toFloat(a);b=OpenLayers.Util.toFloat(b);return c?a>=this.left&&a<=this.right&&b>=this.bottom&&b<=this.top:a>this.left&&a<this.right&&b>this.bottom&&b<this.top},intersectsBounds:function(a,b){"boolean"===typeof b&&(b={inclusive:b});
+b=b||{};if(b.worldBounds){var c=this.wrapDateLine(b.worldBounds);a=a.wrapDateLine(b.worldBounds)}else c=this;null==b.inclusive&&(b.inclusive=!0);var d=!1,e=c.left==a.right||c.right==a.left||c.top==a.bottom||c.bottom==a.top;if(b.inclusive||!e){d=a.top>=c.bottom&&a.top<=c.top||c.top>a.bottom&&c.top<a.top;e=a.left>=c.left&&a.left<=c.right||c.left>=a.left&&c.left<=a.right;var f=a.right>=c.left&&a.right<=c.right||c.right>=a.left&&c.right<=a.right;d=(a.bottom>=c.bottom&&a.bottom<=c.top||c.bottom>=a.bottom&&
+c.bottom<=a.top||d)&&(e||f)}if(b.worldBounds&&!d){var g=b.worldBounds;e=g.getWidth();f=!g.containsBounds(c);g=!g.containsBounds(a);f&&!g?(a=a.add(-e,0),d=c.intersectsBounds(a,{inclusive:b.inclusive})):g&&!f&&(c=c.add(-e,0),d=a.intersectsBounds(c,{inclusive:b.inclusive}))}return d},containsBounds:function(a,b,c){null==b&&(b=!1);null==c&&(c=!0);var d=this.contains(a.left,a.bottom,c),e=this.contains(a.right,a.bottom,c),f=this.contains(a.left,a.top,c);a=this.contains(a.right,a.top,c);return b?d||e||f||
+a:d&&e&&f&&a},determineQuadrant:function(a){var b="",c=this.getCenterLonLat();b+=a.lat<c.lat?"b":"t";return b+=a.lon<c.lon?"l":"r"},transform:function(a,b){this.centerLonLat=null;var c=OpenLayers.Projection.transform({x:this.left,y:this.bottom},a,b),d=OpenLayers.Projection.transform({x:this.right,y:this.bottom},a,b),e=OpenLayers.Projection.transform({x:this.left,y:this.top},a,b);a=OpenLayers.Projection.transform({x:this.right,y:this.top},a,b);this.left=Math.min(c.x,e.x);this.bottom=Math.min(c.y,d.y);
+this.right=Math.max(d.x,a.x);this.top=Math.max(e.y,a.y);return this},wrapDateLine:function(a,b){b=b||{};var c=b.leftTolerance||0;b=b.rightTolerance||0;var d=this.clone();if(a){for(var e=a.getWidth();d.left<a.left&&d.right-b<=a.left;)d=d.add(e,0);for(;d.left+c>=a.right&&d.right>a.right;)d=d.add(-e,0);c=d.left+c;c<a.right&&c>a.left&&d.right-b>a.right&&(d=d.add(-e,0))}return d},CLASS_NAME:"OpenLayers.Bounds"});
+OpenLayers.Bounds.fromString=function(a,b){a=a.split(",");return OpenLayers.Bounds.fromArray(a,b)};OpenLayers.Bounds.fromArray=function(a,b){return!0===b?new OpenLayers.Bounds(a[1],a[0],a[3],a[2]):new OpenLayers.Bounds(a[0],a[1],a[2],a[3])};OpenLayers.Bounds.fromSize=function(a){return new OpenLayers.Bounds(0,a.h,a.w,0)};OpenLayers.Bounds.oppositeQuadrant=function(a){var b=""+("t"==a.charAt(0)?"b":"t");return b+="l"==a.charAt(1)?"r":"l"};OpenLayers.Element={visible:function(a){return"none"!=OpenLayers.Util.getElement(a).style.display},toggle:function(){for(var a=0,b=arguments.length;a<b;a++){var c=OpenLayers.Util.getElement(arguments[a]),d=OpenLayers.Element.visible(c)?"none":"";c.style.display=d}},remove:function(a){a=OpenLayers.Util.getElement(a);a.parentNode.removeChild(a)},getHeight:function(a){a=OpenLayers.Util.getElement(a);return a.offsetHeight},hasClass:function(a,b){a=a.className;return!!a&&(new RegExp("(^|\\s)"+b+"(\\s|$)")).test(a)},
+addClass:function(a,b){OpenLayers.Element.hasClass(a,b)||(a.className+=(a.className?" ":"")+b);return a},removeClass:function(a,b){var c=a.className;c&&(a.className=OpenLayers.String.trim(c.replace(new RegExp("(^|\\s+)"+b+"(\\s+|$)")," ")));return a},toggleClass:function(a,b){OpenLayers.Element.hasClass(a,b)?OpenLayers.Element.removeClass(a,b):OpenLayers.Element.addClass(a,b);return a},getStyle:function(a,b){a=OpenLayers.Util.getElement(a);var c=null;if(a&&a.style){c=a.style[OpenLayers.String.camelize(b)];
+c||(document.defaultView&&document.defaultView.getComputedStyle?c=(c=document.defaultView.getComputedStyle(a,null))?c.getPropertyValue(b):null:a.currentStyle&&(c=a.currentStyle[OpenLayers.String.camelize(b)]));var d=["left","top","right","bottom"];window.opera&&-1!=OpenLayers.Util.indexOf(d,b)&&"static"==OpenLayers.Element.getStyle(a,"position")&&(c="auto")}return"auto"==c?null:c}};OpenLayers.LonLat=OpenLayers.Class({lon:0,lat:0,initialize:function(a,b){OpenLayers.Util.isArray(a)&&(b=a[1],a=a[0]);this.lon=OpenLayers.Util.toFloat(a);this.lat=OpenLayers.Util.toFloat(b)},toString:function(){return"lon="+this.lon+",lat="+this.lat},toShortString:function(){return this.lon+", "+this.lat},clone:function(){return new OpenLayers.LonLat(this.lon,this.lat)},add:function(a,b){if(null==a||null==b)throw new TypeError("LonLat.add cannot receive null values");return new OpenLayers.LonLat(this.lon+
+OpenLayers.Util.toFloat(a),this.lat+OpenLayers.Util.toFloat(b))},equals:function(a){var b=!1;null!=a&&(b=this.lon==a.lon&&this.lat==a.lat||isNaN(this.lon)&&isNaN(this.lat)&&isNaN(a.lon)&&isNaN(a.lat));return b},transform:function(a,b){a=OpenLayers.Projection.transform({x:this.lon,y:this.lat},a,b);this.lon=a.x;this.lat=a.y;return this},wrapDateLine:function(a){var b=this.clone();if(a){for(;b.lon<a.left;)b.lon+=a.getWidth();for(;b.lon>a.right;)b.lon-=a.getWidth()}return b},CLASS_NAME:"OpenLayers.LonLat"});
+OpenLayers.LonLat.fromString=function(a){a=a.split(",");return new OpenLayers.LonLat(a[0],a[1])};OpenLayers.LonLat.fromArray=function(a){var b=OpenLayers.Util.isArray(a);return new OpenLayers.LonLat(b&&a[0],b&&a[1])};OpenLayers.Pixel=OpenLayers.Class({x:0,y:0,initialize:function(a,b){this.x=parseFloat(a);this.y=parseFloat(b)},toString:function(){return"x="+this.x+",y="+this.y},clone:function(){return new OpenLayers.Pixel(this.x,this.y)},equals:function(a){var b=!1;null!=a&&(b=this.x==a.x&&this.y==a.y||isNaN(this.x)&&isNaN(this.y)&&isNaN(a.x)&&isNaN(a.y));return b},distanceTo:function(a){return Math.sqrt(Math.pow(this.x-a.x,2)+Math.pow(this.y-a.y,2))},add:function(a,b){if(null==a||null==b)throw new TypeError("Pixel.add cannot receive null values");
+return new OpenLayers.Pixel(this.x+a,this.y+b)},offset:function(a){var b=this.clone();a&&(b=this.add(a.x,a.y));return b},CLASS_NAME:"OpenLayers.Pixel"});OpenLayers.Size=OpenLayers.Class({w:0,h:0,initialize:function(a,b){this.w=parseFloat(a);this.h=parseFloat(b)},toString:function(){return"w="+this.w+",h="+this.h},clone:function(){return new OpenLayers.Size(this.w,this.h)},equals:function(a){var b=!1;null!=a&&(b=this.w==a.w&&this.h==a.h||isNaN(this.w)&&isNaN(this.h)&&isNaN(a.w)&&isNaN(a.h));return b},CLASS_NAME:"OpenLayers.Size"});OpenLayers.Console={log:function(){},debug:function(){},info:function(){},warn:function(){},error:function(){},userError:function(a){alert(a)},assert:function(){},dir:function(){},dirxml:function(){},trace:function(){},group:function(){},groupEnd:function(){},time:function(){},timeEnd:function(){},profile:function(){},profileEnd:function(){},count:function(){},CLASS_NAME:"OpenLayers.Console"};
+(function(){for(var a=document.getElementsByTagName("script"),b=0,c=a.length;b<c;++b)if(-1!=a[b].src.indexOf("firebug.js")&&console){OpenLayers.Util.extend(OpenLayers.Console,console);break}})();OpenLayers.Lang={code:null,defaultCode:"en",getCode:function(){OpenLayers.Lang.code||OpenLayers.Lang.setCode();return OpenLayers.Lang.code},setCode:function(a){var b;a||(a="msie"==OpenLayers.BROWSER_NAME?navigator.userLanguage:navigator.language);a=a.split("-");a[0]=a[0].toLowerCase();"object"==typeof OpenLayers.Lang[a[0]]&&(b=a[0]);if(a[1]){var c=a[0]+"-"+a[1].toUpperCase();"object"==typeof OpenLayers.Lang[c]&&(b=c)}b||(OpenLayers.Console.warn("Failed to find OpenLayers.Lang."+a.join("-")+" dictionary, falling back to default language"),
+b=OpenLayers.Lang.defaultCode);OpenLayers.Lang.code=b},translate:function(a,b){var c=OpenLayers.Lang[OpenLayers.Lang.getCode()];(c=c&&c[a])||(c=a);b&&(c=OpenLayers.String.format(c,b));return c}};OpenLayers.i18n=OpenLayers.Lang.translate;OpenLayers.Util=OpenLayers.Util||{};OpenLayers.Util.getElement=function(){for(var a=[],b=0,c=arguments.length;b<c;b++){var d=arguments[b];"string"==typeof d&&(d=document.getElementById(d));if(1==arguments.length)return d;a.push(d)}return a};OpenLayers.Util.isElement=function(a){return!(!a||1!==a.nodeType)};OpenLayers.Util.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)};OpenLayers.Util.removeItem=function(a,b){for(var c=a.length-1;0<=c;c--)a[c]==b&&a.splice(c,1);return a};
+OpenLayers.Util.indexOf=function(a,b){if("function"==typeof a.indexOf)return a.indexOf(b);for(var c=0,d=a.length;c<d;c++)if(a[c]==b)return c;return-1};OpenLayers.Util.dotless=/\./g;
+OpenLayers.Util.modifyDOMElement=function(a,b,c,d,e,f,g,h){b&&(a.id=b.replace(OpenLayers.Util.dotless,"_"));c&&(a.style.left=c.x+"px",a.style.top=c.y+"px");d&&(a.style.width=d.w+"px",a.style.height=d.h+"px");e&&(a.style.position=e);f&&(a.style.border=f);g&&(a.style.overflow=g);0<=parseFloat(h)&&1>parseFloat(h)?(a.style.filter="alpha(opacity="+100*h+")",a.style.opacity=h):1==parseFloat(h)&&(a.style.filter="",a.style.opacity="")};
+OpenLayers.Util.createDiv=function(a,b,c,d,e,f,g,h){var k=document.createElement("div");d&&(k.style.backgroundImage="url("+d+")");a||(a=OpenLayers.Util.createUniqueID("OpenLayersDiv"));e||(e="absolute");OpenLayers.Util.modifyDOMElement(k,a,b,c,e,f,g,h);return k};
+OpenLayers.Util.createImage=function(a,b,c,d,e,f,g,h){var k=document.createElement("img");a||(a=OpenLayers.Util.createUniqueID("OpenLayersDiv"));e||(e="relative");OpenLayers.Util.modifyDOMElement(k,a,b,c,e,f,null,g);h&&(b=function(){k.style.display="";OpenLayers.Event.stopObservingElement(k)},k.style.display="none",OpenLayers.Event.observe(k,"load",b),OpenLayers.Event.observe(k,"error",b));k.style.alt=a;k.galleryImg="no";d&&(k.src=d);return k};OpenLayers.IMAGE_RELOAD_ATTEMPTS=0;
+OpenLayers.Util.alphaHackNeeded=null;OpenLayers.Util.alphaHack=function(){if(null==OpenLayers.Util.alphaHackNeeded){var a=navigator.appVersion.split("MSIE");a=parseFloat(a[1]);var b=!1;try{b=!!document.body.filters}catch(c){}OpenLayers.Util.alphaHackNeeded=b&&5.5<=a&&7>a}return OpenLayers.Util.alphaHackNeeded};
+OpenLayers.Util.modifyAlphaImageDiv=function(a,b,c,d,e,f,g,h,k){OpenLayers.Util.modifyDOMElement(a,b,c,d,f,null,null,k);b=a.childNodes[0];e&&(b.src=e);OpenLayers.Util.modifyDOMElement(b,a.id+"_innerImage",null,d,"relative",g);OpenLayers.Util.alphaHack()&&("none"!=a.style.display&&(a.style.display="inline-block"),null==h&&(h="scale"),a.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+b.src+"', sizingMethod='"+h+"')",0<=parseFloat(a.style.opacity)&&1>parseFloat(a.style.opacity)&&
+(a.style.filter+=" alpha(opacity="+100*a.style.opacity+")"),b.style.filter="alpha(opacity=0)")};OpenLayers.Util.createAlphaImageDiv=function(a,b,c,d,e,f,g,h,k){var l=OpenLayers.Util.createDiv();k=OpenLayers.Util.createImage(null,null,null,null,null,null,null,k);k.className="olAlphaImg";l.appendChild(k);OpenLayers.Util.modifyAlphaImageDiv(l,a,b,c,d,e,f,g,h);return l};OpenLayers.Util.upperCaseObject=function(a){var b={},c;for(c in a)b[c.toUpperCase()]=a[c];return b};
+OpenLayers.Util.applyDefaults=function(a,b){a=a||{};var c="function"==typeof window.Event&&b instanceof window.Event,d;for(d in b)if(void 0===a[d]||!c&&b.hasOwnProperty&&b.hasOwnProperty(d)&&!a.hasOwnProperty(d))a[d]=b[d];!c&&b&&b.hasOwnProperty&&b.hasOwnProperty("toString")&&!a.hasOwnProperty("toString")&&(a.toString=b.toString);return a};
+OpenLayers.Util.getParameterString=function(a){var b=[],c;for(c in a){var d=a[c];if(null!=d&&"function"!=typeof d){if("object"==typeof d&&d.constructor==Array){for(var e=[],f,g=0,h=d.length;g<h;g++)f=d[g],e.push(encodeURIComponent(null===f||void 0===f?"":f));d=e.join(",")}else d=encodeURIComponent(d);b.push(encodeURIComponent(c)+"="+d)}}return b.join("&")};OpenLayers.Util.urlAppend=function(a,b){var c=a;b&&(a=(a+" ").split(/[?&]/),c+=" "===a.pop()?b:a.length?"&"+b:"?"+b);return c};
+OpenLayers.Util.getImagesLocation=function(){return OpenLayers.ImgPath||OpenLayers._getScriptLocation()+"img/"};OpenLayers.Util.getImageLocation=function(a){return OpenLayers.Util.getImagesLocation()+a};OpenLayers.Util.Try=function(){for(var a=null,b=0,c=arguments.length;b<c;b++){var d=arguments[b];try{a=d();break}catch(e){}}return a};
+OpenLayers.Util.getXmlNodeValue=function(a){var b=null;OpenLayers.Util.Try(function(){b=a.text;b||(b=a.textContent);b||(b=a.firstChild.nodeValue)},function(){b=a.textContent});return b};OpenLayers.Util.mouseLeft=function(a,b){for(a=a.relatedTarget?a.relatedTarget:a.toElement;a!=b&&null!=a;)a=a.parentNode;return a!=b};OpenLayers.Util.DEFAULT_PRECISION=14;OpenLayers.Util.toFloat=function(a,b){null==b&&(b=OpenLayers.Util.DEFAULT_PRECISION);"number"!==typeof a&&(a=parseFloat(a));return 0===b?a:parseFloat(a.toPrecision(b))};
+OpenLayers.Util.rad=function(a){return a*Math.PI/180};OpenLayers.Util.deg=function(a){return 180*a/Math.PI};OpenLayers.Util.VincentyConstants={a:6378137,b:6356752.3142,f:1/298.257223563};
+OpenLayers.Util.distVincenty=function(a,b){var c=OpenLayers.Util.VincentyConstants,d=c.a,e=c.b;c=c.f;var f=OpenLayers.Util.rad(b.lon-a.lon);a=Math.atan((1-c)*Math.tan(OpenLayers.Util.rad(a.lat)));var g=Math.atan((1-c)*Math.tan(OpenLayers.Util.rad(b.lat)));b=Math.sin(a);a=Math.cos(a);var h=Math.sin(g);g=Math.cos(g);for(var k=f,l=2*Math.PI,m=20;1E-12<Math.abs(k-l)&&0<--m;){var p=Math.sin(k);var n=Math.cos(k);var q=Math.sqrt(g*p*g*p+(a*h-b*g*n)*(a*h-b*g*n));if(0==q)return 0;var r=b*h+a*g*n;n=Math.atan2(q,
+r);var t=Math.asin(a*g*p/q);var u=Math.cos(t)*Math.cos(t);p=r-2*b*h/u;var v=c/16*u*(4+c*(4-3*u));l=k;k=f+(1-v)*c*Math.sin(t)*(n+v*q*(p+v*r*(-1+2*p*p)))}if(0==m)return NaN;d=u*(d*d-e*e)/(e*e);c=d/1024*(256+d*(-128+d*(74-47*d)));return(e*(1+d/16384*(4096+d*(-768+d*(320-175*d))))*(n-c*q*(p+c/4*(r*(-1+2*p*p)-c/6*p*(-3+4*q*q)*(-3+4*p*p))))).toFixed(3)/1E3};
+OpenLayers.Util.destinationVincenty=function(a,b,c){var d=OpenLayers.Util,e=d.VincentyConstants,f=e.a,g=e.b;e=e.f;var h=a.lon,k=a.lat;a=d.rad(b);b=Math.sin(a);a=Math.cos(a);var l=(1-e)*Math.tan(d.rad(k));k=1/Math.sqrt(1+l*l);var m=l*k,p=Math.atan2(l,a);l=k*b;var n=1-l*l;f=n*(f*f-g*g)/(g*g);var q=1+f/16384*(4096+f*(-768+f*(320-175*f))),r=f/1024*(256+f*(-128+f*(74-47*f)));f=c/(g*q);for(var t=2*Math.PI;1E-12<Math.abs(f-t);){var u=Math.cos(2*p+f);var v=Math.sin(f);var x=Math.cos(f);var w=r*v*(u+r/4*(x*
+(-1+2*u*u)-r/6*u*(-3+4*v*v)*(-3+4*u*u)));t=f;f=c/(g*q)+w}c=m*v-k*x*a;c=Math.atan2(m*x+k*v*a,(1-e)*Math.sqrt(l*l+c*c));g=e/16*n*(4+e*(4-3*n));return new OpenLayers.LonLat(h+d.deg(Math.atan2(v*b,k*x-m*v*a)-(1-g)*e*l*(f+g*v*(u+g*x*(-1+2*u*u)))),d.deg(c))};
+OpenLayers.Util.getParameters=function(a,b){b=b||{};a=null===a||void 0===a?window.location.href:a;var c="";if(OpenLayers.String.contains(a,"?")){c=a.indexOf("?")+1;var d=OpenLayers.String.contains(a,"#")?a.indexOf("#"):a.length;c=a.substring(c,d)}a={};c=c.split(/[&;]/);d=0;for(var e=c.length;d<e;++d){var f=c[d].split("=");if(f[0]){var g=f[0];try{g=decodeURIComponent(g)}catch(h){g=unescape(g)}f=(f[1]||"").replace(/\+/g," ");try{f=decodeURIComponent(f)}catch(h){f=unescape(f)}!1!==b.splitArgs&&(f=f.split(","));
+1==f.length&&(f=f[0]);a[g]=f}}return a};OpenLayers.Util.lastSeqID=0;OpenLayers.Util.createUniqueID=function(a){a=null==a?"id_":a.replace(OpenLayers.Util.dotless,"_");OpenLayers.Util.lastSeqID+=1;return a+OpenLayers.Util.lastSeqID};OpenLayers.INCHES_PER_UNIT={inches:1,ft:12,mi:63360,m:39.37,km:39370,dd:4374754,yd:36};OpenLayers.INCHES_PER_UNIT["in"]=OpenLayers.INCHES_PER_UNIT.inches;OpenLayers.INCHES_PER_UNIT.degrees=OpenLayers.INCHES_PER_UNIT.dd;OpenLayers.INCHES_PER_UNIT.nmi=1852*OpenLayers.INCHES_PER_UNIT.m;
+OpenLayers.METERS_PER_INCH=.0254000508001016;
+OpenLayers.Util.extend(OpenLayers.INCHES_PER_UNIT,{Inch:OpenLayers.INCHES_PER_UNIT.inches,Meter:1/OpenLayers.METERS_PER_INCH,Foot:.3048006096012192/OpenLayers.METERS_PER_INCH,IFoot:.3048/OpenLayers.METERS_PER_INCH,ClarkeFoot:.3047972651151/OpenLayers.METERS_PER_INCH,SearsFoot:.30479947153867626/OpenLayers.METERS_PER_INCH,GoldCoastFoot:.3047997101815088/OpenLayers.METERS_PER_INCH,IInch:.0254/OpenLayers.METERS_PER_INCH,MicroInch:2.54E-5/OpenLayers.METERS_PER_INCH,Mil:2.54E-8/OpenLayers.METERS_PER_INCH,
+Centimeter:.01/OpenLayers.METERS_PER_INCH,Kilometer:1E3/OpenLayers.METERS_PER_INCH,Yard:.9144018288036576/OpenLayers.METERS_PER_INCH,SearsYard:.914398414616029/OpenLayers.METERS_PER_INCH,IndianYard:.9143985307444408/OpenLayers.METERS_PER_INCH,IndianYd37:.91439523/OpenLayers.METERS_PER_INCH,IndianYd62:.9143988/OpenLayers.METERS_PER_INCH,IndianYd75:.9143985/OpenLayers.METERS_PER_INCH,IndianFoot:.30479951/OpenLayers.METERS_PER_INCH,IndianFt37:.30479841/OpenLayers.METERS_PER_INCH,IndianFt62:.3047996/
+OpenLayers.METERS_PER_INCH,IndianFt75:.3047995/OpenLayers.METERS_PER_INCH,Mile:1609.3472186944373/OpenLayers.METERS_PER_INCH,IYard:.9144/OpenLayers.METERS_PER_INCH,IMile:1609.344/OpenLayers.METERS_PER_INCH,NautM:1852/OpenLayers.METERS_PER_INCH,"Lat-66":110943.31648893273/OpenLayers.METERS_PER_INCH,"Lat-83":110946.25736872235/OpenLayers.METERS_PER_INCH,Decimeter:.1/OpenLayers.METERS_PER_INCH,Millimeter:.001/OpenLayers.METERS_PER_INCH,Dekameter:10/OpenLayers.METERS_PER_INCH,Decameter:10/OpenLayers.METERS_PER_INCH,
+Hectometer:100/OpenLayers.METERS_PER_INCH,GermanMeter:1.0000135965/OpenLayers.METERS_PER_INCH,CaGrid:.999738/OpenLayers.METERS_PER_INCH,ClarkeChain:20.1166194976/OpenLayers.METERS_PER_INCH,GunterChain:20.11684023368047/OpenLayers.METERS_PER_INCH,BenoitChain:20.116782494375872/OpenLayers.METERS_PER_INCH,SearsChain:20.11676512155/OpenLayers.METERS_PER_INCH,ClarkeLink:.201166194976/OpenLayers.METERS_PER_INCH,GunterLink:.2011684023368047/OpenLayers.METERS_PER_INCH,BenoitLink:.20116782494375873/OpenLayers.METERS_PER_INCH,
+SearsLink:.2011676512155/OpenLayers.METERS_PER_INCH,Rod:5.02921005842012/OpenLayers.METERS_PER_INCH,IntnlChain:20.1168/OpenLayers.METERS_PER_INCH,IntnlLink:.201168/OpenLayers.METERS_PER_INCH,Perch:5.02921005842012/OpenLayers.METERS_PER_INCH,Pole:5.02921005842012/OpenLayers.METERS_PER_INCH,Furlong:201.1684023368046/OpenLayers.METERS_PER_INCH,Rood:3.778266898/OpenLayers.METERS_PER_INCH,CapeFoot:.3047972615/OpenLayers.METERS_PER_INCH,Brealey:375/OpenLayers.METERS_PER_INCH,ModAmFt:.304812252984506/OpenLayers.METERS_PER_INCH,
+Fathom:1.8288/OpenLayers.METERS_PER_INCH,"NautM-UK":1853.184/OpenLayers.METERS_PER_INCH,"50kilometers":5E4/OpenLayers.METERS_PER_INCH,"150kilometers":15E4/OpenLayers.METERS_PER_INCH});
+OpenLayers.Util.extend(OpenLayers.INCHES_PER_UNIT,{mm:OpenLayers.INCHES_PER_UNIT.Meter/1E3,cm:OpenLayers.INCHES_PER_UNIT.Meter/100,dm:100*OpenLayers.INCHES_PER_UNIT.Meter,km:1E3*OpenLayers.INCHES_PER_UNIT.Meter,kmi:OpenLayers.INCHES_PER_UNIT.nmi,fath:OpenLayers.INCHES_PER_UNIT.Fathom,ch:OpenLayers.INCHES_PER_UNIT.IntnlChain,link:OpenLayers.INCHES_PER_UNIT.IntnlLink,"us-in":OpenLayers.INCHES_PER_UNIT.inches,"us-ft":OpenLayers.INCHES_PER_UNIT.Foot,"us-yd":OpenLayers.INCHES_PER_UNIT.Yard,"us-ch":OpenLayers.INCHES_PER_UNIT.GunterChain,
+"us-mi":OpenLayers.INCHES_PER_UNIT.Mile,"ind-yd":OpenLayers.INCHES_PER_UNIT.IndianYd37,"ind-ft":OpenLayers.INCHES_PER_UNIT.IndianFt37,"ind-ch":20.11669506/OpenLayers.METERS_PER_INCH});OpenLayers.DOTS_PER_INCH=72;OpenLayers.Util.normalizeScale=function(a){return 1<a?1/a:a};OpenLayers.Util.getResolutionFromScale=function(a,b){if(a){null==b&&(b="degrees");var c=1/(OpenLayers.Util.normalizeScale(a)*OpenLayers.INCHES_PER_UNIT[b]*OpenLayers.DOTS_PER_INCH)}return c};
+OpenLayers.Util.getScaleFromResolution=function(a,b){null==b&&(b="degrees");return a*OpenLayers.INCHES_PER_UNIT[b]*OpenLayers.DOTS_PER_INCH};
+OpenLayers.Util.pagePosition=function(a){var b=[0,0],c=OpenLayers.Util.getViewportElement();if(!a||a==window||a==c)return b;var d=OpenLayers.IS_GECKO&&document.getBoxObjectFor&&"absolute"==OpenLayers.Element.getStyle(a,"position")&&(""==a.style.top||""==a.style.left);if(a.getBoundingClientRect)a=a.getBoundingClientRect(),d=window.pageYOffset||c.scrollTop,b[0]=a.left+(window.pageXOffset||c.scrollLeft),b[1]=a.top+d;else if(document.getBoxObjectFor&&!d)a=document.getBoxObjectFor(a),c=document.getBoxObjectFor(c),
+b[0]=a.screenX-c.screenX,b[1]=a.screenY-c.screenY;else{b[0]=a.offsetLeft;b[1]=a.offsetTop;c=a.offsetParent;if(c!=a)for(;c;)b[0]+=c.offsetLeft,b[1]+=c.offsetTop,c=c.offsetParent;d=OpenLayers.BROWSER_NAME;if("opera"==d||"safari"==d&&"absolute"==OpenLayers.Element.getStyle(a,"position"))b[1]-=document.body.offsetTop;for(c=a.offsetParent;c&&c!=document.body;){b[0]-=c.scrollLeft;if("opera"!=d||"TR"!=c.tagName)b[1]-=c.scrollTop;c=c.offsetParent}}return b};
+OpenLayers.Util.getViewportElement=function(){var a=arguments.callee.viewportElement;void 0==a&&(a="msie"==OpenLayers.BROWSER_NAME&&"CSS1Compat"!=document.compatMode?document.body:document.documentElement,arguments.callee.viewportElement=a);return a};
+OpenLayers.Util.isEquivalentUrl=function(a,b,c){c=c||{};OpenLayers.Util.applyDefaults(c,{ignoreCase:!0,ignorePort80:!0,ignoreHash:!0,splitArgs:!1});a=OpenLayers.Util.createUrlObject(a,c);b=OpenLayers.Util.createUrlObject(b,c);for(var d in a)if("args"!==d&&a[d]!=b[d])return!1;for(d in a.args){if(a.args[d]!=b.args[d])return!1;delete b.args[d]}for(d in b.args)return!1;return!0};
+OpenLayers.Util.createUrlObject=function(a,b){b=b||{};if(!/^\w+:\/\//.test(a)){var c=window.location,d=c.port?":"+c.port:"";d=c.protocol+"//"+c.host.split(":").shift()+d;0===a.indexOf("/")?a=d+a:(c=c.pathname.split("/"),c.pop(),a=d+c.join("/")+"/"+a)}b.ignoreCase&&(a=a.toLowerCase());c=document.createElement("a");c.href=a;d={};d.host=c.host.split(":").shift();d.protocol=c.protocol;d.port=b.ignorePort80?"80"==c.port||"0"==c.port?"":c.port:""==c.port||"0"==c.port?"80":c.port;d.hash=b.ignoreHash||"#"===
+c.hash?"":c.hash;var e=c.search;e||(e=a.indexOf("?"),e=-1!=e?a.substr(e):"");d.args=OpenLayers.Util.getParameters(e,{splitArgs:b.splitArgs});d.pathname="/"==c.pathname.charAt(0)?c.pathname:"/"+c.pathname;return d};OpenLayers.Util.removeTail=function(a){var b=a.indexOf("?"),c=a.indexOf("#");return-1==b?-1!=c?a.substr(0,c):a:-1!=c?a.substr(0,Math.min(b,c)):a.substr(0,b)};OpenLayers.IS_GECKO=function(){var a=navigator.userAgent.toLowerCase();return-1==a.indexOf("webkit")&&-1!=a.indexOf("gecko")}();
+OpenLayers.CANVAS_SUPPORTED=function(){var a=document.createElement("canvas");return!(!a.getContext||!a.getContext("2d"))}();OpenLayers.BROWSER_NAME=function(){var a="",b=navigator.userAgent.toLowerCase();-1!=b.indexOf("opera")?a="opera":-1!=b.indexOf("msie")?a="msie":-1!=b.indexOf("safari")?a="safari":-1!=b.indexOf("mozilla")&&(a=-1!=b.indexOf("firefox")?"firefox":"mozilla");return a}();OpenLayers.Util.getBrowserName=function(){return OpenLayers.BROWSER_NAME};
+OpenLayers.Util.getRenderedDimensions=function(a,b,c){var d=document.createElement("div");d.style.visibility="hidden";for(var e=c&&c.containerElement?c.containerElement:document.body,f=!1,g=null,h=e;h&&"body"!=h.tagName.toLowerCase();){var k=OpenLayers.Element.getStyle(h,"position");if("absolute"==k){f=!0;break}else if(k&&"static"!=k)break;h=h.parentNode}!f||0!==e.clientHeight&&0!==e.clientWidth||(g=document.createElement("div"),g.style.visibility="hidden",g.style.position="absolute",g.style.overflow=
+"visible",g.style.width=document.body.clientWidth+"px",g.style.height=document.body.clientHeight+"px",g.appendChild(d));d.style.position="absolute";if(b)if(b.w){var l=b.w;d.style.width=l+"px"}else if(b.h){var m=b.h;d.style.height=m+"px"}c&&c.displayClass&&(d.className=c.displayClass);b=document.createElement("div");b.innerHTML=a;b.style.overflow="visible";if(b.childNodes)for(a=0,c=b.childNodes.length;a<c;a++)b.childNodes[a].style&&(b.childNodes[a].style.overflow="visible");d.appendChild(b);g?e.appendChild(g):
+e.appendChild(d);l||(l=parseInt(b.scrollWidth),d.style.width=l+"px");m||(m=parseInt(b.scrollHeight));d.removeChild(b);g?(g.removeChild(d),e.removeChild(g)):e.removeChild(d);return new OpenLayers.Size(l,m)};
+OpenLayers.Util.getScrollbarWidth=function(){var a=OpenLayers.Util._scrollbarWidth;if(null==a){var b=document.createElement("div");b.style.position="absolute";b.style.top="-1000px";b.style.left="-1000px";b.style.width="100px";b.style.height="50px";b.style.overflow="hidden";var c=document.createElement("div");c.style.width="100%";c.style.height="200px";b.appendChild(c);document.body.appendChild(b);a=c.offsetWidth;b.style.overflow="scroll";b=c.offsetWidth;document.body.removeChild(document.body.lastChild);
+OpenLayers.Util._scrollbarWidth=a-b;a=OpenLayers.Util._scrollbarWidth}return a};
+OpenLayers.Util.getFormattedLonLat=function(a,b,c){c||(c="dms");a=(a+540)%360-180;var d=Math.abs(a),e=Math.floor(d),f=d=(d-e)/(1/60);d=Math.floor(d);f=Math.round((f-d)/(1/60)*10);f/=10;60<=f&&(f-=60,d+=1,60<=d&&(d-=60,e+=1));10>e&&(e="0"+e);e+="\u00b0";0<=c.indexOf("dm")&&(10>d&&(d="0"+d),e+=d+"'",0<=c.indexOf("dms")&&(10>f&&(f="0"+f),e+=f+'"'));return e="lon"==b?e+(0>a?OpenLayers.i18n("W"):OpenLayers.i18n("E")):e+(0>a?OpenLayers.i18n("S"):OpenLayers.i18n("N"))};
+OpenLayers.Util.getConstructor=function(a){var b=a.split(".");a="OpenLayers"===b[0]?OpenLayers:window[b[0]];for(var c=1,d=b.length;c<d;++c)a=a[b[c]];return a};OpenLayers.Feature=OpenLayers.Class({layer:null,id:null,lonlat:null,data:null,marker:null,popupClass:null,popup:null,initialize:function(a,b,c){this.layer=a;this.lonlat=b;this.data=null!=c?c:{};this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_")},destroy:function(){null!=this.layer&&null!=this.layer.map&&null!=this.popup&&this.layer.map.removePopup(this.popup);null!=this.layer&&null!=this.marker&&this.layer.removeMarker(this.marker);this.data=this.lonlat=this.id=this.layer=null;null!=this.marker&&
+(this.destroyMarker(this.marker),this.marker=null);null!=this.popup&&(this.destroyPopup(this.popup),this.popup=null)},onScreen:function(){var a=!1;null!=this.layer&&null!=this.layer.map&&(a=this.layer.map.getExtent().containsLonLat(this.lonlat));return a},createMarker:function(){null!=this.lonlat&&(this.marker=new OpenLayers.Marker(this.lonlat,this.data.icon));return this.marker},destroyMarker:function(){this.marker.destroy()},createPopup:function(a){null!=this.lonlat&&(this.popup||(this.popup=new (this.popupClass?
+this.popupClass:OpenLayers.Popup.Anchored)(this.id+"_popup",this.lonlat,this.data.popupSize,this.data.popupContentHTML,this.marker?this.marker.icon:null,a)),null!=this.data.overflow&&(this.popup.contentDiv.style.overflow=this.data.overflow),this.popup.feature=this);return this.popup},destroyPopup:function(){this.popup&&(this.popup.feature=null,this.popup.destroy(),this.popup=null)},CLASS_NAME:"OpenLayers.Feature"});OpenLayers.State={UNKNOWN:"Unknown",INSERT:"Insert",UPDATE:"Update",DELETE:"Delete"};
+OpenLayers.Feature.Vector=OpenLayers.Class(OpenLayers.Feature,{fid:null,geometry:null,attributes:null,bounds:null,state:null,style:null,url:null,renderIntent:"default",modified:null,initialize:function(a,b,c){OpenLayers.Feature.prototype.initialize.apply(this,[null,null,b]);this.lonlat=null;this.geometry=a?a:null;this.state=null;this.attributes={};b&&(this.attributes=OpenLayers.Util.extend(this.attributes,b));this.style=c?c:null},destroy:function(){this.layer&&(this.layer.removeFeatures(this),this.layer=
+null);this.modified=this.geometry=null;OpenLayers.Feature.prototype.destroy.apply(this,arguments)},clone:function(){return new OpenLayers.Feature.Vector(this.geometry?this.geometry.clone():null,this.attributes,this.style)},onScreen:function(a){var b=!1;this.layer&&this.layer.map&&(b=this.layer.map.getExtent(),a?(a=this.geometry.getBounds(),b=b.intersectsBounds(a)):b=b.toGeometry().intersects(this.geometry));return b},getVisibility:function(){return!(this.style&&"none"==this.style.display||!this.layer||
+this.layer&&this.layer.styleMap&&"none"==this.layer.styleMap.createSymbolizer(this,this.renderIntent).display||this.layer&&!this.layer.getVisibility())},createMarker:function(){return null},destroyMarker:function(){},createPopup:function(){return null},atPoint:function(a,b,c){var d=!1;this.geometry&&(d=this.geometry.atPoint(a,b,c));return d},destroyPopup:function(){},move:function(a){if(this.layer&&this.geometry.move){a="OpenLayers.LonLat"==a.CLASS_NAME?this.layer.getViewPortPxFromLonLat(a):a;var b=
+this.layer.getViewPortPxFromLonLat(this.geometry.getBounds().getCenterLonLat()),c=this.layer.map.getResolution();this.geometry.move(c*(a.x-b.x),c*(b.y-a.y));this.layer.drawFeature(this);return b}},toState:function(a){if(a==OpenLayers.State.UPDATE)switch(this.state){case OpenLayers.State.UNKNOWN:case OpenLayers.State.DELETE:this.state=a}else if(a==OpenLayers.State.INSERT)switch(this.state){case OpenLayers.State.UNKNOWN:break;default:this.state=a}else if(a==OpenLayers.State.DELETE)switch(this.state){case OpenLayers.State.UNKNOWN:case OpenLayers.State.UPDATE:this.state=
+a}else a==OpenLayers.State.UNKNOWN&&(this.state=a)},CLASS_NAME:"OpenLayers.Feature.Vector"});
+OpenLayers.Feature.Vector.style={"default":{fillColor:"#ee9900",fillOpacity:.4,hoverFillColor:"white",hoverFillOpacity:.8,strokeColor:"#ee9900",strokeOpacity:1,strokeWidth:1,strokeLinecap:"round",strokeDashstyle:"solid",hoverStrokeColor:"red",hoverStrokeOpacity:1,hoverStrokeWidth:.2,pointRadius:6,hoverPointRadius:1,hoverPointUnit:"%",pointerEvents:"visiblePainted",cursor:"inherit",fontColor:"#000000",labelAlign:"cm",labelOutlineColor:"white",labelOutlineWidth:3},select:{fillColor:"blue",fillOpacity:.4,
+hoverFillColor:"white",hoverFillOpacity:.8,strokeColor:"blue",strokeOpacity:1,strokeWidth:2,strokeLinecap:"round",strokeDashstyle:"solid",hoverStrokeColor:"red",hoverStrokeOpacity:1,hoverStrokeWidth:.2,pointRadius:6,hoverPointRadius:1,hoverPointUnit:"%",pointerEvents:"visiblePainted",cursor:"pointer",fontColor:"#000000",labelAlign:"cm",labelOutlineColor:"white",labelOutlineWidth:3},temporary:{fillColor:"#66cccc",fillOpacity:.2,hoverFillColor:"white",hoverFillOpacity:.8,strokeColor:"#66cccc",strokeOpacity:1,
+strokeLinecap:"round",strokeWidth:2,strokeDashstyle:"solid",hoverStrokeColor:"red",hoverStrokeOpacity:1,hoverStrokeWidth:.2,pointRadius:6,hoverPointRadius:1,hoverPointUnit:"%",pointerEvents:"visiblePainted",cursor:"inherit",fontColor:"#000000",labelAlign:"cm",labelOutlineColor:"white",labelOutlineWidth:3},"delete":{display:"none"}};OpenLayers.Style=OpenLayers.Class({id:null,name:null,title:null,description:null,layerName:null,isDefault:!1,rules:null,context:null,defaultStyle:null,defaultsPerSymbolizer:!1,propertyStyles:null,initialize:function(a,b){OpenLayers.Util.extend(this,b);this.rules=[];b&&b.rules&&this.addRules(b.rules);this.setDefaultStyle(a||OpenLayers.Feature.Vector.style["default"]);this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_")},destroy:function(){for(var a=0,b=this.rules.length;a<b;a++)this.rules[a].destroy(),
+this.rules[a]=null;this.defaultStyle=this.rules=null},createSymbolizer:function(a){for(var b=this.defaultsPerSymbolizer?{}:this.createLiterals(OpenLayers.Util.extend({},this.defaultStyle),a),c=this.rules,d,e=[],f=!1,g=0,h=c.length;g<h;g++)d=c[g],d.evaluate(a)&&(d instanceof OpenLayers.Rule&&d.elseFilter?e.push(d):(f=!0,this.applySymbolizer(d,b,a)));if(0==f&&0<e.length)for(f=!0,g=0,h=e.length;g<h;g++)this.applySymbolizer(e[g],b,a);0<c.length&&0==f&&(b.display="none");null!=b.label&&"string"!==typeof b.label&&
+(b.label=String(b.label));return b},applySymbolizer:function(a,b,c){var d=c.geometry?this.getSymbolizerPrefix(c.geometry):OpenLayers.Style.SYMBOLIZER_PREFIXES[0];a=a.symbolizer[d]||a.symbolizer;!0===this.defaultsPerSymbolizer&&(d=this.defaultStyle,OpenLayers.Util.applyDefaults(a,{pointRadius:d.pointRadius}),!0!==a.stroke&&!0!==a.graphic||OpenLayers.Util.applyDefaults(a,{strokeWidth:d.strokeWidth,strokeColor:d.strokeColor,strokeOpacity:d.strokeOpacity,strokeDashstyle:d.strokeDashstyle,strokeLinecap:d.strokeLinecap}),
+!0!==a.fill&&!0!==a.graphic||OpenLayers.Util.applyDefaults(a,{fillColor:d.fillColor,fillOpacity:d.fillOpacity}),!0===a.graphic&&OpenLayers.Util.applyDefaults(a,{pointRadius:this.defaultStyle.pointRadius,externalGraphic:this.defaultStyle.externalGraphic,graphicName:this.defaultStyle.graphicName,graphicOpacity:this.defaultStyle.graphicOpacity,graphicWidth:this.defaultStyle.graphicWidth,graphicHeight:this.defaultStyle.graphicHeight,graphicXOffset:this.defaultStyle.graphicXOffset,graphicYOffset:this.defaultStyle.graphicYOffset}));
+return this.createLiterals(OpenLayers.Util.extend(b,a),c)},createLiterals:function(a,b){var c=OpenLayers.Util.extend({},b.attributes||b.data);OpenLayers.Util.extend(c,this.context);for(var d in this.propertyStyles)a[d]=OpenLayers.Style.createLiteral(a[d],c,b,d);return a},findPropertyStyles:function(){var a={};this.addPropertyStyles(a,this.defaultStyle);for(var b=this.rules,c,d,e=0,f=b.length;e<f;e++){c=b[e].symbolizer;for(var g in c)if(d=c[g],"object"==typeof d)this.addPropertyStyles(a,d);else{this.addPropertyStyles(a,
+c);break}}return a},addPropertyStyles:function(a,b){var c;for(c in b){var d=b[c];"string"==typeof d&&d.match(/\$\{\w+\}/)&&(a[c]=!0)}return a},addRules:function(a){Array.prototype.push.apply(this.rules,a);this.propertyStyles=this.findPropertyStyles()},setDefaultStyle:function(a){this.defaultStyle=a;this.propertyStyles=this.findPropertyStyles()},getSymbolizerPrefix:function(a){for(var b=OpenLayers.Style.SYMBOLIZER_PREFIXES,c=0,d=b.length;c<d;c++)if(-1!=a.CLASS_NAME.indexOf(b[c]))return b[c]},clone:function(){var a=
+OpenLayers.Util.extend({},this);if(this.rules){a.rules=[];for(var b=0,c=this.rules.length;b<c;++b)a.rules.push(this.rules[b].clone())}a.context=this.context&&OpenLayers.Util.extend({},this.context);b=OpenLayers.Util.extend({},this.defaultStyle);return new OpenLayers.Style(b,a)},CLASS_NAME:"OpenLayers.Style"});OpenLayers.Style.createLiteral=function(a,b,c,d){"string"==typeof a&&-1!=a.indexOf("${")&&(a=OpenLayers.String.format(a,b,[c,d]),a=isNaN(a)||!a?a:parseFloat(a));return a};
+OpenLayers.Style.SYMBOLIZER_PREFIXES=["Point","Line","Polygon","Text","Raster"];OpenLayers.StyleMap=OpenLayers.Class({styles:null,extendDefault:!0,initialize:function(a,b){this.styles={"default":new OpenLayers.Style(OpenLayers.Feature.Vector.style["default"]),select:new OpenLayers.Style(OpenLayers.Feature.Vector.style.select),temporary:new OpenLayers.Style(OpenLayers.Feature.Vector.style.temporary),"delete":new OpenLayers.Style(OpenLayers.Feature.Vector.style["delete"])};if(a instanceof OpenLayers.Style)this.styles["default"]=a,this.styles.select=a,this.styles.temporary=a,this.styles["delete"]=
+a;else if("object"==typeof a)for(var c in a)if(a[c]instanceof OpenLayers.Style)this.styles[c]=a[c];else if("object"==typeof a[c])this.styles[c]=new OpenLayers.Style(a[c]);else{this.styles["default"]=new OpenLayers.Style(a);this.styles.select=new OpenLayers.Style(a);this.styles.temporary=new OpenLayers.Style(a);this.styles["delete"]=new OpenLayers.Style(a);break}OpenLayers.Util.extend(this,b)},destroy:function(){for(var a in this.styles)this.styles[a].destroy();this.styles=null},createSymbolizer:function(a,
+b){a||(a=new OpenLayers.Feature.Vector);this.styles[b]||(b="default");a.renderIntent=b;var c={};this.extendDefault&&"default"!=b&&(c=this.styles["default"].createSymbolizer(a));return OpenLayers.Util.extend(c,this.styles[b].createSymbolizer(a))},addUniqueValueRules:function(a,b,c,d){var e=[],f;for(f in c)e.push(new OpenLayers.Rule({symbolizer:c[f],context:d,filter:new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.EQUAL_TO,property:b,value:f})}));this.styles[a].addRules(e)},CLASS_NAME:"OpenLayers.StyleMap"});OpenLayers.Rule=OpenLayers.Class({id:null,name:null,title:null,description:null,context:null,filter:null,elseFilter:!1,symbolizer:null,symbolizers:null,minScaleDenominator:null,maxScaleDenominator:null,initialize:function(a){this.symbolizer={};OpenLayers.Util.extend(this,a);this.symbolizers&&delete this.symbolizer;this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_")},destroy:function(){for(var a in this.symbolizer)this.symbolizer[a]=null;this.symbolizer=null;delete this.symbolizers},evaluate:function(a){var b=
+this.getContext(a),c=!0;if(this.minScaleDenominator||this.maxScaleDenominator)var d=a.layer.map.getScale();this.minScaleDenominator&&(c=d>=OpenLayers.Style.createLiteral(this.minScaleDenominator,b));c&&this.maxScaleDenominator&&(c=d<OpenLayers.Style.createLiteral(this.maxScaleDenominator,b));c&&this.filter&&(c="OpenLayers.Filter.FeatureId"==this.filter.CLASS_NAME?this.filter.evaluate(a):this.filter.evaluate(b));return c},getContext:function(a){var b=this.context;b||(b=a.attributes||a.data);"function"==
+typeof this.context&&(b=this.context(a));return b},clone:function(){var a=OpenLayers.Util.extend({},this);if(this.symbolizers){var b=this.symbolizers.length;a.symbolizers=Array(b);for(var c=0;c<b;++c)a.symbolizers[c]=this.symbolizers[c].clone()}else{a.symbolizer={};for(var d in this.symbolizer)b=this.symbolizer[d],c=typeof b,"object"===c?a.symbolizer[d]=OpenLayers.Util.extend({},b):"string"===c&&(a.symbolizer[d]=b)}a.filter=this.filter&&this.filter.clone();a.context=this.context&&OpenLayers.Util.extend({},
+this.context);return new OpenLayers.Rule(a)},CLASS_NAME:"OpenLayers.Rule"});OpenLayers.Event={observers:!1,KEY_SPACE:32,KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_DELETE:46,element:function(a){return a.target||a.srcElement},isSingleTouch:function(a){return a.touches&&1==a.touches.length},isMultiTouch:function(a){return a.touches&&1<a.touches.length},isTouchEvent:function(a){return 0===(""+a.type).indexOf("touch")||"pointerType"in a&&(a.pointerType===a.MSPOINTER_TYPE_TOUCH||"touch"===a.pointerType)},isLeftClick:function(a){return a.which&&
+1==a.which||a.button&&1==a.button},isRightClick:function(a){return a.which&&3==a.which||a.button&&2==a.button},stop:function(a,b){b||OpenLayers.Event.preventDefault(a);a.stopPropagation?a.stopPropagation():a.cancelBubble=!0},preventDefault:function(a){a.preventDefault?a.preventDefault():a.returnValue=!1},findElement:function(a,b){for(a=OpenLayers.Event.element(a);a.parentNode&&(!a.tagName||a.tagName.toUpperCase()!=b.toUpperCase());)a=a.parentNode;return a},observe:function(a,b,c,d){a=OpenLayers.Util.getElement(a);
+d=d||!1;"keypress"==b&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||a.attachEvent)&&(b="keydown");this.observers||(this.observers={});if(!a._eventCacheID){var e="eventCacheID_";a.id&&(e=a.id+"_"+e);a._eventCacheID=OpenLayers.Util.createUniqueID(e)}e=a._eventCacheID;this.observers[e]||(this.observers[e]=[]);this.observers[e].push({element:a,name:b,observer:c,useCapture:d});a.addEventListener?a.addEventListener(b,c,d):a.attachEvent&&a.attachEvent("on"+b,c)},stopObservingElement:function(a){a=
+OpenLayers.Util.getElement(a)._eventCacheID;this._removeElementObservers(OpenLayers.Event.observers[a])},_removeElementObservers:function(a){if(a)for(var b=a.length-1;0<=b;b--){var c=a[b];OpenLayers.Event.stopObserving.apply(this,[c.element,c.name,c.observer,c.useCapture])}},stopObserving:function(a,b,c,d){d=d||!1;a=OpenLayers.Util.getElement(a);var e=a._eventCacheID;"keypress"==b&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||a.detachEvent)&&(b="keydown");var f=!1,g=OpenLayers.Event.observers[e];
+if(g)for(var h=0;!f&&h<g.length;){var k=g[h];if(k.name==b&&k.observer==c&&k.useCapture==d){g.splice(h,1);0==g.length&&delete OpenLayers.Event.observers[e];f=!0;break}h++}f&&(a.removeEventListener?a.removeEventListener(b,c,d):a&&a.detachEvent&&a.detachEvent("on"+b,c));return f},unloadCache:function(){if(OpenLayers.Event&&OpenLayers.Event.observers){for(var a in OpenLayers.Event.observers)OpenLayers.Event._removeElementObservers.apply(this,[OpenLayers.Event.observers[a]]);OpenLayers.Event.observers=
+!1}},CLASS_NAME:"OpenLayers.Event"};OpenLayers.Event.observe(window,"unload",OpenLayers.Event.unloadCache,!1);
+OpenLayers.Events=OpenLayers.Class({BROWSER_EVENTS:"mouseover mouseout mousedown mouseup mousemove click dblclick rightclick dblrightclick resize focus blur touchstart touchmove touchend keydown".split(" "),TOUCH_MODEL_POINTER:"pointer",TOUCH_MODEL_MSPOINTER:"MSPointer",TOUCH_MODEL_TOUCH:"touch",listeners:null,object:null,element:null,eventHandler:null,fallThrough:null,includeXY:!1,extensions:null,extensionCount:null,clearMouseListener:null,initialize:function(a,b,c,d,e){OpenLayers.Util.extend(this,
+e);this.object=a;this.fallThrough=d;this.listeners={};this.extensions={};this.extensionCount={};this._pointerTouches=[];null!=b&&this.attachToElement(b)},destroy:function(){for(var a in this.extensions)"boolean"!==typeof this.extensions[a]&&this.extensions[a].destroy();this.extensions=null;this.element&&(OpenLayers.Event.stopObservingElement(this.element),this.element.hasScrollEvent&&OpenLayers.Event.stopObserving(window,"scroll",this.clearMouseListener));this.eventHandler=this.fallThrough=this.object=
+this.listeners=this.element=null},addEventType:function(a){},attachToElement:function(a){this.element?OpenLayers.Event.stopObservingElement(this.element):(this.eventHandler=OpenLayers.Function.bindAsEventListener(this.handleBrowserEvent,this),this.clearMouseListener=OpenLayers.Function.bind(this.clearMouseCache,this));this.element=a;for(var b=this.getTouchModel(),c,d=0,e=this.BROWSER_EVENTS.length;d<e;d++)c=this.BROWSER_EVENTS[d],b!==this.TOUCH_MODEL_POINTER&&b!==this.TOUCH_MODEL_MSPOINTER||0!==c.indexOf("touch")?
+OpenLayers.Event.observe(a,c,this.eventHandler):this.addPointerTouchListener(a,c,this.eventHandler);OpenLayers.Event.observe(a,"dragstart",OpenLayers.Event.stop)},on:function(a){for(var b in a)"scope"!=b&&a.hasOwnProperty(b)&&this.register(b,a.scope,a[b])},register:function(a,b,c,d){a in OpenLayers.Events&&!this.extensions[a]&&(this.extensions[a]=new OpenLayers.Events[a](this));if(null!=c){null==b&&(b=this.object);var e=this.listeners[a];e||(e=[],this.listeners[a]=e,this.extensionCount[a]=0);b={obj:b,
+func:c};d?(e.splice(this.extensionCount[a],0,b),"object"===typeof d&&d.extension&&this.extensionCount[a]++):e.push(b)}},registerPriority:function(a,b,c){this.register(a,b,c,!0)},un:function(a){for(var b in a)"scope"!=b&&a.hasOwnProperty(b)&&this.unregister(b,a.scope,a[b])},unregister:function(a,b,c){null==b&&(b=this.object);a=this.listeners[a];if(null!=a)for(var d=0,e=a.length;d<e;d++)if(a[d].obj==b&&a[d].func==c){a.splice(d,1);break}},remove:function(a){null!=this.listeners[a]&&(this.listeners[a]=
+[])},triggerEvent:function(a,b){var c=this.listeners[a];if(c&&0!=c.length){null==b&&(b={});b.object=this.object;b.element=this.element;b.type||(b.type=a);c=c.slice();a=0;for(var d=c.length;a<d;a++){var e=c[a];e=e.func.apply(e.obj,[b]);if(void 0!=e&&0==e)break}this.fallThrough||OpenLayers.Event.stop(b,!0);return e}},handleBrowserEvent:function(a){var b=a.type,c=this.listeners[b];if(c&&0!=c.length){if((c=a.touches)&&c[0]){for(var d=0,e=0,f=c.length,g,h=0;h<f;++h)g=this.getTouchClientXY(c[h]),d+=g.clientX,
+e+=g.clientY;a.clientX=d/f;a.clientY=e/f}this.includeXY&&(a.xy=this.getMousePosition(a));this.triggerEvent(b,a)}},getTouchClientXY:function(a){var b=window.olMockWin||window,c=b.pageXOffset;b=b.pageYOffset;var d=a.clientX,e=a.clientY;if(0===a.pageY&&Math.floor(e)>Math.floor(a.pageY)||0===a.pageX&&Math.floor(d)>Math.floor(a.pageX))d-=c,e-=b;else if(e<a.pageY-b||d<a.pageX-c)d=a.pageX-c,e=a.pageY-b;a.olClientX=d;a.olClientY=e;return{clientX:d,clientY:e}},clearMouseCache:function(){this.element.scrolls=
+null;this.element.lefttop=null;this.element.offsets=null},getMousePosition:function(a){this.includeXY?this.element.hasScrollEvent||(OpenLayers.Event.observe(window,"scroll",this.clearMouseListener),this.element.hasScrollEvent=!0):this.clearMouseCache();if(!this.element.scrolls){var b=OpenLayers.Util.getViewportElement();this.element.scrolls=[window.pageXOffset||b.scrollLeft,window.pageYOffset||b.scrollTop]}this.element.lefttop||(this.element.lefttop=[document.documentElement.clientLeft||0,document.documentElement.clientTop||
+0]);this.element.offsets||(this.element.offsets=OpenLayers.Util.pagePosition(this.element));return new OpenLayers.Pixel(a.clientX+this.element.scrolls[0]-this.element.offsets[0]-this.element.lefttop[0],a.clientY+this.element.scrolls[1]-this.element.offsets[1]-this.element.lefttop[1])},getTouchModel:function(){"_TOUCH_MODEL"in OpenLayers.Events||(OpenLayers.Events._TOUCH_MODEL=window.PointerEvent&&"pointer"||window.MSPointerEvent&&"MSPointer"||"ontouchdown"in document&&"touch"||null);return OpenLayers.Events._TOUCH_MODEL},
+addPointerTouchListener:function(a,b,c){function d(a){c(OpenLayers.Util.applyDefaults({stopPropagation:function(){for(var a=e.length-1;0<=a;--a)e[a].stopPropagation()},preventDefault:function(){for(var a=e.length-1;0<=a;--a)e[a].preventDefault()},type:b},a))}var e=this._pointerTouches;switch(b){case "touchstart":return this.addPointerTouchListenerStart(a,b,d);case "touchend":return this.addPointerTouchListenerEnd(a,b,d);case "touchmove":return this.addPointerTouchListenerMove(a,b,d);default:throw"Unknown touch event type";
+}},addPointerTouchListenerStart:function(a,b,c){var d=this._pointerTouches;OpenLayers.Event.observe(a,this.getTouchModel()===this.TOUCH_MODEL_MSPOINTER?"MSPointerDown":"pointerdown",function(a){if(OpenLayers.Event.isTouchEvent(a)){for(var b=!1,e=0,h=d.length;e<h;++e)if(d[e].pointerId==a.pointerId){b=!0;break}b||d.push(a);a.touches=d.slice();c(a)}});OpenLayers.Event.observe(a,this.getTouchModel()===this.TOUCH_MODEL_MSPOINTER?"MSPointerOut":"pointerout",function(a){if(OpenLayers.Event.isTouchEvent(a))for(var b=
+0,c=d.length;b<c;++b)if(d[b].pointerId==a.pointerId){0!=this.clientWidth&&0!=this.clientHeight&&(Math.ceil(a.clientX)>=this.clientWidth||Math.ceil(a.clientY)>=this.clientHeight)&&d.splice(b,1);break}})},addPointerTouchListenerMove:function(a,b,c){var d=this._pointerTouches;OpenLayers.Event.observe(a,this.getTouchModel()===this.TOUCH_MODEL_MSPOINTER?"MSPointerMove":"pointermove",function(a){if(OpenLayers.Event.isTouchEvent(a)&&(1!=d.length||d[0].pageX!=a.pageX||d[0].pageY!=a.pageY)){for(var b=0,e=
+d.length;b<e;++b)if(d[b].pointerId==a.pointerId){d[b]=a;break}a.touches=d.slice();c(a)}})},addPointerTouchListenerEnd:function(a,b,c){var d=this._pointerTouches;OpenLayers.Event.observe(a,this.getTouchModel()===this.TOUCH_MODEL_MSPOINTER?"MSPointerUp":"pointerup",function(a){if(OpenLayers.Event.isTouchEvent(a)){for(var b=0,e=d.length;b<e;++b)if(d[b].pointerId==a.pointerId){d.splice(b,1);break}a.touches=d.slice();c(a)}})},CLASS_NAME:"OpenLayers.Events"});OpenLayers.Handler=OpenLayers.Class({id:null,control:null,map:null,keyMask:null,active:!1,evt:null,touch:!1,initialize:function(a,b,c){OpenLayers.Util.extend(this,c);this.control=a;this.callbacks=b;(a=this.map||a.map)&&this.setMap(a);this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_")},setMap:function(a){this.map=a},checkModifiers:function(a){return null==this.keyMask?!0:((a.shiftKey?OpenLayers.Handler.MOD_SHIFT:0)|(a.ctrlKey?OpenLayers.Handler.MOD_CTRL:0)|(a.altKey?OpenLayers.Handler.MOD_ALT:
+0)|(a.metaKey?OpenLayers.Handler.MOD_META:0))==this.keyMask},activate:function(){if(this.active)return!1;for(var a=OpenLayers.Events.prototype.BROWSER_EVENTS,b=0,c=a.length;b<c;b++)this[a[b]]&&this.register(a[b],this[a[b]]);return this.active=!0},deactivate:function(){if(!this.active)return!1;for(var a=OpenLayers.Events.prototype.BROWSER_EVENTS,b=0,c=a.length;b<c;b++)this[a[b]]&&this.unregister(a[b],this[a[b]]);this.active=this.touch=!1;return!0},startTouch:function(){if(!this.touch){this.touch=!0;
+for(var a="mousedown mouseup mousemove click dblclick mouseout".split(" "),b=0,c=a.length;b<c;b++)this[a[b]]&&this.unregister(a[b],this[a[b]])}},callback:function(a,b){a&&this.callbacks[a]&&this.callbacks[a].apply(this.control,b)},register:function(a,b){this.map.events.registerPriority(a,this,b);this.map.events.registerPriority(a,this,this.setEvent)},unregister:function(a,b){this.map.events.unregister(a,this,b);this.map.events.unregister(a,this,this.setEvent)},setEvent:function(a){this.evt=a;return!0},
+destroy:function(){this.deactivate();this.control=this.map=null},CLASS_NAME:"OpenLayers.Handler"});OpenLayers.Handler.MOD_NONE=0;OpenLayers.Handler.MOD_SHIFT=1;OpenLayers.Handler.MOD_CTRL=2;OpenLayers.Handler.MOD_ALT=4;OpenLayers.Handler.MOD_META=8;OpenLayers.Handler.Click=OpenLayers.Class(OpenLayers.Handler,{delay:300,single:!0,"double":!1,pixelTolerance:0,dblclickTolerance:13,stopSingle:!1,stopDouble:!1,timerId:null,down:null,last:null,first:null,rightclickTimerId:null,touchstart:function(a){this.startTouch();this.down=this.getEventInfo(a);this.last=this.getEventInfo(a);return!0},touchmove:function(a){this.last=this.getEventInfo(a);return!0},touchend:function(a){this.down&&(a.xy=this.last.xy,a.lastTouches=this.last.touches,this.handleSingle(a),
+this.down=null);return!0},mousedown:function(a){this.down=this.getEventInfo(a);this.last=this.getEventInfo(a);return!0},mouseup:function(a){var b=!0;this.checkModifiers(a)&&this.control.handleRightClicks&&OpenLayers.Event.isRightClick(a)&&(b=this.rightclick(a));return b},rightclick:function(a){if(this.passesTolerance(a)){if(null!=this.rightclickTimerId)return this.clearTimer(),this.callback("dblrightclick",[a]),!this.stopDouble;a=this["double"]?OpenLayers.Util.extend({},a):this.callback("rightclick",
+[a]);a=OpenLayers.Function.bind(this.delayedRightCall,this,a);this.rightclickTimerId=window.setTimeout(a,this.delay)}return!this.stopSingle},delayedRightCall:function(a){this.rightclickTimerId=null;a&&this.callback("rightclick",[a])},click:function(a){this.last||(this.last=this.getEventInfo(a));this.handleSingle(a);return!this.stopSingle},dblclick:function(a){this.handleDouble(a);return!this.stopDouble},handleDouble:function(a){this.passesDblclickTolerance(a)&&(this["double"]&&this.callback("dblclick",
+[a]),this.clearTimer())},handleSingle:function(a){this.passesTolerance(a)&&(null!=this.timerId?(this.last.touches&&1===this.last.touches.length&&(this["double"]&&OpenLayers.Event.preventDefault(a),this.handleDouble(a)),this.last.touches&&2===this.last.touches.length||this.clearTimer()):(this.first=this.getEventInfo(a),a=this.single?OpenLayers.Util.extend({},a):null,this.queuePotentialClick(a)))},queuePotentialClick:function(a){this.timerId=window.setTimeout(OpenLayers.Function.bind(this.delayedCall,
+this,a),this.delay)},passesTolerance:function(a){var b=!0;if(null!=this.pixelTolerance&&this.down&&this.down.xy&&(b=this.pixelTolerance>=this.down.xy.distanceTo(a.xy))&&this.touch&&this.down.touches.length===this.last.touches.length){a=0;for(var c=this.down.touches.length;a<c;++a)if(this.getTouchDistance(this.down.touches[a],this.last.touches[a])>this.pixelTolerance){b=!1;break}}return b},getTouchDistance:function(a,b){return Math.sqrt(Math.pow(a.clientX-b.clientX,2)+Math.pow(a.clientY-b.clientY,
+2))},passesDblclickTolerance:function(a){a=!0;this.down&&this.first&&(a=this.down.xy.distanceTo(this.first.xy)<=this.dblclickTolerance);return a},clearTimer:function(){null!=this.timerId&&(window.clearTimeout(this.timerId),this.timerId=null);null!=this.rightclickTimerId&&(window.clearTimeout(this.rightclickTimerId),this.rightclickTimerId=null)},delayedCall:function(a){this.timerId=null;a&&this.callback("click",[a])},getEventInfo:function(a){if(a.touches){var b=a.touches.length;var c=Array(b);for(var d,
+e=0;e<b;e++)d=a.touches[e],c[e]={clientX:d.olClientX,clientY:d.olClientY}}return{xy:a.xy,touches:c}},deactivate:function(){var a=!1;OpenLayers.Handler.prototype.deactivate.apply(this,arguments)&&(this.clearTimer(),this.last=this.first=this.down=null,a=!0);return a},CLASS_NAME:"OpenLayers.Handler.Click"});OpenLayers.Geometry=OpenLayers.Class({id:null,parent:null,bounds:null,initialize:function(){this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_")},destroy:function(){this.bounds=this.id=null},clone:function(){return new OpenLayers.Geometry},setBounds:function(a){a&&(this.bounds=a.clone())},clearBounds:function(){this.bounds=null;this.parent&&this.parent.clearBounds()},extendBounds:function(a){this.getBounds()?this.bounds.extend(a):this.setBounds(a)},getBounds:function(){null==this.bounds&&this.calculateBounds();
+return this.bounds},calculateBounds:function(){},distanceTo:function(a,b){},getVertices:function(a){},atPoint:function(a,b,c){var d=!1;null!=this.getBounds()&&null!=a&&(b=null!=b?b:0,c=null!=c?c:0,d=(new OpenLayers.Bounds(this.bounds.left-b,this.bounds.bottom-c,this.bounds.right+b,this.bounds.top+c)).containsLonLat(a));return d},getLength:function(){return 0},getArea:function(){return 0},getCentroid:function(){return null},toString:function(){return OpenLayers.Format&&OpenLayers.Format.WKT?OpenLayers.Format.WKT.prototype.write(new OpenLayers.Feature.Vector(this)):
+Object.prototype.toString.call(this)},CLASS_NAME:"OpenLayers.Geometry"});OpenLayers.Geometry.fromWKT=function(a){if(OpenLayers.Format&&OpenLayers.Format.WKT){var b=OpenLayers.Geometry.fromWKT.format;b||(b=new OpenLayers.Format.WKT,OpenLayers.Geometry.fromWKT.format=b);a=b.read(a);if(a instanceof OpenLayers.Feature.Vector)var c=a.geometry;else if(OpenLayers.Util.isArray(a)){c=a.length;b=Array(c);for(var d=0;d<c;++d)b[d]=a[d].geometry;c=new OpenLayers.Geometry.Collection(b)}}return c};
+OpenLayers.Geometry.segmentsIntersect=function(a,b,c){var d=c&&c.point;c=c&&c.tolerance;var e=!1,f=a.x1-b.x1,g=a.y1-b.y1;var h=a.x2-a.x1;var k=a.y2-a.y1,l=b.y2-b.y1,m=b.x2-b.x1;var p=l*h-m*k;l=m*g-l*f;g=h*g-k*f;0==p?0==l&&0==g&&(e=!0):(f=l/p,p=g/p,0<=f&&1>=f&&0<=p&&1>=p&&(d?(h=a.x1+f*h,p=a.y1+f*k,e=new OpenLayers.Geometry.Point(h,p)):e=!0));if(c)if(e){if(d)a:for(a=[a,b],b=0;2>b;++b)for(f=a[b],k=1;3>k;++k)if(h=f["x"+k],p=f["y"+k],d=Math.sqrt(Math.pow(h-e.x,2)+Math.pow(p-e.y,2)),d<c){e.x=h;e.y=p;break a}}else a:for(a=
+[a,b],b=0;2>b;++b)for(h=a[b],p=a[(b+1)%2],k=1;3>k;++k)if(f={x:h["x"+k],y:h["y"+k]},g=OpenLayers.Geometry.distanceToSegment(f,p),g.distance<c){e=d?new OpenLayers.Geometry.Point(f.x,f.y):!0;break a}return e};OpenLayers.Geometry.distanceToSegment=function(a,b){a=OpenLayers.Geometry.distanceSquaredToSegment(a,b);a.distance=Math.sqrt(a.distance);return a};
+OpenLayers.Geometry.distanceSquaredToSegment=function(a,b){var c=a.x;a=a.y;var d=b.x1,e=b.y1,f=b.x2,g=b.y2,h=f-d,k=g-e;b=0==h&&0==k?0:(h*(c-d)+k*(a-e))/(Math.pow(h,2)+Math.pow(k,2));0>=b||(1<=b?(d=f,e=g):(d+=b*h,e+=b*k));return{distance:Math.pow(d-c,2)+Math.pow(e-a,2),x:d,y:e,along:b}};OpenLayers.Geometry.Point=OpenLayers.Class(OpenLayers.Geometry,{x:null,y:null,initialize:function(a,b){OpenLayers.Geometry.prototype.initialize.apply(this,arguments);this.x=parseFloat(a);this.y=parseFloat(b)},clone:function(a){null==a&&(a=new OpenLayers.Geometry.Point(this.x,this.y));OpenLayers.Util.applyDefaults(a,this);return a},calculateBounds:function(){this.bounds=new OpenLayers.Bounds(this.x,this.y,this.x,this.y)},distanceTo:function(a,b){var c=!(b&&!1===b.edge)&&b&&b.details;if(a instanceof
+OpenLayers.Geometry.Point){b=this.x;var d=this.y;var e=a.x;var f=a.y;a=Math.sqrt(Math.pow(b-e,2)+Math.pow(d-f,2));b=c?{x0:b,y0:d,x1:e,y1:f,distance:a}:a}else b=a.distanceTo(this,b),c&&(b={x0:b.x1,y0:b.y1,x1:b.x0,y1:b.y0,distance:b.distance});return b},equals:function(a){var b=!1;null!=a&&(b=this.x==a.x&&this.y==a.y||isNaN(this.x)&&isNaN(this.y)&&isNaN(a.x)&&isNaN(a.y));return b},toShortString:function(){return this.x+", "+this.y},move:function(a,b){this.x+=a;this.y+=b;this.clearBounds()},rotate:function(a,
+b){a*=Math.PI/180;var c=this.distanceTo(b);a+=Math.atan2(this.y-b.y,this.x-b.x);this.x=b.x+c*Math.cos(a);this.y=b.y+c*Math.sin(a);this.clearBounds()},getCentroid:function(){return new OpenLayers.Geometry.Point(this.x,this.y)},resize:function(a,b,c){this.x=b.x+a*(void 0==c?1:c)*(this.x-b.x);this.y=b.y+a*(this.y-b.y);this.clearBounds();return this},intersects:function(a){return"OpenLayers.Geometry.Point"==a.CLASS_NAME?this.equals(a):a.intersects(this)},transform:function(a,b){a&&b&&(OpenLayers.Projection.transform(this,
+a,b),this.bounds=null);return this},getVertices:function(a){return[this]},CLASS_NAME:"OpenLayers.Geometry.Point"});OpenLayers.Date={dateRegEx:/^(?:(\d{4})(?:-(\d{2})(?:-(\d{2}))?)?)?(?:(?:T(\d{1,2}):(\d{2}):(\d{2}(?:\.\d+)?)(Z|(?:[+-]\d{1,2}(?::(\d{2}))?)))|Z)?$/,toISOString:function(){return"toISOString"in Date.prototype?function(a){return a.toISOString()}:function(a){return isNaN(a.getTime())?"Invalid Date":a.getUTCFullYear()+"-"+OpenLayers.Number.zeroPad(a.getUTCMonth()+1,2)+"-"+OpenLayers.Number.zeroPad(a.getUTCDate(),2)+"T"+OpenLayers.Number.zeroPad(a.getUTCHours(),2)+":"+OpenLayers.Number.zeroPad(a.getUTCMinutes(),
+2)+":"+OpenLayers.Number.zeroPad(a.getUTCSeconds(),2)+"."+OpenLayers.Number.zeroPad(a.getUTCMilliseconds(),3)+"Z"}}(),parse:function(a){if((a=a.match(this.dateRegEx))&&(a[1]||a[7])){var b=parseInt(a[1],10)||0;var c=parseInt(a[2],10)-1||0,d=parseInt(a[3],10)||1;b=new Date(Date.UTC(b,c,d));if(c=a[7]){d=parseInt(a[4],10);var e=parseInt(a[5],10),f=parseFloat(a[6]),g=f|0;b.setUTCHours(d,e,g,Math.round(1E3*(f-g)));"Z"!==c&&(c=parseInt(c,10),a=parseInt(a[8],10)||0,a=-1E3*(3600*c+60*a),b=new Date(b.getTime()+
+a))}}else b=new Date("invalid");return b}};OpenLayers.Format=OpenLayers.Class({options:null,externalProjection:null,internalProjection:null,data:null,keepData:!1,initialize:function(a){OpenLayers.Util.extend(this,a);this.options=a},destroy:function(){},read:function(a){throw Error("Read not implemented.");},write:function(a){throw Error("Write not implemented.");},CLASS_NAME:"OpenLayers.Format"});OpenLayers.Format.XML=OpenLayers.Class(OpenLayers.Format,{namespaces:null,namespaceAlias:null,defaultPrefix:null,readers:{},writers:{},xmldom:null,initialize:function(a){OpenLayers.Format.XML.supportActiveX&&(this.xmldom=new ActiveXObject("Microsoft.XMLDOM"));OpenLayers.Format.prototype.initialize.apply(this,[a]);this.namespaces=OpenLayers.Util.extend({},this.namespaces);this.namespaceAlias={};for(var b in this.namespaces)this.namespaceAlias[this.namespaces[b]]=b},destroy:function(){this.xmldom=null;
+OpenLayers.Format.prototype.destroy.apply(this,arguments)},setNamespace:function(a,b){this.namespaces[a]=b;this.namespaceAlias[b]=a},read:function(a){var b=a.indexOf("<");0<b&&(a=a.substring(b));b=OpenLayers.Util.Try(OpenLayers.Function.bind(function(){var b=OpenLayers.Format.XML.supportActiveX&&!this.xmldom?new ActiveXObject("Microsoft.XMLDOM"):this.xmldom;b.loadXML(a);return b},this),function(){return(new DOMParser).parseFromString(a,"text/xml")},function(){var b=new XMLHttpRequest;b.open("GET",
+"data:text/xml;charset=utf-8,"+encodeURIComponent(a),!1);b.overrideMimeType&&b.overrideMimeType("text/xml");b.send(null);return b.responseXML});this.keepData&&(this.data=b);return b},write:function(a){if(this.xmldom)a=a.xml;else{var b=new XMLSerializer;if(1==a.nodeType){var c=document.implementation.createDocument("","",null);c.importNode&&(a=c.importNode(a,!0));c.appendChild(a);a=b.serializeToString(c)}else a=b.serializeToString(a)}return a},createElementNS:function(a,b){return this.xmldom?"string"==
+typeof a?this.xmldom.createNode(1,b,a):this.xmldom.createNode(1,b,""):document.createElementNS(a,b)},createDocumentFragment:function(){return this.xmldom?this.xmldom.createDocumentFragment():document.createDocumentFragment()},createTextNode:function(a){"string"!==typeof a&&(a=String(a));return this.xmldom?this.xmldom.createTextNode(a):document.createTextNode(a)},getElementsByTagNameNS:function(a,b,c){var d=[];if(a.getElementsByTagNameNS)d=a.getElementsByTagNameNS(b,c);else{a=a.getElementsByTagName("*");
+for(var e,f,g=0,h=a.length;g<h;++g)e=a[g],f=e.prefix?e.prefix+":"+c:c,"*"!=c&&f!=e.nodeName||"*"!=b&&b!=e.namespaceURI||d.push(e)}return d},getAttributeNodeNS:function(a,b,c){var d=null;if(a.getAttributeNodeNS)d=a.getAttributeNodeNS(b,c);else{a=a.attributes;for(var e,f,g=0,h=a.length;g<h;++g)if(e=a[g],e.namespaceURI==b&&(f=e.prefix?e.prefix+":"+c:c,f==e.nodeName)){d=e;break}}return d},getAttributeNS:function(a,b,c){var d="";if(a.getAttributeNS)d=a.getAttributeNS(b,c)||"";else if(a=this.getAttributeNodeNS(a,
+b,c))d=a.nodeValue;return d},getChildValue:function(a,b){b=b||"";if(a)for(a=a.firstChild;a;a=a.nextSibling)switch(a.nodeType){case 3:case 4:b+=a.nodeValue}return b},isSimpleContent:function(a){var b=!0;for(a=a.firstChild;a;a=a.nextSibling)if(1===a.nodeType){b=!1;break}return b},contentType:function(a){var b=!1,c=!1,d=OpenLayers.Format.XML.CONTENT_TYPE.EMPTY;for(a=a.firstChild;a;a=a.nextSibling){switch(a.nodeType){case 1:c=!0;break;case 8:break;default:b=!0}if(c&&b)break}if(c&&b)d=OpenLayers.Format.XML.CONTENT_TYPE.MIXED;
+else{if(c)return OpenLayers.Format.XML.CONTENT_TYPE.COMPLEX;if(b)return OpenLayers.Format.XML.CONTENT_TYPE.SIMPLE}return d},hasAttributeNS:function(a,b,c){return a.hasAttributeNS?a.hasAttributeNS(b,c):!!this.getAttributeNodeNS(a,b,c)},setAttributeNS:function(a,b,c,d){if(a.setAttributeNS)a.setAttributeNS(b,c,d);else if(this.xmldom)b?(b=a.ownerDocument.createNode(2,c,b),b.nodeValue=d,a.setAttributeNode(b)):a.setAttribute(c,d);else throw"setAttributeNS not implemented";},createElementNSPlus:function(a,
+b){b=b||{};var c=b.uri||this.namespaces[b.prefix];c||(c=a.indexOf(":"),c=this.namespaces[a.substring(0,c)]);c||(c=this.namespaces[this.defaultPrefix]);a=this.createElementNS(c,a);b.attributes&&this.setAttributes(a,b.attributes);b=b.value;null!=b&&a.appendChild(this.createTextNode(b));return a},setAttributes:function(a,b){var c;for(c in b)if(null!=b[c]&&b[c].toString){var d=b[c].toString();var e=this.namespaces[c.substring(0,c.indexOf(":"))]||null;this.setAttributeNS(a,e,c,d)}},getFirstElementChild:function(a){if(a.firstElementChild)return a.firstElementChild;
+for(a=a.firstChild;1!=a.nodeType&&(a=a.nextSibling););return a},readNode:function(a,b){b||(b={});var c=this.readers[a.namespaceURI?this.namespaceAlias[a.namespaceURI]:this.defaultPrefix];if(c){var d=a.localName||a.nodeName.split(":").pop();(c=c[d]||c["*"])&&c.apply(this,[a,b])}return b},readChildNodes:function(a,b){b||(b={});a=a.childNodes;for(var c,d=0,e=a.length;d<e;++d)c=a[d],1==c.nodeType&&this.readNode(c,b);return b},writeNode:function(a,b,c){var d=a.indexOf(":");if(0<d){var e=a.substring(0,
+d);a=a.substring(d+1)}else e=c?this.namespaceAlias[c.namespaceURI]:this.defaultPrefix;b=this.writers[e][a].apply(this,[b]);c&&c.appendChild(b);return b},getChildEl:function(a,b,c){return a&&this.getThisOrNextEl(a.firstChild,b,c)},getNextEl:function(a,b,c){return a&&this.getThisOrNextEl(a.nextSibling,b,c)},getThisOrNextEl:function(a,b,c){a:for(;a;a=a.nextSibling)switch(a.nodeType){case 1:if(!(b&&b!==(a.localName||a.nodeName.split(":").pop())||c&&c!==a.namespaceURI))break a;a=null;break a;case 3:if(/^\s*$/.test(a.nodeValue))break;
+case 4:case 6:case 12:case 10:case 11:a=null;break a}return a||null},lookupNamespaceURI:function(a,b){var c=null;if(a)if(a.lookupNamespaceURI)c=a.lookupNamespaceURI(b);else a:switch(a.nodeType){case 1:if(null!==a.namespaceURI&&a.prefix===b){c=a.namespaceURI;break a}if(c=a.attributes.length)for(var d,e=0;e<c;++e)if(d=a.attributes[e],"xmlns"===d.prefix&&d.name==="xmlns:"+b){c=d.value||null;break a}else if("xmlns"===d.name&&null===b){c=d.value||null;break a}c=this.lookupNamespaceURI(a.parentNode,b);
+break a;case 2:c=this.lookupNamespaceURI(a.ownerElement,b);break a;case 9:c=this.lookupNamespaceURI(a.documentElement,b);break a;case 6:case 12:case 10:case 11:break a;default:c=this.lookupNamespaceURI(a.parentNode,b)}return c},getXMLDoc:function(){OpenLayers.Format.XML.document||this.xmldom||(document.implementation&&document.implementation.createDocument?OpenLayers.Format.XML.document=document.implementation.createDocument("","",null):!this.xmldom&&OpenLayers.Format.XML.supportActiveX&&(this.xmldom=
+new ActiveXObject("Microsoft.XMLDOM")));return OpenLayers.Format.XML.document||this.xmldom},CLASS_NAME:"OpenLayers.Format.XML"});OpenLayers.Format.XML.CONTENT_TYPE={EMPTY:0,SIMPLE:1,COMPLEX:2,MIXED:3};OpenLayers.Format.XML.lookupNamespaceURI=OpenLayers.Function.bind(OpenLayers.Format.XML.prototype.lookupNamespaceURI,OpenLayers.Format.XML.prototype);OpenLayers.Format.XML.document=null;
+OpenLayers.Format.XML.supportActiveX=function(){return Object.getOwnPropertyDescriptor&&Object.getOwnPropertyDescriptor(window,"ActiveXObject")||"ActiveXObject"in window}();OpenLayers.Geometry.Collection=OpenLayers.Class(OpenLayers.Geometry,{components:null,componentTypes:null,initialize:function(a){OpenLayers.Geometry.prototype.initialize.apply(this,arguments);this.components=[];null!=a&&this.addComponents(a)},destroy:function(){this.components.length=0;this.components=null;OpenLayers.Geometry.prototype.destroy.apply(this,arguments)},clone:function(){for(var a=new (OpenLayers.Util.getConstructor(this.CLASS_NAME)),b=0,c=this.components.length;b<c;b++)a.addComponent(this.components[b].clone());
+OpenLayers.Util.applyDefaults(a,this);return a},getComponentsString:function(){for(var a=[],b=0,c=this.components.length;b<c;b++)a.push(this.components[b].toShortString());return a.join(",")},calculateBounds:function(){this.bounds=null;var a=new OpenLayers.Bounds,b=this.components;if(b)for(var c=0,d=b.length;c<d;c++)a.extend(b[c].getBounds());null!=a.left&&null!=a.bottom&&null!=a.right&&null!=a.top&&this.setBounds(a)},addComponents:function(a){OpenLayers.Util.isArray(a)||(a=[a]);for(var b=0,c=a.length;b<
+c;b++)this.addComponent(a[b])},addComponent:function(a,b){var c=!1;a&&(null==this.componentTypes||-1<OpenLayers.Util.indexOf(this.componentTypes,a.CLASS_NAME))&&(null!=b&&b<this.components.length?(c=this.components.slice(0,b),b=this.components.slice(b,this.components.length),c.push(a),this.components=c.concat(b)):this.components.push(a),a.parent=this,this.clearBounds(),c=!0);return c},removeComponents:function(a){var b=!1;OpenLayers.Util.isArray(a)||(a=[a]);for(var c=a.length-1;0<=c;--c)b=this.removeComponent(a[c])||
+b;return b},removeComponent:function(a){OpenLayers.Util.removeItem(this.components,a);this.clearBounds();return!0},getLength:function(){for(var a=0,b=0,c=this.components.length;b<c;b++)a+=this.components[b].getLength();return a},getArea:function(){for(var a=0,b=0,c=this.components.length;b<c;b++)a+=this.components[b].getArea();return a},getGeodesicArea:function(a){for(var b=0,c=0,d=this.components.length;c<d;c++)b+=this.components[c].getGeodesicArea(a);return b},getCentroid:function(a){if(!a)return this.components.length&&
+this.components[0].getCentroid();var b=this.components.length;if(!b)return!1;for(var c=[],d=[],e=0,f=Number.MAX_VALUE,g=0;g<b;++g){var h=this.components[g];a=h.getArea();h=h.getCentroid(!0);isNaN(a)||isNaN(h.x)||isNaN(h.y)||(c.push(a),e+=a,f=a<f&&0<a?a:f,d.push(h))}b=c.length;if(0===e){for(g=0;g<b;++g)c[g]=1;e=c.length}else{for(g=0;g<b;++g)c[g]/=f;e/=f}var k=f=0;for(g=0;g<b;++g)h=d[g],a=c[g],f+=h.x*a,k+=h.y*a;return new OpenLayers.Geometry.Point(f/e,k/e)},getGeodesicLength:function(a){for(var b=0,
+c=0,d=this.components.length;c<d;c++)b+=this.components[c].getGeodesicLength(a);return b},move:function(a,b){for(var c=0,d=this.components.length;c<d;c++)this.components[c].move(a,b)},rotate:function(a,b){for(var c=0,d=this.components.length;c<d;++c)this.components[c].rotate(a,b)},resize:function(a,b,c){for(var d=0;d<this.components.length;++d)this.components[d].resize(a,b,c);return this},distanceTo:function(a,b){for(var c=!(b&&!1===b.edge)&&b&&b.details,d,e,f,g=Number.POSITIVE_INFINITY,h=0,k=this.components.length;h<
+k&&!(d=this.components[h].distanceTo(a,b),f=c?d.distance:d,f<g&&(g=f,e=d,0==g));++h);return e},equals:function(a){var b=!0;if(a&&a.CLASS_NAME&&this.CLASS_NAME==a.CLASS_NAME)if(OpenLayers.Util.isArray(a.components)&&a.components.length==this.components.length)for(var c=0,d=this.components.length;c<d;++c){if(!this.components[c].equals(a.components[c])){b=!1;break}}else b=!1;else b=!1;return b},transform:function(a,b){if(a&&b){for(var c=0,d=this.components.length;c<d;c++)this.components[c].transform(a,
+b);this.bounds=null}return this},intersects:function(a){for(var b=!1,c=0,d=this.components.length;c<d&&!(b=a.intersects(this.components[c]));++c);return b},getVertices:function(a){for(var b=[],c=0,d=this.components.length;c<d;++c)Array.prototype.push.apply(b,this.components[c].getVertices(a));return b},CLASS_NAME:"OpenLayers.Geometry.Collection"});OpenLayers.Geometry.MultiPoint=OpenLayers.Class(OpenLayers.Geometry.Collection,{componentTypes:["OpenLayers.Geometry.Point"],addPoint:function(a,b){this.addComponent(a,b)},removePoint:function(a){this.removeComponent(a)},CLASS_NAME:"OpenLayers.Geometry.MultiPoint"});OpenLayers.Geometry.Curve=OpenLayers.Class(OpenLayers.Geometry.MultiPoint,{componentTypes:["OpenLayers.Geometry.Point"],getLength:function(){var a=0;if(this.components&&1<this.components.length)for(var b=1,c=this.components.length;b<c;b++)a+=this.components[b-1].distanceTo(this.components[b]);return a},getGeodesicLength:function(a){var b=this;if(a){var c=new OpenLayers.Projection("EPSG:4326");c.equals(a)||(b=this.clone().transform(a,c))}a=0;if(b.components&&1<b.components.length)for(var d,e=1,f=b.components.length;e<
+f;e++)c=b.components[e-1],d=b.components[e],a+=OpenLayers.Util.distVincenty({lon:c.x,lat:c.y},{lon:d.x,lat:d.y});return 1E3*a},CLASS_NAME:"OpenLayers.Geometry.Curve"});OpenLayers.Geometry.LineString=OpenLayers.Class(OpenLayers.Geometry.Curve,{removeComponent:function(a){var b=this.components&&2<this.components.length;b&&OpenLayers.Geometry.Collection.prototype.removeComponent.apply(this,arguments);return b},intersects:function(a){var b=!1,c=a.CLASS_NAME;if("OpenLayers.Geometry.LineString"==c||"OpenLayers.Geometry.LinearRing"==c||"OpenLayers.Geometry.Point"==c){var d=this.getSortedSegments();a="OpenLayers.Geometry.Point"==c?[{x1:a.x,y1:a.y,x2:a.x,y2:a.y}]:a.getSortedSegments();
+var e=0,f=d.length;a:for(;e<f;++e){c=d[e];var g=c.x1;var h=c.x2;var k=c.y1;var l=c.y2;var m=0,p=a.length;for(;m<p;++m){var n=a[m];if(n.x1>h)break;if(!(n.x2<g)){var q=n.y1;var r=n.y2;if(!(Math.min(q,r)>Math.max(k,l)||Math.max(q,r)<Math.min(k,l))&&OpenLayers.Geometry.segmentsIntersect(c,n)){b=!0;break a}}}}}else b=a.intersects(this);return b},getSortedSegments:function(){for(var a=this.components.length-1,b=Array(a),c,d,e=0;e<a;++e)c=this.components[e],d=this.components[e+1],b[e]=c.x<d.x?{x1:c.x,y1:c.y,
+x2:d.x,y2:d.y}:{x1:d.x,y1:d.y,x2:c.x,y2:c.y};return b.sort(function(a,b){return a.x1-b.x1})},splitWithSegment:function(a,b){var c=!(b&&!1===b.edge),d=b&&b.tolerance;b=[];for(var e=this.getVertices(),f=[],g=[],h=!1,k,l,m,p={point:!0,tolerance:d},n=null,q=0,r=e.length-2;q<=r;++q)if(d=e[q],f.push(d.clone()),k=e[q+1],l={x1:d.x,y1:d.y,x2:k.x,y2:k.y},l=OpenLayers.Geometry.segmentsIntersect(a,l,p),l instanceof OpenLayers.Geometry.Point&&((m=l.x===a.x1&&l.y===a.y1||l.x===a.x2&&l.y===a.y2||l.equals(d)||l.equals(k)?
+!0:!1)||c))l.equals(g[g.length-1])||g.push(l.clone()),0===q&&l.equals(d)||l.equals(k)||(h=!0,l.equals(d)||f.push(l),b.push(new OpenLayers.Geometry.LineString(f)),f=[l.clone()]);h&&(f.push(k.clone()),b.push(new OpenLayers.Geometry.LineString(f)));if(0<g.length){var t=a.x1<a.x2?1:-1,u=a.y1<a.y2?1:-1;n={lines:b,points:g.sort(function(a,b){return t*a.x-t*b.x||u*a.y-u*b.y})}}return n},split:function(a,b){var c=null,d=b&&b.mutual,e,f;if(a instanceof OpenLayers.Geometry.LineString){var g=this.getVertices(),
+h,k=[];var l=[];for(var m=0,p=g.length-2;m<=p;++m){var n=g[m];var q=g[m+1];var r={x1:n.x,y1:n.y,x2:q.x,y2:q.y};var t=t||[a];d&&k.push(n.clone());for(var u=0;u<t.length;++u)if(h=t[u].splitWithSegment(r,b)){var v=h.lines;0<v.length&&(v.unshift(u,1),Array.prototype.splice.apply(t,v),u+=v.length-2);if(d)for(var x=0,w=h.points.length;x<w;++x)v=h.points[x],v.equals(n)||(k.push(v),l.push(new OpenLayers.Geometry.LineString(k)),k=v.equals(q)?[]:[v.clone()])}}d&&0<l.length&&0<k.length&&(k.push(q.clone()),l.push(new OpenLayers.Geometry.LineString(k)))}else c=
+a.splitWith(this,b);t&&1<t.length?f=!0:t=[];l&&1<l.length?e=!0:l=[];if(f||e)c=d?[l,t]:t;return c},splitWith:function(a,b){return a.split(this,b)},getVertices:function(a){return!0===a?[this.components[0],this.components[this.components.length-1]]:!1===a?this.components.slice(1,this.components.length-1):this.components.slice()},distanceTo:function(a,b){var c=!(b&&!1===b.edge)&&b&&b.details,d={},e=Number.POSITIVE_INFINITY;if(a instanceof OpenLayers.Geometry.Point){b=this.getSortedSegments();for(var f=
+a.x,g=a.y,h,k=0,l=b.length;k<l;++k){h=b[k];var m=OpenLayers.Geometry.distanceToSegment(a,h);if(m.distance<e&&(e=m.distance,d=c?{distance:e,x0:m.x,y0:m.y,x1:f,y1:g,index:k,indexDistance:(new OpenLayers.Geometry.Point(h.x1,h.y1)).distanceTo(a)}:e,0===e))break}}else if(a instanceof OpenLayers.Geometry.LineString){f=this.getSortedSegments();g=a.getSortedSegments();var p,n=g.length,q={point:!0};k=0;l=f.length;a:for(;k<l;++k){h=f[k];var r=h.x1;var t=h.y1;for(var u=0;u<n;++u)if(m=g[u],p=OpenLayers.Geometry.segmentsIntersect(h,
+m,q)){e=0;d={distance:0,x0:p.x,y0:p.y,x1:p.x,y1:p.y};break a}else m=OpenLayers.Geometry.distanceToSegment({x:r,y:t},m),m.distance<e&&(e=m.distance,d={distance:e,x0:r,y0:t,x1:m.x,y1:m.y})}c||(d=d.distance);0!==e&&h&&(m=a.distanceTo(new OpenLayers.Geometry.Point(h.x2,h.y2),b),a=c?m.distance:m,a<e&&(d=c?{distance:e,x0:m.x1,y0:m.y1,x1:m.x0,y1:m.y0}:a))}else d=a.distanceTo(this,b),c&&(d={distance:d.distance,x0:d.x1,y0:d.y1,x1:d.x0,y1:d.y0});return d},simplify:function(a){if(this&&null!==this){var b=this.getVertices();
+if(3>b.length)return this;var c=function(a,b,d,k){for(var f=0,g=0,h=b,n;h<d;h++){n=a[b];var q=a[d],r=a[h];n=Math.abs(.5*(n.x*q.y+q.x*r.y+r.x*n.y-q.x*n.y-r.x*q.y-n.x*r.y))/Math.sqrt(Math.pow(n.x-q.x,2)+Math.pow(n.y-q.y,2))*2;n>f&&(f=n,g=h)}f>k&&g!=b&&(e.push(g),c(a,b,g,k),c(a,g,d,k))},d=b.length-1,e=[];e.push(0);for(e.push(d);b[0].equals(b[d]);)d--,e.push(d);c(b,0,d,a);a=[];e.sort(function(a,b){return a-b});for(d=0;d<e.length;d++)a.push(b[e[d]]);return new OpenLayers.Geometry.LineString(a)}return this},
+CLASS_NAME:"OpenLayers.Geometry.LineString"});
+OpenLayers.Geometry.LineString.geodesic=function(a,b,c){for(var d=[],e=a(0),f=a(1),g=b(e),h=b(f),k=[f,e],l=[h,g],m=[1,0],p={},n=1E5,q,r,t,u,v;0<--n&&0<m.length;)t=m.pop(),e=k.pop(),g=l.pop(),f=t.toString(),f in p||(d.push(g),p[f]=!0),u=m.pop(),f=k.pop(),h=l.pop(),v=(t+u)/2,q=a(v),r=b(q),OpenLayers.Geometry.distanceSquaredToSegment(r,{x1:g.x,y1:g.y,x2:h.x,y2:h.y}).distance<c?(d.push(h),f=u.toString(),p[f]=!0):(m.push(u,v,v,t),l.push(h,r,r,g),k.push(f,q,q,e));return new OpenLayers.Geometry.LineString(d)};
+OpenLayers.Geometry.LineString.geodesicMeridian=function(a,b,c,d,e){var f=new OpenLayers.Projection("EPSG:4326");return OpenLayers.Geometry.LineString.geodesic(function(d){return new OpenLayers.Geometry.Point(a,b+(c-b)*d)},function(a){return a.transform(f,d)},e)};
+OpenLayers.Geometry.LineString.geodesicParallel=function(a,b,c,d,e){var f=new OpenLayers.Projection("EPSG:4326");return OpenLayers.Geometry.LineString.geodesic(function(d){return new OpenLayers.Geometry.Point(b+(c-b)*d,a)},function(a){return a.transform(f,d)},e)};OpenLayers.Geometry.LinearRing=OpenLayers.Class(OpenLayers.Geometry.LineString,{componentTypes:["OpenLayers.Geometry.Point"],addComponent:function(a,b){var c=!1,d=this.components.pop();null==b&&a.equals(d)||(c=OpenLayers.Geometry.Collection.prototype.addComponent.apply(this,arguments));OpenLayers.Geometry.Collection.prototype.addComponent.apply(this,[this.components[0]]);return c},removeComponent:function(a){var b=this.components&&3<this.components.length;b&&(this.components.pop(),OpenLayers.Geometry.Collection.prototype.removeComponent.apply(this,
+arguments),OpenLayers.Geometry.Collection.prototype.addComponent.apply(this,[this.components[0]]));return b},move:function(a,b){for(var c=0,d=this.components.length;c<d-1;c++)this.components[c].move(a,b)},rotate:function(a,b){for(var c=0,d=this.components.length;c<d-1;++c)this.components[c].rotate(a,b)},resize:function(a,b,c){for(var d=0,e=this.components.length;d<e-1;++d)this.components[d].resize(a,b,c);return this},transform:function(a,b){if(a&&b){for(var c=0,d=this.components.length;c<d-1;c++)this.components[c].transform(a,
+b);this.bounds=null}return this},getCentroid:function(){var a;if(this.components){var b=this.components.length;if(0<b&&2>=b)return this.components[0].clone();if(2<b){var c=a=0,d=this.components[0].x,e=this.components[0].y,f=-1*this.getArea();if(0!=f){for(var g=0;g<b-1;g++){var h=this.components[g],k=this.components[g+1];a+=(h.x+k.x-2*d)*((h.x-d)*(k.y-e)-(k.x-d)*(h.y-e));c+=(h.y+k.y-2*e)*((h.x-d)*(k.y-e)-(k.x-d)*(h.y-e))}a=d+a/(6*f);b=e+c/(6*f)}else{for(g=0;g<b-1;g++)a+=this.components[g].x,c+=this.components[g].y;
+a/=b-1;b=c/(b-1)}return new OpenLayers.Geometry.Point(a,b)}return null}},getArea:function(){var a=0;if(this.components&&2<this.components.length){for(var b=a=0,c=this.components.length;b<c-1;b++){var d=this.components[b],e=this.components[b+1];a+=(d.x+e.x)*(e.y-d.y)}a=-a/2}return a},getGeodesicArea:function(a){var b=this;if(a){var c=new OpenLayers.Projection("EPSG:4326");c.equals(a)||(b=this.clone().transform(a,c))}a=0;c=b.components&&b.components.length;if(2<c){for(var d,e,f=0;f<c-1;f++)d=b.components[f],
+e=b.components[f+1],a+=OpenLayers.Util.rad(e.x-d.x)*(2+Math.sin(OpenLayers.Util.rad(d.y))+Math.sin(OpenLayers.Util.rad(e.y)));a=a*OpenLayers.Util.VincentyConstants.a*OpenLayers.Util.VincentyConstants.a/2}return a},containsPoint:function(a){var b=OpenLayers.Number.limitSigDigs,c=b(a.x,14);a=b(a.y,14);for(var d=this.components.length-1,e,f,g,h,k,l=0,m=0;m<d;++m)if(e=this.components[m],g=b(e.x,14),e=b(e.y,14),f=this.components[m+1],h=b(f.x,14),f=b(f.y,14),e==f){if(a==e&&(g<=h&&c>=g&&c<=h||g>=h&&c<=g&&
+c>=h)){l=-1;break}}else{k=b((h-g)/(f-e)*(a-f)+h,14);if(k==c&&(e<f&&a>=e&&a<=f||e>f&&a<=e&&a>=f)){l=-1;break}k<=c||g!=h&&(k<Math.min(g,h)||k>Math.max(g,h))||(e<f&&a>=e&&a<f||e>f&&a<e&&a>=f)&&++l}return-1==l?1:!!(l&1)},intersects:function(a){var b=!1;if("OpenLayers.Geometry.Point"==a.CLASS_NAME)b=this.containsPoint(a);else if("OpenLayers.Geometry.LineString"==a.CLASS_NAME)b=a.intersects(this);else if("OpenLayers.Geometry.LinearRing"==a.CLASS_NAME)b=OpenLayers.Geometry.LineString.prototype.intersects.apply(this,
+[a]);else for(var c=0,d=a.components.length;c<d&&!(b=a.components[c].intersects(this));++c);return b},getVertices:function(a){return!0===a?[]:this.components.slice(0,this.components.length-1)},CLASS_NAME:"OpenLayers.Geometry.LinearRing"});OpenLayers.Geometry.Polygon=OpenLayers.Class(OpenLayers.Geometry.Collection,{componentTypes:["OpenLayers.Geometry.LinearRing"],getArea:function(){var a=0;if(this.components&&0<this.components.length){a+=Math.abs(this.components[0].getArea());for(var b=1,c=this.components.length;b<c;b++)a-=Math.abs(this.components[b].getArea())}return a},getGeodesicArea:function(a){var b=0;if(this.components&&0<this.components.length){b+=Math.abs(this.components[0].getGeodesicArea(a));for(var c=1,d=this.components.length;c<
+d;c++)b-=Math.abs(this.components[c].getGeodesicArea(a))}return b},containsPoint:function(a){var b=this.components.length,c=!1;if(0<b&&(c=this.components[0].containsPoint(a),1!==c&&c&&1<b))for(var d,e=1;e<b;++e)if(d=this.components[e].containsPoint(a)){c=1===d?1:!1;break}return c},intersects:function(a){var b=!1,c;if("OpenLayers.Geometry.Point"==a.CLASS_NAME)b=this.containsPoint(a);else if("OpenLayers.Geometry.LineString"==a.CLASS_NAME||"OpenLayers.Geometry.LinearRing"==a.CLASS_NAME){var d=0;for(c=
+this.components.length;d<c&&!(b=a.intersects(this.components[d]));++d);if(!b)for(d=0,c=a.components.length;d<c&&!(b=this.containsPoint(a.components[d]));++d);}else for(d=0,c=a.components.length;d<c&&!(b=this.intersects(a.components[d]));++d);if(!b&&"OpenLayers.Geometry.Polygon"==a.CLASS_NAME){var e=this.components[0];d=0;for(c=e.components.length;d<c&&!(b=a.containsPoint(e.components[d]));++d);}return b},distanceTo:function(a,b){return b&&!1===b.edge&&this.intersects(a)?0:OpenLayers.Geometry.Collection.prototype.distanceTo.apply(this,
+[a,b])},CLASS_NAME:"OpenLayers.Geometry.Polygon"});OpenLayers.Geometry.Polygon.createRegularPolygon=function(a,b,c,d){var e=Math.PI*(1/c-.5);d&&(e+=d/180*Math.PI);for(var f,g=[],h=0;h<c;++h)f=e+2*h*Math.PI/c,d=a.x+b*Math.cos(f),f=a.y+b*Math.sin(f),g.push(new OpenLayers.Geometry.Point(d,f));a=new OpenLayers.Geometry.LinearRing(g);return new OpenLayers.Geometry.Polygon([a])};OpenLayers.ProxyHost="";OpenLayers.Request||(OpenLayers.Request={});
+OpenLayers.Util.extend(OpenLayers.Request,{DEFAULT_CONFIG:{method:"GET",url:window.location.href,async:!0,user:void 0,password:void 0,params:null,proxy:OpenLayers.ProxyHost,headers:{},data:null,callback:function(){},success:null,failure:null,scope:null},URL_SPLIT_REGEX:/([^:]*:)\/\/([^:]*:?[^@]*@)?([^:\/\?]*):?([^\/\?]*)/,events:new OpenLayers.Events(this),makeSameOrigin:function(a,b){var c=0!==a.indexOf("http"),d=!c&&a.match(this.URL_SPLIT_REGEX);if(d){var e=window.location;c=d[1]==e.protocol&&d[3]==
+e.hostname;d=d[4];e=e.port;if(80!=d&&""!=d||"80"!=e&&""!=e)c=c&&d==e}c||b&&(a="function"==typeof b?b(a):b+encodeURIComponent(a));return a},issue:function(a){var b=OpenLayers.Util.extend(this.DEFAULT_CONFIG,{proxy:OpenLayers.ProxyHost});a=a||{};a.headers=a.headers||{};a=OpenLayers.Util.applyDefaults(a,b);a.headers=OpenLayers.Util.applyDefaults(a.headers,b.headers);b=!1;for(var c in a.headers)a.headers.hasOwnProperty(c)&&"x-requested-with"===c.toLowerCase()&&(b=!0);!1===b&&(a.headers["X-Requested-With"]=
+"XMLHttpRequest");var d=new OpenLayers.Request.XMLHttpRequest,e=OpenLayers.Util.urlAppend(a.url,OpenLayers.Util.getParameterString(a.params||{}));e=OpenLayers.Request.makeSameOrigin(e,a.proxy);d.open(a.method,e,a.async,a.user,a.password);for(var f in a.headers)d.setRequestHeader(f,a.headers[f]);var g=this.events,h=this;d.onreadystatechange=function(){d.readyState==OpenLayers.Request.XMLHttpRequest.DONE&&!1!==g.triggerEvent("complete",{request:d,config:a,requestUrl:e})&&h.runCallbacks({request:d,config:a,
+requestUrl:e})};!1===a.async?d.send(a.data):window.setTimeout(function(){0!==d.readyState&&d.send(a.data)},0);return d},runCallbacks:function(a){var b=a.request,c=a.config,d=c.scope?OpenLayers.Function.bind(c.callback,c.scope):c.callback,e;c.success&&(e=c.scope?OpenLayers.Function.bind(c.success,c.scope):c.success);var f;c.failure&&(f=c.scope?OpenLayers.Function.bind(c.failure,c.scope):c.failure);"file:"==OpenLayers.Util.createUrlObject(c.url).protocol&&b.responseText&&(b.status=200);d(b);if(!b.status||
+200<=b.status&&300>b.status)this.events.triggerEvent("success",a),e&&e(b);b.status&&(200>b.status||300<=b.status)&&(this.events.triggerEvent("failure",a),f&&f(b))},GET:function(a){a=OpenLayers.Util.extend(a,{method:"GET"});return OpenLayers.Request.issue(a)},POST:function(a){a=OpenLayers.Util.extend(a,{method:"POST"});a.headers=a.headers?a.headers:{};"CONTENT-TYPE"in OpenLayers.Util.upperCaseObject(a.headers)||(a.headers["Content-Type"]="application/xml");return OpenLayers.Request.issue(a)},PUT:function(a){a=
+OpenLayers.Util.extend(a,{method:"PUT"});a.headers=a.headers?a.headers:{};"CONTENT-TYPE"in OpenLayers.Util.upperCaseObject(a.headers)||(a.headers["Content-Type"]="application/xml");return OpenLayers.Request.issue(a)},DELETE:function(a){a=OpenLayers.Util.extend(a,{method:"DELETE"});return OpenLayers.Request.issue(a)},HEAD:function(a){a=OpenLayers.Util.extend(a,{method:"HEAD"});return OpenLayers.Request.issue(a)},OPTIONS:function(a){a=OpenLayers.Util.extend(a,{method:"OPTIONS"});return OpenLayers.Request.issue(a)}});(function(){function a(){this._object=f&&!k?new f:new window.ActiveXObject("Microsoft.XMLHTTP");this._listeners=[]}function b(){return new a}function c(a){b.onreadystatechange&&b.onreadystatechange.apply(a);a.dispatchEvent({type:"readystatechange",bubbles:!1,cancelable:!1,timeStamp:new Date+0})}function d(a){try{a.responseText=a._object.responseText}catch(r){}try{var b=a._object,c=b.responseXML,d=b.responseText;h&&d&&c&&!c.documentElement&&b.getResponseHeader("Content-Type").match(/[^\/]+\/[^\+]+\+xml/)&&
+(c=new window.ActiveXObject("Microsoft.XMLDOM"),c.async=!1,c.validateOnParse=!1,c.loadXML(d));var e=c&&(h&&0!=c.parseError||!c.documentElement||c.documentElement&&"parsererror"==c.documentElement.tagName)?null:c;a.responseXML=e}catch(r){}try{a.status=a._object.status}catch(r){}try{a.statusText=a._object.statusText}catch(r){}}function e(a){a._object.onreadystatechange=new window.Function}var f=window.XMLHttpRequest,g=!!window.controllers,h=window.document.all&&!window.opera,k=h&&window.navigator.userAgent.match(/MSIE 7.0/);
+b.prototype=a.prototype;g&&f.wrapped&&(b.wrapped=f.wrapped);b.UNSENT=0;b.OPENED=1;b.HEADERS_RECEIVED=2;b.LOADING=3;b.DONE=4;b.prototype.readyState=b.UNSENT;b.prototype.responseText="";b.prototype.responseXML=null;b.prototype.status=0;b.prototype.statusText="";b.prototype.priority="NORMAL";b.prototype.onreadystatechange=null;b.onreadystatechange=null;b.onopen=null;b.onsend=null;b.onabort=null;b.prototype.open=function(a,f,k,n,q){delete this._headers;3>arguments.length&&(k=!0);this._async=k;var l=this,
+m=this.readyState;if(h&&k){var p=function(){m!=b.DONE&&(e(l),l.abort())};window.attachEvent("onunload",p)}b.onopen&&b.onopen.apply(this,arguments);4<arguments.length?this._object.open(a,f,k,n,q):3<arguments.length?this._object.open(a,f,k,n):this._object.open(a,f,k);this.readyState=b.OPENED;c(this);this._object.onreadystatechange=function(){if(!g||k)l.readyState=l._object.readyState,d(l),l._aborted?l.readyState=b.UNSENT:(l.readyState==b.DONE&&(delete l._data,e(l),h&&k&&window.detachEvent("onunload",
+p)),m!=l.readyState&&c(l),m=l.readyState)}};b.prototype.send=function(a){b.onsend&&b.onsend.apply(this,arguments);arguments.length||(a=null);a&&a.nodeType&&(a=window.XMLSerializer?(new window.XMLSerializer).serializeToString(a):a.xml,this._headers["Content-Type"]||this._object.setRequestHeader("Content-Type","application/xml"));this._data=a;a:if(this._object.send(this._data),g&&!this._async)for(this.readyState=b.OPENED,d(this);this.readyState<b.DONE;)if(this.readyState++,c(this),this._aborted)break a};
+b.prototype.abort=function(){b.onabort&&b.onabort.apply(this,arguments);this.readyState>b.UNSENT&&(this._aborted=!0);this._object.abort();e(this);this.readyState=b.UNSENT;delete this._data};b.prototype.getAllResponseHeaders=function(){return this._object.getAllResponseHeaders()};b.prototype.getResponseHeader=function(a){return this._object.getResponseHeader(a)};b.prototype.setRequestHeader=function(a,b){this._headers||(this._headers={});this._headers[a]=b;return this._object.setRequestHeader(a,b)};
+b.prototype.addEventListener=function(a,b,c){for(var d=0,e;e=this._listeners[d];d++)if(e[0]==a&&e[1]==b&&e[2]==c)return;this._listeners.push([a,b,c])};b.prototype.removeEventListener=function(a,b,c){for(var d=0,e;(e=this._listeners[d])&&(e[0]!=a||e[1]!=b||e[2]!=c);d++);e&&this._listeners.splice(d,1)};b.prototype.dispatchEvent=function(a){a={type:a.type,target:this,currentTarget:this,eventPhase:2,bubbles:a.bubbles,cancelable:a.cancelable,timeStamp:a.timeStamp,stopPropagation:function(){},preventDefault:function(){},
+initEvent:function(){}};"readystatechange"==a.type&&this.onreadystatechange&&(this.onreadystatechange.handleEvent||this.onreadystatechange).apply(this,[a]);for(var b=0,c;c=this._listeners[b];b++)c[0]!=a.type||c[2]||(c[1].handleEvent||c[1]).apply(this,[a])};b.prototype.toString=function(){return"[object XMLHttpRequest]"};b.toString=function(){return"[XMLHttpRequest]"};window.Function.prototype.apply||(window.Function.prototype.apply=function(a,b){b||(b=[]);a.__func=this;a.__func(b[0],b[1],b[2],b[3],
+b[4]);delete a.__func});OpenLayers.Request||(OpenLayers.Request={});OpenLayers.Request.XMLHttpRequest=b})();OpenLayers.Projection=OpenLayers.Class({proj:null,projCode:null,titleRegEx:/\+title=[^\+]*/,initialize:function(a,b){OpenLayers.Util.extend(this,b);this.projCode=a;"object"==typeof Proj4js&&(this.proj=new Proj4js.Proj(a))},getCode:function(){return this.proj?this.proj.srsCode:this.projCode},getUnits:function(){return this.proj?this.proj.units:null},toString:function(){return this.getCode()},equals:function(a){var b=!1;a&&(a instanceof OpenLayers.Projection||(a=new OpenLayers.Projection(a)),"object"==
+typeof Proj4js&&this.proj.defData&&a.proj.defData?b=this.proj.defData.replace(this.titleRegEx,"")==a.proj.defData.replace(this.titleRegEx,""):a.getCode&&(b=this.getCode(),a=a.getCode(),b=b==a||!!OpenLayers.Projection.transforms[b]&&OpenLayers.Projection.transforms[b][a]===OpenLayers.Projection.nullTransform));return b},destroy:function(){delete this.proj;delete this.projCode},CLASS_NAME:"OpenLayers.Projection"});OpenLayers.Projection.transforms={};
+OpenLayers.Projection.defaults={"EPSG:4326":{units:"degrees",maxExtent:[-180,-90,180,90],worldExtent:[-180,-90,180,90],yx:!0},"CRS:84":{units:"degrees",maxExtent:[-180,-90,180,90],worldExtent:[-180,-90,180,90]},"EPSG:900913":{units:"m",maxExtent:[-2.003750834E7,-2.003750834E7,2.003750834E7,2.003750834E7],worldExtent:[-180,-89,180,89]}};
+OpenLayers.Projection.addTransform=function(a,b,c){if(c===OpenLayers.Projection.nullTransform){var d=OpenLayers.Projection.defaults[a];d&&!OpenLayers.Projection.defaults[b]&&(OpenLayers.Projection.defaults[b]=d)}OpenLayers.Projection.transforms[a]||(OpenLayers.Projection.transforms[a]={});OpenLayers.Projection.transforms[a][b]=c};
+OpenLayers.Projection.transform=function(a,b,c){if(b&&c)if(b instanceof OpenLayers.Projection||(b=new OpenLayers.Projection(b)),c instanceof OpenLayers.Projection||(c=new OpenLayers.Projection(c)),b.proj&&c.proj)a=Proj4js.transform(b.proj,c.proj,a);else{b=b.getCode();c=c.getCode();var d=OpenLayers.Projection.transforms;if(d[b]&&d[b][c])d[b][c](a)}return a};OpenLayers.Projection.nullTransform=function(a){return a};
+(function(){function a(a){a.x=180*a.x/2.003750834E7;a.y=180/Math.PI*(2*Math.atan(Math.exp(a.y/2.003750834E7*Math.PI))-Math.PI/2);return a}function b(a){a.x=2.003750834E7*a.x/180;a.y=Math.max(-2.003750834E7,Math.min(Math.log(Math.tan((90+a.y)*Math.PI/360))/Math.PI*2.003750834E7,2.003750834E7));return a}function c(c,d){var e=OpenLayers.Projection.addTransform,f=OpenLayers.Projection.nullTransform,g,h;var n=0;for(g=d.length;n<g;++n){var q=d[n];e(c,q,b);e(q,c,a);for(h=n+1;h<g;++h){var r=d[h];e(q,r,f);
+e(r,q,f)}}}var d=["EPSG:900913","EPSG:3857","EPSG:102113","EPSG:102100","OSGEO:41001"],e=["CRS:84","urn:ogc:def:crs:EPSG:6.6:4326","EPSG:4326"],f;for(f=d.length-1;0<=f;--f)c(d[f],e);for(f=e.length-1;0<=f;--f)c(e[f],d)})();OpenLayers.Format.KML=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{kml:"http://www.opengis.net/kml/2.2",gx:"http://www.google.com/kml/ext/2.2"},kmlns:"http://earth.google.com/kml/2.0",placemarksDesc:"No description available",foldersName:"OpenLayers export",foldersDesc:"Exported on "+new Date,extractAttributes:!0,kvpAttributes:!1,extractStyles:!1,extractTracks:!1,trackAttributes:null,internalns:null,features:null,styles:null,styleBaseUrl:"",fetched:null,maxDepth:0,initialize:function(a){this.regExes=
+{trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g,kmlColor:/(\w{2})(\w{2})(\w{2})(\w{2})/,kmlIconPalette:/root:\/\/icons\/palette-(\d+)(\.\w+)/,straightBracket:/\$\[(.*?)\]/g};this.externalProjection=new OpenLayers.Projection("EPSG:4326");OpenLayers.Format.XML.prototype.initialize.apply(this,[a])},read:function(a){this.features=[];this.styles={};this.fetched={};return this.parseData(a,{depth:0,styleBaseUrl:this.styleBaseUrl})},parseData:function(a,b){"string"==typeof a&&
+(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));for(var c=["Link","NetworkLink","Style","StyleMap","Placemark"],d=0,e=c.length;d<e;++d){var f=c[d],g=this.getElementsByTagNameNS(a,"*",f);if(0!=g.length)switch(f.toLowerCase()){case "link":case "networklink":this.parseLinks(g,b);break;case "style":this.extractStyles&&this.parseStyles(g,b);break;case "stylemap":this.extractStyles&&this.parseStyleMaps(g,b);break;case "placemark":this.parseFeatures(g,b)}}return this.features},parseLinks:function(a,
+b){if(b.depth>=this.maxDepth)return!1;b=OpenLayers.Util.extend({},b);b.depth++;for(var c=0,d=a.length;c<d;c++){var e=this.parseProperty(a[c],"*","href");e&&!this.fetched[e]&&(this.fetched[e]=!0,(e=this.fetchLink(e))&&this.parseData(e,b))}},fetchLink:function(a){if(a=OpenLayers.Request.GET({url:a,async:!1}))return a.responseText},parseStyles:function(a,b){for(var c=0,d=a.length;c<d;c++){var e=this.parseStyle(a[c]);e&&(this.styles[(b.styleBaseUrl||"")+"#"+e.id]=e)}},parseKmlColor:function(a){var b=
+null;a&&(a=a.match(this.regExes.kmlColor))&&(b={color:"#"+a[4]+a[3]+a[2],opacity:parseInt(a[1],16)/255});return b},parseStyle:function(a){for(var b,c,d={},e=["LineStyle","PolyStyle","IconStyle","BalloonStyle","LabelStyle"],f,g,h=0,k=e.length;h<k;++h)if(f=e[h],g=this.getElementsByTagNameNS(a,"*",f)[0])switch(f.toLowerCase()){case "linestyle":f=this.parseProperty(g,"*","color");if(f=this.parseKmlColor(f))d.strokeColor=f.color,d.strokeOpacity=f.opacity;(f=this.parseProperty(g,"*","width"))&&(d.strokeWidth=
+f);break;case "polystyle":f=this.parseProperty(g,"*","color");if(f=this.parseKmlColor(f))d.fillOpacity=f.opacity,d.fillColor=f.color;"0"==this.parseProperty(g,"*","fill")&&(d.fillColor="none");"0"==this.parseProperty(g,"*","outline")&&(d.strokeWidth="0");break;case "iconstyle":var l=parseFloat(this.parseProperty(g,"*","scale")||1);f=32*l;var m=32*l;if(b=this.getElementsByTagNameNS(g,"*","Icon")[0])if(c=this.parseProperty(b,"*","href")){var p=this.parseProperty(b,"*","w"),n=this.parseProperty(b,"*",
+"h");!OpenLayers.String.startsWith(c,"http://maps.google.com/mapfiles/kml")||p||n||(n=p=64,l/=2);p=p||n;n=n||p;p&&(f=parseInt(p)*l);n&&(m=parseInt(n)*l);if(n=c.match(this.regExes.kmlIconPalette))p=n[1],n=n[2],c=this.parseProperty(b,"*","x"),b=this.parseProperty(b,"*","y"),c="http://maps.google.com/mapfiles/kml/pal"+p+"/icon"+(8*(b?7-b/32:7)+(c?c/32:0))+n;d.graphicOpacity=1;d.externalGraphic=c}if(g=this.getElementsByTagNameNS(g,"*","hotSpot")[0])c=parseFloat(g.getAttribute("x")),b=parseFloat(g.getAttribute("y")),
+p=g.getAttribute("xunits"),"pixels"==p?d.graphicXOffset=-c*l:"insetPixels"==p?d.graphicXOffset=-f+c*l:"fraction"==p&&(d.graphicXOffset=-f*c),g=g.getAttribute("yunits"),"pixels"==g?d.graphicYOffset=-m+b*l+1:"insetPixels"==g?d.graphicYOffset=-(b*l)+1:"fraction"==g&&(d.graphicYOffset=-m*(1-b)+1);d.graphicWidth=f;d.graphicHeight=m;break;case "balloonstyle":(g=OpenLayers.Util.getXmlNodeValue(g))&&(d.balloonStyle=g.replace(this.regExes.straightBracket,"${$1}"));break;case "labelstyle":if(f=this.parseProperty(g,
+"*","color"),f=this.parseKmlColor(f))d.fontColor=f.color,d.fontOpacity=f.opacity}!d.strokeColor&&d.fillColor&&(d.strokeColor=d.fillColor);(a=a.getAttribute("id"))&&d&&(d.id=a);return d},parseStyleMaps:function(a,b){for(var c=0,d=a.length;c<d;c++){var e=a[c],f=this.getElementsByTagNameNS(e,"*","Pair");e=e.getAttribute("id");for(var g=0,h=f.length;g<h;g++){var k=f[g],l=this.parseProperty(k,"*","key");(k=this.parseProperty(k,"*","styleUrl"))&&"normal"==l&&(this.styles[(b.styleBaseUrl||"")+"#"+e]=this.styles[(b.styleBaseUrl||
+"")+k])}}},parseFeatures:function(a,b){for(var c=[],d=0,e=a.length;d<e;d++){var f=a[d],g=this.parseFeature.apply(this,[f]);if(g){this.extractStyles&&g.attributes&&g.attributes.styleUrl&&(g.style=this.getStyle(g.attributes.styleUrl,b));if(this.extractStyles){var h=this.getElementsByTagNameNS(f,"*","Style")[0];h&&(h=this.parseStyle(h))&&(g.style=OpenLayers.Util.extend(g.style,h))}this.extractTracks?(f=this.getElementsByTagNameNS(f,this.namespaces.gx,"Track"))&&0<f.length&&(g={features:[],feature:g},
+this.readNode(f[0],g),0<g.features.length&&c.push.apply(c,g.features)):c.push(g)}else throw"Bad Placemark: "+d;}this.features=this.features.concat(c)},readers:{kml:{when:function(a,b){b.whens.push(OpenLayers.Date.parse(this.getChildValue(a)))},_trackPointAttribute:function(a,b){var c=a.nodeName.split(":").pop();b.attributes[c].push(this.getChildValue(a))}},gx:{Track:function(a,b){var c={whens:[],points:[],angles:[]};if(this.trackAttributes){c.attributes={};for(var d=0,e=this.trackAttributes.length;d<
+e;++d){var f=this.trackAttributes[d];c.attributes[f]=[];f in this.readers.kml||(this.readers.kml[f]=this.readers.kml._trackPointAttribute)}}this.readChildNodes(a,c);if(c.whens.length!==c.points.length)throw Error("gx:Track with unequal number of when ("+c.whens.length+") and gx:coord ("+c.points.length+") elements.");if((a=0<c.angles.length)&&c.whens.length!==c.angles.length)throw Error("gx:Track with unequal number of when ("+c.whens.length+") and gx:angles ("+c.angles.length+") elements.");d=0;
+for(e=c.whens.length;d<e;++d){var g=b.feature.clone();g.fid=b.feature.fid||b.feature.id;f=c.points[d];g.geometry=f;"z"in f&&(g.attributes.altitude=f.z);this.internalProjection&&this.externalProjection&&g.geometry.transform(this.externalProjection,this.internalProjection);if(this.trackAttributes)for(var h=0,k=this.trackAttributes.length;h<k;++h)f=this.trackAttributes[h],g.attributes[f]=c.attributes[f][d];g.attributes.when=c.whens[d];g.attributes.trackId=b.feature.id;a&&(f=c.angles[d],g.attributes.heading=
+parseFloat(f[0]),g.attributes.tilt=parseFloat(f[1]),g.attributes.roll=parseFloat(f[2]));b.features.push(g)}},coord:function(a,b){a=this.getChildValue(a).replace(this.regExes.trimSpace,"").split(/\s+/);var c=new OpenLayers.Geometry.Point(a[0],a[1]);2<a.length&&(c.z=parseFloat(a[2]));b.points.push(c)},angles:function(a,b){a=this.getChildValue(a).replace(this.regExes.trimSpace,"").split(/\s+/);b.angles.push(a)}}},parseFeature:function(a){var b=["MultiGeometry","Polygon","LineString","Point"];for(var c,
+d,e,f=0,g=b.length;f<g;++f)if(c=b[f],this.internalns=a.namespaceURI?a.namespaceURI:this.kmlns,d=this.getElementsByTagNameNS(a,this.internalns,c),0<d.length){if(b=this.parseGeometry[c.toLowerCase()])e=b.apply(this,[d[0]]),this.internalProjection&&this.externalProjection&&e.transform(this.externalProjection,this.internalProjection);else throw new TypeError("Unsupported geometry type: "+c);break}var h;this.extractAttributes&&(h=this.parseAttributes(a));c=new OpenLayers.Feature.Vector(e,h);a=a.getAttribute("id")||
+a.getAttribute("name");null!=a&&(c.fid=a);return c},getStyle:function(a,b){var c=OpenLayers.Util.removeTail(a);b=OpenLayers.Util.extend({},b);b.depth++;b.styleBaseUrl=c;!this.styles[a]&&!OpenLayers.String.startsWith(a,"#")&&b.depth<=this.maxDepth&&!this.fetched[c]&&(c=this.fetchLink(c))&&this.parseData(c,b);return OpenLayers.Util.extend({},this.styles[a])},parseGeometry:{point:function(a){a=this.getElementsByTagNameNS(a,this.internalns,"coordinates");var b=[];if(0<a.length){var c=a[0].firstChild.nodeValue;
+c=c.replace(this.regExes.removeSpace,"");b=c.split(",")}if(1<b.length)2==b.length&&(b[2]=null),c=new OpenLayers.Geometry.Point(b[0],b[1],b[2]);else throw"Bad coordinate string: "+c;return c},linestring:function(a,b){a=this.getElementsByTagNameNS(a,this.internalns,"coordinates");var c=null;if(0<a.length){a=this.getChildValue(a[0]);a=a.replace(this.regExes.trimSpace,"");a=a.replace(this.regExes.trimComma,",");c=a.split(this.regExes.splitSpace);for(var d=c.length,e=Array(d),f,g,h=0;h<d;++h)if(f=c[h].split(","),
+g=f.length,1<g)2==f.length&&(f[2]=null),e[h]=new OpenLayers.Geometry.Point(f[0],f[1],f[2]);else throw"Bad LineString point coordinates: "+c[h];if(d)c=b?new OpenLayers.Geometry.LinearRing(e):new OpenLayers.Geometry.LineString(e);else throw"Bad LineString coordinates: "+a;}return c},polygon:function(a){a=this.getElementsByTagNameNS(a,this.internalns,"LinearRing");var b=a.length,c=Array(b);if(0<b)for(var d=0,e=a.length;d<e;++d)if(b=this.parseGeometry.linestring.apply(this,[a[d],!0]))c[d]=b;else throw"Bad LinearRing geometry: "+
+d;return new OpenLayers.Geometry.Polygon(c)},multigeometry:function(a){for(var b,c=[],d=a.childNodes,e=0,f=d.length;e<f;++e)a=d[e],1==a.nodeType&&(b=a.prefix?a.nodeName.split(":")[1]:a.nodeName,(b=this.parseGeometry[b.toLowerCase()])&&c.push(b.apply(this,[a])));return new OpenLayers.Geometry.Collection(c)}},parseAttributes:function(a){var b={},c=a.getElementsByTagName("ExtendedData");c.length&&(b=this.parseExtendedData(c[0]));a=a.childNodes;c=0;for(var d=a.length;c<d;++c){var e=a[c];if(1==e.nodeType){var f=
+e.childNodes;if(1<=f.length&&3>=f.length){switch(f.length){case 1:var g=f[0];break;case 2:g=f[0];f=f[1];g=3==g.nodeType||4==g.nodeType?g:f;break;default:g=f[1]}if(3==g.nodeType||4==g.nodeType)if(e=e.prefix?e.nodeName.split(":")[1]:e.nodeName,g=OpenLayers.Util.getXmlNodeValue(g))g=g.replace(this.regExes.trimSpace,""),b[e]=g}}}return b},parseExtendedData:function(a){var b={},c,d=a.getElementsByTagName("Data");var e=0;for(c=d.length;e<c;e++){var f=d[e];var g=f.getAttribute("name");var h={};var k=f.getElementsByTagName("value");
+k.length&&(h.value=this.getChildValue(k[0]));this.kvpAttributes?b[g]=h.value:(f=f.getElementsByTagName("displayName"),f.length&&(h.displayName=this.getChildValue(f[0])),b[g]=h)}a=a.getElementsByTagName("SimpleData");e=0;for(c=a.length;e<c;e++)h={},f=a[e],g=f.getAttribute("name"),h.value=this.getChildValue(f),this.kvpAttributes?b[g]=h.value:(h.displayName=g,b[g]=h);return b},parseProperty:function(a,b,c){a=this.getElementsByTagNameNS(a,b,c);try{var d=OpenLayers.Util.getXmlNodeValue(a[0])}catch(e){d=
+null}return d},write:function(a){OpenLayers.Util.isArray(a)||(a=[a]);for(var b=this.createElementNS(this.kmlns,"kml"),c=this.createFolderXML(),d=0,e=a.length;d<e;++d)c.appendChild(this.createPlacemarkXML(a[d]));b.appendChild(c);return OpenLayers.Format.XML.prototype.write.apply(this,[b])},createFolderXML:function(){var a=this.createElementNS(this.kmlns,"Folder");if(this.foldersName){var b=this.createElementNS(this.kmlns,"name"),c=this.createTextNode(this.foldersName);b.appendChild(c);a.appendChild(b)}this.foldersDesc&&
+(b=this.createElementNS(this.kmlns,"description"),c=this.createTextNode(this.foldersDesc),b.appendChild(c),a.appendChild(b));return a},createPlacemarkXML:function(a){var b=this.createElementNS(this.kmlns,"name"),c=a.style&&a.style.label?a.style.label:a.id;b.appendChild(this.createTextNode(a.attributes.name||c));var d=this.createElementNS(this.kmlns,"description");d.appendChild(this.createTextNode(a.attributes.description||this.placemarksDesc));c=this.createElementNS(this.kmlns,"Placemark");null!=
+a.fid&&c.setAttribute("id",a.fid);c.appendChild(b);c.appendChild(d);a.attributes&&(b=this.buildExtendedData(a.attributes))&&c.appendChild(b);a=this.buildGeometryNode(a.geometry);c.appendChild(a);return c},buildGeometryNode:function(a){var b=a.CLASS_NAME;b=b.substring(b.lastIndexOf(".")+1);b=this.buildGeometry[b.toLowerCase()];var c=null;b&&(c=b.apply(this,[a]));return c},buildGeometry:{point:function(a){var b=this.createElementNS(this.kmlns,"Point");b.appendChild(this.buildCoordinatesNode(a));return b},
+multipoint:function(a){return this.buildGeometry.collection.apply(this,[a])},linestring:function(a){var b=this.createElementNS(this.kmlns,"LineString");b.appendChild(this.buildCoordinatesNode(a));return b},multilinestring:function(a){return this.buildGeometry.collection.apply(this,[a])},linearring:function(a){var b=this.createElementNS(this.kmlns,"LinearRing");b.appendChild(this.buildCoordinatesNode(a));return b},polygon:function(a){var b=this.createElementNS(this.kmlns,"Polygon");a=a.components;
+for(var c,d,e=0,f=a.length;e<f;++e)c=0==e?"outerBoundaryIs":"innerBoundaryIs",c=this.createElementNS(this.kmlns,c),d=this.buildGeometry.linearring.apply(this,[a[e]]),c.appendChild(d),b.appendChild(c);return b},multipolygon:function(a){return this.buildGeometry.collection.apply(this,[a])},collection:function(a){for(var b=this.createElementNS(this.kmlns,"MultiGeometry"),c,d=0,e=a.components.length;d<e;++d)(c=this.buildGeometryNode.apply(this,[a.components[d]]))&&b.appendChild(c);return b}},buildCoordinatesNode:function(a){var b=
+this.createElementNS(this.kmlns,"coordinates"),c;if(c=a.components){for(var d=c.length,e=Array(d),f=0;f<d;++f)a=c[f],e[f]=this.buildCoordinates(a);c=e.join(" ")}else c=this.buildCoordinates(a);c=this.createTextNode(c);b.appendChild(c);return b},buildCoordinates:function(a){this.internalProjection&&this.externalProjection&&(a=a.clone(),a.transform(this.internalProjection,this.externalProjection));return a.x+","+a.y},buildExtendedData:function(a){var b=this.createElementNS(this.kmlns,"ExtendedData"),
+c;for(c in a)if(a[c]&&"name"!=c&&"description"!=c&&"styleUrl"!=c){var d=this.createElementNS(this.kmlns,"Data");d.setAttribute("name",c);var e=this.createElementNS(this.kmlns,"value");if("object"==typeof a[c]){if(a[c].value&&e.appendChild(this.createTextNode(a[c].value)),a[c].displayName){var f=this.createElementNS(this.kmlns,"displayName");f.appendChild(this.getXMLDoc().createCDATASection(a[c].displayName));d.appendChild(f)}}else e.appendChild(this.createTextNode(a[c]));d.appendChild(e);b.appendChild(d)}return this.isSimpleContent(b)?
+null:b},CLASS_NAME:"OpenLayers.Format.KML"});OpenLayers.Format.JSON=OpenLayers.Class(OpenLayers.Format,{indent:" ",space:" ",newline:"\n",level:0,pretty:!1,nativeJSON:function(){return!(!window.JSON||"function"!=typeof JSON.parse||"function"!=typeof JSON.stringify)}(),read:function(a,b){if(this.nativeJSON)var c=JSON.parse(a,b);else try{if(/^[\],:{}\s]*$/.test(a.replace(/\\["\\\/bfnrtu]/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))&&(c=eval("("+a+")"),"function"===
+typeof b)){var d=function(a,c){if(c&&"object"===typeof c)for(var e in c)c.hasOwnProperty(e)&&(c[e]=d(e,c[e]));return b(a,c)};c=d("",c)}}catch(e){}this.keepData&&(this.data=c);return c},write:function(a,b){this.pretty=!!b;b=null;var c=typeof a;if(this.serialize[c])try{b=!this.pretty&&this.nativeJSON?JSON.stringify(a):this.serialize[c].apply(this,[a])}catch(d){OpenLayers.Console.error("Trouble serializing: "+d)}return b},writeIndent:function(){var a=[];if(this.pretty)for(var b=0;b<this.level;++b)a.push(this.indent);
+return a.join("")},writeNewline:function(){return this.pretty?this.newline:""},writeSpace:function(){return this.pretty?this.space:""},serialize:{object:function(a){if(null==a)return"null";if(a.constructor==Date)return this.serialize.date.apply(this,[a]);if(a.constructor==Array)return this.serialize.array.apply(this,[a]);var b=["{"];this.level+=1;var c,d=!1;for(c in a)if(a.hasOwnProperty(c)){var e=OpenLayers.Format.JSON.prototype.write.apply(this,[c,this.pretty]);var f=OpenLayers.Format.JSON.prototype.write.apply(this,
+[a[c],this.pretty]);null!=e&&null!=f&&(d&&b.push(","),b.push(this.writeNewline(),this.writeIndent(),e,":",this.writeSpace(),f),d=!0)}--this.level;b.push(this.writeNewline(),this.writeIndent(),"}");return b.join("")},array:function(a){var b=["["];this.level+=1;for(var c=0,d=a.length;c<d;++c){var e=OpenLayers.Format.JSON.prototype.write.apply(this,[a[c],this.pretty]);null!=e&&(0<c&&b.push(","),b.push(this.writeNewline(),this.writeIndent(),e))}--this.level;b.push(this.writeNewline(),this.writeIndent(),
+"]");return b.join("")},string:function(a){var b={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};return/["\\\x00-\x1f]/.test(a)?'"'+a.replace(/([\x00-\x1f\\"])/g,function(a,d){if(a=b[d])return a;a=d.charCodeAt();return"\\u00"+Math.floor(a/16).toString(16)+(a%16).toString(16)})+'"':'"'+a+'"'},number:function(a){return isFinite(a)?String(a):"null"},"boolean":function(a){return String(a)},date:function(a){function b(a){return 10>a?"0"+a:a}return'"'+a.getFullYear()+"-"+
+b(a.getMonth()+1)+"-"+b(a.getDate())+"T"+b(a.getHours())+":"+b(a.getMinutes())+":"+b(a.getSeconds())+'"'}},CLASS_NAME:"OpenLayers.Format.JSON"});OpenLayers.Filter=OpenLayers.Class({initialize:function(a){OpenLayers.Util.extend(this,a)},destroy:function(){},evaluate:function(a){return!0},clone:function(){return null},toString:function(){return OpenLayers.Format&&OpenLayers.Format.CQL?OpenLayers.Format.CQL.prototype.write(this):Object.prototype.toString.call(this)},CLASS_NAME:"OpenLayers.Filter"});OpenLayers.Filter.Spatial=OpenLayers.Class(OpenLayers.Filter,{type:null,property:null,value:null,distance:null,distanceUnits:null,evaluate:function(a){var b=!1;switch(this.type){case OpenLayers.Filter.Spatial.BBOX:case OpenLayers.Filter.Spatial.INTERSECTS:if(a.geometry){var c=this.value;"OpenLayers.Bounds"==this.value.CLASS_NAME&&(c=this.value.toGeometry());a.geometry.intersects(c)&&(b=!0)}break;default:throw Error("evaluate is not implemented for this filter type.");}return b},clone:function(){var a=
+OpenLayers.Util.applyDefaults({value:this.value&&this.value.clone&&this.value.clone()},this);return new OpenLayers.Filter.Spatial(a)},CLASS_NAME:"OpenLayers.Filter.Spatial"});OpenLayers.Filter.Spatial.BBOX="BBOX";OpenLayers.Filter.Spatial.INTERSECTS="INTERSECTS";OpenLayers.Filter.Spatial.DWITHIN="DWITHIN";OpenLayers.Filter.Spatial.WITHIN="WITHIN";OpenLayers.Filter.Spatial.CONTAINS="CONTAINS";OpenLayers.Filter.Comparison=OpenLayers.Class(OpenLayers.Filter,{type:null,property:null,value:null,matchCase:!0,lowerBoundary:null,upperBoundary:null,initialize:function(a){OpenLayers.Filter.prototype.initialize.apply(this,[a]);this.type===OpenLayers.Filter.Comparison.LIKE&&void 0===a.matchCase&&(this.matchCase=null)},evaluate:function(a){a instanceof OpenLayers.Feature.Vector&&(a=a.attributes);var b=!1;a=a[this.property];if(void 0===a)return!1;switch(this.type){case OpenLayers.Filter.Comparison.EQUAL_TO:b=
+this.value;b=this.matchCase||"string"!=typeof a||"string"!=typeof b?a==b:a.toUpperCase()==b.toUpperCase();break;case OpenLayers.Filter.Comparison.NOT_EQUAL_TO:b=this.value;b=this.matchCase||"string"!=typeof a||"string"!=typeof b?a!=b:a.toUpperCase()!=b.toUpperCase();break;case OpenLayers.Filter.Comparison.LESS_THAN:b=a<this.value;break;case OpenLayers.Filter.Comparison.GREATER_THAN:b=a>this.value;break;case OpenLayers.Filter.Comparison.LESS_THAN_OR_EQUAL_TO:b=a<=this.value;break;case OpenLayers.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO:b=
+a>=this.value;break;case OpenLayers.Filter.Comparison.BETWEEN:b=a>=this.lowerBoundary&&a<=this.upperBoundary;break;case OpenLayers.Filter.Comparison.LIKE:b=(new RegExp(this.value,"gi")).test(a);break;case OpenLayers.Filter.Comparison.IS_NULL:b=null===a}return b},value2regex:function(a,b,c){if("."==a)throw Error("'.' is an unsupported wildCard character for OpenLayers.Filter.Comparison");a=a?a:"*";b=b?b:".";this.value=this.value.replace(new RegExp("\\"+(c?c:"!")+"(.|$)","g"),"\\$1");this.value=this.value.replace(new RegExp("\\"+
+b,"g"),".");this.value=this.value.replace(new RegExp("\\"+a,"g"),".*");this.value=this.value.replace(/\\.\*/g,"\\"+a);return this.value=this.value.replace(/\\\./g,"\\"+b)},regex2value:function(){var a=this.value;a=a.replace(/!/g,"!!");a=a.replace(/(\\)?\\\./g,function(a,c){return c?a:"!."});a=a.replace(/(\\)?\\\*/g,function(a,c){return c?a:"!*"});a=a.replace(/\\\\/g,"\\");return a=a.replace(/\.\*/g,"*")},clone:function(){return OpenLayers.Util.extend(new OpenLayers.Filter.Comparison,this)},CLASS_NAME:"OpenLayers.Filter.Comparison"});
+OpenLayers.Filter.Comparison.EQUAL_TO="==";OpenLayers.Filter.Comparison.NOT_EQUAL_TO="!=";OpenLayers.Filter.Comparison.LESS_THAN="<";OpenLayers.Filter.Comparison.GREATER_THAN=">";OpenLayers.Filter.Comparison.LESS_THAN_OR_EQUAL_TO="<=";OpenLayers.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO=">=";OpenLayers.Filter.Comparison.BETWEEN="..";OpenLayers.Filter.Comparison.LIKE="~";OpenLayers.Filter.Comparison.IS_NULL="NULL";OpenLayers.Filter.Logical=OpenLayers.Class(OpenLayers.Filter,{filters:null,type:null,initialize:function(a){this.filters=[];OpenLayers.Filter.prototype.initialize.apply(this,[a])},destroy:function(){this.filters=null;OpenLayers.Filter.prototype.destroy.apply(this)},evaluate:function(a){var b;switch(this.type){case OpenLayers.Filter.Logical.AND:var c=0;for(b=this.filters.length;c<b;c++)if(0==this.filters[c].evaluate(a))return!1;return!0;case OpenLayers.Filter.Logical.OR:c=0;for(b=this.filters.length;c<
+b;c++)if(1==this.filters[c].evaluate(a))return!0;return!1;case OpenLayers.Filter.Logical.NOT:return!this.filters[0].evaluate(a)}},clone:function(){for(var a=[],b=0,c=this.filters.length;b<c;++b)a.push(this.filters[b].clone());return new OpenLayers.Filter.Logical({type:this.type,filters:a})},CLASS_NAME:"OpenLayers.Filter.Logical"});OpenLayers.Filter.Logical.AND="&&";OpenLayers.Filter.Logical.OR="||";OpenLayers.Filter.Logical.NOT="!";OpenLayers.Format.QueryStringFilter=function(){function a(a){a=a.replace(/%/g,"\\%");a=a.replace(/\\\\\.(\*)?/g,function(a,b){return b?a:"\\\\_"});a=a.replace(/\\\\\.\*/g,"\\\\%");a=a.replace(/(\\)?\.(\*)?/g,function(a,b,c){return b||c?a:"_"});a=a.replace(/(\\)?\.\*/g,function(a,b){return b?a:"%"});a=a.replace(/\\\./g,".");return a=a.replace(/(\\)?\\\*/g,function(a,b){return b?a:"*"})}var b={};b[OpenLayers.Filter.Comparison.EQUAL_TO]="eq";b[OpenLayers.Filter.Comparison.NOT_EQUAL_TO]="ne";b[OpenLayers.Filter.Comparison.LESS_THAN]=
+"lt";b[OpenLayers.Filter.Comparison.LESS_THAN_OR_EQUAL_TO]="lte";b[OpenLayers.Filter.Comparison.GREATER_THAN]="gt";b[OpenLayers.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO]="gte";b[OpenLayers.Filter.Comparison.LIKE]="ilike";return OpenLayers.Class(OpenLayers.Format,{wildcarded:!1,srsInBBOX:!1,write:function(c,d){d=d||{};var e=c.CLASS_NAME;e=e.substring(e.lastIndexOf(".")+1);switch(e){case "Spatial":switch(c.type){case OpenLayers.Filter.Spatial.BBOX:d.bbox=c.value.toArray();this.srsInBBOX&&c.projection&&
+d.bbox.push(c.projection.getCode());break;case OpenLayers.Filter.Spatial.DWITHIN:d.tolerance=c.distance;case OpenLayers.Filter.Spatial.WITHIN:d.lon=c.value.x;d.lat=c.value.y;break;default:OpenLayers.Console.warn("Unknown spatial filter type "+c.type)}break;case "Comparison":e=b[c.type];if(void 0!==e){var f=c.value;c.type==OpenLayers.Filter.Comparison.LIKE&&(f=a(f),this.wildcarded&&(f="%"+f+"%"));d[c.property+"__"+e]=f;d.queryable=d.queryable||[];d.queryable.push(c.property)}else OpenLayers.Console.warn("Unknown comparison filter type "+
+c.type);break;case "Logical":if(c.type===OpenLayers.Filter.Logical.AND)for(e=0,f=c.filters.length;e<f;e++)d=this.write(c.filters[e],d);else OpenLayers.Console.warn("Unsupported logical filter type "+c.type);break;default:OpenLayers.Console.warn("Unknown filter type "+e)}return d},CLASS_NAME:"OpenLayers.Format.QueryStringFilter"})}();OpenLayers.Format.OGCExceptionReport=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{ogc:"http://www.opengis.net/ogc"},regExes:{trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g},defaultPrefix:"ogc",read:function(a){"string"==typeof a&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));var b={exceptionReport:null};a.documentElement&&(this.readChildNodes(a,b),null===b.exceptionReport&&(b=(new OpenLayers.Format.OWSCommon).read(a)));return b},readers:{ogc:{ServiceExceptionReport:function(a,
+b){b.exceptionReport={exceptions:[]};this.readChildNodes(a,b.exceptionReport)},ServiceException:function(a,b){a={code:a.getAttribute("code"),locator:a.getAttribute("locator"),text:this.getChildValue(a)};b.exceptions.push(a)}}},CLASS_NAME:"OpenLayers.Format.OGCExceptionReport"});OpenLayers.Format.XML.VersionedOGC=OpenLayers.Class(OpenLayers.Format.XML,{defaultVersion:null,version:null,profile:null,allowFallback:!1,name:null,stringifyOutput:!1,parser:null,initialize:function(a){OpenLayers.Format.XML.prototype.initialize.apply(this,[a]);a=this.CLASS_NAME;this.name=a.substring(a.lastIndexOf(".")+1)},getVersion:function(a,b){a?(b=this.version,b||(b=a.getAttribute("version"),b||(b=this.defaultVersion))):b=b&&b.version||this.version||this.defaultVersion;return b},getParser:function(a){a=
+a||this.defaultVersion;var b=this.profile?"_"+this.profile:"";if(!this.parser||this.parser.VERSION!=a){var c=OpenLayers.Format[this.name]["v"+a.replace(/\./g,"_")+b];if(!c&&(""!==b&&this.allowFallback&&(b="",c=OpenLayers.Format[this.name]["v"+a.replace(/\./g,"_")]),!c))throw"Can't find a "+this.name+" parser for version "+a+b;this.parser=new c(this.options)}return this.parser},write:function(a,b){var c=this.getVersion(null,b);this.parser=this.getParser(c);a=this.parser.write(a,b);return!1===this.stringifyOutput?
+a:OpenLayers.Format.XML.prototype.write.apply(this,[a])},read:function(a,b){"string"==typeof a&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));var c=this.getVersion(a.documentElement);this.parser=this.getParser(c);b=this.parser.read(a,b);var d=this.parser.errorProperty||null;null!==d&&void 0===b[d]&&(d=new OpenLayers.Format.OGCExceptionReport,b.error=d.read(a));b.version=c;b.requestType=this.name;return b},CLASS_NAME:"OpenLayers.Format.XML.VersionedOGC"});OpenLayers.Format.WMTSCapabilities=OpenLayers.Class(OpenLayers.Format.XML.VersionedOGC,{defaultVersion:"1.0.0",yx:{"urn:ogc:def:crs:EPSG::4326":!0},createLayer:function(a,b){if(!("layer"in b))throw Error("Missing property 'layer' in configuration.");for(var c=a.contents,d,e=0,f=c.layers.length;e<f;++e)if(c.layers[e].identifier===b.layer){d=c.layers[e];break}if(!d)throw Error("Layer not found");var g=b.format;!g&&d.formats&&d.formats.length&&(g=d.formats[0]);if(b.matrixSet)var h=c.tileMatrixSets[b.matrixSet];
+else if(b.projection){e=0;for(var k=d.tileMatrixSetLinks.length;e<k;e++)if(c.tileMatrixSets[d.tileMatrixSetLinks[e].tileMatrixSet].supportedCRS.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/,"$1:$3")===b.projection){h=c.tileMatrixSets[d.tileMatrixSetLinks[e].tileMatrixSet];break}}else 1<=d.tileMatrixSetLinks.length&&(h=c.tileMatrixSets[d.tileMatrixSetLinks[0].tileMatrixSet]);if(!h)throw Error("matrixSet not found");e=0;for(f=d.styles.length;e<f;++e){var l=d.styles[e];if(l.isDefault)break}c=b.requestEncoding;
+if(!c&&(c="KVP",a.operationsMetadata.GetTile.dcp.http)){var m=a.operationsMetadata.GetTile.dcp.http;m.get[0].constraints&&(m=m.get[0].constraints.GetEncoding.allowedValues,m.KVP||!m.REST&&!m.RESTful||(c="REST"))}m=[];var p=b.params||{};delete b.params;for(var n=0,q=d.dimensions.length;n<q;n++)e=d.dimensions[n],m.push(e.identifier),p.hasOwnProperty(e.identifier)||(p[e.identifier]=e["default"]);n=b.projection||h.supportedCRS.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/,"$1:$3");var r=b.units||("EPSG:4326"===
+n?"degrees":"m"),t=[],u,v;q=[];var x=d.tileMatrixSetLinks;f=function(a){t.push(2.8E-4*a/OpenLayers.METERS_PER_INCH/OpenLayers.INCHES_PER_UNIT[r]);if(!u||u>a)u=a;if(!v||v<a)v=a};var w=0;for(k=x.length;w<k;w++)if(e=x[w],e.tileMatrixSet===h.identifier){if(e.tileMatrixSetLimits){k={};w=0;for(var y=h.matrixIds.length;w<y;w++)k[h.matrixIds[w].identifier]=h.matrixIds[w];w=0;for(y=e.tileMatrixSetLimits.length;w<y;w++)x=k[e.tileMatrixSetLimits[w].tileMatrix],q.push(x),f(x.scaleDenominator)}else for(w=0,y=
+h.matrixIds.length;w<y;w++)f(h.matrixIds[w].scaleDenominator);break}if("REST"===c&&d.resourceUrls)for(a=[],f=0,k=d.resourceUrls.length;f<k;++f)e=d.resourceUrls[f],e.format===g&&"tile"===e.resourceType&&a.push(e.template);else for(k=a.operationsMetadata.GetTile.dcp.http.get,a=[],e=0,f=k.length;e<f;e++)x=k[e].constraints,(!x||x&&x.GetEncoding.allowedValues[c])&&a.push(k[e].url);t.sort(function(a,b){return b-a});b=OpenLayers.Util.applyDefaults(b,{url:a,requestEncoding:c,name:d.title,style:l&&l.identifier||
+"",format:g,matrixIds:q.length?q:h.matrixIds,matrixSet:h.identifier,projection:n,units:r,tileFullExtent:h.bounds,dimensions:m,params:p,resolutions:!1===b.isBaseLayer?void 0:t,serverResolutions:t,minScale:1/Math.ceil(v),maxScale:1/Math.floor(u)});return new OpenLayers.Layer.WMTS(b)},CLASS_NAME:"OpenLayers.Format.WMTSCapabilities"});OpenLayers.Format.OWSCommon=OpenLayers.Class(OpenLayers.Format.XML.VersionedOGC,{defaultVersion:"1.0.0",getVersion:function(a,b){b=this.version;b||((a=a.getAttribute("xmlns:ows"))&&"1.1"===a.substring(a.lastIndexOf("/")+1)&&(b="1.1.0"),b||(b=this.defaultVersion));return b},CLASS_NAME:"OpenLayers.Format.OWSCommon"});OpenLayers.Format.OWSCommon.v1=OpenLayers.Class(OpenLayers.Format.XML,{regExes:{trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g},read:function(a,b){OpenLayers.Util.applyDefaults(b,this.options);b={};this.readChildNodes(a,b);return b},readers:{ows:{Exception:function(a,b){var c={code:a.getAttribute("exceptionCode"),locator:a.getAttribute("locator"),texts:[]};b.exceptions.push(c);this.readChildNodes(a,c)},ExceptionText:function(a,b){a=this.getChildValue(a);b.texts.push(a)},
+ServiceIdentification:function(a,b){b.serviceIdentification={};this.readChildNodes(a,b.serviceIdentification)},Title:function(a,b){b.title=this.getChildValue(a)},Abstract:function(a,b){b["abstract"]=this.getChildValue(a)},Keywords:function(a,b){b.keywords={};this.readChildNodes(a,b.keywords)},Keyword:function(a,b){b[this.getChildValue(a)]=!0},ServiceType:function(a,b){b.serviceType={codeSpace:a.getAttribute("codeSpace"),value:this.getChildValue(a)}},ServiceTypeVersion:function(a,b){b.serviceTypeVersion=
+this.getChildValue(a)},Fees:function(a,b){b.fees=this.getChildValue(a)},AccessConstraints:function(a,b){b.accessConstraints=this.getChildValue(a)},ServiceProvider:function(a,b){b.serviceProvider={};this.readChildNodes(a,b.serviceProvider)},ProviderName:function(a,b){b.providerName=this.getChildValue(a)},ProviderSite:function(a,b){b.providerSite=this.getAttributeNS(a,this.namespaces.xlink,"href")},ServiceContact:function(a,b){b.serviceContact={};this.readChildNodes(a,b.serviceContact)},IndividualName:function(a,
+b){b.individualName=this.getChildValue(a)},PositionName:function(a,b){b.positionName=this.getChildValue(a)},ContactInfo:function(a,b){b.contactInfo={};this.readChildNodes(a,b.contactInfo)},Phone:function(a,b){b.phone={};this.readChildNodes(a,b.phone)},Voice:function(a,b){b.voice=this.getChildValue(a)},Facsimile:function(a,b){b.facsimile=this.getChildValue(a)},Address:function(a,b){b.address={};this.readChildNodes(a,b.address)},DeliveryPoint:function(a,b){b.deliveryPoint=this.getChildValue(a)},City:function(a,
+b){b.city=this.getChildValue(a)},AdministrativeArea:function(a,b){b.administrativeArea=this.getChildValue(a)},PostalCode:function(a,b){b.postalCode=this.getChildValue(a)},Country:function(a,b){b.country=this.getChildValue(a)},ElectronicMailAddress:function(a,b){b.electronicMailAddress=this.getChildValue(a)},Role:function(a,b){b.role=this.getChildValue(a)},OperationsMetadata:function(a,b){b.operationsMetadata={};this.readChildNodes(a,b.operationsMetadata)},Operation:function(a,b){var c=a.getAttribute("name");
+b[c]={};this.readChildNodes(a,b[c])},DCP:function(a,b){b.dcp={};this.readChildNodes(a,b.dcp)},HTTP:function(a,b){b.http={};this.readChildNodes(a,b.http)},Get:function(a,b){b.get||(b.get=[]);var c={url:this.getAttributeNS(a,this.namespaces.xlink,"href")};this.readChildNodes(a,c);b.get.push(c)},Post:function(a,b){b.post||(b.post=[]);var c={url:this.getAttributeNS(a,this.namespaces.xlink,"href")};this.readChildNodes(a,c);b.post.push(c)},Parameter:function(a,b){b.parameters||(b.parameters={});var c=a.getAttribute("name");
+b.parameters[c]={};this.readChildNodes(a,b.parameters[c])},Constraint:function(a,b){b.constraints||(b.constraints={});var c=a.getAttribute("name");b.constraints[c]={};this.readChildNodes(a,b.constraints[c])},Value:function(a,b){b[this.getChildValue(a)]=!0},OutputFormat:function(a,b){b.formats.push({value:this.getChildValue(a)});this.readChildNodes(a,b)},WGS84BoundingBox:function(a,b){var c={};c.crs=a.getAttribute("crs");b.BoundingBox?b.BoundingBox.push(c):(b.projection=c.crs,c=b);this.readChildNodes(a,
+c)},BoundingBox:function(a,b){this.readers.ows.WGS84BoundingBox.apply(this,[a,b])},LowerCorner:function(a,b){a=this.getChildValue(a).replace(this.regExes.trimSpace,"");a=a.replace(this.regExes.trimComma,",");a=a.split(this.regExes.splitSpace);b.left=a[0];b.bottom=a[1]},UpperCorner:function(a,b){a=this.getChildValue(a).replace(this.regExes.trimSpace,"");a=a.replace(this.regExes.trimComma,",");a=a.split(this.regExes.splitSpace);b.right=a[0];b.top=a[1];b.bounds=new OpenLayers.Bounds(b.left,b.bottom,
+b.right,b.top);delete b.left;delete b.bottom;delete b.right;delete b.top},Language:function(a,b){b.language=this.getChildValue(a)}}},writers:{ows:{BoundingBox:function(a,b){b=this.createElementNSPlus(b||"ows:BoundingBox",{attributes:{crs:a.projection}});this.writeNode("ows:LowerCorner",a,b);this.writeNode("ows:UpperCorner",a,b);return b},LowerCorner:function(a){return this.createElementNSPlus("ows:LowerCorner",{value:a.bounds.left+" "+a.bounds.bottom})},UpperCorner:function(a){return this.createElementNSPlus("ows:UpperCorner",
+{value:a.bounds.right+" "+a.bounds.top})},Identifier:function(a){return this.createElementNSPlus("ows:Identifier",{value:a})},Title:function(a){return this.createElementNSPlus("ows:Title",{value:a})},Abstract:function(a){return this.createElementNSPlus("ows:Abstract",{value:a})},OutputFormat:function(a){return this.createElementNSPlus("ows:OutputFormat",{value:a})}}},CLASS_NAME:"OpenLayers.Format.OWSCommon.v1"});OpenLayers.Format.OWSCommon.v1_1_0=OpenLayers.Class(OpenLayers.Format.OWSCommon.v1,{namespaces:{ows:"http://www.opengis.net/ows/1.1",xlink:"http://www.w3.org/1999/xlink"},readers:{ows:OpenLayers.Util.applyDefaults({ExceptionReport:function(a,b){b.exceptionReport={version:a.getAttribute("version"),language:a.getAttribute("xml:lang"),exceptions:[]};this.readChildNodes(a,b.exceptionReport)},AllowedValues:function(a,b){b.allowedValues={};this.readChildNodes(a,b.allowedValues)},AnyValue:function(a,b){b.anyValue=
+!0},DataType:function(a,b){b.dataType=this.getChildValue(a)},Range:function(a,b){b.range={};this.readChildNodes(a,b.range)},MinimumValue:function(a,b){b.minValue=this.getChildValue(a)},MaximumValue:function(a,b){b.maxValue=this.getChildValue(a)},Identifier:function(a,b){b.identifier=this.getChildValue(a)},SupportedCRS:function(a,b){b.supportedCRS=this.getChildValue(a)}},OpenLayers.Format.OWSCommon.v1.prototype.readers.ows)},writers:{ows:OpenLayers.Util.applyDefaults({Range:function(a){var b=this.createElementNSPlus("ows:Range",
+{attributes:{"ows:rangeClosure":a.closure}});this.writeNode("ows:MinimumValue",a.minValue,b);this.writeNode("ows:MaximumValue",a.maxValue,b);return b},MinimumValue:function(a){return this.createElementNSPlus("ows:MinimumValue",{value:a})},MaximumValue:function(a){return this.createElementNSPlus("ows:MaximumValue",{value:a})},Value:function(a){return this.createElementNSPlus("ows:Value",{value:a})}},OpenLayers.Format.OWSCommon.v1.prototype.writers.ows)},CLASS_NAME:"OpenLayers.Format.OWSCommon.v1_1_0"});OpenLayers.Format.WMTSCapabilities.v1_0_0=OpenLayers.Class(OpenLayers.Format.OWSCommon.v1_1_0,{version:"1.0.0",namespaces:{ows:"http://www.opengis.net/ows/1.1",wmts:"http://www.opengis.net/wmts/1.0",xlink:"http://www.w3.org/1999/xlink"},yx:null,defaultPrefix:"wmts",initialize:function(a){OpenLayers.Format.XML.prototype.initialize.apply(this,[a]);this.options=a;a=OpenLayers.Util.extend({},OpenLayers.Format.WMTSCapabilities.prototype.yx);this.yx=OpenLayers.Util.extend(a,this.yx)},read:function(a){"string"==
+typeof a&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));a&&9==a.nodeType&&(a=a.documentElement);var b={};this.readNode(a,b);b.version=this.version;return b},readers:{wmts:{Capabilities:function(a,b){this.readChildNodes(a,b)},Contents:function(a,b){b.contents={};b.contents.layers=[];b.contents.tileMatrixSets={};this.readChildNodes(a,b.contents)},Layer:function(a,b){var c={styles:[],formats:[],dimensions:[],tileMatrixSetLinks:[]};this.readChildNodes(a,c);b.layers.push(c)},Style:function(a,
+b){var c={};c.isDefault="true"===a.getAttribute("isDefault");this.readChildNodes(a,c);b.styles.push(c)},Format:function(a,b){b.formats.push(this.getChildValue(a))},TileMatrixSetLink:function(a,b){var c={};this.readChildNodes(a,c);b.tileMatrixSetLinks.push(c)},TileMatrixSet:function(a,b){if(b.layers){var c={matrixIds:[]};this.readChildNodes(a,c);b.tileMatrixSets[c.identifier]=c}else b.tileMatrixSet=this.getChildValue(a)},TileMatrixSetLimits:function(a,b){b.tileMatrixSetLimits=[];this.readChildNodes(a,
+b)},TileMatrixLimits:function(a,b){var c={};this.readChildNodes(a,c);b.tileMatrixSetLimits.push(c)},MinTileRow:function(a,b){b.minTileRow=parseInt(this.getChildValue(a))},MaxTileRow:function(a,b){b.maxTileRow=parseInt(this.getChildValue(a))},MinTileCol:function(a,b){b.minTileCol=parseInt(this.getChildValue(a))},MaxTileCol:function(a,b){b.maxTileCol=parseInt(this.getChildValue(a))},TileMatrix:function(a,b){if(b.identifier){var c={supportedCRS:b.supportedCRS};this.readChildNodes(a,c);b.matrixIds.push(c)}else b.tileMatrix=
+this.getChildValue(a)},ScaleDenominator:function(a,b){b.scaleDenominator=parseFloat(this.getChildValue(a))},TopLeftCorner:function(a,b){a=this.getChildValue(a).split(" ");if(b.supportedCRS){var c=b.supportedCRS.replace(/urn:ogc:def:crs:(\w+):.+:(\w+)$/,"urn:ogc:def:crs:$1::$2");c=!!this.yx[c]}b.topLeftCorner=c?new OpenLayers.LonLat(a[1],a[0]):new OpenLayers.LonLat(a[0],a[1])},TileWidth:function(a,b){b.tileWidth=parseInt(this.getChildValue(a))},TileHeight:function(a,b){b.tileHeight=parseInt(this.getChildValue(a))},
+MatrixWidth:function(a,b){b.matrixWidth=parseInt(this.getChildValue(a))},MatrixHeight:function(a,b){b.matrixHeight=parseInt(this.getChildValue(a))},ResourceURL:function(a,b){b.resourceUrl=b.resourceUrl||{};var c=a.getAttribute("resourceType");b.resourceUrls||(b.resourceUrls=[]);a=b.resourceUrl[c]={format:a.getAttribute("format"),template:a.getAttribute("template"),resourceType:c};b.resourceUrls.push(a)},LegendURL:function(a,b){b.legends=b.legends||[];var c={format:a.getAttribute("format"),href:a.getAttribute("xlink:href")},
+d=a.getAttribute("width"),e=a.getAttribute("height"),f=a.getAttribute("minScaleDenominator");a=a.getAttribute("maxScaleDenominator");null!==d&&(c.width=parseInt(d));null!==e&&(c.height=parseInt(e));null!==f&&(c.minScaleDenominator=parseInt(f));null!==a&&(c.maxScaleDenominator=parseInt(a));b.legends.push(c)},InfoFormat:function(a,b){b.infoFormats=b.infoFormats||[];b.infoFormats.push(this.getChildValue(a))},WSDL:function(a,b){b.wsdl={};b.wsdl.href=a.getAttribute("xlink:href")},ServiceMetadataURL:function(a,
+b){b.serviceMetadataUrl={};b.serviceMetadataUrl.href=a.getAttribute("xlink:href")},Dimension:function(a,b){var c={values:[]};this.readChildNodes(a,c);b.dimensions.push(c)},Default:function(a,b){b["default"]=this.getChildValue(a)},Value:function(a,b){b.values.push(this.getChildValue(a))}},ows:OpenLayers.Format.OWSCommon.v1_1_0.prototype.readers.ows},CLASS_NAME:"OpenLayers.Format.WMTSCapabilities.v1_0_0"});OpenLayers.Popup=OpenLayers.Class({events:null,id:"",lonlat:null,div:null,contentSize:null,size:null,contentHTML:null,backgroundColor:"",opacity:"",border:"",contentDiv:null,groupDiv:null,closeDiv:null,autoSize:!1,minSize:null,maxSize:null,displayClass:"olPopup",contentDisplayClass:"olPopupContent",padding:0,disableFirefoxOverflowHack:!1,fixPadding:function(){"number"==typeof this.padding&&(this.padding=new OpenLayers.Bounds(this.padding,this.padding,this.padding,this.padding))},panMapIfOutOfView:!1,
+keepInMap:!1,closeOnMove:!1,map:null,initialize:function(a,b,c,d,e,f){null==a&&(a=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_"));this.id=a;this.lonlat=b;this.contentSize=null!=c?c:new OpenLayers.Size(OpenLayers.Popup.WIDTH,OpenLayers.Popup.HEIGHT);null!=d&&(this.contentHTML=d);this.backgroundColor=OpenLayers.Popup.COLOR;this.opacity=OpenLayers.Popup.OPACITY;this.border=OpenLayers.Popup.BORDER;this.div=OpenLayers.Util.createDiv(this.id,null,null,null,null,null,"hidden");this.div.className=this.displayClass;
+this.groupDiv=OpenLayers.Util.createDiv(this.id+"_GroupDiv",null,null,null,"relative",null,"hidden");a=this.div.id+"_contentDiv";this.contentDiv=OpenLayers.Util.createDiv(a,null,this.contentSize.clone(),null,"relative");this.contentDiv.className=this.contentDisplayClass;this.groupDiv.appendChild(this.contentDiv);this.div.appendChild(this.groupDiv);e&&this.addCloseBox(f);this.registerEvents()},destroy:function(){this.border=this.opacity=this.backgroundColor=this.contentHTML=this.size=this.lonlat=this.id=
+null;this.closeOnMove&&this.map&&this.map.events.unregister("movestart",this,this.hide);this.events.destroy();this.events=null;this.closeDiv&&(OpenLayers.Event.stopObservingElement(this.closeDiv),this.groupDiv.removeChild(this.closeDiv));this.closeDiv=null;this.div.removeChild(this.groupDiv);this.groupDiv=null;null!=this.map&&this.map.removePopup(this);this.panMapIfOutOfView=this.padding=this.maxSize=this.minSize=this.autoSize=this.div=this.map=null},draw:function(a){null==a&&null!=this.lonlat&&null!=
+this.map&&(a=this.map.getLayerPxFromLonLat(this.lonlat));this.closeOnMove&&this.map.events.register("movestart",this,this.hide);this.disableFirefoxOverflowHack||"firefox"!=OpenLayers.BROWSER_NAME||(this.map.events.register("movestart",this,function(){var a=document.defaultView.getComputedStyle(this.contentDiv,null).getPropertyValue("overflow");"hidden"!=a&&(this.contentDiv._oldOverflow=a,this.contentDiv.style.overflow="hidden")}),this.map.events.register("moveend",this,function(){var a=this.contentDiv._oldOverflow;
+a&&(this.contentDiv.style.overflow=a,this.contentDiv._oldOverflow=null)}));this.moveTo(a);this.autoSize||this.size||this.setSize(this.contentSize);this.setBackgroundColor();this.setOpacity();this.setBorder();this.setContentHTML();this.panMapIfOutOfView&&this.panIntoView();return this.div},updatePosition:function(){if(this.lonlat&&this.map){var a=this.map.getLayerPxFromLonLat(this.lonlat);a&&this.moveTo(a)}},moveTo:function(a){null!=a&&null!=this.div&&(this.div.style.left=a.x+"px",this.div.style.top=
+a.y+"px")},visible:function(){return OpenLayers.Element.visible(this.div)},toggle:function(){this.visible()?this.hide():this.show()},show:function(){this.div.style.display="";this.panMapIfOutOfView&&this.panIntoView()},hide:function(){this.div.style.display="none"},setSize:function(a){this.size=a.clone();var b=this.getContentDivPadding(),c=b.left+b.right,d=b.top+b.bottom;this.fixPadding();c+=this.padding.left+this.padding.right;d+=this.padding.top+this.padding.bottom;if(this.closeDiv){var e=parseInt(this.closeDiv.style.width);
+c+=e+b.right}this.size.w+=c;this.size.h+=d;"msie"==OpenLayers.BROWSER_NAME&&(this.contentSize.w+=b.left+b.right,this.contentSize.h+=b.bottom+b.top);null!=this.div&&(this.div.style.width=this.size.w+"px",this.div.style.height=this.size.h+"px");null!=this.contentDiv&&(this.contentDiv.style.width=a.w+"px",this.contentDiv.style.height=a.h+"px")},updateSize:function(){var a="<div class='"+this.contentDisplayClass+"'>"+this.contentDiv.innerHTML+"</div>",b=this.map?this.map.div:document.body,c=OpenLayers.Util.getRenderedDimensions(a,
+null,{displayClass:this.displayClass,containerElement:b}),d=this.getSafeContentSize(c);d.equals(c)?d=c:(c={w:d.w<c.w?d.w:null,h:d.h<c.h?d.h:null},c.w&&c.h||(a=OpenLayers.Util.getRenderedDimensions(a,c,{displayClass:this.contentDisplayClass,containerElement:b}),"hidden"!=OpenLayers.Element.getStyle(this.contentDiv,"overflow")&&a.equals(d)&&(d=OpenLayers.Util.getScrollbarWidth(),c.w?a.h+=d:a.w+=d),d=this.getSafeContentSize(a)));this.setSize(d)},setBackgroundColor:function(a){void 0!=a&&(this.backgroundColor=
+a);null!=this.div&&(this.div.style.backgroundColor=this.backgroundColor)},setOpacity:function(a){void 0!=a&&(this.opacity=a);null!=this.div&&(this.div.style.opacity=this.opacity,this.div.style.filter="alpha(opacity="+100*this.opacity+")")},setBorder:function(a){void 0!=a&&(this.border=a);null!=this.div&&(this.div.style.border=this.border)},setContentHTML:function(a){null!=a&&(this.contentHTML=a);null!=this.contentDiv&&null!=this.contentHTML&&this.contentHTML!=this.contentDiv.innerHTML&&(this.contentDiv.innerHTML=
+this.contentHTML,this.autoSize&&(this.registerImageListeners(),this.updateSize()))},registerImageListeners:function(){for(var a=function(){null!==this.popup.id&&(this.popup.updateSize(),this.popup.visible()&&this.popup.panMapIfOutOfView&&this.popup.panIntoView(),OpenLayers.Event.stopObserving(this.img,"load",this.img._onImgLoad))},b=this.contentDiv.getElementsByTagName("img"),c=0,d=b.length;c<d;c++){var e=b[c];if(0==e.width||0==e.height)e._onImgLoad=OpenLayers.Function.bind(a,{popup:this,img:e}),
+OpenLayers.Event.observe(e,"load",e._onImgLoad)}},getSafeContentSize:function(a){a=a.clone();var b=this.getContentDivPadding(),c=b.left+b.right,d=b.top+b.bottom;this.fixPadding();c+=this.padding.left+this.padding.right;d+=this.padding.top+this.padding.bottom;if(this.closeDiv){var e=parseInt(this.closeDiv.style.width);c+=e+b.right}this.minSize&&(a.w=Math.max(a.w,this.minSize.w-c),a.h=Math.max(a.h,this.minSize.h-d));this.maxSize&&(a.w=Math.min(a.w,this.maxSize.w-c),a.h=Math.min(a.h,this.maxSize.h-d));
+if(this.map&&this.map.size){e=b=0;if(this.keepInMap&&!this.panMapIfOutOfView)switch(e=this.map.getPixelFromLonLat(this.lonlat),this.relativePosition){case "tr":b=e.x;e=this.map.size.h-e.y;break;case "tl":b=this.map.size.w-e.x;e=this.map.size.h-e.y;break;case "bl":b=this.map.size.w-e.x;e=e.y;break;case "br":b=e.x;e=e.y;break;default:b=e.x,e=this.map.size.h-e.y}d=this.map.size.h-this.map.paddingForPopups.top-this.map.paddingForPopups.bottom-d-e;a.w=Math.min(a.w,this.map.size.w-this.map.paddingForPopups.left-
+this.map.paddingForPopups.right-c-b);a.h=Math.min(a.h,d)}return a},getContentDivPadding:function(){var a=this._contentDivPadding;a||(null==this.div.parentNode&&(this.div.style.display="none",document.body.appendChild(this.div)),this._contentDivPadding=a=new OpenLayers.Bounds(OpenLayers.Element.getStyle(this.contentDiv,"padding-left"),OpenLayers.Element.getStyle(this.contentDiv,"padding-bottom"),OpenLayers.Element.getStyle(this.contentDiv,"padding-right"),OpenLayers.Element.getStyle(this.contentDiv,
+"padding-top")),this.div.parentNode==document.body&&(document.body.removeChild(this.div),this.div.style.display=""));return a},addCloseBox:function(a){this.closeDiv=OpenLayers.Util.createDiv(this.id+"_close",null,{w:17,h:17});this.closeDiv.className="olPopupCloseBox";var b=this.getContentDivPadding();this.closeDiv.style.right=b.right+"px";this.closeDiv.style.top=b.top+"px";this.groupDiv.appendChild(this.closeDiv);a=a||function(a){this.hide();OpenLayers.Event.stop(a)};OpenLayers.Event.observe(this.closeDiv,
+"touchend",OpenLayers.Function.bindAsEventListener(a,this));OpenLayers.Event.observe(this.closeDiv,"click",OpenLayers.Function.bindAsEventListener(a,this))},panIntoView:function(){var a=this.map.getSize(),b=this.map.getViewPortPxFromLayerPx(new OpenLayers.Pixel(parseInt(this.div.style.left),parseInt(this.div.style.top))),c=b.clone();b.x<this.map.paddingForPopups.left?c.x=this.map.paddingForPopups.left:b.x+this.size.w>a.w-this.map.paddingForPopups.right&&(c.x=a.w-this.map.paddingForPopups.right-this.size.w);
+b.y<this.map.paddingForPopups.top?c.y=this.map.paddingForPopups.top:b.y+this.size.h>a.h-this.map.paddingForPopups.bottom&&(c.y=a.h-this.map.paddingForPopups.bottom-this.size.h);this.map.pan(b.x-c.x,b.y-c.y)},registerEvents:function(){this.events=new OpenLayers.Events(this,this.div,null,!0);this.events.on({mousedown:this.onmousedown,mousemove:this.onmousemove,mouseup:this.onmouseup,click:this.onclick,mouseout:this.onmouseout,dblclick:this.ondblclick,touchstart:function(a){OpenLayers.Event.stop(a,!0)},
+scope:this})},onmousedown:function(a){this.mousedown=!0;OpenLayers.Event.stop(a,!0)},onmousemove:function(a){this.mousedown&&OpenLayers.Event.stop(a,!0)},onmouseup:function(a){this.mousedown&&(this.mousedown=!1,OpenLayers.Event.stop(a,!0))},onclick:function(a){OpenLayers.Event.stop(a,!0)},onmouseout:function(a){this.mousedown=!1},ondblclick:function(a){OpenLayers.Event.stop(a,!0)},CLASS_NAME:"OpenLayers.Popup"});OpenLayers.Popup.WIDTH=200;OpenLayers.Popup.HEIGHT=200;OpenLayers.Popup.COLOR="white";
+OpenLayers.Popup.OPACITY=1;OpenLayers.Popup.BORDER="0px";OpenLayers.Popup.Anchored=OpenLayers.Class(OpenLayers.Popup,{relativePosition:null,keepInMap:!0,anchor:null,initialize:function(a,b,c,d,e,f,g){OpenLayers.Popup.prototype.initialize.apply(this,[a,b,c,d,f,g]);this.anchor=null!=e?e:{size:new OpenLayers.Size(0,0),offset:new OpenLayers.Pixel(0,0)}},destroy:function(){this.relativePosition=this.anchor=null;OpenLayers.Popup.prototype.destroy.apply(this,arguments)},show:function(){this.updatePosition();OpenLayers.Popup.prototype.show.apply(this,arguments)},
+moveTo:function(a){var b=this.relativePosition;this.relativePosition=this.calculateRelativePosition(a);OpenLayers.Popup.prototype.moveTo.call(this,this.calculateNewPx(a));this.relativePosition!=b&&this.updateRelativePosition()},setSize:function(a){OpenLayers.Popup.prototype.setSize.apply(this,arguments);if(this.lonlat&&this.map){var b=this.map.getLayerPxFromLonLat(this.lonlat);this.moveTo(b)}},calculateRelativePosition:function(a){a=this.map.getLonLatFromLayerPx(a);a=this.map.getExtent().determineQuadrant(a);
+return OpenLayers.Bounds.oppositeQuadrant(a)},updateRelativePosition:function(){},calculateNewPx:function(a){a=a.offset(this.anchor.offset);var b=this.size||this.contentSize,c="t"==this.relativePosition.charAt(0);a.y+=c?-b.h:this.anchor.size.h;c="l"==this.relativePosition.charAt(1);a.x+=c?-b.w:this.anchor.size.w;return a},CLASS_NAME:"OpenLayers.Popup.Anchored"});OpenLayers.Popup.Framed=OpenLayers.Class(OpenLayers.Popup.Anchored,{imageSrc:null,imageSize:null,isAlphaImage:!1,positionBlocks:null,blocks:null,fixedRelativePosition:!1,initialize:function(a,b,c,d,e,f,g){OpenLayers.Popup.Anchored.prototype.initialize.apply(this,arguments);this.fixedRelativePosition&&(this.updateRelativePosition(),this.calculateRelativePosition=function(a){return this.relativePosition});this.contentDiv.style.position="absolute";this.contentDiv.style.zIndex=1;f&&(this.closeDiv.style.zIndex=
+1);this.groupDiv.style.position="absolute";this.groupDiv.style.top="0px";this.groupDiv.style.left="0px";this.groupDiv.style.height="100%";this.groupDiv.style.width="100%"},destroy:function(){this.isAlphaImage=this.imageSize=this.imageSrc=null;this.fixedRelativePosition=!1;this.positionBlocks=null;for(var a=0;a<this.blocks.length;a++){var b=this.blocks[a];b.image&&b.div.removeChild(b.image);b.image=null;b.div&&this.groupDiv.removeChild(b.div);b.div=null}this.blocks=null;OpenLayers.Popup.Anchored.prototype.destroy.apply(this,
+arguments)},setBackgroundColor:function(a){},setBorder:function(){},setOpacity:function(a){},setSize:function(a){OpenLayers.Popup.Anchored.prototype.setSize.apply(this,arguments);this.updateBlocks()},updateRelativePosition:function(){this.padding=this.positionBlocks[this.relativePosition].padding;if(this.closeDiv){var a=this.getContentDivPadding();this.closeDiv.style.right=a.right+this.padding.right+"px";this.closeDiv.style.top=a.top+this.padding.top+"px"}this.updateBlocks()},calculateNewPx:function(a){var b=
+OpenLayers.Popup.Anchored.prototype.calculateNewPx.apply(this,arguments);return b=b.offset(this.positionBlocks[this.relativePosition].offset)},createBlocks:function(){this.blocks=[];var a=null,b;for(b in this.positionBlocks){a=b;break}a=this.positionBlocks[a];for(b=0;b<a.blocks.length;b++){var c={};this.blocks.push(c);c.div=OpenLayers.Util.createDiv(this.id+"_FrameDecorationDiv_"+b,null,null,null,"absolute",null,"hidden",null);c.image=(this.isAlphaImage?OpenLayers.Util.createAlphaImageDiv:OpenLayers.Util.createImage)(this.id+
+"_FrameDecorationImg_"+b,null,this.imageSize,this.imageSrc,"absolute",null,null,null);c.div.appendChild(c.image);this.groupDiv.appendChild(c.div)}},updateBlocks:function(){this.blocks||this.createBlocks();if(this.size&&this.relativePosition){for(var a=this.positionBlocks[this.relativePosition],b=0;b<a.blocks.length;b++){var c=a.blocks[b],d=this.blocks[b],e=c.anchor.left,f=c.anchor.bottom,g=c.anchor.right,h=c.anchor.top,k=isNaN(c.size.w)?this.size.w-(g+e):c.size.w,l=isNaN(c.size.h)?this.size.h-(f+
+h):c.size.h;d.div.style.width=(0>k?0:k)+"px";d.div.style.height=(0>l?0:l)+"px";d.div.style.left=null!=e?e+"px":"";d.div.style.bottom=null!=f?f+"px":"";d.div.style.right=null!=g?g+"px":"";d.div.style.top=null!=h?h+"px":"";d.image.style.left=c.position.x+"px";d.image.style.top=c.position.y+"px"}this.contentDiv.style.left=this.padding.left+"px";this.contentDiv.style.top=this.padding.top+"px"}},CLASS_NAME:"OpenLayers.Popup.Framed"});OpenLayers.Popup.FramedCloud=OpenLayers.Class(OpenLayers.Popup.Framed,{contentDisplayClass:"olFramedCloudPopupContent",autoSize:!0,panMapIfOutOfView:!0,imageSize:new OpenLayers.Size(1276,736),isAlphaImage:!1,fixedRelativePosition:!1,positionBlocks:{tl:{offset:new OpenLayers.Pixel(44,0),padding:new OpenLayers.Bounds(8,40,8,9),blocks:[{size:new OpenLayers.Size("auto","auto"),anchor:new OpenLayers.Bounds(0,51,22,0),position:new OpenLayers.Pixel(0,0)},{size:new OpenLayers.Size(22,"auto"),anchor:new OpenLayers.Bounds(null,
+50,0,0),position:new OpenLayers.Pixel(-1238,0)},{size:new OpenLayers.Size("auto",19),anchor:new OpenLayers.Bounds(0,32,22,null),position:new OpenLayers.Pixel(0,-631)},{size:new OpenLayers.Size(22,18),anchor:new OpenLayers.Bounds(null,32,0,null),position:new OpenLayers.Pixel(-1238,-632)},{size:new OpenLayers.Size(81,35),anchor:new OpenLayers.Bounds(null,0,0,null),position:new OpenLayers.Pixel(0,-688)}]},tr:{offset:new OpenLayers.Pixel(-45,0),padding:new OpenLayers.Bounds(8,40,8,9),blocks:[{size:new OpenLayers.Size("auto",
+"auto"),anchor:new OpenLayers.Bounds(0,51,22,0),position:new OpenLayers.Pixel(0,0)},{size:new OpenLayers.Size(22,"auto"),anchor:new OpenLayers.Bounds(null,50,0,0),position:new OpenLayers.Pixel(-1238,0)},{size:new OpenLayers.Size("auto",19),anchor:new OpenLayers.Bounds(0,32,22,null),position:new OpenLayers.Pixel(0,-631)},{size:new OpenLayers.Size(22,19),anchor:new OpenLayers.Bounds(null,32,0,null),position:new OpenLayers.Pixel(-1238,-631)},{size:new OpenLayers.Size(81,35),anchor:new OpenLayers.Bounds(0,
+0,null,null),position:new OpenLayers.Pixel(-215,-687)}]},bl:{offset:new OpenLayers.Pixel(45,0),padding:new OpenLayers.Bounds(8,9,8,40),blocks:[{size:new OpenLayers.Size("auto","auto"),anchor:new OpenLayers.Bounds(0,21,22,32),position:new OpenLayers.Pixel(0,0)},{size:new OpenLayers.Size(22,"auto"),anchor:new OpenLayers.Bounds(null,21,0,32),position:new OpenLayers.Pixel(-1238,0)},{size:new OpenLayers.Size("auto",21),anchor:new OpenLayers.Bounds(0,0,22,null),position:new OpenLayers.Pixel(0,-629)},{size:new OpenLayers.Size(22,
+21),anchor:new OpenLayers.Bounds(null,0,0,null),position:new OpenLayers.Pixel(-1238,-629)},{size:new OpenLayers.Size(81,33),anchor:new OpenLayers.Bounds(null,null,0,0),position:new OpenLayers.Pixel(-101,-674)}]},br:{offset:new OpenLayers.Pixel(-44,0),padding:new OpenLayers.Bounds(8,9,8,40),blocks:[{size:new OpenLayers.Size("auto","auto"),anchor:new OpenLayers.Bounds(0,21,22,32),position:new OpenLayers.Pixel(0,0)},{size:new OpenLayers.Size(22,"auto"),anchor:new OpenLayers.Bounds(null,21,0,32),position:new OpenLayers.Pixel(-1238,
+0)},{size:new OpenLayers.Size("auto",21),anchor:new OpenLayers.Bounds(0,0,22,null),position:new OpenLayers.Pixel(0,-629)},{size:new OpenLayers.Size(22,21),anchor:new OpenLayers.Bounds(null,0,0,null),position:new OpenLayers.Pixel(-1238,-629)},{size:new OpenLayers.Size(81,33),anchor:new OpenLayers.Bounds(0,null,null,0),position:new OpenLayers.Pixel(-311,-674)}]}},minSize:new OpenLayers.Size(105,10),maxSize:new OpenLayers.Size(1200,660),initialize:function(a,b,c,d,e,f,g){this.imageSrc=OpenLayers.Util.getImageLocation("cloud-popup-relative.png");
+OpenLayers.Popup.Framed.prototype.initialize.apply(this,arguments);this.contentDiv.className=this.contentDisplayClass},CLASS_NAME:"OpenLayers.Popup.FramedCloud"});OpenLayers.Strategy=OpenLayers.Class({layer:null,options:null,active:null,autoActivate:!0,autoDestroy:!0,initialize:function(a){OpenLayers.Util.extend(this,a);this.options=a;this.active=!1},destroy:function(){this.deactivate();this.options=this.layer=null},setLayer:function(a){this.layer=a},activate:function(){return this.active?!1:this.active=!0},deactivate:function(){return this.active?(this.active=!1,!0):!1},CLASS_NAME:"OpenLayers.Strategy"});OpenLayers.Strategy.BBOX=OpenLayers.Class(OpenLayers.Strategy,{bounds:null,resolution:null,ratio:2,resFactor:null,response:null,activate:function(){var a=OpenLayers.Strategy.prototype.activate.call(this);a&&(this.layer.events.on({moveend:this.update,refresh:this.update,visibilitychanged:this.update,scope:this}),this.update());return a},deactivate:function(){var a=OpenLayers.Strategy.prototype.deactivate.call(this);a&&this.layer.events.un({moveend:this.update,refresh:this.update,visibilitychanged:this.update,
+scope:this});return a},update:function(a){var b=this.getMapBounds();null!==b&&(a&&a.force||this.layer.visibility&&this.layer.calculateInRange()&&this.invalidBounds(b))&&(this.calculateBounds(b),this.resolution=this.layer.map.getResolution(),this.triggerRead(a))},getMapBounds:function(){if(null===this.layer.map)return null;var a=this.layer.map.getExtent();a&&this.layer.projection&&!this.layer.projection.equals(this.layer.map.getProjectionObject())&&(a=a.clone().transform(this.layer.map.getProjectionObject(),
+this.layer.projection));return a},invalidBounds:function(a){a||(a=this.getMapBounds());a=!this.bounds||!this.bounds.containsBounds(a);!a&&this.resFactor&&(a=this.resolution/this.layer.map.getResolution(),a=a>=this.resFactor||a<=1/this.resFactor);return a},calculateBounds:function(a){a||(a=this.getMapBounds());var b=a.getCenterLonLat(),c=a.getWidth()*this.ratio;a=a.getHeight()*this.ratio;this.bounds=new OpenLayers.Bounds(b.lon-c/2,b.lat-a/2,b.lon+c/2,b.lat+a/2)},triggerRead:function(a){!this.response||
+a&&!0===a.noAbort||(this.layer.protocol.abort(this.response),this.layer.events.triggerEvent("loadend"));var b={filter:this.createFilter()};this.layer.events.triggerEvent("loadstart",b);this.response=this.layer.protocol.read(OpenLayers.Util.applyDefaults({filter:b.filter,callback:this.merge,scope:this},a))},createFilter:function(){var a=new OpenLayers.Filter.Spatial({type:OpenLayers.Filter.Spatial.BBOX,value:this.bounds,projection:this.layer.projection});this.layer.filter&&(a=new OpenLayers.Filter.Logical({type:OpenLayers.Filter.Logical.AND,
+filters:[this.layer.filter,a]}));return a},merge:function(a){this.layer.destroyFeatures();if(a.success()){var b=a.features;if(b&&0<b.length){var c=this.layer.projection,d=this.layer.map.getProjectionObject();if(c&&d&&!d.equals(c))for(var e,f=0,g=b.length;f<g;++f)(e=b[f].geometry)&&e.transform(c,d);this.layer.addFeatures(b)}}else this.bounds=null;this.response=null;this.layer.events.triggerEvent("loadend",{response:a})},CLASS_NAME:"OpenLayers.Strategy.BBOX"});OpenLayers.Strategy.Fixed=OpenLayers.Class(OpenLayers.Strategy,{preload:!1,activate:function(){var a=OpenLayers.Strategy.prototype.activate.apply(this,arguments);if(a)if(this.layer.events.on({refresh:this.load,scope:this}),1==this.layer.visibility||this.preload)this.load();else this.layer.events.on({visibilitychanged:this.load,scope:this});return a},deactivate:function(){var a=OpenLayers.Strategy.prototype.deactivate.call(this);a&&this.layer.events.un({refresh:this.load,visibilitychanged:this.load,
+scope:this});return a},load:function(a){var b=this.layer;b.events.triggerEvent("loadstart",{filter:b.filter});b.protocol.read(OpenLayers.Util.applyDefaults({callback:this.merge,filter:b.filter,scope:this},a));b.events.un({visibilitychanged:this.load,scope:this})},merge:function(a){var b=this.layer;b.destroyFeatures();var c=a.features;if(c&&0<c.length){var d=b.projection,e=b.map.getProjectionObject();if(!e.equals(d))for(var f,g=0,h=c.length;g<h;++g)(f=c[g].geometry)&&f.transform(d,e);b.addFeatures(c)}b.events.triggerEvent("loadend",
+{response:a})},CLASS_NAME:"OpenLayers.Strategy.Fixed"});OpenLayers.Protocol=OpenLayers.Class({format:null,options:null,autoDestroy:!0,defaultFilter:null,initialize:function(a){a=a||{};OpenLayers.Util.extend(this,a);this.options=a},mergeWithDefaultFilter:function(a){return a&&this.defaultFilter?new OpenLayers.Filter.Logical({type:OpenLayers.Filter.Logical.AND,filters:[this.defaultFilter,a]}):a||this.defaultFilter||void 0},destroy:function(){this.format=this.options=null},read:function(a){a=a||{};a.filter=this.mergeWithDefaultFilter(a.filter)},create:function(){},
+update:function(){},"delete":function(){},commit:function(){},abort:function(a){},createCallback:function(a,b,c){return OpenLayers.Function.bind(function(){a.apply(this,[b,c])},this)},CLASS_NAME:"OpenLayers.Protocol"});OpenLayers.Protocol.Response=OpenLayers.Class({code:null,requestType:null,last:!0,features:null,data:null,reqFeatures:null,priv:null,error:null,initialize:function(a){OpenLayers.Util.extend(this,a)},success:function(){return 0<this.code},CLASS_NAME:"OpenLayers.Protocol.Response"});
+OpenLayers.Protocol.Response.SUCCESS=1;OpenLayers.Protocol.Response.FAILURE=0;OpenLayers.Protocol.HTTP=OpenLayers.Class(OpenLayers.Protocol,{url:null,headers:null,params:null,callback:null,scope:null,readWithPOST:!1,updateWithPOST:!1,deleteWithPOST:!1,wildcarded:!1,srsInBBOX:!1,initialize:function(a){a=a||{};this.params={};this.headers={};OpenLayers.Protocol.prototype.initialize.apply(this,arguments);if(!this.filterToParams&&OpenLayers.Format.QueryStringFilter){var b=new OpenLayers.Format.QueryStringFilter({wildcarded:this.wildcarded,srsInBBOX:this.srsInBBOX});this.filterToParams=
+function(a,d){return b.write(a,d)}}},destroy:function(){this.headers=this.params=null;OpenLayers.Protocol.prototype.destroy.apply(this)},read:function(a){OpenLayers.Protocol.prototype.read.apply(this,arguments);a=a||{};a.params=OpenLayers.Util.applyDefaults(a.params,this.options.params);a=OpenLayers.Util.applyDefaults(a,this.options);a.filter&&this.filterToParams&&(a.params=this.filterToParams(a.filter,a.params));var b=void 0!==a.readWithPOST?a.readWithPOST:this.readWithPOST,c=new OpenLayers.Protocol.Response({requestType:"read"});
+b?(b=a.headers||{},b["Content-Type"]="application/x-www-form-urlencoded",c.priv=OpenLayers.Request.POST({url:a.url,callback:this.createCallback(this.handleRead,c,a),data:OpenLayers.Util.getParameterString(a.params),headers:b})):c.priv=OpenLayers.Request.GET({url:a.url,callback:this.createCallback(this.handleRead,c,a),params:a.params,headers:a.headers});return c},handleRead:function(a,b){this.handleResponse(a,b)},create:function(a,b){b=OpenLayers.Util.applyDefaults(b,this.options);var c=new OpenLayers.Protocol.Response({reqFeatures:a,
+requestType:"create"});c.priv=OpenLayers.Request.POST({url:b.url,callback:this.createCallback(this.handleCreate,c,b),headers:b.headers,data:this.format.write(a)});return c},handleCreate:function(a,b){this.handleResponse(a,b)},update:function(a,b){b=b||{};var c=b.url||a.url||this.options.url+"/"+a.fid;b=OpenLayers.Util.applyDefaults(b,this.options);var d=new OpenLayers.Protocol.Response({reqFeatures:a,requestType:"update"});d.priv=OpenLayers.Request[this.updateWithPOST?"POST":"PUT"]({url:c,callback:this.createCallback(this.handleUpdate,
+d,b),headers:b.headers,data:this.format.write(a)});return d},handleUpdate:function(a,b){this.handleResponse(a,b)},"delete":function(a,b){b=b||{};var c=b.url||a.url||this.options.url+"/"+a.fid;b=OpenLayers.Util.applyDefaults(b,this.options);var d=new OpenLayers.Protocol.Response({reqFeatures:a,requestType:"delete"}),e=this.deleteWithPOST?"POST":"DELETE";b={url:c,callback:this.createCallback(this.handleDelete,d,b),headers:b.headers};this.deleteWithPOST&&(b.data=this.format.write(a));d.priv=OpenLayers.Request[e](b);
+return d},handleDelete:function(a,b){this.handleResponse(a,b)},handleResponse:function(a,b){var c=a.priv;b.callback&&(200<=c.status&&300>c.status?("delete"!=a.requestType&&(a.features=this.parseFeatures(c)),a.code=OpenLayers.Protocol.Response.SUCCESS):a.code=OpenLayers.Protocol.Response.FAILURE,b.callback.call(b.scope,a))},parseFeatures:function(a){var b=a.responseXML;b&&b.documentElement||(b=a.responseText);return!b||0>=b.length?null:this.format.read(b)},commit:function(a,b){function c(a){for(var b=
+a.features?a.features.length:0,c=Array(b),e=0;e<b;++e)c[e]=a.features[e].fid;r.insertIds=c;d.apply(this,[a])}function d(a){this.callUserCallback(a,b);q=q&&a.success();f++;f>=n&&b.callback&&(r.code=q?OpenLayers.Protocol.Response.SUCCESS:OpenLayers.Protocol.Response.FAILURE,b.callback.apply(b.scope,[r]))}b=OpenLayers.Util.applyDefaults(b,this.options);var e=[],f=0,g={};g[OpenLayers.State.INSERT]=[];g[OpenLayers.State.UPDATE]=[];g[OpenLayers.State.DELETE]=[];for(var h,k,l=[],m=0,p=a.length;m<p;++m)if(h=
+a[m],k=g[h.state])k.push(h),l.push(h);var n=(0<g[OpenLayers.State.INSERT].length?1:0)+g[OpenLayers.State.UPDATE].length+g[OpenLayers.State.DELETE].length,q=!0,r=new OpenLayers.Protocol.Response({reqFeatures:l});a=g[OpenLayers.State.INSERT];0<a.length&&e.push(this.create(a,OpenLayers.Util.applyDefaults({callback:c,scope:this},b.create)));a=g[OpenLayers.State.UPDATE];for(m=a.length-1;0<=m;--m)e.push(this.update(a[m],OpenLayers.Util.applyDefaults({callback:d,scope:this},b.update)));a=g[OpenLayers.State.DELETE];
+for(m=a.length-1;0<=m;--m)e.push(this["delete"](a[m],OpenLayers.Util.applyDefaults({callback:d,scope:this},b["delete"])));return e},abort:function(a){a&&a.priv.abort()},callUserCallback:function(a,b){(b=b[a.requestType])&&b.callback&&b.callback.call(b.scope,a)},CLASS_NAME:"OpenLayers.Protocol.HTTP"});OpenLayers.Control=OpenLayers.Class({id:null,map:null,div:null,type:null,allowSelection:!1,displayClass:"",title:"",autoActivate:!1,active:null,handlerOptions:null,handler:null,eventListeners:null,events:null,initialize:function(a){this.displayClass=this.CLASS_NAME.replace("OpenLayers.","ol").replace(/\./g,"");OpenLayers.Util.extend(this,a);this.events=new OpenLayers.Events(this);if(this.eventListeners instanceof Object)this.events.on(this.eventListeners);null==this.id&&(this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+
+"_"))},destroy:function(){this.events&&(this.eventListeners&&this.events.un(this.eventListeners),this.events.destroy(),this.events=null);this.eventListeners=null;this.handler&&(this.handler.destroy(),this.handler=null);if(this.handlers){for(var a in this.handlers)this.handlers.hasOwnProperty(a)&&"function"==typeof this.handlers[a].destroy&&this.handlers[a].destroy();this.handlers=null}this.map&&(this.map.removeControl(this),this.map=null);this.div=null},setMap:function(a){this.map=a;this.handler&&
+this.handler.setMap(a)},draw:function(a){null==this.div&&(this.div=OpenLayers.Util.createDiv(this.id),this.div.className=this.displayClass,this.allowSelection||(this.div.className+=" olControlNoSelect",this.div.setAttribute("unselectable","on",0),this.div.onselectstart=OpenLayers.Function.False),""!=this.title&&(this.div.title=this.title));null!=a&&(this.position=a.clone());this.moveTo(this.position);return this.div},moveTo:function(a){null!=a&&null!=this.div&&(this.div.style.left=a.x+"px",this.div.style.top=
+a.y+"px")},activate:function(){if(this.active)return!1;this.handler&&this.handler.activate();this.active=!0;this.map&&OpenLayers.Element.addClass(this.map.viewPortDiv,this.displayClass.replace(/ /g,"")+"Active");this.events.triggerEvent("activate");return!0},deactivate:function(){return this.active?(this.handler&&this.handler.deactivate(),this.active=!1,this.map&&OpenLayers.Element.removeClass(this.map.viewPortDiv,this.displayClass.replace(/ /g,"")+"Active"),this.events.triggerEvent("deactivate"),
+!0):!1},CLASS_NAME:"OpenLayers.Control"});OpenLayers.Control.TYPE_BUTTON=1;OpenLayers.Control.TYPE_TOGGLE=2;OpenLayers.Control.TYPE_TOOL=3;OpenLayers.Control.Attribution=OpenLayers.Class(OpenLayers.Control,{separator:", ",template:"${layers}",layerTemplate:'<a href="${href}" target="_blank">${title}</a>',destroy:function(){this.map.events.un({removelayer:this.updateAttribution,addlayer:this.updateAttribution,changelayer:this.updateAttribution,changebaselayer:this.updateAttribution,scope:this});OpenLayers.Control.prototype.destroy.apply(this,arguments)},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);this.map.events.on({changebaselayer:this.updateAttribution,
+changelayer:this.updateAttribution,addlayer:this.updateAttribution,removelayer:this.updateAttribution,scope:this});this.updateAttribution();return this.div},updateAttribution:function(){var a=[];if(this.map&&this.map.layers){for(var b=0,c=this.map.layers.length;b<c;b++){var d=this.map.layers[b];d.attribution&&d.getVisibility()&&(d="object"==typeof d.attribution?OpenLayers.String.format(this.layerTemplate,d.attribution):d.attribution,-1===OpenLayers.Util.indexOf(a,d)&&a.push(d))}this.div.innerHTML=
+OpenLayers.String.format(this.template,{layers:a.join(this.separator)})}},CLASS_NAME:"OpenLayers.Control.Attribution"});OpenLayers.Handler.Drag=OpenLayers.Class(OpenLayers.Handler,{started:!1,stopDown:!0,dragging:!1,last:null,start:null,lastMoveEvt:null,oldOnselectstart:null,interval:0,timeoutId:null,documentDrag:!1,documentEvents:null,initialize:function(a,b,c){OpenLayers.Handler.prototype.initialize.apply(this,arguments);if(!0===this.documentDrag){var d=this;this._docMove=function(a){d.mousemove({xy:{x:a.clientX,y:a.clientY},element:document})};this._docUp=function(a){d.mouseup({xy:{x:a.clientX,y:a.clientY}})}}},
+dragstart:function(a){var b=!0;this.dragging=!1;this.checkModifiers(a)&&this._pointerId==a.pointerId&&(OpenLayers.Event.isLeftClick(a)||OpenLayers.Event.isSingleTouch(a))?(this.started=!0,this.last=this.start=a.xy,OpenLayers.Element.addClass(this.map.viewPortDiv,"olDragDown"),this.down(a),this.callback("down",[a.xy]),OpenLayers.Event.preventDefault(a),this.oldOnselectstart||(this.oldOnselectstart=document.onselectstart?document.onselectstart:OpenLayers.Function.True),document.onselectstart=OpenLayers.Function.False,
+b=!this.stopDown):(delete this._pointerId,this.started=!1,this.last=this.start=null);return b},dragmove:function(a){this.lastMoveEvt=a;!this.started||this._pointerId!=a.pointerId||this.timeoutId||a.xy.x==this.last.x&&a.xy.y==this.last.y||(!0===this.documentDrag&&this.documentEvents&&(a.element===document?(this.adjustXY(a),this.setEvent(a)):this.removeDocumentEvents()),0<this.interval&&(this.timeoutId=setTimeout(OpenLayers.Function.bind(this.removeTimeout,this),this.interval)),this.dragging=!0,this.move(a),
+this.callback("move",[a.xy]),this.oldOnselectstart||(this.oldOnselectstart=document.onselectstart,document.onselectstart=OpenLayers.Function.False),this.last=a.xy);return!0},dragend:function(a){if(this.started&&this._pointerId==a.pointerId){!0===this.documentDrag&&this.documentEvents&&(this.adjustXY(a),this.removeDocumentEvents());var b=this.start!=this.last;this.dragging=this.started=!1;delete this._pointerId;OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDragDown");this.up(a);this.callback("up",
+[a.xy]);b&&this.callback("done",[a.xy]);document.onselectstart=this.oldOnselectstart}return!0},down:function(a){},move:function(a){},up:function(a){},out:function(a){},mousedown:function(a){return this.dragstart(a)},touchstart:function(a){this.startTouch();"_pointerId"in this||(this._pointerId=a.pointerId);return this.dragstart(a)},mousemove:function(a){return this.dragmove(a)},touchmove:function(a){return this.dragmove(a)},removeTimeout:function(){this.timeoutId=null;this.dragging&&this.mousemove(this.lastMoveEvt)},
+mouseup:function(a){return this.dragend(a)},touchend:function(a){a.xy=this.last;return this.dragend(a)},mouseout:function(a){if(this.started&&OpenLayers.Util.mouseLeft(a,this.map.viewPortDiv))if(!0===this.documentDrag)this.addDocumentEvents();else{var b=this.start!=this.last;this.dragging=this.started=!1;OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDragDown");this.out(a);this.callback("out",[]);b&&this.callback("done",[a.xy]);document.onselectstart&&(document.onselectstart=this.oldOnselectstart)}return!0},
+click:function(a){return this.start==this.last},activate:function(){var a=!1;OpenLayers.Handler.prototype.activate.apply(this,arguments)&&(this.dragging=!1,a=!0);return a},deactivate:function(){var a=!1;OpenLayers.Handler.prototype.deactivate.apply(this,arguments)&&(this.dragging=this.started=!1,this.last=this.start=null,a=!0,OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDragDown"));return a},adjustXY:function(a){var b=OpenLayers.Util.pagePosition(this.map.viewPortDiv);a.xy.x-=b[0];a.xy.y-=
+b[1]},addDocumentEvents:function(){OpenLayers.Element.addClass(document.body,"olDragDown");this.documentEvents=!0;OpenLayers.Event.observe(document,"mousemove",this._docMove);OpenLayers.Event.observe(document,"mouseup",this._docUp)},removeDocumentEvents:function(){OpenLayers.Element.removeClass(document.body,"olDragDown");this.documentEvents=!1;OpenLayers.Event.stopObserving(document,"mousemove",this._docMove);OpenLayers.Event.stopObserving(document,"mouseup",this._docUp)},CLASS_NAME:"OpenLayers.Handler.Drag"});OpenLayers.Handler.Box=OpenLayers.Class(OpenLayers.Handler,{dragHandler:null,boxDivClassName:"olHandlerBoxZoomBox",boxOffsets:null,initialize:function(a,b,c){OpenLayers.Handler.prototype.initialize.apply(this,arguments);this.dragHandler=new OpenLayers.Handler.Drag(this,{down:this.startBox,move:this.moveBox,out:this.removeBox,up:this.endBox},{keyMask:this.keyMask})},destroy:function(){OpenLayers.Handler.prototype.destroy.apply(this,arguments);this.dragHandler&&(this.dragHandler.destroy(),this.dragHandler=
+null)},setMap:function(a){OpenLayers.Handler.prototype.setMap.apply(this,arguments);this.dragHandler&&this.dragHandler.setMap(a)},startBox:function(a){this.callback("start",[]);this.zoomBox=OpenLayers.Util.createDiv("zoomBox",{x:-9999,y:-9999});this.zoomBox.className=this.boxDivClassName;this.zoomBox.style.zIndex=this.map.Z_INDEX_BASE.Popup-1;this.map.viewPortDiv.appendChild(this.zoomBox);OpenLayers.Element.addClass(this.map.viewPortDiv,"olDrawBox")},moveBox:function(a){var b=this.dragHandler.start.x,
+c=this.dragHandler.start.y,d=Math.abs(b-a.x),e=Math.abs(c-a.y),f=this.getBoxOffsets();this.zoomBox.style.width=d+f.width+1+"px";this.zoomBox.style.height=e+f.height+1+"px";this.zoomBox.style.left=(a.x<b?b-d-f.left:b-f.left)+"px";this.zoomBox.style.top=(a.y<c?c-e-f.top:c-f.top)+"px"},endBox:function(a){if(5<Math.abs(this.dragHandler.start.x-a.x)||5<Math.abs(this.dragHandler.start.y-a.y)){var b=this.dragHandler.start;a=new OpenLayers.Bounds(Math.min(b.x,a.x),Math.max(b.y,a.y),Math.max(b.x,a.x),Math.min(b.y,
+a.y))}else a=this.dragHandler.start.clone();this.removeBox();this.callback("done",[a])},removeBox:function(){this.map.viewPortDiv.removeChild(this.zoomBox);this.boxOffsets=this.zoomBox=null;OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDrawBox")},activate:function(){return OpenLayers.Handler.prototype.activate.apply(this,arguments)?(this.dragHandler.activate(),!0):!1},deactivate:function(){return OpenLayers.Handler.prototype.deactivate.apply(this,arguments)?(this.dragHandler.deactivate()&&
+this.zoomBox&&this.removeBox(),!0):!1},getBoxOffsets:function(){if(!this.boxOffsets){var a=document.createElement("div");a.style.position="absolute";a.style.border="1px solid black";a.style.width="3px";document.body.appendChild(a);var b=3==a.clientWidth;document.body.removeChild(a);a=parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-left-width"));var c=parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-right-width")),d=parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-top-width")),
+e=parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-bottom-width"));this.boxOffsets={left:a,right:c,top:d,bottom:e,width:!1===b?a+c:0,height:!1===b?d+e:0}}return this.boxOffsets},CLASS_NAME:"OpenLayers.Handler.Box"});OpenLayers.Control.ZoomBox=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_TOOL,out:!1,keyMask:null,alwaysZoom:!1,zoomOnClick:!0,draw:function(){this.handler=new OpenLayers.Handler.Box(this,{done:this.zoomBox},{keyMask:this.keyMask})},zoomBox:function(a){if(a instanceof OpenLayers.Bounds){var b=a.getCenterPixel();if(this.out){var c=Math.min(this.map.size.h/(a.bottom-a.top),this.map.size.w/(a.right-a.left));var d=this.map.getExtent(),e=this.map.getLonLatFromPixel(b),f=e.lon-d.getWidth()/
+2*c;a=e.lon+d.getWidth()/2*c;var g=e.lat-d.getHeight()/2*c;c=e.lat+d.getHeight()/2*c;c=new OpenLayers.Bounds(f,g,a,c)}else f=this.map.getLonLatFromPixel({x:a.left,y:a.bottom}),a=this.map.getLonLatFromPixel({x:a.right,y:a.top}),c=new OpenLayers.Bounds(f.lon,f.lat,a.lon,a.lat);f=this.map.getZoom();g=this.map.getSize();a=g.w/2;g=g.h/2;c=this.map.getZoomForExtent(c);d=this.map.getResolution();e=this.map.getResolutionForZoom(c);d==e?this.map.setCenter(this.map.getLonLatFromPixel(b)):this.map.zoomTo(c,
+{x:(d*b.x-e*a)/(d-e),y:(d*b.y-e*g)/(d-e)});f==this.map.getZoom()&&1==this.alwaysZoom&&this.map.zoomTo(f+(this.out?-1:1))}else this.zoomOnClick&&(this.out?this.map.zoomTo(this.map.getZoom()-1,a):this.map.zoomTo(this.map.getZoom()+1,a))},CLASS_NAME:"OpenLayers.Control.ZoomBox"});OpenLayers.Control.DragPan=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_TOOL,panned:!1,interval:0,documentDrag:!1,kinetic:null,enableKinetic:!0,kineticInterval:10,draw:function(){if(this.enableKinetic&&OpenLayers.Kinetic){var a={interval:this.kineticInterval};"object"===typeof this.enableKinetic&&(a=OpenLayers.Util.extend(a,this.enableKinetic));this.kinetic=new OpenLayers.Kinetic(a)}this.handler=new OpenLayers.Handler.Drag(this,{move:this.panMap,done:this.panMapDone,down:this.panMapStart},
+{interval:this.interval,documentDrag:this.documentDrag})},panMapStart:function(){this.kinetic&&this.kinetic.begin()},panMap:function(a){this.kinetic&&this.kinetic.update(a);this.panned=!0;this.map.pan(this.handler.last.x-a.x,this.handler.last.y-a.y,{dragging:!0,animate:!1})},panMapDone:function(a){if(this.panned){var b=null;this.kinetic&&(b=this.kinetic.end(a));this.map.pan(this.handler.last.x-a.x,this.handler.last.y-a.y,{dragging:!!b,animate:!1});if(b){var c=this;this.kinetic.move(b,function(a,b,
+f){c.map.pan(a,b,{dragging:!f,animate:!1})})}this.panned=!1}},CLASS_NAME:"OpenLayers.Control.DragPan"});OpenLayers.Handler.MouseWheel=OpenLayers.Class(OpenLayers.Handler,{wheelListener:null,interval:0,maxDelta:Number.POSITIVE_INFINITY,delta:0,cumulative:!0,initialize:function(a,b,c){OpenLayers.Handler.prototype.initialize.apply(this,arguments);this.wheelListener=OpenLayers.Function.bindAsEventListener(this.onWheelEvent,this)},destroy:function(){OpenLayers.Handler.prototype.destroy.apply(this,arguments);this.wheelListener=null},onWheelEvent:function(a){if(this.map&&this.checkModifiers(a)){for(var b=
+!1,c=!1,d=!1,e=OpenLayers.Event.element(a);null!=e&&!d&&!b;){if(!b)try{var f;b=(f=e.currentStyle?e.currentStyle.overflow:document.defaultView.getComputedStyle(e,null).getPropertyValue("overflow"))&&"auto"==f||"scroll"==f}catch(l){}if(!c&&(c=OpenLayers.Element.hasClass(e,"olScrollable"),!c)){d=0;for(var g=this.map.layers.length;d<g;d++){var h=this.map.layers[d];if(e==h.div||e==h.pane){c=!0;break}}}d=e==this.map.div;e=e.parentNode}if(!b&&d){if(c)if(b=0,a.wheelDelta?(b=a.wheelDelta,0===b%160&&(b*=.75),
+b/=120):a.detail&&(b=-(a.detail/Math.abs(a.detail))),this.delta+=b,window.clearTimeout(this._timeoutId),this.interval&&Math.abs(this.delta)<this.maxDelta){var k=OpenLayers.Util.extend({},a);this._timeoutId=window.setTimeout(OpenLayers.Function.bind(function(){this.wheelZoom(k)},this),this.interval)}else this.wheelZoom(a);OpenLayers.Event.stop(a)}}},wheelZoom:function(a){var b=this.delta;this.delta=0;b&&(a.xy=this.map.events.getMousePosition(a),0>b?this.callback("down",[a,this.cumulative?Math.max(-this.maxDelta,
+b):-1]):this.callback("up",[a,this.cumulative?Math.min(this.maxDelta,b):1]))},activate:function(a){if(OpenLayers.Handler.prototype.activate.apply(this,arguments)){var b=this.wheelListener;OpenLayers.Event.observe(window,"DOMMouseScroll",b);OpenLayers.Event.observe(window,"mousewheel",b);OpenLayers.Event.observe(document,"mousewheel",b);return!0}return!1},deactivate:function(a){if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){var b=this.wheelListener;OpenLayers.Event.stopObserving(window,
+"DOMMouseScroll",b);OpenLayers.Event.stopObserving(window,"mousewheel",b);OpenLayers.Event.stopObserving(document,"mousewheel",b);return!0}return!1},CLASS_NAME:"OpenLayers.Handler.MouseWheel"});OpenLayers.Control.Navigation=OpenLayers.Class(OpenLayers.Control,{dragPan:null,dragPanOptions:null,pinchZoom:null,pinchZoomOptions:null,documentDrag:!1,zoomBox:null,zoomBoxEnabled:!0,zoomWheelEnabled:!0,mouseWheelOptions:null,handleRightClicks:!1,zoomBoxKeyMask:OpenLayers.Handler.MOD_SHIFT,autoActivate:!0,initialize:function(a){this.handlers={};OpenLayers.Control.prototype.initialize.apply(this,arguments)},destroy:function(){this.deactivate();this.dragPan&&this.dragPan.destroy();this.dragPan=null;
+this.zoomBox&&this.zoomBox.destroy();this.zoomBox=null;this.pinchZoom&&this.pinchZoom.destroy();this.pinchZoom=null;OpenLayers.Control.prototype.destroy.apply(this,arguments)},activate:function(){this.dragPan.activate();this.zoomWheelEnabled&&this.handlers.wheel.activate();this.handlers.click.activate();this.zoomBoxEnabled&&this.zoomBox.activate();this.pinchZoom&&this.pinchZoom.activate();return OpenLayers.Control.prototype.activate.apply(this,arguments)},deactivate:function(){this.pinchZoom&&this.pinchZoom.deactivate();
+this.zoomBox.deactivate();this.dragPan.deactivate();this.handlers.click.deactivate();this.handlers.wheel.deactivate();return OpenLayers.Control.prototype.deactivate.apply(this,arguments)},draw:function(){this.handleRightClicks&&(this.map.viewPortDiv.oncontextmenu=OpenLayers.Function.False);this.handlers.click=new OpenLayers.Handler.Click(this,{click:this.defaultClick,dblclick:this.defaultDblClick,dblrightclick:this.defaultDblRightClick},{"double":!0,stopDouble:!0});this.dragPan=new OpenLayers.Control.DragPan(OpenLayers.Util.extend({map:this.map,
+documentDrag:this.documentDrag},this.dragPanOptions));this.zoomBox=new OpenLayers.Control.ZoomBox({map:this.map,keyMask:this.zoomBoxKeyMask});this.dragPan.draw();this.zoomBox.draw();this.handlers.wheel=new OpenLayers.Handler.MouseWheel(this,{up:this.wheelUp,down:this.wheelDown},OpenLayers.Util.extend(this.map.fractionalZoom?{}:{cumulative:!1,interval:50,maxDelta:6},this.mouseWheelOptions));OpenLayers.Control.PinchZoom&&(this.pinchZoom=new OpenLayers.Control.PinchZoom(OpenLayers.Util.extend({map:this.map},
+this.pinchZoomOptions)))},defaultClick:function(a){a.lastTouches&&2==a.lastTouches.length&&this.map.zoomOut()},defaultDblClick:function(a){this.map.zoomTo(this.map.zoom+1,a.xy)},defaultDblRightClick:function(a){this.map.zoomTo(this.map.zoom-1,a.xy)},wheelChange:function(a,b){this.map.fractionalZoom||(b=Math.round(b));var c=this.map.getZoom();b=Math.max(c+b,0);b=Math.min(b,this.map.getNumZoomLevels());b!==c&&this.map.zoomTo(b,a.xy)},wheelUp:function(a,b){this.wheelChange(a,b||1)},wheelDown:function(a,
+b){this.wheelChange(a,b||-1)},disableZoomBox:function(){this.zoomBoxEnabled=!1;this.zoomBox.deactivate()},enableZoomBox:function(){this.zoomBoxEnabled=!0;this.active&&this.zoomBox.activate()},disableZoomWheel:function(){this.zoomWheelEnabled=!1;this.handlers.wheel.deactivate()},enableZoomWheel:function(){this.zoomWheelEnabled=!0;this.active&&this.handlers.wheel.activate()},CLASS_NAME:"OpenLayers.Control.Navigation"});OpenLayers.Events.buttonclick=OpenLayers.Class({target:null,events:"mousedown mouseup click dblclick touchstart touchmove touchend keydown".split(" "),startRegEx:/^mousedown|touchstart$/,cancelRegEx:/^touchmove$/,completeRegEx:/^mouseup|touchend$/,isDeviceTouchCapable:"ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch,initialize:function(a){this.target=a;for(a=this.events.length-1;0<=a;--a)this.target.register(this.events[a],this,this.buttonClick,{extension:!0})},
+destroy:function(){for(var a=this.events.length-1;0<=a;--a)this.target.unregister(this.events[a],this,this.buttonClick);delete this.target},getPressedButton:function(a){var b=3;do{if(OpenLayers.Element.hasClass(a,"olButton")){var c=a;break}a=a.parentNode}while(0<--b&&a);return c},ignore:function(a){var b=3,c=!1;do{if("a"===a.nodeName.toLowerCase()){c=!0;break}a=a.parentNode}while(0<--b&&a);return c},buttonClick:function(a){var b=!0,c=OpenLayers.Event.element(a);if(c&&(OpenLayers.Event.isLeftClick(a)&&
+!this.isDeviceTouchCapable||!~a.type.indexOf("mouse")))if(c=this.getPressedButton(c)){if("keydown"===a.type)switch(a.keyCode){case OpenLayers.Event.KEY_RETURN:case OpenLayers.Event.KEY_SPACE:this.target.triggerEvent("buttonclick",{buttonElement:c}),OpenLayers.Event.stop(a),b=!1}else if(this.startEvt){if(this.completeRegEx.test(a.type)){b=OpenLayers.Util.pagePosition(c);var d=OpenLayers.Util.getViewportElement(),e=window.pageYOffset||d.scrollTop;b[0]-=window.pageXOffset||d.scrollLeft;b[1]-=e;this.target.triggerEvent("buttonclick",
+{buttonElement:c,buttonXY:{x:this.startEvt.clientX-b[0],y:this.startEvt.clientY-b[1]}})}this.cancelRegEx.test(a.type)&&a.touches&&this.startEvt.touches&&4<(4<Math.abs(a.touches[0].olClientX-this.startEvt.touches[0].olClientX)||Math.abs(a.touches[0].olClientY-this.startEvt.touches[0].olClientY))&&delete this.startEvt;OpenLayers.Event.stop(a);b=!1}this.startRegEx.test(a.type)&&(this.startEvt=a,OpenLayers.Event.stop(a),b=!1)}else b=!this.ignore(OpenLayers.Event.element(a)),delete this.startEvt;return b}});OpenLayers.Control.PanZoom=OpenLayers.Class(OpenLayers.Control,{slideFactor:50,slideRatio:null,buttons:null,position:null,initialize:function(a){this.position=new OpenLayers.Pixel(OpenLayers.Control.PanZoom.X,OpenLayers.Control.PanZoom.Y);OpenLayers.Control.prototype.initialize.apply(this,arguments)},destroy:function(){this.map&&!this.outsideViewport&&this.map.events.unregister("buttonclick",this,this.onButtonClick);this.removeButtons();this.position=this.buttons=null;OpenLayers.Control.prototype.destroy.apply(this,
+arguments)},setMap:function(a){OpenLayers.Control.prototype.setMap.apply(this,arguments);if(this.outsideViewport){this.events.attachToElement(this.div);var b=this}else b=this.map;b.events.register("buttonclick",this,this.onButtonClick)},draw:function(a){OpenLayers.Control.prototype.draw.apply(this,arguments);a=this.position;this.buttons=[];var b={w:18,h:18},c=new OpenLayers.Pixel(a.x+b.w/2,a.y);this._addButton("panup","north-mini.png",c,b);a.y=c.y+b.h;this._addButton("panleft","west-mini.png",a,b);
+this._addButton("panright","east-mini.png",a.add(b.w,0),b);this._addButton("pandown","south-mini.png",c.add(0,2*b.h),b);this._addButton("zoomin","zoom-plus-mini.png",c.add(0,3*b.h+5),b);this._addButton("zoomworld","zoom-world-mini.png",c.add(0,4*b.h+5),b);this._addButton("zoomout","zoom-minus-mini.png",c.add(0,5*b.h+5),b);return this.div},_addButton:function(a,b,c,d){b=OpenLayers.Util.getImageLocation(b);c=OpenLayers.Util.createAlphaImageDiv(this.id+"_"+a,c,d,b,"absolute");c.style.cursor="pointer";
+this.div.appendChild(c);c.action=a;c.className="olButton";this.buttons.push(c);return c},_removeButton:function(a){this.div.removeChild(a);OpenLayers.Util.removeItem(this.buttons,a)},removeButtons:function(){for(var a=this.buttons.length-1;0<=a;--a)this._removeButton(this.buttons[a])},onButtonClick:function(a){switch(a.buttonElement.action){case "panup":this.map.pan(0,-this.getSlideFactor("h"));break;case "pandown":this.map.pan(0,this.getSlideFactor("h"));break;case "panleft":this.map.pan(-this.getSlideFactor("w"),
+0);break;case "panright":this.map.pan(this.getSlideFactor("w"),0);break;case "zoomin":this.map.zoomIn();break;case "zoomout":this.map.zoomOut();break;case "zoomworld":this.map.zoomToMaxExtent()}},getSlideFactor:function(a){return this.slideRatio?this.map.getSize()[a]*this.slideRatio:this.slideFactor},CLASS_NAME:"OpenLayers.Control.PanZoom"});OpenLayers.Control.PanZoom.X=4;OpenLayers.Control.PanZoom.Y=4;OpenLayers.Control.ArgParser=OpenLayers.Class(OpenLayers.Control,{center:null,zoom:null,layers:null,displayProjection:null,getParameters:function(a){a=a||window.location.href;var b=OpenLayers.Util.getParameters(a),c=a.indexOf("#");0<c&&(a="?"+a.substring(c+1,a.length),OpenLayers.Util.extend(b,OpenLayers.Util.getParameters(a)));return b},setMap:function(a){OpenLayers.Control.prototype.setMap.apply(this,arguments);for(var b=0,c=this.map.controls.length;b<c;b++){var d=this.map.controls[b];if(d!=this&&
+"OpenLayers.Control.ArgParser"==d.CLASS_NAME){d.displayProjection!=this.displayProjection&&(this.displayProjection=d.displayProjection);break}}b==this.map.controls.length&&(b=this.getParameters(),b.layers&&(this.layers=b.layers,this.map.events.register("addlayer",this,this.configureLayers),this.configureLayers()),b.lat&&b.lon&&(this.center=new OpenLayers.LonLat(parseFloat(b.lon),parseFloat(b.lat)),b.zoom&&(this.zoom=parseFloat(b.zoom)),this.map.events.register("changebaselayer",this,this.setCenter),
+this.setCenter()))},setCenter:function(){this.map.baseLayer&&(this.map.events.unregister("changebaselayer",this,this.setCenter),this.displayProjection&&this.center.transform(this.displayProjection,this.map.getProjectionObject()),this.map.setCenter(this.center,this.zoom))},configureLayers:function(){if(this.layers.length==this.map.layers.length){this.map.events.unregister("addlayer",this,this.configureLayers);for(var a=0,b=this.layers.length;a<b;a++){var c=this.map.layers[a],d=this.layers.charAt(a);
+"B"==d?this.map.setBaseLayer(c):("T"==d||"F"==d)&&c.setVisibility("T"==d)}}},CLASS_NAME:"OpenLayers.Control.ArgParser"});OpenLayers.Handler.Feature=OpenLayers.Class(OpenLayers.Handler,{EVENTMAP:{click:{"in":"click",out:"clickout"},mousemove:{"in":"over",out:"out"},dblclick:{"in":"dblclick",out:null},mousedown:{"in":null,out:null},mouseup:{"in":null,out:null},touchstart:{"in":"click",out:"clickout"}},feature:null,lastFeature:null,down:null,up:null,clickTolerance:4,geometryTypes:null,stopClick:!0,stopDown:!0,stopUp:!1,initialize:function(a,b,c,d){OpenLayers.Handler.prototype.initialize.apply(this,[a,c,d]);this.layer=
+b},touchstart:function(a){this.startTouch();return OpenLayers.Event.isMultiTouch(a)?!0:this.mousedown(a)},touchmove:function(a){OpenLayers.Event.preventDefault(a)},mousedown:function(a){if(OpenLayers.Event.isLeftClick(a)||OpenLayers.Event.isSingleTouch(a))this.down=a.xy;return this.handle(a)?!this.stopDown:!0},mouseup:function(a){this.up=a.xy;return this.handle(a)?!this.stopUp:!0},click:function(a){return this.handle(a)?!this.stopClick:!0},mousemove:function(a){if(!this.callbacks.over&&!this.callbacks.out)return!0;
+this.handle(a);return!0},dblclick:function(a){return!this.handle(a)},geometryTypeMatches:function(a){return null==this.geometryTypes||-1<OpenLayers.Util.indexOf(this.geometryTypes,a.geometry.CLASS_NAME)},handle:function(a){this.feature&&!this.feature.layer&&(this.feature=null);var b=a.type,c=!1,d=!!this.feature,e="click"==b||"dblclick"==b||"touchstart"==b;(this.feature=this.layer.getFeatureFromEvent(a))&&!this.feature.layer&&(this.feature=null);this.lastFeature&&!this.lastFeature.layer&&(this.lastFeature=
+null);this.feature?("touchstart"===b&&OpenLayers.Event.preventDefault(a),a=this.feature!=this.lastFeature,this.geometryTypeMatches(this.feature)?(d&&a?(this.lastFeature&&this.triggerCallback(b,"out",[this.lastFeature]),this.triggerCallback(b,"in",[this.feature])):d&&!e||this.triggerCallback(b,"in",[this.feature]),this.lastFeature=this.feature,c=!0):(this.lastFeature&&(d&&a||e)&&this.triggerCallback(b,"out",[this.lastFeature]),this.feature=null)):this.lastFeature&&(d||e)&&this.triggerCallback(b,"out",
+[this.lastFeature]);return c},triggerCallback:function(a,b,c){if(b=this.EVENTMAP[a][b])"click"==a&&this.up&&this.down?(Math.sqrt(Math.pow(this.up.x-this.down.x,2)+Math.pow(this.up.y-this.down.y,2))<=this.clickTolerance&&this.callback(b,c),this.up=this.down=null):this.callback(b,c)},activate:function(){var a=!1;OpenLayers.Handler.prototype.activate.apply(this,arguments)&&(this.moveLayerToTop(),this.map.events.on({removelayer:this.handleMapEvents,changelayer:this.handleMapEvents,scope:this}),a=!0);
+return a},deactivate:function(){var a=!1;OpenLayers.Handler.prototype.deactivate.apply(this,arguments)&&(this.moveLayerBack(),this.up=this.down=this.lastFeature=this.feature=null,this.map.events.un({removelayer:this.handleMapEvents,changelayer:this.handleMapEvents,scope:this}),a=!0);return a},handleMapEvents:function(a){"removelayer"!=a.type&&"order"!=a.property||this.moveLayerToTop()},moveLayerToTop:function(){var a=Math.max(this.map.Z_INDEX_BASE.Feature-1,this.layer.getZIndex())+1;this.layer.setZIndex(a)},
+moveLayerBack:function(){var a=this.layer.getZIndex()-1;a>=this.map.Z_INDEX_BASE.Feature?this.layer.setZIndex(a):this.map.setLayerZIndex(this.layer,this.map.getLayerIndex(this.layer))},CLASS_NAME:"OpenLayers.Handler.Feature"});OpenLayers.Util=OpenLayers.Util||{};
+OpenLayers.Util.vendorPrefix=function(){function a(a){return a?a.replace(/([A-Z])/g,function(a){return"-"+a.toLowerCase()}).replace(/^ms-/,"-ms-"):null}function b(a,b){if(void 0===g[b]){var c,e=0,f=d.length,h="undefined"!==typeof a.cssText;for(g[b]=null;e<f;e++)if((c=d[e])?(h||(c=c.toLowerCase()),c=c+b.charAt(0).toUpperCase()+b.slice(1)):c=b,void 0!==a[c]){g[b]=c;break}}return g[b]}function c(a){return b(e,a)}var d=["","O","ms","Moz","Webkit"],e=document.createElement("div").style,f={},g={};return{css:function(b){if(void 0===
+f[b]){var d=b.replace(/(-[\s\S])/g,function(a){return a.charAt(1).toUpperCase()});d=c(d);f[b]=a(d)}return f[b]},js:b,style:c,cssCache:f,jsCache:g}}();OpenLayers.Animation=function(a){var b=OpenLayers.Util.vendorPrefix.js(a,"requestAnimationFrame"),c=!!b,d=function(){var c=a[b]||function(b,c){a.setTimeout(b,16)};return function(b,d){c.apply(a,[b,d])}}(),e=0,f={};return{isNative:c,requestFrame:d,start:function(a,b,c){b=0<b?b:Number.POSITIVE_INFINITY;var g=++e,h=+new Date;f[g]=function(){f[g]&&+new Date-h<=b?(a(),f[g]&&d(f[g],c)):delete f[g]};d(f[g],c);return g},stop:function(a){delete f[a]}}}(window);OpenLayers.Tween=OpenLayers.Class({easing:null,begin:null,finish:null,duration:null,callbacks:null,time:null,minFrameRate:null,startTime:null,animationId:null,playing:!1,initialize:function(a){this.easing=a?a:OpenLayers.Easing.Expo.easeOut},start:function(a,b,c,d){this.playing=!0;this.begin=a;this.finish=b;this.duration=c;this.callbacks=d.callbacks;this.minFrameRate=d.minFrameRate||30;this.time=0;this.startTime=(new Date).getTime();OpenLayers.Animation.stop(this.animationId);this.animationId=null;
+this.callbacks&&this.callbacks.start&&this.callbacks.start.call(this,this.begin);this.animationId=OpenLayers.Animation.start(OpenLayers.Function.bind(this.play,this))},stop:function(){this.playing&&(this.callbacks&&this.callbacks.done&&this.callbacks.done.call(this,this.finish),OpenLayers.Animation.stop(this.animationId),this.animationId=null,this.playing=!1)},play:function(){var a={},b;for(b in this.begin){var c=this.begin[b],d=this.finish[b];if(null==c||null==d||isNaN(c)||isNaN(d))throw new TypeError("invalid value for Tween");
+a[b]=this.easing.apply(this,[this.time,c,d-c,this.duration])}this.time++;this.callbacks&&this.callbacks.eachStep&&((new Date).getTime()-this.startTime)/this.time<=1E3/this.minFrameRate&&this.callbacks.eachStep.call(this,a);this.time>this.duration&&this.stop()},CLASS_NAME:"OpenLayers.Tween"});OpenLayers.Easing={CLASS_NAME:"OpenLayers.Easing"};OpenLayers.Easing.Linear={easeIn:function(a,b,c,d){return c*a/d+b},easeOut:function(a,b,c,d){return c*a/d+b},easeInOut:function(a,b,c,d){return c*a/d+b},CLASS_NAME:"OpenLayers.Easing.Linear"};
+OpenLayers.Easing.Expo={easeIn:function(a,b,c,d){return 0==a?b:c*Math.pow(2,10*(a/d-1))+b},easeOut:function(a,b,c,d){return a==d?b+c:c*(-Math.pow(2,-10*a/d)+1)+b},easeInOut:function(a,b,c,d){return 0==a?b:a==d?b+c:1>(a/=d/2)?c/2*Math.pow(2,10*(a-1))+b:c/2*(-Math.pow(2,-10*--a)+2)+b},CLASS_NAME:"OpenLayers.Easing.Expo"};
+OpenLayers.Easing.Quad={easeIn:function(a,b,c,d){return c*(a/=d)*a+b},easeOut:function(a,b,c,d){return-c*(a/=d)*(a-2)+b},easeInOut:function(a,b,c,d){return 1>(a/=d/2)?c/2*a*a+b:-c/2*(--a*(a-2)-1)+b},CLASS_NAME:"OpenLayers.Easing.Quad"};OpenLayers.Map=OpenLayers.Class({Z_INDEX_BASE:{BaseLayer:100,Overlay:325,Feature:725,Popup:750,Control:1E3},id:null,fractionalZoom:!1,events:null,allOverlays:!1,div:null,dragging:!1,size:null,viewPortDiv:null,layerContainerOrigin:null,layerContainerDiv:null,layers:null,controls:null,popups:null,baseLayer:null,center:null,resolution:null,zoom:0,panRatio:1.5,options:null,tileSize:null,projection:"EPSG:4326",units:null,resolutions:null,maxResolution:null,minResolution:null,maxScale:null,minScale:null,
+maxExtent:null,minExtent:null,restrictedExtent:null,numZoomLevels:16,theme:null,displayProjection:null,fallThrough:!1,autoUpdateSize:!0,eventListeners:null,panTween:null,panMethod:OpenLayers.Easing.Expo.easeOut,panDuration:50,zoomTween:null,zoomMethod:OpenLayers.Easing.Quad.easeOut,zoomDuration:20,paddingForPopups:null,layerContainerOriginPx:null,minPx:null,maxPx:null,initialize:function(a,b){var c=OpenLayers.Util.isElement(a);1!==arguments.length||"object"!==typeof a||c||(a=(b=a)&&b.div);this.tileSize=
+new OpenLayers.Size(OpenLayers.Map.TILE_WIDTH,OpenLayers.Map.TILE_HEIGHT);this.paddingForPopups=new OpenLayers.Bounds(15,15,15,15);this.theme=OpenLayers._getScriptLocation()+"theme/default/style.css";this.options=OpenLayers.Util.extend({},b);OpenLayers.Util.extend(this,b);OpenLayers.Util.applyDefaults(this,OpenLayers.Projection.defaults[this.projection instanceof OpenLayers.Projection?this.projection.projCode:this.projection]);!this.maxExtent||this.maxExtent instanceof OpenLayers.Bounds||(this.maxExtent=
+new OpenLayers.Bounds(this.maxExtent));!this.minExtent||this.minExtent instanceof OpenLayers.Bounds||(this.minExtent=new OpenLayers.Bounds(this.minExtent));!this.restrictedExtent||this.restrictedExtent instanceof OpenLayers.Bounds||(this.restrictedExtent=new OpenLayers.Bounds(this.restrictedExtent));!this.center||this.center instanceof OpenLayers.LonLat||(this.center=new OpenLayers.LonLat(this.center));this.layers=[];this.id=OpenLayers.Util.createUniqueID("OpenLayers.Map_");this.div=OpenLayers.Util.getElement(a);
+this.div||(this.div=document.createElement("div"),this.div.style.height="1px",this.div.style.width="1px");OpenLayers.Element.addClass(this.div,"olMap");c=this.id+"_OpenLayers_ViewPort";this.viewPortDiv=OpenLayers.Util.createDiv(c,null,null,null,"relative",null,"hidden");this.viewPortDiv.style.width="100%";this.viewPortDiv.style.height="100%";this.viewPortDiv.className="olMapViewport";this.div.appendChild(this.viewPortDiv);this.events=new OpenLayers.Events(this,this.viewPortDiv,null,this.fallThrough,
+{includeXY:!0});OpenLayers.TileManager&&null!==this.tileManager&&(this.tileManager instanceof OpenLayers.TileManager||(this.tileManager=new OpenLayers.TileManager(this.tileManager)),this.tileManager.addMap(this));c=this.id+"_OpenLayers_Container";this.layerContainerDiv=OpenLayers.Util.createDiv(c);this.layerContainerDiv.style.zIndex=this.Z_INDEX_BASE.Popup-1;this.layerContainerOriginPx={x:0,y:0};this.applyTransform();this.viewPortDiv.appendChild(this.layerContainerDiv);this.updateSize();if(this.eventListeners instanceof
+Object)this.events.on(this.eventListeners);!0===this.autoUpdateSize&&(this.updateSizeDestroy=OpenLayers.Function.bind(this.updateSize,this),OpenLayers.Event.observe(window,"resize",this.updateSizeDestroy));if(this.theme){c=!0;for(var d=document.getElementsByTagName("link"),e=0,f=d.length;e<f;++e)if(OpenLayers.Util.isEquivalentUrl(d.item(e).href,this.theme)){c=!1;break}c&&(c=document.createElement("link"),c.setAttribute("rel","stylesheet"),c.setAttribute("type","text/css"),c.setAttribute("href",this.theme),
+document.getElementsByTagName("head")[0].appendChild(c))}null==this.controls&&(this.controls=[],null!=OpenLayers.Control&&(OpenLayers.Control.Navigation?this.controls.push(new OpenLayers.Control.Navigation):OpenLayers.Control.TouchNavigation&&this.controls.push(new OpenLayers.Control.TouchNavigation),OpenLayers.Control.Zoom?this.controls.push(new OpenLayers.Control.Zoom):OpenLayers.Control.PanZoom&&this.controls.push(new OpenLayers.Control.PanZoom),OpenLayers.Control.ArgParser&&this.controls.push(new OpenLayers.Control.ArgParser),
+OpenLayers.Control.Attribution&&this.controls.push(new OpenLayers.Control.Attribution)));e=0;for(f=this.controls.length;e<f;e++)this.addControlToMap(this.controls[e]);this.popups=[];this.unloadDestroy=OpenLayers.Function.bind(this.destroy,this);OpenLayers.Event.observe(window,"unload",this.unloadDestroy);b&&b.layers&&(delete this.center,delete this.zoom,this.addLayers(b.layers),b.center&&!this.getCenter()&&this.setCenter(b.center,b.zoom));this.panMethod&&(this.panTween=new OpenLayers.Tween(this.panMethod));
+this.zoomMethod&&this.applyTransform.transform&&(this.zoomTween=new OpenLayers.Tween(this.zoomMethod))},getViewport:function(){return this.viewPortDiv},render:function(a){this.div=OpenLayers.Util.getElement(a);OpenLayers.Element.addClass(this.div,"olMap");this.viewPortDiv.parentNode.removeChild(this.viewPortDiv);this.div.appendChild(this.viewPortDiv);this.updateSize()},unloadDestroy:null,updateSizeDestroy:null,destroy:function(){if(!this.unloadDestroy)return!1;this.panTween&&(this.panTween.stop(),
+this.panTween=null);this.zoomTween&&(this.zoomTween.stop(),this.zoomTween=null);OpenLayers.Event.stopObserving(window,"unload",this.unloadDestroy);this.unloadDestroy=null;this.updateSizeDestroy&&OpenLayers.Event.stopObserving(window,"resize",this.updateSizeDestroy);this.paddingForPopups=null;if(null!=this.controls){for(var a=this.controls.length-1;0<=a;--a)this.controls[a].destroy();this.controls=null}if(null!=this.layers){for(a=this.layers.length-1;0<=a;--a)this.layers[a].destroy(!1);this.layers=
+null}this.viewPortDiv&&this.viewPortDiv.parentNode&&this.viewPortDiv.parentNode.removeChild(this.viewPortDiv);this.viewPortDiv=null;this.tileManager&&(this.tileManager.removeMap(this),this.tileManager=null);this.eventListeners&&(this.events.un(this.eventListeners),this.eventListeners=null);this.events.destroy();this.options=this.events=null},setOptions:function(a){var b=this.minPx&&a.restrictedExtent!=this.restrictedExtent;OpenLayers.Util.extend(this,a);b&&this.moveTo(this.getCachedCenter(),this.zoom,
+{forceZoomChange:!0})},getTileSize:function(){return this.tileSize},getBy:function(a,b,c){var d="function"==typeof c.test;return OpenLayers.Array.filter(this[a],function(a){return a[b]==c||d&&c.test(a[b])})},getLayersBy:function(a,b){return this.getBy("layers",a,b)},getLayersByName:function(a){return this.getLayersBy("name",a)},getLayersByClass:function(a){return this.getLayersBy("CLASS_NAME",a)},getControlsBy:function(a,b){return this.getBy("controls",a,b)},getControlsByClass:function(a){return this.getControlsBy("CLASS_NAME",
+a)},getLayer:function(a){for(var b=null,c=0,d=this.layers.length;c<d;c++){var e=this.layers[c];if(e.id==a){b=e;break}}return b},setLayerZIndex:function(a,b){a.setZIndex(this.Z_INDEX_BASE[a.isBaseLayer?"BaseLayer":"Overlay"]+5*b)},resetLayersZIndex:function(){for(var a=0,b=this.layers.length;a<b;a++)this.setLayerZIndex(this.layers[a],a)},addLayer:function(a){for(var b=0,c=this.layers.length;b<c;b++)if(this.layers[b]==a)return!1;if(!1===this.events.triggerEvent("preaddlayer",{layer:a}))return!1;this.allOverlays&&
+(a.isBaseLayer=!1);a.div.className="olLayerDiv";a.div.style.overflow="";this.setLayerZIndex(a,this.layers.length);a.isFixed?this.viewPortDiv.appendChild(a.div):this.layerContainerDiv.appendChild(a.div);this.layers.push(a);a.setMap(this);a.isBaseLayer||this.allOverlays&&!this.baseLayer?null==this.baseLayer?this.setBaseLayer(a):a.setVisibility(!1):a.redraw();this.events.triggerEvent("addlayer",{layer:a});a.events.triggerEvent("added",{map:this,layer:a});a.afterAdd();return!0},addLayers:function(a){for(var b=
+0,c=a.length;b<c;b++)this.addLayer(a[b])},removeLayer:function(a,b){if(!1!==this.events.triggerEvent("preremovelayer",{layer:a})){null==b&&(b=!0);a.isFixed?this.viewPortDiv.removeChild(a.div):this.layerContainerDiv.removeChild(a.div);OpenLayers.Util.removeItem(this.layers,a);a.removeMap(this);a.map=null;if(this.baseLayer==a&&(this.baseLayer=null,b)){b=0;for(var c=this.layers.length;b<c;b++){var d=this.layers[b];if(d.isBaseLayer||this.allOverlays){this.setBaseLayer(d);break}}}this.resetLayersZIndex();
+this.events.triggerEvent("removelayer",{layer:a});a.events.triggerEvent("removed",{map:this,layer:a})}},getNumLayers:function(){return this.layers.length},getLayerIndex:function(a){return OpenLayers.Util.indexOf(this.layers,a)},setLayerIndex:function(a,b){var c=this.getLayerIndex(a);0>b?b=0:b>this.layers.length&&(b=this.layers.length);if(c!=b){this.layers.splice(c,1);this.layers.splice(b,0,a);c=0;for(var d=this.layers.length;c<d;c++)this.setLayerZIndex(this.layers[c],c);this.events.triggerEvent("changelayer",
+{layer:a,property:"order"});this.allOverlays&&(0===b?this.setBaseLayer(a):this.baseLayer!==this.layers[0]&&this.setBaseLayer(this.layers[0]))}},raiseLayer:function(a,b){b=this.getLayerIndex(a)+b;this.setLayerIndex(a,b)},setBaseLayer:function(a){if(a!=this.baseLayer&&-1!=OpenLayers.Util.indexOf(this.layers,a)){var b=this.getCachedCenter(),c=this.getResolution(),d=OpenLayers.Util.getResolutionFromScale(this.getScale(),a.units);null==this.baseLayer||this.allOverlays||this.baseLayer.setVisibility(!1);
+this.baseLayer=a;if(!this.allOverlays||this.baseLayer.visibility)this.baseLayer.setVisibility(!0),!1===this.baseLayer.inRange&&this.baseLayer.redraw();null!=b&&(a=this.getZoomForResolution(d||this.resolution,!0),this.setCenter(b,a,!1,c!=d));this.events.triggerEvent("changebaselayer",{layer:this.baseLayer})}},addControl:function(a,b){this.controls.push(a);this.addControlToMap(a,b)},addControls:function(a,b){for(var c=1===arguments.length?[]:b,d=0,e=a.length;d<e;d++)this.addControl(a[d],c[d]?c[d]:null)},
+addControlToMap:function(a,b){a.outsideViewport=null!=a.div;this.displayProjection&&!a.displayProjection&&(a.displayProjection=this.displayProjection);a.setMap(this);(b=a.draw(b))&&!a.outsideViewport&&(b.style.zIndex=this.Z_INDEX_BASE.Control+this.controls.length,this.viewPortDiv.appendChild(b));a.autoActivate&&a.activate()},getControl:function(a){for(var b=null,c=0,d=this.controls.length;c<d;c++){var e=this.controls[c];if(e.id==a){b=e;break}}return b},removeControl:function(a){a&&a==this.getControl(a.id)&&
+(a.div&&a.div.parentNode==this.viewPortDiv&&this.viewPortDiv.removeChild(a.div),OpenLayers.Util.removeItem(this.controls,a))},addPopup:function(a,b){if(b)for(b=this.popups.length-1;0<=b;--b)this.removePopup(this.popups[b]);a.map=this;this.popups.push(a);if(a=a.draw())a.style.zIndex=this.Z_INDEX_BASE.Popup+this.popups.length,this.layerContainerDiv.appendChild(a)},removePopup:function(a){OpenLayers.Util.removeItem(this.popups,a);if(a.div)try{this.layerContainerDiv.removeChild(a.div)}catch(b){}a.map=
+null},getSize:function(){var a=null;null!=this.size&&(a=this.size.clone());return a},updateSize:function(){var a=this.getCurrentSize();if(a&&!isNaN(a.h)&&!isNaN(a.w)){this.events.clearMouseCache();var b=this.getSize();null==b&&(this.size=b=a);if(!a.equals(b)){this.size=a;a=0;for(b=this.layers.length;a<b;a++)this.layers[a].onMapResize();a=this.getCachedCenter();null!=this.baseLayer&&null!=a&&(b=this.getZoom(),this.zoom=null,this.setCenter(a,b))}}this.events.triggerEvent("updatesize")},getCurrentSize:function(){var a=
+new OpenLayers.Size(this.div.clientWidth,this.div.clientHeight);if(0==a.w&&0==a.h||isNaN(a.w)&&isNaN(a.h))a.w=this.div.offsetWidth,a.h=this.div.offsetHeight;if(0==a.w&&0==a.h||isNaN(a.w)&&isNaN(a.h))a.w=parseInt(this.div.style.width),a.h=parseInt(this.div.style.height);return a},calculateBounds:function(a,b){var c=null;null==a&&(a=this.getCachedCenter());null==b&&(b=this.getResolution());null!=a&&null!=b&&(c=this.size.w*b/2,b=this.size.h*b/2,c=new OpenLayers.Bounds(a.lon-c,a.lat-b,a.lon+c,a.lat+b));
+return c},getCenter:function(){var a=null,b=this.getCachedCenter();b&&(a=b.clone());return a},getCachedCenter:function(){!this.center&&this.size&&(this.center=this.getLonLatFromViewPortPx({x:this.size.w/2,y:this.size.h/2}));return this.center},getZoom:function(){return this.zoom},pan:function(a,b,c){c=OpenLayers.Util.applyDefaults(c,{animate:!0,dragging:!1});if(c.dragging)0==a&&0==b||this.moveByPx(a,b);else{var d=this.getViewPortPxFromLonLat(this.getCachedCenter());a=d.add(a,b);if(this.dragging||
+!a.equals(d))d=this.getLonLatFromViewPortPx(a),c.animate?this.panTo(d):(this.moveTo(d),this.dragging&&(this.dragging=!1,this.events.triggerEvent("moveend")))}},panTo:function(a){if(this.panTween&&this.getExtent().scale(this.panRatio).containsLonLat(a)){var b=this.getCachedCenter();if(!a.equals(b)){b=this.getPixelFromLonLat(b);var c=this.getPixelFromLonLat(a),d=0,e=0;this.panTween.start({x:0,y:0},{x:c.x-b.x,y:c.y-b.y},this.panDuration,{callbacks:{eachStep:OpenLayers.Function.bind(function(a){this.moveByPx(a.x-
+d,a.y-e);d=Math.round(a.x);e=Math.round(a.y)},this),done:OpenLayers.Function.bind(function(b){this.moveTo(a);this.dragging=!1;this.events.triggerEvent("moveend")},this)}})}}else this.setCenter(a)},setCenter:function(a,b,c,d){this.panTween&&this.panTween.stop();this.zoomTween&&this.zoomTween.stop();this.moveTo(a,b,{dragging:c,forceZoomChange:d})},moveByPx:function(a,b){var c=this.size.w/2,d=this.size.h/2,e=c+a,f=d+b,g=this.baseLayer.wrapDateLine,h=0,k=0;this.restrictedExtent&&(h=c,k=d,g=!1);a=g||e<=
+this.maxPx.x-h&&e>=this.minPx.x+h?Math.round(a):0;b=f<=this.maxPx.y-k&&f>=this.minPx.y+k?Math.round(b):0;if(a||b){this.dragging||(this.dragging=!0,this.events.triggerEvent("movestart"));this.center=null;a&&(this.layerContainerOriginPx.x-=a,this.minPx.x-=a,this.maxPx.x-=a);b&&(this.layerContainerOriginPx.y-=b,this.minPx.y-=b,this.maxPx.y-=b);this.applyTransform();d=0;for(e=this.layers.length;d<e;++d)c=this.layers[d],c.visibility&&(c===this.baseLayer||c.inRange)&&(c.moveByPx(a,b),c.events.triggerEvent("move"));
+this.events.triggerEvent("move")}},adjustZoom:function(a){if(this.baseLayer&&this.baseLayer.wrapDateLine){var b=this.baseLayer.resolutions,c=this.getMaxExtent().getWidth()/this.size.w;if(this.getResolutionForZoom(a)>c)if(this.fractionalZoom)a=this.getZoomForResolution(c);else for(var d=a|0,e=b.length;d<e;++d)if(b[d]<=c){a=d;break}}return a},getMinZoom:function(){return this.adjustZoom(0)},moveTo:function(a,b,c){null==a||a instanceof OpenLayers.LonLat||(a=new OpenLayers.LonLat(a));c||(c={});null!=
+b&&(b=parseFloat(b),this.fractionalZoom||(b=Math.round(b)));var d=b;b=this.adjustZoom(b);b!==d&&(a=this.getCenter());d=c.dragging||this.dragging;var e=c.forceZoomChange;this.getCachedCenter()||this.isValidLonLat(a)||(a=this.maxExtent.getCenterLonLat(),this.center=a.clone());if(null!=this.restrictedExtent){null==a&&(a=this.center);null==b&&(b=this.getZoom());var f=this.getResolutionForZoom(b);f=this.calculateBounds(a,f);if(!this.restrictedExtent.containsBounds(f)){var g=this.restrictedExtent.getCenterLonLat();
+f.getWidth()>this.restrictedExtent.getWidth()?a=new OpenLayers.LonLat(g.lon,a.lat):f.left<this.restrictedExtent.left?a=a.add(this.restrictedExtent.left-f.left,0):f.right>this.restrictedExtent.right&&(a=a.add(this.restrictedExtent.right-f.right,0));f.getHeight()>this.restrictedExtent.getHeight()?a=new OpenLayers.LonLat(a.lon,g.lat):f.bottom<this.restrictedExtent.bottom?a=a.add(0,this.restrictedExtent.bottom-f.bottom):f.top>this.restrictedExtent.top&&(a=a.add(0,this.restrictedExtent.top-f.top))}}e=
+e||this.isValidZoomLevel(b)&&b!=this.getZoom();f=this.isValidLonLat(a)&&!a.equals(this.center);if(e||f||d){d||this.events.triggerEvent("movestart",{zoomChanged:e});f&&(!e&&this.center&&this.centerLayerContainer(a),this.center=a.clone());a=e?this.getResolutionForZoom(b):this.getResolution();if(e||null==this.layerContainerOrigin){this.layerContainerOrigin=this.getCachedCenter();this.layerContainerOriginPx.x=0;this.layerContainerOriginPx.y=0;this.applyTransform();f=this.getMaxExtent({restricted:!0});
+var h=f.getCenterLonLat();g=this.center.lon-h.lon;h=h.lat-this.center.lat;var k=Math.round(f.getWidth()/a),l=Math.round(f.getHeight()/a);this.minPx={x:(this.size.w-k)/2-g/a,y:(this.size.h-l)/2-h/a};this.maxPx={x:this.minPx.x+Math.round(f.getWidth()/a),y:this.minPx.y+Math.round(f.getHeight()/a)}}e&&(this.zoom=b,this.resolution=a);a=this.getExtent();this.baseLayer.visibility&&(this.baseLayer.moveTo(a,e,c.dragging),c.dragging||this.baseLayer.events.triggerEvent("moveend",{zoomChanged:e}));a=this.baseLayer.getExtent();
+for(b=this.layers.length-1;0<=b;--b)f=this.layers[b],f===this.baseLayer||f.isBaseLayer||(g=f.calculateInRange(),f.inRange!=g&&((f.inRange=g)||f.display(!1),this.events.triggerEvent("changelayer",{layer:f,property:"visibility"})),g&&f.visibility&&(f.moveTo(a,e,c.dragging),c.dragging||f.events.triggerEvent("moveend",{zoomChanged:e})));this.events.triggerEvent("move");d||this.events.triggerEvent("moveend");if(e){b=0;for(c=this.popups.length;b<c;b++)this.popups[b].updatePosition();this.events.triggerEvent("zoomend")}}},
+centerLayerContainer:function(a){var b=this.getViewPortPxFromLonLat(this.layerContainerOrigin),c=this.getViewPortPxFromLonLat(a);if(null!=b&&null!=c){var d=this.layerContainerOriginPx.x;a=this.layerContainerOriginPx.y;var e=Math.round(b.x-c.x);b=Math.round(b.y-c.y);this.applyTransform(this.layerContainerOriginPx.x=e,this.layerContainerOriginPx.y=b);d-=e;a-=b;this.minPx.x-=d;this.maxPx.x-=d;this.minPx.y-=a;this.maxPx.y-=a}},isValidZoomLevel:function(a){return null!=a&&0<=a&&a<this.getNumZoomLevels()},
+isValidLonLat:function(a){var b=!1;null!=a&&(b=this.getMaxExtent(),b=b.containsLonLat(a,{worldBounds:this.baseLayer.wrapDateLine&&b}));return b},getProjection:function(){var a=this.getProjectionObject();return a?a.getCode():null},getProjectionObject:function(){var a=null;null!=this.baseLayer&&(a=this.baseLayer.projection);return a},getMaxResolution:function(){var a=null;null!=this.baseLayer&&(a=this.baseLayer.maxResolution);return a},getMaxExtent:function(a){var b=null;a&&a.restricted&&this.restrictedExtent?
+b=this.restrictedExtent:null!=this.baseLayer&&(b=this.baseLayer.maxExtent);return b},getNumZoomLevels:function(){var a=null;null!=this.baseLayer&&(a=this.baseLayer.numZoomLevels);return a},getExtent:function(){var a=null;null!=this.baseLayer&&(a=this.baseLayer.getExtent());return a},getResolution:function(){var a=null;null!=this.baseLayer?a=this.baseLayer.getResolution():!0===this.allOverlays&&0<this.layers.length&&(a=this.layers[0].getResolution());return a},getUnits:function(){var a=null;null!=
+this.baseLayer&&(a=this.baseLayer.units);return a},getScale:function(){var a=null;null!=this.baseLayer&&(a=this.getResolution(),a=OpenLayers.Util.getScaleFromResolution(a,this.baseLayer.units));return a},getZoomForExtent:function(a,b){var c=null;null!=this.baseLayer&&(c=this.baseLayer.getZoomForExtent(a,b));return c},getResolutionForZoom:function(a){var b=null;this.baseLayer&&(b=this.baseLayer.getResolutionForZoom(a));return b},getZoomForResolution:function(a,b){var c=null;null!=this.baseLayer&&(c=
+this.baseLayer.getZoomForResolution(a,b));return c},zoomTo:function(a,b){var c=this;if(c.isValidZoomLevel(a)){c.baseLayer.wrapDateLine&&(a=c.adjustZoom(a));var d=b?c.getZoomTargetCenter(b,c.getResolutionForZoom(a)):c.getCenter();d&&c.events.triggerEvent("zoomstart",{center:d,zoom:a});if(c.zoomTween){c.zoomTween.stop();var e=c.getResolution();a=c.getResolutionForZoom(a);e={scale:e/a};b||(a=c.getSize(),b={x:a.w/2,y:a.h/2});c.zoomTween.start({scale:1},e,c.zoomDuration,{minFrameRate:50,callbacks:{eachStep:function(a){var d=
+c.layerContainerOriginPx;a=a.scale;c.applyTransform(d.x+((a-1)*(d.x-b.x)|0),d.y+((a-1)*(d.y-b.y)|0),a)},done:function(a){c.applyTransform();var e=c.getResolution()/a.scale,f=c.getZoomForResolution(e,!0);a=1===a.scale?d:c.getZoomTargetCenter(b,e);c.moveTo(a,f)}}})}else c.setCenter(d,a)}},zoomIn:function(){this.zoomTween&&this.zoomTween.stop();this.zoomTo(this.getZoom()+1)},zoomOut:function(){this.zoomTween&&this.zoomTween.stop();this.zoomTo(this.getZoom()-1)},zoomToExtent:function(a,b){a instanceof
+OpenLayers.Bounds||(a=new OpenLayers.Bounds(a));var c=a.getCenterLonLat();if(this.baseLayer.wrapDateLine){c=this.getMaxExtent();for(a=a.clone();a.right<a.left;)a.right+=c.getWidth();c=a.getCenterLonLat().wrapDateLine(c)}this.setCenter(c,this.getZoomForExtent(a,b))},zoomToMaxExtent:function(a){a=this.getMaxExtent({restricted:a?a.restricted:!0});this.zoomToExtent(a)},zoomToScale:function(a,b){var c=OpenLayers.Util.getResolutionFromScale(a,this.baseLayer.units);a=this.size.w*c/2;c=this.size.h*c/2;var d=
+this.getCachedCenter();a=new OpenLayers.Bounds(d.lon-a,d.lat-c,d.lon+a,d.lat+c);this.zoomToExtent(a,b)},getLonLatFromViewPortPx:function(a){var b=null;null!=this.baseLayer&&(b=this.baseLayer.getLonLatFromViewPortPx(a));return b},getViewPortPxFromLonLat:function(a){var b=null;null!=this.baseLayer&&(b=this.baseLayer.getViewPortPxFromLonLat(a));return b},getZoomTargetCenter:function(a,b){var c=null,d=this.getSize(),e=d.w/2-a.x;d=a.y-d.h/2;(a=this.getLonLatFromPixel(a))&&(c=new OpenLayers.LonLat(a.lon+
+e*b,a.lat+d*b));return c},getLonLatFromPixel:function(a){return this.getLonLatFromViewPortPx(a)},getPixelFromLonLat:function(a){a=this.getViewPortPxFromLonLat(a);a.x=Math.round(a.x);a.y=Math.round(a.y);return a},getGeodesicPixelSize:function(a){var b=a?this.getLonLatFromPixel(a):this.getCachedCenter()||new OpenLayers.LonLat(0,0),c=this.getResolution();a=b.add(-c/2,0);var d=b.add(c/2,0),e=b.add(0,-c/2);b=b.add(0,c/2);c=new OpenLayers.Projection("EPSG:4326");var f=this.getProjectionObject()||c;f.equals(c)||
+(a.transform(f,c),d.transform(f,c),e.transform(f,c),b.transform(f,c));return new OpenLayers.Size(OpenLayers.Util.distVincenty(a,d),OpenLayers.Util.distVincenty(e,b))},getViewPortPxFromLayerPx:function(a){var b=null;null!=a&&(b=a.add(this.layerContainerOriginPx.x,this.layerContainerOriginPx.y));return b},getLayerPxFromViewPortPx:function(a){var b=null;null!=a&&(b=a.add(-this.layerContainerOriginPx.x,-this.layerContainerOriginPx.y),isNaN(b.x)||isNaN(b.y))&&(b=null);return b},getLonLatFromLayerPx:function(a){a=
+this.getViewPortPxFromLayerPx(a);return this.getLonLatFromViewPortPx(a)},getLayerPxFromLonLat:function(a){a=this.getPixelFromLonLat(a);return this.getLayerPxFromViewPortPx(a)},applyTransform:function(a,b,c){c=c||1;var d=this.layerContainerOriginPx,e=1!==c;a=a||d.x;b=b||d.y;var f=this.layerContainerDiv.style,g=this.applyTransform.transform,h=this.applyTransform.template;if(void 0===g&&(g=OpenLayers.Util.vendorPrefix.style("transform"),this.applyTransform.transform=g)){var k=OpenLayers.Element.getStyle(this.viewPortDiv,
+OpenLayers.Util.vendorPrefix.css("transform"));k&&"none"===k||(h=["translate3d(",",0) ","scale3d(",",1)"],f[g]=[h[0],"0,0",h[1]].join(""));h&&~f[g].indexOf(h[0])||(h=["translate(",") ","scale(",")"]);this.applyTransform.template=h}null===g||"translate3d("!==h[0]&&!0!==e?(f.left=a+"px",f.top=b+"px",null!==g&&(f[g]="")):(!0===e&&"translate("===h[0]&&(a-=d.x,b-=d.y,f.left=d.x+"px",f.top=d.y+"px"),f[g]=[h[0],a,"px,",b,"px",h[1],h[2],c,",",c,h[3]].join(""))},CLASS_NAME:"OpenLayers.Map"});
+OpenLayers.Map.TILE_WIDTH=256;OpenLayers.Map.TILE_HEIGHT=256;OpenLayers.Layer=OpenLayers.Class({id:null,name:null,div:null,opacity:1,alwaysInRange:null,RESOLUTION_PROPERTIES:"scales resolutions maxScale minScale maxResolution minResolution numZoomLevels maxZoomLevel".split(" "),events:null,map:null,isBaseLayer:!1,alpha:!1,displayInLayerSwitcher:!0,visibility:!0,attribution:null,inRange:!1,imageSize:null,options:null,eventListeners:null,gutter:0,projection:null,units:null,scales:null,resolutions:null,maxExtent:null,minExtent:null,maxResolution:null,minResolution:null,
+numZoomLevels:null,minScale:null,maxScale:null,displayOutsideMaxExtent:!1,wrapDateLine:!1,metadata:null,initialize:function(a,b){this.metadata={};b=OpenLayers.Util.extend({},b);null!=this.alwaysInRange&&(b.alwaysInRange=this.alwaysInRange);this.addOptions(b);this.name=a;if(null==this.id&&(this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_"),this.div=OpenLayers.Util.createDiv(this.id),this.div.style.width="100%",this.div.style.height="100%",this.div.dir="ltr",this.events=new OpenLayers.Events(this,
+this.div),this.eventListeners instanceof Object))this.events.on(this.eventListeners)},destroy:function(a){null==a&&(a=!0);null!=this.map&&this.map.removeLayer(this,a);this.options=this.div=this.name=this.map=this.projection=null;this.events&&(this.eventListeners&&this.events.un(this.eventListeners),this.events.destroy());this.events=this.eventListeners=null},clone:function(a){null==a&&(a=new OpenLayers.Layer(this.name,this.getOptions()));OpenLayers.Util.applyDefaults(a,this);a.map=null;return a},
+getOptions:function(){var a={},b;for(b in this.options)a[b]=this[b];return a},setName:function(a){a!=this.name&&(this.name=a,null!=this.map&&this.map.events.triggerEvent("changelayer",{layer:this,property:"name"}))},addOptions:function(a,b){null==this.options&&(this.options={});a&&("string"==typeof a.projection&&(a.projection=new OpenLayers.Projection(a.projection)),a.projection&&OpenLayers.Util.applyDefaults(a,OpenLayers.Projection.defaults[a.projection.getCode()]),!a.maxExtent||a.maxExtent instanceof
+OpenLayers.Bounds||(a.maxExtent=new OpenLayers.Bounds(a.maxExtent)),!a.minExtent||a.minExtent instanceof OpenLayers.Bounds||(a.minExtent=new OpenLayers.Bounds(a.minExtent)));OpenLayers.Util.extend(this.options,a);OpenLayers.Util.extend(this,a);this.projection&&this.projection.getUnits()&&(this.units=this.projection.getUnits());if(this.map){var c=this.map.getResolution(),d=this.RESOLUTION_PROPERTIES.concat(["projection","units","minExtent","maxExtent"]),e;for(e in a)if(a.hasOwnProperty(e)&&0<=OpenLayers.Util.indexOf(d,
+e)){this.initResolutions();b&&this.map.baseLayer===this&&(this.map.setCenter(this.map.getCenter(),this.map.getZoomForResolution(c),!1,!0),this.map.events.triggerEvent("changebaselayer",{layer:this}));break}}},onMapResize:function(){},redraw:function(){var a=!1;if(this.map){this.inRange=this.calculateInRange();var b=this.getExtent();b&&this.inRange&&this.visibility&&(this.moveTo(b,!0,!1),this.events.triggerEvent("moveend",{zoomChanged:!0}),a=!0)}return a},moveTo:function(a,b,c){a=this.visibility;this.isBaseLayer||
+(a=a&&this.inRange);this.display(a)},moveByPx:function(a,b){},setMap:function(a){null==this.map&&(this.map=a,this.maxExtent=this.maxExtent||this.map.maxExtent,this.minExtent=this.minExtent||this.map.minExtent,this.projection=this.projection||this.map.projection,"string"==typeof this.projection&&(this.projection=new OpenLayers.Projection(this.projection)),this.projection&&this.projection.getUnits()?this.units=this.projection.getUnits():this.units=this.units||this.map.units,this.initResolutions(),this.isBaseLayer||
+(this.inRange=this.calculateInRange(),this.div.style.display=this.visibility&&this.inRange?"":"none"),this.setTileSize())},afterAdd:function(){},removeMap:function(a){},getImageSize:function(a){return this.imageSize||this.tileSize},setTileSize:function(a){this.tileSize=a=a?a:this.tileSize?this.tileSize:this.map.getTileSize();this.gutter&&(this.imageSize=new OpenLayers.Size(a.w+2*this.gutter,a.h+2*this.gutter))},getVisibility:function(){return this.visibility},setVisibility:function(a){a!=this.visibility&&
+(this.visibility=a,this.display(a),this.redraw(),null!=this.map&&this.map.events.triggerEvent("changelayer",{layer:this,property:"visibility"}),this.events.triggerEvent("visibilitychanged"))},display:function(a){a!=("none"!=this.div.style.display)&&(this.div.style.display=a&&this.calculateInRange()?"block":"none")},calculateInRange:function(){var a=!1;this.alwaysInRange?a=!0:this.map&&(a=this.map.getResolution(),a=a>=this.minResolution&&a<=this.maxResolution);return a},setIsBaseLayer:function(a){a!=
+this.isBaseLayer&&(this.isBaseLayer=a,null!=this.map&&this.map.events.triggerEvent("changebaselayer",{layer:this}))},initResolutions:function(){var a,b={},c=!0;var d=0;for(a=this.RESOLUTION_PROPERTIES.length;d<a;d++){var e=this.RESOLUTION_PROPERTIES[d];b[e]=this.options[e];c&&this.options[e]&&(c=!1)}null==this.options.alwaysInRange&&(this.alwaysInRange=c);null==b.resolutions&&(b.resolutions=this.resolutionsFromScales(b.scales));null==b.resolutions&&(b.resolutions=this.calculateResolutions(b));if(null==
+b.resolutions){d=0;for(a=this.RESOLUTION_PROPERTIES.length;d<a;d++)e=this.RESOLUTION_PROPERTIES[d],b[e]=null!=this.options[e]?this.options[e]:this.map[e];null==b.resolutions&&(b.resolutions=this.resolutionsFromScales(b.scales));null==b.resolutions&&(b.resolutions=this.calculateResolutions(b))}if(this.options.maxResolution&&"auto"!==this.options.maxResolution)var f=this.options.maxResolution;this.options.minScale&&(f=OpenLayers.Util.getResolutionFromScale(this.options.minScale,this.units));if(this.options.minResolution&&
+"auto"!==this.options.minResolution)var g=this.options.minResolution;this.options.maxScale&&(g=OpenLayers.Util.getResolutionFromScale(this.options.maxScale,this.units));b.resolutions&&(b.resolutions.sort(function(a,b){return b-a}),f||(f=b.resolutions[0]),g||(g=b.resolutions[b.resolutions.length-1]));if(this.resolutions=b.resolutions){a=this.resolutions.length;this.scales=Array(a);for(d=0;d<a;d++)this.scales[d]=OpenLayers.Util.getScaleFromResolution(this.resolutions[d],this.units);this.numZoomLevels=
+a}if(this.minResolution=g)this.maxScale=OpenLayers.Util.getScaleFromResolution(g,this.units);if(this.maxResolution=f)this.minScale=OpenLayers.Util.getScaleFromResolution(f,this.units)},resolutionsFromScales:function(a){if(null!=a){var b;var c=a.length;var d=Array(c);for(b=0;b<c;b++)d[b]=OpenLayers.Util.getResolutionFromScale(a[b],this.units);return d}},calculateResolutions:function(a){var b=a.maxResolution;if(null!=a.minScale)b=OpenLayers.Util.getResolutionFromScale(a.minScale,this.units);else if("auto"==
+b&&null!=this.maxExtent){var c=this.map.getSize();var d=this.maxExtent.getWidth()/c.w;c=this.maxExtent.getHeight()/c.h;b=Math.max(d,c)}d=a.minResolution;null!=a.maxScale?d=OpenLayers.Util.getResolutionFromScale(a.maxScale,this.units):"auto"==a.minResolution&&null!=this.minExtent&&(c=this.map.getSize(),d=this.minExtent.getWidth()/c.w,c=this.minExtent.getHeight()/c.h,d=Math.max(d,c));"number"!==typeof b&&"number"!==typeof d&&null!=this.maxExtent&&(b=this.map.getTileSize(),b=Math.max(this.maxExtent.getWidth()/
+b.w,this.maxExtent.getHeight()/b.h));c=a.maxZoomLevel;a=a.numZoomLevels;"number"===typeof d&&"number"===typeof b&&void 0===a?a=Math.floor(Math.log(b/d)/Math.log(2))+1:void 0===a&&null!=c&&(a=c+1);if(!("number"!==typeof a||0>=a||"number"!==typeof b&&"number"!==typeof d)){c=Array(a);var e=2;"number"==typeof d&&"number"==typeof b&&(e=Math.pow(b/d,1/(a-1)));var f;if("number"===typeof b)for(f=0;f<a;f++)c[f]=b/Math.pow(e,f);else for(f=0;f<a;f++)c[a-1-f]=d*Math.pow(e,f);return c}},getResolution:function(){var a=
+this.map.getZoom();return this.getResolutionForZoom(a)},getExtent:function(){return this.map.calculateBounds()},getZoomForExtent:function(a,b){var c=this.map.getSize();a=Math.max(a.getWidth()/c.w,a.getHeight()/c.h);return this.getZoomForResolution(a,b)},getDataExtent:function(){},getResolutionForZoom:function(a){a=Math.max(0,Math.min(a,this.resolutions.length-1));if(this.map.fractionalZoom){var b=Math.floor(a);a=this.resolutions[b]-(a-b)*(this.resolutions[b]-this.resolutions[Math.ceil(a)])}else a=
+this.resolutions[Math.round(a)];return a},getZoomForResolution:function(a,b){var c;if(this.map.fractionalZoom){b=0;var d=this.resolutions[b],e=this.resolutions[this.resolutions.length-1];var f=0;for(c=this.resolutions.length;f<c;++f){var g=this.resolutions[f];g>=a&&(d=g,b=f);if(g<=a){e=g;break}}f=d-e;a=0<f?b+(d-a)/f:b}else{e=Number.POSITIVE_INFINITY;f=0;for(c=this.resolutions.length;f<c;f++)if(b){d=Math.abs(this.resolutions[f]-a);if(d>e)break;e=d}else if(this.resolutions[f]<a)break;a=Math.max(0,f-
+1)}return a},getLonLatFromViewPortPx:function(a){var b=null,c=this.map;if(null!=a&&c.minPx){b=c.getResolution();var d=c.getMaxExtent({restricted:!0});b=new OpenLayers.LonLat((a.x-c.minPx.x)*b+d.left,(c.minPx.y-a.y)*b+d.top);this.wrapDateLine&&(b=b.wrapDateLine(this.maxExtent))}return b},getViewPortPxFromLonLat:function(a,b){var c=null;null!=a&&(b=b||this.map.getResolution(),c=this.map.calculateBounds(null,b),c=new OpenLayers.Pixel(1/b*(a.lon-c.left),1/b*(c.top-a.lat)));return c},setOpacity:function(a){if(a!=
+this.opacity){this.opacity=a;for(var b=this.div.childNodes,c=0,d=b.length;c<d;++c){var e=b[c].firstChild||b[c],f=b[c].lastChild;f&&"iframe"===f.nodeName.toLowerCase()&&(e=f.parentNode);OpenLayers.Util.modifyDOMElement(e,null,null,null,null,null,null,a)}null!=this.map&&this.map.events.triggerEvent("changelayer",{layer:this,property:"opacity"})}},getZIndex:function(){return this.div.style.zIndex},setZIndex:function(a){this.div.style.zIndex=a},adjustBounds:function(a){if(this.gutter){var b=this.gutter*
+this.map.getResolution();a=new OpenLayers.Bounds(a.left-b,a.bottom-b,a.right+b,a.top+b)}this.wrapDateLine&&(b={rightTolerance:this.getResolution(),leftTolerance:this.getResolution()},a=a.wrapDateLine(this.maxExtent,b));return a},CLASS_NAME:"OpenLayers.Layer"});OpenLayers.Renderer=OpenLayers.Class({container:null,root:null,extent:null,locked:!1,size:null,resolution:null,map:null,featureDx:0,initialize:function(a,b){this.container=OpenLayers.Util.getElement(a);OpenLayers.Util.extend(this,b)},destroy:function(){this.map=this.resolution=this.size=this.extent=this.container=null},supported:function(){return!1},setExtent:function(a,b){this.extent=a.clone();if(this.map.baseLayer&&this.map.baseLayer.wrapDateLine){var c=a.getWidth()/this.map.getExtent().getWidth();
+a=a.scale(1/c);this.extent=a.wrapDateLine(this.map.getMaxExtent()).scale(c)}b&&(this.resolution=null);return!0},setSize:function(a){this.size=a.clone();this.resolution=null},getResolution:function(){return this.resolution=this.resolution||this.map.getResolution()},drawFeature:function(a,b){null==b&&(b=a.style);if(a.geometry){var c=a.geometry.getBounds();if(c){var d;this.map.baseLayer&&this.map.baseLayer.wrapDateLine&&(d=this.map.getMaxExtent());c.intersectsBounds(this.extent,{worldBounds:d})?this.calculateFeatureDx(c,
+d):b={display:"none"};c=this.drawGeometry(a.geometry,b,a.id);if("none"!=b.display&&b.label&&!1!==c){d=a.geometry.getCentroid();if(b.labelXOffset||b.labelYOffset){var e=isNaN(b.labelXOffset)?0:b.labelXOffset,f=isNaN(b.labelYOffset)?0:b.labelYOffset,g=this.getResolution();d.move(e*g,f*g)}this.drawText(a.id,b,d)}else this.removeText(a.id);return c}}},calculateFeatureDx:function(a,b){this.featureDx=0;b&&(b=b.getWidth(),this.featureDx=Math.round(((a.left+a.right)/2-(this.extent.left+this.extent.right)/
+2)/b)*b)},drawGeometry:function(a,b,c){},drawText:function(a,b,c){},removeText:function(a){},clear:function(){},getFeatureIdFromEvent:function(a){},eraseFeatures:function(a){OpenLayers.Util.isArray(a)||(a=[a]);for(var b=0,c=a.length;b<c;++b){var d=a[b];this.eraseGeometry(d.geometry,d.id);this.removeText(d.id)}},eraseGeometry:function(a,b){},moveRoot:function(a){},getRenderLayerId:function(){return this.container.id},applyDefaultSymbolizer:function(a){var b=OpenLayers.Util.extend({},OpenLayers.Renderer.defaultSymbolizer);
+!1===a.stroke&&(delete b.strokeWidth,delete b.strokeColor);!1===a.fill&&delete b.fillColor;OpenLayers.Util.extend(b,a);return b},CLASS_NAME:"OpenLayers.Renderer"});OpenLayers.Renderer.defaultSymbolizer={fillColor:"#000000",strokeColor:"#000000",strokeWidth:2,fillOpacity:1,strokeOpacity:1,pointRadius:0,labelAlign:"cm"};
+OpenLayers.Renderer.symbol={star:[350,75,379,161,469,161,397,215,423,301,350,250,277,301,303,215,231,161,321,161,350,75],cross:[4,0,6,0,6,4,10,4,10,6,6,6,6,10,4,10,4,6,0,6,0,4,4,4,4,0],x:[0,0,25,0,50,35,75,0,100,0,65,50,100,100,75,100,50,65,25,100,0,100,35,50,0,0],square:[0,0,0,1,1,1,1,0,0,0],triangle:[0,10,10,10,5,0,0,10]};OpenLayers.Layer.Vector=OpenLayers.Class(OpenLayers.Layer,{isBaseLayer:!1,isFixed:!1,features:null,filter:null,selectedFeatures:null,unrenderedFeatures:null,reportError:!0,style:null,styleMap:null,strategies:null,protocol:null,renderers:["SVG","VML","Canvas"],renderer:null,rendererOptions:null,geometryType:null,drawn:!1,ratio:1,initialize:function(a,b){OpenLayers.Layer.prototype.initialize.apply(this,arguments);this.renderer&&this.renderer.supported()||this.assignRenderer();this.renderer&&this.renderer.supported()||
+(this.renderer=null,this.displayError());this.styleMap||(this.styleMap=new OpenLayers.StyleMap);this.features=[];this.selectedFeatures=[];this.unrenderedFeatures={};if(this.strategies)for(var c=0,d=this.strategies.length;c<d;c++)this.strategies[c].setLayer(this)},destroy:function(){if(this.strategies){var a;var b=0;for(a=this.strategies.length;b<a;b++){var c=this.strategies[b];c.autoDestroy&&c.destroy()}this.strategies=null}this.protocol&&(this.protocol.autoDestroy&&this.protocol.destroy(),this.protocol=
+null);this.destroyFeatures();this.unrenderedFeatures=this.selectedFeatures=this.features=null;this.renderer&&this.renderer.destroy();this.drawn=this.geometryType=this.renderer=null;OpenLayers.Layer.prototype.destroy.apply(this,arguments)},clone:function(a){null==a&&(a=new OpenLayers.Layer.Vector(this.name,this.getOptions()));a=OpenLayers.Layer.prototype.clone.apply(this,[a]);for(var b=this.features,c=b.length,d=Array(c),e=0;e<c;++e)d[e]=b[e].clone();a.features=d;return a},refresh:function(a){this.calculateInRange()&&
+this.visibility&&this.events.triggerEvent("refresh",a)},assignRenderer:function(){for(var a=0,b=this.renderers.length;a<b;a++){var c=this.renderers[a];if((c="function"==typeof c?c:OpenLayers.Renderer[c])&&c.prototype.supported()){this.renderer=new c(this.div,this.rendererOptions);break}}},displayError:function(){this.reportError&&OpenLayers.Console.userError(OpenLayers.i18n("browserNotSupported",{renderers:this.renderers.join("\n")}))},setMap:function(a){OpenLayers.Layer.prototype.setMap.apply(this,
+arguments);if(this.renderer){this.renderer.map=this.map;var b=this.map.getSize();b.w*=this.ratio;b.h*=this.ratio;this.renderer.setSize(b)}else this.map.removeLayer(this)},afterAdd:function(){if(this.strategies){var a;var b=0;for(a=this.strategies.length;b<a;b++){var c=this.strategies[b];c.autoActivate&&c.activate()}}},removeMap:function(a){this.drawn=!1;if(this.strategies){var b;var c=0;for(b=this.strategies.length;c<b;c++)a=this.strategies[c],a.autoActivate&&a.deactivate()}},onMapResize:function(){OpenLayers.Layer.prototype.onMapResize.apply(this,
+arguments);var a=this.map.getSize();a.w*=this.ratio;a.h*=this.ratio;this.renderer.setSize(a)},moveTo:function(a,b,c){OpenLayers.Layer.prototype.moveTo.apply(this,arguments);var d=!0;if(!c){this.renderer.root.style.visibility="hidden";d=this.map.getSize();var e=d.w;d=d.h;e=e/2*this.ratio-e/2;d=d/2*this.ratio-d/2;e+=this.map.layerContainerOriginPx.x;e=-Math.round(e);d+=this.map.layerContainerOriginPx.y;d=-Math.round(d);this.div.style.left=e+"px";this.div.style.top=d+"px";e=this.map.getExtent().scale(this.ratio);
+d=this.renderer.setExtent(e,b);this.renderer.root.style.visibility="visible";!0===OpenLayers.IS_GECKO&&(this.div.scrollLeft=this.div.scrollLeft);if(!b&&d)for(var f in this.unrenderedFeatures)e=this.unrenderedFeatures[f],this.drawFeature(e)}if(!this.drawn||b||!d)for(this.drawn=!0,f=0,d=this.features.length;f<d;f++)this.renderer.locked=f!==d-1,e=this.features[f],this.drawFeature(e)},display:function(a){OpenLayers.Layer.prototype.display.apply(this,arguments);var b=this.div.style.display;b!=this.renderer.root.style.display&&
+(this.renderer.root.style.display=b)},addFeatures:function(a,b){OpenLayers.Util.isArray(a)||(a=[a]);if(b=!b||!b.silent){a={features:a};if(!1===this.events.triggerEvent("beforefeaturesadded",a))return;a=a.features}for(var c=[],d=0,e=a.length;d<e;d++){this.renderer.locked=d!=a.length-1?!0:!1;var f=a[d];if(this.geometryType&&!(f.geometry instanceof this.geometryType))throw new TypeError("addFeatures: component should be an "+this.geometryType.prototype.CLASS_NAME);f.layer=this;!f.style&&this.style&&
+(f.style=OpenLayers.Util.extend({},this.style));if(b){if(!1===this.events.triggerEvent("beforefeatureadded",{feature:f}))continue;this.preFeatureInsert(f)}c.push(f);this.features.push(f);this.drawFeature(f);b&&(this.events.triggerEvent("featureadded",{feature:f}),this.onFeatureInsert(f))}b&&this.events.triggerEvent("featuresadded",{features:c})},removeFeatures:function(a,b){if(a&&0!==a.length){if(a===this.features)return this.removeAllFeatures(b);OpenLayers.Util.isArray(a)||(a=[a]);a===this.selectedFeatures&&
+(a=a.slice());(b=!b||!b.silent)&&this.events.triggerEvent("beforefeaturesremoved",{features:a});for(var c=a.length-1;0<=c;c--){this.renderer.locked=0!=c&&a[c-1].geometry?!0:!1;var d=a[c];delete this.unrenderedFeatures[d.id];b&&this.events.triggerEvent("beforefeatureremoved",{feature:d});this.features=OpenLayers.Util.removeItem(this.features,d);d.layer=null;d.geometry&&this.renderer.eraseFeatures(d);-1!=OpenLayers.Util.indexOf(this.selectedFeatures,d)&&OpenLayers.Util.removeItem(this.selectedFeatures,
+d);b&&this.events.triggerEvent("featureremoved",{feature:d})}b&&this.events.triggerEvent("featuresremoved",{features:a})}},removeAllFeatures:function(a){a=!a||!a.silent;var b=this.features;a&&this.events.triggerEvent("beforefeaturesremoved",{features:b});for(var c,d=b.length-1;0<=d;d--)c=b[d],a&&this.events.triggerEvent("beforefeatureremoved",{feature:c}),c.layer=null,a&&this.events.triggerEvent("featureremoved",{feature:c});this.renderer.clear();this.features=[];this.unrenderedFeatures={};this.selectedFeatures=
+[];a&&this.events.triggerEvent("featuresremoved",{features:b})},destroyFeatures:function(a,b){void 0==a&&(a=this.features);if(a)for(this.removeFeatures(a,b),b=a.length-1;0<=b;b--)a[b].destroy()},drawFeature:function(a,b){if(this.drawn){if("object"!=typeof b){b||a.state!==OpenLayers.State.DELETE||(b="delete");var c=b||a.renderIntent;(b=a.style||this.style)||(b=this.styleMap.createSymbolizer(a,c))}b=this.renderer.drawFeature(a,b);!1===b||null===b?this.unrenderedFeatures[a.id]=a:delete this.unrenderedFeatures[a.id]}},
+eraseFeatures:function(a){this.renderer.eraseFeatures(a)},getFeatureFromEvent:function(a){if(!this.renderer)throw Error("getFeatureFromEvent called on layer with no renderer. This usually means you destroyed a layer, but not some handler which is associated with it.");var b=null;(a=this.renderer.getFeatureIdFromEvent(a))&&(b="string"===typeof a?this.getFeatureById(a):a);return b},getFeatureBy:function(a,b){for(var c=null,d=0,e=this.features.length;d<e;++d)if(this.features[d][a]==b){c=this.features[d];
+break}return c},getFeatureById:function(a){return this.getFeatureBy("id",a)},getFeatureByFid:function(a){return this.getFeatureBy("fid",a)},getFeaturesByAttribute:function(a,b){var c,d,e=this.features.length,f=[];for(c=0;c<e;c++)(d=this.features[c])&&d.attributes&&d.attributes[a]===b&&f.push(d);return f},onFeatureInsert:function(a){},preFeatureInsert:function(a){},getDataExtent:function(){var a=null,b=this.features;if(b&&0<b.length)for(var c,d=0,e=b.length;d<e;d++)if(c=b[d].geometry)null===a&&(a=
+new OpenLayers.Bounds),a.extend(c.getBounds());return a},CLASS_NAME:"OpenLayers.Layer.Vector"});OpenLayers.Layer.Vector.RootContainer=OpenLayers.Class(OpenLayers.Layer.Vector,{displayInLayerSwitcher:!1,layers:null,display:function(){},getFeatureFromEvent:function(a){for(var b=this.layers,c,d=0;d<b.length;d++)if(c=b[d].getFeatureFromEvent(a))return c},setMap:function(a){OpenLayers.Layer.Vector.prototype.setMap.apply(this,arguments);this.collectRoots();a.events.register("changelayer",this,this.handleChangeLayer)},removeMap:function(a){a.events.unregister("changelayer",this,this.handleChangeLayer);
+this.resetRoots();OpenLayers.Layer.Vector.prototype.removeMap.apply(this,arguments)},collectRoots:function(){for(var a,b=0;b<this.map.layers.length;++b)a=this.map.layers[b],-1!=OpenLayers.Util.indexOf(this.layers,a)&&a.renderer.moveRoot(this.renderer)},resetRoots:function(){for(var a,b=0;b<this.layers.length;++b)a=this.layers[b],this.renderer&&a.renderer.getRenderLayerId()==this.id&&this.renderer.moveRoot(a.renderer)},handleChangeLayer:function(a){var b=a.layer;"order"==a.property&&-1!=OpenLayers.Util.indexOf(this.layers,
+b)&&(this.resetRoots(),this.collectRoots())},CLASS_NAME:"OpenLayers.Layer.Vector.RootContainer"});OpenLayers.Control.SelectFeature=OpenLayers.Class(OpenLayers.Control,{multipleKey:null,toggleKey:null,multiple:!1,clickout:!0,toggle:!1,hover:!1,highlightOnly:!1,box:!1,onBeforeSelect:function(){},onSelect:function(){},onUnselect:function(){},scope:null,geometryTypes:null,layer:null,layers:null,callbacks:null,selectStyle:null,renderIntent:"select",handlers:null,initialize:function(a,b){OpenLayers.Control.prototype.initialize.apply(this,[b]);null===this.scope&&(this.scope=this);this.initLayer(a);a=
+{click:this.clickFeature,clickout:this.clickoutFeature};this.hover&&(a.over=this.overFeature,a.out=this.outFeature);this.callbacks=OpenLayers.Util.extend(a,this.callbacks);this.handlers={feature:new OpenLayers.Handler.Feature(this,this.layer,this.callbacks,{geometryTypes:this.geometryTypes})};this.box&&(this.handlers.box=new OpenLayers.Handler.Box(this,{done:this.selectBox},{boxDivClassName:"olHandlerBoxSelectFeature"}))},initLayer:function(a){OpenLayers.Util.isArray(a)?(this.layers=a,this.layer=
+new OpenLayers.Layer.Vector.RootContainer(this.id+"_container",{layers:a})):this.layer=a},destroy:function(){this.active&&this.layers&&this.map.removeLayer(this.layer);OpenLayers.Control.prototype.destroy.apply(this,arguments);this.layers&&this.layer.destroy()},activate:function(){this.active||(this.layers&&this.map.addLayer(this.layer),this.handlers.feature.activate(),this.box&&this.handlers.box&&this.handlers.box.activate());return OpenLayers.Control.prototype.activate.apply(this,arguments)},deactivate:function(){this.active&&
+(this.handlers.feature.deactivate(),this.handlers.box&&this.handlers.box.deactivate(),this.layers&&this.map.removeLayer(this.layer));return OpenLayers.Control.prototype.deactivate.apply(this,arguments)},unselectAll:function(a){var b=this.layers||[this.layer],c;for(c=0;c<b.length;++c){var d=b[c];var e=0;if(null!=d.selectedFeatures)for(;d.selectedFeatures.length>e;){var f=d.selectedFeatures[e];a&&a.except==f?++e:this.unselect(f)}}},clickFeature:function(a){this.hover||(-1<OpenLayers.Util.indexOf(a.layer.selectedFeatures,
+a)?this.toggleSelect()?this.unselect(a):this.multipleSelect()||this.unselectAll({except:a}):(this.multipleSelect()||this.unselectAll({except:a}),this.select(a)))},multipleSelect:function(){return this.multiple||this.handlers.feature.evt&&this.handlers.feature.evt[this.multipleKey]},toggleSelect:function(){return this.toggle||this.handlers.feature.evt&&this.handlers.feature.evt[this.toggleKey]},clickoutFeature:function(a){!this.hover&&this.clickout&&this.unselectAll()},overFeature:function(a){var b=
+a.layer;this.hover&&(this.highlightOnly?this.highlight(a):-1==OpenLayers.Util.indexOf(b.selectedFeatures,a)&&this.select(a))},outFeature:function(a){if(this.hover)if(this.highlightOnly){if(a._lastHighlighter==this.id)if(a._prevHighlighter&&a._prevHighlighter!=this.id){delete a._lastHighlighter;var b=this.map.getControl(a._prevHighlighter);b&&b.highlight(a)}else this.unhighlight(a)}else this.unselect(a)},highlight:function(a){var b=a.layer;!1!==this.events.triggerEvent("beforefeaturehighlighted",{feature:a})&&
+(a._prevHighlighter=a._lastHighlighter,a._lastHighlighter=this.id,b.drawFeature(a,this.selectStyle||this.renderIntent),this.events.triggerEvent("featurehighlighted",{feature:a}))},unhighlight:function(a){var b=a.layer;void 0==a._prevHighlighter?delete a._lastHighlighter:(a._prevHighlighter!=this.id&&(a._lastHighlighter=a._prevHighlighter),delete a._prevHighlighter);b.drawFeature(a,a.style||a.layer.style||"default");this.events.triggerEvent("featureunhighlighted",{feature:a})},select:function(a){var b=
+this.onBeforeSelect.call(this.scope,a),c=a.layer;!1!==b&&(b=c.events.triggerEvent("beforefeatureselected",{feature:a}),!1!==b&&(c.selectedFeatures.push(a),this.highlight(a),this.handlers.feature.lastFeature||(this.handlers.feature.lastFeature=c.selectedFeatures[0]),c.events.triggerEvent("featureselected",{feature:a}),this.onSelect.call(this.scope,a)))},unselect:function(a){var b=a.layer;this.unhighlight(a);OpenLayers.Util.removeItem(b.selectedFeatures,a);b.events.triggerEvent("featureunselected",
+{feature:a});this.onUnselect.call(this.scope,a)},selectBox:function(a){if(a instanceof OpenLayers.Bounds){var b=this.map.getLonLatFromPixel({x:a.left,y:a.bottom});a=this.map.getLonLatFromPixel({x:a.right,y:a.top});b=new OpenLayers.Bounds(b.lon,b.lat,a.lon,a.lat);this.multipleSelect()||this.unselectAll();a=this.multiple;this.multiple=!0;var c=this.layers||[this.layer];this.events.triggerEvent("boxselectionstart",{layers:c});for(var d,e=0;e<c.length;++e){d=c[e];for(var f=0,g=d.features.length;f<g;++f){var h=
+d.features[f];h.getVisibility()&&(null==this.geometryTypes||-1<OpenLayers.Util.indexOf(this.geometryTypes,h.geometry.CLASS_NAME))&&b.toGeometry().intersects(h.geometry)&&-1==OpenLayers.Util.indexOf(d.selectedFeatures,h)&&this.select(h)}}this.multiple=a;this.events.triggerEvent("boxselectionend",{layers:c})}},setMap:function(a){this.handlers.feature.setMap(a);this.box&&this.handlers.box.setMap(a);OpenLayers.Control.prototype.setMap.apply(this,arguments)},setLayer:function(a){var b=this.active;this.unselectAll();
+this.deactivate();this.layers&&(this.layer.destroy(),this.layers=null);this.initLayer(a);this.handlers.feature.layer=this.layer;b&&this.activate()},addLayer:function(a){var b=this.active;this.deactivate();null==this.layers?null!=this.layer?(this.layers=[this.layer],this.layers.push(a)):this.layers=[a]:this.layers.push(a);this.initLayer(this.layers);this.handlers.feature.layer=this.layer;b&&this.activate()},CLASS_NAME:"OpenLayers.Control.SelectFeature"});OpenLayers.Control.DragFeature=OpenLayers.Class(OpenLayers.Control,{geometryTypes:null,onStart:function(a,b){},onDrag:function(a,b){},onComplete:function(a,b){},onEnter:function(a){},onLeave:function(a){},documentDrag:!1,layer:null,feature:null,dragCallbacks:{},featureCallbacks:{},lastPixel:null,initialize:function(a,b){OpenLayers.Control.prototype.initialize.apply(this,[b]);this.layer=a;this.handlers={drag:new OpenLayers.Handler.Drag(this,OpenLayers.Util.extend({down:this.downFeature,move:this.moveFeature,
+up:this.upFeature,out:this.cancel,done:this.doneDragging},this.dragCallbacks),{documentDrag:this.documentDrag}),feature:new OpenLayers.Handler.Feature(this,this.layer,OpenLayers.Util.extend({click:this.clickFeature,clickout:this.clickoutFeature,over:this.overFeature,out:this.outFeature},this.featureCallbacks),{geometryTypes:this.geometryTypes})}},clickFeature:function(a){this.handlers.feature.touch&&!this.over&&this.overFeature(a)&&(this.handlers.drag.dragstart(this.handlers.feature.evt),this.handlers.drag.stopDown=
+!1)},clickoutFeature:function(a){this.handlers.feature.touch&&this.over&&(this.outFeature(a),this.handlers.drag.stopDown=!0)},destroy:function(){this.layer=null;OpenLayers.Control.prototype.destroy.apply(this,[])},activate:function(){return this.handlers.feature.activate()&&OpenLayers.Control.prototype.activate.apply(this,arguments)},deactivate:function(){this.handlers.drag.deactivate();this.handlers.feature.deactivate();this.feature=null;this.dragging=!1;this.lastPixel=null;OpenLayers.Element.removeClass(this.map.viewPortDiv,
+this.displayClass+"Over");return OpenLayers.Control.prototype.deactivate.apply(this,arguments)},overFeature:function(a){var b=!1;this.handlers.drag.dragging?this.over=this.feature.id==a.id?!0:!1:(this.feature=a,this.handlers.drag.activate(),this.over=b=!0,OpenLayers.Element.addClass(this.map.viewPortDiv,this.displayClass+"Over"),this.onEnter(a));return b},downFeature:function(a){this.lastPixel=a;this.onStart(this.feature,a)},moveFeature:function(a){var b=this.map.getResolution();this.feature.geometry.move(b*
+(a.x-this.lastPixel.x),b*(this.lastPixel.y-a.y));this.layer.drawFeature(this.feature);this.lastPixel=a;this.onDrag(this.feature,a)},upFeature:function(a){this.over||this.handlers.drag.deactivate()},doneDragging:function(a){this.onComplete(this.feature,a)},outFeature:function(a){this.handlers.drag.dragging?this.feature.id==a.id&&(this.over=!1):(this.over=!1,this.handlers.drag.deactivate(),OpenLayers.Element.removeClass(this.map.viewPortDiv,this.displayClass+"Over"),this.onLeave(a),this.feature=null)},
+cancel:function(){this.handlers.drag.deactivate();this.over=!1},setMap:function(a){this.handlers.drag.setMap(a);this.handlers.feature.setMap(a);OpenLayers.Control.prototype.setMap.apply(this,arguments)},CLASS_NAME:"OpenLayers.Control.DragFeature"});OpenLayers.Control.Permalink=OpenLayers.Class(OpenLayers.Control,{argParserClass:OpenLayers.Control.ArgParser,element:null,anchor:!1,base:"",displayProjection:null,initialize:function(a,b,c){null===a||"object"!=typeof a||OpenLayers.Util.isElement(a)?(OpenLayers.Control.prototype.initialize.apply(this,[c]),this.element=OpenLayers.Util.getElement(a),this.base=b||document.location.href):(this.base=document.location.href,OpenLayers.Control.prototype.initialize.apply(this,[a]),null!=this.element&&(this.element=
+OpenLayers.Util.getElement(this.element)))},destroy:function(){this.element&&this.element.parentNode==this.div&&(this.div.removeChild(this.element),this.element=null);this.map&&this.map.events.unregister("moveend",this,this.updateLink);OpenLayers.Control.prototype.destroy.apply(this,arguments)},setMap:function(a){OpenLayers.Control.prototype.setMap.apply(this,arguments);for(var b=0,c=this.map.controls.length;b<c;b++){var d=this.map.controls[b];if(d.CLASS_NAME==this.argParserClass.CLASS_NAME){d.displayProjection!=
+this.displayProjection&&(this.displayProjection=d.displayProjection);break}}b==this.map.controls.length&&this.map.addControl(new this.argParserClass({displayProjection:this.displayProjection}))},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);this.element||this.anchor||(this.element=document.createElement("a"),this.element.innerHTML=OpenLayers.i18n("Permalink"),this.element.href="",this.div.appendChild(this.element));this.map.events.on({moveend:this.updateLink,changelayer:this.updateLink,
+changebaselayer:this.updateLink,scope:this});this.updateLink();return this.div},updateLink:function(){var a=this.anchor?"#":"?",b=this.base,c=null;-1!=b.indexOf("#")&&0==this.anchor&&(c=b.substring(b.indexOf("#"),b.length));-1!=b.indexOf(a)&&(b=b.substring(0,b.indexOf(a)));b=b.split("#")[0]+a+OpenLayers.Util.getParameterString(this.createParams());c&&(b+=c);this.anchor&&!this.element?window.location.href=b:this.element.href=b},createParams:function(a,b,c){a=a||this.map.getCenter();var d=OpenLayers.Util.getParameters(this.base);
+if(a)for(d.zoom=b||this.map.getZoom(),b=a.lat,a=a.lon,this.displayProjection&&(b=OpenLayers.Projection.transform({x:a,y:b},this.map.getProjectionObject(),this.displayProjection),a=b.x,b=b.y),d.lat=Math.round(1E5*b)/1E5,d.lon=Math.round(1E5*a)/1E5,c=c||this.map.layers,d.layers="",a=0,b=c.length;a<b;a++){var e=c[a];d.layers=e.isBaseLayer?d.layers+(e==this.map.baseLayer?"B":"0"):d.layers+(e.getVisibility()?"T":"F")}return d},CLASS_NAME:"OpenLayers.Control.Permalink"});OpenLayers.Handler.Pinch=OpenLayers.Class(OpenLayers.Handler,{started:!1,stopDown:!1,pinching:!1,last:null,start:null,touchstart:function(a){var b=!0;this.pinching=!1;if(OpenLayers.Event.isMultiTouch(a))this.started=!0,this.last=this.start={distance:this.getDistance(a.touches),delta:0,scale:1},this.callback("start",[a,this.start]),b=!this.stopDown;else{if(this.started)return!1;this.started=!1;this.last=this.start=null}OpenLayers.Event.preventDefault(a);return b},touchmove:function(a){if(this.started&&
+OpenLayers.Event.isMultiTouch(a)){this.pinching=!0;var b=this.getPinchData(a);this.callback("move",[a,b]);this.last=b;OpenLayers.Event.stop(a)}else if(this.started)return!1;return!0},touchend:function(a){return this.started&&!OpenLayers.Event.isMultiTouch(a)?(this.pinching=this.started=!1,this.callback("done",[a,this.start,this.last]),this.last=this.start=null,!1):!0},activate:function(){var a=!1;OpenLayers.Handler.prototype.activate.apply(this,arguments)&&(this.pinching=!1,a=!0);return a},deactivate:function(){var a=
+!1;OpenLayers.Handler.prototype.deactivate.apply(this,arguments)&&(this.pinching=this.started=!1,this.last=this.start=null,a=!0);return a},getDistance:function(a){var b=a[0];a=a[1];return Math.sqrt(Math.pow(b.olClientX-a.olClientX,2)+Math.pow(b.olClientY-a.olClientY,2))},getPinchData:function(a){a=this.getDistance(a.touches);return{distance:a,delta:this.last.distance-a,scale:a/this.start.distance}},CLASS_NAME:"OpenLayers.Handler.Pinch"});OpenLayers.Control.PinchZoom=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_TOOL,pinchOrigin:null,currentCenter:null,autoActivate:!0,preserveCenter:!1,initialize:function(a){OpenLayers.Control.prototype.initialize.apply(this,arguments);this.handler=new OpenLayers.Handler.Pinch(this,{start:this.pinchStart,move:this.pinchMove,done:this.pinchDone},this.handlerOptions)},pinchStart:function(a,b){this.currentCenter=this.pinchOrigin=a=this.preserveCenter?this.map.getPixelFromLonLat(this.map.getCenter()):
+a.xy},pinchMove:function(a,b){b=b.scale;var c=this.map.layerContainerOriginPx,d=this.pinchOrigin;a=this.preserveCenter?this.map.getPixelFromLonLat(this.map.getCenter()):a.xy;this.map.applyTransform(Math.round(c.x+a.x-d.x+(b-1)*(c.x-d.x)),Math.round(c.y+a.y-d.y+(b-1)*(c.y-d.y)),b);this.currentCenter=a},pinchDone:function(a,b,c){this.map.applyTransform();a=this.map.getZoomForResolution(this.map.getResolution()/c.scale,!0);if(a!==this.map.getZoom()||!this.currentCenter.equals(this.pinchOrigin)){b=this.map.getResolutionForZoom(a);
+c=this.map.getLonLatFromPixel(this.pinchOrigin);var d=this.currentCenter,e=this.map.getSize();c.lon+=b*(e.w/2-d.x);c.lat-=b*(e.h/2-d.y);this.map.div.clientWidth=this.map.div.clientWidth;this.map.setCenter(c,a)}},CLASS_NAME:"OpenLayers.Control.PinchZoom"});OpenLayers.Renderer.Canvas=OpenLayers.Class(OpenLayers.Renderer,{hitDetection:!0,hitOverflow:0,canvas:null,features:null,pendingRedraw:!1,cachedSymbolBounds:{},initialize:function(a,b){OpenLayers.Renderer.prototype.initialize.apply(this,arguments);this.root=document.createElement("canvas");this.container.appendChild(this.root);this.canvas=this.root.getContext("2d");this._clearRectId=OpenLayers.Util.createUniqueID();this.features={};this.hitDetection&&(this.hitCanvas=document.createElement("canvas"),
+this.hitContext=this.hitCanvas.getContext("2d"))},setExtent:function(){OpenLayers.Renderer.prototype.setExtent.apply(this,arguments);return!1},eraseGeometry:function(a,b){this.eraseFeatures(this.features[b][0])},supported:function(){return OpenLayers.CANVAS_SUPPORTED},setSize:function(a){this.size=a.clone();var b=this.root;b.style.width=a.w+"px";b.style.height=a.h+"px";b.width=a.w;b.height=a.h;this.resolution=null;this.hitDetection&&(b=this.hitCanvas,b.style.width=a.w+"px",b.style.height=a.h+"px",
+b.width=a.w,b.height=a.h)},drawFeature:function(a,b){if(a.geometry){b=this.applyDefaultSymbolizer(b||a.style);var c=a.geometry.getBounds();var d;this.map.baseLayer&&this.map.baseLayer.wrapDateLine&&(d=this.map.getMaxExtent());d=c&&c.intersectsBounds(this.extent,{worldBounds:d});(c="none"!==b.display&&!!c&&d)?this.features[a.id]=[a,b]:delete this.features[a.id];this.pendingRedraw=!0}this.pendingRedraw&&!this.locked&&(this.redraw(),this.pendingRedraw=!1);return c},drawGeometry:function(a,b,c){var d=
+a.CLASS_NAME;if("OpenLayers.Geometry.Collection"==d||"OpenLayers.Geometry.MultiPoint"==d||"OpenLayers.Geometry.MultiLineString"==d||"OpenLayers.Geometry.MultiPolygon"==d){d=this.map.baseLayer&&this.map.baseLayer.wrapDateLine&&this.map.getMaxExtent();for(var e=0;e<a.components.length;e++)this.calculateFeatureDx(a.components[e].getBounds(),d),this.drawGeometry(a.components[e],b,c)}else switch(a.CLASS_NAME){case "OpenLayers.Geometry.Point":this.drawPoint(a,b,c);break;case "OpenLayers.Geometry.LineString":this.drawLineString(a,
+b,c);break;case "OpenLayers.Geometry.LinearRing":this.drawLinearRing(a,b,c);break;case "OpenLayers.Geometry.Polygon":this.drawPolygon(a,b,c)}},drawExternalGraphic:function(a,b,c){var d=new Image,e=b.title||b.graphicTitle;e&&(d.title=e);var f=b.graphicWidth||b.graphicHeight,g=b.graphicHeight||b.graphicWidth;f=f?f:2*b.pointRadius;g=g?g:2*b.pointRadius;var h=void 0!=b.graphicXOffset?b.graphicXOffset:-(.5*f),k=void 0!=b.graphicYOffset?b.graphicYOffset:-(.5*g),l=this._clearRectId,m=b.graphicOpacity||b.fillOpacity;
+d.onload=OpenLayers.Function.bind(function(){if(this.features[c]&&l===this._clearRectId){var b=this.getLocalXY(a),e=b[0];b=b[1];if(!isNaN(e)&&!isNaN(b)){e=e+h|0;b=b+k|0;var q=this.canvas;q.globalAlpha=m;var r=OpenLayers.Renderer.Canvas.drawImageScaleFactor||(OpenLayers.Renderer.Canvas.drawImageScaleFactor=/android 2.1/.test(navigator.userAgent.toLowerCase())?320/window.screen.width:1);q.drawImage(d,e*r,b*r,f*r,g*r);this.hitDetection&&(this.setHitContextStyle("fill",c),this.hitContext.fillRect(e,b,
+f,g))}}},this);d.src=b.externalGraphic;d.complete&&(d.onload(),d.onload=null)},drawNamedSymbol:function(a,b,c){var d=Math.PI/180;var e=OpenLayers.Renderer.symbol[b.graphicName];if(!e)throw Error(b.graphicName+" is not a valid symbol name");if(e.length&&!(2>e.length)){a=this.getLocalXY(a);var f=a[0];var g=a[1];if(!isNaN(f)&&!isNaN(g)){this.canvas.lineCap="round";this.canvas.lineJoin="round";this.hitDetection&&(this.hitContext.lineCap="round",this.hitContext.lineJoin="round");if(b.graphicName in this.cachedSymbolBounds)var h=
+this.cachedSymbolBounds[b.graphicName];else{h=new OpenLayers.Bounds;for(a=0;a<e.length;a+=2)h.extend(new OpenLayers.LonLat(e[a],e[a+1]));this.cachedSymbolBounds[b.graphicName]=h}this.canvas.save();this.hitDetection&&this.hitContext.save();this.canvas.translate(f,g);this.hitDetection&&this.hitContext.translate(f,g);a=d*b.rotation;isNaN(a)||(this.canvas.rotate(a),this.hitDetection&&this.hitContext.rotate(a));d=2*b.pointRadius/Math.max(h.getWidth(),h.getHeight());this.canvas.scale(d,d);this.hitDetection&&
+this.hitContext.scale(d,d);a=h.getCenterLonLat().lon;h=h.getCenterLonLat().lat;this.canvas.translate(-a,-h);this.hitDetection&&this.hitContext.translate(-a,-h);g=b.strokeWidth;b.strokeWidth=g/d;if(!1!==b.fill){this.setCanvasStyle("fill",b);this.canvas.beginPath();for(a=0;a<e.length;a+=2)h=e[a],f=e[a+1],0==a&&this.canvas.moveTo(h,f),this.canvas.lineTo(h,f);this.canvas.closePath();this.canvas.fill();if(this.hitDetection){this.setHitContextStyle("fill",c,b);this.hitContext.beginPath();for(a=0;a<e.length;a+=
+2)h=e[a],f=e[a+1],0==a&&this.canvas.moveTo(h,f),this.hitContext.lineTo(h,f);this.hitContext.closePath();this.hitContext.fill()}}if(!1!==b.stroke){this.setCanvasStyle("stroke",b);this.canvas.beginPath();for(a=0;a<e.length;a+=2)h=e[a],f=e[a+1],0==a&&this.canvas.moveTo(h,f),this.canvas.lineTo(h,f);this.canvas.closePath();this.canvas.stroke();if(this.hitDetection){this.setHitContextStyle("stroke",c,b,d);this.hitContext.beginPath();for(a=0;a<e.length;a+=2)h=e[a],f=e[a+1],0==a&&this.hitContext.moveTo(h,
+f),this.hitContext.lineTo(h,f);this.hitContext.closePath();this.hitContext.stroke()}}b.strokeWidth=g;this.canvas.restore();this.hitDetection&&this.hitContext.restore();this.setCanvasStyle("reset")}}},setCanvasStyle:function(a,b){"fill"===a?(this.canvas.globalAlpha=b.fillOpacity,this.canvas.fillStyle=b.fillColor):"stroke"===a?(this.canvas.globalAlpha=b.strokeOpacity,this.canvas.strokeStyle=b.strokeColor,this.canvas.lineWidth=b.strokeWidth):(this.canvas.globalAlpha=0,this.canvas.lineWidth=1)},featureIdToHex:function(a){a=
+Number(a.split("_").pop())+1;16777216<=a&&(this.hitOverflow=a-16777215,a=a%16777216+1);a="000000"+a.toString(16);var b=a.length;return a="#"+a.substring(b-6,b)},setHitContextStyle:function(a,b,c,d){b=this.featureIdToHex(b);"fill"==a?(this.hitContext.globalAlpha=1,this.hitContext.fillStyle=b):"stroke"==a?(this.hitContext.globalAlpha=1,this.hitContext.strokeStyle=b,"undefined"===typeof d?this.hitContext.lineWidth=c.strokeWidth+2:isNaN(d)||(this.hitContext.lineWidth=c.strokeWidth+2/d)):(this.hitContext.globalAlpha=
+0,this.hitContext.lineWidth=1)},drawPoint:function(a,b,c){if(!1!==b.graphic)if(b.externalGraphic)this.drawExternalGraphic(a,b,c);else if(b.graphicName&&"circle"!=b.graphicName)this.drawNamedSymbol(a,b,c);else{var d=this.getLocalXY(a);a=d[0];d=d[1];if(!isNaN(a)&&!isNaN(d)){var e=2*Math.PI,f=b.pointRadius;!1!==b.fill&&(this.setCanvasStyle("fill",b),this.canvas.beginPath(),this.canvas.arc(a,d,f,0,e,!0),this.canvas.fill(),this.hitDetection&&(this.setHitContextStyle("fill",c,b),this.hitContext.beginPath(),
+this.hitContext.arc(a,d,f,0,e,!0),this.hitContext.fill()));!1!==b.stroke&&(this.setCanvasStyle("stroke",b),this.canvas.beginPath(),this.canvas.arc(a,d,f,0,e,!0),this.canvas.stroke(),this.hitDetection&&(this.setHitContextStyle("stroke",c,b),this.hitContext.beginPath(),this.hitContext.arc(a,d,f,0,e,!0),this.hitContext.stroke()),this.setCanvasStyle("reset"))}}},drawLineString:function(a,b,c){b=OpenLayers.Util.applyDefaults({fill:!1},b);this.drawLinearRing(a,b,c)},drawLinearRing:function(a,b,c){!1!==
+b.fill&&(this.setCanvasStyle("fill",b),this.renderPath(this.canvas,a,b,c,"fill"),this.hitDetection&&(this.setHitContextStyle("fill",c,b),this.renderPath(this.hitContext,a,b,c,"fill")));!1!==b.stroke&&(this.setCanvasStyle("stroke",b),this.renderPath(this.canvas,a,b,c,"stroke"),this.hitDetection&&(this.setHitContextStyle("stroke",c,b),this.renderPath(this.hitContext,a,b,c,"stroke")));this.setCanvasStyle("reset")},renderPath:function(a,b,c,d,e){b=b.components;c=b.length;a.beginPath();d=this.getLocalXY(b[0]);
+var f=d[1];if(!isNaN(d[0])&&!isNaN(f)){a.moveTo(d[0],d[1]);for(d=1;d<c;++d)f=this.getLocalXY(b[d]),a.lineTo(f[0],f[1]);"fill"===e?a.fill():a.stroke()}},drawPolygon:function(a,b,c){a=a.components;var d=a.length;this.drawLinearRing(a[0],b,c);for(var e=1;e<d;++e)this.canvas.globalCompositeOperation="destination-out",this.hitDetection&&(this.hitContext.globalCompositeOperation="destination-out"),this.drawLinearRing(a[e],OpenLayers.Util.applyDefaults({stroke:!1,fillOpacity:1},b),c),this.canvas.globalCompositeOperation=
+"source-over",this.hitDetection&&(this.hitContext.globalCompositeOperation="source-over"),this.drawLinearRing(a[e],OpenLayers.Util.applyDefaults({fill:!1},b),c)},drawText:function(a,b){a=this.getLocalXY(a);this.setCanvasStyle("reset");this.canvas.fillStyle=b.fontColor;this.canvas.globalAlpha=b.fontOpacity||1;var c=[b.fontStyle?b.fontStyle:"normal","normal",b.fontWeight?b.fontWeight:"normal",b.fontSize?b.fontSize:"1em",b.fontFamily?b.fontFamily:"sans-serif"].join(" ");var d=b.label.split("\n"),e=d.length;
+if(this.canvas.fillText){this.canvas.font=c;this.canvas.textAlign=OpenLayers.Renderer.Canvas.LABEL_ALIGN[b.labelAlign[0]]||"center";this.canvas.textBaseline=OpenLayers.Renderer.Canvas.LABEL_ALIGN[b.labelAlign[1]]||"middle";var f=OpenLayers.Renderer.Canvas.LABEL_FACTOR[b.labelAlign[1]];null==f&&(f=-.5);c=this.canvas.measureText("Mg").height||this.canvas.measureText("xx").width;a[1]+=c*f*(e-1);for(f=0;f<e;f++)b.labelOutlineWidth&&(this.canvas.save(),this.canvas.globalAlpha=b.labelOutlineOpacity||b.fontOpacity||
+1,this.canvas.strokeStyle=b.labelOutlineColor,this.canvas.lineWidth=b.labelOutlineWidth,this.canvas.strokeText(d[f],a[0],a[1]+c*f+1),this.canvas.restore()),this.canvas.fillText(d[f],a[0],a[1]+c*f)}else if(this.canvas.mozDrawText){this.canvas.mozTextStyle=c;var g=OpenLayers.Renderer.Canvas.LABEL_FACTOR[b.labelAlign[0]];null==g&&(g=-.5);f=OpenLayers.Renderer.Canvas.LABEL_FACTOR[b.labelAlign[1]];null==f&&(f=-.5);c=this.canvas.mozMeasureText("xx");a[1]+=c*(1+f*e);for(f=0;f<e;f++){b=a[0]+g*this.canvas.mozMeasureText(d[f]);
+var h=a[1]+f*c;this.canvas.translate(b,h);this.canvas.mozDrawText(d[f]);this.canvas.translate(-b,-h)}}this.setCanvasStyle("reset")},getLocalXY:function(a){var b=this.getResolution(),c=this.extent;return[(a.x-this.featureDx)/b+-c.left/b,c.top/b-a.y/b]},clear:function(){this.clearCanvas();this.features={}},clearCanvas:function(){var a=this.root.height,b=this.root.width;this.canvas.clearRect(0,0,b,a);this._clearRectId=OpenLayers.Util.createUniqueID();this.hitDetection&&this.hitContext.clearRect(0,0,
+b,a)},getFeatureIdFromEvent:function(a){if(this.hitDetection&&"none"!==this.root.style.display&&!this.map.dragging&&(a=a.xy,a=this.hitContext.getImageData(a.x|0,a.y|0,1,1).data,255===a[3]&&(a=a[2]+256*(a[1]+256*a[0])))){a="OpenLayers_Feature_Vector_"+(a-1+this.hitOverflow);try{var b=this.features[a][0]}catch(c){}}return b},eraseFeatures:function(a){OpenLayers.Util.isArray(a)||(a=[a]);for(var b=0;b<a.length;++b)delete this.features[a[b].id];this.redraw()},redraw:function(){if(!this.locked){this.clearCanvas();
+var a=[],b=this.map.baseLayer&&this.map.baseLayer.wrapDateLine&&this.map.getMaxExtent(),c;for(c in this.features)if(this.features.hasOwnProperty(c)){var d=this.features[c][0];var e=d.geometry;this.calculateFeatureDx(e.getBounds(),b);var f=this.features[c][1];this.drawGeometry(e,f,d.id);f.label&&a.push([d,f])}e=0;for(f=a.length;e<f;++e)d=a[e],this.drawText(d[0].geometry.getCentroid(),d[1])}},CLASS_NAME:"OpenLayers.Renderer.Canvas"});
+OpenLayers.Renderer.Canvas.LABEL_ALIGN={l:"left",r:"right",t:"top",b:"bottom"};OpenLayers.Renderer.Canvas.LABEL_FACTOR={l:0,r:-1,t:0,b:-1};OpenLayers.Renderer.Canvas.drawImageScaleFactor=null;OpenLayers.ElementsIndexer=OpenLayers.Class({maxZIndex:null,order:null,indices:null,compare:null,initialize:function(a){this.compare=a?OpenLayers.ElementsIndexer.IndexingMethods.Z_ORDER_Y_ORDER:OpenLayers.ElementsIndexer.IndexingMethods.Z_ORDER_DRAWING_ORDER;this.clear()},insert:function(a){this.exists(a)&&this.remove(a);var b=a.id;this.determineZIndex(a);for(var c=-1,d=this.order.length,e;1<d-c;)e=parseInt((c+d)/2),0<this.compare(this,a,OpenLayers.Util.getElement(this.order[e]))?c=e:d=e;this.order.splice(d,
+0,b);this.indices[b]=this.getZIndex(a);return this.getNextElement(d)},remove:function(a){a=a.id;var b=OpenLayers.Util.indexOf(this.order,a);0<=b&&(this.order.splice(b,1),delete this.indices[a],this.maxZIndex=0<this.order.length?this.indices[this.order[this.order.length-1]]:0)},clear:function(){this.order=[];this.indices={};this.maxZIndex=0},exists:function(a){return null!=this.indices[a.id]},getZIndex:function(a){return a._style.graphicZIndex},determineZIndex:function(a){var b=a._style.graphicZIndex;
+null==b?(b=this.maxZIndex,a._style.graphicZIndex=b):b>this.maxZIndex&&(this.maxZIndex=b)},getNextElement:function(a){a+=1;for(var b=void 0;a<this.order.length&&void 0==b;a++)b=OpenLayers.Util.getElement(this.order[a]);return b||null},CLASS_NAME:"OpenLayers.ElementsIndexer"});
+OpenLayers.ElementsIndexer.IndexingMethods={Z_ORDER:function(a,b,c){b=a.getZIndex(b);var d=0;c&&(a=a.getZIndex(c),d=b-a);return d},Z_ORDER_DRAWING_ORDER:function(a,b,c){a=OpenLayers.ElementsIndexer.IndexingMethods.Z_ORDER(a,b,c);c&&0==a&&(a=1);return a},Z_ORDER_Y_ORDER:function(a,b,c){a=OpenLayers.ElementsIndexer.IndexingMethods.Z_ORDER(a,b,c);c&&0===a&&(b=c._boundsBottom-b._boundsBottom,a=0===b?1:b);return a}};
+OpenLayers.Renderer.Elements=OpenLayers.Class(OpenLayers.Renderer,{rendererRoot:null,root:null,vectorRoot:null,textRoot:null,xmlns:null,xOffset:0,indexer:null,BACKGROUND_ID_SUFFIX:"_background",LABEL_ID_SUFFIX:"_label",LABEL_OUTLINE_SUFFIX:"_outline",initialize:function(a,b){OpenLayers.Renderer.prototype.initialize.apply(this,arguments);this.rendererRoot=this.createRenderRoot();this.root=this.createRoot("_root");this.vectorRoot=this.createRoot("_vroot");this.textRoot=this.createRoot("_troot");this.root.appendChild(this.vectorRoot);
+this.root.appendChild(this.textRoot);this.rendererRoot.appendChild(this.root);this.container.appendChild(this.rendererRoot);b&&(b.zIndexing||b.yOrdering)&&(this.indexer=new OpenLayers.ElementsIndexer(b.yOrdering))},destroy:function(){this.clear();this.xmlns=this.root=this.rendererRoot=null;OpenLayers.Renderer.prototype.destroy.apply(this,arguments)},clear:function(){var a,b=this.vectorRoot;if(b)for(;a=b.firstChild;)b.removeChild(a);if(b=this.textRoot)for(;a=b.firstChild;)b.removeChild(a);this.indexer&&
+this.indexer.clear()},setExtent:function(a,b){var c=OpenLayers.Renderer.prototype.setExtent.apply(this,arguments),d=this.getResolution();if(this.map.baseLayer&&this.map.baseLayer.wrapDateLine){var e,f=a.getWidth()/this.map.getExtent().getWidth();a=a.scale(1/f);f=this.map.getMaxExtent();f.right>a.left&&f.right<a.right?e=!0:f.left>a.left&&f.left<a.right&&(e=!1);if(e!==this.rightOfDateLine||b)c=!1,this.xOffset=!0===e?f.getWidth()/d:0;this.rightOfDateLine=e}return c},getNodeType:function(a,b){},drawGeometry:function(a,
+b,c){var d=a.CLASS_NAME,e=!0;if("OpenLayers.Geometry.Collection"==d||"OpenLayers.Geometry.MultiPoint"==d||"OpenLayers.Geometry.MultiLineString"==d||"OpenLayers.Geometry.MultiPolygon"==d){d=0;for(var f=a.components.length;d<f;d++)e=this.drawGeometry(a.components[d],b,c)&&e;return e}d=e=!1;"none"!=b.display&&(b.backgroundGraphic?this.redrawBackgroundNode(a.id,a,b,c):d=!0,e=this.redrawNode(a.id,a,b,c));0==e&&(b=document.getElementById(a.id))&&(b._style.backgroundGraphic&&(d=!0),b.parentNode.removeChild(b));
+d&&(b=document.getElementById(a.id+this.BACKGROUND_ID_SUFFIX))&&b.parentNode.removeChild(b);return e},redrawNode:function(a,b,c,d){c=this.applyDefaultSymbolizer(c);a=this.nodeFactory(a,this.getNodeType(b,c));a._featureId=d;a._boundsBottom=b.getBounds().bottom;a._geometryClass=b.CLASS_NAME;a._style=c;b=this.drawGeometryNode(a,b,c);if(!1===b)return!1;a=b.node;this.indexer?(c=this.indexer.insert(a))?this.vectorRoot.insertBefore(a,c):this.vectorRoot.appendChild(a):a.parentNode!==this.vectorRoot&&this.vectorRoot.appendChild(a);
+this.postDraw(a);return b.complete},redrawBackgroundNode:function(a,b,c,d){c=OpenLayers.Util.extend({},c);c.externalGraphic=c.backgroundGraphic;c.graphicXOffset=c.backgroundXOffset;c.graphicYOffset=c.backgroundYOffset;c.graphicZIndex=c.backgroundGraphicZIndex;c.graphicWidth=c.backgroundWidth||c.graphicWidth;c.graphicHeight=c.backgroundHeight||c.graphicHeight;c.backgroundGraphic=null;c.backgroundXOffset=null;c.backgroundYOffset=null;c.backgroundGraphicZIndex=null;return this.redrawNode(a+this.BACKGROUND_ID_SUFFIX,
+b,c,null)},drawGeometryNode:function(a,b,c){c=c||a._style;var d={isFilled:void 0===c.fill?!0:c.fill,isStroked:void 0===c.stroke?!!c.strokeWidth:c.stroke};switch(b.CLASS_NAME){case "OpenLayers.Geometry.Point":!1===c.graphic&&(d.isFilled=!1,d.isStroked=!1);var e=this.drawPoint(a,b);break;case "OpenLayers.Geometry.LineString":d.isFilled=!1;e=this.drawLineString(a,b);break;case "OpenLayers.Geometry.LinearRing":e=this.drawLinearRing(a,b);break;case "OpenLayers.Geometry.Polygon":e=this.drawPolygon(a,b);
+break;case "OpenLayers.Geometry.Rectangle":e=this.drawRectangle(a,b)}a._options=d;return 0!=e?{node:this.setStyle(a,c,d,b),complete:e}:!1},postDraw:function(a){},drawPoint:function(a,b){},drawLineString:function(a,b){},drawLinearRing:function(a,b){},drawPolygon:function(a,b){},drawRectangle:function(a,b){},drawCircle:function(a,b){},removeText:function(a){var b=document.getElementById(a+this.LABEL_ID_SUFFIX);b&&this.textRoot.removeChild(b);(a=document.getElementById(a+this.LABEL_OUTLINE_SUFFIX))&&
+this.textRoot.removeChild(a)},getFeatureIdFromEvent:function(a){var b=a.target,c=b&&b.correspondingUseElement;return(c?c:b||a.srcElement)._featureId},eraseGeometry:function(a,b){if("OpenLayers.Geometry.MultiPoint"==a.CLASS_NAME||"OpenLayers.Geometry.MultiLineString"==a.CLASS_NAME||"OpenLayers.Geometry.MultiPolygon"==a.CLASS_NAME||"OpenLayers.Geometry.Collection"==a.CLASS_NAME)for(var c=0,d=a.components.length;c<d;c++)this.eraseGeometry(a.components[c],b);else(b=OpenLayers.Util.getElement(a.id))&&
+b.parentNode&&(b.geometry&&(b.geometry.destroy(),b.geometry=null),b.parentNode.removeChild(b),this.indexer&&this.indexer.remove(b),b._style.backgroundGraphic&&(a=OpenLayers.Util.getElement(a.id+this.BACKGROUND_ID_SUFFIX))&&a.parentNode&&a.parentNode.removeChild(a))},nodeFactory:function(a,b){var c=OpenLayers.Util.getElement(a);c?this.nodeTypeCompare(c,b)||(c.parentNode.removeChild(c),c=this.nodeFactory(a,b)):c=this.createNode(b,a);return c},nodeTypeCompare:function(a,b){},createNode:function(a,b){},
+moveRoot:function(a){var b=this.root;a.root.parentNode==this.rendererRoot&&(b=a.root);b.parentNode.removeChild(b);a.rendererRoot.appendChild(b)},getRenderLayerId:function(){return this.root.parentNode.parentNode.id},isComplexSymbol:function(a){return"circle"!=a&&!!a},CLASS_NAME:"OpenLayers.Renderer.Elements"});OpenLayers.Renderer.VML=OpenLayers.Class(OpenLayers.Renderer.Elements,{xmlns:"urn:schemas-microsoft-com:vml",symbolCache:{},offset:null,initialize:function(a){if(this.supported()){if(!document.namespaces.olv){document.namespaces.add("olv",this.xmlns);for(var b=document.createStyleSheet(),c="shape rect oval fill stroke imagedata group textbox".split(" "),d=0,e=c.length;d<e;d++)b.addRule("olv\\:"+c[d],"behavior: url(#default#VML); position: absolute; display: inline-block;")}OpenLayers.Renderer.Elements.prototype.initialize.apply(this,
+arguments)}},supported:function(){return!!document.namespaces},setExtent:function(a,b){var c=OpenLayers.Renderer.Elements.prototype.setExtent.apply(this,arguments),d=this.getResolution(),e=a.left/d|0;d=a.top/d-this.size.h|0;b||!this.offset?(this.offset={x:e,y:d},d=e=0):(e-=this.offset.x,d-=this.offset.y);this.root.coordorigin=e-this.xOffset+" "+d;e=[this.root,this.vectorRoot,this.textRoot];for(var f=0,g=e.length;f<g;++f)d=e[f],d.coordsize=this.size.w+" "+this.size.h;this.root.style.flip="y";return c},
+setSize:function(a){OpenLayers.Renderer.prototype.setSize.apply(this,arguments);for(var b=[this.rendererRoot,this.root,this.vectorRoot,this.textRoot],c=this.size.w+"px",d=this.size.h+"px",e,f=0,g=b.length;f<g;++f)e=b[f],e.style.width=c,e.style.height=d},getNodeType:function(a,b){var c=null;switch(a.CLASS_NAME){case "OpenLayers.Geometry.Point":c=b.externalGraphic?"olv:rect":this.isComplexSymbol(b.graphicName)?"olv:shape":"olv:oval";break;case "OpenLayers.Geometry.Rectangle":c="olv:rect";break;case "OpenLayers.Geometry.LineString":case "OpenLayers.Geometry.LinearRing":case "OpenLayers.Geometry.Polygon":case "OpenLayers.Geometry.Curve":c=
+"olv:shape"}return c},setStyle:function(a,b,c,d){b=b||a._style;c=c||a._options;var e=b.fillColor,f=b.title||b.graphicTitle;f&&(a.title=f);if("OpenLayers.Geometry.Point"===a._geometryClass)if(b.externalGraphic){c.isFilled=!0;e=b.graphicWidth||b.graphicHeight;f=b.graphicHeight||b.graphicWidth;e=e?e:2*b.pointRadius;f=f?f:2*b.pointRadius;var g=this.getResolution();var h=void 0!=b.graphicXOffset?b.graphicXOffset:-(.5*e);var k=void 0!=b.graphicYOffset?b.graphicYOffset:-(.5*f);a.style.left=((d.x-this.featureDx)/
+g-this.offset.x+h|0)+"px";a.style.top=(d.y/g-this.offset.y-(k+f)|0)+"px";a.style.width=e+"px";a.style.height=f+"px";a.style.flip="y";e="none";c.isStroked=!1}else this.isComplexSymbol(b.graphicName)?(f=this.importSymbol(b.graphicName),a.path=f.path,a.coordorigin=f.left+","+f.bottom,f=f.size,a.coordsize=f+","+f,this.drawCircle(a,d,b.pointRadius),a.style.flip="y"):this.drawCircle(a,d,b.pointRadius);c.isFilled?a.fillcolor=e:a.filled="false";d=a.getElementsByTagName("fill");d=0==d.length?null:d[0];c.isFilled?
+(d||(d=this.createNode("olv:fill",a.id+"_fill")),d.opacity=b.fillOpacity,"OpenLayers.Geometry.Point"===a._geometryClass&&b.externalGraphic&&(b.graphicOpacity&&(d.opacity=b.graphicOpacity),d.src=b.externalGraphic,d.type="frame",b.graphicWidth&&b.graphicHeight||(d.aspect="atmost")),d.parentNode!=a&&a.appendChild(d)):d&&a.removeChild(d);e=b.rotation;if(void 0!==e||void 0!==a._rotation)a._rotation=e,b.externalGraphic?(this.graphicRotate(a,h,k,b),d.opacity=0):"OpenLayers.Geometry.Point"===a._geometryClass&&
+(a.style.rotation=e||0);k=a.getElementsByTagName("stroke");k=0==k.length?null:k[0];c.isStroked?(k||(k=this.createNode("olv:stroke",a.id+"_stroke"),a.appendChild(k)),k.on=!0,k.color=b.strokeColor,k.weight=b.strokeWidth+"px",k.opacity=b.strokeOpacity,k.endcap="butt"==b.strokeLinecap?"flat":b.strokeLinecap||"round",b.strokeDashstyle&&(k.dashstyle=this.dashStyle(b))):(a.stroked=!1,k&&(k.on=!1));"inherit"!=b.cursor&&null!=b.cursor&&(a.style.cursor=b.cursor);return a},graphicRotate:function(a,b,c,d){d=
+d||a._style;var e=d.rotation||0;if(d.graphicWidth&&d.graphicHeight){var f=Math.max(d.graphicWidth,d.graphicHeight);var g=d.graphicWidth/d.graphicHeight;var h=Math.round(d.graphicWidth||f*g),k=Math.round(d.graphicHeight||f);a.style.width=h+"px";a.style.height=k+"px";var l=document.getElementById(a.id+"_image");l||(l=this.createNode("olv:imagedata",a.id+"_image"),a.appendChild(l));l.style.width=h+"px";l.style.height=k+"px";l.src=d.externalGraphic;l.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='', sizingMethod='scale')";
+l=e*Math.PI/180;e=Math.sin(l);l=Math.cos(l);e="progid:DXImageTransform.Microsoft.Matrix(M11="+l+",M12="+-e+",M21="+e+",M22="+l+",SizingMethod='auto expand')\n";(l=d.graphicOpacity||d.fillOpacity)&&1!=l&&(e+="progid:DXImageTransform.Microsoft.BasicImage(opacity="+l+")\n");a.style.filter=e;e=new OpenLayers.Geometry.Point(-b,-c);h=(new OpenLayers.Bounds(0,0,h,k)).toGeometry();h.rotate(d.rotation,e);h=h.getBounds();a.style.left=Math.round(parseInt(a.style.left)+h.left)+"px";a.style.top=Math.round(parseInt(a.style.top)-
+h.bottom)+"px"}else{var m=new Image;m.onreadystatechange=OpenLayers.Function.bind(function(){if("complete"==m.readyState||"interactive"==m.readyState)g=m.width/m.height,f=Math.max(2*d.pointRadius,d.graphicWidth||0,d.graphicHeight||0),b*=g,d.graphicWidth=f*g,d.graphicHeight=f,this.graphicRotate(a,b,c,d)},this);m.src=d.externalGraphic}},postDraw:function(a){a.style.visibility="visible";var b=a._style.fillColor,c=a._style.strokeColor;"none"==b&&a.fillcolor!=b&&(a.fillcolor=b);"none"==c&&a.strokecolor!=
+c&&(a.strokecolor=c)},setNodeDimension:function(a,b){if(b=b.getBounds()){var c=this.getResolution();b=new OpenLayers.Bounds((b.left-this.featureDx)/c-this.offset.x|0,b.bottom/c-this.offset.y|0,(b.right-this.featureDx)/c-this.offset.x|0,b.top/c-this.offset.y|0);a.style.left=b.left+"px";a.style.top=b.top+"px";a.style.width=b.getWidth()+"px";a.style.height=b.getHeight()+"px";a.coordorigin=b.left+" "+b.top;a.coordsize=b.getWidth()+" "+b.getHeight()}},dashStyle:function(a){a=a.strokeDashstyle;switch(a){case "solid":case "dot":case "dash":case "dashdot":case "longdash":case "longdashdot":return a;
+default:return a=a.split(/[ ,]/),2==a.length?1*a[0]>=2*a[1]?"longdash":1==a[0]||1==a[1]?"dot":"dash":4==a.length?1*a[0]>=2*a[1]?"longdashdot":"dashdot":"solid"}},createNode:function(a,b){a=document.createElement(a);b&&(a.id=b);a.unselectable="on";a.onselectstart=OpenLayers.Function.False;return a},nodeTypeCompare:function(a,b){var c=b.indexOf(":");-1!=c&&(b=b.substr(c+1));a=a.nodeName;c=a.indexOf(":");-1!=c&&(a=a.substr(c+1));return b==a},createRenderRoot:function(){return this.nodeFactory(this.container.id+
+"_vmlRoot","div")},createRoot:function(a){return this.nodeFactory(this.container.id+a,"olv:group")},drawPoint:function(a,b){return this.drawCircle(a,b,1)},drawCircle:function(a,b,c){if(!isNaN(b.x)&&!isNaN(b.y)){var d=this.getResolution();a.style.left=((b.x-this.featureDx)/d-this.offset.x|0)-c+"px";a.style.top=(b.y/d-this.offset.y|0)-c+"px";b=2*c;a.style.width=b+"px";a.style.height=b+"px";return a}return!1},drawLineString:function(a,b){return this.drawLine(a,b,!1)},drawLinearRing:function(a,b){return this.drawLine(a,
+b,!0)},drawLine:function(a,b,c){this.setNodeDimension(a,b);for(var d=this.getResolution(),e=b.components.length,f=Array(e),g,h,k=0;k<e;k++)g=b.components[k],h=(g.x-this.featureDx)/d-this.offset.x|0,g=g.y/d-this.offset.y|0,f[k]=" "+h+","+g+" l ";b=c?" x e":" e";a.path="m"+f.join("")+b;return a},drawPolygon:function(a,b){this.setNodeDimension(a,b);var c=this.getResolution(),d=[],e,f,g;var h=0;for(e=b.components.length;h<e;h++){d.push("m");var k=b.components[h].components;var l=0===h;var m=f=null;var p=
+0;for(g=k.length;p<g;p++){var n=k[p];var q=(n.x-this.featureDx)/c-this.offset.x|0;n=n.y/c-this.offset.y|0;q=" "+q+","+n;d.push(q);0==p&&d.push(" l");l||(f?f!=q&&(m?m!=q&&(l=!0):m=q):f=q)}d.push(l?" x ":" ")}d.push("e");a.path=d.join("");return a},drawRectangle:function(a,b){var c=this.getResolution();a.style.left=((b.x-this.featureDx)/c-this.offset.x|0)+"px";a.style.top=(b.y/c-this.offset.y|0)+"px";a.style.width=(b.width/c|0)+"px";a.style.height=(b.height/c|0)+"px";return a},drawText:function(a,b,
+c){var d=this.nodeFactory(a+this.LABEL_ID_SUFFIX,"olv:rect"),e=this.nodeFactory(a+this.LABEL_ID_SUFFIX+"_textbox","olv:textbox"),f=this.getResolution();d.style.left=((c.x-this.featureDx)/f-this.offset.x|0)+"px";d.style.top=(c.y/f-this.offset.y|0)+"px";d.style.flip="y";e.innerText=b.label;"inherit"!=b.cursor&&null!=b.cursor&&(e.style.cursor=b.cursor);b.fontColor&&(e.style.color=b.fontColor);b.fontOpacity&&(e.style.filter="alpha(opacity="+100*b.fontOpacity+")");b.fontFamily&&(e.style.fontFamily=b.fontFamily);
+b.fontSize&&(e.style.fontSize=b.fontSize);b.fontWeight&&(e.style.fontWeight=b.fontWeight);b.fontStyle&&(e.style.fontStyle=b.fontStyle);!0===b.labelSelect&&(d._featureId=a,e._featureId=a,e._geometry=c,e._geometryClass=c.CLASS_NAME);e.style.whiteSpace="nowrap";e.inset="1px,0px,0px,0px";d.parentNode||(d.appendChild(e),this.textRoot.appendChild(d));b=b.labelAlign||"cm";1==b.length&&(b+="m");a=e.clientWidth*OpenLayers.Renderer.VML.LABEL_SHIFT[b.substr(0,1)];e=e.clientHeight*OpenLayers.Renderer.VML.LABEL_SHIFT[b.substr(1,
+1)];d.style.left=parseInt(d.style.left)-a-1+"px";d.style.top=parseInt(d.style.top)+e+"px"},moveRoot:function(a){var b=this.map.getLayer(a.container.id);b instanceof OpenLayers.Layer.Vector.RootContainer&&(b=this.map.getLayer(this.container.id));b&&b.renderer.clear();OpenLayers.Renderer.Elements.prototype.moveRoot.apply(this,arguments);b&&b.redraw()},importSymbol:function(a){var b=this.container.id+"-"+a,c=this.symbolCache[b];if(c)return c;c=OpenLayers.Renderer.symbol[a];if(!c)throw Error(a+" is not a valid symbol name");
+a=new OpenLayers.Bounds(Number.MAX_VALUE,Number.MAX_VALUE,0,0);for(var d=["m"],e=0;e<c.length;e+=2){var f=c[e],g=c[e+1];a.left=Math.min(a.left,f);a.bottom=Math.min(a.bottom,g);a.right=Math.max(a.right,f);a.top=Math.max(a.top,g);d.push(f);d.push(g);0==e&&d.push("l")}d.push("x e");c=d.join(" ");d=(a.getWidth()-a.getHeight())/2;0<d?(a.bottom-=d,a.top+=d):(a.left+=d,a.right-=d);c={path:c,size:a.getWidth(),left:a.left,bottom:a.bottom};return this.symbolCache[b]=c},CLASS_NAME:"OpenLayers.Renderer.VML"});
+OpenLayers.Renderer.VML.LABEL_SHIFT={l:0,c:.5,r:1,t:0,m:.5,b:1};OpenLayers.Renderer.SVG=OpenLayers.Class(OpenLayers.Renderer.Elements,{xmlns:"http://www.w3.org/2000/svg",xlinkns:"http://www.w3.org/1999/xlink",MAX_PIXEL:15E3,translationParameters:null,symbolMetrics:null,initialize:function(a){this.supported()&&(OpenLayers.Renderer.Elements.prototype.initialize.apply(this,arguments),this.translationParameters={x:0,y:0},this.symbolMetrics={})},supported:function(){return document.implementation&&(document.implementation.hasFeature("org.w3c.svg","1.0")||document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#SVG",
+"1.1")||document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1"))},inValidRange:function(a,b,c){a+=c?0:this.translationParameters.x;b+=c?0:this.translationParameters.y;return a>=-this.MAX_PIXEL&&a<=this.MAX_PIXEL&&b>=-this.MAX_PIXEL&&b<=this.MAX_PIXEL},setExtent:function(a,b){var c=OpenLayers.Renderer.Elements.prototype.setExtent.apply(this,arguments),d=this.getResolution(),e=-a.left/d;d=a.top/d;if(b)return this.left=e,this.top=d,this.rendererRoot.setAttributeNS(null,
+"viewBox","0 0 "+this.size.w+" "+this.size.h),this.translate(this.xOffset,0),!0;(e=this.translate(e-this.left+this.xOffset,d-this.top))||this.setExtent(a,!0);return c&&e},translate:function(a,b){if(this.inValidRange(a,b,!0)){var c="";if(a||b)c="translate("+a+","+b+")";this.root.setAttributeNS(null,"transform",c);this.translationParameters={x:a,y:b};return!0}return!1},setSize:function(a){OpenLayers.Renderer.prototype.setSize.apply(this,arguments);this.rendererRoot.setAttributeNS(null,"width",this.size.w);
+this.rendererRoot.setAttributeNS(null,"height",this.size.h)},getNodeType:function(a,b){var c=null;switch(a.CLASS_NAME){case "OpenLayers.Geometry.Point":c=b.externalGraphic?"image":this.isComplexSymbol(b.graphicName)?"svg":"circle";break;case "OpenLayers.Geometry.Rectangle":c="rect";break;case "OpenLayers.Geometry.LineString":c="polyline";break;case "OpenLayers.Geometry.LinearRing":c="polygon";break;case "OpenLayers.Geometry.Polygon":case "OpenLayers.Geometry.Curve":c="path"}return c},setStyle:function(a,
+b,c){b=b||a._style;c=c||a._options;var d=b.title||b.graphicTitle;if(d){a.setAttributeNS(null,"title",d);var e=a.getElementsByTagName("title");0<e.length?e[0].firstChild.textContent=d:(e=this.nodeFactory(null,"title"),e.textContent=d,a.appendChild(e))}e=parseFloat(a.getAttributeNS(null,"r"));d=1;if("OpenLayers.Geometry.Point"==a._geometryClass&&e){a.style.visibility="";if(!1===b.graphic)a.style.visibility="hidden";else if(b.externalGraphic){var f=this.getPosition(a);b.graphicWidth&&b.graphicHeight&&
+a.setAttributeNS(null,"preserveAspectRatio","none");e=b.graphicWidth||b.graphicHeight;var g=b.graphicHeight||b.graphicWidth;e=e?e:2*b.pointRadius;g=g?g:2*b.pointRadius;var h=void 0!=b.graphicYOffset?b.graphicYOffset:-(.5*g),k=b.graphicOpacity||b.fillOpacity;a.setAttributeNS(null,"x",(f.x+(void 0!=b.graphicXOffset?b.graphicXOffset:-(.5*e))).toFixed());a.setAttributeNS(null,"y",(f.y+h).toFixed());a.setAttributeNS(null,"width",e);a.setAttributeNS(null,"height",g);a.setAttributeNS(this.xlinkns,"xlink:href",
+b.externalGraphic);a.setAttributeNS(null,"style","opacity: "+k);a.onclick=OpenLayers.Event.preventDefault}else if(this.isComplexSymbol(b.graphicName)){e=3*b.pointRadius;g=2*e;var l=this.importSymbol(b.graphicName);f=this.getPosition(a);d=3*this.symbolMetrics[l.id][0]/g;h=a.parentNode;k=a.nextSibling;h&&h.removeChild(a);a.firstChild&&a.removeChild(a.firstChild);a.appendChild(l.firstChild.cloneNode(!0));a.setAttributeNS(null,"viewBox",l.getAttributeNS(null,"viewBox"));a.setAttributeNS(null,"width",
+g);a.setAttributeNS(null,"height",g);a.setAttributeNS(null,"x",f.x-e);a.setAttributeNS(null,"y",f.y-e);k?h.insertBefore(a,k):h&&h.appendChild(a)}else a.setAttributeNS(null,"r",b.pointRadius);e=b.rotation;void 0===e&&void 0===a._rotation||!f||(a._rotation=e,e|=0,"svg"!==a.nodeName?a.setAttributeNS(null,"transform","rotate("+e+" "+f.x+" "+f.y+")"):(l=this.symbolMetrics[l.id],a.firstChild.setAttributeNS(null,"transform","rotate("+e+" "+l[1]+" "+l[2]+")")))}c.isFilled?(a.setAttributeNS(null,"fill",b.fillColor),
+a.setAttributeNS(null,"fill-opacity",b.fillOpacity)):a.setAttributeNS(null,"fill","none");c.isStroked?(a.setAttributeNS(null,"stroke",b.strokeColor),a.setAttributeNS(null,"stroke-opacity",b.strokeOpacity),a.setAttributeNS(null,"stroke-width",b.strokeWidth*d),a.setAttributeNS(null,"stroke-linecap",b.strokeLinecap||"round"),a.setAttributeNS(null,"stroke-linejoin","round"),b.strokeDashstyle&&a.setAttributeNS(null,"stroke-dasharray",this.dashStyle(b,d))):a.setAttributeNS(null,"stroke","none");b.pointerEvents&&
+a.setAttributeNS(null,"pointer-events",b.pointerEvents);null!=b.cursor&&a.setAttributeNS(null,"cursor",b.cursor);return a},dashStyle:function(a,b){b*=a.strokeWidth;a=a.strokeDashstyle;switch(a){case "solid":return"none";case "dot":return[1,4*b].join();case "dash":return[4*b,4*b].join();case "dashdot":return[4*b,4*b,1,4*b].join();case "longdash":return[8*b,4*b].join();case "longdashdot":return[8*b,4*b,1,4*b].join();default:return OpenLayers.String.trim(a).replace(/\s+/g,",")}},createNode:function(a,
+b){a=document.createElementNS(this.xmlns,a);b&&a.setAttributeNS(null,"id",b);return a},nodeTypeCompare:function(a,b){return b==a.nodeName},createRenderRoot:function(){var a=this.nodeFactory(this.container.id+"_svgRoot","svg");a.style.display="block";return a},createRoot:function(a){return this.nodeFactory(this.container.id+a,"g")},createDefs:function(){var a=this.nodeFactory(this.container.id+"_defs","defs");this.rendererRoot.appendChild(a);return a},drawPoint:function(a,b){return this.drawCircle(a,
+b,1)},drawCircle:function(a,b,c){var d=this.getResolution(),e=(b.x-this.featureDx)/d+this.left;b=this.top-b.y/d;return this.inValidRange(e,b)?(a.setAttributeNS(null,"cx",e),a.setAttributeNS(null,"cy",b),a.setAttributeNS(null,"r",c),a):!1},drawLineString:function(a,b){b=this.getComponentsString(b.components);return b.path?(a.setAttributeNS(null,"points",b.path),b.complete?a:null):!1},drawLinearRing:function(a,b){b=this.getComponentsString(b.components);return b.path?(a.setAttributeNS(null,"points",
+b.path),b.complete?a:null):!1},drawPolygon:function(a,b){for(var c="",d=!0,e=!0,f,g,h=0,k=b.components.length;h<k;h++)c+=" M",f=this.getComponentsString(b.components[h].components," "),(g=f.path)?(c+=" "+g,e=f.complete&&e):d=!1;return d?(a.setAttributeNS(null,"d",c+" z"),a.setAttributeNS(null,"fill-rule","evenodd"),e?a:null):!1},drawRectangle:function(a,b){var c=this.getResolution(),d=(b.x-this.featureDx)/c+this.left,e=this.top-b.y/c;return this.inValidRange(d,e)?(a.setAttributeNS(null,"x",d),a.setAttributeNS(null,
+"y",e),a.setAttributeNS(null,"width",b.width/c),a.setAttributeNS(null,"height",b.height/c),a):!1},drawText:function(a,b,c){var d=!!b.labelOutlineWidth;if(d){var e=OpenLayers.Util.extend({},b);e.fontColor=e.labelOutlineColor;e.fontStrokeColor=e.labelOutlineColor;e.fontStrokeWidth=b.labelOutlineWidth;b.labelOutlineOpacity&&(e.fontOpacity=b.labelOutlineOpacity);delete e.labelOutlineWidth;this.drawText(a,e,c)}var f=this.getResolution();e=(c.x-this.featureDx)/f+this.left;var g=c.y/f-this.top;d=d?this.LABEL_OUTLINE_SUFFIX:
+this.LABEL_ID_SUFFIX;f=this.nodeFactory(a+d,"text");f.setAttributeNS(null,"x",e);f.setAttributeNS(null,"y",-g);b.fontColor&&f.setAttributeNS(null,"fill",b.fontColor);b.fontStrokeColor&&f.setAttributeNS(null,"stroke",b.fontStrokeColor);b.fontStrokeWidth&&f.setAttributeNS(null,"stroke-width",b.fontStrokeWidth);b.fontOpacity&&f.setAttributeNS(null,"opacity",b.fontOpacity);b.fontFamily&&f.setAttributeNS(null,"font-family",b.fontFamily);b.fontSize&&f.setAttributeNS(null,"font-size",b.fontSize);b.fontWeight&&
+f.setAttributeNS(null,"font-weight",b.fontWeight);b.fontStyle&&f.setAttributeNS(null,"font-style",b.fontStyle);!0===b.labelSelect?(f.setAttributeNS(null,"pointer-events","visible"),f._featureId=a):f.setAttributeNS(null,"pointer-events","none");g=b.labelAlign||OpenLayers.Renderer.defaultSymbolizer.labelAlign;f.setAttributeNS(null,"text-anchor",OpenLayers.Renderer.SVG.LABEL_ALIGN[g[0]]||"middle");!0===OpenLayers.IS_GECKO&&f.setAttributeNS(null,"dominant-baseline",OpenLayers.Renderer.SVG.LABEL_ALIGN[g[1]]||
+"central");for(var h=b.label.split("\n"),k=h.length;f.childNodes.length>k;)f.removeChild(f.lastChild);for(var l=0;l<k;l++){var m=this.nodeFactory(a+d+"_tspan_"+l,"tspan");!0===b.labelSelect&&(m._featureId=a,m._geometry=c,m._geometryClass=c.CLASS_NAME);!1===OpenLayers.IS_GECKO&&m.setAttributeNS(null,"baseline-shift",OpenLayers.Renderer.SVG.LABEL_VSHIFT[g[1]]||"-35%");m.setAttribute("x",e);if(0==l){var p=OpenLayers.Renderer.SVG.LABEL_VFACTOR[g[1]];null==p&&(p=-.5);m.setAttribute("dy",p*(k-1)+"em")}else m.setAttribute("dy",
+"1em");m.textContent=""===h[l]?" ":h[l];m.parentNode||f.appendChild(m)}f.parentNode||this.textRoot.appendChild(f)},getComponentsString:function(a,b){for(var c=[],d=!0,e=a.length,f=[],g,h=0;h<e;h++)g=a[h],c.push(g),(g=this.getShortString(g))?f.push(g):(0<h&&this.getShortString(a[h-1])&&f.push(this.clipLine(a[h],a[h-1])),h<e-1&&this.getShortString(a[h+1])&&f.push(this.clipLine(a[h],a[h+1])),d=!1);return{path:f.join(b||","),complete:d}},clipLine:function(a,b){if(b.equals(a))return"";var c=this.getResolution(),
+d=this.MAX_PIXEL-this.translationParameters.x,e=this.MAX_PIXEL-this.translationParameters.y,f=(b.x-this.featureDx)/c+this.left;b=this.top-b.y/c;var g=(a.x-this.featureDx)/c+this.left;a=this.top-a.y/c;if(g<-d||g>d)c=(a-b)/(g-f),g=0>g?-d:d,a=b+(g-f)*c;if(a<-e||a>e)c=(g-f)/(a-b),a=0>a?-e:e,g=f+(a-b)*c;return g+","+a},getShortString:function(a){var b=this.getResolution(),c=(a.x-this.featureDx)/b+this.left;a=this.top-a.y/b;return this.inValidRange(c,a)?c+","+a:!1},getPosition:function(a){return{x:parseFloat(a.getAttributeNS(null,
+"cx")),y:parseFloat(a.getAttributeNS(null,"cy"))}},importSymbol:function(a){this.defs||(this.defs=this.createDefs());var b=this.container.id+"-"+a,c=document.getElementById(b);if(null!=c)return c;var d=OpenLayers.Renderer.symbol[a];if(!d)throw Error(a+" is not a valid symbol name");a=this.nodeFactory(b,"symbol");var e=this.nodeFactory(null,"polygon");a.appendChild(e);c=new OpenLayers.Bounds(Number.MAX_VALUE,Number.MAX_VALUE,0,0);for(var f=[],g,h,k=0;k<d.length;k+=2)g=d[k],h=d[k+1],c.left=Math.min(c.left,
+g),c.bottom=Math.min(c.bottom,h),c.right=Math.max(c.right,g),c.top=Math.max(c.top,h),f.push(g,",",h);e.setAttributeNS(null,"points",f.join(" "));d=c.getWidth();e=c.getHeight();a.setAttributeNS(null,"viewBox",[c.left-d,c.bottom-e,3*d,3*e].join(" "));this.symbolMetrics[b]=[Math.max(d,e),c.getCenterLonLat().lon,c.getCenterLonLat().lat];this.defs.appendChild(a);return a},getFeatureIdFromEvent:function(a){var b=OpenLayers.Renderer.Elements.prototype.getFeatureIdFromEvent.apply(this,arguments);b||(b=a.target,
+b=b.parentNode&&b!=this.rendererRoot?b.parentNode._featureId:void 0);return b},CLASS_NAME:"OpenLayers.Renderer.SVG"});OpenLayers.Renderer.SVG.LABEL_ALIGN={l:"start",r:"end",b:"bottom",t:"hanging"};OpenLayers.Renderer.SVG.LABEL_VSHIFT={t:"-70%",b:"0"};OpenLayers.Renderer.SVG.LABEL_VFACTOR={t:0,b:-1};OpenLayers.Renderer.SVG.preventDefault=function(a){OpenLayers.Event.preventDefault(a)};OpenLayers.Layer.HTTPRequest=OpenLayers.Class(OpenLayers.Layer,{URL_HASH_FACTOR:(Math.sqrt(5)-1)/2,url:null,params:null,reproject:!1,initialize:function(a,b,c,d){OpenLayers.Layer.prototype.initialize.apply(this,[a,d]);this.url=b;this.params||(this.params=OpenLayers.Util.extend({},c))},destroy:function(){this.params=this.url=null;OpenLayers.Layer.prototype.destroy.apply(this,arguments)},clone:function(a){null==a&&(a=new OpenLayers.Layer.HTTPRequest(this.name,this.url,this.params,this.getOptions()));
+return a=OpenLayers.Layer.prototype.clone.apply(this,[a])},setUrl:function(a){this.url=a},mergeNewParams:function(a){this.params=OpenLayers.Util.extend(this.params,a);a=this.redraw();null!=this.map&&this.map.events.triggerEvent("changelayer",{layer:this,property:"params"});return a},redraw:function(a){return a?(this.events.triggerEvent("refresh"),this.mergeNewParams({_olSalt:Math.random()})):OpenLayers.Layer.prototype.redraw.apply(this,[])},selectUrl:function(a,b){for(var c=1,d=0,e=a.length;d<e;d++)c*=
+a.charCodeAt(d)*this.URL_HASH_FACTOR,c-=Math.floor(c);return b[Math.floor(c*b.length)]},getFullRequestString:function(a,b){b=b||this.url;var c=OpenLayers.Util.extend({},this.params);c=OpenLayers.Util.extend(c,a);a=OpenLayers.Util.getParameterString(c);OpenLayers.Util.isArray(b)&&(b=this.selectUrl(a,b));a=OpenLayers.Util.upperCaseObject(OpenLayers.Util.getParameters(b));for(var d in c)d.toUpperCase()in a&&delete c[d];a=OpenLayers.Util.getParameterString(c);return OpenLayers.Util.urlAppend(b,a)},CLASS_NAME:"OpenLayers.Layer.HTTPRequest"});OpenLayers.Tile=OpenLayers.Class({events:null,eventListeners:null,id:null,layer:null,url:null,bounds:null,size:null,position:null,isLoading:!1,initialize:function(a,b,c,d,e,f){this.layer=a;this.position=b.clone();this.setBounds(c);this.url=d;e&&(this.size=e.clone());this.id=OpenLayers.Util.createUniqueID("Tile_");OpenLayers.Util.extend(this,f);this.events=new OpenLayers.Events(this);if(this.eventListeners instanceof Object)this.events.on(this.eventListeners)},unload:function(){this.isLoading&&(this.isLoading=
+!1,this.events.triggerEvent("unload"))},destroy:function(){this.position=this.size=this.bounds=this.layer=null;this.eventListeners&&this.events.un(this.eventListeners);this.events.destroy();this.events=this.eventListeners=null},draw:function(a){a||this.clear();var b=this.shouldDraw();b&&!a&&!1===this.events.triggerEvent("beforedraw")&&(b=null);return b},shouldDraw:function(){var a=!1,b=this.layer.maxExtent;if(b){var c=this.layer.map;c=c.baseLayer.wrapDateLine&&c.getMaxExtent();this.bounds.intersectsBounds(b,
+{inclusive:!1,worldBounds:c})&&(a=!0)}return a||this.layer.displayOutsideMaxExtent},setBounds:function(a){a=a.clone();if(this.layer.map.baseLayer.wrapDateLine){var b=this.layer.map.getMaxExtent(),c=this.layer.map.getResolution();a=a.wrapDateLine(b,{leftTolerance:c,rightTolerance:c})}this.bounds=a},moveTo:function(a,b,c){null==c&&(c=!0);this.setBounds(a);this.position=b.clone();c&&this.draw()},clear:function(a){},CLASS_NAME:"OpenLayers.Tile"});OpenLayers.Tile.Image=OpenLayers.Class(OpenLayers.Tile,{url:null,imgDiv:null,frame:null,imageReloadAttempts:null,layerAlphaHack:null,asyncRequestId:null,maxGetUrlLength:null,canvasContext:null,crossOriginKeyword:null,initialize:function(a,b,c,d,e,f){OpenLayers.Tile.prototype.initialize.apply(this,arguments);this.url=d;this.layerAlphaHack=this.layer.alpha&&OpenLayers.Util.alphaHack();if(null!=this.maxGetUrlLength||this.layer.gutter||this.layerAlphaHack)this.frame=document.createElement("div"),this.frame.style.position=
+"absolute",this.frame.style.overflow="hidden";null!=this.maxGetUrlLength&&OpenLayers.Util.extend(this,OpenLayers.Tile.Image.IFrame)},destroy:function(){this.imgDiv&&(this.clear(),this.frame=this.imgDiv=null);this.asyncRequestId=null;OpenLayers.Tile.prototype.destroy.apply(this,arguments)},draw:function(){var a=OpenLayers.Tile.prototype.draw.apply(this,arguments);a?(this.layer!=this.layer.map.baseLayer&&this.layer.reproject&&(this.bounds=this.getBoundsFromBaseLayer(this.position)),this.isLoading?this._loadEvent=
+"reload":(this.isLoading=!0,this._loadEvent="loadstart"),this.renderTile(),this.positionTile()):!1===a&&this.unload();return a},renderTile:function(){if(this.layer.async){var a=this.asyncRequestId=(this.asyncRequestId||0)+1;this.layer.getURLasync(this.bounds,function(b){a==this.asyncRequestId&&(this.url=b,this.initImage())},this)}else this.url=this.layer.getURL(this.bounds),this.initImage()},positionTile:function(){var a=this.getTile().style,b=this.frame?this.size:this.layer.getImageSize(this.bounds),
+c=1;this.layer instanceof OpenLayers.Layer.Grid&&(c=this.layer.getServerResolution()/this.layer.map.getResolution());a.left=this.position.x+"px";a.top=this.position.y+"px";a.width=Math.round(c*b.w)+"px";a.height=Math.round(c*b.h)+"px"},clear:function(){OpenLayers.Tile.prototype.clear.apply(this,arguments);var a=this.imgDiv;if(a){var b=this.getTile();b.parentNode===this.layer.div&&this.layer.div.removeChild(b);this.setImgSrc();!0===this.layerAlphaHack&&(a.style.filter="");OpenLayers.Element.removeClass(a,
+"olImageLoadError")}this.canvasContext=null},getImage:function(){if(!this.imgDiv){this.imgDiv=OpenLayers.Tile.Image.IMAGE.cloneNode(!1);var a=this.imgDiv.style;if(this.frame){var b=0,c=0;this.layer.gutter&&(b=this.layer.gutter/this.layer.tileSize.w*100,c=this.layer.gutter/this.layer.tileSize.h*100);a.left=-b+"%";a.top=-c+"%";a.width=2*b+100+"%";a.height=2*c+100+"%"}a.visibility="hidden";a.opacity=0;1>this.layer.opacity&&(a.filter="alpha(opacity="+100*this.layer.opacity+")");a.position="absolute";
+this.layerAlphaHack&&(a.paddingTop=a.height,a.height="0",a.width="100%");this.frame&&this.frame.appendChild(this.imgDiv)}return this.imgDiv},setImage:function(a){this.imgDiv=a},initImage:function(){if(this.url||this.imgDiv){this.events.triggerEvent("beforeload");this.layer.div.appendChild(this.getTile());this.events.triggerEvent(this._loadEvent);var a=this.getImage(),b=a.getAttribute("src")||"";this.url&&OpenLayers.Util.isEquivalentUrl(b,this.url)?this._loadTimeout=window.setTimeout(OpenLayers.Function.bind(this.onImageLoad,
+this),0):(this.stopLoading(),this.crossOriginKeyword&&a.removeAttribute("crossorigin"),OpenLayers.Event.observe(a,"load",OpenLayers.Function.bind(this.onImageLoad,this)),OpenLayers.Event.observe(a,"error",OpenLayers.Function.bind(this.onImageError,this)),this.imageReloadAttempts=0,this.setImgSrc(this.url))}else this.isLoading=!1},setImgSrc:function(a){var b=this.imgDiv;a?(b.style.visibility="hidden",b.style.opacity=0,this.crossOriginKeyword&&("data:"!==a.substr(0,5)?b.setAttribute("crossorigin",this.crossOriginKeyword):
+b.removeAttribute("crossorigin")),b.src=a):(this.stopLoading(),this.imgDiv=null,b.parentNode&&b.parentNode.removeChild(b))},getTile:function(){return this.frame?this.frame:this.getImage()},createBackBuffer:function(){if(this.imgDiv&&!this.isLoading){if(this.frame){var a=this.frame.cloneNode(!1);a.appendChild(this.imgDiv)}else a=this.imgDiv;this.imgDiv=null;return a}},onImageLoad:function(){var a=this.imgDiv;this.stopLoading();a.style.visibility="inherit";a.style.opacity=this.layer.opacity;this.isLoading=
+!1;this.canvasContext=null;this.events.triggerEvent("loadend");!0===this.layerAlphaHack&&(a.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+a.src+"', sizingMethod='scale')")},onImageError:function(){var a=this.imgDiv;null!=a.src&&(this.imageReloadAttempts++,this.imageReloadAttempts<=OpenLayers.IMAGE_RELOAD_ATTEMPTS?this.setImgSrc(this.layer.getURL(this.bounds)):(OpenLayers.Element.addClass(a,"olImageLoadError"),this.events.triggerEvent("loaderror"),this.onImageLoad()))},stopLoading:function(){OpenLayers.Event.stopObservingElement(this.imgDiv);
+window.clearTimeout(this._loadTimeout);delete this._loadTimeout},getCanvasContext:function(){if(OpenLayers.CANVAS_SUPPORTED&&this.imgDiv&&!this.isLoading){if(!this.canvasContext){var a=document.createElement("canvas");a.width=this.size.w;a.height=this.size.h;this.canvasContext=a.getContext("2d");this.canvasContext.drawImage(this.imgDiv,0,0)}return this.canvasContext}},CLASS_NAME:"OpenLayers.Tile.Image"});
+OpenLayers.Tile.Image.IMAGE=function(){var a=new Image;a.className="olTileImage";a.galleryImg="no";return a}();OpenLayers.Layer.Grid=OpenLayers.Class(OpenLayers.Layer.HTTPRequest,{tileSize:null,tileOriginCorner:"bl",tileOrigin:null,tileOptions:null,tileClass:OpenLayers.Tile.Image,grid:null,singleTile:!1,ratio:1.5,buffer:0,transitionEffect:"resize",numLoadingTiles:0,serverResolutions:null,loading:!1,backBuffer:null,gridResolution:null,backBufferResolution:null,backBufferLonLat:null,backBufferTimerId:null,removeBackBufferDelay:null,className:null,gridLayout:null,rowSign:null,transitionendEvents:["transitionend",
+"webkitTransitionEnd","otransitionend","oTransitionEnd"],initialize:function(a,b,c,d){OpenLayers.Layer.HTTPRequest.prototype.initialize.apply(this,arguments);this.grid=[];this._removeBackBuffer=OpenLayers.Function.bind(this.removeBackBuffer,this);this.initProperties();this.rowSign="t"===this.tileOriginCorner.substr(0,1)?1:-1},initProperties:function(){void 0===this.options.removeBackBufferDelay&&(this.removeBackBufferDelay=this.singleTile?0:2500);void 0===this.options.className&&(this.className=this.singleTile?
+"olLayerGridSingleTile":"olLayerGrid")},setMap:function(a){OpenLayers.Layer.HTTPRequest.prototype.setMap.call(this,a);OpenLayers.Element.addClass(this.div,this.className)},removeMap:function(a){this.removeBackBuffer()},destroy:function(){this.removeBackBuffer();this.clearGrid();this.tileSize=this.grid=null;OpenLayers.Layer.HTTPRequest.prototype.destroy.apply(this,arguments)},clearGrid:function(){if(this.grid){for(var a=0,b=this.grid.length;a<b;a++)for(var c=this.grid[a],d=0,e=c.length;d<e;d++)this.destroyTile(c[d]);
+this.grid=[];this.gridLayout=this.gridResolution=null}},addOptions:function(a,b){var c=void 0!==a.singleTile&&a.singleTile!==this.singleTile;OpenLayers.Layer.HTTPRequest.prototype.addOptions.apply(this,arguments);this.map&&c&&(this.initProperties(),this.clearGrid(),this.tileSize=this.options.tileSize,this.setTileSize(),this.visibility&&this.moveTo(null,!0))},clone:function(a){null==a&&(a=new OpenLayers.Layer.Grid(this.name,this.url,this.params,this.getOptions()));a=OpenLayers.Layer.HTTPRequest.prototype.clone.apply(this,
+[a]);null!=this.tileSize&&(a.tileSize=this.tileSize.clone());a.grid=[];a.gridResolution=null;a.backBuffer=null;a.backBufferTimerId=null;a.loading=!1;a.numLoadingTiles=0;return a},moveTo:function(a,b,c){OpenLayers.Layer.HTTPRequest.prototype.moveTo.apply(this,arguments);a=a||this.map.getExtent();if(null!=a){var d=!this.grid.length||b,e=this.getTilesBounds(),f=this.map.getResolution();this.getServerResolution(f);if(this.singleTile){if(d||!c&&!e.containsBounds(a))b&&"resize"!==this.transitionEffect&&
+this.removeBackBuffer(),b&&"resize"!==this.transitionEffect||this.applyBackBuffer(f),this.initSingleTile(a)}else(d=d||!e.intersectsBounds(a,{worldBounds:this.map.baseLayer.wrapDateLine&&this.map.getMaxExtent()}))?(!b||"resize"!==this.transitionEffect&&this.gridResolution!==f||this.applyBackBuffer(f),this.initGriddedTiles(a)):this.moveGriddedTiles()}},getTileData:function(a){var b=null,c=a.lon,d=a.lat,e=this.grid.length;if(this.map&&e){var f=this.map.getResolution();a=this.tileSize.w;var g=this.tileSize.h,
+h=this.grid[0][0].bounds,k=h.left;h=h.top;if(c<k&&this.map.baseLayer.wrapDateLine){var l=this.map.getMaxExtent().getWidth();c+=l*Math.ceil((k-c)/l)}c=(c-k)/(f*a);d=(h-d)/(f*g);f=Math.floor(c);k=Math.floor(d);0<=k&&k<e&&(e=this.grid[k][f])&&(b={tile:e,i:Math.floor((c-f)*a),j:Math.floor((d-k)*g)})}return b},destroyTile:function(a){this.removeTileMonitoringHooks(a);a.destroy()},getServerResolution:function(a){var b=Number.POSITIVE_INFINITY;a=a||this.map.getResolution();if(this.serverResolutions&&-1===
+OpenLayers.Util.indexOf(this.serverResolutions,a)){var c;for(c=this.serverResolutions.length-1;0<=c;c--){var d=this.serverResolutions[c];var e=Math.abs(d-a);if(e>b)break;b=e;var f=d}a=f}return a},getServerZoom:function(){var a=this.getServerResolution();return this.serverResolutions?OpenLayers.Util.indexOf(this.serverResolutions,a):this.map.getZoomForResolution(a)+(this.zoomOffset||0)},applyBackBuffer:function(a){null!==this.backBufferTimerId&&this.removeBackBuffer();var b=this.backBuffer;if(!b){b=
+this.createBackBuffer();if(!b)return;a===this.gridResolution?this.div.insertBefore(b,this.div.firstChild):this.map.baseLayer.div.parentNode.insertBefore(b,this.map.baseLayer.div);this.backBuffer=b;var c=this.grid[0][0].bounds;this.backBufferLonLat={lon:c.left,lat:c.top};this.backBufferResolution=this.gridResolution}c=this.backBufferResolution/a;for(var d=b.childNodes,e,f=d.length-1;0<=f;--f)e=d[f],e.style.top=(c*e._i*b._th|0)+"px",e.style.left=(c*e._j*b._tw|0)+"px",e.style.width=Math.round(c*e._w)+
+"px",e.style.height=Math.round(c*e._h)+"px";a=this.getViewPortPxFromLonLat(this.backBufferLonLat,a);c=this.map.layerContainerOriginPx.y;b.style.left=Math.round(a.x-this.map.layerContainerOriginPx.x)+"px";b.style.top=Math.round(a.y-c)+"px"},createBackBuffer:function(){if(0<this.grid.length){var a=document.createElement("div");a.id=this.div.id+"_bb";a.className="olBackBuffer";a.style.position="absolute";var b=this.map;a.style.zIndex="resize"===this.transitionEffect?this.getZIndex()-1:b.Z_INDEX_BASE.BaseLayer-
+(b.getNumLayers()-b.getLayerIndex(this));b=0;for(var c=this.grid.length;b<c;b++)for(var d=0,e=this.grid[b].length;d<e;d++){var f=this.grid[b][d],g=this.grid[b][d].createBackBuffer();g&&(g._i=b,g._j=d,g._w=this.singleTile?this.getImageSize(f.bounds).w:f.size.w,g._h=f.size.h,g.id=f.id+"_bb",a.appendChild(g))}a._tw=this.tileSize.w;a._th=this.tileSize.h}return a},removeBackBuffer:function(){if(this._transitionElement){for(var a=this.transitionendEvents.length-1;0<=a;--a)OpenLayers.Event.stopObserving(this._transitionElement,
+this.transitionendEvents[a],this._removeBackBuffer);delete this._transitionElement}this.backBuffer&&(this.backBuffer.parentNode&&this.backBuffer.parentNode.removeChild(this.backBuffer),this.backBufferResolution=this.backBuffer=null,null!==this.backBufferTimerId&&(window.clearTimeout(this.backBufferTimerId),this.backBufferTimerId=null))},moveByPx:function(a,b){this.singleTile||this.moveGriddedTiles()},setTileSize:function(a){this.singleTile&&(a=this.map.getSize(),a.h=parseInt(a.h*this.ratio,10),a.w=
+parseInt(a.w*this.ratio,10));OpenLayers.Layer.HTTPRequest.prototype.setTileSize.apply(this,[a])},getTilesBounds:function(){var a=null,b=this.grid.length;if(b){a=this.grid[b-1][0].bounds;b=this.grid[0].length*a.getWidth();var c=this.grid.length*a.getHeight();a=new OpenLayers.Bounds(a.left,a.bottom,a.left+b,a.bottom+c)}return a},initSingleTile:function(a){this.events.triggerEvent("retile");var b=a.getCenterLonLat(),c=a.getWidth()*this.ratio;a=a.getHeight()*this.ratio;b=new OpenLayers.Bounds(b.lon-c/
+2,b.lat-a/2,b.lon+c/2,b.lat+a/2);this.gridResolution=this.getServerResolution();(c=this.maxExtent)&&(!this.displayOutsideMaxExtent||this.map.baseLayer.wrapDateLine&&this.maxExtent.equals(this.map.getMaxExtent()))&&(b.left=Math.max(b.left,c.left),b.right=Math.min(b.right,c.right));c=this.map.getLayerPxFromLonLat({lon:b.left,lat:b.top});this.grid.length||(this.grid[0]=[]);(a=this.grid[0][0])?a.moveTo(b,c):(a=this.addTile(b,c),this.addTileMonitoringHooks(a),a.draw(),this.grid[0][0]=a);this.removeExcessTiles(1,
+1)},calculateGridLayout:function(a,b,c){var d=c*this.tileSize.w;c*=this.tileSize.h;var e=Math.floor((a.left-b.lon)/d)-this.buffer,f=this.rowSign;a=Math[~f?"floor":"ceil"](f*(b.lat-a.top+c)/c)-this.buffer*f;return{tilelon:d,tilelat:c,startcol:e,startrow:a}},getImageSize:function(a){var b=OpenLayers.Layer.HTTPRequest.prototype.getImageSize.apply(this,arguments);this.singleTile&&(b=new OpenLayers.Size(Math.round(a.getWidth()/this.gridResolution),b.h));return b},getTileOrigin:function(){var a=this.tileOrigin;
+if(!a){a=this.getMaxExtent();var b={tl:["left","top"],tr:["right","top"],bl:["left","bottom"],br:["right","bottom"]}[this.tileOriginCorner];a=new OpenLayers.LonLat(a[b[0]],a[b[1]])}return a},getTileBoundsForGridIndex:function(a,b){var c=this.getTileOrigin(),d=this.gridLayout,e=d.tilelon,f=d.tilelat,g=d.startcol;d=d.startrow;var h=this.rowSign;return new OpenLayers.Bounds(c.lon+(g+b)*e,c.lat-(d+a*h)*f*h,c.lon+(g+b+1)*e,c.lat-(d+(a-1)*h)*f*h)},initGriddedTiles:function(a){this.events.triggerEvent("retile");
+var b=this.map.getSize(),c=this.getTileOrigin(),d=this.map.getResolution(),e=this.getServerResolution(),f=d/e;d=this.tileSize.w/f;f=this.tileSize.h/f;var g=Math.ceil(b.h/f)+2*this.buffer+1;b=Math.ceil(b.w/d)+2*this.buffer+1;this.gridLayout=e=this.calculateGridLayout(a,c,e);c=e.tilelon;var h=e.tilelat;e=this.map.layerContainerOriginPx.x;var k=this.map.layerContainerOriginPx.y;var l=this.getTileBoundsForGridIndex(0,0),m=this.map.getViewPortPxFromLonLat(new OpenLayers.LonLat(l.left,l.top));m.x=Math.round(m.x)-
+e;m.y=Math.round(m.y)-k;e=[];var p=this.map.getCenter(),n=0;do{var q=this.grid[n];q||(q=[],this.grid.push(q));k=0;do{l=this.getTileBoundsForGridIndex(n,k);var r=m.clone();r.x+=k*Math.round(d);r.y+=n*Math.round(f);var t=q[k];t?t.moveTo(l,r,!1):(t=this.addTile(l,r),this.addTileMonitoringHooks(t),q.push(t));r=l.getCenterLonLat();e.push({tile:t,distance:Math.pow(r.lon-p.lon,2)+Math.pow(r.lat-p.lat,2)});k+=1}while(l.right<=a.right+c*this.buffer||k<b);n+=1}while(l.bottom>=a.bottom-h*this.buffer||n<g);this.removeExcessTiles(n,
+k);this.gridResolution=d=this.getServerResolution();e.sort(function(a,b){return a.distance-b.distance});a=0;for(d=e.length;a<d;++a)e[a].tile.draw()},getMaxExtent:function(){return this.maxExtent},addTile:function(a,b){a=new this.tileClass(this,b,a,null,this.tileSize,this.tileOptions);this.events.triggerEvent("addtile",{tile:a});return a},addTileMonitoringHooks:function(a){a.onLoadStart=function(){!1===this.loading&&(this.loading=!0,this.events.triggerEvent("loadstart"));this.events.triggerEvent("tileloadstart",
+{tile:a});this.numLoadingTiles++;!this.singleTile&&this.backBuffer&&this.gridResolution===this.backBufferResolution&&OpenLayers.Element.addClass(a.getTile(),"olTileReplacing")};a.onLoadEnd=function(b){this.numLoadingTiles--;b="unload"===b.type;this.events.triggerEvent("tileloaded",{tile:a,aborted:b});if(!this.singleTile&&!b&&this.backBuffer&&this.gridResolution===this.backBufferResolution){var c=a.getTile();if("none"===OpenLayers.Element.getStyle(c,"display")){var d=document.getElementById(a.id+"_bb");
+d&&d.parentNode.removeChild(d)}OpenLayers.Element.removeClass(c,"olTileReplacing")}if(0===this.numLoadingTiles){if(this.backBuffer)if(0===this.backBuffer.childNodes.length)this.removeBackBuffer();else{this._transitionElement=b?this.div.lastChild:a.imgDiv;b=this.transitionendEvents;for(c=b.length-1;0<=c;--c)OpenLayers.Event.observe(this._transitionElement,b[c],this._removeBackBuffer);this.backBufferTimerId=window.setTimeout(this._removeBackBuffer,this.removeBackBufferDelay)}this.loading=!1;this.events.triggerEvent("loadend")}};
+a.onLoadError=function(){this.events.triggerEvent("tileerror",{tile:a})};a.events.on({loadstart:a.onLoadStart,loadend:a.onLoadEnd,unload:a.onLoadEnd,loaderror:a.onLoadError,scope:this})},removeTileMonitoringHooks:function(a){a.unload();a.events.un({loadstart:a.onLoadStart,loadend:a.onLoadEnd,unload:a.onLoadEnd,loaderror:a.onLoadError,scope:this})},moveGriddedTiles:function(){for(var a=this.buffer+1;;){var b=this.grid[0][0],c=b.position.x+this.map.layerContainerOriginPx.x;b=b.position.y+this.map.layerContainerOriginPx.y;
+var d=this.getServerResolution()/this.map.getResolution();d={w:Math.round(this.tileSize.w*d),h:Math.round(this.tileSize.h*d)};if(c>-d.w*(a-1))this.shiftColumn(!0,d);else if(c<-d.w*a)this.shiftColumn(!1,d);else if(b>-d.h*(a-1))this.shiftRow(!0,d);else if(b<-d.h*a)this.shiftRow(!1,d);else break}},shiftRow:function(a,b){var c=this.grid,d=a?0:c.length-1,e=a?-1:1;this.gridLayout.startrow+=e*this.rowSign;for(var f=c[d],g=c[a?"pop":"shift"](),h=0,k=g.length;h<k;h++){var l=g[h],m=f[h].position.clone();m.y+=
+b.h*e;l.moveTo(this.getTileBoundsForGridIndex(d,h),m)}c[a?"unshift":"push"](g)},shiftColumn:function(a,b){var c=this.grid,d=a?0:c[0].length-1,e=a?-1:1;this.gridLayout.startcol+=e;for(var f=0,g=c.length;f<g;f++){var h=c[f],k=h[d].position.clone(),l=h[a?"pop":"shift"]();k.x+=b.w*e;l.moveTo(this.getTileBoundsForGridIndex(f,d),k);h[a?"unshift":"push"](l)}},removeExcessTiles:function(a,b){for(var c,d,e,f;this.grid.length>a;)for(d=this.grid.pop(),e=0,f=d.length;e<f;e++)c=d[e],this.destroyTile(c);e=0;for(f=
+this.grid.length;e<f;e++)for(;this.grid[e].length>b;)d=this.grid[e],c=d.pop(),this.destroyTile(c)},onMapResize:function(){this.singleTile&&(this.clearGrid(),this.setTileSize())},getTileBounds:function(a){var b=this.maxExtent,c=this.getResolution(),d=c*this.tileSize.w;c*=this.tileSize.h;var e=this.getLonLatFromViewPortPx(a);a=b.left+d*Math.floor((e.lon-b.left)/d);b=b.bottom+c*Math.floor((e.lat-b.bottom)/c);return new OpenLayers.Bounds(a,b,a+d,b+c)},CLASS_NAME:"OpenLayers.Layer.Grid"});OpenLayers.Layer.WMTS=OpenLayers.Class(OpenLayers.Layer.Grid,{isBaseLayer:!0,version:"1.0.0",requestEncoding:"KVP",url:null,layer:null,matrixSet:null,style:null,format:"image/jpeg",tileOrigin:null,tileFullExtent:null,formatSuffix:null,matrixIds:null,dimensions:null,params:null,zoomOffset:0,serverResolutions:null,formatSuffixMap:{"image/png":"png","image/png8":"png","image/png24":"png","image/png32":"png",png:"png","image/jpeg":"jpg","image/jpg":"jpg",jpeg:"jpg",jpg:"jpg"},matrix:null,initialize:function(a){var b=
+{url:!0,layer:!0,style:!0,matrixSet:!0},c;for(c in b)if(!(c in a))throw Error("Missing property '"+c+"' in layer configuration.");a.params=OpenLayers.Util.upperCaseObject(a.params);OpenLayers.Layer.Grid.prototype.initialize.apply(this,[a.name,a.url,a.params,a]);this.formatSuffix||(this.formatSuffix=this.formatSuffixMap[this.format]||this.format.split("/").pop());if(this.matrixIds&&(a=this.matrixIds.length)&&"string"===typeof this.matrixIds[0])for(b=this.matrixIds,this.matrixIds=Array(a),c=0;c<a;++c)this.matrixIds[c]=
+{identifier:b[c]}},setMap:function(){OpenLayers.Layer.Grid.prototype.setMap.apply(this,arguments)},updateMatrixProperties:function(){if(this.matrix=this.getMatrix())this.matrix.topLeftCorner&&(this.tileOrigin=this.matrix.topLeftCorner),this.matrix.tileWidth&&this.matrix.tileHeight&&(this.tileSize=new OpenLayers.Size(this.matrix.tileWidth,this.matrix.tileHeight)),this.tileOrigin||(this.tileOrigin=new OpenLayers.LonLat(this.maxExtent.left,this.maxExtent.top)),this.tileFullExtent||(this.tileFullExtent=
+this.maxExtent)},moveTo:function(a,b,c){!b&&this.matrix||this.updateMatrixProperties();return OpenLayers.Layer.Grid.prototype.moveTo.apply(this,arguments)},clone:function(a){null==a&&(a=new OpenLayers.Layer.WMTS(this.options));return a=OpenLayers.Layer.Grid.prototype.clone.apply(this,[a])},getIdentifier:function(){return this.getServerZoom()},getMatrix:function(){if(this.matrixIds&&0!==this.matrixIds.length)if("scaleDenominator"in this.matrixIds[0])for(var a=OpenLayers.METERS_PER_INCH*OpenLayers.INCHES_PER_UNIT[this.units]*
+this.getServerResolution()/2.8E-4,b=Number.POSITIVE_INFINITY,c,d=0,e=this.matrixIds.length;d<e;++d){if(c=Math.abs(1-this.matrixIds[d].scaleDenominator/a),c<b){b=c;var f=this.matrixIds[d]}}else f=this.matrixIds[this.getIdentifier()];else f={identifier:this.getIdentifier()};return f},getTileInfo:function(a){var b=this.getServerResolution(),c=(a.lon-this.tileOrigin.lon)/(b*this.tileSize.w);a=(this.tileOrigin.lat-a.lat)/(b*this.tileSize.h);b=Math.floor(c);var d=Math.floor(a);return{col:b,row:d,i:Math.floor((c-
+b)*this.tileSize.w),j:Math.floor((a-d)*this.tileSize.h)}},getURL:function(a){a=this.adjustBounds(a);var b="";if(!this.tileFullExtent||this.tileFullExtent.intersectsBounds(a)){a=a.getCenterLonLat();var c=this.getTileInfo(a),d=this.dimensions;b=OpenLayers.Util.isArray(this.url)?this.selectUrl([this.version,this.style,this.matrixSet,this.matrix.identifier,c.row,c.col].join(),this.url):this.url;if("REST"===this.requestEncoding.toUpperCase()){var e=this.params;if(-1!==b.indexOf("{")){b=b.replace(/\{/g,
+"${");c={style:this.style,Style:this.style,TileMatrixSet:this.matrixSet,TileMatrix:this.matrix.identifier,TileRow:c.row,TileCol:c.col};if(d)for(a=d.length-1;0<=a;--a){var f=d[a];c[f]=e[f.toUpperCase()]}b=OpenLayers.String.format(b,c)}else{f=this.version+"/"+this.layer+"/"+this.style+"/";if(d)for(a=0;a<d.length;a++)void 0!==e[d[a]]&&(f=f+e[d[a]]+"/");f=f+this.matrixSet+"/"+this.matrix.identifier+"/"+c.row+"/"+c.col+"."+this.formatSuffix;b.match(/\/$/)||(b+="/");b+=f}}else"KVP"===this.requestEncoding.toUpperCase()&&
+(e={SERVICE:"WMTS",REQUEST:"GetTile",VERSION:this.version,LAYER:this.layer,STYLE:this.style,TILEMATRIXSET:this.matrixSet,TILEMATRIX:this.matrix.identifier,TILEROW:c.row,TILECOL:c.col,FORMAT:this.format},b=OpenLayers.Layer.Grid.prototype.getFullRequestString.apply(this,[e]))}return b},mergeNewParams:function(a){return OpenLayers.Layer.Grid.prototype.mergeNewParams.apply(this,[OpenLayers.Util.upperCaseObject(a)])},CLASS_NAME:"OpenLayers.Layer.WMTS"});OpenLayers.Layer.XYZ=OpenLayers.Class(OpenLayers.Layer.Grid,{isBaseLayer:!0,sphericalMercator:!1,zoomOffset:0,serverResolutions:null,initialize:function(a,b,c){if(c&&c.sphericalMercator||this.sphericalMercator)c=OpenLayers.Util.extend({projection:"EPSG:900913",numZoomLevels:this.serverResolutions?this.serverResolutions.length:19},c);OpenLayers.Layer.Grid.prototype.initialize.apply(this,[a||this.name,b||this.url,{},c])},clone:function(a){null==a&&(a=new OpenLayers.Layer.XYZ(this.name,this.url,this.getOptions()));
+return a=OpenLayers.Layer.Grid.prototype.clone.apply(this,[a])},getURL:function(a){a=this.getXYZ(a);var b=this.url;OpenLayers.Util.isArray(b)&&(b=this.selectUrl(""+a.x+a.y+a.z,b));return OpenLayers.String.format(b,a)},getXYZ:function(a){var b=this.getServerResolution(),c=Math.round((a.left-this.tileOrigin.lon)/(b*this.tileSize.w));a=Math.round((this.tileOrigin.lat-a.top)/(b*this.tileSize.h));b=this.getServerZoom();if(this.wrapDateLine){var d=Math.pow(2,b);c=(c%d+d)%d}return{x:c,y:a,z:b}},setMap:function(a){OpenLayers.Layer.Grid.prototype.setMap.apply(this,
+arguments);this.tileOrigin||(this.tileOrigin=new OpenLayers.LonLat(this.maxExtent.left,this.maxExtent.top))},CLASS_NAME:"OpenLayers.Layer.XYZ"});OpenLayers.Layer.SphericalMercator={getExtent:function(){return this.sphericalMercator?this.map.calculateBounds():OpenLayers.Layer.FixedZoomLevels.prototype.getExtent.apply(this)},getLonLatFromViewPortPx:function(a){return OpenLayers.Layer.prototype.getLonLatFromViewPortPx.apply(this,arguments)},getViewPortPxFromLonLat:function(a){return OpenLayers.Layer.prototype.getViewPortPxFromLonLat.apply(this,arguments)},initMercatorParameters:function(){this.RESOLUTIONS=[];for(var a=0;a<=this.MAX_ZOOM_LEVEL;++a)this.RESOLUTIONS[a]=
+156543.03390625/Math.pow(2,a);this.units="m";this.projection=this.projection||"EPSG:900913"},forwardMercator:function(){var a=new OpenLayers.Projection("EPSG:4326"),b=new OpenLayers.Projection("EPSG:900913");return function(c,d){c=OpenLayers.Projection.transform({x:c,y:d},a,b);return new OpenLayers.LonLat(c.x,c.y)}}(),inverseMercator:function(){var a=new OpenLayers.Projection("EPSG:4326"),b=new OpenLayers.Projection("EPSG:900913");return function(c,d){c=OpenLayers.Projection.transform({x:c,y:d},b,
+a);return new OpenLayers.LonLat(c.x,c.y)}}()};
diff --git a/web/js/OpenLayers/img/blank.gif b/web/vendor/OpenLayers/img/blank.gif
index 4bcc753a1..4bcc753a1 100644
--- a/web/js/OpenLayers/img/blank.gif
+++ b/web/vendor/OpenLayers/img/blank.gif
Binary files differ
diff --git a/web/js/OpenLayers/img/cloud-popup-relative.png b/web/vendor/OpenLayers/img/cloud-popup-relative.png
index c9fd4c411..c9fd4c411 100755
--- a/web/js/OpenLayers/img/cloud-popup-relative.png
+++ b/web/vendor/OpenLayers/img/cloud-popup-relative.png
Binary files differ
diff --git a/web/js/OpenLayers/img/drag-rectangle-off.png b/web/vendor/OpenLayers/img/drag-rectangle-off.png
index 382a81d9a..382a81d9a 100644
--- a/web/js/OpenLayers/img/drag-rectangle-off.png
+++ b/web/vendor/OpenLayers/img/drag-rectangle-off.png
Binary files differ
diff --git a/web/js/OpenLayers/img/drag-rectangle-on.png b/web/vendor/OpenLayers/img/drag-rectangle-on.png
index 2ed2d5b08..2ed2d5b08 100644
--- a/web/js/OpenLayers/img/drag-rectangle-on.png
+++ b/web/vendor/OpenLayers/img/drag-rectangle-on.png
Binary files differ
diff --git a/web/js/OpenLayers/img/east-mini.png b/web/vendor/OpenLayers/img/east-mini.png
index ecedc5ef9..ecedc5ef9 100644
--- a/web/js/OpenLayers/img/east-mini.png
+++ b/web/vendor/OpenLayers/img/east-mini.png
Binary files differ
diff --git a/web/js/OpenLayers/img/layer-switcher-maximize.png b/web/vendor/OpenLayers/img/layer-switcher-maximize.png
index f346086b3..f346086b3 100644
--- a/web/js/OpenLayers/img/layer-switcher-maximize.png
+++ b/web/vendor/OpenLayers/img/layer-switcher-maximize.png
Binary files differ
diff --git a/web/js/OpenLayers/img/layer-switcher-minimize.png b/web/vendor/OpenLayers/img/layer-switcher-minimize.png
index b4aab0bf7..b4aab0bf7 100644
--- a/web/js/OpenLayers/img/layer-switcher-minimize.png
+++ b/web/vendor/OpenLayers/img/layer-switcher-minimize.png
Binary files differ
diff --git a/web/js/OpenLayers/img/marker-blue.png b/web/vendor/OpenLayers/img/marker-blue.png
index f5b4efcfe..f5b4efcfe 100644
--- a/web/js/OpenLayers/img/marker-blue.png
+++ b/web/vendor/OpenLayers/img/marker-blue.png
Binary files differ
diff --git a/web/js/OpenLayers/img/marker-gold.png b/web/vendor/OpenLayers/img/marker-gold.png
index 0b62f9618..0b62f9618 100644
--- a/web/js/OpenLayers/img/marker-gold.png
+++ b/web/vendor/OpenLayers/img/marker-gold.png
Binary files differ
diff --git a/web/js/OpenLayers/img/marker-green.png b/web/vendor/OpenLayers/img/marker-green.png
index c36b164b5..c36b164b5 100644
--- a/web/js/OpenLayers/img/marker-green.png
+++ b/web/vendor/OpenLayers/img/marker-green.png
Binary files differ
diff --git a/web/js/OpenLayers/img/marker.png b/web/vendor/OpenLayers/img/marker.png
index ea3e59a56..ea3e59a56 100644
--- a/web/js/OpenLayers/img/marker.png
+++ b/web/vendor/OpenLayers/img/marker.png
Binary files differ
diff --git a/web/js/OpenLayers/img/measuring-stick-off.png b/web/vendor/OpenLayers/img/measuring-stick-off.png
index efbf63fb3..efbf63fb3 100644
--- a/web/js/OpenLayers/img/measuring-stick-off.png
+++ b/web/vendor/OpenLayers/img/measuring-stick-off.png
Binary files differ
diff --git a/web/js/OpenLayers/img/measuring-stick-on.png b/web/vendor/OpenLayers/img/measuring-stick-on.png
index 2d41c84e8..2d41c84e8 100644
--- a/web/js/OpenLayers/img/measuring-stick-on.png
+++ b/web/vendor/OpenLayers/img/measuring-stick-on.png
Binary files differ
diff --git a/web/js/OpenLayers/img/north-mini.png b/web/vendor/OpenLayers/img/north-mini.png
index dfd7211ff..dfd7211ff 100644
--- a/web/js/OpenLayers/img/north-mini.png
+++ b/web/vendor/OpenLayers/img/north-mini.png
Binary files differ
diff --git a/web/js/OpenLayers/img/panning-hand-off.png b/web/vendor/OpenLayers/img/panning-hand-off.png
index d1c593e1d..d1c593e1d 100644
--- a/web/js/OpenLayers/img/panning-hand-off.png
+++ b/web/vendor/OpenLayers/img/panning-hand-off.png
Binary files differ
diff --git a/web/js/OpenLayers/img/panning-hand-on.png b/web/vendor/OpenLayers/img/panning-hand-on.png
index 9b7e0646d..9b7e0646d 100644
--- a/web/js/OpenLayers/img/panning-hand-on.png
+++ b/web/vendor/OpenLayers/img/panning-hand-on.png
Binary files differ
diff --git a/web/js/OpenLayers/img/slider.png b/web/vendor/OpenLayers/img/slider.png
index 433536422..433536422 100644
--- a/web/js/OpenLayers/img/slider.png
+++ b/web/vendor/OpenLayers/img/slider.png
Binary files differ
diff --git a/web/js/OpenLayers/img/south-mini.png b/web/vendor/OpenLayers/img/south-mini.png
index 2970875c4..2970875c4 100644
--- a/web/js/OpenLayers/img/south-mini.png
+++ b/web/vendor/OpenLayers/img/south-mini.png
Binary files differ
diff --git a/web/js/OpenLayers/img/west-mini.png b/web/vendor/OpenLayers/img/west-mini.png
index 363cd3d7b..363cd3d7b 100644
--- a/web/js/OpenLayers/img/west-mini.png
+++ b/web/vendor/OpenLayers/img/west-mini.png
Binary files differ
diff --git a/web/js/OpenLayers/img/zoom-minus-mini.png b/web/vendor/OpenLayers/img/zoom-minus-mini.png
index 8f0d77fff..8f0d77fff 100644
--- a/web/js/OpenLayers/img/zoom-minus-mini.png
+++ b/web/vendor/OpenLayers/img/zoom-minus-mini.png
Binary files differ
diff --git a/web/js/OpenLayers/img/zoom-plus-mini.png b/web/vendor/OpenLayers/img/zoom-plus-mini.png
index a73ab4e95..a73ab4e95 100644
--- a/web/js/OpenLayers/img/zoom-plus-mini.png
+++ b/web/vendor/OpenLayers/img/zoom-plus-mini.png
Binary files differ
diff --git a/web/js/OpenLayers/img/zoom-world-mini.png b/web/vendor/OpenLayers/img/zoom-world-mini.png
index aebf22d95..aebf22d95 100644
--- a/web/js/OpenLayers/img/zoom-world-mini.png
+++ b/web/vendor/OpenLayers/img/zoom-world-mini.png
Binary files differ
diff --git a/web/js/OpenLayers/img/zoombar.png b/web/vendor/OpenLayers/img/zoombar.png
index 47110ab3e..47110ab3e 100644
--- a/web/js/OpenLayers/img/zoombar.png
+++ b/web/vendor/OpenLayers/img/zoombar.png
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/google.css b/web/vendor/OpenLayers/theme/default/google.css
index 1b748ef3e..1b748ef3e 100644
--- a/web/js/OpenLayers/theme/default/google.css
+++ b/web/vendor/OpenLayers/theme/default/google.css
diff --git a/web/js/OpenLayers/theme/default/google.tidy.css b/web/vendor/OpenLayers/theme/default/google.tidy.css
index c0e07ace6..c0e07ace6 100644
--- a/web/js/OpenLayers/theme/default/google.tidy.css
+++ b/web/vendor/OpenLayers/theme/default/google.tidy.css
diff --git a/web/js/OpenLayers/theme/default/img/add_point_off.png b/web/vendor/OpenLayers/theme/default/img/add_point_off.png
index 26c023309..26c023309 100644
--- a/web/js/OpenLayers/theme/default/img/add_point_off.png
+++ b/web/vendor/OpenLayers/theme/default/img/add_point_off.png
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/img/add_point_on.png b/web/vendor/OpenLayers/theme/default/img/add_point_on.png
index 1294a2c16..1294a2c16 100644
--- a/web/js/OpenLayers/theme/default/img/add_point_on.png
+++ b/web/vendor/OpenLayers/theme/default/img/add_point_on.png
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/img/blank.gif b/web/vendor/OpenLayers/theme/default/img/blank.gif
index 4bcc753a1..4bcc753a1 100644
--- a/web/js/OpenLayers/theme/default/img/blank.gif
+++ b/web/vendor/OpenLayers/theme/default/img/blank.gif
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/img/close.gif b/web/vendor/OpenLayers/theme/default/img/close.gif
index a8958de9b..a8958de9b 100644
--- a/web/js/OpenLayers/theme/default/img/close.gif
+++ b/web/vendor/OpenLayers/theme/default/img/close.gif
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/img/drag-rectangle-off.png b/web/vendor/OpenLayers/theme/default/img/drag-rectangle-off.png
index 382a81d9a..382a81d9a 100644
--- a/web/js/OpenLayers/theme/default/img/drag-rectangle-off.png
+++ b/web/vendor/OpenLayers/theme/default/img/drag-rectangle-off.png
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/img/drag-rectangle-on.png b/web/vendor/OpenLayers/theme/default/img/drag-rectangle-on.png
index 2ed2d5b08..2ed2d5b08 100644
--- a/web/js/OpenLayers/theme/default/img/drag-rectangle-on.png
+++ b/web/vendor/OpenLayers/theme/default/img/drag-rectangle-on.png
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/img/draw_line_off.png b/web/vendor/OpenLayers/theme/default/img/draw_line_off.png
index a4d67b3b9..a4d67b3b9 100644
--- a/web/js/OpenLayers/theme/default/img/draw_line_off.png
+++ b/web/vendor/OpenLayers/theme/default/img/draw_line_off.png
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/img/draw_line_on.png b/web/vendor/OpenLayers/theme/default/img/draw_line_on.png
index 90dcf3e35..90dcf3e35 100644
--- a/web/js/OpenLayers/theme/default/img/draw_line_on.png
+++ b/web/vendor/OpenLayers/theme/default/img/draw_line_on.png
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/img/draw_point_off.png b/web/vendor/OpenLayers/theme/default/img/draw_point_off.png
index 56334072a..56334072a 100644
--- a/web/js/OpenLayers/theme/default/img/draw_point_off.png
+++ b/web/vendor/OpenLayers/theme/default/img/draw_point_off.png
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/img/draw_point_on.png b/web/vendor/OpenLayers/theme/default/img/draw_point_on.png
index fff50b7b0..fff50b7b0 100644
--- a/web/js/OpenLayers/theme/default/img/draw_point_on.png
+++ b/web/vendor/OpenLayers/theme/default/img/draw_point_on.png
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/img/draw_polygon_off.png b/web/vendor/OpenLayers/theme/default/img/draw_polygon_off.png
index 917af3597..917af3597 100644
--- a/web/js/OpenLayers/theme/default/img/draw_polygon_off.png
+++ b/web/vendor/OpenLayers/theme/default/img/draw_polygon_off.png
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/img/draw_polygon_on.png b/web/vendor/OpenLayers/theme/default/img/draw_polygon_on.png
index 05a2cc5a8..05a2cc5a8 100644
--- a/web/js/OpenLayers/theme/default/img/draw_polygon_on.png
+++ b/web/vendor/OpenLayers/theme/default/img/draw_polygon_on.png
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/img/editing_tool_bar.png b/web/vendor/OpenLayers/theme/default/img/editing_tool_bar.png
index 5977856cf..5977856cf 100644
--- a/web/js/OpenLayers/theme/default/img/editing_tool_bar.png
+++ b/web/vendor/OpenLayers/theme/default/img/editing_tool_bar.png
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/img/move_feature_off.png b/web/vendor/OpenLayers/theme/default/img/move_feature_off.png
index ed4472dd8..ed4472dd8 100644
--- a/web/js/OpenLayers/theme/default/img/move_feature_off.png
+++ b/web/vendor/OpenLayers/theme/default/img/move_feature_off.png
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/img/move_feature_on.png b/web/vendor/OpenLayers/theme/default/img/move_feature_on.png
index 62226a2d7..62226a2d7 100644
--- a/web/js/OpenLayers/theme/default/img/move_feature_on.png
+++ b/web/vendor/OpenLayers/theme/default/img/move_feature_on.png
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/img/navigation_history.png b/web/vendor/OpenLayers/theme/default/img/navigation_history.png
index 84e348985..84e348985 100644
--- a/web/js/OpenLayers/theme/default/img/navigation_history.png
+++ b/web/vendor/OpenLayers/theme/default/img/navigation_history.png
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/img/overview_replacement.gif b/web/vendor/OpenLayers/theme/default/img/overview_replacement.gif
index a82cf5fc5..a82cf5fc5 100644
--- a/web/js/OpenLayers/theme/default/img/overview_replacement.gif
+++ b/web/vendor/OpenLayers/theme/default/img/overview_replacement.gif
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/img/pan-panel-NOALPHA.png b/web/vendor/OpenLayers/theme/default/img/pan-panel-NOALPHA.png
index 698726884..698726884 100644
--- a/web/js/OpenLayers/theme/default/img/pan-panel-NOALPHA.png
+++ b/web/vendor/OpenLayers/theme/default/img/pan-panel-NOALPHA.png
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/img/pan-panel.png b/web/vendor/OpenLayers/theme/default/img/pan-panel.png
index dfe67481c..dfe67481c 100644
--- a/web/js/OpenLayers/theme/default/img/pan-panel.png
+++ b/web/vendor/OpenLayers/theme/default/img/pan-panel.png
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/img/pan_off.png b/web/vendor/OpenLayers/theme/default/img/pan_off.png
index 30b2aed4d..30b2aed4d 100644
--- a/web/js/OpenLayers/theme/default/img/pan_off.png
+++ b/web/vendor/OpenLayers/theme/default/img/pan_off.png
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/img/pan_on.png b/web/vendor/OpenLayers/theme/default/img/pan_on.png
index e3953a824..e3953a824 100644
--- a/web/js/OpenLayers/theme/default/img/pan_on.png
+++ b/web/vendor/OpenLayers/theme/default/img/pan_on.png
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/img/panning-hand-off.png b/web/vendor/OpenLayers/theme/default/img/panning-hand-off.png
index d1c593e1d..d1c593e1d 100644
--- a/web/js/OpenLayers/theme/default/img/panning-hand-off.png
+++ b/web/vendor/OpenLayers/theme/default/img/panning-hand-off.png
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/img/panning-hand-on.png b/web/vendor/OpenLayers/theme/default/img/panning-hand-on.png
index 9b7e0646d..9b7e0646d 100644
--- a/web/js/OpenLayers/theme/default/img/panning-hand-on.png
+++ b/web/vendor/OpenLayers/theme/default/img/panning-hand-on.png
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/img/remove_point_off.png b/web/vendor/OpenLayers/theme/default/img/remove_point_off.png
index 76c8606f5..76c8606f5 100644
--- a/web/js/OpenLayers/theme/default/img/remove_point_off.png
+++ b/web/vendor/OpenLayers/theme/default/img/remove_point_off.png
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/img/remove_point_on.png b/web/vendor/OpenLayers/theme/default/img/remove_point_on.png
index cc8d7b2c6..cc8d7b2c6 100644
--- a/web/js/OpenLayers/theme/default/img/remove_point_on.png
+++ b/web/vendor/OpenLayers/theme/default/img/remove_point_on.png
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/img/ruler.png b/web/vendor/OpenLayers/theme/default/img/ruler.png
index aa4883bcd..aa4883bcd 100644
--- a/web/js/OpenLayers/theme/default/img/ruler.png
+++ b/web/vendor/OpenLayers/theme/default/img/ruler.png
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/img/save_features_off.png b/web/vendor/OpenLayers/theme/default/img/save_features_off.png
index 3d305b622..3d305b622 100644
--- a/web/js/OpenLayers/theme/default/img/save_features_off.png
+++ b/web/vendor/OpenLayers/theme/default/img/save_features_off.png
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/img/save_features_on.png b/web/vendor/OpenLayers/theme/default/img/save_features_on.png
index 5640ae888..5640ae888 100644
--- a/web/js/OpenLayers/theme/default/img/save_features_on.png
+++ b/web/vendor/OpenLayers/theme/default/img/save_features_on.png
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/img/view_next_off.png b/web/vendor/OpenLayers/theme/default/img/view_next_off.png
index 9149a2420..9149a2420 100644
--- a/web/js/OpenLayers/theme/default/img/view_next_off.png
+++ b/web/vendor/OpenLayers/theme/default/img/view_next_off.png
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/img/view_next_on.png b/web/vendor/OpenLayers/theme/default/img/view_next_on.png
index e41fb7bdd..e41fb7bdd 100644
--- a/web/js/OpenLayers/theme/default/img/view_next_on.png
+++ b/web/vendor/OpenLayers/theme/default/img/view_next_on.png
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/img/view_previous_off.png b/web/vendor/OpenLayers/theme/default/img/view_previous_off.png
index 8a9ef2179..8a9ef2179 100644
--- a/web/js/OpenLayers/theme/default/img/view_previous_off.png
+++ b/web/vendor/OpenLayers/theme/default/img/view_previous_off.png
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/img/view_previous_on.png b/web/vendor/OpenLayers/theme/default/img/view_previous_on.png
index c009c255e..c009c255e 100644
--- a/web/js/OpenLayers/theme/default/img/view_previous_on.png
+++ b/web/vendor/OpenLayers/theme/default/img/view_previous_on.png
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/img/zoom-panel-NOALPHA.png b/web/vendor/OpenLayers/theme/default/img/zoom-panel-NOALPHA.png
index cdde6fc7e..cdde6fc7e 100644
--- a/web/js/OpenLayers/theme/default/img/zoom-panel-NOALPHA.png
+++ b/web/vendor/OpenLayers/theme/default/img/zoom-panel-NOALPHA.png
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/img/zoom-panel.png b/web/vendor/OpenLayers/theme/default/img/zoom-panel.png
index c91a4ef3c..c91a4ef3c 100644
--- a/web/js/OpenLayers/theme/default/img/zoom-panel.png
+++ b/web/vendor/OpenLayers/theme/default/img/zoom-panel.png
Binary files differ
diff --git a/web/js/OpenLayers/theme/default/style.css b/web/vendor/OpenLayers/theme/default/style.css
index cefab060b..cefab060b 100644
--- a/web/js/OpenLayers/theme/default/style.css
+++ b/web/vendor/OpenLayers/theme/default/style.css
diff --git a/web/js/OpenLayers/theme/default/style.mobile.css b/web/vendor/OpenLayers/theme/default/style.mobile.css
index 92e7d00d4..92e7d00d4 100644
--- a/web/js/OpenLayers/theme/default/style.mobile.css
+++ b/web/vendor/OpenLayers/theme/default/style.mobile.css
diff --git a/web/js/OpenLayers/theme/default/style.mobile.tidy.css b/web/vendor/OpenLayers/theme/default/style.mobile.tidy.css
index bf7eeaf3d..bf7eeaf3d 100644
--- a/web/js/OpenLayers/theme/default/style.mobile.tidy.css
+++ b/web/vendor/OpenLayers/theme/default/style.mobile.tidy.css
diff --git a/web/js/OpenLayers/theme/default/style.tidy.css b/web/vendor/OpenLayers/theme/default/style.tidy.css
index f973d450b..f973d450b 100644
--- a/web/js/OpenLayers/theme/default/style.tidy.css
+++ b/web/vendor/OpenLayers/theme/default/style.tidy.css
diff --git a/web/vendor/accessible-autocomplete.min.js b/web/vendor/accessible-autocomplete.min.js
new file mode 100644
index 000000000..9eafe639f
--- /dev/null
+++ b/web/vendor/accessible-autocomplete.min.js
@@ -0,0 +1,2 @@
+!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.accessibleAutocomplete=t():e.accessibleAutocomplete=t()}(this,function(){return function(e){function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/",t(t.s=1)}([function(e,t,n){!function(){"use strict";function t(){}function n(e,n){var o,r,l,i,u=T;for(i=arguments.length;i-- >2;)D.push(arguments[i]);for(n&&null!=n.children&&(D.length||D.push(n.children),delete n.children);D.length;)if((r=D.pop())&&void 0!==r.pop)for(i=r.length;i--;)D.push(r[i]);else!0!==r&&!1!==r||(r=null),(l="function"!=typeof e)&&(null==r?r="":"number"==typeof r?r=String(r):"string"!=typeof r&&(l=!1)),l&&o?u[u.length-1]+=r:u===T?u=[r]:u.push(r),o=l;var s=new t;return s.nodeName=e,s.children=u,s.attributes=null==n?void 0:n,s.key=null==n?void 0:n.key,void 0!==A.vnode&&A.vnode(s),s}function o(e,t){for(var n in t)e[n]=t[n];return e}function r(e,t){return n(e.nodeName,o(o({},e.attributes),t),arguments.length>2?[].slice.call(arguments,2):e.children)}function l(e){!e.__d&&(e.__d=!0)&&1==V.push(e)&&(A.debounceRendering||setTimeout)(i)}function i(){var e,t=V;for(V=[];e=t.pop();)e.__d&&N(e)}function u(e,t,n){return"string"==typeof t||"number"==typeof t?void 0!==e.splitText:"string"==typeof t.nodeName?!e._componentConstructor&&s(e,t.nodeName):n||e._componentConstructor===t.nodeName}function s(e,t){return e.__n===t||e.nodeName.toLowerCase()===t.toLowerCase()}function a(e){var t=o({},e.attributes);t.children=e.children;var n=e.nodeName.defaultProps;if(void 0!==n)for(var r in n)void 0===t[r]&&(t[r]=n[r]);return t}function p(e,t){var n=t?document.createElementNS("http://www.w3.org/2000/svg",e):document.createElement(e);return n.__n=e,n}function c(e){e.parentNode&&e.parentNode.removeChild(e)}function d(e,t,n,o,r){if("className"===t&&(t="class"),"key"===t);else if("ref"===t)n&&n(null),o&&o(e);else if("class"!==t||r)if("style"===t){if(o&&"string"!=typeof o&&"string"!=typeof n||(e.style.cssText=o||""),o&&"object"==typeof o){if("string"!=typeof n)for(var l in n)l in o||(e.style[l]="");for(var l in o)e.style[l]="number"==typeof o[l]&&!1===L.test(l)?o[l]+"px":o[l]}}else if("dangerouslySetInnerHTML"===t)o&&(e.innerHTML=o.__html||"");else if("o"==t[0]&&"n"==t[1]){var i=t!==(t=t.replace(/Capture$/,""));t=t.toLowerCase().substring(2),o?n||e.addEventListener(t,h,i):e.removeEventListener(t,h,i),(e.__l||(e.__l={}))[t]=o}else if("list"!==t&&"type"!==t&&!r&&t in e)f(e,t,null==o?"":o),null!=o&&!1!==o||e.removeAttribute(t);else{var u=r&&t!==(t=t.replace(/^xlink\:?/,""));null==o||!1===o?u?e.removeAttributeNS("http://www.w3.org/1999/xlink",t.toLowerCase()):e.removeAttribute(t):"function"!=typeof o&&(u?e.setAttributeNS("http://www.w3.org/1999/xlink",t.toLowerCase(),o):e.setAttribute(t,o))}else e.className=o||""}function f(e,t,n){try{e[t]=n}catch(e){}}function h(e){return this.__l[e.type](A.event&&A.event(e)||e)}function m(){for(var e;e=j.pop();)A.afterMount&&A.afterMount(e),e.componentDidMount&&e.componentDidMount()}function _(e,t,n,o,r,l){P++||(q=null!=r&&void 0!==r.ownerSVGElement,B=null!=e&&!("__preactattr_"in e));var i=v(e,t,n,o,l);return r&&i.parentNode!==r&&r.appendChild(i),--P||(B=!1,l||m()),i}function v(e,t,n,o,r){var l=e,i=q;if(null==t&&(t=""),"string"==typeof t)return e&&void 0!==e.splitText&&e.parentNode&&(!e._component||r)?e.nodeValue!=t&&(e.nodeValue=t):(l=document.createTextNode(t),e&&(e.parentNode&&e.parentNode.replaceChild(l,e),b(e,!0))),l.__preactattr_=!0,l;if("function"==typeof t.nodeName)return I(e,t,n,o);if(q="svg"===t.nodeName||"foreignObject"!==t.nodeName&&q,(!e||!s(e,String(t.nodeName)))&&(l=p(String(t.nodeName),q),e)){for(;e.firstChild;)l.appendChild(e.firstChild);e.parentNode&&e.parentNode.replaceChild(l,e),b(e,!0)}var u=l.firstChild,a=l.__preactattr_||(l.__preactattr_={}),c=t.children;return!B&&c&&1===c.length&&"string"==typeof c[0]&&null!=u&&void 0!==u.splitText&&null==u.nextSibling?u.nodeValue!=c[0]&&(u.nodeValue=c[0]):(c&&c.length||null!=u)&&y(l,c,n,o,B||null!=a.dangerouslySetInnerHTML),O(l,t.attributes,a),q=i,l}function y(e,t,n,o,r){var l,i,s,a,p=e.childNodes,d=[],f={},h=0,m=0,_=p.length,y=0,g=t?t.length:0;if(0!==_)for(var O=0;O<_;O++){var w=p[O],C=w.__preactattr_,E=g&&C?w._component?w._component.__k:C.key:null;null!=E?(h++,f[E]=w):(C||(void 0!==w.splitText?!r||w.nodeValue.trim():r))&&(d[y++]=w)}if(0!==g)for(var O=0;O<g;O++){s=t[O],a=null;var E=s.key;if(null!=E)h&&void 0!==f[E]&&(a=f[E],f[E]=void 0,h--);else if(!a&&m<y)for(l=m;l<y;l++)if(void 0!==d[l]&&u(i=d[l],s,r)){a=i,d[l]=void 0,l===y-1&&y--,l===m&&m++;break}(a=v(a,s,n,o))&&a!==e&&(O>=_?e.appendChild(a):a!==p[O]&&(a===p[O+1]?c(p[O]):e.insertBefore(a,p[O]||null)))}if(h)for(var O in f)void 0!==f[O]&&b(f[O],!1);for(;m<=y;)void 0!==(a=d[y--])&&b(a,!1)}function b(e,t){var n=e._component;n?k(n):(null!=e.__preactattr_&&e.__preactattr_.ref&&e.__preactattr_.ref(null),!1!==t&&null!=e.__preactattr_||c(e),g(e))}function g(e){for(e=e.lastChild;e;){var t=e.previousSibling;b(e,!0),e=t}}function O(e,t,n){var o;for(o in n)t&&null!=t[o]||null==n[o]||d(e,o,n[o],n[o]=void 0,q);for(o in t)"children"===o||"innerHTML"===o||o in n&&t[o]===("value"===o||"checked"===o?e[o]:n[o])||d(e,o,n[o],n[o]=t[o],q)}function w(e){var t=e.constructor.name;(U[t]||(U[t]=[])).push(e)}function C(e,t,n){var o,r=U[e.name];if(e.prototype&&e.prototype.render?(o=new e(t,n),M.call(o,t,n)):(o=new M(t,n),o.constructor=e,o.render=E),r)for(var l=r.length;l--;)if(r[l].constructor===e){o.__b=r[l].__b,r.splice(l,1);break}return o}function E(e,t,n){return this.constructor(e,n)}function x(e,t,n,o,r){e.__x||(e.__x=!0,(e.__r=t.ref)&&delete t.ref,(e.__k=t.key)&&delete t.key,!e.base||r?e.componentWillMount&&e.componentWillMount():e.componentWillReceiveProps&&e.componentWillReceiveProps(t,o),o&&o!==e.context&&(e.__c||(e.__c=e.context),e.context=o),e.__p||(e.__p=e.props),e.props=t,e.__x=!1,0!==n&&(1!==n&&!1===A.syncComponentUpdates&&e.base?l(e):N(e,1,r)),e.__r&&e.__r(e))}function N(e,t,n,r){if(!e.__x){var l,i,u,s=e.props,p=e.state,c=e.context,d=e.__p||s,f=e.__s||p,h=e.__c||c,v=e.base,y=e.__b,g=v||y,O=e._component,w=!1;if(v&&(e.props=d,e.state=f,e.context=h,2!==t&&e.shouldComponentUpdate&&!1===e.shouldComponentUpdate(s,p,c)?w=!0:e.componentWillUpdate&&e.componentWillUpdate(s,p,c),e.props=s,e.state=p,e.context=c),e.__p=e.__s=e.__c=e.__b=null,e.__d=!1,!w){l=e.render(s,p,c),e.getChildContext&&(c=o(o({},c),e.getChildContext()));var E,I,M=l&&l.nodeName;if("function"==typeof M){var S=a(l);i=O,i&&i.constructor===M&&S.key==i.__k?x(i,S,1,c,!1):(E=i,e._component=i=C(M,S,c),i.__b=i.__b||y,i.__u=e,x(i,S,0,c,!1),N(i,1,n,!0)),I=i.base}else u=g,E=O,E&&(u=e._component=null),(g||1===t)&&(u&&(u._component=null),I=_(u,l,c,n||!v,g&&g.parentNode,!0));if(g&&I!==g&&i!==O){var D=g.parentNode;D&&I!==D&&(D.replaceChild(I,g),E||(g._component=null,b(g,!1)))}if(E&&k(E),e.base=I,I&&!r){for(var T=e,L=e;L=L.__u;)(T=L).base=I;I._component=T,I._componentConstructor=T.constructor}}if(!v||n?j.unshift(e):w||(m(),e.componentDidUpdate&&e.componentDidUpdate(d,f,h),A.afterUpdate&&A.afterUpdate(e)),null!=e.__h)for(;e.__h.length;)e.__h.pop().call(e);P||r||m()}}function I(e,t,n,o){for(var r=e&&e._component,l=r,i=e,u=r&&e._componentConstructor===t.nodeName,s=u,p=a(t);r&&!s&&(r=r.__u);)s=r.constructor===t.nodeName;return r&&s&&(!o||r._component)?(x(r,p,3,n,o),e=r.base):(l&&!u&&(k(l),e=i=null),r=C(t.nodeName,p,n),e&&!r.__b&&(r.__b=e,i=null),x(r,p,1,n,o),e=r.base,i&&e!==i&&(i._component=null,b(i,!1))),e}function k(e){A.beforeUnmount&&A.beforeUnmount(e);var t=e.base;e.__x=!0,e.componentWillUnmount&&e.componentWillUnmount(),e.base=null;var n=e._component;n?k(n):t&&(t.__preactattr_&&t.__preactattr_.ref&&t.__preactattr_.ref(null),e.__b=t,c(t),w(e),g(t)),e.__r&&e.__r(null)}function M(e,t){this.__d=!0,this.context=t,this.props=e,this.state=this.state||{}}function S(e,t,n){return _(n,e,{},!1,t,!1)}var A={},D=[],T=[],L=/acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i,V=[],j=[],P=0,q=!1,B=!1,U={};o(M.prototype,{setState:function(e,t){var n=this.state;this.__s||(this.__s=o({},n)),o(n,"function"==typeof e?e(n,this.props):e),t&&(this.__h=this.__h||[]).push(t),l(this)},forceUpdate:function(e){e&&(this.__h=this.__h||[]).push(e),N(this,2)},render:function(){}});var R={h:n,createElement:n,cloneElement:r,Component:M,render:S,rerender:i,options:A};e.exports=R}()},function(e,t,n){e.exports=n(2)},function(e,t,n){"use strict";function o(e){if(!e.element)throw new Error("element is not defined");if(!e.id)throw new Error("id is not defined");if(!e.source)throw new Error("source is not defined");Array.isArray(e.source)&&(e.source=s(e.source)),(0,l.render)((0,l.createElement)(u.default,e),e.element)}var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},l=n(0),i=n(3),u=function(e){return e&&e.__esModule?e:{default:e}}(i),s=function(e){return function(t,n){n(e.filter(function(e){return-1!==e.toLowerCase().indexOf(t.toLowerCase())}))}};o.enhanceSelectElement=function(e){if(!e.selectElement)throw new Error("selectElement is not defined");if(!e.source){var t=[].filter.call(e.selectElement.options,function(t){return t.value||e.preserveNullOptions});e.source=t.map(function(e){return e.textContent||e.innerText})}if(e.onConfirm=e.onConfirm||function(t){var n=[].filter.call(e.selectElement.options,function(e){return(e.textContent||e.innerText)===t})[0];n&&(n.selected=!0)},e.selectElement.value||void 0===e.defaultValue){var n=e.selectElement.options[e.selectElement.options.selectedIndex];e.defaultValue=n.textContent||n.innerText}void 0===e.name&&(e.name=""),void 0===e.id&&(void 0===e.selectElement.id?e.id="":e.id=e.selectElement.id),void 0===e.autoselect&&(e.autoselect=!0);var l=document.createElement("span");e.selectElement.parentNode.insertBefore(l,e.selectElement),o(r({},e,{element:l})),e.selectElement.style.display="none",e.selectElement.id=e.selectElement.id+"-select"},e.exports=o},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}function r(e,t){}function l(e,t){if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){"function"!=typeof t&&null!==t||(e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t))}function u(){return!(!navigator.userAgent.match(/(iPod|iPhone|iPad)/g)||!navigator.userAgent.match(/AppleWebKit/g))}function s(e){return e>47&&e<58||32===e||8===e||e>64&&e<91||e>95&&e<112||e>185&&e<193||e>218&&e<223}function a(e){return y?{onInput:e}:b?{onChange:e}:void 0}t.__esModule=!0,t.default=void 0;var p,c,d=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},f=n(0),h=n(4),m=o(h),_=n(5),v=o(_),y=!0,b=!1,g={13:"enter",27:"escape",32:"space",38:"up",40:"down"},O=function(){var e=document.createElement("x");return e.style.cssText="pointer-events:auto","auto"===e.style.pointerEvents}(),w=(c=p=function(e){function t(n){r(this,t);var o=l(this,e.call(this,n));return o.elementReferences={},o.state={focused:null,hovered:null,menuOpen:!1,options:n.defaultValue?[n.defaultValue]:[],query:n.defaultValue,selected:null},o.handleComponentBlur=o.handleComponentBlur.bind(o),o.handleKeyDown=o.handleKeyDown.bind(o),o.handleUpArrow=o.handleUpArrow.bind(o),o.handleDownArrow=o.handleDownArrow.bind(o),o.handleEnter=o.handleEnter.bind(o),o.handlePrintableKey=o.handlePrintableKey.bind(o),o.handleOptionBlur=o.handleOptionBlur.bind(o),o.handleOptionClick=o.handleOptionClick.bind(o),o.handleOptionFocus=o.handleOptionFocus.bind(o),o.handleOptionMouseDown=o.handleOptionMouseDown.bind(o),o.handleOptionMouseEnter=o.handleOptionMouseEnter.bind(o),o.handleOptionMouseOut=o.handleOptionMouseOut.bind(o),o.handleOptionTouchEnd=o.handleOptionTouchEnd.bind(o),o.handleInputBlur=o.handleInputBlur.bind(o),o.handleInputChange=o.handleInputChange.bind(o),o.handleInputFocus=o.handleInputFocus.bind(o),o.pollInputElement=o.pollInputElement.bind(o),o.getDirectInputChanges=o.getDirectInputChanges.bind(o),o}return i(t,e),t.prototype.componentDidMount=function(){this.pollInputElement()},t.prototype.componentWillUnmount=function(){clearTimeout(this.$pollInput)},t.prototype.pollInputElement=function(){var e=this;this.getDirectInputChanges(),this.$pollInput=setTimeout(function(){e.pollInputElement()},100)},t.prototype.getDirectInputChanges=function(){var e=this.elementReferences[-1];e.value!==this.state.query&&this.handleInputChange({target:{value:e.value}})},t.prototype.componentDidUpdate=function(e,t){var n=this.state.focused,o=null===n,r=t.focused!==n;r&&!o&&this.elementReferences[n].focus();var l=-1===n,i=r&&null===t.focused;if(l&&i){var u=this.elementReferences[n];u.setSelectionRange(0,u.value.length)}},t.prototype.hasAutoselect=function(){return!u()&&this.props.autoselect},t.prototype.templateInputValue=function(e){var t=this.props.templates&&this.props.templates.inputValue;return t?t(e):e},t.prototype.templateSuggestion=function(e){var t=this.props.templates&&this.props.templates.suggestion;return t?t(e):e},t.prototype.handleComponentBlur=function(e){var t=this.state,n=t.options,o=t.query,r=t.selected,l=void 0;this.props.confirmOnBlur?(l=e.query||o,this.props.onConfirm(n[r])):l=o,this.setState({focused:null,menuOpen:e.menuOpen||!1,query:l,selected:null})},t.prototype.handleOptionBlur=function(e,t){var n=this.state,o=n.focused,r=n.menuOpen,l=n.options,i=n.selected,s=null===e.relatedTarget,a=e.relatedTarget===this.elementReferences[-1],p=o!==t&&-1!==o;if(s||!p&&!a){var c=r&&u();this.handleComponentBlur({menuOpen:c,query:this.templateInputValue(l[i])})}},t.prototype.handleInputBlur=function(e){var t=this.state,n=t.focused,o=t.menuOpen,r=t.options,l=t.query,i=t.selected;if(-1===n){var s=o&&u(),a=u()?l:this.templateInputValue(r[i]);this.handleComponentBlur({menuOpen:s,query:a})}},t.prototype.handleInputChange=function(e){var t=this,n=this.props,o=n.minLength,r=n.source,l=n.showAllValues,i=this.hasAutoselect(),u=e.target.value,s=0===u.length,a=this.state.query.length!==u.length,p=u.length>=o;this.setState({query:u}),l||!s&&a&&p?r(u,function(e){var n=e.length>0;t.setState({menuOpen:n,options:e,selected:i&&n?0:-1})}):!s&&p||this.setState({menuOpen:!1,options:[]})},t.prototype.handleInputClick=function(e){this.handleInputChange(e)},t.prototype.handleInputFocus=function(e){this.setState({focused:-1})},t.prototype.handleOptionFocus=function(e){this.setState({focused:e,hovered:null,selected:e})},t.prototype.handleOptionMouseEnter=function(e,t){this.setState({hovered:t})},t.prototype.handleOptionMouseOut=function(e,t){this.setState({hovered:null})},t.prototype.handleOptionTouchEnd=function(e,t){this.handleOptionClick(e,t)},t.prototype.handleOptionClick=function(e,t){var n=this.state.options[t],o=this.templateInputValue(n);this.props.onConfirm(n),this.setState({focused:-1,menuOpen:!1,query:o,selected:-1})},t.prototype.handleOptionMouseDown=function(e){e.preventDefault()},t.prototype.handleUpArrow=function(e){e.preventDefault();var t=this.state,n=t.menuOpen,o=t.selected;-1!==o&&n&&this.handleOptionFocus(o-1)},t.prototype.handleDownArrow=function(e){var t=this;if(e.preventDefault(),this.props.showAllValues&&!1===this.state.menuOpen)e.preventDefault(),this.props.source("",function(e){t.setState({menuOpen:!0,options:e,selected:0,focused:0,hovered:null})});else if(!0===this.state.menuOpen){var n=this.state,o=n.menuOpen,r=n.options,l=n.selected,i=l!==r.length-1,u=i&&o;u&&this.handleOptionFocus(l+1)}},t.prototype.handleSpace=function(e){var t=this;this.props.showAllValues&&!1===this.state.menuOpen&&(e.preventDefault(),this.props.source("",function(e){t.setState({menuOpen:!0,options:e})}))},t.prototype.handleEnter=function(e){this.state.menuOpen&&(e.preventDefault(),this.state.selected>=0&&this.handleOptionClick(e,this.state.selected))},t.prototype.handlePrintableKey=function(e){var t=this.elementReferences[-1];e.target===t||t.focus()},t.prototype.handleKeyDown=function(e){switch(g[e.keyCode]){case"up":this.handleUpArrow(e);break;case"down":this.handleDownArrow(e);break;case"space":this.handleSpace(e);break;case"enter":this.handleEnter(e);break;case"escape":this.handleComponentBlur({query:this.state.query});break;default:s(e.keyCode)&&this.handlePrintableKey(e)}},t.prototype.render=function(){var e=this,t=this.props,n=t.cssNamespace,o=t.displayMenu,r=t.id,l=t.minLength,i=t.name,u=t.placeholder,s=t.required,p=t.showAllValues,c=this.state,h=c.focused,_=c.hovered,y=c.menuOpen,b=c.options,g=c.query,w=c.selected,C=this.hasAutoselect(),E=-1===h,x=0===b.length,N=0!==g.length,I=g.length>=l,k=this.props.showNoOptionsFound&&E&&x&&N&&I,M=n+"__wrapper",S=n+"__input",A=null!==h,D=A?" "+S+"--focused":"",T=this.props.showAllValues?" "+S+"--show-all-values":" "+S+"--default",L=n+"__dropdown-arrow-down",V=-1!==h&&null!==h,j=n+"__menu",P=j+"--"+o,q=y||k,B=j+"--"+(q?"visible":"hidden"),U=n+"__option",R=n+"__hint",F=this.templateInputValue(b[w]),W=F&&0===F.toLowerCase().indexOf(g.toLowerCase()),K=W&&C?g+F.substr(g.length):"",H=O&&K;return(0,f.createElement)("div",{className:M,onKeyDown:this.handleKeyDown},(0,f.createElement)(m.default,{length:b.length,queryLength:g.length,minQueryLength:l,selectedOption:this.templateInputValue(b[w])}),H&&(0,f.createElement)("span",null,(0,f.createElement)("input",{className:R,readonly:!0,tabIndex:"-1",value:K})),(0,f.createElement)("input",d({"aria-activedescendant":!!V&&r+"__option--"+h,"aria-expanded":y,"aria-owns":r+"__listbox",autoComplete:"off",className:""+S+D+T,id:r,onClick:function(t){return e.handleInputClick(t)},onBlur:this.handleInputBlur},a(this.handleInputChange),{onFocus:this.handleInputFocus,name:i,placeholder:u,ref:function(t){e.elementReferences[-1]=t},role:"combobox",type:"text",required:s,value:g})),p&&(0,f.createElement)(v.default,{className:L}),(0,f.createElement)("ul",{className:j+" "+P+" "+B,id:r+"__listbox",role:"listbox"},b.map(function(t,n){var o=-1===h?w===n:h===n,l=o&&null===_?" "+U+"--focused":"",i=n%2?" "+U+"--odd":"";return(0,f.createElement)("li",{"aria-selected":h===n,className:""+U+l+i,dangerouslySetInnerHTML:{__html:e.templateSuggestion(t)},id:r+"__option--"+n,key:n,onBlur:function(t){return e.handleOptionBlur(t,n)},onClick:function(t){return e.handleOptionClick(t,n)},onMouseDown:e.handleOptionMouseDown,onMouseEnter:function(t){return e.handleOptionMouseEnter(t,n)},onMouseOut:function(t){return e.handleOptionMouseOut(t,n)},onTouchEnd:function(t){return e.handleOptionTouchEnd(t,n)},ref:function(t){e.elementReferences[n]=t},role:"option",tabIndex:"-1"})}),k&&(0,f.createElement)("li",{className:U+" "+U+"--no-results"},"No results found")))},t}(f.Component),p.defaultProps={autoselect:!1,cssNamespace:"autocomplete",defaultValue:"",displayMenu:"inline",minLength:0,name:"input-autocomplete",placeholder:"",onConfirm:function(){},confirmOnBlur:!0,showNoOptionsFound:!0,showAllValues:!1,required:!1},c);t.default=w},function(e,t,n){"use strict";function o(e,t){}function r(e,t){if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){"function"!=typeof t&&null!==t||(e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t))}t.__esModule=!0,t.default=void 0;var i=n(0),u=function(e){function t(){var n,l,i;o(this,t);for(var u=arguments.length,s=Array(u),a=0;a<u;a++)s[a]=arguments[a];return n=l=r(this,e.call.apply(e,[this].concat(s))),l.state={bump:!1},i=n,r(l,i)}return l(t,e),t.prototype.componentWillReceiveProps=function(e){e.queryLength!==this.props.queryLength&&this.setState(function(e){return{bump:!e.bump}})},t.prototype.render=function(){var e=this.props,t=e.length,n=e.queryLength,o=e.minQueryLength,r=e.selectedOption,l=this.state.bump,u={result:1===t?"result":"results",is:1===t?"is":"are"},s=n<o,a=0===t,p=r?(0,i.createElement)("span",null,r," (1 of ",t,") is selected."):null,c=null;return c=s?(0,i.createElement)("span",null,"Type in ",o," or more characters for results."):a?(0,i.createElement)("span",null,"No search results."):(0,i.createElement)("span",null,t," ",u.result," ",u.is," available. ",p),(0,i.createElement)("div",{"aria-atomic":"true","aria-live":"polite",role:"status",style:{border:"0",clip:"rect(0 0 0 0)",height:"1px",marginBottom:"-1px",marginRight:"-1px",overflow:"hidden",padding:"0",position:"absolute",whiteSpace:"nowrap",width:"1px"}},c,(0,i.createElement)("span",null,l?",":",,"))},t}(i.Component);t.default=u},function(e,t,n){"use strict";function o(e,t){}function r(e,t){if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){"function"!=typeof t&&null!==t||(e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t))}t.__esModule=!0,t.default=void 0;var i=n(0),u=function(e){function t(){return o(this,t),r(this,e.apply(this,arguments))}return l(t,e),t.prototype.render=function(){return(0,i.createElement)("svg",{version:"1.1",xmlns:"http://www.w3.org/2000/svg",className:this.props.className},(0,i.createElement)("g",{stroke:"none",fill:"none","fill-rule":"evenodd"},(0,i.createElement)("polygon",{fill:"#000000",points:"0 0 22 0 11 17"})))},t}(i.Component);t.default=u}])});
+//# sourceMappingURL=accessible-autocomplete.min.js.map \ No newline at end of file
diff --git a/web/vendor/chart.min.js b/web/vendor/chart.min.js
new file mode 100644
index 000000000..899fbaf48
--- /dev/null
+++ b/web/vendor/chart.min.js
@@ -0,0 +1,79 @@
+Chart=function(){return function p(m,n,g){function l(a,c){if(!n[a]){if(!m[a]){var e="function"==typeof require&&require;if(!c&&e)return e(a,!0);if(f)return f(a,!0);e=Error("Cannot find module '"+a+"'");throw e.code="MODULE_NOT_FOUND",e;}e=n[a]={exports:{}};m[a][0].call(e.exports,function(e){var c=m[a][1][e];return l(c?c:e)},e,e.exports,p,m,n,g)}return n[a].exports}for(var f="function"==typeof require&&require,b=0;b<g.length;b++)l(g[b]);return l}({7:[function(p,m,n){n=p(28)();p(26)(n);p(40)(n);p(22)(n);
+p(25)(n);p(23)(n);p(24)(n);p(29)(n);p(32)(n);p(33)(n);p(31)(n);p(36)(n);p(37)(n);p(46)(n);p(44)(n);p(45)(n);p(18)(n);m.exports=n;window.Chart=n},{18:18,22:22,23:23,24:24,25:25,26:26,28:28,29:29,31:31,32:32,33:33,36:36,37:37,40:40,44:44,45:45,46:46}],18:[function(p,m,n){m.exports=function(g){var l=g.helpers;g.defaults.line={showLines:!0,spanGaps:!1,scales:{xAxes:[{type:"category",id:"x-axis-0"}],yAxes:[{type:"linear",id:"y-axis-0"}]}};g.controllers.line=g.DatasetController.extend({datasetElementType:g.elements.Line,
+dataElementType:g.elements.Point,update:function(f){var b=this.getMeta(),a=b.dataset,c=b.data||[],e=this.chart.options,d=e.elements.line,k=this.getScaleForId(b.yAxisID),h=this.getDataset();if(b=l.getValueOrDefault(h.showLine,e.showLines))a._scale=k,a._datasetIndex=this.index,a._children=c,a._model={spanGaps:h.spanGaps?h.spanGaps:e.spanGaps,tension:l.getValueOrDefault(h.lineTension,d.tension),backgroundColor:h.backgroundColor||d.backgroundColor,borderWidth:h.borderWidth||d.borderWidth,borderColor:h.borderColor||
+d.borderColor,borderCapStyle:h.borderCapStyle||d.borderCapStyle,borderDash:h.borderDash||d.borderDash,borderDashOffset:h.borderDashOffset||d.borderDashOffset,borderJoinStyle:h.borderJoinStyle||d.borderJoinStyle,steppedLine:l.getValueOrDefault(h.steppedLine,d.stepped)},a.pivot();e=0;for(d=c.length;e<d;++e)this.updateElement(c[e],e,f);b&&0!==a._model.tension&&this.updateBezierControlPoints();e=0;for(d=c.length;e<d;++e)c[e].pivot()},updateElement:function(f,b,a){var c=this.getMeta(),e=this.getDataset(),
+d=this.index,k=e.data[b],h=this.getScaleForId(c.yAxisID),V=this.getScaleForId(c.xAxisID),g=this.chart.options.elements.point,q;q=V.getPixelForValue("object"===typeof k?k:NaN,b,d,1===(this.chart.data.labels||[]).length||1===e.data.length||this.chart.isCombo);a=a?h.getBasePixel():this.calculatePointY(k,b,d);f._xScale=V;f._yScale=h;f._datasetIndex=d;f._index=b;f._model={x:q,y:a,skip:isNaN(q)||isNaN(a),radius:l.getValueAtIndexOrDefault(e.pointRadius,b,g.radius),pointStyle:l.getValueAtIndexOrDefault(e.pointStyle,
+b,g.pointStyle),backgroundColor:e.pointBackgroundColor,borderColor:e.borderColor,borderWidth:e.pointBorderWidth,tension:c.dataset._model?c.dataset._model.tension:0,steppedLine:c.dataset._model?c.dataset._model.steppedLine:!1}},calculatePointY:function(f,b,a){b=this.getMeta();return this.getScaleForId(b.yAxisID).getPixelForValue(f)},updateBezierControlPoints:function(){var f=this.getMeta(),b=this.chart.chartArea,a=f.data||[],c,e,d,k;f.dataset._model.spanGaps&&(a=a.filter(function(a){return!a._model.skip}));
+c=0;for(e=a.length;c<e;++c)d=a[c],d=d._model,k=l.splineCurve(l.previousItem(a,c)._model,d,l.nextItem(a,c)._model,f.dataset._model.tension),d.controlPointPreviousX=k.previous.x,d.controlPointPreviousY=k.previous.y,d.controlPointNextX=k.next.x,d.controlPointNextY=k.next.y;if(this.chart.options.elements.line.capBezierPoints)for(c=0,e=a.length;c<e;++c)d=a[c]._model,d.controlPointPreviousX=Math.max(Math.min(d.controlPointPreviousX,b.right),b.left),d.controlPointPreviousY=Math.max(Math.min(d.controlPointPreviousY,
+b.bottom),b.top),d.controlPointNextX=Math.max(Math.min(d.controlPointNextX,b.right),b.left),d.controlPointNextY=Math.max(Math.min(d.controlPointNextY,b.bottom),b.top)},draw:function(){var f=this.chart,b=this.getMeta(),a=b.data||[],c=f.chartArea,e=a.length,d=0;g.canvasHelpers.clipArea(f.ctx,c);var k=this.getDataset();l.getValueOrDefault(k.showLine,f.options.showLines)&&b.dataset.draw();for(g.canvasHelpers.unclipArea(f.ctx);d<e;++d)a[d].draw(c)}})}},{}],22:[function(p,m,n){m.exports=function(g){var l=
+g.canvasHelpers={};l.drawPoint=function(f,b,a,c,e){isNaN(a)||0>=a||(f.beginPath(),f.arc(c,e,a,0,2*Math.PI),f.closePath(),f.fill(),f.stroke())};l.clipArea=function(f,b){f.save();f.beginPath();f.rect(b.left,b.top,b.right-b.left,b.bottom-b.top);f.clip()};l.unclipArea=function(f){f.restore()};l.lineTo=function(f,b,a,c){a.steppedLine?("after"===a.steppedLine?f.lineTo(b.x,a.y):f.lineTo(a.x,b.y),f.lineTo(a.x,a.y)):a.tension?f.bezierCurveTo(c?b.controlPointPreviousX:b.controlPointNextX,c?b.controlPointPreviousY:
+b.controlPointNextY,c?a.controlPointNextX:a.controlPointPreviousX,c?a.controlPointNextY:a.controlPointPreviousY,a.x,a.y):f.lineTo(a.x,a.y)};g.helpers.canvas=l}},{}],23:[function(p,m,n){m.exports=function(g){function l(e){e=e||{};var c=e.data=e.data||{};c.datasets=c.datasets||[];c.labels=c.labels||[];e.options=a.configMerge(g.defaults.global,g.defaults[e.type],e.options||{});return e}function f(a){var c=a.options;c.scale?a.scale.options=c.scale:c.scales&&c.scales.xAxes.concat(c.scales.yAxes).forEach(function(c){a.scales[c.id].options=
+c})}function b(a){return"top"===a||"bottom"===a}var a=g.helpers,c=g.platform;g.types={};g.instances={};g.controllers={};a.extend(g.prototype,{construct:function(e,d){var b=this;d=l(d);var h=c.acquireContext(e,d),f=h&&h.canvas,N=f&&f.height,q=f&&f.width;b.id=a.uid();b.ctx=h;b.canvas=f;b.config=d;b.width=q;b.height=N;b.aspectRatio=N?q/N:null;b.options=d.options;b._bufferedRender=!1;b.chart=b;b.controller=b;g.instances[b.id]=b;Object.defineProperty(b,"data",{get:function(){return b.config.data},set:function(a){b.config.data=
+a}});h&&f?(b.initialize(),b.update()):console.error("Failed to create chart: can't acquire context from the given item")},initialize:function(){a.retinaScale(this);this.bindEvents();this.resize(!0);this.ensureScalesHaveIDs();this.buildScales();return this},clear:function(){a.clear(this);return this},resize:function(c){var b=this.canvas,k=this.options.maintainAspectRatio&&this.aspectRatio||null,h=Math.floor(a.getMaximumWidth(b)),k=Math.floor(k?h/k:a.getMaximumHeight(b));if(this.width!==h||this.height!==
+k)if(b.width=this.width=h,b.height=this.height=k,b.style.width=h+"px",b.style.height=k+"px",a.retinaScale(this),!c){c={width:h,height:k};if(this.options.onResize)this.options.onResize(this,c);this.update(0)}},ensureScalesHaveIDs:function(){var c=this.options,b=c.scales||{},c=c.scale;a.each(b.xAxes,function(a,c){a.id=a.id||"x-axis-"+c});a.each(b.yAxes,function(a,c){a.id=a.id||"y-axis-"+c});c&&(c.id=c.id||"scale")},buildScales:function(){var c=this,d=c.options,k=c.scales={},h=[];d.scales&&(h=h.concat((d.scales.xAxes||
+[]).map(function(a){return{options:a,dtype:"category",dposition:"bottom"}}),(d.scales.yAxes||[]).map(function(a){return{options:a,dtype:"linear",dposition:"left"}})));d.scale&&h.push({options:d.scale,dtype:"radialLinear",isDefault:!0,dposition:"chartArea"});a.each(h,function(d){var h=d.options,f=a.getValueOrDefault(h.type,d.dtype);if(f=g.scaleService.getScaleConstructor(f))b(h.position)!==b(d.dposition)&&(h.position=d.dposition),h=new f({id:h.id,options:h,ctx:c.ctx,chart:c}),k[h.id]=h,d.isDefault&&
+(c.scale=h)});g.scaleService.addScalesToLayout(this)},buildOrUpdateControllers:function(){var c=this,b=[],k=[];a.each(c.data.datasets,function(a,h){var f=c.getDatasetMeta(h);f.type||(f.type=a.type||c.config.type);b.push(f.type);if(f.controller)f.controller.updateIndex(h);else{var l=g.controllers[f.type];if(void 0===l)throw Error('"'+f.type+'" is not a chart type.');f.controller=new l(c,h);k.push(f.controller)}},c);if(1<b.length)for(var h=1;h<b.length;h++)if(b[h]!==b[h-1]){c.isCombo=!0;break}return k},
+update:function(c,b){var k=this;f(k);var h=k.buildOrUpdateControllers();a.each(k.data.datasets,function(a,c){k.getDatasetMeta(c).controller.buildOrUpdateElements()},k);k.updateLayout();a.each(h,function(a){a.reset()});k.updateDatasets();k._bufferedRender?k._bufferedRequest={lazy:b,duration:c}:k.render(c,b)},updateLayout:function(){g.layoutService.update(this,this.width,this.height)},updateDatasets:function(){for(var a=0,c=this.data.datasets.length;a<c;++a)this.updateDataset(a)},updateDataset:function(a){this.getDatasetMeta(a).controller.update()},
+render:function(c,b){var k=this.options.animation;this.draw();a.callback(k&&k.onComplete,[void 0],this);return this},draw:function(){var c=this;c.clear();c.transition();a.each(c.boxes,function(a){a.draw(c.chartArea)},c);c.scale&&c.scale.draw();c.drawDatasets()},transition:function(){for(var a=0,c=(this.data.datasets||[]).length;a<c;++a)this.isDatasetVisible(a)&&this.getDatasetMeta(a).controller.transition()},drawDatasets:function(){for(var a=(this.data.datasets||[]).length-1;0<=a;--a)this.isDatasetVisible(a)&&
+this.drawDataset(a)},drawDataset:function(a){this.getDatasetMeta(a).controller.draw()},getDatasetMeta:function(a){a=this.data.datasets[a];a._meta||(a._meta={});var c=a._meta[this.id];c||(c=a._meta[this.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null});return c},getVisibleDatasetCount:function(){for(var a=0,c=0,b=this.data.datasets.length;c<b;++c)this.isDatasetVisible(c)&&a++;return a},isDatasetVisible:function(a){var c=this.getDatasetMeta(a);return"boolean"===
+typeof c.hidden?!c.hidden:!this.data.datasets[a].hidden},bindEvents:function(){var a=this,b=a._listeners={},k=function(){a.resize()};c.addEventListener(a,"resize",k);b.resize=k}});g.Controller=g}},{}],24:[function(p,m,n){m.exports=function(g){function l(c,e){c._chartjs?c._chartjs.listeners.push(e):(Object.defineProperty(c,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[e]}}),a.forEach(function(a){var e="onData"+a.charAt(0).toUpperCase()+a.slice(1),h=c[a];Object.defineProperty(c,a,{configurable:!0,
+enumerable:!1,value:function(){var a=Array.prototype.slice.call(arguments),d=h.apply(this,a);b.each(c._chartjs.listeners,function(c){"function"===typeof c[e]&&c[e].apply(c,a)});return d}})}))}function f(c,b){var d=c._chartjs;if(d){var d=d.listeners,k=d.indexOf(b);-1!==k&&d.splice(k,1);0<d.length||(a.forEach(function(a){delete c[a]}),delete c._chartjs)}}var b=g.helpers,a=["push","pop","shift","splice","unshift"];g.DatasetController=function(a,b){this.initialize(a,b)};b.extend(g.DatasetController.prototype,
+{datasetElementType:null,dataElementType:null,initialize:function(a,b){this.chart=a;this.index=b;this.linkScales();this.addElements()},updateIndex:function(a){this.index=a},linkScales:function(){var a=this.getMeta(),b=this.getDataset();null===a.xAxisID&&(a.xAxisID=b.xAxisID||this.chart.options.scales.xAxes[0].id);null===a.yAxisID&&(a.yAxisID=b.yAxisID||this.chart.options.scales.yAxes[0].id)},getDataset:function(){return this.chart.data.datasets[this.index]},getMeta:function(){return this.chart.getDatasetMeta(this.index)},
+getScaleForId:function(a){return this.chart.scales[a]},reset:function(){this.update(!0)},createMetaDataset:function(){var a=this.datasetElementType;return a&&new a({_chart:this.chart,_datasetIndex:this.index})},createMetaData:function(a){var b=this.dataElementType;return b&&new b({_chart:this.chart,_datasetIndex:this.index,_index:a})},addElements:function(){var a=this.getMeta(),b=this.getDataset().data||[],d=a.data,k;k=0;for(b=b.length;k<b;++k)d[k]=d[k]||this.createMetaData(k);a.dataset=a.dataset||
+this.createMetaDataset()},addElementAndReset:function(a){var b=this.createMetaData(a);this.getMeta().data.splice(a,0,b);this.updateElement(b,a,!0)},buildOrUpdateElements:function(){var a=this.getDataset(),a=a.data||(a.data=[]);this._data!==a&&(this._data&&f(this._data,this),l(a,this),this._data=a);this.resyncElements()},update:b.noop,transition:function(){for(var a=this.getMeta(),b=a.data||[],d=b.length,k=0;k<d;++k)b[k].transition();a.dataset&&a.dataset.transition()},draw:function(){var a=this.getMeta(),
+b=a.data||[],d=b.length,k=0;for(a.dataset&&a.dataset.draw();k<d;++k)b[k].draw()},resyncElements:function(){var a=this.getMeta(),b=this.getDataset().data,d=a.data.length,b=b.length;b<d?a.data.splice(b,d-b):b>d&&this.insertElements(d,b-d)},insertElements:function(a,b){for(var d=0;d<b;++d)this.addElementAndReset(a+d)},onDataPush:function(){this.insertElements(this.getDataset().data.length-1,arguments.length)},onDataPop:function(){this.getMeta().data.pop()},onDataShift:function(){this.getMeta().data.shift()},
+onDataSplice:function(a,b){this.getMeta().data.splice(a,b);this.insertElements(a,arguments.length-2)},onDataUnshift:function(){this.insertElements(0,arguments.length)}});g.DatasetController.extend=b.inherits}},{}],25:[function(p,m,n){m.exports=function(g){var l=g.helpers;g.elements={};g.Element=function(f){l.extend(this,f);this.initialize.apply(this,arguments)};l.extend(g.Element.prototype,{initialize:function(){this.hidden=!1},pivot:function(){this._view||(this._view=l.clone(this._model));this._start=
+{};return this},transition:function(){this._view=this._model;this._start=null;return this},hasValue:function(){return l.isNumber(this._model.x)&&l.isNumber(this._model.y)}});g.Element.extend=l.inherits}},{}],26:[function(p,m,n){m.exports=function(g){function l(a,c,b){var d;"string"===typeof a?(d=parseInt(a,10),-1!==a.indexOf("%")&&(d=d/100*c.parentNode[b])):d=a;return d}function f(a,c,b){var d=document.defaultView,k=a.parentNode,h=d.getComputedStyle(a)[c];c=d.getComputedStyle(k)[c];var d=void 0!==
+h&&null!==h&&"none"!==h,f=void 0!==c&&null!==c&&"none"!==c,g=Number.POSITIVE_INFINITY;return d||f?Math.min(d?l(h,a,b):g,f?l(c,k,b):g):"none"}var b=g.helpers={};b.each=function(a,c,e,d){var k;if(b.isArray(a))if(k=a.length,d)for(d=k-1;0<=d;d--)c.call(e,a[d],d);else for(d=0;d<k;d++)c.call(e,a[d],d);else if("object"===typeof a){var h=Object.keys(a);k=h.length;for(d=0;d<k;d++)c.call(e,a[h[d]],h[d])}};b.clone=function(a){var c={};b.each(a,function(a,d){b.isArray(a)?c[d]=a.slice(0):c[d]="object"===typeof a&&
+null!==a?b.clone(a):a});return c};b.extend=function(a){for(var c=function(c,b){a[b]=c},e=1,d=arguments.length;e<d;e++)b.each(arguments[e],c);return a};b.configMerge=function(a){var c=b.clone(a);b.each(Array.prototype.slice.call(arguments,1),function(a){b.each(a,function(a,e){var h=c.hasOwnProperty(e),f=h?c[e]:{};"scales"===e?c[e]=b.scaleMerge(f,a):"scale"===e?c[e]=b.configMerge(f,g.scaleService.getScaleDefaults(a.type),a):!h||"object"!==typeof f||b.isArray(f)||null===f||"object"!==typeof a||b.isArray(a)?
+c[e]=a:c[e]=b.configMerge(f,a)})});return c};b.scaleMerge=function(a,c){var e=b.clone(a);b.each(c,function(a,c){"xAxes"===c||"yAxes"===c?e.hasOwnProperty(c)?b.each(a,function(a,d){var f=b.getValueOrDefault(a.type,"xAxes"===c?"category":"linear"),f=g.scaleService.getScaleDefaults(f);d>=e[c].length||!e[c][d].type?e[c].push(b.configMerge(f,a)):e[c][d]=a.type&&a.type!==e[c][d].type?b.configMerge(e[c][d],f,a):b.configMerge(e[c][d],a)}):(e[c]=[],b.each(a,function(a){var d=b.getValueOrDefault(a.type,"xAxes"===
+c?"category":"linear");e[c].push(b.configMerge(g.scaleService.getScaleDefaults(d),a))})):e.hasOwnProperty(c)&&"object"===typeof e[c]&&null!==e[c]&&"object"===typeof a?e[c]=b.configMerge(e[c],a):e[c]=a});return e};b.getValueAtIndexOrDefault=function(a,c,e){return void 0===a||null===a?e:b.isArray(a)?c<a.length?a[c]:e:a};b.getValueOrDefault=function(a,c){return void 0===a?c:a};b.indexOf=Array.prototype.indexOf?function(a,c){return a.indexOf(c)}:function(a,c){for(var b=0,d=a.length;b<d;++b)if(a[b]===
+c)return b;return-1};b.where=function(a,c){if(b.isArray(a)&&Array.prototype.filter)return a.filter(c);var e=[];b.each(a,function(a){c(a)&&e.push(a)});return e};b.findIndex=Array.prototype.findIndex?function(a,c,b){return a.findIndex(c,b)}:function(a,c,b){b=void 0===b?a:b;for(var d=0,k=a.length;d<k;++d)if(c.call(b,a[d],d,a))return d;return-1};b.findNextWhere=function(a,c,b){if(void 0===b||null===b)b=-1;for(b+=1;b<a.length;b++){var d=a[b];if(c(d))return d}};b.findPreviousWhere=function(a,c,b){if(void 0===
+b||null===b)b=a.length;for(--b;0<=b;b--){var d=a[b];if(c(d))return d}};b.inherits=function(a){var c=this,e=a&&a.hasOwnProperty("constructor")?a.constructor:function(){return c.apply(this,arguments)},d=function(){this.constructor=e};d.prototype=c.prototype;e.prototype=new d;e.extend=b.inherits;a&&b.extend(e.prototype,a);e.__super__=c.prototype;return e};b.noop=function(){};b.uid=function(){var a=0;return function(){return a++}}();b.isNumber=function(a){return!isNaN(parseFloat(a))&&isFinite(a)};b.almostEquals=
+function(a,c,b){return Math.abs(a-c)<b};b.almostWhole=function(a,c){var b=Math.round(a);return b-c<a&&b+c>a};b.max=function(a){return a.reduce(function(a,b){return isNaN(b)?a:Math.max(a,b)},Number.NEGATIVE_INFINITY)};b.min=function(a){return a.reduce(function(a,b){return isNaN(b)?a:Math.min(a,b)},Number.POSITIVE_INFINITY)};b.sign=Math.sign?function(a){return Math.sign(a)}:function(a){a=+a;return 0===a||isNaN(a)?a:0<a?1:-1};b.log10=Math.log10?function(a){return Math.log10(a)}:function(a){return Math.log(a)/
+Math.LN10};b.toRadians=function(a){return Math.PI/180*a};b.aliasPixel=function(a){return 0===a%2?0:.5};b.splineCurve=function(a,c,b,d){a=a.skip?c:a;b=b.skip?c:b;var k=Math.sqrt(Math.pow(c.x-a.x,2)+Math.pow(c.y-a.y,2)),f=Math.sqrt(Math.pow(b.x-c.x,2)+Math.pow(b.y-c.y,2)),g=k/(k+f),k=f/(k+f),g=isNaN(g)?0:g,k=isNaN(k)?0:k,g=d*g;d*=k;return{previous:{x:c.x-g*(b.x-a.x),y:c.y-g*(b.y-a.y)},next:{x:c.x+d*(b.x-a.x),y:c.y+d*(b.y-a.y)}}};b.nextItem=function(a,c,b){return b?c>=a.length-1?a[0]:a[c+1]:c>=a.length-
+1?a[a.length-1]:a[c+1]};b.previousItem=function(a,b,e){return e?0>=b?a[a.length-1]:a[b-1]:0>=b?a[0]:a[b-1]};b.niceNum=function(a,c){var e=Math.floor(b.log10(a)),d=a/Math.pow(10,e);return(c?1.5>d?1:3>d?2:7>d?5:10:1>=d?1:2>=d?2:5>=d?5:10)*Math.pow(10,e)};b.requestAnimFrame=function(){return"undefined"===typeof window?function(a){a()}:window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){return window.setTimeout(a,
+1E3/60)}}();b.addEvent=function(a,b,e){a.addEventListener?a.addEventListener(b,e):a.attachEvent?a.attachEvent("on"+b,e):a["on"+b]=e};b.getConstraintWidth=function(a){return f(a,"max-width","clientWidth")};b.getConstraintHeight=function(a){return f(a,"max-height","clientHeight")};b.getMaximumWidth=function(a){var c=a.parentNode,e=parseInt(b.getStyle(c,"padding-left"),10),d=parseInt(b.getStyle(c,"padding-right"),10),c=c.clientWidth-e-d;a=b.getConstraintWidth(a);return isNaN(a)?c:Math.min(c,a)};b.getMaximumHeight=
+function(a){var c=a.parentNode,e=parseInt(b.getStyle(c,"padding-top"),10),d=parseInt(b.getStyle(c,"padding-bottom"),10),c=c.clientHeight-e-d;a=b.getConstraintHeight(a);return isNaN(a)?c:Math.min(c,a)};b.getStyle=function(a,b){return a.currentStyle?a.currentStyle[b]:document.defaultView.getComputedStyle(a,null).getPropertyValue(b)};b.retinaScale=function(a){var b=a.currentDevicePixelRatio=window.devicePixelRatio||1;if(1!==b){var e=a.canvas,d=a.height,f=a.width;e.height=d*b;e.width=f*b;a.ctx.scale(b,
+b);e.style.height=d+"px";e.style.width=f+"px"}};b.clear=function(a){a.ctx.clearRect(0,0,a.width,a.height)};b.fontString=function(a,b,e){return b+" "+a+"px "+e};b.longestText=function(a,c,e,d){d=d||{};var f=d.data=d.data||{},h=d.garbageCollect=d.garbageCollect||[];d.font!==c&&(f=d.data={},h=d.garbageCollect=[],d.font=c);a.font=c;var g=0;b.each(e,function(c){void 0!==c&&null!==c&&!0!==b.isArray(c)?g=b.measureText(a,f,h,g,c):b.isArray(c)&&b.each(c,function(c){void 0===c||null===c||b.isArray(c)||(g=b.measureText(a,
+f,h,g,c))})});c=h.length/2;if(c>e.length){for(e=0;e<c;e++)delete f[h[e]];h.splice(0,c)}return g};b.measureText=function(a,b,e,d,f){var h=b[f];h||(h=b[f]=a.measureText(f).width,e.push(f));h>d&&(d=h);return d};b.numberOfLabelLines=function(a){var c=1;b.each(a,function(a){b.isArray(a)&&a.length>c&&(c=a.length)});return c};b.isArray=Array.isArray?function(a){return Array.isArray(a)}:function(a){return"[object Array]"===Object.prototype.toString.call(a)};b.arrayEquals=function(a,c){var e,d,f,h;if(!a||
+!c||a.length!==c.length)return!1;e=0;for(d=a.length;e<d;++e)if(f=a[e],h=c[e],f instanceof Array&&h instanceof Array){if(!b.arrayEquals(f,h))return!1}else if(f!==h)return!1;return!0};b.callback=function(a,b,e){a&&"function"===typeof a.call&&a.apply(e,b)};b.callCallback=b.callback}},{}],28:[function(p,m,n){m.exports=function(){var g=function(g,f){this.construct(g,f);return this};g.defaults={global:{maintainAspectRatio:!0,defaultColor:"rgba(0,0,0,0.1)",defaultFontColor:"#666",defaultFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",
+defaultFontSize:12,defaultFontStyle:"normal",showLines:!0,elements:{}}};return g.Chart=g}},{}],29:[function(p,m,n){m.exports=function(g){function l(a,c){return b.where(a,function(a){return a.position===c})}function f(a,b){a.forEach(function(a,b){a._tmpIndex_=b;return a});a.sort(function(a,d){var f=b?d:a,h=b?a:d;return f.weight===h.weight?f._tmpIndex_-h._tmpIndex_:f.weight-h.weight});a.forEach(function(a){delete a._tmpIndex_})}var b=g.helpers;g.layoutService={defaults:{},addBox:function(a,b){a.boxes||
+(a.boxes=[]);b.fullWidth=b.fullWidth||!1;b.position=b.position||"top";b.weight=b.weight||0;a.boxes.push(b)},removeBox:function(a,b){var e=a.boxes?a.boxes.indexOf(b):-1;-1!==e&&a.boxes.splice(e,1)},configure:function(a,b,e){a=["fullWidth","position","weight"];for(var d=a.length,f=0,h;f<d;++f)h=a[f],e.hasOwnProperty(h)&&(b[h]=e[h])},update:function(a,c,e){function d(a){var b,c=a.isHorizontal();c?(b=a.update(a.fullWidth?z:B,Q),D-=b.height):(b=a.update(R,J),B-=b.width);S.push({horizontal:c,minSize:b,
+box:a})}function k(a){var c=b.findNextWhere(S,function(b){return b.box===a});c&&(a.isHorizontal()?a.update(a.fullWidth?z:B,I/2,{left:Math.max(r,K),right:Math.max(y,L),top:0,bottom:0}):a.update(c.minSize.width,D))}function h(a){var c=b.findNextWhere(S,function(b){return b.box===a}),d={left:0,right:0,top:v,bottom:E};c&&a.update(c.minSize.width,D,d)}function g(a){a.isHorizontal()?(a.left=a.fullWidth?n:r,a.right=a.fullWidth?c-p:r+B,a.top=A,a.bottom=A+a.height,A=a.bottom):(a.left=F,a.right=F+a.width,a.top=
+v,a.bottom=v+D,F=a.right)}if(a){var m=a.options.layout,q=m?m.padding:null,n=0,p=0,t=m=0;isNaN(q)?(n=q.left||0,p=q.right||0,m=q.top||0,t=q.bottom||0):t=m=p=n=q;var q=l(a.boxes,"left"),w=l(a.boxes,"right"),x=l(a.boxes,"top"),u=l(a.boxes,"bottom"),M=l(a.boxes,"chartArea");f(q,!0);f(w,!1);f(x,!0);f(u,!1);var z=c-n-p,I=e-m-t,J=I/2,R=(c-z/2)/(q.length+w.length),Q=(e-J)/(x.length+u.length),B=z,D=I,S=[];b.each(q.concat(w,x,u),d);var K=0,L=0,T=0,U=0;b.each(x.concat(u),function(a){a.getPadding&&(a=a.getPadding(),
+K=Math.max(K,a.left),L=Math.max(L,a.right))});b.each(q.concat(w),function(a){a.getPadding&&(a=a.getPadding(),T=Math.max(T,a.top),U=Math.max(U,a.bottom))});var r=n,y=p,v=m,E=t;b.each(q.concat(w),k);b.each(q,function(a){r+=a.width});b.each(w,function(a){y+=a.width});b.each(x.concat(u),k);b.each(x,function(a){v+=a.height});b.each(u,function(a){E+=a.height});b.each(q.concat(w),h);r=n;y=p;v=m;E=t;b.each(q,function(a){r+=a.width});b.each(w,function(a){y+=a.width});b.each(x,function(a){v+=a.height});b.each(u,
+function(a){E+=a.height});var t=Math.max(K-r,0),r=r+t,y=y+Math.max(L-y,0),X=Math.max(T-v,0),v=v+X,E=E+Math.max(U-E,0),G=e-v-E,H=c-r-y;if(H!==B||G!==D)b.each(q,function(a){a.height=G}),b.each(w,function(a){a.height=G}),b.each(x,function(a){a.fullWidth||(a.width=H)}),b.each(u,function(a){a.fullWidth||(a.width=H)}),D=G,B=H;var F=n+t,A=m+X;b.each(q.concat(x),g);F+=B;A+=D;b.each(w,g);b.each(u,g);a.chartArea={left:r,top:v,right:r+B,bottom:v+D};b.each(M,function(b){b.left=a.chartArea.left;b.top=a.chartArea.top;
+b.right=a.chartArea.right;b.bottom=a.chartArea.bottom;b.update(B,D)})}}}}},{}],31:[function(p,m,n){m.exports=function(g){function l(a,c,e){return b.isArray(c)?b.longestText(a,e,c):a.measureText(c).width}function f(a){var c=g.defaults.global;a=c.defaultFontSize;var e=c.defaultFontStyle,c=c.defaultFontFamily;return{size:a,style:e,family:c,font:b.fontString(a,e,c)}}var b=g.helpers;g.defaults.scale={display:!0,position:"left",gridLines:{display:!0,color:"rgba(0, 0, 0, 0.1)",lineWidth:1,drawOnChartArea:!0,
+drawTicks:!0,tickMarkLength:10,zeroLineWidth:1,zeroLineColor:"rgba(0,0,0,0.25)",zeroLineBorderDash:[],zeroLineBorderDashOffset:0,offsetGridLines:!1,borderDash:[],borderDashOffset:0},ticks:{minRotation:0,maxRotation:50,mirror:!1,padding:0,reverse:!1,display:!0,autoSkip:!0,autoSkipPadding:0,labelOffset:0,callback:g.Ticks.formatters.values}};g.Scale=g.Element.extend({getPadding:function(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}},
+update:function(a,c,e){this.maxWidth=a;this.maxHeight=c;this.margins=b.extend({left:0,right:0,top:0,bottom:0},e);this.longestTextCache=this.longestTextCache||{};this.setDimensions();this.determineDataLimits();this.buildTicks();this.convertTicksToLabels();this.calculateTickRotation();this.fit();return this.minSize},setDimensions:function(){this.isHorizontal()?(this.width=this.maxWidth,this.left=0,this.right=this.width):(this.height=this.maxHeight,this.top=0,this.bottom=this.height);this.paddingBottom=
+this.paddingRight=this.paddingTop=this.paddingLeft=0},determineDataLimits:b.noop,buildTicks:b.noop,convertTicksToLabels:function(){var a=this.options.ticks;this.ticks=this.ticks.map(a.userCallback||a.callback)},calculateTickRotation:function(){var a=this.ctx,c=this.options.ticks,e=f(c);a.font=e.font;var d=c.minRotation||0;if(this.options.display&&this.isHorizontal())for(var k=a=b.longestText(a,e.font,this.ticks,this.longestTextCache),h,e=this.getPixelForTick(1)-this.getPixelForTick(0)-6;k>e&&d<c.maxRotation;){h=
+b.toRadians(d);k=Math.cos(h);h=Math.sin(h);if(h*a>this.maxHeight){d--;break}d++;k*=a}this.labelRotation=d},fit:function(){var a=this.minSize={width:0,height:0},c=this.options,e=c.ticks,d=c.gridLines,k=c.display,h=this.isHorizontal(),g=f(e),m=c.gridLines.tickMarkLength;a.width=h?this.isFullWidth()?this.maxWidth-this.margins.left-this.margins.right:this.maxWidth:k&&d.drawTicks?m:0;a.height=h?k&&d.drawTicks?m:0:this.maxHeight;e.display&&k&&(k=b.longestText(this.ctx,g.font,this.ticks,this.longestTextCache),
+m=b.numberOfLabelLines(this.ticks),d=.5*g.size,h?(this.longestLabelWidth=k,h=b.toRadians(this.labelRotation),e=Math.cos(h),a.height=Math.min(this.maxHeight,a.height+(Math.sin(h)*k+g.size*m+d*m)),this.ctx.font=g.font,h=l(this.ctx,this.ticks[0],g.font),g=l(this.ctx,this.ticks[this.ticks.length-1],g.font),0!==this.labelRotation?(this.paddingLeft="bottom"===c.position?e*h+3:e*d+3,this.paddingRight="bottom"===c.position?e*d+3:e*g+3):(this.paddingLeft=h/2+3,this.paddingRight=g/2+3)):(k=e.mirror?0:k+this.options.ticks.padding,
+a.width=Math.min(this.maxWidth,a.width+k),this.paddingTop=g.size/2,this.paddingBottom=g.size/2));this.handleMargins();this.width=a.width;this.height=a.height},handleMargins:function(){this.margins&&(this.paddingLeft=Math.max(this.paddingLeft-this.margins.left,0),this.paddingTop=Math.max(this.paddingTop-this.margins.top,0),this.paddingRight=Math.max(this.paddingRight-this.margins.right,0),this.paddingBottom=Math.max(this.paddingBottom-this.margins.bottom,0))},isHorizontal:function(){return"top"===
+this.options.position||"bottom"===this.options.position},isFullWidth:function(){return this.options.fullWidth},getRightValue:function(a){return null===a||"undefined"===typeof a||"number"===typeof a&&!isFinite(a)?NaN:"object"===typeof a?a instanceof Date||a.isValid?a:this.getRightValue(this.isHorizontal()?a.x:a.y):a},getPixelForValue:b.noop,getValueForPixel:b.noop,getPixelForTick:function(a,b){if(this.isHorizontal()){var e=(this.width-(this.paddingLeft+this.paddingRight))/Math.max(this.ticks.length-
+(this.options.gridLines.offsetGridLines?0:1),1),d=e*a+this.paddingLeft;b&&(d+=e/2);e=this.left+Math.round(d);return e+=this.isFullWidth()?this.margins.left:0}return this.top+(this.height-(this.paddingTop+this.paddingBottom))/(this.ticks.length-1)*a},getPixelForDecimal:function(a){return this.isHorizontal()?(a=this.left+Math.round((this.width-(this.paddingLeft+this.paddingRight))*a+this.paddingLeft),a+=this.isFullWidth()?this.margins.left:0):this.top+a*this.height},getBasePixel:function(){return this.getPixelForValue(this.getBaseValue())},
+getBaseValue:function(){var a=this.min,b=this.max;return 0>a&&0>b?b:0<a&&0<b?a:0},draw:function(a){var c=this,e=c.options;if(e.display){var d=c.ctx,k=g.defaults.global,h=e.ticks,l=e.gridLines,m=0!==c.labelRotation,n,p=h.autoSkip,W=c.isHorizontal(),t;h.maxTicksLimit&&(t=h.maxTicksLimit);var w=b.getValueOrDefault(h.fontColor,k.defaultFontColor),x=f(h),u=l.drawTicks?l.tickMarkLength:0,M=b.toRadians(c.labelRotation),z=c.longestLabelWidth*Math.cos(M);d.fillStyle=w;var I=[];if(W){n=!1;(z+h.autoSkipPadding)*
+c.ticks.length>c.width-(c.paddingLeft+c.paddingRight)&&(n=1+Math.floor((z+h.autoSkipPadding)*c.ticks.length/(c.width-(c.paddingLeft+c.paddingRight))));if(t&&c.ticks.length>t)for(;!n||c.ticks.length/(n||1)>t;)n||(n=1),n+=1;p||(n=!1)}var J="right"===e.position?c.left:c.right-u,R="right"===e.position?c.left+u:c.right,Q="bottom"===e.position?c.top:c.bottom-u,B="bottom"===e.position?c.top+u:c.bottom;b.each(c.ticks,function(d,f){if(void 0!==d&&null!==d){var g=c.ticks.length===f+1;if((!(1<n&&0<f%n||0===
+f%n&&f+n>=c.ticks.length)||g)&&void 0!==d&&null!==d){var p,t,w;f===("undefined"!==typeof c.zeroLineIndex?c.zeroLineIndex:0)?(g=l.zeroLineWidth,p=l.zeroLineColor,t=l.zeroLineBorderDash,w=l.zeroLineBorderDashOffset):(g=b.getValueAtIndexOrDefault(l.lineWidth,f),p=b.getValueAtIndexOrDefault(l.color,f),t=b.getValueOrDefault(l.borderDash,k.borderDash),w=b.getValueOrDefault(l.borderDashOffset,k.borderDashOffset));var r,y,v,x,O,G,H,F,A,C,z,P="middle";W?("bottom"===e.position?(P=m?"middle":"top",z=m?"right":
+"center",C=c.top+u):(P=m?"middle":"bottom",z=m?"left":"center",C=c.bottom-u),r=c.getPixelForTick(f)+b.aliasPixel(g),A=c.getPixelForTick(f,l.offsetGridLines)+h.labelOffset,r=v=O=H=r,y=Q,x=B,G=a.top,F=a.bottom):(A="left"===e.position,C=h.padding,h.mirror?z=A?"left":"right":(z=A?"right":"left",C=u+C),A=A?c.right-C:c.left+C,y=c.getPixelForTick(f),y+=b.aliasPixel(g),C=c.getPixelForTick(f,l.offsetGridLines),r=J,v=R,O=a.left,H=a.right,y=x=G=F=y);I.push({tx1:r,ty1:y,tx2:v,ty2:x,x1:O,y1:G,x2:H,y2:F,labelX:A,
+labelY:C,glWidth:g,glColor:p,glBorderDash:t,glBorderDashOffset:w,rotation:-1*M,label:d,textBaseline:P,textAlign:z})}}});b.each(I,function(a){l.display&&(d.save(),d.lineWidth=a.glWidth,d.strokeStyle=a.glColor,d.setLineDash&&(d.setLineDash(a.glBorderDash),d.lineDashOffset=a.glBorderDashOffset),d.beginPath(),l.drawTicks&&(d.moveTo(a.tx1,a.ty1),d.lineTo(a.tx2,a.ty2)),l.drawOnChartArea&&(d.moveTo(a.x1,a.y1),d.lineTo(a.x2,a.y2)),d.stroke(),d.restore());if(h.display){d.save();d.translate(a.labelX,a.labelY);
+d.rotate(a.rotation);d.font=x.font;d.textBaseline=a.textBaseline;d.textAlign=a.textAlign;a=a.label;if(b.isArray(a))for(var c=0,e=0;c<a.length;++c)d.fillText(""+a[c],0,e),e+=1.5*x.size;else d.fillText(a,0,0);d.restore()}})}}})}},{}],32:[function(p,m,n){m.exports=function(g){var l=g.helpers;g.scaleService={constructors:{},defaults:{},registerScaleType:function(f,b,a){this.constructors[f]=b;this.defaults[f]=l.clone(a)},getScaleConstructor:function(f){return this.constructors.hasOwnProperty(f)?this.constructors[f]:
+void 0},getScaleDefaults:function(f){return this.defaults.hasOwnProperty(f)?l.scaleMerge(g.defaults.scale,this.defaults[f]):{}},updateScaleDefaults:function(f,b){var a=this.defaults;a.hasOwnProperty(f)&&(a[f]=l.extend(a[f],b))},addScalesToLayout:function(f){l.each(f.scales,function(b){b.fullWidth=b.options.fullWidth;b.position=b.options.position;b.weight=b.options.weight;g.layoutService.addBox(f,b)})}}}},{}],33:[function(p,m,n){m.exports=function(g){var l=g.helpers;g.Ticks={generators:{linear:function(f,
+b){var a=[],c;f.stepSize&&0<f.stepSize?c=f.stepSize:(c=l.niceNum(b.max-b.min,!1),c=l.niceNum(c/(f.maxTicks-1),!0));var e=Math.floor(b.min/c)*c,d=Math.ceil(b.max/c)*c;f.min&&f.max&&f.stepSize&&l.almostWhole((f.max-f.min)/f.stepSize,c/1E3)&&(e=f.min,d=f.max);var g=(d-e)/c,g=l.almostEquals(g,Math.round(g),c/1E3)?Math.round(g):Math.ceil(g);a.push(void 0!==f.min?f.min:e);for(var h=1;h<g;++h)a.push(e+h*c);a.push(void 0!==f.max?f.max:d);return a}},formatters:{values:function(f){return l.isArray(f)?f:""+
+f},linear:function(f,b,a){b=3<a.length?a[2]-a[1]:a[1]-a[0];1<Math.abs(b)&&f!==Math.floor(f)&&(b=f-Math.floor(f));b=l.log10(Math.abs(b));0!==f?(b=-1*Math.floor(b),b=Math.max(Math.min(b,20),0),f=f.toFixed(b)):f="0";return f}}}}},{}],36:[function(p,m,n){m.exports=function(g){var l=g.helpers,f=g.defaults.global;g.defaults.global.elements.line={tension:.4,backgroundColor:f.defaultColor,borderWidth:3,borderColor:f.defaultColor,borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",
+capBezierPoints:!0};g.elements.Line=g.Element.extend({draw:function(){var b=this._view,a=this._chart.ctx,c=b.spanGaps,e=this._children.slice(),d=f.elements.line,g,h,m;this._loop&&e.length&&e.push(e[0]);a.save();a.lineCap=b.borderCapStyle||d.borderCapStyle;a.setLineDash&&a.setLineDash(b.borderDash||d.borderDash);a.lineDashOffset=b.borderDashOffset||d.borderDashOffset;a.lineJoin=b.borderJoinStyle||d.borderJoinStyle;a.lineWidth=b.borderWidth||d.borderWidth;a.strokeStyle=b.borderColor||f.defaultColor;
+a.beginPath();b=-1;for(d=0;d<e.length;++d)g=e[d],h=l.previousItem(e,d),m=g._view,0===d?m.skip||(a.moveTo(m.x,m.y),b=d):(h=-1===b?h:e[b],m.skip||(b!==d-1&&!c||-1===b?a.moveTo(m.x,m.y):l.canvas.lineTo(a,h._view,g._view),b=d));a.stroke();a.restore()}})}},{}],37:[function(p,m,n){m.exports=function(g){var l=g.helpers,f=g.defaults.global,b=f.defaultColor;f.elements.point={radius:3,pointStyle:"circle",backgroundColor:b,borderWidth:0,borderColor:b};g.elements.Point=g.Element.extend({getCenterPoint:function(){var a=
+this._view;return{x:a.x,y:a.y}},getArea:function(){return Math.PI*Math.pow(this._view.radius,2)},draw:function(a){a=this._view;var c=this._chart.ctx,e=a.pointStyle,d=a.radius,k=a.x,h=a.y;a.skip||(c.strokeStyle=a.borderColor||b,c.lineWidth=l.getValueOrDefault(a.borderWidth,f.elements.point.borderWidth),c.fillStyle=a.backgroundColor||b,g.canvasHelpers.drawPoint(c,e,d,k,h))}})}},{}],39:[function(p,m,n){m.exports=function(g){function l(b,e){var d=a.getStyle(b,e);return(d=d&&d.match(/^(\d+)(\.\d+)?px$/))?
+Number(d[1]):void 0}function f(b){var e=document.createElement("iframe");e.className="chartjs-hidden-iframe";e.style.cssText="display:block;overflow:hidden;border:0;margin:0;top:0;left:0;bottom:0;right:0;height:100%;width:100%;position:absolute;pointer-events:none;z-index:-1;";e.tabIndex=-1;a.addEvent(e,"load",function(){a.addEvent(e.contentWindow||e,"resize",b);b()});return e}function b(b,e,d){var g=b._chartjs={ticking:!1};g.resizer=f(function(){g.ticking||(g.ticking=!0,a.requestAnimFrame.call(window,
+function(){if(g.resizer)return g.ticking=!1,e({type:"resize",chart:d,"native":null,x:null,y:null})}))});b.insertBefore(g.resizer,b.firstChild)}var a=g.helpers;return{acquireContext:function(a,b){"string"===typeof a?a=document.getElementById(a):a.length&&(a=a[0]);a&&a.canvas&&(a=a.canvas);var d=a&&a.getContext&&a.getContext("2d");if(d&&d.canvas===a){var f=a,g=f.style,m=f.getAttribute("height"),n=f.getAttribute("width");f._chartjs={initial:{height:m,width:n,style:{display:g.display,height:g.height,
+width:g.width}}};g.display=g.display||"block";if(null===n||""===n){var p=l(f,"width");void 0!==p&&(f.width=p)}if(null===m||""===m)""===f.style.height?f.height=f.width/(b.options.aspectRatio||2):(g=l(f,"height"),void 0!==p&&(f.height=g));return d}return null},addEventListener:function(a,e,d){var f=a.canvas;"resize"===e&&b(f.parentNode,d,a)}}}},{}],40:[function(p,m,n){var g=p(39);m.exports=function(l){l.platform=g(l)}},{39:39}],44:[function(p,m,n){m.exports=function(g){var l=g.helpers,f=g.Scale.extend({getLabels:function(){var b=
+this.chart.data;return(this.isHorizontal()?b.xLabels:b.yLabels)||b.labels},determineDataLimits:function(){var b=this.getLabels();this.minIndex=0;this.maxIndex=b.length-1;var a;void 0!==this.options.ticks.min&&(a=l.indexOf(b,this.options.ticks.min),this.minIndex=-1!==a?a:this.minIndex);void 0!==this.options.ticks.max&&(a=l.indexOf(b,this.options.ticks.max),this.maxIndex=-1!==a?a:this.maxIndex);this.min=b[this.minIndex];this.max=b[this.maxIndex]},buildTicks:function(){var b=this.getLabels();this.ticks=
+0===this.minIndex&&this.maxIndex===b.length-1?b:b.slice(this.minIndex,this.maxIndex+1)},getPixelForValue:function(b,a,c,e){c=Math.max(this.maxIndex+1-this.minIndex-(this.options.gridLines.offsetGridLines?0:1),1);var d;void 0!==b&&null!==b&&(d=this.isHorizontal()?b.x:b.y);if(void 0!==d||void 0!==b&&isNaN(a))b=this.getLabels().indexOf(d||b),a=-1!==b?b:a;if(this.isHorizontal()){b=this.width/c;a=b*(a-this.minIndex);if(this.options.gridLines.offsetGridLines&&e||this.maxIndex===this.minIndex&&e)a+=b/2;
+return this.left+Math.round(a)}b=this.height/c;a=b*(a-this.minIndex);this.options.gridLines.offsetGridLines&&e&&(a+=b/2);return this.top+Math.round(a)},getPixelForTick:function(b,a){return this.getPixelForValue(this.ticks[b],b+this.minIndex,null,a)},getValueForPixel:function(b){var a=Math.max(this.ticks.length-(this.options.gridLines.offsetGridLines?0:1),1),c=this.isHorizontal(),a=(c?this.width:this.height)/a;b-=c?this.left:this.top;this.options.gridLines.offsetGridLines&&(b-=a/2);return 0>=b?0:Math.round(b/
+a)},getBasePixel:function(){return this.bottom}});g.scaleService.registerScaleType("category",f,{position:"bottom"})}},{}],45:[function(p,m,n){m.exports=function(g){var l=g.helpers,f={position:"left",ticks:{callback:g.Ticks.formatters.linear}},b=g.LinearScaleBase.extend({determineDataLimits:function(){var a=this,b=a.chart,e=b.data.datasets,d=a.isHorizontal();a.min=null;a.max=null;l.each(e,function(e,f){var g=b.getDatasetMeta(f);b.isDatasetVisible(f)&&(d?g.xAxisID===a.id:g.yAxisID===a.id)&&l.each(e.data,
+function(b,c){var d=+a.getRightValue(b);isNaN(d)||g.data[c].hidden||(null===a.min?a.min=d:d<a.min&&(a.min=d),null===a.max?a.max=d:d>a.max&&(a.max=d))})});a.min=isFinite(a.min)?a.min:0;a.max=isFinite(a.max)?a.max:1;this.handleTickRangeOptions()},getTickLimit:function(){var a;a=this.options.ticks;if(this.isHorizontal())a=Math.min(a.maxTicksLimit?a.maxTicksLimit:11,Math.ceil(this.width/50));else{var b=l.getValueOrDefault(a.fontSize,g.defaults.global.defaultFontSize);a=Math.min(a.maxTicksLimit?a.maxTicksLimit:
+11,Math.ceil(this.height/(2*b)))}return a},handleDirectionalChanges:function(){this.isHorizontal()||this.ticks.reverse()},getPixelForValue:function(a){var b=this.start;a=+this.getRightValue(a);var e=this.end-b;if(this.isHorizontal())return b=this.left+this.width/e*(a-b),Math.round(b);b=this.bottom-this.height/e*(a-b);return Math.round(b)},getValueForPixel:function(a){var b=this.isHorizontal();return this.start+(b?a-this.left:this.bottom-a)/(b?this.width:this.height)*(this.end-this.start)},getPixelForTick:function(a){return this.getPixelForValue(this.ticksAsNumbers[a])}});
+g.scaleService.registerScaleType("linear",b,f)}},{}],46:[function(p,m,n){m.exports=function(g){var l=g.helpers,f=l.noop;g.LinearScaleBase=g.Scale.extend({handleTickRangeOptions:function(){var b=this.options.ticks;void 0!==b.min?this.min=b.min:void 0!==b.suggestedMin&&(this.min=null===this.min?b.suggestedMin:Math.min(this.min,b.suggestedMin));void 0!==b.max?this.max=b.max:void 0!==b.suggestedMax&&(this.max=null===this.max?b.suggestedMax:Math.max(this.max,b.suggestedMax));this.min===this.max&&(this.max++,
+this.min--)},getTickLimit:f,handleDirectionalChanges:f,buildTicks:function(){var b=this.options.ticks,a=this.getTickLimit(),a=Math.max(2,a),a={maxTicks:a,min:b.min,max:b.max,stepSize:l.getValueOrDefault(b.fixedStepSize,b.stepSize)},a=this.ticks=g.Ticks.generators.linear(a,this);this.handleDirectionalChanges();this.max=l.max(a);this.min=l.min(a);b.reverse?(a.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max)},convertTicksToLabels:function(){this.ticksAsNumbers=
+this.ticks.slice();this.zeroLineIndex=this.ticks.indexOf(0);g.Scale.prototype.convertTicksToLabels.call(this)}})}},{}]},{},[7])(7)}();
diff --git a/web/vendor/dropzone.min.js b/web/vendor/dropzone.min.js
new file mode 100644
index 000000000..dd326fc51
--- /dev/null
+++ b/web/vendor/dropzone.min.js
@@ -0,0 +1 @@
+(function(){var a={};window.EXIF=a;function b(f,d){var l="";for(var e=d;e<d+4;e++){l+=String.fromCharCode(f.getUint8(e))}if(l!="Exif"){return false}var j,m=d+6;if(f.getUint16(m)==18761){j=false}else{if(f.getUint16(m)==19789){j=true}else{return false}}if(f.getUint16(m+2,!j)!=42){return false}var c=f.getUint32(m+4,!j);if(c<8){return false}var p=m+c,h=f.getUint16(p,!j),o={},k,g;for(g=0;g<h;g++){k=p+g*12+2;if(f.getUint16(k,!j)==274){return parseInt(f.getUint16(k+8,!j),10)}}return false}a.getData=function(l){if((l instanceof Image||l instanceof HTMLImageElement)&&!l.complete){return false}var k=l.src;if(k.match(/^http/)){var d=document.createElement("canvas"),q=d.getContext("2d");d.width=l.width;d.height=l.height;q.drawImage(l,0,0);k=d.toDataURL("image/jpeg")}var m=k.replace(/^data\:([^\;]+)\;base64,/gmi,"");var j=atob(m);var n=j.length;var e=new ArrayBuffer(n);var o=new Uint8Array(e);for(var h=0;h<n;h++){o[h]=j.charCodeAt(h)}var p=new DataView(e);if((p.getUint8(0)!=255)||(p.getUint8(1)!=216)){return false}var f=2,c=e.byteLength,g;while(f<c){if(p.getUint8(f)!=255){return false}g=p.getUint8(f+1);if(g==225){return b(p,f+4)}else{f+=2+p.getUint16(f+2)}}}})();(function(){var g,i,f,c,d,b,e,l,k,j=[].slice,a=function(p,n){for(var m in n){if(h.call(n,m)){p[m]=n[m]}}function o(){this.constructor=p}o.prototype=n.prototype;p.prototype=new o();p.__super__=n.prototype;return p},h={}.hasOwnProperty;l=function(){};i=(function(){function m(){}m.prototype.addEventListener=m.prototype.on;m.prototype.on=function(o,n){this._callbacks=this._callbacks||{};if(!this._callbacks[o]){this._callbacks[o]=[]}this._callbacks[o].push(n);return this};m.prototype.emit=function(){var p,s,r,q,o,n;q=arguments[0],p=2<=arguments.length?j.call(arguments,1):[];this._callbacks=this._callbacks||{};r=this._callbacks[q];if(r){for(o=0,n=r.length;o<n;o++){s=r[o];s.apply(this,p)}}return this};m.prototype.removeListener=m.prototype.off;m.prototype.removeAllListeners=m.prototype.off;m.prototype.removeEventListener=m.prototype.off;m.prototype.off=function(s,q){var t,r,p,o,n;if(!this._callbacks||arguments.length===0){this._callbacks={};return this}r=this._callbacks[s];if(!r){return this}if(arguments.length===1){delete this._callbacks[s];return this}for(p=o=0,n=r.length;o<n;p=++o){t=r[p];if(t===q){r.splice(p,1);break}}return this};return m})();g=(function(o){var p,m;a(n,o);n.prototype.Emitter=i;n.prototype.events=["drop","dragstart","dragend","dragenter","dragover","dragleave","addedfile","addedfiles","removedfile","thumbnail","error","errormultiple","processing","processingmultiple","uploadprogress","totaluploadprogress","sending","sendingmultiple","success","successmultiple","canceled","canceledmultiple","complete","completemultiple","reset","maxfilesexceeded","maxfilesreached","queuecomplete"];n.prototype.defaultOptions={url:null,method:"post",withCredentials:false,timeout:30000,parallelUploads:2,uploadMultiple:false,maxFilesize:256,paramName:"file",createImageThumbnails:true,maxThumbnailFilesize:10,thumbnailWidth:120,thumbnailHeight:120,thumbnailMethod:"crop",resizeWidth:null,resizeHeight:null,resizeMimeType:null,resizeQuality:0.8,resizeMethod:"contain",filesizeBase:1000,maxFiles:null,params:{},headers:null,clickable:true,ignoreHiddenFiles:true,acceptedFiles:null,acceptedMimeTypes:null,autoProcessQueue:true,autoQueue:true,addRemoveLinks:false,previewsContainer:null,hiddenInputContainer:"body",capture:null,renameFilename:null,renameFile:null,forceFallback:false,dictDefaultMessage:"Drop files here to upload",dictFallbackMessage:"Your browser does not support drag'n'drop file uploads.",dictFallbackText:"Please use the fallback form below to upload your files like in the olden days.",dictFileTooBig:"File is too big ({{filesize}}MiB). Max filesize: {{maxFilesize}}MiB.",dictInvalidFileType:"You can't upload files of this type.",dictResponseError:"Server responded with {{statusCode}} code.",dictCancelUpload:"Cancel upload",dictCancelUploadConfirmation:"Are you sure you want to cancel this upload?",dictRemoveFile:"Remove file",dictRemoveFileConfirmation:null,dictMaxFilesExceeded:"You can not upload any more files.",dictFileSizeUnits:{tb:"TB",gb:"GB",mb:"MB",kb:"KB",b:"b"},init:function(){return l},accept:function(r,q){return q()},fallback:function(){var v,r,q,s,u,t;this.element.className=this.element.className+" dz-browser-not-supported";u=this.element.getElementsByTagName("div");for(r=0,q=u.length;r<q;r++){v=u[r];if(/(^| )dz-message($| )/.test(v.className)){s=v;v.className="dz-message";continue}}if(!s){s=n.createElement('<div class="dz-message"><span></span></div>');this.element.appendChild(s)}t=s.getElementsByTagName("span")[0];if(t){if(t.textContent!=null){t.textContent=this.options.dictFallbackMessage}else{if(t.innerText!=null){t.innerText=this.options.dictFallbackMessage}}}return this.element.appendChild(this.getFallbackForm())},resize:function(s,u,q,w){var v,t,r;v={srcX:0,srcY:0,srcWidth:s.width,srcHeight:s.height};t=s.width/s.height;if((u==null)&&(q==null)){u=v.srcWidth;q=v.srcHeight}else{if(u==null){u=q*t}else{if(q==null){q=u/t}}}u=Math.min(u,v.srcWidth);q=Math.min(q,v.srcHeight);r=u/q;if(v.srcWidth>u||v.srcHeight>q){if(w==="crop"){if(t>r){v.srcHeight=s.height;v.srcWidth=v.srcHeight*r}else{v.srcWidth=s.width;v.srcHeight=v.srcWidth/r}}else{if(w==="contain"){if(t>r){q=u/t}else{u=q*t}}else{throw new Error("Unknown resizeMethod '"+w+"'")}}}v.srcX=(s.width-v.srcWidth)/2;v.srcY=(s.height-v.srcHeight)/2;v.trgWidth=u;v.trgHeight=q;return v},transformFile:function(r,q){if((this.options.resizeWidth||this.options.resizeHeight)&&r.type.match(/image.*/)){return this.resizeImage(r,this.options.resizeWidth,this.options.resizeHeight,this.options.resizeMethod,q)}else{return q(r)}},previewTemplate:'<div class="dz-preview dz-file-preview">\n <div class="dz-image"><img data-dz-thumbnail /></div>\n <div class="dz-details">\n <div class="dz-size"><span data-dz-size></span></div>\n <div class="dz-filename"><span data-dz-name></span></div>\n </div>\n <div class="dz-progress"><span class="dz-upload" data-dz-uploadprogress></span></div>\n <div class="dz-error-message"><span data-dz-errormessage></span></div>\n <div class="dz-success-mark">\n <svg width="54px" height="54px" viewBox="0 0 54 54" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">\n <title>Check</title>\n <defs></defs>\n <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">\n <path d="M23.5,31.8431458 L17.5852419,25.9283877 C16.0248253,24.3679711 13.4910294,24.366835 11.9289322,25.9289322 C10.3700136,27.4878508 10.3665912,30.0234455 11.9283877,31.5852419 L20.4147581,40.0716123 C20.5133999,40.1702541 20.6159315,40.2626649 20.7218615,40.3488435 C22.2835669,41.8725651 24.794234,41.8626202 26.3461564,40.3106978 L43.3106978,23.3461564 C44.8771021,21.7797521 44.8758057,19.2483887 43.3137085,17.6862915 C41.7547899,16.1273729 39.2176035,16.1255422 37.6538436,17.6893022 L23.5,31.8431458 Z M27,53 C41.3594035,53 53,41.3594035 53,27 C53,12.6405965 41.3594035,1 27,1 C12.6405965,1 1,12.6405965 1,27 C1,41.3594035 12.6405965,53 27,53 Z" id="Oval-2" stroke-opacity="0.198794158" stroke="#747474" fill-opacity="0.816519475" fill="#FFFFFF" sketch:type="MSShapeGroup"></path>\n </g>\n </svg>\n </div>\n <div class="dz-error-mark">\n <svg width="54px" height="54px" viewBox="0 0 54 54" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">\n <title>Error</title>\n <defs></defs>\n <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">\n <g id="Check-+-Oval-2" sketch:type="MSLayerGroup" stroke="#747474" stroke-opacity="0.198794158" fill="#FFFFFF" fill-opacity="0.816519475">\n <path d="M32.6568542,29 L38.3106978,23.3461564 C39.8771021,21.7797521 39.8758057,19.2483887 38.3137085,17.6862915 C36.7547899,16.1273729 34.2176035,16.1255422 32.6538436,17.6893022 L27,23.3431458 L21.3461564,17.6893022 C19.7823965,16.1255422 17.2452101,16.1273729 15.6862915,17.6862915 C14.1241943,19.2483887 14.1228979,21.7797521 15.6893022,23.3461564 L21.3431458,29 L15.6893022,34.6538436 C14.1228979,36.2202479 14.1241943,38.7516113 15.6862915,40.3137085 C17.2452101,41.8726271 19.7823965,41.8744578 21.3461564,40.3106978 L27,34.6568542 L32.6538436,40.3106978 C34.2176035,41.8744578 36.7547899,41.8726271 38.3137085,40.3137085 C39.8758057,38.7516113 39.8771021,36.2202479 38.3106978,34.6538436 L32.6568542,29 Z M27,53 C41.3594035,53 53,41.3594035 53,27 C53,12.6405965 41.3594035,1 27,1 C12.6405965,1 1,12.6405965 1,27 C1,41.3594035 12.6405965,53 27,53 Z" id="Oval-2" sketch:type="MSShapeGroup"></path>\n </g>\n </g>\n </svg>\n </div>\n</div>',drop:function(q){return this.element.classList.remove("dz-drag-hover")},dragstart:l,dragend:function(q){return this.element.classList.remove("dz-drag-hover")},dragenter:function(q){return this.element.classList.add("dz-drag-hover")},dragover:function(q){return this.element.classList.add("dz-drag-hover")},dragleave:function(q){return this.element.classList.remove("dz-drag-hover")},paste:l,reset:function(){return this.element.classList.remove("dz-started")},addedfile:function(s){var w,u,t,B,x,v,r,q,C,A,z,D,y;if(this.element===this.previewsContainer){this.element.classList.add("dz-started")}if(this.previewsContainer){s.previewElement=n.createElement(this.options.previewTemplate.trim());s.previewTemplate=s.previewElement;this.previewsContainer.appendChild(s.previewElement);q=s.previewElement.querySelectorAll("[data-dz-name]");for(w=0,B=q.length;w<B;w++){r=q[w];r.textContent=s.name}C=s.previewElement.querySelectorAll("[data-dz-size]");for(u=0,x=C.length;u<x;u++){r=C[u];r.innerHTML=this.filesize(s.size)}if(this.options.addRemoveLinks){s._removeLink=n.createElement('<a class="dz-remove" href="javascript:undefined;" data-dz-remove>'+this.options.dictRemoveFile+"</a>");s.previewElement.appendChild(s._removeLink)}z=(function(E){return function(F){F.preventDefault();F.stopPropagation();if(s.status===n.UPLOADING){return n.confirm(E.options.dictCancelUploadConfirmation,function(){return E.removeFile(s)})}else{if(E.options.dictRemoveFileConfirmation){return n.confirm(E.options.dictRemoveFileConfirmation,function(){return E.removeFile(s)})}else{return E.removeFile(s)}}}})(this);A=s.previewElement.querySelectorAll("[data-dz-remove]");y=[];for(t=0,v=A.length;t<v;t++){D=A[t];y.push(D.addEventListener("click",z))}return y}},removedfile:function(q){var r;if(q.previewElement){if((r=q.previewElement)!=null){r.parentNode.removeChild(q.previewElement)}}return this._updateMaxFilesReachedClass()},thumbnail:function(t,v){var s,q,u,r;if(t.previewElement){t.previewElement.classList.remove("dz-file-preview");u=t.previewElement.querySelectorAll("[data-dz-thumbnail]");for(s=0,q=u.length;s<q;s++){r=u[s];r.alt=t.name;r.src=v}return setTimeout(((function(w){return function(){return t.previewElement.classList.add("dz-image-preview")}})(this)),1)}},error:function(t,w){var r,q,v,u,s;if(t.previewElement){t.previewElement.classList.add("dz-error");if(typeof w!=="String"&&w.error){w=w.error}u=t.previewElement.querySelectorAll("[data-dz-errormessage]");s=[];for(r=0,q=u.length;r<q;r++){v=u[r];s.push(v.textContent=w)}return s}},errormultiple:l,processing:function(q){if(q.previewElement){q.previewElement.classList.add("dz-processing");if(q._removeLink){return q._removeLink.textContent=this.options.dictCancelUpload}}},processingmultiple:l,uploadprogress:function(v,s,u){var r,q,x,w,t;if(v.previewElement){w=v.previewElement.querySelectorAll("[data-dz-uploadprogress]");t=[];for(r=0,q=w.length;r<q;r++){x=w[r];if(x.nodeName==="PROGRESS"){t.push(x.value=s)}else{t.push(x.style.width=s+"%")}}return t}},totaluploadprogress:l,sending:l,sendingmultiple:l,success:function(q){if(q.previewElement){return q.previewElement.classList.add("dz-success")}},successmultiple:l,canceled:function(q){return this.emit("error",q,"Upload canceled.")},canceledmultiple:l,complete:function(q){if(q._removeLink){q._removeLink.textContent=this.options.dictRemoveFile}if(q.previewElement){return q.previewElement.classList.add("dz-complete")}},completemultiple:l,maxfilesexceeded:l,maxfilesreached:l,queuecomplete:l,addedfiles:l};p=function(){var s,t,q,r,u,v,w;v=arguments[0],u=2<=arguments.length?j.call(arguments,1):[];for(s=0,q=u.length;s<q;s++){r=u[s];for(t in r){w=r[t];v[t]=w}}return v};function n(t,r){var q,u,s;this.element=t;this.version=n.version;this.defaultOptions.previewTemplate=this.defaultOptions.previewTemplate.replace(/\n*/g,"");this.clickableElements=[];this.listeners=[];this.files=[];if(typeof this.element==="string"){this.element=document.querySelector(this.element)}if(!(this.element&&(this.element.nodeType!=null))){throw new Error("Invalid dropzone element.")}if(this.element.dropzone){throw new Error("Dropzone already attached.")}n.instances.push(this);this.element.dropzone=this;q=(s=n.optionsForElement(this.element))!=null?s:{};this.options=p({},this.defaultOptions,q,r!=null?r:{});if(this.options.forceFallback||!n.isBrowserSupported()){return this.options.fallback.call(this)}if(this.options.url==null){this.options.url=this.element.getAttribute("action")}if(!this.options.url){throw new Error("No URL provided.")}if(this.options.acceptedFiles&&this.options.acceptedMimeTypes){throw new Error("You can't provide both 'acceptedFiles' and 'acceptedMimeTypes'. 'acceptedMimeTypes' is deprecated.")}if(this.options.acceptedMimeTypes){this.options.acceptedFiles=this.options.acceptedMimeTypes;delete this.options.acceptedMimeTypes}if(this.options.renameFilename!=null){this.options.renameFile=(function(v){return function(w){return v.options.renameFilename.call(v,w.name,w)}})(this)}this.options.method=this.options.method.toUpperCase();if((u=this.getExistingFallback())&&u.parentNode){u.parentNode.removeChild(u)}if(this.options.previewsContainer!==false){if(this.options.previewsContainer){this.previewsContainer=n.getElement(this.options.previewsContainer,"previewsContainer")}else{this.previewsContainer=this.element}}if(this.options.clickable){if(this.options.clickable===true){this.clickableElements=[this.element]}else{this.clickableElements=n.getElements(this.options.clickable,"clickable")}}this.init()}n.prototype.getAcceptedFiles=function(){var t,r,q,u,s;u=this.files;s=[];for(r=0,q=u.length;r<q;r++){t=u[r];if(t.accepted){s.push(t)}}return s};n.prototype.getRejectedFiles=function(){var t,r,q,u,s;u=this.files;s=[];for(r=0,q=u.length;r<q;r++){t=u[r];if(!t.accepted){s.push(t)}}return s};n.prototype.getFilesWithStatus=function(r){var u,s,q,v,t;v=this.files;t=[];for(s=0,q=v.length;s<q;s++){u=v[s];if(u.status===r){t.push(u)}}return t};n.prototype.getQueuedFiles=function(){return this.getFilesWithStatus(n.QUEUED)};n.prototype.getUploadingFiles=function(){return this.getFilesWithStatus(n.UPLOADING)};n.prototype.getAddedFiles=function(){return this.getFilesWithStatus(n.ADDED)};n.prototype.getActiveFiles=function(){var t,r,q,u,s;u=this.files;s=[];for(r=0,q=u.length;r<q;r++){t=u[r];if(t.status===n.UPLOADING||t.status===n.QUEUED){s.push(t)}}return s};n.prototype.init=function(){var s,t,q,w,u,r,v;if(this.element.tagName==="form"){this.element.setAttribute("enctype","multipart/form-data")}if(this.element.classList.contains("dropzone")&&!this.element.querySelector(".dz-message")){this.element.appendChild(n.createElement('<div class="dz-default dz-message"><span>'+this.options.dictDefaultMessage+"</span></div>"))}if(this.clickableElements.length){v=(function(x){return function(){if(x.hiddenFileInput){x.hiddenFileInput.parentNode.removeChild(x.hiddenFileInput)}x.hiddenFileInput=document.createElement("input");x.hiddenFileInput.setAttribute("type","file");if((x.options.maxFiles==null)||x.options.maxFiles>1){x.hiddenFileInput.setAttribute("multiple","multiple")}x.hiddenFileInput.className="dz-hidden-input";if(x.options.acceptedFiles!=null){x.hiddenFileInput.setAttribute("accept",x.options.acceptedFiles)}if(x.options.capture!=null){x.hiddenFileInput.setAttribute("capture",x.options.capture)}x.hiddenFileInput.style.visibility="hidden";x.hiddenFileInput.style.position="absolute";x.hiddenFileInput.style.top="0";x.hiddenFileInput.style.left="0";x.hiddenFileInput.style.height="0";x.hiddenFileInput.style.width="0";document.querySelector(x.options.hiddenInputContainer).appendChild(x.hiddenFileInput);return x.hiddenFileInput.addEventListener("change",function(){var A,B,z,y;B=x.hiddenFileInput.files;if(B.length){for(z=0,y=B.length;z<y;z++){A=B[z];x.addFile(A)}}x.emit("addedfiles",B);return v()})}})(this);v()}this.URL=(u=window.URL)!=null?u:window.webkitURL;r=this.events;for(t=0,q=r.length;t<q;t++){s=r[t];this.on(s,this.options[s])}this.on("uploadprogress",(function(x){return function(){return x.updateTotalUploadProgress()}})(this));this.on("removedfile",(function(x){return function(){return x.updateTotalUploadProgress()}})(this));this.on("canceled",(function(x){return function(y){return x.emit("complete",y)}})(this));this.on("complete",(function(x){return function(y){if(x.getAddedFiles().length===0&&x.getUploadingFiles().length===0&&x.getQueuedFiles().length===0){return setTimeout((function(){return x.emit("queuecomplete")}),0)}}})(this));w=function(x){x.stopPropagation();if(x.preventDefault){return x.preventDefault()}else{return x.returnValue=false}};this.listeners=[{element:this.element,events:{dragstart:(function(x){return function(y){return x.emit("dragstart",y)}})(this),dragenter:(function(x){return function(y){w(y);return x.emit("dragenter",y)}})(this),dragover:(function(x){return function(z){var y;try{y=z.dataTransfer.effectAllowed}catch(A){}z.dataTransfer.dropEffect="move"===y||"linkMove"===y?"move":"copy";w(z);return x.emit("dragover",z)}})(this),dragleave:(function(x){return function(y){return x.emit("dragleave",y)}})(this),drop:(function(x){return function(y){w(y);return x.drop(y)}})(this),dragend:(function(x){return function(y){return x.emit("dragend",y)}})(this)}}];this.clickableElements.forEach((function(x){return function(y){return x.listeners.push({element:y,events:{click:function(z){if((y!==x.element)||(z.target===x.element||n.elementInside(z.target,x.element.querySelector(".dz-message")))){x.hiddenFileInput.click()}return true}}})}})(this));this.enable();return this.options.init.call(this)};n.prototype.destroy=function(){var q;this.disable();this.removeAllFiles(true);if((q=this.hiddenFileInput)!=null?q.parentNode:void 0){this.hiddenFileInput.parentNode.removeChild(this.hiddenFileInput);this.hiddenFileInput=null}delete this.element.dropzone;return n.instances.splice(n.instances.indexOf(this),1)};n.prototype.updateTotalUploadProgress=function(){var t,u,s,r,v,x,q,w;q=0;x=0;t=this.getActiveFiles();if(t.length){v=this.getActiveFiles();for(s=0,r=v.length;s<r;s++){u=v[s];q+=u.upload.bytesSent;x+=u.upload.total}w=100*q/x}else{w=100}return this.emit("totaluploadprogress",w,x,q)};n.prototype._getParamName=function(q){if(typeof this.options.paramName==="function"){return this.options.paramName(q)}else{return""+this.options.paramName+(this.options.uploadMultiple?"["+q+"]":"")}};n.prototype._renameFile=function(q){if(typeof this.options.renameFile!=="function"){return q.name}return this.options.renameFile(q)};n.prototype.getFallbackForm=function(){var r,q,t,s;if(r=this.getExistingFallback()){return r}t='<div class="dz-fallback">';if(this.options.dictFallbackText){t+="<p>"+this.options.dictFallbackText+"</p>"}t+='<input type="file" name="'+(this._getParamName(0))+'" '+(this.options.uploadMultiple?'multiple="multiple"':void 0)+' /><input type="submit" value="Upload!"></div>';q=n.createElement(t);if(this.element.tagName!=="FORM"){s=n.createElement('<form action="'+this.options.url+'" enctype="multipart/form-data" method="'+this.options.method+'"></form>');s.appendChild(q)}else{this.element.setAttribute("enctype","multipart/form-data");this.element.setAttribute("method",this.options.method)}return s!=null?s:q};n.prototype.getExistingFallback=function(){var v,t,r,q,u,s;t=function(z){var y,x,w;for(x=0,w=z.length;x<w;x++){y=z[x];if(/(^| )fallback($| )/.test(y.className)){return y}}};u=["div","form"];for(r=0,q=u.length;r<q;r++){s=u[r];if(v=t(this.element.getElementsByTagName(s))){return v}}};n.prototype.setupEventListeners=function(){var v,u,r,q,w,t,s;t=this.listeners;s=[];for(r=0,q=t.length;r<q;r++){v=t[r];s.push((function(){var x,y;x=v.events;y=[];for(u in x){w=x[u];y.push(v.element.addEventListener(u,w,false))}return y})())}return s};n.prototype.removeEventListeners=function(){var v,u,r,q,w,t,s;t=this.listeners;s=[];for(r=0,q=t.length;r<q;r++){v=t[r];s.push((function(){var x,y;x=v.events;y=[];for(u in x){w=x[u];y.push(v.element.removeEventListener(u,w,false))}return y})())}return s};n.prototype.disable=function(){var t,r,q,u,s;this.clickableElements.forEach(function(v){return v.classList.remove("dz-clickable")});this.removeEventListeners();u=this.files;s=[];for(r=0,q=u.length;r<q;r++){t=u[r];s.push(this.cancelUpload(t))}return s};n.prototype.enable=function(){this.clickableElements.forEach(function(q){return q.classList.add("dz-clickable")});return this.setupEventListeners()};n.prototype.filesize=function(y){var r,u,t,v,s,q,x,w;s=0;q="b";if(y>0){w=["tb","gb","mb","kb","b"];for(u=t=0,v=w.length;t<v;u=++t){x=w[u];r=Math.pow(this.options.filesizeBase,4-u)/10;if(y>=r){s=y/Math.pow(this.options.filesizeBase,4-u);q=x;break}}s=Math.round(10*s)/10}return"<strong>"+s+"</strong> "+this.options.dictFileSizeUnits[q]};n.prototype._updateMaxFilesReachedClass=function(){if((this.options.maxFiles!=null)&&this.getAcceptedFiles().length>=this.options.maxFiles){if(this.getAcceptedFiles().length===this.options.maxFiles){this.emit("maxfilesreached",this.files)}return this.element.classList.add("dz-max-files-reached")}else{return this.element.classList.remove("dz-max-files-reached")}};n.prototype.drop=function(s){var r,q;if(!s.dataTransfer){return}this.emit("drop",s);r=s.dataTransfer.files;this.emit("addedfiles",r);if(r.length){q=s.dataTransfer.items;if(q&&q.length&&(q[0].webkitGetAsEntry!=null)){this._addFilesFromItems(q)}else{this.handleFiles(r)}}};n.prototype.paste=function(s){var q,r;if((s!=null?(r=s.clipboardData)!=null?r.items:void 0:void 0)==null){return}this.emit("paste",s);q=s.clipboardData.items;if(q.length){return this._addFilesFromItems(q)}};n.prototype.handleFiles=function(u){var t,r,q,s;s=[];for(r=0,q=u.length;r<q;r++){t=u[r];s.push(this.addFile(t))}return s};n.prototype._addFilesFromItems=function(r){var v,u,s,q,t;t=[];for(s=0,q=r.length;s<q;s++){u=r[s];if((u.webkitGetAsEntry!=null)&&(v=u.webkitGetAsEntry())){if(v.isFile){t.push(this.addFile(u.getAsFile()))}else{if(v.isDirectory){t.push(this._addFilesFromDirectory(v,v.name))}else{t.push(void 0)}}}else{if(u.getAsFile!=null){if((u.kind==null)||u.kind==="file"){t.push(this.addFile(u.getAsFile()))}else{t.push(void 0)}}else{t.push(void 0)}}}return t};n.prototype._addFilesFromDirectory=function(q,u){var t,s,r;t=q.createReader();s=function(v){return typeof console!=="undefined"&&console!==null?typeof console.log==="function"?console.log(v):void 0:void 0};r=(function(v){return function(){return t.readEntries(function(x){var z,y,w;if(x.length>0){for(y=0,w=x.length;y<w;y++){z=x[y];if(z.isFile){z.file(function(A){if(v.options.ignoreHiddenFiles&&A.name.substring(0,1)==="."){return}A.fullPath=u+"/"+A.name;return v.addFile(A)})}else{if(z.isDirectory){v._addFilesFromDirectory(z,u+"/"+z.name)}}}r()}return null},s)}})(this);return r()};n.prototype.accept=function(r,q){if(r.size>this.options.maxFilesize*1024*1024){return q(this.options.dictFileTooBig.replace("{{filesize}}",Math.round(r.size/1024/10.24)/100).replace("{{maxFilesize}}",this.options.maxFilesize))}else{if(!n.isValidFile(r,this.options.acceptedFiles)){return q(this.options.dictInvalidFileType)}else{if((this.options.maxFiles!=null)&&this.getAcceptedFiles().length>=this.options.maxFiles){q(this.options.dictMaxFilesExceeded.replace("{{maxFiles}}",this.options.maxFiles));return this.emit("maxfilesexceeded",r)}else{return this.options.accept.call(this,r,q)}}}};n.prototype.addFile=function(q){q.upload={progress:0,total:q.size,bytesSent:0,filename:this._renameFile(q)};this.files.push(q);q.status=n.ADDED;this.emit("addedfile",q);this._enqueueThumbnail(q);return this.accept(q,(function(r){return function(s){if(s){q.accepted=false;r._errorProcessing([q],s)}else{q.accepted=true;if(r.options.autoQueue){r.enqueueFile(q)}}return r._updateMaxFilesReachedClass()}})(this))};n.prototype.enqueueFiles=function(t){var s,r,q;for(r=0,q=t.length;r<q;r++){s=t[r];this.enqueueFile(s)}return null};n.prototype.enqueueFile=function(q){if(q.status===n.ADDED&&q.accepted===true){q.status=n.QUEUED;if(this.options.autoProcessQueue){return setTimeout(((function(r){return function(){return r.processQueue()}})(this)),0)}}else{throw new Error("This file can't be queued because it has already been processed or was rejected.")}};n.prototype._thumbnailQueue=[];n.prototype._processingThumbnail=false;n.prototype._enqueueThumbnail=function(q){if(this.options.createImageThumbnails&&q.type.match(/image.*/)&&q.size<=this.options.maxThumbnailFilesize*1024*1024){this._thumbnailQueue.push(q);return setTimeout(((function(r){return function(){return r._processThumbnailQueue()}})(this)),0)}};n.prototype._processThumbnailQueue=function(){var q;if(this._processingThumbnail||this._thumbnailQueue.length===0){return}this._processingThumbnail=true;q=this._thumbnailQueue.shift();return this.createThumbnail(q,this.options.thumbnailWidth,this.options.thumbnailHeight,this.options.thumbnailMethod,true,(function(r){return function(s){r.emit("thumbnail",q,s);r._processingThumbnail=false;return r._processThumbnailQueue()}})(this))};n.prototype.removeFile=function(q){if(q.status===n.UPLOADING){this.cancelUpload(q)}this.files=k(this.files,q);this.emit("removedfile",q);if(this.files.length===0){return this.emit("reset")}};n.prototype.removeAllFiles=function(u){var s,r,q,t;if(u==null){u=false}t=this.files.slice();for(r=0,q=t.length;r<q;r++){s=t[r];if(s.status!==n.UPLOADING||u){this.removeFile(s)}}return null};n.prototype.resizeImage=function(r,s,q,t,u){return this.createThumbnail(r,s,q,t,false,(function(v){return function(z,w){var x,y;if(w===null){return u(r)}else{x=v.options.resizeMimeType;if(x==null){x=r.type}y=w.toDataURL(x,v.options.resizeQuality);if(x==="image/jpeg"||x==="image/jpg"){y=f.restore(r.dataURL,y)}return u(n.dataURItoBlob(y))}}})(this))};n.prototype.createThumbnail=function(t,u,q,v,s,w){var r;r=new FileReader;r.onload=(function(x){return function(){t.dataURL=r.result;if(t.type==="image/svg+xml"){if(w!=null){w(r.result)}return}return x.createThumbnailFromUrl(t,u,q,v,s,w)}})(this);return r.readAsDataURL(t)};n.prototype.createThumbnailFromUrl=function(u,v,q,w,t,x,s){var r;r=document.createElement("img");if(s){r.crossOrigin=s}r.onload=(function(y){return function(){var z;z=function(A){return A(1)};if((typeof EXIF!=="undefined"&&EXIF!==null)&&t){z=function(A){return A(EXIF.getData(r))}}return z(function(B){var C,I,D,G,F,E,H,A;u.width=r.width;u.height=r.height;H=y.options.resize.call(y,u,v,q,w);C=document.createElement("canvas");I=C.getContext("2d");C.width=H.trgWidth;C.height=H.trgHeight;if(B>4){C.width=H.trgHeight;C.height=H.trgWidth}switch(B){case 2:I.translate(C.width,0);I.scale(-1,1);break;case 3:I.translate(C.width,C.height);I.rotate(Math.PI);break;case 4:I.translate(0,C.height);I.scale(1,-1);break;case 5:I.rotate(0.5*Math.PI);I.scale(1,-1);break;case 6:I.rotate(0.5*Math.PI);I.translate(0,-C.height);break;case 7:I.rotate(0.5*Math.PI);I.translate(C.width,-C.height);I.scale(-1,1);break;case 8:I.rotate(-0.5*Math.PI);I.translate(-C.width,0)}e(I,r,(D=H.srcX)!=null?D:0,(G=H.srcY)!=null?G:0,H.srcWidth,H.srcHeight,(F=H.trgX)!=null?F:0,(E=H.trgY)!=null?E:0,H.trgWidth,H.trgHeight);A=C.toDataURL("image/png");if(x!=null){return x(A,C)}})}})(this);if(x!=null){r.onerror=x}return r.src=u.dataURL};n.prototype.processQueue=function(){var r,t,q,s;t=this.options.parallelUploads;q=this.getUploadingFiles().length;r=q;if(q>=t){return}s=this.getQueuedFiles();if(!(s.length>0)){return}if(this.options.uploadMultiple){return this.processFiles(s.slice(0,t-q))}else{while(r<t){if(!s.length){return}this.processFile(s.shift());r++}}};n.prototype.processFile=function(q){return this.processFiles([q])};n.prototype.processFiles=function(t){var s,r,q;for(r=0,q=t.length;r<q;r++){s=t[r];s.processing=true;s.status=n.UPLOADING;this.emit("processing",s)}if(this.options.uploadMultiple){this.emit("processingmultiple",t)}return this.uploadFiles(t)};n.prototype._getFilesWithXhr=function(s){var q,r;return r=(function(){var u,t,w,v;w=this.files;v=[];for(u=0,t=w.length;u<t;u++){q=w[u];if(q.xhr===s){v.push(q)}}return v}).call(this)};n.prototype.cancelUpload=function(w){var r,v,u,s,q,t,x;if(w.status===n.UPLOADING){v=this._getFilesWithXhr(w.xhr);for(u=0,q=v.length;u<q;u++){r=v[u];r.status=n.CANCELED}w.xhr.abort();for(s=0,t=v.length;s<t;s++){r=v[s];this.emit("canceled",r)}if(this.options.uploadMultiple){this.emit("canceledmultiple",v)}}else{if((x=w.status)===n.ADDED||x===n.QUEUED){w.status=n.CANCELED;this.emit("canceled",w);if(this.options.uploadMultiple){this.emit("canceledmultiple",[w])}}}if(this.options.autoProcessQueue){return this.processQueue()}};m=function(){var q,r;r=arguments[0],q=2<=arguments.length?j.call(arguments,1):[];if(typeof r==="function"){return r.apply(this,q)}return r};n.prototype.uploadFile=function(q){return this.uploadFiles([q])};n.prototype.uploadFiles=function(L){var K,O,I,r,aa,M,v,R,Y,q,J,u,X,W,F,V,G,z,y,x,U,Z,S,N,T,P,E,D,C,B,A,s,H,w,t,Q,ab;ab=new XMLHttpRequest();for(X=0,G=L.length;X<G;X++){I=L[X];I.xhr=ab}Z=m(this.options.method,L);t=m(this.options.url,L);ab.open(Z,t,true);ab.timeout=m(this.options.timeout,L);ab.withCredentials=!!this.options.withCredentials;s=null;aa=(function(ac){return function(){var ad,ae,af;af=[];for(ad=0,ae=L.length;ad<ae;ad++){I=L[ad];af.push(ac._errorProcessing(L,s||ac.options.dictResponseError.replace("{{statusCode}}",ab.status),ab))}return af}})(this);w=(function(ac){return function(am){var ae,ai,ag,ak,aj,ah,af,ad,al;if(am!=null){ad=100*am.loaded/am.total;for(ai=0,ak=L.length;ai<ak;ai++){I=L[ai];I.upload.progress=ad;I.upload.total=am.total;I.upload.bytesSent=am.loaded}}else{ae=true;ad=100;for(ag=0,aj=L.length;ag<aj;ag++){I=L[ag];if(!(I.upload.progress===100&&I.upload.bytesSent===I.upload.total)){ae=false}I.upload.progress=ad;I.upload.bytesSent=I.upload.total}if(ae){return}}al=[];for(af=0,ah=L.length;af<ah;af++){I=L[af];al.push(ac.emit("uploadprogress",I,ad,I.upload.bytesSent))}return al}})(this);ab.onload=(function(ac){return function(ae){var af,ad;if(L[0].status===n.CANCELED){return}if(ab.readyState!==4){return}if(ab.responseType!=="arraybuffer"&&ab.responseType!=="blob"){s=ab.responseText;if(ab.getResponseHeader("content-type")&&~ab.getResponseHeader("content-type").indexOf("application/json")){try{s=JSON.parse(s)}catch(af){ae=af;s="Invalid JSON response from server."}}}w();if(!((200<=(ad=ab.status)&&ad<300))){return aa()}else{return ac._finished(L,s,ae)}}})(this);ab.onerror=(function(ac){return function(){if(L[0].status===n.CANCELED){return}return aa()}})(this);T=(P=ab.upload)!=null?P:ab;T.onprogress=w;R={Accept:"application/json","Cache-Control":"no-cache","X-Requested-With":"XMLHttpRequest"};if(this.options.headers){p(R,this.options.headers)}for(M in R){v=R[M];if(v){ab.setRequestHeader(M,v)}}r=new FormData();if(this.options.params){E=this.options.params;for(F in E){Q=E[F];r.append(F,Q)}}for(W=0,z=L.length;W<z;W++){I=L[W];this.emit("sending",I,ab,r)}if(this.options.uploadMultiple){this.emit("sendingmultiple",L,ab,r)}if(this.element.tagName==="FORM"){D=this.element.querySelectorAll("input, textarea, select, button");for(V=0,y=D.length;V<y;V++){q=D[V];J=q.getAttribute("name");u=q.getAttribute("type");if(q.tagName==="SELECT"&&q.hasAttribute("multiple")){C=q.options;for(U=0,x=C.length;U<x;U++){N=C[U];if(N.selected){r.append(J,N.value)}}}else{if(!u||((B=u.toLowerCase())!=="checkbox"&&B!=="radio")||q.checked){r.append(J,q.value)}}}}K=0;H=[];for(Y=S=0,A=L.length-1;0<=A?S<=A:S>=A;Y=0<=A?++S:--S){O=(function(ac){return function(ad,ae,af){return function(ag){r.append(ae,ag,af);if(++K===L.length){return ac.submitRequest(ab,r,L)}}}})(this);H.push(this.options.transformFile.call(this,L[Y],O(L[Y],this._getParamName(Y),L[Y].upload.filename)))}return H};n.prototype.submitRequest=function(s,r,q){return s.send(r)};n.prototype._finished=function(t,u,v){var s,r,q;for(r=0,q=t.length;r<q;r++){s=t[r];s.status=n.SUCCESS;this.emit("success",s,u,v);this.emit("complete",s)}if(this.options.uploadMultiple){this.emit("successmultiple",t,u,v);this.emit("completemultiple",t)}if(this.options.autoProcessQueue){return this.processQueue()}};n.prototype._errorProcessing=function(u,t,v){var s,r,q;for(r=0,q=u.length;r<q;r++){s=u[r];s.status=n.ERROR;this.emit("error",s,t,v);this.emit("complete",s)}if(this.options.uploadMultiple){this.emit("errormultiple",u,t,v);this.emit("completemultiple",u)}if(this.options.autoProcessQueue){return this.processQueue()}};return n})(i);g.version="5.1.1";g.options={};g.optionsForElement=function(m){if(m.getAttribute("id")){return g.options[c(m.getAttribute("id"))]}else{return void 0}};g.instances=[];g.forElement=function(m){if(typeof m==="string"){m=document.querySelector(m)}if((m!=null?m.dropzone:void 0)==null){throw new Error("No Dropzone found for given element. This is probably because you're trying to access it before Dropzone had the time to initialize. Use the `init` option to setup any additional observers on your Dropzone.")}return m.dropzone};g.autoDiscover=true;g.discover=function(){var r,n,q,o,m,p;if(document.querySelectorAll){q=document.querySelectorAll(".dropzone")}else{q=[];r=function(w){var v,t,s,u;u=[];for(t=0,s=w.length;t<s;t++){v=w[t];if(/(^| )dropzone($| )/.test(v.className)){u.push(q.push(v))}else{u.push(void 0)}}return u};r(document.getElementsByTagName("div"));r(document.getElementsByTagName("form"))}p=[];for(o=0,m=q.length;o<m;o++){n=q[o];if(g.optionsForElement(n)!==false){p.push(new g(n))}else{p.push(void 0)}}return p};g.blacklistedBrowsers=[/opera.*(Windows Phone|Macintosh).*version\/12/i];g.isBrowserSupported=function(){var o,n,m,q,p;o=true;if(window.File&&window.FileReader&&window.FileList&&window.Blob&&window.FormData&&document.querySelector){if(!("classList" in document.createElement("a"))){o=false}else{q=g.blacklistedBrowsers;for(n=0,m=q.length;n<m;n++){p=q[n];if(p.test(navigator.userAgent)){o=false;continue}}}}else{o=false}return o};g.dataURItoBlob=function(n){var s,t,q,o,p,m,r;t=atob(n.split(",")[1]);m=n.split(",")[0].split(":")[1].split(";")[0];s=new ArrayBuffer(t.length);o=new Uint8Array(s);for(q=p=0,r=t.length;0<=r?p<=r:p>=r;q=0<=r?++p:--p){o[q]=t.charCodeAt(q)}return new Blob([s],{type:m})};k=function(r,n){var q,o,m,p;p=[];for(o=0,m=r.length;o<m;o++){q=r[o];if(q!==n){p.push(q)}}return p};c=function(m){return m.replace(/[\-_](\w)/g,function(n){return n.charAt(1).toUpperCase()})};g.createElement=function(m){var n;n=document.createElement("div");n.innerHTML=m;return n.childNodes[0]};g.elementInside=function(n,m){if(n===m){return true}while(n=n.parentNode){if(n===m){return true}}return false};g.getElement=function(o,m){var n;if(typeof o==="string"){n=document.querySelector(o)}else{if(o.nodeType!=null){n=o}}if(n==null){throw new Error("Invalid `"+m+"` option provided. Please provide a CSS selector or a plain HTML element.")}return n};g.getElements=function(s,n){var v,o,m,w,t,q,u,r,p;if(s instanceof Array){m=[];try{for(t=0,u=s.length;t<u;t++){o=s[t];m.push(this.getElement(o,n))}}catch(w){v=w;m=null}}else{if(typeof s==="string"){m=[];p=document.querySelectorAll(s);for(q=0,r=p.length;q<r;q++){o=p[q];m.push(o)}}else{if(s.nodeType!=null){m=[s]}}}if(!((m!=null)&&m.length)){throw new Error("Invalid `"+n+"` option provided. Please provide a CSS selector, a plain HTML element or a list of those.")}return m};g.confirm=function(m,o,n){if(window.confirm(m)){return o()}else{if(n!=null){return n()}}};g.isValidFile=function(q,n){var o,p,m,s,r;if(!n){return true}n=n.split(",");s=q.type;o=s.replace(/\/.*$/,"");for(p=0,m=n.length;p<m;p++){r=n[p];r=r.trim();if(r.charAt(0)==="."){if(q.name.toLowerCase().indexOf(r.toLowerCase(),q.name.length-r.length)!==-1){return true}}else{if(/\/\*$/.test(r)){if(o===r.replace(/\/.*$/,"")){return true}}else{if(s===r){return true}}}}return false};if(typeof jQuery!=="undefined"&&jQuery!==null){jQuery.fn.dropzone=function(m){return this.each(function(){return new g(this,m)})}}if(typeof module!=="undefined"&&module!==null){module.exports=g}else{window.Dropzone=g}g.ADDED="added";g.QUEUED="queued";g.ACCEPTED=g.QUEUED;g.UPLOADING="uploading";g.PROCESSING=g.UPLOADING;g.CANCELED="canceled";g.ERROR="error";g.SUCCESS="success";b=function(q){var o,m,w,p,r,v,n,u,s,t;n=q.naturalWidth;v=q.naturalHeight;m=document.createElement("canvas");m.width=1;m.height=v;w=m.getContext("2d");w.drawImage(q,0,0);p=w.getImageData(1,0,1,v).data;t=0;r=v;u=v;while(u>t){o=p[(u-1)*4+3];if(o===0){r=u}else{t=u}u=(r+t)>>1}s=u/v;if(s===0){return 1}else{return s}};e=function(u,n,s,r,t,o,w,v,m,q){var p;p=b(n);return u.drawImage(n,s,r,t,o,w,v,m,q/p)};f=(function(){function m(){}m.KEY_STR="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";m.encode64=function(p){var w,u,s,v,t,r,q,o,n;n="";w=void 0;u=void 0;s="";v=void 0;t=void 0;r=void 0;q="";o=0;while(true){w=p[o++];u=p[o++];s=p[o++];v=w>>2;t=(w&3)<<4|u>>4;r=(u&15)<<2|s>>6;q=s&63;if(isNaN(u)){r=q=64}else{if(isNaN(s)){q=64}}n=n+this.KEY_STR.charAt(v)+this.KEY_STR.charAt(t)+this.KEY_STR.charAt(r)+this.KEY_STR.charAt(q);w=u=s="";v=t=r=q="";if(!(o<p.length)){break}}return n};m.restore=function(n,r){var q,p,o;if(!n.match("data:image/jpeg;base64,")){return r}p=this.decode64(n.replace("data:image/jpeg;base64,",""));o=this.slice2Segments(p);q=this.exifManipulation(r,o);return"data:image/jpeg;base64,"+this.encode64(q)};m.exifManipulation=function(r,p){var q,n,o;n=this.getExifArray(p);o=this.insertExif(r,n);q=new Uint8Array(o);return q};m.getExifArray=function(p){var o,n;o=void 0;n=0;while(n<p.length){o=p[n];if(o[0]===255&o[1]===225){return o}n++}return[]};m.insertExif=function(o,v){var u,w,q,n,t,r;n=o.replace("data:image/jpeg;base64,","");q=this.decode64(n);for(var s=0;s<q.length;s++){if(q[s]===255&&q[s+1]===225){var p=q[s+2]*256+q[s+3]+2;q.splice(s,p)}}r=q.indexOf(255,3);t=q.slice(0,r);w=q.slice(r);u=t;u=u.concat(v);u=u.concat(w);return u};m.slice2Segments=function(o){var r,q,s,n,p;q=0;p=[];while(true){if(o[q]===255&o[q+1]===218){break}if(o[q]===255&o[q+1]===216){q+=2}else{s=o[q+2]*256+o[q+3];r=q+s+2;n=o.slice(q,r);p.push(n);q=r}if(q>o.length){break}}return p};m.decode64=function(r){var n,o,y,w,u,x,v,t,s,q,p;p="";y=void 0;w=void 0;u="";x=void 0;v=void 0;t=void 0;s="";q=0;o=[];n=/[^A-Za-z0-9\+\/\=]/g;if(n.exec(r)){console.warning("There were invalid base64 characters in the input text.\nValid base64 characters are A-Z, a-z, 0-9, '+', '/',and '='\nExpect errors in decoding.")}r=r.replace(/[^A-Za-z0-9\+\/\=]/g,"");while(true){x=this.KEY_STR.indexOf(r.charAt(q++));v=this.KEY_STR.indexOf(r.charAt(q++));t=this.KEY_STR.indexOf(r.charAt(q++));s=this.KEY_STR.indexOf(r.charAt(q++));y=x<<2|v>>4;w=(v&15)<<4|t>>2;u=(t&3)<<6|s;o.push(y);if(t!==64){o.push(w)}if(s!==64){o.push(u)}y=w=u="";x=v=t=s="";if(!(q<r.length)){break}}return o};return m})();d=function(p,t){var x,u,o,w,q,n,v,s,r;o=false;r=true;u=p.document;s=u.documentElement;x=(u.addEventListener?"addEventListener":"attachEvent");v=(u.addEventListener?"removeEventListener":"detachEvent");n=(u.addEventListener?"":"on");w=function(y){if(y.type==="readystatechange"&&u.readyState!=="complete"){return}(y.type==="load"?p:u)[v](n+y.type,w,false);if(!o&&(o=true)){return t.call(p,y.type||y)}};q=function(){var y,z;try{s.doScroll("left")}catch(z){y=z;setTimeout(q,50);return}return w("poll")};if(u.readyState!=="complete"){if(u.createEventObject&&s.doScroll){try{r=!p.frameElement}catch(m){}if(r){q()}}u[x](n+"DOMContentLoaded",w,false);u[x](n+"readystatechange",w,false);return p[x](n+"load",w,false)}};g._autoDiscoverFunction=function(){if(g.autoDiscover){return g.discover()}};d(window,g._autoDiscoverFunction)}).call(this); \ No newline at end of file
diff --git a/web/js/fancybox/blank.gif b/web/vendor/fancybox/blank.gif
index 35d42e808..35d42e808 100644
--- a/web/js/fancybox/blank.gif
+++ b/web/vendor/fancybox/blank.gif
Binary files differ
diff --git a/web/js/fancybox/fancy_close.png b/web/vendor/fancybox/fancy_close.png
index 07035307a..07035307a 100644
--- a/web/js/fancybox/fancy_close.png
+++ b/web/vendor/fancybox/fancy_close.png
Binary files differ
diff --git a/web/js/fancybox/fancy_loading.png b/web/vendor/fancybox/fancy_loading.png
index 250301796..250301796 100644
--- a/web/js/fancybox/fancy_loading.png
+++ b/web/vendor/fancybox/fancy_loading.png
Binary files differ
diff --git a/web/js/fancybox/fancy_nav_left.png b/web/vendor/fancybox/fancy_nav_left.png
index ebaa6a4fd..ebaa6a4fd 100644
--- a/web/js/fancybox/fancy_nav_left.png
+++ b/web/vendor/fancybox/fancy_nav_left.png
Binary files differ
diff --git a/web/js/fancybox/fancy_nav_right.png b/web/vendor/fancybox/fancy_nav_right.png
index 873294e96..873294e96 100644
--- a/web/js/fancybox/fancy_nav_right.png
+++ b/web/vendor/fancybox/fancy_nav_right.png
Binary files differ
diff --git a/web/js/fancybox/fancy_shadow_e.png b/web/vendor/fancybox/fancy_shadow_e.png
index 2eda08936..2eda08936 100644
--- a/web/js/fancybox/fancy_shadow_e.png
+++ b/web/vendor/fancybox/fancy_shadow_e.png
Binary files differ
diff --git a/web/js/fancybox/fancy_shadow_n.png b/web/vendor/fancybox/fancy_shadow_n.png
index 69aa10e23..69aa10e23 100644
--- a/web/js/fancybox/fancy_shadow_n.png
+++ b/web/vendor/fancybox/fancy_shadow_n.png
Binary files differ
diff --git a/web/js/fancybox/fancy_shadow_ne.png b/web/vendor/fancybox/fancy_shadow_ne.png
index 79f6980a3..79f6980a3 100644
--- a/web/js/fancybox/fancy_shadow_ne.png
+++ b/web/vendor/fancybox/fancy_shadow_ne.png
Binary files differ
diff --git a/web/js/fancybox/fancy_shadow_nw.png b/web/vendor/fancybox/fancy_shadow_nw.png
index 7182cd938..7182cd938 100644
--- a/web/js/fancybox/fancy_shadow_nw.png
+++ b/web/vendor/fancybox/fancy_shadow_nw.png
Binary files differ
diff --git a/web/js/fancybox/fancy_shadow_s.png b/web/vendor/fancybox/fancy_shadow_s.png
index d8858bfb7..d8858bfb7 100644
--- a/web/js/fancybox/fancy_shadow_s.png
+++ b/web/vendor/fancybox/fancy_shadow_s.png
Binary files differ
diff --git a/web/js/fancybox/fancy_shadow_se.png b/web/vendor/fancybox/fancy_shadow_se.png
index 541e3ffd3..541e3ffd3 100644
--- a/web/js/fancybox/fancy_shadow_se.png
+++ b/web/vendor/fancybox/fancy_shadow_se.png
Binary files differ
diff --git a/web/js/fancybox/fancy_shadow_sw.png b/web/vendor/fancybox/fancy_shadow_sw.png
index b451689fa..b451689fa 100644
--- a/web/js/fancybox/fancy_shadow_sw.png
+++ b/web/vendor/fancybox/fancy_shadow_sw.png
Binary files differ
diff --git a/web/js/fancybox/fancy_shadow_w.png b/web/vendor/fancybox/fancy_shadow_w.png
index 8a4e4a887..8a4e4a887 100644
--- a/web/js/fancybox/fancy_shadow_w.png
+++ b/web/vendor/fancybox/fancy_shadow_w.png
Binary files differ
diff --git a/web/js/fancybox/fancy_title_left.png b/web/vendor/fancybox/fancy_title_left.png
index 6049223d1..6049223d1 100644
--- a/web/js/fancybox/fancy_title_left.png
+++ b/web/vendor/fancybox/fancy_title_left.png
Binary files differ
diff --git a/web/js/fancybox/fancy_title_main.png b/web/vendor/fancybox/fancy_title_main.png
index 8044271f2..8044271f2 100644
--- a/web/js/fancybox/fancy_title_main.png
+++ b/web/vendor/fancybox/fancy_title_main.png
Binary files differ
diff --git a/web/js/fancybox/fancy_title_over.png b/web/vendor/fancybox/fancy_title_over.png
index d9f458f4b..d9f458f4b 100644
--- a/web/js/fancybox/fancy_title_over.png
+++ b/web/vendor/fancybox/fancy_title_over.png
Binary files differ
diff --git a/web/js/fancybox/fancy_title_right.png b/web/vendor/fancybox/fancy_title_right.png
index e36d9db2a..e36d9db2a 100644
--- a/web/js/fancybox/fancy_title_right.png
+++ b/web/vendor/fancybox/fancy_title_right.png
Binary files differ
diff --git a/web/js/fancybox/fancybox-x.png b/web/vendor/fancybox/fancybox-x.png
index c2130f869..c2130f869 100644
--- a/web/js/fancybox/fancybox-x.png
+++ b/web/vendor/fancybox/fancybox-x.png
Binary files differ
diff --git a/web/js/fancybox/fancybox-y.png b/web/vendor/fancybox/fancybox-y.png
index 7ef399b99..7ef399b99 100644
--- a/web/js/fancybox/fancybox-y.png
+++ b/web/vendor/fancybox/fancybox-y.png
Binary files differ
diff --git a/web/js/fancybox/fancybox.png b/web/vendor/fancybox/fancybox.png
index 65e14f68f..65e14f68f 100644
--- a/web/js/fancybox/fancybox.png
+++ b/web/vendor/fancybox/fancybox.png
Binary files differ
diff --git a/web/js/fancybox/jquery.easing-1.3.pack.js b/web/vendor/fancybox/jquery.easing-1.3.pack.js
index 9028179e7..9028179e7 100644
--- a/web/js/fancybox/jquery.easing-1.3.pack.js
+++ b/web/vendor/fancybox/jquery.easing-1.3.pack.js
diff --git a/web/js/fancybox/jquery.fancybox-1.3.4.css b/web/vendor/fancybox/jquery.fancybox-1.3.4.css
index 54c6f2479..54c6f2479 100644
--- a/web/js/fancybox/jquery.fancybox-1.3.4.css
+++ b/web/vendor/fancybox/jquery.fancybox-1.3.4.css
diff --git a/web/js/fancybox/jquery.fancybox-1.3.4.js b/web/vendor/fancybox/jquery.fancybox-1.3.4.js
index 728aa6a51..728aa6a51 100644
--- a/web/js/fancybox/jquery.fancybox-1.3.4.js
+++ b/web/vendor/fancybox/jquery.fancybox-1.3.4.js
diff --git a/web/js/fancybox/jquery.fancybox-1.3.4.pack.js b/web/vendor/fancybox/jquery.fancybox-1.3.4.pack.js
index d5bd61fe9..d5bd61fe9 100644
--- a/web/js/fancybox/jquery.fancybox-1.3.4.pack.js
+++ b/web/vendor/fancybox/jquery.fancybox-1.3.4.pack.js
diff --git a/web/js/fancybox/jquery.mousewheel-3.0.4.pack.js b/web/vendor/fancybox/jquery.mousewheel-3.0.4.pack.js
index cb66588e2..cb66588e2 100644
--- a/web/js/fancybox/jquery.mousewheel-3.0.4.pack.js
+++ b/web/vendor/fancybox/jquery.mousewheel-3.0.4.pack.js
diff --git a/web/js/geo.min.js b/web/vendor/geo.min.js
index 4f44b30ca..4f44b30ca 100644
--- a/web/js/geo.min.js
+++ b/web/vendor/geo.min.js
diff --git a/web/js/history.polyfill.min.js b/web/vendor/history.polyfill.min.js
index f773e6bef..f773e6bef 100644
--- a/web/js/history.polyfill.min.js
+++ b/web/vendor/history.polyfill.min.js
diff --git a/web/js/html5shiv.js b/web/vendor/html5shiv.js
index 21c062e98..21c062e98 100644
--- a/web/js/html5shiv.js
+++ b/web/vendor/html5shiv.js
diff --git a/web/js/jquery-ui/css/smoothness/images/animated-overlay.gif b/web/vendor/jquery-ui/css/smoothness/images/animated-overlay.gif
index d441f75eb..d441f75eb 100755
--- a/web/js/jquery-ui/css/smoothness/images/animated-overlay.gif
+++ b/web/vendor/jquery-ui/css/smoothness/images/animated-overlay.gif
Binary files differ
diff --git a/web/js/jquery-ui/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png b/web/vendor/jquery-ui/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
index c09235f60..c09235f60 100755
--- a/web/js/jquery-ui/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
+++ b/web/vendor/jquery-ui/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
Binary files differ
diff --git a/web/js/jquery-ui/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png b/web/vendor/jquery-ui/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
index d29011d2a..d29011d2a 100755
--- a/web/js/jquery-ui/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
+++ b/web/vendor/jquery-ui/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
Binary files differ
diff --git a/web/js/jquery-ui/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png b/web/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
index 1558bea51..1558bea51 100755
--- a/web/js/jquery-ui/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
+++ b/web/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
Binary files differ
diff --git a/web/js/jquery-ui/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png b/web/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
index 0359b121f..0359b121f 100755
--- a/web/js/jquery-ui/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
+++ b/web/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
Binary files differ
diff --git a/web/js/jquery-ui/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png b/web/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png
index 4fce6c462..4fce6c462 100755
--- a/web/js/jquery-ui/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png
+++ b/web/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png
Binary files differ
diff --git a/web/js/jquery-ui/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png b/web/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
index 5299b5a0b..5299b5a0b 100755
--- a/web/js/jquery-ui/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
+++ b/web/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
Binary files differ
diff --git a/web/js/jquery-ui/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png b/web/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
index 398c56a9c..398c56a9c 100755
--- a/web/js/jquery-ui/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
+++ b/web/vendor/jquery-ui/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
Binary files differ
diff --git a/web/js/jquery-ui/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/web/vendor/jquery-ui/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
index d819aa58a..d819aa58a 100755
--- a/web/js/jquery-ui/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
+++ b/web/vendor/jquery-ui/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
Binary files differ
diff --git a/web/js/jquery-ui/css/smoothness/images/ui-icons_222222_256x240.png b/web/vendor/jquery-ui/css/smoothness/images/ui-icons_222222_256x240.png
index c1cb1170c..c1cb1170c 100755
--- a/web/js/jquery-ui/css/smoothness/images/ui-icons_222222_256x240.png
+++ b/web/vendor/jquery-ui/css/smoothness/images/ui-icons_222222_256x240.png
Binary files differ
diff --git a/web/js/jquery-ui/css/smoothness/images/ui-icons_2e83ff_256x240.png b/web/vendor/jquery-ui/css/smoothness/images/ui-icons_2e83ff_256x240.png
index 84b601bf0..84b601bf0 100755
--- a/web/js/jquery-ui/css/smoothness/images/ui-icons_2e83ff_256x240.png
+++ b/web/vendor/jquery-ui/css/smoothness/images/ui-icons_2e83ff_256x240.png
Binary files differ
diff --git a/web/js/jquery-ui/css/smoothness/images/ui-icons_454545_256x240.png b/web/vendor/jquery-ui/css/smoothness/images/ui-icons_454545_256x240.png
index b6db1acdd..b6db1acdd 100755
--- a/web/js/jquery-ui/css/smoothness/images/ui-icons_454545_256x240.png
+++ b/web/vendor/jquery-ui/css/smoothness/images/ui-icons_454545_256x240.png
Binary files differ
diff --git a/web/js/jquery-ui/css/smoothness/images/ui-icons_888888_256x240.png b/web/vendor/jquery-ui/css/smoothness/images/ui-icons_888888_256x240.png
index feea0e202..feea0e202 100755
--- a/web/js/jquery-ui/css/smoothness/images/ui-icons_888888_256x240.png
+++ b/web/vendor/jquery-ui/css/smoothness/images/ui-icons_888888_256x240.png
Binary files differ
diff --git a/web/js/jquery-ui/css/smoothness/images/ui-icons_cd0a0a_256x240.png b/web/vendor/jquery-ui/css/smoothness/images/ui-icons_cd0a0a_256x240.png
index ed5b6b093..ed5b6b093 100755
--- a/web/js/jquery-ui/css/smoothness/images/ui-icons_cd0a0a_256x240.png
+++ b/web/vendor/jquery-ui/css/smoothness/images/ui-icons_cd0a0a_256x240.png
Binary files differ
diff --git a/web/js/jquery-ui/css/smoothness/jquery-ui-1.10.3.custom.min.css b/web/vendor/jquery-ui/css/smoothness/jquery-ui-1.10.3.custom.min.css
index 604cd558d..604cd558d 100755
--- a/web/js/jquery-ui/css/smoothness/jquery-ui-1.10.3.custom.min.css
+++ b/web/vendor/jquery-ui/css/smoothness/jquery-ui-1.10.3.custom.min.css
diff --git a/web/js/jquery-ui/js/jquery-ui-1.10.3.custom.min.js b/web/vendor/jquery-ui/js/jquery-ui-1.10.3.custom.min.js
index 774c48050..774c48050 100755
--- a/web/js/jquery-ui/js/jquery-ui-1.10.3.custom.min.js
+++ b/web/vendor/jquery-ui/js/jquery-ui-1.10.3.custom.min.js
diff --git a/web/js/jquery.validate.js b/web/vendor/jquery.validate.js
index b7ed45b4a..b7ed45b4a 100644
--- a/web/js/jquery.validate.js
+++ b/web/vendor/jquery.validate.js
diff --git a/web/js/jquery.validate.min.js b/web/vendor/jquery.validate.min.js
index edd645255..edd645255 100644
--- a/web/js/jquery.validate.min.js
+++ b/web/vendor/jquery.validate.min.js
diff --git a/web/js/modernizr.custom.js b/web/vendor/modernizr.custom.js
index c3a4408ee..c3a4408ee 100644
--- a/web/js/modernizr.custom.js
+++ b/web/vendor/modernizr.custom.js
diff --git a/web/js/yepnope.js b/web/vendor/yepnope.js
index d48d17427..d48d17427 100644
--- a/web/js/yepnope.js
+++ b/web/vendor/yepnope.js